Connect with us

Inteligência artificial

InstructIR: Restauração de Imagem de Alta Qualidade Seguindo Instruções Humanas

mm
High-Quality Image Restoration Following Human Instructions

Uma imagem pode transmitir muito, mas também pode ser prejudicada por vários problemas, como borramento de movimento, neblina, ruído e baixo contraste. Esses problemas, comumente referidos como degradações em visão computacional de baixo nível, podem surgir de condições ambientais difíceis, como calor ou chuva, ou de limitações da própria câmera. A restauração de imagens representa um desafio fundamental em visão computacional, buscando recuperar uma imagem limpa e de alta qualidade a partir de uma que apresenta tais degradações. A restauração de imagens é complexa porque pode haver múltiplas soluções para restaurar qualquer imagem dada. Algumas abordagens se concentram em degradações específicas, como reduzir o ruído ou remover o borramento ou a neblina.

Enquanto esses métodos podem produzir bons resultados para problemas específicos, eles frequentemente lutam para generalizar para diferentes tipos de degradação. Muitos quadros empregam uma rede neural genérica para uma ampla gama de tarefas de restauração de imagens, mas essas redes são treinadas separadamente. A necessidade de diferentes modelos para cada tipo de degradação torna essa abordagem computacionalmente cara e demorada, levando a um foco em modelos de restauração All-In-One nos desenvolvimentos recentes. Esses modelos utilizam um modelo de restauração cega profundo único que aborda múltiplos níveis e tipos de degradação, frequentemente empregando prompts ou vetores de orientação específicos de degradação para melhorar o desempenho. Embora os modelos All-In-One geralmente mostrem resultados promissores, eles ainda enfrentam desafios com problemas inversos.

O InstructIR representa uma abordagem inovadora no campo, sendo o primeiro quadro de restauração de imagem projetado para guiar o modelo de restauração por meio de instruções escritas por humanos. Ele pode processar prompts de linguagem natural para recuperar imagens de alta qualidade a partir de imagens degradadas, considerando vários tipos de degradação. O InstructIR estabelece um novo padrão de desempenho para uma ampla gama de tarefas de restauração de imagens, incluindo derain, denoise, dehaze, desfoque e melhoria de imagens de baixa luz.

Este artigo visa cobrir o quadro InstructIR em profundidade, e exploramos o mecanismo, a metodologia, a arquitetura do quadro, juntamente com sua comparação com quadros de geração de imagem e vídeo de ponta. Então, vamos começar.

InstructIR: Restauração de Imagem de Alta Qualidade

A restauração de imagens é um problema fundamental em visão computacional, pois visa recuperar uma imagem limpa e de alta qualidade a partir de uma imagem que demonstra degradações. Em visão computacional de baixo nível, degradações é um termo usado para representar efeitos desagradáveis observados dentro de uma imagem, como borramento de movimento, neblina, ruído, baixo contraste e mais. O motivo pelo qual a restauração de imagens é um desafio inverso complexo é porque pode haver múltiplas soluções diferentes para restaurar qualquer imagem. Algumas abordagens se concentram em degradações específicas, como reduzir o ruído ou remover o borramento ou a neblina, enquanto outras podem se concentrar mais em remover a neblina ou desneblar, ou limpar o borramento ou desborrar.

Métodos de aprendizado profundo recentes têm exibido um desempenho mais forte e consistente em comparação com métodos tradicionais de restauração de imagens. Esses modelos de restauração de imagem de aprendizado profundo propõem usar redes neurais baseadas em Transformers e Redes Neurais Convolucionais. Esses modelos podem ser treinados independentemente para diversas tarefas de restauração de imagens e também possuem a capacidade de capturar interações de recursos locais e globais e melhorá-los, resultando em um desempenho satisfatório e consistente. Embora alguns desses métodos possam funcionar adequadamente para tipos específicos de degradação, eles geralmente não se extrapolam bem para diferentes tipos de degradação. Além disso, enquanto muitos quadros existentes usam a mesma rede neural para uma multitude de tarefas de restauração de imagens, cada formulação de rede neural é treinada separadamente. Portanto, é óbvio que empregar um modelo neural separado para cada degradação concebível é impraticável e demorado, o que é por que os quadros de restauração de imagem recentes se concentraram em modelos de restauração All-In-One.

Modelos de restauração All-In-One ou de degradação múltipla ou de tarefa múltipla estão ganhando popularidade no campo da visão computacional, pois são capazes de restaurar múltiplos tipos e níveis de degradações em uma imagem sem a necessidade de treinar os modelos independentemente para cada degradação. Modelos de restauração All-In-One usam um modelo de restauração cega profundo único para abordar diferentes tipos e níveis de degradação de imagem. Diferentes modelos All-In-One implementam diferentes abordagens para guiar o modelo cego para restaurar a imagem degradada, por exemplo, um modelo auxiliar para classificar a degradação ou vetores de orientação multidimensionais ou prompts para ajudar o modelo a restaurar diferentes tipos de degradação dentro de uma imagem.

