日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ESRGAN:基于GAN的增强超分辨率方法(附代码解析)

發布時間:2024/10/8 编程问答 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ESRGAN:基于GAN的增强超分辨率方法(附代码解析) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


作者丨左育莘

學校丨西安電子科技大學

研究方向丨計算機視覺


之前看的文章里有提到 GAN 在圖像修復時更容易得到符合視覺上效果更好的圖像,所以也是看了一些結合 GAN 的圖像修復工作。


ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks?發表于 ECCV 2018 的 Workshops,作者在 SRGAN 的基礎上進行了改進,包括改進網絡的結構、判決器的判決形式,以及更換了一個用于計算感知域損失的預訓練網絡。




超分辨率生成對抗網絡(SRGAN)是一項開創性的工作,能夠在單一圖像超分辨率中生成逼真的紋理。這項工作發表于 CVPR 2017。


但是,放大后的細節通常伴隨著令人不快的偽影。為了更進一步地提升視覺質量,作者仔細研究了 SRGAN 的三個關鍵部分:1)網絡結構;2)對抗性損失;3)感知域損失。并對每一項進行改進,得到 ESRGAN。


具體而言,文章提出了一種 Residual-in-Residual Dense Block (RRDB) 的網絡單元,在這個單元中,去掉了 BN(Batch Norm)層。此外,作者借鑒了 Relativistic GAN 的想法,讓判別器預測圖像的真實性而不是圖像“是否是 fake 圖像”。


最后,文章對感知域損失進行改進,使用激活前的特征,這樣可以為亮度一致性和紋理恢復提供更強的監督。在這些改進的幫助下,ESRGAN 得到了更好的視覺質量以及更逼真和自然的紋理。


改進后的效果圖(4 倍放大):


?在紋理和細節上,ESRGAN都優于SRGAN


SRGAN的思考與貢獻


現有的超分辨率網絡在不同的網絡結構設計以及訓練策略下,超分辨的效果得到了很大的提升,特別是 PSNR 指標。但是,基于 PSNR 指標的模型會傾向于生成過度平滑的結果,這些結果缺少必要的高頻信息。PSNR 指標與人類觀察者的主觀評價從根本上就不統一。?


一些基于感知域信息驅動的方法已經提出來用于提升超分辨率結果的視覺質量。例如,感知域的損失函數提出來用于在特征空間(instead of 像素空間)中優化超分辨率模型;生成對抗網絡通過鼓勵網絡生成一些更接近于自然圖像的方法來提升超分辨率的質量;語義圖像先驗信息用于進一步改善恢復的紋理細節。?


通過結合上面的方法,SRGAN 模型極大地提升了超分辨率結果的視覺質量。但是 SRGAN 模型得到的圖像和 GT 圖像仍有很大的差距。


ESRGAN的改進


文章對這三點做出改進:


1. 網絡的基本單元從基本的殘差單元變為 Residual-in-Residual Dense Block (RRDB);


2. GAN 網絡改進為 Relativistic average GAN (RaGAN);


3. 改進感知域損失函數,使用激活前的 VGG 特征,這個改進會提供更尖銳的邊緣和更符合視覺的結果。


網絡結構及思想


生成器部分


首先,作者參考 SRResNet 結構作為整體的網絡結構,SRResNet 的基本結構如下:


?SRResNet基本結構


為了提升 SRGAN 重構的圖像質量,作者主要對生成器 G 做出如下改變:


1. 去掉所有的 BN 層;


2. 把原始的 block 變為 Residual-in-Residual Dense Block (RRDB),這個 block 結合了多層的殘差網絡和密集連接。

?

如下圖所示:



思想


BN 層的影響:對于不同的基于 PSNR 的任務(包括超分辨率和去模糊)來說,去掉 BN 層已經被證明會提高表現和減小計算復雜度。


BN 層在訓練時,使用一個 batch 的數據的均值和方差對該 batch 特征進行歸一化,在測試時,使用在整個測試集上的數據預測的均值和方差。當訓練集和測試集的統計量有很大不同的時候,BN 層就會傾向于生成不好的偽影,并且限制模型的泛化能力。


作者發現,BN 層在網絡比較深,而且在 GAN 框架下進行訓練的時候,更會產生偽影。這些偽影偶爾出現在迭代和不同的設置中,違反了對訓練穩定性能的需求。所以為了穩定的訓練和一致的性能,作者去掉了 BN 層。此外,去掉 BN 層也能提高模型的泛化能力,減少計算復雜度和內存占用。


Trick


除了上述的改進,作者也使用了一些技巧來訓練深層網絡:


1. 對殘差信息進行 scaling,即將殘差信息乘以一個 0 到 1 之間的數,用于防止不穩定;


2. 更小的初始化,作者發現當初始化參數的方差變小時,殘差結構更容易進行訓練。


判別器部分?


除了改進的生成器,作者也基于 Relativistic GAN 改進了判別器。判別器 D 使用的網絡是 VGG 網絡,SRGAN 中的判別器 D 用于估計輸入到判別器中的圖像是真實且自然圖像的概率,而 Relativistic 判別器則嘗試估計真實圖像相對來說比 fake 圖像更逼真的概率。?


如下圖所示:



具體而言,作者把標準的判別器換成 Relativistic average Discriminator(RaD),所以判別器的損失函數定義為:



對應的生成器的對抗損失函數為:



求均值的操作是通過對 mini-batch 中的所有數據求平均得到的,xf 是原始低分辨圖像經過生成器以后的圖像。


可以觀察到,對抗損失包含了 xr 和 xf,所以這個生成器受益于對抗訓練中的生成數據和實際數據的梯度,這種調整會使得網絡學習到更尖銳的邊緣和更細節的紋理。


感知域損失


文章也提出了一個更有效的感知域損失,使用激活前的特征(VGG16 網絡)。


感知域的損失當前是定義在一個預訓練的深度網絡的激活層,這一層中兩個激活了的特征的距離會被最小化。


與此相反,文章使用的特征是激活前的特征,這樣會克服兩個缺點。第一,激活后的特征是非常稀疏的,特別是在很深的網絡中。這種稀疏的激活提供的監督效果是很弱的,會造成性能低下;第二,使用激活后的特征會導致重建圖像與 GT 的亮度不一致。


如圖所示:


?使用激活前與激活后的特征的比較:a. 亮度 b. 細節


作者對使用的感知域損失進行了探索。與目前多數使用的用于圖像分類的 VGG 網絡構建的感知域損失相反,作者提出一種更適合于超分辨的感知域損失,這個損失基于一個用于材料識別的 VGG16 網絡(MINCNet),這個網絡更聚焦于紋理而不是物體。盡管這樣帶來的增益很小,但作者仍然相信,探索關注紋理的感知域損失對超分辨至關重要。


損失函數


經過上面對網絡模塊的定義和構建以后,再定義損失函數,就可以進行訓練了。


對于生成器 G,它的損失函數為:



即為感知域損失,作者的源碼取的是 L1 Loss,即為上面定義的生成器損失,而 L1 則為 pixel-wise 損失,即, 實驗中取


對于判別器,其損失函數就是上面提到的:



網絡細節


生成器網絡G


要定義 RDDB 模塊,首先要定義 Dense Block,而 Dense Block 里面又有卷積層,LReLU 層以及密集連接,所以首先將卷積層和 LReLU 層進行模塊化,這部分的代碼如下(PyTorch):


def?conv_block(in_nc,?out_nc,?kernel_size,?stride=1,?dilation=1,?groups=1,?bias=True,?\
???????????????pad_type='zero',?norm_type=None,?act_type='relu',?mode='CNA')
:

