[実験]SRにCannyを入れたらどうなりますか?
9467 ワード
新しいSRモデルを開発するにあたって,種々の実験が行われている.今回はその一つの実験を紹介します.
の名称はFACNN、FASTER、AWESOME CNNによって命名された. 酒場がいくつかあります.
軽量モデル この部分はJetson Xavierのような小型の映像装置にアップロードするため、ネットワークやパラメータの少ないモデルでなければならない.
個性的なモデルです. は軽量なモデルなので、SRのすべてのメリットを持ち去ることができないので、個性的なモデルに限定されています.
最近見たBSRGANのdegradationを見て、わざとinputにノイズを加えたり、SRの後に多くの分解過程が良好な性能を示したりしました.この部分を借りることにしました.
先の考えにわざとエッジを検出するモデルを入れると、エッジがうまく表現されるのではないでしょうか.という考えで、Cannyを利用して、検出した部分をInputに加えることにしました.
ページを登ると、本当に最低限のボリュームネットワークしか使われていません. Deコンボリューション演算子は他の環境では使用できない場合があるため,補間後学習を行った.
ラーニングコードハブ OptimizerはAdam、LossはL 1を使用します. とOptimizer戦略(?)このうちSAMが使用されています. 実験の前にそれぞれDegradeとCanny Degrade法を行った.
Degradation JPEGノイズと一般ISOをランダムに加えた. の結果はモデルが深くないためか,Bicubicに比べてより悪いまたは類似の結果しか得られなかった.
Canny Degradation で事実上良くなるという期待でスタート. ですが、予想とは違います...
はかえってイメージを破壊する惨劇をもたらした.字幕部分を見るとほぼ消えた感じでシルエットが消えていました. 今回の実験は失敗した. しかし、次の実験の考えがまた現れた.comming soon..
開発モデル
ポイント
軽量モデル
個性的なモデルです.
試す
最近見たBSRGANのdegradationを見て、わざとinputにノイズを加えたり、SRの後に多くの分解過程が良好な性能を示したりしました.この部分を借りることにしました.
先の考えにわざとエッジを検出するモデルを入れると、エッジがうまく表現されるのではないでしょうか.という考えで、Cannyを利用して、検出した部分をInputに加えることにしました.
モデルネットワーク構造
import torch
import torch.nn as nn
import torch.nn.functional as F
class FACNN(nn.Module):
"""Some Information about FACNN"""
def __init__(self,scale):
super(FACNN, self).__init__()
self.scale = scale
self.conv1 = nn.Sequential(
nn.Conv2d(3,32,kernel_size=5, stride=1, padding=2, bias=True),
nn.ReLU()
)
self.conv2 = nn.Sequential(
nn.Conv2d(32,64,kernel_size=1, stride=1, padding=0),
nn.Conv2d(64,12,kernel_size=1, stride=1, padding=0),
nn.ReLU()
)
self.conv3 = nn.Sequential(
nn.Conv2d(12,12,kernel_size=3, stride=1, padding=1),
nn.Conv2d(12,3,kernel_size=3, stride=1, padding=1),
nn.ReLU()
)
def forward(self, x):
x = F.interpolate(x,scale_factor=(self.scale, self.scale), mode='bicubic',align_corners=True)
out = self.conv1(x)
out = self.conv2(out)
out = self.conv3(out)
#out = out.squeeze(0).permute(1,2,0).mul(255.0).clamp(0,255.0).type(torch.ByteTensor)
return out
勉強する
ラーニングコードハブ
じっけんけっか
Degradation
Canny Degradation
n/a.結論
Reference
この問題について([実験]SRにCannyを入れたらどうなりますか?), 我々は、より多くの情報をここで見つけました https://velog.io/@datapro9207/실험-SR에-Canny를-넣으면-어떻게-될까テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol