技术领域
[0001] 本发明涉及立体匹配技术领域,尤其是涉及一种基于融合匹配代价的波浪图像匹配方法。
相关背景技术
[0002] 目前,对于海况的监测,尤其是对于波浪的测量,已经开发出了多种技术,包括浮标法,卫星遥感技术,压力传感器测波高法等。然而,传统的波浪测量方法对于不同的测量场景不具有普适性,比如浮标测波法作为接触式测量方法会受到浪涌干扰,卫星遥感技术又只适合大面积的实海波浪测量,且存在测量设备安装困难和造价高等缺点,现有技术中存在半透明的波浪图像纹理特征弱,易受光照影响,导致其立体匹配困难,误匹配率高的问题,所以亟需一种既适合实验室测波也适合实海测波的方法。
[0003] 因此,有必要提供一种基于融合匹配代价的波浪图像匹配方法,来解决上述问题。
具体实施方式
[0065] 以下通过附图和实施例对本发明的技术方案作进一步说明。
[0066] 除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
[0067] 本发明中使用的“包括”或者“包含”等类似的词语意指在该词前的要素涵盖在该词后列举的要素,并不排除也涵盖其它要素的可能。术语“内”、“外”、“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。在本发明中,除非另有明确的规定和限定,术语“附着”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0068] 如图1所示,本发明提供了一种基于融合匹配代价的波浪图像匹配方法,包括以下步骤:
[0069] S1:利用双目相机采集波浪的左右目图像,确定视差范围;在步骤S1中,具体包括以下步骤:
[0070] S11:根据双目相机的基线距离确定拍摄的波浪面积,波浪区域的拍摄宽度不大于双目相机基线距离的10倍;
[0071] S12:根据双目相机的基线距离,镜头的焦距和相机距离拍摄目标的距离确定视差范围,参数间的关系为:
[0072]
[0073] 其中,D为波浪与相机间的距离,d为视差,B为相机基线距离,f为相机焦距,xol和xor分别为像主点在左右视图的x坐标。
[0074] S2:对步骤S1中采集到的原始波浪的左右目图像进行预处理;在步骤S2中,图像预处理包括畸变校正和立体校正,具体步骤如下:
[0075] S21:畸变包括径向畸变和切向畸变,畸变校正模型表示如下:
[0076]
[0077] 其中, 为畸变后的归一化图像坐标,(x,y)为无畸变的归一化的图像坐标,r2 2 2
为图像像素点到图像中心点的距离,r=x +y,k1、k2、k3均为径向畸变系数,p1、p2均为切向畸变系数;
[0078] S22:立体校正根据对极几何原理,将左右目图像同点名校正到同一水平极线上,同点名为立体匹配方向的名词。
[0079] S3:使用改进后的Census算法获得波浪图像的匹配代价值;步骤S3中具体包括以下步骤:
[0080] S31:选择固定大小为5×5的矩形窗口,对校正后的图像进行遍历;
[0081] S32:将窗口内的邻域像素与中心像素灰度值进行比较:
[0082] 若邻域像素q不小于中心像素p,标记为1;
[0083] 若邻域像素q小于中心像素p,则标记为0;
[0084] 全部比较结束后,得到长度为25的由0和1组成的二进制序列,表示为:
[0085]
[0086] 其中,Bs(p)表示中心像素p经窗口变换生成的比特串,Np表示像素p的邻域,I(p)和I(q)分别为p和q的像素值,ξ为定义为将邻域像素与中心像素进行比较的运算符号;
[0087] S33:将左右目图像的中心像素窗口变换值Bs(p)按位进行异或运算,得到新的长度为25的比特串CB(p1,p2),p1为左目图像的中心像素,p2为右目图像的中心像素;
[0088] S34:设置阈值Ta等于8,阈值Tb等于12,将I(p)与I(q)的绝对值分别与阈值Ta和阈值Tb进行比较,根据比较结果确定比特串CB(p1,p2)中各位的权重系数,比较公式如下:
[0089]
[0090] 其中,ω为权重系数,|I(p)‑I(q)|为I(p)‑I(q)的绝对值;
[0091] S35:将比特串CB(p1,p2)与权重系数按位加权相乘求和,得到改进Census的匹配代价CCensus(p,d)。
[0092] S4:融合改进的Census代价、AD代价和梯度代价,得到代价空间;步骤S4中具体包括以下步骤:步骤S4中具体包括以下步骤:
[0093] S41:将AD代价、改进的Census代价和梯度代价的范围均归一化到[0,1]之间,具体公式如下:
[0094]
[0095] 其中,c为代价值,λ为权重比例;
[0096] S42:对归一化的AD代价、改进的Census代价和梯度代价值进行融合,融合公式为:
[0097] C(p,d)=ρ(Cgrad(p,d),λgrad)
[0098] +ρ(CAD(p,d),λAD)
[0099] +ρ(CCensus(p,d),λCensus)
[0100] 其中C(p,d)为融合之后的最终代价;ρ(Cgrad(p,d),λgrad)为梯度代价;ρ(CAD(p,d),λAD)为AD代价;ρ(CCensus(p,d),λCensus)为改进的Census代价;
[0101] S43:逐像素逐视差的重复步骤S3和步骤S4,得到代价空间。
[0102] S5:采用十字交叉域进行代价聚合;步骤S5中,代价聚合的具体步骤如下:
[0103] S51:设置颜色阈值和距离阈值,确定单个像素的水平臂长和垂直臂长;
[0104] S52:对所有像素,将其水平臂上的像素代价值相加,存储为临时值;
[0105] S53:对所有像素,沿其竖直臂将上一步存储的临时值相加,得到单个像素最终的聚合代价值Cs(p,d)。
[0106] S6:使用赢家通吃WTA策略计算波浪图像的视差;步骤S6中,采用赢家通吃WTA策略,选取单个像素的最终聚合代价值Cs(p,d)最小时对应的视差d作为初始视差,构建左目图像的初始视差图。
[0107] S7:对步骤S6中的视差图进行左右一致性检查,并进行空洞填充和子像素优化处理。步骤S7中,具体包括以下步骤:
[0108] S71:采用左右一致性检测对视差图中错误匹配点和遮挡点进行处理,具体包括以下步骤:
[0109] S711:按照步骤S6的方法计算出右图视差图;
[0110] S712:对比左、右视差图对应点的视差值:
[0111] 若差值大于设定的阈值,认为该点的视差是异常的,予以剔除;
[0112] S72:空洞填充具体包括,计算视差图中空洞区域附近视差值的均值,将其作为空洞区域的新视差值;
[0113] S73:进行子像素优化,得到波浪立体匹配最终视差图。
[0114] 实施例
[0115] 本方案实施过程分为三个部分
[0116] 第一部分:视差的确定和畸变系数的获取。
[0117] 确定拍摄左右波浪图像的双目相机的各个参数,包括基线距离B,镜头焦距f,感兴趣的波浪区域面积以及其与相机间的距离D,各参数间的关系为:
[0118]
[0119] 其中,d为视差,xol和xor分别为像主点在左右视图的x坐标。据感兴趣区域距离相机的最近和最远距离,即可确定需要输入的最大视差和最小视差。
[0120] 利用matlab的stereoCameraCalibrator工具箱,输入20张左右标定图像和标定板棋盘格尺寸以及角点个数,得到标定结果。当标定误差小于0.1个像素时,认为标定结果正确。标定结果中包含畸变校正和立体校正所需的所有数据。
[0121] 图像预处理需要根据标定结果来开展,用Opencv中的校正函数对左右图像进行畸变校正和立体校正。
[0122] 第二部分:Census匹配代价的改进。
[0123] 对校正后的图像进行代价计算,先进行改进的Census代价计算,再将其与AD代价和梯度代价相融合。
[0124] 如图2‑图3所示,不同于传统Census代价计算方法直接将汉明距离作为代价值,改进的Census方法引入窗口邻域的权重矩阵,矩阵大小为5×5,对异或结果按位乘权重系数作为代价值。
[0125] 若窗口内某邻域像素与中心像素差的绝对值介于阈值Ta和Tb之间,则说明该点大概率不是真正的视差不连续点,并且所选取的矩形窗口不适用于该点,则通过将其权重系数增大到|I(p)‑I(q)|的方式来增大其代价,降低误匹配的概率。
[0126] 窗口内,除邻域像素与中心像素差的绝对值介于阈值Ta和Tb之间的点外,其余点的权重系数均设置为1,保证真正的视差不连续点仍能够正常匹配。
[0127] 如图3所示,窗口内虽然包含异常点,但是异常点的异或结果为0,此时改进的Census方法与传统方法计算得到的代价值相等。
[0128] 第三部分:三种代价的融合。
[0129] 针对不同的波浪图像,根据波浪纹理的强弱和视差不连续区域面积的大小,动态调节改进Census代价,AD代价和梯度代价的融合比例,使本发明能够适用于不同场景下波浪图像的匹配。
[0130] 因此,本发明采用上述一种基于融合匹配代价的波浪图像匹配方法,解决了波浪图像视差图容易有大量无效点和误匹配点的问题,提高了波浪立体匹配的正确率,保证了深度不连续区域的匹配精度。
[0131] 最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。