一种基于GAN的图像阴影检测和消除方法与流程

文档序号:25525608发布日期:2021-06-18 20:15阅读:321来源:国知局
一种基于GAN的图像阴影检测和消除方法与流程

本发明涉及一种图像阴影检测和消除方法,具体地说,是涉及一种基于gan的图像阴影检测和消除方法。



背景技术:

生成对抗网络(gan,generativeadversarialnetworks)是一种深度学习模型,由两种神经网络组成,分别是生成器和判别器。生成器用来解决提出的问题,而判别器接收生成器的结果,判断生成器生成的结果是否真实。这两种神经网络被训练成敌对的姿态来完成相互对抗,推动生成器生成更逼真的图像。

图像中的阴影经常会导致在图像分割、图像识别等计算机视觉技术出现各种问题,所以阴影去除技术对提升图像识别、目标跟踪等技术有很大的帮助。这个过程可以分为两步,分别是阴影检测和阴影消除。在阴影检测过程中,需要准确的标记处阴影区域和非阴影区域,而在阴影消除过程中,需要重点关注在检测过程中标记的阴影区域,并重构出没有阴影的图像。在这两个算法中,它们都接收相同的基础数据,产生不同的结果。在现有技术中,这两个流程一般是分开处理的。



技术实现要素:

本发明的目的在于提供一种基于gan的图像阴影检测和消除方法。本发明定义了一种生成对抗网络的网络结构,用于共同完成图像中的阴影检测和消除;使用光照强度作为阴影模型中的强度信息,调整阴影部分的光照强度来完成阴影去除的工作。

本发明采用的技术方案为:

一种基于gan的图像阴影检测和消除方法,包括下述步骤:

(1)固定阴影检测生成器g1的网络结构和权重参数不变,输入一张原始的有阴影的图像,输出一张由g1标记的阴影区域图像,阴影区域和非阴影区域用表示如下:

其中阴影区域表示为1,非阴影区域表示为0;

(2)训练阴影检测判别器d1,d1接收由g1生成的阴影区域图像和原始图像,输出阴影区域的真实程度,训练d1的损失函数表示如下:

其中x表示输入的图像,y表示阴影实际检测出来的区域,l表示训练d1的损失值,ex,y~pdata(x,y)表(x,y)在pdata(x,y)分布中的期望值;

(3)完成判别器d1的训练后,训练生成器g1,训练g1的损失函数如下:

ldata1(g1)=ex,y~pdata(x,y)||y-g1(x)||2

(4)完成阴影检测生成器和阴影检测判别器后,固定阴影消除生成器g2的权重,首先训练阴影消除判别器d2,训练d2的损失函数表示如下:

r表示的是用于去除阴影的地面真实图像标记;

(5)随后开始训练阴影消除生成器g2,使用真实的图片与g1生成的阴影标记图像相乘得到的图像,作为g2的输入的一部分,同时输入原始的阴影图片,最终得到消除后的阴影部分;训练g2的损失函数表示如下:

ldata2(g2|g1)=ex,r~pdata(x,r)||r-g2(x,g1(x))||2

(6)使用上述损失函数在网络中更新权重:

(7)在完成全部的g1和g2的训练后,输入一张阴影图片到g1中,由g2的输出得到一张消除阴影后的图片。

作为优选,步骤(1)中,阴影区域和非阴影区域用二进制表示。

作为优选,在阴影消除生成器g2消除阴影区域时,使用了一种阴影模型,公式如下:

i(θ,λ)=li(θ,λ)r(θ,λ)

其中i是在像素点θ的λ波长反映出来的强度,li和r分别是光照强度和反射强度;非阴影区域的光照强度表示为:

ilit(θ,λ)=lid(θ,λ)r(θ,λ)+lia(θ,λ)r(θ,λ)

其中lid和lia和别表示直接照射和环境光的光照强度;阴影区域会有一些物体阻塞来自光源的直接光照强度,阴影区域的光照强度表示为:

ishadow(θ,λ)=at(θ)la(θ,λ)r(θ,λ)

其中at(θ)表示为环境光照的衰减因子,取值范围在(0,1)之间;通过补偿阴影区域的光照强度至非阴影区域的强度,达到消除阴影的目标。

本发明可以迅速有效的在单张图像中消除阴影部分,消除阴影部分后,整张图片的亮度与非阴影部分可以保持相同,不会导致非阴影部分亮度下降,不影响消除后图片质量。

附图说明

图1是本发明的整体流程示意图;

图2是本发明生成器g2输入生成流程示意图。

具体实施方式

下面结合具体实施例对本发明作进一步说明,但本发明所要保护的范围并不限于此。

参照图1,一种基于gan的图像阴影检测和消除方法,包括下述步骤:

(1)固定阴影检测生成器g1的网络结构和权重参数不变,输入一张原始的有阴影的图像,输出一张由g1标记的阴影区域图像,阴影区域和非阴影区域用二进制表示:

其中阴影区域表示为1,非阴影区域表示为0;

(2)训练阴影检测判别器d1,d1接收由g1生成的阴影区域图像和原始图像,输出阴影区域的真实程度,训练d1的损失函数表示如下:

其中x表示输入的图像,y表示阴影实际检测出来的区域,l表示训练d1的损失值,ex,y~pdata(x,y)表(x,y)在pdata(x,y)分布中的期望值。

(3)完成判别器d1的训练后,训练生成器g1,训练g1的损失函数如下:

ldata1(g1)=ex,y~pdata(x,y)||y-g1(x)||2

(4)完成阴影检测生成器和阴影检测判别器后,固定阴影消除生成器g2的权重,首先训练阴影消除判别器d2,训练d2的损失函数表示如下:

(5)随后开始训练阴影消除生成器g2,如图2所示,使用真实的图片与g1生成的阴影标记图像相乘得到的图像,作为g2的输入的一部分,同时输入原始的阴影图片,最终得到消除后的阴影部分;训练g2的损失函数表示如下:

ldata2(g2|g1)=ex,r~pdata(x,r)||r-g2(x,g1(x))||2

r表示的是用于去除阴影的地面真实图像标记。

(6)使用上述损失函数在网络中更新权重:

(7)在完成全部的g1和g2的训练后,输入一张阴影图片到g1中,由g2的输出得到一张消除阴影后的图片。

作为优选,在消除阴影区域的生成器g2消除阴影区域时,使用了一种阴影模型,公式如下:

i(θ,λ)=li(θ,λ)r(θ,λ)

其中i是在像素点θ的λ波长反映出来的强度,li和r分别是光照强度和反射强度;非阴影区域的光照强度表示为:

ilit(θ,λ)=lid(θ,λ)r(θ,λ)+lia(θ,λ)r(θ,λ)

其中lid和lia和别表示直接照射和环境光的光照强度;阴影区域会有一些物体阻塞来自光源的直接光照强度,阴影区域的光照强度表示为:

ishadow(θ,λ)=at(θ)la(θ,λ)r(θ,λ)

其中at(θ)表示为环境光照的衰减因子,取值范围在(0,1)之间;通过补偿阴影区域的光照强度至非阴影区域的强度,达到消除阴影的目标。

应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。

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