CN112733739A - 提升禁区场景下行人识别速度的方法、系统、介质及装置 - Google Patents
提升禁区场景下行人识别速度的方法、系统、介质及装置 Download PDFInfo
- Publication number
- CN112733739A CN112733739A CN202110046404.4A CN202110046404A CN112733739A CN 112733739 A CN112733739 A CN 112733739A CN 202110046404 A CN202110046404 A CN 202110046404A CN 112733739 A CN112733739 A CN 112733739A
- Authority
- CN
- China
- Prior art keywords
- channels
- picture
- model
- channel
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000012549 training Methods 0.000 claims abstract description 116
- 238000013138 pruning Methods 0.000 claims abstract description 73
- 238000012545 processing Methods 0.000 claims description 21
- 238000009966 trimming Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000014759 maintenance of location Effects 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 10
- 230000000153 supplemental effect Effects 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000002513 implantation Methods 0.000 claims description 4
- 230000008439 repair process Effects 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 244000141353 Prunus domestica Species 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Human Computer Interaction (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明属于目标识别技术领域,具体提供一种提升禁区场景下行人识别速度的方法、系统、介质及装置。本发明旨在解决现有的嵌入式端的芯片在面对规模较大的CNN模型时,其算力很难满足应用的实时性需求的问题。为此目的,本发明将YOLO模型的识别类减少到识别m类,最后一层通道数修改为(m+5)×3层;将禁区场景下带有行人的图片的初始训练集放入YOLO模型中进行第一次训练;对第一次训练完成的YOLO模型进行稀疏化训练和规整通道剪枝,以使刨去最后一层的其它层的通道数均为2n,得到修正后的YOLO模型;使用DNNDK推理框架生成YOLO模型的代码;将代码输入带有FPGA芯片的识别设备中运行,以提升识别设备在禁区场景下的行人识别速度。
Description
技术领域
本发明属于目标识别技术领域,具体提供一种提升禁区场景下行人识别速度的方法、系统、介质及装置。
背景技术
禁区安防中很重要的一点是目标入侵检测,目标可以是行人或者动物等,禁区可以是铁路、高压区、动物保护区等,下面禁区以铁路为例,目标以行人为例进行描述。目前基于卷积神经网络(CNN)的行人检测算法是较热门的研究方向,随着网络层数的不断加深,算法精度获得大幅提升的同时也引入了巨大的计算量。而行人检测应用通常直接部署于嵌入式端,嵌入式端的芯片在面对规模较大的CNN模型时,其算力很难满足应用的实时性需求。
相应的,本领域需要一种新的提升禁区场景下行人识别速度的方法、系统及装置来解决现有的嵌入式端的芯片在面对规模较大的CNN模型时,其算力很难满足应用的实时性需求的问题。
发明内容
为了解决现有技术中的上述问题,即为了解决现有的嵌入式端的芯片在面对规模较大的CNN模型时,其算力很难满足应用的实时性需求的问题,本发明提供了一种提升禁区场景下行人识别速度的方法,包括:
将禁区场景下带有行人的图片的初始训练集放入YOLO模型中进行第一次训练;
对第一次训练完成的YOLO模型进行稀疏化训练和规整通道剪枝,以使刨去最后一层的其它层的通道数均为2n,得到修正后的YOLO模型;
使用DNNDK推理框架对YOLO模型进行格式转换,生成YOLO模型的代码;
将代码输入带有FPGA芯片的识别设备中运行,以提升识别设备在禁区场景下的行人识别速度。
其中,n为大于等于4的自然数。
在上述方法的优选技术方案中,“对第一次训练完成的YOLO模型进行稀疏化训练和规整通道剪枝,以使刨去最后一层的其它层的通道数均为2n,得到修正后的YOLO模型”的步骤之后,所述方法还包括:
使用补充微调训练集对所述修正后的YOLO模型进行模型精度的修复;
其中,所述补充微调训练集与所述初始训练集当中包括的图片无重复。
在上述方法的优选技术方案中,所述初始训练集和/或所述补充微调训练集内使用的图片为大于608×608个像素点的原始图片,当所述图片为1920×1080像素点时,所述原始图片在训练和/或精度修复时被拆分成的左右两个1000×1080像素点的图片,两张图片的长度方向具有80像素点的重叠。
在上述方法的优选技术方案中,“将代码输入带有FPGA芯片的识别设备中运行,以提升识别设备在禁区场景下的行人识别速度”的步骤之后,所述方法还包括:
将FPGA芯片的线程分成三部分,第一部分线程放置输入缓冲图片队列,第二部分线程放置所述YOLO模型的代码,第三部分线程放置输出缓冲图片队列;
获取1920×1080的待识别图片;
将待识别图片按照顺序同时复制进入所述输入缓冲图片队列和所述输出缓冲图片队列;
将所述输入缓冲图片队列的待识别图片按照顺序输入所述第二部分线程;
将所述待识别图片拆分成左右两个1000×1080的图片,两张图片的长度方向具有80的重叠;
将拆分的两张图片分别输入所述带有FPGA芯片的识别设备进行处理,得到左图的ROI坐标和右图的ROI坐标;
将所述左图的ROI坐标和所述右图的ROI坐标进行合并后获得所述待识别图片的ROI坐标;
将所述待识别图片的ROI坐标输入至所述输出缓冲图片队列,并且与其相对应的图片结合;
将带有ROI坐标的待识别图片进行显示;
并且/或者,
“将禁区场景下带有行人的图片的初始训练集放入YOLO模型中进行第一次训练”的步骤之前,所述方法还包括:
将通用目标检测网络YOLO模型由原始的识别80类减少到识别m类,相应地最后一层通道数由(80+5)×3=255层修改为(m+5)×3层,以得到第一次训练所使用的YOLO模型;
其中,m为大于0且小于80的自然数。
在上述方法的优选技术方案中,所述稀疏化训练具体包括:
YOLO模型中的BN层公式为:
其中,Zin和Zout是BN层的输入值与输出值,uB和σB是最小批Zin上特征的均值和标准差(下角标的B代表送入训练的最小批),是过渡变量值,γ是可训练的放缩系数,β为可训练的偏移值,ε为一个防止分母为零的极小值,常取0.0000001;
对第一次训练完成的YOLO模型进行稀疏化训练具体为:对BN层自带的缩放系数γ进行正则化项,正则化的公式如下:
规整通道剪枝的方法具体包括:
对刨去最后一层的其它待剪枝的层进行标号;
对所有待剪枝的层的所有通道对应的γ系数进行从大到小的排序;
设定所有通道的剪枝的比例M,并获得全局剪枝的阈值γ阈值;
设定每层的通道数量的剪枝保留比例A;
根据γ的数值设置通道掩码,当一个通道的γ系数<γ阈值时,通道修剪置0,否则通道保留置1;
在一层当中,如果通道保留置1的通道数≥通道总数×A,则正常修剪,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;
在一层当中,如果通道保留置1的通道数<通道总数×A,则调整通道保留置1的通道数,直至通道保留置1的通道数≥通道总数×A,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;
更新通道的掩码,并依据掩码修剪相应的通道;
其中,1-M≥A。
在上述方法的优选技术方案中,所述禁区场景是铁道场景;并且/或者,所述YOLO模型为YOLOv3模型。
本发明还提供了一种提升目标识别速度的系统,包括:
初始训练模块:用于将禁区场景下带有行人的图片的初始训练集放入YOLO模型中进行第一次训练;
模型稀疏与剪枝模块:用于对第一次训练完成的YOLO模型进行稀疏化训练和规整通道剪枝,以使刨去最后一层的其它层的通道数均为2n,得到修正后的YOLO模型;
模型转化模块:使用DNNDK推理框架对YOLO模型进行格式转换,生成YOLO模型的代码;
模型植入模块:用于将代码输入带有FPGA芯片的识别设备中运行,以提升识别设备在禁区场景下的行人识别速度;
其中,n为大于等于4的自然数。
在上述系统的优选技术方案中,模型稀疏与剪枝模块之后,所述系统还包括:
修复训练模块:用于使用补充微调训练集对所述修正后的YOLO模型进行模型精度的修复;
其中,所述补充微调训练集与所述初始训练集当中包括的图片无重复。
在上述系统的优选技术方案中,在模型植入模块之后,所述系统还包括:
线程分布模块:用于将FPGA芯片的线程分成三部分,第一部分线程放置输入缓冲图片队列,第二部分线程放置所述YOLO模型的代码,第三部分线程放置输出缓冲图片队列;
图片采集模块:用于获取1920×1080的待识别图片;
图片复制模块:用于将待识别图片按照顺序同时复制进入所述输入缓冲图片队列和所述输出缓冲图片队列;
图片输入模块:用于将所述输入缓冲图片队列的待识别图片按照顺序输入所述第二部分线程;
图片拆分模块:用于将所述待识别图片拆分成左右两个1000×1080的图片,两张图片的长度方向具有80的重叠;
图片ROI坐标计算模块:用于将拆分的两张图片分别输入所述带有FPGA芯片的识别设备进行处理,得到左图的ROI坐标和右图的ROI坐标;
图片ROI坐标合并模块:用于将所述左图的ROI坐标和所述右图的ROI坐标进行合并后获得所述待识别图片的ROI坐标;
图片ROI坐标与图片结合模块:用于将所述待识别图片的ROI坐标输入至所述输出缓冲图片队列,并且与其相对应的图片结合;
图片显示模块:用于将带有ROI坐标的待识别图片进行显示;
并且/或者,
在所述初始训练模块之前,所述系统还包括:
类别降低模块:用于将通用目标检测网络YOLO模型由原始的识别80类减少到识别m类,相应地最后一层通道数由(80+5)×3=255层修改为(m+5)×3层,以得到第一次训练所使用的YOLO模型;
其中,m为大于0且小于80的自然数。
在上述系统的优选技术方案中,模型稀疏与剪枝模块具体包括:
模型稀疏模块:用于稀疏化训练,稀疏化训练具体包括:
YOLO模型中的BN层公式为:
其中,Zin和Zout是BN层的输入值与输出值,uB和σB是最小批Zin上特征的均值和标准差(下角标的B代表送入训练的最小批),是过渡变量值,γ是可训练的放缩系数,β为可训练的偏移值,ε为一个防止分母为零的极小值,常取0.0000001;
对第一次训练完成的YOLO模型进行稀疏化训练具体为:对BN层自带的缩放系数γ进行正则化项,正则化的公式如下:
模型剪枝模块:用于规整通道剪枝,对规整通道剪枝的系统具体包括:
待剪枝层标号模块:用于对刨去最后一层的其它待剪枝的层进行标号;
γ系数排序模块:用于对所有待剪枝的层的所有通道对应的γ系数进行从大到小的排序;
全局剪枝比例设定模块:用于设定所有通道的剪枝的比例M,并获得全局剪枝的阈值γ阈值;
每层剪枝保留比例设定模块:用于设定每层的通道数量的剪枝保留比例A;
每层剪枝掩码设定模块:用于根据γ的数值设置通道掩码,当一个通道的γ系数<γ阈值时,通道修剪置0,否则通道保留置1;
在一层当中,如果通道保留置1的通道数≥通道总数×A,则正常修剪,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;
在一层当中,如果通道保留置1的通道数<通道总数×A,则调整通道保留置1的通道数,直至通道保留置1的通道数≥通道总数×A,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;
修剪模块:用于更新通道的掩码,并依据掩码修剪相应的通道;
其中,1-M≥A。
本发明还提供了一种计算机可读存储介质,所述存储介质中存储有多条程序代码,所述程序代码适用于由处理器加载并运行以执行上述任一项的提升禁区场景下行人识别速度的方法。
本发明还提供了一种终端装置,该控制装置包括处理器和存储器,所述存储器适用于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行上述任一项的提升禁区场景下行人识别速度的方法。
本领域人员能够理解的是,在本发明的技术方案中,提升禁区场景下行人识别速度的方法包括:将通用目标检测网络YOLO模型由原始的识别80类减少到识别m类,相应地最后一层通道数由(80+5)×3=255层修改为(m+5)×3层;将禁区场景下带有行人的图片的初始训练集放入YOLO模型中进行第一次训练;对第一次训练完成的YOLO模型进行稀疏化训练和规整通道剪枝,以使刨去最后一层的其它层的通道数均为2n,得到修正后的YOLO模型;使用DNNDK推理框架对YOLO模型进行格式转换,生成YOLO模型的代码;将代码输入带有FPGA芯片的识别设备中运行,以提升识别设备在禁区场景下的行人识别速度。其中,n为大于等于4的自然数,m为大于0且小于80的自然数。
通过上述设置方式,本发明首先将YOLO模型从80类减小到了m类,初步缩减了YOLO模型的大小,降低了对终端的存储的需求。然后由于最终将使用带有FPGA(FieldProgrammable Gate Array,现场可编程门阵列)芯片的处理设备进行最终执行,而FPGA芯片有一个特性,即其最小通道并行数为2n,如果送入芯片内的模型某些层不满足最小通道并行数的条件时,系统会自动使用0值补充通道数,而自动补充的0是没有意义的,将浪费芯片的算力,因此,发明人创造性地将YOLO模型通过规整通道剪枝的方案,直接输出的刨去最后一层的其它层的通道数均为2n,这样剪枝后的YOLO模型再通过DNNDK(Deep NeuralNetwork Development Kit,一个面向AI异构计算平台自主研发的原创深度学习的软件开发工具包)推理框架转换格式后,输入到FPGA芯片内将使芯片的算力达到最大化,从而能够更快速地处理数据,提升禁区场景下行人的识别速度,降低对于终端的性能需求。
附图说明
下面参照附图来描述本发明的提升禁区场景下行人识别速度的方法、系统、介质及装置。附图中:
图1为本发明的提升禁区场景下行人识别速度的方法的整体流程图;
图2为图1中步骤S03当中的规整通道剪枝的流程图;
图3为本发明的当类别m为一类时的YOLO模型图;
图4为本发明的训练集和补充微调训练集的分类信息表格;
图5为本发明的剪枝策略的调整图;
图6为本发明的系统内FPGA芯片单线程的各步骤执行时间对比图;
图7为当FPGA芯片为六线程时的分布方式以及图片的处理过程图;
图8为图7中输入缓冲队列和输出缓冲队列的示意图;
图9为多线程调度的核心代码设计;
图10为本发明的系统的实物测试图;
图11为本发明的系统的模块组成图;
图12为图11中的模型稀疏与剪枝模块的组成图。
具体实施方式
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。本领域技术人员可以根据需要对其作出调整,以便适应具体的应用场合。例如,尽管说明书中是以YOLO模型为YOLOv3模型为例进行描述的,但是,本发明显然可以采用其他的版本的YOLO模型,只要能进行行人识别即可。
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“A和/或B”表示所有可能的A与B的组合,比如只是A、只是B或者A和B。术语“至少一个A或B”或者“A和B中的至少一个”含义与“A和/或B”类似,可以包括只是A、只是B或者A和B。单数形式的术语“一个”、“这个”也可以包含复数形式。
参照图1至图10,对本发明的提升禁区场景下行人识别速度的方法的一种具体实施方式进行描述。
如图1所示,为解决现有的嵌入式端的芯片在面对规模较大的CNN模型时,其算力很难满足应用的实时性需求的问题,本发明的提升禁区场景下行人识别速度的方法包括:
S01、将通用目标检测网络YOLO模型由原始的识别80类减少到识别m类,相应地最后一层通道数由(80+5)×3=255层修改为(m+5)×3层。
通用的YOLO模型属于一种常见的图片目标识别模型,下面以YOLOv3模型为例进行说明,当然其它版本的YOLO模型也可实现本发明,不再赘述。常规的YOLOv3模型的最后一层的通道数为255,可以识别80个类别的目标,以铁路安防下的禁止行人进入为例进行说明,为了提升算力,可以将m直接规定为1,也即只针对行人这一类进行辨别。当然,类别是可以在不同场景下实际调整的,哪怕是针对铁路而言,也可以增加其它类别进行识别,但是由于芯片的处理能力有限,需要选择合适的数值进行。当类别m为1时,则可以将通用YOLO模型的最后一层直接修剪到18层即可实现功能,大大降低YOLO模型的计算量以及整体模型大小,初步限制后的YOLO模型图参照图3。其中,m为大于0且小于80的自然数。
S02、将禁区场景下带有行人的图片的初始训练集放入YOLO模型中进行第一次训练。
为了实现YOLO模型能够针对铁道场景下的行人进行准确地训练,尝试将初始训练集送入上述修剪后的YOLO模型进行训练,初始训练集的图像数如图4所示,可以是2956个图象数,行人数量为10599个,图像尺寸为1920×1080。在此需要说明发明人对于现有技术的贡献点还在于,发明人特别地将初始训练集(图4中的第一行)和后续出现的补充微调训练集(图4中的第三行)内使用的1920×1080的原始图片在训练和/或精度修复时拆分成的左右两个1000×1080的图片,两张图片的长度方向具有80个像素的重叠。其目的在于,YOLOv3模型当中所输入的图片格式为608×608的方形图片,因此常规图片在输入过程中需要进行等比例缩放,若以1920×1080的常规尺寸直接输入进去的话,长度方向缩放比例为608÷1920=0.317,相应的高度方向的尺寸为0.317×1080=342,首先来说,这个比例将使得原始图片被严重压缩,将导致图片不清晰,最终导致识别不准确。并且,由于高度方向342与输入尺寸608相差极多,模型会以常数值将YOLOv3模型填补常数值至608,这也造成了一定的算力浪费。而发明人的技术方案当中,通过将图片拆分成左右两张1000×1080的图片,并预留了80个像素的重叠,在分别输入模型的时候,由于高度尺寸较大,等比例缩放的比例为608÷1080=0.563,大大提升了缩放比例,使图像能够尽可能保全,使识别准确度提升。并且,长度方向缩放后的尺寸为1000×0.563=563,相较于608较近,填充的常数值较少,算力使用能力得到了较大的提升。除此之外,发明人特地设定了两张图片的80个像素的重叠,则避免了被截开的部分有目标而无法识别的情况发生,但是,如果直接将左右两张图的长度由1920÷2=960直接提升到1080,即预留240个像素的重叠,又重复识别的尺寸太大,造成了算力的重复,不预留像素重叠又容易丢失目标,因此,发明人经实际多数据的实验与研究组合,最终选择了80个像素的折叠,既降低了重复计算,又发挥出了芯片的最大算力。
S03、对第一次训练完成的YOLO模型进行稀疏化训练和规整通道剪枝,以使刨去最后一层的其它层的通道数均为2n,得到修正后的YOLO模型。
FPGA芯片最小通道并行数为2n,并且n≥4,如果送入芯片内的模型某些层不满足最小通道并行数的条件时,将会使用0值补充通道,造成算力的浪费。当对YOLO模型进行剪枝时,剪枝越多,模型准确度将会下降,但相应的模型整体将会减小,通常现有技术当中并不会针对剪枝数量进行严格的控制,只需要使准确度和模型大小保持一个平衡,即可实现YOLO模型的剪枝。然而,发明人特别选区带有FPGA芯片的识别设备进行YOLO模型的计算,例如zcu104异构设备,并根据FPGA本身的通道数,将剪枝的数量在模型准确度、模型大小的基础上,新增了一个严格的限制,规整了通道剪枝的模型,使其与FPGA芯片的通道数相匹配,更好地发挥其算力,为后续植入设备后两者的匹配使用,减少算力的浪费奠定了基础,通过稀疏化训练和规整通道剪枝获得修正后YOLOv3模型。
S04、使用补充微调训练集对所述修正后的YOLO模型进行模型精度的修复,其中,所述补充微调训练集与所述初始训练集当中包括的图片无重复,其获取方式与初始训练集相同。
由于对训练后的YOLO模型进行了剪枝操作,将会降低YOLO模型的识别准确度,为了进一步弥补,本领域技术人员通常会将YOLO模型再次使用初始训练集进行多次训练,以使其能恢复部分精度。但是,发明人创造性的使用了完全图片不重复的训练集进行试验,发现其效果显著,如图4所示,补充微调训练集的图像数量仅用了1000,便比直接使用初始训练集的3000张重新训练的效果好上许多,最终获得的YOLOv3模型的准确度不但相较于最初没有下降,反而提升了一截。并且,在补充微调训练集当中,发明人还补充了一些场景的数据,使模型针对各种场景,例如铁道+校园的场景更加准确。除此之外,补充训练集不仅包含1920×1080所拆分出的两张图的尺寸,还设置了其它尺寸(例如图4中的960×540)的图像进行填充,经过实验发现,其也增加了模型针对不同情况下的目标的识别准确度。
S05、使用DNNDK推理框架对YOLO模型进行格式转换,生成YOLO模型的代码。
S06、将代码输入带有FPGA芯片的识别设备中运行,以提升识别设备在禁区场景下的行人识别速度。
YOLO模型并不能直接输入FPGA芯片当中进行运行,而需要通过与FPGA配套的DNNDK推理框架进行转换,最终植入设备当中。植入之后,YOLO模型便与FPGA芯片相匹配,最终提升了行人识别速度,也降低了对于终端产品的性能需求。
步骤S01-06便已经完成了YOLOv3模型的剪枝与部署,下面继续参照图1,对模型的使用进行展开描述。
S07、将FPGA芯片的线程分成三部分,第一部分线程放置输入缓冲图片队列,第二部分线程放置YOLO模型的代码,第三部分线程放置输出缓冲图片队列。
S08、获取1920×1080的待识别图片.
S09、将待识别图片按照顺序同时复制进入输入缓冲图片队列和输出缓冲图片队列。
S10、将输入缓冲图片队列的待识别图片按照顺序输入第二部分线程。
S11、将待识别图片拆分成左右两个1000×1080的图片,两张图片的长度方向具有80的重叠。其中,图像拆分技术在现有技术当中很常用,不再进行进一步展开。
S12、将拆分的两张图片分别输入带有FPGA芯片的识别设备进行处理,得到左图的ROI坐标和右图的ROI坐标(ROI-region of interesting,即感兴趣的图像坐标)。
S13、将左图的ROI坐标和右图的ROI坐标进行合并后获得待识别图片的ROI坐标。
S14、将待识别图片的ROI坐标输入至输出缓冲图片队列,并且与其相对应的图片结合。
S15、将带有ROI坐标的待识别图片进行显示。
为了使图片处理完成,传统方案是将图片缩放后标注,然后再将标注好的图片放大会原尺寸进行输出,那么这个过程中就涉及到了缩放和还原两个过程,而这个过程当中,即使图片再进行放大,由于已经被压缩过,其放大后的清晰度仍然无法达到先前标准。为了解决这个问题,如图6至图8所示,本申请提出了设置一个输入缓冲队列和一个输出缓冲队列,并将待识别图片以相同的顺序同时复制进入两个队列,其中输入缓冲队列内的图像进行拆分后分别进入YOLO模型进行ROI坐标的计算,获得左右两个坐标,然后进行合并,再直接输出到输出缓冲队列当中相对应的图片当中,由于输入缓冲队列当中的图片仅需要获得坐标使用,输出缓冲队列当中的图片又没有经过任何压缩、剪辑或者放大,则输出的仍然为原图,并标注了ROI坐标,进而取消掉了输出图片的压缩和还原的过程,降低了系统的运算量,也提升了输出速度。
除上述有益效果之外,FPGA本身为多线程,为了实现其线程的合理利用,发挥最大计算能力,发明人对图片处理执行过程中各个时间进行了统计与分析,如图6所示,发现图像缩放和图像格式转换所需要的时间最长,以FPGA当中六个线程用于图像处理为例进行说明,如图7和图8所示,将输入缓冲队列和输出缓冲队列分别单独设置仅一个线程,然后将剩余的四线程均分配给图像处理过程,这样便能够最大化地发挥FPGA的算力,提升输出速度,其多线程调度的核心代码设计如图9所示。如图10的样机系统的实物测试图所示,FPGA异构设备的算力经过上述方案的优化,能够获得1.2Tops/s的优秀表现,并且场景中出现的行人被顺利检出,并且在1920×1080视频输出分辨率下仍然可以获得6.0FPS的良好表现上述仅以使用六个线程用于图像格式的转换,当然根据FPGA芯片的不同,本领域技术人员可以灵活分配,这都属于本发明的变例,都应在本发明的保护范围之内,图像拆分的问题同理,在输入图片的像素不同的情况下,本领域技术人员显然可以拆分成不止两个图片,可以是三个或多个,相应地尺寸也可以进行优化,只要能更贴近YOLO模型的输出即可。
上面步骤S01至S15已经对本发明的整体方案的一种具体实施方式进行了详细展开,在步骤S03当中提及了对YOLO模型的稀疏化训练和规整通道剪枝,以最终获得刨去最后一层的其他层的通道数为2n(最后一层是由m确定的,m为一类的话便是18层),下面结合图1、图2和图5,针对如何进行稀疏化训练和规则通道剪枝进行展开。
模型稀疏化和通道剪枝包括稀疏化训练和规整通道剪枝两部分,下面分别进行说明。
稀疏化训练具体包括:
YOLO模型中的BN层公式为:
其中,Zin和Zout是BN层的输入值与输出值,uB和σB是最小批Zin上特征的均值和标准差(下角标的B代表送入训练的最小批),是过渡变量值,γ是可训练的放缩系数,β为可训练的偏移值,ε为一个防止分母为零的极小值,常取0.0000001,当然也可以是其它很小的数值,例如0.00000003等等。
对第一次训练完成的YOLO模型进行稀疏化训练具体为:对BN层自带的缩放系数γ进行正则化项,正则化的公式如下:
γ系数作为乘法因子在BN层中对输入特征图具有线性放缩作用,γ系数的大小将直接决定BN层输出特征图数值的大小,数值越接近于零的特征图越不重要,可以被修剪。针对γ放缩系数的稀疏化训练只需在YOLOv3的原损失函数中添加γ系数的L1正则化即可,正则化的公式如上方所示。
规整通道剪枝的方法如图2和图3所示,具体包括:
S031、对刨去最后一层的其它待剪枝的层进行标号。
S032、对所有待剪枝的层的所有通道对应的γ系数进行从大到小的排序。
S033、设定所有通道的剪枝的比例M,并获得全局剪枝的阈值γ阈值。
S034、设定每层的通道数量的剪枝保留比例A。
S035、根据γ的数值设置通道掩码,当一个通道的γ系数<γ阈值时,通道修剪置0,否则通道保留置1;在一层当中,如果通道保留置1的通道数≥通道总数×A,则正常修剪,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;在一层当中,如果通道保留置1的通道数<通道总数×A,则调整通道保留置1的通道数,直至通道保留置1的通道数≥通道总数×A,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;其中,1-M≥A。
S036、更新通道的掩码,并依据掩码修剪相应的通道。
首先遍历所有层,确认需要待剪枝的层进行标号以作后续剪枝的记录。然后通过γ系数进行由大到小的排序,确认通道的重要性排序。再人工设定一个想要剪枝的全局的比例,比方说想要剪掉全局的60%,那么M=60%,当获得这个全局比例之后,便能够根据这个比例确定下所有剩余的γ系数,剩下的γ系数最小的值即为γ阈值。但是,由于我们设定是M是全局剪枝的比例,落实到每一层的情况下,剩余的通道数都各有不同,有的层内的通道多一些,有的少一些,在少一些的层数上,并不能太少,甚至可能出现极端的情况,一层上面一个通道也不剩了,那么这个YOLO模型是不合理的,为了规避这样的情况,在每层通道上都单独设置有一个通道数量的剪枝保留比例A,例如A=10%,既这一层的剪枝剩下的数量不能少于这层总数的10%,以确保剪枝后的YOLO模型更加合理。由于A的数值是每层独立设置的,因此其可以为一个统一的数值,也可以是每层根据情况设置不同的数值,通常情况下,1-M≥A。
在确保每个通道都有一定数量的层数的基础上,在进行规整步骤的操作。根据γ的数值设置通道掩码,当一个通道的γ系数<γ阈值时,通道修剪置0,否则通道保留置1。
在一层当中,如果通道保留置1的通道数≥通道总数×A,说明这层并未出现层数过少的情况,则正常修剪,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数。举例而言,通道保留置1的通道数为25个,通道总数为200个,A为10%,此时25≥200×10%,层数并未出现较低的情况,但此时25层并不是2的n次方,在n≥4的情况下,层数应当是16、32、64……,此时25大于16,小于32,应当向上取整,既最终保留通道数应当为32,那么就再从小于γ阈值的通道内拎出来7个最大的进行保留,将置0修改为置1。
与上述方案同理,在一层当中,如果通道保留置1的通道数<通道总数×A,则调整通道保留置1的通道数,直至通道保留置1的通道数≥通道总数×A,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数。同样举例进行说明,如果通道保留置1的通道数为8个,通道总数为200个,A为10%,此时8<200×10%,调整通道保留的数量,直至8≥200×10%,也即直至调整到20条,然后再进行判断,发现20并不是2的n次方,再进行向上取整,则为32条保留通道,也即再从小于γ阈值的通道内拎出来24个最大的进行保留,将置0修改为置1。
当最终通道是否被剪枝重新进行规整后,更新通道的掩码,并依据掩码修剪相应的通道,便能够得到除去最后一层的所有层的通道数均为2n的YOLO模型的方案,使其匹配FPGA芯片,达到最佳的算力需求。
上面已经对本发明的提升禁区场景下行人识别速度的方法进行了完整阐述,下面继续参照图11和图12,对本发明的系统进行阐述。
如图11和图12所示,本发明提供了一种提升目标识别速度的系统,包括:
类别降低模块:用于将通用目标检测网络YOLO模型由原始的识别80类减少到识别m类,相应地最后一层通道数由(80+5)×3=255层修改为(m+5)×3层;
初始训练模块:用于将禁区场景下带有行人的图片的初始训练集放入YOLO模型中进行第一次训练;
模型稀疏与剪枝模块:用于对第一次训练完成的YOLO模型进行稀疏化训练和规整通道剪枝,以使刨去最后一层的其它层的通道数均为2n,得到修正后的YOLO模型;
修复训练模块:用于使用补充微调训练集对所述修正后的YOLO模型进行模型精度的修复;其中,所述补充微调训练集与所述初始训练集当中包括的图片无重复;
模型转化模块:使用DNNDK推理框架对YOLO模型进行格式转换,生成YOLO模型的代码;
模型植入模块:用于将代码输入带有FPGA芯片的识别设备中运行,以提升识别设备在禁区场景下的行人识别速度;其中,n为大于等于4的自然数,m为大于0且小于80的自然数;
线程分布模块:用于将FPGA芯片的线程分成三部分,第一部分线程放置输入缓冲图片队列,第二部分线程放置所述YOLO模型的代码,第三部分线程放置输出缓冲图片队列;
图片采集模块:用于获取1920×1080的待识别图片;
图片复制模块:用于将待识别图片按照顺序同时复制进入所述输入缓冲图片队列和所述输出缓冲图片队列;
图片输入模块:用于将所述输入缓冲图片队列的待识别图片按照顺序输入所述第二部分线程;
图片拆分模块:用于将所述待识别图片拆分成左右两个1000×1080的图片,两张图片的长度方向具有80的重叠;
图片ROI坐标计算模块:用于将拆分的两张图片分别输入所述带有FPGA芯片的识别设备进行处理,得到左图的ROI坐标和右图的ROI坐标;
图片ROI坐标合并模块:用于将所述左图的ROI坐标和所述右图的ROI坐标进行合并后获得所述待识别图片的ROI坐标;
图片ROI坐标与图片结合模块:用于将所述待识别图片的ROI坐标输入至所述输出缓冲图片队列,并且与其相对应的图片结合;
图片显示模块:用于将带有ROI坐标的待识别图片进行显示。
其中,模型稀疏与剪枝模块具体包括:
模型稀疏模块:用于稀疏化训练,稀疏化训练具体包括:
YOLO模型中的BN层公式为:
其中,Zin和Zout是BN层的输入值与输出值,uB和σB是最小批Zin上特征的均值和标准差(下角标的B代表送入训练的最小批),是过渡变量值,γ是可训练的放缩系数,β为可训练的偏移值,ε为一个防止分母为零的极小值,常取0.0000001;
对第一次训练完成的YOLO模型进行稀疏化训练具体为:对BN层自带的缩放系数γ进行正则化项,正则化的公式如下:
模型剪枝模块:用于规整通道剪枝,对规整通道剪枝的系统具体包括:
待剪枝层标号模块:用于对刨去最后一层的其它待剪枝的层进行标号;
γ系数排序模块:用于对所有待剪枝的层的所有通道对应的γ系数进行从大到小的排序;
全局剪枝比例设定模块:用于设定所有通道的剪枝的比例M,并获得全局剪枝的阈值γ阈值;
每层剪枝保留比例设定模块:用于设定每层的通道数量的剪枝保留比例A;
每层剪枝掩码设定模块:用于根据γ的数值设置通道掩码,当一个通道的γ系数<γ阈值时,通道修剪置0,否则通道保留置1;在一层当中,如果通道保留置1的通道数≥通道总数×A,则正常修剪,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;在一层当中,如果通道保留置1的通道数<通道总数×A,则调整通道保留置1的通道数,直至通道保留置1的通道数≥通道总数×A,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;其中,1-M≥A;
修剪模块:用于更新通道的掩码,并依据掩码修剪相应的通道。
本发明还提供了一种计算机可读存储介质,存储介质中存储有多条程序代码,程序代码适用于由处理器加载并运行以执行上述技术方案中任一项的提升禁区场景下行人识别速度的方法。
本发明还提供了一种终端装置,该控制装置包括处理器和存储器,存储器适用于存储多条程序代码,程序代码适于由处理器加载并运行以执行上述技术方案中任一项的提升禁区场景下行人识别速度的方法。
需要说明的是,上述实施方式仅仅用来阐述本发明的原理,并非旨在与限制本发明的保护范围,在不偏离本发明原理的条件下,本领域技术人员能够对上述结构进行调整,以便本发明能够应用于更加具体的应用场景。
进一步,在本发明的一种计算机存储装置的一个实施例中,该计算机存储装置存储多条程序代码,所述程序代码适用于由处理器加载并运行以执行前述的方法。所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的系统的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
本领域技术人员能够理解的是,可以对系统中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (12)
1.一种提升禁区场景下行人识别速度的方法,其特征在于,包括:
将禁区场景下带有行人的图片的初始训练集放入YOLO模型中进行第一次训练;
对第一次训练完成的YOLO模型进行稀疏化训练和规整通道剪枝,以使刨去最后一层的其它层的通道数均为2n,得到修正后的YOLO模型;
使用DNNDK推理框架对YOLO模型进行格式转换,生成YOLO模型的代码;
将代码输入带有FPGA芯片的识别设备中运行,以提升识别设备在禁区场景下的行人识别速度;
其中,n为大于等于4的自然数。
2.根据权利要求1所述的方法,其特征在于,“对第一次训练完成的YOLO模型进行稀疏化训练和规整通道剪枝,以使刨去最后一层的其它层的通道数均为2n,得到修正后的YOLO模型”的步骤之后,所述方法还包括:
使用补充微调训练集对所述修正后的YOLO模型进行模型精度的修复;
其中,所述补充微调训练集与所述初始训练集当中包括的图片无重复。
3.根据权利要求2所述的方法,其特征在于,所述初始训练集和/或所述补充微调训练集内使用的图片为大于608×608个像素点的原始图片,当所述图片为1920×1080像素点时,所述原始图片在训练和/或精度修复时被拆分成的左右两个1000×1080像素点的图片,两张图片的长度方向具有80像素点的重叠。
4.根据权利要求1所述的方法,其特征在于,“将代码输入带有FPGA芯片的识别设备中运行,以提升识别设备在禁区场景下的行人识别速度”的步骤之后,所述方法还包括:
将FPGA芯片的线程分成三部分,第一部分线程放置输入缓冲图片队列,第二部分线程放置所述YOLO模型的代码,第三部分线程放置输出缓冲图片队列;
获取1920×1080的待识别图片;
将待识别图片按照顺序同时复制进入所述输入缓冲图片队列和所述输出缓冲图片队列;
将所述输入缓冲图片队列的待识别图片按照顺序输入所述第二部分线程;
将所述待识别图片拆分成左右两个1000×1080的图片,两张图片的长度方向具有80的重叠;
将拆分的两张图片分别输入所述带有FPGA芯片的识别设备进行处理,得到左图的ROI坐标和右图的ROI坐标;
将所述左图的ROI坐标和所述右图的ROI坐标进行合并后获得所述待识别图片的ROI坐标;
将所述待识别图片的ROI坐标输入至所述输出缓冲图片队列,并且与其相对应的图片结合;
将带有ROI坐标的待识别图片进行显示;
并且/或者,
“将禁区场景下带有行人的图片的初始训练集放入YOLO模型中进行第一次训练”的步骤之前,所述方法还包括:
将通用目标检测网络YOLO模型由原始的识别80类减少到识别m类,相应地最后一层通道数由(80+5)×3=255层修改为(m+5)×3层,以得到第一次训练所使用的YOLO模型;
其中,m为大于0且小于80的自然数。
5.根据权利要求1所述的方法,其特征在于,所述稀疏化训练具体包括:
YOLO模型中的BN层公式为:
其中,Zin和Zout是BN层的输入值与输出值,uB和σB是最小批Zin上特征的均值和标准差(下角标的B代表送入训练的最小批),是过渡变量值,γ是可训练的放缩系数,β为可训练的偏移值,ε为一个防止分母为零的极小值,常取0.0000001;
对第一次训练完成的YOLO模型进行稀疏化训练具体为:对BN层自带的缩放系数γ进行正则化项,正则化的公式如下:
规整通道剪枝的方法具体包括:
对刨去最后一层的其它待剪枝的层进行标号;
对所有待剪枝的层的所有通道对应的γ系数进行从大到小的排序;
设定所有通道的剪枝的比例M,并获得全局剪枝的阈值γ阈值;
设定每层的通道数量的剪枝保留比例A;
根据γ的数值设置通道掩码,当一个通道的γ系数<γ阈值时,通道修剪置0,否则通道保留置1;
在一层当中,如果通道保留置1的通道数≥通道总数×A,则正常修剪,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;
在一层当中,如果通道保留置1的通道数<通道总数×A,则调整通道保留置1的通道数,直至通道保留置1的通道数≥通道总数×A,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;
更新通道的掩码,并依据掩码修剪相应的通道;
其中,1-M≥A。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述禁区场景是铁道场景;并且/或者,
所述YOLO模型为YOLOv3模型。
7.一种提升目标识别速度的系统,其特征在于,包括:
初始训练模块:用于将禁区场景下带有行人的图片的初始训练集放入YOLO模型中进行第一次训练;
模型稀疏与剪枝模块:用于对第一次训练完成的YOLO模型进行稀疏化训练和规整通道剪枝,以使刨去最后一层的其它层的通道数均为2n,得到修正后的YOLO模型;
模型转化模块:使用DNNDK推理框架对YOLO模型进行格式转换,生成YOLO模型的代码;
模型植入模块:用于将代码输入带有FPGA芯片的识别设备中运行,以提升识别设备在禁区场景下的行人识别速度;
其中,n为大于等于4的自然数。
8.根据权利要求7所述的系统,其特征在于,模型稀疏与剪枝模块之后,所述系统还包括:
修复训练模块:用于使用补充微调训练集对所述修正后的YOLO模型进行模型精度的修复;
其中,所述补充微调训练集与所述初始训练集当中包括的图片无重复。
9.根据权利要求7所述的系统,其特征在于,在模型植入模块之后,所述系统还包括:
线程分布模块:用于将FPGA芯片的线程分成三部分,第一部分线程放置输入缓冲图片队列,第二部分线程放置所述YOLO模型的代码,第三部分线程放置输出缓冲图片队列;
图片采集模块:用于获取1920×1080的待识别图片;
图片复制模块:用于将待识别图片按照顺序同时复制进入所述输入缓冲图片队列和所述输出缓冲图片队列;
图片输入模块:用于将所述输入缓冲图片队列的待识别图片按照顺序输入所述第二部分线程;
图片拆分模块:用于将所述待识别图片拆分成左右两个1000×1080的图片,两张图片的长度方向具有80的重叠;
图片ROI坐标计算模块:用于将拆分的两张图片分别输入所述带有FPGA芯片的识别设备进行处理,得到左图的ROI坐标和右图的ROI坐标;
图片ROI坐标合并模块:用于将所述左图的ROI坐标和所述右图的ROI坐标进行合并后获得所述待识别图片的ROI坐标;
图片ROI坐标与图片结合模块:用于将所述待识别图片的ROI坐标输入至所述输出缓冲图片队列,并且与其相对应的图片结合;
图片显示模块:用于将带有ROI坐标的待识别图片进行显示;
并且/或者,
在所述初始训练模块之前,所述系统还包括:
类别降低模块:用于将通用目标检测网络YOLO模型由原始的识别80类减少到识别m类,相应地最后一层通道数由(80+5)×3=255层修改为(m+5)×3层,以得到第一次训练所使用的YOLO模型;
其中,m为大于0且小于80的自然数。
10.根据权利要求1所述的系统,其特征在于,模型稀疏与剪枝模块具体包括:
模型稀疏模块:用于稀疏化训练,稀疏化训练具体包括:
YOLO模型中的BN层公式为:
其中,Zin和Zout是BN层的输入值与输出值,uB和σB是最小批Zin上特征的均值和标准差(下角标的B代表送入训练的最小批),是过渡变量值,γ是可训练的放缩系数,β为可训练的偏移值,ε为一个防止分母为零的极小值,常取0.0000001;
对第一次训练完成的YOLO模型进行稀疏化训练具体为:对BN层自带的缩放系数γ进行正则化项,正则化的公式如下:
模型剪枝模块:用于规整通道剪枝,对规整通道剪枝的系统具体包括:
待剪枝层标号模块:用于对刨去最后一层的其它待剪枝的层进行标号;
γ系数排序模块:用于对所有待剪枝的层的所有通道对应的γ系数进行从大到小的排序;
全局剪枝比例设定模块:用于设定所有通道的剪枝的比例M,并获得全局剪枝的阈值γ阈值;
每层剪枝保留比例设定模块:用于设定每层的通道数量的剪枝保留比例A;
每层剪枝掩码设定模块:用于根据γ的数值设置通道掩码,当一个通道的γ系数<γ阈值时,通道修剪置0,否则通道保留置1;
在一层当中,如果通道保留置1的通道数≥通道总数×A,则正常修剪,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;
在一层当中,如果通道保留置1的通道数<通道总数×A,则调整通道保留置1的通道数,直至通道保留置1的通道数≥通道总数×A,并使通道保留置1的通道数为2n,并且为向上取整,即2n≥通道保留置1的通道数;
修剪模块:用于更新通道的掩码,并依据掩码修剪相应的通道;
其中,1-M≥A。
11.一种计算机可读存储介质,所述存储介质中存储有多条程序代码,其特征在于,所述程序代码适用于由处理器加载并运行以执行权利要求1-6中任一项的提升禁区场景下行人识别速度的方法。
12.一种终端装置,该控制装置包括处理器和存储器,所述存储器适用于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行权利要求1-6中任一项的提升禁区场景下行人识别速度的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110046404.4A CN112733739B (zh) | 2021-01-14 | 2021-01-14 | 提升禁区场景下行人识别速度的方法、系统、介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110046404.4A CN112733739B (zh) | 2021-01-14 | 2021-01-14 | 提升禁区场景下行人识别速度的方法、系统、介质及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112733739A true CN112733739A (zh) | 2021-04-30 |
CN112733739B CN112733739B (zh) | 2021-10-15 |
Family
ID=75592883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110046404.4A Active CN112733739B (zh) | 2021-01-14 | 2021-01-14 | 提升禁区场景下行人识别速度的方法、系统、介质及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112733739B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113642452A (zh) * | 2021-08-10 | 2021-11-12 | 汇纳科技股份有限公司 | 人体图像质量评价方法、装置、系统及存储介质 |
CN113822414A (zh) * | 2021-07-22 | 2021-12-21 | 深圳信息职业技术学院 | 口罩检测模型的训练方法、口罩检测方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444760A (zh) * | 2020-02-19 | 2020-07-24 | 天津大学 | 一种基于剪枝与知识蒸馏的交通标志检测与识别方法 |
CN112001477A (zh) * | 2020-06-19 | 2020-11-27 | 南京理工大学 | 一种基于深度学习的目标检测YOLOv3的模型优化算法 |
CN112101221A (zh) * | 2020-09-15 | 2020-12-18 | 哈尔滨理工大学 | 一种用于交通信号灯实时检测与识别的方法 |
-
2021
- 2021-01-14 CN CN202110046404.4A patent/CN112733739B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444760A (zh) * | 2020-02-19 | 2020-07-24 | 天津大学 | 一种基于剪枝与知识蒸馏的交通标志检测与识别方法 |
CN112001477A (zh) * | 2020-06-19 | 2020-11-27 | 南京理工大学 | 一种基于深度学习的目标检测YOLOv3的模型优化算法 |
CN112101221A (zh) * | 2020-09-15 | 2020-12-18 | 哈尔滨理工大学 | 一种用于交通信号灯实时检测与识别的方法 |
Non-Patent Citations (1)
Title |
---|
HAN C Y, ET AL: "Design of lightweight pedestrian detection network in railway scenes", 《PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND SIGNAL PROCESSING》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113822414A (zh) * | 2021-07-22 | 2021-12-21 | 深圳信息职业技术学院 | 口罩检测模型的训练方法、口罩检测方法及相关设备 |
CN113642452A (zh) * | 2021-08-10 | 2021-11-12 | 汇纳科技股份有限公司 | 人体图像质量评价方法、装置、系统及存储介质 |
CN113642452B (zh) * | 2021-08-10 | 2023-11-21 | 汇纳科技股份有限公司 | 人体图像质量评价方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112733739B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108596024B (zh) | 一种基于人脸结构信息的肖像生成方法 | |
CN109657595B (zh) | 基于堆叠沙漏网络的关键特征区域匹配人脸识别方法 | |
CN112733739B (zh) | 提升禁区场景下行人识别速度的方法、系统、介质及装置 | |
DE102021116436A1 (de) | Verfahren und Vorrichtung zur datenfreien Posttraining-Netzwerkquantisierung und Generierung von synthetischen Daten auf Grundlage eines vortrainierten Modells maschinellen Lernens | |
CN109508717A (zh) | 一种车牌识别方法、识别装置、识别设备及可读存储介质 | |
CN105894046A (zh) | 卷积神经网络训练及图像处理的方法和系统、计算机设备 | |
US10579924B1 (en) | Learning method, learning device with multi-feeding layers and testing method, testing device using the same | |
CN110298394B (zh) | 一种图像识别方法和相关装置 | |
CN109003625A (zh) | 基于三元损失的语音情感识别方法及系统 | |
CN111292262B (zh) | 图像处理方法、装置、电子设备以及存储介质 | |
CN113420651A (zh) | 深度卷积神经网络的轻量化方法、系统及目标检测方法 | |
CN112036520A (zh) | 基于深度学习的大熊猫年龄识别方法、装置及存储介质 | |
CN113536999A (zh) | 人物情绪识别方法、系统、介质及电子设备 | |
CN112102176A (zh) | 基于多尺度密集混合注意力神经网络的图像去雨方法 | |
CN113673439A (zh) | 基于人工智能的宠物狗识别方法、装置、设备及存储介质 | |
CN116205820A (zh) | 图像增强方法、目标识别方法、设备及介质 | |
CN109492610A (zh) | 一种行人重识别方法、装置及可读存储介质 | |
CN115761834A (zh) | 人脸识别的多任务混合模型和人脸识别方法 | |
CN114492634B (zh) | 一种细粒度装备图片分类识别方法及系统 | |
CN110826534A (zh) | 一种基于局部主成分分析的人脸关键点检测方法及系统 | |
DE102023130782A1 (de) | Trainieren eines neuronalen netzwerks mit einer budding-ensemble-architektur basierend auf diversitätsverlust | |
CN112257785A (zh) | 基于记忆巩固机制与gan模型的序列化任务完成方法及系统 | |
CN112801994B (zh) | 骨龄评估方法和系统 | |
CN116486071A (zh) | 图像分块特征提取方法、装置及存储介质 | |
CN112541469B (zh) | 基于自适应分类的人群计数方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |