一种基于原始cad模型的三维目标跟踪算法研究

文档序号:1954757 发布日期:2021-12-10 浏览:17次 >En<

阅读说明:本技术 一种基于原始cad模型的三维目标跟踪算法研究 (Three-dimensional target tracking algorithm research based on original CAD model ) 是由 董飞 马源源 于 2021-09-13 设计创作,主要内容包括:本发明公开了一种基于原始CAD模型的三维目标跟踪算法研究,包括建立VISP、CAO格式模型建立、三维目标跟踪、投影边缘的距离计算、三维模型与目标对准、KLT的目标跟踪算法、点线协同的目标跟踪。本发明涉及CAD模型技术领域,该基于原始CAD模型的三维目标跟踪算法研究,通过对传统基于CAD模型的三维目标跟踪算法难以处理复杂模型的实时跟踪问题,提出了一种基于替代模型的跟踪方法,该方法的核心是对原始CAD模型进行简化,同时尽可能保留关键结构信息,但当钝角边缘构成对象边界时也会保留,实验证明,本文基于简化的CAD模型能够实现对复杂对象实时、准确、高效的跟踪,从而为实时注册提供准确的定位信息。(The invention discloses a three-dimensional target tracking algorithm research based on an original CAD model, which comprises the steps of building VISP, building a CAO format model, tracking a three-dimensional target, calculating the distance of a projection edge, aligning the three-dimensional model and the target, carrying out KLT target tracking algorithm and carrying out point-line cooperative target tracking. The invention relates to the technical field of CAD models, and provides a tracking method based on a substitute model for researching a three-dimensional target tracking algorithm based on an original CAD model, which aims to solve the problem that the traditional three-dimensional target tracking algorithm based on the CAD model is difficult to process the real-time tracking of a complex model.)

一种基于原始CAD模型的三维目标跟踪算法研究

技术领域

本发明涉及CAD模型技术领域,具体为一种基于原始CAD模型的三维目标跟踪算法研究。

背景技术

增强现实技术在现代生活中的应用不断普及,包括工业、军事、医疗等领域都有广泛的应用,甚至在近两年观看的春晚节目中也频频出现,因此,增强现实技术在现代生活中起着越来越重要的作用,不断改变着日常的生活。

然而目前的CAD模型的三维目标跟踪算法在实际应用过程中,无法真实对场景中三维目标实时准确的跟踪,在缺少特征的环境中对目标进行跟踪,就需要用到人为设计的基准标志,十分的麻烦。

发明内容

针对现有技术的不足,本发明提供了一种基于原始CAD模型的三维目标跟踪算法研究,解决了CAD模型的三维目标跟踪算法在实际应用过程中,无法真实对场景中三维目标实时准确的跟踪,在缺少特征的环境中对目标进行跟踪,就需要用到人为设计的基准标志,十分麻烦的问题。

为实现以上目的,本发明通过以下技术方案予以实现:一种基于原始CAD 模型的三维目标跟踪算法研究,包括其研究方法包括以下步骤:

S1、建立VISP:建立VISP平台,使其实现对实时图像进行处理和计算机视觉算法进行跟踪,在使用校准摄像机的同时,利用能够提供对象3D位置信息的CAD模型先验知识进行无标记的目标跟踪;

S2、CAO格式模型建立:选择cao格式,分别对规则图形和不规则图形进行CAO格式建模,在对不规则图形建模时,将模型以索引三角网格为储存格式,实现模型有效网格表示,对于三角网格中的每个三角形都会与其相邻的其他三角形共享边,三角网格所要存储的信息包括顶点、边和面的信息;

S3、三维目标跟踪:对边缘特征进行检测,根据前一帧的目标位置来计算模型边缘在当前帧的图像空间中可见边缘的投影直线,计算方法是根据模型节点的投影求直线坐标的方程参数,第二步是沿投影直线方向采样,设置采样步长,求取采样点像素坐标,根据每一个采样点像素坐标及直线角度参数,选取边缘检测的单元;

S4、投影边缘的距离计算:将图像空间特征变化变换到笛卡尔坐标中,变换关系是利用点到直线距离的交互矩阵来表达的,此处,交互矩阵就是能够获取目标在三维空间平移及旋转方向的速度与图像空间坐标变化速度的关系矩阵,给定相机坐标系点P(xc,yc,zc),与其对应的平面投影点为p(x,y),根据投影关系求导可得:

