I have a slight confusion differentiating between object recognition and object detection. Some people say object detection is a sub-topic of object recognition? Can someone clarify the the difference between these two topics?

To the best of my knowledge:

Object Recognition is responding to the question "What is the object in the image" Whereas, Object detection is answering the question "Where is that object"?

Hope someone can illustrate the difference by also generously providing an example for each.


3 Answers 3


You kind of answered your own question.

Object Recognition: which object is depicted in the image?

  • input: an image containing unknown object(s)

    Possibly, the position of the object can be marked in the input, or the input might be only a clear image of (not-occluded) object.

  • output: position(s) and label(s) (names) of the objects in the image

    The positions of objects are either acquired form the input, or determined based on the input image.

    When labeling objects, there is usually a set of categories/labels which the system "knows" and between which the system can differentiate (e.g. object is either dog, car, horse, cow or bird).

Object detection: where is this object in the image?

  • input: a clear image of an object, or some kind of model of an object (e.g. duck) and an image (possibly) containing the object of interest

  • output: position, or a bounding box of the input object if it exists in the image (e.g. the duck is in the upper left corner of the image)

  • 1
    $\begingroup$ It seems like you're using the expression "object detection" as a synonym for "object localization". However, in many cases (many recent DL papers), object detection refers to object localization (i.e. with bounding boxes) + object classification. Object recognition is used very ambiguously almost everywhere. I don't even know why we haven't stopped using it. $\endgroup$
    – user40095
    Commented Jun 15, 2020 at 20:13
  • 1
    $\begingroup$ @nbro In many recent papers, that is really true. This answer was written nearly 7 years ago :) $\endgroup$
    – penelope
    Commented Jun 17, 2020 at 10:18

late, but here is the answer. source: https://www.learnopencv.com/selective-search-for-object-detection-cpp-python/

An object recognition algorithm identifies which objects are present in an image. It takes the entire image as an input and outputs class labels and class probabilities of objects present in that image. For example, a class label could be “dog” and the associated class probability could be 97%.

On the other hand, an object detection algorithm not only tells you which objects are present in the image, it also outputs bounding boxes (x, y, width, height) to indicate the location of the objects inside the image


Object detection base on the point of interest of any given image; for instance bird in picture and recognition talked about the specific information about bird, like name, type and other characteristic of particular interest point.

  • $\begingroup$ Can you please expand a little bit on this answer as it is not exactly clear how it addresses the question. At least that is my perception. $\endgroup$
    – A_A
    Commented May 24, 2018 at 10:56
  • $\begingroup$ Object Recognition: In any given image you have to detect all objects (a restricted class of objects depend on your data set), Localized them with a bounding box and label that bounding box with a label. Object recognition. Object Detection: it's like Object recognition but in this task you have only two class of object classification which means object bounding boxes and non-object bounding boxes. For example Car detection: you have to Detect all cars in a any given image with their bounding boxes $\endgroup$
    – user35925
    Commented Jun 2, 2018 at 8:40
  • $\begingroup$ Object Recognition is responding to the question "What is the object in the image" Whereas, Object detection is answering the question "Where is that object". Image retrieval problem, that is, the problem of searching for digital images in large databases. $\endgroup$
    – user35925
    Commented Jun 2, 2018 at 8:45
  • $\begingroup$ Thank you but I was not asking for me personally. The response popped up in my review queue and I thought that it would be worth expanding it a little to more than what you could have left as a comment. An answer post is usually a bit more elaborate. All the best. $\endgroup$
    – A_A
    Commented Jun 2, 2018 at 16:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.