????'''
????Conv?layer?with?padding,?normalization,?activation
????mode:?CNA?-->?Conv?->?Norm?->?Act
????????NAC?-->?Norm?->?Act?-->?Conv?(Identity?Mappings?in?Deep?Residual?Networks,?ECCV16)
????'''

????assert?mode?in?['CNA',?'NAC',?'CNAC'],?'Wong?conv?mode?[{:s}]'.format(mode)
????padding?=?get_valid_padding(kernel_size,?dilation)
????p?=?pad(pad_type,?padding)?if?pad_type?and?pad_type?!=?'zero'?else?None
????padding?=?padding?if?pad_type?==?'zero'?else?0

????c?=?nn.Conv2d(in_nc,?out_nc,?kernel_size=kernel_size,?stride=stride,?padding=padding,?\
????????????dilation=dilation,?bias=bias,?groups=groups)
????a?=?act(act_type)?if?act_type?else?None
????if?'CNA'?in?mode:
????????n?=?norm(norm_type,?out_nc)?if?norm_type?else?None
????????return?sequential(p,?c,?n,?a)
????elif?mode?==?'NAC':
????????if?norm_type?is?None?and?act_type?is?not?None:
????????????a?=?act(act_type,?inplace=False)
????????????#?Important!
????????????#?input----ReLU(inplace)----Conv--+----output
????????????#????????|________________________|
????????????#?inplace?ReLU?will?modify?the?input,?therefore?wrong?output
????????n?=?norm(norm_type,?in_nc)?if?norm_type?else?None
????????return?sequential(n,?a,?p,?c)


注意這里的 pad_type='zero' 并不是指 padding=0,源碼中定義了兩個函數,針對不同模式下的 padding:

def?pad(pad_type,?padding):
????#?helper?selecting?padding?layer
????#?if?padding?is?'zero',?do?by?conv?layers
????pad_type?=?pad_type.lower()
????if?padding?==?0:
????????return?None
????if?pad_type?==?'reflect':
????????layer?=?nn.ReflectionPad2d(padding)
????elif?pad_type?==?'replicate':
????????layer?=?nn.ReplicationPad2d(padding)
????else:
????????raise?NotImplementedError('padding?layer?[{:s}]?is?not?implemented'.format(pad_type))
????return?layer


def?get_valid_padding(kernel_size,?dilation):
????kernel_size?=?kernel_size?+?(kernel_size?-?1)?*?(dilation?-?1)
????padding?=?(kernel_size?-?1)?//?2
????return?padding


所以當 pad_type='zero' 時,執行的是 get_valid_padding 函數,根據輸入參數可知此時 padding=1。?


模塊化以后,對 Dense Block 進行定義:


class?ResidualDenseBlock_5C(nn.Module):
????'''
????Residual?Dense?Block
????style:?5?convs
????The?core?module?of?paper:?(Residual?Dense?Network?for?Image?Super-Resolution,?CVPR?18)
????'''


????def?__init__(self,?nc,?kernel_size=3,?gc=32,?stride=1,?bias=True,?pad_type='zero',?\
????????????norm_type=None,?act_type='leakyrelu',?mode='CNA')
:

????????super(ResidualDenseBlock_5C,?self).__init__()
????????#?gc:?growth?channel,?i.e.?intermediate?channels
????????self.conv1?=?conv_block(nc,?gc,?kernel_size,?stride,?bias=bias,?pad_type=pad_type,?\
????????????norm_type=norm_type,?act_type=act_type,?mode=mode)
????????self.conv2?=?conv_block(nc+gc,?gc,?kernel_size,?stride,?bias=bias,?pad_type=pad_type,?\
????????????norm_type=norm_type,?act_type=act_type,?mode=mode)
????????self.conv3?=?conv_block(nc+2*gc,?gc,?kernel_size,?stride,?bias=bias,?pad_type=pad_type,?\
????????????norm_type=norm_type,?act_type=act_type,?mode=mode)
????????self.conv4?=?conv_block(nc+3*gc,?gc,?kernel_size,?stride,?bias=bias,?pad_type=pad_type,?\
????????????norm_type=norm_type,?act_type=act_type,?mode=mode)
????????if?mode?==?'CNA':
????????????last_act?=?None
????????else:
????????????last_act?=?act_type
????????self.conv5?=?conv_block(nc+4*gc,?nc,?3,?stride,?bias=bias,?pad_type=pad_type,?\
????????????norm_type=norm_type,?act_type=last_act,?mode=mode)

????def?forward(self,?x):
????????x1?=?self.conv1(x)
????????x2?=?self.conv2(torch.cat((x,?x1),?1))
????????x3?=?self.conv3(torch.cat((x,?x1,?x2),?1))
????????x4?=?self.conv4(torch.cat((x,?x1,?x2,?x3),?1))
????????x5?=?self.conv5(torch.cat((x,?x1,?x2,?x3,?x4),?1))
????????return?x5.mul(0.2)?+?x


前面提到的對殘差信息進行 scaling,在這里可以看出來,系數為 0.2。可以看到在 kernel size(3×3)和 stride=1,padding=1 的設置下,特征圖的大小始終不變,但是通道數由于 concat 的原因,每次都會增加 gc 個通道,但是會在最后一層由變回原來的通道數 nc,這里的參數 norm_type=None,表示不要 Batch Norm。?


定義了 Dense Block 以后,就可以組成 RDDB 了:


class?RRDB(nn.Module):
????'''
????Residual?in?Residual?Dense?Block
????(ESRGAN:?Enhanced?Super-Resolution?Generative?Adversarial?Networks)
????'''


????def?__init__(self,?nc,?kernel_size=3,?gc=32,?stride=1,?bias=True,?pad_type='zero',?\
????????????norm_type=None,?act_type='leakyrelu',?mode='CNA')
:

????????super(RRDB,?self).__init__()
????????self.RDB1?=?ResidualDenseBlock_5C(nc,?kernel_size,?gc,?stride,?bias,?pad_type,?\
????????????norm_type,?act_type,?mode)
????????self.RDB2?=?ResidualDenseBlock_5C(nc,?kernel_size,?gc,?stride,?bias,?pad_type,?\
????????????norm_type,?act_type,?mode)
????????self.RDB3?=?ResidualDenseBlock_5C(nc,?kernel_size,?gc,?stride,?bias,?pad_type,?\
????????????norm_type,?act_type,?mode)

????def?forward(self,?x):
????????out?=?self.RDB1(x)
????????out?=?self.RDB2(out)
????????out?=?self.RDB3(out)
????????return?out.mul(0.2)?+?x


因為特征圖大小始終不變,所以需要定義上采樣模塊進行放大,得到最后的結果:


def?upconv_blcok(in_nc,?out_nc,?upscale_factor=2,?kernel_size=3,?stride=1,?bias=True,?\
????????????????pad_type='zero',?norm_type=None,?act_type='relu',?mode='nearest')
:

????#?Up?conv
????#?described?in?https://distill.pub/2016/deconv-checkerboard/
????upsample?=?nn.Upsample(scale_factor=upscale_factor,?mode=mode)
????conv?=?conv_block(in_nc,?out_nc,?kernel_size,?stride,?bias=bias,?\
????????????????????????pad_type=pad_type,?norm_type=norm_type,?act_type=act_type)
????return?sequential(upsample,?conv)


參考 SRResNet,還需要一個 Shortcut 連接模塊:


