What type of camera or camera properties should I look for that would be ideal for performing image processing in a moving environment?

I'm researching the sensor requirements for processing video in real time on a mobile robot. In a past experiment, I used a simple Raspberry Pi 3 with the standard Picamera on a two-wheeled robot with the goal of navigating using visual cues. Although this was cheap and easy to setup, I found it to be nearly useless at processing video while the robot was moving because the Picamera's rolling shutter was so slow, any amount of movement would blur the image capture, making image processing nearly impossible. To implement any kind of image based navigation, I found I had to stop the robot, capture images, process, calculate the next step, then blindly move a small amount, and then repeat until the destination was reached.

This is obviously a very slow and tedious approach and far from ideal. The goal of most mobile robots should be to continuously move while simultaneously processing video.

Researching this problem more, I found that the film industry has largely already solved this problem, albeit for high speed motion capture and not robotics, by using cameras with a global shutter. This type of shutter records each pixel simultaneously instead of scanning columns of pixels, resulting in much less blur. Unfortunately, these cameras tend to be enormously expensive and more difficult to source.

However, there are some cheap cameras with rolling shutters that advertise an ability to capture motion without much blur. I believe the GoPro brand of cameras tout this ability without using a global shutter, but I've not confirmed it.

When choosing a camera for high speed video processing applications, what should I be looking for that minimizes cost while maximizing the ability to capture clear images? Most USB cameras I see, even ones like GoPros design for motion, don't usually advertise explicit metrics that I can use to gauge performance vs cost. Do I have to use an expensive camera with a global shutter or is there a low cost alternative that should be "good enough" for most robotics experiments?

  • 1
    $\begingroup$ Before buying a gopro or any other camera, check the data that you can get and how you can get them. For example you might want to have the raw data of the camera, or you would like to play around with the ISO manually. Added to this you have to checkout how you get the data, i.e. I wanted to use a camera once that didn't have a usb and saved all data in the sd-card and the solution proposed was a card snifer to read the data and send them via bluetooth to the computer (a bit of overkill for real time applications) $\endgroup$
    – nionios
    Mar 11 '20 at 13:36
  • 1
    $\begingroup$ If you are trying to do gesture recognition, then a monochrome global shutter camera would work. They are very high frame rate and no blur. A quick search on amazon found this Pi compatible camera (you'll probably want to add a lens) amazon.com/Arducam-Shutter-Raspberry-Monochrome-Plugged/dp/… $\endgroup$
    – Ezward
    Mar 11 '20 at 16:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.