基于镀膜式多光谱相机的立体视觉系统及其标定测距方法与流程

文档序号:16326446发布日期:2018-12-19 05:57阅读:355来源:国知局
基于镀膜式多光谱相机的立体视觉系统及其标定测距方法与流程

本发明涉及一种多光谱双目视觉系统,具体地涉及一种基于镀膜式多光谱相机的立体视觉系统以及测距方法。

背景技术

立体视觉相机尤其是双目相机是一种用途广泛的设备,其能够根据双目视差的原理计算出所拍摄物体相对于相机的三维空间位置。此类设备目前已被广泛应用于生产线检测、车辆主动安全、无人驾驶、三维扫描等领域。

在利用双目相机实现双目测距的过程中,左右视图的特征提取和匹配是决定测距精度的重要因素。现有的双目相机多是基于普通ccd或cmos传感器获取黑白/彩色的高清图像,并通过各种形式的立体匹配算法进行视差信息获取。此类系统存在的问题是当目标和背景颜色、纹理相似时,目标的轮廓难以区分,特征点提取困难,从而造成视差图计算出现错误,影响测距能力。在视频监控、无人驾驶中,此类场景常体现在行人服装、车辆的颜色与背景颜色相似;在军用中,此类场景常见于目标采用了伪装涂料或伪装布的情况,在彩色图像中与背景发生混淆;在其他领域也可能存在此类前景背景难以利用颜色区分的情况。

为了在这些复杂场景下保证立体视觉测量的准确性,需要借助彩色图像之外的其他波段提高前景和背景的区分能力,采用多光谱探测器就是很好的选择。如美国的“勇气号”火星探测器曾携带多光谱双目相机,其通过滤光片轮转动的方式分时获取不同波段的图像,实现对静态岩石地貌的多光谱立体测绘。但是,这类系统无法实时成像,难以满足运动目标或运动平台的立体测距需求。



技术实现要素:

为了解决现有双目视觉相机在目标和背景颜色相似的情况下难以有效提取特征,进而导致视差图计算误差大、测距精度低的问题,本发明提供了一种基于镀膜式多光谱相机的立体视觉系统以及该系统的标定方法及利用该系统实现测距的方法。

随着多光谱成像技术的发展,目前市面上的视频级多光谱相机可以实现多波段实时成像,其中一种视频级多光谱相机是在探测器上进行马赛克镀膜(类似彩色探测器的bayer镀膜)。本发明利用该类镀膜式视频级多光谱相机搭建了立体视觉系统,但是由于镀膜式视频级多光谱相机获取的原始图像是经过了马赛克编码的,因此图像表面存在网格状的马赛克现象。在进行相机内外参数标定以及视差图计算时都不能直接使用传统的立体视觉算法。因此,本发明基于该系统还设计了相机标定和测距算法。

本发明的技术解决方案是提供一种基于镀膜式多光谱相机的立体视觉系统,其特殊之处在于:包括多光谱立体相机及与多光谱立体相机相连的计算机;

多光谱立体相机用于获取多光谱双目图像il和ir;

计算机上存储有多光谱双目测距算法程序,上述计算机执行所述多光谱双目测距算法程序时实现以下步骤:

步骤一:对两幅多光谱双目图像il和ir进行极线校正;获取两幅满足极线约束的多光谱双目图像il1和ir1;

步骤二:对多光谱双目图像il1和ir1分别进行辐射校正,获得多光谱双目图像il2和ir2;

步骤三:对多光谱双目图像il2和ir2分辨率复原,将探测器单通道原始图像采用小波变换的泰勒级数近似估计方法复原为分辨率保持不变的具有多个谱段的多通道图像;

步骤四:提取步骤三复原后多光谱双目图像中的光谱信息和结构信息;

步骤五:基于步骤四提取的光谱信息和结构信息,利用现有算法计算视差空间图(dsi),并采用半全局匹配(sgm)的方法进行视差传播;

