|
[DPRG] ad hoc filter for can-can video
Subject: [DPRG] ad hoc filter for can-can video
From: Chris Jang
cjang at ix.netcom.com
Date: Tue Jan 2 01:51:35 CST 2007
Hello,
Here is the result of an ad hoc filter to recognize cans in the DPRG
warehouse.
http://golem5.org/embedcv/video/cancan2.mpg
It's harder than expected.
The red blotches mark the midpoint between closely spaced vertical box
features. Cans always have a cylindrical shape viewed from ground level at
a distance so this works well as an initial stage. The cans aren't
detected in the distance as I didn't try to implement multiple scales. At
a minimum, nearsighted vision is probably good enough for finding cans
(wander around until close enough to perceive the can).
Everything else that follows is about rejecting false positives.
The warehouse is very cluttered above the contest area so the upper 2/3 of
the image frame is automatically rejected. The stool has long legs which
are rejected because they are too long. Unfortunately, this does not
completely work and the stool legs intermittently appear. The white boards
bordering the contest area and tape on the floor also cause strong edges
but are (mostly) rejected by thresholding the luminance image. Anything
that bright must be either wall or tape. Upright cans don't have
horizontal edges at the center. This is also used to help reject
background clutter which tends to have a greater mixture of edge
orientations.
One thought I have is that computer vision software has two aspects.
1. core algorithms in library code
2. specific applications (e.g. Can-Can for small robots)
I am starting to think that number 2 is far more work than number 1.
An analogy is making a computer game. Writing a game engine is a lot of
work. But game and level design, artwork and media production required for
turning that engine into a working game is a far larger effort. The best
the engine can do is try to provide a good toolbox of reusable parts.
I think this is why so much of robotics is dominated by demo-style
applications.
Also, I kind of have a more concrete vision of the medium term. I would
like EmbedCV to be an open source equivalent to ViPR from Evolution
Robotics. A major difference is that I'm not considering SIFT but rather
the SURF algorithm for interest point detection.
Sorry, I had wanted to have another source code drop but just didn't get
far enough.
Chris
More information about the DPRG mailing list
|