论文题名: | 基于FPGA的智慧城市交通系统设计 |
关键词: | 深度学习;目标检测;交通系统;智慧城市 |
摘要: | 智慧城市交通系统中,车流量是其中重要的基础信息之一。如何准确快速地检测车流量并将其应用于嵌入式硬件平台是智慧城市交通系统的重要研究内容。近年来,基于卷积神经网络(ConvolutionalNeuralNetworks,CNN)的目标检测算法由于其精度优于传统方案而在许多应用领域中占据主导地位。然而,随着卷积神经网络的识别精度不断提升,其运算复杂度也随之不断增加,这使得理论算法的硬件实现受到诸多限制。 目前,CNN大多部署在中央处理器(CentralProcessingUnit,CPU)和图形处理单元(GraphicsProcessingUnit,GPU)上。然而CPU主要由存储单元和控制单元组成,并不适合用来加速深度学习模型。GPU运算速度快,但是能耗高,难以将其应用于便携式设备。专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)可以根据需求设计出符合要求的集成电路,但是却有复杂的设计周期、高昂的初始投资且缺乏可重构性。而现场可编程门阵列(FieldProgrammableGateArray,FPGA)可重构,高性能,低功耗的特性兼顾了GPU和ASIC的优点。鉴于此,本文使用FPGA搭建CNN硬件加速平台,对YOLOV2(YouOnlyLookOnceVersion2)算法进行加速与优化,从而实现嵌入式硬件平台检测车流量,本文的主要工作内容如下: (1)优化YOLOV2网络模型。首先,将YOLOV2网络模型量化为半精度浮点数格式,减少其对存储空间的需求。经过量化,模型大小缩减为原来的一半。其次,融合卷积层与BN层(BatchNormalization),在不降低精度的情况下提升网络的推理速度。最后,使用Confluence算法作为后处理算法,引入曼哈顿距离简化获得同一目标下所有检测框的过程,降低后处理算法的复杂度。通过实验对比,优化后的YOLOV2网络模型的推理速度提升了0.39s。 (2)利用FPGA的并行计算特性设计硬件加速器。本文采用自顶而下的方法将YOLOV2各个网络层模块化,提出一种半精度浮点数基本运算方法用于搭建卷积层、池化层等网络层,并自下而上的集成化构建YOLOV2网络模型。由于FPGA的片上存储空间无法容纳整层的所有参数且没有足够的逻辑资源完成所有运算,本文基于FPGA的硬件架构研究了卷积的循环展开与循环分块,提出一种基于乒乓缓冲的流水线操作,将输入数据选择单元和输出数据选择单元按节拍相互配合实现高速数据流。 (3)基于XC7Z020芯片,设计用于YOLOV2硬件加速的电路板搭建车流量检测系统,旨在实现对道路上的车流量进行检测。该系统包括:USB摄像头,用于获取道路的实时图像;OTG接口,用于电路板供电;SD卡,存放启动镜像以及检测结果;网口,远程登录主控芯片XC7Z020内部PS端运行的Linux系统和传输摄像头画面;主控芯片XC7Z020,用于YOLOV2算法的硬件加速,以此芯片为核心搭建外围电路,完成系统的设计。最后对不同设备下的实验结果进行对比测试,实验结果表明,本文提出的车流量检测系统检测单帧图像耗时2.01秒,快于CPU的单帧图像检测时间且功耗远低于GPU,可以很好地实现系统功能。 |
作者: | 曹海涛 |
专业: | 电气工程 |
导师: | 朱金荣;王茂祥 |
授予学位: | 硕士 |
授予学位单位: | 扬州大学 |
学位年度: | 2023 |