Single Shot Detector(SSD) – Real Time Object Detection

Object Detection is a technique in Computer Vision that deals with detecting examples of semantic targets of a specific class (eg. cars, buildings or humans) in images and videos. It is a technique that works to locate and identify objects in digital images and videos.

It specifically draws bounding boxes around the object which help us to locate where the objects are. Many a times object detection is mix with image recognition.

so before we proceed, let’s clarify the distinction between them with the help of the image below:

Image recognition vs object detection

Image recognition assigns a label to the image.

Image of a dog is assign a label of ‘Dog’, the picture with two dogs still receives the label ‘Dog’. whereas object detection draws a bounding box around each dog and labels the box ‘Dog’.

Given these are the unique capabilities of object detection. though we can see how it can be applied in a number of ways:

  • Crowd Counting
  • Self Driving Cars
  • Anomaly Detection
  • Face Detection
  • Video Surveillance

SSD

There are many object detection algorithms in practice like R-CNN, Fast R-CNN, Faster R-CNN etc..

but single shot algorithms more efficient and have a good accuracy. They use deep learning based approaches for object detection.

Nowadays deep learning has become the go-to method for image recognition tasks. far surpassing more traditional computer vision methods.

deep learning networks are better at image classification than humans, which shows how useful this technique is.

How Single Shot Detection(SSD) is different:-

Single Shot Detection – this means that the tasks of object localization and object classification are ready in a single forward pass of the network.

Detector – The network is a detector that also classifies the detected objects.

  • Single Shot Detector is faster than the previous state-of-the-art techniques(YOLO) and is significantly more accurate.
  • SSD predicts category scores and box offsets for a fixed number of default bounding boxes using convolution filters applied to feature maps.
  • To achieve high accuracy we produce predictions of different scales from feature maps of different dimensions, and then separate the predictions by aspect ratio.
  • These features lead to high accuracy, even on low resolution input images.

Other algorithms normally use object proposal methodology where they would come up with a way to break down the image segmented into parts to suggest where they could potentially be objects. These algorithms sacrifice accuracy. 

Therefore researchers came up with an interesting solution where they do everything in one single shot. It just looks at the image once, it doesn’t have to go back to the image again, it doesn’t have to run many convolutional neural networks.

The Multi-Box Concept:-

For understanding Multi-Box Concept first let’s understand ground truth boxes. Ground Truth is a concept which separates observed or empirical evidence from inferred evidence. In the process of training we need these boxes to be identified, we cannot just train the algorithm if these boxes are not present in first place.

this is the important thing to keep in mind. So what SSD will do is break the image into several segments and for every segment it will construct several bounding boxes. Then it will check each box on the image for an object of each and every class the network is train for. And at last it will compare the predictions with the ground truth. If there is any error after comparison then it is back-propagate through the network in order to help update the weights.

CONCLUSION

We are complete with the Single Shot Detector! I tried to explain the concepts behind this algorithm in simple terms, as best as I understood them. hence, I do really recommend reading the paper SSD: Single Shot MultiBox Detector. also, I Would suggest following up on the two papers below for anyone interested in pushing their knowledge further in this domain:

Written By: Chelsi Jain

reviewed by: shivani yadav

If you are Interested In Machine Learning You Can Check Machine Learning Internship Program
Also Check Other Technical And Non Technical Internship Programs

Leave a Comment

Your email address will not be published. Required fields are marked *