12 Feb 2014 shimniok   » (Journeyer)

OpenMV: low cost, hackable, scriptable machine vision

OpenMV will be the lowest cost, most hackable machine vision platform out there, because Ibrahim and I want to change the nature of hobby and educational robotics. And you can help. Here's how...

OpenMV is the camera module I always hoped to make myself -- but Ibrahim beat me to it. Just wait until you see what he's created.

Yes. I know about
Pixy (it's awesome and I'm a backer). The module will cost considerably less, you can script it in Micro Python, it supports Serial, SPI, and I2C, and it's easily hackable, based on the popular STM32F4; we can write our own software for it.

Why low cost? So more hobbyists and schools around the globe can make use of it in their projects. The (ahem) focus is on experimenting with and learning about Machine Vision.

Imagine what hobby electronics--or STEM education--will become when machine vision is as affordable as an Arduino?  Imagine the things we could do together, the problems we could solve. A community built up around a machine vision platform to develop applications and capabilities could transform hobby robotics as we know it.

To get there, we could benefit from your feedback, ideas, and insights.

Imagine the projects you could build using 25fps face detection. An automatic bathroom mirror light, perhaps? Or automatically ring the doorbell when someone is at your door.

What if you could do 60fps color blob detection? [video] Inexpensively? Buy two and build stereo blob tracking? Laser scanning? Sort M&M's like a boss? Flame detection for Trinity competitions? More?

And of course more algorithms can be implemented. Line following? Lane following? Optical flow?

EDIT: Ibrahim just implemented a Python script that can make use of OpenCV Viola-Jones object classifiers. For example, the OpenMV can now detect minions....

You'll be able to script it in Python. The module now runs Micro Python, a lightweight Python for MCUs. It loads scripts off the microSD card. Some bindings are in place with full control in the works.

There's an IDE you can use with the camera that has a Python shell, a frame buffer viewer and you can use it to run scripts, save them to flash.

Also, for more flexibility, you can use several OmniVision sensors on this board: the 0.3MP OV7660, the 1.3MP OV9650/OV9655, and the 2MP JPEG OV2640.

What have you always wanted your machine vision system to do? Because it's running a widely known STM32F4 single core MCU, you can write and flash and debug your own firmware using an open source toolchain, CMSIS, and STM's handy Standard Peripheral Library. There's already a growing community of support around this chip family with Pixhawk, STM32F4 Discovery boards, and more.

We're presently using an STM32F407 running at 168MHz using the native camera interface. Ibrahim has experimented with overclocking to 240MHz. We may also consider running an STM32F429 with the 2d graphics acceleration, more RAM and running 180MHz.

So, as you can imagine, we're going to do a Kickstarter with details to follow. Folks, this could become a revolution in hobby robotics. We could use your help to make it happen:

Could you send me your thoughts and ideas in email or through the comments? Or join the discussion forum.
  • If it were your design, would you change anything?
  • What could you use it for?
  • What else can we do to turn this into the Arduino of machine vision?

Syndicated 2014-02-12 17:00:00 (Updated 2014-02-17 15:43:29) from Michael Shimniok

Latest blog entries     Older blog entries

Share this page