Modelos e plataformas de IA

DiffSeg: Uma Abordagem Aprimorada de Segmentação Zero-Shot Usando Difusão Estável

mm
Adicione Unite.AI às suas fontes preferidas no Google

Um dos principais desafios nos modelos baseados em visão computacional é a geração de máscaras de segmentação de alta qualidade. Os avanços recentes no treinamento supervisionado em larga escala permitiram a segmentação zero-shot em vários estilos de imagem. Além disso, o treinamento não supervisionado simplificou a segmentação sem a necessidade de anotações extensas. No entanto, construir um quadro de visão computacional capaz de segmentar qualquer coisa em um ambiente zero-shot sem anotações permanece uma tarefa complexa. A segmentação semântica, um conceito fundamental nos modelos de visão computacional, envolve dividir uma imagem em regiões menores com semântica uniforme. Essa técnica estabelece as bases para numerousas tarefas downstream, como imagens médicas, edição de imagens, direção autônoma e muito mais.

Para avançar no desenvolvimento dos modelos de visão computacional, é crucial que a segmentação de imagens não seja limitada a um conjunto de dados fixo com categorias limitadas. Em vez disso, deve atuar como uma tarefa fundamental versátil para várias outras aplicações. No entanto, o alto custo de coletar rótulos em uma base por pixel apresenta um desafio significativo, limitando o progresso dos métodos de segmentação zero-shot e supervisionados que não requerem anotações e carecem de acesso prévio ao alvo. Este artigo discutirá como as camadas de auto-atendimento nos modelos de difusão estável podem facilitar a criação de um modelo capaz de segmentar qualquer entrada em um ambiente zero-shot, mesmo sem anotações adequadas. Essas camadas de auto-atendimento entendem intrinsicamente os conceitos de objetos aprendidos por um modelo de difusão estável pré-treinado.

DiffSeg: Um Algoritmo de Segmentação Zero-Shot Aprimorado

A segmentação semântica é um processo que divide uma imagem em várias seções, com cada seção compartilhando semântica semelhante. Essa técnica forma a base para numerousas tarefas downstream. Tradicionalmente, as tarefas de visão computacional zero-shot dependem da segmentação semântica supervisionada, utilizando grandes conjuntos de dados com categorias anotadas e rotuladas. No entanto, implementar a segmentação semântica não supervisionada em um ambiente zero-shot permanece um desafio. Embora os métodos supervisionados tradicionais sejam eficazes, seu custo de rotulagem por pixel é frequentemente proibitivo, destacando a necessidade de desenvolver métodos de segmentação não supervisionados em um ambiente zero-shot menos restritivo, onde o modelo não requer dados anotados nem conhecimento prévio dos dados.

Para abordar essa limitação, o DiffSeg introduz uma nova estratégia de pós-processamento, aproveitando as capacidades do quadro de Difusão Estável para construir um modelo de segmentação genérico capaz de transferência zero-shot em qualquer imagem. Os quadros de Difusão Estável comprovaram sua eficácia na geração de imagens de alta resolução com base em condições de prompt. Para imagens geradas, esses quadros podem produzir máscaras de segmentação usando prompts de texto correspondentes, que normalmente incluem apenas objetos de primeiro plano dominantes.

Em contraste, o DiffSeg é um método de pós-processamento inovador que cria máscaras de segmentação utilizando tensores de atenção das camadas de auto-atendimento em um modelo de difusão. O algoritmo DiffSeg é composto por três componentes principais: mesclagem de atenção iterativa, agregação de atenção e supressão não máxima, como ilustrado na imagem a seguir.

O algoritmo DiffSeg preserva informações visuais em múltiplas resoluções ao agregar os tensores de atenção 4D com consistência espacial e utilizar um processo de mesclagem iterativa por amostragem de pontos âncora. Esses âncoras servem como base para a mesclagem de máscaras de atenção com âncoras de objeto absorvidas eventualmente. O quadro DiffSeg controla o processo de mesclagem com a ajuda do método de divergência de KL para medir a similaridade entre duas máscaras de atenção.

