APP下载

基于深度学习初始位姿估计的机器人摄影测量视点规划

2023-11-28崔海华程筱胜

自动化学报 2023年11期
关键词:视点位姿摄影

姜 涛 崔海华 程筱胜 田 威

传统的摄影测量技术是利用单相机从多个角度拍摄大量图片进行物体三维重建的技术[1],在机器人系统[2-3]、遥感测绘、制造测量[4]、航空航天[5-6]等领域应用广泛.近年来,利用机器人进行测量检测的研究和应用逐渐增加,视觉与机器人系统的集成提升了视觉测量与检测的效率和自动化水平.然而,机器人摄影测量系统中,机器人相对测量对象初始位姿需要标定和人工输入,导致机器人离线编程受到实际测量环境影响.

机器人摄影测量系统的核心问题是安装视觉系统后,具有可视能力的机器人视点规划与路径规划问题.Kinnell 等[7]对机器人三维视觉系统框架做出了详细论述.Kwon 等[8]研究了机器人扫描系统,提出重扫描策略,缩短了扫描时间,增强了机器人检测的稳定性.Raffaeli 等[9]提出基于理论数模的机器人扫描路径离线编程算法,但是离线程序依赖于在线校准.Li 等[10]提出基于邻域搜索方法来确定机器人二维扫描的方向,但其路径规划不连续,需要后期多组测量数据的再次融合.为实现以最小的拍摄视点获得最丰富的重建信息,需要依据视点可见性对拍摄视点进行优化[11].“Generate-test”方法在基于模型的视点规划中得到了广泛的应用[12].它生成大量的候选视点,并计算每个视点下的可见矩阵.然后将覆盖问题转化为可见矩阵的最优选择问题[12].Jing 等[13]采用迭代随机抽样和概率势场方法以非确定性方式生成候选视点.在较高的覆盖率下,保证了较好的视点规划效果.然后,Jing 等[14]将视点规划和路径规划结合为一个单一的规划问题,取得较好的全局最优效果.在实际测量中,机器人视觉系统必须确定被测对象相对于自身的实际位姿,并以此为初始姿态进行扫描路径的规划.基于视觉的目标位姿测量方法主要有PNP (Perspective-Npoint)[15]方法和三维刚体变换法[16],这些方法需要精确已知被测对象特征,提取并重建出必要的特征要素进行位姿计算,虽然位姿计算精度高,但是在可变化的环境中特征提取不稳定,容易产生误差.深度学习技术在位姿估计方面具有环境适应性强、自动化程度高等优势.近年来,利用卷积神经网络(Convolutional neural network,CNN)进行位姿估计的研究发展迅速[17-19].PoseNet[20]网络直接利用CNN 从单幅RGB 图像中估计相机6D 姿态,但是其将旋转分量和平移分量单独输出,训练过程必须调整参数来平衡两个分量的损失.为避免这个问题,PoseCNN[21]网络则直接将位姿误差作为损失函数而更加适应于位姿优化.文献[22-23]中,CNN 没有直接用于位姿估计,而是通过估计特征点然后计算三维姿态的方法,提高了位姿估计的速度和精度.二维物体识别与预测主要有Faster R-CNN (Faster region-CNN)、YOLO (You only look once)、SSD (Single shot multibox detector)[22]等网络结构,且均有良好的预测效果.Tekin 等[17]和Rad 等[23]分别利用YOLO 和SSD 提出了基于单幅图像的位姿估计模型,提升了位姿估计速度.

可见,利用深度学习进行位姿估计,并与机器人视点规划相结合,是机器人自动化高效率摄影测量的新的方式.本文针对机器人摄影测量系统中初始位姿估计、机器人扫描路径规划两个主要问题,研究提升机器人摄影测量效率和自动化程度的新方法.提出融合深度学习位姿估计的机器人摄影测量系统视点规划策略(第2 节).主要贡献在于: 1)基于YOLO 模型与PNP 算法实现了单相机快速位姿估计,替代传统的初始位姿现场校准的工作(第2.1 节);2)提出基于相机成像2D-3D 正逆性映射的被测模型可见性矩阵估计(第2.2 节);3)提出基于初始位姿约束和熵权法的机器人摄影测量视点规划和路径规划方法(第2.3 节).利用几种具有典型特征的零件进行实验验证,获得了优异的位姿估计效果和摄影重建结果(第3 节).

