计算机工程与应用 ›› 2019, Vol. 55 ›› Issue (4): 137-141.DOI: 10.3778/j.issn.1002-8331.1803-0233

• 模式识别与人工智能 • 上一篇    下一篇

基于卷积神经网络的嵌入式手势检测算法

王  锟,宋永红,郑  斐,梅魁志   

  1. 西安交通大学 电子与信息工程学院,西安 710049
  • 出版日期:2019-02-15 发布日期:2019-02-19

Embedded Gesture Detection Algorithm Based on Convolutional Neural Network

WANG Kun, SONG Yonghong, ZHENG Fei, MEI Kuizhi   

  1. School of Electronic and Information Engineering, Xi’an Jiaotong University, Xi’an 710049, China
  • Online:2019-02-15 Published:2019-02-19

摘要: 针对嵌入式平台下卷积神经网络运行速度慢,无法快速手势检测的问题,提出一种基于SSD的卷积神经网络的嵌入式手势检测算法,该算法显著提高了手势检测速度,并保持了高精度。首先通过一种预处理方法,对原来的手势数据库进行5倍扩展;然后对SSD算法的基础神经网络层进行卷积因子分解,使用MobileNet神经网络获得了在CPU下的3倍加速;最后通过改变输入图片大小同时改变网络结构,减少了算法的计算复杂度。实验结果表明所提算法在两个数据集上的平均精度均值(Mean Average Precision,mAP)下降2.7%,但是在Qualcomm SnapDragon 820平台下检测一张图片时间可达到0.233 s,检测速度提高40倍以上。

关键词: 嵌入式神经网络加速, 手势检测, 卷积神经网络, SSD

Abstract: Aiming at solving the problems that the convolutional neural network runs slowly and people can not detect fastly gesture under embedded platform, this paper proposes an embedded gesture detection algorithm based on convolution neural network, which significantly improves the speed of gesture detection and maintains high accuracy. Firstly, a new preprocessing method is used to extend the original gesture database by 5 times. Then, the original neural network layer of the Single Shot MultiBox Detector(SSD) algorithm is changed, and a 3 times acceleration under the CPU is obtained by using the MobileNet neural network. Finally, using different sizes of input pictures and changing the network structure at the same time, the amount of calculation of the algorithm is greatly reduced. The experimental results show that the proposed algorithm reduces mean Average Precision(mAP) by 2.7% in two datasets, but under the Qualcomm SnapDragon 820 platform, a picture can be detected to reach 0.233 s and the detection speed is increased by more than 40 times.

Key words: embedded neural network acceleration, gesture detection, convolutional neural network, Single Shot MultiBox Detector(SSD)