关键词:
低功耗
人脸检测
硬件加速器
Retina Face算法
模型压缩
摘要:
基于卷积神经网络(Convolutional Neural Networks,CNN)的人脸检测算法可以实现高精度人脸检测,然而边缘设备多采用电池供电,且处理器算力低,功耗一般控制在毫瓦量级以支持较长时间的供电,难以支持CNN庞大的能量消耗和计算需求,因此,人脸检测采用软件实现在边缘设备上变得不可行,设计低功耗硬件加速器具有实际应用价值。本文目标是设计一个支持QVGA(Quarter Video Graphics Array)分辨率的低功耗人脸检测硬件加速器,处理速度达到30FPS(Frames Per Second),功耗小于5m W。本文对基于CNN的人脸检测算法及其硬件加速方法展开了深入研究,针对目前先进的高精度且轻量化的Retina Face人脸检测算法,完成了低功耗硬件加速器的设计。在算法层面,压缩Retina Face算法:将Leaky Re LU激活函数替换为Re LU函数增加了33%的激活稀疏性;融合批量归一化层避免了复杂的浮点计算,减少了中间数据的搬运次数;将训练后的全精度网络量化为8bit精度,后处理定点化为16bit精度,实现了定点网络推理,参数规模和计算复杂度减少了3/4。压缩后的算法在FDDB数据集上的准确率为94.6%,量化损失为2.7%。在硬件层面,使用SCALE-Sim仿真模拟器在基线架构设计上进行了设计空间探索;为标准卷积和深度卷积设计了专用卷积阵列,并以流水线的方式调度,减少了28%的推理时间和45%的全局缓存访问;内存系统设计实现了不同维度的数据复用,将片外访存量由5.5MB减少到418KB,将输入激活的全局缓存访问量从17.6MB减少到1.7MB,极大的减少了片外和片上的访存能耗;激活和权重的高效存储和映射方案,增加了存储空间利用率,降低了带宽需求。本文的人脸检测加速器基于TSMC 22nm工艺综合并完成门级仿真验证。在40MHz主频工作时,每秒可处理47张QVGA分辨率的图像,有效吞吐率为17.4GOPS。考虑金属连线寄生电容的功耗后,加速器功耗为2.81m W,能效为6.19TOPS/W,平均每个像素的处理能耗仅为0.78n J,达到了预期目标。