1 测量系统组成及方法

摄影测量是利用多视角拍摄大量图像进行物体三维重建的技术.机器人摄影测量系统组成包括:机器人本体、视觉末端、计算机及控制器等.视觉系统固定安装在机器人末端执行器,视觉坐标系与机器人末端坐标系精确标定后,视觉数据可变换到机器人坐标系下.机器人摄影测量系统中,机器人作为执行机构,搭载相机达到指定位置,并以优化的视角获取被测对象数据.图1 为机器人摄影测量系统简图.

图1 机器人摄影测量系统简图Fig.1 Diagram of the robotic photogrammetric system

如图1 所示,被测对象放置在固定的工作平台上,机器人携带视觉系统从不同角度拍摄图像,然后发送至摄影测量系统进行重建.由于摆放位置随意性,传统机器人摄影测量必须借助辅助测量设备标定机器人基坐标系{B}和物体坐标系{O}的相对变换然后利用这个固定关系和视觉系统可见信息规划机器人末端位姿这一过程依赖初始标定结果,使得离线编程结果受到实际操作限制.本文从逆向出发,利用视觉系统自身可定位能力实现被测对象相对于视觉系统的变换矩阵估计,然后根据手眼矩阵计算出机器人姿态,并根据可见性规划机器人完成扫描的最优位姿.

如图2 所示,整个视点规划策略可分为3 部分:初始位姿估计、可见性矩阵估计、视点与轨迹规划.被测对象随意放置在测量平台,机器人视觉系统仅通过初始图像即获取被测对象位姿,而无需标定.获得初始姿态后再根据可见性信息规划视点和机器人路径.

图2 融合初始位姿估计的视点规划策略Fig.2 Viewpoint planning strategy with estimated initial pose

视点规划策略具体如下: 1)基于深度学习的初始位姿估计: 训练YOLO 网络[17]获得网络权重.被测对象放置在测量系统前时采集初始图像,利用已训练的网络估计初始位姿.2)可见性矩阵计算: 随机生成测量视点.根据相机成像的2D-3D 正逆性映射,以三角网格模型为对象,根据深度原则判断该视角下每个三角面片可见性,生成可见性矩阵.3)视点规划建模与求解: 引入熵权法计算该视角下被测对象可重建的信息权值,约束初始视角,优化求解视点规划模型和旅行商模型获得最优视点和机器人扫描轨迹.

2 视点规划策略

2.1 基于深度学习的单幅图像初始位姿估计

采用深度学习方法以实现在可变测量环境下被测目标的稳定位姿估计[17].采用的网络基于YOLO模型,其通过识别对象包围盒及质心,并利用PNP方法计算对象位姿.该网络可以实现单幅图像的快速位姿估计.图3 为实现单幅图像位姿估计的网络结构和流程.

图3 深度学习实现单幅图像位姿估计流程Fig.3 Outline of single-shot pose estimation with deep learning

如图3 所示,本文采用文献[17]的网络结构,本网络中定义可信度函数为

其中,DT(x)表示图像平面两个像素点的欧氏距离;α为指数函数的控制参数,根据实际训练经验设置为2;dth为像素差异阈值.根据指定的测量对象,在训练过程中,定义融合点误差和致信误差的复合损失函数,不考虑被测对象种类识别的损失,则

其中,Lpt和Lconf分别表示图像点和可信度的损失函数,利用均方根误差计算;λpt表示坐标点损失系数,设置其值为1;λconf为可信度损失系数,训练时对图像的每个元胞进行搜索,若该元胞内有目标物体,λconf=5,否则λconf=0.1.

