8.4K views

Uploaded by pi194043

Region Growing Algorithm For Image Segmentation in under water environment for object segmentation

save

- OpenCL Heterogenenous program for Image Processing - ColorSpace conversion BGR-HSV,HSV-BGR,BGR-GRAY
- A detailed descriptions and results for different color constancy algorithms
- Seeded Region Growing using Line Scan algorithm - Stack base Implementation
- Adaptive Skin Color Detector
- A linear channel filter
- automatic white balance algorithm 1
- Image Segmentation
- OpenCL Heterogeneous parallel program for Gaussian Filter
- Uniform Color Quantization
- A simple color balance algorithm
- Fast Asymmetric Learning for Cascade Face Detection Training/Testing Utility
- Region Growing Segmentation
- Single Passs Connected Component Labelling
- Gaussian Multivariate Distribution -Part 1
- Android : shape Classification using OpenCV,JavaCV and SVM
- Android : Uni-stroke Touch Gesture Recognition using $1 gesture Reconigizer
- Normalized convolution for image interpolation
- Android OpenCV Simple Face Tracker
- ARM Neon Optimization for image interleaving and deinterleaving
- Fast 2D Separable Symmetric/Anti-Symmmetric Convolution
- Continuous Emission Hidden Markov Model for sequence classification
- Control Limited Adaptive Histogram Equalization for Image Enhancement
- Dense optical flow expansion based on polynomial basis approximation
- Image enhancement using Fusion
- Multi Class Logistic Regression Training and Testing
- Android OpenCV Face detection
- Modified Canny Edge Detection
- polynomial approximation of a 2D signal
- Overview of Good Features to Track Feature Detector
- Polynomial Approximation of 1D signal
- Implementation of discrete hidden markov model for sequence classification in C++ using Eigen
- Markov chain implementation in C++ using Eigen
- ARM Neon Optimization for image interleaving and deinterleaving
- OpenVision Library Gaussian Mixture Model Implementation
- Fast 2D Separable Symmetric/Anti-Symmmetric Convolution
- Continuous Emission Hidden Markov Model for sequence classification
- Dense optical flow expansion based on polynomial basis approximation
- Polynomial Approximation of 2D image patch -Part 2
- Multi Class Logistic Regression Training and Testing
- Compiling Native C/C++ library for Android
- Gaussian Multivariate Distribution -Part 1
- Modified Canny Edge Detection
- Uniform Local Binary Pattern and Spatial Histogram Computation
- Tan and Triggs Illumination normalization
- Normalized convolution for image interpolation
- C++ virtual functions and abstract class
- C++ static members and function
- Random Ferns for Patch Description
- Integral Image for Computation of Mean And Variance
- Embedded Systems Programming with ARM on Linux - Blinking LED
- C++ Inheritance
- Mean Shift Algorithm
- Local Binary Pattern
- polynomial approximation of a 2D signal
- C++ Const,Volatile Type Qualifiers
- Polynomial Approximation of 1D signal
- Obras Básicas y Complementarias de Alcantarillado (Tarea 3)
- FCOILGASEN
- Fluid selection for the Organic Rankine Cycle (ORC) using Peng-Robinson Technique for Biomass power plants
- Ondas Transversales en La Cuerda
- Texto 2 Gilson-El Ser y Los Filósofos
- Journal International
- Art16-1_7
- 03 - Std'05 - Maths
- Estructura Del Proyecto de Tesis
- fundamentals of c++
- Perdidas en Líneas de Transmisión Líneas de Transmisión
- Litareture Survey 1
- Passive Solar Architecture
- DV BUD Brochure 2015v2-Secured
- 1746 NR8 Installation Instructions (1746 In007_ en p)
- Z80 Microprocessor Architecture
- ECRobotInstaller: Automated download and install for ECRobot
- UI Cook Book
- Lubricating oil effects on the transient performance of a turbocharged diesel engine
- CWNA Guide to Wireless LAN's Second Edition - Chapter 5
- Integrated Analytic Hierarchy Process & Its Applications
- QGIS - introduzione
- ,Modelling and Signal Processing.. Maher
- IntroductionToBPMN
- Monge Gaspard
- VisualEther Protocol Analyzer
- payroll-tables
- PT
- Manual Unidirve 1
- 2011 Zeni Et Al Knee Osteoarthritis Affects the Distribution of Joint Moments During Gait

