Pesquisa resultou em 2 ocorrências

por ceec
02 Set 2019, 15:53
Fórum: Tutoriais
Tópico: UPSCALING com ESRGAN
Respostas: 4
Exibições: 493
Gênero:

Re: UPSCALING com ERSGAN

Adicionado link do tutorial sobre ImageEnhancingUtility.
por ceec
28 Ago 2019, 03:00
Fórum: Tutoriais
Tópico: UPSCALING com ESRGAN
Respostas: 4
Exibições: 493
Gênero:

UPSCALING com ESRGAN

ARQUIVOS PARA BAIXAR

Link do Python 3
https://www.python.org/downloads/

Link do PyTorch >= 1.0 (CUDA version >= 7.5) (note que ">=" refere-se a versão igual ou superior) (se usar GPU nVidia use a versão "CUDA")
https://pytorch.org/

Link da pasta do ESRGAN
https://github.com/xinntao/ESRGAN/tree/ ... b75e1d0e87

Modelos pré-criados (básicos)
https://drive.google.com/drive/u/0/fold ... ccSSlqLecY
 
COMO INSTALAR PYTHON E PYTORCH

Baixe o Python 3 (32 ou 64) e instale. Apos vá até a pasta onde está localizada o "pip"
%UserProfile%\AppData\Local\Programs\Python\Python37\Scripts
Provavelmente será necessário atualizar o pip antes da instalação do PyTorch, para fazer isso basta abrir uma janela de comando na pasta acima (apertando shift e o botão direito do mouse "abra a janela de comando aqui") colocar o seguinte comando:
pip install opencv-python
Abrir uma segunda janela de comando na pasta:
%UserProfile%\AppData\Local\Programs\Python\Python37
Colocar o seguinte comando:
python -m pip install --upgrade pip
Com o pip atualizado, acesse o site do PyTorch, selecione sua versão, no caso a minha é STABLE / WINDOWS / PIP (porque instalarei pelo pip) / PYTHON3.7 (ultima versão) / NONE (none porque não usarei cudas), logo abaixo haverá um comando, basta copiar e executar na primeira janela de comando que você abriu. Você verá que tudo foi instalado, se houver logs de erros há erros.
 
ESRGAN E MODELOS

Apos baixar a pasta "ESRGAN" e os modelos básicos, basta então colocar-los na pasta "models" dentro da pasta "ESRGAN", feito isso você ira substituir o código do arquivo test.py que veio na pasta, cole este novo código nele:

Código: Selecionar tudo

import sys
import os.path
import glob
import cv2
import numpy as np
import torch
import architecture as arch

model_path = sys.argv[1]  # models/RRDB_ESRGAN_x4.pth OR models/RRDB_PSNR_x4.pth
device = torch.device('cuda')  # if you want to run on CPU, change 'cuda' -> cpu
# device = torch.device('cpu')

test_img_folder = 'LR/*'

model = arch.RRDB_Net(3, 3, 64, 23, gc=32, upscale=4, norm_type=None, act_type='leakyrelu', \
                        mode='CNA', res_scale=1, upsample_mode='upconv')
model.load_state_dict(torch.load(model_path), strict=True)
model.eval()
for k, v in model.named_parameters():
    v.requires_grad = False
model = model.to(device)

print('Model path {:s}. \nTesting...'.format(model_path))

idx = 0
for path in glob.glob(test_img_folder):
    idx += 1
    base = os.path.splitext(os.path.basename(path))[0]
    print(idx, base)
    # read image
    img = cv2.imread(path, cv2.IMREAD_COLOR)
    img = img * 1.0 / 255
    img = torch.from_numpy(np.transpose(img[:, :, [2, 1, 0]], (2, 0, 1))).float()
    img_LR = img.unsqueeze(0)
    img_LR = img_LR.to(device)

    output = model(img_LR).data.squeeze().float().cpu().clamp_(0, 1).numpy()
    output = np.transpose(output[[2, 1, 0], :, :], (1, 2, 0))
    output = (output * 255.0).round()
    cv2.imwrite('results/{:s}_rlt.png'.format(base), output)
Agora basta editar 2 linhas, a primeira é a configuração do dispositivo:
device = torch.device('cuda')  # if you want to run on CPU, change 'cuda' -> cpu
Note que a configuração vem setada para CUDA, Se você tiver uma GPU nVidia ñ há necessidade de alterar, mas se você for usar sua CPU como dispositivo basta mudar para CPU "torch.device('cpu')", a segunda linha a ser vista sera a do tamanho de upscaling do modelo:
model = arch.RRDB_Net(3, 3, 64, 23, gc=32, upscale=4, norm_type=None, act_type='leakyrelu', \
Na guia "upscale=" está setado 4x, ou seja esse arquivo test.py poderá executar modelos que foram feitos para aumentar 4x, se você baixar modelos de tamanhos maiores/menores, basta copiar o arquivo test.py e mudar o tamanho para que ele consiga rodar o modelo, sendo assim cada tamanho de modelo terá um arquivo test.py, como os modelos básicos são em 4x, ñ haverá necessidade de editar.
 
EXECUTAR UPSCALING

Com os arquivos test.py configurados e os modelos na pasta, basta então colocar uma imagem na pasta "LR" e executar um comando via CMD, você pode simplesmente abrir uma janela de comando dentro da pasta ESRGAN onde estão contidos os arquivos py, e digitar o comando:
py test.py models/RRDB_PSNR_x4.pth
Note que o comando é muito simples, basta digitar "py" acompanhado do arquivo test.py (compatível com modelo) e o modelo, feito isso aparecerá informações das imagens que estão sendo upscaladas, quando o processo finalizar basta ir na pasta "results" e ver o resultado. Você também pode criar bats com esses comandos, bastando apenas colar em um bloco de notas, salvar como arquivo .bat, assim bastando apenas clicar no arquivo. (note que os bats tem de ficar dentro da pasta, ou com o caminho completo da pasta), Quanto mais modelos você baixar mais opções terá, abaixo deixarei o link do discord e do drive onde contem uma grande variedade.
 
 

Note que qualquer correção/complemento a este "tutorial" é sempre bem vindo, criei o mesmo pela falta de conteúdo sobre, mas há muito mais coisas a serem explicadas, conto com a colaboração de todos.

Tem problemas ao executar upscale em texturas grandes? tente:
f190-tutoriais/t2822-esrgan-com-imageenhancingutility

Voltar para “UPSCALING com ESRGAN”