https://www.youtube.com/watch?v=vMlLgA-nhuY&t=205s
https://github.com/kairess/BSRGAN
빵형의 개발도상국채널에서 본것 중 오늘은 Super Resolution (화질 개선, 화질 향상) + Colorization (흑백사진의 컬러복원)이 매우 흥미로워 보여서 천천히 따라해보며 이해하도록 하겠습니다.
우선 code는 화질 개선을 할수있는 부분은 코드로 설명이 돼있구요.
컬러 복원은 웹페이지에서 제공하는 어플리케이션을 활용하여 하셨더라구요!
https://huggingface.co/spaces/PaddlePaddle/deoldify
https://huggingface.co/spaces/davertor/colorizing_images
총 두개의 어플리케이션 간단하게 소개 해주신것 저도 전달 드리도록 하겠습니다.
자 우리는 그럼 코드를 뜯어볼까요!
엄청 간단해요 사실 이미지 받아주고 학습된 모델로 inference 하면 결과를 받아볼수있습니다.
#필요한 패키지 다운받아주시고요
import torch
import cv2
import os
from utils import utils_image as util
from models.network_rrdbnet import RRDBNet as net
#pretrained model을 다운받아줍니다! http로 시작하는 주소를 입력하면 자동으로 다운받을 수 있습니다!
# https://github.com/cszn/KAIR/releases/download/v1.0/BSRGAN.pth
# `model_zoo/BSRGAN.pth`
#화질개선에 사용할 이미지를 가져와 주시고!
img_path = 'result/j02_color.jpg'
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
#모델 초기화 하고 pretrained weight얹어 줍니다!
model = net(in_nc=3, out_nc=3, nf=64, nb=23, gc=32, sf=4)
model.load_state_dict(torch.load(os.path.join('model_zoo', 'BSRGAN.pth')), strict=True)
model = model.to(device)
model.eval()
#그리고 inference! 하면 끝~
with torch.no_grad():
img = cv2.imread(img_path)
img_L = cv2.cvtColor(img, cv2.COLOR_BGRA2RGB)
img_L = util.uint2tensor4(img_L)
img_L = img_L.to(device)
img_E = model(img_L)
img_E = util.tensor2uint(img_E)
util.imsave(img_E, os.path.splitext(img_path)[0] + '_result.png')
'On Going > Computer Vision' 카테고리의 다른 글
Landmark localization (1) | 2023.12.05 |
---|---|
Segmentations(Instance & Panoptic) (1) | 2023.12.05 |
Object detection (2) | 2023.12.05 |
[Computer Vision] Face detector (0) | 2022.03.16 |
[Computer Vision] 나의 관심 분야 (0) | 2022.03.15 |
댓글