This app detects cars/buses in a live traffic at a phenomenal 50 frames/sec with HD resolution (1920x1080) using deep learning network Yolo-V2. The model used in the app is optimized for inferencing performnce on AMD-GPUs using MIVisionX toolkit.
App starts the demo, if no other option is provided. Demo uses a video stored in the media/ dir.
% ./main.py ('Loaded', 'yoloOpenVX') OK: loaded 22 kernels from libvx_nn.so OK: OpenVX using GPU device#0 (gfx900) [OpenCL 1.2 ] [SvmCaps 0 1] OK: annCreateInference: successful Processed a total of 102 frames OK: OpenCL buffer usage: 87771380, 46/46 %
Here is the link to YouTube video detecting cars, bounding boxes, car speed, and confidence scores.
- ./main.py --video /vid.mp4
traffic cam ip
- ./main.py --cam_ip 'http://220.127.116.11:8082/snap.jpg'
% git clone https://github.com/srohit0/trafficVision
1. Model Conversion
This steps downloads yolov2-tiny for voc dataset and converts to MIVision's openVX model.
% cd trafficVision/model % bash ./prepareModel.sh
2. MIVision Model Compilation
% cd trafficVision % make
3. Test App
% cd trafficVision % make test
It'll display detection all videos in media/ dir.
These lower level modules can be found as python modules (files) or packages (directories) in this repository.
Follow model conversion process similar to the one described below.
Make sure you've infrastructure pre-requisites installed before you start porting neural network model for inferencing.