1.本发明属于人工智能技术领域,更具体地说,涉及一种面向移动端实时应用的人体目标检测方法及系统。
背景技术:2.目前高速运动相机在智能驾驶、智慧城市和智能安防等方面运用的越来越广,为了确保各应用场景的可靠性,需要对人体准确检测并提高检测速度。由于城市、道路等环境的复杂性,人体之间存在相互遮挡且在远景视野中成像较小,造成现有检测方式的检测效果不理想。对智能驾驶、智能安防等移动端实时应用的推进已经构成主要影响问题。现有的移动端检测人体的方法主要分为传统算法和基于深度学习两类。基于深度学习的目标检测部署时,例如faster rcnn(faster regions with cnn features),ssd(single shot multibox detector),yolo(you only look once)等网络结构,受到部署设备的性能要求、传感器的帧率影响、网络结构复杂等诸多因素影响,检测人体目标时,往往设备性能和网络结构复杂度难以平衡,无法达到功耗小、网络结构轻便、实时检测精度高的目的。基于传统算法的方法在部署时功耗可以满足需求,但是难以检测精度不足,难以保障智慧城市、智能驾驶的有效部署。综上所述,现有的移动端检测方法无法对以高速运动相机为传感器进行高精度、实时的检测,缺乏对较远目标、遮挡目标的有效检测,缺乏对不同数据的自适应能力。
3.针对上述问题也进行了相应的改进,如中国专利申请号cn202010690770.9,公开日为2020年10月27日,该专利公开了一种用于移动端的轻量级目标检测方法及系统,属于深度学习目标检测领域;所述的方法具体步骤如下:s1利用mogo-ssd网络架构搭建depthwise与pointwise的组合卷积;s2利用imagenet数据集进行权重预训练;s3保留训练后的参数,作为预训练模型进行二次优化;s4将二次优化后的训练模型用于目标数据检测。该专利的不足之处在于:虽能在一定程度上改善检测精度,但整体的实时性以及适用性较窄。
4.又如中国专利申请号cn201811149138.2,公开日为2019年3月1日,该专利公开了一种移动目标中人体视觉检测方法,包括以下步骤:从实时监控视频中提取视频帧;对所述视频帧进行处理,获取移动目标的前景图像;将所述移动目标的前景图像转换成二值化图;计算所述二值化图的前景的高宽比、周长、面积比和复杂度,判断所述移动目标是否为人体;若所述移动目标不是人体,则返回步骤一;若所述移动目标是人体,则继续下一步;警示。其能够利用图像处理技术完成对进入到监控画面中的人体目标的识别,检测室内是否遭到非法侵入,经济实用。该专利的不足之处在于:整个方法检测精度有限,且整体鲁棒性较差。
技术实现要素:5.1、要解决的问题
6.针对现有移动端人体检测精度和实时性差的问题,本发明提供一种面向移动端实时应用的人体目标检测方法及系统。本发明的方法通过深度学习框架对数据进行训练以此来优化适应移动端,方便后续移动端的部署,空间金字塔池化和特征金字塔结构可以大幅度增加对远景小目标及遮挡情况的准确检测,提高精测精度,且特征提取网络在部署至移动端可以在设备已有的计算资源下保证实时性,整体方法运行简单,适应性广。本发明的系统构成简单,在满足低功耗的同时保证检测精度以及增强对数据的自适应能力。
7.2、技术方案
8.为解决上述问题,本发明采用如下的技术方案。
9.一种面向移动端实时应用的人体目标检测方法,包括以下步骤:
10.s1:采集数据,并对数据进行预处理;
11.s2:将预处理过后的数据输入至深度学习框架进行训练得到网络模型文件,所述深度学习框架包括对预处理过后的数据进行特征初提取的特征提取网络,对特征提取网络得到的特征图经过空间金字塔池化spp和特征金字塔fpn训练之后输出网络模型文件;
12.s3:将网络模型文件部署到移动端,完成对人体的检测并输出结果。
13.更进一步的,所述步骤s1中对数据进行的预处理包括对数据进行的双线性插值、锚点聚类和负样本的剔除。
14.更进一步的,所述锚点聚类采用基于iou的k-means的聚类方法。
15.更进一步的,所述步骤s2中当对特征提取网络得到的特征图经过空间金字塔池化spp训练得到二次特征图,二次特征图经特征金字塔fpn训练输出结果的同时对二次特征图做上采样,并和对特征提取网络得到的特征图进行融合之后再送入特征金字塔fpn训练输出结果,将两种输出结果进行融合后最终输出网络模型文件。
16.更进一步的,步骤s3中将网络模型文件部署到移动端之前,先对网络模型文件进行模型压缩。
17.更进一步的,所述步骤s3中部署到移动端的具体步骤如下:
18.s31:将网络模型文件的格式模型转化为移动端支持的格式模型;
19.s32:对转化为移动端支持的格式模型进行验证;
20.s33:验证成功即得到移动端支持的格式模型,若验证失败,则重新进行格式转化。
21.更进一步的,步骤s31中当用于格式转化的转换工具不支持网络模型文件的某个网络结构层时,通过其他网络结构层进行组合实现转化或者当不能通过其他网络结构层进行组合时,以未能成功转换的某个网络结构层l为截断,仅转换网络结构中l层以前的网络结构层参数,l层及以后的网络结构层均放置到开发板中用于后期实现成功转换。
22.一种面向移动端实时应用的人体目标检测系统,使用如上述任一项所述的面向移动端实时应用的人体目标检测方法实现。
23.3、有益效果
24.相比于现有技术,本发明的有益效果为:
25.(1)本发明通过对现有的网络结构做出优化,采用轻量级网络mobilenetv3、空间金字塔池化和特征金字塔的组合方式作为深度学习框架对数据进行训练以此来优化适应移动端,方便网络模型文件在后续移动端的部署,同时该深度学习框架的搭建保证了在移动端速度和精度的平衡,解决了在远景视角下小目标人体的检测,同时可检测部分遮挡情
况的人体目标;整体方法运行简单,低功耗的同时能够对高速运动捕获的数据进行高精度与实时的人体检测,且基于捕获的数据提供自适应能力,可以在不同的场景中具备良好的泛化能力,在智能驾驶、智慧城市以及智能安防等方面能够得到广泛使用,从而完成有效部署;
26.(2)本发明通过双线性插值改变采集的数据尺寸加快网络的处理速度;通过锚点聚类生成适应不同场景的对应锚点信息,提高网络检测精度的同时增强整体的鲁棒性;通过负样本剔除提高场景信息特征的有效性,保证数据质量的同时加快网络处理速度;整个对数据进行预处理的过程既保证了数据质量的同时又加快了整体数据处理的速度,大幅度提高工作效率与检测精度;
27.(3)本发明通过将经spp结构训练后的二次特征图直接送至fpn的同时将二次特征图进行上采样,并和特征提取网络得到的特征图进行融合之后直接送至fpn,加强网络对远景小目标的检测,进一步加强整体的检测精度;同时将输出的网络模型经过压缩后部署到移动端,降低参数冗余,减小存储占用、通信宽度和计算复杂度,方便在移动端的部署,有效提高整体的工作效率,节约时间;
28.(4)本发明通过将网络模型文件转化成移动端匹配的格式,便于移动端的移植,同时对该格式进行验证,保证准确性;并且对转换工具不支持的网络结构层进行对应的操作,保证经过深度学习框架训练的网络模型文件能够顺利部署到移动端,充分考虑到了不同情况的发生,使得整个方法的包容性较强,覆盖面较广。
附图说明
29.图1为本发明的流程示意图;
30.图2为本发明的深度学习框架结构示意图;
31.图3为本发明的部署到移动端的流程示意图。
具体实施方式
32.下面结合具体实施例和附图对本发明进一步进行描述。
33.实施例1
34.如图1所示,一种面向移动端实时应用的人体目标检测方法,包括以下步骤:
35.s1:采集数据,可通过高速运动相机作为传感器进行捕获实时数据,并作为原始数据进行保存,完成不同场景数据的采集过程;并对数据进行预处理,预处理的目的是为了将高速运动相机采集到的原始数据进行优化,保证数据质量的同时减小数据量,提高数据处理的速度;具体的,在预处理步骤中,包括对原始数据进行的双线性插值、锚点聚类和负样本的剔除的三个处理步骤,双线性插值改变原始数据的尺寸,加快网络的处理速度;锚点聚类生成适应不同场景的对应锚点信息,提高网络检测精度;负样本剔除提高场景信息特征的有效性,保证数据质量的同时加快网络处理速度;因此整个对数据进行预处理的过程既保证了数据质量的同时又加快了整体数据处理的速度,大幅度提高工作效率与检测精度;
36.具体的,在预处理的锚点聚类步骤中,采用基于iou(交并比,intersection over union)的k-means的聚类方法,其中iou的计算方式为:计算每个ground truth(数据正确的标注)边界盒和k个先验框(anchor,锚点)的交并比(iou)值,k-means的距离函数为:
distance=1-iou(box,anchor);该聚类方法能够对不同场景数据适应网络结构,得到适应数据的锚点,精度较高的同时进一步增强整个方法的鲁棒性;同时,在预处理的负样本剔除的步骤中,正负样本的标准如下:1、保证每个ground truth有一个唯一的anchor进行对应,计算该边界盒和当前层的anchor的宽高比,如果最大比例大于设定阈值(设定阈值可由经验进行设置),本实施例中将设定阈值设置为5,则比例过大说明匹配度不高,将该边界盒剔除,在当前层认为是背景;2、从其中剔除iou大于0.4(该值由经验进行设置,可不唯一)的作为忽略样本,其余的作为负样本。
37.s2:将预处理过后的数据输入至深度学习框架进行训练得到网络模型文件,所述深度学习框架包括对预处理过后的数据进行特征初提取的特征提取网络,对特征提取网络得到的特征图经过空间金字塔池化spp和特征金字塔fpn训练之后输出网络模型文件;具体的,如图2所示,该深度学习框架caffe(convolutional architecture for fast feature embedding)采用移动端轻量级网络mobilenetv3来提取预处理过后的数据的特征信息,然后得到特征图(featuremap),将得到的特征图经过空间金字塔池化spp得到二次特征图,再将二次特征图进入特征金字塔fpn,经检测头(yolo)进行送检完成对人体目标的检测,随后输出结果即网络模型文件;本技术中的深度学习框架中通过空间金字塔池化和特征金字塔结构可以大幅度增加对远景小目标以及存在遮挡物情况的准确检测,进而提高整个的检测精度;同时通过轻量级网络mobilenetv3在部署到移动端可以在设备已有的计算资源下保证实时性,保证了移动端速度与精度的平衡,解决了以往设备性能与网络结构复杂度难以平衡的问题;
38.优选的,在该步骤s2中当对特征提取网络得到的特征图经过空间金字塔池化spp训练得到二次特征图,二次特征图经特征金字塔fpn训练由检测头(yolo)进行送检,随后输出结果;同时将二次特征图进行上采样,并和对特征提取网络得到的基础特征图进行融合之后再送入特征金字塔fpn训练由检测头(yolo)进行送检,随后输出结果;将两种输出结果进行融合后最终输出网络模型文件,该步骤是为了进一步加强网络对远景小目标的检测,从而进一步提高整体的检测精度。
39.s3:将网络模型文件部署到移动端,完成对人体的检测并输出结果;部署到移动端时,具体的如图3所示,在本实施例中移动端以海思为例,具体步骤如下:
40.s31:将网络模型文件的格式模型通过转换工具进行转化为移动端海思支持的格式模型即wk格式模型;在进行该步骤之前首先需对网络模型文件的格式进行检验,判断是否为caffemodel,该格式为深度学习框架训练出来的模型文件,若是则进行转换步骤成wk格式;若不是则将其先转换为caffemodel再进行移动端格式wk格式的转化;
41.s32:对转化为移动端支持的格式模型进行验证,验证的目的则为了保证转换之后模型的精确度;具体的,验证方式为:将wk格式模型与原始caffemodel格式模型余弦相似度比较,若大于98.5%则验证成功;若小于或等于98.5%则需逐层排查余弦相似度,重新转换,重新验证,当重新进行模型转换时,模型转换失败则进行排查结构与算子支持情况,以此针对转换过程中可能存在的问题进行逐层分析排查,保证整个排查过程的全面性,继而保证后续转换效果;
42.s33:验证成功即得到移动端支持的格式模型,若验证失败,则重新进行格式转化。
43.更进一步的,在步骤s3中将网络模型文件部署到移动端之前,先对网络模型文件
进行模型压缩,可采用模型压缩算法如int8量化、模型剪枝等方法降低参与冗余,从而减小存储占用、通信宽带和计算复杂度,方便后期在移动端进行部署。
44.本发明的方法通过对现有的网络结构做出优化,网络结构轻便,采用轻量级网络mobilenetv3、空间金字塔池化和特征金字塔的组合方式作为深度学习框架对数据进行训练以此来优化适应移动端,方便网络模型文件在后续移动端的部署,同时该深度学习框架的搭建保证了在移动端速度和精度的平衡,解决了在远景视角下小目标人体的检测,同时可检测部分遮挡情况的人体目标;整体方法运行简单,低功耗的同时能够对高速运动捕获的数据进行高精度与实时的人体检测,且基于捕获的数据提供自适应能力,可以在不同的场景中具备良好的泛化能力,在智能驾驶、智慧城市以及智能安防等方面能够得到广泛推进与使用,从而完成有效部署。
45.实施例2
46.基本同实施例1,具体的,为了进一步考虑到整个流程的全面性,在本实施中,着重讲述以海思为例在进行部署时,对海思不支持的网络进行优化。具体的,所述步骤s31中当用于格式转化的转换工具不支持网络模型文件的某个网络结构层时,可以对该网络结构层进行原理分析,通过其他网络结构层进行组合完成该网络结构层的类似功能,实现转化。譬如对本技术中mobilenetv3的激活函数hswish可以通过power+eltwise+relu成功完成替换移植的效果。当不能通过其他网络结构层进行组合完成类似功能时,可以通过分析该网络结构层底层功能直接在开发板中实现类似功能,具体的,将网络结构以未能成功转换的某个网络结构层l为截断,仅转换网络结构中l层以前的网络结构层参数,l层及以后的网络结构层均放置到开发板中用于后期实现成功转换。通过以上两种方法可对海思不支持转换的网络结构层进行成功移植到海思。充分考虑到了不同情况的发生,使得整个方法的包容性较强,覆盖面较广。
47.实施例3
48.一种面向移动端实时应用的人体目标检测系统,使用如上述实施例1-2任一项所述的面向移动端实时应用的人体目标检测方法实现。具体的该系统包括:
49.采集模块:用于采集高速运动相机中的实时数据;
50.预处理模块:用于对采集模块中的实时数据进行预处理,保证数据质量的同时加快网络处理速度;
51.深度学习网络模块:用于对预处理模块输出的数据进行训练,得到相对应的网络模型;
52.部署模块:用于将深度学习网络输出的网络模型部署到移动端;
53.移动端:用于对部署到移动端的检测结果进行处理并完成结果输出。
54.本发明的系统由各个模块各司其职,整体构成简单,有效改善了以往移动端检测系统无法对高速运动相机为传感器进行高精度和实时的检测;由于获取数据时数据不统一,缺乏对数据进行自适应处理的能力;以及缺乏对较远目标、遮挡目标的有效检测等种种弊端,该系统满足低功耗的同时保证检测精度以及增强对数据的自适应能力,具有较高的使用前景。
55.本发明所述实例仅仅是对本发明的优选实施方式进行描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域工程技术人员对本发明的技术
方案作出的各种变形和改进,均应落入本发明的保护范围。