Real-time object recognition is a pretty mundane task for us humans, but for computers it requires enormous amounts of processing power, necessitating a whole room full of servers. And that’s too bad, since some of the most useful applications for object recognition would be naturally found on mobile and hand-held platforms, where computational performance and power tend to be rather limited.
But a small group of researchers have come up with what looks like an enticing solution. Out of Yale University comes a report that researchers there have developed a “supercomputer” able to do real-time object recognition. The system, called NueFlow, is implemented as neural network mapped onto an FGPA, and can easily fit on the top of a desk, in a car, and perhaps eventually even in a cell phone. The work was presented on September 15 at the High Performance Embedded Computing (HPEC) workshop in Boston, Mass.
The head researcher on the project, Eugenio Culurciello of Yale’s School of Engineering & Applied Science, said NueFlow works by simulating the mammalian visual system, mimicking the biological neural network that is hardwired into our brains. The system built by Culurciello and his colleagues uses vision algorthims, based on convolutional neural networks (ConvNets), mapped onto a Xilinx Virtex FPGA. The latest prototype uses a 200 MHz Virtex 6 processor.
A more detailed description of the NueFlow system architecture is found here, where it describes the rationale for the FPGA implementation.
.Why is custom hardware so important? Because it can significantly speed up the execution of ConvNets and allow larger networks to come into life, with more object discrimination capabilities, larger invariance to size and position, and wider input images and filter banks.
Calling this a supercomputer is a bit over the top, inasmuch as the system delivers a modest 100 gigaops or so of compute. The magic here appears to be in mapping the vision algorithms onto FPGA hardware and getting the attendent performance boost. According to the researchers, the implementation is 60 times faster than that of an Intel i7 CPU running the equivalent software and even 2 times faster than that of a high-end (512-core) NVIDIA GPU. Power-wise the comparison is even more favorable to the NueFlow implementation since the power draw was just 7 watts for the FPGA, versus 35 watts for the CPU and 300 watts for the GPU.
“The complete system is going to be no bigger than a wallet, so it could easily be embedded in cars and other places,” said Culurciello in the Yale press announcement.
In fact, one application the researchers are focusing on is autonomous car navigation, where real-time object recognition is something you literally can’t live without. This would certainly shake up our whole approach to automotive transportation. (For example, what would a car insurance policy look like?) Speaking of which, I’m guessing such a system would be required to perform even better than a human. Nobody would put up with a computer-driven car that worked 99 percent of the time and ran over people and property the other 1 percent of the time.
Beyond the car driving scenario, synthetic vision has numerous other applications, such as robot navigation into dangerous or difficult-to-reach locations, combat operations where soldiers could get a 360-degree view of their surroundings, and in assisted living situations to provide a 24/7 monitoring.