Quando comparado com métodos de segmentação não supervisionados baseados em agrupamento, os desenvolvedores não precisam especificar o número de clusters antecipadamente no algoritmo DiffSeg, e mesmo sem conhecimento prévio, o algoritmo DiffSeg pode produzir segmentação sem utilizar recursos adicionais. No geral, o algoritmo DiffSeg é “um método de segmentação não supervisionado e zero-shot inovador que aproveita um modelo de Difusão Estável pré-treinado e pode segmentar imagens sem recursos adicionais ou conhecimento prévio.

DiffSeg: Conceitos Fundamentais

O DiffSeg é um algoritmo inovador que se baseia nos aprendizados dos Modelos de Difusão, Segmentação Não Supervisionada e Segmentação Zero-Shot.

Modelos de Difusão

O algoritmo DiffSeg se baseia nos aprendizados de modelos de difusão pré-treinados. Os modelos de difusão são um dos quadros gerativos mais populares para modelos de visão computacional, e aprendem o processo de difusão direto e reverso a partir de uma imagem de ruído gaussiano isotrópico amostrada para gerar uma imagem. A Difusão Estável é a variante mais popular dos modelos de difusão, e é usada para realizar uma ampla gama de tarefas, incluindo segmentação supervisionada, classificação zero-shot, correspondência semântica, segmentação de rótulo eficiente e segmentação de vocabulário aberto. No entanto, o único problema com os modelos de difusão é que eles dependem de recursos visuais de alta dimensionalidade para realizar essas tarefas, e frequentemente exigem treinamento adicional para aproveitar completamente esses recursos.

Segmentação Não Supervisionada

O algoritmo DiffSeg está intimamente relacionado à segmentação não supervisionada, uma prática moderna de IA que visa gerar máscaras de segmentação densas sem empregar anotações. No entanto, para entregar um desempenho bom, os modelos de segmentação não supervisionados precisam de algum treinamento não supervisionado prévio no conjunto de dados de destino. Os quadros de segmentação não supervisionada baseados em IA podem ser caracterizados em duas categorias: agrupamento usando modelos pré-treinados e agrupamento baseado em invariância. Na primeira categoria, os quadros utilizam os recursos discriminativos aprendidos por modelos pré-treinados para gerar máscaras de segmentação, enquanto os quadros que se enquadram na segunda categoria usam um algoritmo de agrupamento genérico que otimiza a informação mútua entre duas imagens para segmentar imagens em clusters semânticos e evitar segmentação degenerada.

Segmentação Zero-Shot

O algoritmo DiffSeg está intimamente relacionado aos quadros de segmentação zero-shot, um método com a capacidade de segmentar qualquer coisa sem treinamento prévio ou conhecimento dos dados. Os modelos de segmentação zero-shot demonstraram capacidades de transferência zero-shot excepcionais recentemente, embora exijam alguma entrada de texto e prompts. Em contraste, o algoritmo DiffSeg emprega um modelo de difusão para gerar segmentação sem consultar e sintetizar múltiplas imagens e sem conhecer o conteúdo do objeto.

DiffSeg: Método e Arquitetura

O algoritmo DiffSeg utiliza as camadas de auto-atendimento em um modelo de difusão estável pré-treinado para gerar tarefas de segmentação de alta qualidade.

Modelo de Difusão Estável

A Difusão Estável é um dos conceitos fundamentais no quadro DiffSeg. A Difusão Estável é um quadro gerativo de IA, e um dos modelos de difusão mais populares. Uma das principais características de um modelo de difusão é uma passagem direta e uma passagem reversa. Na passagem direta, uma pequena quantidade de ruído gaussiano é adicionada a uma imagem iterativamente a cada passo de tempo até que a imagem se torne uma imagem de ruído gaussiano isotrópico. Por outro lado, na passagem reversa, o modelo de difusão remove iterativamente o ruído na imagem de ruído gaussiano isotrópico para recuperar a imagem original sem ruído gaussiano.

O quadro de Difusão Estável emprega um codificador-decodificador e um design U-Net com camada de atenção, onde utiliza um codificador para primeiro comprimir uma imagem em um espaço latente com dimensões espaciais menores, e utiliza o decodificador para descomprimir a imagem. A arquitetura U-Net consiste em uma pilha de blocos modulares, onde cada bloco é composto por um dos seguintes dois componentes: uma camada de Transformer e uma camada de ResNet.