步骤六:利用winner-take-all的策略获取视差图,并进行左右交叉验证去除错误点,利用周边区域生长的方式填补视差图中的空洞并进行引导滤波优化;得到处理后的视差图;

步骤七:基于步骤六计算出的视差图,以及标定得到的多光谱相机内参数以及系统外参数,可以利用投影公式计算出对应场景点的(x,y,z)坐标。

进一步地,多光谱立体相机包括系统外形框架、置于系统外形框架内部的图像采集电路板、两台马赛克镀膜式多光谱探测器及两组镜头;

两组镜头分别安装在两台马赛克镀膜式多光谱探测器上,构成两台多光谱相机;

两台多光谱相机的光轴平行且共面,其安装位置满足双目测距原理要求的相机安放位置关系;

图像采集电路板与两台马赛克镀膜式多光谱探测器连接,用于向两台马赛克镀膜式多光谱探测器发送同步采集信号,并收集整合两台马赛克镀膜式多光谱探测器传回的图像数据,通过协议接口发往后端的计算机。

马赛克镀膜式光谱探测器是本系统的核心组件,其探测器像元上间隔的镀有不同谱段的纳米级滤光膜,因此能够在一次曝光下对场景进行多谱段实时成像。这种探测器由bayer插值的彩色ccd/cmos发展而来。

系统外形框架的主要作用一方面在于容纳马赛克镀膜式多光谱探测器以及图像处理板,另一方面在于固定两台马赛克镀膜式多光谱探测器的相对位置,使其满足双目测距原理要求的相机安放位置关系,并保持相对位置关系不变,避免每次使用时都要进行标定。系统外形框架的设计可以根据马赛克镀膜式多光谱探测器的选型进行调整,原则是保持两台马赛克镀膜式多光谱探测器安装牢固、视场基本平行、且具有一定长度的基线。

进一步地,上述步骤三即马赛克多光谱复原具体为:

3.1)、计算多光谱双目图像il2和ir2的无网格图像il3和ir3;

3.2)、使用梯度算子计算图像il3和ir3中每个像素的梯度强度;

3.3)、从图像il3和ir3中分别提取第一个谱段对应的所有像素点,将所有不属于第一个谱段像素点的像素值置零,将被置零的像素点作为待插值像素点;

3.4)、对于一个待插值像素点,计算其与附近各个非零像素连线上的最大梯度,作为其与该非零像素之间的梯度,并在后续插值时依次计算权重;

3.5)、将步骤3.4)计算得到的每个非零像素的梯度强度的倒数作为权重,对该待插值像素点进行加权平均插值,插值后除以所有权重的和进行归一化;

3.6)、对图像il3和ir3的每一个谱段的每一个待插值像素分别进行步骤3.3)-步骤3.5)的操作;获得图像il3和ir3所有谱段的分辨率复原结果。

本发明还提供一种上述的基于镀膜式多光谱相机的立体视觉系统的标定方法,包括以下步骤:

步骤a、标定图像的采集过程;标定图像的采集过程和传统方法类似,可以使用棋盘格标定板作为标定靶标。一般来说,标定板的尺寸应该满足其在成像时占据至少一半视场,并能够在两侧图像中同时可见。利用系统采集不同姿态角度的至少7对标定板图像。

由于原始图像是由不同谱段交错组成,因此图像具有明显的网格现象(或称马赛克现象),这对于标定时候的角点提取是不利因素。本发明通过下述步骤从原始图像中提取无网格的灰度图像。

步骤b、对两台多光谱相机采集的原始图像分别进行小波去网格操作,获得两幅视图的去网格图像;

步骤c、基于获取的两幅视图的去网格图像,对两台多光谱相机进行标定,获得两台多光谱相机的内参数(焦距、主点位置、畸变系数等)和基于镀膜式多光谱相机的立体视觉系统的外参数(两台相机之间的旋转和平移);标定参数计算方法和传统的可见光双目相机标定参数计算方法一致,通过提取棋盘格的角点可以计算出系统的基础矩阵,从而计算出各项参数。

