一种级联检测中分块优化的方法与流程

文档序号:27091503发布日期:2021-10-27 12:00阅读:90来源:国知局
一种级联检测中分块优化的方法与流程

1.本发明涉及神经网络领域,特别涉及一种级联检测中分块优化的方法。


背景技术:

2.人工智能领域中神经网络技术日益发展迅猛。其中mtcnn技术也是近年来较为流行的技术之一。mtcnn,multi-task convolutional neural network(多任务卷积神经网络),将人脸区域检测与人脸关键点检测放在了一起,总体可分为p-net、r-net、和o-net三层网络结构。用于人脸检测任务的多任务神经网络模型,该模型主要采用了三个级联的网络,采用候选框加分类器的思想,进行快速高效的人脸检测。这三个级联的网络分别是快速生成候选窗口的p-net、进行高精度候选窗口过滤选择的r-net和生成最终边界框与人脸关键点的o-net。
3.但是,在现有技术中,也存在如下缺点:当前深度学习算法如果不依赖gpu或npu等硬件加速处理器在嵌入式平台上纯粹靠cpu运行会非常吃力,客户体验也会非常不好,cpu占用率居高不下,落地困难。
4.此外,现有技术中常用的技术术语包括:
5.级联卷积网络:就是设计n阶网络,由粗到精对任务进行处理。
6.图像金字塔:就是将图像按一定尺度进行变换,以适应对不同大小的人脸进行检测。
7.最小检测大小:如果检测目标宽高小于最小检测大小,模型没有检测能力。


技术实现要素:

8.为了解决上述问题,本发明的目的在于:通过本方法实现依靠cpu工作就能够降低cpu负载,提升用户体验。
9.具体地,本发明提供一种级联检测中分块优化的方法,所述方法包括以下步骤:
10.s1,将图像分为16块,图像宽的方向分为四块,高的方向分为四块,确定图像金字塔列表里的最后三个;
11.s2,所述16块的分块标准及块移按以下公式计算:
12.(input_w-wlen_w)/inc_w+1=fn_w公式(1)
13.(input_h-wlen_h)/inc_h+1=fn_h公式(2)
14.inc_w=(input_w

min_object_size)/fn_w公式(3)
15.其中,
16.input_w/input_h为输入图像的宽/高;
17.wlen_w/wlen_h为分块的宽/高长度;
18.inc_w/inc_h为块移;
19.fn_w/fn_h是在横向/纵向要分的块数;
20.min_object_size为最小检测物体大小,其保证跨越两块之间的最小物体不漏检。
21.由此,本技术的优势在于:通过分块优化的方式使得级联检测中的效得到大幅提升,充分考虑到了大小目标的检测范围,且与整帧检测效果没有差异。
附图说明
22.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。
23.图1是本发明方法的示意流程图。
具体实施方式
24.为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
25.如图1所示,本发明涉及
26.一种级联检测中分块优化的方法,所述方法包括以下步骤:
27.s1,将图像分为16块,图像宽的方向分为四块,高的方向分为四块,确定图像金字塔列表里的最后三个;
28.s2,所述16块的分块标准及块移按以下公式计算:
29.(input_w-wlen_w)/inc_w+1=fn_w公式(1)
30.(input_h-wlen_h)/inc_h+1=fn_h公式(2)
31.inc_w=(input_w

min_object_size)/fn_w公式(3)
32.其中,
33.input_w/input_h为输入图像的宽/高;
34.wlen_w/wlen_h为分块的宽/高长度;
35.inc_w/inc_h为块移;
36.fn_w/fn_h是在横向/纵向要分的块数;
37.min_object_size为最小检测物体大小,其保证跨越两块之间的最小物体不漏检。
38.所述方法选取m*n分辨率的输入图像,其分辨率大小使得图像计算量占整体计算量至少在60%以上。
39.所述的m*n为640*360。
40.所述的图像计算量占整体计算量优选为70%以上。
41.最小检测物体大小min_object_size为40;
42.input_w=640
43.fn_w=4
44.根据公式(3)
45.inc_w=(640

40)/4=150
46.根据公式(1)
47.wlen_w=190。
48.进一步同理:
49.input_h=360
50.fn_h=4
51.根据公式(3)
52.inc_h=(360

40)/4=80
53.根据公式(1)
54.wlen_h=120。
55.所述的wlen_w为190,取图像金字塔对应列表的最后三个为(230,130),(138,78),(83,47)。
56.具体地,本发明还可以描述为以下实施方式:
57.1级联卷积网络需要对图像进行图像金字塔构建,项目以640*360为输入分辨率,以scale为0.6的缩放系数进行构造图像金字塔,金字塔图像列表计算公式为(input_w*0.6的n次方,input_h*0.6的n次方);
58.以人形检测最小检测大小为40为例,640*360对应的列表为(640,360),(384,216),(230,130),(138,78),(83,47),因为47再以0.6的比例缩放已经小于最小检测大小,所以(83,47)为最后一个金字塔图像;
59.2分块设计:
60.因为640*360的大分辨率图计算量占整体计算量的70%以上,所以重点对640*360进行分块优化;
61.16+3的设计理念:16指的是图像宽的方向分为四块,高的方向分为四块,3是指的金字塔列表里的最后三个。
62.16块的分块标准以以下公式计算:
63.(input_w-wlen_w)/inc_w+1=fn_w (1)
64.(input_h-wlen_h)/inc_h+1=fn_h (2)
65.input_w/input_h为输入图像的宽和高
66.wlen_w/wlen_h为分块的宽和高长度
67.inc_w/inc_h为块移
68.fn_w/fn_h是在横向和纵向要分的块数
69.块移的计算通过以下公式计算:
70.min_object_size为最小检测物体大小
71.inc_w=(input_w

min_object_size)/fn_w
ꢀꢀꢀ
(3)
72.尤为重要的是min_object_size,其保证跨越两块之间的最小物体不漏检;
73.以640*360为例:
74.input_w=640
75.fn_w=4
76.根据公式(3)
77.inc_w=(640

40)/4=150
78.根据公式(1)
79.wlen_w=190
80.此例中wlen_w为190,取金字塔的最后三个(230,130),(138,78),(83,47)作为16+3后面的3的设计理念,对于跨越两块的大目标有检测能力并且计算量很小。
81.同理:
82.input_h=360
83.fn_h=4
84.inc_h=(360

40)/4=80
85.wlen_h=120。
86.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1