Computer Vision for Everyone

by Craig Sullender on May 1, 2011

The purpose of this website is to:
1) Extend computer vision to anyone who builds embedded systems.
2) Make pixel processing into a standard microcontroller peripheral.

In the coming weeks I’ll be posting:
1) Plans for 4Cam, a 4-wire vision peripheral with a ~$10 BOM. Aiming for an 8mm x 8mm PCB with a WLC camera, a small CPLD, and a serial port.
2) Projects using CMOS cameras with Stellaris, Microchip, Silicon Labs, MSP430, Parallax, and other microcontrollers. In some cases the camera will be connected directly to the microcontroller.
3) Demos of the ChipSight feature encoder. Here is a short overview of ChipSight.

Some terms to get us started:
Computer vision: Extract information from an image to perform a task.
Application: The part of the system that has knowledge of the task.
Pixel processing: Convert pixel data to information needed by the application.

For example, an application tracking a basketball needs information such as the location of a round orange region in the scene.

The natural division between pixel processing and the application creates a simplified architecture for computer vision systems. One benefit is that a common front-end becomes a platform for applications; completely different applications on different systems can be written in very similar ways. Not only are developers freed from the complicated and expensive task of pixel-processing, they are also given a platform for building powerful vision products.

Another advantage to separating the pixel processing from the application is that system resources (therefore system cost) can be sized to the application instead of the data rate. Why spend $$$ on a processor/fpga and frame buffer memory and a board full of parts and several drivers just to chew through megabytes of camera pixel data — when what you want is to size the cost of your processor to your application, connect a camera to the processor, and build your application? Why spend $50 to solve a $.50 problem?

That’s it for now.

What vision application do you most want to build?

What topics or questions do you want see addressed here?

Leave commentsSend me an emailTweet me



jd May 5, 2011 at 3:02 pm

This could help with plant automation. I used to work in a steel foundry that produced a variety a different sized products. Our automatic mold closer depended on an encoder to locate the two halves of a mold. This didn’t always happen. If the closer could “see” where the where one half was in relation to the other, it would have prevented several mishaps.

Craig Sullender May 5, 2011 at 3:07 pm

Good idea! I think I’ll start a list of vision products people are sending in.

There are so many safety applications that just need reasonable computer vision instead of high-end machine vision systems.

Mykola Rabchevskiy May 5, 2011 at 11:54 pm

I like your approach!
I’m interested is such unit for using in a small autonomous robots.
Good luck!

Craig Sullender May 6, 2011 at 12:07 am

Thank you Mykola. Please subscribe to ChipSight by RSS or Twitter and I’ll keep you posted on progress. On Twitter (@ChipSight) we are sharing vision tips for small systems.

Kenneth Bitz May 6, 2011 at 1:24 am

I approve of the new site. With a huge dose of inspiration, commitment and determination you have made huge progress in this realm. Congrats,

Craig Sullender May 6, 2011 at 2:25 am

Thanks Kenneth!

tmk May 26, 2011 at 3:42 am

For the record, 2 main things i want to use computer vision for:

* Blob counting (specifically, count bees coming/going from my hive)
* automated squirrel squirter (illegal to kill them :)

Craig Sullender May 26, 2011 at 4:53 am

When the squirrels take over you will be in trouble.

Repeating this part from the other post just in case:

Another commenter recommended the STMicro STM32 and the CMUCam.

I am building a camera module with pixel-processing (ChipSight). Subscribe to this blog via RSS or Twitter and I’ll keep you posted on developments.

Comments on this entry are closed.

Previous post:

Next post: