机器视觉的本质,是通过图像获取三维世界的真实信息。在这个过程中有两个问题需要思考,一是相机坐标系中的物体如何与真实世界坐标系中的物体进行对应,二是如何校正镜头的各种畸变。相机标定就是解决这两个问题的方法。通过标定可以获得相机的内部参数与外部参数,不但能建立图像与世界的联系,还能校正图像的畸变。 13.1 立体视觉的基础知识使用Halcon开发立体视觉算法,可以获取检测对象的三维坐标信息,实现测量、姿态估计,或者进行三维重建。 13.1.1 三维空间坐标在开发立体视觉算法之前,首先应对相机进行标定,特别是一些对测量精度要求高的任务,标定尤为重要。而标定的意义在于将二维图像中的点与三位空间中的真实物体所处的点坐标关联起来。 13.1.2 3D位姿在Halcon中,可以使用create_pose算子创建3D位姿。 13.2 相机标定如果要从图像中获取准确的三维世界的真实信息,用于测量或者定位等,则首先必须对相机进行标定校准。相机的标定可以建立二维图像中的点与三维空间中的点的对应关系。 13.2.1 相机标定的目的和意义相机标定是机器视觉的基础,标定结果的好坏直接决定了机器视觉的系统精度,作用可见一斑。 Halcon支持两种类型的镜头标定,一种是类似于人眼的针孔相机模型的镜头,另一种是远心镜头。 (1)普通光学镜头成像模型是小孔成像 针孔相机模型是理想的透视模型,其会因为透视的关系得到近大远小的图像,也会因为镜头的偏差产生畸变,即几何失真。几何失真是从图像中心到边缘的一种变形,越靠近边缘,变形会越严重。 远心镜头则不会因为镜头移动而产生透视误差,图像大小不会受到拍摄距离的影响,在固定的成像距离范围内,其放大率一致且畸变极小。 13.2.2 标定的参数
13.2.3 准备标定板使用 Halcon进行标定的步骤一般如下 gen_caltab(::XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile 😃 算子来制作一个标定板 13.2.4 采集标定图像过程中与操作细节~ 13.2.5 使用Halcon标定助手进行标定13.2.5 使用halcon算子进行标定~ 13.2.6 使用自定义的标定板~ 13.3 双目立体视觉如果无法通过二维平面完成检测任务,如检测目标的表面高度,则可以考虑使用双目视觉进行测量。 13.3.1 双目立体视觉的原理基于双目立体视觉的深度相机类似人类的双眼,和基于TOF、结构光原理的深度相机不同,它不对外主动投射光源,完全依靠拍摄的两张图片(彩色RGB或者灰度图)来计算深度,因此有时候也被称为被动双目深度相机。比较知名的产品有STEROLABS 推出的 ZED 2K Stereo Camera和Point Grey 公司推出的 BumbleBee。 1、首先需要对双目相机进行标定,得到两个相机的内外参数、单应矩阵。 视频介绍:[youtube搬运]ZED双目摄像头 - World of Depth 13.3.2 双目相机的结构13.3.3 双目立体视觉相机的标定双目相机的内部参数的标定与常规的单目相机标定方法相同,二者的区别主要在于外部参数即两个相机之间的相对位置关系 13.3.4 校正立体图形对标定结束后,可以使用双目相机拍摄被测物体。 13.3.5 获取视差图binocular_disparity(ImageRect1, ImageRect2 : Disparity, Score : Method, MaskWidth, MaskHeight, TextureThresh, MinDisparity, MaxDisparity, NumLevels, ScoreThresh, Filter, SubDisparity : ) 13.3.6 计算三维信息disparity_image_to_xyz(Disparity : X, Y, Z : CamParamRect1, CamParamRect2, RelPoseRect : ) 13.3.7 多目立体视觉多目立体视觉使用两个以上的信息,可以呈现更多的视角,不仅能反应物体的表面信息,甚至还能还原整个三维场景。 13.4 激光三角测量使用立体视觉进行三维重建,适用于测量范围比较大的场合,精度不够高。如果需要进行近距离的精确测量,可以使用sheet-of-light技术,又称激光三角测量或者片光技术。使用这种方式进行三维重建,精度可以达到非常高的级别,但是需要额外的硬件进行配合。 13.4.1 技术原理
13.4.2 使用Halcon标准标定板标定sheet-of-light(1)标定相机
13.4.3 使用sheet-of-light进行测量~ 13.5 DEF方法DFF( Depth from Focus,焦距深度)是一种使用在不同焦距下拍摄的图像来重建3D表面信息的方法。该方法使用的是一种称为“Z轴图像”的采集图。Z轴是相对垂直于图像平面的,可以用于表现物体的深度。该方法通过调整相机在Z轴上的位置,获取被拍摄物在不同Z轴位置的图像样本序列。 DEF方法的具体操作步骤如下: DEF方法比立体视觉或者 sheet-of-light方法获得的精度还要高,只需要单个相机就可以完成,但该方法需要用到远心或者微距镜头,以实现几乎平行于拍摄面的投影,所以只适合较小的物件如半导体器件等。 除了使用 Halcon提供的方法外,还可以使用其他方式,如直接使用传感器设备(如可测深度的摄像头)测量图像的深度,也可以获取拍摄对象的深度图像。 |
|