Вы находитесь на странице: 1из 10

Efficient Algorithm for Digital Contour Extraction of Iso-intensity Regions From a Multi-Intensity 2D Grid

Date:- 3 Feb 2014

Abstract To achieve enhanced image recognition, it is necessary to accurately extract the contour of the recognition target from the input image in a preprocessing step. A new method for extracting an object region in a complex scene image is proposed. For improving the accuracy and the robustness of region extraction, to the region of a single object, the proposed method applies multiple active contour models (ACMs) controlled by the statistical characteristics of image data. Around the object boundary, these ACMs compete with each other, and each ACM extracts a subregion of uniform image properties. As a result of this competition, the entire region of an object is extracted as a set of several subregions. For the proposed method, it is necessary to set many initial contours. To lighten this load, a procedure for making multiple initial contours from a single initial curve is also proposed. In this procedure, a few initial curves are set in an image, each initial curve is divided into segments at the optimal loci, and initial contours are made by dilating these segments. Moreover, it is not efficient for natural images, since the backgrounds are not monotone. This paper introduces an improved contour extraction method .

Introduction Extracting an object region from an image is an important problem in image processing, and it has been actively studied. Active contour model (ACM, Snake) has achieved considerable success in this area, because it has the following advantages: (1) A region is described as a deformable contour (i.e., a closed curve), thus a closed region is obtained as a result of extraction. As the setting of initial contour, users intention and a priori knowledge of an object shape can be used in the extraction process. To improve the accuracy and the robustness of region extraction, several methods have been proposed for controlling ACM by the statistical characteristics of image data. These methods deform a contour in a direction to make the image properties (e.g., intensity, color, texture, etc.) within the contour be uniform. It is effective for the object region with uniform image properties, but unsuitable for the region whose image properties are not uniform. To

overcome this problem, the methods applying multiple ACMs to the region of a single object have been introduced

Related Work: Since the beginning of computer vision the detection and computation of motion in image sequences has been of enormous interest. Because of the increasing computational performance, tracking of moving objects in real--time has become more and more important in the past years. There is a wide range of area of applications: Video surveillance, autonomous mobile system, service and cleaning robots, or systems assisting car drivers.In the past, most such work was based on specialized hardware, like pipelined imaging hardware (DataCube, [1]), oder transputer systems [2,3]. Only a few systems are known, which deal with tracking of moving objects in real--time without dedicated hardware [5,4]. Besides the use for image segmentation, contour based approaches have been of increasing interest for object tracking, too [8]. Most of the work identifies object boundaries by the image gradient [6]. [7] uses color and motion information to track cars in complex outdoor scenes. [5] presents a complex framework of elastic models and stochastic filtering. The image contrast is used to identify the boundary of the object within a search window. A radial representation of the contour for real--time tracking of moving objects has been proposed by [4]. The authors use the optical flow combined with the image gradient to extract the moving object. In contrast to the approach described in this introduction, they have no coupling of contour elements by means of an internal energy. The system runs on a transputer architecture. In the special case of object tracking by active contours [9], a lot of work has been done to improve the contour extraction in the presence of heterogeneous background [12,10]. [11] presents an approach for region based active contours, to allow for the segmentation of contours in medical images with weak object contours but unique statistics inside the contour. The problem of tracking contours in image sequences with complex background is the scope of [13]. At present, the computational complexity of both contour based algorithms does not allow for real--time applications.

Algorithm: What are image contours?

Binary B & W images - set of locations of level crossings, from 0 to 1, which means closed curves defining different regions.Black & White: straight lines suffer from discretization effects that create zigzag lines according to the angle of inclination (0 and p/2 angles suffer no effect).

Extracted boundaries and its islets

Input we have for an algorithm is a 2D grid and all associated attributes. First we figure out the boundary cell in the input and set the boundary flag for them and set the visited flag for each of the boundary cells to false. This is a first pass. In second pass we stop at cell which has boundary flag set to true and visited flag set to false. Whenever we encounter such type of cell we apply our two step algorithm at that cell

