Researchers at MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL; Cambridge, MA, USA) aim to make writing image-processing algorithms easier with a new programming language called Halide.
The researchers claim that Halide programs are easier to read, write and revise than image-processing programs written in a conventional language. And because Halide automates code-optimization procedures that would ordinarily take hours to perform by hand, they are also significantly faster.
In tests, the MIT researchers used Halide to rewrite several common image-processing algorithms whose performance had already been optimized by seasoned programmers. The Halide versions were typically about one-third as long but offered significant performance gains -- two-, three-, or even six-fold speedups. In one instance, the Halide program was actually longer than the original -- but the speedup was 70-fold.
Jonathan Ragan-Kelley, a graduate student in the Department of Electrical Engineering and Computer Science (EECS), and Andrew Adams, a CSAIL postdoc, led the development of Halide, and they will shortly release the code online here. In the meantime, readers can discover more about the Halide programming language in a technical article here.
Interested in software? Here are some recent articles on the subject from Vision Systems Design that you might also find of interest.
An associate professor from Lund University (Lund, Sweden) who is currently working and living in San Francisco has written a new book that highlights how to program computer vision systems using the Python programming language from the Python Software Foundation.
Datalogic (Bologna, Italy) and System (Fiorano Modenese, Italy) have partnered with the University of Bologna (Bologna, Italy) and the T3LAB Consortium (Bologna, Italy) to produce a benchmark to evaluate the capabilities of commercial machine-vision software libraries as part of the VIALAB research project.
In an effort to make it easier for programmers to take advantage of such parallel processing hardware, Nvidia, Cray, the Portland Group (PGI), and CAPS enterprise have developed a new parallel-programming standard known as OpenACC.
The MathWorks (Natick, MA, USA) Image Processing Toolbox provides developers with a number of functions for tasks such as image enhancement, image deblurring, feature detection, noise reduction, image segmentation, spatial transformations, and image compression.
-- Dave Wilson, Senior Editor, Vision Systems Design