首页> 中国专利> 一种基于深度学习和反射率的阴影去除方法

一种基于深度学习和反射率的阴影去除方法

摘要

本发明公开了一种基于深度学习和反射率的阴影去除方法,其步骤包括:1)将所选彩色的阴影图像分别转换成灰度图像和颜色图像并进行阴影标注;将监督图像设定为阴影图像的灰度图像和对应无阴影图像的灰度图像之间的比例图像;2)利用训练数据训练U型深度神经网络;3)对于一待处理图像A,计算图像A的阴影区域中各个像素的反射率;4)根据反射率计算图像A的阴影区域中各个像素在白光照射下呈现的颜色,将所得颜色作为对应像素在阴影去除后的颜色,生成图像A阴影去除后的颜色图像B;5)将图像A的颜色图像输入U型深度神经网络,生成一比例图像P

著录项

  • 公开/公告号CN114897708A

    专利类型发明专利

  • 公开/公告日2022-08-12

    原文格式PDF

  • 申请/专利权人 中国科学院信息工程研究所;

    申请/专利号CN202210198264.7

  • 发明设计人 王潇;王蕊;

    申请日2022-03-02

  • 分类号G06T5/00(2006.01);G06T5/50(2006.01);G06N3/04(2006.01);G06N3/08(2006.01);G06V10/774(2022.01);G06V10/82(2022.01);G06K9/62(2022.01);

  • 代理机构北京君尚知识产权代理有限公司 11200;

  • 代理人司立彬

  • 地址 100093 北京市海淀区闵庄路甲89号

  • 入库时间 2023-06-19 16:20:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-30

    实质审查的生效 IPC(主分类):G06T 5/00 专利申请号:2022101982647 申请日:20220302

    实质审查的生效

说明书

技术领域

本发明属于图像处理技术领域,涉及一种能够去除彩色数字图像中阴影区域的方法。特 别涉及基于深度学习和反射率的阴影去除方法。

背景技术

随着计算机性能的提高和数字影像设备的普及,以及近年来信息技术的快速发展,针对 数字图像的计算机视觉和图形图像处理两大领域越来越受到社会各界的重视。阴影是场景中 的一部分光源由于物体之间互相遮挡或者物体自身各个部分之间互相遮挡,未能照射到某个 区域而产生的。作为自然界中一种常见的现象,阴影区域经常出现在数字图像中,阴影区域 的存在对于计算机视觉任务和图像处理任务有利也有弊,有利的地方在于图像中阴影区域的 特征能够为估算场景的几何特征、被遮挡光源相对于物体的位置、物体运动和摄像机校准提 供重要线索。不利之处在于阴影区域对一些常用的计算机视觉任务和图像处理任务有较大的 影响,由于阴影区域损害了图像中目标物体的清晰度和完整性,有可能导致目标物体无法被 完整的分割或者识别错误,降低包括图像分割和目标检测等任务的表现;而对于目标跟踪等 使用图像序列进行计算的计算机视觉任务,阴影区域产生的影响更加明显,目标物体在不同 图像帧之间的外观如果由于阴影区域而产生变化,会导致目标丢失等情况。因此,设计一种 准确且鲁棒性较高的阴影去除方法在许多实际应用中具有十分广阔的应用价值。

现有的阴影去除方法主要分为两大类,分别是基于区域配对的传统阴影去除方法和基于 深度神经网络的深度阴影去除方法。基于区域配对的传统阴影去除方法的基本思路如下:首 先将输入图像按照颜色和局部纹理进行分割,尽量保证每个分割区域内材质的一致;然后设 计方法在图像中寻找和阴影区域有相同材质的非阴影区域;最后使用非阴影区域的亮度和平 均颜色更新阴影区域的对应信息,去除阴影区域。由于为所有阴影区域寻找配对区域较为困 难,而且有些情况下有的阴影区域在图像中不存在配对区域,因此近年来深度阴影去除方法 占据主流。基于深度神经网络的阴影去除方法通常使用U型网络作为基本架构生成阴影去除 结果,为了尽量提高神经网络保留原始图像中细节的能力,通常使用跨层连接结构。训练深 度神经网络的策略可分为三类,分别是基于无阴影图像,基于判别网络以及基于中间结果的 训练策略。基于无阴影图像的训练策略首先利用深度神经网络根据输入的图像生成结果图像, 然后利用生成的结果图像和标准无阴影图像之间的差值通过梯度回传校正深度神经网络。基 于判别网络的训练策略利用生成对抗网络(Generative Adversarial Network,GAN)的训练策 略,设计一个深度判别网络来判断阴影去除网络生成的结果图像中是否仍然有阴影区域,然 后根据判别网络的结果更新主体网络的参数。这种训练方式不需要和输入图像配对的无阴影 图像作为监督数据,对训练图像进行是否有阴影区域的简单标注后,先训练判别网络,然后 将判别网络与主体网络结合在一起进行端到端训练。基于中间结果的训练策略根据公式计算 无阴影图像,需要用深度神经网络回归相关参数。为了取得较好的结果,通常在根据回归所 得的参数值计算无阴影图像后,再加上一个U型网络进行结果润色,该U型网络和参数回归 网络为端到端联合训练。

