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

一种消除人形检测中误报的方法

文献发布时间:2024-04-18 19:58:21


一种消除人形检测中误报的方法

技术领域

本发明涉及智能视频处理技术领域,特别涉及一种消除人形检测中误报的方法。

背景技术

随着计算机技术的发展和计算机视觉原理的广泛应用,使用计算机图像处理技术来实时检测跟踪目标变得越来越流行。在智能交通系统,智能监控系统和军事目标检测中使用目标的动态实时跟踪和定位,并且将手术器械定位在医学导航手术中具有广泛的应用价值。目标检测的任务是找出图像中所有感兴趣的目标,确定它们的位置和大小,是机器视觉领域的核心问题之一。由于各类物体有不同的外观,形状,姿态,加上成像时光照,遮挡等因素的干扰,目标检测一直是机器视觉领域最具有挑战性的问题现。

本技术消除误报的方法起源于人形检测,可扩展于所有目标检测中误报的消除。如今人形检测作为智能摄像头中一项必不可少的基础AI算法,人形检测可以用在各个场景中。家里安装人形检测摄像头,保障自己生活安全的同时,也可以通过观测监控,随时随地了解家中状况。室外可做客流统计等。

现有目标检测中常用的减少误报方法:增加负样本数据,增加负样本数据也可分为两类,一是找一些多样的没有目标的图片直接放进训练数据中;另一种是用现有的模型对无目标图片进行检测,会出现一些检测错误的图片,将这些检测出来的图片当负样本放进训练数据中;除了增加负样本数据外还可以通过提高正样本质量来减少误报,需要对训练样本重新进行筛选,过滤不好的样本;当然还可以通过使用更深更复杂的网络,只是这样会改变网络结构,这样一来,检测时间也会相应增加。

现有的消除误报方法如增加负样本数据,这种方法可以解决一些泛化的误报,但是增加负样本必然会导致召回率的下降;筛选正样本,提高样本质量,如猫狗检测误检出现手的误检是由于框的猫狗正样本中一部分数据包含了手(人抱着宠物),只需调整正样本避开手的标注,便可消除对手的误报,这种方法会减少正样本的多样性,从而导致召回率的下降;使用更深的网络会导致网络的改变,增加检测时间,增加模型的大小;并且这些传统方法不能很好地消除误报,即对于广泛场景中的各不相同的误检去除效果不是很好。

此外,现有技术中的术语:

COCO:全称是Common Objects in COntext,是微软团队提供的一个可以用来进行图像识别的数据集。MS COCO数据集中的图像分为训练、验证和测试集。COCO通过在Flickr上搜索80个对象类别和各种场景类型来收集图像,其使用了亚马逊的Mechanical Turk(AMT)。COCO通过大量使用Amazon Mechanical Turk来收集数据。COCO数据集现在有3种标注类型:object instances(目标实例),object keypoints(目标上的关键点),和imagecaptions(看图说话),使用JSON文件存储。yolov5是一个多类别用于目标检测的一个深度学习开源框架。

发明内容

为了解决上述现有技术中的问题,本申请的目的在于:提出一种针对目标检测中的误报从而消除误报的方法。

具体地,本发明提供一种消除人形检测中误报的方法,所述方法包括以下步骤:

S1.添加误报数据标注:

收集各个场景的图片,此处数据集为coco数据集,将coco数据集用训练好的模型检测一遍,将检测出来的误报框标注为新的一类,这里称之为类人形,设classid为1;

S2.改变网络增加误检目标分类:

此次的人形检测网络采用yolov5框架,yolov5框架增加分类的具体步骤如下:

S2.1.将模型配置文件yolov5s.yaml中的nc属性值加一,nc即为类别个数,单人形检测为1,增加一类即加一为2,原为nc=1现变为nc=2;

S2.2.将数据配置文件coco.yaml的nc属性值也加一,即总类别数;将names:[‘person’]改为names:[‘person’,‘likeperson’],添加类人形名称;

S3.训练模型:

Yolov5共有四种网络结构:yolov5s,yolov5m,yolov5l和yolov5x,这里人形模型选用模型最小的yolov5s网络,经过上述步骤S1和步骤S2便完成了增加类人形的数据和添加分类操作,即可进行模型的训练,数据准备好后就用脚本训练模型;

