Name: streamsx.edgevideoanalytics.starterkit
Owner: IBM Streams
Description: An end-to-end video analytic demonstration performing video analytics on edge devices and centralized system
Created: 2017-05-11 12:56:35.0
Updated: 2017-12-11 18:27:54.0
Pushed: 2017-09-18 02:06:42.0
Homepage: null
Size: 1117
Language: Java
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
An end-to-end video analytic demonstration performing video analytics on edge devices and centralized system.
Performing Video analytics at the Edge (in smarter IoT devices or gateways) has many applications. The kit can be used to jump-start the development of application specific systems.
The kit is a work in progress. See Status below.
The Smart Camera IoT Device portion of the kit was part of the ApacheCon/ApacheIoT 2017 talk: “Video Analytics at the Edge: Fun with Apache Edgent, OpenCv, and a Raspberry Pi”. Slides Audio
In short the idea is to evolve from a system like that in the upper image
in this system evolution sketch,
one with raw video feeds into an on-premise video analytic system that does
general face detection and then specific face recognition,
to a system like the lower image, with a smart IoT device that does
the face detection, with cloud based streaming analytic applications doing
additional analytics such as the face recognition.
The IoT hub can either be a general MQTT broker such as Apache ActiveMQ or it can be IBM Watson IoT Platform (or to Apache Kafka with a small change to the app; and new Kafka*ClientApp simple client apps). The following sketch is for the WIoTP mode configuration .
Here's a demo screenshot. TBD watch this video.
The kit consists of an end-to-end demonstration system comprised of a controllable Smart Camera IoT device that performs general face detection, publishing face detection events to the cloud, and a cloud based Streaming Analytic application that subscribes to these events and performs specific face recognition processing on them.
The kit also includes simple client applications that connect to the IoT hub to “send” commands to the device and to subscribe to detection events and render the detected object's image.
The system promotes creation of a “smarter analytic edge device” to:
The Smart Camera IoT device uses:
The backend IBM Streams cloud based analytics part of the kit uses:
The smart camera device can be setup and deployed independent of the centralized streaming analytics. The included simple client applications can interact with it via the IoT hub.
A Raspberry Pi is not required. The smart camera device Edgent application runs on any system that supports Edgent and has OpenCV installed. The smart camera application was initially developed on a MacBook Pro using its camera.
For the smart camera device see smartcamera.device/README.md
For the centralized streaming analytics see analytics.streams/README.md
Details regarding the dependencies can be found in the smartcamera.device and analytics.streams component's documentation.
The source code for the app is available under the Apache license, which is found in LICENSE in the root of this repository.
Jerome Chailloux - jerome.chailloux@fr.ibm.com
Dale LaBossiere - dlaboss@us.ibm.com, dlaboss@apache.org