掌桥专利:专业的专利平台
掌桥专利
首页

一种人形上半身监测网络结构的设计方法

文献发布时间:2023-06-19 11:49:09


一种人形上半身监测网络结构的设计方法

技术领域

本发明涉及智能识别领域,特别涉及一种人形上半身监测网络结构的设计方法。

背景技术

随着科技的不断发展,特别是计算机视觉技术的发展,智能识别技术广泛应用于信息安全、电子认证等各个领域,图像特征提取方法具有良好的识别性能。

此外,现有技术中的常用术语包括:

上半身检测:即检测包含人体的头部到胳膊肘至肩部中间位置。

级联卷积网络:就是设计N阶网络,由粗到精对任务进行处理。

召回率:人脸为例,图片中检测成功的人脸框个数占图片中原有的人脸个数百分比。

误检率:人脸为例,图片中检测失败的人脸框个数占图片中原有的人脸个数百分比。

MAC数:Multiplay与add计算量。

MTCNN,(Multi-task convolutional neural network,多任务卷积神经网络),将人脸区域检测与人脸关键点检测放在了一起,基于cascade框架。总体可分为第一阶段P-Net、第二阶段R-Net、和第三阶段O-Net三层网络结构;MTCNN实现流程,包括:从图像->P-Net->R-net->0-Net->输出;构建图像金字塔,首先将图像进行不同尺度的变换,构建图像金字塔,以适应不同大小的识别目标的检测。也即,图像经过金字塔,生成多个尺度的图像,然后输入PNet。P-Net(Proposal Network),基本构造是一个全连接网络。对构建完成的图像金字塔,通过一个FCN(全卷机网络)进行初步特征提取与标定边框,并进行Bounding-BoxRegression调整窗口与NMS算法进行大部分窗口的过滤。PNet由于尺寸很小,所以可以很快的选出候选区域,但是准确率不高,然后采用NMS算法,合并候选框,然后根据候选框提取图像。R-Net(Refine Network),基本构造是一个卷积神经网络,相对于第一层的P-Net来说,增加了一个全连接层,因此对于输入数据的筛选会更加严格。在图片经过P-Net后,会留下许多预测窗口,我们将所有的预测窗口送入R-Net,这个网络会滤除大量效果比较差的候选框,最后对选定的候选框进行Bounding-Box Regression和NMS算法进一步优化预测结果。作为RNet的输入,RNet可以精确的选取边框,一般最后只剩几个边框,最后输入ONet。O-Net(Output Network),基本结构是一个较为复杂的卷积神经网络,相对于R-Net来说多了一个卷积层。O-Net的效果与R-Net的区别在于这一层结构会通过更多的监督来识别面部的区域,而且会对人的面部特征点进行回归,最终输出五个特征点。ONet虽然速度较慢,但是由于经过前两个网络,已经得到了高概率的边框,所以输入ONet的图像较少,然后ONet输出精确的边框和关键点信息。

而在现有技术中也存在一些问题,第一阶网络一般用于快速生成候选框,用于后面阶段网络使用,一般的第一阶网络设计方式是分辨率要小因为最上面的大漏斗速度一定要快,比如人脸的设计input size是12*12,但是这样的设计方式在实际使用工程中会有问题,第一阶网络生成的候选框会非常多,因为分辨率太小导致特征丢失,表达能力下降,有的时候候选框会多达几千个。本身从召回率的角度看,效果不错,但是错误率效果会非常差,会大大影响后面阶段的效率,这对于嵌入式产品应用是非常致命的,因为会多出很多计算量,比如会多出几千个图送到下一级网络,而下一级网络是精细化网络,计算量会增加很多,大大降低使用级联带来的好处。

发明内容

为了解决上述问题,本发明的目的在于:级联卷积网络分为N个阶段,第一个阶段的作用至关重要,本发明为了保证召回率的情况下,减少计算量,让误检率大幅下降,大大减少后面阶段网络的压力,整个项目在嵌入式平台落地有效。

具体地,本发明提供一种人形上半身监测网络结构设计方法,包括以下步骤:

S1,初始设置,设置输入大小为mxm,其中m>24;

步幅为1时,所对应的计算公式为:n-2,步幅为2时,所对应的计算公式为:(n-2)/2,其中,n为每一层的输入大小;

因为最后输出是Nx3x3,N是通道数,做3*3的卷积最后回归出人脸候选框的得分和回归位置坐标;

S2,设步幅均为2,并且根据S1中的计算公式反推输入大小,获得网络每层的输入大小、形态和计算量;

S3,根据S2获得设计的网络,对人形上半身进行第一阶段的训练。

所述的步骤S1中m为38,即人形上半身的输入大小为38x38。

所述的N为16。

所述的步骤S2进一步包括:

第一层:其中,第一层n=38,因此(38-2)/2=18:

第二层:其中,根据第一层计算获得结果可知,第二层n=18,因此(18-2)/2=8:

第三层:其中,根据第二层计算获得结果可知,第三层n=8,因此(8-2)/2=3。

通过此公式反推Input size,stride全部设为2,(n-2)/stride=3,倒推每一层的输入为8,18,38。这里的3是最后一层得到的特征图大小,就是Nx3x3里面的3,这是因为最后输出是Nx3x3,N是通道数,做3*3的卷积最后回归出人脸候选框的得分和回归位置坐标。

