本发明涉及结构光三维测量领域,尤其涉及一种基于条纹修复的高动态范围条纹投影三维测量方法。
背景技术:
1、随着科学技术的发展,物体的三维信息越来越受到人们的重视,条纹投影三维测量技术广泛应用于工业建模,文物保护,生物医学,智能驾驶等多个领域。
2、随着结构光三维测量得到越来越广泛的应用,被测对象的特性也更加复杂,需要测量的对象不再局限于白色或浅色物体,有时候也需要对物体表面反射率变化较大的物体进行测量。
3、由于相机动态范围有限,拍到的条纹图会发生饱和,条纹饱和后如果直接计算相位会和理想相位有偏差导致三维测量不准确。
4、因此,有必要提供一种基于条纹修复的高动态范围条纹投影三维测量方法解决上述技术问题。
技术实现思路
1、本发明提供一种基于条纹修复的高动态范围条纹投影三维测量方法,解决了现在的相机动态范围有限,拍到的条纹图会发生饱和,条纹饱和后如果直接计算相位会和理想相位有偏差导致三维测量不准确的问题。
2、为解决上述技术问题,本发明提供的一种基于条纹修复的高动态范围条纹投影三维测量方法,包括以下步骤:
3、s1、向高反光表面投影多步灰度正弦条纹图,ccd采集多步相移变形饱和条纹;
4、s2、将拍摄的图像分为:可靠区域、浅饱和区域和深饱和区域,用多步相移饱和条纹图计算出可靠区域,用欧拉公式法计算出可靠区域的a、b参数;
5、s3、由于浅饱和区域和深饱和区域不能完美求解,对所有可靠区域膨胀和腐蚀,获得a、b的csi和bsi区域来大致对应a、b的浅饱和区域和深饱和区域并利用csi和bsi插值方法对csi和bsi区域的a、b进行插值补全;
6、s4、找到相邻条纹之间的非饱和下交点,这些点所在的曲面为flower,利用将这些下交点作为flower的可靠点,并用a、b和flower的关系,用可靠点位置的a、b扩充flower的可靠点,最后利用flower的扩展可靠区域膨胀和腐蚀,获得flower的csi和bsi区域来大致对应flower的浅饱和区域和深饱和区域并利用csi和bsi插值方法对csi和bsi区域的flower进行插值补全;
7、s5、根据a、b和flower三个曲面之间的关系,利用插值得到的a、b和flower计算出每个位置准确的a;
8、s6、利用条纹之间的关系,用修复的a以及没有饱和的条纹对饱和条纹进行修复,当条纹顶部饱和的部分被修复后,其余部分使用csi插值来补全;
9、s7、当所有条纹被修复后使用多步相移法计算相位;
10、s8、使用互补格雷码方法求解级次并展开包裹相位。
11、优选的,所述s1包括以下具体步骤:
12、s1、向高反光表面投影灰度正弦条纹图,ccd采集变形饱和条纹,投影的n幅有恒定相位差δ的条纹图,拍摄到的图像也有δ的相位差,即,
13、
14、其中,n为相移步数,是大于等于3的整数,n=1,2,...,n为相移序号,a(x,y)为平均强度,b(x,y)为强度调制。
15、优选的,所述s2包括以下具体步骤:
16、s21、对图像中的每个点,根据n幅相移图的饱和情况将其分为可靠区域、浅饱和区域和深饱和区域。如果拍摄的n幅相移图在某个点的值有三幅图及以上的值都小于255,那么这个点为可靠区域,其余为不可靠区域。在不可靠区域中假定aa为实际的a参数,那么当aa<255时该点为浅饱和区域,当aa≥255时该点为深饱和区域。
17、s22、可靠区域的a参数可以直接求解,浅饱和区域和深饱和区域的a参数无法直接求解,可靠区域的a参数求解公式如下所述:
18、根据欧拉公式eix=cosx+isinx,in(x,y)可以写为:
19、
20、条纹下标为n1,n2,...,nk的条纹没有饱和,联立(x,y)位置上这些没有饱和条纹的方程:
21、
22、那么a,b参数求解公式为:
23、
24、优选的,所述s3包括以下具体步骤:
25、s31、求解到a、b可靠区域后,对可靠区域进行膨胀,膨胀距离应该超过条纹周期的一半,获得膨胀区域;
26、然后对膨胀区域进行腐蚀,腐蚀距离应该大于膨胀距离,获得csi区域;
27、最后对csi区域进行反转得到bsi区域,由于浅饱和区域和深饱和区域不能完美求解,获得csi和bsi区域来大致对应浅饱和区域和深饱和区域;
28、s32、用csi区域内的所有可靠点的a值为基础对csi整个区域的a值进行插值补全;
29、用csi区域内的所有可靠点的b值为基础对csi整个区域的b值进行插值补全;
30、插值方法使用三次样条插值方法:cubic spline interpolation,简称为csi插值方法;
31、s33、用bsi区域内所有可靠点的a值为基础对bsi整个区域的a值进行插值补全;
32、用bsi区域内所有可靠点的b值为基础对bsi整个区域的b值进行插值补全;
33、插值方法使用双调和样条插值方法:biharmonic spline interpolation,简称为bsi插值方法。
34、优选的,所述s4包括以下具体步骤:
35、s41、flower的可靠点寻找方法如下,可靠点就是相邻条纹没有饱和的下交点以及a,b的可靠区域计算的下可靠点,对于相邻条纹in(x,y)和in+1(x,y),其交点位置的方程为:
36、
37、求解上式,交点位置的相位为:
38、
39、交点位置的条纹强度值为:
40、
41、k为整数,为了判定这些交点是否是下交点,用in(x,y)和in+1(x,y)的对称条纹在该位置的交点强度大小来辅助判定;
42、in(x,y)和in+1(x,y)的对称条纹表示为,imod(n/2+n)和imod(n/2+n+1),其中‘mod’借用了取余函数的概念,表示为:
43、
44、n表示总的相移步数,对称条纹交点的强度表示为:
45、
46、判定点为下交点plower int的条件为:
47、
48、
49、所有的flower的所有下交点为所有相邻条纹交点的并集:
50、
51、另外,可靠点位置的a,b也能够对flower的可靠点进行进一步扩充,扩充的公式为:
52、
53、s42、求解到flower可靠区域后,对可靠区域进行膨胀,膨胀距离应该超过条纹周期的一半,获得膨胀区域;
54、然后对膨胀区域进行腐蚀,腐蚀距离应该大于膨胀距离,获得csi区域;
55、最后对csi区域进行反转得到bsi区域;
56、由于浅饱和区域和深饱和区域不能完美求解,获得csi和bsi区域来大致对应浅饱和区域和深饱和区域;
57、s43、用csi区域内的所有可靠点的flower值为基础对csi整个区域的flower值进行插值补全;
58、插值方法使用三次样条插值方法:cubic spline interpolation,简称为csi插值方法;
59、s44、用bsi区域内所有可靠点的flower值为基础对bsi整个区域的flower值进行插值补全,插值方法使用双调和样条插值方法:biharmonic spline interpolation,简称为bsi插值方法。
60、优选的,所述s5包括以下具体步骤:
61、s51、插值得到的曲面a、b和flower中,a、b的强度较高,插值基础点少,和理想曲面误差大,flower的插值基础点多且均匀,和理想曲面误差小,将插值得到的曲面a、b、flower写为a′、b′、flo′wer,理想曲面为a、b、flower,由于插值函数在插值两组相同趋势的不同强度点时,能够保留梯度,所以a′,b′的比值与a,b的比值非常接近:
62、
63、所以和理想曲面为a,b误差很小的曲面a″,b″得以求解:
64、
65、优选的,所述s6包括以下具体步骤:
66、s61、n步相移中当某个图像饱和时,饱和区域的条纹修复值inr的修复公式如下:
67、n为偶数时:
68、
69、n为奇数时:
70、
71、s62、饱和相移图像使用上面修复公式修复后,如果还存在饱和的位置,这些位置以全局的非饱和条纹值和修复的条纹值为基础,用csi插值方法进行插值补全。
72、优选的,所述s7包括以下具体步骤:
73、s71、通过修复的n幅条纹图可以解得包裹相位:
74、
75、通过上式获得的相位是包裹相位,要获得高度信息需要使用展开相位,绝对相位法可以将包裹相位展开。
76、优选的,所述s8包括以下具体步骤:
77、s81、投影多幅格雷码条纹图案到高反射率物体表面,用ccd获取格雷码条纹图,前几幅图用来计算级次,最后一幅图用来对级次进行矫正,得到条纹的级次k;
78、s82、使用级次k对包裹相位进行展开,展开公式如下:
79、
80、最后求得的φ(x,y)即是展开相位。
81、与相关技术相比较,本发明提供的一种基于条纹修复的高动态范围条纹投影三维测量方法具有如下有益效果:
82、本发明提供一种基于条纹修复的高动态范围条纹投影三维测量方法,该方法可以有效对饱和条纹进行修复,提高系统的动态范围,使用条纹修复方法,每张图信息利用率增大,减少了高动态范围测量需投影图案的数量,有效提高了测量的速度。