Welcome to Visilab research site
for embedded systems
and computer aids
Visilab is the computer vision laboratory of the University of Messina.
Our research area includes the following goals:
- development of high performance software for embedded systems, portable and customizable;
- execution of advanced algorithms for artificial vision;
- execution of algorithms for speech synthesis and speech recognition;
- development of aids for visually impaired people;
- development of technologies for remote control of automatic devices like robots;
- development of software that can improve the accessibility of a website
This website is dedicated to the several projects that have been developed in this lab.
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.
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. Furthermore, it includes an OCR scanner able to read a text, a DMTX scanner able to recognize a 2d barcode, a color detector, and a mail reader.
The program doesn't require a complex and expensive hardware, because it can run on a simple Sony Playstation Portable.
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.
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/C++ functions.
See the Nanodesktop section for further notices about the features of our SDK.
ML-FLite and ML-FreeTTS
In our lab, we've developed two open-source libraries that provide a high-quality italian voice for the developers. Both projects have been developed thanks to the collaboration with Institute of Cognitive Sciences and Technologies (CNR-ICST Padova)
ML-FLite is a text-to-speech library for C language that can be integrated in any program for embedded system. We provide a version for Linux and a version for Nanodesktop PSP.
The library is able to synthesize an english or an italian voice with few resources.
ML-FreeTTS is the first Java library that provides an high quality italian voice for the developers. It is based on FreeTTS 1.2 engine. Using ML-FreeTTS, the programmers can create applications able to run in a browser that can speak in english or in italian language.
See the related sections for further details.
FireVox is an extension for Firefox that has been developed in way to provide an open-source screen reader for this browser.
The official version of FireVox doesn't support the italian language. In our lab we have developed a version of FireVox that can use ML-FreeTTS for obtaining the italian voice.
In this way, the users can benefit of a free, open-source and high quality screen reader with support for both italian and english language.
Studi di Messina
Computer Vision Laboratory