Building a custom object detector using YOLO
In this repository, I put the code and the dataset of my rubik's cube to building a custom object detector to detect rubik's cube using the tiny YOLO v2.
In the next table, I briefly described the contents of this repository.
|Dataset||Folder contains the images and annotation files.|
|YoloTrainer.java||Training Yolo with our custom dataset.|
|RubixDetector.java||Real-time rubik's cube detector, it reads a stream of frames from the webcam the then detects the rubik's cube in each one.|
|YoloModel.java||Loading the trained model by the class YoloTrainer and make the detection given an image.|
|NonMaxSuppression.java||Implementation of the non-maximum suppression algorithm to cope the problem of detecting the same object multiple times by the yolo algorithm.|
|model.data||Pre-trained model to detect rubik's cube, can be downloaded from here.|
For more info
In case you have a GPU, you can uncomment the CUDA dependency in pom.xml file. https://deeplearning4j.org/docs/latest/deeplearning4j-config-cudnn