Difference between revisions of "Barrel Detection"
Jump to navigation
Jump to search
(generalized what was previously the SICK section) |
|||
Line 1: | Line 1: | ||
The following approaches have been considered: | The following approaches have been considered: | ||
− | # '''Visual (#1)''' | + | # '''Visual 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 (#2)''' | + | # '''Visual 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. | ||
− | # ''' | + | # '''Distance-Map Acquistion & Shape Identification''' |
− | #* Scan distances in front of robot | + | #* '''Strategy''' |
− | #* Find/distinguish the "plateaus" of the graph. Mark each "plateau" as the near-edge of a barrel. | + | #*# Scan distances in front of robot by some method, obtaining a distance-map. |
+ | #*# 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''' | ||
+ | #*# 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 | ||
+ | #*# 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 === | === A Note on Notation === | ||
In the above steps, items surrounded with parentheses are ''data''. Other items are ''analyses'' or ''filters''. | In the above steps, items surrounded with parentheses are ''data''. Other items are ''analyses'' or ''filters''. |
Revision as of 10:08, 18 October 2005
The following approaches have been considered:
- Visual 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)
- Visual 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.
- Distance-Map Acquistion & Shape Identification
- Strategy
- Scan distances in front of robot by some method, obtaining a distance-map.
- 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
- 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
- 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.
- SICK
- Strategy
A Note on Notation
In the above steps, items surrounded with parentheses are data. Other items are analyses or filters.