I'm fairly new at computer vision and I've read an explanation at a medium post, however it still isn't clear for me how they truly differ.
- Object Detection : is the technology that is related to computer vision and image processing. Its aim? detect objects in an image.
- Semantic Segmentation : is a technique that detects , for each pixel , the object category it belongs to. All object categories ( labels ) must be known to the model.
- Instance Segmentation : same as Semantic Segmentation, but dives a bit deeper, it identifies , for each pixel, the object instance it belongs to. The main difference is that it differentiates between two objects with the same label.
Here's an example of the main difference.
In the second image where Semantic Segmentation is applied, the category ( chair ) is the output class, all chairs are colored the same. In the third image, the Instance Segmentation, goes a step further and separates the instances ( the chairs ) from one another in addition to identifying the category ( chair ) in the first step.
Hope this clears it up for you a bit.
- The combination annotation of target detection and semantic segmentation.
- The target detection comes first, and then each pixel is labeled (semantic segmentation).
Compared to the image above, we take the person as the target objection for example:
Semantic segmentation does not distinguish different instances in the same category (all people are marked red)
Instance segmentation distinguishes different instances of the same category (different people are distinguished by different colors)
I recommend you to have a look at this article: What is Semantic Segmentation, Instance Segmentation, Panoramic segmentation.