Object Detection has always been one of the most interesting topics in the field of machine learning. I was amazed when I first saw a machine learning model detecting different classes of objects and was curious to understand how it was able to do so with such high accuracy and I hope you are curious too , let’s find out how a machine detects objects. Let’s start with the history of object detection.
History
The first efficient algorithm for object detection come out in 2001. By Paul viola and Michael jones – the first object detection model that work real time for a webcam. the uniqueness of the model is that the features of the image extract by hand coding and fed into support vector machine for classification.
but downside of the model was that it did not perform well, when the image incline or not properly present. Then in 2005 a much more efficient technique announce out know as HOG(histogram of gradients).invented by navneet dalal and bill triggs.
The fascinating thing about this model is that it’s not limit to just faces but also to different classes of objects. the idea behind the model to identify how dark a pixel compare to its neighbours. then orient a line towards the direction which was more dark comparatively and the same gets repeat for every pixel.
in the image so that the features of images can be extract effectively and then fed into the support vector machine for classification of the image. The revolution in object detection began when deep learning was introduced. the deep learning model outperformed all the previous models by utilizing convolutional neural networks to detect objects in an image but it required a lot of computational power as it had to go through every pixel in the image.
later RCNN was introduced and instead of going through every pixel.it randomly allocates a window in the image and performs classification on that window it was much more efficient than the previous model. That’s enough of history and lets see how it works.
How it works?
The most efficient way of detecting objects in an image is to divide the image into 13*13 cells and each cell has the maximum capacity to take 5 window edges and then label the confidence level of the image . The windows whose confidence is above a threshold value is select.
the remaining windows are remove and this is how we can classify images. It can be describe as:-
- Divide the image into 13*13 grid
- Allocate window with upto maximum of 5 window edge per cell
- Label the windows confidence levels and filter out windows above threshold value.
How to Implement Object detection?
The object detection model can be implement with the help of YOLO(you only look once) and Tensorflow. YOLO is a pre-train model which can classify upto 80 different classes.
tensorflow is a machine learning framework which provide us with a useful set of tools for the purpose of implementing our machine learning model.
Here is a step by step procedure for detecting objects with tensorflow
- Install anaconda
- Download the pre-trained weights of YOLO and convert it into tensorflow model
- Run YOLO detection
- Train the model
- Serve the model using tensorflow serving
Applications of Object detection
- Face recognition: Have you ever wondered how your phone, facebook, instagram, etc.. Are able to identify faces in an image? This is complete through object detection by classifying the facial features in an image.
- Counting people: object detection can use to count the number of people in an image to analyze stock performance or crowd statistics during festivals where people get lost easily.
- Industrial quality check: There are many defective items manufacture using machines which is to be check by a person in order to remove the defective piece, object detection saves us the time and money by differentiating defective pieces from the non defective pieces.
- Self Driving cars: cars can be train to classify objects such as pedestrian crossing, traffic lights, humans, etc.. Which is then integrate into the machine learning model in order for the car to drive itself accordingly.
- Security: smartphones can be make more secure by using face detection to unlock the phone which can be implemented with the help of machine learning.
- Surveillance object detection can be use to track down any person with the help of cctv cameras giving input of missing or wanted person. It can also be use to hunt down criminals and reduce crime rate.
written by: Junaid Khan
Reviewed By: Vikas Bhardwaj
If you are Interested In Machine Learning You Can Check Machine Learning Internship Program
Also Check Other Technical And Non Technical Internship Programs