一种运动目标位姿跟踪方法及装置与流程

文档序号:20833652发布日期:2020-05-22 16:36阅读:187来源:国知局
一种运动目标位姿跟踪方法及装置与流程

本申请属于图像处理技术领域,尤其涉及一种运动目标位姿跟踪方法及装置。



背景技术:

人工智能今年来已成为全球范围内的研究热点之一,实现人工智能即使机器如人类一般进行思考,工作,而实现的方式之一就是赋予机械各种感知能力。其中在机械视觉技术领域中,目标位姿跟踪技术具有重要意义。

现有技术中目标位姿跟踪技术可以分为运动目标捕捉和目标姿态估计,运动目标捕捉技术包括有光流法、帧间差分法、背景减除法等方法,这些方法存在容易受外界因素影响精度,不能同时兼顾运动目标位置捕捉和目标轮廓检测,泛用性差等缺陷;目标姿态估计方法中icp姿态估计算法需要在三维点云空间中进行迭代运算,这种方法存在参数获取困难,数据处理速度慢的缺陷。

深度学习已经成为机器视觉、图像处理等领域的热点,现有技术中目标位姿跟踪技术基于深度学习,构建卷积神经网络,直接通过2d图像信息预测控制点图像坐标,进而建立2d-3d控制点对应,实现位姿参数的求解,但这种方法存在精度不高的缺陷。



技术实现要素:

本申请实施例提供了一种运动目标位姿跟踪方法及装置,可以基于神经网络来预测运动目标的位姿信息,从而确定运动目标的运动跟踪数据,基于该运动跟踪数据实现对运动目标的位姿跟踪,提高对运动目标的运动跟踪精度,解决现有技术中对运动目标的运动跟踪精度不高的问题。

第一方面,本申请实施例提供了一种运动目标位姿跟踪方法,包括:

获取关于待跟踪目标的运动图像集;

分别将所述运动图像集内各个运动图像帧导入特征提取网络,输出各个所述运动图像帧对应的特征卷积层图像;

将所述特征卷积层图像导入跟踪网络,确定所述待跟踪目标在所述运动图像帧内的位姿信息;

基于所述待跟踪目标在各个所述运动图像帧内的所述位姿信息以及所述运动图像集,确定所述待跟踪目标的运动跟踪数据。

在第一方面的一种可能的实现方式中,使用相机获取敢于待跟踪目标的运动图像集,所述运动图像集包含各个运动图像帧的彩色信息和深度信息。

示例性的,使用rgb相机获取各个运动图像帧的彩色信息;使用深度相机获取各个运动图像帧的深度信息。

应理解,关于待跟踪目标的运动图像集可以从其他渠道进行获取。

第二方面,本申请实施例提供了一种装置,包括:

图像获取模块,用于获取关于待跟踪目标的运动图像集;

特征提取模块,用于分别将所述运动图像集内各个运动图像帧导入特征提取网络,输出各个所述运动图像帧对应的特征卷积层图像;

跟踪模块,用于将所述特征卷积层图像导入跟踪网络,确定所述待跟踪目标在所述运动图像帧内的位姿信息;

分析模块,用于基于所述待跟踪目标在各个所述运动图像帧内的所述位姿信息以及所述运动图像集,确定所述待跟踪目标的运动跟踪数据。

第三方面,本申请实施例提供了一种终端设备,包括:rgbd相机、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的运动目标位姿跟踪方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的运动目标位姿跟踪方法。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的运动目标位姿跟踪方法。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

本申请实施例与现有技术相比存在的有益效果是:

本申请提供的运动目标位姿跟踪方法,相对于现有技术,能够基于神经网络预测的位姿信息,确定运动目标的运动跟踪数据,基于运动目标的运动跟踪数据,实现对运动目标的位姿跟踪,提高对运动目标的运动的预测精度。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请第一实施例提供的运动目标位姿跟踪方法的实现流程图;

图2是本申请一实施例提供的应用场景示意图;

图3是本申请第二实施例提供的运动目标位姿跟踪方法s103的实现流程图;

图4是本申请本申请一实施例提供的神经网络的结构示意图;

图5是本申请第三实施例提供的训练神经网络的实现流程图;

图6是本申请本申请第四实施例提供的训练神经网络s502中第一损失获取的实现流程图;

图7是本申请第五施例提供的训练神经网络s502中第二损失获取的实现流程图;

