三维计算机视觉
立体视觉
立体视觉是一种计算机视觉技术,其目的是从两幅或两幅以上的图像中推理出图像中每个像素点的深度信息。可以理解为,人眼看到物体时能估计出物体的远近,计算机要想实现自动驾驶,也需要知道前面的车距离自己的距离,也就是说,需要具备判断目标物体远近的能力,这也就是所谓的“深度信息”。
当然,人眼有时候也会有误判(如图二),这也是立体视觉的一大难点。
双目系统&视差
单目系统
如图,P,Q为真实世界中的两个点,P,Q,O在一条直线上,那么照相时P,Q在成像平面上将重叠为一个点,难以判断它们的远近。因此如果自动驾驶的摄像头只有一个,也许能识别出两辆车,但无法识别它们距离自己的远近以及两辆车的前后关系,这就是单目系统的弊端,由此有了双目系统,它类似于人类的双眼。
双目系统
如图,两个摄像头构成立体系统, O R O_R OR摄像头上P,Q重叠,但在 O T O_T OT上不再重合,而且有各自的成像点。双目系统能够计算物体距离自己的距离,进一步也就能判断物体的先后顺序。那么它是如何计算的呢?首先了解几个相关概念:
极平面: O 1 , O 2 , P O_1,O_2,P O1,