forked from daattali/beautiful-jekyll
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
220 lines (199 loc) · 6.89 KB
/
index.html
File metadata and controls
220 lines (199 loc) · 6.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
---
layout: page
title: OpenMPF
subtitle: Bridging the Gap in Media Analytics
---
<div class="main-explain-area jumbotron">
<p>
The <b>Open Media Processing Framework</b> provides a platform to perform content detection and extraction on bulk multimedia, enabling users to <b>analyze</b>, <b>search</b>, and <b>share</b> information through the extraction of objects, keywords, thumbnails, and other contextual data.
</p>
<p >
OpenMPF enables users to build configurable media processing pipelines, enabling the rapid development and deployment of analytic algorithms and large-scale media processing applications.
</p>
<div class="grid">
<div class="col-1-3">
<div class="module">
<div class="feature_icon" style="margin-bottom:10px">
<center><img src="img/icon/iconmonstr-cloud-32-72.png"/></center>
</div>
<b>Search and Share</b><br/>
Simplify large-scale media processing and enable the extraction of meaningful content
</div></div>
<div class="col-1-3">
<div class="module">
<div class="feature_icon" style="margin-bottom:10px">
<center><img src="img/icon/iconmonstr-idea-12-72.png"/></center>
</div>
<b>Open API</b><br/>
Apply cutting-edge algorithms such as face detection and object classification
</div></div>
<div class="col-1-3">
<div class="module">
<div class="feature_icon" style="margin-bottom:10px">
<center><img src="img/icon/iconmonstr-sitemap-14-72.png"/></center>
</div>
<b>Flexible Architecture</b><br/>
Integrate into your <br />existing environment or use OpenMPF as a standalone application
</div>
</div>
</div>
<h2>Features</h2>
<hr/>
<h3>Web Interface & REST API</h3>
A modern <a href="/docs/site/User-Guide/" target="_blank">Web UI</a> enables users to easily process bulk media and:<br/><br/>
<ul>
<li>Build configurable pipelines</li>
<li>Create and monitor jobs</li>
<li>Upload files for processing</li>
<li>Monitor system logs and node status</li>
<li>Administer configuration properties</li>
<li>View processing statistics</li>
</ul>
<p><center><img src="img/web-ui.png" /></center></p>
<br/>
Additionally, the <a href="/docs/site/html/REST-API.html" target="_blank">REST API</a> exposes the same core functionality as the Web UI and enables applications to be built on top of OpenMPF.
<h3>Open Plugin API</h3>
The OpenMPF Plugin Architecture provides the ability to seamlessly integrate <b>detection</b>, <b>tracking</b>, and <b>classification</b> algorithms in <a href="/docs/site/CPP-Batch-Component-API/" target="_blank">C++</a>, <a href="/docs/site/Java-Batch-Component-API/" target="_blank">Java</a>, and <a href="/docs/site/Python-Batch-Component-API/" target="_blank">Python</a>.
<br/><br/>New processing nodes can easily be added to increase processing throughput and new algorithms can be dynamically loaded and scaled to meet user needs.
<p><center><img src="img/plugins.png" height="200px"/></center></p>
OpenMPF includes algorithms for detecting and tracking:<br/><br/>
<ul>
<li>Faces</li>
<ul>
<li>LBP-Based OpenCV</li>
</ul>
<li>Motion</li>
<ul>
<li>MOG with STRUCK</li>
<li>SuBSENSE with STRUCK</li>
</ul>
<li>License Plates</li>
<ul>
<li>OpenALPR</li>
</ul>
<li>Speech</li>
<ul>
<li>Sphinx</li>
<li>Azure Cognitive Services Batch Transcription API</li>
</ul>
<li>Scenes</li>
<ul>
<li>OpenCV</li>
</ul>
<li>Objects (Classification)</li>
<ul>
<li>OpenCV Yolo</li>
<li>OpenCV DNN (YOLO, GoogLeNet, Yahoo NSFW, vehicle color)</li>
</ul>
<li>Objects/Features (Classification)</li>
<ul>
<li>TensorRT (COCO classes)</li>
<li>Clip</li>
</ul>
<li>Text Regions</li>
<ul>
<li>EAST</li>
</ul>
<li>Text (OCR)</li>
<ul>
<li>Tesseract</li>
<li>Apache Tika</li>
<li>Azure Cognitive Services Read API</li>
</ul>
<li>Form Structure (with OCR)</li>
<ul>
<li>Azure Cognitive Services Form Recognizer API</li>
</ul>
<li>Text Correction</li>
<ul>
<li>NLP Text Correction</li>
</ul>
<li>Language Identification</li>
<ul>
<li>fastText with the GlotID model</li>
</ul>
<li>Keywords</li>
<ul>
<li>Boost Regular Expressions</li>
</ul>
<li>Known Phrases</li>
<ul>
<li>Transformer Tagging</li>
</ul>
<li>Document Images</li>
<ul>
<li>Apache Tika</li>
</ul>
<li>Translation (Language)</li>
<ul>
<li>Azure Cognitive Services Translate API</li>
<li>No Language Left Behind (NLLB)</li>
<li>Argos</li>
<li>Whisper</li>
</ul>
<li>Video Summarization</li>
<ul>
<li>LLAMA3</li>
</ul>
</ul>
<h3>Customizable Pipelines</h3>
OpenMPF provides the ability to to combine multiple algorithms in a single pipeline. Algorithms can be organized sequentially or in parallel.
<p><center><img src="img/pipelines.png"/></center></p>
This enables users to create pipelines based on performance (fast to slow) to increase throughput on large datasets or run multiple concurrent algorithms (e.g., two competing face detection algorithms) to compare performance.
<h2>Getting Started</h2>
<hr/>
To start using OpenMPF, follow the <a href="/docs/site/Install-Guide/index.html" target="_blank">OpenMPF Install Guide</a>.
<h2>Contact Us!</h2>
<hr/>
For questions, contact the <a href="mailto:openmpf@googlegroups.com">OpenMPF Dev Team</a> and we'd be happy to help!
</div>
<div class="posts-list">
{% for post in paginator.posts %}
<article class="post-preview">
<a href="{{ post.url | prepend: site.baseurl }}">
<h2 class="post-title">{{ post.title }}</h2>
{% if post.subtitle %}
<h3 class="post-subtitle">
{{ post.subtitle }}
</h3>
{% endif %}
</a>
<p class="post-meta">
Posted on {{ post.date | date: "%B %-d, %Y" }}
</p>
<div class="post-entry">
{{ post.excerpt | strip_html | xml_escape | truncatewords: site.excerpt_length }}
{% assign excerpt_word_count = post.excerpt | number_of_words %}
{% if post.content != post.excerpt or excerpt_word_count > site.excerpt_length %}
<a href="{{ post.url | prepend: site.baseurl }}" class="post-read-more">[Read More]</a>
{% endif %}
</div>
{% if post.tags.size > 0 %}
<div class="blog-tags">
Tags:
{% if site.link-tags %}
{% for tag in post.tags %}
<a href="{{ site.baseurl }}/tag/{{ tag }}">{{ tag }}</a>
{% endfor %}
{% else %}
{{ post.tags | join: ", " }}
{% endif %}
</div>
{% endif %}
</article>
{% endfor %}
</div>
{% if paginator.total_pages > 1 %}
<ul class="pager main-pager">
{% if paginator.previous_page %}
<li class="previous">
<a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">← Newer Posts</a>
</li>
{% endif %}
{% if paginator.next_page %}
<li class="next">
<a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">Older Posts →</a>
</li>
{% endif %}
</ul>
{% endif %}