交互矩阵是利用相机内参及深度信息进行估计的,图像空间直线参数方程 x cosθ+y sinθ-ρ=0,式中,θ代表直线和图像坐标系u轴的夹角,ρ是点到直线的距离,空间直线所在的平面方程A1xc+B1yc+C1zc+D1=0,由此可将其对应焦距归一化图像平面的直线投影方程表示为:

Ax+By+C=1/zc (3.2)

式中A=-A1/D1,B=-B1/D1,C=-C1/D1,直线极坐标方程求导得

ρ′+(xsinθ-ycosθ)θ′=x′cosθ+y′sinθ (3.3)

由式(3.1),(3.2),(3.3),且参考文献[6]能够得到

式中λρ=-Aρcosθ-Bρsinθ-C,λθ=-A sinθ+B cosθ,即直线的交互矩阵为:

点到直线的距离可以根据图像坐标点到斜率相等的两条直线的距离差求出,

点(xd,yd)到直线(ρ,θ)的距离可表达为

d=ρ-ρd=ρ-xdcosθ+ydsinθ (3.6)

对上式求导得

d′=ρ′-(xdcosθ+ydsinθ)θ′=ρ′-αθ′ (3.7)

式中α=xdcosθ+ydsinθ,根据直线交互矩阵得点到直线的交互矩阵

Ld=Lρ-αLθ, 表示为

式中λd=λρ+θλθ,用边缘点到对应模型投影直线之间的距离表示每个跟踪单元中的图像特征,当目标中存在多个跟踪单元时,应融合目标全部的图像特征,构造系统的交互矩阵,完成将所有可见模型投影边缘收敛于图像边缘点,系统的交互矩阵表示为

Ls=[L1 L2...Lm] (3.9)

跟踪单元特征的交互矩阵表示为

式中,λdi=λpiiλθi(i=1,...,m),矩阵中的行数表示模型投影边缘采样的特征单元个数,列数表示模型在笛卡尔空间上自由度的个数,使用伪逆将图像空间特征偏差变换为模型速度变化:

式中,是交互矩阵的伪逆,vx,vy,vz,wx,wy,wz代表模型在旋转、平移方向的速度,d1,d2,...,dm即为目标边缘点到对应模型可见投影边缘的距离;

S5、三维模型与目标对准:使模型与目标间的距离收敛到零的过程,本文使用带权重的最小二乘法,在图像空间创建表示目标边缘与模型投影特征之间偏差的目标函数,函数如下:

S6、KLT的目标跟踪算法:提取图像上的特征点,然后匹配下一帧中的特征点,得到目标在下一帧的位置,该过程的核心就是将目标跟踪转化为特征点的跟踪:

C、Harris特征点提取算法:

将图像窗口平移[u,v],产生的灰度变化E(u,v),则

式中,w(x,y)为窗口函数,I(x,y)为图像灰度,I(x+u,y+v)为平移后的图像灰度,利用泰勒级数对式(3.16)进行简化得

式中对窗口中每一个像素在x及y方向上的梯度Ix和Iy进行统计分析即可求得M,再利用M来计算每个像素的角点响应函数R:

R=det M-k(traceM)2 (3.18)

式中,det M=λ1λ2,traceM=λ1λ2,在矩阵R中,某点同时满足 R(i,j)=det(M)-Ktrace2(M)>T且R(i,j)是区域内局部极大值时,该点被认为是角点,其中,K的取值范围为0.04~0.06,T为阈值,检测过程中将低于该阈值的R设为0;

D、KLT匹配算法理论:

I(x,y,t+τ)=I(x-Δx,y-Δy,t) (3.19)

给定两幅图像I和J,定义能够使

SSDSum of Squared intensity Difference,此处用ε表示)最小化的 d,则有:

式中,W为给定的特征窗口,w(X)为加权函数,d=(Δx,Δy)为点X(x,y)的运动偏移量,由于d远小于X,则可将J(X+d)进行泰勒展开,再结合式 (3.20)对d求导可得:

Zd=e (3.21)

式中,g为展开的一阶泰勒系数,对每一个点通过(3.21)式进行牛顿迭代,当迭代结果达到要求精度时就实现了图像点的跟踪,即找到了最优匹配,最终解为:

