FPGA-enabled binarised convolutional neural networks toward real-time embedded object recognition system

In this presentation, we report the results of applying a binarised Convolutional Neural Network (CNN) and a Field Programmable Gate Array (FPGA) for image-based object recognition. While the demand rises for robots with robust object recognition implemented with Neural Networks, a trade-off between...

Full description

Bibliographic Details
Main Authors: Shuto, Daisuke, Abbas, Z., Sulaiman, N., Tamukoh, H.
Format: Conference or Workshop Item
Language:English
Published: 2017
Online Access:http://psasir.upm.edu.my/id/eprint/64363/1/E%26NT%20poster%20121117%201.pdf
Description
Summary:In this presentation, we report the results of applying a binarised Convolutional Neural Network (CNN) and a Field Programmable Gate Array (FPGA) for image-based object recognition. While the demand rises for robots with robust object recognition implemented with Neural Networks, a trade-off between data processing rate and power consumption persists. Some applications utilise GPGPU (General Purpose computing on Graphics Processing Units), which results in high power consumption thus undesirable for embedded systems, while the others communicate with cloud computers to minimise computational resources at the clients’ side, i.e. robots, raising another concern that the robots are unable to perform object recognition without the servers and network connections. To overcome these difficulties, we propose an embedded object recognition system implemented with a binarised CNN and an FPGA. FPGAs consist of a matrix of reconfigurable logic gates allowing parallel computing which befits most image processing algorithms such as the CNN. We train the binarised CNN on one of our datasets that contain images of several kinds of food and beverages. The results of the experiments show that the binarised CNN with an FPGA maintains high accuracy as well as real-time computation, suggesting that the proposed system is suitable for robots to perform their tasks in a real-world environment without needing to communicate with a server.