PS3Vision

Here we will detail the platform on which OpenCV will be running in order to interpret image data returned from the camera, which is part of the Sensor Platform

Operating System Choice

The two most viable distributions for this kind of development are Gentoo and Fedora.

Gentoo

Gentoo was the first one to end up on our PS3, and while it was very fast as a desktop, it was too complicated to get a toolchain completed for compiling OpenCV in our timeframe. This could possibly be alleviated by using a 32-bit userland, but it was obvious that it would not work for us in time.

Fedora

Fedora is one of the more supported distro's for the Cell, with a very stable PPC branch and the RPM packager, which most of the tools we require use for distribution. Installation was performed with a Fedora Core 10 PPC NetInstall CD, and the kboot from the Gentoo installation CD.

Software Development Toolchain

The installation of the development toolchain went according to the CVCell build instructions, so all of the RPM's for the various copies of GCC and the associated libraries were installed from the Cell/BE SDK 3.1 developer package CD (the iso can be obtained here). Then the CVCell RPM's were downloaded and installed as per the CVCell installation page. Just to be safe, the software was tested out. The binaries installed in /opt/cvcell/bin ran much faster (around 30ms for a face recognition) compared to the ones built after the installation found in /usr/share/opencv-cell/samples/c , which took around 100ms to perform the same facial recognition. An email inquiry has been sent to ascertain the reason for the speedup.

Attempt at Compiling from Source (to get Python functionality)

The standard RPM packages do not install any support for OpenCV as far as I can tell. After a successful compile and installation to /usr/local, Python modules were in fact installed, but did not want to use the Cell optimized code at all.

Attempt at Ruby Integration

I also tried installing Ruby via yum, but it would always return “Aborted” when I tried to run gem to install the OpenCV package. It would also say “Aborted” when I would run irb, so this must be something with the ruby packages not working with the Cell.

Sticking with C(++)

Overall, it looks like the best course of action is to stick with C or C++, as they are the most supported, not to mention the text being used for learning about openCV is based around C. If I had more time, I would definitely work as hard as possible to get Python and/or Ruby working with the Cell optimized functions, but given our time constraint, I feel it is best to go with C.

Learning OpenCV

The primary text being used for learning OpenCV will be Learning OpenCV: Computer Vision with the OpenCV Library from O'Reilly.

 
Back to top
projects/ps3vision.txt · Last modified: 2009/02/03 00:00 by afterburn
 
 
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0