class?ShortcutBlock(nn.Module):
????#Elementwise?sum?the?output?of?a?submodule?to?its?input
????def?__init__(self,?submodule):
????????super(ShortcutBlock,?self).__init__()
????????self.sub?=?submodule

????def?forward(self,?x):
????????output?=?x?+?self.sub(x)
????????return?output

????def?__repr__(self):
????????tmpstr?=?'Identity?+?\n|'
????????modstr?=?self.sub.__repr__().replace('\n',?'\n|')
????????tmpstr?=?tmpstr?+?modstr
????????return?tmpstr


定義好上面的模塊以后,就可以定義生成器網絡 G(RDDBNet):


class?RRDBNet(nn.Module):
????def?__init__(self,?in_nc,?out_nc,?nf,?nb,?gc=32,?upscale=4,?norm_type=None,?\
????????????act_type='leakyrelu',?mode='CNA',?upsample_mode='upconv')
:

????????super(RRDBNet,?self).__init__()
????????n_upscale?=?int(math.log(upscale,?2))
????????if?upscale?==?3:
????????????n_upscale?=?1

????????fea_conv?=?B.conv_block(in_nc,?nf,?kernel_size=3,?norm_type=None,?act_type=None)
????????rb_blocks?=?[B.RRDB(nf,?kernel_size=3,?gc=32,?stride=1,?bias=True,?pad_type='zero',?\
????????????norm_type=norm_type,?act_type=act_type,?mode='CNA')?for?_?in?range(nb)]
????????LR_conv?=?B.conv_block(nf,?nf,?kernel_size=3,?norm_type=norm_type,?act_type=None,?mode=mode)

????????if?upsample_mode?==?'upconv':
????????????upsample_block?=?B.upconv_blcok
????????elif?upsample_mode?==?'pixelshuffle':
????????????upsample_block?=?B.pixelshuffle_block
????????else:
????????????raise?NotImplementedError('upsample?mode?[{:s}]?is?not?found'.format(upsample_mode))
????????if?upscale?==?3:
????????????upsampler?=?upsample_block(nf,?nf,?3,?act_type=act_type)
????????else:
????????????upsampler?=?[upsample_block(nf,?nf,?act_type=act_type)?for?_?in?range(n_upscale)]
????????HR_conv0?=?B.conv_block(nf,?nf,?kernel_size=3,?norm_type=None,?act_type=act_type)
????????HR_conv1?=?B.conv_block(nf,?out_nc,?kernel_size=3,?norm_type=None,?act_type=None)

????????self.model?=?B.sequential(fea_conv,?B.ShortcutBlock(B.sequential(*rb_blocks,?LR_conv)),\
????????????*upsampler,?HR_conv0,?HR_conv1)

????def?forward(self,?x):
????????x?=?self.model(x)
????????return?x


注意到這里有個參數 nb,這個參數控制網絡中 RDDB 的數量,作者取的是 23。


判別器網絡D


前面提到,判別器 D 的網絡結構為 VGG 網絡,定義如下(輸入圖像 size 為 128×128)


#?VGG?style?Discriminator?with?input?size?128*128
class?Discriminator_VGG_128(nn.Module):
????def?__init__(self,?in_nc,?base_nf,?norm_type='batch',?act_type='leakyrelu',?mode='CNA'):
????????super(Discriminator_VGG_128,?self).__init__()
????????#?features
????????#?hxw,?c
????????#?128,?64
????????conv0?=?B.conv_block(in_nc,?base_nf,?kernel_size=3,?norm_type=None,?act_type=act_type,?\
????????????mode=mode)
????????conv1?=?B.conv_block(base_nf,?base_nf,?kernel_size=4,?stride=2,?norm_type=norm_type,?\
????????????act_type=act_type,?mode=mode)
????????#?64,?64
????????conv2?=?B.conv_block(base_nf,?base_nf*2,?kernel_size=3,?stride=1,?norm_type=norm_type,?\
????????????act_type=act_type,?mode=mode)
????????conv3?=?B.conv_block(base_nf*2,?base_nf*2,?kernel_size=4,?stride=2,?norm_type=norm_type,?\
????????????act_type=act_type,?mode=mode)
????????#?32,?128
????????conv4?=?B.conv_block(base_nf*2,?base_nf*4,?kernel_size=3,?stride=1,?norm_type=norm_type,?\
????????????act_type=act_type,?mode=mode)
????????conv5?=?B.conv_block(base_nf*4,?base_nf*4,?kernel_size=4,?stride=2,?norm_type=norm_type,?\
????????????act_type=act_type,?mode=mode)
????????#?16,?256
????????conv6?=?B.conv_block(base_nf*4,?base_nf*8,?kernel_size=3,?stride=1,?norm_type=norm_type,?\
????????????act_type=act_type,?mode=mode)
????????conv7?=?B.conv_block(base_nf*8,?base_nf*8,?kernel_size=4,?stride=2,?norm_type=norm_type,?\
????????????act_type=act_type,?mode=mode)
????????#?8,?512
????????conv8?=?B.conv_block(base_nf*8,?base_nf*8,?kernel_size=3,?stride=1,?norm_type=norm_type,?\
????????????act_type=act_type,?mode=mode)
????????conv9?=?B.conv_block(base_nf*8,?base_nf*8,?kernel_size=4,?stride=2,?norm_type=norm_type,?\
????????????act_type=act_type,?mode=mode)
????????#?4,?512
????????self.features?=?B.sequential(conv0,?conv1,?conv2,?conv3,?conv4,?conv5,?conv6,?conv7,?conv8,\
????????????conv9)

????????#?classifier
????????self.classifier?=?nn.Sequential(
????????????nn.Linear(512?*?4?*?4,?100),?nn.LeakyReLU(0.2,?True),?nn.Linear(100,?1))

????def?forward(self,?x):
????????x?=?self.features(x)
????????x?=?x.view(x.size(0),?-1)
????????x?=?self.classifier(x)
????????return?x


可以看到,這里使用了 batch norm,層間的激活函數為 leakyReLU,base_nf參數為基礎通道數,為 64。經過特征提取以后,原本為 128×128×1(/3) 的輸入圖像輸出為 4×4×512。再經過其定義的 classifier 得到輸出值。?


提取感知域損失的網絡(Perceptual Network)?


文章使用了一個用于材料識別的 VGG16 網絡(MINCNet)來提取感知域特征,定義如下:


class?MINCNet(nn.Module):
????def?__init__(self):
????????super(MINCNet,?self).__init__()
????????self.ReLU?=?nn.ReLU(True)
????????self.conv11?=?nn.Conv2d(3,?64,?3,?1,?1)
????????self.conv12?=?nn.Conv2d(64,?64,?3,?1,?1)
????????self.maxpool1?=?nn.MaxPool2d(2,?stride=2,?padding=0,?ceil_mode=True)
????????self.conv21?=?nn.Conv2d(64,?128,?3,?1,?1)
????????self.conv22?=?nn.Conv2d(128,?128,?3,?1,?1)
????????self.maxpool2?=?nn.MaxPool2d(2,?stride=2,?padding=0,?ceil_mode=True)
????????self.conv31?=?nn.Conv2d(128,?256,?3,?1,?1)
????????self.conv32?=?nn.Conv2d(256,?256,?3,?1,?1)
????????self.conv33?=?nn.Conv2d(256,?256,?3,?1,?1)
????????self.maxpool3?=?nn.MaxPool2d(2,?stride=2,?padding=0,?ceil_mode=True)
????????self.conv41?=?nn.Conv2d(256,?512,?3,?1,?1)
????????self.conv42?=?nn.Conv2d(512,?512,?3,?1,?1)
????????self.conv43?=?nn.Conv2d(512,?512,?3,?1,?1)
????????self.maxpool4?=?nn.MaxPool2d(2,?stride=2,?padding=0,?ceil_mode=True)
????????self.conv51?=?nn.Conv2d(512,?512,?3,?1,?1)
????????self.conv52?=?nn.Conv2d(512,?512,?3,?1,?1)
????????self.conv53?=?nn.Conv2d(512,?512,?3,?1,?1)

