image segmentor emulating eCognition's Multiresolution segmentation source code and user guide

Attention: The documentation and code and executables of this project has been moved to [here](https://github.com/JzHuai0108/ImageSegmentor). 

 

Brief Introduction

This software has realized the followingmethods for segmentation:

 

        Graph based segmentation [2](GS);

        Quad tree segmentation [1] (QT)(similar to that implemented in eCognition [6] and that as a step in HSMR [7],but in a bottom-up fashion);

        Hierarchical Clusteringsegmentation (HC) (i.e., Multiresolution segmentation [3], but with multiplehomogeneity criterion, basic data structures detailed in [5]);

        The two-stage methods, GS-HC,QT-HC (described in [1] in detail)

        Pyramid mean shift segmentationimplemented in OpenCV 1.0

        Mean shift segmentation [8] ofDorin Comaniciu (resembles EDISON [9])

        Watershed segmentation [10] ofVincent and Soille

 

And for edge detection, SUSAN [11], Sobel,Canny edge detector are incorporated.

For classification,

        MRF classification initializedby K-means by ICM, Gibbs sampler, Metropolis etc.

        K-means clustering

For building hypotheses generation onpanchromatic images,

        Hierarchical region growing andthen apply threshold to region properties (i.e., decision tree),

        K-means clustering, connectedregion labeling and then decision tree,

For change detection,

        Rosin’s automatic thresholding[12],

        Gradient image correlationthresholding [13],

        window intensity correlationthresholding [14],

        Window histogram matching usingOpenCV.

        Multilevel parcel based change detectionusing K-means (resembles [15] but using k-means to decide threshold)

How to install?

Requirement: OpenCV 1.0 has been installedon your computer and the system variable path has been set. The GDAL library isused in this software to support for multiple image formats and various vectorformats, such as shp. And the needed source code for GDAL is already includedin the source code zip file.

(1) Download the source code. zip file fromthe CSDN (Search keywords image segmentor source code)

(2) Unzip and Open the .dsw file in VisualC++6.0.

(3) Compile and Debug.

If there is linking problems, you may haveto reset the project setting to link libraries for GDAL and OpenCV.

 

How to use?

The menu contains 4 items forpreprocessing, segmentation, classification and change detection, namely,preprocess, seg, classify and texture CD, respectively.

Normally, Open an image, click one commandin the menu, follow the popup dialogs (if available), the outcome will replace theoriginal image and display in the child window. And if want to make anotheroperation on the original image, use View>Origin to get back to the initialimage.

The following is a table of menu itemscorresponding to image processing functions.

 

commands

function description or requirement

preprocess

 

 

histogram equalize

take 256 gray scale image as input

edge detection

sobel

use the first channel of the image to detect edges

susan

as above

canny

as above

smooth by Gauss

use the first channel of the image

Gabor transform

Entropy

Opening Morph

open operation of morphology

seg

set parameters

set parameters for segmentation methods, if skipped, parameters take values by default

Quad Tree

Quad Tree segmentation

HierClust

multiresolution segmentation

GraphSeg

graph based segmentation

GraphSeg-HC

first Graph based segmentation, followed by hierarchical clustering, i.e.,region merging

QuadTree-HC

Quad Tree segmentation followed by hierarchical clustering

Preview

after any of the preceding 5 segmentation command, use this command to view region properties and histograms

Mean shift(bg-dzj)

mean shift proposed by Comaniciu

Watershed(Vincent)

Vincent-Soille's segmentation approach

Pyr Mean Shift(OpenCV)

pyramid mean shift implemented in OpenCV

classify

MRF classifier

apply to the first band of the input image

Color MRF

use the intensity of the image in the active window as input

Kmeans

Kmeans classifier to classify pixels in an image

Building Kmeans

Kmeans classification, connected region labeling and decision tree to get building hypotheses

Building

region growing (Hierarchical clustering) and decision tree to get building prototypes

Texture CD

change detection based on texture

Rosin CD

Rosin's automatic thresholding for change detection

Correlation CD

intensity correlation between windows centered on one pixel at two-time images and thresholding by 0.5 to detect changes

Grad Corr CD

gradient correlation between windows centered on one pixel at two-time images and thresholding for change detection

Histrogram Stat CD

match histograms of the window centered on one pixel of two times and threshold to detect changes

Multilevel Diff CD

multilevel parcel based feature extraction and k-means clustering to decide threshold for change detection, a little slower and the change detection result is saved in the same directory as the opened image

Note that there are additional commands nottabulated in the above table which are not complete or waiting for update.

Reliability Concerns

These functions have been tested for a fewtimes. But obviously they are premature and need to be rigorously tested, sosafety using this code is not guaranteed. From my empirical observations, thesegmentation methods, GS-HC, QT-HC and HC are most reliable among other commands.If there is any bug concerning the 3 functions, I would like to exchange views.

Reference

1.        YuminTan, Jianzhu Huai, Zhongshi Tang. AnObject-Oriented Remote Sensing Image Segmentation Approach Based on EdgeDetection. Spectroscopy and Spectral Analysis, vol. 30, no. 6, pp.1624-1627,June 2010.

2.        P. F. Felzenszwalb and D. P. Huttenlocher, Efficient Graph-BasedImage Segmentation, International Journalof Computer Vision, vol. 59 issue 2, Sep. 2004.

3.        MartinBaatz, Multi-resolution Segmentation: an optimization approach for high qualitymulti-scale image segmentation. 2002.

4.        KostasHaris, Serafim N. Efstratiadis,Nicos Maglaveras, and Aggelos K. Katsaggelos. HybridImage Segmentation Using Watersheds and Fast Region Merging. IEEE Transactions on Image Processing, Vol.7, No. 12, Dec 1998.

5.        DavidJ. Robinson, Nicholas J. Redding, David J. Crisp. Implementation of a FastAlgorithm for Segmentating SAR Imagery. Jan 2002.

6.        eCognitionuser guide 4.0. http://www.gis.unbc.ca/help/software/ecognition4/ELuserguide.pdf

7.        BenWuest, Yun Zhang. Region based segmentation of QuickBird multispectral imagerythrough band ratios and fuzzy comparison. ISPRS Journal of Photogrammetry andRemote Sensing 64 (2009) 55-64.

8.        DorinComaniciu and Peter Meer. Mean Shift: A Robust Approach Toward Feature SpaceAnalysis. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.24, no. 5, May 2002.

9.        EDISON user guide. http://coewww.rutgers.edu/riul/research/code/EDISON/doc/segm.html

10.     Lee Vincent and PierreSoille. Watersheds in digitalspaces: An efficient algorithm based on immersion simulations. IEEE PAMI, vol.13, no. 6, pp. 583--598, 1991.

11.     Stephen M. Smith and J. Michael Brady. SUSAN—ANew Approach to Low Level Image Processing. International Journal of ComputerVision 23(1), 45–78 (1997)

12.     Paul L Rosin. Thesholding for ChangeDetection. Proceedings of International Conference on Computer Vision, 1998.

13.     Liyuan Li,Maylor K. H.Leung. Integrating Intensity andTexture Differences for Robust Change Detection. IEEE Transactions on ImageProcessing, vol. 11, no. 2, Feb. 2002.

14.     Csaba Benedek, Xavier Descombes and Josiane Zerubia.Building Extraction and Change Detection in Multitemporal Aerial and SatelliteImages in a Joint Stochastic Approach. INRIA. 2009.

15.     F. Bovolo and L. Bruzzone, A multilevel parcel-basedapproach to change detection in very high resolution multitemporal images,Proc. IGARSS, vol. 3, pp. 2145–2148, 2005.

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值