GRASS GSoC 2012 Image Segmentation: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
mNo edit summary
(+box; wikified)
Line 1: Line 1:
{{GSoC}}
{{GSoC}}
''(See also other [[GRASS_SoC_Ideas_2012#Accepted_Ideas|GRASS GSoC 2012 projects]])''
''(See also other [[GRASS_SoC_Ideas_2012#Accepted_Ideas|GRASS GSoC 2012 projects]])''
{| {{table}}
|Student Name: || [[User:Emomsen]]
|-
|Organization: || [http://www.osgeo.org OSGeo - Open Source Geospatial Foundation]
|-
| Mentor Name: ||
|-
| Title: || '''Image Segmentation'''
|-
|}
=Abstract=
=Abstract=


GRASS has many imagery related processing capabilities, but the field is rapidly developing and many techniques are not yet implemented. The goal of this GSoC project is to implement the region growing image segmentation algorithm.
GRASS GIS has many imagery related processing capabilities, but the field is rapidly developing and many techniques are not yet implemented. The goal of this GSoC project is to implement the region growing image segmentation algorithm.


Input: Raster map(s) to be segmented (plus optional vector map for a constraint)
Input: Raster map(s) to be segmented (plus optional vector map for a constraint)
Line 11: Line 22:
=Background=
=Background=


Image classification techniques already implemented in GRASS include supervised and unsupervised classification. Classification of images based on pixels can often be very noisy. By first segmenting the image, later classification of 'objects' can be more effective. Noise is reduced, classification speed is increased, and most importantly the classification is performed on objects instead of pixels. The i.smap module does include a segmentation step (based on Gaussian mixture distribution), but there does not exist a module intended to segment the image and provide segment data for general use. A summary of the existing methods implemented in GRASS are at http://grass.osgeo.org/wiki/Image_classification
Image classification techniques already implemented in GRASS GIS include supervised and unsupervised classification. Classification of images based on pixels can often be very noisy. By first segmenting the image, later classification of 'objects' can be more effective. Noise is reduced, classification speed is increased, and most importantly the classification is performed on objects instead of pixels. The {{cmd|i.smap}} module does include a segmentation step (based on Gaussian mixture distribution), but there does not exist a module intended to segment the image and provide segment data for general use. A summary of the existing methods implemented in GRASS are at [[Image classification]].


=Main Goal=
=Main Goal=
Line 33: Line 44:
* Improving the main algorithm
* Improving the main algorithm
* Adding control for what scale the segmentation is performed at
* Adding control for what scale the segmentation is performed at
* Providing updates to i.maxlik to ensure the segmentation output can be used as input for the existing classification functionality
* Providing updates to {{cmd|i.maxlik}} to ensure the segmentation output can be used as input for the existing classification functionality

Revision as of 19:06, 6 May 2012

(See also other GRASS GSoC 2012 projects)

Student Name: User:Emomsen
Organization: OSGeo - Open Source Geospatial Foundation
Mentor Name:
Title: Image Segmentation

Abstract

GRASS GIS has many imagery related processing capabilities, but the field is rapidly developing and many techniques are not yet implemented. The goal of this GSoC project is to implement the region growing image segmentation algorithm.

Input: Raster map(s) to be segmented (plus optional vector map for a constraint)

Output: To include segmented regions with statistics. This information can be directly used or taken as input to existing image classification modules.

Background

Image classification techniques already implemented in GRASS GIS include supervised and unsupervised classification. Classification of images based on pixels can often be very noisy. By first segmenting the image, later classification of 'objects' can be more effective. Noise is reduced, classification speed is increased, and most importantly the classification is performed on objects instead of pixels. The i.smap module does include a segmentation step (based on Gaussian mixture distribution), but there does not exist a module intended to segment the image and provide segment data for general use. A summary of the existing methods implemented in GRASS are at Image classification.

Main Goal

Implement an image segmentation method to extend the available options for image processing in GRASS. The region growing method has been selected as a robust general purpose method. An important contribution of the new method will be to include vector maps (for example road networks) as a constraint in growing the segments. Output from the module will include Spectral (mean/variance/range/ect) and Spatial (area/shape/location/etc) data for each region.

Specifications

Project Plan

Preparation: Gather ideas from the community! Feature requests, image segmentation literature, and any other ideas and suggestions.

  • May 21: Start coding, 8 weeks until Midterm Evaluation
  • Week 1: Develop pseudocode to outline the work
  • Week 2-4: Implement the main algorithm
  • Week 5: Add vector maps as a constraint to the segmentation
  • Week 6: Validation
  • Week 7: Debugging
  • Week 8: GUI
  • July 9: Midterm Evaluation: Evaluate the existing program, determine the plan for the remaining 3-4 weeks. Options include:
  • Improving the main algorithm
  • Adding control for what scale the segmentation is performed at
  • Providing updates to i.maxlik to ensure the segmentation output can be used as input for the existing classification functionality