The CellCV Project

(The Cell Processor Computer Vision Project) by Amos Tibaldi - tibaldi at
user Tibaldi on SourceForge
Keywords: CBEA Architecture Cell Processor Cell SDK 2.0 3.1 Yellow Dog Linux 5.0 Fedora Core 10 12 PPC PS3 STI Computer Vision Parallel SpeedUp Image Elaboration SubImage compute-intensive

Download (

CellCV Project Description

The CellCV project is a C/C++ computer vision project that aims at obtaining the parallel elaboration of image sequences on Linux systems, 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.

Related links
OpenCV on the Cell (is growing)
OpenCV was used by the winner team in the DARPA Grand Challeng race
YDL, PS3 Drive Autonomous Vehicle in DARPA Challenge
CellCV Presentation Image
The CellCV project code is available in the following versions:
0.52 (Fedora Core 12 for PowerPC processor, Cell SDK 3.1)
CellCV-0.52.tgz 24 mar 2010
0.51 (Fedora Core 10 for PowerPC Processor, Cell SDK 3.1) CellCV-0.51.tgz 11 jan 2009
0.50 (YellowDog 5.0 for PowerPC Processor, Cell SDK 2.0) CellCV-0.50.tgz 9 dec 2007
CellCV Project PDF Presentation