- 12/20
- 2018
-
QQ扫一扫
-
Vision小助手
(CMVU)
无论是IIoT时代的工业智能机器人使用三维数据来定位自己的工作空间,或反向自动贩卖机可对空瓶子进行计数,又或表面检测系统用来提醒工作人员最细微的材料瑕疵 ─ 现代三维感光组件从环境及对象中获取信息,而此技术可运用于未来各种不同的产业上。
目前,市场上发展出多样的技术,可从场景中收集三维信息。然而,必须在它们之间进行区分的一个关键点,即为主动及被动技术: 主动式技术如激光雷达(光检测和测距)或TOF测距感测组件,使用主动式光源来提供距离信息;被动式技术则仅倚赖由相机撷取的图像数据 ─ 近似于人类视觉系统的深度感知功能。
过少计算机计算,价位高,以及不准确的结果让早期三维立体系统的发展在许多应用上夭折。然而,感谢计算器性能和高分辨率感光组件的改进,该技术正慢慢的回流使用于越来越多的应用上。
所有这些技术各有其优点和缺点:因此ToF测距感测组件虽然作为一项规则,可使用较少的计算能力并且在场景结构方面几乎没有限制,目前的ToF系统(800×600像素)最大空间分辨率相对较低,并且会受到太阳的红外辐射影响,其室外使用非常有限。
然而,市场上较新的感光组件,现已可让被动式多视角三维模型系统 (multi-view stereo vision system) 提供极高的空间分辨率;不过,此系统需要密集处理器,且在面对低对比度或重复性纹理时表现也较不佳。
而今天的计算机计算资源及可选的模式投影使立体系统能够以高空间及深度分辨率 (spatial and depth) 进行实时运作。
也正是这个原因,被动式多视角三维模型系统则是现在用于汲取三维信息最受欢迎且最具弹性的系统。多视角立体系统包含了两个或多个以上的相机组合而成,可同时记录场景中的信息。
当相机校准且可聚焦于现实世界中某个场景,此像素可于相机中定位,三维特征则可透过三角测量从像素中重建。
要达到最高可能之精准度则取决于相机之间的距离(基线),相机间的聚合角度,感光组件的像素大小和焦距。必要角度的校正及对应,使得所有图像处理的算法符合要求。
实时应用三维立体视觉系统
通过相机校准,可以确定各个相机的位置和方向(外部参数)以及受到选定镜头显著影响的焦距,主点和失真参数(内部参数)。相机校准通常是使用棋盘格或圆点等二维校准图案,可简易清楚地检测控制点。
当然,就能精确地知道校准图案的测量值,例如控制点之间的距离。接下来,就能呈现校准图案的图像序列(以各种不同图案及方向的位置展现)。
图像处理算法从各个图像中检测校准图案中的控制点。例如,边缘和角点检测算法作为棋盘图案之基础以及斑点算法作为点校准图案之检测基础。
在此过程中,会出现校准对象和各个图像之间多个三维-二维的对应关系。基于这些对应点,来提供相机参数。
检测案例结果来自各种位置和方向的校准模式。通过校准图案中检测到的控制点,可以确定相机的内部和外部参数。
虽然校准仅运行一次(假设系统运作期间相机参数不变),但为了传送场景的三维信息,必须针对每张图像执行处理器密集型任务,以查找视图之间的对应关系。在一立体系统下,可识别两个视图之间的对应点。在预处理中,图像通常通过内部失真参数进行纠正。
对于参考图像中的一个像素,会有针对目标图像中对应点的连续搜寻,代表观察场景中相同的三维坐标。朗伯反射率假设(即完全漫射的表面),参考图像和目标图像中的局部区域应该非常相似。两者的相关性在原始及目标区域之间算出,代表两者的相关性。这与事先计算相关系数并在之后进行比较不相同(正规化互相关(cross-correlation) 已完整建立)。正规化互相关就是这样一种相似性测量。
对应点
所有点都不需要对应到目标影像: 在几何学上应该会有一个对应的点,可于修正过的画面中的一条线,即所谓的极线 (epipolar line)。通信只需要沿着这些极线进行搜寻。为了再加速搜索寻,通常会校正未失真的输入图像。输入图像进行转换,而所有对应的极线则共享同样的垂直图像坐标。因此,对于参考图像中的任何给定点,在寻找目标图像中的对应点时,只需沿着具有相同垂直坐目标线搜寻。
虽然搜寻的算法复杂性保持不变,但之前的校正让搜索对应点的过程更有效率。此外,如果场景的最小和最大工作距离是已知的,则可以沿着极线对搜索额外优化以加速它。
上方图:The Imaging Source映美精相机 立体视觉系统的原始图像对。下方图:校正后图像对。对于参考图像中的一个点(左下方),只需要沿着目标图像中的同一图像线搜索相应的点(右下方红线为示范)。
如果所有沿着极线的可能目标环境都与参考环境进行比较,作为一项规则(在本地立体算法的情况下),具有最大相似度的目标环境,将会被选作最终对应值。
如果完成对应性搜寻,假设已经找到明确的对应点,对于参考图像的每个像素(在一套校正立体视觉系统中),将存在差异形式的距离信息 ─ 换句话说,作为沿极线的像素偏移量。这里讲的是一个差距图像或视差图。在先前校准的内部和外部参数帮助下,视差可以转而转换成实际的度量距离信息。
如果计算每个点的距离,那么可以估算视差,结果就是以所谓的点云形式出现的三维模型。在场景中低对比度或重复模式的情况下,由于许多具有低唯一性值的点将存在于目标视图中,因此使用局部3D立体技术可导致不太可靠的差异计算。
全局立体技术可以在这种情况下提供帮助,但由于它们对于最终视差卡有额外的要求(例如: 平滑约束形式会产生不连续性),因此处理器密集程度来的更高。
通常,将人工结构投射到物体上以便在对应点中产生清晰度(投影纹理立体)更为容易。因此,投影机没有按照相机进行校准,因为它仅用作人造结构的来源。
使用The Imaging Source映美精相机 的SDK可视化差异评估和最终点云。左图:相对于参考图像的视差图。中间:纹理化点云的3D视图。右图:颜色编码的点云,显示与相机的距离。作为人工结构的来源。
通过GPUs加速
当需要高帧速率和高空间分辨率时,现代GPU以显著加速的速度计算3D信息。对于立体视觉系统在现有环境中的最终整合,The Imaging Source映美精相机 依赖于模块化解决方案:使用The Imaging Source 的C ++ SDK(可选GPU加速功能)与The Imaging Source链接或MVTec的HALCON编程环境。
虽然SDK使立体视觉系统可以简单校准以及撷取及可视化3D数据,但HALCON提供了附加模式,例如用于集成机器人系统的手眼校准和附加算法,例如CAD模型注册以获取3D数据。