This project is about develop an application using OpenCV & Neural Networks with object detection goal in mind (TinyYOLOv3 in particular).
Well, the project already started with a basic version off the app made. Which is just an .apk that uses the camera, and with its one button, when pressed; processes the frames using yolov3-tiny.
You can use the files given down below to make a project in Android Studio and run the app on your mobile phone.
If you want to compile the project yourself aswell, there is one preprocess step you need to do.
- Make a folder called "dnns" in the internal storage (Not SD Card) of your phone.
- Download the "yolov3-tiny.cfg" and "yolov3-tiny.weights" files from the github repository.
- Copy the files you downloaded into the file "dnss" you made in your phone.
The files for the object detector is added here. This is just the whole Android Studio Project; if you are just focused to the important trio, i got you covered; you can find them down below.
OpenCV347 library is implemented for the functions that are used in the mainactivity.java.
For this code and the tutorial, all credit goes to wonderful: Ivan Goncharov.
In the development process, I am currently working on sensor data implementation (accelerometer to be specific), to the detector, to improve performance of object detection. (Which is my senior design project by the way =) )
For my graduation project, i've recorded videos around my university campus to evaluate results of TinyYolov3. The database of 19 videos can be found here.
A basic MATLAB routine to access the frames from all the videos after download can be found here.
The results from three videos can be seen in the gifs below.
In addition; for Precision & Recall & F1 Score plots of YOLOv3 and TinyYOLOv3 you can contact me via email.
For any questions regarding on how to use the app, feel free to contact Sezai from the mail.