S4.检测模型并调整:

测试训练出的模型,若出现一些新的误检想去掉,则再找一些与误检目标类似的环境,再重复步骤S1到步骤S3,直到误报消除;

S5.检测结果过滤误报类:

由于添加的误报类是为消除误报而添加,所以检测结果应滤掉这类,找到此类的classid加个判断过滤掉此类即可。

所述步骤S3中,训练时也能够加载之前训练的单类模型。

所述步骤S4中,增加的误报类数据不要多到影响正检,即在保证正检的前提下添加误报类,分批多训练几次模型,直到误报消除。

所述步骤S5中,假设人形模型是单类,增加类人形误报后,人形classid为0,误报类classid为1,即将classid为1的结果类过滤掉。

由此,本申请的优势在于:本申请的方案使用简单的方法,巧妙地用分类的方法在不影响原检测目标召回率和精确度的情况下消除常规方法不能消除的现有误报。

附图说明

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

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

图2是本发明的去误检的流程示意图。

图3是本发明方法中yolov5s网络结构示意图。

具体实施方式

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

本发明方法涉及人形检测系统中一种消除人误报的方法,即目标检测中一种颇有成效的消除误报方法。其方法共分为五个步骤,主要实施步骤如下:如图1所示,

S1.添加误报数据标注

收集各个场景的图片,此处数据集为coco数据集,将coco数据集用训练好的模型检测一遍,将检测出来的误报框标注为新的一类,这里称之为类人形,id为1,尽可能收集各个场景的不同的图片,需要多收集各个场景的不同的图片,这样类人形类更加多样。也可搜集误报多的场景,检测出误报类,这样更具针对性。所述训练好的模型是已经训练好的人形模型,去误检也是去的这个人形模型的误检,如果没有可以先训练一个人形模型。

S2.改变网络增加误检目标分类

此次的人形检测网络是基于yolov5框架改进的,故以yolov5框架为例,yolov5是一个多类别用于目标检测的一个深度学习开源框架,当然,此方法也可以不限于yolov5框架,所有目标检测框架皆可使用,增加方式因框架不同而改变,yolov5框架增加分类的具体步骤如下:

2.1将模型配置文件yolov5s.yaml中的nc属性值加一(nc即为类别个数,单人形检测为1,增加一类即加一为2),原为nc=1现变为nc=2;

2.2将数据配置文件coco.yaml的nc属性值也加一,即总类别数;将names:[‘person’]改为names:[‘person’,‘likeperson’],添加类人形名称;

S3.训练模型

Yolov5共有四种网络结构:yolov5s,yolov5m,yolov5l和yolov5x。这里人形模型选用模型最小的yolov5s网络,其网络结构如图3。经过上述步骤S1和步骤S2便完成了增加类人形的数据和添加分类操作,即可进行模型的训练,训练时可加载之前训练的单类模型。所述单类模型是只有一个类别的模型。

S4.检测模型并调整

测试训练出的模型,若出现一些新的误检想去掉,可以找一些相似环境,例如室内凳子出现误检,可搜集一些同类型的凳子数据,再重复步骤S1到步骤S3,直到满意为止。注意增加的误报类数据不要太多从而影响正检,即在保证正检的前提下添加误报类,可分批多训练几次模型,直到误报消除为止。

S5.检测结果过滤误报类由于添加的误报类是为消除误报而添加,所以检测结果应滤掉这类,找到此类的classid加个判断过滤掉此类即可。

综上所述,如图2所示,去除误报的方法简略为:开始后,标注误报类,然后修改代码添加新类,接着训练新模型,进而判断模型是否达到预期,如果是,则结束,如果否,则重新进行标注误报类的步骤。

本发明最主要的关键点和保护点就是将误报数据归为一类,从而达到消除误报的效果,巧妙地用分类的方法在不影响原检测目标召回率和精确度的情况下消除常规方法不能消除现有误报。

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

相关技术
  • 一种消除宠物检测中误报的方法
  • 一种降低人形上半身检测误报的方法
技术分类

06120116482420