I was reading the well know paper Fully Convolutional Networks for Semantic Segmentation, and, throughout the whole paper, they talk use the term fine and coarse. I was wondering what they mean. The first time they say it in the intro is:

Convolutional networks are driving advances in recognition. Convnets are not only improving for whole-image classification, but also making progress on local tasks with structured output. These include advances in bounding box object detection, part and keypoint prediction, and local correspondence.

The natural next step in the progression from coarse to fine inference is to make a prediction at every pixel.

It's also used in other parts of the paper

We next explain how to convert classification nets into fully convolutional nets that produce coarse output maps.

What do "coarse" and "fine" mean in the context of this paper? And in the general context of computer vision?

In English, "coarse" means "rough or loose in texture or grain" , while "fine" means "involving great attention to detail" or "(chiefly of wood) having a fine or delicate arrangement of fibers", but these definitions do not elucidate the meaning of these words in the context of computer vision.

This question was also asked here.



What does that mean in the context of this paper?

With "coarse segmentation" the author means a segmentation that doesn't have much detail. "Fine segmentation", on the other hand, refers to a segmentation with a high level of detail.

But also more importantly [what does that mean in the context of] general computer vision?

The most common use in CV is to describe how general or specific a class in is classification. A "coarse class" is a very broad one, while a "fine class" is a very specific one.

Intended use

What the author refers to is the level of detail of the resulting segmentation.

A coarse segmentation would mean that we have large blobs covering each class without much detail. On the other hand, a fine segmentation would have a much higher level of detail which can even go down to pixel level (i.e. pixel-by-pixel correct segmentation).

To make this clear look at the following two examples. As we go from the left to right, the segmentation maps go from coarse to fine:

Note that in the rightmost images the result an almost pixel-perfect (i.e. fine details) segmentation map, while the ones on the left don't have much detail and can be considered coarse.

Alternative use

Because this isn't an established terminology, some of the times coarse and fine can refer to the nature of the classes in a classification task. Take the top image for example; the label for a coarse classification task could be a tree. For a fine classification task we would have labels like oak tree, pine tree, etc.

The most prominent example of this is the cifar dataset which has two versions: a coarse one that has 10 classes and a fine one that has 100 classes, which are all subclasses of the coarse classes. For example a coarse class is fish, while the fine ones are aquarium fish, flatfish, ray, shark, trout, etc.

For semantic segmentation an example could be the following: you want to make a street segmentation model. This a coarse segmentation would mean that it just splits the image into road, vehicle, etc. A fine segmentation, on the other hand, could also detect the type of vehicle, e.g. truck, car, etc.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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