发明内容
针对现有影像拼接图亮度不一致问题,本发明提供了一种基于直方图特征点配准的影像匀色与融合方法及系统,能有效改善影像拼接的匀色与融合效果,适用于成像视角大且重叠度较小影像的匀色和融合。
为解决上述技术问题,本发明采用如下的技术方案:
一、基于直方图特征点配准的影像匀色方法,包括步骤:
步骤1,待拼接影像的对比度纠正;
步骤2,对待拼接影像1和2,利用两张影像的掩膜的重叠区域,分别获取待拼接影像的重叠区A′和待拼接影像B的重叠区B′的亮度直方图及对应的累积函数分布图;
步骤3,基于重叠区A′和B′的亮度直方图分别提取直方图极值点;
步骤4,构建反映重叠区A′和B′的直方图极值点间匹配关系的矩阵M=[Mij]m×n,m为重叠区A′的直方图极值点个数,n为重叠区B′的直方图极值点个数,Mij表示重叠区A′的直方图极值点和重叠区B′的直方图极值点间的匹配程度,初始值为重叠区A′的直方图极值点和重叠区B′的直方图极值点间的匹配代价函数值;利用匹配代价函数值判断重叠区A′和B′的直方图极值点间的匹配关系,即,对重叠区A′的直方图极值点,求其与重叠区B′的所有直方图极值点间的匹配代价函数值,在矩阵M中令小于匹配阈值的匹配代价函数值为0;在不小于匹配阈值的匹配代价函数值中,选最小匹配代价函数值对应的直方图极值点对作为匹配点,以匹配点为直方图特征点,并在矩阵M中删除该最小匹配代价函数值所在行和列;若匹配代价函数值均小于匹配阈值,则直方图极值点无匹配点;对重叠区A′的所有直方图极值点逐一执行本步骤;
所述的匹配代价函数 其中,和分别为直方图极值点和对应的亮度频率值,和分别为重叠区A′和B′的直方图极值点;表示和中的较小值,表示和中的较大值,Fmax为重叠区A'和B′的所有直方图极值点对应的亮度频率值的最大值;和分别为直方图极值点和在累计函数分布图中对应的累积亮度频率值,表示与中的较大值;CDFmax和CDFmin分别为重叠区A'和B′的所有直方图极值点在累计函数分布图CDFA与CDFB对应点邻域内累积亮度频率值的最大值和最小值;
步骤5,基于直方图特征点对待拼接影像进行匀色。
步骤2进一步包括子步骤:
步骤2.1,利用影像掩膜获得待拼接影像的重叠区;
步骤2.2,将重叠区由RGB空间转换为HIS空间,对I空间做直方图统计获得重叠区的亮度直方图及相应的累计分布函数图。
步骤3进一步包括子步骤:
步骤3.1,采用一维高斯平滑法处理重叠区的亮度直方图,获得初始直方图极值点;
步骤3.2,在亮度直方图中,按设定间隔选取一系列亮度值,将各亮度值邻域内亮度频率值最大的初始直方图极值点作为最终的直方图极值点。
步骤4中采用 作为判断重叠区A′和B′对应的直方图极值点间的匹配关系的附加条件,即,判断获得的匹配点是否满足 若满足,则为最终的匹配点;否则,直方图极值点无匹配点;其中,和分别为重叠区A′的直方图极值点在累计函数分布图对应点邻域内累积亮度频率值的最大值和最小值,和分别为重叠区B′的直方图极值点在累计函数分布图对应点邻域内累积亮度频率值的最大值和最小值;θ为判定阈值,为经验值。
作为优选,步骤4中采用矩阵消元法重叠区A′和B′对应的直方图极值点间的匹配关系,进一步包括子步骤:
步骤4.1,基于重叠区A′和B′的直方图极值点与对应的亮度频率值与建立亮度频率值与间的大小为m×n的匹配矩阵M;
步骤4.2,对重叠区A′的直方图极值点,分别计算其与重叠区B′的所有直方图极值点的匹配代价函数并逐一判断各匹配代价函数是否小于给定阈值r,阈值r根据经验人为设定;若匹配代价函数小于给定阈值r,执行步骤4.3;否则,执行步骤4.4;
步骤4.3,假设与直方图极值点的匹配代价函数值小于阈值r的重叠区B′直方图极值点编号为j′,则令匹配矩阵M中元素Mij′为0;
步骤4.4,选取最小匹配代价函数值对应的直方图极值点和作为最佳匹配极值点,删除匹配矩阵M中第i行、第j″列元素对匹配矩阵M进行消元;
步骤4.5,对重叠区A′和B′的直方图极值点依次重复步骤4.2~4.3,获得反映直方图极值点与间匹配关系的匹配矩阵。
当步骤3提取的直方图极值点不大于预设的第一数量阈值或步骤4获得的匹配点数量不大于预设的第二数量阈值,利用累积分布函数获得直方图特征点,具体为:1)获取重叠区A′和B′的累计函数分布图的极值点;2)采用相同亮度间隔分别对重叠区A′和B′的累计函数分布图进行采样,使得重叠区A′和B′的累计函数分布图采样点数量相同且一一对应,对应的采样点对即为匹配点;3)对累计函数分布图中采样点,获得其邻域,若邻域内不包含极值点,则保持该采样点;若邻域内包含极值点,则采用邻域内累计亮度频率值最小的点替换该采样点。
步骤5进一步包括:
计算匹配点中两直方图极值点对应亮度值的平均值,使用平均值改正匹配点中直方图极值点的亮度;
和/或,基于匹配点中直方图极值点改正前的亮度值和改正后的亮度值,采用线性插值法改正重叠区内非匹配直方图极值点的亮度值,所述的非匹配直方图极值点为重叠区中除匹配直方图极值点以外的点;
和/或,基于重叠区直方图极值点改正后的亮度值,采用线性内插法改正非重叠区亮度。
二、基于直方图特征点配准的影像融合方法,对匀色后影像进行多波段融合,包括步骤:
步骤1,根据影像掩膜标记区域各像点与影像掩膜边缘的距离d获得影像掩膜标记区域的权重图,即,判断距离是否大于给定阈值,若大于给定阈值,则该像点权重为1;否则,该像点权重为1/d;
步骤2,针对影像分割线标记区域,将亮度改正后影像所属区域像点权重设为1,其他区域像点权重设为0,获得影像分割线标记区域的初始权重图;
步骤3,将影像掩膜标记区域的权重图和影像分割线标记区域的初始权重图相乘获得影像分割线标记区域的最终权重图;
步骤4,依据设定的波段数,按照上述步骤采用逐层降采样的方法获得匀色后影像各波段对应的权重图和影像金字塔,采用权值图融合对应的影像金字塔。
三、基于直方图特征点配准的影像匀色系统,包括:
第一模块,用来待拼接影像的对比度纠正;
第二模块,用来对待拼接影像1和2,利用两张影像的掩膜的重叠区域,分别获取待拼接影像的重叠区A′和待拼接影像B的重叠区B′的亮度直方图及对应的累积函数分布图;
第三模块,用来基于重叠区A′和B′的亮度直方图分别提取直方图极值点;
第四模块,用来构建反映重叠区A′和B′的直方图极值点间匹配关系的矩阵M=[Mij]m×n,m为重叠区A′的直方图极值点个数,n为重叠区B′的直方图极值点个数,Mij表示重叠区A′的直方图极值点和重叠区B′的直方图极值点间的匹配程度,初始值为重叠区A′的直方图极值点和重叠区B′的直方图极值点间的匹配代价函数值;利用匹配代价函数值判断重叠区A′和B′的直方图极值点间的匹配关系,即,对重叠区A′的直方图极值点求其与重叠区B′的所有直方图极值点间的匹配代价函数值,在矩阵M中令小于匹配阈值的匹配代价函数值为0;在不小于匹配阈值的匹配代价函数值中,选最小匹配代价函数值对应的直方图极值点对作为匹配点,以匹配点为直方图特征点,并在矩阵M中删除该最小匹配代价函数值所在行和列;若匹配代价函数值均小于匹配阈值,则直方图极值点无匹配点;对重叠区A′的所有直方图极值点逐一执行本步骤;
所述的匹配代价函数 其中,和分别为直方图极值点和对应的亮度频率值,和分别为重叠区A′和B′的直方图极值点;表示和中的较小值,表示和中的较大值,Fmax为重叠区A'和B′的所有直方图极值点对应的亮度频率值的最大值;和分别为直方图极值点和在累计函数分布图中对应的累积亮度频率值,表示与中的较大值;CDFmax和CDFmin分别为重叠区A'和B′的所有直方图极值点在累计函数分布图CDFA与CDFB对应点邻域内累积亮度频率值的最大值和最小值;
第五模块,用来基于直方图特征点对待拼接影像进行匀色。
四、基于直方图特征点配准的影像融合系统,包括:
第六模块,用来根据影像掩膜标记区域各像点与影像掩膜边缘的距离d获得影像掩膜标记区域的权重图,即,判断距离是否大于给定阈值,若大于给定阈值,则该像点权重为1;否则,该像点权重为1/d;
第七模块,用来针对影像分割线标记区域,将亮度改正后影像所属区域像点权重设为1,其他区域像点权重设为0,获得影像分割线标记区域的初始权重图;
第八模块,用来将影像掩膜标记区域的权重图和影像分割线标记区域的初始权重图相乘获得影像分割线标记区域的最终权重图;
第九模块,用来依据设定的波段数,按照上述步骤采用逐层降采样的方法获得匀色后影像各波段对应的权重图和影像金字塔,采用权值图融合对应的影像金字塔。
与现有技术相比,本发明具有以下优点和有益效果:
能对大视角、近距离色差较大的影像进行色调差异处理,能自动消除多张影像重叠区域内以及非重叠区的色调差异,达到影像局部区域色调均衡与拼接后街景的全景影像整体色调均衡的效果。
具体实施方式
本发明采用一种基于直方图特征点配准的匀色方法解决影像拼接时的色调差异问题,该方法根据影像亮度直方图特征提取直方图极值点,并采用一维高斯平滑抑制亮度直方图局部噪声点;同时,使用匹配代价函数对匹配矩阵M消元的方式构建直方图极值点间的匹配关系,并以匹配的直方图极值点作为直方图特征点。利用直方图特征点,采用影像重叠区的直方图特征点对应亮度值修正影像亮度。
为了更好的理解本发明技术方案,下面将结合附图对本发明做进一步说明。本发明方法具体流程见图1~4,具体步骤如下:
步骤1,待拼接影像自动对比度纠正。
本步骤可对单张待拼接影像逐一进行自动对比度纠正,也可以对待拼接影像进行批量自动对比度纠正。采用伽马(Gamma)校正方法提高待拼接影像亮度,使用自动对比度纠正法改善待拼接影像局部色差,具体步骤如下:
步骤1.1,在RGB色彩空间对待拼接影像做直方图统计,得到R通道、G通道和B通道的色彩空间直方图。
步骤1.2,根据色彩空间直方图进行对比度修正。
设定需要修正对比度的百分比,分别取R通道、G通道和B通道亮度级的最小部分c%位置和最大部分c%位置对应的灰度值Rmin、Rmax、Gmin、Gmax、Bmin和Bmax,获得待拼接影像亮度自动对比度区间[Vmin,Vmax],区间计算方式如下:
Vmin=min(Rmin,Gmin,Bmin), (1)
Vmax=max(Rmax,Gmax,Bmax), (2)
本实施实例中c%=0.1%。
将待拼接影像中所有像素的R、G和B值做自动对比度纠正,纠正方法如下:
其中,R′、G′和B′分别表示对比度纠正后的R、G和B值。
步骤2,获取待拼接影像的重叠区,计算重叠区的亮度直方图及对应的累计函数分布图。
利用影像掩膜,获取待拼接影像的重叠区,对重叠区影像做彩色空间转换,获得重叠区的亮度直方图及其相应的累计函数分布图(CDF)。
本步骤进一步包括子步骤:
步骤2.1,采用影像掩膜获得待拼接影像的重叠区。
影像掩膜是以影像边缘为分界线,用以标记影像区域所属范围。图5为本实施实例中两幅原始影像及其掩膜图,影像1和影像2分别为两幅原始影像经配准和变形改正后得到的影像,即待拼接影像,图6(a)和图7(a)分别为利用两幅影像掩膜获取的影像1和影像2的非重叠区A和B,图6(b)和图7(b)分别为影像1和影像2的重叠区A'和B'。
步骤2.2,获取重叠区的亮度直方图H及其相应的累计函数分布图CDF。
将影像重叠区A′和B′由RGB空间转换为HIS空间,并对I空间做直方图统计得到重叠区的亮度直方图H以及相应的累计分布函数图CDF。亮度分量I的直方图用于表征重叠区内各影像的色调变化情况。
图8(a)为图6(b)中影像1重叠区A′的亮度直方图HA,图8(b)为图7(b)中影像2重叠区B′的亮度直方图HB,图8(c)为图8(a)中亮度直方图HA对应的累计函数分布图CDFA,图8(d)为图8(b)中亮度直方图HB相应的累计函数分布图CDFB。
步骤3,基于重叠区的亮度直方图提取直方图极值点。
直方图极值点提取流程参见图2,本实施实例结果参见附图9,具体包括以下子步骤:
步骤3.1,采用一维高斯平滑方法对重叠区的亮度直方图进行平滑处理,抑制亮度直方图的局部噪声点,获得亮度直方图中的初始极值点,一维高斯平滑处理后的结果见图9(a)和9(b)。
步骤3.2,为避免亮度直方图局部区域初始极值点多峰值集中,在亮度直方图中采用局部窗口抑制法对初始极值点进行抑制。
按照初始极值点对应亮度值从小到大,取初始极值点Pi对应亮度值Li邻域[Li-t,Li+t],将邻域[Li-t,Li+t]内亮度频率值Fl最大时对应的初始极值点Pl作为最终亮度直方图极值点,经上述处理,得到最终极值点其中t为预设经验值,本实施实例中t=3。图9(e)为直方图多峰值抑制示意图。
采用本步骤可获得亮度直方图HA和HB中的直方图最终极值点与其中,m为亮度直方图HA中极值点个数,i表示亮度直方图HA中极值点编号;n为亮度直方图HB中极值点个数,j表示亮度直方图HB中极值点编号。
步骤4,根据直方图极值点对应的亮度频率值构建亮度直方图极值点间匹配关系。
基于直方图极值点与对应的亮度频率值与建立亮度频率值与间的匹配矩阵M,匹配矩阵M大小为m×n,具体形式如下:
其中,m为亮度直方图HA中直方图极值点个数,n为亮度直方图HB中直方图极值点个数。
本步骤中基于匹配矩阵M获得直方图极值点间的匹配关系,具体包括子步骤:
步骤4.1,当步骤3提取的最终直方图极值点数量较多,大于预设数量阈值s时,采用直方图极值点处的亮度频率值间的匹配代价函数对匹配矩阵M消元的方式构建直方图极值点匹配关系,具体流程见图3。本具体实施中,将数量阈值s设为3。
匹配代价函数计算公式如下:
其中,和分别为直方图极值点和对应的亮度频率值,表示和中的较小值,表示和中的较大值,Fmax为重叠区A'和B′的所有直方图极值点与对应的亮度频率值的最大值;和分别为直方图极值点和在累计函数分布图中对应的累积亮度频率值,表示与中的较大值,CDFmax和CDFmin分别为重叠区A'和B′的所有直方图极值点与在累计函数分布图CDFA与CDFB对应点邻域内累积亮度频率值的最大值和最小值,图9(f)为CDFmax和CDFmin的确定示意图。
此外,为了使匹配代价函数更稳定,本发明采用公式(8)作为匹配判断的附加条件:
其中,和分别为重叠区A′的直方图极值点在累计函数分布图对应点邻域内累积亮度频率值的最大值和最小值;和分别为重叠区A′的直方图极值点在累计函数分布图对应点邻域内累积亮度频率值的最大值和最小值;θ为判定阈值,为经验值,本具体实施中,取θ=0.02。
对于待匹配直方图极值点和若其匹配代价函数小于给定阈值,且同时满足公式(8),则直方图极值点和为匹配极值点;否则,不匹配。
本步骤基于式(7)~(8)对匹配矩阵M消元,具体包括子步骤:
步骤4.1.1,对影像1的直方图极值点分别计算其与影像2的所有直方图极值点的匹配代价函数j=1,2,…,n,并逐一判断各匹配代价函数是否小于给定阈值r,阈值r根据经验人为设定,本具体实施实例取r=0.2。
若匹配代价函数小于给定阈值r,执行步骤4.1.2;否则,执行步骤4.1.3。
步骤4.1.2,假设与直方图极值点的匹配代价函数值小于阈值r的影像2直方图极值点编号为j′,那么匹配矩阵M中元素Mij′为0,那么公式(6)所示的匹配矩阵M变换如下:
步骤4.1.3,如果匹配代价函数不小于给定阈值r,表明该匹配代价函数对应的直方图极值点匹配,选取最小匹配代价函数值对应的直方图极值点和作为最佳匹配极值点,删除匹配矩阵M中第i行、第j″列元素对匹配矩阵M进行消元。
删除前后的匹配矩阵M如下:
步骤4.1.4,针对影像1的直方图极值点依次重复步骤4.1.1~4.1.3,获得反映直方图极值点与间匹配关系的匹配矩阵。
此时,若匹配矩阵M行数和列数均小于给定阈值k,表明匹配点数量较多,则直方图极值点与达到最佳匹配;若未达到最佳匹配,执行步骤4.2。
假设直方图极值点与为匹配点,对应的亮度值为和即亮度直方图中直方图极值点的横坐标,则亮度值和达到最佳匹配。匹配后的直方图极值点见图9(c)和9(d)。
步骤4.2,当步骤3提取的直方图极值点数量较少,不大于预设数量阈值s,或者步骤4.1获得的匹配点未达到最佳匹配,则表明两幅待拼接影像间亮度差异较大,此时,采用待拼接影像重叠区的累积分布函数构建亮度频率值间的匹配关系,见图3,具体如下:
按亮度等间隔分别对两幅待拼接影像重叠区的累积分布函数进行采样,使得两幅待拼接影像重叠区累积分布函数中采样点数量相同且一一对应。为避免采样点出现在累积分布函数峰值处,通过比较采样点与采样点邻域获得非峰值处的采样点,即直方图特征点;获取影像1和影像2的重叠区累积分布函数的极值点CDFi和CDFj,i=1,2,...,m′,j=1,2,...,n′,m′和n′分别为影像1和影像2的重叠区的累积分布函数极值点数量;设影像1重叠区的累积分布函数的当前采样点CDFA,其对应的亮度值为LCDFA,该当前采样点的亮度值邻域为[LCDFA-ε,LCDFA+ε],ε∈[3,6],若邻域[LCDFA-ε,LCDFA+ε]内不包含极值点CDFi,保持当前采样点不变;若邻域CDFi内包含极值点CDFi,则取该邻域内累计亮度频率值最小的点替换当前采样点,即:
CDF′A=min{cdf|cdf∈[LCDFA-ε,LCDFA+ε]}, (11)
其中,CDF′A为替换后的当前采样点。
当前采样点CDFA或CDF′A在累积分布函数中的横坐标即为其对应的亮度值LCDFA,在对应的亮度直方图HA中亮度值LCDFA对应的纵坐标即为当前采样点的亮度频率值FCDFA。
对影像2重叠区的累计分布函数做同样处理,获得各当前采样点对应的亮度频率值FCDFB,根据影像1和影像2的当前采样点的对应关系,获得亮度频率值FCDFA和亮度频率值FCDFB的对应关系。
本步骤的匹配是对具有重叠区域的任意两两影像进行,这里的影像指对比度纠正后的影像中的待拼接影像。
步骤5,影像亮度改正。
使用匹配点与的亮度值均值分别改正待拼接影像重叠区的极值点与的亮度值;采用线性插值法改正待拼接影像重叠区的非匹配极值点亮度值。采用内插法,利用重叠区匹配极值点改正后的亮度值改正非重叠区亮度。
步骤5.1,重叠区极值点的亮度改正。
采用匹配极值点与的亮度值均值分别改正匹配极值点与对应的亮度值,使匹配极值点与改正后的亮度值均为
步骤5.2,重叠区非匹配极值点亮度改正,所述的非匹配极值点为重叠区中除匹配极值点以外的点。
在影像1的重叠区,利用极值点和改正前的亮度值与及改正后的亮度值与采用线性插值法对影像1的重叠区亮度值介于和间的非匹配极值点做亮度改正:
其中,和分别为非匹配极值点改正前和改正后的亮度值。
同样的,采用上述方法改正影像2重叠区中非匹配极值点亮度值。
步骤5.3,非重叠区亮度改正。
利用重叠区匹配极值点改正后的亮度值,采用线性内插法改正非重叠区亮度。假设影像1重叠区两个相邻极值点和改正后的亮度值为与采用线性内插法改正非重叠区亮度值介于和间的像点,该像点改正后的亮度值如下:
其中,为该像点改正后的亮度值。
同样的,采用上述方法改正影像2非重叠区亮度。
为了使亮度过渡自然,采用α改正法对改正后的非重叠区亮度进行纠正,纠正公式为:
L=αLA+(1-α)L′A, (14)
其中,LA为非重叠区采用线性插值改正后的亮度值,L′A为重叠区边缘亮度值,L为改正后最终的非重叠区亮度值。
权重α采用如下方法获得:
(a)将待拼接影像重叠区权重设为1,非重叠区权重设定为0。
(b)待拼接影像权重α从重叠区向非重叠区过渡,权重从1变化为0,变化值采用线性插值获得,示意图如图10。
(c)归一化处理。
假设影像重叠区域有n张重叠影像,各张影像在同一像点的权重α分别为αi,i=1,2,...,n,则该像点的归一化权重为
步骤6,多波段融合。
多波段融合是对待拼接影像做降采样处理,生成影像金字塔;同时对影像Ii(i=1,2,...N)相应的掩膜Maski(i=1,2,...N)做高斯平滑处理,生成与每层金子塔影像相对应的权重图。多波段融合流程如图4,具体包括如下子步骤:
步骤6.1,根据影像掩膜Mask生成影像掩膜标记区域的权重图WM。
为避免影像在边缘区域出现亮度不均衡现象,对影像掩膜标记的图像区域,生成相应的权重图。权重的设定依据影像掩膜标记区域内各像点与掩膜边缘的距离d是否大于给定阈值,如果大于阈值u,则该像点权重为1;否则,该像点权重为1/d。
假设影像掩膜标记区域内像点Ii离影像掩膜Mask边缘的距离为d,那么像点Ii的权重可按如下公式计算:
其中,阈值u根据经验在[20,50]范围内取值。
步骤6.2,根据影像分割线生成影像分割线标记区域的权重图WP。
依据影像分割线标记区域,见图11,将经亮度改正后影像所属区域权重设置为1,其它区域设置为0;同时,考虑到分割边界区域特殊性,将边界区域向外扩充v个像素,采用高斯平滑的方法来使得边界区域权重过渡均衡,从而得到该分割区域的权重图WP,本具体实施实例中,取v=3。
步骤6.3,权重图归一化。
利用步骤6.1获取影像掩膜标记区域的权重图WM和步骤6.2获得的影像分割线标记区域的权重图WP,计算权重图W′j:
W′j=WMWP, (16)
对权重图W′j做归一化处理,得到影像分割线标记区域中的像点Ii最终权重。假设影像分割线标记区域内某像点未归一化前权重为pj,归一化后权重p′j为:
步骤6.4,分层权重图生成。
依据设定的波段数c,按逐层降采样的方法生成各层影像金字塔的权重图
步骤6.5,待拼接影像金字塔生成。
对匀色后的待拼接影像进行降采样处理,得到待拼接影像的c层影像金字塔。降采样次数与波段数c,本实施实例选择c=7。
步骤6.6,多波段融合处理。
假设金字塔第m层中的第i张待融合影像为相应的权重图为那么,最后得到的融合影像Iblend按照下面的公式计算:
其中,N为待融合影像数。
对于全景影像而言通常选用的模型是圆柱模型,拼接后整幅影像边界是相连区域。为保证边界区域过渡的连续性,对这些区域,扩充后,采用如下公式重新进行平滑处理:
I′edge=IedgeW, (19)
其中,权重W的确定方法同步骤6.1中所述方法。
本发明中的多波段融合方法是对对比度纠正后的全部待拼接影像进行一次性融合。
图12与图13为利用本发明的方法与传统的影像匀色处理后的结果对比。从对比图中,可以看出,本发明的方法不仅能消除影像拼接的局部色调差异性,使自然场景恢复原有色调(比如天空),还可消除拼接后整体的色调差异。