Efficient and accurate object detection has been an important topic in the advancement of computer vision systems. With the advent of deep learning techniques, the accuracy of object detection has increased drastically.
What it does
The project aims to incorporate a state-of-the-art technique for object detection with the goal of achieving high accuracy with real-time performance. A major challenge in many of the object detection systems is the dependency on other computer vision techniques for helping the deep learning-based approach, which leads to slow and non-optimal performance. In this project, I used a completely deep learning-based approach to solve the problem of object detection in an end-to-end fashion.
How I built it
The network used in this project is based on Single-shot detection (SSD). Instead of using a sliding window, SSD divides the image using a grid and has each grid cell be responsible for detecting objects in that region of the image. Detection objects simply mean predicting the class and location of an object within that region. If no object is present, we consider it as the background class and the location is ignored. The project is implemented in Python 3. TensorFlow was used for training the deep network and OpenCV was used for image pre-processing. The system speciﬁcations on which the model is trained and evaluated are mentioned as follows: Raspberry Pi 3 B model having 1 GB RAM, 1.4 GHz Processor, and 64GB HDD.
Challenges I ran into
- The major challenge in this problem is that of the variable dimension of the output which is caused due to the variable number of objects that can be present in any given input image.
- Any general machine learning task requires a ﬁxed dimension of input and output for the model to be trained.
- Another important obstacle for the widespread adoption of object detection systems is the requirement of real-time (30FPS) while being accurate in detection.
- This trade-off between accuracy and performance needs to be chosen as per the application.
Accomplishments that I'm proud of
I learned how to use Single Shot Detection, It was my first time using it.
What's next for DetectOver
The robot can be made autonomous with the help of more sensors, gyroscopes, a compass, and GPS. So that it can be set to a target or a specific area where it can monitor.
Adding the Pneumatics design in Mechanical so robot can go up and down, can hold the object.
Face recognition: The robot will recognize the fact images which are stored in the controller and generate the alert if don't match.
By making the above changes robot can do more functions as Open the door, Turn on/off the switch, bring a newspaper for the user, etc.