步骤d、进行基于白板的辐射度定标,得到两台多光谱相机的各个谱段的相对辐射系数。

进一步地,上述步骤b)具体为:

b1)、使用小波对原始图像进行三级小波变换,得到各个级别的水平方向、竖直方向以及对角线方向的小波变换图像;

b2)、将水平方向和竖直方向的小波变换图像中所有像素值置零;

b3)、利用同样的小波基对b2)中得到的小波变换图像进行小波反变换重构原始图像,即可获得去除网格现象的图像。

进一步地,上述步骤d)具体为:

d1)、在常规光照环境下,分别用两台多光谱相机采集标准反射率白板图像;

d2)、分别提取两幅拍摄图像中各个谱段对应像素点的值并进行平均,得到两组白板的平均光谱辐射向量;

d3)、分别将两组向量归一化,得到两台多光谱相机的辐射校正系数向量。

本发明还提供一种利用上述的基于镀膜式多光谱相机的立体视觉系统实现测距的方法,包括以下步骤:

步骤一:拍摄两幅原始图像il和ir;根据系统标定过程得出的多光谱相机的内外部参数对两幅原始图像il和ir进行极线校正;获取两幅满足极线约束的多光谱双目图像il1和ir1;根据相机参数和具体应用场景,设置视差搜索范围[dmin,dmax];

步骤二:根据系统标定过程得出的辐射校正系数向量对多光谱双目图像il1和ir1分别进行辐射校正,获得多光谱双目图像il2和ir2;由于本发明采用光谱特征作为立体匹配的重要线索,因此需要保证左右多光谱相机采集到的光谱信息对于同一目标具有一致性。因此,首先需要对左右光谱图像进行辐射度校正以消除左右多光谱相机内部差异引起的图像不一致;

步骤三:对多光谱双目图像il2和ir2分辨率复原,将探测器单通道原始图像采用小波变换的泰勒级数近似估计方法复原为分辨率保持不变的具有多个谱段的多通道图像;该步骤类似于彩色图像复原,但是由于多光谱马赛克探测器具有的谱段数量一般大大多于3个而且排列方式不同,因此简单的彩色复原算法不能直接用于多光谱图像上,本发明采用小波变换的泰勒级数近似估计方法,从经过小波变换后的原始图像出发,利用原图像的空间信息引导单谱段图像的空间分辨率恢复。

步骤四:提取步骤三复原后多光谱双目图像中的光谱信息和结构信息;其中,光谱信息为当前像素点的光谱向量;计算结构信息时,首先对该区域不同波段上的结构复杂度进行评价,选择出结构特征最明显的波段,然后采用census描述子进行结构提取。

步骤五:基于步骤四提取的光谱信息和结构信息,利用现有算法计算视差空间图(dsi),并采用半全局匹配(sgm)的方法进行视差传播;

在预先设定的视差范围内,分别计算左右两幅图像对应点的光谱特征和结构特征差异(谱段选择以其中一个视图为基准)并进行非线性组合计算匹配代价,可以形成视差空间图。视差空间图为三维,前两维对应图像的空间坐标,第三维的每一层都是在某一视差假设下,左右图像对应点的匹配代价。在获得视差空间图后进行半全局匹配优化,将局部特征计算得到的代价信息进行半全局的传播,从而提高整体图像匹配的准确性。该步骤采用现有的半全局匹配方法(semiglobalmatching,sgm)进行。

步骤六:利用winner-take-all的策略获取视差图,并进行左右交叉验证去除错误点;利用周边区域生长的方式填补视差图中的空洞;引导滤波优化后得到处理后的视差图;该步骤是视差提精后处理。该步骤包括左右视图交叉验证、空洞填充以及引导滤波优化。左右视图交叉验证用于剔除错误匹配的点,空洞填充用于对均匀视差区域内部进行填补,引导滤波利用图像的轮廓信息进一步提高视差计算的整体准确性。

