CN105261042A - 光流估计的方法及装置 - Google Patents
光流估计的方法及装置 Download PDFInfo
- Publication number
- CN105261042A CN105261042A CN201510680817.2A CN201510680817A CN105261042A CN 105261042 A CN105261042 A CN 105261042A CN 201510680817 A CN201510680817 A CN 201510680817A CN 105261042 A CN105261042 A CN 105261042A
- Authority
- CN
- China
- Prior art keywords
- image
- light stream
- pixel
- point
- flow field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明实施例提供了一种光流估计的方法及装置,该方法包括:确定第一图像的M个第一内群点和第二图像的M个第二内群点,M个第一内群点与M个第二内群点一一对应,其中,M个第一内群点为第一图像中满足预设条件的M个像素点,M个第二内群点为第二图像中满足预设条件的M个像素点,第一图像以第二图像作为参考图像;根据M个第一内群点和M个第二内群点得到第一图像的第一光流场;根据第一光流场按照预设的第二算法确定第二光流场,第二算法使得第二光流场中的光流矢量的数量大于第一光流场中的光流矢量的数量;将第二光流场作为能量方程的匹配项约束,求解能量方程,得到目标光流场。本发明实施例能够实现大位移场景下的更加准确的光流估计。
Description
技术领域
本发明涉及计算机视觉领域,尤其涉及光流估计的方法及装置,
背景技术
光流估计是计算机视觉的基础研究课题之一,其目的在于估计图像中每个像素点从当前帧到下一个时间帧的运动矢量,也可以称为光流矢量。光流估计在视频编辑、目标跟踪、场景分析、动作捕获与识别等领域有着广泛的应用,虽然现有的光流估计算法已经可以在小位移和可控环境下获得接近真实运动的结果,但是在实际工程应用中面临大位移时仍然存在一些问题。例如,现有技术在处理大位移场景时,通常先通过特征点检测和匹配的方法得到两幅图像的稀疏的特征点的对应关系,即稀疏的光流场,然后将该稀疏的光流场作为能量方程中的一个匹配项约束进行变分光流优化得到光流场,这样得到的光流场的准确度通常比较低。因此,需要提出一种光流估计的方法,以实现大位移场景下的更加准确的光流估计,以满足实际工程应用的需求。
发明内容
本发明实施例提供了一种光流估计的方法及装置,能够实现大位移场景下的更加准确的光流估计。
第一方面,提供了一种光流估计的方法,包括:确定第一图像的M个第一内群点和第二图像的M个第二内群点,所述M个第一内群点与所述M个第二内群点一一对应,其中,所述M个第一内群点为所述第一图像中满足预设条件的M个像素点,所述M个第二内群点为所述第二图像中满足所述预设条件的M个像素点,所述第一图像以所述第二图像作为参考图像,M为正整数;根据所述M个第一内群点和所述M个第二内群点按照预设的第一算法得到所述第一图像的第一光流场;根据所述第一光流场预设的第二算法确定第二光流场,所述第二算法使得所述第二光流场中的光流矢量的数量大于所述第一光流场中的光流矢量的数量;将所述第二光流场作为能量方程的匹配项约束,求解所述能量方程,得到第一目标光流场,所述能量方程的变量因子包含第二光流场与第一目标光流场。
结合第一方面,在第一种可能的实现方式中,所述确定第一图像的M个第一内群点和第二图像的M个第二内群点包括:
从所述第一图像中确定N个像素点作为N个第一特征点,从所述第二图像中确定N个像素点作为N个第二特征点,所述N个第一特征点与所述N个第二特征点一一对应,N为大于或等于M的正整数;
将所述第一图像平均划分为X个网格,X为正整数;
重复执行以下步骤1至步骤6,直至对所述X个网格均已执行单应矩阵估计处理:
步骤1,从所述X个网格中选择出未进行单应矩阵估计处理的Y个网格,并从所述Y个网格中选择特征点数量最多的目标网格,Y为小于或等于X的正整数;
步骤2,将与所述目标网格相邻的Z个网格中的第一特征点和所述目标网格中的第一特征点组成点集,Z为正整数;
步骤3,对所述点集进行单应矩阵估计处理,确定出一个单应矩阵;
步骤4,采用所述一个单应矩阵对所述点集中的每个第一特征点和所述点集中的每个第一特征点对应的第二特征点计算残差;
步骤5,如果所述残差小于预设的阈值,确定所述点集中的每个第一特征点为第一内群点,确定所述点集中的每个第一特征点对应的第二特征点为第二内群点;
步骤6,从所述点集中删除所述第一内群点,分别更新所述目标网格和所述Z个网格中的第一特征点的数量。
结合第一方面或第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述第一光流场按照预设的第二算法确定第二光流场,包括:根据所述第一光流场中的光流矢量对所述第一图像中除所述M个第一内群点之外的P个像素点进行插值运算,得到P个光流矢量,所述P个光流矢量与所述P个像素点一一对应,所述第一光流场中的光流矢量和所述P个光流矢量组成所述第二光流场,P为正整数。
结合第二种可能的实现方式,在第三种可能的实现方式中,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;所述根据所述第一光流场中的光流矢量对所述第一图像中除所述M个第一内群点之外的P个像素点进行插值运算,得到P个光流矢量,包括:根据位于所述P个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述每个像素点进行插值运算,得到所述P个光流矢量。
结合第二种可能的实现方式,在第四种可能的实现方式中,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;
所述根据所述第一光流场中的光流矢量对所述第一图像中除所述M个第一内群点之外的P个像素点进行插值运算,得到P个光流矢量,包括:
从所述P个像素点中选择Q个像素点,所述Q个像素点中每个像素点的预设范围内包括至少一个第一内群点,Q为小于P的正整数;
根据位于所述Q个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述Q个像素点中每个像素点进行插值运算,得到Q个光流矢量,所述Q个光流矢量与所述Q个像素点一一对应;
根据所述Q个光流矢量,对所述P个像素点中除所述Q个像素点之外的剩余R个像素点进行传播处理,得到R个光流矢量,所述R个光流矢量与所述R个像素点一一对应,所述Q个光流矢量和所述R个光流矢量组成所述P个光流矢量,R为正整数。
结合第二种可能的实现方式,在第五种可能的实现方式中,所述插值运算包括以下公式:
其中,j为所述M个第一内群点中任一第一内群点的坐标,A为所述M个第一内群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为所述第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
结合第三种或第四种可能的实现方式,在第六种可能的实现方式中,所述插值运算包括以下公式:
其中,j为位于坐标i的像素点的预设范围内的任一第一内群点的坐标,A为位于坐标i的像素点的预设范围内的第一内群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为所述第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
结合第一方面或第一种可能的实现方式,在第七种可能的实现方式中,所述根据所述第一光流场按照预设的第一算法确定第二光流场,包括:将所述第一图像按照预设的规则划分为k个区域,k为正整数;计算所述k个区域中每个区域内的像素点的坐标的平均值,确定出k个锚点,所述k个锚点与所述k个区域一一对应,所述k个区域中每个区域的锚点为所述每个区域的像素点中与所述平均值的距离最近的一个像素点;根据所述第一光流场中的光流矢量按照预设的第三算法确定k个光流矢量,所述k个光流矢量与所述k个锚点一一对应;根据所述k个光流矢量确定映射函数,所述映射函数用于表示所述k个光流矢量与所述第一图像中的每个像素点的光流矢量的映射关系;分别将所述第一图像中的全部像素点的坐标代入所述映射函数,得到所述第一图像中全部像素点的光流矢量,所述第一图像中的全部像素点的光流矢量组成所述第二光流场。
结合第七种可能的实现方式,在第八种可能的实现方式中,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应,所述第三算法包括以下公式:
其中,z为所述M个第一内群点中任一第一内群点的坐标,v(z)为所述第一光流场中坐标为z的第一内群点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(z,xi)为内积函数,表示向量z和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
结合第七种或第八种可能的实现方式,在第九种可能的实现方式中,所述映射函数为:
其中,x为所述第一图像中的任一像素点的坐标,f(x)为坐标为x的特征点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(x,xi)为内积函数,表示向量x和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
结合第一方面或上述任一种可能的实现方式,在第十种可能的实现方式中,所述第一图像是对第一分辨率的第三图像下采样至第二分辨率的图像,所述第二图像是对所述第一分辨率的第四图像下采样至所述第二分辨率的图像,所述方法还包括:对所述第一目标光流场进行上采样,得到所述第三图像的第二目标光流场。
结合第一方面或上述任一种可能的实现方式,在第十一种可能的实现方式中,所述将所述第二光流场作为能量方程的匹配项,求解所述能量方程,得到第一目标光流场,包括:
根据所述M个第一内群点和所述M个第二内群点按照预设的第四算法确定第四光流场,所述第四算法使得所述第四光流场与所述第二光流场的方向相反;
根据所述第二光流场和所述第四光流场按照预设的第五算法确定所述第一图像中每个像素点的光流误差;
根据所述第一图像中每个像素点的光流误差,按照预设的第六算法将所述第一图像分为S块图像区域,并确定所述S块图像区域的每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率,S为正整数;
根据所述比率确定所述每块图像区域进行变分优化时图像金字塔的层数;
根据所述层数对所述每块图像区域建立图像金字塔,将所述图像金字塔顶层的图像区域的光流场作为能量方程的匹配项约束,求解所述能量方程,得到所述图像金字塔顶层的图像区域的优化的光流场;
对所述图像金字塔顶层的图像区域的优化的光流场进行上采样,得到所述每块图像区域的光流场,所述S块图像区域的光流场组成所述第一目标光流场。
结合第十一种可能的实现方式,在第十二种可能的实现方式中,所述第五算法包括以下公式:
yerror(x)=|f12(x)+f21(x’)|,
其中,x为所述第一图像中的任一像素点的坐标,yerror(x)为所述第一图像中坐标为x的像素点的光流误差,x’为根据f12得到的x在所述第二图像中的对应的像素点的坐标,f12(x)为所述第二光流场中坐标为x的像素点的光流矢量,f21(x)为所述第四光流场中坐标为x’的像素点的光流矢量。
结合第十一种或第十二种可能的实现方式,在第十三种可能的实现方式中,所述根据所述第一图像中每个像素点的光流误差预设的第六算法将所述第一图像分为S块图像区域,包括:
将所述第一图像平均划分为T个网格,T为大于或等于S的正整数;
确定每个网格的光流误差,所述每个网格的光流误差为所述每个网格上的像素点的光流误差的平均值;
根据所述每个网格的光流误差按照预设的排序规则对所述多个网格进行排序;
依次对排序后的每个网格执行以下步骤,得到所述S块图像区域:
以当前网格为中心,选取所述当前网格上、下、左、右四个方向上没有被合并且光流误差最大的相邻网格与所述当前网格进行合并;
如果所述当前网格的光流误差大于第一阈值,并且所述相邻网格的光流误差小于第二阈值,或者所述当前网格与所述相邻网格合并后的图像区域的尺寸超过预先设定的尺寸,则不对所述当前网格和所述相邻网格进行合并;或者,
如果所述当前网格的光流误差小于或等于第一阈值,并且所述当前网格与所述相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格和所述相邻网格进行合并;
如果所述当前网格的光流误差大于第一阈值,所述相邻网格的光流误差大于或等于第二阈值,并且所述当前网格与所述相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格和所述相邻网格进行合并。
结合第十一种至第十三种可能的实现方式中的任一种可能的实现方式,在第十四种可能的实现方式中,所述根据所述比率确定所述每块图像区域进行变分优化时图像金字塔的层数,包括:
根据以下公式确定所述层数level:
其中,r为所述每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率。
结合第十种可能的实现方式,在第十五种可能的实现方式中,所述对所述第一目标光流场进行上采样,得到所述第三图像的第二目标光流场,包括:
对所述第一图像进行自适应点采样,将所述第一图像划分为多个网格;
确定所述多个网格的多个采样点,其中每个网格的采样点是所述每个网格中与所述第二图像中相对应的像素点之间的残差最小的像素点;
确定采样点集合,所述采样点集合包括所述多个采样点和所述M个第一内群点;
采用共轭梯度法求解以下珀松方程,得到所述第三图像的所述第二目标光流场:
其中,x为所述第三图像中的任一像素点的坐标,B为所述第三图像中的像素点的集合,C为所述采样点集合,w0(x)为所述第二光流场中坐标为x的像素点的光流矢量,v(x)为坐标为x的采样点的光流矢量,λ为预设的规则化参数。
结合第一方面或第一种至第十种可能的实现方式中的任一种可能的实现方式,在第十六种可能的实现方式中,所述能量方程为:
EM=φ(x)Ψ(||w-w'||2)
其中,x为所述第一图像中任一像素点的坐标,Z为所述第一图像中的所有像素点的集合,w为光流变量,ED(x)为数据项约束,Es(x)为平滑项约束,α为平滑项权重参数,EM(x)为所述匹配项约束,β为所述匹配项约束的权重,w'为所述第二光流场,φ(x)为匹配项EM(x)的权值,Ψ(·)为惩罚函数。
第二方面,提供了一种光流估计的装置,包括:第一处理单元,用于确定第一图像的M个第一内群点和第二图像的M个第二内群点,所述M个第一内群点与所述M个第二内群点一一对应,其中,所述M个第一内群点为所述第一图像中满足预设条件的M个像素点,所述M个第二内群点为所述第二图像中满足所述预设条件的M个像素点,所述第一图像以所述第二图像作为参考图像,M为正整数;
所述第一处理单元还用于,根据所述M个第一内群点和所述M个第二内群点按照预设的第一算法得到所述第一图像的第一光流场;
第二处理单元,用于根据所述第一处理单元得到的所述第一光流场按照预设的第二算法确定第二光流场,所述第二算法使得所述第二光流场中的光流矢量的数量大于所述第一光流场中的光流矢量的数量;
第三处理单元,用于将所述第二处理单元确定的所述第二光流场作为能量方程的匹配项约束,求解所述能量方程,得到第一目标光流场,所述能量方程的变量因子包含第二光流场与第一目标光流场。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一处理单元具体用于:
从所述第一图像中确定N个像素点作为N个第一特征点,从所述第二图像中确定N个像素点作为N个第二特征点,所述N个第一特征点与所述N个第二特征点一一对应,N为大于或等于M的正整数;
将所述第一图像平均划分为X个网格,X为正整数;
重复执行以下步骤1至步骤6,直至对所述X个网格均已执行单应矩阵估计处理:
步骤1,从所述X个网格中选择出未进行单应矩阵估计的Y个网格,并从所述Y个网格中选择特征点数量最多的目标网格,Y为小于或等于X的正整数;
步骤2,将与所述目标网格相邻的Z个网格中的第一特征点和所述目标网格中的第一特征点组成点集,Z为正整数;
步骤3,对所述点集进行单应矩阵估计处理,确定出一个单应矩阵;
步骤4,采用所述一个单应矩阵对所述点集中的每个第一特征点和所述点集中的每个第一特征点对应的第二特征点计算残差;
步骤5,如果所述残差小于预设的阈值,确定所述点集中的每个第一特征点为第一内群点,确定所述点集中的每个第一特征点对应的第二特征点为第二内群点;
步骤6,从所述点集中删除所述第一内群点,分别更新所述目标网格和所述Z个网格中的第一特征点的数量。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二处理单元具体用于:根据所述第一处理单元得到的所述第一光流场中的光流矢量对所述第一图像中除所述M个第一内群点之外的P个像素点进行插值运算,得到所述P个光流矢量,所述P个光流矢量与所述P个像素点一一对应,所述第一光流场中的光流矢量和所述P个光流矢量组成所述第二光流场,P为正整数。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;所述第二处理单元具体用于:根据位于所述P个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述每个像素点进行插值运算,得到所述P个光流矢量。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;所述第二处理单元具体用于:从所述P个像素点中选择Q个像素点,所述Q个像素点中每个像素点的预设范围内包括至少一个第一内群点,Q为小于P的正整数;根据位于所述Q个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述Q个像素点中每个像素点进行插值运算,得到Q个光流矢量,所述Q个光流矢量与所述Q个像素点一一对应;根据所述Q个光流矢量,对所述P个像素点中除所述Q个像素点之外的剩余R个像素点进行传播处理,得到R个光流矢量,所述R个光流矢量与所述R个像素点一一对应,所述Q个光流矢量和所述R个光流矢量组成所述P个光流矢量,R为正整数。
结合第二方面的第二种可能的实现方式,在第二方面的第五种可能的实现方式中,所述插值运算包括以下公式:
其中,j为所述第一内群点中的任一第一内群点的坐标,A为所述M个第一内群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为所述第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
结合第二方面的第三种或第四种可能的实现方式,在第二方面的第六种可能的实现方式中,所述插值运算包括以下公式:
其中,j为位于坐标i的像素点的预设范围内的任一第一内群点的坐标,A为位于坐标i的像素点的预设范围内的第一内群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为所述第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第七种可能的实现方式中,所述第二处理单元具体用于:
将所述第一图像按照预设的规则划分为k个区域,k为正整数;
计算所述k个区域中每个区域内的像素点的坐标的平均值,确定出k个锚点,所述k个锚点与所述k个区域一一对应,所述k个区域中每个区域的锚点为所述每个区域的像素点中与所述平均值的距离最近的一个像素点;
根据所述第一光流场中的光流矢量按照预设的第三算法确定k个光流矢量,所述k个光流矢量与所述k个锚点一一对应;
根据所述k个光流矢量确定映射函数,所述映射函数用于表示所述k个光流矢量与所述第一图像中的每个像素点的光流矢量的映射关系;
分别将所述第一图像中的全部像素点的坐标代入所述映射函数,得到所述第一图像中全部像素点的光流矢量,所述第一图像中的全部像素点的光流矢量组成所述第二光流场。
结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应,所述第三算法包括以下公式:
其中,z为所述M个第一内群点中任一第一内群点的坐标,v(z)为所述第一光流场中坐标为z的第一内群点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(z,xi)为内积函数,表示向量z和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
结合第二方面的第七种或第八种可能的实现方式,在第二方面的第九种可能的实现方式中,所述映射函数为:
其中,x为所述第一图像中的任一像素点的坐标,f(x)为坐标为x的特征点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(x,xi)为内积函数,表示向量x和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十种可能的实现方式中,所述第一图像是对第一分辨率的第三图像下采样至第二分辨率的图像,所述第二图像是对所述第一分辨率的第四图像下采样至所述第二分辨率的图像,所述装置还包括:第四处理单元,用于对所述第三处理单元得到的所述第一目标光流场进行上采样,得到所述第三图像的第二目标光流场。
结合第二方面或第二方面的上述任一种可能的实现方式,在第二方面的第十一种可能的实现方式中,所述第三处理单元具体用于:
根据所述第一处理单元得到的所述M个第一内群点和所述M个第二内群点按照预设的第四算法确定第四光流场,所述第四算法使得所述第四光流场与所述第二光流场的方向相反;
根据所述第二光流场和所述第四光流场按照预设的第五算法确定所述第一图像中每个像素点的光流误差;
根据所述第一图像中每个像素点的光流误差,按照预设的第六算法将所述第一图像分为S块图像区域,并确定所述S块图像区域的每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率,S为正整数;
根据所述比率确定所述每块图像区域进行变分优化时图像金字塔的层数;
根据所述层数对所述每块图像区域建立图像金字塔,将所述图像金字塔顶层的图像区域的光流场作为能量方程的匹配项约束,求解所述能量方程,得到所述图像金字塔顶层的图像区域的优化的光流场;
对所述图像金字塔顶层的图像区域的优化的光流场进行上采样,得到所述每块图像区域的光流场,所述S块图像区域的光流场组成所述第一目标光流场。
结合第二方面的第十一种可能的实现方式,在第二方面的第十二种可能的实现方式中,所述第五算法包括以下公式:
yerror(x)=|f12(x)+f21(x’)|,
其中,x为所述第一图像中的任一像素点的坐标,yerror(x)为所述第一图像中坐标为x的像素点的光流误差,x’为根据f12得到的x在所述第二图像中的对应的像素点的坐标,f12(x)为所述第二光流场中坐标为x的像素点的光流矢量,f21(x)为所述第四光流场中坐标为x’的像素点的光流矢量。
结合第二方面的第十一种或第十二种可能的实现方式,在第二方面的第十三种可能的实现方式中,所述第三处理单元具体用于:
将所述第一图像平均划分为T个网格,T为大于或等于S的正整数;
确定每个网格的光流误差,所述每个网格的光流误差为所述每个网格上的所有像素点的光流误差的平均值;
根据所述每个网格的光流误差对所述T个网格按照预设的排序规则进行排序;
依次对排序后的每个网格执行以下步骤,得到所述S块图像区域:
以当前网格为中心,选取所述当前网格上、下、左、右四个方向上没有被合并且光流误差最大的相邻网格与所述当前网格进行合并;
如果所述当前网格的光流误差大于第一阈值,并且所述相邻网格的光流误差小于第二阈值,或者所述当前网格与所述相邻网格合并后的图像区域的尺寸超过预先设定的尺寸,则不对所述当前网格和所述相邻网格进行进行合并;或者,
如果所述当前网格的光流误差小于或等于第一阈值,并且所述当前网格与所述相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格和所述相邻网格进行进行合并;
如果所述当前网格的光流误差大于第一阈值,所述相邻网格的光流误差大于或等于第二阈值,并且所述当前网格与所述相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格和所述相邻网格进行合并。
结合第二方面的第十一种至第十三种可能的实现方式中的任一种可能的实现方式,在第二方面的第十四种可能的实现方式中,所述第三处理单元具体用于,根据以下公式确定所述层数level:
其中,r为所述每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率。
结合第二方面的第十种可能的实现方式,在第二方面的第十五种可能的实现方式中,所述第四处理单元具体用于:
对所述第一图像进行自适应点采样,将所述第一图像划分为多个网格;
确定所述多个网格的多个采样点,其中每个网格的采样点是所述每个网格中与所述第二图像中相对应的像素点之间的残差最小的像素点;
确定采样点集合,所述采样点集合包括所述多个采样点和所述M个第一内群点;
采用共轭梯度法求解以下珀松方程,得到所述第三图像的所述第二目标光流场:
其中,x为所述第三图像中的任一像素点的坐标,B为所述第三图像中的像素点的集合,C为所述采样点集合,w0(x)为所述第二光流场中坐标为x的像素点的光流矢量,v(x)为坐标为x的采样点的光流矢量,λ为预设的规则化参数。
结合第二方面或第二方面的第一种至第十种可能的实现方式中的任一种可能的实现方式,在第二方面的第十六种可能的实现方式中,所述能量方程为:
EM=φ(x)Ψ(||w-w'||2)
其中,x为所述第一图像中任一像素点的坐标,Z为所述第一图像中的所有像素点的集合,w为光流变量,ED(x)为数据项约束,Es(x)为平滑项约束,α为平滑项权重参数,EM(x)为所述匹配项约束,β为所述匹配项约束的权重,w'为所述第一光流场,φ(x)为匹配项EM(x)的权值,Ψ(·)为惩罚函数。
第三方面,提供了一种光流估计的装置,包括:处理器、存储器和总线***,其中,所述处理器和所述存储器通过所述总线***相连,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,以用于:
确定第一图像的M个第一内群点和第二图像的M个第二内群点,所述M个第一内群点与所述M个第二内群点一一对应,其中,所述M个第一内群点为所述第一图像中满足预设条件的M个像素点,所述M个第二内群点为所述第二图像中满足所述预设条件的M个像素点,所述第一图像以所述第二图像作为参考图像,M为正整数;
根据所述M个第一内群点和所述M个第二内群点按照预设的第一算法得到所述第一图像的第一光流场;
根据所述第一光流场按照预设的第二算法确定第二光流场,所述第二算法使得所述第二光流场中的光流矢量的数量大于所述第一光流场中的光流矢量的数量;
将所述第二光流场作为能量方程的匹配项约束,求解所述能量方程,得到第一目标光流场,所述能量方程的变量因子包含第二光流场与第一目标光流场。
结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器具体用于:
从所述第一图像中确定N个像素点作为N个第一特征点,从所述第二图像中确定N个像素点作为N个第二特征点,所述N个第一特征点与所述N个第二特征点一一对应,N为大于或等于M的正整数;
将所述第一图像平均划分为X个网格,X为正整数;
重复执行以下步骤1至步骤6,直至对所述X个网格均已执行单应矩阵估计处理:
步骤1,从所述X个网格中选择出未进行单应矩阵估计的Y个网格,并从所述Y个网格中选择特征点数量最多的目标网格,Y为小于或等于X的正整数;
步骤2,将与所述目标网格相邻的Z个网格中的第一特征点和所述目标网格中的第一特征点组成点集,Z为正整数;
步骤3,对所述点集进行单应矩阵估计处理,确定出一个单应矩阵;
步骤4,采用所述一个单应矩阵对所述点集中的每个第一特征点和所述点集中的每个第一特征点对应的第二特征点计算残差;
步骤5,如果所述残差小于预设的阈值,确定所述点集中的每个第一特征点为第一内群点,确定所述点集中的每个第一特征点对应的第二特征点为第二内群点;
步骤6,从所述点集中删除所述第一内群点,分别更新所述目标网格和所述Z个网格中的第一特征点的数量。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器具体用于:根据所述第一光流场中的光流矢量对所述第一图像中除所述M个第一内群点之外的P个像素点进行插值运算,得到所述P个光流矢量,所述P个光流矢量与所述P个像素点一一对应,所述第一光流场中的光流矢量和所述P个光流矢量组成所述第二光流场,P为正整数。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;所述处理器具体用于:根据位于所述P个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述每个像素点进行插值运算,得到所述P个光流矢量。
结合第三方面的第二种可能的实现方式,在第三方面的第四种可能的实现方式中,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;
所述处理器具体用于:
从所述P个像素点中选择Q个像素点,所述Q个像素点中每个像素点的预设范围内包括至少一个第一内群点,Q为小于P的正整数;
根据位于所述Q个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述Q个像素点中每个像素点进行插值运算,得到Q个光流矢量,所述Q个光流矢量与所述Q个像素点一一对应;
根据所述Q个光流矢量,对所述P个像素点中除所述Q个像素点之外的剩余R个像素点进行传播处理,得到R个光流矢量,所述R个光流矢量与所述R个像素点一一对应,所述Q个光流矢量和所述R个光流矢量组成所述P个光流矢量,R为正整数。
结合第三方面的第二种可能的实现方式,在第三方面的第五种可能的实现方式中,所述插值运算包括根据以下公式:
其中,j为所述第一内群点中的任一第一内群点的坐标,A为所述M个第一内群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为所述第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
结合第三方面的第三种或第四种可能的实现方式,在第三方面的第六种可能的实现方式中,所述插值运算包括以下公式:
其中,j为位于坐标i的像素点的预设范围内的任一第一内群点的坐标,A为位于坐标i的像素点的预设范围内的第一内群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为所述第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第七种可能的实现方式中,所述处理器具体用于:
将所述第一图像按照预设的规则划分为k个区域,k为正整数;
计算所述k个区域中每个区域内的像素点的坐标的平均值,确定出k个锚点,所述k个锚点与所述k个区域一一对应,所述k个区域中每个区域的锚点为所述每个区域的像素点中与所述平均值的距离最近的一个像素点;
根据所述第一光流场中的光流矢量按照预设的第三算法确定k个光流矢量,所述k个光流矢量与所述k个锚点一一对应;
根据所述k个光流矢量确定映射函数,所述映射函数用于表示所述k个光流矢量与所述第一图像中的每个像素点的光流矢量的映射关系;
分别将所述第一图像中的全部像素点的坐标代入所述映射函数,得到所述第一图像中全部像素点的光流矢量,所述第一图像中的全部像素点的光流矢量组成所述第二光流场。
结合第三方面的第七种可能的实现方式,在第三方面的第八种可能的实现方式中,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应,所述第三算法包括以下公式:
其中,z为所述M个第一内群点中任一第一内群点的坐标,v(z)为所述第一光流场中坐标为z的第一内群点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(z,xi)为内积函数,表示向量z和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
结合第三方面的第七种或第八种可能的实现方式,在第三方面的第九种可能的实现方式中,所述映射函数为:
其中,x为所述第一图像中的任一像素点的坐标,f(x)为坐标为x的像素点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(x,xi)为内积函数,表示向量x和xi之间的内积,K、k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
结合第三方面或第三方面的上述任一种可能的实现方式,在第三方面的第十种可能的实现方式中,所述第一图像是对第一分辨率的第三图像下采样至第二分辨率的图像,所述第二图像是对所述第一分辨率的第四图像下采样至所述第二分辨率的图像,所述处理器还用于,对所述第一目标光流场进行上采样,得到所述第三图像的第二目标光流场。
结合第三方面或第三方面的上述任一种可能的实现方式,在第三方面的第十一种可能的实现方式中,所述处理器具体用于:
根据所述M个第一内群点和所述M个第二内群点按照预设的第四算法确定第四光流场,所述第四算法使得所述第四光流场与所述第二光流场的方向相反;
根据所述第二光流场和所述第四光流场按照预设的第五算法确定所述第一图像中每个像素点的光流误差;
根据所述第一图像中每个像素点的光流误差,按照预设的第六算法将所述第一图像分为S块图像区域,并确定所述S块图像区域的每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率,S为正整数;
根据所述比率确定所述每块图像区域进行变分优化时图像金字塔的层数;
根据所述层数对所述每块图像区域建立图像金字塔,将所述图像金字塔顶层的图像区域的光流场作为能量方程的匹配项约束,求解所述能量方程,得到所述图像金字塔顶层的图像区域的优化的光流场;
对所述图像金字塔顶层的图像区域的优化的光流场进行上采样,得到所述每块图像区域的光流场,所述S块图像区域的光流场组成所述第一目标光流场。
结合第三方面的第十一种可能的实现方式,在第三方面的第十二种可能的实现方式中,所述第五算法包括以下公式:
yerror(x)=|f12(x)+f21(x’)|,
其中,x为所述第一图像中的任一像素点的坐标,yerror(x)为所述第一图像中坐标为x的像素点的光流误差,x’为根据f12得到的x在所述第二图像中的对应的像素点的坐标,f12(x)为所述第二光流场中坐标为x的像素点的光流矢量,f21(x)为所述第四光流场中坐标为x’的像素点的光流矢量。
结合第三方面的第十一种或第十二种可能的实现方式,在第三方面的第十三种可能的实现方式中,所述处理器具体用于:
对所述第一图像进行自适应点采样,将所述第一图像平均划分为T个网格,T为大于或等于S的正整数;
确定每个网格的光流误差,所述每个网格的光流误差为所述每个网格上的所有像素点的光流误差的平均值;
根据所述每个网格的光流误差对所述T个网格按照预设的排序规则进行排序;
依次对排序后的每个网格执行以下步骤,得到所述S块图像区域:
以当前网格为中心,选取所述当前网格上、下、左、右四个方向上没有被合并且光流误差最大的相邻网格与所述当前网格进行合并;
如果所述当前网格的光流误差大于第一阈值,并且所述相邻网格的光流误差小于第二阈值,或者所述当前网格与所述相邻网格合并后的图像区域的尺寸超过预先设定的尺寸,则不对所述当前网格和所述相邻网格进行合并;或者,
如果所述当前网格的光流误差小于或等于第一阈值,并且所述当前网格与所述相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格进行和所述相邻网格合并;
如果所述当前网格的光流误差大于第一阈值,所述相邻网格的光流误差大于或等于第二阈值,并且所述当前网格与所述相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格和所述相邻网格进行合并。
结合第三方面的第十一种至第十三种可能的实现方式中的任一种可能的实现方式,在第三方面的第十四种可能的实现方式中,所述处理器具体用于,根据以下公式确定所述层数level:
其中,r为所述每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率。
结合第三方面的第十种可能的实现方式,在第三方面的第十五种可能的实现方式中,所述处理器具体用于:
对所述第一图像进行自适应点采样,将所述第一图像划分为多个网格;
确定所述多个网格的多个采样点,其中每个网格的采样点是所述每个网格中与所述第二图像中相对应的像素点之间的残差最小的像素点;
确定采样点集合,所述采样点集合包括所述多个采样点和所述M个第一内群点;
采用共轭梯度法求解以下珀松方程,得到所述第三图像的所述第二目标光流场:
其中,x为所述第三图像中的任一像素点的坐标,B为所述第三图像中的像素点的集合,C为所述采样点集合,w0(x)为所述第二光流场中坐标为x的像素点的光流矢量,v(x)为坐标为x的采样点的光流矢量,λ为预设的规则化参数。
结合第三方面或第三方面的第一种至第十种可能的实现方式中的任一种可能的实现方式,在第三方面的第十六种可能的实现方式中,所述能量方程为:
EM=φ(x)Ψ(||w-w'||2)
其中,x为所述第一图像中任一像素点的坐标,Z为所述第一图像中的像素点的集合,w为光流变量,ED(x)为数据项约束,Es(x)为平滑项约束,α为平滑项权重参数,EM(x)为所述匹配项约束,β为所述匹配项约束的权重,w'为所述第一光流场,φ(x)为匹配项EM(x)的权值,Ψ(·)为惩罚函数。
基于上述技术方案,通过确定两幅图像中具有一一对应关系的多个内群点,根据该两幅图像的多个内群点得到稀疏的光流场,并根据该稀疏的光流场按照预设的算法确定稠密的光流场,使用该稠密的光流场作为能量方程中的一个匹配项约束,能够使得求解能量方程得到的目标光流场更加准确,从而能够实现大位移场景下的更加准确的光流估计。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一个实施例的光流估计的方法的示意性流程图;
图2是根据本发明实施例的第一图像的特征点的示意图;
图3是根据本发明实施例的第二图像的特征点的示意图;
图4是根据本发明实施例的第一图像和第二图像的特征点的对应关系的示意图;
图5是根据本发明实施例的第一图像和第二图像的内群点的对应关系的示意图;
图6是根据本发明另一实施例的光流估计的方法的示意性流程图;
图7是根据本发明另一实施例的光流估计的方法的示意性流程图;
图8是根据本发明另一实施例的第一图像的锚点的示意图;
图9是根据本发明另一实施例的第一图像的光流场的准确性标记的示意图;
图10是根据本发明另一实施例的对第一图像分块合并后的示意图;
图11是根据本发明另一实施例的光流估计的方法的示意性流程图;
图12是根据本发明另一实施例的目标光流场的可视化结果的示意图;
图13是根据本发明另一实施例的目标光流场与真实参考数据相比较的差异的示意图;
图14是根据本发明实施例的光流估计的装置的示意图;
图15是根据本发明另一实施例的光流估计的装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧图像之间的相关性来找到上一帧图像跟当前帧图像之间存在的对应关系,从而计算出相邻帧图像之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、或者相机的运动、或者两者的共同运动所产生的。本发明实施例的光流估计的方法通过估计两幅图像之间的光流场,从而可以应用于视频编辑、目标跟踪、场景分析、动作捕获与识别等领域。
本发明实施例中,大位移场景是指:由于视频序列前后两帧之间的拍摄时间间隔相对固定,对于快速运动的物体,该物体在视频序列前后两帧图像中的像素位置差异较大。例如该物体在该前后两帧图像中的像素位置之间的距离大于20个像素点,但本发明实施例对此并不限定。
图1是根据本发明一个实施例的光流估计的方法100的示意性流程图。如图1所示,方法100包括:
步骤110、确定第一图像的M个第一内群点(inlier)和第二图像的M个第二内群点,M个第一内群点与M个第二内群点一一对应,其中,M个第一内群点为第一图像中满足预设条件的M个像素点,M个第二内群点为第二图像中满足预设条件的M个像素点,第一图像以第二图像作为参考图像,M为正整数;
步骤120、根据第一内群点集合和第二内群点集合按照预设的第一算法得到第一图像的第一光流场;
步骤130、根据第一光流场按照预设的第二算法确定第二光流场,第二算法使得第二光流场中的光流矢量的数量大于第一光流场中的光流矢量的数量;
步骤140、将第二光流场作为能量方程的匹配项约束,求解能量方程,得到第一目标光流场,能量方程的变量因子包含第二光流场与第一目标光流场。
其中,第一图像和第二图像可以为连续拍摄两帧图像。例如,第一图像也可以称为目标帧图像,第二图像也可以称为参考帧图像。图2和图3所示为相机运动过程中拍摄的两幅图像,假设,图3所示为第一图像,图2所示为第二图像。
第一光流场也可以称为稀疏的初始光流场,第二光流场也可以称为稠密的初始光流场,求解能量方程得到的目标光流场是对稠密的初始光流场进行优化后的结果。
现有技术中,在处理大位移场景时,一种比较常见的策略就是先通过特征检测和匹配的方法得到稀疏的对应点关系(即稀疏的光流场),然后将对应点关系作为能量方程中的一个匹配项约束进行变分光流优化,得到光流场。这种方法得到的光流场的准确度较低。
而本发明实施例中,先通过特征点检测和匹配得到稀疏的光流场(即第一光流场),然后对该稀疏的光流场进行光流估计得到稠密的光流场(即第二光流场),使用该稠密的光流场作为能量方程的匹配项约束,求解能量方程得到优化后的光流场(即第一目标光流场),使得能够得到更加准确的光流估计结果,弥补现有光流估计技术的不足。
本发明实施例中,通过确定两幅图像中具有一一对应关系的多个内群点,根据该两幅图像的多个内群点得到稀疏的光流场,并根据该稀疏的光流场按照预设的算法确定稠密的光流场,使用该稠密的光流场作为能量方程中的一个匹配项约束,能够使得求解能量方程得到的目标光流场更加准确,从而能够实现大位移场景下的更加准确的光流估计。
步骤110中,可以通过特征点检测和匹配的方法得到两幅图像的一一对应的M个第一内群点和M个第二内群点。
可选地,作为另一实施例,步骤110包括:
步骤111、从第一图像中确定N个像素点作为N个第一特征点,从第二图像中确定N个像素点作为N个第二特征点,N个第一特征点与N个第二特征点一一对应,N为大于或等于M的正整数;
如图2和图3所示图像上的灰色圆点表示特征点。
步骤112、从N个第一特征点中确定满足预设条件的M个第一特征点作为M个第一内群点,从N个第二特征点中确定该M个第一特征点对应的M个第二特征点作为M个二内群点。
具体地,首先,输入第一图像和第二图像,利用特征点检测方法对第一图像和第二图像进行特征点检测,从第一图像中确定N个像素点作为N个第一特征点,并从第二图像中确定N个像素点作为N个第二特征点,每个特征点用一个对应的特征描述算子表示该特征点的特征信息。如图2和图3所示分别为对第一图像和第二图像进行特征点检测之后得到的特征点的示意图。
可以采用多种特征点检测方法进行特征点检测,本发明实施例对此并不限定,例如:哈瑞斯(Harris)角点,快速(Fast)角点,尺度不变特征转换(ScaleInvariantFeatureTranform,简称SIFT),加速鲁棒特征(SpeededUpRobustFeatures,简称SURF),方向梯度直方图(HistogramofGradient,简称HOG),概要(GIST)特征,二进制鲁棒独立特征(BinaryRobustIndependentElementaryFeatures,简称BRIEF),具有方向性和旋转的二进制鲁棒独立特征(OrientedFastandRotatedBRIEF,简称ORB)等特征点检测方法。
然后,匹配N个第一特征点和N个第二特征点,使得N个第一特征点和N个第二特征点一一对应,得到N个第一特征点与N个第二特征点的对应关系。
图4所示为对图2和图3所示的特征点经过匹配之后得到的特征点的对应关系的示意图。图4中用两点之间的连线表示图2和图3所示两幅图像中的任一对特征点的对应关系。
如图4所示,经过匹配之后得到的对应点并不一定都是正确的,其中可能存在一些错误的对应关系,如图4所示连线AA’和连线BB’表示的是错误对应关系,如果不剔除掉这些具有错误的对应关系的特征点,会对光流场的估计造成严重的影响,因此这里需要从多个特征点中确定具有正确的对应关系的特征点(即内群点),保留正确的对应关系,图5所示为第一图像和第二图像的内群点的对应关系的示意图。即执行步骤112。
可选地,如图6所示,步骤112包括:
步骤1121、将第一图像平均划分为X个网格,X为正整数;
步骤1122、重复执行以下步骤1123至步骤1128,直至对X个网格均已执行单应矩阵估计处理:
步骤1123、从X个网格中选择出未进行单应矩阵估计处理的Y个网格,并从Y个网格中选择特征点数量最多的目标网格,Y为小于或等于X的正整数;
步骤1124、将与目标网格相邻的Z个网格中的第一特征点和目标网格的第一特征点组成点集,Z为正整数;
步骤1125、对点集进行单应矩阵估计处理,确定出一个单应矩阵(Homography);
步骤1126、采用该一个单应矩阵对点集中的每个第一特征点和点集中的每个第一特征点对应的第二特征点计算残差(residualerror);
步骤1127、如果残差小于预设的阈值,确定点集中的每个第一特征点为第一内群点,确定点集中的每个第一特征点对应的第二特征点为第二内群点;
步骤1128、从点集中删除第一内群点,分别更新目标网格和Z个网格中的第一特征点的数量。
其中,Z可以取8,则与目标网格相邻的8个网格可以为目标网格上、下、左、右、左上、左下、右上、右下八个方向上的相邻网格。但本发明实施例对此并不限定,例如,Z还可以取4,相应地,与目标网格相邻的4个网格可以为目标网格上、下、左、右四个方向上的相邻网格。
其中残差的定义为:对于任一第一内群点p和该第一内群点对应的第二内群点q’,根据单应矩阵将p点映射到p’点,p’点和q’点之间的欧氏距离称为残差。
下面结合具体例子详细描述以上步骤112至步骤118的内容:
1)、将内群点集合Θ初始化为空,将整个图像划分为M*N(例如10*10)等分,变成M*N个网格,并对每个网格设置一个单应矩阵估计的标志位,将该标志位全部设为0。标志位为1表示该网格进行了单应矩阵估计,标志位为0表示该网格未进行单应矩阵估计;
2)、对每个网格根据它所包含的特征点数进行降序排列,将所有网格的单应矩阵估计标志位置为0;
3)、对排序后的网格队列进行扫描,如果网格队列中所有单应矩阵估计标志位均为1,结束;否则,执行步骤4);
4)、从网格队列中选择第一个单应矩阵估计标志位为0的网格Γ,即队列中第一个未进行单应矩阵估计的网格,再选取Γ周围和其上、下、左、右、左上、左下、右上、右下相邻的8个网格,这9个网格所包含的特征点组成一个点集Φ,对点集Φ进行单应矩阵估计处理,例如可以用RANSAC方法估计一个内群点数目最大的单应矩阵。如果内群点数目大于K(例如,K取10),则认为单应矩阵有效,再用它对点集Φ中的每一个特征点计算残差。如果残差小于阀值,则该特征点为内群点。将点集Φ中所有的内群点添加到内群点集合Θ中,同时对所选的9个网格的特征点数目进行更新,即将点集Φ中所有的内群点从9个网格中移除,接着重复步骤2)至4);如果内群点数目小于等于K,则认为单应矩阵无效,将网格Γ的单应矩阵估计标志位置为1,重复步骤3)至4)。
直到对M*N个网格均已执行单应矩阵估计处理,此时点集Θ中的即为剔除了所有外群点(outlier)的内群点集合。
应理解,步骤112中还可以采用其他方法分别删除第一图像和第二图像中对应关系错误的特征点,以得到第一图像的第一内群点和第二图像的第二内群点,本发明实施例对此并不限定。
如图6所示为两幅图像的内群点的对应关系的示意图。
步骤120中,可以根据M个第一内群点的坐标和M个第二内群点的坐标按照预设的第一算法确定第一光流场。其中,第一光流场由M个第一内群点的M个光流矢量组成,M个光流矢量与M个第一内群点一一对应。换句话说,第一光流场由M个第一内群点各自的光流矢量组成。
例如,m2表示第一图像(即目标帧图像)中的一个第一内群点的坐标,例如m2为(x2,y2)。m1表示在第二图像(即参考帧图像)中与m2表示的第一内群点相对应的第二内群点的坐标,例如m1为(x1,y1)。则坐标为m2的第一内群点的光流矢量u(m2)为u(m2)=m2-m1。
需要说明的是,根据M个第一内群点和M个第二内群点还可以确定第二图像的初始光流场,第二图像的初始光流场由M第二内群点各自的光流矢量组成。例如,m2表示第一图像(即目标帧图像)中的第一内群点的坐标,m1表示在第二图像(即参考帧图像)中与m2表示的第一内群点相对应的第二内群点的坐标,则坐标为m1的第二内群点的光流矢量u(m1)为u(m1)=m1-m2。
可选地,作为另一实施例,步骤130可以包括:
根据第一光流场中的光流矢量对第一图像中除M个第一内群点之外的P个像素点进行插值运算,得到P个光流矢量,P个光流矢量与P个像素点一一对应,第一光流场中的光流矢量和P个光流矢量组成第二光流场,P为正整数。
本发明实施例采用插值运算的方法,计算速度快,因此也可以称为速度优先的稠密的初始光流场估计方法。
插值运算可以为双边插值,也可以为其他插值方法,本方法实施例对此并不限定,本发明实施例仅以公式(1)所示的插值运算为例描述。
插值运算包括以下公式(1):
其中,j为M个第一内群点中任一第一内群点的坐标,A为M个第一内群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
因为每个第一内群点j对第一图像中i表示的像素点进行光流插值时,其插值的权重系数随着j和i的距离||i-j||以及j和i的颜色差异||I(i)-I(j)||变化的,i点插值后的结果需要除以所有j点权重之和,即规则化系数W,
其中,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数。
在第一种可能的实现方式中,步骤130中,根据第一光流场中的光流矢量对第一图像中除M个第一内群点之外的P个像素点进行插值运算,得到P个光流矢量,可以包括:
根据位于P个像素点中每个像素点的预设范围内的第一内群点的光流矢量对每个像素点进行插值运算,得到P个光流矢量。
换句话说,对于每个第一内群点j,只对其周围以半径为r(如r=5σs)圆形区域内的像素i进行插值。
半径r选取的越小,插值运算的速度越快,相反,半径r选取的越大,插值运算的结果越接近于采用第一图像中全部的M个第一内群点进行插值的结果。
对于图像的边界区域,可能不存在内群点,这可能会导致边界区域的像素点没有特征点可以用来进行插值。对于这些边界区域,可以在插值完成之后根据已有的插值结果就近进行传播(Propagation)处理。
可替代地,在第二种可能的实现方式中,步骤130中,根据第一光流场中的光流矢量对第一图像中除M个第一内群点之外的P个像素点进行插值运算,得到P个光流矢量,可以包括:
从P个像素点中选择Q个像素点,Q个像素点中每个像素点的预设范围内包括至少一个第一内群点,Q为小于P的正整数;
根据位于Q个像素点中每个像素点的预设范围内的第一内群点的光流矢量对Q个像素点中每个像素点进行插值运算,得到Q个光流矢量,Q个光流矢量与Q个像素点一一对应;
根据Q个光流矢量,对P个像素点中除Q个像素点之外的剩余R个像素点进行传播处理,得到R个光流矢量,R个光流矢量与R个像素点一一对应,Q个光流矢量和R个光流矢量组成P个光流矢量,R为正整数。
在以上描述的步骤130的两种可能的实现方式中,同样可以采用公式(1)所示的插值运算。但是需要注意的是,在第一种可能的实现方式和第二种可能的实现方式中,对像素点进行插值运算时,由于仅根据位于该像素点的预设范围内的第一内群点的光流矢量对该像素点进行插值运算,因此公式(1)中,j和A表示的含义相应地代表不同的含义,例如,j为位于坐标为i的像素点的预设范围内的第一内群点中的任一第一内群点的坐标,A为位于坐标为i的像素点的预设范围内的第一内群点组成的集合。公式(1)中其他变量的含义可以参考上文中的相关描述,在此不再赘述。
本发明实施例中采用插值运算得到稠密的初始光流场,处理速度快,需要的处理时间短,能够满足速度优先的光流场估计的应用场景。
可替代地,作为另一实施例,如图7所示,步骤130可以包括:
步骤131、将第一图像按照预设的规则划分为k个区域,k为正整数;
例如,可以采用简单线性迭代聚类(SimpleLinearIterativeClustering,简称SLIC)方法,将第一图像划分为k个面积近似相等的区域。如图8所示。
步骤132、计算k个区域中每个区域内的像素点的坐标的平均值,确定出k个锚点,k个锚点与k个区域一一对应,k个区域中每个区域的锚点为每个区域的像素点中与该平均值的距离最近的一个像素点;
步骤133、根据第一光流场中的光流矢量按照预设的第三算法确定确定k个光流矢量,k个光流矢量与k个锚点一一对应;
步骤134、根据k光流矢量确定映射函数,映射函数用于表示k个光流矢量与第一图像中的每个像素点的光流矢量的映射关系;
步骤135、分别将第一图像中的全部像素点的坐标代入映射函数,得到第一图像中全部像素点的光流矢量,第一图像中的全部像素点的光流矢量组成第二光流场。
本发明实施例本发明实施例得到的稠密的初始光流场(即第二光流场)的准确性更高,因此也可以称为精度优先的初始光流场估计方法。
其中,第三算法包括以下公式(2):
其中,z为M个第一内群点中任一第一内群点的坐标,v(z)为第一光流场中坐标为z的第一内群点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(z,xi)为内积函数,表示向量z和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
步骤134中确定的映射函数f(x)为:
其中,x为第一图像中的任一像素点的坐标,f(x)为坐标为x的像素点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点对应的光流矢量,λ为预设系数,k(x,xi)为内积函数,表示向量x和xi之间的内积K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
下面详细描述本发明实施例中根据第一光流场确定第二光流场的方法。
从稀疏的光流场估计稠密的光流场的问题可以看作一个机器学习的问题,具体来说,就是将每个像素的坐标以及其灰度值看作一个数据点的特征,对于整幅图像而言,则有n>>m个数据点,对于已确定的内群点集合中的特征点可以视作已标记的数据(labeleddata),而内群点集合中的特征点对应的稀疏的光流场即为目标值y=v,是一个m*2的矩阵。因此,光流场的估计对应为回归分析问题,我们需要从数据点中获得一个有效的稀疏的光流场到稠密的光流场的映射函数。
例如,可以采用KernelRidgeRegression方法获得映射函数f(x):
其封闭解(Closed-form)解为:
α=(K+λI)-1y
在此基础上,我们可以通过Kernelexpansion计算第一图像的光流场。
本发明实施例中通过采用k个锚点(例如k≈100)替代M个第一内群点构造映射函数。为了综合考虑锚点的空间分布,本发明实施例可以采用SLIC方法,将第一图像划分为k个面积近似相等的区域,并计算每块区域内所有像素点的坐标的平均值,将该均值的距离最近的像素点作为锚点。例如,图8所示为SLIC分割的结果,其中曲线表示分割的边界,圆点为每个区域的中心,也即锚点。但本发明实施例并不限于此,还可以采用其他方法确定第一图像的锚点,例如,还可以采用对第一图像的第一内群点中的特征点的特征进行K均值(K-means)聚类的方法确定第一图像的锚点。
接下来,首先需要根据已知的第一内群点的光流矢量确定锚点的光流矢量,假设锚点的光流矢量是已知的,则第一内群点的光流矢量可以通过以下公式(2)得到:
整理上述公式(2)可得:
v=Wy'(4)
其中,v为m*2的矩阵,每一行表示相应的特征点分别在水平方向(x方向)的位移和在垂直方向(y方向)的位移,y'为k*2的矩阵,每一行表示相应的锚点的分别在x方向的位移和在y方向的位移,W为m*k的矩阵。
求解该线性方程组(4),即可得到锚点的光流矢量。由于该方程(4)的系数矩阵不是一个方阵,无法直接进行求逆,因此可以采用最小二乘法在方程的两边同时乘上稀疏矩阵的转置得到:
WTWy'=WTv(5)
通常,此时WTW为一个方阵,可以进行求逆操作,从而得到锚点的光流矢量:
y'=(WTW)-1WTv(6)
由于只涉及到少量的锚点,映射函数的求解只需要解决O(k3)复杂度的矩阵求逆问题。获取锚点的运动之后,根据公式(3)就可以非常高效地获得图像上任意一个像素点的光流矢量。
本发明实施例中采用基于学习的方法进行光流场估计,由于获取的锚点比较具有代表性,因此不仅可以较为快速得获取稠密的初始光流场,同时得到的光流场也比采用插值运算的方法的结果更加准确。
现有技术中的能量方程为:
其中,w为光流矢量,ED(x)为数据项约束,Es(x)为平滑项约束,α为平滑项权重参数。
其中,δ,γ分别表示颜色和梯度的权重,Ψ(·)为惩罚函数,为梯度函数,为保证相应的矩阵正定的参数,c为通道个数,Ix,Iy分别为图像在水平方向和垂直方向的梯度。
在本发明实施例中,确定第二光流场之后,将该第二光流场作为匹配项加入到上述能量方程(7)中,得到本发明实施例的能量方程:
其中,w为第一目标光流场,x为第一图像中任一像素点的坐标,Z为第一图像中的像素点的集合,EM(x)为匹配项约束,β为匹配项约束的权重。
EM=φ(x)Ψ(||w-w'||2)
其中,w'为第二光流场,φ(x)为匹配项的权值,具体为:
φ(x)=σMexp(-Δ(x))
其中,σM为匹配项约束的权重。指的是第一图像中坐标为x的像素点在第i个颜色通道的像素值,指的是第二图像中坐标为x-w'(x)的像素点第i个颜色通道的像素值。
可以看出,当第二光流场估计的比较准确时,Δ(x)的值越接近于0,φ(x)的值也越大,也即匹配项的权重越大,因此要求w更加接近于初始光流值w'。相反,当第二光流场估计的不够准确时,匹配项所占的权重越小。
当第一图像和第二图像的分辨率较小时,可以直接在原分辨率的第一图像上进行上述能量方程(8)的求解,以得到第一目标光流场。
当第一图像和第二图像的分辨率较大时,直接在原分辨率的第一图像上进行上述能量方程(8)的求解非常耗时,为了加快计算速度,在本发明实施例中,还可以先对第一图像和第二图像进行下采样处理。
可选地,作为另一实施例,在步骤110中,第一图像是对第一分辨率的第三图像下采样至第二分辨率的图像,第二图像是对第一分辨率的第四图像下采样至第二分辨率的图像。相应地,方法100还可以包括:步骤150、对第一目标光流场进行上采样,得到第三图像的第二目标光流场。
本发明实施例中,将原分辨率图像进行下采样,根据能量方程求解得到下采样后的图像的光流场后,再对该光流场进行上采样,能够获得原分辨率图像的光流场。由于能量方程的求解是在下采样的图像上进行的,因此能够加快光流估计的计算速度。
需要说明的是,对能量方程(8)求解时,同经典的变分光流估计方法一样,都需要采用粗糙到精细(coarse-to-fine)的策略,因此本发明实施例中可以建立图像金字塔进行能量方程(8)的求解,即对第一图像和第二图像进行多次下采样,按照分辨率从低到高可以建立一个图像金字塔,从图像金字塔最上层开始,在每一次采样后的图像上进行能量方程求解。
需要说明的是,步骤130得到的第二光流场在一些区域的结果已经足够准确,因而没有必要再耗费太多的时间对这些区域进行优化,只需要对第二光流场中误差较大的区域进行优化。因此,本发明实施例中还可以依据第二光流场的结果对第一图像的不同区域分别进行不同尺度的优化。具体来讲,对于残差较大的区域,往往包含更多的图像细节,采用较多尺度的优化;而残差较小的区域,当前光流场已经可以很好地表示其真实光流场,因而只需要较少尺度的优化。
可选地,作为另一实施例,步骤140可以包括:
步骤141、根据M个第一内群点和M个第二内群点按照预设的第四算法确定第四光流场,第四算法使得第四光流场与第二光流场的方向相反;
其中,第四光流场由M个光流矢量组成,M个光流矢量与M个第二内群点一一对应。换句换说,第四光流场由M个第二内群点的各自的光流矢量组成。第二内群点的光流矢量的确定方法可以参考上文相应内容的描述,在此不再赘述。
步骤142、根据第二光流场和第四光流场按照预设的第五算法确定第一图像中每个像素点的光流误差(error);
步骤143、根据第一图像中每个像素点的光流误差,按照预设的第六算法将第一图像分为S块图像区域,并确定S块图像区域的每块图像区域中光流误差小于预设值的像素点占每块图像区域中所有像素点的比率,S为正整数;
步骤144、根据比率确定每块图像区域进行变分优化时图像金字塔的层数;
步骤145、根据层数对每块图像区域建立图像金字塔,将图像金字塔顶层的图像区域的光流场作为能量方程的匹配项约束,求解能量方程,得到图像金字塔顶层的图像区域的优化的光流场;
步骤146、对图像金字塔顶层的图像区域的优化的光流场进行上采样,得到每块图像区域的光流场,S块图像区域的光流场组成第一目标光流场。
应理解,图像金字塔顶层的图像区域是对第一图像中每块图像区域下采样后的图像区域。换句话说,图像金字塔顶层的图像区域的分辨率小于第一图像中每块图像区域的分辨率。
需要说明的是,步骤145中,图像金字塔顶层的图像区域的光流场的确定方法可以参考第一图像的第一光流场的确定方法,在此不再赘述。
步骤142中,第五算法包括以下公式(9):
yerror(x)=|f12(x)+f21(x’)|(9)
其中,x为第一图像中的任一像素点的坐标,yerror(x)为第一图像中坐标为x的像素点的光流误差,x’为根据f12得到的x在第二图像中的对应的像素点的坐标,f12(x)为第二光流场中坐标为x的像素点的光流矢量,f21(x)为第四光流场中坐标为x’的像素点的光流矢量。
具体地,步骤143中,根据第一图像中每个像素点的光流误差,按照预设的第六算法将第一图像分为S块图像区域,可以包括:
步骤1431、将第一图像划分为T个网格,T为大于或等于S的正整数;
例如,将第一图像平均划分为T个大小相等的网格。
步骤1432、确定每个网格的光流误差,每个网格的光流误差为每个网格上的像素点的光流误差的平均值;
步骤1433、根据每个网格的光流误差按照预设的排序规则对T个网格进行排序;
例如,可以根据每个网格的光流误差按照从大到小的排序规则对T个网格进行排序,但本方法实施例对此并不不限定,也可以按照从小到大的排序规则对T个网格进行排序。
步骤1434、依次对排序后的每个网格执行以下步骤,得到S块图像区域:
步骤1435、以当前网格为中心,选取当前网格上、下、左、右四个方向上没有被合并且光流误差最大的相邻网格与当前网格进行合并;
步骤1436、如果当前网格本身的光流误差大于第一阈值,并且该相邻网格的光流误差小于第二阈值,或者当前网格与该相邻网格合并后的图像区域的尺寸超过预先设定的尺寸,则不对当前网格和该相邻网格进行合并;否则,对当前网格和该相邻网格进行合并。
例如,如果当前网格的光流误差小于或等于第一阈值,并且当前网格与该相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对当前网格和该相邻网格进行合并;或者,
如果当前网格的光流误差大于第一阈值,该相邻网格的光流误差大于或等于第二阈值,并且当前网格与该相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对当前网格和该相邻网格进行合并。
当对T个网格均执行了上述处理后即可得到S块图像区域。
本发明实施例中,通过将图像分析多块图像区域,并分别确定每块图像区域进行优化时图像金字塔的层数,根据对应的层数对不同图像区域分别进行不同尺度的优化,能够进一步提高计算速度,减少光流估计的计算时间。
下面结合具体例子详细描述上述步骤1431至步骤1436的具体内容。
首先根据上文描述的光流估计方法确定图像I1到图像I2的光流场f12,以及反向光流场f21(即I2到I1的光流场);然后根据f12和f21进行初始光流场的光流误差检查,对于图像I1中的像素点x,令x’表示其在f12下得到的在图像I2中的对应像素点,光流误差可以通过算式|f12(x)+f21(x’)|得到。例如,假设光流误差|f12(x)+f21(x’)|<3,则认为x点的光流矢量f12是准确的,否则不是。
如图9所示为对第二光流场进行双向检查之后得到的准确性标记(mask)的示意图,其中灰度值为0(黑色)的区域表明第二光流场是准确的,灰度值非0的区域表明第二光流场不准确,并且灰度值越大表明光流误差越大。
接下来,本发明实施例中根据获取的mask结果对图像进行分块,并且对于每个分块,依据该区域的初始光流的光流误差程度确定优化的尺度层数。具体分块方法为:
步骤1)将图像划分成若干等大小的网格;
例如,每个网格大小为10*10。
步骤2)计算每个网格的光流误差;
步骤3)根据每个网格的光流误差对网格进行排序(例如从大到小);
步骤4)依次对排序后的每个网格执行步骤5)至步骤7),直到没有网格可以进行合并;
步骤5)对于网格g,判断该网格g是否已经被合并,如果没有合并,则进行6,如果已经合并则转步骤4);
步骤6)以网格g为中心,选取周围上、下、左、右四个方向上没有被合并且光流误差最大的相邻网格与网格g进行合并;
步骤7)如果网格g本身的光流误差较大(如>3.0),并且周围四个方向的光流误差都较小(如<0.5),或者合并后的区域大小超过预先设定的最大分块大小(如20*20),则停止进行合并,转步骤4);否则,对网格g进行合并。
图10所示是对图9进行分块合并后的结果示意图,图10中的数字表示每块图像区域内光流误差小于预设值的像素点占该区域总像素点的比率。
具体地,步骤144可以包括:根据以下公式(10)确定层数level:
其中,r为每块图像区域中光流误差小于预设值的像素点占每块图像区域中所有像素点的比率,为向下取整符号。
需要说明的是,如果像素点的光流误差小于预设值,则可以认为该像素点处的光流场是准确的;否则,认为该像素点的光流场是不准确的。例如,|f12(x)+f21(x’)|<3,认为像素点x处的光流场是准确的。
确定好每块合并后的图像区域的尺度层数后,分别对每块图像区域采用变分法进行进一步的连续优化。例如,可以采取上文描述的能量方程(8)分别对每块图像进行优化。
采用分块变尺度的机制后,从整体上减少了金字塔的层数,从而加快了处理的速度。
当采用图像金字塔进行能量方程求解时,虽然在金字塔的较高层上变分优化的速度较快,当到达金字塔的底层时,采用现有技术变分优化的速度仍旧较慢。为此,当处理到金字塔的底层时,本发明实施例中可以采用以下步骤151至步骤154描述的保细节的光流上采样方法。
可选地,作为另一实施例,如图11所示,步骤150可以包括:
步骤151、对第一图像进行自适应点采样,将第一图像划分为多个网格;
例如,将图像分为100*100个网格。
步骤152、确定多个网格的多个采样点,其中每个网格的采样点是每个网格中与第二图像中相对应的像素点之间的残差最小的像素点;
步骤153、确定采样点集合,采样点集合包括采样点和M个第一内群点;
步骤154、采用共轭梯度法求解以下珀松方程(11),得到第三图像的第二目标光流场:
其中,x为第三图像中的任一像素点的坐标,B为第三图像中的像素点的集合,C为采样点集合,w0(x)为第二光流场中坐标为x的像素点的光流矢量,v(x)为坐标为x的采样点的光流矢量,λ为预设的规则化参数。
换句话说,当到达金字塔的底层时,首先根据上一层估计的结果进行上采样得到初始的光流场f0;然后进行自适应的采样,使得对于比较平滑的区域采取较少的点,而对于纹理和细节较多的区域则采取较多的点,将采样点和初始的特征点作为集合C(C中的像素点的光流矢量用v表示);求解珀松方程(11)以获得目标光流场f。
经测试,对于一幅大小为1226*370大小的图像,在原始分辨率上进行一次能量方程(线性方程组)的求解所需要的时间大约为0.117秒,而变分优化过程中还需要进行多次的warp操作,每次warp之后都需要进行图像梯度的求解,方程组中系数的计算以及方程组的求解。当warp次数设定为5次时,原始分辨率上求解所需要的时间大致为1.909s,但是通过上述珀松方程的求解只需要0.1秒左右的时间就可以得到同变分优化相近的结果。
其中,由于光流场描述了相邻两个图像帧之间各个像素之间的对应关系,则根据光流场可以将参考帧图像中的每一个像素映射到新的像素位置,得到一幅全新的图像,该过程称为warp。
图12所示为根据本发明一种实施例的光流估计的方法得到的光流估计结果的可视化示意图,图13为该光流估计结果同真实参考数据(groundtruth)相比较的差异结果的示意图,经实验验证错误率为1.84%,即整幅图像中有1.84%的像素的运动与真实参考数据的值不一致。
为了能够达到接近实时的光流估计的目标,本发明实施例中对整个流程可以采用图形处理单元(GraphicsProcessingUnit,简称GPU)进行加速,加速之后,性能可以提高20倍左右,从而能够接近实时的进行光流估计。
对于变分优化过程中,本发明实施例中可以采用逐次超松弛(successiveover-reaxation,简称SOR)方法求解稀疏线性方程组,由于在求解过程中,数据之间存在很强的相关性,无法直接进行多线程并行计算。为了解决该问题,本发明实施例中可以采用红黑(Red-Black)机制进行求解,即将每一次的迭代分为两步进行,第一次对奇数位置上的变量进行并行计算,第二次对偶数位置上的变量进行求解。
上文结合图1至图13详细描述了根据本发明实施例的光流估计的方法,下面结合图14和图15描述根据本发明实施例的光流估计的装置。
图14为根据本发明实施例的光流估计的装置1400的示意性框图。如图14所示,装置1400包括:第一处理单元1410、第二处理单元1420和第三处理单元1430。
第一处理单元2010,用于确定第一图像的M个第一内群点和第二图像的M个第二内群点,M个第一内群点与M个第二内群点一一对应,其中,M个第一内群点为第一图像中满足预设条件的M个像素点,M个第二内群点为第二图像中满足预设条件的M个像素点,第一图像以第二图像作为参考图像,M为正整数;
第一处理单元1410还用于,根据M个第一内群点和M个第二内群点按照预设的第一算法得到第一图像的第一光流场;
第二处理单元1420,用于根据第一处理单元1410得到的第一光流场按照预设的第二算法确定第二光流场,第二算法使得第二光流场中的光流矢量的数量大于第一光流场中的光流矢量的数量;
第三处理单元1430,用于将第二处理单元1420确定的第二光流场作为能量方程的匹配项约束,求解能量方程,得到第一目标光流场,能量方程的变量因子包含第二光流场与第一目标光流场。
其中,第一光流场由M个光流矢量组成,M个光流矢量与M个第一内群点一一对应。
本发明实施例中,通过确定两幅图像中具有一一对应关系的多个内群点,根据该两幅图像的多个内群点得到稀疏的光流场,并根据该稀疏的光流场按照预设的算法确定稠密的光流场,使用该稠密的光流场作为能量方程中的一个匹配项约束,能够使得求解能量方程得到的目标光流场更加准确,从而能够实现大位移场景下的更加准确的光流估计。
可选地,作为另一实施例,第一处理单元1410可以具体用于:
从第一图像中确定N个像素点作为N个第一特征点,从第二图像中确定N个像素点作为N个第二特征点,N个第一特征点与N个第二特征点一一对应,N为大于或等于M的正整数;
将第一图像平均划分为X个网格,X为正整数;
重复执行以下步骤1至步骤6,直至对X个网格均已执行单应矩阵估计处理:
步骤1,从X个网格中选择出未进行单应矩阵估计的Y个网格,并从Y个网格中选择特征点数量最多的目标网格,Y为小于或等于X的正整数;
步骤2,将与目标网格相邻的Z个网格中的第一特征点和目标网格中的第一特征点组成点集,Z为正整数;
步骤3,对点集进行单应矩阵估计处理,确定出一个单应矩阵;
步骤4,采用一个单应矩阵对点集中的每个第一特征点和点集中的每个第一特征点对应的第二特征点计算残差;
步骤5,如果残差小于预设的阈值,确定点集中的每个第一特征点为第一内群点,确定点集中的每个第一特征点对应的第二特征点为第二内群点;
步骤6,从点集中删除第一内群点,分别更新目标网格和Z个网格中的第一特征点的数量。
可选地,作为另一实施例,第二处理单元1420可以具体用于:
根据第一处理单元1410得到的第一光流场中的光流矢量对第一图像中除M个第一内群点之外的P个像素点进行插值运算,得到P个光流矢量,P个光流矢量与P个像素点一一对应,第一光流场中的光流矢量和P个光流矢量组成第二光流场,P为正整数。
其中,插值运算包括以下公式:
其中,j为M个第一内群点中的任一第一内群点的坐标,A为M个第一群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
在第一种可能的实现方式中,第二处理单元1420可以具体用于:
根据位于P个像素点中每个像素点的预设范围内的第一内群点的光流矢量对每个像素点进行插值运算,得到P个光流矢量。
可替代地,在第二种可能的实现方式中,第二处理单元1420还可以具体用于:
从P个像素点中选择Q个像素点,Q个像素点中每个像素点的预设范围内包括至少一个第一内群点,Q为小于P的正整数;
根据位于Q个像素点中每个像素点的预设范围内的第一内群点的光流矢量对Q个像素点中每个像素点进行插值运算,得到Q个光流矢量,Q个光流矢量与Q个像素点一一对应;
根据Q个光流矢量,对P个像素点中除Q个像素点之外的剩余R个像素点进行传播处理,得到R个光流矢量,R个光流矢量与R个像素点一一对应,Q个光流矢量和R个光流矢量组成P个光流矢量,R为正整数。
可替代地,作为另一实施例,第二处理单元1420具体用于:
将第一图像按照预设的规则划分为k个区域,k为正整数;
计算k个区域中每个区域内的像素点的坐标的平均值,确定出k个锚点,k个锚点与k个区域一一对应,k个区域中每个区域的锚点为每个区域的像素点中与该平均值的距离最近的一个像素点;
根据第一光流场中的光流矢量确定k个光流矢量,k个光流矢量与k个锚点一一对应;
根据k个锚点的光流矢量确定映射函数,映射函数用于表示k个光流矢量与第一图像中的每个像素点的光流矢量的映射关系;
分别将第一图像中的全部像素点的坐标代入映射函数,得到第一图像中全部像素点的光流矢量,第一图像中的全部像素点的光流矢量组成第二光流场。
其中,第三算法包括以下公式:
其中,z为M个第一内群点中任一第一内群点的坐标,v(z)为第一光流场中坐标为z的第一内群点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(z,xi)为内积函数,表示向量z和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
第二处理单元1420确定的映射函数为:
其中,x为第一图像中的任一像素的坐标,f(x)为第一光流场中坐标为x的像素点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(x,xi)为内积函数,表示向量x和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
可选地,作为另一实施例,第一图像是对第一分辨率的第三图像下采样至第二分辨率的图像,第二图像是对第一分辨率的第四图像下采样至第二分辨率的图像。相应地,如图14所示,装置1400还包括:第四处理单元1440,用于对第三处理单元1430得到的第一目标光流场进行上采样,得到第三图像的第二目标光流场。
可选地,作为另一实施例,第三处理单元1430具体用于:
根据第一处理单元1410得到的M个第一内群点和M个第二内群点按照预设的第四算法确定第四光流场,第四算法使得第四光流场与第二光流场的方向相反;
根据第二光流场和第四光流场按照预设的第五算法确定第一图像中每个像素点的光流误差;
根据第一图像中每个像素点的光流误差,按照预设的第六算法将第一图像分为S块图像区域,并确定S块图像区域的每块图像区域中光流误差小于预设值的像素点占每块图像区域中所有像素点的比率;
根据比率确定每块图像区域进行变分优化时图像金字塔的层数;
根据该层数对每块图像区域建立图像金字塔,将图像金字塔顶层的图像区域的光流场作为能量方程的匹配项约束,求解能量方程,得到图像金字塔顶层的图像区域的优化的光流场;
对图像金字塔顶层的图像区域的优化的光流场进行上采样,得到每块图像区域的光流场,S块图像区域的光流场组成第一目标光流场。
具体地,第五算法包括以下公式:
yerror(x)=|f12(x)+f21(x’)|,
其中,x为第一图像中的任一像素点的坐标,yerror(x)为第一图像中坐标为x的像素点的光流误差,x’为根据f12得到的x在第二图像中的对应的像素点的坐标,f12(x)为第二光流场中坐标为x的像素点的光流矢量,f21(x)为第四光流场中坐标为x’的像素点的光流矢量。
第三处理单元1430可以具体用于,根据以下公式确定层数level:
其中,r为每块图像区域中光流误差小于预设值的像素点占每块图像区域中所有像素点的比率,为向下取整符号。
可选地,作为另一实施例,第三处理单元1430可以具体用于:
将第一图像平均划分为T个网格,T为大于或等于S的正整数;
确定每个网格的光流误差,每个网格的光流误差为每个网格上的所有像素点的光流误差的平均值;
根据每个网格的光流误差对多个网格按照预设的排序规则进行排序;
依次对排序后的每个网格执行以下步骤,得到S块图像区域:
以当前网格为中心,选取每个网格上、下、左、右四个方向上没有被合并且光流误差最大的相邻网格与当前网格进行合并;
如果每个网格本身的光流误差大于第一阈值,并且该相邻网格的光流误差小于第二阈值,或者每个网格与该相邻网格合并后的图像区域的尺寸超过预先设定的尺寸,则不对当前网格和该述相邻网格进行合并;或者,
如果当前网格的光流误差小于或等于第一阈值,并且当前网格与该相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对当前网格和该相邻网格进行合并;或者,
如果当前网格的光流误差大于第一阈值,该相邻网格的光流误差大于或等于第二阈值,并且当前网格与该邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对当前网格和该相邻网格进行合并。
可选地,作为另一实施例,第四处理单元1440具体用于:
对第一图像进行自适应点采样,将第一图像划分为多个网格;
确定多个网格的多个采样点,其中每个网格的采样点是每个网格中与第二图像中相对应的像素点之间的残差最小的像素点;
确定采样点集合,采样点集合包括多个采样点和M个第一内群点;
采用共轭梯度法求解以下珀松方程,得到第三图像的第二目标光流场:
其中,x为第三图像中的任一像素点的坐标,B为第三图像中的像素点的集合,C为采样点集合,w0(x)为第二光流场中坐标为x的像素点的光流矢量,v(x)为坐标为x的采样点的光流矢量,λ为预设的规则化参数。
可选地,作为另一实施例,能量方程为:
EM=φ(x)Ψ(||w-w'||2)
φ(x)=σMexp(-Δ(x))
其中,x为第一图像中任一像素点的坐标,Z为第一图像中的像素点的集合,w为光流变量,ED(x)为数据项约束,Es(x)为平滑项约束,α为平滑项权重参数,EM(x)为匹配项约束,β为匹配项约束的权重,w'为第一光流场,σM为匹配项约束的权重,c为通道个数,指的是第一图像中坐标为x的像素点在第i个颜色通道的像素值,指的是第二图像中坐标为x-w'(x)的像素点第i个颜色通道的像素值。
应理解,根据本发明实施例的光流估计的装置1400可对应于根据本发明实施例的光流估计的的方法100,并且装置1400中的各个模块/单元的上述和其它操作和/或功能分别为了实现方法100的相应流程,为了简洁,在此不再赘述。
本发明实施例中,通过确定两幅图像中具有一一对应关系的多个内群点,根据该两幅图像的多个内群点得到稀疏的光流场,并根据该稀疏的光流场按照预设的算法确定稠密的光流场,使用该稠密的光流场作为能量方程中的一个匹配项约束,能够使得求解能量方程得到的目标光流场更加准确,从而能够实现大位移场景下的更加准确的光流估计。
图15是根据本发明另一实施例的光流估计的装置1500的示意性框图。如图15所示,装置1500包括:包括处理器1510、存储器1520、总线***1530和输入设备1540。其中,处理器1510和存储器1520通过总线***1530相连,该存储器1520用于存储指令,该处理器1510用于执行该存储器1520存储的指令。
其中,处理器1510用于:确定第一图像的M个第一内群点和第二图像的M个第二内群点,M个第一内群点与M个第二内群点一一对应,其中,M个第一内群点为第一图像中满足预设条件的M个像素点,M个第二内群点为第二图像中满足预设条件的M个像素点,第一图像以第二图像作为参考图像,M为正整数;
根据M个第一内群点和M个第二内群点按照预设的第一算法得到第一图像的第一光流场;
用于根据第一光流场按照预设的第二算法确定第二光流场,第二算法第二光流场中的光流矢量的数量大于第一光流场中的光流矢量的数量;
用于将第二光流场作为能量方程的匹配项约束,求解能量方程,得到第一目标光流场,能量方程的变量因子包含第二光流场与第一目标光流场。
其中,第一光流场由M个光流矢量组成,M个光流矢量与M个第一内群点一一对应。
本发明实施例中,通过确定两幅图像中具有一一对应关系的多个内群点,根据该两幅图像的多个内群点得到稀疏的光流场,并根据该稀疏的光流场按照预设的算法确定稠密的光流场,使用该稠密的光流场作为能量方程中的一个匹配项约束,能够使得求解能量方程得到的目标光流场更加准确,从而能够实现大位移场景下的更加准确的光流估计。
应理解,在本发明实施例中,该处理器1510可以是中央处理单元(CentralProcessingUnit,简称CPU),该处理器1510还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1520可以包括只读存储器和随机存取存储器,并向处理器1510提供指令和数据。存储器1520的一部分还可以包括非易失性随机存取存储器。例如,存储器1520还可以存储设备类型的信息。
该总线***1530除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***1530。
在实现过程中,上述方法的各步骤可以通过处理器1510中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1520,处理器1510读取存储器1520中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
可选地,作为另一实施例,处理器1510具体用于:
从第一图像中确定N个像素点作为N个第一特征点,从第二图像中确定N个像素点作为N个第二特征点,N个第一特征点与N个第二特征点一一对应,N为大于或等于M的正整数;
将第一图像平均划分为X个网格,X为正整数;
重复执行以下步骤1至步骤6,直至对X个网格均已执行单应矩阵估计处理:
步骤1,从X个网格中选择出未进行单应矩阵估计的Y个网格,并从Y个网格中选择特征点数量最多的目标网格,Y为小于或等于X的正整数;
步骤2,将与目标网格相邻的Z个网格中的第一特征点和目标网格中的第一特征点组成点集,Z为正整数;
步骤3,对点集进行单应矩阵估计处理,确定出一个单应矩阵;
步骤4,采用一个单应矩阵对点集中的每个第一特征点和点集中的每个第一特征点对应的第二特征点计算残差;
步骤5,如果残差小于预设的阈值,确定点集中的每个第一特征点为第一内群点,确定点集中的每个第一特征点对应的第二特征点为第二内群点;
步骤6,从点集中删除第一内群点,分别更新目标网格和Z个网格中的第一特征点的数量。
可选地,作为另一实施例,装置1500还可以包括:输入设备1540,用于输入第一图像和第二图像。
可选地,作为另一实施例,处理器1510可以具体用于:
根据第一光流场中的光流矢量对第一图像中除M个第一内群点之外的P个像素点进行插值运算,得到P个光流矢量,P个光流矢量与P个像素点一一对应,第一光流场中的光流矢量和P个光流矢量组成第二光流场,P为正整数。
其中,插值运算包括以下公式:
其中,j为M个第一内群点的任一第一内群点的坐标,A为M个第一内群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
在第一种可能的实现方式中,处理器1510可以具体用于:
根据位于P个像素点中每个像素点的预设范围内的第一内群点的光流矢量对每个像素点进行插值运算,得到P个光流矢量。
可替代地,在第二种可能的实现方式中,处理器1510还可以具体用于:
从P个像素点中选择Q个像素点,Q个像素点中每个像素点的预设范围内包括至少一个第一内群点,Q为小于P的正整数;
分别根据位于Q个像素点中每个像素点的预设范围内的第一内群点的光流矢量对Q个像素点中每个像素点进行插值运算,得到Q个光流矢量,Q个光流矢量与Q个像素点一一对应;
根据Q个光流矢量,对P个像素点中除Q个像素点之外的剩余R个像素点进行传播处理,得到R个光流矢量,R个光流矢量与R个像素点一一对应,Q个光流矢量和R个光流矢量组成P个光流矢量,R为正整数。
可替代地,作为另一实施例,处理器1510具体用于:
将第一图像按照预设的规则划分为k个区域,k为正整数;
计算k个区域中每个区域内的所有像素点的坐标的平均值,确定出k个锚点,k个锚点与k个区域一一对应,k个区域中每个区域的锚点为每个区域的像素点中与平均值的距离最近的一个像素点;
根据第一光流场中的光流矢量按照预设的第三算法确定k个光流矢量,k个光流矢量与k个锚点一一对应;
根据k个光流矢量确定映射函数,映射函数用于表示k个光流矢量与第一图像中的每个像素点的光流矢量的映射关系;
分别将第一图像中的全部像素点的坐标代入映射函数,得到第一图像中全部像素点的光流矢量,第一图像中的全部像素点的光流矢量组成第二光流场。
其中,第三算法包括以下公式:
其中,z为M个第一内群点中任一第一内群点的坐标,v(z)为第一光流场中坐标为z的第一内群点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(z,xi)为内积函数,表示向量z和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
该映射函数为:
其中,x为第一图像中的任一像素点的坐标,f(x)为坐标为x的像素点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(x,xi)为内积函数,表示向量x和xi之间的内积,K、k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
可选地,作为另一实施例,第一图像是对第一分辨率的第三图像下采样至第二分辨率的图像,第二图像是对第一分辨率的第四图像下采样至第二分辨率的图像。相应地,处理器1510还可以用于,对第一目标光流场进行上采样,得到第三图像的第二目标光流场。
可选地,作为另一实施例,处理器1510具体用于:
根据M个第一内群点和M个第二内群点按照预设的第四算法确定第四光流场,第四算法使得第四光流场与第二光流场的方向相反;
根据第二光流场和第四光流场按照预设的第五算法确定第一图像中每个像素点的光流误差;
根据第一图像中每个像素点的光流误差,按照预设的第六算法将第一图像分为S块图像区域,并确定S块图像区域的每块图像区域中光流误差小于预设值的像素点占每块图像区域中所有像素点的比率;
根据比率确定每块图像区域进行变分优化时图像金字塔的层数;
根据层数对每块图像区域建立图像金字塔,将图像金字塔顶层的图像区域的光流场作为能量方程的匹配项约束,求解能量方程,得到图像金字塔顶层的图像区域的优化的光流场;
对图像金字塔顶层的图像区域的优化的光流场进行上采样,得到每块图像区域的光流场,S块图像区域的光流场组成第一目标光流场。
其中,第五算法包括以下公式:
yerror(x)=|f12(x)+f21(x’)|,
其中,x为第一图像中的任一像素点的坐标,yerror(x)为第一图像中坐标为x的像素点的光流误差,x’为根据f12得到的x在第二图像中的对应的像素点的坐标,f12(x)为第二光流场中坐标为x的像素点的光流矢量,f21(x)为第四光流场中坐标为x’的像素点的光流矢量。
可选地,作为另一实施例,处理器1510可以具体用于:
将第一图像平均划分为T个网格,T为大于或等于S的正整数;
确定每个网格的光流误差,每个网格的光流误差为每个网格上的所有像素点的光流误差的平均值;
根据每个网格的光流误差对多个网格进行排序;
依次对排序后的每个网格执行以下步骤,得到S块图像区域:
以每个网格为中心,选取每个网格上、下、左、右四个方向上没有被合并且光流误差最大的相邻网格合并;
如果每个网格本身的光流误差大于第一阈值,并且该相邻网格的光流误差小于第二阈值,或者每个网格与该相邻网格合并后的图像区域的尺寸超过预先设定的尺寸,则不对当前网格和该相邻网格进行合并;或者,
如果当前网格的光流误差小于或等于第一阈值,并且当前网格与相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对当前网格和相邻网格进行合并;
如果当前网格的光流误差大于第一阈值,相邻网格的光流误差大于或等于第二阈值,并且当前网格与相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对当前网格和相邻网格进行合并。
处理器1510可以具体用于,根据以下公式确定层数level:
其中,r为每块图像区域中光流误差小于预设值的像素点占每块图像区域中所有像素点的比率,为向下取整符号。
可选地,作为另一实施例,处理器1510具体用于:
对第一图像进行自适应点采样,将第一图像划分为多个网格;
确定多个网格的多个采样点,其中每个网格的采样点是每个网格中与第二图像中相对应的像素点之间的残差最小的像素点;
确定采样点集合,采样点集合包括多个采样点和M个第一内群点;
采用共轭梯度法求解以下珀松方程,得到第三图像的第二目标光流场:
其中,x为第三图像中的任一像素点的坐标,B为第三图像中的像素点的集合,C为采样点集合,w0(x)为第二光流场中坐标为x的像素点的光流矢量,v(x)为坐标为x的采样点的光流矢量,λ为预设的规则化参数。
可选地,该能量方程为:
EM=φ(x)Ψ(||w-w'||2)
φ(x)=σMexp(-Δ(x))
其中,x为第一图像中任一像素点的坐标,Z为第一图像中的像素点的集合,w为光流变量,ED(x)为数据项约束,Es(x)为平滑项约束,α为平滑项权重参数,EM(x)为匹配项约束,β为匹配项约束的权重,w'为第一光流场,σM为匹配项约束的权重,c为通道个数,指的是第一图像中坐标为x的像素点在第i个颜色通道的像素值,指的是第二图像中坐标为x-w'(x)的像素点第i个颜色通道的像素值。
应理解,根据本发明实施例的光流估计的装置1500可对应于根据本发明实施例的光流估计的方法100以及根据本发明实施例的光流估计的装置1400,并且装置1500中的各个模块的上述和其它操作和/或功能分别为了实现图1的方法100的相应流程,为了简洁,在此不再赘述。
本发明实施例中,通过确定两幅图像中具有一一对应关系的多个内群点,根据该两幅图像的多个内群点得到稀疏的光流场,并根据该稀疏的光流场按照预设的算法确定稠密的光流场,使用该稠密的光流场作为能量方程中的一个匹配项约束,能够使得求解能量方程得到的目标光流场更加准确,从而能够实现大位移场景下的更加准确的光流估计。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (48)
1.一种光流估计的方法,其特征在于,包括:
确定第一图像的M个第一内群点和第二图像的M个第二内群点,所述M个第一内群点与所述M个第二内群点一一对应,其中,所述M个第一内群点为所述第一图像中满足预设条件的M个像素点,所述M个第二内群点为所述第二图像中满足所述预设条件的M个像素点,所述第一图像以所述第二图像作为参考图像,M为正整数;
根据所述M个第一内群点和所述M个第二内群点按照预设的第一算法得到所述第一图像的第一光流场;
根据所述第一光流场按照预设的第二算法确定第二光流场,所述第二算法使得所述第二光流场中的光流矢量的数量大于所述第一光流场中的光流矢量的数量;
将所述第二光流场作为能量方程的匹配项约束,求解所述能量方程,得到第一目标光流场,所述能量方程的变量因子包含第二光流场与第一目标光流场。
2.根据权利要求1所述的方法,其特征在于,所述确定第一图像的M个第一内群点和第二图像的M个第二内群点包括:
从所述第一图像中确定N个像素点作为N个第一特征点,从所述第二图像中确定N个像素点作为N个第二特征点,所述N个第一特征点与所述N个第二特征点一一对应,N为大于或等于M的正整数;
将所述第一图像平均划分为X个网格,X为正整数;
重复执行以下步骤1至步骤6,直至对所述X个网格均已执行单应矩阵估计处理:
步骤1,从所述X个网格中选择出未进行单应矩阵估计处理的Y个网格,并从所述Y个网格中选择特征点数量最多的目标网格,Y为小于或等于X的正整数;
步骤2,将与所述目标网格相邻的Z个网格中的第一特征点和所述目标网格中的第一特征点组成点集,Z为正整数;
步骤3,对所述点集进行单应矩阵估计处理,确定出一个单应矩阵;
步骤4,采用所述一个单应矩阵对所述点集中的每个第一特征点和所述点集中的每个第一特征点对应的第二特征点计算残差;
步骤5,如果所述残差小于预设的阈值,确定所述点集中的每个第一特征点为第一内群点,确定所述点集中的每个第一特征点对应的第二特征点为第二内群点;
步骤6,从所述点集中删除所述第一内群点,分别更新所述目标网格和所述Z个网格中的第一特征点的数量。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一光流场按照预设的第二算法确定第二光流场,包括:
根据所述第一光流场中的光流矢量对所述第一图像中除所述M个第一内群点之外的P个像素点进行插值运算,得到P个光流矢量,所述P个光流矢量与所述P个像素点一一对应,所述第一光流场中的光流矢量和所述P个光流矢量组成所述第二光流场,P为正整数。
4.根据权利要求3所述的方法,其特征在于,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;
所述根据所述第一光流场中的光流矢量对所述第一图像中除所述M个第一内群点之外的P个像素点进行插值运算,得到P个光流矢量,包括:
根据位于所述P个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述每个像素点进行插值运算,得到所述P个光流矢量。
5.根据权利要求3所述的方法,其特征在于,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;
所述根据所述第一光流场中的光流矢量对所述第一图像中除所述M个第一内群点之外的P个像素点进行插值运算,得到P个光流矢量,包括:
从所述P个像素点中选择Q个像素点,所述Q个像素点中每个像素点的预设范围内包括至少一个第一内群点,Q为小于P的正整数;
根据位于所述Q个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述Q个像素点中每个像素点进行插值运算,得到Q个光流矢量,所述Q个光流矢量与所述Q个像素点一一对应;
根据所述Q个光流矢量,对所述P个像素点中除所述Q个像素点之外的剩余R个像素点进行传播处理,得到R个光流矢量,所述R个光流矢量与所述R个像素点一一对应,所述Q个光流矢量和所述R个光流矢量组成所述P个光流矢量,R为正整数。
6.根据权利要求3所述的方法,其特征在于,所述插值运算包括以下公式:
其中,j为所述M个第一内群点中任一第一内群点的坐标,A为所述M个第一内群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为所述第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
7.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一光流场按照预设的第一算法确定第二光流场,包括:
将所述第一图像按照预设的规则划分为k个区域,k为正整数;
计算所述k个区域中每个区域内的像素点的坐标的平均值,确定出k个锚点,所述k个锚点与所述k个区域一一对应,所述k个区域中每个区域的锚点为所述每个区域的像素点中与所述平均值的距离最近的一个像素点;
根据所述第一光流场中的光流矢量按照预设的第三算法确定k个光流矢量,所述k个光流矢量与所述k个锚点一一对应;
根据所述k个光流矢量确定映射函数,所述映射函数用于表示所述k个光流矢量与所述第一图像中的每个像素点的光流矢量的映射关系;
分别将所述第一图像中的全部像素点的坐标代入所述映射函数,得到所述第一图像中全部像素点的光流矢量,所述第一图像中的全部像素点的光流矢量组成所述第二光流场。
8.根据权利要求7所述的方法,其特征在于,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应,所述第三算法包括以下公式:
其中,z为所述M个第一内群点中任一第一内群点的坐标,v(z)为所述第一光流场中坐标为z的第一内群点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(z,xi)为内积函数,表示向量z和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
9.根据权利要求7或8所述的方法,其特征在于,所述映射函数为:
其中,x为所述第一图像中的任一像素点的坐标,f(x)为坐标为x的像素点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(x,xi)为内积函数,表示向量x和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述第一图像是对第一分辨率的第三图像下采样至第二分辨率的图像,所述第二图像是对所述第一分辨率的第四图像下采样至所述第二分辨率的图像,所述方法还包括:
对所述第一目标光流场进行上采样,得到所述第三图像的第二目标光流场。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述将所述第二光流场作为能量方程的匹配项,求解所述能量方程,得到第一目标光流场,包括:
根据所述M个第一内群点和所述M个第二内群点按照预设的第四算法确定第四光流场,所述第四算法使得所述第四光流场与所述第二光流场的方向相反;
根据所述第二光流场和所述第四光流场按照预设的第五算法确定所述第一图像中每个像素点的光流误差;
根据所述第一图像中每个像素点的光流误差,按照预设的第六算法将所述第一图像分为S块图像区域,并确定所述S块图像区域的每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率,S为正整数;
根据所述比率确定所述每块图像区域进行变分优化处理时图像金字塔的层数;
根据所述层数对所述每块图像区域建立图像金字塔,将所述图像金字塔顶层的图像区域的光流场作为能量方程的匹配项约束,求解所述能量方程,得到所述图像金字塔顶层的图像区域的优化的光流场;
对所述图像金字塔顶层的图像区域的优化的光流场进行上采样,得到所述每块图像区域的光流场,所述S块图像区域的光流场组成所述第一目标光流场。
12.根据权利要求11所述的方法,其特征在于,所述第五算法包括以下公式:
yerror(x)=|f12(x)+f21(x’)|,
其中,x为所述第一图像中的任一像素点的坐标,yerror(x)为所述第一图像中坐标为x的像素点的光流误差,x’为根据f12得到的x在所述第二图像中的对应的像素点的坐标,f12(x)为所述第二光流场中坐标为x的像素点的光流矢量,f21(x)为所述第四光流场中坐标为x’的像素点的光流矢量。
13.根据权利要求11或12所述的方法,其特征在于,所述根据所述第一图像中每个像素点的光流误差,按照预设的第六算法将所述第一图像分为S块图像区域,包括:
将所述第一图像平均划分为T个网格,T为大于或等于S的正整数;
确定每个网格的光流误差,所述每个网格的光流误差为所述每个网格上的像素点的光流误差的平均值;
根据所述每个网格的光流误差按照预设的排序规则对所述T个网格进行排序;
依次对排序后的每个网格执行以下步骤,得到所述S块图像区域:
以当前网格为中心,选取所述当前网格上、下、左、右四个方向上没有被合并且光流误差最大的相邻网格与所述当前网格进行合并;
如果所述当前网格的光流误差大于第一阈值,并且所述相邻网格的光流误差小于第二阈值,或者所述当前网格与所述相邻网格合并后的图像区域的尺寸超过预先设定的尺寸,则不对所述当前网格和所述相邻网格进行合并;或者,
如果所述当前网格的光流误差小于或等于第一阈值,并且所述当前网格与所述相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格和所述相邻网格进行合并;或者,
如果所述当前网格的光流误差大于第一阈值,所述相邻网格的光流误差大于或等于第二阈值,并且所述当前网格与所述邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格和所述相邻网格进行合并。
14.根据权利要求11至13中任一项所述的方法,其特征在于,所述根据所述比率确定所述每块图像区域进行变分优化时图像金字塔的层数,包括:
根据以下公式确定所述层数level:
其中,r为所述每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率。
15.根据权利要求10所述的方法,其特征在于,所述对所述第一目标光流场进行上采样,得到所述第三图像的第二目标光流场,包括:
对所述第一图像进行自适应点采样,将所述第一图像划分为多个网格;
确定所述多个网格的多个采样点,其中每个网格的采样点是所述每个网格中与所述第二图像中相对应的像素点之间的残差最小的像素点;
确定采样点集合,所述采样点集合包括所述多个采样点和所述M个第一内群点;
采用共轭梯度法求解以下珀松方程,得到所述第三图像的所述第二目标光流场:
其中,x为所述第三图像中的任一像素点的坐标,B为所述第三图像中的像素点的集合,C为所述采样点集合,w0(x)为所述第二光流场中坐标为x的像素点的光流矢量,v(x)为坐标为x的采样点的光流矢量,λ为预设的规则化参数。
16.根据权利要求1至10中任一项所述的方法,其特征在于,所述能量方程为:
EM=φ(x)Ψ(||w-w'||2)
其中,x为所述第一图像中任一像素点的坐标,Z为所述第一图像中的像素点的集合,w为所述第一目标光流场,ED(x)为数据项约束,Es(x)为平滑项约束,α为平滑项权重参数,EM(x)为所述匹配项约束,β为所述匹配项约束的权重,w'为所述第二光流场,φ(x)为匹配项EM(x)的权值,Ψ(·)为惩罚函数。
17.一种光流估计的装置,其特征在于,包括:
第一处理单元,用于确定第一图像的M个第一内群点和第二图像的M个第二内群点,所述M个第一内群点与所述M个第二内群点一一对应,其中,所述M个第一内群点为所述第一图像中满足预设条件的M个像素点,所述M个第二内群点为所述第二图像中满足所述预设条件的M个像素点,所述第一图像以所述第二图像作为参考图像,M为正整数;
所述第一处理单元还用于,根据所述M个第一内群点和所述M个第二内群点按照预设的第一算法得到所述第一图像的第一光流场;
第二处理单元,用于根据所述第一处理单元得到的所述第一光流场按照预设的第二算法确定第二光流场,所述第二算法使得所述第二光流场中的光流矢量的数量大于所述第一光流场中的光流矢量的数量;
第三处理单元,用于将所述第二处理单元确定的所述第二光流场作为能量方程的匹配项约束,求解所述能量方程,得到第一目标光流场,所述能量方程的变量因子包含第二光流场与第一目标光流场。
18.根据权利要求17所述的装置,其特征在于,所述第一处理单元具体用于:
从所述第一图像中确定N个像素点作为N个第一特征点,从所述第二图像中确定N个像素点作为N个第二特征点,所述N个第一特征点与所述N个第二特征点一一对应,N为大于或等于M的正整数;
将所述第一图像平均划分为X个网格,X为正整数;
重复执行以下步骤1至步骤6,直至对所述X个网格均已执行单应矩阵估计处理:
步骤1,从所述X个网格中选择出未进行单应矩阵估计的Y个网格,并从所述Y个网格中选择特征点数量最多的目标网格,Y为小于或等于X的正整数;
步骤2,将与所述目标网格相邻的Z个网格中的第一特征点和所述目标网格中的第一特征点组成点集,Z为正整数;
步骤3,对所述点集进行单应矩阵估计处理,确定出一个单应矩阵;
步骤4,采用所述一个单应矩阵对所述点集中的每个第一特征点和所述点集中的每个第一特征点对应的第二特征点计算残差;
步骤5,如果所述残差小于预设的阈值,确定所述点集中的每个第一特征点为第一内群点,确定所述点集中的每个第一特征点对应的第二特征点为第二内群点;
步骤6,从所述点集中删除所述第一内群点,分别更新所述目标网格和所述Z个网格中的第一特征点的数量。
19.根据权利要求17或18所述的装置,其特征在于,所述第二处理单元具体用于:
根据所述第一处理单元得到的所述第一光流场中的光流矢量对所述第一图像中除所述M个第一内群点之外的P个像素点进行插值运算,得到所述P个光流矢量,所述P个光流矢量与所述P个像素点一一对应,所述第一光流场中的光流矢量和所述P个光流矢量组成所述第二光流场,P为正整数。
20.根据权利要求19所述的装置,其特征在于,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;
所述第二处理单元具体用于:
根据位于所述P个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述每个像素点进行插值运算,得到所述P个光流矢量。
21.根据权利要求19所述的装置,其特征在于,,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;
所述第二处理单元具体用于:
从所述P个像素点中选择Q个像素点,所述Q个像素点中每个像素点的预设范围内包括至少一个第一内群点,Q为小于P的正整数;
根据位于所述Q个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述Q个像素点中每个像素点进行插值运算,得到Q个光流矢量,所述Q个光流矢量与所述Q个像素点一一对应;
根据所述Q个光流矢量,对所述P个像素点中除所述Q个像素点之外的剩余R个像素点进行传播处理,得到R个光流矢量,所述R个光流矢量与所述R个像素点一一对应,所述Q个光流矢量和所述R个光流矢量组成所述P个光流矢量,R为正整数。
22.根据权利要求19所述的装置,其特征在于,所述插值运算包括以下公式:
其中,j为所述M个第一内群点中的任一第一内群点的坐标,A为所述M个第一内群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为所述第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
23.根据权利要求17或18所述的装置,其特征在于,所述第二处理单元具体用于:
将所述第一图像按照预设的规则划分为k个区域,k为正整数;
计算所述k个区域中每个区域内的像素点的坐标的平均值,确定出k个锚点,所述k个锚点与所述k个区域一一对应,所述k个区域中每个区域的锚点为所述每个区域的像素点中与所述平均值的距离最近的一个像素点;
根据所述第一光流场中的光流矢量按照预设的第三算法确定k个光流矢量,所述k个光流矢量与所述k个锚点一一对应;
根据所述k个光流矢量确定映射函数,所述映射函数用于表示所述k个光流矢量与所述第一图像中的每个像素点的光流矢量的映射关系;
分别将所述第一图像中的全部像素点的坐标代入所述映射函数,得到所述第一图像中全部像素点的光流矢量,所述第一图像中的全部像素点的光流矢量组成所述第二光流场。
24.根据权利要求23所述的装置,其特征在于,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应,所述第三算法包括以下公式:
其中,z为所述M个第一内群点中任一第一内群点的坐标,v(z)为所述第一光流场中坐标为z的第一内群点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(z,xi)为内积函数,表示向量z和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
25.根据权利要求23或24所述的装置,其特征在于,所述映射函数为:
其中,x为所述第一图像中的任一像素点的坐标,f(x)为坐标为x的像素点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(x,xi)为内积函数,表示向量x和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
26.根据权利要求17至25中任一项所述的装置,其特征在于,所述第一图像是对第一分辨率的第三图像下采样至第二分辨率的图像,所述第二图像是对所述第一分辨率的第四图像下采样至所述第二分辨率的图像,所述装置还包括:
第四处理单元,用于对所述第三处理单元得到的所述第一目标光流场进行上采样,得到所述第三图像的第二目标光流场。
27.根据权利要求17至26中任一项所述的装置,其特征在于,所述第三处理单元具体用于:
根据所述第一处理单元得到的所述M个第一内群点和所述M个第二内群点按照预设的第四算法确定第四光流场,所述第四算法使得所述第四光流场与所述第二光流场的方向相反;
根据所述第二光流场和所述第四光流场按照预设的第五算法确定所述第一图像中每个像素点的光流误差;
根据所述第一图像中每个像素点的光流误差,按照预设的第六算法将所述第一图像分为S块图像区域,并确定所述S块图像区域的每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率,S为正整数;
根据所述比率确定所述每块图像区域进行变分优化时图像金字塔的层数;
根据所述层数对所述每块图像区域建立图像金字塔,将所述图像金字塔顶层的图像区域的光流场作为能量方程的匹配项约束,求解所述能量方程,得到所述图像金字塔顶层的图像区域的优化的光流场;
对所述图像金字塔顶层的图像区域的优化的光流场进行上采样,得到所述每块图像区域的光流场,所述S块图像区域的光流场组成所述第一目标光流场。
28.根据权利要求27所述的装置,其特征在于,所述第五算法包括以下公式:
yerror(x)=|f12(x)+f21(x’)|,
其中,x为所述第一图像中的任一像素点的坐标,yerror(x)为所述第一图像中坐标为x的像素点的光流误差,x’为根据f12得到的x在所述第二图像中的对应的像素点的坐标,f12(x)为所述第二光流场中坐标为x的像素点的光流矢量,f21(x)为所述第四光流场中坐标为x’的像素点的光流矢量。
29.根据权利要求27或28所述的装置,其特征在于,所述第三处理单元具体用于:
将所述第一图像平均划分为T个网格,T为大于或等于S的正整数;
确定每个网格的光流误差,所述每个网格的光流误差为所述每个网格上的所有像素点的光流误差的平均值;
根据所述每个网格的光流误差对所述T个网格按照预设的排序规则进行排序;
依次对排序后的每个网格执行以下步骤,得到所述S块图像区域:
以当前网格为中心,选取所述当前网格上、下、左、右四个方向上没有被合并且光流误差最大的相邻网格与所述当前网格进行合并;
如果所述当前网格的光流误差大于第一阈值,并且所述相邻网格的光流误差小于第二阈值,或者所述当前网格与所述相邻网格合并后的图像区域的尺寸超过预先设定的尺寸,则不对所述当前网格和所述相邻网格进行合并;或者,
如果所述当前网格的光流误差小于或等于第一阈值,并且所述当前网格与所述相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格和所述相邻网格进行合并;或者,
如果所述当前网格的光流误差大于第一阈值,所述相邻网格的光流误差大于或等于第二阈值,并且所述当前网格与所述邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格和所述相邻网格进行合并。
30.根据权利要求27至29中任一项所述的装置,其特征在于,所述第三处理单元具体用于,根据以下公式确定所述层数level:
其中,r为所述每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率。
31.根据权利要求26所述的装置,其特征在于,所述第四处理单元具体用于:
对所述第一图像进行自适应点采样,将所述第一图像划分为多个网格;
确定所述多个网格的多个采样点,其中每个网格的采样点是所述每个网格中与所述第二图像中相对应的像素点之间的残差最小的像素点;
确定采样点集合,所述采样点集合包括所述多个采样点和所述M个第一内群点;
采用共轭梯度法求解以下珀松方程,得到所述第三图像的所述第二目标光流场:
其中,x为所述第三图像中的任一像素点的坐标,B为所述第三图像中的像素点的集合,C为所述采样点集合,w0(x)为所述第二光流场中坐标为x的像素点的光流矢量,v(x)为坐标为x的采样点的光流矢量,λ为预设的规则化参数。
32.根据权利要求17至26中任一项所述的装置,其特征在于,所述能量方程为:
EM=φ(x)Ψ(||w-w'||2)
其中,x为所述第一图像中任一像素点的坐标,Z为所述第一图像中的像素点的集合,w为光流变量,ED(x)为数据项约束,Es(x)为平滑项约束,α为平滑项权重参数,EM(x)为所述匹配项约束,β为所述匹配项约束的权重,w'为所述第一光流场,φ(x)为匹配项EM(x)的权值,Ψ(·)为惩罚函数。
33.一种光流估计的装置,其特征在于,包括:
处理器、存储器和总线***,其中,所述处理器和所述存储器通过所述总线***相连,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,以用于:
确定第一图像的M个第一内群点和第二图像的M个第二内群点,所述M个第一内群点与所述M个第二内群点一一对应,其中,所述M个第一内群点为所述第一图像中满足预设条件的M个像素点,所述M个第二内群点为所述第二图像中满足所述预设条件的M个像素点,所述第一图像以所述第二图像作为参考图像,M为正整数;
根据所述M个第一内群点和所述M个第二内群点按照预设的第一算法得到所述第一图像的第一光流场;
根据所述第一光流场按照预设的第二算法确定第二光流场,所述第二算法使得所述第二光流场中的光流矢量的数量大于所述第一光流场中的光流矢量的数量;
将所述第二光流场作为能量方程的匹配项约束,求解所述能量方程,得到第一目标光流场,所述能量方程的变量因子包含第二光流场与第一目标光流场。
34.根据权利要求33所述的装置,其特征在于,所述处理器具体用于:
从所述第一图像中确定N个像素点作为N个第一特征点,从所述第二图像中确定N个像素点作为N个第二特征点,所述N个第一特征点与所述N个第二特征点一一对应,N为大于或等于M的正整数;
将所述第一图像平均划分为X个网格,X为正整数;
重复执行以下步骤1至步骤6,直至对所述X个网格均已执行单应矩阵估计处理:
步骤1,从所述X个网格中选择出未进行单应矩阵估计的Y个网格,并从所述Y个网格中选择特征点数量最多的目标网格,Y为小于或等于X的正整数;
步骤2,将与所述目标网格相邻的Z个网格中的第一特征点和所述目标网格中的第一特征点组成点集,Z为正整数;
步骤3,对所述点集进行单应矩阵估计处理,确定出一个单应矩阵;
步骤4,采用所述一个单应矩阵对所述点集中的每个第一特征点和所述点集中的每个第一特征点对应的第二特征点计算残差;
步骤5,如果所述残差小于预设的阈值,确定所述点集中的每个第一特征点为第一内群点,确定所述点集中的每个第一特征点对应的第二特征点为第二内群点;
步骤6,从所述点集中删除所述第一内群点,分别更新所述目标网格和所述Z个网格中的第一特征点的数量。
35.根据权利要求33或34所述的装置,其特征在于,所述处理器具体用于:
根据所述第一光流场中的光流矢量对所述第一图像中除所述M个第一内群点之外的P个像素点进行插值运算,得到所述P个光流矢量,所述P个光流矢量与所述P个像素点一一对应,所述第一光流场中的光流矢量和所述P个光流矢量组成所述第二光流场,P为正整数。
36.根据权利要求35所述的装置,其特征在于,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;
所述处理器具体用于:
根据位于所述P个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述每个像素点进行插值运算,得到所述P个光流矢量。
37.根据权利要求35所述的装置,其特征在于,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应;
所述处理器具体用于:
从所述P个像素点中选择Q个像素点,所述Q个像素点中每个像素点的预设范围内包括至少一个第一内群点,Q为小于P的正整数;
根据位于所述Q个像素点中每个像素点的预设范围内的第一内群点的光流矢量对所述Q个像素点中每个像素点进行插值运算,得到Q个光流矢量,所述Q个光流矢量与所述Q个像素点一一对应;
根据所述Q个光流矢量,对所述P个像素点中除所述Q个像素点之外的剩余R个像素点进行传播处理,得到R个光流矢量,所述R个光流矢量与所述R个像素点一一对应,所述Q个光流矢量和所述R个光流矢量组成所述P个光流矢量,R为正整数。
38.根据权利要求35所述的装置,其特征在于,所述插值运算包括以下公式:
其中,j为所述M个第一内群点中的任一第一内群点的坐标,A为所述M个第一内群点组成的集合,u(j)为坐标为j的第一内群点的光流矢量,i为所述第一图像中的任一像素点的坐标,u(i)为坐标为i的像素点的光流矢量,I(i),I(j)分别为坐标为i,j的像素点的颜色值,σs,σr分别为距离高斯函数和颜色高斯函数的标准差参数,W为规则化系数。
39.根据权利要求33或34所述的装置,其特征在于,所述处理器具体用于:
将所述第一图像按照预设的规则划分为k个区域,k为正整数;
计算所述k个区域中每个区域内的像素点的坐标的平均值,确定出k个锚点,所述k个锚点与所述k个区域一一对应,所述k个区域中每个区域的锚点为所述每个区域的像素点中与所述平均值的距离最近的一个像素点;
根据所述第一光流场中的光流矢量按照预设的第三算法确定k个光流矢量,所述k个光流矢量与所述k个锚点一一对应;
根据所述k个光流矢量确定映射函数,所述映射函数用于表示所述k个光流矢量与所述第一图像中的每个像素点的光流矢量的映射关系;
分别将所述第一图像中的全部像素点的坐标代入所述映射函数,得到所述第一图像中全部像素点的光流矢量,所述第一图像中的全部像素点的光流矢量组成所述第二光流场。
40.根据权利要求39所述的装置,其特征在于,所述第一光流场由M个光流矢量组成,所述M个光流矢量与所述M个第一内群点一一对应,所述第三算法包括以下公式:
其中,z为所述M个第一内群点中任一第一内群点的坐标,v(z)为所述第一光流场中坐标为z的第一内群点的光流矢量,xi为第i个锚点的坐标,y′i为第i个锚点的光流矢量,λ为预设系数,k(z,xi)为内积函数,表示向量z和xi之间的内积,K为k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
41.根据权利要求39或40所述的装置,其特征在于,所述映射函数为:
其中,x为所述第一图像中的任一像素点的坐标,f(x)为坐标为x的像素的光流矢量,xi为第i个锚点的坐标,yi'为第i个锚点的光流矢量,λ为预设系数,k(x,xi)为内积函数,表示向量x和xi之间的内积,K、k×k维向量矩阵,K中每个元素为Ki,j,其表示为Ki,j=k(xi,xj),I为k×k维单位矩阵。
42.根据权利要求33至41中任一项所述的装置,其特征在于,所述第一图像是对第一分辨率的第三图像下采样至第二分辨率的图像,所述第二图像是对所述第一分辨率的第四图像下采样至所述第二分辨率的图像,
所述处理器还用于,对所述第一目标光流场进行上采样,得到所述第三图像的第二目标光流场。
43.根据权利要求33至42中任一项所述的装置,其特征在于,所述处理器具体用于:
根据所述M个第一内群点和所述M个第二内群点按照预设的第四算法确定第四光流场,所述第四算法使得所述第四光流场与所述第二光流场的方向相反;
根据所述第二光流场和所述第四光流场按照预设的第五算法确定所述第一图像中每个像素点的光流误差;
根据所述第一图像中每个像素点的光流误差,按照预设的第六算法将所述第一图像分为S块图像区域,并确定所述S块图像区域的每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率,S为正整数;
根据所述比率确定所述每块图像区域进行变分优化时图像金字塔的层数;
根据所述层数对所述每块图像区域建立图像金字塔,将所述图像金字塔顶层的图像区域的光流场作为能量方程的匹配项约束,求解所述能量方程,得到所述图像金字塔顶层的图像区域的优化的光流场;
对所述图像金字塔顶层的图像区域的优化的光流场进行上采样,得到所述每块图像区域的光流场,所述S块图像区域的光流场组成所述第一目标光流场。
44.根据权利要求43所述的装置,其特征在于,所述第五算法包括以下公式:
yerror(x)=|f12(x)+f21(x’)|,
其中,x为所述第一图像中的任一像素点的坐标,yerror(x)为所述第一图像中坐标为x的像素点的光流误差,x’为根据f12得到的x在所述第二图像中的对应的像素点的坐标,f12(x)为所述第二光流场中坐标为x的像素点的光流矢量,f21(x)为所述第四光流场中坐标为x’的像素点的光流矢量。
45.根据权利要求43或44所述的装置,其特征在于,所述处理器具体用于:
将所述第一图像平均划分为T个网格,T为大于或等于S的正整数;
确定每个网格的光流误差,所述每个网格的光流误差为所述每个网格上的所有像素点的光流误差的平均值;
根据所述每个网格的光流误差对所述T个网格按照预设的排序规则进行排序;
依次对排序后的每个网格执行以下步骤,得到所述S块图像区域:
以当前网格为中心,选取所述当前网格上、下、左、右四个方向上没有被合并且光流误差最大的相邻网格与所述当前网格进行合并;
如果所述当前网格的光流误差大于第一阈值,并且所述相邻网格的光流误差小于第二阈值,或者所述当前网格与所述相邻网格合并后的图像区域的尺寸超过预先设定的尺寸,则不对所述当前网格和所述相邻网格进行合并;或者,
如果所述当前网格的光流误差小于或等于第一阈值,并且所述当前网格与所述相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格和所述相邻网格进行合并;
如果所述当前网格的光流误差大于第一阈值,所述相邻网格的光流误差大于或等于第二阈值,并且所述当前网格与所述相邻网格合并后的图像区域的尺寸未超过预先设定的尺寸,则对所述当前网格和所述相邻网格进行合并。
46.根据权利要求43至45中任一项所述的装置,其特征在于,所述处理器具体用于,根据以下公式确定所述层数level:
其中,r为所述每块图像区域中光流误差小于预设值的像素点占所述每块图像区域中所有像素点的比率。
47.根据权利要求42所述的装置,其特征在于,所述处理器具体用于:
对所述第一图像进行自适应点采样,将所述第一图像划分为多个网格;
确定所述多个网格的多个采样点,其中每个网格的采样点是所述每个网格中与所述第二图像中相对应的像素点之间的残差最小的像素点;
确定采样点集合,所述采样点集合包括所述多个采样点和所述M个第一内群点;
采用共轭梯度法求解以下珀松方程,得到所述第三图像的所述第二目标光流场:
其中,x为所述第三图像中的任一像素点的坐标,B为所述第三图像中的像素点的集合,C为所述采样点集合,w0(x)为所述第二光流场中坐标为x的像素点的光流矢量,v(x)为坐标为x的采样点的光流矢量,λ为预设的规则化参数。
48.根据权利要求33至42中任一项所述的装置,其特征在于,所述能量方程为:
EM=φ(x)Ψ(||w-w'||2)
其中,x为所述第一图像中任一像素点的坐标,Z为所述第一图像中的像素点的集合,w为光流变量,ED(x)为数据项约束,Es(x)为平滑项约束,α为平滑项权重参数,EM(x)为所述匹配项约束,β为所述匹配项约束的权重,w'为所述第一光流场,φ(x)为匹配项EM(x)的权值,Ψ(·)为惩罚函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510680817.2A CN105261042A (zh) | 2015-10-19 | 2015-10-19 | 光流估计的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510680817.2A CN105261042A (zh) | 2015-10-19 | 2015-10-19 | 光流估计的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105261042A true CN105261042A (zh) | 2016-01-20 |
Family
ID=55100713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510680817.2A Pending CN105261042A (zh) | 2015-10-19 | 2015-10-19 | 光流估计的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105261042A (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107292850A (zh) * | 2017-07-03 | 2017-10-24 | 北京航空航天大学 | 一种基于最邻近搜索的光流并行加速方法 |
CN107437257A (zh) * | 2017-08-08 | 2017-12-05 | 重庆信络威科技有限公司 | 一种移动背景下的运动物体检测与分割方法 |
CN108475426A (zh) * | 2017-06-30 | 2018-08-31 | 深圳市大疆创新科技有限公司 | 光流跟踪装置和方法 |
CN108872243A (zh) * | 2018-04-28 | 2018-11-23 | 南昌航空大学 | 一种轴承滚子表面缺陷检测方法、***及装置 |
CN108898633A (zh) * | 2018-07-02 | 2018-11-27 | 成都精位科技有限公司 | 目标物定位方法及装置 |
CN109215077A (zh) * | 2017-07-07 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 一种相机姿态信息确定的方法及相关装置 |
CN109314752A (zh) * | 2016-04-06 | 2019-02-05 | 脸谱公司 | 图像之间的光流的有效确定 |
CN109325510A (zh) * | 2018-07-27 | 2019-02-12 | 华南理工大学 | 一种基于网格统计的图像特征点匹配方法 |
CN110033476A (zh) * | 2018-01-11 | 2019-07-19 | 富士通株式会社 | 目标速度估计方法、装置和图像处理设备 |
CN110264455A (zh) * | 2019-06-19 | 2019-09-20 | 北京市商汤科技开发有限公司 | 图像处理、神经网络训练方法及装置、存储介质 |
CN110392282A (zh) * | 2018-04-18 | 2019-10-29 | 优酷网络技术(北京)有限公司 | 一种视频插帧的方法、计算机存储介质及服务器 |
WO2020062546A1 (zh) * | 2018-09-30 | 2020-04-02 | 惠州市德赛西威汽车电子股份有限公司 | 目标跟踪处理方法、电子设备 |
CN111277863A (zh) * | 2018-12-05 | 2020-06-12 | 阿里巴巴集团控股有限公司 | 一种光流插帧方法和装置 |
CN111382603A (zh) * | 2018-12-28 | 2020-07-07 | 顺丰科技有限公司 | 一种轨迹计算装置、方法 |
CN111583092A (zh) * | 2020-03-30 | 2020-08-25 | 西安电子科技大学 | 一种变分光流fpga实现方法、***、存储介质、终端 |
CN111881743A (zh) * | 2020-06-23 | 2020-11-03 | 安徽清新互联信息科技有限公司 | 一种基于语义分割的人脸特征点定位方法 |
CN112529936A (zh) * | 2020-11-17 | 2021-03-19 | 中山大学 | 一种用于室外无人机的单目稀疏光流算法 |
WO2021051654A1 (zh) * | 2019-09-19 | 2021-03-25 | 深圳云天励飞技术有限公司 | 快速光流跟踪方法及相关设备 |
CN112884817A (zh) * | 2019-11-29 | 2021-06-01 | 中移物联网有限公司 | 稠密光流计算方法、装置、电子设备以及存储介质 |
CN112991386A (zh) * | 2021-02-20 | 2021-06-18 | 浙江欣奕华智能科技有限公司 | 光流跟踪装置 |
WO2022257035A1 (en) * | 2021-06-09 | 2022-12-15 | Nvidia Corporation | Computing motion of pixels among images |
CN116843725A (zh) * | 2023-08-30 | 2023-10-03 | 武汉大水云科技有限公司 | 一种基于深度学习光流法的河流表面流速测量方法及*** |
CN117152214A (zh) * | 2023-08-30 | 2023-12-01 | 哈尔滨工业大学 | 一种基于改进光流检测的缺陷识别方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216941A (zh) * | 2008-01-17 | 2008-07-09 | 上海交通大学 | 剧烈光照变化下基于角点匹配与光流法的运动估计方法 |
KR20130035111A (ko) * | 2011-09-29 | 2013-04-08 | 엘지전자 주식회사 | 블록 기반의 동영상 옵티컬 플로 추정 |
CN103426184A (zh) * | 2013-08-01 | 2013-12-04 | 华为技术有限公司 | 一种光流跟踪方法和装置 |
CN103761749A (zh) * | 2014-02-12 | 2014-04-30 | 北京工业大学 | 一种基于非线性多重网格法的光流场快速估计方法 |
CN103761737A (zh) * | 2014-01-22 | 2014-04-30 | 北京工业大学 | 基于稠密光流的机器人运动估计方法 |
US8718143B2 (en) * | 2007-10-31 | 2014-05-06 | Broadcom Corporation | Optical flow based motion vector estimation systems and methods |
-
2015
- 2015-10-19 CN CN201510680817.2A patent/CN105261042A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8718143B2 (en) * | 2007-10-31 | 2014-05-06 | Broadcom Corporation | Optical flow based motion vector estimation systems and methods |
CN101216941A (zh) * | 2008-01-17 | 2008-07-09 | 上海交通大学 | 剧烈光照变化下基于角点匹配与光流法的运动估计方法 |
KR20130035111A (ko) * | 2011-09-29 | 2013-04-08 | 엘지전자 주식회사 | 블록 기반의 동영상 옵티컬 플로 추정 |
CN103426184A (zh) * | 2013-08-01 | 2013-12-04 | 华为技术有限公司 | 一种光流跟踪方法和装置 |
CN103761737A (zh) * | 2014-01-22 | 2014-04-30 | 北京工业大学 | 基于稠密光流的机器人运动估计方法 |
CN103761749A (zh) * | 2014-02-12 | 2014-04-30 | 北京工业大学 | 一种基于非线性多重网格法的光流场快速估计方法 |
Non-Patent Citations (4)
Title |
---|
LINCHAO BAO 等: "Fast Edge-Preserving PatchMatch for Large Displacement Optical Flow", 《IEEE TRANSACTIONS ON IMAGE PROCESSING》 * |
SIMON BAKER 等: "A Database and Evaluation Methodology for Optical Flow", 《COMPUTER VISION,2007.ICCV 2007.IEEE 11TH INTERNATIONAL CONFERENCE ON》 * |
张佳威 等: "光流算法比较分析研究", 《现代电子技术》 * |
马龙 等: "基于像素筛选技术的光流估计方法", 《吉林大学学报(工学版)》 * |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109314752A (zh) * | 2016-04-06 | 2019-02-05 | 脸谱公司 | 图像之间的光流的有效确定 |
CN109314752B (zh) * | 2016-04-06 | 2020-03-03 | 脸谱公司 | 用于生成光流的方法和*** |
CN108475426A (zh) * | 2017-06-30 | 2018-08-31 | 深圳市大疆创新科技有限公司 | 光流跟踪装置和方法 |
CN107292850A (zh) * | 2017-07-03 | 2017-10-24 | 北京航空航天大学 | 一种基于最邻近搜索的光流并行加速方法 |
CN107292850B (zh) * | 2017-07-03 | 2019-08-02 | 北京航空航天大学 | 一种基于最邻近搜索的光流并行加速方法 |
CN109215077B (zh) * | 2017-07-07 | 2022-12-06 | 腾讯科技(深圳)有限公司 | 一种相机姿态信息确定的方法及相关装置 |
US11605214B2 (en) | 2017-07-07 | 2023-03-14 | Tencent Technology (Shenzhen) Company Limited | Method, device and storage medium for determining camera posture information |
CN109215077A (zh) * | 2017-07-07 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 一种相机姿态信息确定的方法及相关装置 |
CN107437257A (zh) * | 2017-08-08 | 2017-12-05 | 重庆信络威科技有限公司 | 一种移动背景下的运动物体检测与分割方法 |
CN110033476A (zh) * | 2018-01-11 | 2019-07-19 | 富士通株式会社 | 目标速度估计方法、装置和图像处理设备 |
CN110392282A (zh) * | 2018-04-18 | 2019-10-29 | 优酷网络技术(北京)有限公司 | 一种视频插帧的方法、计算机存储介质及服务器 |
CN110392282B (zh) * | 2018-04-18 | 2022-01-07 | 阿里巴巴(中国)有限公司 | 一种视频插帧的方法、计算机存储介质及服务器 |
CN108872243B (zh) * | 2018-04-28 | 2020-11-13 | 南昌航空大学 | 一种轴承滚子表面缺陷检测方法、***及装置 |
CN108872243A (zh) * | 2018-04-28 | 2018-11-23 | 南昌航空大学 | 一种轴承滚子表面缺陷检测方法、***及装置 |
CN108898633A (zh) * | 2018-07-02 | 2018-11-27 | 成都精位科技有限公司 | 目标物定位方法及装置 |
CN109325510A (zh) * | 2018-07-27 | 2019-02-12 | 华南理工大学 | 一种基于网格统计的图像特征点匹配方法 |
CN109325510B (zh) * | 2018-07-27 | 2021-06-08 | 华南理工大学 | 一种基于网格统计的图像特征点匹配方法 |
WO2020062546A1 (zh) * | 2018-09-30 | 2020-04-02 | 惠州市德赛西威汽车电子股份有限公司 | 目标跟踪处理方法、电子设备 |
CN111277863A (zh) * | 2018-12-05 | 2020-06-12 | 阿里巴巴集团控股有限公司 | 一种光流插帧方法和装置 |
CN111277863B (zh) * | 2018-12-05 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 一种光流插帧方法和装置 |
CN111382603A (zh) * | 2018-12-28 | 2020-07-07 | 顺丰科技有限公司 | 一种轨迹计算装置、方法 |
CN111382603B (zh) * | 2018-12-28 | 2023-09-26 | 顺丰科技有限公司 | 一种轨迹计算装置、方法 |
CN110264455A (zh) * | 2019-06-19 | 2019-09-20 | 北京市商汤科技开发有限公司 | 图像处理、神经网络训练方法及装置、存储介质 |
WO2021051654A1 (zh) * | 2019-09-19 | 2021-03-25 | 深圳云天励飞技术有限公司 | 快速光流跟踪方法及相关设备 |
CN112884817B (zh) * | 2019-11-29 | 2022-08-02 | 中移物联网有限公司 | 稠密光流计算方法、装置、电子设备以及存储介质 |
CN112884817A (zh) * | 2019-11-29 | 2021-06-01 | 中移物联网有限公司 | 稠密光流计算方法、装置、电子设备以及存储介质 |
CN111583092A (zh) * | 2020-03-30 | 2020-08-25 | 西安电子科技大学 | 一种变分光流fpga实现方法、***、存储介质、终端 |
CN111583092B (zh) * | 2020-03-30 | 2023-03-07 | 西安电子科技大学 | 一种变分光流fpga实现方法、***、存储介质、终端 |
CN111881743A (zh) * | 2020-06-23 | 2020-11-03 | 安徽清新互联信息科技有限公司 | 一种基于语义分割的人脸特征点定位方法 |
CN111881743B (zh) * | 2020-06-23 | 2024-06-07 | 安徽清新互联信息科技有限公司 | 一种基于语义分割的人脸特征点定位方法 |
CN112529936B (zh) * | 2020-11-17 | 2023-09-05 | 中山大学 | 一种用于室外无人机的单目稀疏光流算法 |
CN112529936A (zh) * | 2020-11-17 | 2021-03-19 | 中山大学 | 一种用于室外无人机的单目稀疏光流算法 |
CN112991386A (zh) * | 2021-02-20 | 2021-06-18 | 浙江欣奕华智能科技有限公司 | 光流跟踪装置 |
WO2022257035A1 (en) * | 2021-06-09 | 2022-12-15 | Nvidia Corporation | Computing motion of pixels among images |
CN116843725A (zh) * | 2023-08-30 | 2023-10-03 | 武汉大水云科技有限公司 | 一种基于深度学习光流法的河流表面流速测量方法及*** |
CN117152214A (zh) * | 2023-08-30 | 2023-12-01 | 哈尔滨工业大学 | 一种基于改进光流检测的缺陷识别方法 |
CN116843725B (zh) * | 2023-08-30 | 2024-01-05 | 武汉大水云科技有限公司 | 一种基于深度学习光流法的河流表面流速测量方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105261042A (zh) | 光流估计的方法及装置 | |
CN110796037A (zh) | 基于轻量级感受野金字塔的星载光学遥感图像舰船目标检测方法 | |
CN113468967A (zh) | 基于注意力机制的车道线检测方法、装置、设备及介质 | |
CN112434618B (zh) | 基于稀疏前景先验的视频目标检测方法、存储介质及设备 | |
US10049459B2 (en) | Static image segmentation | |
US10509959B2 (en) | Method and device for segmenting lines in line chart | |
CN111369550A (zh) | 图像配准与缺陷检测方法、模型、训练方法、装置及设备 | |
CN106548192A (zh) | 基于神经网络的图像处理方法、装置和电子设备 | |
Ttofis et al. | Towards accurate hardware stereo correspondence: A real-time fpga implementation of a segmentation-based adaptive support weight algorithm | |
CN110176042A (zh) | 相机自运动参数估计模型的训练方法、装置及存储介质 | |
EP1369819A2 (en) | Image segmentation via a cell network algorithm | |
CN107506792B (zh) | 一种半监督的显著对象检测方法 | |
CN114399644A (zh) | 一种基于小样本目标检测方法及装置 | |
CN114863348A (zh) | 基于自监督的视频目标分割方法 | |
CN115345905A (zh) | 目标对象跟踪方法、装置、终端及存储介质 | |
CN105590327A (zh) | 运动估计方法及装置 | |
CN115457364A (zh) | 一种目标检测知识蒸馏方法、装置、终端设备和存储介质 | |
CN111814696A (zh) | 一种基于改进YOLOv3的视频船舶目标检测方法 | |
CN112991394B (zh) | 基于三次样条插值和马尔科夫链的kcf目标跟踪方法 | |
CN114399640A (zh) | 一种不确定区域发现与模型改进的道路分割方法及装置 | |
CN110211190B (zh) | 相机自运动参数估计模型的训练方法、装置及存储介质 | |
CN104680181A (zh) | 基于似然比特征的sar图像超像素分割方法 | |
CN103020889A (zh) | 图像梯度计算方法及装置 | |
CN110458867A (zh) | 一种基于注意力循环网络的目标跟踪方法 | |
CN115171011A (zh) | 一种多类别建材视频计数方法及***、计数设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160120 |