图8是本申请一实施例提供的运动目标位姿跟踪装置的结构示意图;;

图9是本申请一实施例提供的终端设备的结构示意图;

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

在本发明实施例中,流程的执行主体为终端设备。该终端设备包括但不限于:服务器、计算机、智能手机以及平板电脑等能够执行目标检测方法的设备。优选地,该终端设备为运动目标位姿跟踪设备,该终端设备能够通过相机获取所述运动目标的实时位姿信息,实现对运动目标的位姿跟踪。图1示出了本申请第一实施例提供的运动目标位姿跟踪方法的实现流程图,详述如下:

在s101中,获取关于待跟踪目标的运动图像集。

在本实施例中,终端设备获取关于待跟踪目标的运动图像集,示例性地,可以将预先准备好关于待跟踪目标的运动图像集导入终端设备,又或者,终端设备可以在使用应用程序的过程中,通过应用程序产生的视频数据获取关于待跟踪目标的运动图像集,还可以通过从其他设备获取的方式获取关于待跟踪目标的运动图像集,优选地,通过相机获取关于待跟踪多个运动图像帧,构成上述运动图像集。具体地,上述运动图像集中的各个运动图像帧包含图像彩色信息,优选地,还包含图像深度信息。

在s102中,分别将所述运动图像集内各个运动图像帧导入特征提取网络,输出各个所述运动图像帧对应的特征卷积层图像。

在本实施例中,上述特征提取网络是卷积神经网络(convolutionalneuralnetworks,cnn),可选地,上述特征提取网络可以基于vgg网络(优选vgg-16网络)的网络框架进行搭建,也可以直接选用训练好了的vgg-16网络;上述特征卷积层图像优选特征提取网络的最后一层卷积层图像,用于提取上述运动图像帧更多的图像特征信息。

在s103中,将所述特征卷积层图像导入跟踪网络,确定所述待跟踪目标在所述运动图像帧内的位姿信息。

在本实施例中,具体地,上述跟踪网络是基于深度学习训练的神经网络,具体地,跟踪网络包括mask-rcnn网络以及pose预测网络;上述mask-rcnn网络可以参照现有技术中的mask-rcnn网络的框架搭建的,也可以直接选用现有技术中训练好的mask-rcnn网络;上述pose预测网络是基于4个全连接层进行搭建的。

在本实施例中,具体地,上述位姿信息包括,图像特性信息和位姿特征参数;上述图像特性信息包括待跟踪目标的分类信息以及在上述运动图像帧内的边框信息和图像掩码区域,上述位姿特征参数包括待跟踪目标在上述运动图像帧内的中心像素坐标以及旋转向量;上述分类信息指的是待跟踪目标的分类,例如该待跟踪目标是人时,对应的分类信息则为人类human;上述边框信息指的是在上述运动图像帧内通过与该待跟踪目标在图像中尺寸匹配的边框标记待跟踪目标时,该标记的边框在运动图像帧的位置信息,基于该位置信息可以确定在运动图像帧内该待跟踪目标所在的具体最小边框,该与待跟踪目标在图像中尺寸匹配的边框指的是恰好能包围住该待跟踪目标的边框;上述图像掩码区域指的是在上述运动图像帧内的代表着该待跟踪目标的像素集合所在的区域,即该待跟踪目标在上述运动图像帧内的轮廓包围的区域;上述中心像素坐标指的是待跟踪目标的物体中心在上述运动图像帧内的基于像素坐标系的坐标;上述旋转向量指的是待跟踪目标在获取该运动图像帧的相机对应的相机坐标系上的旋转向量。

在本实施例中,将特征卷积层图像导入跟踪网络确定位姿信息,其中mask-rcnn网络用于确定该待跟踪目标的分类信息和在上述运动图像帧内的、边框信息以及图像掩码区域,pose预测网络用于该待跟踪目标在上述运动图像帧内的中心像素坐标以及旋转向量。

在s104中,基于所述待跟踪目标在各个所述运动图像帧内的所述位姿信息以及所述运动图像集,确定所述待跟踪目标的运动跟踪数据。

在本实施例中,运动跟踪数据包括上述待跟踪目标在上述运动图像集内产生的运动轨迹、旋转信息以及姿态变化,优选地,还包括三维运动轨迹、分类信息和位置变化。