Componentes e Arquitetura

As camadas de auto-atendimento nos modelos de difusão agrupam informações de objetos inerentes na forma de mapas de atenção espacial, e o DiffSeg é um método de pós-processamento inovador para mesclar tensores de atenção em uma máscara de segmentação válida, com o pipeline consistindo em três componentes principais: agregação de atenção, supressão não máxima e atenção iterativa.

Agregação de Atenção

Para uma imagem de entrada que passa pelas camadas U-Net e o codificador, o modelo de Difusão Estável gera um total de 16 tensores de atenção, com 5 tensores para cada uma das dimensões. O objetivo principal de gerar 16 tensores é agregar esses tensores de atenção com diferentes resoluções em um tensor com a resolução mais alta possível. Para alcançar isso, o algoritmo DiffSeg trata as 4 dimensões de forma diferente uma da outra.

Das quatro dimensões, as duas últimas dimensões nos tensores de atenção têm resoluções diferentes, mas são espacialmente consistentes, pois o mapa espacial 2D do quadro DiffSeg corresponde à correlação entre as localizações e as localizações espaciais. Consequentemente, o quadro DiffSeg amostra essas duas dimensões de todos os mapas de atenção para a resolução mais alta de todos, 64 x 64. Por outro lado, as duas primeiras dimensões indicam a referência de localização dos mapas de atenção, como demonstrado na imagem a seguir.

Como essas dimensões se referem à localização dos mapas de atenção, os mapas de atenção precisam ser agregados adequadamente. Além disso, para garantir que o mapa de atenção agregado tenha uma distribuição válida, o quadro normaliza a distribuição após a agregação, com cada mapa de atenção recebendo um peso proporcional à sua resolução.

Mesclagem de Atenção Iterativa

Enquanto o objetivo principal da agregação de atenção era computar um tensor de atenção, o objetivo principal é mesclar os mapas de atenção no tensor em uma pilha de propostas de objeto, onde cada proposta individual contém uma categoria de coisa ou a ativação de um único objeto. A solução proposta para alcançar isso é implementar um algoritmo K-Means nos tensores de distribuição válida para encontrar os clusters de objetos. No entanto, usar K-Means não é a solução ideal, pois o agrupamento K-Means exige que os usuários especifiquem o número de clusters antecipadamente. Além disso, implementar um algoritmo K-Means pode resultar em resultados diferentes para a mesma imagem, pois depende estocasticamente da inicialização. Para superar o obstáculo, o quadro DiffSeg propõe gerar uma grade de amostragem para criar as propostas mesclando mapas de atenção iterativamente.

Supressão Não Máxima

A etapa anterior de mesclagem de atenção iterativa produz uma lista de propostas de objeto na forma de mapas de atenção de probabilidade, onde cada proposta de objeto contém a ativação do objeto. O quadro utiliza a supressão não máxima para converter a lista de propostas de objeto em uma máscara de segmentação válida, e o processo é uma abordagem eficaz, pois cada elemento na lista já é um mapa de distribuição de probabilidade. Para cada localização espacial em todos os mapas, o algoritmo pega o índice da probabilidade mais alta e atribui uma membresia com base no índice do mapa correspondente.

DiffSeg: Experimentos e Resultados

Os quadros que trabalham com segmentação não supervisionada utilizam dois benchmarks de segmentação, nomeadamente Cityscapes e COCO-stuff-27. O benchmark Cityscapes é um conjunto de dados de direção autônoma com 27 categorias de nível médio, enquanto o benchmark COCO-stuff-27 é uma versão curada do conjunto de dados COCO-stuff original que combina 80 coisas e 91 categorias em 27 categorias. Além disso, para analisar o desempenho da segmentação, o quadro DiffSeg utiliza a interseção média sobre a união ou mIoU e a precisão de pixel ou ACC, e como o algoritmo DiffSeg não pode fornecer um rótulo semântico, ele utiliza o algoritmo de correspondência húngara para atribuir uma máscara de ground truth a cada máscara prevista. Caso o número de máscaras previstas exceda o número de máscaras de ground truth, o quadro considerará as tarefas previstas não correspondidas como falsos negativos.