现有的阴影去除方法虽然在评价数据集上获得了较高的评价参数,但依旧面临诸多的难 题。主要体现在以下几方面。其一,训练数据获取较为困难,现有的获取无阴影训练数据的 方法多采用以下方案,将相机的位置、拍摄方向和曝光参数固定,指向一处没有阴影区域的 场景。先利用人工遮挡的方式在拍摄区域内制造阴影区域,拍摄有阴影区域的图像;然后移 除遮挡物,拍摄无阴影图像。由于数码相机的后续白平衡算法和所拍摄的场景有关,因此拍 摄场景中阴影区域的消失有可能使相机的图像信号处理器(Image SignalProcessing,ISP)产 生和拍摄阴影图像时不同的白平衡参数,导致两张图像中非阴影区域的颜色不一致。其二, 图像中的非阴影区域容易被改变,现有的阴影去除方法多采用U型深度神经网络生成最终的 阴影去除结果,这种网络结构能够直接生成和输入图像尺寸相同的图像,但是由于新生成图 像的所有像素都是重新生成的,因此在阴影去除任务中不应该发生变化的非阴影区域像素有 较大的发生变化的可能性。

除此之外,现有的阴影去除方法主要致力于从训练数据中学习统计规律,鲜有研究阴影 区域本身具有的物理特性,导致这些方法比较依赖训练数据。然而在实际应用中,图像的来 源多种多样,难以保证训练数据和测试数据之间的数据分布一致性。因此提高阴影去除方法 对不同来源数据的鲁棒性是一个面向实际应用的研究热点。

发明内容

针对单张彩色数字图像中的阴影区域,本发明提出一种基于深度学习和反射率的阴影去 除方法。由于使用深度神经网络直接生成阴影去除结果容易导致图像中的非阴影区域发生变 化,本发明使用深度神经网络生成计算无阴影图像所需的中间结果。同时为了减少训练数据 对计算结果的影响,根据图像的光照模型,引入场景的光照条件和阴影区域的光谱反射率计 算阴影像素在阴影去除后的颜色。

本发明的技术方案如下:

一种基于深度学习和反射率的阴影去除方法,其步骤包括:

1)将彩色的阴影图像转换成灰度图像和颜色图像两张图像。

2)将训练数据中的监督图像设定为阴影图像的灰度图像和无阴影图像的灰度图像之间 的比例图像。

3)将阴影图像的灰度图像、对应的阴影区域标注图像和监督图像进行随机旋转、对称和 长宽比例变化,增广训练数据。

4)利用有跨层连接结构的U型深度神经网络,结合经过增广的训练数据进行训练,学 习如何使用灰度图像和阴影区域标注图像生成比例图像。

5)通过改进已有的场景光照条件和物体光谱反射率计算方法,根据测试数据的颜色图像 计算阴影区域的光照条件,再根据光照条件计算阴影区域各个像素的反射率。

6)根据阴影区域的反射率计算阴影像素在标准白光照射下呈现的颜色,将该颜色作为阴 影像素在阴影去除后的颜色,生成阴影去除后图像的颜色图像。

7)利用步骤4)中训练的深度神经网络生成的比例图像计算测试图像在阴影去除后的灰 度图像,再将灰度图像和颜色图像结合起来生成最终的阴影去除图像。

