OTB GenericRegionMerging


I am trying to use the GenericRegionMerging but I am getting the following error message :

(FATAL) GenericRegionMerging: Caught std::exception during application execution: bad allocation

Could anyone help me to understand what is wrong ?

Présentation1.pdf (18.5 KB)

GenericRegionMerging has one limitation: the image size.
You must process smaller images, or use a computer with a lot of RAM.

I believe that currently the official “large scale version” is still in development (see here) but we still have an old version working here. Note that in all cases, you will have to compile the OTB from sources.

Hi Remi,

I tested 3 sizes of image (20, 60 and 100Mo).
With RAM up to 512Mo, the result come in 3min for a 20Mo, in 45min for a 60Mo and never finish 100Mo.
During this process the ram memory usage increase until 11Go !

I would like try the external module that you mentionned LSGRM. Could you tell me about the way to use it on Windows system ?

You must compile the module from sources. I don’t know windows very well, but I think you have to use CMake to configure the build, then use a compiler to build OTB from sources. I think that you can find these information somewhere here, on the forum, or maybe in the documentation. But I can’t help you on windows, I am really sorry!

My message is more a comment than a question. I would like to take advantage of the message of “clochette” to express my need to use the LSGRM module as well.

As part of my work, I need to segment orthomosaics of very high spatial resolution (approx. 1cm/pixel) - produced by drone - with a size of 1 to 1.5 GB. It is therefore totally impossible to use the ‘GRM’ module to perform this task due to the limited performance of my computer.

I know that it is still possible to compile the module LSGRM from the source indicated by Rémi Cresson, but this work is totally out of reach for a non-computer specialist (of which I am one!). I would like to underline Rémi’s dedication to help people who want to compile this module for Linux systems but, to tell the truth, it is very complicated to find someone to compile this module for Windows systems. For my part, the windows operating system is imposed to me by the company which does not wish to change its computing environment because of constraints related to other software and processing workflows.

So it would be really nice if you could implement the LSGRM module in one of your next releases of the official version of OTB. I have the weakness to believe that the addition of this add-on module would be useful for many other users: if we put the test done by “clochette” in perspective (cf. above), it means that, currently, we cannot use OTB to segment with the “GRM approach” a single band of the visible (i.e. B02-B04) of a Sentinel-2 image because each is between 100-110 MB…

In any case, congratulations for your software which is already very useful. But this improvement would be greatly appreciated :slight_smile:

Kind regards,