具体地,基于上述位姿信息,确定在上述运动图像集的各个运动图像帧内,待跟踪目标的中心坐标像素、旋转向量以及图像掩码区域,基于上述待跟踪目标的中心像素坐标、旋转向量以及图像掩码区域在上述运动图像中的变化,确定待跟踪目标的运动轨迹、旋转信息以及姿态变化。

优选地,基于待跟踪目标的中心像素坐标以及上述运动图像集中各个运动图像帧内包含的图像深度信息,确定待跟踪目标的中心三维坐标,基于上述待跟踪目标的中心三维坐标确定待跟踪目标的三维运动轨迹,基于上述位姿信息的分类信息,确定在运动图像集内识别的是同一个待跟踪目标,基于上述位姿信息的边框确定待跟踪目标在运动图像集内的位置变化。上述中心三维坐标指的是待跟踪目标的物体中心在上述运动图像帧内基于获取该运动图像帧的相机对应的相机坐标系上的坐标。

在本实施例中,上述的中心三维坐标为基于相机坐标系的坐标。基于待跟踪目标的中心像素坐标以及上述运动图像集包含的图像深度信息,确定待跟踪目标的中心三维坐标,具体地,基于中心像素坐标(εx,εy),确定中心三维坐标(tx,ty,tz),满足以下公式,

其中,cx,cy,fx,fy为获取该运动图像帧的相机内的参数,作为示例而非限定,基于该相机通过黑白棋盘标定测试获得;tz为运动图像帧上中心像素的深度值,基于深度相机获得的深度图像确定。

在本实施例中,基于神经网络预测待跟踪目标在运动图像集内的图像特性信息和位姿特征参数,基于预测的图像特性信息和位姿特征参数确定待跟踪目标的位姿信息,基于待跟踪目标的位姿信息在运动图像集内连续多个运动图像帧之间的变化确定待跟踪目标的运动跟踪数据,实现了对运动目标的位姿跟踪,在确定待跟踪目标的运动跟踪数据时,基于图像特性信息和位姿特征参数所构成的位姿信息,提高了对运动目标的运动跟踪精度。

为进一步说明本实施例的有益效果,参见图2,图2示出了本申请一实施例提供的应用场景示意图,详述如下:

基于本申请所述的运动目标位姿跟踪方法,对图2中的待跟踪目标进行位姿跟踪。具体地,获取待跟踪目标的运动图像集,示例性地,待跟踪目标为人类,运动图像集为图2所示的3个运动图像帧,基于该3个运动图像帧,确定该待跟踪目标在各个运动图像帧的位姿信息,包括:确定该待跟踪目标的分类信息为人类human;确定该待跟踪目标在各个运动图像帧的边框信息,即图2所示的围住该待跟踪目标的边框在对应的运动图像帧的位置信息;确定待跟踪目标在各个运动图像帧的图像掩码区域,即图2所示的关于该待跟踪目标的涂黑区域;确定待跟踪目标在各个运动图像帧的中心像素坐标(图中未标出)以及旋转向量(图中未标出)。基于该待跟踪目标在上述运动图像集内所有运动图像帧的位姿信息,确定待跟踪目标的运动跟踪数据,实现对待跟踪目标的位姿跟踪,具体实现步骤可参照上文中本实施例所描述的相关步骤。

在本实施例中,基于待跟踪目标的运动跟踪数据,可以实现对待跟踪目标的监控,例如图2所示的对待跟踪目标进行监控,通过该3个运动图像帧,确定了该待跟踪目标为人类(同时确定了该人类的正面),确定了该人类从左脚踩地,右脚离地的姿态变化到双脚踩地的姿态,再变化到左脚离地,右脚踩地的姿态;通过计算该人类物体中心三维坐标的位移变化,确定该人类的运动方向以及运动路程,通过计算该人类旋转向量的变化,确定该人类基于相机坐标系的旋转变化,该旋转变化代表着该人类的旋转方向以及旋转角度,作为示例而非限定,具体数值仅用于举例说明,得到该人类在该运动图像集内的两次运动跟踪数据,确定该人类向获取该运动图像帧的相机对应的相机坐标系的y轴方向依次运动了1米,沿着获取该相机坐标系的z轴依次向顺时针旋转了30°。