其中,d为特征窗口中心的平移量,dk为第k次牛顿迭代法所得的d的值,在迭代计算时本文将初始迭代值设为0,当目标移动速度较慢时其相对的帧间位移也小,该情况下利用上述KLT匹配算法可以在降低匹配搜索范围的同时达到很高的匹配精度,但当目标运动过快时帧间位移也大,根据匹配获取的特征点对的可靠性也会下降,此时,若匹配窗口选的小,会有漏匹配,若匹配窗口选的大,会影响匹配精度,该问题的解决方法是对KLT匹配算法进行分层迭代,分层迭代匹配方法是通过高斯金字塔分解来实现的,操作步骤是对图像I及J进行精度递减的L层金字塔分解,得到Il和Jl,l的取值范围为l=0,1,2,...,L,(1)令l=L,初始化(2)令n=n+1,在Il和Jl上由式(3.22)求得再判断迭代的次数是否执行完或者的精度是否已经满足要求,只要满足条件之一就执行下一步,否则返回到第 (2)步,(3)当l=0时迭代结束,最后否则令l=l-1, n=0返回到步骤(2),分层迭代过程中选择小的搜索窗口,然后从高层到底层不断迭代,直到最低层为止,从而提高目标作快速移动时的点对匹配精度;

S7、点线协同的目标跟踪:将基于纹理信息的相机位移估计集成在基于边缘特征的相机姿态计算过程中。

优选的,所述步骤S1中,VISP平台所提供的可用资源是三种基于模型的无标记跟踪器,分别为基于边缘信息的模型跟踪器,基于KLT关键点信息的模型跟踪器,以及基于点线协同的目标跟踪器。

优选的,所述步骤S3中,边缘检测算子根据直线的角度来确定。

优选的,所述步骤S3中,在进行边缘检测算子时,每一个采样单元在沿着直线的法线方向以及设置的像素搜索范围内进行搜索,计算每一个检测单元法线方向像素卷积最大值,从而求解出相应的像素坐标,如此,下一帧也利用该方法求取边缘像素点坐标,不断循环直至跟踪结束。

优选的,所述步骤S5中,式中,ρ表示鲁棒性估计参数,Mi是当前模型的投影矩阵,N是边缘跟踪特征个数,K是相机内参。

优选的,所述步骤S6中,算法采用Harris算子提取特征点并结合最优估计的KLT匹配算法来实现跟踪,跟踪过程中包括KLT跟踪器的重新初始化过程,重新初始化的标准是比较当前跟踪的特征点数目占初始检测到的特征数目的比例。

优选的,所述步骤S6的A中,arris角点检测算法思路是在图像上设置一个局部检测窗口,当窗口沿任意方向移动都会引起灰度很大变化时,该区域的中心像素点就是检测到的角点。

优选的,所述步骤S6的B中,KLT跟踪算法的核心思想是以待跟踪窗口在视频图像帧间的灰度差平方和作为度量的,具体是操作是先给定一个包含特征纹理信息的窗口W,然后用平移模型来描述特征窗口内像素点的变化,令t时刻的图像帧为I(x,y,t),t+τ时刻的图像帧为I(x,y,t+τ)。

优选的,所述步骤S6的B中,根据匹配得到的关键点位置信息然后结合 CAD模型的信息确定目标的最优位置和形状即可实现三维目标的跟踪。

优选的,所述步骤S7中,采样点的方法通过最小化非线性标准来实现的。

有益效果

本发明提供了一种基于原始CAD模型的三维目标跟踪算法研究,与现有技术相比具备以下有益效果:

该基于原始CAD模型的三维目标跟踪算法研究,通过对传统基于CAD模型的三维目标跟踪算法难以处理复杂模型的实时跟踪问题,提出了一种基于替代模型的跟踪方法,该方法的核心是对原始CAD模型进行简化,同时尽可能保留关键结构信息,简化过程对原始模型多边形网格结构进行突出边缘检测,检测的标准是保留锐角边缘,但当钝角边缘构成对象边界时也会保留,实验证明,本文基于简化的CAD模型能够实现对复杂对象实时、准确、高效的跟踪,从而为实时注册提供准确的定位信息。

附图说明

图1为本发明的算法流程图。

具体实施方式

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

请参阅图1,本发明提供一种技术方案:一种基于原始CAD模型的三维目标跟踪算法研究,包括其研究方法包括以下步骤:

S1、建立VISP:建立VISP平台,使其实现对实时图像进行处理和计算机视觉算法进行跟踪,在使用校准摄像机的同时,利用能够提供对象3D位置信息的CAD模型先验知识进行无标记的目标跟踪;

