Welcome to EmbVision Project Page
EmbVision is an attempt to create a software for artificial vision that runs on not-x86 embedded systems, as Sony Playstation Portable (PSP) or Fox Boards (http://www.acmesystems.it/).
The esigence to create applications of computer vision that run on small devices, actually is difficult to satisfy. In fact, the computer vision algorithms require a lot of cpu power, a good video acceleration, the presence of some ports as USB or Firewall and a good autonomy of the device.
The use of palmtop, based on Symbian-OS or Windows CE doesn't give us ever good results, because the processors that are at the base of these devices are optimized for a small number of transistors, and for a long autonomy. For example, many low-cost RISC processors (ARM) that are at the base of some palmtop, haven't hardware support for floating point units, and so the code produced by the compiler must emulate the floating point operations.
But this is not very useful for the algorithms of computer vision: OpenCV, for example, requires a lot of floating point operations and this is the same for many other scientifical libraries.
Our approach is quite innovative: we use the power of portable game machines, like Sony PSP (TM) for accelerating operations that are typical of the computer vision, and for executing in real time tasks as image analysis or voice synthesis. This allows us the creation of scientifical applications that run on devices that are low-cost, simple to buy for the users, and with a large number of developers over the world.
The developers that want to work on devices as Sony PSP aren't supported by the producer: Sony, for example, releases its official SDK only to its partners and only at very high costs. Furthermore, the porting of some libraries, usually used in the PC environment, on platforms that are totally different as the PSP, requires a complex tecnological effort.
To solve these troubles, we have developed a software called Nanodesktop.
Nanodesktop is a set of libraries that allows the creation of applications for Sony PSP shortly and in a simple way. As second feature, it allows also the porting of libraries as OpenCV or FLite on the new embedded platforms.
Nanodesktop has been designed to be very portable, so, if our lab should want to port the entire system to a different platform in the future, it should be necessary only to write new HAL (Hardware Abstract Layer) and to recompile the rest of Nanodesktop distribution.
The other libraries (as ndOpenCV, ndDevIL, ndFLite) would adapt automatically to the new hardware architecture, because Nanodesktop is able to hidden to the application the differences between the different types of supported platforms.
It provides also this advantage: it makes possible to port, in an easy and fast way, the libraries as OpenCV, ndFLite, PocketSphinx or other scientifical components, on various embedded systems. So we can obtain quickly versions of OpenCV for many handhelp small devices.
In Visilab we have different projects that are based on Nanodesktop tecnology. In particular, at the actual moment, there are two projects that have to be mentioned:
Robosapien V2 Remote Control Platform:
This project consists of a set of softwares that are able to control the system Robosapien V2 by Woowee. This is an experiment of robotics: we want to use the capabilities of image analysis of a PSP, equipped with Nanodesktop and ndOpenCV, to control a BEAM system. The PSP has been choosen because it is a very light device and so it can be put in the backside of the robot.
For this purpose, we have already developed an API for the control of this robot that uses IR hardware of the PSP to send the correct commands.
We have also realized a Remote controller homebrew, that allows you to easily control the Robosapien V2 using a simple PSP.
Blind Assistant
Blind Assistant is a project that tries to use the capabilities of the Nanodesktop system (for example, the functions of face recognition and of speech synthesis, together with mathematical acceleration) to create a software that is able to help blind men or blind children. The software is able to recognize the identities and the positions of the people that are present in that moment in the room. The software is actually in development: in the future we'll probably add other features as collision avoidance, GPS support, position detection and so on.
Standard development of applications
Nanodesktop can be also used by the programmers that haven't scientifical goals and that want simply to program their PSP. It provides many functions that help the development of new applications as, for example, a complete window environment.
Furthermore, we have created a new ANSI compliant LIBC per PSP/PSPE, that allows you to create PSP applications using standard C functions.
We provide also a special version of DevIL, for loading and saving image. The original DevIL library is here: http://openil.sourceforge.net/
Università degli
Studi di Messina
Visilab
Computer Vision Laboratory