步骤七:基于步骤六计算出的视差图,以及标定得到的多光谱相机内外参数,可以利用投影公式计算出对应场景点的(x,y,z)坐标。

进一步地,上述步骤二包括暗电平去除以及白板辐射校正过程;

暗电平去除的方法是用原始图像il和ir减去采集的暗电平图像;白板辐射校正是用去掉暗电平的图像除以各个谱段的相对辐射系数。

本发明的有益效果是:

1、具备多波段的目标/背景分辨和测距能力

本发明搭建了具有多波段感知能力的多光谱立体视觉系统,该系统能够在彩色相机无法区分目标的场景下利用其他波段提取目标和背景的光谱、结构特征,从而实现复杂环境的立体测距。

2、能够进行运动场景的多光谱立体测距

不同于传统的基于滤光片轮等设备的多光谱立体视觉系统,本系统采用了马赛克镀膜式的视频级多光谱探测器,能够实时获取多光谱图像,结合本发明提出的多光谱图像复原算法,可以实现对运动目标的多光谱立体测距,同时也可以搭载于移动平台上实现运动中的测距。

3、提供了一种多光谱马赛克图像复原的方法

本发明提供了一种基于小波变换的多光谱马赛克图像复原方法。利用小波变换去除原始图像网格,恢复图像中场景结构,进而以这个图像作为引导图对多光谱马赛克图像进行加权插值复原。其在视频多光谱数据上的复原效果优于传统的彩色图像复原方法。

4、算法易于实时化

本发明设计的多光谱图像复原算法以及立体匹配算法,其计算过程均为局部窗口计算,且图像全局范围内的计算可以并行处理。半全局匹配优化过程中,每个方向的信息传播计算为串行,但是垂直于传播方向上的像素代价优化可以并行计算,并且8个方向的计算可以并行进行。算法后处理中的引导滤波已有公开的快速实现算法,因此该步骤也可以进行硬件并行加速计算。综上,本算法计算复杂度低、并行度高,适合使用gpu或fpga实现实时化。

5、将census描述子和特征谱段选择相结合,在结构信息最丰富的谱段提取描述子,增强了特征提取的鲁棒性和特征匹配的准确性。

附图说明

图1为基于镀膜式多光谱相机的立体视觉系统的硬件组成示意图;

图2为基于镀膜式多光谱相机的立体视觉系统的总体算法流程图;

图3为马赛克镀膜式多光谱探测器的原理;

图4a为获取的原始图像;

图4b为小波去网格后的图像(局部);

图5为多光谱图像复原过程示意图;

图6a及图6b为采集的一对多光谱双目图像;

图7为用彩色相机拍摄的相同场景图像;

图8为根据多光谱双目图像计算得到的视差图对坦克模型的测距结果(单位cm,真值为400)。

具体实施方式

以下结合附图及具体实施例对本发明作进一步的描述。

在本发明中,多光谱探测器的波段选择可以根据具体应用场景进行确定。例如,在进行伪装目标的双目测距时,多光谱的作用主要体现在区分绿色伪装网和绿色植被,因此所选取的谱段应包括660nm~900nm之间的近红外波段。本发明所提出的相机标定方法和测距算法适用于任何波段选择方案。

从图1可以看出,本实施例所涉及的基于镀膜式多光谱相机的立体视觉系统包括传感器硬件部分(多光谱立体相机)及匹配算法软件两部分。

一.硬件部分

硬件系统由系统外形框架(本实施例中示例性的给出一种长条形的系统框架设计方式)、两台马赛克镀膜式多光谱探测器、两组镜头、一个图像采集电路板以及相关线缆构成。按照如下步骤将其装配为多光谱立体相机。