本文利用ArUco[22]编码标志点作为全局控制点,并以其中一个编码标志点作为坐标系原点建立坐标系.ArUco 具有较稳定的可识别性,且可实现自身的位姿计算.真值位姿为相机坐标系相对于全局坐标系的变换矩阵.利用真值位姿可计算被测对象相关的任意投影图像点.即对于k个拍摄视角,若测得编码坐标系相对相机坐标系的真值位姿为Tk,目标物体三维包围盒角点及质心在该坐标系下的坐标为Mi=(Xi,Yi,Zi,1)T,i=0,1,···,8,相机参数矩阵为K,则可根据相机成像原理获得图像点mi,则

其中s为尺度因子.获得图像点后,根据图像分辨率大小对图像点进行归一化处理.利用这些图像点拟合最小的2D 包围盒,并对2D 包围盒的长宽进行归一化处理.训练网络需要准备的真值数据包括:被测目标3D 包围盒8 个角点的归一化坐标、质心归一化坐标、图像2D 包围盒长宽归一化数值以及目标物体编码,共21 个参数.根据被测对象不同,预先准备训练数据包括: 原始图像(三通道彩色)、掩膜图像(二值图)、目标物体三维模型、相机参数以及上述21 个数值.测试网络的输入为原始图像,其通过在随机生成的视点处拍摄得到,输出为上述21 个参数.利用图3 网络训练后进行目标特征点预测,获得目标的包围盒图像坐标后,利用PNP估计位姿.记预测的被测目标包围盒角点及质心图像坐标为其相机坐标系下归一化平面坐标预测位姿为3×4 的矩阵,根据相机3D-2D 投影关系(式(3))和PNP 算法,建立位姿计算的方程式,即

利用网络预测的8 个角点坐标及质心坐标,建立线性方程组

2.2 基于2D-3D 映射的可见性矩阵计算

为优化视点,以最少的图片数量完成对象重建,建立以可见性矩阵为目标函数的优化模型.可见性矩阵是描述在某个视角下对象表面某个部分是否可见的二值化矩阵.本文研究三角网格模型,可见性矩阵描述为

本文提出一种基于相机模型的空间映射方法确定可见性矩阵.

首先,在被测对象自身建立局部坐标系,随机生成空间三维点,观测方向法向于原点.记初始视点为V1=(x1i,y1i,z1i,δ1i,φ1i,γ1i),其中,

其中,ri,αi,βi为随机生成,δ1i,φ1i,γ1i为欧拉角.按照式(8)和式(9)生成的随机视点分布在空间一个局部环体中,与实际拍摄视点相符.根据手眼矩阵将V1变换到机器人末端坐标系,然后根据机器人逆运动学求解得到机器人关节角度.若求解失败或关节角度超出机器人理论关节角范围,则将该视点移除.初步滤除后的视点记为V2.控制机器人到达V2后拍摄图像,利用第2.1 节深度学习的方法从图像中提取被测物体并估计当前姿态,记为V2为设计的视点,位姿信息为已知.为估计的参数,位姿信息是估计得到的.

算法 1.可见性矩阵计算算法

输入.候选视点集合模型的所有三角面片集合P;相机参数矩阵K.

2.3 测量视点优化与轨迹规划

为实现以最小图片数量对被测对象进行完整重建,本文以最小化视点数量为目标函数,可见性为约束条件,建立基于最小化信息熵的优化模型,即

不失一般性,x1=1 表示第一个视点为必须的视点,其是当被测对象放置于测量系统前第一次拍摄的视点.同时,第一个视角下的位姿是利用深度学习方法估计得到的;γ是一个向量,表示每个三角面片需要被重复拍摄的次数,在摄影测量中,根据重复测量的特征点计算相对位姿,故必须保证每个特征点至少被测量2 次,本文设定为4;wi表示视点xi下被测物体能够被重建的权重,本文利用信息熵权的方法确定.根据第2.3 节算法流程可得每个视角下无遮挡的投影图像Ic,其对应一个投影矩阵T(Ic)=[R(Ic)|t(Ic)],考虑到拍摄视角距离被测物体越近意味着更有可能实现特征识别和重建,所以建立新的投影矩阵其中,表示相机的最近可测深度,其与相机景深有关.利用T′将被测物体投影可得图像定义vi个视点可重建概率

其中,size(I)表示图像I中像素值非零元素的个数.概率越大,该视点被选作最终视点的可能性越大.本文目标函数为最小化,根据信息熵理论,定义信息熵为