Com isso sendo dito, chegamos à manipulação de imagem baseada em texto, pois ela foi implementada por vários quadros nos últimos anos para geração de imagem de texto e tarefas de edição de imagem baseada em texto. Esses modelos frequentemente usam prompts de texto para descrever ações ou imagens, juntamente com modelos baseados em difusão para gerar as imagens correspondentes. A principal inspiração para o quadro InstructIR é o quadro InstructPix2Pix, que habilita o modelo a editar a imagem usando instruções do usuário que instruem o modelo sobre qual ação realizar, em vez de rótulos de texto, descrições ou legendas da imagem de entrada. Como resultado, os usuários podem usar textos escritos naturais para instruir o modelo sobre qual ação realizar, sem a necessidade de fornecer imagens de exemplo ou descrições de imagem adicionais.

Com base nisso, o quadro InstructIR é o primeiro modelo de visão computacional que emprega instruções escritas por humanos para alcançar a restauração de imagem e resolver problemas inversos. Para prompts de linguagem natural, o modelo InstructIR pode recuperar imagens de alta qualidade a partir de suas contrapartes degradadas e também leva em consideração múltiplos tipos de degradação. O quadro InstructIR é capaz de entregar um desempenho de ponta em uma ampla gama de tarefas de restauração de imagens, incluindo derain, denoise, dehaze, desfoque e melhoria de imagens de baixa luz.

InstructIR: Método e Arquitetura

Em seu núcleo, o quadro InstructIR consiste em um codificador de texto e um modelo de imagem. O modelo usa o quadro NAFNet, um modelo de restauração de imagem eficiente que segue uma arquitetura U-Net como o modelo de imagem. Além disso, o modelo implementa técnicas de roteamento de tarefa para aprender múltiplas tarefas usando um modelo único com sucesso. A seguinte figura ilustra a abordagem de treinamento e avaliação para o quadro InstructIR.

Inspirado no modelo InstructPix2Pix, o quadro InstructIR adota instruções escritas por humanos como o mecanismo de controle, pois não há necessidade de o usuário fornecer informações adicionais. Essas instruções oferecem uma forma expressiva e clara de interagir, permitindo que os usuários apontem a localização exata e o tipo de degradação na imagem. Além disso, usar prompts de usuário em vez de prompts fixos específicos de degradação melhora a usabilidade e as aplicações do modelo, pois ele também pode ser usado por usuários que carecem da expertise de domínio necessária. Para equipar o quadro InstructIR com a capacidade de entender prompts diversos, o modelo usa o GPT-4, um grande modelo de linguagem para criar solicitações diversas, com prompts ambíguos e pouco claros removidos após um processo de filtragem.

Codificador de Texto

Um codificador de texto é usado por modelos de linguagem para mapear os prompts de usuário para uma representação de vetor de tamanho fixo ou embed de texto. Tradicionalmente, o codificador de texto de um modelo CLIP é um componente vital para geração de imagem baseada em texto e modelos de manipulação de imagem baseada em texto para codificar prompts de usuário, pois o quadro CLIP se destaca em prompts visuais. No entanto, a maioria das vezes, os prompts de usuário para recursos de degradação contém pouco ou nenhum conteúdo visual, portanto, tornando os grandes codificadores CLIP inúteis para tais tarefas, pois isso prejudicaria significativamente a eficiência. Para lidar com isso, o quadro InstructIR opta por um codificador de frase de texto treinado para codificar frases em um espaço de embed significativo. Codificadores de frases são pré-treinados em milhões de exemplos e, no entanto, são compactos e eficientes em comparação com codificadores de texto CLIP tradicionais, enquanto têm a capacidade de codificar a semântica de prompts de usuário diversos.

Orientação de Texto

Um aspecto importante do quadro InstructIR é a implementação da instrução codificada como um mecanismo de controle para o modelo de imagem. Com base nisso e inspirado no roteamento de tarefa para o aprendizado de muitas tarefas, o quadro InstructIR propõe um Bloco de Construção de Instrução ou BCI para habilitar transformações específicas de tarefa dentro do modelo. O roteamento de tarefa convencional aplica máscaras binárias específicas de tarefa a recursos de canal. No entanto, como o quadro InstructIR não sabe a degradação, essa técnica não é implementada diretamente. Além disso, para recursos de imagem e instruções codificadas, o quadro InstructIR aplica o roteamento de tarefa e produz a máscara usando uma camada linear ativada pela função Sigmoid para produzir um conjunto de pesos dependendo dos embeds de texto, obtendo assim uma máscara binária por canal c-dimensional. O modelo melhora ainda mais os recursos condicionados usando um NAFBlock e usa o NAFBlock e o Bloco de Instrução Condicional para condicionar os recursos em ambos os blocos de codificador e decodificador.

