Aprendizagem pessoal com IA
e orientação prática
Sapo pintado em alumínio

OPR: a ferramenta de IA que restaura de forma inteligente fotos antigas amareladas e desgastadas

Introdução geral

"Bringing Old Photos Back to Life" é um projeto de código aberto desenvolvido por uma equipe de pesquisadores da Microsoft que se concentra na restauração de fotos antigas usando a tecnologia de IA. Ele se baseia em uma abordagem de aprendizagem profunda que pode lidar com problemas graves de degradação em fotos, como arranhões, borrões e desbotamento, para trazer imagens históricas de volta à vida. O projeto foi apresentado como uma apresentação oral na CVPR 2020 (Conferência sobre Visão Computacional e Reconhecimento de Padrões) e recebeu ampla atenção. Os usuários podem acessar o código e os modelos pré-treinados via GitHub, adequados para pesquisa ou necessidades pessoais de restauração de fotos. O projeto não apenas fornece implementações técnicas, mas também inclui documentação detalhada e exemplos para desenvolvedores e amadores.

Experiência on-line em https://colab.research.google.com/drive/1NEm6AsybIiC5TwTU_4DqDkQO0nFRB-uA?usp=sharing


OPR: Ferramenta de IA para restaurar de forma inteligente fotos antigas amareladas e desgastadas-1

 

Lista de funções

  • Melhoria da qualidade geral das fotografias antigasAprimore a nitidez, o contraste e a cor de suas fotos com algoritmos de IA.
  • Reparo automático de arranhõesDetecta e repara arranhões físicos em fotos, restaurando os detalhes originais da imagem.
  • Aprimoramento da área do rostoAjuste fino das áreas do rosto para melhorar a clareza das características faciais.
  • Suporte a alta resoluçãoSuporte ao processamento de fotos de alta resolução para necessidades de restauração profissional.
  • operação da interface do usuárioInterface gráfica de usuário (GUI): fornece uma interface gráfica para simplificar o processo de upload e restauração de fotos.
  • Modelos de treinamento personalizadosPermite que os usuários treinem conjuntos de dados específicos sob demanda, ampliando os cenários aplicáveis.

 

Usando a Ajuda

Processo de instalação

Para usar o "Bringing Old Photos Back to Life", você precisa concluir a configuração do ambiente e a instalação do código. Abaixo estão as etapas detalhadas para o sistema Ubuntu (os usuários do Windows precisam fazer ajustes de acordo com o ambiente):

1. preparação do ambiente

  • Requisitos do sistemaUbuntu: Ubuntu (recomendado) com suporte a GPU Nvidia e CUDA.
  • Versão PythonVerifique se o Python 3.6 ou superior está instalado.
  • Instalação dependente::
    1. Abra um terminal e digite o seguinte comando para instalar as bibliotecas necessárias:
      pip install torch torchvision numpy opencv-python PySimpleGUI
      
    2. Se o suporte à GPU for necessário, certifique-se de que o CUDA e a versão correspondente do PyTorch estejam instalados.

2. download de códigos e modelos

  • armazém de clones::
    git clone https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life.git
    cd Bringing-Old-Photos-Back-to-Life
  • Módulo de padronização de lotes sincronizados::
    1. entrar emFace_Enhancement/models/networks/Catálogo:
      cd Face_Enhancement/models/networks/
      git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
      cp -rf Synchronised-BatchNorm-PyTorch/sync_batchnorm . /
      cd ... /... /... /
      
    2. entrar emGlobal/detection_models/Repita o procedimento para o catálogo:
      cd Global/detection_models/
      git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
      cp -rf Synchronised-BatchNorm-PyTorch/sync_batchnorm . /
      cd ... /.. /
      
  • Download do modelo pré-treinado::
    1. entrar emFace_Enhancement/Catalogue, faça o download de Face Enhancement Models:
      cd Face_Enhancement/
      wget https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/face_checkpoints.zip
      descompactar face_checkpoints.zip
      cd ... /
      
    2. entrar emGlobal/Catálogo, download Modelo de reparo global:
      cd Global/
      wget https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/global_checkpoints.zip
      descompactar global_checkpoints.zip
      cd ... /
      
  • Modelos de detecção de faces::
    1. entrar emFace_Detection/catálogo, faça o download do arquivo de teste:
      cd Face_Detection/
      wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
      bzip2 -d shape_predictor_68_face_landmarks.dat.bz2
      cd . /
      