进一步地,步骤1)将输入的有阴影区域的彩色图像转换成灰度图像,再通过亮度归一 化的方式生成颜色图像。

进一步地,步骤2)将深度神经网络的输出设定为有阴影区域图像的灰度图像除以标准 无阴影图像的灰度图像生成比例图像,由于现有的训练数据集只包含和阴影图像对应的无阴 影图像,因此在训练深度神经网络之前,需要根据这种计算方式重新计算训练数据集中的监 督数据。

进一步地,步骤3)对训练数据中每一张图像对应的灰度图像、阴影区域标注图像和步 骤2)中所得的比例图像,赋予其一个随机的角度进行旋转,然后从训练数据集中随机选取 一半的图像进行垂直对称,最后再随机选取一半图像改变其长宽比例。处理后再把图像的分 辨率裁剪为和原图相同,多出的部分删除,欠缺的部分的像素值为零。通过这种方式增加训 练数据的多样性,提高深度神经网络的性能。

进一步地,步骤4)使用目前常用的U型深度神经网络作为基本网络架构,在基本网络 结构上加入跨层连接结构,结合经过步骤3)增广的训练数据训练深度神经网络,该网络的 输入为有阴影区域图像的灰度图像和阴影区域的位置标识图,监督生成结果的监督数据为步 骤2)中计算的比例图像。

进一步地,步骤5)对于测试数据,先根据步骤1)将其分解为灰度图像和颜色图像。通 过改进已有的计算场景光照条件和光谱反射率的方法(参考:王潇,尧思远,代朋纹,王蕊, 操晓春,“基于阴影和周边区域色差的光照条件和光谱反射率计算方法,”电子学报,已录 用),根据颜色图像和阴影区域的位置标识图像计算该张图像中阴影区域的光照条件,然后 结合阴影区域像素的颜色估算所有阴影像素的光谱反射率(SpectralReflectance)。

进一步地,步骤6)根据阴影像素的光谱反射率计算阴影像素在sRGB颜色空间中定义 的标准白色光源D65照射下呈现的颜色,将计算所得颜色进行亮度归一化后作为阴影像素在 阴影去除后的颜色,非阴影区域的颜色不做变化,生成阴影去除后的颜色图像。

进一步地,步骤7)将测试数据的灰度图像和阴影区域的位置标识图像输入步骤4)中训 练好的深度神经网络,生成比例图像。然后用灰度图像除以比例图像获得阴影去除后的灰度 图像,将该灰度图像和步骤6)中生成的颜色图像相乘,获得阴影去除图像。

本发明的整个算法的网络结构如图1所示。

本发明的有益效果:

1.本发明致力于去除单张彩色数字图像中的阴影区域,这种区域对很多实际应用有不利 的影响,从而使得本发明具有实际的应用价值。

2.本发明使用深度神经网络生成计算无阴影图像所需要的中间结果,能有效减少非阴影 区域被深度神经网络改变的情况,从而提升阴影去除的效果。

3.本发明将基于学习的深度神经网络和区域物理特性之一的反射率结合起来,能够减小 阴影去除方法对训练数据的依赖,提升阴影去除方法的鲁棒性;并且对区域反射率的 计算不依赖于训练数据,可以嵌入到已有的阴影去除方法中以提升性能。

综上所述,本发明提出的基于深度学习和反射率的阴影去除方法,能有效的在较小的改 变图像中非阴影区域的前提下去除彩色数字图像中的阴影区域,同时通过使用区域的反射率 计算颜色信息,减小训练数据的影响,提升方法的鲁棒性。

附图说明

图1为基于深度学习和反射率的阴影去除方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描 述。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其 他实施例,都属于本发明保护的范围。

实现本发明的一种具体实施方式如下,一种基于深度学习和反射率的阴影去除方法,其 步骤为:

1)将彩色的输入图像转换成灰度图像和颜色图像两张图像。

2)将训练数据中的监督图像设定为阴影图像的灰度图像和无阴影图像的灰度图像之间 的比例图像。

3)将阴影图像的灰度图像、对应的阴影区域标注图像和监督图像进行随机旋转、对称和 长宽比例变化,增广训练数据。

4)利用有跨层连接结构的U型深度神经网络,结合经过增广的训练数据进行训练,学 习如何使用灰度图像和阴影区域标注图像生成比例图像。

