1 / 20

Fast and Memory Efficient 2-D Connected Components Using Linked Lists of Line Segments

Fast and Memory Efficient 2-D Connected Components Using Linked Lists of Line Segments. IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 19, NO. 12, DECEMBER 2010. 2011/10/4. Outline. Introduction Connected Components Labeling Data Structure Algorithm Experimental Result And Comparison

eytan
Download Presentation

Fast and Memory Efficient 2-D Connected Components Using Linked Lists of Line Segments

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fast and Memory Efficient 2-D ConnectedComponents Using Linked Lists of Line Segments IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 19, NO. 12, DECEMBER 2010 2011/10/4

  2. Outline • Introduction • Connected Components Labeling • Data Structure • Algorithm • Experimental Result And Comparison • Conclusion

  3. Introduction • Connected components in a binary image is one of the fundamental image analysis algorithms. • This paperpresent a more efficient approach to theproblem of finding the connected components in binary images.The first advantage is the reduced execution time compared toexisting techniques. This is achieved by making a single passregular access algorithm that only requires access to the threemost recently processed image lines at any given time.

  4. Connected Components Labeling • One knows for a certain image which pixels are foreground pixels or object pixels and one needs to list each separate object within this image.

  5. Data Structure • Region descriptors data unit : • a pointer to the first line segments of the region ( pta) • a pointer to the last line segments of the region ( ptd) • Two add pointers that are used internally by our connected components algorithm ( ptb& ptc) • Line segment data unit : • start column • end column • row of the line segment • a pointer to another line segments

  6. Data Structure 01234567 76543210 Label B is reserved for the background pixels.

  7. Data Structure • S is the processing row of the image. • ptb points to the last line segment of part row< S – 1 • ptc points to the last line segmentrow = S - 1 Processed Rows pta ptb ptc ptd < S - 1 S - 1 Processing Row S

  8. Algorithm • The algorithm repeatedly performs the following operations until the last row of the input image is processed: • delineate a new line segment in the current row; • group the freshly created line segment and every connected line segment of the previous row into region descriptors; • if the last line segment of the current row is processed, proceed to the next row.

  9. Algorithm • Depending upon the number of connected line segments, three situations can occur: • The current line segment is not connected with any line segment. • The current line segment is connected with exactly one line segment. • The current line segment is connected with two or more line segments.

  10. Algorithm • The current line segment is not connected with any line segment. • If the current line segment is not connected with any line segment, it means the current line segment is the first part of a new region. Consequently, we create a new region descriptor and add the current line segment to this region descriptorthen let pta, ptcandptdpoint to the new line segment, ptbpoint to NULL. < S - 1 S - 1 S

  11. Algorithm • The current line segment is connected with exactly one line segment. • If the current line segment is connected with exactly one line segment, it means the current line segment is a continuation of the region to which the connected line segment belongs. We, thus, lookup the corresponding region descriptor and append the current line segment to the end of the linked list contained in this region descriptor. How to find the right region descriptor for a new line segment ?

  12. Algorithm • The current line segment is connected with two or more line segments. • If the current line segment is connected with two or more line segments, all these line segments must be in the same region. However, at this point the line segments may still belong to different region descriptors which must be merged. How to merge two region descriptors ?

  13. Algorithm • Searching the right region descriptor for a new line segment: pta ptc ptd < S - 1 ptb S - 1 ptb = NULL S pta ptc S - 1 ptd pta < S - 1 S ptb ptc S - 1 ptd S

  14. Algorithm • Merging two region descriptors : • A is the final merged region descriptor. • B.ptc ->next = A.ptb->next • A.ptb->next = B.ptb->next • B.ptb->next = A.pta • A.pta = B.pta A B pta pta < S - 1 ptb ptb ptd ptc ptc S - 1 ptd 1 1 1 pta S ptb ptc 1 1 2 ptd pta ptb 33 1 ptc ptd 33 2

  15. Algorithm • When current row is processed, update region descriptors before process the next row. • ptb = ptc • ptc = ptd pta < S - 1 ptb ptd S - 1 ptc S

  16. Experimental Result And Comparison • Author compare his connected components algorithm with, to there knowledge, the fastest conventional connected component labeling algorithm, namely He et al.’s technique. Image size 8192 by 8192 filled whih Bernoulli noise

  17. Experimental Result And Comparison • Resize 300 images to size 8192 by 8192 and threshold the resized image to create two binary images. One with the light pixels as foreground pixels and one with the dark pixels as foreground pixels. Thus, in total we have 600 binary images in our test dataset. • Our algorithm calculates the connected components of the natural images on average 7.4 times faster than He’s technique. The final output of the connected components of the natural images uses on average 181.2 times less memory with our data structure compared to the region label image.

  18. Experimental Result And Comparison

  19. Experimental Result And Comparison • The disadvantage of using our region coding data structureis that it does not provide a direct way to locate the region of acertain pixel. The following operations need to be done to findthe region of pixel(r, c ): • find the line segment within row which contains pixel ; • follow the linked list until the last line segment is reached; • read out the region descriptor via the pointer of the last line segment.

  20. Conclusion • With extensive experimental analysis we have shown our algorithm to be faster than the fastest conventional algorithm. Additionally, our novel region coding data structure uses less memory in typical cases than the region label image. We also proved that our algorithm is linear with the number of pixels for any possible image.

More Related