机器人/传感器/计算机视觉
从 数字图像采集 获得的图像以向量矩阵的形式出现。每个向量称为一个 **像素**,代表一个特定的颜色。如果用相应的颜色填充每个单元格来显示矩阵,它就会创建一个从相机视角看到的场景的图片。
相机是将二维或三维现实转换为二维表示的设备。虽然后期处理可以从初始的二维图像中重新创建三维表示,但相机输出是现实世界在二维平面上的投影。因为光被用作投影机制,所以任何改变从物体到传感器平面的光线路径或特征的东西都会影响传感器平面上该初始二维表示的保真度。
相机不是完美的设备。因为它们是由具有现实世界特征的现实世界组件构建的,所以它们表示现实的能力受到其组成部分的物理属性的限制。从广义上讲,有三种类型的失真会发生
- 几何 - 由于光学系统的设计和特性,传感器平面上物体表示的的空间位移
- 辐射度量学 - 由于像素灵敏度的变化、出现“热点”或死像素以及不同的像素满阱容量,传感器上记录的报告“亮度值”的误差。
- 光谱 - 由于传感器对不同波长光的响应不同,报告的“亮度值”的误差。
本章的重点是几何失真 - 它的原因和补救措施。
外部定向定义为相机相对于物体场景的位置 (x,y,z) 和角度 (俯仰、倾斜、偏航)。即使使用完美的相机,也会因外部定向而引入失真。通过了解这六个外部定向元素并运用立体解析几何的技术,可以很容易地消除这些失真。求解未知的外部定向元素属于摄影测量学的研究范围,通常被认为是整个相机系统(包括其物体场景环境)校准的一部分。相机校准本身通常指的是校正相机的内部定向。
内部定向定义为相机本身内部组件的相对方向和特征。这些包括
- 校准焦距 - 当无限远处的物体被精确聚焦到像平面时,镜头后节点与像平面之间的距离。
- 镜头系统的光学特性 - 镜头通过巧妙的光学设计改变正常“针孔”几何形状的能力。例如,远心镜头在“压缩深度”和消除透视引起的比例误差的能力方面类似于远摄镜头,但设计用于近距离应用。
- 主点 - 光轴与传感器平面相交的位置(并不总是位于中心)。
- 光轴与传感器平面的夹角。通常,光轴垂直于传感器平面。如果不是,则生成的图像将具有特征性的失真。然而,有时会故意改变此角度以实现其他目标。例如,一些相机能够采用“谢尔平弗条件” - 其中像平面、物体平面和镜头平面都相交于一条公共直线上。假设遵守了透镜定律,此配置可确保物体平面上的所有点都处于对焦状态,即使它不垂直于光轴。虽然此配置保留了对焦,但它引入了额外的几何失真。
- 传感器平面的平整度 - 对于模拟胶片来说比现代数字传感器更重要。
- 镜头畸变 - 改变理想“针孔”模型的镜头的属性。镜头畸变和镜头/传感器平面方向通常是内部定向中几何失真最大的贡献者。
镜头畸变会导致图像点从其在传感器平面的理想“针孔模型”位置发生偏移。这些位移可以进一步描述为
- 径向 - 位移朝图像中心或远离图像中心。从技术上讲,位移是相对于主点位置的径向。径向位移可以用多项式建模,其中前几项描述了大部分影响。
- 切向 - 位移发生在与径向方向垂直的方向上。通常,切向位移远小于径向位移。
- 非对称径向或切向 - 误差函数不同(不同径向的径向函数不同,图像平面不同位置的切向函数不同)
- 随机 - 无法用任何数学过程建模的位移。
针孔模型用于表示理想镜头。它只是强化了光线从物体直线穿过针孔到达图像(传感器)平面的概念。
昂贵的镜头近似于这种针孔模型的行为。
相机校准的目标是校正因相机内部定向元素而引起的图像位移。相机校准有两种通用方法
- 基于模型的方法 - 对误差的特定元素进行建模和校正。
- 基于映射的方法 - 重点在于生成一个全面的现实世界到图像(或图像到现实世界)映射函数,而不考虑理解潜在的贡献原因。
使用基于模型的方法,人们试图识别几个导致误差的主要因素,对它们进行建模、测量并进行校正。对于每个贡献因素,都提出了一个数学方程来对其进行建模。例如,径向镜头畸变可以用以下形式的四项多项式建模
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 x 16 像素)上的类似测量来近似,并为每个补丁采用分段变换。此过程可以通过将绘图仪驱动到数百个控制点位置来进一步自动化。
- 优点
- 可以处理任何和所有畸变 - 即使是那些未预料到的畸变。
- 非常精确 - 亚像素精度
- 只需要做一次 - 如果在此期间没有任何东西移动
- 适合自动化方法
- 缺点
- 需要大量的显式控制。控制点生成器必须是“可信来源” - 绘图仪误差将被传递。
- 昂贵且耗时
通过对相机校准采用基于模型或基于映射的方法,可以在进行进一步处理之前去除由内部相机方向元素引起的大部分图像位移误差。
图像分割的目的是根据某些标准将源图像分割成多个目标图像或感兴趣区域。例如,找到垃圾箱中的单个零件可能是有益的。对于导航系统,提取图像中仅有的地板线可能很有用。
从找到单个设置像素开始。搜索它周围的所有像素。对于每个设置像素周围的一个设置像素,搜索它周围的所有像素,等等。该算法在计算能力方面效率不高,但它确实提取了无需后处理即可使用的区域。
从搜索图像中的差异开始。一旦差异超过一定最小尺寸和亮度或其他特征的阈值,它就是一个边缘。找到所有边缘后,寻找由边缘包围的区域。示例图像具有非常明确的边缘,使其易于处理。但是,许多现实世界的图像具有更平滑的梯度,这使得它们的边缘难以检测。边缘检测也容易受到许多类型噪声的影响,这将干扰边缘检测。
只要可以获得图像的多个尺度,多尺度就是一个有用的技术。许多相机图像处理器可以发出缩略图以及主图像。此低分辨率缩略图可用作搜索主图像的计划。具体来说,低分辨率图像中缺少像素的任何区域可能代表完整图像中的空区域或非常稀疏区域。如果我们愿意牺牲检测小斑点以换取速度,多尺度是一种高效的方法。
顺序搜索的目标是检查每个像素一次且仅一次。找到新像素时,会将其与先前找到的像素组进行比较,并插入该组。如果发现一个像素属于两个组,则必须合并这些组。
- 摄影测量手册 第 4 版 1980 年 6 月 ASPRS 出版物 ISBN-10:0937294012
- 保罗·沃尔夫的摄影测量学原理 1974 年 迈克格罗希尔 ISBN 0-07-071337-5
- 学习 OpenCV 作者:布拉茨基和凯勒 2008 年 O'Reilly ISBN 978-0-596-51613-0
- 机器人视觉 作者:伯恩哈德·克劳斯·保罗·霍恩 ISBN 0-262-08159-8
- people.csail.mit.edu/bkph/articles/Tsai_Revisited.pdf
- http://www.ast.cam.ac.uk/~wfcsur/technical/astrometry/
- http://www.vision.caltech.edu/bouguetj/calib_doc/
- http://www.kwon3d.com/theory/calib.html
- www.umiacs.umd.edu/~ramani/cmsc828d/lecture9.pdf
- http://www.cs.cmu.edu/afs/cs/usr/rgw/www/TsaiCode.html
- http://research.microsoft.com/~zhang/Calib/
- www.photogrammetry.ethz.ch/general/persons/fabio/Remondino_Fraser_ISPRSV_2006.pdf
- http://research.graphicon.ru/calibration/gml-c-camera-calibration-toolbox-5.html
- www.debevec.org/Thesis/debevec-phdthesis-1996_ch4_calib.pdf
- www.youtube.com/watch?v=S-IPz71VxGo&feature=user
一个称为计算机视觉的研究领域已经形成,它围绕着寻找这种矩阵中与某些对象(如面部)相对应的模式。
有关计算机视觉的全面概述,请参阅