????def?forward(self,?x):
????????out?=?self.ReLU(self.conv11(x))
????????out?=?self.ReLU(self.conv12(out))
????????out?=?self.maxpool1(out)
????????out?=?self.ReLU(self.conv21(out))
????????out?=?self.ReLU(self.conv22(out))
????????out?=?self.maxpool2(out)
????????out?=?self.ReLU(self.conv31(out))
????????out?=?self.ReLU(self.conv32(out))
????????out?=?self.ReLU(self.conv33(out))
????????out?=?self.maxpool3(out)
????????out?=?self.ReLU(self.conv41(out))
????????out?=?self.ReLU(self.conv42(out))
????????out?=?self.ReLU(self.conv43(out))
????????out?=?self.maxpool4(out)
????????out?=?self.ReLU(self.conv51(out))
????????out?=?self.ReLU(self.conv52(out))
????????out?=?self.conv53(out)
????????return?out


再引入預訓練參數,就可以進行特征提取:


class?MINCFeatureExtractor(nn.Module):
????def?__init__(self,?feature_layer=34,?use_bn=False,?use_input_norm=True,?\
????????????????device=torch.device('cpu'))
:

????????super(MINCFeatureExtractor,?self).__init__()

????????self.features?=?MINCNet()
????????self.features.load_state_dict(
????????????torch.load('../experiments/pretrained_models/VGG16minc_53.pth'),?strict=True)
????????self.features.eval()
????????#?No?need?to?BP?to?variable
????????for?k,?v?in?self.features.named_parameters():
????????????v.requires_grad?=?False

????def?forward(self,?x):
????????output?=?self.features(x)
????????return?output


網絡插值思想


為了平衡感知質量和 PSNR 等評價值,作者提出了一個靈活且有效的方法——網絡插值。具體而言,作者首先基于 PSNR 方法訓練的得到的網絡 G_PSNR,然后再用基于 GAN 的網絡 G_GAN 進行 finetune。


然后,對這兩個網絡相應的網絡參數進行插值得到一個插值后的網絡 G_INTERP:



這樣就可以通過 α 值來調整效果。


訓練細節


放大倍數:4;mini-batch:16。


通過 Matlab 的 bicubic 函數對 HR 圖像進行降采樣得到 LR 圖像。?


HR patch 大小:128×128。實驗發現使用大的 patch 時,訓練一個深層網絡效果會更好,因為一個增大的感受域會幫助模型捕捉更具有語義的信息。


訓練過程如下:?


1. 訓練一個基于 PSNR 指標的模型(L1 Loss),初始化學習率:2×1e-4,每 200000 個 mini-batch 學習率除以 2;


2. 以 1 中訓練的模型作為生成器的初始化。



初始學習率:1e-4,并在 50k,100k,200k,300k 迭代后減半。


一個基于像素損失函數進行優化的預訓練模型會幫助基于 GAN 的模型生成更符合視覺的結果,原因如下:


1. 可以避免生成器不希望的局部最優;


2. 再預訓練以后,判別器所得到的輸入圖像的質量是相對較好的,而不是完全初始化的圖像,這樣會使判別器更關注到紋理的判別。


優化器:Adam (β1=0.9, β2=0.999);交替更新生成器和判別器,直到收斂。?


生成器的設置:1.16 層(基本的殘差結構);2.23層(RDDB)。


數據集:DIV2K,Flickr2K,OST(有豐富紋理信息的數據集會是模型產生更自然的結果)。


對比實驗(4倍放大)


針對文中提到的各種改進,包括移除 BN,使用激活前特征作為感知域特征,修改 GAN 的判別條件,以及提出的 RDDB,作者做了詳細的對比試驗,結果如下:



經過實驗以后,作者得出結論:?


1. 去掉 BN:并沒有降低網絡的性能,而且節省了計算資源和內存占用。而且發現當網絡變深變復雜時,帶 BN 層的模型更傾向于產生影響視覺效果的偽影;


2. 使用激活前的特征:得到的圖像的亮度更準確,而且可以產生更尖銳的邊緣和更豐富的細節;


3. RaGAN:產生更尖銳的邊緣和更豐富的細節;


4. RDDB:更加提升恢復得到的紋理(因為深度模型具有強大的表示能力來捕獲語義信息),而且可以去除噪聲。


網絡插值實驗?


為了平衡視覺效果和 PSNR 等性能指標,作者對網絡插值參數 α 的取值進行了實驗,結果如下:



此外,作者還對比了網絡插值和圖像插值的效果。圖像插值即指分別由兩個網絡輸出的圖像進行插值。通過對比實驗可以看到,圖像插值對消除偽影的效果不如網絡插值。


與SOTA方法對比(4倍放大)



可以看到,ESRGAN 得到的圖像 PSNR 值不高,但是從視覺效果上看會更好,Percpetual Index 值更小(越小越好),而且 ESRGAN 在 PIRM-SR 競賽上也獲得了第一名(在 Percpetual Index 指標上)。


總結


文章提出的 ESRGAN 在 SRGAN 的基礎上做出了改進,包括去除 BN 層,基本結構換成 RDDB,改進 GAN 中判別器的判別目標,以及使用激活前的特征構成感知域損失函數,實驗證明這些改進對提升輸出圖像的視覺效果都有作用。


此外,作者也使用了一些技巧來提升網絡的性能,包括對殘差信息的 scaling,以及更小的初始化。最后,作者使用了一種網絡插值的方法來平衡輸出圖像的視覺效果和 PSNR 等指標值。




#拉 票 時 間#

?請為PaperWeekly打call!?



PaperWeekly 曾于 2016 年入選“年度十大學術公眾號”(2016年度學術公眾號TOP10重磅發布),并連續入圍“2017 年度學術公眾號”評選。?


如果您喜歡 PaperWeekly,請在本文底部點擊“閱讀原文”-勾選“PaperWeekly”,為我們投上您寶貴的一票。




?


現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧



關于PaperWeekly


PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。


點擊“閱讀原文”,為“PaperWeekly”投票!

總結

