Sign inSign up

arcturusnetworks/streamproc

By arcturusnetworks

Updated 24 days ago

Image
0

10K+

arcturusnetworks/streamproc repository overview

Getting Started

Building and Running Examples

In order to run the examples, first pull the streamproc docker image:

docker pull arcturusnetworks/streamproc:latest

Run a docker container from this image:

docker run -it --rm --net host -e UID=$(id -u) -e GID=$(id -g) arcturusnetworks/streamproc

Note: If running as root, specify a non-root user and group ID (any value greater than 0), for example:

docker run -it --rm --net host -e UID=1000 -e GID=1000 arcturusnetworks/streamproc
StreamProc examples

From within the container, build the examples:

cd /src/streamproc-examples
mkdir -p build && cd build && cmake ..
make -j4

The examples can now be executed:

./objdet
./embed
./reid

Access the output stream at http://ip_address:7777

DeepVision examples

Build them in order to run them

cd /src/deepvision-examples
mkdir -p build && cd build && cmake ..
make -j4
Object Detection

Run the objdet_example and perform inference using mobilenet_v2 trained on COCO using the armnn backend,

./objdet_example \
  --objdet-model-file=../data/models/objdet/ssd_mobilenet_v2_coco_2018_03_29.tflite \
  --in-image-dir=../data/images/ \
  --backend=armnn \
  --out-image-dir=/tmp

Run the objdet_example and perform inference using mobilenet_v3 trained on COCO using the tflite backend,

./objdet_example \
  --objdet-model-file=../data/models/objdet/ssd_mobilenet_v3_small_coco_2020_01_14.tflite \
  --in-image-dir=../data/images/ \
  --backend=tflite\
  --out-image-dir=/tmp

Run the yolo_v3_example

./yolo_v3_example ../data/models/objdet/yolo_v3_416x416_coco2014.tflite ../data/images/img2.jpg
Image Classification

Run the classify_example and perform image level classification using mobilenet_v2 trained on the Imagenet dataset,

./classify_example \
  ../data/models/classify/mobilenet_v2_1.0_224.tflite\
  ../data/models/classify/labels_mobilenet_quant_v1_224.txt\
  ../data/images/french_bulldog.png 

[ArmNN]
Time: 93ms (10fps)
Classifications: [
Classification { label: French bulldog, conf: 94% }, 
Classification { label: Boston bull, conf: 0.16% }, 
Classification { label: pug, conf: 0.12% }, 
Classification { label: boxer, conf: 0.11% }, 
Classification { label: Scotch terrier, conf: 0.055% }]

[TFLite]
Time: 134ms (7fps)
Classifications: [
Classification { label: French bulldog, conf: 94% }, 
Classification { label: Boston bull, conf: 0.16% }, 
Classification { label: pug, conf: 0.12% }, 
Classification { label: boxer, conf: 0.11% }, 
Classification { label: Scotch terrier, conf: 0.055% }]

Documentation

To generate documentation, issue the following commands

cd /usr/local/share/streamproc
sudo doxygen Doxyfile

The docs will be generated in the /usr/local/share/streamproc/html folder.

Running Benchmarks

Note: This has only been tested on the Nvidia Jetson platform (specifically: Nano, Xavier NX)