本申请所述的运动目标位姿跟踪方法还可以用于机械臂精准定位等多种情况。特别地,可以根据需求,通过运动的相机获取关于待跟踪目标的多个运动图像帧构成的运动图像集,基于该运动图像集实现对待跟踪目标的跟踪,例如,在机械臂精准定位时,相机固定在机械臂上,机械臂通过相机对待抓取目标进行定位,通过机械臂的运动,尝试抓取相对世界坐标系静止的待抓取目标,在机械臂运动过程中,相机也会跟着运动,基于相机在运动过程中获取的关于待抓取的多个图像帧构成的图像集实现对待抓取目标的位姿跟踪,基于对待抓取目标的位姿跟踪实时调整机械臂的运动,实现抓取待抓取目标。若待抓取目标并非相对世界坐标系静止的,那么需要将待抓取目标的基于相机坐标系的中心三维坐标基于相机的运动转换为待抓取目标在世界坐标系上的中心三维坐标。

图3示出了本申请第二实施例提供的运动目标位姿跟踪方法s103的实现流程图,详述如下:

在s1031中,将特征卷积图像导入mask-rcnn网络,生成感兴趣区域roi卷积层图像以及图像特性信息,包括:基于所述roi卷积层图像确定所述运动图像帧中关于所述待跟踪目标的图像掩码区域。

在本实施例中,将该特征卷积层图像导入区域生成网络(regionproposalnetwork,rpn)得到感兴趣区域(regionofinterest,roi)信息,示例性地,预设15种锚点框(anchor-box)捕捉该特征卷积层图像中的roi信息。该roi信息指的是基于roi与上述锚点框的相对映射关系存储的该特征卷积层图像的图像特征信息。上述15种锚点框包括16*16、32*32、64*64、128*128、256*256共5种不同尺度的锚点框,每种相同大小的锚点框包括2:1、1:1、1:2共3种不同高宽比的锚点框。应理解,锚点框的设置是示例性地而非限定,除了锚点框的设置不同以外,上述rpn网络为本领域技术人员熟知的rpn网络。

在本实施例中,基于该roi信息对特征卷积层图像进行池化,得到roi卷积层图像,将该roi卷积层图像导入mask-rcnn的分类class网络,具体地,该roi卷积层图像通过两个全连接层和一个分类层得到roi卷积层图像进行具体类别的分类,得到待跟踪目标的分类信息;将该roi卷积层图像导入mask-rcnn的边框box网络,即该roi卷积层图像通过两个全连接层和一个边框层得到待跟踪目标在上述运动图像帧内的边框信息。

在本实施例中,基于roi卷积层图像确定所述运动图像帧中关于所述待跟踪目标的图像掩码区域,具体地,将该roi卷积层图像导入mask-rcnn的分割网络,即对该roi卷积层图像进行特征分割,具体地,对该roi卷积层图像的各个像素进行二分类,若判断该像素是背景则赋值为0,若判断该像素是前景则赋值为1,最终得到二值化的掩码图像,掩码图像中像素值为1的区域为图像掩码区域。

优选地,将roi卷积层图像通过4个连续的基于3*3的卷积核构成的卷积层,得到卷积特征图,在该roi卷积层图像通过上述的任一卷积层前,都要经过线性整流函数(rectifiedlinearunit,relu)进行激活,将该卷积特征图通过一个反卷积层,得到反卷积特征图,将该反卷积特征图映射到固定大小的掩模图像中,对该掩模图像的各个像素进行二分类,若判断该像素是背景则赋值为0,若判断该像素是前景则赋值为1,最终得到二值化的掩码图像,掩码图像中像素值为1的区域为图像掩码区域。

在本实施例中,上述分类信息、边框信息以及图像掩码区域构成该待跟踪目标在该运动图像帧的图像特性信息。

在s1032中,将所述roi卷积层图像以及所述图像掩码区域导入到pose预测网络,确定所述待跟踪目标在所述运动图像帧内的位姿特征参数。

在本实施例中,具体地,基于上述图像掩码区域对上述roi卷积层图像进行掩模处理,得到掩码特征图,基于该掩码特征图,确定该待跟踪目标在该运动图像帧内的所述位姿特征参数。

具体地,将上述roi卷积层图像上对应的图像掩码区域之外的区域用0值覆盖,覆盖后的图像即为掩码特征图;该掩码特征图通过pose预测网络确定上述位姿特征参数,示例性地,该掩码特征图通过4层全连接层,具体地,基于神经网络拟合,得到5个值,分别为归一化后的该待跟踪目标的中心像素坐标(x,y)中的x和y以及旋转向量(a,b,c)中的a、b和c,其中,上述归一化后的中心像素坐标(x,y)中的x和y是基于上述运动图像帧的一角为原点,其他三角分别为(0,1)、(1,1)以及(1,0)的坐标系进行确定的。