以上是生活随笔為你收集整理的ESRGAN:基于GAN的增强超分辨率方法(附代码解析)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久久久久久久久电影 | 人人要人人澡人人爽人人dvd | 国产日产亚洲精华av | 久久久久国产成人精品亚洲午夜 | 中文在线字幕观看电影 | 日本黄色免费观看 | 欧美亚洲xxx | 成人在线免费视频 | 日本中文字幕视频 | 永久免费毛片 | 一级黄网| 黄色av一级片| av免费网站在线观看 | 亚洲片在线观看 | 91精品国产九九九久久久亚洲 | 免费精品国产va自在自线 | 欧美日韩中字 | 91视频在线播放视频 | 中字幕视频在线永久在线观看免费 | 中国美女一级看片 | 国产精品久久久久久久av大片 | 又黄又刺激又爽的视频 | 日韩理论在线观看 | 日韩在线免费小视频 | 日韩色综合 | 欧美日韩在线视频一区 | 免费三级黄 | 精品国产一区二区三区四 | 99久久久久久国产精品 | 色婷久久| 免费在线观看国产精品 | 久久久观看 | 国产高清视频在线播放一区 | 日本一区二区免费在线观看 | 人人爽人人爽 | 日日躁天天躁 | 亚洲午夜精 | 国产高清在线一区 | 中文在线免费视频 | 高清不卡一区二区三区 | 国产一区二区三区高清播放 | 久久久久北条麻妃免费看 | 国产无遮挡又黄又爽馒头漫画 | 亚洲最大激情中文字幕 | 在线中文字幕视频 | 国产美女在线观看 | 国产精品人成电影在线观看 | 日本中文在线播放 | 狠狠色2019综合网 | 黄污网站在线 | 在线网站黄 | 狠狠黄 | 超碰av在线播放 | 在线观看视频在线观看 | 99久久精品久久久久久动态片 | 国产91av视频在线观看 | 国产中的精品av小宝探花 | 亚洲国产成人精品在线 | 日日天天干 | 午夜精品福利一区二区 | www亚洲视频 | 国产成人av一区二区三区在线观看 | 亚洲黄色三级 | 久久久久久久久久电影 | 成人性生交大片免费看中文网站 | 久久天天躁夜夜躁狠狠85麻豆 | 国产精品久久一区二区三区, | 激情视频二区 | 91最新网址在线观看 | 精品国产一区二区三区四 | 亚洲精品99| 国产精品久久 | 亚洲精品成人 | 国产成人精品一区二区三区福利 | 日本二区三区在线 | 久久在线免费观看视频 | 中文av影院| 亚洲va男人天堂 | 国产免费高清视频 | 日本中文字幕在线看 | www.亚洲视频.com | 最近的中文字幕大全免费版 | 日韩视频在线不卡 | 成人四虎影院 | 久久久久久高潮国产精品视 | 国产黄a三级三级 | 欧美-第1页-屁屁影院 | 欧美在线一 | 日韩免费在线观看视频 | 国产久视频 | 在线精品一区二区 | 中文资源在线官网 | 亚洲国产经典视频 | 一区二区三区久久精品 | 免费国产在线视频 | 久久人人看 | 国产99re| 在线观看91 | 亚洲精品影院在线观看 | 亚州欧美精品 | 国产永久免费高清在线观看视频 | 久久精品网站免费观看 | 日韩乱色精品一区二区 | 在线看片日韩 | 911香蕉视频 | 亚洲国产中文在线 | www国产一区 | 国内揄拍国产精品 | 婷婷九月丁香 | 国产黄色av影视 | 免费日韩| 国产精品免费麻豆入口 | 视频一区二区视频 | 成人免费色 | 免费开视频 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 99在线观看视频 | 欧美小视频在线 | 日韩欧美高清在线观看 | 成人av中文字幕在线观看 | 亚洲日本韩国一区二区 | 特级黄色视频毛片 | 看av在线| 国产原创在线视频 | 黄色av一级 | 久久国产一区二区三区 | 国产精品欧美久久久久无广告 | 黄色小网站在线观看 | 久久久久免费 | 97在线观看免费高清完整版在线观看 | 亚洲成aⅴ人片久久青草影院 | 国产日韩视频在线观看 | 91九色精品国产 | 国产精品 中文在线 | 成人av电影免费在线播放 | 成人av.com| 天天色天天操综合 | 久久久久久草 | 精品久久久久久综合 | 中文av日韩 | 欧美日韩在线视频一区二区 | 天堂av在线中文在线 | a久久免费视频 | 99久久婷婷国产综合精品 | av观看在线观看 | 俺要去色综合狠狠 | 久久精品国产精品亚洲 | 天天干夜夜操视频 | 欧美小视频在线观看 | 国产免费精彩视频 | 五月婷婷香蕉 | 国产精品久久9 | 日韩国产欧美在线播放 | 偷拍精偷拍精品欧洲亚洲网站 | 久久国产女人 | 国产精品久久电影观看 | 揉bbb玩bbb少妇bbb | 国产五月色婷婷六月丁香视频 | 永久免费av在线播放 | 日韩视频在线一区 | 日韩久久影院 | 日日爱网站 | 国产91精品久久久久 | 欧美美女激情18p | a'aaa级片在线观看 | 天天综合网久久综合网 | 亚洲欧美怡红院 | 美女视频黄频大全免费 | 97在线观看免费视频 | 国产精品久久久久久久婷婷 | 国产97视频在线 | 日韩美女黄色片 | 国产高清永久免费 | 久久视讯| 制服丝袜在线 | 丁香婷婷自拍 | 免费特级黄毛片 | 在线影视 一区 二区 三区 | av大片免费看 | 97国产大学生情侣白嫩酒店 | 免费看麻豆 | 日韩黄视频 | 国产成人在线综合 | 国产精品18久久久久久vr | 欧美一二在线 | 最新91在线视频 | 国产99在线免费 | av在线进入| 亚洲成人资源在线观看 | 国产清纯在线 | 国产亚洲精品久久久久久久久久 | 国产69精品久久99不卡的观看体验 | 中文在线a√在线 | 亚洲国产wwwccc36天堂 | 中文字幕色在线视频 | 国产手机视频在线观看 | 99视 | 99视频精品视频高清免费 | 色综合久久中文综合久久牛 | 97精品免费视频 | 91精品在线视频观看 | 日日干天天爽 | 久久午夜电影网 | 日韩欧美视频一区二区三区 | 91精品国产成人www | 综合在线亚洲 | 在线视频 国产 日韩 | 久久99热这里只有精品国产 | 在线黄色av电影 | 国产在线观看你懂得 | 国产一级大片免费看 | 婷婷亚洲激情 | 欧美一级日韩三级 | 久久久国产一区二区三区四区小说 | 国产精品久久一区二区三区不卡 | 国产精品6999成人免费视频 | 一区二区三区免费在线观看视频 | 亚洲精品tv久久久久久久久久 | 综合色在线观看 | 国产最新福利 | 久久久99精品免费观看乱色 | 国产午夜精品一区二区三区四区 | www操操操 | 911久久香蕉国产线看观看 | 欧美美女视频在线观看 | 黄色av播放 | 国产xx在线 | 日本久久精 | 亚洲最新毛片 | 久久久免费精品 | 亚洲天堂激情 | 天无日天天操天天干 | 国产玖玖在线 | 日本中文字幕影院 | 99久久99久久精品国产片果冰 | 高清av在线 | 免费的成人av | 国产视频在线观看一区 | 91亚色视频在线观看 | 亚洲免费av网站 | 日韩精品视频网站 | 午夜丰满寂寞少妇精品 | 日本公妇在线观看高清 | 色综合五月 | 久久99精品国产麻豆宅宅 | 91成人在线网站 | 五月天天av| 亚洲精品在线播放视频 | 亚洲激情视频在线 | 国产成在线观看免费视频 | 玖玖在线免费视频 | 久9在线 | 国产精品综合久久久久 | 91综合在线| 免费在线色 | 美女免费视频一区二区 | 免费看片色 | 91天堂素人约啪 | 久久视讯| 日韩在线播放av | 少妇做爰k8经典 | 最新中文在线视频 | 免费看v片网站 | 999超碰| 99久久综合国产精品二区 | 最新日韩在线观看视频 | 国产成人精品久久 | 中文字幕第一页在线播放 | 中文字幕在线观看播放 | 日韩中文字幕91 | 在线观看午夜 | 热99在线视频 | 日韩高清三区 | 韩国三级在线一区 | 国产一级黄色av | 免费在线观看a v | 欧美成人在线免费 | 337p欧美| 欧美极度另类性三渗透 | 久久综合9988久久爱 | 亚洲精品中文字幕视频 | 久久精品视频在线播放 | 亚洲人成网站精品片在线观看 | 天天躁日日躁狠狠 | 免费精品在线观看 | 亚洲在线成人精品 | 在线视频观看成人 | 亚洲精品视频在线 | 日韩在线视频看看 | 91在线免费视频 | 亚洲精品小视频 | 男女靠逼app | 91久久精品日日躁夜夜躁国产 | 黄色大全视频 | 亚洲欧洲一区二区在线观看 | 天天综合网久久综合网 | 国产最新在线视频 | 九九九在线观看视频 | 最近高清中文字幕 | 中文字幕精品www乱入免费视频 | 日韩一级片大全 | 天天操天天干天天操天天干 | 国产精品精品久久久久久 | 日韩午夜剧场 | 天天干天天操天天 | 激情五月六月婷婷 | 亚洲在线视频免费观看 | 久久久久久久久久网站 | 日韩电影一区二区三区 | 四虎成人免费影院 | 国产精品视频免费在线观看 | 91精品视频在线免费观看 | 999视频在线播放 | 中文字幕在线视频国产 | 国产69精品久久久久久久久久 | 国产精品久久久久久久久久三级 | 美女视频网 | 亚洲国产播放 | 亚洲国产免费网站 | 国产精品18久久久久久不卡孕妇 | 91九色蝌蚪在线 | 欧美午夜一区二区福利视频 | 国产又粗又猛又色 | 四虎影视精品永久在线观看 | 日韩三级精品 | 97免费中文视频在线观看 | 欧美精品做受xxx性少妇 | 五月婷综合 | 国产精品色视频 | 久久这里只有精品1 | 久草资源在线 | 四虎成人精品永久免费av | av资源网在线播放 | 日韩一级理论片 | 一区二区三区免费在线观看 | 在线日本看片免费人成视久网 | 丁香久久久 | www成人av| 久久精品最新 | 麻花豆传媒mv在线观看 | 激情久久一区二区三区 | av在线免费播放 | 伊人亚洲综合 | 亚洲精品视频免费在线观看 | 在线观看国产麻豆 | 色婷婷亚洲综合 | 一级黄色片在线观看 | 激情久久综合 | 国产韩国日本高清视频 | 国产精品刺激对白麻豆99 | 久久艹艹 | 久久这里只精品 | 免费91在线观看 | 国产成人三级 | 亚洲欧洲精品久久 | 日本在线观看一区二区 | 中文字幕亚洲不卡 | 欧美国产精品久久久久久免费 | 久草免费电影 | 天天操天天操天天干 | 91爱爱免费观看 | 婷婷色伊人 | 国产乱码精品一区二区三区介绍 | 97超级碰碰碰视频在线观看 | 欧美激情精品久久 | 7799av| 国产福利免费在线观看 | 日韩中文字幕第一页 | 91超碰在线播放 | 偷拍精偷拍精品欧洲亚洲网站 | 玖玖爱在线观看 | 在线观看理论 | 天天操夜夜做 | 免费的黄色av | 日韩av进入 | 亚洲天堂在线观看完整版 | 在线观看黄色的网站 | 国产在线观看免 | 亚洲欧美日韩精品久久奇米一区 | 亚洲国产综合在线 | 天天干天天射天天插 | www.国产精品 | 91av大全 | 精品国产视频在线 | 色婷婷一区 | 91精品国产综合久久久久久久 | 久久99亚洲精品 | 日韩xxxx视频 | 中文字幕免费成人 | 日韩免费一区二区三区 | 天天操综合 | 亚洲精品在线国产 | 中文av不卡 | 午夜精品一区二区三区四区 | 69国产在线观看 | 国产69精品久久99不卡的观看体验 | 视频国产在线观看18 | va视频在线观看 | 精品一二区 | 中文字幕第一页av | 日韩av资源站| 91九色网站 | 日韩欧美国产免费播放 | 在线观看中文字幕 | 欧美 日韩 国产 中文字幕 | 日韩网站在线看片你懂的 | 欧美日韩免费在线视频 | 一级淫片在线观看 | 午夜免费视频网站 | 国产在线观看国语版免费 | 日日夜日日干 | 日产乱码一二三区别在线 | 国产精品丝袜久久久久久久不卡 | 国产成人一区二区啪在线观看 | 日本一区二区高清不卡 | 91久久人澡人人添人人爽欧美 | 久久99亚洲精品久久久久 | 成人h在线播放 | 黄色免费网战 | 亚洲精品女人 | 九九欧美 | 天天曰夜夜爽 | 日本久久久久久 | 亚洲精品中文字幕视频 | 黄色av大片| 激情丁香 | aaa日本高清在线播放免费观看 | 久久电影国产免费久久电影 | 亚洲精选在线 | 操操操综合 | 欧美精品午夜 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产精品美女久久久久aⅴ 干干夜夜 | 97热视频 | 最新av网站在线观看 | 国产资源在线观看 | 久久久观看 | 91精品网站在线观看 | 天天操天天干天天操天天干 | 成人毛片一区二区三区 | 天天爽夜夜爽人人爽一区二区 | a黄色片在线观看 | 亚洲色图激情文学 | 日韩av午夜| 91精品国产三级a在线观看 | 激情深爱五月 | 久热超碰| 91在线porny国产在线看 | 久草视频免费在线播放 | 成人黄色毛片视频 | 97夜夜澡人人双人人人喊 | 在线观看免费 | 日韩精品久久久久久 | 久久一区二区三区超碰国产精品 | 国产精品成久久久久 | jizz999| 欧美日本不卡高清 | 午夜电影久久 | 国产免码va在线观看免费 | 蜜臀久久99精品久久久无需会员 | 国产天天综合 | 456成人精品影院 | 五月天网站在线 | 国产亚洲成av片在线观看 | 国产亚洲成人网 | 99麻豆久久久国产精品免费 | 国产精品亚洲视频 | 久久久在线观看 | 欧美在线观看视频一区二区三区 | 国产一区精品在线观看 | 欧美日韩中文另类 | 久久草网 | 亚洲欧美日韩精品一区二区 | 中文字幕亚洲字幕 | 亚洲女人天堂成人av在线 | 亚洲国产三级在线 | 国产伦精品一区二区三区无广告 | 久久综合九色综合97婷婷女人 | 99精品国产亚洲 | 97超碰在线久草超碰在线观看 | 91成人精品一区在线播放69 | 日韩午夜剧场 | 69精品在线 | 二区三区精品 | 人人干天天干 | 色婷婷狠狠操 | 国产成人精品久久久久蜜臀 | 日韩免费一级电影 | 91九色蝌蚪视频网站 | 超碰在线最新地址 | 久久99精品久久久久久 | 欧美黄在线 | 91国内在线| 日韩av免费观看网站 | 成人在线观看资源 | 久久精品91视频 | 久久久影院一区二区三区 | 欧美日韩在线免费视频 | 天堂激情网 | 婷婷六月激情 | 99在线高清视频在线播放 | 国产在线观看91 | 国产一线二线三线性视频 | www..com黄色片 | 一区二区三区四区精品 | 亚洲一区久久久 | www.香蕉视频 | 欧女人精69xxxxxx | 18岁免费看片 | 久久精品香蕉 | 亚州av成人| 国产韩国精品一区二区三区 | 欧美做受高潮 | 九九久久婷婷 | 亚洲精品乱码久久久久久久久久 | 色精品视频 | 麻豆国产精品va在线观看不卡 | 亚洲伊人成综合网 | 91福利视频网站 | 国产黄色高清 | 欧美天天综合网 | 国产日韩欧美在线 | 久久综合色婷婷 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 精品专区一区二区 | 久久综合九色综合97_ 久久久 | 日韩中文字幕免费在线观看 | 免费网站在线观看成人 | 精品久久久999 | 麻豆视频免费入口 | 国产精品一区二区av麻豆 | 成人在线视频一区 | av免费观看网站 | 亚洲精品1区2区3区 超碰成人网 | 国产中文字幕一区 | 欧美日韩精品在线免费观看 | 日本不卡视频 | 99国产情侣在线播放 | 日韩高清免费电影 | 久久久久久久久久久成人 | 97自拍超碰 | 日韩久久精品 | 91精品国产欧美一区二区成人 | 欧美日韩不卡一区二区 | 99在线视频观看 | 粉嫩av一区二区三区四区 | 婷婷激情五月 | 欧美日韩不卡一区 | 91重口视频 | 亚洲天堂网视频 | 亚洲精品乱码久久久久久蜜桃不爽 | 日韩r级电影在线观看 | 午夜婷婷网 | 久久综合久久综合这里只有精品 | 天天插狠狠插 | 亚洲精品视频在线观看网站 | 午夜视频在线观看一区二区三区 | 亚洲精品国精品久久99热一 | 中文字幕丝袜美腿 | 久久热首页 | 日韩免费看的电影 | 91色视频 | 国产一区二区精品久久 | 天天操天天操天天操天天操天天操 | 日韩av电影手机在线观看 | 97超碰资源 | 久久tv| 99精品久久99久久久久 | 在线观看911视频 | 精品国产一区二区三区蜜臀 | 亚洲精品大片www | 欧美精品在线视频观看 | 亚洲国产97在线精品一区 | 日韩亚洲在线观看 | 久久久久久久久久久久久国产精品 | 久久久91精品国产一区二区三区 | 岛国大片免费视频 | 国产黄免费看 | 美女久久久久久久久久 | 久久草 | 特级黄色片免费看 | 亚洲精品在线网站 | 亚洲精区二区三区四区麻豆 | 久久久午夜精品福利内容 | 久久极品 | 国产精品毛片一区 | 日本中文字幕影院 | 欧美国产大片 | 国产成人久久av免费高清密臂 | 91九色蝌蚪在线 | 九九视频免费 | 日韩av在线网站 | 欧美日韩国产一区二区在线观看 | 亚洲成aⅴ人片久久青草影院 | 91精品欧美一区二区三区 | 国产一区二区精品 | 国产精品99久久久久久久久久久久 | 久久九九久久精品 | 亚洲第一av在线播放 | 超碰97.com| 色婷婷国产精品一区在线观看 | 国产午夜精品一区二区三区欧美 | 欧美精品一区二区蜜臀亚洲 | 夜夜澡人模人人添人人看 | 99视频在线精品国自产拍免费观看 | 免费日韩视频 | 国产日本高清 | 在线播放日韩av | 99精品99 | 男女靠逼app | 国产xx视频 | 国产小视频福利在线 | 国产精品综合在线观看 | 在线观看中文字幕第一页 | 日韩免费视频线观看 | 69av国产 | 婷婷在线视频 | 五月婷婷欧美 | 狠狠操欧美 | 日本成址在线观看 | 日韩精品视频免费在线观看 | 啪一啪在线 | 人人干,人人爽 | 免费特级黄色片 | 国产专区视频在线观看 | 天天爱天天干天天爽 | 蜜臀av性久久久久av蜜臀妖精 | 亚洲清纯国产 | 在线www色 | 久久国产精品二国产精品中国洋人 | 国产精品久久久99 | 麻豆91精品91久久久 | 中文字幕日韩一区二区三区不卡 | 在线免费观看视频一区 | av在线播放免费 | 国内小视频 | 国产又粗又猛又爽又黄的视频免费 | 亚洲精品乱码久久久久久蜜桃动漫 | 国产精品久久久久久五月尺 | 亚洲人成人在线 | 久草视频在线新免费 | 久久不射电影院 | 亚洲黄色免费观看 | 国产中文字幕大全 | 最近字幕在线观看第一季 | 亚洲午夜剧场 | 九九热只有这里有精品 | 成人国产精品久久久 | 日韩一区二区在线免费观看 | 亚州欧美精品 | 毛片网站在线 | 亚洲另类久久 | 中文字幕乱码电影 | 这里只有精品视频在线观看 | av色影院 | 狂野欧美激情性xxxx欧美 | 中文字幕网站 | 欧美激情综合色 | 最近中文字幕第一页 | 99久久精品国产一区二区成人 | 久操久| 久久美女免费视频 | 亚洲午夜av久久乱码 | 国产在线中文字幕 | 久久久久国产精品一区二区 | 久久看片网站 | 99精品欧美一区二区蜜桃免费 | 狠狠色香婷婷久久亚洲精品 | 丁香六月综合网 | 日韩免费电影网 | 一本—道久久a久久精品蜜桃 | 91九色最新| 国产原创在线视频 | 黄色福利网 | 亚洲成人av片在线观看 | 精品国产一区二区三区久久影院 | 日韩在线免费视频观看 | 国产精品一区在线观看你懂的 | 88av网站 | 偷拍福利视频一区二区三区 | 狠狠色综合网站久久久久久久 | 亚洲韩国一区二区三区 | 超碰人人在 | 亚洲一一在线 | 成av人电影 | 久久久亚洲电影 | 日韩在线播放欧美字幕 | av大片免费在线观看 | 久久综合久久综合这里只有精品 | 亚洲一级片 | 日韩伦理片hd | 婷婷网在线 | 国产视频精品网 | 天天插日日射 | 欧美精品一区二区三区一线天视频 | 日韩在线视频网址 | 日韩黄色免费在线观看 | 97色涩 | 丝袜精品视频 | 97国产大学生情侣白嫩酒店 | 久久艹艹 | 国产在线国偷精品产拍 | 亚洲乱码在线 | 国产精品久久久 | 久久久久一区二区三区 | 黄色免费网站下载 | 中国一 片免费观看 | 国产精品嫩草影院99网站 | 人人揉人人揉人人揉人人揉97 | 国产精品欧美久久久久无广告 | 国产三级视频在线 | 狠狠色丁香婷婷综合基地 | av在线专区 | 欧美日韩精品综合 | 久久久久久久久久久久影院 | 国产91免费看 | 黄色字幕网 | 日韩精品aaa| 欧美日韩精品在线免费观看 | 亚洲视频在线免费看 | 探花视频网站 | 在线免费观看黄色 | 日本三级久久 | 在线观看不卡的av | 日本成人中文字幕在线观看 | 日日干av | 精品国内 | 最近中文字幕高清字幕在线视频 | 黄色av电影网 | 欧美精品在线一区 | 久久伊人婷婷 | 深爱激情婷婷网 | 国产xx视频| 国产精品免费久久久久久 | 国产成人精品一区二三区 | 国产精品久久久久免费观看 | 亚洲精区二区三区四区麻豆 | 国产老熟| 丁香六月婷| 91麻豆精品国产91久久久使用方法 | 97成人资源站| 国产精品美女免费 | 人人澡人摸人人添学生av | 久久婷婷综合激情 | 久久国产精品99国产 | 五月综合网 | 超碰伊人网| 超碰电影在线观看 | 天天插日日插 | 99在线观看 | 精品成人久久 | 深爱激情综合网 | 国内视频 | 国产视频一区在线播放 | 国产精品99精品久久免费 | 五月丁色| 欧美精品久久久久久久亚洲调教 | 久久久精品久久日韩一区综合 | 91av视频 | 天天干夜夜擦 | 最新国产在线观看 | 看av在线| 国产精品男女啪啪 | 粉嫩av一区二区三区入口 | 国产精品久久久久久久久久久免费 | 国产aa免费视频 | 9999免费视频| 日韩视频免费 | 五月婷久久 | 日韩免费播放 | 不卡的av电影在线观看 | 日韩av成人在线观看 | 免费视频久久久久久久 | 又污又黄网站 | 91在线麻豆| 亚洲视频 在线观看 | 欧美黄色成人 | 91插插插免费视频 | 成人在线播放网站 | 日韩a级免费视频 | 国产精品麻豆果冻传媒在线播放 | 在线观看国产一区 | www.国产在线| www.久草视频 | 成人免费在线观看入口 | 精品嫩模福利一区二区蜜臀 | 在线观看精品一区 | 日韩影视精品 | 在线观看亚洲国产精品 | 99热只有精品在线观看 | 婷婷av资源| 精品国产一区二区三区久久久 | 国产黄色一级片 | 天天草天天摸 | 97视频在线免费 | 国产精品免费久久久 | 三级黄色理论片 | 99色在线观看 | 一级成人免费 | 日本中文字幕免费观看 | 亚洲黄色在线免费观看 | 2023国产精品自产拍在线观看 | 成片人卡1卡2卡3手机免费看 | 亚洲成人资源在线 | 久久成人免费电影 | 干狠狠| 国内精品久久久久影院优 | 丁香五月亚洲综合在线 | 成人免费视频在线观看 | 久久久久久久久久久久久久免费看 | 日本女人在线观看 | 日韩xxxx视频 | 久久成人一区二区 | 久久精品2 | 久久精品免费观看 | 国产精品igao视频网网址 | 久久国产亚洲精品 | 免费性网站 | 亚洲1级片 | 亚洲精品资源在线观看 | 精品国产乱码久久久久久久 | 国产精品毛片久久久久久久 | 81精品国产乱码久久久久久 | 99热网站| 日韩久久久久久久 | 亚洲一区二区麻豆 | av成人亚洲| 久久人人97超碰国产公开结果 | 很黄很黄的网站免费的 | 国产美女在线观看 | 亚洲六月丁香色婷婷综合久久 | 一区二区精 | 九色91视频| 国产成人一区二区啪在线观看 | 91免费的视频在线播放 | 丁香六月在线观看 | 青青久视频 | 久久视频一区二区 | 91传媒在线| www麻豆视频 | 天天干天天天 | 黄色大片日本 | 久久亚洲区 | 蜜桃视频色 | 日韩 在线 | 中文字幕在线视频精品 | 波多野结衣在线视频免费观看 | 国产一区视频在线观看免费 | 久久精品视频日本 | 国产精品乱码久久 | 欧美色婷 | 91精品啪在线观看国产线免费 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线观看日韩国产 | 看v片 | 日韩精品视频久久 | av日韩精品| 在线观看免费成人av | 在线视频 区| 久久久麻豆精品一区二区 | 欧美韩日在线 | 91最新网址在线观看 | 日韩精品第一区 | 欧美日韩精品在线免费观看 | 亚洲丝袜中文 | 久久伊人精品一区二区三区 | 国产精品久久久久婷婷二区次 | 国产涩涩在线观看 | 美女av免费 | 五月婷婷综合激情 | 日韩在线免费看 | 夜夜骑日日 | 国产福利在线不卡 | 黄色av免费看| 天天做天天射 | 九九热视频在线免费观看 | 日韩av片免费在线观看 | 国产精品免费观看网站 | 欧美极品xxx| 狠狠狠狠狠狠干 | 婷婷丁香色 | 最新日韩视频 | 韩国视频一区二区三区 | 色资源网在线观看 | 九九视频网站 | 国产亚洲成人精品 | 一区二区三区视频网站 | 久久精品1区| 五月婷婷久久综合 | 国产成人精品在线观看 | 国产成人在线播放 | 四虎视频| 国产 成人 久久 | 在线精品观看国产 | 青青草国产精品 | av大片免费 | 色偷偷av男人天堂 | 国产精品一区二区精品视频免费看 | 丁香激情五月 | 色五月激情五月 | 在线婷婷 | 激情五月开心 | 91在线在线观看 | 在线网址你懂得 | 国产小视频在线免费观看视频 | 97精品国产97久久久久久粉红 | 青青河边草免费直播 | 国产一二区视频 | 日韩午夜小视频 | 婷婷精品进入 | 欧美韩国日本在线 | www.伊人网| 中文字幕 婷婷 | 中文字幕在线观看网站 | 午夜精品一区二区三区免费 | 成人一区在线观看 | 久草在线免费新视频 | 亚洲精品视频在线观看网站 | 97国产精品 | 中文字幕电影高清在线观看 | 日韩午夜精品福利 | 九九热精品视频在线播放 | 久久久久久久久久久久国产精品 | 一区二区激情视频 | 中文字幕一区在线 | 黄色网www | 久久视精品 | 国产成人精品一区二区在线观看 | 极品久久久久久久 | 亚洲欧美日韩国产一区二区三区 | 国产97av| 欧美日韩在线播放一区 | 国产一区二区三区四区大秀 | 国产在线播放不卡 | www.国产在线视频 | 狠狠操夜夜| 久久伊人91 | 国精产品999国精产品岳 | 91精品国产欧美一区二区 | 西西444www大胆高清图片 | 激情五月婷婷综合网 | av在线免费观看黄 | 国产三级精品三级在线观看 | av中文字幕在线观看网站 | 在线视频观看你懂的 | 免费看成人片 | 丰满少妇在线观看资源站 | 婷婷夜夜 | 免费看的黄色网 | 色香蕉在线视频 | 久久午夜色播影院免费高清 | 蜜臀av麻豆 | 精品视频在线免费 | 久久黄色免费视频 | 国内成人精品视频 | 91麻豆免费视频 | 亚洲国产小视频在线观看 | 成人免费观看在线视频 | 黄色精品免费 | 亚洲 欧美变态 另类 综合 | 91av在线电影 | 亚洲综合色丁香婷婷六月图片 | 中文字幕免费久久 | 欧美一级片在线播放 | 国产在线视频一区 | 99热国内精品 | 欧美日韩一区三区 | 亚洲欧美成人 | 欧美另类v | 伊人欧美| 特级毛片在线观看 | 国产免费又爽又刺激在线观看 | 天天干天天想 | 国产一区免费观看 | 成人午夜电影免费在线观看 | av电影免费在线播放 | www.国产高清 | 免费成人看片 | 精品日韩在线一区 | 在线亚洲欧美日韩 | 国产v视频 | 亚洲视频免费在线观看 | 日韩一二区在线 | 国产高清中文字幕 | 偷拍区另类综合在线 | 九九免费在线观看视频 | av在线电影播放 | 欧美精品久久久久久久久久久 | 在线免费精品视频 | 精品国产一区二区久久 | 国产三级香港三韩国三级 | 成 人 免费 黄 色 视频 | 免费人成在线观看网站 | 成 人 黄 色 片 在线播放 | 亚洲精品影视在线观看 | 最新av网址在线观看 | 99精品在线视频观看 | 日日日操操|