作者 | 李秋鍵 責編 | 歐陽姝黎影象修復是計算機視覺領域的一個重要任務,在數字藝術品修復、公安刑偵面部修復等種種實際場景中被廣泛應用。影象修復的核心挑戰在於為
2021-06-22 03:03:56
影象修復是計算機視覺領域的一個重要任務,在數字藝術品修復、公安刑偵面部修復等種種實際場景中被廣泛應用。影象修復的核心挑戰在於為缺失區域合成視覺逼真和語義合理的畫素,要求合成的畫素與原畫素具有一致性。
PyTorch 模組。PyTorch 是一個基於 Torch 的 Python 開源機器學習庫,用於自然語言處理等應用程式。它主要由 Facebookd 的人工智慧小組開發,不僅能夠 實現強大的 GPU 加速,同時還支援動態神經網路,這一點是現在很多主流框架如 TensorFlow 都不支援的。PyTorch提供了兩個高階功能:1.具有強大的 GPU 加速的張量計算(如Numpy) 2.包含自動求導系統的深度神經網路 除了 Facebook 之外,Twitter、GMU 和 Salesforce 等機構都採用了 PyTorch。
pillow 模組。Pillow 是Python裡的影象處理庫(PIL:Python Image Library),提供了了廣泛的檔案格式支援,強大的影象處理能力,主要包括影象儲存、影象顯示、格式轉換以及基本的影象處理操作等。
Numpy 模組。Numpy 是應用 Python 進行科學計算時的基礎模組。它是一個提供多維陣列物件的 Python 庫,除此之外,還包含了多種衍生的物件(比如掩碼式陣列(masked arrays)或矩陣)以及一系列的為快速計算陣列而生的例程,包括數學運算,邏輯運算,形狀操作,排序,選擇,I/O,離散傅立葉變換,基本線性代數,基本統計運算,隨機模擬等等。
collections 這個模組實現了特定目標的容器,以提供 Python 標準內建容器 dict、list、set、tuple 的替代選擇。Counter:字典的子類,提供了可雜湊物件的計數功能;defaultdict:字典的子類,提供了一個工廠函數,為字典查詢提供了預設值;OrderedDict:字典的子類,保留了他們被新增的順序;namedtuple:創建命名元組子類的工廠函數;deque:類似列表容器,實現了在兩端快速新增(append)和彈出(pop);ChainMap:類似字典的容器類,將多個對映集合到一個視圖裡面。
model = networks.UNet(in_channels=1, out_channels=1, depth=4, conv_num=2, wf=6, padding=True, batch_norm=True, up_mode="upsample",with_tanh=False, sync_bn=True, antialiasing=True,
)
for image_name in imagelist:
idx += 1
image_name)
results = []
scratch_image = Image.open(os.path.join(config.test_path, image_name)).convert("RGB")
h = scratch_image.size
transformed_image_PIL = data_transforms(scratch_image, config.input_size)
scratch_image = transformed_image_PIL.convert("L")
scratch_image = tv.transforms.ToTensor()(scratch_image)
scratch_image = tv.transforms.Normalize([0.5], [0.5])(scratch_image)
scratch_image = torch.unsqueeze(scratch_image, 0)
scratch_image = scratch_image.to(config.GPU)
P = torch.sigmoid(model(scratch_image))
P = P.data.cpu()
tv.utils.save_image(
>= 0.4).float(),
image_name[:-4] + ".png",),
nrow=1,
padding=0,
normalize=True,
)
image_name[:-4] + ".png"))
2.2 局部臉部修復加強
臉部特徵的加強使用pixpix2模型對臉部二次修復。其中, Pix2Pix模型由Isola等於2017年提出, 它由U-Net和PatchGAN組成, 分別充當Pix2Pix模型中的生成器和判別器。該模型使使用者只需提供一個草圖便能生成一個與之對應的高質量影象; 對應到影象著色工作中, 網路接收真實影象的亮度資訊, 對亮度資訊進行特徵提取並預測影象顏色值。
關鍵程式碼:
def create_optimizers(self, opt):
G_params = list(self.netG.parameters())
if opt.use_vae:
G_params += list(self.netE.parameters())
if opt.isTrain:
D_params = list(self.netD.parameters())
beta1, beta2 = opt.beta1, opt.beta2
if opt.no_TTUR:
G_lr, D_lr = opt.lr, opt.lr
else:
G_lr, D_lr = opt.lr / 2, opt.lr * 2
optimizer_G = torch.optim.Adam(G_params, lr=G_lr, betas=(beta1, beta2))
optimizer_D = torch.optim.Adam(D_params, lr=D_lr, betas=(beta1, beta2))
return optimizer_G, optimizer_D
def generate_fake(self, input_semantics, degraded_image, real_image, compute_kld_loss=False):
z = None
KLD_loss = None
if self.opt.use_vae:
z, mu, logvar = self.encode_z(real_image)
if compute_kld_loss:
KLD_loss = self.KLDLoss(mu, logvar) * self.opt.lambda_kld
fake_image = self.netG(input_semantics, degraded_image, z=z)
assert (
not compute_kld_loss
) or self.opt.use_vae, "You cannot compute KLD loss if opt.use_vae == False"
return fake_image, KLD_loss
def discriminate(self, input_semantics, fake_image, real_image):
if self.opt.no_parsing_map:
fake_concat = fake_image
real_concat = real_image
else:
fake_concat = torch.cat([input_semantics, fake_image], dim=1)
real_concat = torch.cat([input_semantics, real_image], dim=1)
fake_and_real = torch.cat([fake_concat, real_concat], dim=0)
discriminator_out = self.netD(fake_and_real)
pred_fake, pred_real = self.divide_pred(discriminator_out)
return pred_fake, pred_real
原始碼:https://pan.baidu.com/s/1lAzmWvAEyxi6RFsLpA5l_Q
提取碼:osuh
相關文章
作者 | 李秋鍵 責編 | 歐陽姝黎影象修復是計算機視覺領域的一個重要任務,在數字藝術品修復、公安刑偵面部修復等種種實際場景中被廣泛應用。影象修復的核心挑戰在於為
2021-06-22 03:03:56
兩大運營商中國移動和中國聯通都公佈了5月份的運營資料,資料顯示中國移動、中國聯通的淨增5G使用者數分別為1665.1萬戶、752.9萬戶,前者的淨增使用者數兩倍於後者,相比起今年2
2021-06-22 03:03:36
說真的,iOS 15內測版真的不值得更新!至少目前beta 1是這樣,不知道這周或下週推送的beta 2如何,反正iOS 15 beta1實實在在不建議大家去更新。現在就跟大家來聊聊,升級到iOS 15後,出
2021-06-22 03:02:40
按照往年慣例,華為應該在3/4月份就舉辦上半年代表性的P系列旗艦新品釋出會,不過今年由於眾所周知的原因,華為的新一代P50系列旗艦的釋出時間被推遲。前不久,華為召開HarmonyOS及
2021-06-22 03:02:22
【6月22日訊】相信大家都知道,自從國產手機老大哥—華為遭受到「打壓」之後,蘋果、三星、小米、OV等知名手機廠商都紛紛開始加大備貨力度,試圖搶佔華為手機市場份額,其中最為亮
2021-06-22 03:00:58
日前,AMD低調發布了RX 6900 XT LC水冷版,在此前RX 6900 XT的基礎上換用特挑體質的Navi 21 XTXH核心,頻率更高(核心2250-2435MHz/視訊記憶體18GHz),並採用了全新的造型設計、外接
2021-06-22 03:00:05