Além disso, o quadro DiffSeg também enfatiza os seguintes três trabalhos para executar interferência: Dependência de Linguagem ou LD, Adaptação Não Supervisionada ou UA e Imagem Auxiliar ou AX. A Dependência de Linguagem significa que o método precisa de entradas de texto descritivas para facilitar a segmentação da imagem, a Adaptação Não Supervisionada refere-se à necessidade do método de utilizar treinamento não supervisionado no conjunto de dados de destino, enquanto a Imagem Auxiliar refere-se à necessidade do método de utilizar imagens adicionais, seja como imagens sintéticas ou como um pool de imagens de referência.

Resultados

No benchmark COCO, o quadro DiffSeg inclui dois benchmarks K-Means, K-Means-S e K-Means-C. O benchmark K-Means-C inclui 6 clusters que ele calculou, averageando o número de objetos nas imagens que ele avalia, enquanto o benchmark K-Means-S utiliza um número específico de clusters para cada imagem com base no número de objetos presentes no ground truth da imagem, e os resultados em ambos os benchmarks são demonstrados na imagem a seguir.

Como pode ser visto, o benchmark K-Means supera os métodos existentes, demonstrando o benefício de usar tensores de auto-atendimento. O que é interessante é que o benchmark K-Means-S supera o benchmark K-Means-C, o que indica que o número de clusters é um hiperparâmetro fundamental, e ajustá-lo é importante para cada imagem. Além disso, mesmo quando se baseia nos mesmos tensores de atenção, o quadro DiffSeg supera os benchmarks K-Means, o que comprova a capacidade do quadro DiffSeg de não apenas fornecer uma segmentação melhor, mas também evitar as desvantagens impostas pelos benchmarks K-Means.

No conjunto de dados Cityscapes, o quadro DiffSeg entrega resultados semelhantes aos quadros que utilizam entrada com resolução mais baixa de 320, enquanto supera os quadros que utilizam entradas com resolução mais alta de 512 em precisão e mIoU.

Como mencionado anteriormente, o quadro DiffSeg emprega vários hiperparâmetros, como demonstrado na imagem a seguir.

A agregação de atenção é um dos conceitos fundamentais empregados no quadro DiffSeg, e os efeitos de usar diferentes pesos de agregação são demonstrados na imagem a seguir, com a resolução da imagem sendo constante.

Como pode ser observado, os mapas de alta resolução na Fig (b) com mapas de 64 x 64 produzem segmentações mais detalhadas, embora as segmentações tenham algumas fraturas visíveis, enquanto os mapas de resolução mais baixa de 32 x 32 tendem a sobre-segmentar detalhes, embora resultem em segmentações mais coerentes. Na Fig (d), os mapas de resolução mais baixa falham em gerar qualquer segmentação, pois a imagem inteira é mesclada em um único objeto com as configurações de hiperparâmetro existentes. Finalmente, a Fig (a) que utiliza uma estratégia de agregação proporcional resulta em detalhes aprimorados e consistência equilibrada.

Pensamentos Finais

A segmentação zero-shot não supervisionada ainda é um dos principais desafios para os quadros de visão computacional, e os modelos existentes dependem de adaptação não supervisionada zero-shot ou de recursos externos. Para superar esse desafio, discutimos como as camadas de auto-atendimento nos modelos de difusão estável podem permitir a construção de um modelo capaz de segmentar qualquer entrada em um ambiente zero-shot sem anotações adequadas, pois essas camadas de auto-atendimento contêm conceitos inerentes de objetos que um modelo de difusão estável pré-treinado aprende. Também discutimos o DiffSeg, uma estratégia de pós-processamento inovadora que visa aproveitar o potencial do quadro de Difusão Estável para construir um modelo de segmentação genérico que pode implementar a transferência zero-shot em qualquer imagem. O algoritmo DiffSeg se baseia na Similaridade de Atenção Inter e Intra para mesclar mapas de atenção iterativamente em máscaras de segmentação válidas para alcançar o desempenho de estado da arte em benchmarks populares.

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.