|
Any Interest in a Distributed Vision programme?
I've just started work on a programme which will distribute the load of vision processing across multiple Raspberry Pi's (or any set of computers). This is roughly how it would work:
1st Pi: BGR -> HSV and HSV threshold
2nd Pi: Canny (find edges) & findContours
3rd Pi: Iterate through contours to find largest and report its centre with JSON
The first Pi takes in the mjpeg stream from the camera and produces an mjpeg stream of its output for the next Pi to use as its input, and so on. The 3rd Pi's job could most likely be integrated into the 2nd Pi.
So far, I've only done the first stage. However, the results are already pretty dramatic, (at least in my opinion). The Pi is able to smoothly process 15 frames per second, with just about a second of delay at 320 by 240 resolution. Turning the camera frame rate down to 10fps, brings down the delay to about a bit less than half a second. Now I just have to get my hands on another Raspberry Pi!
I just wanted to gauge interest in such a programme for a possible release in the future.
Much of this was motivated through my hatred of nVidia and CUDA. (Their business practices are horrible)
I'm using OpenCV 3.0 via C++ on the Raspberry Pi's.
Last edited by viggy96 : 22-01-2017 at 21:04.
|