关键词:
目标检测
卷积神经网络
硬件加速
专用集成电路
嵌入式系统
摘要:
目标检测任务的主要目的在于识别图像中的若干个特定目标,并确定其位置及类别,而在现有的各种目标检测方法中,CNN因其强大的图像特征提取能力,已经得到了广泛的研究与应用。现如今,基于MCU嵌入式主控的物联网技术,作为新一代信息化浪潮,已经催生了智慧城市、智能制造、自动化零售等诸多应用领域。基于MCU快速增长的数量和市场,加之其小型化、低功耗、低成本的特点,给目标检测任务的进一步发展提供了新的机遇。然而,基于CNN的目标检测模型需要在GPU上进行训练,其计算能力和存储容量往往比MCU大5~6个数量级。因可用的硬件资源与实际需求之间的巨大差距,加之严格的功耗限制,在嵌入式端有效实现基于CNN目标检测任务还存在明显挑战。基于此,本文从算法、硬件和系统三个方面展开研究,通过提出微型目标检测模型、低功耗推理加速芯片、以及低功耗嵌入式系统的多层次联合解决方案,构建出了具备低功耗和高处理效率的智能目标检测系统,具体而言:
基于微型模型主干EtinyNet,本文通过设计目标检测网络分支,搭建完成了适用于嵌入式场景的微型目标检测模型Etiny Net-Det。为完成对模型的高能效计算,本文针对其中各算子的计算特点研究设计了矩阵乘累加阵列、滑窗卷积单元、BN和Re LU单元等专用的可配置神经计算加速电路,在保证一定通用性的同时提高了推理效率。通过设计无外存计算模式,本文将加速器的片外数据传输过程限制到了最少的图像输入和结果输出,降低了数据传输功耗和整体处理延迟,以进一步提高模型推理能效。为拓宽加速器的应用场景,本文为其设计SDIO和SPI两种通信从机接口,实现了与MCU主机的互联,两种接口可分别提供高达500Mbps和100Mbps的通信带宽,满足实时推理的需要。在加速器的总体架构设计方面,本文研究了对网络模型的逐层硬件编码,以及相应的解码和计算调度模块,实现了对加速器中各个神经计算单元的配置与调用。然后通过对数据存储模块及模块互联的配合设计,实现了加速器中各模块的高效协同工作,从而进行模型层面的推理加速。在完成设计工作后,本文选用TSMC65nm LP工艺对加速器进行了ASIC实现,并通过重点研究其中的逻辑综合与功能验证流程,来进行对加速器芯片性能指标的确定与功能完备性的验证。本文对加速器进行了成功流片,经实际测试,芯片可在仅45m W的典型功耗下进行对Etiny Net模型的推理加速,处理效率为734.6 Frames/s/m J,比现有类似的加速器芯片高出至少48倍,达到了低功耗模型推理加速的设计目标。
进一步,本文将加速器芯片应用到了对目标检测嵌入式系统的构建中,通过将加速器芯片作为神经网络协处理器,设计了与MCU主控协同的系统工作模式,以提高处理效率。本文选用STM32H743 MCU作为系统主控,设计实现了以MCU和加速器芯片为核心的板级互联电路,完成了对包括摄像头、显示屏等输入输出设备的控制与数据传输。在系统硬件设计的基础上,本文先后完成了对底层外设驱动、模型编码与解析以及数据前处理与后处理的软件设计。并通过研究设计模型编译与存储、系统初始化与模型解析、目标检测数据流的系统工作流程,实现了对Etiny Net-Det模型的高效部署。实验数据表明,本系统可完成30FPS的实时目标检测,且功耗仅207m W,系统处理效率为4.35 Frames/s/m J,比其他基于MCU的目标检测系统高出至少27倍,实现了具备低功耗与高处理效率的智能目标检测的目标。