步骤1:选用两款同样型号的马赛克镀膜式多光谱探测器,其成像方式均为片上马赛克镀膜式,包含的光谱谱段完全相同。本实施例所选取的多光谱探测器目前在国际上属于新型技术,较成熟产品是比利时imec研究机构与德国ximea公司合作生产的镀膜式多光谱探测器。其信号输出接口为usb接口或其他通用数字图像接口,将两组镜头分别安装于两台多光谱探测器上,构成多光谱相机1和多光谱相机2。

步骤2:按照图1所示,将多光谱相机1和多光谱相机2安装在系统外形框架中,在安装过程中,调整多光谱相机的方向,使两个多光谱相机光轴基本处于平行共面。多光谱相机与外形框架采用螺钉连接,保证稳固性。

步骤3:按照图1所示,安装图像采集电路板,将多光谱相机1和多光谱相机2的信号输出接口安装于图像采集电路板预留的图像输入接口(例如usb3.0)上,将图像采集电路板的触发电平线分别与多光谱相机1和多光谱相机2的外触发接口连接。配置板载fpga芯片,按照一定的帧频同时向多光谱相机1和多光谱相机2发送外触发电平信号。

步骤4:将图像采集电路板的输出端(例如千兆网)与后处理的计算机相连接,配置相应的采集软件进行双目图像同步采集,采集到的图像作为多光谱双目测距算法的输入信息进行处理。

二.系统标定部分

作为本发明实现步骤的一部分,在进行多光谱测距之前,需要对多光谱双目系统的参数进行标定。其包括标定图像采集、图像去网格、标定参数计算几步。

步骤1:对于基于镀膜式多光谱相机的立体视觉系统的标定可以用采集棋盘格标定板不同角度和距离的图像的方法进行。一般来说,标定板的尺寸应该满足其在成像时占据至少一半视场,并能够在两侧图像中同时可见。利用系统采集不同姿态角度的至少7对标定板图像。

若多光谱双目相机涉及红外波段,则需要对棋盘格标定板进行特殊处理,例如在黑色方块上贴敷一层比热较高的黑色材料,例如氧化铝薄膜,从而使得标定板的黑白格在红外波段也能清晰区分。

步骤2:对多光谱相机1与多光谱相机2采集的原始图像分别进行小波去网格操作。

步骤2.1:使用小波分别对两幅原始图像进行三级小波变换,得到各个级别的水平方向、竖直方向以及对角线方向小波变换图像。

步骤2.2:将水平方向和竖直方向的小波变换图像中所有像素值置零。

步骤2.3:利用同样的小波基对其进行小波反变换重构原始图像,即可获得去除网格现象的图像。该图像类似于全色相机拍摄的灰度图片,包含场景的结构和亮度信息。

步骤3:基于左右两个视图的去网格图像,使用成熟的相机标定软件(例如加州理工大学的matlab标定工具箱)进行标定。根据标定工具箱获取双目立体视觉系统的内部和外部参数,包括两台相机的焦距、主点位置、畸变系数、基线长度、相对的平移和旋转关系等参数,根据这些参数,可以结合相机模型对两幅输入图像进行极线校正。

步骤4:进行基于白板的辐射度定标。

步骤4.1:在常规光照(如日光)环境下,分别用系统中的两台多光谱相机采集标准反射率白板图像。要求图像覆盖全视场。

步骤4.2:将拍摄图像中各个谱段对应像素点的值分别提取并进行平均,得到白板的平均光谱辐射向量,向量的长度为谱段数。

步骤4.3:将该向量归一化,具体方法为将向量中的所有元素除以最大的一个元素,得到辐射校正系数向量。

步骤4.4:对左右多光谱探测器拍摄的白板图像分别进行上述操作,分别得到左右多光谱探测器的辐射校正系数向量。

三.匹配算法软件部分

本算法包括极线校正、辐射校正及多光谱图像复原、多光谱特征及结构特征提取、匹配优化、视差提精等几个部分。算法流程如图2所示,具体可按照如下步骤进行实现:

