[GRASS-user] Image segmentation to separate object from background

Hi GRASS users,

has anyone of you tried to use GRASS image tools (e.g. segmentation etc) to identify an object in a picture. For example I have multiple photos of fish and would like to separate the fish from its background in an automatized way. The images look like:

http://fishbase.org/photos/PicturesSummary.php?ID=4730&what=species

http://fishbase.org/photos/PicturesSummary.php?StartRow=0&ID=4662&what=species&TotRec=5

So what I already know apriori: I would like two final classes (fish and background), the fish is more or less centred within each picture, and there is only one fish in each picture. I played already around with i.segment but the results are not yet satisfying.

Any ideas?

/johannes

On 26/06/17 15:01, Johannes Radinger wrote:

Hi GRASS users,

has anyone of you tried to use GRASS image tools (e.g. segmentation etc)
to identify an object in a picture. For example I have multiple photos
of fish and would like to separate the fish from its background in an
automatized way. The images look like:

http://fishbase.org/photos/PicturesSummary.php?ID=4730&what=species
<http://fishbase.org/photos/PicturesSummary.php?ID=4730&what=species&gt;
http://fishbase.org/photos/PicturesSummary.php?StartRow=0&ID=4662&what=species&TotRec=5
<http://fishbase.org/photos/PicturesSummary.php?StartRow=0&ID=4662&what=species&TotRec=5&gt;

So what I already know apriori: I would like two final classes (fish and
background), the fish is more or less centred within each picture, and
there is only one fish in each picture. I played already around with
i.segment but the results are not yet satisfying.

You will certainly have to go through a classification phase: oversegment the image and then classify the resulting segments as fish or non-fish. Probably results will be better if you classify into more non-fish classes which you can then merge at the end.

Currently, we don't have semantic segmentation in GRASS GIS, i.e. segmentation that "recognizes" real objects and it is difficult to get complete real objects just through the segmentation methods we have (check i.segment, i.superpixels.slic, but also edge detection, such as i.zc).

For real semantic object recognition, neural network approaches seem the way to go today, so you might want to look into those.

Moritz

* Moritz Lennert <mlennert@club.worldonline.be> [2017-06-26 15:38:53 +0200]:

On 26/06/17 15:01, Johannes Radinger wrote:

Hi GRASS users,

has anyone of you tried to use GRASS image tools (e.g. segmentation etc)
to identify an object in a picture. For example I have multiple photos
of fish and would like to separate the fish from its background in an
automatized way. The images look like:

http://fishbase.org/photos/PicturesSummary.php?ID=4730&what=species
<http://fishbase.org/photos/PicturesSummary.php?ID=4730&what=species&gt;
http://fishbase.org/photos/PicturesSummary.php?StartRow=0&ID=4662&what=species&TotRec=5
<http://fishbase.org/photos/PicturesSummary.php?StartRow=0&ID=4662&what=species&TotRec=5&gt;

So what I already know apriori: I would like two final classes (fish and
background), the fish is more or less centred within each picture, and
there is only one fish in each picture. I played already around with
i.segment but the results are not yet satisfying.

You will certainly have to go through a classification phase:
oversegment the image and then classify the resulting segments as fish
or non-fish. Probably results will be better if you classify into more
non-fish classes which you can then merge at the end.

Currently, we don't have semantic segmentation in GRASS GIS, i.e.
segmentation that "recognizes" real objects and it is difficult to get
complete real objects just through the segmentation methods we have
(check i.segment, i.superpixels.slic, but also edge detection, such as
i.zc).

For real semantic object recognition, neural network approaches seem the
way to go today, so you might want to look into those.

Moritz

I was looking for, similarly, last week. What is the status of:

- ann.create; ann.info; ann.data.rast; ann.learn; ann.run.rast? See doi:10.4172/2329-6755.1000145
- see also related reference about "ann.*" at https://grasswiki.osgeo.org/wiki/AddOns
  -- link is "broken".
- http://www.uam.es/proyectosinv/Mclim/pdf/MBenito_EcoMod.pdf: broken
  linke reference in our wiki
  (https://grasswiki.osgeo.org/wiki/R_statistics)

Nikos

On Mon, Jun 26, 2017 at 4:32 PM, Nikos Alexandris
<nik@nikosalexandris.net> wrote:
...

I was looking for, similarly, last week. What is the status of:

- ann.create; ann.info; ann.data.rast; ann.learn; ann.run.rast? See
doi:10.4172/2329-6755.1000145
- see also related reference about "ann.*" at
https://grasswiki.osgeo.org/wiki/AddOns
-- link is "broken".
- http://www.uam.es/proyectosinv/Mclim/pdf/MBenito_EcoMod.pdf: broken
linke reference in our wiki (https://grasswiki.osgeo.org/wiki/R_statistics)

I fixed in in the wiki:
--> https://dx.doi.org/10.1016/j.ecolmodel.2006.03.015
       behind a paywall, though... (I can send an author's copy upon request).

Markus