5)通过改进已有的场景光照条件和物体光谱反射率计算方法,根据测试数据的颜色图像 计算阴影区域的光照条件,再根据光照条件计算阴影区域各个像素的反射率。

6)根据阴影区域的反射率计算阴影像素在标准白光照射下呈现的颜色,将该颜色作为阴 影像素在阴影去除后的颜色,生成阴影去除后图像的颜色图像。

7)利用步骤4)中训练的深度神经网络生成的比例图像计算测试图像在阴影去除后的灰 度图像,再将灰度图像和颜色图像结合起来生成最终的阴影去除图像。

在本发明的一实施例中,将有阴影区域的彩色输入图像转化为灰度图像L,再通过亮度归 一化的方式生成输入图像的颜色图像X。

在本发明的一实施例中,为了减小生成的无阴影图像中非阴影区域发生变化的可能性, 本发明使用深度神经网络使用阴影图像的灰度图像L,结合阴影图像中阴影区域的位置标注 图像生成一种比例图像,通过使用阴影图像的灰度图像L除以比例图像计算无阴影图像灰度 图像。由于无阴影图像像素的灰度值不小于对应的有阴影区域图像像素的灰度值,用这种计 算方式可以保证生成的比例图像中所有像素的数值都不大于1,从而提高使用深度神经网络 的准确度。为此对训练数据中的监督数据进行变动,将彩色的无阴影图像采用和步骤1)同 样的方法转化为灰度图像L

M

在本发明的一实施例中,针对现有的阴影去除数据集中阴影区域的样式较为单一的问题, 将阴影图像的灰度图像、阴影区域的位置标注图像和新计算的监督图像M