信息熵与概率成反函数,所以信息熵越小,目标函数越小.信息熵表明该视角下能够重建的信息值,可重建信息熵值越小,获得的优化的视点数越小.利用线性规划的方法求解式(11),可得到优化的视点集合V3.

下一步即是根据最短路径原则,为机器人规划运动轨迹.从vi到vj有多条路径,定义机器人在两个视点之间的路径长度d(vi,vj)为各个结点间距离总和.为避免机器人运动至奇异点,通常采用插值的方法在两个视点之间插入中间点,本文采取自适应随机游走算法(Adaptive random walks,ARW)[24]对插值点和整个运动轨迹进行优化计算,利用Robwork 机器人编程库实现[25].可建立机器人路径规划的旅行商问题(Travelling saleman problem,TSP)模型

利用MATLAB 中求解TSP 的工具箱进行求解,可以得到最佳扫描路径.

3 实验与结果分析

3.1 单幅图像位姿估计结果分析

本文选择一个3D 打印件作为算法验证对象.在实验中,根据式(8)和式(9)生成1 600 个初始视点,利用机器人逆向运动学和关节角度范围进行初步滤除,获得1 443 个有效视点.从中随机选择1 155个视点拍摄图像进行训练,其余288 个视点获得的图像进行测试,图像分辨率为1 024× 768 像素.根据第2.1 节准备测试数据进行网络训练.目标物体与空间标志点的相对位置通过文献[15]方法求解.训练损失与精度变化曲线如图4(a)所示,测试集平移和旋转误差如图4(b)所示.

图4 训练和测量结果Fig.4 Results of training and testing

其中测试精度是每次训练后,预测的包围盒角点与真实角点像素偏差小于5 pixels 的角点所占的比率.由图4(a)可知,测试精度最终稳定在100%,表明所有预测的目标包围盒均满足像素偏差小于5像素的要求.平移精度和旋转精度定义如下:

其中,Trsie,Trsi0分别表示估计的平移向量和真实平移向量;Angie,Angi0分别表示估计欧拉角度和真实的欧拉角度.从图4(b)可以看出,训练稳定时,平移精度为0.00481 m,角度精度为1.6478°.位姿估计的可视化结果如图5 所示.

图5 位姿估计可视化结果Fig.5 Visualization of pose estimation

图5 表示利用真值位姿和估计位姿将空间点重投影到图像平面的结果,从图像可以看出,重投影的空间物体与实际物体吻合得很好,结合图4 可得,在机器人摄影系统中,本网络结构可以实现较高精度的位姿估计.单幅图像测得的空间位姿,为机器人扫描路径规划提供准确的初始姿态.

3.2 可见性矩阵实验结果分析

本文以三角网格为研究对象,首先将网格划分更加密集,以提高可见性矩阵有效性和解析能力.将测试集的288 个视点作为候选视点,按照第2.2节可见性矩阵的计算算法,求解288 个视点下的可见性.部分计算结果如图6 所示.

图6 不同视角下模型可见性算例对比Fig.6 Comparison cases of visibility in different views

图6(a)表示直接将stl 模型投影到图像平面所形成的投影图.若图像中某个像素点只由一个空间点投影产生,则该点的灰度值减少一次,本文规定一次减少的灰度值为30.则可知减少的次数越多,灰度值越小,表明该像素点由多个空间点投影产生,即产生了将不可见空间面片投影到图像平面的错误投影.由图6(a)可以看出,投影区域的灰度值并不统一,尤其在红色曲线内,灰度值较小.图6(b)是利用本文算法获得的投影图像,灰度值完全相同,表明所有像素点均是可见面片的投影.图6(c)为对应视角下可见的三角面片,其与投影图像相符.图6(d)展示了该视角下拍摄图像,然后进行位姿估计的结果,这说明可以利用估计的位姿代替真值位姿进行可见性计算,这更适用于实际工程应用.通过标记每一个像素点对应空间面片的编号,可以得到该面片在该视角下是否可见,最终获得的可见性矩阵为二值化矩阵.