You are on page 1of 8

Pi19404

February 25, 2013

Contents

Contents

Image Segmentation - Region Growing Algorithm For UnderWater Image Segmentation 3

0.1 Introduction . . . . . . . . . . . . . . . . . . . . . 0.2 Image Segmentation . . . . . . . . . . . . . . . . 0.3 Region Growing Algorithm . . . . . . . . . . . . . 0.4 4/8 conneced neighbors Recurive Algorithm 0.5 Modification of OverExposed Regions . . . . . 0.6 Using The Edge Map . . . . . . . . . . . . . . . 0.7 Future Work . . . . . . . . . . . . . . . . . . . . . 0.8 Code . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

3 3 3 4 6 6 8 8 9

2|9

0.1 Introduction

In this document we will look at task of image segmentation and use region growing algorithms to achieve this task and its application to underwater image segmentation.

The goal of image segmentation is to partition the image into subregions with homogeneous intensity (color or tex- ture) properties which will hopefully correspond to objects or object parts. Region growing algorithms is a method to extract similar parts of image. The region growing algorithms checks for similarity of the neighborhood pixels of given initial seed point and labels the pixels that meet the similarity criteria and mean value of region foor similarity evaluation is determined. The neighborhood pixels of the newly labelled points are analysed and similarity comparison is performed with newly computed mean value. In this way neighborhood can grow in a iterative manner till stopping criteria is met.

Conider a set R which contains pixels that belongs to the region that is required to be segmented.Let set S represent a set of pixels called seed points. Seed points are pixels that is known to belong to object desired to be segmented.

3|9

For the present application we assume that we need identify the region in the image to which seed pixels belong ie other region of the image are not required. For every seed points 4/8 connected neighbors of seed point are analyzed for similarity with the seed pixel using some predefined criteria. Thus all the neighborhood pixels are marked to be compared with seed pixel. If the connected neighbor satisfies the criteria then it is included labelled as desired region and neighbor is unmarked. While all the connected neighbors of the present neighbor are marked. This process continues till no marked pixels remains which results in segmentation of region to which seed pixel belongs. As the region grows the similarity comparision can be peformed with the mean value of region rather than just the seed pixels.

We will use a recurive algorithm to implement the task. Input to algorithm is input image and seed pixel location,the output is a labelled image. Input to recurive function will be location of pixel required to be analyzed. Inital call to recurive function is the seed pixel location. The function calls a ColorDistance function to check for similarity of the given pixel with the seed pixel provided the pixel has not been analyzed already. If the distance is less than a specified threshold pixel is marked in the output labelled image and recursive calls are initiated to neighbors of the current pixel. Labelling the output image indicates the pixel has been analyzed and any call to function labelled pixel locations will return without performing any action.

4|9

As algorithm progress all connected neighbors of seed pixels are used to initiate recursive calls .If these pixels satisfy the similarity criteria use recurive calls for their connected neighbors and so on. In this way all the connected pixel of seed pixel satisfying the similarity criteria are labelled in the output image and segmentation is achieved. The we can either consider 4/8 connected beighbors for analysis. In the present implementation we use a threshold of 20 . If euclidean distance between two pixels is less than 20 we consider the pixels to be similar. We can see that region growing algorithm stop at places when reflections of object fall on the water.Increasing the threshold is one option to overcome this problem.But it is not guranteed to work in all scenarios.This is shown below. The seed is choosen at location within the shown object. In

(a) Image

(b) thresh 20

(c) thresh 50

(d) input 2

(e) thresh 50

(f) thresh 80

the second image we can see than even with high threshold of 80,the white over exposed region will never be labelled as belonging

5|9

Image Segmentation - Region Growing Algorithm For UnderWater Image Segmentation to the object.

The standard region growing algorithms use only color measurements for similarity criteria.Underwater images are affected by reflections and crinkle effects which leads to over exposure in some parts of the object being segmented. Due to these effects a large intensity change in observed in region withing the object being segmented ie sharp edge are observed within the object region. The standard Region growing algorithms would terminate at these region since large color difference is encountered wrt to seed pixel color or color of object required to be segmented. Thus to overcome this we compute the similarity measure based on the color,exposedness of region as well as local edge intensity. One simple technique is to check the distance ered to white color.If the distance is close to color and within a specified threshold ,which similarity threshold then we will include pixel object. of pixel being considwhite than seed pixel can be independent as belonging to the

