首页 > 专利 > 杭州电子科技大学 > 一种基于PYNQ的智能监控系统及监控方法专利详情

一种基于PYNQ的智能监控系统及监控方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2019-07-22
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2019-11-29
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2022-02-15
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2039-07-22
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201910661356.2 申请日 2019-07-22
公开/公告号 CN110414401B 公开/公告日 2022-02-15
授权日 2022-02-15 预估到期日 2039-07-22
申请年 2019年 公开/公告年 2022年
缴费截止日
分类号 G06V20/40G06V20/52G06V10/762G06V10/764G06V10/82G06K9/62G06N3/04G06N3/08H04N7/18 主分类号 G06V20/40
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 6
权利要求数量 7 非专利引证数量 0
引用专利数量 0 被引证专利数量 0
非专利引证
引用专利 被引证专利
专利权维持 3 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 李一涛、胡有能、岳克强 第一发明人 李一涛
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 3
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州浙科专利事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
吴秉中
摘要
本发明涉及一种基于PYNQ的智能监控系统及监控方法,通过软硬件协同实现目多目标检测分类。主要包括多目标检测模块,进行算法的移植与优化,通用卷积神经网络加速器IP,基于python的API接口。所述PYNQ集成了arm处理器系统和FPGA可编程逻辑,软件部分移植了caffe框架,适用于主流人工智能算法,改进了faster‑RCNN算法移植到PYNQ平台实现目标检测功能。FPGA部分使用卷积神经网络加速IP来进行算法推导部分的计算。基于Python的API提供方便的调用接口。本发明具有图像处理速度快,硬件资源需求少,方便移植与开发的优点。
  • 摘要附图
    一种基于PYNQ的智能监控系统及监控方法
  • 说明书附图:图1
    一种基于PYNQ的智能监控系统及监控方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2022-02-15 授权
2 2019-11-29 实质审查的生效 IPC(主分类): G06K 9/00 专利申请号: 201910661356.2 申请日: 2019.07.22
3 2019-11-05 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种基于PYNQ的智能监控方法,其特征在于:该方法采用的监控系统包括通过USB连接的摄像头和PYNQ处理系统,所述PYNQ处理系统包括arm处理器和FPGA,其特征在于所述PYNQ系统包括多目标检测模块、通用卷积神经网络加速器IP和Python的API接口,所述多目标检测模块移植与优化faster‑RCNN多目标检测算法,优化AlexNet网络的结构做为前馈网络,并对检测结果kmeans聚类;所述faster‑RCNN多目标检测算法包括建议框的提取模块、SVM分类模块、线性回归修正模块、卷积模块、池化模块、全连接层模块;监控方法包括如下步骤:
(1)把训练好的网络权重导入PYNQ的SD卡中,再从SD读取权重到DDR中;
(2)图像采集,控制USB摄像头采集图像,并通过USB接口传输一帧图片到PYNQ上;arm处理器把图像预处理为AlexNet网络的输入格式的特征图写入到DDR中;
(3)调用API配置网络参数,通过AXI_lite控制对应的寄存器,根据每层的网络结构不同,配置核大小、步长、是否补0,以及该层为卷积层还是池化层,是否需要激活函数信息;
(4)启动通用卷积神经网络加速器IP进行计算,FPGA自动通过DMA从DDR按行搬运特征图数据,计算后把结果写回DDR,循环执行每一层,完成卷积和池化层的正向推导计算;
(5)arm处理器干预,检测标志位判断是否完成计算;
(6)根据锚点盒进行建议框的选取,根据建议框裁剪出可能为目标的部分特征图进行ROI池化,再次调用通用卷积神经网络加速器IP进行全连接层的计算,全连接层的实现是转换成长宽为1的卷积计算;
(7)对全连接层计算结果用支持向量机进行分类,用回归模型修正得到目标的边界框坐标,并用kmeans聚类筛选重复识别的目标。

2.根据权利要求1所述的一种基于PYNQ的智能监控方法,其特征在于所述的卷积模块、池化模块、全连接层模块使用FPGA中通用卷积神经网络加速器IP计算。

3.根据权利要求1所述的一种基于PYNQ的智能监控方法,其特征在于所述的Python的API接口包括通用卷积神经网络加速器IP的配置参数、搬运数据、执行计算、获取状态。

4.根据权利要求1所述的一种基于PYNQ的智能监控方法,其特征在于所述的建议框的提取模块、SVM分类模块、线性回归修正模块和kmeans聚类模块在arm处理器中计算。

5.根据权利要求2所述的一种基于PYNQ的智能监控方法,其特征在于所述arm处理器预处理得特征图存储在DDR,按行输入,采用AXI‑lite总线控制,DMA传输图像数据。

6.根据权利要求1所述的一种基于PYNQ的智能监控方法,其特征在于所述的通用卷积神经网络加速器IP包括计算单元,所述计算单元内部采用行列复用、6级流水,所述通用卷积神经网络加速器IP可选择实现卷积、池化、激活函数的功能,可以自定义核的大小、步长、补0。

7.根据权利要求1所述的一种基于PYNQ的智能监控方法,其特征在于所属的建议框可以配置三种面积、三种尺度,共9种形式的建议框。
说明书

技术领域

[0001] 本发明涉及基于嵌入式平台的目标检测技术,具体涉及一种基于PYNQ的智能监控系统及监控方法。