3.3 信息熵权法实验分析

获得可见性矩阵后,利用式(11)~(14)即可以确定优化的测量视点和对应的扫描路径.为探究本文提出的信息熵权法对于全局重建的影响,本文对比考虑有权重和无权重情况下三维重建的质量,结果如表1 所示.

表1 信息熵权有效性验证表Table 1 Effectiveness test for entropy weight

表1 中A、B、C 三组实验,分别设定了不同的目标函数.A 组实验目标函数考虑了权重,而B、C组实验均没有考虑权重.在表1 中,优化的视点数表示经过优化求解后获得优化的视点数量,点云数表示摄影测量系统重建的点云包含三维点的数量,点云数越多表明被重建的特征越多,重建质量越高.对比A、B 实验可看出,增加了信息熵权的方法求解的视点数为21,其视点数相对没有考虑权重的方法多了一个视点,点云数增加了3 149,说明考虑权重后点云质量提高.C 的目标函数和B 相同,所以得到的优化的视点数和B 相同,均为20 个.但是为说明输入图像数量不同对于重建质量的影响,本文从候选的288 个视点中随机选择一个视点,故C 共有21 个视点.比较重建点云数量可看出,其重建的点云数量小于B,说明同样21 个视点情况下,本文信息熵的方法可获得最优的视点数和三维重建质量.

进一步,综合考虑初始姿态和权重情况下,探究重建质量.为提高重建速度,在式(11)中控制每一个面片可见次数为2.实验结果如表2 所示.

表2 综合权重和初始姿态下重建质量对比Table 2 Comparison of reconstruction quality with weight and first-sight pose

表2 对比了考虑权重和初始姿态情况下重建质量.不失一般性,统一将索引为1 的视点作为初始视点.其中有初始位姿约束表示约束候选视点中索引为1 的视点为必选视点,然后求解最优视点;无初始位姿约束表示不考虑视点1 是否为必选而直接求解最优视点.表2 结果保证了只有初始位姿是不同的.对比表2 第2 列和第3 列,考虑初始姿态时,视点数量增加1 个,但重建的点云数量相比较小.这说明增加的初始姿态的约束造成了全局重建质量的下降.对比第4、第5 列有相同结论.需要注意的是,4、5 两列虽然视点索引号不同,但其均是视点优化的结果,且仅保证了初始位姿是不同的.比较2、4 两列可看出,考虑权重的情况下,不论是否约束初始姿态,重建质量均提高.

3.4 扫描路径与重建结果分析

获得优化的测量视点后,最终按照式 (14)规划机器人的最短扫描路径.本文采用插值的方法,在任意两个视点中插入中间过渡点以保证机器人运动过程不会产生干涉,最优路径通过自适应游走算法进行计算.由于本文方法不需要进行现场校准,被测物体任意放置在测量系统前,初始姿态具有任意性,通过表2 也说明初始姿态对于重建结果的影响.所以机器人运动轨迹受到初始姿态的影响,但是在具有相同的初始姿态下,机器人轨迹相对固定.机器人轨迹计算方法也直接用于现场实验,图7 展示了利用本文机器人规划算法设计的仿真界面和现场实验.图7(a)为仿真界面,图7(b)为现场实验.利用本文的测量策略,在实际测量时,控制末端相机采图,并估计目标物体位姿.然后将该位姿作为初始位姿进行后续视点和路径规划.规划得到最优路径发送至机器人实现自动测量.图8(a)展示了两种候选匹配点下的扫描路径.

图7 机器人扫描规划仿真界面和现场实验Fig.7 Simulation interface and field experiment of the robot scanning planning

图8 不同候选匹配点下扫描路径对比Fig.8 Comparison of scanning paths with different candidate view point

改变候选视点数量,进一步探究不同候选点下扫描路径与重建质量,探究最优扫描路径在不同候选视点的提升程度.图8 展示了不同候选点集下获得的机器人路径.不同候选点获得的优化的视点数量不同,扫描轨迹也不同.

