4

I've recently ordered an Arduino Yun and several other components to begin on a small robotics project (based on an old 4x4 RC Truck). Although not mandatory for what I'd like to do, I was wondering how feasible it would be to mount a small camera or two and write some software for the Linux portion of the Yun to do basic image/video analysis such as face detection and computer vision based path finding?

Mostly this is a question about the processing power capabilities of the Yun. Has anyone had any luck doing simple image analysis/recognition on this processor?

(Also, if anyone with 150+ rep could edit this to create and add the "computer-vision" tag that would be great)

1
  • Probably possible to a degree (64MB should give enough room to store and analyze a few frames even if existing components claim a lot of memory) but likely disappointing in terms of speed and perhaps difficulty of setup as well if off-the-shelf packages are hard to port. You might want to look at a beaglebone? You might want to see the various Yun + OpenCV threads on various sites that turn up in a search. Jul 16, 2014 at 21:01

4 Answers 4

3

It probably has enough memory and speed to run basic object recognition software, but I there's a better solution, and that's to do your image capture and your object recognition with another device, and use the Arduino to act on the incoming data in some way. That would give you enough juice to do object tracking or searching. I plan to do this for my copter gimbal hopefully to be able to track objects on the ground, like criminals running from the cops for example.

This product will work great for that. Since you need a camera anyway, I think this is a pretty good deal... http://petapixel.com/2013/09/01/pixy-low-cost-camera-recognizes-follows-objects-color/

Can be purchased here: http://www.adafruit.com/products/1906

AdaFruit has tutorials to help you get started. (Computer-vision doesn't exist as a tag right now and I can't create it, but I tried, sorry)

1
  • That's actually really cool. I'll probably look into that after recovering from the cost of my initial component shopping spree.
    – cnsumner
    Jul 17, 2014 at 5:19
2

For this application the Arduino YUN is the worst possible solution because

  • Low RAM
  • Terrible Processor
  • No storage (you can add a microSD card though)
  • High Cost

The raspberry Pi 2, UDOO, RADXA, Ordio, pretty much anything with a quad core processor and 1GB of RAM will do a decent job.

Face detection is RAM intensive, so you will need to worry about it lagging.

Alternatively you could also have the image processing part be done elsewhere like on a server (on a local network this could be your laptop) or something.

Personally,I would never recommend the Arduino YUN because it just simply isnt worth paying the 75$ for when for about the same price you could have a arduino pro micro and a raspberry pi (with a WiFi adapter, mircoSD card etc.) which is capable of doing probably way more than you actually need to.

1

Maybe you can consider adding Raspberry Pi board to run OpenCV which is well supported by hundreds of books and tutorials. See 20 tutorial from initial setting up to running typical functions in http://www.stemapks.com/opencv.html

Also, http://opencv-srf.blogspot.hk/

Then, there are many examples / tutorial / book on linking Arduino to RPi.

On the other hand, from web demo, Pixy CMUcam5 seems very good as a semi-ready-made solution. Watch the demo and see if it does what you want. If yes, then, it is easy solution. OpenCV is a library, it can do many tricks but need learning.

Hope this helps

0

I am guessing not very useful. Image recognition is quite CPU-intensive, and Arduinos are slow, memory-starved, 8-bit processors.

The Unix side of the Yun runs at 400 MHz, which is quite a bit faster than the Arduino part, but still quite slow compared to a mobile phone or desktop computer. And 64MB of RAM isn't enough to hold even a single HD image, never mind the data you would need to have in RAM to do image analysis. You'd probably have to limit yourself to 640x480, and the slow processor and lack of enough flash for large code libraries would be a problem. (You've only got 16 MB of flash memory on the LINUX processor.) I don't know if you can run programs from an SD card or not. That might solve your code storage problems, but you're still going to struggle with 64 MB of RAM.

1
  • What's with the drive by down vote? If you think my answer is wrong or not helpful, explain yourself!
    – Duncan C
    Jul 18, 2014 at 22:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.