3. teste de instalação

  • Execute o comando de exemplo para confirmar que o ambiente está correto:
    python run.py --input_folder . /test_images --output_folder . /output --GPU 0
    
  • Se for bem-sucedida, a foto restaurada será salva na pasta. /output/final_output/Catálogo.

Uso

Operando a partir da linha de comando

  1. Preparando a pasta de entradaColoque as fotos antigas a serem restauradas em uma pasta (por exemplotest_images/).
  2. Execute o comando de reparo::
    • Não há reparo de arranhões:
      python run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0
      
    • Contém reparo de arranhões:
      python run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0 --with_scratch
      
  3. Exibir resultadosAs fotos restauradas são salvas automaticamente na pasta de saída especificada (por exemplo, a pasta/path/to/output/final_output/).

Operação via interface GUI

  1. Iniciando a GUI::
    python GUI.py
    
  2. procedimento::
    • Clique no botão "Select Photo" (Selecionar foto) para carregar a foto antiga a ser restaurada.
    • Clique no botão "Modify Photo" (Modificar foto) e aguarde a conclusão do processo (o tempo depende do tamanho da foto e do desempenho do hardware).
    • Quando o processamento é concluído, os resultados são exibidos na interface e salvos no arquivo. /output/Pasta.
    • Clique em "Exit Window" (Sair da janela) para fechar o programa.

Funções em destaque Procedimento de operação

1. reparo de arranhões

  • Cenários aplicáveisRiscos físicos: Há riscos físicos óbvios nas fotos.
  • método operacional::
    1. Na linha de comando, adicione--with_scratchou marque a opção relevante na GUI (se houver suporte).
    2. O sistema detectará automaticamente a área arranhada e a reparará; o processo pode demorar um pouco mais.
    3. Verifique o resultado, a parte riscada deve ser preenchida sem problemas.

2. aprimoramento do rosto

  • Cenários aplicáveisRostos desfocados ou detalhes ausentes nas fotos.
  • método operacional::
    1. seguroFace_Enhancement/Os modelos no diretório são carregados corretamente.
    2. Durante a execução, o sistema reconhece automaticamente a área do rosto e faz o ajuste fino.
    3. Os detalhes dos rostos (por exemplo, olhos, cantos da boca) ficarão mais claros na foto resultante.

3. processamento de alta resolução

  • Cenários aplicáveisNecessidade de corrigir fotos digitalizadas de alta resolução.
  • método operacional::
    1. Na linha de comando, adicione--HRParâmetros:
      python run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0 --HR
      
    2. Observação: Como o modelo é treinado na resolução de 256x256 por padrão, resoluções mais altas podem exigir mais recursos computacionais.

advertência

  • problema do caminhoRecomenda-se o uso de caminhos absolutos (por exemplo/home/user/test_images) para evitar erros.
  • otimização do desempenhoO projeto não foi otimizado para a velocidade operacional e o processamento de fotos grandes pode ser lento.
  • Limite de resoluçãoResolução de 256x256 pixels: Os melhores resultados são obtidos em 256x256 pixels; resoluções maiores podem precisar ser divididas em pedaços.

Com as etapas acima, os usuários podem começar facilmente a restaurar fotos antigas, seja para lembranças pessoais ou para fins de pesquisa, e obter resultados satisfatórios.

CDN1
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " OPR: a ferramenta de IA que restaura de forma inteligente fotos antigas amareladas e desgastadas

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil