基于视觉的移动视体静态中小尺度目标识别方法与流程

文档序号:20919970发布日期:2020-05-29 14:01阅读:281来源:国知局
基于视觉的移动视体静态中小尺度目标识别方法与流程

本发明涉及图像处理和计算机视觉技术,尤其是涉及了基于视觉的移动视体静态中小尺度目标识别方法。



背景技术:

随着机器学习发展和硬件计算能力增强,基于图像的实时目标检测算法发展迅速。其中以faster-rcnn、yolo、ssd为代表的方法旨在识别数据集中多种类型物体并标注其在视场中位置,这些方法在该领域取得了突破性进展。

基于图像的目标检测是机器人等移动视体感知、认知环境的主要途径之一。当视体(传感器)在环境中移动时,某些场景(家庭环境)中存在较多中小尺寸的静态目标,目标识别系统在识别它们时获得的信息往往不只单帧图片,而是视体具有微小位置变化的图片序列。

上述方法在此类环境中确已具有一定检测识别能力,但识别的准确性、鲁棒性距离实际应用依然存在较大差距,其效果不足主要体现在移动过程中检测结果跳变剧烈、识别评分不稳定和存在误检几方面。



技术实现要素:

为解决现有技术的不足,提高识别的准确性、鲁棒性,避免检测结果跳变剧烈、识别评分不稳定和误检,本发明采用如下的技术方案:

基于视觉的移动视体静态中小尺度目标识别方法,包括如下步骤:

步骤s1:获取边界框信息,包括边界框个数、边界框坐标、边界框类别、置信度评分值;

步骤s2:创建边界框对象集合,用于储存和维护所述边界框信息;

步骤s3:维护所述对象的短期记忆状态;

步骤s4:当所述对象存在短期记忆时,将所述对象的置信度评分值与展示阈值比较,若所述置信度评分值大于等于所述展示阈值,则准备展示所述对象的识别结果;所述展示阈值是具有短期记忆的所述对象达到展示条件的置信度评分下限值;

步骤s5:当所述对象不存在短期记忆时,将所述对象的所述置信度评分值与静态阈值比较,若所述置信度评分值大于等于所述静态阈值,则准备展示所述对象的识别结果;所述静态阈值是无短期记忆的所述对象达到展示条件的置信度评分下限值;

步骤s6:展示满足条件的所述对象的边界框;

步骤s7:更新所有具有短期记忆的所述对象的展示阈值。

所述步骤s2,包括如下步骤:

步骤s2-1:以每个边界框为元素,创建边界框的集合;

步骤s2-2:差集扩充集合,将当前帧的边界框的集合与先前边界框的集合求差集,将所述差集增加到先前边界框的集合中,为扩充后的集合的元素创建不带短期记忆的对象;所述不带短期记忆的对象用于记录边界框的信息和边界框连续检测数、连续失检数;

步骤s2-3:为所述对象更新连续检测数、连续失检数,当所述对象由最近帧引入当前集合时,将所述连续检测数、所述连续失检数置零;当所述对象不由最近帧引入当前集合时,若最近帧识别到所述对象,则连续检测数加一,连续失检数置零,若最近帧未检测到所述对象,则连续检测数置零,连续失检数加一;

步骤s2-4:若所述连续失检数大于等于某一数值时,将所述对象删除,精简集合中的多余元素,所述某一数值是2以上的整数。

所述步骤s2-3,所述识别,是通过所述边界框类别和所述边界框坐标,建立的相邻帧边界框之间的映射关系实现的。融合多帧边界框以提升目标识别稳定性。

所述步骤s3,包括如下步骤:

步骤s3-1:对未创建短期记忆的所述对象进行判定,如所述对象的连续检测数大于等于某一数值,则对所述对象创建短期记忆,所述某一数值是2以上的整数,所述创建短期记忆是对所述对象创建先验知识队列,重设连续失检数;

在步骤s3-2:对已创建短期记忆的所述对象进行判定,如所述对象的连续失检数大于等于某一数值,则遗忘短期记忆,所述某一数值是2以上的整数,所述遗忘短期记忆是删除所述对象的所述先验知识队列。

所述静态阈值取值范围在0.65-0.8之间。

所述步骤s7,包括如下步骤:

步骤s7-1:将具有短期记忆的所述对象的置信度评分值置入所述先验知识队列,保存最近帧边界框的顶点坐标;