S2、CAO格式模型建立:选择cao格式,分别对规则图形和不规则图形进行CAO格式建模,在对不规则图形建模时,将模型以索引三角网格为储存格式,实现模型有效网格表示,对于三角网格中的每个三角形都会与其相邻的其他三角形共享边,三角网格所要存储的信息包括顶点、边和面的信息;

S3、三维目标跟踪:对边缘特征进行检测,根据前一帧的目标位姿来计算模型边缘在当前帧的图像空间中可见边缘的投影直线,计算方法是根据模型节点的投影求直线坐标的方程参数,第二步是沿投影直线方向采样,设置采样步长,求取采样点像素坐标,根据每一个采样点像素坐标及直线角度参数,选取边缘检测的单元;

S4、投影边缘的距离计算:将图像空间特征变化变换到笛卡尔坐标中,变换关系是利用点到直线距离的交互矩阵来表达的,此处,交互矩阵就是能够获取目标在三维空间平移及旋转方向的速度与图像空间坐标变化速度的关系矩阵,给定相机坐标系点P(xc,yc,zc),与其对应的平面投影点为p(x,y),根据投影关系求导可得:

交互矩阵是利用相机内参及深度信息进行估计的,图像空间直线参数方程 x cosθ+y sinθ-ρ=0,式中,θ代表直线和图像坐标系u轴的夹角,ρ是点到直线的距离,空间直线所在的平面方程A1xc+B1yc+C1zc+D1=0,由此可将其对应焦距归一化图像平面的直线投影方程表示为:

Ax+By+C=1/zc (3.2)

式中A=-A1/D1,B=-B1/D1,C=-C1/D1,直线极坐标方程求导得

ρ′+(x sinθ-y cosθ)θ′=x′cosθ+y′sinθ (3.3)

由式(3.1),(3.2),(3.3),且参考文献[6]能够得到

式中λρ=-Aρcosθ-Bρsinθ-C,λθ=-A sinθ+B cosθ,即直线的交互矩阵为:

点到直线的距离可以根据图像坐标点到斜率相等的两条直线的距离差求出,点(xd,yd)到直线(ρ,θ)的距离可表达为

d=ρ-ρd=ρ-xdcosθ+ydsinθ (3.6)

对上式求导得

d′=ρ′-(xdcosθ+ydsinθ)θ′=ρ′-αθ′ (3.7)

式中α=xdcosθ+ydsinθ,根据直线交互矩阵得点到直线的交互矩阵

Ld=Lρ-αLθ,表示为

式中λd=λρ+θλθ,用边缘点到对应模型投影直线之间的距离表示每个跟踪单元中的图像特征,当目标中存在多个跟踪单元时,应融合目标全部的图像特征,构造系统的交互矩阵,完成将所有可见模型投影边缘收敛于图像边缘点,系统的交互矩阵表示为

Ls=[L1 L2...Lm] (3.9)

跟踪单元特征的交互矩阵表示为

式中,λdi=λpiiλθi(i=1,...,m),矩阵中的行数表示模型投影边缘采样的特征单元个数,列数表示模型在笛卡尔空间上自由度的个数,使用伪逆将图像空间特征偏差变换为模型速度变化:

式中,是交互矩阵的伪逆,vx,vy,vz,wx,wy,wz代表模型在旋转、平移方向的速度,d1,d2,...,dm即为目标边缘点到对应模型可见投影边缘的距离;

S5、三维模型与目标对准:使模型与目标间的距离收敛到零的过程,本文使用带权重的最小二乘法,在图像空间创建表示目标边缘与模型投影特征之间偏差的目标函数,函数如下:

S6、KLT的目标跟踪算法:提取图像上的特征点,然后匹配下一帧中的特征点,得到目标在下一帧的位置,该过程的核心就是将目标跟踪转化为特征点的跟踪:

E、Harris特征点提取算法:

将图像窗口平移[u,v],产生的灰度变化E(u,v),则

式中,w(x,y)为窗口函数,I(x,y)为图像灰度,I(x+u,y+v)为平移后的图像灰度,利用泰勒级数对式(3.16)进行简化得

式中对窗口中每一个像素在x及y方向上的梯度Ix和Iy进行统计分析即可求得M,再利用M来计算每个像素的角点响应函数R:

R=det M-k(traceM)2 (3.18)

式中,det M=λ1λ2,traceM=λ1λ2,在矩阵R中,某点同时满足 R(i,j)=det(M)-Ktrace2(M)>T且R(i,j)是区域内局部极大值时,该点被认为是角点,其中,K的取值范围为0.04~0.06,T为阈值,检测过程中将低于该阈值的R设为0;

