Semantic segmentation on very big images

Re,
the last program I am looking for is a semantic segmentation program for very big images (6000 x 4000 pixels) without resizing before enter into the neural network because objects are very thin (about 1 to 4 pixels large).
Thank you
Best regards

Hi Sylvain!

One reasonable approach would be to use a U-Net (a common and
solid semantic-segmentation network architecture) with the so-called
“overlap-tile strategy” (that is, apply the U-Net to patches of the large
input images). This is discussed in detail in the original U-Net paper.

Best.

K. Frank

but the recognition of the objects require the entire image because objects are thin but long, I have a GPU of 24GB of memory, is it sufficient to work with entire 6000x4000 images ?

Hi Sylvain!

Could a person looking at your image perform semantic segmentation
of one end of the object without being able to see the other end?

For example, in an image of, say, pencils laying on a table, one could
easily segment the pencils on a patch-wise basis – either by hand or
with a network.

If so, “overlap-tile” U-Net would likely work.

In the special case that your thin objects are oriented approximately
horizontally (or vertically) in your image, you could design an anisotropic
U-Net whose “field of view” is a skinny rectangle that is long enough to
fit your entire object (rather than a square) and then use the “overlap-tile”
strategy.

You would have to try it. My guess is that a typical U-Net (The original
paper describes a U-Net with a “depth” of five.) would not be able to
process a 6000x4000 image with 24GB of memory, especially if you
plan to train, and therefore perform backward passes.

Best.

K. Frank

in fact this program is made to recognize fine primary and secondary veins of tree leaves, to be able to recognize that they are primary or secondary veins the program needs to see the whole leaf, but it is true that in most cases the leaf is not of the size of the image, i.e. 6000x4000 pixels but less

I think that I can crop the leaf and resize it in for example 2000x1500 pixels

Hi Sylvain!

You’re the domain expert, but let me go out on a limb and challenge
this assumption.

I could well believe that seeing the base of the leaf could let you
segment primary veins, seeing the junctions where primary veins
branch into secondary veins could let you segment both, and seeing
the tip or edges of the leaf could let you segment secondary veins.

Have you tried semantic segmentation on partial images?

Responding to your subsequent post, I expect that if you can crop
your images down to 2000x1500, 24 GB should be enough to process
entire (cropped) images with a network such as U-Net.

Have you tried running U-Net on full or cropped images?

Best.

K. Frank