中文

LPYOLO:面向 FPGA 人脸检测的低位宽 YOLO

计算机视觉与模式识别 2022-07-22 v1 硬件体系结构 机器学习

摘要

近年来,边缘计算设备及其上的人工智能应用迅猛发展。在边缘计算中,决策过程与计算从服务器迁移至边缘设备。因此,需要廉价且低功耗的设备。FPGA 功耗极低,倾向于并行操作,并且非常适合运行作为人工智能应用基本单元的卷积神经网络(CNN)。监控系统上的人脸检测是安防市场上最受期待的应用。本文重新设计并部署了 TinyYolov3 架构用于人脸检测。它是一种基于 CNN 的目标检测方法,为嵌入式系统而开发。选用 PYNQ-Z2 作为目标板,其载有低端的 Xilinx Zynq 7020 片上系统(SoC)。利用 Brevitas 库以多种位宽精度定义重新设计的 TinyYolov3 模型,该库以整数量化形式提供基础 CNN 层与激活函数。随后,使用 WiderFace 数据集在量化结构下训练该模型。为降低延迟与功耗,将 FPGA 的片上存储器配置为整个网络参数的存储,并将最后的激活函数由 Sigmoid 修改为重缩放的 HardTanh。同时,对 FPGA 的逻辑资源施加了高度并行化。利用 FINN 框架与包含 C++ 层定义的 FINN-HLS 库将模型转换为基于 HLS 的应用。之后对模型进行综合与部署。SoC 的 CPU 采用多线程机制,负责预处理、后处理与 TCP/IP 流式传输操作。最终,4 位精度模型实现了 2.4 瓦的总板功耗、18 帧每秒(FPS)吞吐量与在 WiderFace 的 Easy 类别上 0.757 的 mAP 准确率。

关键词

引用

@article{arxiv.2207.10482,
  title  = {LPYOLO: Low Precision YOLO for Face Detection on FPGA},
  author = {Bestami Günay and Sefa Burak Okcu and Hasan Şakir Bilge},
  journal= {arXiv preprint arXiv:2207.10482},
  year   = {2022}
}

备注

Accepted to MVML2022