在本实施例中,上述图像掩码区域,中心像素坐标(x,y)以及旋转向量(a,b,c)即构成该待跟踪目标在该运动图像帧的位姿特征参数。

在s1033中,基于所述图像特性信息以及所述位姿特征参数确定所述位姿信息。

在本实施例中,上述图像特性信息和上述位姿特征参数构成所述位姿信息,所述位姿信息。

在本实施例中,确定该待跟踪目标的分类信息以及该待跟踪目标在该运动图像帧内的边框信息、图像掩码区域、中心像素坐标以及旋转向量,以便于后续确定所述待跟踪目标在所述运动图像帧内的位姿信息,基于待跟踪目标在各个运动图像帧内的位姿信息,确定该待跟踪目标在所述运动图像集的运动跟踪数据,提高对待跟踪目标的运动跟踪精度。

在本实施例中,将roi卷积层图像进行掩模处理得到的掩码特征图导入pose预测网络,确定该待跟踪目标在该运动图像帧内的位姿信息,而不是直接roi卷积层图像导入pose预测网络确定该待跟踪目标在该运动图像帧内的位姿信息,可以提高位姿信息的预测精度,进一步可以提高该跟踪网络的预测精度和速度。

图4示出了本申请一实施例提供的神经网络的结构示意图,详述如下:

特征提取网络指的是图3中的cnn网络,在图4中cnn网络是vgg-16网络,所述vgg-16网络时包含13个卷积层和3个全连接层,特征卷积层图像是运动图像帧(相当于图4中最左的图像)通过该vgg-16网络的第五次卷积得到的卷积层图像里面的第三卷积子层图像,即该vgg-16网络最后一层(第13层)卷积层图像,特征卷积层图像包含了与整个vgg-16网络其他卷积层图像相比最多的关于运动图像帧的特征信息。如图4所示,mask-rcnn网络和pose预测网络构成跟踪网络。

将特征卷积层图像导入跟踪网络,确定待跟踪目标的位姿信息,即确定该待跟踪目标在上述运动图像帧内的分类信息、边框信息、图像掩码区域、中心像素坐标以及旋转向量。具体地,将特征卷积层图像导入mask-rcnn网络,具体地,将该特征卷积层图像导入rpn网络得到roi信息,基于该roi信息对特征卷积层图像进行池化,得到roi卷积层图像,作为示例而非限定,在图3中该roi卷积层图像规格为7*7*512;将该roi卷积层图像导入mask-rcnn的分类网络,具体地,该roi卷积层图像通过两个全连接层和一个分类class层得到roi卷积层图像进行具体类别的分类,得到待跟踪目标的分类信息(示例性地,参见图4,该待跟踪目标的分类信息为人类human);将该roi卷积层图像导入mask-rcnn的边框box网络,即该roi卷积层图像通过两个全连接层和一个box层得到待跟踪目标在上述运动图像帧内的边框信息(示例性地,参见图4,该待跟踪目标的边框信息为最右图里的包围该人类的黑色边框的位置信息);将该roi卷积层图像导入mask-rcnn的分割网络,即对该roi卷积层图像进行特征分割,具体地,对该roi卷积层图像的各个像素进行二分类,优选对该roi卷积层图像通过4个连续的3*3卷积,每个卷积后使用relu激活,再通过一个反卷积,得得到反卷积特征图,将该反卷积特征图映射到1层28*28的掩模图像中,对该掩模图像的各个像素进行二分类,若判断该像素是背景则赋值为0,若判断该像素是前景则赋值为1,最终得到二值化的掩码mask图像,其中像素值为1的区域为图像掩码区域(示例性地,参见图4,待跟踪目标的图像掩码区域为最右图里的黑色区域)。

