Autonomous video processing

Hi All,

which Arduino model would be capable/best fitting for autonomous processing of video input (recognizing movements) from web camera? Looking for processing ~640x480 frame i.e. every second, so not too frequently.

Idea is to track moving objects and move servos but without any input from external PC. Except initial programming of course.

Thanks a lot!

None of the above…

here is what I found while waiting for replies:

http://arduino.cc/blog/2011/03/24/ardui … er-shield/

Not doing any video processing there…just reading a high/low value and and copying that value to an LED…at 8x8 resolution.

Well, other than a couple orders of magnitude too little RAM, way slow processor (for the application) and limited mass storage interface throughput, I don’t see any problems.

I’ll bet that an Arduino might be able to interface with the old Cameboy Camera. That was something like 320 by 180 pixels with a weird clocked analog output. Downsampling that, you might be able to tell is something big and or bright moved.

I’ve used the old C328 camera, but it’s the camera itself that’s limited. 80x60 @ a bit over 1 FPS at most with the color depth limited by the serial baud rate (i.e. B&W @ slow rates, 16bit color @ really high bit rates that aren’t achievable by the camera itself).

But again…can’t dump it to external ram fast enough to keep up with the camera, can’t pull it back out of ram fast enough to do any useful processing…etc.etc.

As said 2 posts ago, other than that, no problem :slight_smile:

thanks guys. what else if not arduino could be used for this purpose then?

If ya gotta ask…

PIC32’s, ARM’s, high end ST’s…

Literally hundreds of options.

Main question is “What can YOU handle?”

something not too complicated and with reasonable price. I am experienced in programming (C/C++, MathLab and etc.) but not in electronics. Like mentioned initially, need to track moving objects and trigger servos autonomously.

I think you need to answer a bunch of other questions before you can decide on a processor. Things like:

How big your object is. Tracking a BB at 200 feet is more of a challenge than a Mack truck at 20 feet.

How fast is the object moving?

How much contrast does the object have?

What is a reasonable cost. For some that might be $2,000. For others no more than $30.

These will decide the camera that you need to use, the amount of processing needed, and the interface to the camera. Then you can think about a processor. An ARM processor development board might be a good way (or it might not…).

I see it as quite straight forward, not too sophisticated and cheap system: target is to track walking humans up to 100 feet away (outside). There is no need to recognize object, would be enough just tracking blobs, that are bigger than certain size without color or any other characteristics recognition. Long story short: need to make surveillance system that would trigger another high resolution camera to pan/tilt/zoom and make pictures of the object.

Original idea was picking cameras that can be found at home: web camera + unused digital photo camera.

Marius:
I see it as quite straight forward

Famous last words...

not too sophisticated and cheap system: target is to track walking humans up to 100 feet away (outside).

If it wasn't that difficult, ya think there would be a thousand code different code examples out there, basically in the public domain, for various scenarios.

There is no need to recognize object, would be enough just tracking blobs, that are bigger than certain size without color or any other characteristics recognition.

When you get it figured out and working, don't forget to post back.

have the same thing coded on my laptop already, working as described via web cam.

And what is your budget? Since your laptop was about $800, are you willing to spend up to $800 for a processor board and tools to program it?

Marius:
have the same thing coded on my laptop already, working as described via web cam.

Let's see it!

No proof, didn’t happen…

Skimask, I don’t think he owes us proof of what he has. He has come to ask what Arduino could be used for video processing. He has learned that none are. Next he asked what could. He was given some suggestions and some things to think about. I would be most interested in his budget and camera he wants to use. If its a USB webcam it is a different answer than a CameraLink interface.

fll-freak:
Skimask, I don’t think he owes us proof of what he has. He has come to ask what Arduino could be used for video processing. He has learned that none are. Next he asked what could. He was given some suggestions and some things to think about. I would be most interested in his budget and camera he wants to use. If its a USB webcam it is a different answer than a CameraLink interface.

thanks fll-freak, this discussion started going the wrong direction…

budget, would be great to fit into 200-300$ if that it is possible at all with given requirements. USB webcam is initial idea due to I owe it, nevertheless any low cost camera could be purchased as well.

thanks for your ideas, appreciated!

The issue with your USB camera is one of drivers and software. You will need to find a development board that has a USB system that could support the flavor of video your webcam supplies. I am no expert on USB, but I do know that protocols and master/slave stuff gets complicated fast. Not sure if you are going to get there in your budget. By the time you purchase an deleopment board, a compiler, and an OS that supports USB you are likely to go over that budget for a one of a kind device. I would first look into what type of USB ‘stuff’ you need and then look at ARM dev boards that you can find those drivers for.

Since the Raspberry PI is shipping, I think it’s worth the $35+shipping (or what ever the price is today) to give it a shot. I’m sure it could handle the processing, not sure if the system SW is ready for prime time yet.