Consortium quickens image processing software development
What do drones, driver assistance systems and mobile medical diagnostic devices have in common? Right: They very often use image processing components, for example for obstacle detection or pedestrian detection. In the case of mobile X-ray devices, image processing can be used to ensure sufficient image quality even with reduced radiation and thus reduce radiation exposure.
Such applications require small, lightweight, energy-efficient, yet real-time image processing components. Conventional computer architectures with general-purpose processors are not a suitable hardware platform for these requirements. Therefore, embedded systems based on FPGAs are often used. The circuit structure of these logic components can be freely configured via a special type of programming.
Typically, the low-level, hardware-related VHDL language is used for this purpose. The problem here is that most image processing applications are available in higher programming languages such as C/C++, and their transfer to the embedded systems is very laborious. Not only is VHDL very different from other programming languages, but it also needs to be adapted to the respective hardware. Even existing VHDL programs are not transferable to other hardware. The software developers have to start almost from scratch with every new system.
A consortium consisting of eight partners from six countries – including Fraunhofer IOSB in Karlsruhe – has now simplified this procedure considerably as part of the Tulipp project. The result is a development platform consisting of design guidelines, a configurable hardware platform, a real-time operating system that supports multi-core processors, and a programming tool chain. “In addition, a starter kit, which was also developed as part of Tulipp, helps. “With it, such applications can be developed much more quickly and easily. The Tulipp Starter Kit can be used to port C++ programs to FPGA, on which a developer has often worked for several months, within a few weeks,” explains Igor Tchouchenkov, group leader at Fraunhofer IOSB.
In order to develop and test the Tulipp platform, the consortium worked on three concrete application cases: The research team at Fraunhofer IOSB was dedicated to the methods for detecting obstacles in a drone with stereo cameras, while other project partners dealt with pedestrian detection in the vicinity of a car and with the live image enhancement of X-rays from a mobile C-arm during an operation. As part of Tulipp, they have ported corresponding image processing methods from C++ to FPGA.
The procedures, which originally took several seconds on a high-end PC to analyze a single image, now run on the drone in real time, i.e. approximately 30 images per second are analyzed. The speed of pedestrian detection has also been increased by a factor of 100: Instead of one image per seven seconds, the system now creates 14 images per second. And the radiation during X-ray examinations could be reduced to a quarter due to upstream filters and better image evaluation. At the same time, the energy consumption of all three applications could be reduced many times over.
More information: https://www.iosb.fraunhofer.de/servlet/is/12481/