Image recognition and GPUs go hand-in-hand, particularly when using deep neural networks (DNNs). The strength of GPU-based DNNs for image recognition has been unequivocally demonstrated by their success over the past few years in the ImageNet Large Scale Visual Recognition Challenge (ILSVRC), and DNNs have recently achieved classification accuracy on par with trained humans, as Figure 1 shows. The new Low-Power Image Recognition Challenge (LPIRC) highlights the importance of image recognition on mobile and embedded devices.
DNNs with convolutional layers are a biologically inspired artificial neural network. These networks may have five or more layers with many neurons in each layer. Links similar to synapses connect the layers, forwarding information to the next layer. The training process adjusts weights on the links, improving the network’s ability to classify the information presented to it. The more data used to train a DNN, the better its classification performance. This big data requirement has resulted in heavy GPU use, because GPUs are designed for high throughput on highly parallel computations like those used in deep learning.
ImageNet is a great resource for imagery, hosting a large database of images organized according to a hierarchy of descriptive nouns. Each year, ImageNet hosts the ILSVRC, for which entrants develop algorithms for accurately recognizing objects in the images. ImageNet provides a large image set of over 1.2 million images from 1000 different object categories for training recognition algorithms. Academic as well as industrial participants have performed strongly, with competitors from Google, Stanford University, University of California, Berkeley, and Adobe (among many others) in recent years.
A Low-Power Challenge
To motivate improved image recognition on low-power devices, Yung-Hsiang Lu, Associate Professor of Electrical and Computer Engineering at Purdue University, and Alex Berg, Assistant Professor of Computer Science at UNC Chapel Hill, are organizing the Low-Power Image Recognition Challenge (LPIRC), a competition focused on identifying the best technology in both image recognition and energy conservation. Registration for the LPIRC is now open.
Achieving high performance while maintaining low power can be challenging, as these two parameters often increase together. Last year NVIDIA released the Jetson TK1 Development Kit, a low-power GPU-accelerated computing platform that is well-suited for image processing and computer vision applications. Jetson TK1’s low power requirements and image processing capabilities will make it a popular platform for LPIRC competitors.
Exemplary tasks for the LPIRC include locating and classifying objects in imagery, including identifying multiple objects. Many ILSVRC teams in the annual ImageNet competition use CNNs, and they are likely to be one of the machine learning architectures deployed for the LPIRC. Visit the LPIRC website for information on important dates and competition tasks.
Free Jetson TK1 Developer Kit for Participating Teams
Jetson TK1 will be a great asset for teams in this competition, with peak power demands of under 12.5 Watts. Jetson TK1 supports CUDA, cuDNN, OpenCV and popular deep learning frameworks like Caffe and Torch. Jetson is essentially a mini-supercomputer that can be used directly with a monitor, keyboard, and mouse or over an ssh connection, and it comes pre-installed with Ubuntu Linux, so getting started is easy.
It is easy to port trained networks to the Jetson TK1 and perform classification. Figure 1 shows my setup. For extra disk space, I added an external hard drive and connected it using the SATA interface. I use a 4-port USB 3.0 hub for direct connection via mouse and keyboard and more hard drives.
I built Caffe on my Jetson TK1 so I can use it for classification. Caffe’s web demo example is a simple and easy way to test it out. The web demo runs a web server on the Jetson TK1, and requires the BVLC reference CaffeNet auxiliary data which includes a pretrained network. Once built and running, access the demo from any device on your local network using the Jetson TK1’s IP address, port 500 (e.g.
192.168.1.5:5000). You can run the web demo with GPU acceleration with the
python examples/web_demo/app.py -g
I used the demo to classify five images with and without GPU acceleration to estimate potential classification speedup with Tegra K1’s GPU vs. its CPU, as shown in the following table.
|Image Classified||GPU (ms)||w/o GPU (ms)||speed-up (x)|
|Ship at sea||1010||5571||5.5|
Register for the Low-Power Image Recognition Challenge Today!
Registration for the LPIRC is now open. The competition will be held on June 7, 2015 at the Design Automation Conference, so get your team together now, and fill out the application for a free NVIDIA Jetson TK1 development board for your team.