docker run -it --runtime nvidia arcturusnetworks/streamproc:jetson-benchmarks bash -c "cd /src/deepvision-benchmarking; ./benchmarks"
Jetson TX2 Benchmarks
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                   MODEL                                     |   FORMAT   |  BACKEND   |  SUPPORT   |  INFERENCE (ms)  |  FPS   |  TOTAL (ms)  |  FPS
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                  coco_ssd_mobilenet_v1_1.0_quant_2018_06_29 |     tflite |      ARMNN |        YES |               82 |  12.20 |           90 |  11.11
                                  coco_ssd_mobilenet_v1_1.0_quant_2018_06_29 |     tflite |     TFLITE |        YES |              105 |   9.52 |          111 |   9.01
                                            ssd_inception_v2_coco_2018_01_28 |     tflite |      ARMNN |        YES |             1053 |   0.95 |         1055 |   0.95
                                            ssd_inception_v2_coco_2018_01_28 |     tflite |     TFLITE |        YES |              800 |   1.25 |          801 |   1.25
                  ssd_mobilenet_v1_0.75_depth_300x300_coco14_sync_2018_07_03 |     tflite |      ARMNN |        YES |               92 |  10.87 |           93 |  10.75
                  ssd_mobilenet_v1_0.75_depth_300x300_coco14_sync_2018_07_03 |     tflite |     TFLITE |        YES |              134 |   7.46 |          136 |   7.35
        ssd_mobilenet_v1_0.75_depth_quantized_300x300_coco14_sync_2018_07_18 |     tflite |      ARMNN |         NO |                0 |   0.00 |            0 |   0.00
        ssd_mobilenet_v1_0.75_depth_quantized_300x300_coco14_sync_2018_07_18 |     tflite |     TFLITE |        YES |              170 |   5.88 |          171 |   5.85
                                            ssd_mobilenet_v1_coco_2018_01_28 |     tflite |      ARMNN |        YES |              143 |   6.99 |          144 |   6.94
                                            ssd_mobilenet_v1_coco_2018_01_28 |     tflite |     TFLITE |        YES |              251 |   3.98 |          252 |   3.97
                                            ssd_mobilenet_v2_coco_2018_03_29 |     tflite |      ARMNN |        YES |              719 |   1.39 |          720 |   1.39
                                            ssd_mobilenet_v2_coco_2018_03_29 |     tflite |     TFLITE |        YES |              449 |   2.23 |          450 |   2.22
                          ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03 |     tflite |      ARMNN |        YES |               93 |  10.75 |           99 |  10.10
                          ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03 |     tflite |     TFLITE |        YES |              139 |   7.19 |          144 |   6.94
                                      ssd_mobilenet_v3_large_coco_2019_08_14 |     tflite |      ARMNN |         NO |                0 |   0.00 |            0 |   0.00
                                      ssd_mobilenet_v3_large_coco_2019_08_14 |     tflite |     TFLITE |        YES |              142 |   7.04 |          145 |   6.90
                                      ssd_mobilenet_v3_small_coco_2019_08_14 |     tflite |      ARMNN |         NO |                0 |   0.00 |            0 |   0.00
                                      ssd_mobilenet_v3_small_coco_2019_08_14 |     tflite |     TFLITE |        YES |               63 |  15.87 |           68 |  14.71
                                        ssdlite_mobilenet_v2_coco_2018_05_09 |     tflite |      ARMNN |        YES |              109 |   9.17 |          110 |   9.09
                                        ssdlite_mobilenet_v2_coco_2018_05_09 |     tflite |     TFLITE |        YES |              167 |   5.99 |          169 |   5.92
                                                    yolo_v3_416x416_coco2014 |     tflite |      ARMNN |         NO |                0 |   0.00 |            0 |   0.00
                                                    yolo_v3_416x416_coco2014 |     tflite |     TFLITE |        YES |             4969 |   0.20 |         4980 |   0.20
                                                       ssd_mobilenet_v1_coco |        uff |   TENSORRT |        YES |               16 |  62.50 |           20 |  50.00
                                                       ssd_mobilenet_v2_coco |        uff |   TENSORRT |        YES |               20 |  50.00 |           23 |  43.48
                                                       ssd_inception_v2_coco |        uff |   TENSORRT |        YES |               23 |  43.48 |           28 |  35.71
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Tag summary

Content type

Image

Digest

sha256:5a9b2e0ff

Size

491.4 MB

Last updated

24 days ago

docker pull arcturusnetworks/streamproc:amd64-person-demo-dev