The Neural networks were trained with the Python Keras library to attain a Convolutional neural network.
The largest part of the project is the object detection engine (C++) that uses a selective search algorithm to detect objects in the frame of a feed. using OpenCV, we make region proposals and then, by using cool math and cool algorithms we reduce the regions to about less than 10-20% of the initial region proposals to more relevant regions. Sources
After gathering all of the regions we take every ROI and send it to the classifier for classification and confidence score of the network. We use only classification where the confidence score is larger than 0.4. so about 40% confidence score is fine in the meantime.
After all of these boring stuff we draw a bounding box around the object and write the classification in the bounding box
Files for the neural network part of the project. Source and Header files for the image processing part of the project and a makefile in the src/ directory. Script for preparing the executable files. The JS app location. Home of the config file. Home of the error log file.First you need to link some files to some directories.
cd install && . ./install.sh
Then you need to compile the binary using the Makefile
cd ../image-processing/src && make
Then you install the app dependencies
cd ../../app && npm install
NodeJs: Matirealized-css
Python3: Tensorflow2, Keras, OpenCV, Numpy, H5PY
C++: OpenCV4, Python C/C++ API
Probably works only for UNIX PC's