A project log for Optical motion capture system

Tracking human motion for digital animation.

Robert GowansRobert Gowans 12/18/2017 at 19:110 Comments


Since the capture system will support relatively small rooms (~3m X ~3m), it is important that the cameras have a large field of view. The default Pi camera has a 62 degree horizontal viewing area, but something closer to 90 degrees would be more reasonable here. Another thing to keep in mind is that only a portion of the sensor is being used in the 1280x720 mode, so the lens will need to compensate for that.

I picked up a range of lenses to see what results I could get. The ones with smaller bases are M12 mount lenses, and the rest are intended as adaptors for mobile phones. Unfortunately the FOV of the M12 lenses is far too narrow for my purposes, but they were the only ones I could source locally. I've seen a great deal of M12 mount lenses online and it might be worth looking at in the future. Especially something like this:

The mobile adaptors act differently to the M12 lenses in that you don't remove the original Pi camera lens. So you end up running a needlessly complex system that will be worse off when it comes to distortion and optical artefacts. However the results were promising anyway.

It was really fun testing out the lenses, and it gives me ideas for other projects. The macro lens is especially interesting.


Default Pi camera:

Wide angle lens:

Fish eye lens:

The fish eye lens gives a significant view angle boost to the Pi Camera, and even though the lens is 180 degrees the camera only sees a portion of that. The final viewing angle is roughly 90 degrees horizontally.


Although I would prefer to have a smaller, more compact M12 mount lens, the fish eye lens worked really well. It's also incredibly cost effective compared to the alternatives.