步骤s7-2:所述先验知识队列包括qa队列、qb队列,所述qa队列用于保存与学习阈值比较后的所述对象的历史置信度评分值,当所述对象的置信度评分值大于等于所述学习阈值时,将所述置信度评分值加入所述qa队列,当所述对象的置信度评分值小于所述学习阈值时,将0值加入所述qa队列,所述学习阈值是当前对象达到作为后续对象的先验知识的置信度评分值下限值;所述qb队列用于保存历史置信度评分值与展示阈值比较后的置信度评分值;当所述历史置信度评分值大于等于展示阈值时,将所述历史置信度评分值加入所述qb队列,当所述历史置信度评分值小于展示阈值时,将0值加入所述qb队列;

步骤s7-3:通过动态阈值法更新所述对象的展示阈值,对所述对象的置信度评分值使用时序相关权重进行分配,使算法能基于先前识别数据和时间权重参数调整展示阈值。

所述步骤s7-2,在与所述展示阈值比较之前,对所述历史置信度评分值进行滤波处理,所述滤波处理是对随时间剧烈变化的所述置信度评分值采用可变滑动窗口均值算法进行平滑操作,避免所述置信度评分值波动过大而影响所述对象的识别结果;

所述步骤s7-3,所述动态阈值法,是将所述qb队列中的置信度评分值作为输入数据,设计基于时间序列呈等比数列衰减的指数滤波核,建立展示阈值与所述输入数据的负相关关系,并设定展示阈值的控制范围,相关表达式如下:

所述threshold是展示阈值,所述c是动态阈值的最大值,所述表示卷积项,所述norm是归一化参数,所述a是指数滤波核,所述s是输入数据,所述i是所述qb队列中历史置信度评分值序列数;所述展示阈值的范围在[(c-scope),c]之间,所述归一化参数用于将所述卷积项的取值范围限定在(0,scope)之间,所述scope表示所述展示阈值的调节范围宽度。

本发明的优势和有益效果在于:

本发明通过映射关系融合了多帧边界框以提升目标识别稳定性,通过滤波处理避免了置信度评分值波动过大而影响识别结果,通过动态阈值法更新展示阈值使展示结果更准确,通过视体移动中产生的冗余信息较好的解决了检测结果跳变剧烈和识别评分不稳定问题,避免了误检,提高了鲁棒性,提升单帧图片中的目标检测能力。

附图说明

图1是本发明的流程图。

图2是本发明中维护边界框对象集合元素的流程图。

图3是本发明中维护对象短期记忆状态的流程图。

图4是本发明中动态阈值法更新展示阈值的流程图。

图5是本发明中实际检测评分曲线与动态实时展示阈值变化曲线的对比图。

图6是本发明中实际检测结果按时序排列的视频帧。

具体实施方式

以下结合附图和具体实施例对本发明作具体的介绍。

如图1所示,基于视觉的移动视体静态中小尺度目标识别方法,包括如下步骤:

步骤s1:从基础识别算法获取所需相应数据,包括图像视场内标注出的边界框信息,包括边界框个数、各个边界框坐标、边界框对应目标类别、置信度评分值;将这些数据作为多帧融合算法的输入,所述置信度评分值是使用单帧目标检测算法检测时算法输出的对应所述边界框的检测评分值;

步骤s2:创建边界框对象集合,用于储存和维护所述当前边界框信息;

步骤s3:对集合中的所有元素处理,维护所述对象的短期记忆状态,将满足条件但尚未创建短期记忆的对象创建短期记忆,将部分具有短期记忆但连续数帧未检测到对象的短期记忆清除;

步骤s4:当所述对象存在短期记忆时,将所述对象的置信度评分值与集合对象中对应时刻的展示阈值比较,若所述置信度评分值大于等于所述该对象对应时刻的展示阈值,则准备展示所述对象的识别结果;所述展示阈值是具有短期记忆的所述对象达到展示条件的置信度评分下限值;

步骤s5:当所述对象不存在短期记忆时,将所述对象的所述置信度评分值与静态阈值比较,若所述置信度评分值大于等于所述静态阈值,则准备展示所述对象的识别结果;所述静态阈值是无短期记忆的所述对象达到展示条件的置信度评分下限值;

步骤s6:展示满足条件的所述对象的边界框;

步骤s7:根据最近输入的数据更新所有具有短期记忆的所述边界框对象的展示阈值,具体执行包括维护评分队列、建立评分队列与展示阈值映射关系两部分。

如图2所示,所述步骤s2,包括如下步骤:

步骤s2-1:将上一步骤从基础识别算法中获得的数据整理成集合形式,以每个边界框为元素,创建边界框的集合;

步骤s2-2:差集扩充集合,将当前帧的边界框的集合与先前边界框的集合求差集,将所述差集增加到先前边界框的集合中,设先前识别的边界框集合为a,当前输入帧的边界框集合为b,则在先前集合中增加(b-a)的元素,为扩充后的先前边界框的集合的元素创建不带短期记忆的对象;所述不带短期记忆的对象用于记录当前边界框的基本信息和当前边界框连续检测数、连续失检数;

