基于特征匹配的数字图像测量方法
技术领域
本发明属于光学测量技术领域,特别是一种基于特征匹配的数字图像测量方法。
背景技术
传统的数字图像相关法目前还不能支撑在线实时的检测,使得该方法在实际应用中受限,不能满足快速、高效的测量要求,尤其是存在大位移的情况下,还没有一种能用于大变形的实时数字图像相关法。因此急需一种实时的数字图像相关法,进行在线的位移和变形测量,扩展其应用。
特征匹配算法可以为数字图像相关匹配算法提供准确可靠的位移初始值,然后执行亚像素精度的位移计算,然而仅仅依赖少量的特征点,难以实现路径独立的并行数字图像相关法。快速傅里叶变换互相关算法可以实现整像素的图像匹配,但该方法不适用于存在大位移的变形情况。
在背景技术部分中公开的上述信息仅仅用于增强对本发明背景的理解,因此可能包含不构成在本国中本领域普通技术人员公知的现有技术的信息。
发明内容
为了克服现有的二维数字图像相关法中存在的不足,达到实时在线的测量要求,本发明提出基于特征匹配的数字图像测量方法,提升了算法的鲁棒性和精确性,有助于扩展数字图像相关法在工程测量中的应用。
本发明的目的是通过以下技术方案予以实现,一种基于特征匹配的数字图像测量方法,包括以下步骤:
第一步骤(S100)中,选取待测区域的待计算点,其中,采集得到散斑图像,在散斑图像上确定待测量区域,然后在待测量区域中选取待计算点,
第二步骤(S200)中,对待计算点划分子区:对每个所述待计算点划分一个边长为n的正方形的子区,
第三步骤(S300)中,对每个所述子区中的所有像素提取特征描述符,
第四步骤(S400)中,对于特征描述符,通过PatchMatch特征匹配算法进行特征匹配,基于特征匹配结果计算初始位移,
第五步骤(S500)中,基于所述初始位移,并行执行反向组合的高斯牛顿迭代算法以实时计算位移和应变。
所述的方法中,第一步骤中,在采集得到的散斑图像上选定散斑图片,然后在散斑图片上选取待测量区域。
所述的方法中,第一步骤中,在待测量区域上划分网格,选取每个网格的顶点作为待计算点,所述待计算点数目为N。
所述的方法中,第二步骤中,以每个所述待计算点为中心划分一个边长为m的正方形的子区。
所述的方法中,第三步骤中,对每个所述子区中的所有像素提取Daisy特征描述子,构建每个待计算点的特征描述符子区。
所述的方法中,第四步骤中,对每个特征描述符子区在变形散斑图像上搜索匹配,通过PatchMatch特征匹配算法进行特征描述符子区的匹配。
所述的方法中,第四步骤中,散斑图像上选定包含所述测量区域的参考散斑图片,PatchMatch特征匹配算法通过迭代搜索寻找参考散斑图片与变形散斑图片两幅图片之间的最近邻匹配点,以每个特征描述符子区在参考散斑图片上的像素坐标初始划迭代搜索,在变形散斑图片上搜索其匹配的特征描述符子区。
所述的方法中,第五步骤中,连续两个变形状态之间的灰度变化模型如下:
根据连续两个变形状态间的灰度信息得到如下待优化函数:
其中,位移变化映射函数如下:
x′i=x0+Δx+u+uxΔx+uvΔy,
y′i=y0+Δy+v+vxΔx+vvΔy
其中待求解的未知向量如下:
p=[u,ux,uy,v,vx,vy,r0’,r1]
采用迭代最小二乘算法的对所述待优化函数进行求解,计算出亚像素位移值及其导数,然后计算得到应变值,其中,f(xi,yi)为散斑图像中像素坐标为(xi,yi)处的灰度值,g(xi′,yi′)为变形散斑图像中像素坐标为(xi′,yi′)处的灰度值,r0和r1是由于光照变化引起的变化参数,Δx和Δy分别是x和y方向上的位移,u和v分别是亚像素位移,ux、uv、vx和vy分别是位移导数。
所述的方法中,第五步骤中,基于每个待计算点的初始位移并行实现计算亚像素位移。
所述的方法中,基于GPU平台并行实时计算亚像素位移和应变。
和现有技术相比,本发明具有以下优点:
本发明所述的方法使用特征匹配提供初始位移,可以实时测量存在较大位移和旋转变形的情况,提高了数字图像相关算法的鲁棒性,扩展了数字图像相关法的测量范围。克服了传统数字图像相关法在测量速度等方面的局限性,实现了实时的位移和应变测量,可以用于在线监测试件的全场变形情况。本发明方法采用路径独立的亚像素位移计算方法,提高了算法的稳定性,可以存在裂纹等更为复杂工况下的位移和应变实时测量。
附图说明
通过阅读下文优选的具体实施方式中的详细描述,本发明各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。说明书附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。而且在整个附图中,用相同的附图标记表示相同的部件。
在附图中:
图1是根据本发明一个实施例的基于特征匹配的数字图像测量方法的步骤示意图;
图2是根据本发明一个实施例的子区划分示意图。
以下结合附图和实施例对本发明作进一步的解释。
具体实施方式
下面将参照附图1至图2更详细地描述本发明的具体实施例。虽然附图中显示了本发明的具体实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
需要说明的是,在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可以理解,技术人员可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名词的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”或“包括”为一开放式用语,故应解释成“包含但不限定于”。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明书的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
为便于对本发明实施例的理解,下面将结合附图以具体实施例为例做进一步的解释说明,且各个附图并不构成对本发明实施例的限定。
为了更好地理解,一种基于特征匹配的数字图像测量方法,包括以下步骤:
第一步骤(S100)中,选取待测区域的待计算点,其中,采集得到散斑图像,在散斑图像上确定待测量区域,然后在待测量区域中选取待计算点,
第二步骤(S200)中,对待计算点划分子区:对每个所述待计算点划分一个边长为n的正方形的子区,
第三步骤(S300)中,对每个所述子区中的所有像素提取特征描述符,
第四步骤(S400)中,对于特征描述符,通过PatchMatch特征匹配算法进行特征匹配,基于特征匹配结果计算初始位移,
第五步骤(S500)中,基于所述初始位移,并行执行反向组合的高斯牛顿迭代算法以实时计算位移和应变。
所述的方法的优选实施方式中,第一步骤(S100)中,在采集得到的散斑图像上选定散斑图片,然后在散斑图片上选取待测量区域。
所述的方法的优选实施方式中,第一步骤(S100)中,在待测量区域上划分网格,选取每个网格的顶点作为待计算点,所述待计算点数目为N。
所述的方法的优选实施方式中,第二步骤(S200)中,以每个所述待计算点为中心划分一个边长为n的正方形的子区。
所述的方法的优选实施方式中,第三步骤(S300)中,对每个所述子区中的所有像素提取Daisy特征描述子,构建每个待计算点的特征描述符子区。
所述的方法的优选实施方式中,第四步骤(S400)中,对每个特征描述符子区在变形散斑图像上搜索匹配,通过PatchMatch特征匹配算法进行特征描述符子区的匹配。
所述的方法的优选实施方式中,第四步骤(S400)中,散斑图像上选定包含所述测量区域的参考散斑图片,PatchMatch特征匹配算法通过迭代搜索寻找参考散斑图片与变形散斑图片两幅图片之间的最近邻匹配点,以每个特征描述符子区在参考散斑图片上的像素坐标初始划迭代搜索,在变形散斑图片上搜索其匹配的特征描述符子区。
所述的方法的优选实施方式中,第五步骤(S500)中,连续两个变形状态之间的灰度变化模型如下:
f(xi,yi)为参考图像中像素坐标为(xi,yi)处的灰度值,g(xi’,yi’)为变形图像中像素坐标为(xi’,yi’)处的灰度值,r0和r1是由于光照变化引起的变化参数。根据连续两个变形状态间的灰度信息得到如下待优化函数:
其中,位移变化映射函数如下:
x′i=x0+Δx+u+uxΔx+uyΔy,
y′i=y0+Δy+v+vxΔx+vvΔy
其中Δx和Δy分别是x和y方向上的位移,u和v分别是亚像素位移,ux、uv、vx和vy分别是位移导数。待求解的未知向量如下:
p=[u,ux,uy,v,vx,vy,r0,r1,]
采用迭代最小二乘算法的对所述待优化函数进行求解,计算出亚像素位移值及其导数,然后计算得到应变值。
所述的方法的优选实施方式中,第五步骤(S500)中,基于每个待计算点的初始位移并行实现计算亚像素位移。
所述的方法的优选实施方式中,基于GPU平台并行实时计算亚像素位移和应变。
所述的方法的优选实施方式中,所述子区为以待计算点为圆心的直径为n的圆形。
所述的方法的优选实施方式中,方法包括,
第一步,选取待测区域的待计算点:在采集得到散斑图像中的参考图像上确定待测量区域,然后在待测量区域中选取待计算点。
第二步,对待计算点划分子区:对每个带测量点选定固定大小的正方形子区。
第三步,提取特征描述子:对每个子区中的所有像素提取特征描述符。
第四步,计算初始位移:针对每个子区中的特征描述子,通过PatchMatch特征匹配算法进行特征匹配,基于特征匹配结果计算初始位移。
第五步,实时计算位移和应变:根据第四步计算得到的初始位移,通过并行执行反向组合的高斯牛顿迭代算法,实时计算精确的位移和应变。
为了进一步理解本发明,在一个实施例中,如图1所示,方法包括,
第一步,选取待测区域的待计算点。根据测量需求,在采集得到的散斑图片上选定参考散斑图片,然后在参考散斑图片上选取待测量区域,然后通过在散斑区域上划分网格,选取每个网格的顶点作为计算点,确定计算点数目N,如图2所示。
第二步,给计算点划分子区。以每个计算点为中心,给每个计算点划分一个边长为n的正方形子区,基于此正方形子区对每个计算点进行初始位移值的估计,为最后精确计算亚像素位移提供准确可靠的初始位移。
第三步,提取特征描述子。对参考散斑图片上每个计算点的子区中所有像素提取特征描述符,为了提高初始值计算的效率,选取Daisy特征描述子,实现快速的子区特征描述符提取,构建每个计算点的特征描述符子区,用于后续的特征匹配,计算每个计算点的初始位移。
第四步,计算初始位移。对参考散斑图片上的每个特征描述符子区在变形散斑图片上进行搜索匹配,通过PatchMatch算法进行特征描述符子区的匹配。PatchMatch算法是通过迭代搜索寻找两幅图片之间的最近邻匹配点,以每个特征描述符子区在参考散斑图片上的像素坐标初始划迭代搜索,在变形散斑图片上搜索其匹配的特征描述符子区,匹配完成后进行误匹配点剔除,保证后续初始位移计算的准确性。通过参考散斑图片上的计算点和对应的变形散斑图片上匹配点之间的像素坐标,计算出计算点的初始位移值大小,用于后续的并行实时计算亚像素位移。
第五步,实时计算位移和应变。在得到所有计算点的初始位移值之后,假定连续两个变形状态之间的灰度变化模型如下:
f(xi,yi)=r0+r1*g(x'i,y'i) (1)
根据连续两个变形状态间的灰度信息,可以得到如下待优化函数:
其中,位移变化映射函数如下:
x′i=x0+Δx+u+uxΔx+uyΔy (3)
y′i=y0+Δy+v+vxΔx+vyΔy
其中待求解的未知向量如下:
p=[u,ux,uv,v,vx,vv,r0,r1] (4)
采用迭代最小二乘算法的对上述待优化函数进行求解,计算出精确的亚像素位移值及其导数,然后计算得到应变值。
由于每个计算点都有独立可靠的初始位移值,所以上述亚像素位移求解算法可以并行实现。基于GPU平台实现上述亚像素位移求解程序,在该程序被处理器执行时,可以实现并行实时亚像素位移和应变。
尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。