一种密集深度图像跟踪的方法和装置的制作方法

文档序号:6575066阅读:181来源:国知局
专利名称:一种密集深度图像跟踪的方法和装置的制作方法
技术领域
本发明涉及立体视频领域,特别涉及一种密集深度图像跟踪的方法和装置。

背景技术
随着计算机技术日新月异的发展,平面视频已经不能满足人们的需要,立体视频技术突飞猛进的发展起来。
立体视频是一种通过研究人类视觉系统的成像原理而发展起来的新视频技术。立体视频就是要研究如何在视频中表现物体的深度,即真实世界中物体离人自身的远近,通过深度与普通的平面视频综合而得到三维立体视频。因此,立体视频制作过程中的一个重要元素就是深度图像。获取深度图像有多种方法,其中,基于单路视频获取深度图像,一般是通过人工判断配合其他的图像分割技术得到深度图像。然而,由于视频中相邻帧的差别很小,所以深度跟踪技术就显得很重要。
现有的深度跟踪技术中,有一种基于像素的深度跟踪技术,称为密集深度图像跟踪技术。目前主要通过光流法实现密集深度图像跟踪技术。光流法的原理为 定义空间运动物体在观测成像面上的像素运动的瞬时速度为光流,光流法就是利用图像上像素强度的时域变化及相关性来确定像素的运动。它的计算方法有很多,如基于梯度的方法、基于匹配的方法、基于能量的方法、基于相位的方法等等。对运动图像计算光流场的结果就是得到图像上每一个像素点的运动矢量,从而得到相邻两帧之间像素点的的对应关系,根据这种对应关系和已知一帧的深度图像来确定未知深度图像的另一帧图像中每一个像素点的深度。在现有的算法中,光流场的计算很耗时,如何降低其时间复杂度是当前研究的一个难点。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题现有的密集深度图像跟踪技术,跟踪算法复杂,跟踪时间比较长。


发明内容
为了降低跟踪算法的复杂度,缩短跟踪时间,本发明实施例提供了一种密集深度图像跟踪的方法和装置。所述技术方案如下 一种密集深度图像跟踪的方法,所述方法包括 获取相邻的两帧图像第p帧图像和第q帧图像,所述第p帧图像的深度图像已知; 对于所述第q帧图像的任一像素点(i,j),根据所述像素点(i,j)与所述第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到所述像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内; 根据所述像素点(m,n)的权值,对所述跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到所述像素点(i,j)的深度。
一种密集深度图像跟踪的方法,所述方法包括 获取图像序列、所述图像序列中关键帧图像对应的深度图像; 根据所述关键帧图像的数量和所述关键帧图像在所述图像序列的位置,确定跟踪方式; 根据所述跟踪方式和所述关键帧图像对应的深度图像,按照预设的深度跟踪算法,对所述图像序列进行深度跟踪; 所述深度跟踪算法为获取相邻的两帧图像第p帧图像和第q帧图像,所述第p帧图像的深度图像已知;对于所述第q帧图像的任一像素点(i,j),根据所述像素点(i,j)与所述第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到所述像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内;根据所述像素点(m,n)的权值,对所述跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到所述像素点(i,j)的深度。
一种密集深度图像跟踪的装置,所述装置包括 图像获取模块,用于获取相邻的两帧图像第p帧图像和第q帧图像,所述第p帧图像的深度图像已知; 权值计算模块,用于对于所述图像获取模块得到的第q帧图像的任一像素点(i,j),根据所述像素点(i,j)与所述第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到所述像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内; 深度跟踪模块,用于根据所述权值计算模块得到的像素点(m,n)的权值,对所述跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到所述像素点(i,j)的深度。
一种密集深度图像跟踪的装置,所述装置包括 图像获取模块,用于获取图像序列、所述图像序列中关键帧图像对应的深度图像; 跟踪方式确定模块,用于根据所述图像获取模块得到的关键帧图像的数量和所述关键帧图像在所述图像序列的位置,确定跟踪方式; 深度跟踪模块,用于根据所述跟踪方式确定模块确定的跟踪方式和所述关键帧图像对应的深度图像,按照预设的深度跟踪算法,对所述图像序列进行深度跟踪; 所述深度跟踪算法为获取相邻的两帧图像第p帧图像和第q帧图像,所述第p帧图像的深度图像已知;对于所述第q帧图像的任一像素点(i,j),根据所述像素点(i,j)与所述第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到所述像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内;根据所述像素点(m,n)的权值,对所述跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到所述像素点(i,j)的深度。
本发明实施例提供的技术方案的有益效果是根据关键帧图像的深度图像、数量和位置等信息,按照预设的深度跟踪算法,生成非关键帧的深度图像,从而完成对整个图像序列的深度跟踪,具有复杂度低、跟踪时间短的优点。



