Computer vision cameras come with extremely small size without too much compromise on image quality. They fill in the holes of a wide range of applications that conventional photography cameras are not capable of.
One drawback, however, is the fact that they don’t have large on-board storage. That is to say, the data must be streamed out to some external storage. A dumb computer could be a good companion to the computer vision camera, but this combination will cost the computer vision camera its advantage of size. Imagine that if you want to build a computer vision camera rig, then a large rig of computers will be required, which is very likely to make the maintenance work become nightmare.
Given the assumption that those dumb computers are only there to receive and store the data, we don’t actually need all the advanced stuff such as CPU computing power or graphics performance. In this case, is it possible for those super cheap single-board computers (embedded system) to take over the job? The good news is, YES!
According to Point Grey’s website, they’ve already tested their cameras with single-board computers such as Jetson TK1 from Nvidia and ODROID-XU. How about others, the popular Raspberry Pi or Banana Pi? Especially the latter one because it comes with a SATA port, perfect for a SSD storage.
After downloading the ARM SDK and the sample codes into the Banana Pi, the first tryout gave me the following error:
There is an image consistency issue with this image
What does it mean? It means your data receiving part (which is the Banana Pi) can’t catch up the speed with the camera. So the image you received is likely corrupted.
How to solve it? Fortunately, you only need to tweak the parameters on the camera as well as the OS (e.g. Ubuntu) on the embedded system:
- Packet Size and Delay on the camera
- Receive Buffers on your OS
I will take a little bit more in my next posts regarding tweaking of those parameters. Once I got everything work, I was able to achieve 4fps of the RAW data from its 5.0 MP sensor, that is roughly 80MB/s. When I tried to increase to 5fps, I got the “image consistency issue” back from time to time. I believe there still should be a little more juice to squeeze out of the Banana Pi by tweaking the above parameters.