所述的第一层、第二层、第三层的计算量分,分别为:

第一层计算量:18*18*3*3*16*1=46,656

第二层计算量:8*8*3*3*16*16=147,456

第三层计算量:3*3*3*3*16*16=20,736;

计算出总的计算量为214,848。

还包括验证步骤,当N=16时,通过对所述的计算出总的计算量和现有技术中输入大小为24x24,步幅采用1,2,1,2的设计网络的总的计算量相比较,得到该方法计算量比现有技术计算量更少的验证结论。

所述的现有技术技术具体为,人形上半身样本设计大小为24x24,网络设计步幅需要是1,2,1,2,因为最后输出是Nx3x3,N是通道数,做3x3的卷积最后回归出人脸候选框的得分和回归位置坐标,以通道数16作为标准,第一层卷积后是22x22,第二层卷积后是10x10,第三层是8x8,第四层是3×3;具体的计算量如下:

第一层计算量:22*22*3*3*16*1=69,696

第二层计算量:10*10*3*3*16*16=230,400

第三层计算量:8*8*3*3*16*16=147,456

第四层计算量:3*3*3*3*16*16=20,736

总的计算量为:468,288。

由此,本申请的优势在于:既因为增加了分辨率导致特征保留更多,表达能力更强,计算量又大大减少一半多,所以在精确度和效率上占绝对优势。经过此设计方法获得的网络对人形上半身进行第一级的训练,通过实际试验数据获得,误检从2000多个降低到100左右,大大提升了第一级粗检网络和后面精细网络的效率,因为送给后面网络的待处理框个数大大减小,同时保证了第一级网络的精确度。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。

图1是本发明方法的示意流程图。

具体实施方式

为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。

如图1所示,本发明涉及一种人形上半身监测网络结构设计方法,包括以下步骤:

S1,初始设置,设置输入大小为38x38;

其中,38x38是这个网络结构倒推设计的核心,再大就会增加网络层数会影响性能,并且会影响检测率,因为这个决定了网络实际在画面中的最小目标检测大小,进而影响检测距离,比如一个人形上半身被缩放到24它的特征丢失会比38多,并且会造成更多的误检,56会比38保存细节更多,但是会影响检测距离。

步幅为2时,所对应的计算公式为:(n-2)/2,其中,n为每一层的输入大小;

其中,选取步幅为2的优势在于:目标检测领域普遍存在一个需求,就是检测的距离要越远越好,增加检测距离就要增大检测的输入分辨率,但当分辨率增大时,整个网络的检测时间会暴涨,不具有实用性,所以我们把步幅设为2,既可以检测远距离的小目标,还可以控制检测时间增加,经过实测640*360分辨率检测5米,耗时200毫秒,800*450分辨率检测8米,耗时270毫秒。如果步幅设为1,哪怕是仅是第一层时间会增加到650毫秒。

因为最后输出是Nx3x3,N是通道数,设为16,做3*3的卷积最后回归出人脸候选框的得分和回归位置坐标;

S2,设步幅均为2,并且根据S1中的计算公式反推输入大小,获得网络每层的输入大小、形态和计算量:

第一层:其中,第一层n=38,因此(38-2)/2=18,计算量为:

18*18*3*3*16*1=46,656;

第二层:其中,根据第一层计算获得结果可知,第二层n=18,因此(18-2)/2=8,计算量为:8*8*3*3*16*16=147,456;

第三层:其中,根据第二层计算获得结果可知,第三层n=8,因此(8-2)/2=3,计算量为:3*3*3*3*16*16=20,736。

S3,根据S2获得设计的网络,对人形上半身进行第一阶段的训练。

具体地,也可以按以下解释进一步理解:

1、人脸算法Input size为12x12,人形上半身样本设计size比人脸大一倍,为24X24,那么网络设计stride需要是1,2,1,2,因为最后输出是NX3X3,N是通道数,做3*3的卷积最后回归出人脸候选框的得分和回归位置坐标,stride为1对应的公式计算n-2,stride为2对应的公式计算(n-2)/2(n为每一层输入大小),比如人形输入24x24,以同样通道数16作为标准,第一层卷积后是22x22,第二层卷积后是10x10,第三层是8x8,第四层是3*3.

第一层计算量:

22*22*3*3*16*1=69,696

第二层计算量:

10*10*3*3*16*16=230,400

第三层计算量:

8*8*3*3*16*16=147,456

第四层计算量:

3*3*3*3*16*16=20,736

总的MAC数:468,288

2、而我们的方法输入input size是38*38,既因为增加了分辨率导致特征保留更多,表达能力更强,计算量又大大减少一半多,所以在精确度和效率上占绝对优势

通过此公式反推Input size,stride全部设为2,(n-2)/stride=3,倒推每一层的输入为8,18,38。

第一层计算量:

18*18*3*3*16*1=46,656

第二层计算量:

8*8*3*3*16*16=147,456

第三层计算量:

3*3*3*3*16*16=20,736

总的MAC数:214,848

3、经过此网络对人形上半身进行第一级的训练,误检从2000多个降低到100左右,大大提升了第一级粗检网络和后面精细网络的效率,因为送给后面网络的待处理框个数大大减小,同时保证了第一级网络的精确度。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种人形上半身监测网络结构的设计方法
  • 一种人形上半身检测分块设计方法
技术分类

06120113066226