本发明涉及计算机视觉技术领域,特别是涉及一种基于非刚性稠密匹配的图像光流估计方法及系统。
背景技术
光流估计是计算机视觉领域中重要的图像序列处理技术之一。光流估计不仅包含图像中运动物体和场景的运动信息,还包含丰富的三维结构信息,因此,光流估计被应用于众多研究领域。如应用于无人机避障、汽车或机器人导航、视频的目标检测及跟踪,医学图像处理中人体器官的三维重建以及mr心脏图像分割等。
目前,现有的变分光流优化算法对大部分自然场景图像序列均具有较高的光流估计精度与较好的鲁棒性。但是当图像序列中包含大位移运动、非刚性运动等困难运动类型时,现有光流估计方法的估计精度与鲁棒性仍有待进一步提高。
技术实现要素:
基于此,有必要提供一种基于非刚性稠密匹配的图像光流估计方法及系统,以提高包含大位移运动、非刚性运动等困难运动类型的图像序列的光流估计的估计精度和鲁棒性。
为实现上述目的,本发明提供了如下方案:
一种基于非刚性稠密匹配的图像光流估计方法,包括:
获取图像序列中两帧连续的图像,得到第一帧图像和第二帧图像;
将所述第一帧图像划分为多个第一区域块,将所述第二帧图像划分为多个第二区域块;
将所述第一帧图像和所述第二帧图像进行稠密块匹配,得到第一匹配图像和第二匹配图像;
计算所述第一匹配图像中每个所述第一区域块与对应的第二匹配图像中第二区域块的块间稠密匹配参数;
依据所述块间稠密匹配参数计算所述第一匹配图像中每个第一区域块与对应的相邻区域块的不连续错误测量指标值;
依据多个所述不连续错误测量指标值确定所述第一匹配图像中的连续区域块和离散区域块;
依据所述连续区域块和所述离散区域块确定第一匹配图像的匹配一致性区域和第二匹配图像的匹配一致性区域;
利用第一匹配图像的匹配一致性区域和第二匹配图像的匹配一致性区域计算第一帧图像与第二帧图像的像间非刚性稠密运动场;
计算所述第一帧图像与所述第二帧图像的像间变分光流;
采用伪布尔函数多项式优化算法将所述像间非刚性稠密运动场与所述像间变分光流进行融合,得到所述图像序列的光流估计结果。
可选的,所述计算所述第一匹配图像中每个所述第一区域块与对应的第二匹配图像中第二区域块的块间稠密匹配参数,具体为:
ta→b=(tx,ty,tr,ts)
其中,a表示第一匹配图像中任意一个第一区域块,b表示第二匹配图像中与第一区域块a对应的第二区域块,ta→b表示a与b的块间稠密匹配参数,tx表示b相对于a在x轴的平移参数,ty表示b相对于a在y轴的平移参数,tr表示b相对于a的旋转参数,ts表示b相对于a的尺度缩放参数。
可选的,所述依据所述块间稠密匹配参数计算所述第一匹配图像中每个第一区域块与对应的相邻区域块的不连续错误测量指标值,具体为:
其中,a表示第一匹配图像中任意一个第一区域块,c表示第一区域块a的相邻区域块,b表示第二匹配图像中与第一区域块a对应的第二区域块,d表示与第一区域块a的相邻区域块c对应的第二区域块,e(a,c)表示第一区域块a与对应的相邻区域块c的不连续错误测量指标值,ta→b表示a与b的块间稠密匹配参数,tc→d表示c与d的块间稠密匹配参数,ta→b(a)表示采用ta→b计算后得到的a的中心点在第二匹配图像中的坐标,tc→d(a)表示采用tc→d计算后得到的a的中心点在第二匹配图像中的坐标,tc→d(c)表示tc→d计算后得到的c的中心点在第二匹配图像中的坐标。
可选的,所述依据多个所述不连续错误测量指标值确定所述第一匹配图像中的连续区域块和离散区域块,具体包括:
判断每个所述不连续错误测量指标值是否小于第一预设阈值;
若所述不连续错误测量指标值小于第一预设阈值,则将对应的第一区域块确定为连续区域块;
若所述不连续错误测量指标值大于或等于第一预设阈值,则将对应的第一区域块确定为离散区域块。
可选的,所述依据所述连续区域块和所述离散区域块确定第一匹配图像的匹配一致性区域和第二匹配图像的匹配一致性区域,具体包括:
将所述第一匹配图像划分为多个区域范围;
统计每个所述区域范围内所述离散区域块所占的比例;
判断所述比例是否小于第二预设阈值;
若是,则将所述区域范围确定为第一匹配图像的匹配范围;
确定第一匹配图像的匹配一致性区域;所述第一匹配图像的匹配一致性区域是由所有的第一匹配图像的匹配范围构成的;
将第二匹配图像中与第一匹配图像的匹配一致性区域对应的区域确定为第二匹配图像的匹配一致性区域。
可选的,所述统计每个所述区域范围内所述离散区域块所占的比例,具体为:
其中,n(a)表示以第一匹配图像中任意一个第一区域块a为中心的区域范围,r(n(a))表示区域范围n(a)内离散区域块所占的比例,τlocal表示第一预设阈值,e(a,c)表示第一区域块a与对应的相邻区域块c的不连续错误测量指标值,|{(a,c)∈n(a)s.t.e(a,c)≥τlocal}|表示区域范围n(a)内离散区域块的总数量,|n(a)|表示区域范围n(a)内所有区域块的总数量。
本发明还提供了一种基于非刚性稠密匹配的图像光流估计系统,所述系统包括:
图像获取模块,用于获取图像序列中两帧连续的图像,得到第一帧图像和第二帧图像;
划分模块,用于将所述第一帧图像划分为多个第一区域块,将所述第二帧图像划分为多个第二区域块;
匹配模块,用于将所述第一帧图像和所述第二帧图像进行稠密块匹配,得到第一匹配图像和第二匹配图像;
匹配参数计算模块,用于计算所述第一匹配图像中每个所述第一区域块与对应的第二匹配图像中第二区域块的块间稠密匹配参数;
测量指标计算模块,用于依据所述块间稠密匹配参数计算所述第一匹配图像中每个第一区域块与对应的相邻区域块的不连续错误测量指标值;
第一确定模块,用于依据多个所述不连续错误测量指标值确定所述第一匹配图像中的连续区域块和离散区域块;
第二确定模块,用于依据所述连续区域块和所述离散区域块确定第一匹配图像的匹配一致性区域和第二匹配图像的匹配一致性区域;
运动场计算模块,用于利用第一匹配图像的匹配一致性区域和第二匹配图像的匹配一致性区域计算第一帧图像与第二帧图像的像间非刚性稠密运动场;
变分光流计算模块,用于计算所述第一帧图像与所述第二帧图像的像间变分光流;
光流估计模块,用于采用伪布尔函数多项式优化算法将所述像间非刚性稠密运动场与所述像间变分光流进行融合,得到所述图像序列的光流估计结果。
可选的,所述第一确定模块,具体包括:
第一判断单元,用于判断每个所述不连续错误测量指标值是否小于第一预设阈值;
第一确定单元,用于若所述不连续错误测量指标值小于第一预设阈值,则将对应的第一区域块确定为连续区域块;若所述不连续错误测量指标值大于或等于第一预设阈值,则将对应的第一区域块确定为离散区域块。
可选的,所述第二确定模块,具体包括:
划分单元,用于将所述第一匹配图像划分为多个区域范围;
统计单元,用于统计每个所述区域范围内所述离散区域块所占的比例;
第二判断单元,用于判断所述比例是否小于第二预设阈值;
第二确定单元,用于若是,则将所述区域范围确定为第一匹配图像的匹配范围;
第三确定单元,用于确定第一匹配图像的匹配一致性区域;所述第一匹配图像的匹配一致性区域是由所有的第一匹配图像的匹配范围构成的;
第四确定单元,用于将第二匹配图像中与第一匹配图像的匹配一致性区域对应的区域确定为第二匹配图像的匹配一致性区域。
可选的,所述匹配参数计算模块,具体为:
ta→b=(tx,ty,tr,ts)
其中,a表示第一匹配图像中任意一个第一区域块,b表示第二匹配图像中与第一区域块a对应的第二区域块,ta→b表示a与b的块间稠密匹配参数,tx表示b相对于a在x轴的平移参数,ty表示b相对于a在y轴的平移参数,tr表示b相对于a的旋转参数,ts表示b相对于a的尺度缩放参数。
与现有技术相比,本发明的有益效果是:
本发明提出了一种基于非刚性稠密匹配的图像光流估计方法及系统,该方法包括:获取图像序列中两帧连续图像进行稠密块匹配的匹配结果;根据相邻区域块的连续性和区域一致性提取图像匹配一致性区域;根据匹配一致性区域计算两帧图像的像间非刚性稠密运动场;计算两帧图像的像间变分光流;将像间非刚性稠密运动场与像间变分光流融合后得到图像序列的光流估计结果。本发明的方法或系统,针对大位移运动、非刚性运动等困难运动类型,利用图像序列稠密匹配运动场对变分光流计算结果进行补偿和修正,能够提高非刚性大位移运动光流估计的估计精度与鲁棒性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种基于非刚性稠密匹配的图像光流估计方法的流程图;
图2为本发明实施例图像序列中的第一帧图像;
图3为本发明实施例图像序列中的第二帧图像;
图4为本发明实施例第一帧图像与第二帧图像的像间非刚性稠密运动场的示意图;
图5为本发明实施例第一帧图像与第二帧图像的像间变分光流结果图;
图6为本发明实施例图像序列的光流估计结果图;
图7为本发明实施例一种基于非刚性稠密匹配的图像光流估计系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明实施例一种基于非刚性稠密匹配的图像光流估计方法的流程图,参见图1,实施例的基于非刚性稠密匹配的图像光流估计方法,包括:
步骤s1:获取图像序列中两帧连续的图像,得到第一帧图像和第二帧图像。图2为本发明实施例图像序列中的第一帧图像,图3为本发明实施例图像序列中的第二帧图像。
步骤s2:将所述第一帧图像划分为多个第一区域块,将所述第二帧图像划分为多个第二区域块。
步骤s3:将所述第一帧图像和所述第二帧图像进行稠密块匹配,得到第一匹配图像和第二匹配图像。
步骤s4:计算所述第一匹配图像中每个所述第一区域块与对应的第二匹配图像中第二区域块的块间稠密匹配参数。所述块间稠密匹配参数采用以下公式计算:
ta→b=(tx,ty,tr,ts)
其中,a表示第一匹配图像中任意一个第一区域块,b表示第二匹配图像中与第一区域块a对应的第二区域块,ta→b表示a与b的块间稠密匹配参数,tx表示b相对于a在x轴的平移参数,ty表示b相对于a在y轴的平移参数,tr表示b相对于a的旋转参数,ts表示b相对于a的尺度缩放参数。
对于图像序列中两帧连续的图像的像间稠密块匹配参数,可通过以下公式计算:
其中,
步骤s5:依据所述块间稠密匹配参数计算所述第一匹配图像中每个第一区域块与对应的相邻区域块的不连续错误测量指标值。
对于获得的块间稠密匹配参数,如果图像中相邻两个区域块是连续的,则这两个区域块在图像间具有相同或相似的块间稠密匹配参数;如果图像中相邻两个区域块是不连续的,则这两个区域块在图像间的块间稠密匹配参数存在较大差异。因此,采用如下公式计算不连续错误测量指标值:
其中,a表示第一匹配图像中任意一个第一区域块,c表示第一区域块a的相邻区域块,b表示第二匹配图像中与第一区域块a对应的第二区域块,d表示与第一区域块a的相邻区域块c对应的第二区域块,e(a,c)表示第一区域块a与对应的相邻区域块c的不连续错误测量指标值,ta→b表示a与b的块间稠密匹配参数,tc→d表示c与d的块间稠密匹配参数,ta→b(a)表示采用ta→b计算后得到的a的中心点在第二匹配图像中的坐标,tc→d(a)表示采用tc→d计算后得到的a的中心点在第二匹配图像中的坐标,tc→d(c)表示tc→d计算后得到的c的中心点在第二匹配图像中的坐标。
步骤s6:依据多个所述不连续错误测量指标值确定所述第一匹配图像中的连续区域块和离散区域块。
所述步骤s6具体包括:
判断每个所述不连续错误测量指标值是否小于第一预设阈值τlocal,其中τlocal=0.8;
若所述不连续错误测量指标值小于第一预设阈值,则将对应的第一区域块确定为连续区域块;
若所述不连续错误测量指标值大于或等于第一预设阈值,则将对应的第一区域块确定为离散区域块。
步骤s7:依据所述连续区域块和所述离散区域块确定第一匹配图像的匹配一致性区域和第二匹配图像的匹配一致性区域。
所述步骤s7具体包括:
将所述第一匹配图像划分为多个区域范围;
统计每个所述区域范围内所述离散区域块所占的比例;所述比例的计算公式为
其中,n(a)表示以第一匹配图像中任意一个第一区域块a为中心的区域范围,r(n(a))表示区域范围n(a)内离散区域块所占的比例,τlocal表示第一预设阈值,e(a,c)表示第一区域块a与对应的相邻区域块c的不连续错误测量指标值,|{(a,c)∈n(a)s.t.e(a,c)≥τlocal}|表示区域范围n(a)内离散区域块的总数量,|n(a)|表示区域范围n(a)内所有区域块的总数量;
判断所述比例是否小于第二预设阈值τglobal,其中τglobal=0.5;
若r(n(a))<τglobal,则将所述区域范围确定为第一匹配图像的匹配范围;
确定第一匹配图像的匹配一致性区域;所述第一匹配图像的匹配一致性区域是由所有的第一匹配图像的匹配范围构成的;
将第二匹配图像中与第一匹配图像的匹配一致性区域对应的区域确定为第二匹配图像的匹配一致性区域。
步骤s8:利用第一匹配图像的匹配一致性区域和第二匹配图像的匹配一致性区域计算第一帧图像与第二帧图像的像间非刚性稠密运动场。具体为:
根据第一匹配图像的匹配一致性区域和第二匹配图像的匹配一致性区域中像素点的坐标变化,计算第一帧图像与第二帧图像的像间非刚性稠密运动场w*=(u*,v*)t,其中u*表示像间非刚性稠密运动场中像素点沿x轴方向的运动场,v*表示像间非刚性稠密运动场中像素点沿y轴方向的运动场。图4为本发明实施例第一帧图像与第二帧图像的像间非刚性稠密运动场的示意图。
步骤s9:计算所述第一帧图像与所述第二帧图像的像间变分光流。具体为:
采用classic+nl变分光流计算模型计算第一帧图像与第二帧图像的像间变分光流,计算结果为w**=(u**,v**)t,其中,u**表示变光分流沿x轴方向的光流分量,v**表示变光分流沿y轴方向的光流分量。图5为本发明实施例第一帧图像与第二帧图像的像间变分光流结果图。
classic+nl变分光流计算模型具体如下:
其中,(u,v)t表示光流矢量,
edata(u,v)表示数据项,
其中,i1,i2表示图像序列中两帧连续的图像,(x,y)t表示像素点坐标,ω表示图像区域,
esmooth(u,v)表示平滑项,
其中λs为平滑项权重参数,
其中λc为耦合项权重参数。
enl(u,v)为非局部项,
其中,λnl为非局部项权重参数,(x',y')t为像素点(x,y)t邻域像素点坐标,nx',y'表示像素点(x,y)t的邻域像素集合。
通过采用多分辨率金字塔分层策略优化classic+nl变分光流计算模型的公式,即可得到第一帧图像与第二帧图像的像间变分光流的计算结果w**=(u**,v**)t。
步骤s10:采用伪布尔函数多项式优化算法将所述像间非刚性稠密运动场与所述像间变分光流进行融合,得到所述图像序列的光流估计结果。具体的:
采用二次伪布尔优化(quadraticpseudobooleanoptimization,qpbo)算法将w*=(u*,v*)t与w**=(u**,v**)t融合,得到图像序列的光流估计结果w=(u,v)t。图6为本发明实施例图像序列的光流估计结果图。
本实施例的基于非刚性稠密匹配的图像光流估计方法,针对大位移运动、非刚性运动等困难运动类型,利用图像序列稠密匹配运动场对变分光流计算结果进行补偿和修正,能够提高非刚性大位移运动光流估计的估计精度与鲁棒性。
本发明还提供了一种基于非刚性稠密匹配的图像光流估计系统,图7为本发明实施例一种基于非刚性稠密匹配的图像光流估计系统的结构示意图。
参见图7,实施例的基于非刚性稠密匹配的图像光流估计系统包括:
图像获取模块701,用于获取图像序列中两帧连续的图像,得到第一帧图像和第二帧图像。
划分模块702,用于将所述第一帧图像划分为多个第一区域块,将所述第二帧图像划分为多个第二区域块。
匹配模块703,用于将所述第一帧图像和所述第二帧图像进行稠密块匹配,得到第一匹配图像和第二匹配图像。
匹配参数计算模块704,用于计算所述第一匹配图像中每个所述第一区域块与对应的第二匹配图像中第二区域块的块间稠密匹配参数。
所述匹配参数计算模块704,具体为:
ta→b=(tx,ty,tr,ts)
其中,a表示第一匹配图像中任意一个第一区域块,b表示第二匹配图像中与第一区域块a对应的第二区域块,ta→b表示a与b的块间稠密匹配参数,tx表示b相对于a在x轴的平移参数,ty表示b相对于a在y轴的平移参数,tr表示b相对于a的旋转参数,ts表示b相对于a的尺度缩放参数。
测量指标计算模块705,用于依据所述块间稠密匹配参数计算所述第一匹配图像中每个第一区域块与对应的相邻区域块的不连续错误测量指标值。
第一确定模块706,用于依据多个所述不连续错误测量指标值确定所述第一匹配图像中的连续区域块和离散区域块。
所述第一确定模块706,具体包括:
第一判断单元,用于判断每个所述不连续错误测量指标值是否小于第一预设阈值;
第一确定单元,用于若所述不连续错误测量指标值小于第一预设阈值,则将对应的第一区域块确定为连续区域块;若所述不连续错误测量指标值大于或等于第一预设阈值,则将对应的第一区域块确定为离散区域块。
第二确定模块707,用于依据所述连续区域块和所述离散区域块确定第一匹配图像的匹配一致性区域和第二匹配图像的匹配一致性区域。
所述第二确定模块707,具体包括:
划分单元,用于将所述第一匹配图像划分为多个区域范围;
统计单元,用于统计每个所述区域范围内所述离散区域块所占的比例;
第二判断单元,用于判断所述比例是否小于第二预设阈值;
第二确定单元,用于若是,则将所述区域范围确定为第一匹配图像的匹配范围;
第三确定单元,用于确定第一匹配图像的匹配一致性区域;所述第一匹配图像的匹配一致性区域是由所有的第一匹配图像的匹配范围构成的;
第四确定单元,用于将第二匹配图像中与第一匹配图像的匹配一致性区域对应的区域确定为第二匹配图像的匹配一致性区域。
运动场计算模块708,用于利用第一匹配图像的匹配一致性区域和第二匹配图像的匹配一致性区域计算第一帧图像与第二帧图像的像间非刚性稠密运动场。
变分光流计算模块709,用于计算所述第一帧图像与所述第二帧图像的像间变分光流。
光流估计模块710,用于采用伪布尔函数多项式优化算法将所述像间非刚性稠密运动场与所述像间变分光流进行融合,得到所述图像序列的光流估计结果。
本实施例的基于非刚性稠密匹配的图像光流估计系统,能够提高包含非刚性大位移运动的图像序列光流估计的估计精度和鲁棒性。
本说明书中对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。