Modelos e plataformas de IA
InstructIR: Restauração de Imagens de Alta Qualidade Seguindo Instruções Humanas
Uma imagem pode transmitir muito, mas também pode ser afetada por vários problemas, como blur de movimento, neblina, ruído e baixa faixa dinâmica. 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 de alta qualidade e limpa 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. Algumas abordagens visam degradações específicas, como reduzir ruído ou remover blur ou neblina.
Embora esses métodos possam produzir bons resultados para problemas específicos, eles frequentemente lutam para generalizar para diferentes tipos de degradação. Muitos frameworks 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 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.
InstructIR representa uma abordagem inovadora no campo, sendo o primeiro framework de restauração de imagens 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. InstructIR estabelece um novo padrão de desempenho para uma ampla gama de tarefas de restauração de imagens, incluindo derain, denoise, dehaze, desblur e melhoria de imagens de baixa luz.
Este artigo visa cobrir o framework InstructIR em profundidade, e exploramos o mecanismo, a metodologia, a arquitetura do framework, juntamente com sua comparação com frameworks de geração de imagens e vídeos de última geração. Então, vamos começar.
InstructIR: Restauração de Imagens de Alta Qualidade
A restauração de imagens é um problema fundamental em visão computacional, pois visa recuperar uma imagem de alta qualidade e limpa a partir de uma imagem que apresenta 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 blur de movimento, neblina, ruído, baixa faixa dinâmica 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. Alguns frameworks se concentram em degradações específicas, como reduzir ruído ou remover blur ou neblina.
Métodos de aprendizado profundo recentes têm demonstrado um desempenho mais forte e consistente em comparação com métodos tradicionais de restauração de imagens. Esses modelos de restauração de imagens baseados em 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 frameworks 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 de rede neural separado para cada degradação concebível é impraticável e demorado, o que é por que frameworks de restauração de imagens recentes se concentraram em proxies de restauração All-In-One.
Modelos de restauração All-In-One ou Multi-degradação ou Multi-tarefa estão ganhando popularidade no campo de 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 de imagens All-In-One usam um modelo de restauração cega profundo para abordar diferentes tipos e níveis de degradação de imagem. Diferentes modelos All-In-One implementam abordagens diferentes 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 multi-dimensionais 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 imagens baseada em texto, pois ela foi implementada por vários frameworks nos últimos anos para geração de imagens de texto para imagem e tarefas de edição de imagens baseadas 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 framework InstructIR é o framework 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 naturalmente 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 framework InstructIR é o primeiro modelo de visão computacional a empregar instruções escritas por humanos para alcançar a restauração de imagens 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 considera múltiplos tipos de degradação. O framework InstructIR é capaz de entregar um desempenho de última geração em uma ampla gama de tarefas de restauração de imagens, incluindo derain, denoise, dehaze, desblur e melhoria de imagens de baixa luz. Em contraste com trabalhos existentes que alcançam a restauração de imagens usando vetores de orientação aprendidos ou embeddings de prompt, o framework InstructIR emprega prompts de usuário brutos em forma de texto. O framework InstructIR é capaz de generalizar para restaurar imagens usando instruções escritas por humanos, e o modelo All-In-One implementado pelo InstructIR cobre mais tarefas de restauração do que modelos anteriores. A figura a seguir demonstra as diversas amostras de restauração do framework InstructIR.

InstructIR: Método e Arquitetura
No núcleo, o framework InstructIR consiste em um codificador de texto e um modelo de imagem. O modelo usa o framework 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 tarefas para aprender múltiplas tarefas usando um modelo único com sucesso. A figura a seguir ilustra a abordagem de treinamento e avaliação para o framework InstructIR.

