上一篇博客我简单介绍了下基于金字塔式的图像修复
我clone了该项目,并逐步分析,本篇文章主要讲解一下这个项目的损失函数的定义
传统基于均方误差损失
从一幅缺失的图像转换到一幅修复的图像
我们最常想到的就是MSE均方误差损失
通过比较每个像素的误差,最后取平方再平均,得到一个loss损失值,并反向传播,对各个层进行梯度下降
事实上,均方误差表现的也不错,但是在一些细节,特征上缺失,造成局部的模糊
以笔者的一个简单的图像修复demo,它解码出来的图片是这样的
可以很明显看出基于MSE损失恢复出来的图像,在修复理发店的字体的时候表现并不是很好,那几个字母其实是很模糊的,但是大体形状是修复出来的。
感知损失
基于均方误差损失的缺陷,2016年李飞飞团队提出感知损失
该网络核心思想是这样的,即然MSE的细节特征修复的不是很好,那我就找一个预训练出来的网络来捕捉其图像的特征细节,根据生成的特征图,计算其L1损失函数,作为损失值的一部分
在该项目的代码中,作者使用的是VGG19网络,将图像都流入该网络,并将其中的relu层中的特征图拿出来进行L1loss的计算。