有效
一种基于视觉的水下场景三维点云重建方法及其系统
康来、吴玲达、老松杨、魏迎梅、蒋杰、白亮
中国人民解放军国防科学技术大学
摘要
本发明公开了一种基于视觉的水下场景三维点云重建方法及其系统。该方法包括以下步骤:首先,架设基于视觉的水下场景三维点云重建系统;其次,采集图像数据并进行预处理;再次,确定旋转四元数适应度计算方法;然后,采用改进差分进化算法计算最佳旋转四元数;最后,进行场景重建和优化。本发明基于视觉的水下场景三维点云重建系统主要包括两个水下照相机、水下LED光源、电源线和数据线、计算机系统构成、固定装置等部分。本发明提出的基于视觉的水下三维重建方法和系统无需在水下设置任何辅助标定部件,与已有基于外部定标物的水下三维重建系统相比操作更加便捷,与已有不采用外部定标物的方法相比具有速度快、收敛性好的优势。
1.一种基于视觉的水下场景三维点云重建方法,其特征在于,包括以下步骤:S1、构建基于视觉的水下场景三维点云重建系统;基于视觉的水下场景三维点云重建系统,包括至于水中的待重建物体、两个水下照相机、水下LED光源、计算机系统以及固定装置构成,所述两个水下照相的内部参数均已知,两个水下照相机均由固定装置固定支撑且两个水下照相机均朝向待重建物体安装以确保两个水下照相机能够同时拍摄到待重建物体,两个水下照相机的主光轴之间的夹角介于0°~30°之间,所述待重建物体的外侧设置有用于改善水下场景的光照条件、提高图像的亮度的水下LED光源,两个水下照相机与计算机系统连接,计算机系统用于控制两个水下照相机同步对待重建物体拍摄,完成图像数据同步采集、图像重建和重建结果展示;其中,水下照相机由一个内部参数已知的照相机以及一个防水外壳构成,照相机通过其相机基座固定在防水外壳内部空间的底端,防水外壳的前端面上安装有平面透明玻璃窗口,照相机主光轴方向与平面透明玻璃窗口所在平面垂直,照相机透过平面透明玻璃窗口对待重建物体拍摄;S2、图像数据采集和预处理S2.1采用S1中构建的基于视觉的水下场景三维点云重建系统拍摄获取包括待重建物体的水下场景的两幅图像;S2.2已知两水下照相机的内部参数,根据水下照相机的内部参数对S2.1中获取的两幅图像进行变形矫正移除图像径向变形,记径向矫正后的图像为I 1 、I 2 ;S2.3利用仿射不变性图像局部特征提取和匹配方法计算I 1 和I 2 的特征点匹配结果,然后根据距离比测试值按照由小到大的顺序对匹配结果排序,选取排名靠前N位的图像特征点匹配对 其中,u 1(j) =(u 1(j) ,v 1(j) ) T 为图像I 1 中的特征点坐标,u 2(j) =(u 2(j) ,v 2(j) ) T 为图像I 2 中与u 1(j) 对应的特征点坐标,N为不小于64的整数,N越大后续标定过程耗时越长、标定结果也越精确;S2.4构建水下图像采集系统标定参数集合S={{P 1 },{P 2 },{n 1 },{n 2 },{D 1 },{D 2 }};其中,P 1 =K 1 [I|0]为第一个水下照相机的3×4维投影矩阵,P 2 =K 2 [R|(t;1)]为第二个水下照相机的3×4维投影矩阵;n 1 =(0;0;1)为第一个水下照相机的平面透明玻璃窗口所在平面的法向量,n 2 =R -1 (0;0;1)为第二个水下照相机的平面透明玻璃窗口所在平面的法向量,两个水下照相机其平面透明玻璃窗口所在平面的点法式平面方程分别为n 1 U+D 1 =0和n 2 U+D 2 =0,其中:U表示三维空间点坐标;R为两个相机的3×3维相对旋转矩阵,t为第二个相机与第一个相机的3维相对平移列向量,K 1 和K 2 分别为第一个相机和第二个相机的3×3维内部标定矩阵,D 1 和D 2 为平面方程中的参数,由平面与原点之间的距离以及平面的法向量共同确定;S3、确定旋转四元数适应度计算方法对于任意给定的单位四元数q=(w,x,y,z) T 且||q|| 2 =1,按照如下步骤计算其适应度:S3.1根据单位四元数与旋转矩阵的转换关系,计算q对应的旋转矩阵R m (q);计算公式如下:S3.2构建如下全局优化问题Q:其中,P 1 =K 1 [I|0],P 2 =K 2 [R m (q)|(t;1)],n 1 =(0;0;1), U j 和 均为3维未知列向量, 指的是三维点 在相机投影矩阵为P i 的相机中的投影的齐次坐标的第三个分量,ε j 为松弛变量,[P i ] 3 表示相机投影矩阵P i 的第三行行向量;符号“·”表示向量点积,常系数λ的取值范围是1.5~3.0;r i(j) 中j={1,2,…,N},r i(j) 的定义如下:其中,κ为水的折射系数,且d(P,U,u)的定义如下:其中:符号[·] k 表示矩阵的第k行向量;d(P,U,u)是三个自变量的函数,P,U,u分别为三个自变量的类型,即第一个自变量为相机矩阵,第二个自变量为三维点坐标,第三个自变量为二维图像点坐标,P i , u i(j) 为三个自变量取值;采用凸优化算法求解上述优化问题计算未知向量的最优解;S3.3构建如下局部非线性优化问题:其中,d′(P i ,n i ,D i ,U j ,u i(j) )取值按如下方式确定:如果ε j >0,则d′(P i ,n i ,D i ,U j ,u i(j) )=λ;否则,根据折射相机模型中的前向投影计算方法计算前向投影误差d′(P i ,n i ,D i ,U j ,u i (j) );然后,根据S3.2中凸优化问题Q的解X对参数集合Y={S,{U 1 },{U 2 },…,{U N }}进行初始化,并采用LM算法求解上述局部非线性优化问题对Y进行优化求精;记优化后的成像系统标定参数集合 并输出单位四元数q的适应度值f(q)=min E;S4采用改进的差分进化算法计算最佳旋转四元数,算法中各参数的设置准则如下:种群个数N p 不小于30,最大进化代数G max 不小于50;每个个体的变量个数为4,对应于1个单位四元数;变异尺度FW∈[0,1],交叉率CR∈[0,1];进化终止条件为达到最大进化代数或者最佳适应度收敛;S4.1初始化;每个个体对应的四元数q=(w,x,y,z) T 进行随机初始化;S4.2变异操作给定三个被选中的个体编号r 0 ,r 1 ,r 2 ,其中r 0 ≠r 1 ≠r 2 且1≤r 0 ,r 1 ,r 2 ≤N p ,N p 为种群个体数量,变异单位四元数按如下公式计算:其中, 表示 的共轭四元数,FW为变异尺度,η根据等式 确定,“*”表示四元数乘法;S4.3交叉操作为了确保个体对应的4个变量构成单位四元数,对交叉后的试验向量即四元数进行归一化处理;S4.4适应度计算采用S3.3中的局部非线性优化方法获得邻域范围内所有单位四元数的最佳适应度值,适应度值越小表示适应度更优,最佳适应度值指的是当前群体中所有个体适应度的最小值;算法执行完毕后,记最优个体对应的旋转四元数为q * ,最终成像系统标定参数集合为 S5场景重建及其优化S5.1利用图像稠密匹配方法计算图像I 1 与图像I 2 之间的像素对应关系;S5.2对于每个像素对应 其中u为图像I 1 中的图像点,v为图像I 2 中的图像点,利用折射相机的后向投影计算方法,结合成像系统标定参数集合S * 分别计算u和v对应的三维场景光线;然后,计算上述两条光线的公共垂直线段的中点,并将该中点的三维坐标作为 对应的场景点三维坐标初始值U;S5.3对于每个场景点三维坐标初始值U,利用局部非线性优化方法对其初始三维坐标求精,优化过程的目标函数为:其中,h(I 1 ,I 2 ,U,m)表示图像I 1 中以U在该图像上的投影为中心、大小为m×m个像素的图像窗口,与图像I 2 中以U在该图像上的投影为中心、大小为m×m个像素的图像窗口的归一化互相关系数;其中,m的取值范围是5~10个像素,U在各图像上的投影点的计算基于前向投影方法,其中成像系统标定参数集合为S * ;S5.4将所有经过优化的三维点融合为三维点云,并利用点云处理工具过滤孤立点和剔除细小点云片段,获得最终稠密三维重建结果。
2.根据权利要求1所述的基于视觉的水下场景三维点云重建方法,其特征在于,S4.1中,每个个体对应的四元数q=(w,x,y,z) T 均按照如下方式初始化:其中,参数α、β、γ为取值范围介于0~2π之间的随机数。
3.根据权利要求1所述的基于视觉的水下场景三维点云重建方法,其特征在于,基于视觉的水下场景三维点云重建系统中,水下LED光源有两个以上,其中至少有两个水下LED光源分布在待重建物体的左右两侧。