Input: A arc-grid file. _ Output: A text file list of regions. 1) Identify the boundary cells. A cell is a boundary cell if its intensity is different from any of its neighbors 2) Identify the boundary segments in a counter clock wise order and set the hole inclusion relation. Input: A 2D-Grid Output: Boundary cellson grid are identified set current cell as first cell in a grid; while not at end of the 2D-Grid do if any of the neighbor has different intensity then set currentcell.boundary = true; else set currentcell.boundary = false;

end move to next grid cell; end A Two Step Strategy for Every Encountered Outer Cycle: We come to this stage when the cell encountered is a starting point of the outer cycle. So we do the following things during first step: Step 1: We are at a starting point of an outer cycle. a) We loop around (counter-clockwise order) the boundary cells (Outer Cycle) and write to file the coordinates of end of segments. b) While looping we set the pair flags for each boundary cells. A pair flag is set for all the boundary cells that are encountered while going down and up. And whenever the cell is encountered twice while going up and down we toggle this flag. The pair flag is shown for first region in figure 1. c) And we also set the visited flag for each boundary cell to true. This is to avoid reporting half regions. The second step is to find the holes inside the outer cycle. We loop around the outer cycle of the region again and do the following: Step 2: a) At each boundary cell that has pair flag set to true and direction of traversal is downward we stop at that cell and go to next step. b) We scan the horizontal extent of the region at that vertical level. How do we know what is the extent of the region at that vertical level? For that we traverse in horizontal direction till we find the cell that has a pair flag set to true. While scanning the extent if we encounter a boundary cell that has same intensity as outer cycle we stop at that cell and go to next step(c). If while scanning through the extent we find the cell with hole flag set to true we skip the horizontal extent of the hole. Extent of a hole is bounded by cells with hole flag set to true. After skipping the hole extent we continue scanning again. c) We know that this cell is a starting cell of the hole cycle. We loop around (counter clock wise order)the boundary cell of the hole and write to file the coordinates of the end of segments. While looping we set the hole flag for all the cells that are encountered while going up and down. Also we set the visited flag for all cell in loop to true. After reporting a hole we continue with step above(b) d) If the horizontal extent of the region is complete. Means a scanning in step (b) is complete we start with the step (a) all ove again for all the next encountered cells.

Algorithm 1: Get_outercycle (int x, int y, ofstream* outfile) INPUT: Coordinates of the cell where the outer cycle starts (x, y). And pointer to an outfile where we write the list of coordinates. OUTPUT: Write to file the end point coordinates of the segments. And Also set the pair flag (an attribute of the cell) for the boundary cells of the outer cycle. 1) Int i =y, j=x, pdirection=0, cdirection=2; 2) do 3) if(cdirection==1) 4) While(last cell in direction 1 is not reached) 5) Set cell. Visited flag = true; 6) Toggle the cell. Pair flag; 7) j++; 8) else if(cdirection==2) 9) While(last cell in direction 2 is not reached) 10) Set cell. Visited flag = true; 11) Toggle the cell. Pair flag; 12) i++; 13) else if(cdirection==3) 14) While(last cell in direction 3 is not reached) 15) Set cell. Visited flag = true; 16) Toggle the cell. Pair flag; 17) j--; 18) else if(cdirection==4) 19) While(last cell in direction 4 is not reached) 20) Set cell. Visited flag = true; 21) Toggle the cell. Pair flag; 22) i--; 23) 24) pdirection=cdirection; 25) If(pdirection==1) 26) if(lower neighbor is boundary cell of same intensity ) 27) output to file the coordinated of lower left corner of the cell.

28) cdirection = 2; 29) else if(upper neighbor is boundary cell of same intensity) 30) output to file the coordinated of lower right corner of the cell. 31) cdirection = 4; 32) // similarly set cdirection for all other pdirections (2, 3, 4) and output to file the respective coordinates. 33) 34) If(pdirection==cdirection) // means U turn 35) If(pdirection==1) 36) output to file the coordinated of lower right corner and upper right corner of the cell. 37) cdirection = 3; 38) // similarly set cdirection for all other pdirections (2, 3, 4) and output to file the respective coordinates. 39) 40) 41) while(i!=y&&j!=x )