步骤s2-3:集合扩充后,为所述集合内所有对象更新连续检测数、连续失检数两个数值,当所述对象由最近帧边界框引入当前集合时,将所述连续检测数、所述连续失检数置零;当所述对象不由最近帧引入当前集合时,若最近帧识别到所述对象,则连续检测数加一,连续失检数置零,若最近帧未检测到所述对象,则连续检测数置零,连续失检数加一;

步骤s2-4:若所述连续失检数大于等于某一数值时,将所述对象删除,精简集合中的多余元素,所述某一数值是2以上的整数。

所述步骤s2-3,所述识别,是通过所述边界框类别和所述边界框坐标,建立的相邻帧边界框之间的映射关系实现的。融合多帧边界框以提升目标识别稳定性这一动作,建立在不同帧对应边界框标注同一目标的这一基础上,映射关系指将同一目标边界框在相邻帧的对应方法。

如图3所示,所述步骤s3,包括如下步骤:

步骤s3-1:对集合中未创建短期记忆的所述对象进行判定,如所述对象的连续检测数大于等于某一数值,则对所述对象创建短期记忆,所述某一数值是2以上的整数,所述创建短期记忆是对所述对象创建先验知识队列,重设连续失检数;

在步骤s3-2:对集合中已创建短期记忆的所述对象进行判定,如所述对象的连续失检数大于等于某一数值,则遗忘短期记忆,所述某一数值是2以上的整数,所述遗忘短期记忆是删除所述对象的所述先验知识队列。

所述静态阈值取值范围在0.65-0.8之间。

如图4所示,所述步骤s7,包括如下步骤:

步骤s7-1:将具有短期记忆的所述对象的置信度评分值置入所述先验知识队列,保存最近帧边界框的顶点坐标用于建立相邻帧边界框的映射关系。

步骤s7-2:所述先验知识队列包括qa队列、qb队列,所述qa队列用于保存与学习阈值比较后的所述对象的历史置信度评分值,当所述对象的置信度评分值大于等于所述学习阈值时,将所述置信度评分值加入所述qa队列,当所述对象的置信度评分值小于所述学习阈值时,将0值加入所述qa队列,所述学习阈值是当前对象达到作为后续对象的先验知识的置信度评分值下限值;所述qb队列用于保存历史置信度评分值与展示阈值比较后的置信度评分值;当所述历史置信度评分值大于等于当前时刻的展示阈值时,将所述历史置信度评分值加入所述qb队列,当所述历史置信度评分值小于当前时刻的展示阈值时,将0值加入所述qb队列;以相同目标边界框为单位,分别处理视场中不同边界框对应的置信度评分值序列;

步骤s7-3:通过动态阈值法更新所述对象的展示阈值,所述动态阈值法是利用时间序列权重机制调整展示阈值的方法,所述时间序列权重机制,是对所述对象的置信度评分值使用时序相关权重进行分配,使算法能基于先前识别数据和时间权重参数实时调整展示阈值;先将所述qb队列与时间权重做卷积,得到卷积后的数值,再通过数学表达式建立所述对象的展示阈值和所述卷积后的数值的负相关关系,最后更新所述对象的展示阈值。

所述步骤s7-2,在与所述展示阈值比较之前,对所述历史置信度评分值进行滤波处理,所述滤波处理是对随时间剧烈变化的所述置信度评分值采用可变滑动窗口均值算法进行平滑操作,避免所述置信度评分值波动过大而影响所述对象的识别结果。

所述步骤s7-3,所述动态阈值法,是将所述qb队列中的置信度评分值作为输入数据score_smooth,设计基于时间序列呈等比数列衰减的指数滤波核conv_geo,设定衰减系数c_fee,设定卷积核尺寸设置为conv_size,使用函数关系建立展示阈值与所述输入数据的负相关关系,并设定展示阈值的控制范围,相关表达式如下:

所述threshold是展示阈值,所述0.8是动态阈值的最大值,所述表示卷积项,所述norm是归一化参数,所述a是指数滤波核,所述s是滤波后的输入数据,所述i是所述qb队列中的边界框历史置信度评分值序列数;所述展示阈值的范围在[(0.8-scope),0.8]之间,所述归一化参数用于将所述卷积项的取值范围限定在(0,scope)之间,所述scope表示所述展示阈值的调节范围宽度;若需要将展示阈值threshold控制在[0.5,0.8]范围内,则范围宽度scope为0.3,此时就应选择合适正则化参数norm,使所述卷积项的范围限定在0-0.3之间。如图5、6所示,该方法连续数帧内无失检现象。

本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1