Samsung, Qualcomm, ARM, Broadcom, and a bunch of other technology companies want your computer to see.
To that end, they banded together at the Khronos Group to try to standardize some elements of machine vision technology. It’s the kind of thing that could make it easier to write an augmented reality app for a mobile phone or sign-recognition software for an autonomous car, for example, because difficult low-level technology would be taken care of.
Machine vision combines data from image sensors with technology to make sense of what a computer is seeing. A new standard called OpenVX is geared to make it easier for software to tap into some of those machine-vision functions.
The Khronos Group historically has focused on making it easier for programmers to take advantage of hardware acceleration for graphics purposes, and now it’s turned its attention to helping endow computers with something like the brain’s visual cortex.
For example, OpenVX can handle stereo rectification, which is the process of figuring out what parts of the same subject correspond to each other in imagery from dual cameras; image pyramid construction, which makes views at different resolution of an image; and computing optical flow, which is the process of figuring out what in an image is moving and how. Other chores include warping images to correct distortion; edge and corner detection to help recognize objects; and histogram computation to control brightness.
With OpenVX, a library of prewritten, tested software would handle such operations, and programmers would be able to tap into them with a standard interface.
In addition, the standard employs a modular “graph” approach that hands off data from one process “tile” to another. That helps keep data in memory so a computing device doesn’t have to inefficiently transfer it in and out of memory the way it would with more independent computing processes, said Neil Trevett, vice president of mobile content at Nvidia and president of the Khronos Group.
“It is this power and performance efficiency that we believe will enable OpenVX to be used in real-world, production vision systems — even for use cases that need the camera to be on continuously,” he said.
OpenVX is aimed in particular at mobile devices, where power consumption is a key constraint and therefore where computing efficiency is prized.
The specification isn’t done. Khronos announced a provisional release of OpenVX 1.0, with a final release scheduled for mid-2014.