基于上述图像掩码区域对上述roi卷积层图像进行掩模处理,得到掩码特征图,具体地,将上述roi卷积层图像上对应的图像掩码区域之外的区域用0值覆盖,覆盖后的图像即为掩码特征图;该掩码特征图通过pose预测网络,即该掩码特征图通过4层全连接层,作为示例而非限定,如图4所示,该掩码特征图通过4层输出分别为4096、4096、480、5的全连接层,具体地,基于神经网络拟合,最终得到5个值,分别为归一化后的该待跟踪目标的中心像素坐标(x,y)中的x和y以及旋转向量(a,b,c)中的a、b和c,上述归一化后的中心像素坐标(x,y)的x和y是基于上述运动图像帧的一角为原点,其他三角分别为(0,1)、(1,1)以及(1,0)的归一化像素坐标系进行确定的。示例性地,参见图4,待跟踪目标的中心为最右图里该人类的黑色区域(图像掩码区域)中的白点。

图5示出了本申请第三实施例提供的训练神经网络的实现流程图,详述如下:

进一步地,作为本申请的另一实施例,s101之前还可以包括s501~s503:

在s501中,基于训练数据集预训练所述特征提取网络。

在本实施例中,示例性地,特征提取网络优选vgg-16网络,训练数据集优选imagenet数据集。由于imagenet数据集是一个开源的数据库,网络用户可以向该imagenet数据库内上传图像数据,并且imagenet数据库可以以预设的更新周期从互联网内爬取图像信息,因此imagenet数据集内包含大量图像数据,可以用于对神经网络进行训练学习。可以从互联网上直接获取,节省训练数据集的准备成本,vgg-16网络指的是现有技术中的一种卷积神经网络。基于获取得到的imagenet数据集对vgg-16网络进行预训练,得到训练后的特征提取网络,该特征提取网络的精度更高。

在s502中,将预设的标注数据集导入所述跟踪网络,确定跟踪网络损失。

在本实施例中,上述预设的标注数据集包括关于各个训练目标的训练图像集、该训练图像集各个训练图像帧对应的训练卷积特征图以及上述训练目标在商户述训练图像集中的各个训练图像帧内对应的标注信息。示例性地,训练图像集包含20种待跟踪目标(每种待跟踪目标对应20个训练图像帧)对应的400个训练图像帧,每个训练图像帧均为640*480的rgb图像。

可选的,训练图像集的各个训练图像帧可以根据运动的相机对静止的待跟踪目标进行连续的拍摄获取的,可以节省训练图像集的准备成本;该静止的待跟踪目标旁存在相对其静止的标定物,用于确定上述标注信息;该标定物优选黑白棋盘,保证该相机对标定物的定位跟踪精度,提高标注信息的准确性。

在本实施例中,将预设的标注数据集导入跟踪网络,确定跟踪网络损失,具体地,将该标注数据集种的关于各个训练目标的训练图像集内各个训练图像帧对应的训练卷积特征图导入跟踪网络,输出跟踪网络损失。示例性地,该训练卷积特征图是通过将该标注数据集中的关于各个训练目标的训练图像集导入上述特征提取网络得到的,该步骤的具体实现可参见上述图4的详细描述。

在本实施例中,上述跟踪网络损失包括mask-rcnn网络输出的第一损失以及pose预测网络输出的第二损失,上述第一损失包括mask-rcnn网络输出的分类损失、边框损失以及掩码损失,上述第二损失包括pose预测网络输出的位姿损失。基于上述分类损失、边框损失、掩码损失、位姿损失以及预设的损失函数,计算跟踪网络损失,该预设的损失函数如下:

l=a1lcls+a2lbox+a3lmask+a4lpose

其中,l为跟踪网络损失;a1,a2,a3,a4为各个损失对应的权重,超参数,初始化为1,基于深度学习变化;lcls为分类损失,基于softmaxloss函数获得;lbox为边框损失,基于smoothl1函数获得;lmask为掩码损失,即掩模交叉熵损失,基于crossentropy函数获得;lpose为位姿损失,基于预设的位姿损失函数获得。

在s503中,基于所述跟踪网络损失训练所述跟踪网络。

在本实施例中,基于上述跟踪网络损失,对该跟踪网络进行损失回归,示例性地,对该跟踪网络进行损失级联回归,训练该跟踪网络。

在本实施例中,预训练特征提取网络,可以提高特征提取网络输出的特征卷积图像的特征信息量;基于带标注训练集中的关于训练目标的训练图像集及其对应的标注信息,构建基于自监督深度学习的训练,提高训练跟踪网络的效果;基于预设的损失函数训练跟踪网络,达到基于多个任务损失来联合训练跟踪网络的效果,提高跟踪网络的精度。

