目的
单张图像的使用方法见下面的博客。
简单介绍一下目前的相机种类,主要是对相机镜头按照焦距及视角的大小,可分为标准镜头、广角镜头和鱼眼镜头。他们的一些特点如下:
焦距:鱼眼镜头(小于等于16\(mm\))<广角镜头<普通标准镜头(50\(mm\))。
视场角:鱼眼镜头(接近或者大于180°,工程上大于140°的就算)>广角镜头>普通标准镜头。
畸变:鱼眼镜头>广角镜头>普通标准镜头。
一般常见的普通小孔成像相机的成像模型如下所示,小孔相机模型采用相似成像的方式(入射角和出射角等大),内参包括焦距\(f_x,f_y\)和主点偏差\(c_x,c_y\)。如果焦距一定,那么图像传感器像素平面的面积直接决定了相机视场角的大小,超过这个视场角范围的物体不会被镜头获取到。因此基于透镜成像原理的相机,视场角无法做到足够大,水平视场角一般小于140°。在某些时候,比如气象科学空间观测、太阳能辐射研究计算天空视角系数、安防视频监控等实际场景中可能会需要更大视场角的相机,那么这时候广角相机-鱼眼相机就出现了。
\[ r_d=f \cdot tan \theta \]
流程:首先用Kalman filtering 将GNSS和IMU融合到一起,如果轨迹足够准确,可以直接获得3D点云。也可以在后面加一个平差步骤,结合影像传感器的观测实现融合传感器定向,目的是:1)改正轨迹;2)传感器定向和标定;3)获取3D模型数据,e.g.点云。
需要有一些假设:通常假设轨迹误差是由于缓慢变化的 GNSS 误差或未补偿的惯性传感器漂移造成的,因此是低频的,而轨迹的较高频率分量相对准确。 实际上,校正要么与飞行几何相关联,作为每条带的固定偏移,要么建模为缓慢时变。 由于轨迹误差在带内也可能变化很大,因此这种调整在实践中通常需要高度灵活的校正模型,而这也是的模型有较高的过拟合风险,导致点云中出现全局的变形。
这些问题是的在传感器层级进行统一的误差建模的方法开始流形。
因为这里使用的传感器其实一个组装的VLP16型多线激光雷达+相机+imu的背包激光扫描仪,作者考虑到LiDAR有一定的安置误差(提前肯定标定了的,e.g.倾角),而本文使用的又是室内场景平面,因此需要根据一个仪器安装的先验确定z轴方向指向哪里(默认传感器的坐标系为右前上,z轴指向天空)。得到这个倾角主要是为了修正LiDAR坐标系的z轴方向。这对后续的高度滤波和地面点判断都有一定的影响。
在提取平面时,为了提升效率,首先基于扫描仪的高度,通过高度滤波将一定高度之外的点去掉,同时对剩下的点云计算法向量(通过提前性的点云剔除,可以提升这里的计算效率)进行过滤,和z方向进行比较,保留地面点(和z轴夹角小就说明方向近似),用RANSAC的方式拟合平面参数方程。 这样就可以以较快的速度从单帧点云中提取出一个合适的平面。注意:原文中写的是直接用RANSAC提取平面的,这个非常的费时间,实际操作并不是这样子来的。
闭环的作用就不多说了,koide采用的闭环检测方法其实挺简单的,就是一般闭环检测的基础准则。