Difference between revisions of "Barrel Detection"
Jump to navigation
Jump to search
m (→Methods to Obtain a Distance Map: added link to SICK page) |
m (→'''Distance-Map Acquistion & Shape Identification''') |
||
Line 45: | Line 45: | ||
#* Obtains a distance-map along a ''plane'' projected away from the robot. | #* Obtains a distance-map along a ''plane'' projected away from the robot. | ||
#* ''Pros'' | #* ''Pros'' | ||
− | #** | + | #** none significant |
#* ''Cons'' | #* ''Cons'' | ||
#** Difficult to implement programmatically. | #** Difficult to implement programmatically. | ||
Line 51: | Line 51: | ||
==== Progress ==== | ==== Progress ==== | ||
− | * | + | * [[User:SpencerC|Spencer]] already has a rudimentary implementation of a steroscopic imaging algorithm. |
== 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 22:29, 23 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)
Progress
- none so far
Image Acquisition & Color Identification (#2)
Strategy
- Preprocessing
- Find orange pixels (on barrel) with (Pixels) => Red - Green => High-Pass Threshold => (Orange pixels)
- Find white pixels (on barrel) with (Pixels) => {Saturation, Brightness} => {Low-Pass Threshold, High-Pass Threshold} => (White pixels)
- Algorithm
- Scan horizontal lines of image, starting from the bottom, and moving up. When current 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, scan horizontal line-segments above the bottom edge, starting from the bottom and moving up. When an insufficient percentage of current scan line-segment contains orange/white pixels, mark the line-segment as being the top edge of the barrel.
- Once the top and bottom edges of a barrel have been identified, record the bounding box of the barrel and delete the barrel from the image (clear all of the pixels within the bounding box). Continue scanning.
Progress
- I have written an experimental image filter called BarrelBlobFinder, included in ImageFilterDemo v1.2.3, that implements a more complex version of this algorithm. It works quite well, although it could benefit from some more calibration. --David 23:22, 19 Oct 2005 (EDT)
- I am investigating the usage of adaptive thresholding to dynamically determine appropriate values for the threshold-style parameters of the BarrelBlobFinder filter. --David 20:48, 20 Oct 2005 (EDT)
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.
- Pros
- Easy to implement programmatically.
- Cons
- 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.
- Pros
- none significant
- Cons
- Difficult to implement programmatically.
- Requires two camcorders. Currently, we only have one.
Progress
- Spencer already has a rudimentary implementation of a steroscopic imaging algorithm.
A Note on Notation
In the above steps, items surrounded with parentheses are data. Other items are analyses or filters.