Difference between revisions of "Barrel Detection"
Jump to navigation
Jump to search
(edited section titles to have a consistent style) |
(split up approaches into subsections) |
||
Line 1: | Line 1: | ||
+ | == Approaches == | ||
The following approaches have been considered: | The following approaches have been considered: | ||
− | + | === '''Image Acquisition & Color Identification (#1)''' === | |
− | + | ==== Strategy ==== | |
− | + | * 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> | |
− | + | * <tt>(Orange pixels) => [[Blob Detection|Blob seperation]] => Orange 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> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === | + | === '''Image Acquisition & Color Identification (#2)''' === |
+ | ==== Strategy ==== | ||
+ | * 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. | ||
+ | === '''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. | ||
+ | |||
+ | == 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 22:19, 19 October 2005
Contents
Approaches
The following approaches have been considered:
Image Acquisition & Color Identification (#1)
Strategy
- 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)
Image Acquisition & Color Identification (#2)
Strategy
- 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.
A Note on Notation
In the above steps, items surrounded with parentheses are data. Other items are analyses or filters.