跳转到内容

机器人/传感器/计算机视觉

来自维基教科书,开放的世界,开放的书籍

一个 数字采集图像 以向量矩阵的形式出现。这些向量中的每一个都称为像素,代表特定的颜色。如果矩阵以每个单元格填充相应的颜色进行显示,则会创建一个从相机视角拍摄的场景图片。

相机校准

[编辑 | 编辑源代码]

相机是将二维或三维现实转换为二维表示的设备。虽然后期处理可以从初始的二维图像中重新创建三维表示,但相机输出是现实投影到二维平面上的结果。由于光被用作投影机制,因此任何改变从物体到传感器平面的光线路径或特性的因素都会影响传感器平面上初始二维表示的保真度。

相机并非完美设备。由于它们是用具有现实世界特征的现实世界组件构建的,因此它们表示现实的能力受到组成部分的物理特性的限制。总的来说,有三种类型的失真可能发生

  • 几何 - 由于光学系统的设计和特性,物体表示在传感器平面上发生空间偏移
  • 辐射 - 由于像素灵敏度变化、出现“热点”或死像素以及像素满阱容量变化,记录在每个像素上的报告“亮度值”出现错误。
  • 光谱 - 由于传感器对不同波长光的响应不同,导致报告“亮度值”出现错误。

本章的重点是几何失真——它的原因和补救措施。

外部定向

[编辑 | 编辑源代码]

外部定向定义为相机相对于物体场景的位置(x,y,z)和角度(俯仰、倾斜、偏航)。即使使用完美的相机,也会由于外部定向而引入失真。通过了解这六个外部定向元素并采用立体解析几何技术,可以轻松消除这些失真。求解未知的外部定向元素属于摄影测量学主题,通常被认为是整个相机系统(包括其物体场景环境)校准的一部分。相机校准本身通常是指校正相机的内部定向。

内部定向

[编辑 | 编辑源代码]

内部定向定义为相机内部组件的相对定向和特性。这些包括

  • 校准焦距 - 当无限远的物体被精确聚焦在像平面上时,镜头后节点与像平面之间的距离。
  • 镜头系统的光学特性 - 镜头通过巧妙的光学设计改变正常“针孔”几何形状的能力。例如,远心镜头在“压缩深度”和消除透视引起的尺度误差方面表现得像远摄镜头,但专为近距离应用而设计。
  • 主点 - 光轴与传感器平面相交的位置(并不总是位于中心)。
  • 光轴与传感器平面的角度。通常,光轴垂直于传感器平面。如果不是,则生成的图像将具有特征失真。然而,有时会故意改变这个角度以实现其他目标。例如,一些相机能够采用“谢普夫卢格条件”——像平面、物体平面和镜头平面在一条共同的直线上相交。假设遵守透镜定律,这种配置确保物体平面上的所有点都处于对焦状态,即使它不垂直于光轴。虽然这种配置保留了对焦,但它引入了额外的几何失真。
  • 传感器平面的平整度 - 对于模拟胶片来说比现代数字传感器来说更重要。
  • 镜头畸变 - 镜头改变理想“针孔”模型的特性。镜头畸变和镜头/传感器平面方向通常是内部定向中几何失真最大的贡献者。

镜头畸变

[编辑 | 编辑源代码]

镜头畸变导致图像点从它们在传感器平面上的理想“针孔模型”位置发生位移。这些位移可以进一步描述为

  • 径向 - 位移朝向或远离图像中心。从技术上讲,位移是相对于主点位置的径向。径向位移可以用多项式建模,前几项描述了大多数影响。
  • 切向 - 位移发生在与径向方向成直角的方向上。通常,切向位移远小于径向位移。
  • 非对称径向或切向 - 误差函数变化(不同半径具有不同的径向函数,图像平面上的不同位置具有不同的切向函数)
  • 随机 - 任何数学过程都无法建模的位移。

理想针孔模型

[编辑 | 编辑源代码]

针孔模型用于表示理想透镜。它只是加强了光线从物体穿过针孔到图像(传感器)平面沿直线传播的概念。

昂贵的镜头近似于这种针孔模型行为。

文件:针孔几何 1.gif

相机校准的目标

[编辑 | 编辑源代码]

相机校准的目标是校正由于相机内部定向元素引起的图像位移。相机校准通常采用两种方法

  • 基于模型的方法 - 对特定误差元素进行建模和校正。
  • 基于映射的方法 - 重点是生成全面的现实到图像(或图像到现实)映射函数,而无需考虑潜在的贡献原因。

基于模型的方法

[编辑 | 编辑源代码]

在基于模型的方法中,人们试图识别几个导致误差的主要因素,对其进行建模、测量和校正。对于每个贡献因素,都会提出一个数学方程来模拟误差。例如,径向镜头畸变可以用以下形式的四项多项式建模

delta r = (k1 * r) + (k2*r^3) + (k3*r^5)+ (k4*r^7)+ (k5*r^9) + .............

通常,前两项或三项足以完全描述径向误差。请注意,这是一个误差模型,而不是实际误差。模型可以近似误差,但永远无法完全校正误差影响。