Conclusion In this paper, we proposed a new region extraction method using Efficient Algorithm for Digital Contour Extraction of Iso-intensity Regions from a Multi-Intensity 2D grid by the statistical characteristics of image data. This method is effective for many instances, particularly for the region of uneven image properties. This algorithm will be used as a bases to find out the digital contours for the icing intensities at different vertical heights of the atmosphere. This procedure is beneficial to interactive image manipulation applications. Compared to traditional boundary-based active contours, our contour is more insensitive to initialization. Moreover, our contour needs few re-initializations during evolution process. Finally, In order to extract multiple objects, we introduced a hierarchical method. The experiments demonstrate that our method is very effective. Since our method is implemented

in level set framework, it is easily extended to three dimensions. This is very useful especially in medical applications. Our method can also be used with other boundary-based active contour models, for example, geodesic active contour. These topics will be the subject of future work. In future we will be dealing with 3-Dimensional shapes that are derived from collection of the 2-Dimensional shapes at different vertical levels. Result:The proposed algorithm was implemented in C++ language and test runs were made on different input samples. References:-

1.K. Daniilidis, M. Hansen, C. Krauss, and G. Sommer. Auf dem Weg zum knstlichen aktiven Sehen: Modellfreie Bewegungsverfolgung durch Kameranachfhrung. In DAGM 1995, Bielefeld, pages 277--284, 1995.

2.E.D. Dickmanns, R. Behringer, C. Brdigam, D. Dickmanns, F. Thomanek, and V.v. Holt. An all--transputer visual autobahn--autopilot/copilot. In International Conference on Computer Vision, pages 608--615, Berlin, 1993. 3.T. Uhlin, P. Nordlund, A. Maki, and J.O. Eklundh. Towards an active visual observer. In International Conference on Computer Vision, pages 679--686, Cambridge,

Massachusetts, 1995.

4. S.M. Smith and J.M. Brady. Asset-2: Real--time motion segmentation and shape tracking. IEEE Transactions on Pattern Analysis and Machine Intelligence, 17(8):814--820, 1995. 5. A. Blake, R. Curwen, and A. Zisserman. A framework for spatiotemporal control in the tracking of visual contours. International Journal of Computer Vision, 11(2):127--145, 1993. 6. R. Curwen and A. Blake. Dynamic contours: Real--time active splines. In A. Blake and A. Yuille, editors, Active Vision, pages 39--58. MIT Press, Cambridge, Massachusetts, London, England, 1992. 7. M. Dubouisson and A.K. Jain. Contour extraction of moving objects in complex outdoor scenes. International Journal of Computer Vision, 14(1):83--105, 1995.

8. M. Isard and A. Blake. Contour tracking by stochastic propagation of conditional density. In A. Blake, editor, Computer Vision - ECCV 96, pages 343--356, Berlin, Heidelberg, New York, London, 1996. Lecture Notes in Computer Science. 9.F. Leymarie and M.D. Levine. Tracking deformable objects in the plane using an active contour model. IEEE Transactions on Pattern Analysis and Machine Intelligence, 15(6):617-634, 1993. 10. K.P. Ngoi and J. Jia. A robust active contour model for natural scene contour extraction with automatic thresholding. In A. Blake, editor, Computer Vision - ECCV 96, pages 335-348, Berlin, Heidelberg, New York, London, 1996. Lecture Notes in Computer Science.

11. R. Ronfard. Region-based strategies for active contour models. International Journal of Computer Vision, 13(2):229--251, 1994. 12.G. Xu, E. Segawa, and S. Tsuji. Robust active contours with insensitive parameters. Pattern Recognition, 27(7):879--884, 1994. 13. P. Delagnes, J. Benois, and D. Barba. Active contours approach to object tracking in image sequences with complex background. Pattern Recognition Letters, 15:171--178, 1995.

Вам также может понравиться