Difference between revisions of "Barrel Detection"

From RoboJackets Wiki
Jump to navigation Jump to search
(generalized what was previously the SICK section)
(edited section titles to have a consistent style)
Line 1: Line 1:
 
The following approaches have been considered:
 
The following approaches have been considered:
  
# '''Visual Identification (#1)'''
+
# '''Image Acquisition & Color Identification (#1)'''
 
#* Find orange pixels (on barrel) with <tt>(Pixels) => Red - Green => High-Pass Threshold => (Orange pixels)</tt>
 
#* Find orange pixels (on barrel) with <tt>(Pixels) => Red - Green => High-Pass Threshold => (Orange pixels)</tt>
 
#* Find while pixels (on barrel) with <tt>(Pixels) => Saturation => Low-Pass Threshold => (White pixels)</tt>
 
#* Find while pixels (on barrel) with <tt>(Pixels) => Saturation => Low-Pass Threshold => (White pixels)</tt>
Line 7: Line 7:
 
#* <tt>(Orange pixels) => [[Blob Detection|Blob seperation]] => White stripes (Bounding Boxes)</tt>
 
#* <tt>(Orange pixels) => [[Blob Detection|Blob seperation]] => White stripes (Bounding Boxes)</tt>
 
#* <tt>{Orange stripes (Bounding Boxes), White stripes (Bounding Boxes)} => [[Blob Detection|Blob merging]] => Barrels (Bounding Boxes)</tt>
 
#* <tt>{Orange stripes (Bounding Boxes), White stripes (Bounding Boxes)} => [[Blob Detection|Blob merging]] => Barrels (Bounding Boxes)</tt>
# '''Visual Identification (#2)'''
+
# '''Image Acquisition & Color Identification (#2)'''
 
#* Find orange pixels (on barrel) with <tt>(Pixels) => Red - Green => High-Pass Threshold => (Orange pixels)</tt>
 
#* Find orange pixels (on barrel) with <tt>(Pixels) => Red - Green => High-Pass Threshold => (Orange pixels)</tt>
 
#* Scan horizontal lines of image, starting from the bottom, and moving up. When currect scan line intersects a sufficient number of orange pixels, mark the orange segment of the line as being the bottom edge of a barrel. Once the bottom edge of a barrel is identified, ignore all pixels above the bottom edge. Continue scanning.
 
#* Scan horizontal lines of image, starting from the bottom, and moving up. When currect scan line intersects a sufficient number of orange pixels, mark the orange segment of the line as being the bottom edge of a barrel. Once the bottom edge of a barrel is identified, ignore all pixels above the bottom edge. Continue scanning.

Revision as of 11:10, 18 October 2005

The following approaches have been considered:

  1. Image Acquisition & Color Identification (#1)
    • Find orange pixels (on barrel) with (Pixels) => Red - Green => High-Pass Threshold => (Orange pixels)
    • Find while pixels (on barrel) with (Pixels) => Saturation => Low-Pass Threshold => (White pixels)
    • (Orange pixels) => Blob seperation => Orange stripes (Bounding Boxes)
    • (Orange pixels) => Blob seperation => White stripes (Bounding Boxes)
    • {Orange stripes (Bounding Boxes), White stripes (Bounding Boxes)} => Blob merging => Barrels (Bounding Boxes)
  2. Image Acquisition & Color Identification (#2)
    • Find orange pixels (on barrel) with (Pixels) => Red - Green => High-Pass Threshold => (Orange pixels)
    • Scan horizontal lines of image, starting from the bottom, and moving up. When currect scan line intersects a sufficient number of orange pixels, mark the orange segment of the line as being the bottom edge of a barrel. Once the bottom edge of a barrel is identified, ignore all pixels above the bottom edge. Continue scanning.
  3. Distance-Map Acquistion & Shape Identification
    • Strategy
      1. Scan distances in front of robot by some method, obtaining a distance-map.
      2. Find/distinguish the "plateaus" of the graph. Mark each "plateau" as the near-edge/near-face of a barrel.
    • Methods to Obtain a Distance Map
      1. SICK
        • Obtains a distance-map along a line projected away from the robot.
        • Easy to implement programmatically.
        • Expensive hardware. May be able to get from the CS department
      2. Stereoscopic Imaging
        • Obtains a distance-map along a plane projected away from the robot.
        • Difficult to implement programmatically.
        • Requires two camcorders. Currently, we only have one.

A Note on Notation

In the above steps, items surrounded with parentheses are data. Other items are analyses or filters.