Engineers at FLIR Systems (Wilsonville, OR, USA) have turned to software from The Mathworks (Natick, MA, USA) to help them develop and deploy new algorithms for the company's range of thermal infra-red cameras.
Algorithms running on FPGAs inside thermal infra-red cameras are widely deployed to filter and process images. In the past, however, developing a new algorithm was a lengthy process, because the FLIR hardware engineers had to translate the algorithm developed by their software engineers into a hardware description language (HDL) to configure the functionality of the FPGA, without intimate knowledge of how those algorithms worked.
"Often, the FPGA implementation would not perform like our simulations, and we never knew if there was a problem with the implementation or with the algorithm. Also, because the hardware engineers did not have a deep understanding of the algorithm, they did not know what assumptions were safe to make in optimizing it. If we later made a small enhancement to the algorithm, most of the HDL potentially had to be rewritten," says Nicholas Hogasten, manager of image processing technology at FLIR Systems.
Now, through the adoption of a new methodology for developing FPGA-based thermal imaging algorithms using The Mathworks Matlab's Image Processing Toolbox and HDL Coder, those issues have been resolved.
By using the software tools, Hogasten says that the engineers at FLIR Systems have eliminated the step of translating the initial algorithm to HDL by hand, and the time from concept to field-testable prototype has been reduced by 60 percent.
The software development environment has produced other benefits too. Notably, enhancements to any new algorithms can be completed in hours, not weeks. Furthermore, the reuse of the software has increased from zero to 30 percent as the company has now produced a common repository of algorithms, simple components, and Matlab code that has been verified for HDL code generation.
"Recently, we showed a key customer some simulations of a new thermal imaging filter, the most complex filter we had ever developed. A few months later, we showed them the first working camera with this new filter, generated using HDL Coder, and the camera performed exactly like the Matlab simulations," says Hogasten.
More details on The Mathworks' tools used by the developers at FLIR can be found here.
Over the past year, Vision Systems Design has published a number of articles demonstrating how FPGAs have been used by designers of vision systems. Here are a few that you might find of interest.
Adsys Controls (Irvine, CA, USA) has developed an automated system capable of inspecting abnormalities on medical fibers as small as 1 µm at rates up to 30 m/s.
Engineers at Santec Corp. (Aichi, Japan), have used National Instruments (Austin, TX, USA) LabVIEW FPGA module to prototype the design of a portable optical coherence tomography system.
In developing its license plate recognition software, Irida Labs (Patras, Greece) recognized the need to allow smart camera developers to embed this code directly within the FPGA of the camera.
Researchers at the Catholic University of Leuven (Leuven, Belgium) have developed an FPGA-based system to control selective laser melting (SLM), a process used to fabricate complex parts.
Engineers at 4DSP (Austin, TX, USA) are aiming to help design engineers -- including those developing image processing systems -- to simplify FPGA design.
-- Dave Wilson, Senior Editor, Vision Systems Design