I've read those words in quite a lot of publications and I would like to have some nice definitions for those terms which make it clear what the difference between object detection vs semantic segmentation vs localization is. It would be nice if you could give sources for your definitions.
I read a lot of papers about, Object Detection, Object Recognition, Object Segmentation, Image Segmentation and Semantic Image Segmentation and here's my conclusions which could be not true:
Object Recognition: In a given image you have to detect all objects (a restricted class of objects depend on your dataset), Localized them with a bounding box and label that bounding box with a label. In below image you will see a simple output of a state of the art 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 given image with their bounding boxes.
Object Segmentation: Like object recognition you will recognize all objects in an image but your output should show this object classifying pixels of the image.
Image Segmentation: In image segmentation you will segment regions of the image. your output will not label segments and region of an image that consistent with each other should be in same segment. Extracting super pixels from an image is an example of this task or foreground-background segmentation.
Semantic Segmentation: In semantic segmentation you have to label each pixel with a class of objects (Car, Person, Dog, ...) and non-objects (Water, Sky, Road, ...). I other words in Semantic Segmentation you will label each region of image.
Since this issue is still not quite clear even now in 2019, and it might help new ML-Learners choose, here is a very good image showing the differences:
(localisation is the bounding box around the "sheep" class, after a classification of the image has been done) source: Towardsdatascience.com
I believe just "localization" means "single object classification + localization using a 2D or 3D bounding box".
"Object detection" is localizing + classifying all instances of known object classes in question.
Semantic Segmentation is basically per-pixel classification.
Also wrt involved metrics (source: https://devblogs.nvidia.com/parallelforall/deep-learning-object-detection-digits/ )
Precision is the ratio of the accurately identified objects to the total number of predicted objects (ratio of true positives to true positives plus false positives).
Recall is the ratio of the accurately identified objects to the total number of actual objects in the images (ratio of true positives to true positives plus true negatives).
mAP: a simplified mean Average Precision score based on the product of the precision and recall for DetectNet. It’s a good combined measure for how sensitive the network is to objects of interest and how well it avoids false alarms.
The term localization is unclear. I will therefore discuss the terms object detection and semantic segmentation.
In object detection, each image pixel is classified whether it belongs to a particular class (e.g. face) or not. In practice, this is simplified by grouping pixels together to form bounding boxes therefore reducing the problem to deciding if the bounding box is a tight fit around the object. As pixels can belong to multiple objects (e.g. face, eye), they can hold multiple labels at the same time.
On the other hand, semantic segmentation involves assigning class labels to each image pixel. While they allow for better localizing accuracy as they do not incorporate the bounding box simplification, they strictly enforce a single label per pixel.