Search code examples
image-processingcomputer-visionobject-detectionimage-segmentationyolo

why do we need object detection algorithms like yolo while we have image segmentation algorithms like deeplab_V3+ which do the same?


I am working on image segmentation and object detection and I think they do the same thing (they both localize and recognize objects in the raw picture). Is there any benefit in using object detection at all cause deeplab_V3+ do the job with better performance than any other object detection algorithms?

you can look at deeplab_V3+ demo in here


Solution

  • In object detection, the method localizes and classifies the object in the image based on bounding box coordinates. However, in image segmentation, the model also detects the exact boundaries of the object, which usually makes it a bit slower. They both have their own uses. In many applications (e.g. face detection), you only want to detect some specific objects in images and don't necessarily care about the exact boundaries of them. But in some applications (e.g. medical images), you want the exact boundaries of a tumor for example. Also we can consider the process of preparing the data for these tasks:

    • classification: we only provide a label for each image
    • localization: we provide a bounding box (4 elements) for each image
    • detection: we should provide a bounding box and a label for each object
    • segmentation: we need to define the exact boundaries of each object (semantic segmentation)

    So for segmentation, more work is required both in providing the data and in training a (encoder-decoder) model, and it depends on your purpose of the task.