Git Product home page Git Product logo

corner4world / nnstreamer-example Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nnstreamer/nnstreamer-example

0.0 0.0 0.0 100.34 MB

Example applications of nnstreamer. Note that we have to enable the 'apptest" CI module in the near future.

License: GNU Lesser General Public License v2.1

Shell 2.74% Meson 1.43% C 46.89% Python 15.44% C++ 14.07% Makefile 1.52% Java 15.83% C# 1.17% CMake 0.04% CSS 0.06% HTML 0.11% JavaScript 0.69%

nnstreamer-example's Introduction

NNStreamer Examples

This repository shows developers how to create their applications with nnstreamer/gstreamer. We recommend to install nnstreamer by downloading prebuilt binary packages from Launchpad/PPA (Ubuntu) or Download.Tizen.org (Tizen). If you want to build nnstreamer in your system for your example application builds, pdebuild (Ubuntu) with PPA or gbs (Tizen) are recommended for building nnstreamer. This repository has been detached from nnstreamer.git to build examples independently from the nnstreamer source code since Jan-09-2019.

Ubuntu PPA: nnstreamer/ppa [PPA Main]
Tizen Project: devel:Tizen:6.0:AI [OBS Project] [RPM Repo]

We provide example nnstreamer applications:

  • Traditional Linux native applications
    • Linux/Ubuntu: GTK+ application
    • gst-launch-1.0 based scripts
  • Tizen GUI Application
    • Tizen C/C++ application
    • Tizen .NET (C#) application
    • Tizen Web application
  • Android applications
    • NDK based C/C++ CLI applicaton
    • JNI based GUI application

Quick start guide for NNStreamer example

Use PPA

  • Download nnstreamer :
$ sudo add-apt-repository ppa:nnstreamer/ppa
$ sudo apt-get update
$ sudo apt-get install nnstreamer
$ sudo apt-get install nnstreamer-example
$ cd /usr/lib/nnstreamer/bin # binary install directory

*note: nnstreamer-example ppa was integrated into nnstreamer ppa.

As of 2018/10/13, we support 16.04 and 18.04

If you want to build nnstreamer example yourself, please refer to the link : [Build example]

Usage Examples

Text classification

$ cd /usr/lib/nnstreamer/bin
$ ./nnstreamer_example_text_classification_tflite

Refer to this link for more examples : [NNStreamer example]

Example List

Ubuntu Native

Application Implementations Used gstreamer/nnstreamer feature
image-classification
Image Classification
- C (tflite)
- Python (tflite)
- C (ONE)
- C (caffe2)
- v4l2src for input image stream
- textoverlay for showing labels
object-detection
Object Detection
- C++ (tf)
- C++ (tflite)
- Python (tflite)
- v4l2src for input image stream
- cairooverlay for drawing boxes
pose-estimation
Pose Estimation
- C++ (tflite)
- Python (tflite)
- v4l2src for input image stream
- cairooverlay for drawing body points
Image Classification with tensor_decoder - C++ (tflite) - tensor_decoder mode=image_labeling for postprocessing
Text Classification - C (tflite) - appsrc for input text data
object-detection-2cam
Object Detection with 2 cameras
- C++ (tflite) - v4l2src for input image stream
- cairooverlay for drawing boxes

With gst-launch-1.0

Application Implementations Used gstreamer/nnstreamer feature
Object Detection - tflite
- tf
- v4l2src for input image stream
- tensor_decoder mode=bounding_boxes for postprocessing
- compositor for drawing decoded boxes
Image Segmentation - tflite
- Edge TPU
    * Edge-AI server
    * Edge-AI client
- v4l2src for input image stream
- tensor_decoder mode=image_segment for postprocessing
- tcpclientsrc / tcpserversink / gdppay / gdpdepay for networking between devices
- tensor_converter / tensor_decoder mode=flatbuf for using Flatbuffers
Pipeline Flow Control in Face Detection - OpenVINO + tflite + passthrough
- OpenVINO + tflite + tensorpick
- v4l2src for input image stream
- tensor_if for flow control

Tizen Applications

Application Implementations Used gstreamer/nnstreamer feature

Image Classification
- Native App with Pipeline API
- Native App with Single API
- appsrc for input image data from hardward camera
- Machine Learning Inference Native API
object-detection
Object Detection
- Native App with Pipeline API - appsrc for input image data from hardward camera
- tensor_decoder mode=bounding_boxes for postprocessing
- Pipeline API
text-classification
Text Classification
- Native App with Pipeline API
- .NET App with C# API
- appsrc for input text data
- Pipeline API
- C# API
orientation-detection
Orientation Detection
- Native App with Pipeline API
- .NET App with C# API
- tensor_src_tizensensor type=accelerometer for hardware sensor data
- Pipeline API
- C# API

Android Applications

Application Implementations Used gstreamer/nnstreamer feature

Object Detection
- w/ JNI + ahc2src
- w/ JNI + amcsrc
- ahc2src for hardware camera input
- amcsrc for media file input

NNStreamer Multi Model
Face Detection + Hand Detection +
Object Detection + Pose Estimation
- JNI App
- GooglePlay App
- ahc2src for hardware camera input
- application code for multiple pipeline control
camera-java-api
Sample App using NNStreamer JAVA API
- JAVA w/o JNI - appsrc for input image data from hardward camera
- videoflip for flipping image
- NNStreamer JAVA API

nnstreamer-example's People

Contributors

abcinje avatar again4you avatar anyj0527 avatar cocony12 avatar dreamfinder2019 avatar eu1jun avatar gichan-jang avatar helloahn avatar jaeyun-jung avatar jeongyeonuk avatar jijoongmoon avatar joojihwan avatar kbumsik avatar kparichay avatar l2zz avatar leemgs avatar macaron10 avatar mojunsang26 avatar myungjoo avatar niley7464 avatar park-sang-hyun avatar shortcipher3 avatar soo-ni avatar soyeong-k-1230 avatar suehdn avatar tony-jinwoo-ahn avatar tunalee avatar wooksong avatar xroumegue avatar yongjoonseo 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.