Category Archives: Horizon

Work Today (1/13/07) included…

just a few short hours on my improvements to this horizontal/perpendicular to the horizon vision scanning system.



horizon vision testing, originally uploaded by northern_bites.

The photo is a first attempt at a post scanning algorithm that starts at the horizon line and then goes upwards and downwards in decreasing frequency scanning parallel to the horizon.

Next up is to give a run structure another go that stores important colors.

The added bonuses of this system are:

1) it fixes the disproportions that show up when you move the head around, thus making the scan lines perpendicular to the ground
2) it scans a lot fewer pixels, hence making the whole vision system much faster

I’m going to see if I can’t get more out of this system this week as I’ll have little to do other than work on vision while the Lab is under construction.

Work Today (1/12/07) included…

Re-read and cleaned up a lot of our vision code. My basic plan is to over the next few days try to make some substantial vision improvements in two particular areas: speed optimization and horizon line utilization.

All night I’ve been working on a scanning routine that only scans parallel and perpendicular to the horizon line. The math is a bit complicated, but as I’ve worked most of it out it seems doable but time consuming. I’m doing most of the code out to see if this has better advantages over a blob rotation method. We’ll find out.

Work Today (1/11/07) included…

Some New Goal work and some Horizon work.

First, I tried to debug and integrate Joho’s work on recognizing the new goals. I’ve narrowed down the buggy code, but couldn’t fix it. So hopefully more luck with that when Joho can take a closer look at it.

Second, I actually used the Horizon line calculation for some good. The purpose of the horizon line is basically twofold: it gives you an idea of where to look for things and it gives you an idea of where not to look for things. This seems simple but the GermanTeam‘s report helped me clarify this a bit.

Most important objects more frequently appear around the horizon: goals, posts, far-away balls, etc. Close objects included really close goals, close balls, dogs, and lines. The former are also by nature further away from you and are therefore take up less room in the image. The horizon line gives you a good idea of where to scan intently. Beneath the horizon line you can scan sparsely. Above the horizon line–heavens to betsy–you don’t really have to scan at all.

This last bit was clear to me from the beginning. Scan less above the horizon line and you’ll cut down on false positives and speed up the vision system simply because it has fewer pixels to process. But giving you a better idea of where to scan more fervently, however, now that’s an idea that deserves some good coding.