在确定合适的模型后(假设我们选择上面前三项来模拟径向镜头畸变),下一步是确定最能模拟观察到的误差的系数的值。这可以通过以下两种方法之一来完成

  • 显式方法 - 使用具有已知(x,y)、(x,y,z)或角度位置的目标。精密校准框架、现场方法、恒星观测或准直仪组可以用于生成已知位置的目标。
    • 优点:精确
    • 缺点:昂贵且耗时
  • 隐式方法 - 使用具有已知几何属性但没有已知位置或角度方向的物体。例如,棋盘格方法,其中利用所有控制点都位于一个平面上的特性。同样,铅垂线方法利用了一系列从直杆上垂下的物理铅垂线不仅定义了一个平面,而且产生了一系列直的平行线,这些线可以被成像。如果生成的图像中的线不直,则误差可以归因于镜头畸变。
    • 优点
      • 相对简单、快速、便宜
      • 简单的模型通常可以解释大部分的误差
    • 缺点
      • 不如显式方法精确,但通常足够好

基于模型的方法总结

[编辑 | 编辑源代码]
优点
  • 相对简单、快速、便宜
  • 只有少数因素会影响几何形状 - 主要取决于光学配置和镜头畸变
  • 简单模型可以解释大部分的误差
缺点
  • 只能消除模型中包含的误差
  • 忽略未知的误差来源,或者仅仅导致更高的残差

基于映射的方法

[编辑 | 编辑源代码]

在基于映射的方法中,没有尝试理解每个误差来源。整个重点在于生成一个综合的现实到图像(或图像到现实)映射函数。简单的橡皮布拉伸就是一个这样的变换的例子。

例如,想象一下,在相机前面设置一台高精度 X-Y 绘图仪,使其垂直于相机的光轴。然后,在绘图仪的笔架上安装一个针孔光源,使其能够移动到绘图仪的 X-Y 平面上的任何位置。此外,想象一下,对于光源的每个可能位置,我们都可以捕获被照亮的单个像素的行和列。

对于 VGA 格式图像(640 列 x 480 行),共有 307,200 个像素。如果我们让绘图仪移动到 307,200 个位置中的每一个,并记录每个像素映射到哪个真实世界(x, y)坐标,那么我们就成功构建了一个显式映射函数。

使用这种方法,所有潜在的误差来源都会被消除 - 无论它们是否已知。重要的是要保持显式的图像到现实映射。

实际上,没有人会费心去单独照亮 307,200 个像素。然而,可以通过在数百个区域(例如,16 * 16 个像素)上收集类似的测量值,并为每个区域使用分段变换来近似此过程。通过让绘图仪移动到数百个控制点位置,可以进一步自动化此过程。

基于映射的方法总结

[编辑 | 编辑源代码]
优点
  • 可以处理任何和所有失真 - 即使是那些未预料到的失真。
  • 非常精确 - 亚像素精度
  • 只需要执行一次 - 如果期间没有移动任何物体
  • 适合自动化方法
缺点
  • 需要大量的显式控制。控制点生成器必须是“可信来源” - 绘图仪误差会传递。
  • 昂贵且耗时

相机校准总结

[编辑 | 编辑源代码]

通过采用基于模型或基于映射的方法来校准相机,可以消除由内部相机方向元素引起的大部分图像位移误差,然后进行进一步处理。

图像分割

[编辑 | 编辑源代码]

图像分割的目的是根据某些标准将源图像拆分为多个目标图像或感兴趣区域。例如,找到箱子中的单个零件可能是有益的。对于导航系统,从图像中仅提取地板线可能是有用的。

算法:区域增长

[编辑 | 编辑源代码]

从找到单个设置像素开始。搜索周围的所有像素。对于每个设置为 1 的像素,搜索周围的所有像素,依此类推。该算法在计算能力方面效率不高,但它确实提取了不需要后处理的区域。

算法:边缘检测

[编辑 | 编辑源代码]

从搜索图像中的差异开始。一旦差异超过一定的最小尺寸和亮度或其他特征的阈值,它就是一个边缘。找到所有边缘后,寻找由边缘包围的区域。示例图像具有非常明确的边缘,使其易于处理。但是,许多现实世界的图像具有更平滑的梯度,这使得它们的边缘更难检测。边缘检测也容易受到多种噪声的影响,这些噪声会破坏边缘检测。

算法:多尺度

[编辑 | 编辑源代码]

无论何时可以获得图像的多个尺度,多尺度都是一个有用的技术。许多相机图像处理器可以发出缩略图以及主图像。此低分辨率缩略图可用于搜索主图像的计划。具体而言,低分辨率图像中缺少像素的任何区域可能代表完整图像中的空区域或非常稀疏的区域。如果我们愿意为了速度牺牲对小块的检测,多尺度是一种高效的方法。

算法:顺序搜索

[编辑 | 编辑源代码]

顺序搜索的目标是对每个像素检查一次且仅检查一次。当找到新的像素时,会将它们与之前找到的像素组进行比较,并插入该组。如果发现一个像素位于两个组中,则必须合并这两个组。

参考文献

[编辑 | 编辑源代码]
  • 摄影测量手册 第 4 版 1980 年 6 月 ASPRS 出版物 ISBN-10:0937294012
  • 摄影测量学要素 作者:Paul Wolf McGraw-Hill 1974 ISBN 0-07-071337-5
  • 学习 OpenCV 作者:Bradski & Kaehler O'Reilly 2008 ISBN 978-0-596-51613-0
  • 机器人视觉 作者:Berthold Klaus Paul Horn ISBN 0-262-08159-8
[编辑 | 编辑源代码]

一个被称为计算机视觉的研究领域围绕着寻找这种矩阵中的模式,这些模式对应于某些物体,例如人脸。

有关计算机视觉的全面概述,请参见

华夏公益教科书