摘要

为解决现有卷积模块在实际应用中内存消耗高、计算效率低的问题,在Kronecker CANDECOMP/PARAFAC(KCP)张量分解的基础上,提出一种轻量、高效、瓶颈结构的卷积模块(KCPNet)。对普通卷积作2阶KCP分解,生成的因子张量分别映射为两层负责输入输出通道变化的1×1卷积和两层负责特征提取的变通道可分离卷积,再将这4层卷积组成含有瓶颈结构的KCPNet卷积模块。基于OpenCL并行编程框架将KCPNet部署于嵌入式GPU,并围绕pico-flexx深度相机开发了动态手势识别应用。实验结果表明:在ImageNet大规模标准数据集上,相比ResNet、ResNeXt等已有的张量分解卷积模块,KCPNet在准确率相近的情况下能够兼顾空间和计算复杂度的效率;在中等规模标准数据集CIFAR-10上,KCPNet能够在无明显精度损失的前提下将传统的VGG模型压缩至原先的16.1%并节约75.5%的计算量;在面向嵌入式GPU时,并行部署的KCPNet可使CIFAR-10的识别速度达到100帧/s。以KCPNet为核心开发的手势识别应用程序可达到99.5%的准确率和100帧/s以上的运行速度,内存开销为22 MB。