基于注意力机制的目标内特征检测系统、方法和存储介质与流程

文档序号:26264822发布日期:2021-08-13 19:16阅读:120来源:国知局
基于注意力机制的目标内特征检测系统、方法和存储介质与流程

本发明涉及智能安防领域,具体涉及一种基于注意力机制的目标内特征检测系统、方法和存储介质。



背景技术:

目标检测是机器视觉的研究热点之一,而目标内特征检测是指,对目标内组件定位,以进一步分析视频、图像中的目标的结构化信息的技术。目标内特征检测是视频/图像结构化解析的重要技术之一,如车辆结构化任务中,需对车辆目标中的车脸、车窗、车灯、车标、行李架等特征进行定位,并做进一步分析。

现阶段目标内特征检测,主要借助于ssd、yolo等通用场景检测方法,其不足如下:

1.目标内特征检测通常从固定类型目标内定位多个特征位置,现有通用检测框架未考虑目标属性对目标内特征检测的指导性。

2.使用现有通用检测框架,需要构建多尺度的图像金字塔或特征金字塔,耗时较久,不利于边缘设备部署。

3.现有检测框架,借助深度卷积网络强大的拟合能力,使用同一特征图对目标进行检测框回归和分类,不利于性能的提升。

4.现有检测框架的锚框选取方式,会生成大量的负样本,导致训练阶段样本不均衡问题,分类困难。



技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供一种基于注意力机制的目标内特征检测系统、方法和存储介质,其能解决上述问题。

一种基于注意力机制的目标内特征检测系统,系统包括语义抽取模块、注意力图模块、和检测模块组成,其中:所述语义抽取模块包括多层深度卷积网络,负责从输入图像抽取高层语义信息,并将抽取的高层语义信息分享给所述注意力图模块和检测模块;所述注意力图模块包括分类子模块和注意力子模块;其中,所述分类子模块的每个属性分支包括多个卷积层、全局池化层、全局连接层和softmax层,负责对目标进行全局属性分类并监督注意力子模块的训练;其中,所述注意力子模块包括多个卷积层和反卷积层,负责构建注意力图;所述检测模块包括锚框过滤层、目标检测层和解析层,所述锚框过滤层将接收的所述注意力图模块的结果进行数据过滤并发送给目标检测层和解析层进行检测分析,输出检测结果。

本发明还提供了一种基于注意力机制的目标内特征检测方法,方法包括以下步骤:

步骤s1、样本准备:获取训练图像,标注图像全局属性标签、图像特征位置及对应的分类标签;

步骤s2、注意力图训练:注意力图模块使用训练图像以及特征位置信息,生成注意力图标签信息,并利用注意力图标签信息及图像全局属性标签监督注意力模块训练;

步骤s3、检测网络训练:固定注意力模块及语义提取模块参数,使用图像特征位置、图像特征标签监督检测网络训练,并使用注意力图生成锚框,将注意力模块引入检测框架;

步骤s4、全局网络调优,根据训练,获得优化的网络框架;

步骤s5、针对新的检测目标,通过光学系统获取图像或视频,导入优化后的网络框架,实现目标定位、分析和检测。

本发明还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行前述的方法。

相比现有技术,本发明的有益效果在于:本发明采用基于深度卷积网络的多任务学习方法,并引入注意力学习,以及单尺度检测的机制,对目标内特征进行检测定位,对目标全局属性进行分类识别,解决了传统方案训练阶段样本分布不均衡、多锚框和多尺度导致算力需求高的问题,提高了检测效率和精度。附图说明

图1为本发明基于注意力机制的目标内特征检测系统示意图;

图2为基于注意力机制的目标内特征检测方法流程示意图;

图3为候选锚框生成示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。

如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。

本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

第一实施例

一种基于注意力机制的目标内特征检测系统,参见图1,系统包括语义抽取模块、注意力图模块、和检测模块组成。

其中,语义抽取模块包括多层深度卷积网络,负责从输入图像抽取高层语义信息,并将抽取的高层语义信息分享给所述注意力图模块和检测模块。

其中,所述注意力图模块包括分类子模块和注意力子模块。

所述分类子模块的每个属性分支包括多个卷积层、全局池化层、全局连接层和softmax层,负责对目标进行全局属性分类并监督注意力子模块的训练;其中,所述注意力子模块包括多个卷积层和反卷积层,负责构建注意力图;

其中,所述检测模块包括锚框过滤层、目标检测层和解析层,所述锚框过滤层将接收的所述注意力图模块的结果进行数据过滤并发送给目标检测层和解析层进行检测分析,输出检测结果。

以机动车为例,图1中,机动车的全局属性包括机动车方向、车型、车身颜色等,车辆特征包括车窗、车标、车灯、行李架、天窗等。训练步骤分为样本准备、注意力图多任务训练、检测网络训练、全局网络调优等。

第二实施例

一种基于注意力机制的目标内特征检测方法,该方法由第一实施例的系统实施,参见图2,方法包括以下步骤。

步骤s1、样本准备:获取训练图像,标注图像全局属性标签、图像特征位置及对应的分类标签。

步骤s2、注意力图训练:注意力图模块使用训练图像以及特征位置信息,生成注意力图标签信息,并利用注意力图标签信息及图像全局属性标签监督注意力模块训练;其中,注意力图标签信息的生成方法包括以下步骤。

s21、计算标签每类特征的均值图像,表示为:

s22、根据样本均值图像计算样本差异图重心(xc,yc);样本差异图重心(xc,yc)的计算公式为:

式中,为样本均值图像对应坐标(i,j)处的像素值,pi,j为特征图像(i,j)处的坐标值。

s23、根据差异图重心(xc,yc)生成注意力图g(x,y)。注意力图g(x,y)的计算公式为:

式中,x、y表示像素在注意力图中的坐标,xs、xe、ys、ye分别表示目标特征在图像中横轴、纵轴方向的起始、终止位置。

步骤s3、检测网络训练:固定注意力模块及语义提取模块参数,使用图像特征位置、图像特征标签监督检测网络训练,并使用注意力图生成锚框,将注意力模块引入检测框架;其中,锚框的生成方法为:

s31、生成候选锚框,参见图3,以注意力图中的每个位置为锚点,并以锚点为中心生成不同尺度的矩形框,作为候选框;每个坐标为(i,j)处的锚点对应的多个候选框中的第k个候选框bboxi,j,k为:

bboxi,j,k={li,j,k,ti,j,k,wi,j,k,hi,j,k}…………式3;

式中,li,j,k、ti,j,k、wi,j,k、hi,j,k分别为该锚框左上角横坐标、左上角纵坐标、锚框宽度及锚框高度。

s32、计算每个候选框的置信度ci,j,k:

式中,f为注意力图中锚框区域内各对应点的值。

s33、根据候选框的置信度,对候选框进行过滤得到最终的候选框集合bboxes:

bboxes={ci,j,k≥t}………………………………式5;

式中,t为置信度过滤阈值。

步骤s4、全局网络调优,根据训练,获得优化的网络框架。

步骤s5、针对新的检测目标,通过光学系统获取图像或视频,导入优化后的网络框架,实现目标定位、分析和检测。

第三实施例

本发明还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行前述方法的步骤。其中,所述方法请参见前述部分的详细介绍,此处不再赘述。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。

需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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