概述
这篇论文是因为公司最近在搞超分辨相关的项目的时候,需要参考的一篇论文,觉得思路和自己之前的某些思路比较像,所以就整理下对这篇论文的理解,同时也是第一次试试自己写这种理论性(可能吧)的文章
要解决的问题
图像超分辨一般是为了解决图像放大时细节缺失的问题,例如采用最近领方法放大图像时会产生马赛克效果,双线性插值放大后的图像看着像是被高斯模糊了,超分辨则是为了还原图像的细节信息,如下图所示:
而这篇论文则是把超分辨直接应用在了另外一个地方:信息,嗯,直白点说就是信息,其实则是经过CNN处理之后获得的图像特征。可以将CNN看作一个系统
f:A→B
f
:
A
→
B
,是图像到特征的一个映射变换,由于系统
f
f
本身不会增加图像的信息,因此可以认为特征所携带的信息量应该是小于等于原图像所携带的信息量,低分辨率图像所携带的信息量小于高分辨率图像所携带的信息量,那么低分辨率图像得到的特征所携带的信息量一定小于高分辨率图像的(原谅我不知道怎么表达这一串)。信息越少,越不容易分类,那么低分辨率图像就越不容易被正确分类。
作者在论文中,通过两组实验表明了分辨率对特征提取和识别的影响,如上图所示,(a)表明了随着分辨率的降低,特征的欧式距离也在不断的增加,(b)和(c)则表明了随着分辨率的降低,mAP也会迅速降低。低分辨率图像的信息缺失导致了CNN无法提取有效的可分特征,从而影响分类结果。
如何提高低分辨率图像的识别效果?作者通过GAN对特征进行超分辨,使之能够恢复为高分辨率图像特征,如下图所示:
那么,如何去构造这个特征GAN则是论文的主要工作内容。
特征超分辨
作者将低分辨率图像特征作为生成网络
G
G
的输入,可以得到超分辨特征,
FSR=G(FLR)
F
S
R
=
G
(
F
L
R
)
,判别网络
D
D
则对超分辨特征和高分辨率图像特征进行判别。具体的训练框架如下图所示:
图中的特征提取网络可以是任意的特征提取网络,作者在实验中采用了VGG16网络结构,得到的特征长度为4096;在输入 G G 和前对特征进行了reshape,变为了64x64大小的图像,这样就就可以直接采用2D卷积对数据进行处理。
网络结构
生成网络
Type | Kernel Size | Stride | Channel | Output Size |
---|---|---|---|---|
conv | 8x8 | 1 | 4 | 64x64x4 |
conv | 5x5 | 2 | 8 | 32x32x8 |
conv | 5x5 | 1 | 16 | 32x32x16 |
conv | 5x5 | 2 | 32 | 16x16x32 |
conv | 5x5 | 1 | 64 | 16x16x64 |
conv | 5x5 | 2 | 128 | 8x8x128 |
drop(70%) | 1x64x128 | |||
fc | 1x4096 |
判别网络
Type | Kernel Size | Stride | Channel | Output Size |
---|---|---|---|---|
conv | 5x5 | 2 | 8 | 32x32x8 |
conv | 5x5 | 2 | 16 | 16x16x16 |
conv | 3x3 | 2 | 32 | 8x8x32 |
conv | 3x3 | 1 | 64 | 8x8x64 |
fc | 1 |
总的来说,网络结构相当简单,并没有用到Inception或者残差单元,每个卷积层后面有leaky-relu层作为激活相应层,使用了dropout层来防止过拟合。(唔~其实我不明白为什么会要用用8x8那么大的的卷积核)
稍微吐槽下,这论文提出的方法和特征相关,也就是说如果特征长度和原文不同,就得重新设计网络进行训练,finetune的机回都不给,超麻烦!
损失函数
嗯,基本上目前好多和CNN相关的论文都在倒腾损失函数(可能是我论文看的少吧,也可能之前基本上只关注人脸这块,反正很长一段时间大家都在倒腾损失函数,容易出paper啊),这篇论文也是在WGAN损失函数的基础上做了一些修改。论文说可以直接使用WGAN的损失函数对网络进行训练,但是作者发现直接只用并不能提高低分辨率特征的表达能力(在分类上就是最后得到的特征依然可分性不好),因此他将
G
G
的损失函数修改为
当
r=1
r
=
1
时,等同于是在原有的损失函数的基础上增加了MSE,使得
FSR
F
S
R
与
FHR
F
H
R
的欧式距离更加接近,作者也通过实验得出的最优
r
r
为2。
这里其实有一点想不明白的是,为什么作者在的结果在的时候效果都比不使用差,而且还从差了那么多
实验结果
唔~因为我还要去复现这个方法,没有太仔细看这篇论文的分析和结果,这里仅贴上论文中的结果,反正比低分辨率图像的结果更好就是了
我还得去复现,还得学习MxNet,我要转MxNet啦,先到这里吧,等我弄得差不多了在更新这个吧~
最后
以上就是甜美路人为你收集整理的论文理解 Feature Super-Resolution Make Machine See More Clearly的全部内容,希望文章能够帮你解决论文理解 Feature Super-Resolution Make Machine See More Clearly所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复