http://sourceforge.net/projects/cellcv
http://cellcv.sourceforge.net/
Keywords: CBEA Architecture Cell Processor Cell SDK 2.0 3.1 Yellow Dog Linux 5.0 Fedora Core 10 PPC PS3
STI Computer Vision Parallel SpeedUp Image Elaboration SubImage compute-intensive
The CellCV project is a C/C++ computer vision project that aims at obtaining the parallel elaboration of image sequences, either acquired in real time by some dedicated hardware or by reading disk files, using the STI Cell Processor.
The CBEA architecture of the Cell Processor, available also on Sony PlayStation3, allows to split the input images in vertical bands thanks to the PPE Power Processor Element.
Each subimage is then mapped onto the SPE Synergistic Processing Elements' embedded SRAM through opportune MFC Memory Flow Controller commands and is analyzed by computer vision algorithms that satisfy one particular common software interface. These algorithms work identically in parallel on the subimages and return to the PPE a list of bounding boxes (regions of interest) identified on the subimage passed to them.
The resulting processed output subimages, modified by the algorithm, are mapped back to the main memory through MFC commands and are joined into a single output image by the PPE.
The PPE collects also the list of boxes and tracks over time the output image location evolution of these boxes, associating to each of them an unique ID.
Eventually the resulting output image with the regions of interest outlined is dumped on disk.
Since for each Cell core there are eight physical SPEs, if the implemented computer vision algorithm is compute-intensive, a speedup is obtained.
The so achieved parallelism can reduce sensibly the total time of an image elaboration and will evidence some speedup that will be statistically measured, comparing the frames per second of the serial execution of the algorithm with the fps of the parallel one.
The CellCV project consists of the code for realizing all the things above described and is built on a YellowDog 5.0 Linux distribution for PowerPC Processor (version 0.50, while on a Fedora Core 10 for PPC for version 0.51), that exploits the capabilities of the Cell Processor, with installed the Cell SDK 2.0 (version 0.50) or 3.1 (version 0.51).
9 dec 2007: first pre-release: CellCV-0.50.tgz
11 jan 2009: second pre-release: CellCV-0.51.tgz for Fedora Core 10 PPC, CellSDK 3.1 and PPC/PS3
OpenCV on the Cell (is growing) http://cell.fixstars.com/opencv/index.php/OpenCV_on_the_Cell
OpenCV was used by the winner team in the DARPA Grand Challeng race http://cell.fixstars.com/opencv/index.php/What_is_OpenCV%3F
YDL, PS3 Drive Autonomous Vehicle in DARPA Challenge http://www.power.org/news/pr/view?item_key=29e72397f4c3ae689c44310e06e12ddd166fd130
http://www.axionracing.com/Tools/ToolIndex_Saint.htm
http://www.terrasoftsolutions.com/showcase/cellebration/axion/