Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between object detection and object classification?

These two tasks are popular applications of convolutional neural networks. However, I don't understand the difference. According to one Caffe tutorial, it seems that the task of object detection is harder.

Does object detection define where the object is located in an image, or reveal how many of the object is in the picture...?

like image 677
Ren Avatar asked Jul 31 '15 15:07

Ren


4 Answers

Detection is the process of identification and classification is the categorization of the object based on a previously defined classes or types. While both are based on discernible properties of the object, classification could take arbitrary boundaries based on the problem domain and independent of detection.

it seems that the task of object detection is harder.

Whether one is harder than other the other depends on the particular properties being studied, the error margins, accuracy rates, and so forth. For example, if there is a tighter tolerance for detection than classification, then it could be perceived as being harder. But in an iterative application that alternates between the detection and classification, which is harder is probably not that easy to tell.

Does object detection define where the object is located in an image, or reveal how many of the object is in the picture...?

Technically detection is supposed to be unambiguous, perhaps a boolean T or F. All other properties, such as location, how many, and all other properties feed into classification. It is not to say that those properties are not relevant to detection, but that once detected, the task now becomes one of classification. Where that precise line or transformation happens depends on the specific application.

like image 99
Emacs User Avatar answered Oct 01 '22 03:10

Emacs User


The difference is following. If you have to define the class of an image, it relates to the object classification task. If you have to define coordinates of an object on the image, then it is the object detection task.

To learn more about practical application of convolutional neural networks for object detection, you can read this article: http://rnd.azoft.com/convolutional-neural-networks-object-detection/

like image 40
ice.cube Avatar answered Oct 01 '22 04:10

ice.cube


Object classification - You are given an image, classify this image to some class like Apple, bus, forest etc.
Object detection - You are given an image, find out if there exist a patch(or coordinates) where the class exists? eg - Given an image predict whether classes(like oranges, truck, lion) exist in image or not.

Generally problems involve both the techniques. First of all you have to do object detection on a given image and take out the required patch. Then apply classification to predict its class(Both can be clubbed in same step as well)

like image 43
Sagar Chand Avatar answered Oct 01 '22 05:10

Sagar Chand


Object detection answers the question "Is the object detected?" (Yes/No). Anything not binary is then object classification or object recognition (e.g. face recognition, not face classification). With images, the term "recognition" is often a better fit since there is always some uncertainty involved and "recognition" reflects those specific issues found in object detection in images.

like image 35
runDOSrun Avatar answered Oct 01 '22 03:10

runDOSrun