F、KLT匹配算法理论:

I(x,y,t+τ)=I(x-Δx,y-Δy,t) (3.19)

给定两幅图像I和J,定义能够使

SSDSum of Squared intensity Difference,此处用ε表示)最小化的 d,则有:

式中,W为给定的特征窗口,w(X)为加权函数,d=(Δx,Δy)为点X(x,y)的运动偏移量,由于d远小于X,则可将J(X+d)进行泰勒展开,再结合式 (3.20)对d求导可得:

Zd=e (3.21)

式中,g为展开的一阶泰勒系数,对每一个点通过(3.21)式进行牛顿迭代,当迭代结果达到要求精度时就实现了图像点的跟踪,即找到了最优匹配,最终解为:

其中,d为特征窗口中心的平移量,dk为第k次牛顿迭代法所得的d的值,在迭代计算时本文将初始迭代值设为0,当目标移动速度较慢时其相对的帧间位移也小,该情况下利用上述KLT匹配算法可以在降低匹配搜索范围的同时达到很高的匹配精度,但当目标运动过快时帧间位移也大,根据匹配获取的特征点对的可靠性也会下降,此时,若匹配窗口选的小,会有漏匹配,若匹配窗口选的大,会影响匹配精度,该问题的解决方法是对KLT匹配算法进行分层迭代,分层迭代匹配方法是通过高斯金字塔分解来实现的,操作步骤是对图像I及J进行精度递减的L层金字塔分解,得到Il和Jl,l的取值范围为l=0,1,2,...,L,(1)令l=L,初始化(2)令n=n+1,在 Il和Jl上由式(3.22)求得再判断迭代的次数是否执行完或者的精度是否已经满足要求,只要满足条件之一就执行下一步,否则返回到第 (2)步,(3)当l=0时迭代结束,最后否则令l=l-1, n=0返回到步骤(2),分层迭代过程中选择小的搜索窗口,然后从高层到底层不断迭代,直到最低层为止,从而提高目标作快速移动时的点对匹配精度;

S7、点线协同的目标跟踪:将基于纹理信息的相机位移估计集成在基于边缘特征的相机姿态计算过程中。

本发明实施例中,步骤S1中,VISP平台所提供的可用资源是三种基于模型的无标记跟踪器,分别为基于边缘信息的模型跟踪器,基于KLT关键点信息的模型跟踪器,以及基于点线协同的目标跟踪器。

本发明实施例中,步骤S3中,边缘检测算子根据直线的角度来确定。

本发明实施例中,步骤S3中,在进行边缘检测算子时,每一个采样单元在沿着直线的法线方向以及设置的像素搜索范围内进行搜索,计算每一个检测单元法线方向像素卷积最大值,从而求解出相应的像素坐标,如此,下一帧也利用该方法求取边缘像素点坐标,不断循环直至跟踪结束。

本发明实施例中,步骤S5中,式中,ρ表示鲁棒性估计参数,Mi是当前模型的投影矩阵,N是边缘跟踪特征个数,K是相机内参。

本发明实施例中,步骤S6中,算法采用Harris算子提取特征点并结合最优估计的KLT匹配算法来实现跟踪,跟踪过程中包括KLT跟踪器的重新初始化过程,重新初始化的标准是比较当前跟踪的特征点数目占初始检测到的特征数目的比例。

本发明实施例中,步骤S6的A中,arris角点检测算法思路是在图像上设置一个局部检测窗口,当窗口沿任意方向移动都会引起灰度很大变化时,该区域的中心像素点就是检测到的角点。

本发明实施例中,步骤S6的B中,KLT跟踪算法的核心思想是以待跟踪窗口在视频图像帧间的灰度差平方和作为度量的,具体是操作是先给定一个包含特征纹理信息的窗口W,然后用平移模型来描述特征窗口内像素点的变化,令t时刻的图像帧为I(x,y,t),t+τ时刻的图像帧为I(x,y,t+τ)。

本发明实施例中,步骤S6的B中,根据匹配得到的关键点位置信息然后结合CAD模型的信息确定目标的最优位置和形状即可实现三维目标的跟踪。

本发明实施例中,步骤S7中,采样点的方法通过最小化非线性标准来实现的。

同时本说明书中未作详细描述的内容均属于本领域技术人员公知的现有技术。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种家畜计数识别系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!