田建东,博士,研究员,主要研究方向为模式识别、机器人视觉.E-mail:tianjd@sia.cn.
作者简介:
张 箴,博士研究生,主要研究方向为图像处理、模式识别.E-mail:zhangzhen@sia.cn.
任卫红,博士,助教,主要研究方向为图像处理、模式识别.E-mail:renweihong@sia.cn.
唐延东,博士,研究员,主要研究方向为模式识别、机器人视觉.E-mail:ytang@sia.cn.
About Author:
ZHANG Zhen, Ph.D. candidate. His research interests include image processing and pattern recognition.
REN Weihong, Ph.D., assistant profe-ssor. His research interests include image processing and pattern recognition.
TANG Yandong, Ph.D., professor. His research interests include pattern recognition and robot vision.
基于彩色图像中的色调信息不易受到镜面反射干扰这一事实,文中提出基于色调约束的镜面反射分离算法.首先,利用图像的色调信息对图像进行聚类.再计算像素色度与照明色度的距离,求得漫反射和镜面反射的融合系数.同时,为了让像素聚类免受噪声干扰,对融合系数执行双边滤波操作.最后,根据已求得的融合系数,得到消除镜面反射后的漫反射图像.实验表明,文中算法能在有效去除镜面反射的同时保留图像的细节与边缘信息,在对自然高光图像的处理中也取得较佳的视觉效果.
TIAN Jiandong, Ph.D., professor. His research interests include pattern recognition and robot vision.
The hue information in color images is not easily susceptible to inference from specular reflection. Grounded on this fact, an effective algorithm of specular reflection separation with hue constraint is proposed. Images are clustered by its hue information. The fusion coefficient of diffuse reflection and specular reflection is obtained by calculating the pixel chromaticity and the illumination chromaticity. The bilateral filter is conducted on fusion coefficients to eliminate the noise impact. A diffuse reflection image is acquired according to the calculated specular reflection coefficients. The experimental results show that the proposed method removes specular reflection effectively with the details and edge information of the image retained and it achieves satisfactory visual effects in processing natural highlight pictures without ground truth.
本文责任编委 汪增福
Recommended by Associate Editor WANG Zengfu
镜面反射通常会破坏图像质量, 使图像信息缺失, 影响后续视觉算法效果[1, 2, 3, 4].因此, 有必要去除镜面反射区域.目前的大部分镜面反射去除方法都是基于双色反射模型, 首先在一块图像区域内寻找一个漫反射像素, 再把这个漫反射像素传播到这块
区域, 计算镜面反射分量.由于缺乏图像的全局信息, 寻找的漫反射色度无法确保是准确的, 因此很难去除干净镜面反射分量.
为了解决复杂的反射面建模的问题[5], 学者们提出双色反射模型, 现已在镜面反射去除领域广泛运用.Klinker等[6]扩展双色反射模型, 提出物体颜色和光照颜色符合T形分布, 但是T形分布的获取容易受到噪声干扰.为了减少噪声对高光图像恢复的影响, Tan等[7]提出基于漫反射和镜面反射在最大色度空间分布的镜面反射去除方法.Tan等[8]利用邻近的图案综合填充缺失区域的图像复原技术进行镜面反射去除.由于高亮区域与拍照方向有关, 使用不同视角的图像序列恢复漫反射也是可行的[9, 10].Mallick等[11]利用偏微分方程, 从视频中恢复漫反射成分, 但对于较大区域的镜面, 反射效果不佳.
Yoon等[12]提出反射不变量, 利用反射不变量进行高光的去除.Shen等[13]首先选择一个像素作为漫反射分量, 再利用最小二乘法计算镜面反射分量.上述2种方法都通过迭代的方法进行反光的去除, 耗时较久.Yang等[14]注意到镜面反射像素的饱和度低于漫反射的饱和度, 因此调整镜面反射像素的饱和度, 达到反射分量去除的目的.Yang等[15]提出采用无镜面反射图像作为距离加权函数的快速双边滤波器.
由于缺乏全局信息, 基于局部漫反射扩散的方法[12, 13, 14, 15]不能完全去除反光, 恢复的图像往往会不平滑.Shen等[16]首先将彩色图像像素进行聚类, 再计算像素最大值和其强度范围的比值, 检测和去除漫反射成份.此方法有时会破坏图像细节信息, 因为具有不同的漫反射的像素可能具有相同强度比.
Koirala等[17]和He等[18]利用矩阵分解的方式去除反光, 但对纹理图像处理效果较差.Kim等[19]首先利用暗通道(三个通道最小值)寻找镜面反射的候选区域, 再使用一些先验假设, 如镜面反射区域是稀疏的, 漫反射区域是光滑的, 然后建立能量函数, 分离镜面反射分量和漫反射分量.此方法能较好地处理自然图像, 但对于噪声图像和纹理图像, 经常会造成振铃.Akashi等[20]将反射分离定义为稀疏非负矩阵分解(Nonnegative Matrix Factorization, NMF)问题.然而, 目前的NMF对初值较敏感, 只能确保找到局部最小值而不是全局最小值.因此, 该方法需要多次运行才能得到合理结果.此外, 由于NMF在一般情况下对异常值高度敏感, 在存在强镜面反射或噪声的情况下可能会失败.Ren等[21]以双色反射模型为基础, 通过颜色线性约束条件得到光源色度, 进而快速去除高光, 但在进行像素聚类时会由于高光和噪声的影响出现聚类错误的问题, 使恢复图像出现异常点, 高光区域也不能去除干净.Guo等[22]提出稀疏低阶反射模型, 优化同时估计漫反射和镜面高光图像.但是, 在恢复的漫反射图像中, 有时会在高光区域产生过暗像素.
基于彩色图像中的色调信息不易受到镜面反射干扰这一观察结果, 本文提出基于色调约束的镜面反射分离算法.为了在避免受到噪声影响的同时保留更多的细节信息, 对求得的融合系数进行双边滤波, 进而获得清晰的无镜面反射图像.实验表明, 本文算法效果良好, 能在有效去除镜面反射的同时保留图像的细节与边缘信息.
本文提出基于色调约束的镜面反射分离算法.主要由三个步骤组成.1)估计光照的色度; 2)求取图像的色调信息, 并使用该信息对图像像素执行聚类操作; 3)根据每个像素到照明色度的距离, 逐像素地分离漫反射和镜面反射.
双色反射模型已广泛应用于场景反射中.根据双色反射模型, 物体上某个像素点的颜色是由漫反射和镜面反射的线性组合而成:
I(x)=D(x)+S(x)= md(x)Λ (x)+ms(x)Γ (x).(1)
其中:md(x)表示漫反射系数, ms(x)表示镜面反射系数, md(x)和ms(x)依赖于像素在场景中的位置和光源强度; Λ (x)表示漫反射色度, 由物体本身材质的属性决定; Γ (x)表示镜面反射色度, 由光源色度决定, Γ (x)也通常被认为是光源色度, 通过文献[21]方法估计Γ (x).
目前的大部分反光去除方法都是基于双色反射模型, 首先通过聚类将图像分成不同区域, 再在每块图像区域内寻找一个像素作为漫反射分量, 最后把得到的漫反射分量传播到整个图像区域, 并计算相应的镜面反射分量.由于缺乏全局漫反射信息, 局部图像区域内得到的漫反射分量往往是不准确的, 因此也不能完全去除镜面反射分量.此外, 对于含有复杂纹理的图像来说, 很难较好地聚类所有像素, 得到准确的图像区域.
利用全局的漫反射信息进行镜面反射分量的去除是一种较有效的反光去除方法.全局信息不仅能找到最佳的漫反射色度值, 而且能有效处理纹理图像.另外, 对于较大区域的反光区域也有较好的处理能力.将图像像素值除以三通道像素值之和, 得到色度图像:
将式(1)代入式(2), 可得
其中, 反射色度通常被规范化为1, 即
则
可将式(3)进一步写为
μ (x)=
由式(4)可发现, 具有相同漫反射色度的像素聚集在一条直线上.对于整幅图像而言, 不同的漫反射色度表示不同的直线, 所有直线的交点就是光源色度.计算色度线的交点, 可得出这幅图像的光源色度.
部分学者认为相比图像HSI颜色空间中的色调信息H(x), 图像从直角坐标系转化为球面坐标系得到的方位角θ (x)和仰角φ (x)更不易受到高光的影响[21], 这是因为色调
H(x)=
α (x)为色调转换角, 对于图像中任一点,
由上式可知, 色调的计算过程受B、G值大小的影响, 当图像B、G分量较接近时, 极小的颜色差异可能会在色调值上产生巨大差异, 可视化后在原图红色区域效果就会显得很差, 效果如图1(b)所示, 但色调是角度信息, 0° 和360° 时并无区别, 因此通过(b)判定色调信息容易受到高光的影响的结论是不准确的.为了避免这一问题, 在(c)中对色调转换角进行可视化显示, 可看出色调并不容易受到高光区域影响, 而由(d)和(f)可看出, 在鱼嘴和鱼尾处, 方位角和仰角对颜色的改变都不够敏感, 因此本文利用色调信息对像素进行聚类.在聚类时, 将色调H(x)归一化至[0, 1], 定义两点之间的色调差异:
Δ Hnew=
本文使用Δ Hnew对图像像素进行聚类.如果两个像素之间的色调差异小于阈值T, 属于同簇; 否则划分为不同簇.
在给每个像素分配一个标签后, 计算所有簇的平均值.以平均值作为初始值, 利用k最邻近(k Nearest Neighbor, KNN)搜索规则对图像像素进行重新聚类.如果T太小, 像素簇的数目会增加, 这可能导致不能完全去除镜面反射.同样, 如果T太大, 像素簇的数量会减少, 会过度分离图像的镜面反射.经过多次实验, 本文将阈值设为0.05.
图2为各方法对Fish图像的聚类结果.文献[15]使用区域增长算法对具有相似漫反射色度区域进行局部扩散, 可较好地捕获图像细节, 但容易破坏图像的平滑区域.文献[21]使用图像的角坐标进行聚类, 当受到高光影响时, 难以区分颜色较近的区域, 容易在较暗的区域产生噪声.本文算法采用全局图像的色调信息, 在保存图像纹理的同时, 又可保证图像均一区域的聚类平滑性.
在归一化的RGB空间中, 图像的所有像素都位于球体内, 中心是照明色度Γ (x).定义
其中
r(x)=||
决定像素镜面反射的占比.
因为
对于给定的像素簇, r(x)取决于μ (x), 即
r(x)=μ (x)‖ Λ (x)-Γ (x)‖ 2, 0≤ μ (x)≤ 1.(6)
因为
μ (x)=
当μ (x)=1时, 图像仅含有漫反射色度, 此时对应的像素为距离最远时的像素:
rmax(x)=
式(7)对每类C估计最大距离.根据式(5)和式(6), 每点的融合系数μ (x)可逐像素进行估计:
μ (x)=
由于噪声和高光影响, 像素分簇时会有部分点的分簇不够准确.为了提高去除高光后的视觉效果, 本文选择对融合系数μ (x)进行双边滤波.相比对恢复后的图像进行滤波, 对融合系数进行双边滤波不会过度破坏图像的细节部分, 可有效提升高光去除后的图片质量.滤波过程如下:
μ (i, j)=
其中, S(i, j)表示以(i, j)为中心的(2N+1)× (2N+ 1)大小的范围, μ (k, l)表示输入点, w(i, j, k, l)=Ws× Wr, Ws表示空间域核, Wr表示值域核.Ws由像素位置欧氏距离决定,
Wr由像素值的差值决定,
经过实验, 当滤波半径N=2, 定义域方差σ S=5, 值域方差σ r=0.9时, 滤波效果最优.
色度空间的漫反射成分表示如下:
根据式(2), 将
D(x)=
镜面反射图像为
S(x)=I(x)-D(x).(12)
整体的算法步骤如下所示.
算法 基于色调约束的镜面反射分离算法
输入 输入高光图像I(x)
输出 漫反射图像D(x), 镜面反射图像S(x)
step 1 计算光源色度Г (x).
step 2 利用式(5)计算到Г (x)的距离r(x).
step 3 通过色调进行像素聚类.
step 4 利用式(7)为每类估计最远距离rmax(x).
step 5 利用式(8)估计融合系数μ (x).
step 6 利用式(9)对融合系数μ (x)进行双边滤波.
step 7 利用式(10)~式(12)分离镜面反射.
在实验中, 选择文献[14]方法、文献[15]方法、文献[20]~文献[22]方法作为对比方法.评价指标选择峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)和结构相似性(Structural Similarity, SSIM).峰值信噪比主要衡量逐像素之间的偏差, 结构相似性侧重于图像的空间结构信息.
图3为各方法对4幅高光图像Animals、Cups、Fruit、Masks的镜面反射去除结果.
由图3可知, 文献[15]方法在Animals、Cups、Fruit的绿色框图区域出现不平滑, 破坏Fruit中蓝色框图区域的细节信息, 也没有完全去除Cups、Masks图像红色框图区域的高光.这是因为文献[15]方法主要借助于局部漫反射扩散以消除高光, 缺乏全局信息, 对类似Animals图像这种高光区域较小的图像还可有效处理, 高光区域面积过大就很难彻底去除, 并且在漫反射扩散的边缘区域容易出现不平滑.
文献[21]方法由于像素聚类不够准确, 在图像的红色框选区域难以彻底去除高光, 并破坏高光区域的细节信息, 在部分像素聚类错误的地方还出现亮斑和不平滑.
文献[22]方法利用镜面反射具有的稀疏性分离镜面反射, 当镜面反射区域较大时, 稀疏性也会降低, 因此也未能彻底去除高光, 具体效果见(e)中红色框选区域.
各方法在4幅图像上的PSNR和SSIM定量对比结果如表1所示.由表可知, 本文算法在多数图像中都能取得最优效果.上述实验证实, 本文算法能取得更优的量化结果.
最后在自然图像上测试不同方法的性能.各方法在Toys、Watermelon、Fish自然高光图像上的镜面反射去除结果如图5所示.由图可看出, 对于高光图像Toys, 由于图像中高光较弱, 所有的方法都取得较优效果, 只有文献[21]方法在绿色框选区域产生不平滑的现象.对于高光图像Watermelon, 文献[14]方法仅使用局部信息, 无法有效处理这种大范围的高强度高光图像, 使处理后的西瓜表面出现过度处理的区域.文献[15]方法借助局部漫反射扩散消除高光, 对于去除较小区域的高光较有效, 但不能去除较大的高光区域, 如Watermelon图像上的镜面反射斑点, 并且文献[14]方法和文献[15]方法在背景区域都出现明显的不平滑.对于高光图像Fish, 文献[14]方法在框选区域进行过度处理, 文献[15]方法和文献[21]方法在框选区域都出现不平滑.本文算法不仅能去除平滑区域的高光斑点, 而且更好地保留图像纹理.
从双色反射模型出发, 本文提出基于色调约束的镜面反射分离算法.基于改进色调的双边滤波方法, 有效分离图像的漫反射分量和镜面反射分量.本文发现色调值会在高光图像中颜色相近的区域产生巨大差异并非是由于色调容易受到高光的影响, 而是因为色调是角度信息, 不能简单地对其归一化处理.因此, 本文使用改进的色调信息对像素进行聚类, 根据照明色度求得漫反射与镜面反射的融合系数, 并针对求得的系数进行双边滤波, 进而分离图像漫反射分量和镜面反射分量.大量实验表明, 本文算法在视觉效果和量化指标上均较优.
当图像因为强烈的镜面反射出现过曝区域时, 使用传统的图像处理方法很难在保证图像质量时消除镜面反射, 因为过曝区域的图像信息已经缺失, 即使使用图像修补的方法也只能得到具有较好视觉效果的伪图像.针对这种情况, 只能在成像阶段予以解决, 镜面反射具有偏振特性, 使用偏振镜可消去部分镜面反射, 而分焦平面偏振成像技术可对目标同时采集不同偏振角度的四幅图像, 因此对具有强镜面反射的目标, 使用分焦平面的彩色偏振相机进行图像采集是一个可行的方案.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|
[20] |
|
[21] |
|
[22] |
|