SIMPLE CORRESPONDENCE algorithm

6 views
Skip to first unread message

bohemian

unread,
Apr 13, 2007, 1:41:15 PM4/13/07
to Sentience
Hi Bob,

I've a question about the CORRESPONDENCE_SIMPLE algorithm. As you had
told me, this is a classic correspondence algorithm, similar to
Moravec's (1996) work but without interest operator. The problem is
that I can't figure out the details of matching algorithm. As you had
said, you use vertically oriented edges for feature extraction, but
Moravec uses a correlation method to match the image patches. How do
you select the features? Do you search horizontally for corresponding
features? Do you take care of ambiguities like multiple matches?

I appreciate if you introduce me a source to read about how
"vertically oriented edges" can be extracted. And if it was possible,
write a little bit about sentienceTrackingFeature.

Cheers,

p.s. I will also be gratefully if you add me to the project.

Bob Mottram

unread,
Apr 13, 2007, 2:48:45 PM4/13/07
to sent...@googlegroups.com

The simple stereo works as follows:

1.  Determine vertical edge intensities by comparing a few pixels to the left and right along each row.

2.  Perform non maximal suppression along each row to give the 5 strongest edges.

3.  Perform (1) and (2) on the left and right camera images.

4.  For each row compare the edge features in the left and right images.  A small neighbourhood is compared, on two or three different scales.  Store the comparison results.

5.  Sort the results from (4) to give typically the 100 best scoring matches.


This method works reasonably well for low numbers of features.  If you increase the number of features selected in (5) the results get worse because lower quality matches are included.

sentienceTrackingFeature isn't presently used, but is intended to track stereo features from one frame to the next.

bohemian

unread,
Apr 13, 2007, 3:00:24 PM4/13/07
to Sentience
Thanks a lot. It was really useful.


On Apr 14, 4:48 am, "Bob Mottram" <fuzz...@gmail.com> wrote:
> The simple stereo works as follows:
>
> 1. Determine vertical edge intensities by comparing a few pixels to the
> left and right along each row.
>
> 2. Perform non maximal suppression along each row to give the 5 strongest
> edges.
>
> 3. Perform (1) and (2) on the left and right camera images.
>
> 4. For each row compare the edge features in the left and right images. A
> small neighbourhood is compared, on two or three different scales. Store
> the comparison results.
>
> 5. Sort the results from (4) to give typically the 100 best scoring
> matches.
>
> This method works reasonably well for low numbers of features. If you
> increase the number of features selected in (5) the results get worse
> because lower quality matches are included.
>
> sentienceTrackingFeature isn't presently used, but is intended to track
> stereo features from one frame to the next.
>

bohemian

unread,
Apr 27, 2007, 4:21:55 PM4/27/07
to Sentience
Hi Bob,

Would you please explain the algorithm that generates the blobs? I
can't figure out how it works.

I have also find a thesis that you might be interested in it.
http://www.cvl.isy.liu.se/ScOut/Theses/PaperInfo/forssen04.html

Cheers

On Apr 14, 4:48 am, "Bob Mottram" <fuzz...@gmail.com> wrote:

> The simple stereo works as follows:
>
> 1. Determine vertical edge intensities by comparing a few pixels to the
> left and right along each row.
>
> 2. Perform non maximal suppression along each row to give the 5 strongest
> edges.
>
> 3. Perform (1) and (2) on the left and right camera images.
>
> 4. For each row compare the edge features in the left and right images. A
> small neighbourhood is compared, on two or three different scales. Store
> the comparison results.
>
> 5. Sort the results from (4) to give typically the 100 best scoring
> matches.
>
> This method works reasonably well for low numbers of features. If you
> increase the number of features selected in (5) the results get worse
> because lower quality matches are included.
>
> sentienceTrackingFeature isn't presently used, but is intended to track
> stereo features from one frame to the next.
>

Bob Mottram

unread,
Apr 27, 2007, 5:15:25 PM4/27/07
to sent...@googlegroups.com
I should probably add a section to the Wiki regarding the blob method which I use for stereo correspondence.  It's more complex than the simple stereo algorithm, but gives a depth map suitable for producing dense grids.  Its a method inspired from biology, although I don't try to directly imitate natural vision.

Initially the entire image is run through a blob filter, typically using two or three different scale radii.  The exact radii used are subject to subsequent learning so that the performance of mapping may be optimised.  To detect a blob the system calculates the average pixel intensity within a centre region and a larger surround region.  It then subtracts the two to give a difference value.  Calculation of average intensities can be done efficiently using the integral image method, originally developed for texture mapping.  So the entire image can be represented as a landscape of blob responses, both positive (on-centre) and negative (off-centre).  The magnitudes of these responses can be matched between the left and right camera images.  Note that because the response is a relative measure we do not need to worry too much about slight lighting differences between the left and right images.

The exact way in which blobs are stereo matched can be done in different ways.  One way to do this is by using blob contours.  So you have your blob image, and if you scan from top to bottom you can trace contours of equal magnitude, exactly like tracing the contours of a geographical map.  This produces 2D line features, which can then be matched between left and right cameras.  This is a good method which potentially allows you to stereo match almost the entirety of the image if you use enough contour magnitude (height) values.

Another way to do the stereo matching is simply to take blob responses of equal magnitude in left and right images and then run a conventional least squares patch matching algorithm.
Reply all
Reply to author
Forward
0 new messages