[0023] 下面结合说明书附图,如图1所示,对本发明的技术方案作进一步说明,具体技术方案如下:
[0024] 本发明提供了一种基于PYNQ开发平台的智能监控系统,包括摄像头和PYNQ处理系统,摄像头和PYNQ处理系统通过USB连接。所述PYNQ处理系统包括arm处理器和FPGA。摄像头采集图像信息,通过USB传输给arm处理器预处理,处理结果再输入FPGA进行正向推导,快速检测多目标,并作出对应的控制。通过软硬件协同模块,提高检测实时性。
[0025] PYNQ在原有Zynq架构的基础上,添加了对python的支持。集成了ARM处理器和FPGA可编程逻辑器件,可编程逻辑电路将作为硬件库导入并通过其API进行编程。方便软硬件协同实施,计算重复度高的正向推导部分放在FPGA中处理,计算复杂度大的部分用软件处理。
[0026] 所述PYNQ处理系统主要包括多目标检测模块、通用卷积神经网络加速IP和基于python的API接口。所述多目标检测模块通过算法的移植与优化进行多目标的检测,首先选用多目标检测算法faster‑RCNN,针对该平台的硬件资源,改进了AlexNet网络的结构做为前馈网络;然后对检测结果进行kmeans聚类,提高准确度。为了便于多目标检测算法faster‑RCNN的实现,移植caffe到PYNQ。
[0027] 所述多目标检测算法faster‑RCNN包括建议框的提取模块、SVM分类模块、线性回归修正模块、卷积模块、池化模块、全连接层模块,所述软硬件协同模块、建议框的提取模块、 SVM分类模块、线性回归修正模块及kmean聚类模块等部分使用arm处理器计算;计算并行度大重复率高的正向推导部分使用FPGA中通用卷积神经网络加速器IP计算。所述通用卷积神经网络加速器IP,采用AXI‑lite总线控制,DMA传输图像数据,可选择实现卷积、池化、激活函数的功能,可以自定义核的大小、步长、补0等,适用于各种卷积神经网络。
[0028] 通用卷积神经网络加速器IP包括计算单元,计算单元内部采用行列复用、6级流水,加速效果好。循环配置和调用通用卷积神经网络加速器IP实现faster‑RCNN中的卷积模块、池化模块、全连接层模块。所述基于Python的API,把通用卷积神经网络加速器IP的配置参数、搬运数据、执行计算、获取状态都封装成了Python的接口,在算法实现过程中方便的嵌入调用,方便调用和移植。
[0029] 一种基于PYNQ的智能监控方法,包括如下步骤:
[0030] 把训练好的网络权重导入PYNQ的SD卡中,再从SD读取权重到DDR中。
[0031] 图像采集,控制USB摄像头采集图像,并通过USB接口传输一帧图片到PYNQ上。arm处理器把图像预处理为AlexNet网络的输入格式,8位三通道224*224像素,写入到DDR中。因为特征图的数据量很大,FPGA中资源比较少,无法存下,因此保存在相对大很多的DDR,之后根据通用卷积神经网络加速器IP按行写入FPGA进行计算。
[0032] 调用API配置网络参数,通过AXI_lite控制对应的寄存器,根据每层的网络结构不同,配置核大小、步长、是否补0,以及该层为卷积层还是池化层,是否需要激活函数等信息,可以方便表示各种网络结构。启动通用卷积神经网络加速器IP进行计算,FPGA端会自动通过DMA从DDR按行搬运特征图数据,计算后把结果写回DDR,期间不需要arm处理器干预,只需要检测标志位判断是否完成计算。循环执行每一层,完成卷积和池化层的正向推导计算。
[0033] 根据锚点盒进行建议框的选取,可以配置三种面积、三种尺度,共9种形式的建议框。根据建议框裁剪出可能为目标的部分特征图进行ROI池化,再次调用通用卷积神经网络加速器IP进行全连接层的计算,全连接层的实现是转换成长宽为1的卷积计算。
[0034] 对全连接层计算结果用支持向量机进行分类,用回归模型修正得到目标的边界框坐标,并用kmeans聚类筛选重复识别的目标,提高准确度。
[0035] 根据识别的结果进行对应的控制。
[0036] 一种基于PYNQ的智能监控系统的游乐园的无人检票系统,用于区分成人票、小孩票、家庭票。
[0037] 步骤一,家长带小孩检票,在入口处提供门票信息,控制摄像头开始采集图像。并通过USB接口传输一帧图片到基于PYNQ的智能监控系统上。Arm处理器对采集到的图像信息做预处理,转换成8位三通道224*224像素的特征图,并写入到DDR中。
[0038] 步骤二,调用API配置每层参数,构建网络。然后启动通用卷积神经网络加速器IP开始计算前馈网络,FPGA通过DMA自动按行搬运特征图数据,计算出结果写回DDR中。当计算完毕会改变标志位,通知arm处理器。
[0039] 步骤三,根据锚点盒进行建议框的选取,在计算结果中裁剪出可能为目标的部分特征图进行ROI池化,再次调用通用卷积神经网络加速器IP进行全连接层的计算。对全连接层计算结果用支持向量机进行分类,用回归模型修正得到目标的边界框坐标,并用kmeans聚类筛选重复识别的目标。
[0040] 步骤四,最后得到检测结果多目标的类别和边界框,判断入口区域内,是两个大人,一个小孩,与家庭票信息对应,控制电机开门放行。