However this modification may not always provide desired sementation as shown in the images below.

In the second image we can see that due to connected white colored pixels the region grows belong the desired object. To over the effect of seeded region growing algorithm growing belond the object we use edge information. We compute the edge map using canny edge detection technique. mean value of edge about a small neighborhood of point being analysed is computed and added to the distance computed to white colored pixels. Thus if the color is white but region has a edge the distance will increase and if region has strong edge it will increase the distance belong the threshold and region growing will stop. though pixel is white in

6|9

(a) input 2

(b) thresh 80

(c) modified

(d) Image

(e) thresh 20

(f) thresh 50

color and connected to original object. Also we make one more modification of reducing the distance threshold to white pixels keeping it half of color threhold. In the above image the hand along with the object is de-

(a) Image

(b) thresh 20

Figure 3: Using Edge Map

tected since the color threshold is kept high.But the main point

7|9

Image Segmentation - Region Growing Algorithm For UnderWater Image Segmentation to note is that due to addition of edge map the region does not overflow significantly from the desired object boundary

Static color threholds are being used presently.A adaptive threshold would be required based on information content present in the image as well as strenght of edge . The recursive algorithm is computationally expensive hence faster region growing algorithm will be included in the future work. A better color distance criteria for similarity matching is required. Analysis in different color space and distance other than eculidean will be considered in the future work.

0.8 Code

The class RegionGrowing defines a generic interface for region growing algorithm. The input to algorithm is input image and seed pixel location and output is labelled image. Code is available in repository https://github.com/pi19404/m19404/tree/master/RegionGrowing

8|9

- OpenCL Heterogenenous program for Image Processing - ColorSpace conversion BGR-HSV,HSV-BGR,BGR-GRAYUploaded bypi194043
- A detailed descriptions and results for different color constancy algorithmsUploaded bypi194043
- Seeded Region Growing using Line Scan algorithm - Stack base ImplementationUploaded bypi194043
- Adaptive Skin Color DetectorUploaded bypi194043
- A linear channel filterUploaded bypi194043
- automatic white balance algorithm 1Uploaded bypi194043
- Image SegmentationUploaded byshirure
- OpenCL Heterogeneous parallel program for Gaussian FilterUploaded bypi194043
- Uniform Color QuantizationUploaded bypi194043
- A simple color balance algorithmUploaded bypi194043
- Fast Asymmetric Learning for Cascade Face Detection Training/Testing UtilityUploaded bypi194043
- Region Growing SegmentationUploaded byhagasy
- Single Passs Connected Component LabellingUploaded bypi194043
- Gaussian Multivariate Distribution -Part 1Uploaded bypi194043
- Android : shape Classification using OpenCV,JavaCV and SVMUploaded bypi194043
- Android : Uni-stroke Touch Gesture Recognition using $1 gesture ReconigizerUploaded bypi194043
- Normalized convolution for image interpolationUploaded bypi194043
- Android OpenCV Simple Face TrackerUploaded bypi194043
- ARM Neon Optimization for image interleaving and deinterleavingUploaded bypi194043
- Fast 2D Separable Symmetric/Anti-Symmmetric ConvolutionUploaded bypi194043
- Continuous Emission Hidden Markov Model for sequence classificationUploaded bypi194043
- Control Limited Adaptive Histogram Equalization for Image EnhancementUploaded bypi194043
- Dense optical flow expansion based on polynomial basis approximationUploaded bypi194043
- Image enhancement using FusionUploaded bypi194043
- Multi Class Logistic Regression Training and TestingUploaded bypi194043
- Android OpenCV Face detectionUploaded bypi194043
- Modified Canny Edge DetectionUploaded bypi194043
- polynomial approximation of a 2D signalUploaded bypi194043
- Overview of Good Features to Track Feature DetectorUploaded bypi194043
- Polynomial Approximation of 1D signalUploaded bypi194043

