一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种可量化的前端车辆检测网络结构的设计方法与流程

2021-11-20 00:37:00 来源:中国专利 TAG:


1.本发明涉及神经网络技术领域,特别涉及一种可量化的前端车辆检测网络结构的设计方法。


背景技术:

2.当今社会,人工智能领域中神经网络技术发展迅猛。其中mtcnn技术也是近年来较为流行的技术之一。mtcnn,multi-task convolutional neural network(多任务卷积神经网络),将人脸区域检测与人脸关键点检测放在了一起,总体可分为p-net、r-net、和o-net三层网络结构。用于人脸检测任务的多任务神经网络模型,该模型主要采用了三个级联的网络,采用候选框加分类器的思想,进行快速高效的人脸检测。这三个级联的网络分别是快速生成候选窗口的p-net、进行高精度候选窗口过滤选择的r-net和生成最终边界框与人脸关键点的o-net。
3.但是,mtcnn级联检测存在以下缺陷:
4.1、使用三级级联网络,处理固定大小一张图片运行时间长。漏检比较多。
5.2、使用的激励函数不适合量化处理。
6.3、该三级网络是使用在人脸检测中,不适用于车辆检测。
7.4、使用了不能在例如北京君正集成电路股份有限公司生产的芯片上量化使用的池化处理,导致在一些芯片(例如君正芯片)上只能浮点运算,运算时间很长。
8.此外,现有技术中还包括以下常用的技术术语:
9.1、级联:是指几个检测器通过串联的方式进行检测的方式称为级联。
10.2、卷积核:卷积核是用来做图像处理时的矩阵,与原图像做运算的参数。卷积核通常是一个列矩阵数组成(例如3*3的矩阵),该区域上每个方格都有一个权重值。矩阵形状一般是1
×
1,3
×
3,5
×
5,7
×
7,1
×
3,3
×
1,2
×
2,1
×
5,5
×
1,
……

11.3、卷积:将卷积核的中心放置在要计算的像素上,一次计算核中每个元素和其覆盖的图像像素值的乘积并求和,得到的结构就是该位置的新像素值,这个过程称为卷积。
12.4、激励函数:一种对卷积后结果进行处理的一种函数。
13.5、特征图:输入数据通过卷积计算后得到的结果称之为特征图,数据通过全连接后生成的结果也称为特征图。特征图大小一般表示为长
×

×
深度,或1
×
深度。
14.6、步长:卷积核中心位置在坐标上移动的长度。
15.7、两端非对齐处理:图像或数据通过卷积核大小为3
×
3处理时,如果不够一个卷积核处理,会导致两侧数据不够,此时采用丢弃两侧或一侧数据,这种现象叫做两端非对齐处理。


技术实现要素:

