Difference between revisions of "Barrel Detection"
Jump to navigation
Jump to search
(→Progress: image: a barrel and its identified bounding box) |
m |
||
Line 1: | Line 1: | ||
+ | [[Image:IdentifiedBarrel.png|thumb|right|A barrel, and its bounding box, as identified by '''BarrelBlobFinder''']] | ||
+ | |||
== Approaches == | == Approaches == | ||
The following approaches have been considered: | The following approaches have been considered: | ||
Line 25: | Line 27: | ||
==== Progress ==== | ==== Progress ==== | ||
− | |||
* I have written an experimental image filter called '''BarrelBlobFinder''', included in [[ImageFilterDemo]] [[:Image:ImageFilterDemo v1 2 3.zip|v1.2.3]], that implements a more complex version of this algorithm. It works quite well, although it could benefit from some more calibration. --[[User:DavidF|David]] 23:22, 19 Oct 2005 (EDT) | * I have written an experimental image filter called '''BarrelBlobFinder''', included in [[ImageFilterDemo]] [[:Image:ImageFilterDemo v1 2 3.zip|v1.2.3]], that implements a more complex version of this algorithm. It works quite well, although it could benefit from some more calibration. --[[User:DavidF|David]] 23:22, 19 Oct 2005 (EDT) | ||
* I am investigating the usage of [[Intensity Scaling#Adaptive Thresholding|adaptive thresholding]] to dynamically determine appropriate values for the threshold-style parameters of the '''BarrelBlobFinder''' filter. --[[User:DavidF|David]] 20:48, 20 Oct 2005 (EDT) | * I am investigating the usage of [[Intensity Scaling#Adaptive Thresholding|adaptive thresholding]] to dynamically determine appropriate values for the threshold-style parameters of the '''BarrelBlobFinder''' filter. --[[User:DavidF|David]] 20:48, 20 Oct 2005 (EDT) |
Revision as of 22:57, 20 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.
- 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.
Progress
- none so far
A Note on Notation
In the above steps, items surrounded with parentheses are data. Other items are analyses or filters.