Inspirado no modelo InstructPix2Pix, o framework 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 específicos de degradação fixos 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 framework InstructIR com a capacidade de entender prompts diversificados, o modelo usa o GPT-4, um grande modelo de linguagem para criar solicitações diversificadas, 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 do usuário para uma representação de vetor de tamanho fixo ou embedding de texto. Tradicionalmente, o codificador de texto de um modelo CLIP é um componente vital para geração de imagens baseada em texto e modelos de manipulação de imagens baseadas em texto para codificar prompts do usuário, pois o framework CLIP se destaca em prompts visuais. No entanto, a maioria das vezes, os prompts do usuário para recursos de degradação contêm pouco ou nenhum conteúdo visual, tornando os grandes codificadores CLIP inúteis para tais tarefas, pois isso prejudicaria significativamente a eficiência. Para resolver esse problema, o framework InstructIR opta por um codificador de frases baseado em texto que é treinado para codificar frases em um espaço de embedding 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 baseados em CLIP tradicionais, enquanto têm a capacidade de codificar a semântica de prompts de usuário diversificados.
Orientação de Texto
Um aspecto importante do framework InstructIR é a implementação do instruction codificado como um mecanismo de controle para o modelo de imagem. Com base nisso, e inspirado no roteamento de tarefas para o aprendizado de muitas tarefas, o framework InstructIR propõe um Bloco de Construção de Instrução ou BCI para permitir transformações específicas de tarefa dentro do modelo. O roteamento de tarefas convencional aplica máscaras binárias específicas de tarefa para recursos de canal. No entanto, como o framework InstructIR não conhece a degradação, essa técnica não é implementada diretamente. Além disso, para recursos de imagem e instruções codificadas, o framework InstructIR aplica o roteamento de tarefas e produz a máscara usando uma camada linear ativada pela função Sigmoid para produzir um conjunto de pesos dependendo dos embeddings de texto, obtendo assim uma máscara binária por canal c-dimensional. O modelo também melhora os recursos condicionados usando um NAFBlock, e usa o NAFBlock e o Bloco de Condição de Instrução para condicionar os recursos em ambos os blocos de codificador e decodificador.

Embora o framework InstructIR não condicione explicitamente os filtros da rede neural, 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. São apenas as projeções de embedding 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 framework 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 skip, o decodificador implementa adição, e o modelo InstructIR implementa apenas o BCI ou Bloco de Condição de Instrução para roteamento de tarefas 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 decrescência da taxa de aprendizado de annealing cosseno. Como o modelo de imagem no framework InstructIR compreende apenas 16 milhões de parâmetros, e há apenas 100 mil parâmetros de projeção de texto aprendidos, o framework InstructIR pode ser facilmente treinado em GPUs padrão, reduzindo assim os custos computacionais e aumentando a aplicabilidade.
Resultados de Múltiplas Degradações
Para múltiplas degradações e restaurações multi-tarefa, o framework InstructIR define dois conjuntos iniciais:
- 3D para modelos de três degradações para lidar com problemas de degradação como desnebulização, redução de ruído e derain.
- 5D para modelos de cinco degradações para lidar com problemas de degradação como redução de ruído de imagem, melhoria de imagens de baixa luz, desnebulização, redução de ruído e derain.
O desempenho dos modelos 5D é demonstrado na tabela a seguir, e o compara com modelos de restauração de imagens e modelos All-In-One de última geração.

Como pode ser observado, o framework 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 imagens com sucesso, graças à orientação baseada em instruções, e entrega resultados competitivos. A tabela a seguir demonstra o desempenho do framework nos modelos 3D, e os resultados são comparáveis aos resultados acima.

O destaque principal do framework InstructIR é a restauração de imagens 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 executa 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 de alta qualidade e limpa a partir de uma imagem que apresenta degradações. Neste artigo, falamos sobre o InstructIR, o primeiro framework de restauração de imagens do mundo que visa guiar o modelo de restauração de imagens 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 considera múltiplos tipos de degradação. O framework InstructIR é capaz de entregar um desempenho de última geração em uma ampla gama de tarefas de restauração de imagens, incluindo derain, denoise, dehaze, desblur e melhoria de imagens de baixa luz.