图6示出了本申请第四实施例提供的训练神经网络s502中第一损失获取的实现流程图,详述如下:

在s601中,将训练卷积特征图导入所述mask-rcnn网络,得到训练roi卷积层图像。

在本实施例中,将训练卷积特征图导入所述mask-rcnn网络,得到训练roi卷积层图像,具体地,将该训练特征卷积层图像导入rpn网络,得到训练roi信息,基于该训练roi信息对训练特征卷积层图像进行池化,得到训练roi卷积层图像。

在本实施例中,示例性地,将该训练特征卷积层图像导入rpn网络,得到训练roi信息,具体地,预设15种锚点框捕捉该训练特征卷积层图像中的roi信息,上述15种锚点框包括16*16、32*32、64*64、128*128、256*256共5种不同尺度的锚点框,每种相同大小的锚点框包括2:1、1:1、1:2共3种不同高宽比的锚点框。除了锚点框的设置不同以外,上述rpn网络为本领域技术人员熟知的rpn网络,该步骤的具体实现可参见上述图3中s1031的详细描述。

在s602中,基于所述训练roi卷积层图像以及所述mask-rcnn网络,确定所述训练目标在所述训练图像帧对应的预测分类,预测边框,预测图像掩码区域。

在本实施例中,上述标注信息包括所述训练目标在所述训练图像帧内的真值分类、真值边框、真值图像掩码区域。

在本实施例中,基于所述训练roi卷积层图像以及所述mask-rcnn网络,确定所述训练目标在所述训练图像帧对应的预测分类,预测边框,预测图像掩码区域,具体地,将该训练roi卷积层图像导入mask-rcnn的分类网络,得到所述预测分类,将该训练roi卷积层图像导入mask-rcnn的边框网络,得到所述预测边框,将该训练roi卷积层图像导入mask-rcnn的分割网络,得到所述预测图像掩码区域,该步骤的具体实现可参见上述图4的详细描述。

在s603中,基于预测分类、预测边框、预测图像掩码区域以及标注信息,分别计算所述训练目标在所述训练图像帧对应的分类损失、边框损失、掩码损失。

在本实施例中,具体地,基于上述预测分类、上述真值分类以及softmaxloss函数计算分类损失;基于上述预测边框、上述真值边框以及smoothl1函数计算边框损失;基于上述预测图像掩码区域、上述真值图像掩码区域以及crossentropy函数计算掩码损失。本实施例提及的softmaxloss函数、smoothl1函数、crossentropy函数均为本领域技术人员可以毫无疑义确定的函数。

在s604中,基于各个所述训练目标在各个所述训练图像帧对应的所述分类损失、所述边框损失以及所述掩码损失,得到所述第一损失。

在本实施例中,分类损失、边框损失以及掩码损失构成所述第一损失。

在本实施例中,基于mask-rcnn网络得到第一损失,以便于后续基于跟踪网络损失训练跟踪网络,提高跟踪网络的精度。

图7示出了本申请第五施例提供的训练神经网络s502中第二损失获取的实现流程图,详述如下:

在s701中,将所述训练roi卷积层图像以及所述预测图像掩码区域导入所述pose预测网络,得到预测掩码特征图。

在本实施例中,所述标注信息包括所述训练目标在所述训练图像帧内的真值位姿特征参数;所述真值位姿特征参数包括真值旋转向量,真值中心像素坐标;作为示例而非限定,所述真值旋转向量可以是基于所述训练图像帧内所述训练目标对应的标定物的基准位置确定的,该标定物与该训练目标之间相对位置保持不变,具体地,该标定物优选黑白棋盘。

在本实施例中,基于上述预测图像掩码区域对上述预测roi卷积层图像进行掩模处理,得到预测掩码特征图,具体地,将上述预测roi卷积层图像上对应的预测图像掩码区域之外的区域用0值覆盖,覆盖后的图像即为预测掩码特征图。

在s702中,基于预测掩码特征图,确定所述训练目标在所述训练图像帧内对应的预测位姿特征参数。

在本实施例中,上述预测位姿特征参数包括预测中心像素坐标以及预测旋转向量。