背景技术

[0002] 视频监控是安防行业的一个子行业,2010‑2017年期间,我国视频监控市场规模从242亿元增长到1124亿元,年均复合率达24.53%。随着我国道路交通基础设施的兴建,以及“平安城市”的建设加速,预计到2020年我国视频监控市场规模有望达到1558亿元,到2023年有望突破1900亿元。而智能化将是视频监控未来长期的一个发展方向。因此人工智能将在监控系统中扮演越来越重要的角色。目标检测是计算机视觉和数字图像处理的一个热门方向,也是智能监控系统的核心部分,通过计算机视觉减少对人力资本的消耗,具有重要的现实意义。由于深度学习的广泛运用,目标检测算法得到了较为快速的发展。
[0003] PYNQ开发板,在原有Zynq架构的基础上,添加了对python的支持。使嵌入式编程人员能够在无需设计可编程逻辑电路的情况下即可充分发挥Xilinx  Zynq  All Programmable SoC(APSoC)的功能。PYNQ集成了ARM处理器和FPGA可编程逻辑器件,与常规方式不同的是,通过PYNQ,用户可以使用Python进行APSoC编程,并且代码可直接在PYNQ上进行开发和测试。通过PYNQ,可编程逻辑电路将作为硬件库导入并通过其API进行编程,其方式与导入和编程软件库基本相同。Python作为一种优雅简单的脚本语言,被广泛应用于各个领域,基于Python开发的控制系统将有很高的可移植性。
[0004] 传统的监控系统往往需要人工的干预,比如交通事故、盗窃往往需要时候来回放监控错过了最佳时机,具有很大的延时性,而且往往人力资源成本比较高。只要能自动检测出需要的信息,就能及时给出反馈,而且机器代替人工也能降低成本。

发明内容

[0005] 针对现有技术存在的技术问题,本发明提供了一种基于PYNQ的智能监控系统及监控方法。
[0006] 一种基于PYNQ的智能监控系统,包括通过USB连接的摄像头和PYNQ处理系统,所述PYNQ处理系统包括arm处理器和FPGA,其特征在于所述PYNQ处理系统包括多目标检测模块、通用卷积神经网络加速器IP和Python的API接口,所述多目标检测模块移植与优化faster‑RCNN多目标检测算法,优化AlexNet网络的结构做为前馈网络,并对检测结果kmeans聚类;所述faster‑RCNN多目标检测算法包括建议框的提取模块、SVM分类模块、线性回归修正模块、卷积模块、池化模块、全连接层模块。
[0007] 进一步的,所述的卷积模块、池化模块、全连接层模块使用FPGA中通用卷积神经网络加速器IP计算。
[0008] 进一步的,所述的Python的API接口包括通用卷积神经网络加速器IP的配置参数、搬运数据、执行计算、获取状态。
[0009] 进一步的,所述的建议框的提取模块、SVM分类模块、线性回归修正模块和kmeans聚类模块在arm处理器中计算。
[0010] 进一步的,所述的arm处理器预处理得特征图存储在DDR,按行输入,采用AXI‑lite总线控制,DMA传输图像数据。
[0011] 进一步的,所述的通用卷积神经网络加速器IP包括计算单元,所述计算单元内部采用行列复用、6级流水,所述通用卷积神经网络加速器IP可选择实现卷积、池化、激活函数的功能,可以自定义核的大小、步长、补0。
[0012] 一种基于所述的基于PYNQ的智能监控系统的监控方法,包括如下步骤:
[0013] (1)把训练好的网络权重导入PYNQ的SD卡中,再从SD读取权重到DDR中;
[0014] (2)图像采集,控制USB摄像头采集图像,并通过USB接口传输一帧图片到PYNQ上;arm处理器把图像预处理为AlexNet网络的输入格式的特征图写入到DDR中;
[0015] (3)调用API配置网络参数,通过AXI_lite控制对应的寄存器,根据每层的网络结构不同,配置核大小、步长、是否补0,以及该层为卷积层还是池化层,是否需要激活函数等信息;
[0016] (4)启动通用卷积神经网络加速器IP进行计算,FPGA自动通过DMA从DDR按行搬运特征图数据,计算后把结果写回DDR,循环执行每一层,完成卷积和池化层的正向推导计算;
[0017] (5)arm处理器干预,检测标志位判断是否完成计算;
[0018] (6)根据锚点盒进行建议框的选取,根据建议框裁剪出可能为目标的部分特征图进行ROI池化,再次调用通用卷积神经网络加速器IP进行全连接层的计算,全连接层的实现是转换成长宽为1的卷积计算;
[0019] (7)对全连接层计算结果用支持向量机进行分类,用回归模型修正得到目标的边界框坐标,并用kmeans聚类筛选重复识别的目标。
[0020] 进一步的,所述的建议框可以配置三种面积、三种尺度,共9种形式的建议框。
[0021] 本发明适用于主流人工智能算法,具有图像处理速度快,硬件资源需求少,方便移植与开发的优点。

实施方案

[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] 步骤四,最后得到检测结果多目标的类别和边界框,判断入口区域内,是两个大人,一个小孩,与家庭票信息对应,控制电机开门放行。

附图说明

[0022] 图1为本发明的结构示意图。