Giter VIP home page Giter VIP logo

openmpf's Introduction

OpenMPF - Bridging the Gap in Media Analytics

What is the OpenMPF?

The Open Media Processing Framework provides a platform to perform content detection and extraction on bulk multimedia, enabling users to analyze, search, and share information through the extraction of objects, keywords, thumbnails, and other contextual data.

OpenMPF enables users to build configurable media processing pipelines, enabling the rapid development and deployment of analytic algorithms and large-scale media processing applications.

Search and Share

Simplify large-scale media processing and enable the extraction of meaningful content

Open API

Apply cutting-edge algorithms such as face detection and object classification

Flexible Architecture

Integrate into your existing environment or use OpenMPF as a standalone application

Who is it for?

Algorithm Developers

If you are developing an algorithm and want to test it in conjunction with other algorithms or compare performance to other algorithms, OpenMPF is the tool for you.

Intelligence Analysts

If you have digital media to analyze, OpenMPF allows you to apply state of the art algorithms in order to identify features like faces, people or motion.

Data Scientists

If your company has a lot of digital media that needs to be analyzed, OpenMPF's scalable architecture makes it possible for you to get the job done quickly by adding more processing power as needed.

Enterprise Media Processing Users

If you need to process digital media at the enterprise scale, OpenMPF will scale with your needs and permit you to add your own custom algorithms.

Features

Web Interfaces

A Modern Web UI enables users to:

  • Build configurable pipelines
  • Create and monitor jobs
  • Upload files for processing
  • Monitor system logs and node status
  • Administer configuration properties
  • View processing statistics

Web UI

Additionally, the REST API exposes the same core functionality as the Web UI and enables applications to be built on top of OpenMPF.

Component Plugin Architecture

The OpenMPF Plugin Architecture provides the ability to seamlessly integrate detection, tracking, and classification algorithms in C++, Python, and Java.

New processing nodes can easily be added to increase processing throughput and new algorithms can be dynamically loaded and scaled to meet user needs.

Component Architecture

OpenMPF includes open-source algorithms for detecting and tracking:

  • Faces - Dlib, LBP-Based OpenCV
  • Motion - MOG, SuBSENSE
  • People - HOG-Based OpenCV
  • Objects - OpenCV DNN
  • Scene Changes - OpenCV
  • License Plates - OpenALPR
  • Text - Tesseract
  • Speech - Sphinx
  • And more

Tailored Framework for Media Analytics

Built on FFMPEG and OpenCV , OpenMPF supports the processing of standard image, video, and audio formats and containers such as:

  • JPEG
  • JPEG2000
  • BMP
  • PNG
  • WAV
  • MPEG4
  • And many more

Customizable Pipelines

OpenMPF provides the ability to to combine multiple algorithms in a single pipeline. Algorithms can be organized sequentially or in parallel.

Pipelines

This enables users to create pipelines based on performance (fast -> slow) to increase throughput on large datasets or run multiple concurrent algorithms (e.g., two competing face detection algorithms) to compare performance.

For Algorithm Developers - You focus on the algorithms, we'll focus on the rest

  • Scale your code with ease
    • Distributes algorithms across available resources; optimize algorithms for single-threaded performance and let OpenMPF do the rest.
  • Standard APIs
    • Simple, easy-to-use C++ and Java APIs for detection, tracking, and classification.
    • Samples implementations available to quickly get started.
  • Built-In Performance Testing
    • JSON-formatted results enable the simple comparison and performance evaluation of algorithms.

For Enterprise Users and Data Analysts โ€“ Bring modern algorithms to enterprise scale

  • Analyze Your Data, the Way You Want
    • Mix, match, and combine algorithms and configurations to meet analytic needs. Design pipelines intended to improve throughput performance or compare algorithms.
  • Non-Proprietary Nature
    • Allows for integration of 'best of breed' algorithms without a pre-defined list of vendors or algorithms.
  • Extendable Plugin Framework
    • Out of the box support for well-known algorithms such as Caffe, and DLib and OpenCV face detection.
    • Enables rapid integration of commercial or open-source algorithms.
  • Scalable, Web-friendly Architecture
    • REST Web Services and a modern UI provide the capability to manage jobs, manage deployed components, and monitor system status.

Overview

This repository contains source code for the OpenMPF core, including the majority of the back-end and user interface code. Components (the code that performs the actual processing) can be found in other repositories.

This repository is divided into various maven modules, including the node manager, which controls the OpenMPF services running on a given node, and the workflow manager, which is the web application server that manages routing messages and jobs.

Where Am I?

Getting Started

To start using OpenMPF

Follow the OpenMPF Install Guide.

Project Website

For more information about OpenMPF, including documentation, guides, and other material, visit our website.

Project Workboard

For a latest snapshot of what tasks are being worked on, what's available to pick up, and where the project stands as a whole, check out our workboard.

openmpf's People

Contributors

adamday2 avatar bquinn17 avatar brosenberg42 avatar cdglasz avatar clnowacki avatar dpierce17 avatar hhuangmitre avatar jrobble avatar wvucam71 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.