步骤1:搭建基于镀膜式多光谱相机的立体视觉系统,完成系统标定和极线校正,获取两幅满足极线约束的多光谱双目图像,记为il1和ir1。根据相机参数和具体应用场景,设置视差搜索范围[dmin,dmax]。

步骤2:对左右多光谱双目图像il1和ir1分别进行辐射校正,获得多光谱双目图像il2和ir2。方法为将两幅原始图像il和ir的对应谱段分别除以上述白板定标获得的辐射校正系数。具体方法为每个像素的像素值除以该像素位置对应谱段的辐射校正系数,这个系数是上述白板定标所获得的辐射校正系数向量中对应的元素。

步骤3:多光谱图像分辨率复原,将探测器单通道原始图像恢复为具有多个谱的多通道图像且分辨率不变。

步骤3.1:根据系统标定部分步骤2的操作,计算出多光谱双目图像il2和ir2对应的无网格图像(如图4b)。

步骤3.2:使用梯度算子(如sobel算子)计算无网格图像每个像素的梯度强度。

步骤3.3:从无网格的左视图图像中提取第一个谱段对应的所有像素点,具体方法为将所有不属于该谱段像素点的像素值置零,将被置零的像素点作为待插值的像素点;

步骤3.4:对于一个待插值像素点,计算其与附近各个非零像素连线上的最大梯度,作为其与该非零像素之间的梯度,并在后续插值时依次计算权重;

步骤3.5:将步骤3.4计算得到的每个非零像素的梯度强度的倒数作为权重,对该待插值像素点进行加权平均插值,插值后除以所有权重的和进行归一化;

流程如图5所示。

步骤3.6:对第一个谱段的所有待插值像素点进行步骤3.3和步骤3.4的操作。

步骤3.7:对左右视图的每一个谱段分别进行步骤3.3-步骤3.6的操作。这样就可以获得左右视图的所有谱段的分辨率复原结果(光谱数据立方体)。

步骤4:提取光谱和结构特征信息。

步骤4.1:将每个像素点的光谱向量作为当前点的光谱信息。

步骤4.2:对于一个像素点,选取其周围一个区域,计算该区域内每个谱段上的平均梯度强度,选取梯度较强的2-3个谱段提取结构信息。

步骤4.3:在上一步选取的谱段上,提取census描述子。具体方法和传统方法一样。窗口大小设置为15x15。对比窗口内每个点与中心点的灰度值,大于中心点的置为1,否则置为0。这样每个窗口内的图像块可以转化为一个长度为255的二进制描述子,该描述子代表了中心点周围的纹理特征信息。在选取的2-3个谱段分别提取描述子并将其连接。

步骤5:基于上述方法提取的特征描述子,利用现有算法计算视差空间图(dsi),并采用半全局匹配(sgm)的方法进行视差传播,最终利用winner-take-all的策略获取视差图,并进行左右交叉验证去除错误点。这一步骤和现有立体视觉算法完全一致,不在此详述。

步骤6:利用周边区域生长的方式填补视差图中的空洞。以左视图去除网格后的图像作为引导图,对视差图进行引导滤波以完成视差图优化提精。其具体方法和经典的引导滤波方法完全一致,可以利用成熟的快速实现方法完成。在此不详述。

步骤7:基于最终计算出的视差图,以及标定得到的相机内外参数,可以利用投影公式计算出对应场景点的(x,y,z)坐标。该步骤中的计算方式和普通双目相机处理中,从视差图计算场景点坐标的方式完全一致。

一组多光谱双目图像如图6a及图6b所示,可以看出,同样场景下使用彩色相机拍摄的图像中(图7所示),难以根据颜色信息区分目标和背景。基于这组多光谱双目图像计算出的视差图如图8所示。

本发明在实际中的应用

本发明所设计的多光谱双目立体视觉成像系统以及对应的测距算法软件,可以用于各种复杂场景的测距。例如无人驾驶车辆的环境感知;在视频监控数据自动分析;在军用中的伪装涂料或伪装布目标测距分析等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1