Difference between revisions of "Barrel Detection"

From RoboJackets Wiki
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)'''
+
=== '''Image Acquisition & Color Identification (#1)''' ===
#* Find orange pixels (on barrel) with <tt>(Pixels) => Red - Green => High-Pass Threshold => (Orange pixels)</tt>
+
==== Strategy ====
#* Find while pixels (on barrel) with <tt>(Pixels) => Saturation => Low-Pass Threshold => (White pixels)</tt>
+
* Find orange pixels (on barrel) with <tt>(Pixels) => Red - Green => High-Pass Threshold => (Orange pixels)</tt>
#* <tt>(Orange pixels) => [[Blob Detection|Blob seperation]] => Orange stripes (Bounding Boxes)</tt>
+
* Find while pixels (on barrel) with <tt>(Pixels) => Saturation => Low-Pass Threshold => (White pixels)</tt>
#* <tt>(Orange pixels) => [[Blob Detection|Blob seperation]] => White stripes (Bounding Boxes)</tt>
+
* <tt>(Orange pixels) => [[Blob Detection|Blob seperation]] => Orange stripes (Bounding Boxes)</tt>
#* <tt>{Orange stripes (Bounding Boxes), White stripes (Bounding Boxes)} => [[Blob Detection|Blob merging]] => Barrels (Bounding Boxes)</tt>
+
* <tt>(Orange pixels) => [[Blob Detection|Blob seperation]] => White stripes (Bounding Boxes)</tt>
# '''Image Acquisition & Color Identification (#2)'''
+
* <tt>{Orange stripes (Bounding Boxes), White stripes (Bounding Boxes)} => [[Blob Detection|Blob merging]] => Barrels (Bounding Boxes)</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.
 
# '''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 ===
+
=== '''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

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

  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.