配色: 字号:
log_2017-11-02(同向点云和相机的校准)
2018-05-20 | 阅:  转:  |  分享 
  
第一步,我们做一个参考平面的点云平面到平面z=zc的旋转。可以按如下步骤进
行:
1>选择参考平面对应点云中的Z坐标的中值z0,然后选择一个大概的中点x0,y0.
2>拟合点云的参考平面方程ax+by+cz+d=0;平面的法向量为(a,b,c)
3>选择(x0,y0,z0)作为旋转中心,将平面的法向量旋转到(0,0,1),
即平面z=z0;
4>将平面z=z0,平移到z=zc;
第二步,我们完成一个x,y方向上的平移和旋转,即一个欧式变换。可以按如下
方式进行:
条件是在参考平面的图像(x,y,z=zc)和点云(x1,y1,z1=zc)上,我们找到至
少三对不共线的对应点。实现如下:
将图像简化为Img(x,y),将点云简化为PC(x1,y1)。
建立如下坐标转换关系
xrrtx
??????
1112x1
??????
y?rrty
??????
2122y1
??????
10011
??????
rrcos??sin?
????
1112
?
????
rrsin?cos?
?2122???
,theta是逆时针旋转的角度。
xcos??sin?tx
??????
x1
??????
y?sin?cos?ty
??????
y1
??????
10011
??????
,存在三个参数。
求解方法:非线性最小二乘
如此一来,可以将点云中(x,y)和图像中的(x,y)对应起来。从而实现了配准。
但是这还是有局限的。相机和深度传感器的光心轴存在夹角,那么这种标定方式只能
在标定平面上取得较高的精度,其他深度情况下,就不准了。这也是为啥kinect的匹
配结果在过近或者过远时误差会大。但其实上也可以根据深度进行补偿回来的。但计
算量就大了!关于用什么方法来补偿,这又是一个值得好好分析的问题啊!
献花(0)
+1
(本文系XYZ_Sean首藏)