zoukankan      html  css  js  c++  java
  • CV 之基于特征的配准(3)—— 内参数标定

    相对于已知的标定对象,摄像机内标定参数的计算和摄像机的(外部的)姿态估计可以同时出现,这实际上是在摄影测量学(Slama 1980)和计算机视觉(Ts 1987)两个领域中所使用的“经典的”摄像机标定方法。

    一、标定模式

    使用一个标定模式或者标记集合是更可靠的估计摄像机内参数的方法之一。如果需要使用较小的标定装备(calibration rig),最好是标定物体可以尽可能地跨越其工作区域(因为平面状目标经常无法精确预测远离该平面的姿态的成分。)

    判定是否成功进行标定方法:

    1. 估计参数的协方差矩阵,然后把工作区域内不同的 3D点映射到图像中以估计其 2D 位置上的不确定性。
    2. 估计焦距和透镜投影中心——把摄像机放在一张大型的平纸板上,用一个大的金属尺子在纸饭上画一些看起来在图像中垂直的直线。

    如果没有可用的标定模式,也可以在结构和姿态恢复的同时进行标定(称为“自标定”),但这需要大量精确的图像。

    二、消失点

    “消失点” 指平行线的视觉相交点。如当你沿着铁路线去看两条铁轨,沿着公路线去看两边排列整齐的树木时,两条平行的铁轨或两排树木连线交与很远很远的某一点,这点在透视图中叫做消失点。 ——摘自百度百科

    其实就是一种视觉错局,消失点效果如下图:

    实际标定情况是摄像机观看人造的场景,其中有大幅扩展的矩形物体,比如盒 房屋墙壁等。在这个情况下,我们可以把对应于 3D 平行线的 2D 线相交,计算它们的消失点。eg.确定内外标定参数。

    三、应用 :单视图测量学

    消失点估计和摄像机标定的一个有趣的应用是 Criminisi, Reid, and Zisserman (2000)提出的单视图测最学系统。他们的系统允许人们交互测量高度或者其他维度,建立分片的平面 3D 模型,如下图所示:

    他们的系统识别步骤:

    1. 识别地面上两个正交的消失点和垂直方向上的消失点。(通过画平行线或者自动方法即可得到)
    2. 用户在图像中标记几个维度,比如参照物体的高度,系统就能 自动计算另 一个物体的高度。

    四、旋转运动

    当没有标定目标或者已知的结构可用,但可以绕着前节点旋转摄像机(或差不多的情形,工作在一个大的空旷场景中,所有物体都距离较远)时,摄像机可以从一组假定在做纯旋转运动的重叠图像中标定,e.g.下图所示:

    五、径向畸变

    当图像是通过广角镜头拍摄的时候,经常需要对镜头崎变进行建摸,比如径向畸变。径向崎变模型是指,在观察到的图像中 ,坐标在显示的时候是远离(桶形畸变, barrel distortion)或者靠近(枕形畸变, pincushion distortion)图像中心一个量的,该量正比于他们的径向距离。

    针对给定镜片,估计径向畸变参数的方法:

    1. “铅垂线方法(plumb-line method)”—— 拍摄有许多直线,尤其是与图像边缘对齐或者贴近的线条的场景图像,然后可以调整径向畸变参数,直到图像中所有的线条都是直线。
    2. 使用几个重叠的图像,把径向畸变参数的估计和图像配准过程进行综合。
  • 相关阅读:
    wcf简单的创建和运用
    关于DevExpress的gridControl的简单使用
    泛型 Field 和 SetField 方法 (LINQ to DataSet)
    【转】string.Format对C#字符串格式化
    ashx实现文件下载以及文件MD5码测试
    【转】10分钟了解设计模式(C#)
    [转]Jquery中AJAX错误信息调试参考
    搭建Harbor docker镜像仓库
    安装python3.x
    shell替换
  • 原文地址:https://www.cnblogs.com/somedayLi/p/12701755.html
Copyright © 2011-2022 走看看