图1是本发明实施例1提供的密集深度图像跟踪的方法流程图; 图2是本发明实施例2提供的密集深度图像跟踪的方法流程图; 图3是本发明实施例2提供的密集深度图像跟踪的示意图; 图4是本发明实施例3提供的密集深度图像跟踪的装置结构示意图; 图5是本发明实施例4提供的密集深度图像跟踪的装置结构示意图。

具体实施例方式 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1 参见图1,本实施例提供了一种密集深度图像跟踪的方法,该方法包括 101获取相邻的两帧图像第p帧图像和第q帧图像,该第p帧图像的深度图像已知; 具体的,该第p帧图像的帧序号为p,该第q帧图像的帧序号为q;当p<q时,该第q帧图像是该第p帧图像的下一帧图像,即前向跟踪;当p>q时,该第q帧图像是该第p帧图像的上一帧图像,即后向跟踪。
102对于该第q帧图像的任一像素点(i,j),根据该像素点(i,j)与该第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到该像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内; 其中,计算权值时假设颜色差服从均值为0,二维正态分布标准差为sigma的二维正态分布,sigma的值可预先设定。
其中,m、n分别为第p帧图像的像素点的横坐标、纵坐标,i、j分别为第q帧图像的像素点的横坐标、纵坐标。
具体的,本步骤可用公式表示如下weight(m,n,i,j)=exp(-dis(m,n,i,j)/(2*sigma*sigma))(1)dis(m,n,i,j)=(Cp(m,n,r)-Cq(i,j,r))2+ (Cp(m,n,g)-Cq(i,j,g))2+ (2) (Cp(m,n,b)-Cq(i,j,b))2 其中,weight(m,n,i,j)表示第p帧图像的像素点(m,n)相对于第q帧图像的像素点(i,j)的权值; 函数exp(x)表示e的x次幂; dis(m,n,i,j)表示第q帧图像的像素点(i,j)与第p帧图像的像素点(m,n)之间的颜色差,服从均值为0,标准差为sigma的二维正态分布; Cq(i,j,r/g/b)表示第q帧图像中横坐标为i,纵坐标为j的像素点的红、绿、蓝颜色值; Cp(m,n,r/g/b)表示第p帧图像中横坐标为m,纵坐标为n的像素点的红、绿、蓝颜色值。
103根据该像素点(m,n)的权值,对该跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到该像素点(i,j)的深度。
其中,Dq(i,j)表示第q帧图像中横坐标为i,纵坐标为j的像素点的深度; Dp(m,n)表示第p帧图像中横坐标为m,纵坐标为n的像素点的深度; weight(m,n,i,j)表示第p帧图像的像素点(m,n)相对于第q帧图像的像素点(i,j)的权值; box_size表示预设的跟踪值,则像素点(m,n)的跟踪范围为以(i,j)为中心,box_size为边长的正方形的跟踪窗口之内。
经过步骤101-103,就可以根据第p帧图像的深度图像,求出第q帧图像的深度图像。
进一步的,本实施例提供的密集深度图像跟踪的方法,又称为深度跟踪算法,既可以单独用于图像深度跟踪,也可以与前向跟踪、后向跟踪和双向跟踪等结合用于图像深度跟踪。
本实施例提供的方法,根据像素点的颜色差计算像素点的权值,并根据该权值对跟踪窗口内像素点的深度进行加权平均,从而求得另一帧图像的深度图像,这种方法相对于光流法,具有复杂度低、跟踪时间短等优点;相对于基于对象的跟踪技术,深度图像的精细程度得到提高。
实施例2 参见图2,本发明实施例提供了另一种密集深度图像跟踪的方法,包括 201获取图像序列、该图像序列中关键帧图像对应的深度图像; 其中,深度图像,是指将平面图像中每一像素点在真实世界中离摄像机的距离,量化到0~255而得到的一幅灰度图像。一般来说,图像中离摄像机最远的像素点量化到0,而离摄像机最近的像素点量化到255,其余像素点的距离有不同的量化算法,例如线性量化、分段线性量化、二次函数量化等。
其中,图像序列包括关键帧图像和非关键帧图像。关键帧图像,在本发明实施例中是指跟踪开始之前已具有深度图像的图像,可以是图像序列中的任意一帧,或者任意多帧。图像序列中关键帧图像之外的其他图像称为非关键帧。
另外,本发明实施例并不限定关键帧图像对应的深度图像的获取方法。具体的,可以通过特殊设备扫描获取深度图像,如红外扫描、激光扫描等,还可以通过多路平面视频或单路平面视频计算得到深度图像。每种方法各有其利弊,其中,通过特殊设备获取深度图像的方法,虽然深度图像比较精确,但是设备昂贵、制作成本以天价计、不适合大众推广;多路平面视频获取深度图像的方法,相对于特殊设备的方法,成本有所较低,但是深度图像不够精确,而且还存在多路视频的成本、对焦、校正等难题;单路平面视频获取深度图像的方法,相对于多路平面视频的方法,成本较低,但是计算的难度较大。
202根据该关键帧图像的数量和该关键帧图像在该图像序列的位置,确定跟踪方式; 其中,跟踪方式包括双向跟踪和单向跟踪,单向跟踪包括前向跟踪和后向跟踪。前向跟踪是按照帧序号增大的方向进行深度跟踪。后向跟踪是按照帧序号减小的方向进行深度跟踪。具体的, a)若该关键帧图像为一帧,且该关键帧图像是该图像序列的第一帧,将该关键帧图像作为前向初始跟踪图像,对该图像序列进行前向跟踪; 图3所示为关键帧图像是第一帧时的密集深度图像跟踪的示意图,其中,白色小长方形是图形序列,第一个白色小长方形及其下方的黑色小长方形分别表示关键帧及其深度图像,其余白色小长方形下方的黑色小长方形表示跟踪得到的非关键帧的深度图像。
b)若该关键帧图像为一帧,且该关键帧图像位于该图像序列的中间位置,将该关键帧图像作为后向初始跟踪图像,对该后向初始跟踪图像之前的子图像序列进行后向跟踪;将该关键帧图像作为前向初始跟踪图像,对该前向初始跟踪图像之后的子图像序列进行前向跟踪; c)若该关键帧图像为一帧,且该关键帧图像是该图像序列的最后一帧,将该关键帧图像作为后向初始跟踪图像,对该图像序列进行后向跟踪; d)若该关键帧图像为N帧(2≤N),且该N帧关键帧图像中的第一关键帧图像不是该图像序列的第一帧,将该第一关键帧图像作为后向初始跟踪图像,对该后向初始跟踪图像之前的子图像序列进行后向跟踪; e)若该关键帧图像为N帧(2≤N),且该N帧关键帧图像中的第N关键帧图像不是该图像序列的最后一帧,将该第N关键帧图像作为前向初始跟踪图像,对该前后初始跟踪图像之后的子图像序列进行前向跟踪; f)若该关键帧图像为N帧(2≤N),对该N帧关键帧图像中两个相邻关键帧图像之间的子图像序列进行双向跟踪。
203根据该跟踪方式和该关键帧图像对应的深度图像,按照预设的深度跟踪算法,对该图像序列进行深度跟踪。具体的, a)当所述跟踪方式为双向跟踪时,设所述图像序列中两个相邻关键帧图像分别为第s关键帧图像和第t关键帧图像,所述第s关键帧图像的帧序号为s,所述第t关键帧图像的帧序号为t,s<t; 将所述第s关键帧图像作为前向初始跟踪图像,对所述第s关键帧图像到所述第t关键帧图像方向的子图像序列进行前向跟踪,得到深度图像子序列1; 将所述第t关键帧图像作为后向初始跟踪图像,对所述第t关键帧图像到所述第s关键帧图像方向的子图像序列进行后向跟踪,得到深度图像子序列2; 将所述深度图像子序列1和所述深度图像子序列2合成,则所述第s关键帧图像和所述第t关键帧图像之间的子图像序列的深度图像k=所述深度图像子序列1中的深度图像k×(1-alpha)+所述深度图像子序列2中的深度图像k×alpha,其中,k为帧序号,alpha=(k-s)/(t-s),s<k<t。
b)当跟踪方式为前向跟踪时,将设定的前向初始跟踪图像、前向初始跟踪图像的深度图像和前向初始跟踪图像的下一帧图像,作为深度跟踪算法的初始输入,计算得到前向初始跟踪图像的下一帧图像的深度图像; 将前向初始跟踪图像的下一帧图像、前向初始跟踪图像的下一帧图像的深度图像和前向初始跟踪图像的下一帧图像的下一帧图像,作为深度跟踪算法的第二次输入,计算得到前向初始跟踪图像的下一帧图像的下一帧图像的深度图像; 如此循环调用深度跟踪算法,直至求得所有待求图像的深度图像。
c)当跟踪方式为后向跟踪时,将设定的后向初始跟踪图像、后向初始跟踪图像的深度图像和后向初始跟踪图像的上一帧图像,作为深度跟踪算法的初始输入,计算得到后向初始跟踪图像的上一帧图像的深度图像; 将后向初始跟踪图像的上一帧图像、后向初始跟踪图像的上一帧图像的深度图像和后向初始跟踪图像的上一帧图像的上一帧图像,作为深度跟踪算法的第二次输入,计算得到后向初始跟踪图像的上一帧图像的上一帧图像的深度图像; 如此循环调用深度跟踪算法,直至求得所有待求图像的深度图像。
其中,预设的深度跟踪算法,可采用实施例1中步骤101-103提供的深度跟踪方法,其具体过程详见实施例1,这里只简单描述如下 获取相邻的两帧图像第p帧图像和第q帧图像,第p帧图像的深度图像已知;对于第q帧图像的任一像素点(i,j),根据像素点(i,j)与第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内;根据像素点(m,n)的权值,对跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到像素点(i,j)的深度。
为了更清楚的说明对整个图像序列深度跟踪的过程,下面结合具体的实例加以说明。
例1输入图像序列为头像旋转的第1~100帧,关键帧设置为第1帧,并设置二维正态分布标准差参数sigma=8,跟踪窗口大小参数box_size=7。由于关键帧只有1帧,且为图像序列的第一帧,故而采用前向跟踪的方法。获取第1帧及其深度图像和第2帧图像,输入预设的深度跟踪算法,计算得到第2帧的深度图像;然后取第2帧及其深度图像和第3帧图像,输入预设的深度跟踪算法,计算得到第3帧的深度图像;依次循环,直到100帧的深度图像都求得为止。
例2输入图像序列为头像旋转的第1~50帧,关键帧设置为第1帧和第50帧,并设置二维正态分布标准差参数sigma=8,跟踪窗口大小参数box_size=7。由于关键帧有两帧,且为第一帧和最后一帧,所以在第一帧和最后一帧之间采用双向跟踪方法。将该第1帧图像作为前向初始跟踪图像,根据该前向初始跟踪图像及其深度图像,对该第1帧图像到该第50帧图像方向的子图像序列,按照帧序号增大的方向进行深度跟踪,得到深度图像子序列1;将该第50帧图像作为后向初始跟踪图像,根据该后向初始跟踪图像及其深度图像,对该第50帧图像到该第1帧图像方向的子图像序列,按照帧序号减小的方向进行深度跟踪,得到深度图像子序列2;将该深度图像子序列1和该深度图像子序列2合成,则该第1帧图像和该第50帧图像之间的子图像序列的深度图像k=该深度图像子序列1中的深度图像k×(1-alpha)+该深度图像子序列2中的深度图像k×alpha,其中,alpha=(k-1)/(50-1),k取2、3、...、49,则第2帧至第49帧的深度图像都可以分别求得。
本实施例提供的方法,根据跟踪方式和关键帧图像对应的深度图像,按照预设的深度跟踪算法,对图像序列进行深度跟踪,相对于光流法,具有复杂度低、跟踪时间短等优点;并且深度获取只需集中在关键帧上,其它非关键帧的深度图像可通过跟踪获得,这样可以减少立体视频制作成本;另外,相对于基于对象的跟踪技术,深度图像的精细程度得到提高。
实施例3 参见图4,本实施例提供了一种密集深度图像跟踪的装置,包括 图像获取模块301,用于获取相邻的两帧图像第p帧图像和第q帧图像,第p帧图像的深度图像已知; 权值计算模块302,用于对于图像获取模块得到的第q帧图像的任一像素点(i,j),根据像素点(i,j)与第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内; 深度跟踪模块303,用于根据权值计算模块得到的像素点(m,n)的权值,对跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到像素点(i,j)的深度。
其中,权值计算模块302,具体用于采用如下公式进行权值计算weight(m,n,i,j)=exp(-dis(m,n,i,j)/(2*sigma*sigma));dis(m,n,i,j)=(Cp(m,n,r)-Cq(i,j,r))2+(Cp(m,n,g)-Cq(i,j,g))2+(Cp(m,n,b)-Cq(i,j,b))2; 其中,weight(m,n,i,j)表示第p帧图像的像素点(m,n)相对于第q帧图像的像素点(i,j)的权值; 函数exp(x)表示e的x次幂; dis(m,n,i,j)表示第q帧图像的像素点(i,j)与第p帧图像的像素点(m,n)之间的颜色差,服从均值为0,标准差为sigma的二维正态分布; Cq(i,j,r/g/b)表示第q帧图像中位于横坐标为i,纵坐标为j的像素点的红、绿、蓝颜色值; Cp(m,n,r/g/b)表示第p帧图像中位于横坐标为m,纵坐标为n的像素点的红、绿、蓝颜色值。
其中,深度跟踪模块303,具体用于采用如下公式进行深度跟踪 其中,Dq(i,j)表示第q帧图像中位于横坐标为i,纵坐标为j的像素点的深度; Dp(m,n)表示第p帧图像中位于横坐标为m,纵坐标为n的像素点的深度; weight(m,n,i,j)表示第p帧图像的像素点(m,n)相对于第q帧图像的像素点(i,j)的权值; box_size表示跟踪值。
本实施例提供的装置,与实施例1属于同一构思,其具体实现过程详见实施例1,这里不再赘述。
本实施例提供的装置,根据像素点的颜色差计算像素点的权值,并根据该权值对跟踪窗口内像素点的深度进行加权平均,从而求得另一帧图像的深度图像,这种方法相对于光流法,具有复杂度低、跟踪时间短等优点;相对于基于对象的跟踪技术,深度图像的精细程度得到提高。
实施例4 参见图5,本实施例提供了一种密集深度图像跟踪的装置,包括 图像获取模块401,用于获取图像序列、图像序列中关键帧图像对应的深度图像; 跟踪方式确定模块402,用于根据图像获取模块得到的关键帧图像的数量和关键帧图像在图像序列的位置,确定跟踪方式; 深度跟踪模块403,用于根据跟踪方式确定模块确定的跟踪方式和关键帧图像对应的深度图像,按照预设的深度跟踪算法,对图像序列进行深度跟踪; 深度跟踪算法为获取相邻的两帧图像第p帧图像和第q帧图像,第p帧图像的深度图像已知;对于第q帧图像的任一像素点(i,j),根据像素点(i,j)与第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内;根据像素点(m,n)的权值,对跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到像素点(i,j)的深度。
其中,跟踪方式确定模块402具体用于 若关键帧图像为一帧,且关键帧图像是图像序列的第一帧,将关键帧图像作为前向初始跟踪图像,对图像序列进行前向跟踪; 若关键帧图像为一帧,且关键帧图像位于图像序列的中间位置,将关键帧图像作为后向初始跟踪图像,对后向初始跟踪图像之前的子图像序列进行后向跟踪;将关键帧图像作为前向初始跟踪图像,对前向初始跟踪图像之后的子图像序列进行前向跟踪; 若关键帧图像为一帧,且关键帧图像是图像序列的最后一帧,将关键帧图像作为后向初始跟踪图像,对图像序列进行后向跟踪; 若关键帧图像为N帧(2≤N),且N帧关键帧图像中的第一关键帧图像不是图像序列的第一帧,将第一关键帧图像作为后向初始跟踪图像,对后向初始跟踪图像之前的子图像序列进行后向跟踪; 若关键帧图像为N帧(2≤N),且N帧关键帧图像中的第N关键帧图像不是图像序列的最后一帧,将第N关键帧图像作为前向初始跟踪图像,对前后初始跟踪图像之后的子图像序列进行前向跟踪; 若关键帧图像为N帧(2≤N),对N帧关键帧图像中两个相邻关键帧图像之间的子图像序列进行双向跟踪。
其中,深度跟踪模块403具体用于 当跟踪方式为双向跟踪时,若图像序列中两个相邻关键帧图像分别为第s关键帧图像和第t关键帧图像,第s关键帧图像的帧序号为s,第t关键帧图像的帧序号为t,s<t;将第s关键帧图像作为前向初始跟踪图像,对第s关键帧图像到第t关键帧图像方向的子图像序列进行前向跟踪,得到深度图像子序列1;将第t关键帧图像作为后向初始跟踪图像,对第t关键帧图像到第s关键帧图像方向的子图像序列进行后向跟踪,得到深度图像子序列2;将深度图像子序列1和深度图像子序列2合成,则第s关键帧图像和第t关键帧图像之间的子图像序列的深度图像k=深度图像子序列1中的深度图像k×(1-alpha)+深度图像子序列2中的深度图像k×alpha,其中,k为帧序号,alpha=(k-s)/(t-s),s<k<t; 或者,当跟踪方式为前向跟踪时,将设定的前向初始跟踪图像、前向初始跟踪图像的深度图像和前向初始跟踪图像的下一帧图像,作为深度跟踪算法的初始输入,计算得到前向初始跟踪图像的下一帧图像的深度图像;将前向初始跟踪图像的下一帧图像、前向初始跟踪图像的下一帧图像的深度图像和前向初始跟踪图像的下一帧图像的下一帧图像,作为深度跟踪算法的第二次输入,计算得到前向初始跟踪图像的下一帧图像的下一帧图像的深度图像;如此循环调用深度跟踪算法,直至求得所有待求图像的深度图像; 或者,当跟踪方式为后向跟踪时,将设定的后向初始跟踪图像、后向初始跟踪图像的深度图像和后向初始跟踪图像的上一帧图像,作为深度跟踪算法的初始输入,计算得到后向初始跟踪图像的上一帧图像的深度图像;将后向初始跟踪图像的上一帧图像、后向初始跟踪图像的上一帧图像的深度图像和后向初始跟踪图像的上一帧图像的上一帧图像,作为深度跟踪算法的第二次输入,计算得到后向初始跟踪图像的上一帧图像的上一帧图像的深度图像;如此循环调用深度跟踪算法,直至求得所有待求图像的深度图像。
本实施例提供的装置,与实施例2属于同一构思,其具体的实现过程详见实施例2,这里不再赘述。
本实施例提供的装置,根据跟踪方式和关键帧图像对应的深度图像,按照预设的深度跟踪算法,对图像序列进行深度跟踪,相对于光流法,具有复杂度低、跟踪时间短等优点;并且深度获取只需集中在关键帧上,其它非关键帧的深度图像可通过跟踪获得,这样可以减少立体视频制作成本;另外,相对于基于对象的跟踪技术,深度图像的精细程度得到提高。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程或者硬件实现,其软件程序存储在可读取的存储介质中,存储介质例如计算机中的硬盘、光盘或软盘。硬件实施可通过现场可编程门阵列(FPGA)编程并烧录实现。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种密集深度图像跟踪的方法,其特征在于,所述方法包括
获取相邻的两帧图像第p帧图像和第q帧图像,所述第p帧图像的深度图像已知;
对于所述第q帧图像的任一像素点(i,j),根据所述像素点(i,j)与所述第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到所述像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内;
根据所述像素点(m,n)的权值,对所述跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到所述像素点(i,j)的深度。
2、如权利要求1所述的方法,其特征在于,所述根据所述像素点(i,j)与所述第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到所述像素点(m,n)的权值具体包括weight(m,n,i,j)=exp(-dis(m,n,i,j)/(2*sigma*sigma));dis(m,n,i,j)=(Cp(m,n,r)-Cq(i,j,r))2+(Cp(m,n,g)-Cq(i,j,g))2+(Cp(m,n,b)-Cq(i,j,b))2;
其中,weight(m,n,i,j)表示所述第p帧图像的像素点(m,n)相对于所述第q帧图像的像素点(i,j)的权值;
函数exp(x)表示e的x次幂;
dis(m,n,i,j)表示所述第q帧图像的像素点(i,j)与所述第p帧图像的像素点(m,n)之间的颜色差,服从均值为0,标准差为sigma的二维正态分布;
Cq(i,j,r/g/b)表示所述第q帧图像中位于横坐标为i,纵坐标为j的像素点的红、绿、蓝颜色值;
Cp(m,n,r/g/b)表示所述第p帧图像中位于横坐标为m,纵坐标为n的像素点的红、绿、蓝颜色值。
3、如权利要求1所述的方法,其特征在于,所述根据所述像素点(m,n)的权值,对所述跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到所述像素点(i,j)的深度具体包括
其中,Dq(i,j)表示所述第q帧图像中位于横坐标为i,纵坐标为j的像素点的深度;
Dp(m,n)表示所述第p帧图像中位于横坐标为m,纵坐标为n的像素点的深度;
weight(m,n,i,j)表示所述第p帧图像的像素点(m,n)相对于所述第q帧图像的像素点(i,j)的权值;
box_size表示所述跟踪值。
4、一种密集深度图像跟踪的方法,其特征在于,所述方法包括
获取图像序列、所述图像序列中关键帧图像对应的深度图像;
根据所述关键帧图像的数量和所述关键帧图像在所述图像序列的位置,确定跟踪方式;
根据所述跟踪方式和所述关键帧图像对应的深度图像,按照预设的深度跟踪算法,对所述图像序列进行深度跟踪;
所述深度跟踪算法为获取相邻的两帧图像第p帧图像和第q帧图像,所述第p帧图像的深度图像已知;对于所述第q帧图像的任一像素点(i,j),根据所述像素点(i,j)与所述第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到所述像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内;根据所述像素点(m,n)的权值,对所述跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到所述像素点(i,j)的深度。
5、如权利要求4所述的方法,其特征在于,所述根据所述关键帧图像的数量和所述关键帧图像在所述图像序列的位置,确定跟踪方式包括
若所述关键帧图像为一帧,且所述关键帧图像是所述图像序列的第一帧,将所述关键帧图像作为前向初始跟踪图像,对所述图像序列进行前向跟踪;
若所述关键帧图像为一帧,且所述关键帧图像位于所述图像序列的中间位置,将所述关键帧图像作为后向初始跟踪图像,对所述后向初始跟踪图像之前的子图像序列进行后向跟踪;将所述关键帧图像作为前向初始跟踪图像,对所述前向初始跟踪图像之后的子图像序列进行前向跟踪;
若所述关键帧图像为一帧,且所述关键帧图像是所述图像序列的最后一帧,将所述关键帧图像作为后向初始跟踪图像,对所述图像序列进行后向跟踪;
若所述关键帧图像为N帧(2≤N),且所述N帧关键帧图像中的第一关键帧图像不是所述图像序列的第一帧,将所述第一关键帧图像作为后向初始跟踪图像,对所述后向初始跟踪图像之前的子图像序列进行后向跟踪;
若所述关键帧图像为N帧(2≤N),且所述N帧关键帧图像中的第N关键帧图像不是所述图像序列的最后一帧,将所述第N关键帧图像作为前向初始跟踪图像,对所述前后初始跟踪图像之后的子图像序列进行前向跟踪;
若所述关键帧图像为N帧(2≤N),对所述N帧关键帧图像中两个相邻关键帧图像之间的子图像序列进行双向跟踪。
6、如权利要求4所述的方法,其特征在于,所述根据所述跟踪方式和所述关键帧图像对应的深度图像,按照预设的深度跟踪算法,对所述图像序列进行深度跟踪包括
当所述跟踪方式为双向跟踪时,若所述图像序列中两个相邻关键帧图像分别为第s关键帧图像和第t关键帧图像,所述第s关键帧图像的帧序号为s,所述第t关键帧图像的帧序号为t,s<t;将所述第s关键帧图像作为前向初始跟踪图像,对所述第s关键帧图像到所述第t关键帧图像方向的子图像序列进行前向跟踪,得到深度图像子序列1;将所述第t关键帧图像作为后向初始跟踪图像,对所述第t关键帧图像到所述第s关键帧图像方向的子图像序列进行后向跟踪,得到深度图像子序列2;将所述深度图像子序列1和所述深度图像子序列2合成,则所述第s关键帧图像和所述第t关键帧图像之间的子图像序列的深度图像k=所述深度图像子序列1中的深度图像k×(1-alpha)+所述深度图像子序列2中的深度图像k×alpha,其中,k为帧序号,alpha=(k-s)/(t-s),s<k<t;
或者,当所述跟踪方式为前向跟踪时,将设定的所述前向初始跟踪图像、所述前向初始跟踪图像的深度图像和所述前向初始跟踪图像的下一帧图像,作为所述深度跟踪算法的初始输入,计算得到所述前向初始跟踪图像的下一帧图像的深度图像;将所述前向初始跟踪图像的下一帧图像、所述前向初始跟踪图像的下一帧图像的深度图像和所述前向初始跟踪图像的下一帧图像的下一帧图像,作为所述深度跟踪算法的第二次输入,计算得到所述前向初始跟踪图像的下一帧图像的下一帧图像的深度图像;如此循环调用所述深度跟踪算法,直至求得所有待求图像的深度图像;
或者,当所述跟踪方式为后向跟踪时,将设定的所述后向初始跟踪图像、所述后向初始跟踪图像的深度图像和所述后向初始跟踪图像的上一帧图像,作为所述深度跟踪算法的初始输入,计算得到所述后向初始跟踪图像的上一帧图像的深度图像;将所述后向初始跟踪图像的上一帧图像、所述后向初始跟踪图像的上一帧图像的深度图像和所述后向初始跟踪图像的上一帧图像的上一帧图像,作为所述深度跟踪算法的第二次输入,计算得到所述后向初始跟踪图像的上一帧图像的上一帧图像的深度图像;如此循环调用所述深度跟踪算法,直至求得所有待求图像的深度图像。
7、一种密集深度图像跟踪的装置,其特征在于,所述装置包括
图像获取模块,用于获取相邻的两帧图像第p帧图像和第q帧图像,所述第p帧图像的深度图像已知;
权值计算模块,用于对于所述图像获取模块得到的第q帧图像的任一像素点(i,j),根据所述像素点(i,j)与所述第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到所述像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内;
深度跟踪模块,用于根据所述权值计算模块得到的像素点(m,n)的权值,对所述跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到所述像素点(i,j)的深度。
8、如权利要求7所述的装置,其特征在于,所述权值计算模块,具体用于采用如下公式进行权值计算weight(m,n,i,j)=exp(-dis(m,n,i,j)/(2*sigma*sigma));dis(m,n,i,j)=(Cp(m,n,r)-Cq(i,j,r))2+(Cp(m,n,g)-Cq(i,j,g))2+(Cp(m,n,b)-Cq(i,j,b))2;
其中,weight(m,n,i,j)表示所述第p帧图像的像素点(m,n)相对于所述第q帧图像的像素点(i,j)的权值;
函数exp(x)表示e的x次幂;
dis(m,n,i,j)表示所述第q帧图像的像素点(i,j)与所述第p帧图像的像素点(m,n)之间的颜色差,服从均值为0,标准差为sigma的二维正态分布;
Cq(i,j,r/g/b)表示所述第q帧图像中位于横坐标为i,纵坐标为j的像素点的红、绿、蓝颜色值;
Cp(m,n,r/g/b)表示所述第p帧图像中位于横坐标为m,纵坐标为n的像素点的红、绿、蓝颜色值。
9、如权利要求7所述的装置,其特征在于,所述深度跟踪模块,具体用于采用如下公式进行深度跟踪
其中,Dq(i,j)表示所述第q帧图像中位于横坐标为i,纵坐标为j的像素点的深度;
Dp(m,n)表示所述第p帧图像中位于横坐标为m,纵坐标为n的像素点的深度;
weight(m,n,i,j)表示所述第p帧图像的像素点(m,n)相对于所述第q帧图像的像素点(i,j)的权值;
box_size表示所述跟踪值。
10、一种密集深度图像跟踪的装置,其特征在于,所述装置包括
图像获取模块,用于获取图像序列、所述图像序列中关键帧图像对应的深度图像;
跟踪方式确定模块,用于根据所述图像获取模块得到的关键帧图像的数量和所述关键帧图像在所述图像序列的位置,确定跟踪方式;
深度跟踪模块,用于根据所述跟踪方式确定模块确定的跟踪方式和所述关键帧图像对应的深度图像,按照预设的深度跟踪算法,对所述图像序列进行深度跟踪;
所述深度跟踪算法为获取相邻的两帧图像第p帧图像和第q帧图像,所述第p帧图像的深度图像已知;对于所述第q帧图像的任一像素点(i,j),根据所述像素点(i,j)与所述第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到所述像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内;根据所述像素点(m,n)的权值,对所述跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到所述像素点(i,j)的深度。
11、如权利要求10所述的装置,其特征在于,所述跟踪方式确定模块具体用于
若所述关键帧图像为一帧,且所述关键帧图像是所述图像序列的第一帧,将所述关键帧图像作为前向初始跟踪图像,对所述图像序列进行前向跟踪;
若所述关键帧图像为一帧,且所述关键帧图像位于所述图像序列的中间位置,将所述关键帧图像作为后向初始跟踪图像,对所述后向初始跟踪图像之前的子图像序列进行后向跟踪;将所述关键帧图像作为前向初始跟踪图像,对所述前向初始跟踪图像之后的子图像序列进行前向跟踪;
若所述关键帧图像为一帧,且所述关键帧图像是所述图像序列的最后一帧,将所述关键帧图像作为后向初始跟踪图像,对所述图像序列进行后向跟踪;
若所述关键帧图像为N帧(2≤N),且所述N帧关键帧图像中的第一关键帧图像不是所述图像序列的第一帧,将所述第一关键帧图像作为后向初始跟踪图像,对所述后向初始跟踪图像之前的子图像序列进行后向跟踪;
若所述关键帧图像为N帧(2≤N),且所述N帧关键帧图像中的第N关键帧图像不是所述图像序列的最后一帧,将所述第N关键帧图像作为前向初始跟踪图像,对所述前后初始跟踪图像之后的子图像序列进行前向跟踪;
若所述关键帧图像为N帧(2≤N),对所述N帧关键帧图像中两个相邻关键帧图像之间的子图像序列进行双向跟踪。
12、如权利要求10所述的装置,其特征在于,所述深度跟踪模块具体用于
当所述跟踪方式为双向跟踪时,若所述图像序列中两个相邻关键帧图像分别为第s关键帧图像和第t关键帧图像,所述第s关键帧图像的帧序号为s,所述第t关键帧图像的帧序号为t,s<t;将所述第s关键帧图像作为前向初始跟踪图像,对所述第s关键帧图像到所述第t关键帧图像方向的子图像序列进行前向跟踪,得到深度图像子序列1;将所述第t关键帧图像作为后向初始跟踪图像,对所述第t关键帧图像到所述第s关键帧图像方向的子图像序列进行后向跟踪,得到深度图像子序列2;将所述深度图像子序列1和所述深度图像子序列2合成,则所述第s关键帧图像和所述第t关键帧图像之间的子图像序列的深度图像k=所述深度图像子序列1中的深度图像k×(1-alpha)+所述深度图像子序列2中的深度图像k×alpha,其中,k为帧序号,alpha=(k-s)/(t-s),s<k<t;
或者,当所述跟踪方式为前向跟踪时,将设定的所述前向初始跟踪图像、所述前向初始跟踪图像的深度图像和所述前向初始跟踪图像的下一帧图像,作为所述深度跟踪算法的初始输入,计算得到所述前向初始跟踪图像的下一帧图像的深度图像;将所述前向初始跟踪图像的下一帧图像、所述前向初始跟踪图像的下一帧图像的深度图像和所述前向初始跟踪图像的下一帧图像的下一帧图像,作为所述深度跟踪算法的第二次输入,计算得到所述前向初始跟踪图像的下一帧图像的下一帧图像的深度图像;如此循环调用所述深度跟踪算法,直至求得所有待求图像的深度图像;
或者,当所述跟踪方式为后向跟踪时,将设定的所述后向初始跟踪图像、所述后向初始跟踪图像的深度图像和所述后向初始跟踪图像的上一帧图像,作为所述深度跟踪算法的初始输入,计算得到所述后向初始跟踪图像的上一帧图像的深度图像;将所述后向初始跟踪图像的上一帧图像、所述后向初始跟踪图像的上一帧图像的深度图像和所述后向初始跟踪图像的上一帧图像的上一帧图像,作为所述深度跟踪算法的第二次输入,计算得到所述后向初始跟踪图像的上一帧图像的上一帧图像的深度图像;如此循环调用所述深度跟踪算法,直至求得所有待求图像的深度图像。
全文摘要
本发明公开了一种密集深度图像跟踪的方法和装置,属于立体视频领域。所述方法包括获取相邻的两帧图像第p帧图像和第q帧图像,所述第p帧图像的深度图像已知;对于第q帧图像的任一像素点(i,j),根据像素点(i,j)与第p帧图像的像素点(m,n)之间的颜色差和预设的二维正态分布标准差,计算得到像素点(m,n)的权值,(m,n)的取值范围为以(i,j)为中心,预设的跟踪值为边长的正方形的跟踪窗口之内;根据像素点(m,n)的权值,对跟踪窗口内所有像素点(m,n)的深度进行加权平均,得到像素点(i,j)的深度。所述装置包括图像获取模块、权值计算模块和深度跟踪模块。本发明具有计算复杂度低、跟踪时间短的效果。
文档编号G06T7/00GK101605269SQ20091008824
公开日2009年12月16日 申请日期2009年7月10日 优先权日2009年7月10日
发明者谢旭东, 政 黎, 刘晓冬, 戴琼海 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1