在本发明的一实施例中,使用经过增广的训练数据训练深度神经网络,深度神经网络使 用有跨越连接结构的U型架构(参考:Le H.,Samaras D.,Physics-based ShadowImage Decomposition for Shadow Removal.IEEE Transactions on Pattern Analysisand Machine Intelligence,early access,2021.https://doi.org/10.1109/TPAMI.2021.3124934),该网络共由十 五个卷积层组成。

该网络的损失函数由两个子损失函数组成,第一个子损失函数为重构损失函数L

深度神经网络总体损失函数用公式表示为:

L

在本发明的一实施例中,通过改进已有的计算场景光照条件和光谱反射率的方法(参考: 王潇,尧思远,代朋纹,王蕊,操晓春,“基于阴影和周边区域色差的光照条件和光谱反射率 计算方法,”电子学报,已录用),计算照射阴影区域的环境光的光照条件,再根据环境光 的光照条件计算各个阴影像素的光谱反射率。

参考方法在计算光照条件时,需要根据阴影图像的亮度信息分离直射光和环境光的影响, 再计算直射光和环境光的光照条件,这样的分离计算会影响对环境光光照条件计算结果的精 确度。本发明不需要使用直射光的光照条件,因此对参考方法中计算光照条件的部分进行改 进,使用阴影图像的颜色图像X和阴影区域的位置标注图像计算环境光的光照条件。然后使 用参考方法中计算光谱反射率的方法,根据环境光的光照条件计算阴影像素的光谱反射率。

场景中一个区域的光照条件用普朗克公式进行描述,普朗克公式的形式为:

该公式中I表示光源的亮度,c

为了计算阴影区域的光源色温T

(i)使用SLIC超像素分割算法将颜色图像分割为超像素,根据分割结果计算每个超像素 的平均颜色。然后根据阴影区域的位置标注图像寻找位于阴影区域边界附近的阴影超像素。 最后为每个阴影超像素寻找一个距离最近的非阴影超像素作为配对超像素。

(ii)对每一对超像素,将阴影超像素的平均颜色用公式表达为:

非阴影超像素的平均颜色用公式表达为:

这两个公式中400和700表示可见光波段,单位为nm;E表示根据普朗克公式计算所得 的光源光谱;λ指光的波长;6500K是标准白色光源的色温;R(λ)指区域的光谱反射率;Q(λ) 是sRGB颜色空间的颜色匹配函数,i指图像的颜色通道。

(iii)将参考方法中计算光照条件的优化公式变形为:

该公式中C

在获得了照射阴影区域的光源色温T

在本发明的一实施例中,对于光谱反射率为R(λ)阴影区域像素,根据公式(5)计算其在标 准白色光源D65,即色温为6500K的光源照射下呈现的颜色,将计算所得结果取代颜色图像 X中对应像素的颜色,生成阴影去除后图像的颜色图像X

在本发明的一实施例中,针对输入图像的灰度图像L,利用训练好的深度神经网络生成对 应的比例图像M

L

结合灰度图像L

I

本发明提出的基于深度学习和反射率的阴影去除方法,其测试环境及实验结果为:

(1)测试环境:

系统环境:Windows 10,Anaconda;

硬件环境:内存:16GB;GPU:NVIDIA RTX 3060,显存6GB;CPU:2.30GHz,Intel i7-11800H,硬盘:1TB;

(2)实验数据:

本发明的深度神经网络是在ISTD数据集和SRD数据集组成的合成数据集上进行训练的,ISTD数据集包含了180个场景下拍摄的1870张阴影图像,每张阴影图像都有对应的阴影区 域标识和无阴影图像,其中1330张为训练数据,剩余的540张为测试数据。SRD数据集则 包含有120个场景下拍摄的3088张图像,每张图像都有对应的无阴影图像,其中2680张为 训练数据,剩余的408为测试数据。需要说明的是ISTD数据集的标准无阴影图像在拍摄过 程中由于技术原因,有的图像和阴影图像中的非阴影区域相对应的区域误差较大,文献(Le H., Samaras D.,Physics-based Shadow Image Decomposition for ShadowRemoval.IEEE Transactions on Pattern Analysis and Machine Intelligence,earlyaccess,2021.https://doi.org/10.1109/TPAMI. 2021.3124934)对其进行了改进,命名为ISTD+数据集。

(3)优化方式:

采用Adam算子优化方法,训练时小批量(minibatch)的大小设置为8。

(4)实验结果:

1)性能比较:

与其他方法相比时,这些方法包括两个传统方法Guo和Gong,其中Guo为经典传统方 法,Gong虽然不需要训练,但需要使用者进行简单的手工标注。除此之外还有一些基于深度 学习的去阴影方法,包括直接使用深度神经网络生成无阴影图像的DeshadowNet,ST-CGAN, DSC,Mask-ShadowGAN,以及两个利用深度神经网络生成阴影去除中间结果,以减小非阴 影区域产生变化的深度方法SP+M-Net和Exposure。

性能对比结果如下表1所示,其中的输入栏中S表示阴影图像,M表示阴影区域的位置 标注图像,P表示和阴影图像配对的无阴影图像。实验结果表明本发明的方法较好的保持了 输入图像中的非阴影区域,在全图表现上也取得了较好的结果。

表1为性能比较

2)鲁棒性实验:

该实验探究训练数据对阴影去除结果的影响,使用的数据集仍为SRD和ISTD+数据集, 对比方法为SP+M-Net和Exposure。在训练模型时,先使用两个数据集的训练数据训练本发 明所使用的深度神经网络、SP+M-Net和Exposure作为对照组,测试两个数据集的测试数据 并计算评价参数。然后初始化所有参数,使用SRD数据集的训练数据训练这三个深度神经网 络,测试两个数据集的测试数据并计算评价参数。第三个实验中使用ISTD+的训练数据训练 深度模型,测试两个数据集的测试数据并计算评价参数。如下表2的鲁棒性实验结果所示, 本发明所提出基于深度学习和反射率的阴影去除方法虽然对训练数据仍有一定的依赖性,但 是和已有的阴影去除方法相比阴影区域的评价参数下降较小;同时已有的阴影去除方法的非 阴影区域的评价参数也发生了明显的下降,而本发明的非阴影区域的评价参数变化很小,说 明本发明的鲁棒性获得了较大的提高,达到了设计初衷。

表2为鲁棒性实验

从上面的实验中可以清楚的看到,本发明所涉及到的基于深度学习的灰度比例图计算和 基于反射率的颜色计算均有效。二者用于阴影去除任务能达到良好的性能和鲁棒性。

以上实施仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以 对本发明的技术方案进行修改或者等同替换,而不脱离本发明范围,本发明的保护范围应以 权利要求书所述为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号