Embora o quadro InstructIR não condicione os filtros da rede neural explicitamente, a máscara facilita que o modelo selecione os canais mais relevantes com base na instrução e informações da imagem.

InstructIR: Implementação e Resultados

O modelo InstructIR é treinável de ponta a ponta, e o modelo de imagem não requer pré-treinamento. É apenas as projeções de embed de texto e a cabeça de classificação que precisam ser treinadas. O codificador de texto é inicializado usando um codificador BGE, um codificador semelhante ao BERT que é pré-treinado em uma grande quantidade de dados supervisionados e não supervisionados para codificação de frases genéricas. O quadro InstructIR usa o modelo NAFNet como modelo de imagem, e a arquitetura do NAFNet consiste em um codificador-decodificador de 4 níveis com um número variado de blocos em cada nível. O modelo também adiciona 4 blocos intermediários entre o codificador e o decodificador para melhorar ainda mais os recursos. Além disso, em vez de concatenar para as conexões de salto, o decodificador implementa adição, e o modelo InstructIR implementa apenas o Bloco de Instrução Condicional para roteamento de tarefa apenas no codificador e decodificador. Em seguida, o modelo InstructIR é otimizado usando a perda entre a imagem restaurada e a imagem limpa de referência, e a perda de entropia cruzada é usada para a cabeça de classificação de intenção do codificador de texto. O modelo InstructIR usa o otimizador AdamW com um tamanho de lote de 32 e uma taxa de aprendizado de 5e-4 por quase 500 épocas e também implementa a decréscimo de taxa de aprendizado de annealing cosseno. Como o modelo de imagem no quadro InstructIR compreende apenas 16 milhões de parâmetros e há apenas 100 mil parâmetros de projeção de texto aprendidos, o quadro InstructIR pode ser facilmente treinado em GPUs padrão, reduzindo assim os custos computacionais e aumentando a aplicabilidade.

Resultados de Degradação Múltipla

Para degradações múltiplas e restaurações de tarefa múltipla, o quadro InstructIR define dois conjuntos iniciais:

  1. 3D para modelos de três degradações para lidar com problemas de degradação como desneblar, denoise e derain.
  2. 5D para modelos de cinco degradações para lidar com problemas de degradação como melhoria de imagem de ruído, melhoria de imagem de baixa luz, desneblar, denoise e derain.

O desempenho dos modelos 5D é demonstrado na tabela a seguir e o compara com modelos de restauração de imagem de ponta e modelos All-In-One.

Como pode ser observado, o quadro InstructIR com um modelo de imagem simples e apenas 16 milhões de parâmetros pode lidar com cinco diferentes tarefas de restauração de imagem com sucesso, graças à orientação baseada em instruções, e entrega resultados competitivos. A tabela a seguir demonstra o desempenho do quadro em modelos 3D, e os resultados são comparáveis aos resultados acima.

O destaque principal do quadro InstructIR é a restauração de imagem baseada em instruções, e a figura a seguir demonstra as incríveis habilidades do modelo InstructIR para entender uma ampla gama de instruções para uma tarefa dada. Além disso, para uma instrução adversária, o modelo InstructIR realiza uma identidade que não é forçada.

Pensamentos Finais

A restauração de imagens é um problema fundamental em visão computacional, pois visa recuperar uma imagem limpa e de alta qualidade a partir de uma imagem que demonstra degradações. Em visão computacional de baixo nível, degradações é um termo usado para representar efeitos desagradáveis observados dentro de uma imagem, como borramento de movimento, neblina, ruído, baixo contraste e mais. Neste artigo, falamos sobre o InstructIR, o primeiro quadro de restauração de imagem do mundo que visa guiar o modelo de restauração de imagem usando instruções escritas por humanos. Para prompts de linguagem natural, o modelo InstructIR pode recuperar imagens de alta qualidade a partir de suas contrapartes degradadas e também leva em consideração múltiplos tipos de degradação. O quadro InstructIR é capaz de entregar um desempenho de ponta em uma ampla gama de tarefas de restauração de imagens, incluindo derain, denoise, desneblar, desfoque e melhoria de imagens de baixa luz.

Um engenheiro por profissão, um escritor por coração. Kunal é um escritor técnico com um amor e compreensão profundos de AI e ML, dedicado a simplificar conceitos complexos nestes campos por meio de sua documentação envolvente e informativa.