- Implementation of discrete hidden markov model for sequence classification in C++ using EigenUploaded bypi194043
- Markov chain implementation in C++ using EigenUploaded bypi194043
- ARM Neon Optimization for image interleaving and deinterleavingUploaded bypi194043
- OpenVision Library Gaussian Mixture Model ImplementationUploaded bypi194043
- Fast 2D Separable Symmetric/Anti-Symmmetric ConvolutionUploaded bypi194043
- Continuous Emission Hidden Markov Model for sequence classificationUploaded bypi194043
- Dense optical flow expansion based on polynomial basis approximationUploaded bypi194043
- Polynomial Approximation of 2D image patch -Part 2Uploaded bypi194043
- Multi Class Logistic Regression Training and TestingUploaded bypi194043
- Compiling Native C/C++ library for AndroidUploaded bypi194043
- Gaussian Multivariate Distribution -Part 1Uploaded bypi194043
- Modified Canny Edge DetectionUploaded bypi194043
- Uniform Local Binary Pattern and Spatial Histogram ComputationUploaded bypi194043
- Tan and Triggs Illumination normalizationUploaded bypi194043
- Normalized convolution for image interpolationUploaded bypi194043
- C++ virtual functions and abstract classUploaded bypi194043
- C++ static members and functionUploaded bypi194043
- Random Ferns for Patch DescriptionUploaded bypi194043
- Integral Image for Computation of Mean And VarianceUploaded bypi194043
- Embedded Systems Programming with ARM on Linux - Blinking LEDUploaded bypi194043
- C++ InheritanceUploaded bypi194043
- Mean Shift AlgorithmUploaded bypi194043
- Local Binary PatternUploaded bypi194043
- polynomial approximation of a 2D signalUploaded bypi194043
- C++ Const,Volatile Type QualifiersUploaded bypi194043
- Polynomial Approximation of 1D signalUploaded bypi194043

- Obras Básicas y Complementarias de Alcantarillado (Tarea 3)Uploaded byOtto Tello
- FCOILGASENUploaded byshabbig
- Fluid selection for the Organic Rankine Cycle (ORC) using Peng-Robinson Technique for Biomass power plantsUploaded byInternational Journal for Scientific Research and Development - IJSRD
- Ondas Transversales en La CuerdaUploaded byKathyCortezNuñez
- Texto 2 Gilson-El Ser y Los FilósofosUploaded byStalin Andres Sarango
- Journal InternationalUploaded byAnonymous pB9NV18F
- Art16-1_7Uploaded bytinhmaixatoi2006
- 03 - Std'05 - MathsUploaded byaltin
- Estructura Del Proyecto de TesisUploaded byGladysYesseniaMendozaMejia
- fundamentals of c++Uploaded byRahayu Wilujeng
- Perdidas en Líneas de Transmisión Líneas de TransmisiónUploaded byRaul Jorge Huillca Soria
- Litareture Survey 1Uploaded bybile007m593
- Passive Solar ArchitectureUploaded byJUAN_LUIS_MENARES
- DV BUD Brochure 2015v2-SecuredUploaded byRocky Nair
- 1746 NR8 Installation Instructions (1746 In007_ en p)Uploaded byMikebuk
- Z80 Microprocessor ArchitectureUploaded byVarsha Dev
- ECRobotInstaller: Automated download and install for ECRobotUploaded byRaymond Chui
- UI Cook BookUploaded bySreekumar Nair
- Lubricating oil effects on the transient performance of a turbocharged diesel engineUploaded bynascosannascosan
- CWNA Guide to Wireless LAN's Second Edition - Chapter 5Uploaded byboytroy86
- Integrated Analytic Hierarchy Process & Its ApplicationsUploaded byharsh271
- QGIS - introduzioneUploaded byantonio barsottini
- ,Modelling and Signal Processing.. MaherUploaded bymrvozturk
- IntroductionToBPMNUploaded byGustavo Ansaldi Oliva
- Monge GaspardUploaded byDiago Lamb
- VisualEther Protocol AnalyzerUploaded byKishlay Kr
- payroll-tablesUploaded byBhargi111
- PTUploaded byFarah Usmani
- Manual Unidirve 1Uploaded byAndrés Suárez
- 2011 Zeni Et Al Knee Osteoarthritis Affects the Distribution of Joint Moments During GaitUploaded byLinda Fatrisia