在本实施例中,基于预测掩码特征图,确定所述训练目标在所述训练图像帧内对应的预测位姿特征参数,具体地,该预测掩码特征图通过pose预测网络,即该预测掩码特征图通过4层全连接层,作为示例而非限定,该预测掩码特征图通过4层输出分别为4096、4096、480、5的全连接层,具体地,基于神经网络拟合,最终得到5个值,分别为归一化后的该待跟踪目标的预测中心像素坐标r中的横纵坐标,以及预测旋转向量ε中的三个参数,上述归一化后的中心像素坐标r是基于上述运动图像帧的一角为原点,其他三角分别为(0,1)、(1,1)以及(1,0)的归一化像素坐标系进行确定的,该步骤的具体实现可参见上述图4的详细描述。

在s703中,基于预测位姿特征参数以及与所述训练图像在所述训练图像帧对应的所述真值位姿特征参数,计算所述训练目标在所述训练图像帧对应的位姿损失。

在本实施例中,具体地,基于上述预测位姿特征参数中的预测旋转向量和预测中心像素坐标、上述真值位姿特征参数中的真值旋转向量和真值中心像素坐标以及上述预设的位姿损失函数计算上述位姿损失,该预设的位姿损失函数如下:

lpose=||r-r'||p+β||ε-ε'||p

其中,β为超参数,初始化为4,基于深度学习变化;r和r’分别为预测旋转向量和真值旋转向量;ε和ε'分别为预测中心像素坐标和真值中心像素坐标。

在本实施例中,具体地,在s704中,基于各个所述训练目标在各个所述训练图像帧对应的所述位姿损失,得到所述第二损失。

在本实施例中,作为示例而非限定,第二损失即构成位姿损失。

在本实施例中,基于pose预测网络得到第二损失,以便于后续基于跟踪网络损失训练跟踪网络,提高跟踪网络的精度。

对应于上文实施例所述的运动目标位姿跟踪方法,图8示出了本申请一实施例提供的运动目标位姿跟踪装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图8,该装置包括:图像获取模块,用于获取关于待跟踪目标的运动图像集;特征提取模块,用于分别将所述运动图像集内各个运动图像帧导入特征提取网络,输出各个所述运动图像帧对应的特征卷积层图像;跟踪模块,用于将所述特征卷积层图像导入跟踪网络,确定所述待跟踪目标在所述运动图像帧内的位姿信息;分析模块,用于基于所述待跟踪目标在各个所述运动图像帧内的所述位姿信息以及所述运动图像集,确定所述待跟踪目标的运动跟踪数据。

可选的,上述跟踪模块包括图像特性信息获取模块以及位姿特征参数获取模块;上述图像特性信息获取模块用于将所述特征卷积层图像导入mask-rcnn网络,确定所述待跟踪目标在所述运动图像帧内的roi卷积层图像以及图像特性信息;上述位姿特征参数获取模块用于将所述roi卷积层图像以及所述图像特性信息导入pose网络,确定所述待跟踪目标在所述运动图像帧内的位姿特征参数。

可选的,该装置还包括了深度学习模块,用于训练特征提取网络以及跟踪网络;该训练模块包括:特征训练模块,用于基于训练数据集预训练该特征提取网络;网络损失模块,用于将预设的标注数据集导入跟踪网络,确定跟踪网络损失;损失回归模块,用于基于跟踪网络损失对该跟踪网络进行训练。

可选的,上述网络损失模块包括:第一损失模块,用于将上述标注数据集导入mask-rcnn网络,确定第一损失;第二损失模块,用于将上述标注数据集导入pose预测网络,确定第二损失。

需要说明的是,上述装置之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

图9示出了本申请一实施例提供的终端设备的结构示意图。如图9所示,该实施例的终端设备9包括:至少一个处理器90(图9中仅示出一个)处理器、存储器91以及存储在所述存储器91中并可在所述至少一个处理器90上运行的计算机程序92,所述处理器90执行所述计算机程序92时实现上述任意各个基于通信凭证共享服务的共享服务指标的确定方法实施例中的步骤。

所述终端设备9可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是终端设备9的举例,并不构成对终端设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

所称处理器90可以是中央处理单元(centralprocessingunit,cpu),该处理器90还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器91在一些实施例中可以是所述终端设备9的内部存储单元,例如终端设备9的硬盘或内存。所述存储器91在另一些实施例中也可以是所述终端设备9的外部存储设备,例如所述终端设备9上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器91还可以既包括所述终端设备9的内部存储单元也包括外部存储设备。所述存储器91用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

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

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