本文还是在传统机器视觉的基础上讨论单目测距,深度学习直接估计深度图不属于这个议题,主要通过mobileye的论文管中窥豹,相信离实际工程应用还有很远。 以前提过单目测距的问题,检测的障碍物2-D框加上摄像头的姿态和路面假设。以下根据公开发布的论文讨论具体的算法: 注:深度学习直接估计深度图不属于这个议题。 1、Vision-based ACC with a Single Camera: Bounds on Range and Range Rate Accuracy,
著名的Mobileye论文,先看成像几何如图:
本车A,前方车B和C,摄像头P焦距f,高度H,和障碍物B/C距离Z1/Z2,B/C检测框着地点在图像的投影是y1/y2。那么y=fH/Z,所以Z=fH/y。下面是三个不同距离的估计结果:
精度测量得到:90米误差大约10%, 44米误差约为5%。 2、Integrated Vehicle and Lane Detection with Distance Estimation 算法流程如下:
基于车道宽度的假设(3.75米),可以算出投影矩阵,随之得到距离公式:
3、Use of a Monocular Camera to Analyze a Ground Vehicle’s Lateral Movements for Reliable Autonomous City Driving
还是基于消失点原理,加上水平线,可得到道路场景几何关系。 消失点和pitch angle的关系:
从消失点得到pitch angle: 4、Robust Range Estimation with a Monocular Camera for Vision-Based Forward Collision Warning System
如果车辆宽度已知,那么车距为d=FW/w。
如上图,可以计算距离为>
整个FCW系统流程图如下>
给了一个虚拟水平线的概念,估计它的位置 ,Hc为摄像头高度,Yb是车辆框底部的垂直位置。然后可以计算出车辆距离: 5、Robust Vehicle Detection and Distance Estimation Under Challenging Lighting Conditions,
碰撞报警需要估算安全距离。下图几何关系能给出估计距离的公式>
距离公式为
下图是IPM的鸟瞰图展示距离:
6、Pitch Angle Estimation Using a Vehicle Mounted Monocular Camera for Vehicle Target Range Measurement
计算特征点运动,由此得到自身摄像头运动,从其平移向量推出pitch angle。
上图可以计算出前方车的距离: 整个系统流程图如下:
下面就是从SFM的几何关系推理距离>
看下面的关系可以得到pitch angle:
角度计算公式为,
7、Forward Collision Warning with a Single Camera
time to contact (TTC) 直接从车辆的大小和位置得到,下面是流程图:
计算公式:
车边框的位置以及光流大小可以确定碰撞的可能性:
这里主要是通过简单的几何关系,直接估算检测的路上车辆距离并给出可能的撞击时间。现在深度学习越来越强大,理论上得到车检测边框的同时,也可以回归车的距离。