16.为了解决上述现有技术存在的问题,本发明的目的在于:
17.1、使用两级级联,检测目标大小适合车辆检测。处理固定大小图片,运行时间短,
误检少,正确率高,满足实际使用要求。检测距离增加。
18.2、使用根据可量化设计的激励函数,去除了池化处理。
19.具体地,本发明提供一种可量化的前端车辆检测网络结构的设计方法,所述设计方法包括以下步骤:
20.s1,设计网络采用二级网络,激励函数为自定义函数,第一级输入大小是47x47的灰度图,第二级网络输入大小是49x49的灰度图;自定义激励函数,将计算的各层结果量化到4bit,边界数据量化中被量化掉;
21.s2,设计二级网络结构:
22.s2.1,第一级网络:
23.前三层使用的步长是2,第四层使用的步长是1,这四层使用自定义激励函数,每层使用的是3
×
3的卷积核;
24.最后两层也就是第五层和第六层是平行层,均使用第四层的计算结果;所述第五层计算结果是用来判断是否是车辆的值,使用的激励函数是sigmol;所述第六层计算的结果是用来微调车辆检测框的值,不使用任何激励函数处理;
25.以上每层使用非对齐处理方式进行卷积;
26.s2.2,第二级网络:
27.第一层使用的步长是1,卷积大小为3
×
3,使用自定义激励函数处理;
28.第二层至第五层即第二层、第三层、第四层和第五层使用的步长均为2,卷积大小为3
×
3,使用自定义激励函数处理,从第二层开始每层输入数据是上一层的输出结果;
29.第六层输入数据是第五层的输出结果,使用全连接,不使用任何激励函数;
30.最后两层也就是第七层和第八层是平行层,均使用第六层的计算结果;所述第七层使用全连接,激励函数是sigmol,用于判断是否为目标的结果;所述第八层使用全连接,不使用激励函数,用于微调坐标的值。
31.所述s1中,自定义激励函数为,设x是输入激励函数的值,y是输出函数的值,公式为:
[0032][0033]
由此,本技术的优势在于:本发明方法简单,用增加很小的时间代价提升人脸检测的召回率和正确率,网络可以量化。
附图说明
[0034]
此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。
[0035]
图1是本发明方法的示意流程图。
[0036]
图2是本发明方法中网络结构第一级网络模型的示意图。
[0037]
图3是本发明方法中网络结构第二级网络模型的示意图。
具体实施方式
[0038]
为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
[0039]
如图1所示,本发明涉及一种可量化的前端车辆检测网络结构的设计方法,所述设计方法包括以下步骤:
[0040]
s1,设计网络采用二级网络,激励函数为自定义函数,第一级输入大小是47x47的灰度图,第二级网络输入大小是49x49的灰度图;自定义激励函数,将计算的各层结果量化到4bit,边界数据量化中被量化掉;
[0041]
s2,设计二级网络结构:
[0042]
s2.1,第一级网络:
[0043]
前三层使用的步长是2,第四层使用的步长是1,这四层使用自定义激励函数,每层使用的是3
×
3的卷积核;
[0044]
最后两层也就是第五层和第六层是平行层,均使用第四层的计算结果;所述第五层计算结果是用来判断是否是车辆的值,使用的激励函数是sigmol;所述第六层计算的结果是用来微调车辆检测框的值,不使用任何激励函数处理;
[0045]
以上每层使用非对齐处理方式进行卷积;
[0046]
s2.2,第二级网络:
[0047]
第一层使用的步长是1,卷积大小为3
×
3,使用自定义激励函数处理;
[0048]
第二层至第五层即第二层、第三层、第四层和第五层使用的步长均为2,卷积大小为3
×
3,使用自定义激励函数处理,从第二层开始每层输入数据是上一层的输出结果;
[0049]
第六层输入数据是第五层的输出结果,使用全连接,不使用任何激励函数;
[0050]
最后两层也就是第七层和第八层是平行层,均使用第六层的计算结果;所述第七层使用全连接,激励函数是sigmol,用于判断是否为目标的结果;所述第八层使用全连接,不适使激励函数,用于微调坐标的值。
[0051]
所述s1中,自定义激励函数为,设x是输入激励函数的值,y是输出函数的值,公式为:
[0052][0053]
所述的s2.1中
[0054]
第一层输入数据是灰度图47
×
47
×
1,深度为1,使用自定义激励函数处理,输出特征图深度是16;
[0055]
第二层、第三层,输入数据深度是16,使用自定义激励函数处理,输出特征图深度是16;
[0056]
第四层输入数据深度是16,使用自定义激励函数处理,输出特征图深度是32。
[0057]
所述的s2.1中第五层输入数据深度是32,输出数据深度是1。
[0058]
所述的s2.1中第六层输入数据深度是32,输出数据深度是4。
[0059]
所述的s2.2中
[0060]
第一层输入数据是灰度图49
×
49
×
1,输出结果是47
×
47
×
16;
[0061]
第二层输入数据是47
×
47
×
16,输出特征图结果是23
×
23
×
32;
[0062]
第三层输入数据是23
×
23
×
32,输出特征图结果是11
×
11
×
48;
[0063]
第四层输入数据是11
×
11
×
48,输出特征图结果是5
×5×
64;
[0064]
第五层输入数据是5
×5×
64,输出特征图结果是2
×2×
64。
[0065]
所述的s2.2中第六层输入数据是2
×2×
64,输出特征图结果是1
×
128;所述的第七层输入数据是1
×
128,输出特征图是1
×
1;所述第八层输入数据是1
×
128,输出特征图是1
×
4。
[0066]
所述的s2.2中第八层用于微调坐标的四个值。
[0067]
本发明的技术方案可以进一步解释如下:
[0068]
1、网络采用二级网络。激励函数为自定义函数,第一级输入大小是47x47的灰度图,第二级网络输入大小是49x49的灰度图。自定义激励函数,设x是输入激励函数的值,y是输出函数的值,公式为:
[0069][0070]
由于需要将计算的各层结果量化到4bit,通过理论分析和各种实验测试,激励函数固定到0~4之间,能够得到更好的精确度。边界数据量化中被量化掉,所以使用x<0.1时,y=0。
[0071]
2、两级网络结构。
[0072]
1)第一级网络。前三层使用的步长是2,第四层使用的步长是1,这四层使用自定义激励函数,每层使用的是3
×
3的卷积核。
[0073]
第一层输入数据是灰度图47
×
47
×
1,深度为1,使用自定义激励函数处理,输出特征图深度是16。
[0074]
第二层、第三层,输入数据深度是16,使用自定义激励函数处理,输出特征图深度是16。第四层输入数据深度是16,使用自定义激励函数处理,输出特征图深度是32。
[0075]
最后两层也就是第五层和第六层是平行层,均使用第四层的计算结果。第五层计算结果是用来判断是否是车辆的值,使用的激励函数是sigmol,这是由分类的特殊性决定的,否则造成极大的精度损失。该层输入数据深度是32,输出数据深度是1。
[0076]
第六层计算的结果是用来微调车辆检测框的值,不使用任何激励函数处理。输入数据深度是32,输出数据深度是4。
[0077]
以上每层使用非对齐处理方式进行卷积,非对齐和该网络的设计可以有效的利用所有的计算结果,不造成计算结果的浪费。
[0078]
整个网络结构,需要从整体计算量和实际应用考虑,既要满足实际精度,又要使得计算量更少,设计出第一级网络,该网络计算量很小,精度没有降低。网络流程图如附图网络结构的图2所示。
[0079]
2)第二级网络。
[0080]
第一层输入数据是灰度图49
×
49
×
1,步长是1,卷积大小为3
×
3,使用自定义激励函数处理,输出结果是47
×
47
×
16。
[0081]
第二层输入数据是47
×
47
×
16,步长是2,卷积大小为3
×
3,使用自定义激励函数处理,输出特征图结果是23
×
23
×
32。
[0082]
第三层输入数据是23
×
23
×
32,步长是2,卷积大小为3
×
3,使用自定义激励函数处理,输出特征图结果是11
×
11
×
48。
[0083]
第四层输入数据是11
×
11
×
48,步长是2,卷积大小为3
×
3,使用自定义激励函数处理,输出特征图结果是5
×5×
64。
[0084]
第五层输入数据是5
×5×
64,步长是2,卷积大小为3
×
3,使用自定义激励函数处理,输出特征图结果是2
×2×
64。
[0085]
第六层输入数据是2
×2×
64,使用全连接,不使用任何激励函数,输出特征图结果是1
×
128。第七层和第八层是平行层。
[0086]
第七层,输入数据是1
×
128,使用全连接,激励函数是sigmol,输出特征图是1
×
1,这是用于判断是否为目标的结果。
[0087]
第八层,输入数据是1
×
128,使用全连接,不使用激励函数,输入特征图是1
×
4,这是用于微调坐标的四个值。网络流程图如附图网络结构的图3所示。
[0088]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献