由图8 可看出,更多的优化视点获得三维点云数量较多,重建质量较高,机器人运动的路径相对较长.不同的候选点将产生不同的扫描路径,但本文全部算法流程可根据实际应用中不同初始姿态、不同候选点等情况生成最优的扫描路径.本文为实现快速摄影测量重建,重建的点云密度略低于精密摄影测量.同时,通过增加候选点数量和重叠点数量(式(11))实现重建质量提高.

利用估计的姿态进行摄影重建,21 个视点重建的时间为90 s.没有估计姿态直接进行三维重建的时间为111 s,相对提高了18.92%,大幅提升了重建速度.因为没有输入姿态的情况下,摄影测量系统必须根据特征点估计出相机姿态,然后进行优化和重建,故重建速度低.另外,结合快速位姿估计、视点优化以及最短路径规划等综合提升了测量系统速度.

3.5 典型特征的摄影测量验证

上文以“金字塔”状凸台零件验证了所提算法.为验证模型的泛化能力和适用性,增加球体、柱体、凹台这三类零件的测量位姿估计与视点规划实验.3D 打印件如图9 的第1 行所示.

图9 具有典型特征的零件摄影测量位姿估计与视点规划Fig.9 The pose estimation and viewpoint planning of part with typical features for photogrammetry

图9 中第1 行~第5 行分别展示了3D 打印件的原始图像、位姿估计可视化结果、网络训练结果、最优扫描路径和摄影重建结果.图9(a)~9(c)表明所提的机器人摄影测量策略适用于常规的零件,包括球体、柱体和凹台,具有一定的通用性,更多的目标物体只需要按照本文方法进行位姿估计、可见性计算、测量规划等工作.由图中第2 行可见可视化的位姿与被测物体十分吻合,质心坐标重合,结合第3 行测试结果可得出目标包围盒的估计准确率为100%,同时平移估计精度均优于5 mm,旋转估计精度优于2°.第4 行给出了最优扫描路径,其中模型的可见性均满足无重叠投影的要求.第5 行为利用规划的视点进行机器人路径规划得到的摄影重建结果.

同样,利用估计的位姿进行摄影测量重建,重建效率对比如表3 所示.本文摄影重建均采用增量式稀疏重建方法,可缩短整体重建时间,由于表2验证了熵权对于重建质量的提升,此处均采用熵权法进行视点优化求解.

表3 利用深度学习位姿估计的摄影测量效率对比Table 3 Comparison on effectiveness of photogrammetry with estimated pose using deep learning

由表3 可以看出,考虑初始位姿约束的情况下,三种模型重建的点云数量均略有减少,这说明本文方法更加适合稀疏点云的快速重建,而不能获得稠密的摄影重建.而融合了位姿估计的摄影测量系统效率均有所提升,球体、柱体、凹台零件重建效率分别提升15.29%、14.84%和18.63%,因为利用深度学习的方法进行位姿估计节省了传统摄影测量中位姿依赖本质矩阵分解的计算时间.综上分析,融合了初始位姿估计的机器人摄影测量可实现快速稀疏点云重建,而利用深度学习替代传统依赖特征计算的方法对于摄影测量具有重大意义.

4 结束语

提出一种基于深度学习初始位姿估计的机器人摄影测量系统视点规划方法,实现了利用单相机快速位姿估计,平移精度优于5 mm,角度精度优于2°.提出基于相机成像映射的可见性矩阵计算.利用所提的视点规划策略提升了摄影测量重建的效率.对几种具有典型特征的零件进行摄影测量,本文方法在位姿估计、重建效率方面均表现优异,重建质量因初始位姿约束有所下降,故适用于快速稀疏摄影重建.本文方法促进了机器人摄影测量系统现场测量的智能性、灵活性和自动化程度,对工业摄影测量具有重要的推进意义.

本文网络为开源网络,为扩展网络应用价值,公开本文中圆柱体模型的数据集供同行使用.本文所使用的模型均来自英国诺丁汉大学制造测量团队.

猜你喜欢

视点位姿摄影
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
小型四旋翼飞行器位姿建模及其仿真
视点
两会视点
WZW—bewell摄影月赛
最美的摄影
基于几何特征的快速位姿识别算法研究
摄影42℃展版
寻找新的视点