MobileNet-SSD

MobileNet-SSD(MobileNetSSD) + Neural Compute Stick(NCS) Faster than YoloV2 + Explosion speed by RaspberryPi · Multiple moving object detection with high accuracy.

MIT License

Stars
93
Committers
2

[English] MobileNet-SSD

Ultra-fast MobileNet-SSD(MobileNetSSD) + Neural Compute Stick(NCS) than YoloV2 + Explosion speed by RaspberryPi. Multiple moving object detection with high accuracy. Video playback and object detection are executed asynchronously. In order to realize high speed rendering with multi stick, it is implemented in multithreading/OpenGL. Warning This repository does not support NCS2.

Japanese Article https://qiita.com/PINTO/items/b97b3334ed452cb555e2 USB Camera + MultiProcessing High performance version Below, when using multiple sticks, it is more than three times the performance of this repository program. I recommend that you refer to the following repository. https://github.com/PINTO0309/MobileNet-SSD-RealSense.git

Change history

[July 19, 2018]Corresponds to NCSDK v2.05.00.02 / OpenCV 3.4.2 / FPS View [July 27, 2018]Add an unnecessary version of OpenGL (USBCamera / MultiStick / MultiProcessing / RealSense)

Image of motion

MobileNet-SSD + Neural Compute Stick + RaspberryPi3 / MultiStick(3 Stick / Hard Motion)

Youtube: https://youtu.be/sQnFbRSqIA8

MobileNet-SSD + Neural Compute Stick(1 Stick) + RaspberryPi3 + USB Camera(640x480) Youtube: https://youtu.be/_Cbt0gI8niQ Goku

Environment

RaspberryPi 3 + Raspbian Stretch

NCSDK v2.08.01 (It does not work with NCSDK v1**v1 version is here**)

Intel Movidius Neural Compute Stick1 piece

OpenCV 3.4.2

OpenGL

numpy

(UVC)USB-Web Camera

Building environment

  1. Temporary extension of SWAP area
$ sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE=2048

$ sudo /etc/init.d/dphys-swapfile restart;swapon -s
  1. Installing packages
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python3-pip python3-numpy git cmake libqtgui4 libqt4-test
  1. Installing NCSDK
$ cd ~
$ git clone -b ncsdk2 https://github.com/movidius/ncsdk.git
$ cd ncsdk
$ make install
  1. Installation of OpenCV
$ cd ~
$ wget https://github.com/PINTO0309/OpenCVonARMv7/raw/master/libopencv3_3.4.2-20180709.1_armhf.deb
$ sudo apt install -y ./libopencv3_3.4.2-20180709.1_armhf.deb
$ sudo ldconfig
  1. Installing OpenGL
$ sudo apt-get install python-opengl
$ sudo -H pip3 install pyopengl
$ sudo -H pip3 install pyopengl_accelerate
$ sudo raspi-config
  1. 7.Advanced Options-A7 GL Driver-G2 GL (Fake KMS) and Activate Raspberry Pi's OpenGL Driver

  2. Reboot

$ sudo reboot
  1. Download complete set of resources
$ cd ~
$ git clone https://github.com/PINTO0309/MobileNet-SSD.git
  1. Connect USB-WEB camera (UVC compatible) and Neural Compute Stick to RaspberryPi's USB port (self power USB-Hub required due to insufficient voltage when using Neural Compute Stick in multiple)

  2. Connect RaspberryPi and display with HDMI cable

  3. Running MobileNet-SSD

$ cd MobileNet-SSD
$ python3 MultiStickSSD.py
  1. Reducing the SWAP area
$ sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE=100

$ sudo /etc/init.d/dphys-swapfile restart;swapon -s

Procedure for generating original learning data

https://github.com/movidius/ncappzoo/tree/master/caffe/SSD_MobileNet https://github.com/FreeApe/VGG-or-MobileNet-SSD https://github.com/chuanqi305/MobileNet-SSD https://github.com/avBuffer/MobilenetSSD_caffe

[Japanese] MobileNet-SSD

YoloV2 MobileNetSSD(MobileNetSSD)+Neural Compute Stick(NCS)+Raspberry Pi OpenGL Qiita https://qiita.com/PINTO/items/b97b3334ed452cb555e2 RealSense D435 + MultiProcessing https://github.com/PINTO0309/MobileNet-SSD-RealSense.git

[2018/07/19]NCSDK v2.05.00.02 / OpenCV 3.4.2 / FPS View

MobileNet-SSD + Neural Compute Stick + RaspberryPi3 / MultiStick(3/Hard)

Youtube: https://youtu.be/sQnFbRSqIA8

MobileNet-SSD + Neural Compute Stick(1 Stick) + RaspberryPi3 + USB Camera(640x480) Youtube: https://youtu.be/_Cbt0gI8niQ Goku

RaspberryPi 3 + Raspbian Stretch

NCSDK v2.08.01 (NCSDK v1**v1**)

Intel Movidius Neural Compute Stick

OpenCV 3.4.2

OpenGL

numpy

UVCUSB-Web

  1. SWAP
$ sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE=2048

$ sudo /etc/init.d/dphys-swapfile restart;swapon -s
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python3-pip python3-numpy git cmake libqtgui4 libqt4-test
  1. NCSDK
$ cd ~
$ git clone https://github.com/movidius/ncsdk.git
$ cd ncsdk
$ make install
  1. OpenCV
$ wget https://github.com/PINTO0309/OpenCVonARMv7/raw/master/libopencv3_3.4.2-20180709.1_armhf.deb
$ sudo apt install -y ./libopencv3_3.4.2-20180709.1_armhf.deb
$ sudo ldconfig
  1. OpenGL
$ sudo apt-get install python-opengl
$ sudo -H pip3 install pyopengl
$ sudo -H pip3 install pyopengl_accelerate
$ sudo raspi-config
  1. 7.Advanced Options-A7 GL Driver-G2 GL (Fake KMS)Raspberry Pi OpenGL Driver

$ sudo reboot
$ cd ~
$ git clone https://github.com/PINTO0309/MobileNet-SSD.git
  1. USB-WEB(UVC) Neural Compute Stick RaspberryPiUSB(Neural Compute StickUSB-Hub)

  2. RaspberryPiHDMI

  3. MobileNet-SSD

$ cd MobileNet-SSD
$ python3 MultiStickSSD.py
  1. SWAP
$ sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE=100

$ sudo /etc/init.d/dphys-swapfile restart;swapon -s

https://github.com/movidius/ncappzoo/tree/master/caffe/SSD_MobileNet https://github.com/FreeApe/VGG-or-MobileNet-SSD https://github.com/chuanqi305/MobileNet-SSD https://github.com/avBuffer/MobilenetSSD_caffe