Ubuntu Native NNStreamer GUI Application - EZStreamer
Introduction
EZStreamer is a native nnstreamer application on ubuntu environment.
This example offers convenient graphical user interface (GUI) which is based on PySide2.
Features
- The ability of showing basic camera video.
- Eye Mask: The ability of covering detected eyes with black box.
- With 'Detect Main Streamer' option on, a red rectangle is drawn around the detected main streamer's face.
- Face Mask: The ability of covering detected faces which is not the biggest.
- Faces are covered with a rectangle in a gray mosaic pattern.
- With 'Detect Main Streamer' option on, main streamer's face is also detected and screened.
- Object Detection: The ability of detecting objects in the video.
- 'Eye Mask' or 'Face Mask' function can be used with 'Object Detection' at the same time.
- You can switch modes while running the application.
- You can air on YouTube using RTMP protocol.
- YouTube RTMP authorization key is required.
How to Run
Since the example is based on GLib
and GObject
, these packages need to be installed before running. NumPy is also needed.
Additional packages for GUI application requires to run. To install PySide2, check details below.
$ sudo apt-get install pkg-config libcairo2-dev gcc python3-dev libgirepository1.0-dev python3-numpy
$ pip3 install gobject PyGObject pyside2==5.14.2.3
This example requires specific tflite models and label data.
get-model.sh download these resources.
# bash
$ cd $NNST_ROOT/bin
$ ./get-model.sh face-detection-tflite
$ ./get-model.sh object-detection-tflite
$ ./get-model.sh pose-estimation-tflite
$ python3 ezstreamer.py
The results of the search are