Introdução geral
O Thera é uma ferramenta de código aberto para super-resolução de imagens desenvolvida por uma equipe da ETH Zurich e da Universidade de Zurich. Ela pode ampliar imagens de baixa resolução para escalas arbitrárias, como 2x, 3,14x ou até mesmo múltiplos não inteiros, sem serrilhados ou borrados. No centro do Thera está o uso de Neural Heat Fields e um modelo de observação física integrado que imita o processo real de geração de imagens, permitindo detalhes naturalistas da imagem. A ferramenta está disponível gratuitamente no GitHub, e qualquer pessoa pode baixar o código ou usar o modelo pré-treinado.
Endereço de demonstração: https://huggingface.co/spaces/prs-eth/thera
Lista de funções
- Suporte à ampliação de escala arbitrária: você pode definir livremente a ampliação, não se limitando a números inteiros.
- Efeito livre de irregularidades: elimina as irregularidades e a distorção na amplificação por meio da tecnologia Neural Thermal Field.
- Modelo de observação física incorporado: simula o processo real de geração de imagens para aumentar a naturalidade da imagem.
- Suporte de código aberto: os usuários podem modificar o código ou adaptá-lo às suas necessidades.
- Fornece modelos pré-treinados: inclui diversas variantes de redes de backbone EDSR e RDN.
- Operação em várias plataformas: baseado no Python 3.10, suporta sistemas Linux e GPUs NVIDIA.
- Suporte a demonstração local: faça upload de imagens e processe-as em tempo real por meio da interface do Gradio.
Usando a Ajuda
O uso do Thera é dividido em duas partes: instalação e operação. Abaixo estão as etapas detalhadas para garantir que você comece a usá-lo rapidamente.
Processo de instalação
O Thera requer Linux, Python 3.10 e uma GPU NVIDIA. As etapas de instalação são as seguintes:
- Criando o ambiente
Crie um ambiente Python 3.10 com o Conda e ative-o:
conda create -n thera python=3.10
conda activate thera
- Código de download
Clone o projeto Thera do GitHub:
git clone https://github.com/prs-eth/thera.git
cd thera
- Instalação de dependências
Instale as bibliotecas necessárias com o pip:
pip install --upgrade pip
pip install -r requirements.txt
- Download do modelo pré-treinado
O Thera oferece uma variedade de modelos pré-treinados, comothera-rdn-pro.pkl
Você pode fazer o download no Hugging Face ou no Google Drive. Você pode fazer o download no Hugging Face ou no Google Drive. O link está abaixo:
- EDSR Air. Cara de abraço
- RDN Pro. Cara de abraço
Após o download, coloque o arquivo do modelo na pastathera
pasta.
Quando a instalação estiver concluída, o Thera estará pronto para ser executado. Se tiver problemas, você pode usar o comando python run_eval.py -h
Exibir ajuda.
fluxo de trabalho
A principal função do Thera é ampliar a imagem. Aqui estão as etapas exatas:
- Preparação da imagem de entrada
Coloque a imagem a ser ampliada em uma pasta comodata/test_images
Ele é compatível com PNG, JPEG e outros formatos. - Executando a super resolução
Processe a imagem inserindo comandos no terminal:
./super_resolve.py input.png output.png --scale 3.14 --checkpoint thera-rdn-pro.pkl
input.png
é a imagem de entrada.output.png
é a imagem de saída.--scale
Defina a ampliação, por exemplo, 3,14.--checkpoint
Especifica o caminho do modelo pré-treinado.
- arquivo de lote
Se quiser processar várias imagens, você pode usar a opçãorun_eval.py
::
python run_eval.py --checkpoint thera-rdn-pro.pkl --data-dir data --eval-sets test_images
A saída é salva no arquivo outputs
pasta.
Operação da função em destaque
Os destaques do Thera são as escalas arbitrárias e os efeitos sem serrilhado. Aqui está uma descrição detalhada:
- Ampliar em qualquer escala
Você pode definir qualquer ampliação, como--scale 2.5
talvez--scale 3.14
Isso é mais flexível do que as ferramentas tradicionais que só podem selecionar um número fixo de vezes. Isso é mais flexível do que a ferramenta tradicional, que só permite selecionar uma ampliação fixa. Por exemplo, ao aumentar o zoom para 3,14x, o comando é:
./super_resolve.py input.png output.png --scale 3.14 --checkpoint thera-rdn-pro.pkl
- efeito sem serrilhado
O Thera processa as bordas da imagem com a tecnologia de campo térmico neural. Não são necessárias configurações adicionais, e o zoom preserva automaticamente os detalhes e evita serrilhados. Por exemplo, ao aumentar o zoom em uma imagem de texto, as bordas permanecem nítidas. - Modelo de observação física
Esse recurso é incorporado ao modelo e simulará o processo real de geração de imagens. Você não precisa ajustar os parâmetros, o Thera otimizará automaticamente a saída para tornar a imagem mais realista.
Versão de demonstração local
Para ter uma experiência mais intuitiva com o Thera, execute a demonstração do Gradio:
- Clonagem de código de demonstração
git clone https://huggingface.co/spaces/prs-eth/thera thera-demo
cd thera-demo
- Instalação de dependências
pip install -r requirements.txt
- Demonstração de inicialização
python app.py
Abra seu navegador e acesse http://localhost:7860
. Você pode carregar uma imagem na página da Web, ajustar a ampliação e ver o efeito em tempo real.
Recomendações de depuração
Esses parâmetros do XLA podem ser usados se forem encontrados problemas de desempenho:
- Desative a pré-alocação da memória de vídeo:
XLA_PYTHON_CLIENT_PREALLOCATE=false
- Desative a depuração JIT:
JAX_DISABLE_JIT=1
Com essas etapas, você pode processar qualquer imagem com o Thera. Ele é fácil de usar e oferece excelentes resultados.
cenário do aplicativo
- Processamento de imagens de sensoriamento remoto
O Thera pode ampliar imagens obtidas por satélites ou drones. Os pesquisadores podem usá-lo para analisar detalhes do terreno, por exemplo, para monitorar mudanças na cobertura florestal. - Aprimoramento de imagens médicas
O Thera melhora a resolução das imagens de raios X ou de ressonância magnética. Os médicos podem usá-lo para ver lesões mais sutis e melhorar a eficiência do diagnóstico. - Restauração de arte digital
Os artistas podem usar o Thera para ampliar trabalhos de baixa resolução ou fotografias antigas. O zoom em um esboço borrado, por exemplo, resulta em mais detalhes.
QA
- O Thera é compatível com o Windows?
Atualmente, apenas o Linux é compatível, pois depende das GPUs NVIDIA e de ambientes específicos. Os usuários do Windows podem executá-lo em uma máquina virtual. - Há um limite para a ampliação?
Não há limite superior fixo. Entretanto, se a ampliação for muito alta (por exemplo, 10 vezes ou mais), o efeito poderá ser degradado devido à insuficiência de informações na imagem original. - Quando os códigos de treinamento serão liberados?
Oficialmente, o código de treinamento será lançado em breve, em um momento a ser determinado. Você pode acompanhar a página do GitHub para obter atualizações.