Connect with us

DiffSeg: Segmentação Zero-Shot Não Supervisionada usando Difusão Estável

Inteligência artificial

DiffSeg: Segmentação Zero-Shot Não Supervisionada usando Difusão Estável

mm
DiffSeg : Unsupervised Zero-Shot Segmentation using Stable Diffusion

Uma das principais desafios nos modelos baseados em visão computacional é a geração de máscaras de segmentação de alta qualidade. Os recentes avanços no treinamento supervisionado em larga escala permitiram a segmentação zero-shot em diferentes estilos de imagem. Além disso, o treinamento não supervisionado simplificou a segmentação sem a necessidade de anotações extensivas. No entanto, construir um modelo de visão computacional capaz de segmentar qualquer coisa em um ambiente zero-shot sem anotações ainda é 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 fornece a base para numerous tarefas downstream, como imagens médicas, edição de imagens, direção autônoma e 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 autoatenção 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 apropriadas. Essas camadas de autoatenção entendem intrinsicamente os conceitos de objeto 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 numerous 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 ainda é um desafio. Embora os métodos supervisionados tradicionais sejam eficazes, o 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 framework de Difusão Estável para construir um modelo de segmentação genérico capaz de transferência zero-shot em qualquer imagem. Os frameworks 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 frameworks 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 autoatenção 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 de não-máximo, como ilustrado na seguinte imagem.

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 utilizando um processo de mesclagem iterativa por amostragem de pontos de âncora. Esses âncoras servem como o ponto de partida para a mesclagem de máscaras de atenção com âncoras de objeto absorvidas eventualmente. O framework DiffSeg controla o processo de mesclagem com a ajuda do método de divergência de KL para medir a semelhança entre duas mapas de atenção.

Em comparação com os 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 que utiliza 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 conhecimentos 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 conhecimentos adquiridos por modelos de difusão pré-treinados. Os modelos de difusão são um dos frameworks gerativos mais populares para modelos de visão computacional e aprendem o processo de difusão direto e reverso a partir de um ruído gaussiano isotrópico amostrado 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ótulos eficientes 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 requerem 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 de IA moderna 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 supervisionada precisam de algum treinamento não supervisionado prévio no conjunto de dados de destino. Os frameworks 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 frameworks utilizam os recursos discriminativos aprendidos por modelos pré-treinados para gerar máscaras de segmentação, enquanto os frameworks 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 frameworks de segmentação zero-shot, um método com a capacidade de segmentar qualquer coisa sem treinamento ou conhecimento prévio dos dados. Os modelos de segmentação zero-shot demonstraram capacidades de transferência zero-shot excepcionais recentemente, embora requeiram some texto de entrada e prompts. Em contraste, o algoritmo DiffSeg utiliza 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 autoatenção 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 framework DiffSeg. A Difusão Estável é um framework gerativo de IA e um dos modelos de difusão mais populares. Uma das principais características de um modelo de difusão é a passagem direta e a reversa. Na passagem direta, um pequeno amounto de ruído gaussiano é adicionado a uma imagem iterativamente a cada passo de tempo até que a imagem se torne uma imagem de ruído gaussiano isotrópico. 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 framework de Difusão Estável emprega um codificador-decodificador e um design de U-Net com camada de atenção, onde utiliza um codificador para comprimir primeiro 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 ou uma camada de ResNet.

Componentes e Arquitetura

As camadas de autoatenção 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 máscaras de segmentação válidas, com o pipeline consistindo em três componentes principais: agregação de atenção, supressão de não-máximo 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.

Dentre as 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 framework DiffSeg corresponde à correlação entre as localizações e as localizações espaciais. Resultantemente, o framework 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 seguinte imagem.

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 framework 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 either a categoria de coisas 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 dos objetos. No entanto, usar K-Means não é a solução ótima, pois o 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 framework DiffSeg propõe gerar uma grade de amostragem para criar as propostas mesclando mapas de atenção iterativamente.

Supressão de Não-Máximo

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 framework utiliza a supressão de não-máximo 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 da lista já é um mapa de distribuição de probabilidade. Para cada localização espacial em todos os mapas, o algoritmo pega o índice da maior probabilidade e atribui uma membresia com base no índice do mapa correspondente.

DiffSeg: Experimentos e Resultados

Os frameworks 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 original COCO-stuff que mescla 80 coisas e 91 categorias em 27 categorias. Além disso, para analisar o desempenho da segmentação, o framework 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 consegue 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 framework considerará as tarefas previstas não correspondidas como falsos negativos.

Além disso, o framework 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. Dependência de Linguagem significa que o método precisa de entradas de texto descritivas para facilitar a segmentação da imagem, Adaptação Não Supervisionada refere-se à necessidade do método de usar treinamento não supervisionado no conjunto de dados de destino, enquanto Imagem Auxiliar refere-se à necessidade do método de usar entradas adicionais, seja como imagens sintéticas ou como um pool de imagens de referência.

Resultados

No benchmark COCO, o framework DiffSeg inclui duas linhas de base K-Means, K-Means-S e K-Means-C. A linha de base K-Means-C inclui 6 clusters que foram calculados pela média do número de objetos nas imagens que ele avalia, enquanto a linha de base K-Means-S usa um número específico de clusters para cada imagem com base no número de objetos presentes na ground truth da imagem, e os resultados em ambos os benchmarks são demonstrados na seguinte imagem.

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

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

Como mencionado anteriormente, o framework DiffSeg emprega vários hiperparâmetros, como demonstrado na seguinte imagem.

A agregação de atenção é um dos conceitos fundamentais empregados no framework DiffSeg, e os efeitos de usar diferentes pesos de agregação são demonstrados na seguinte imagem, 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 balanceada.

Pensamentos Finais

A segmentação zero-shot não supervisionada ainda é um dos maiores desafios para os frameworks de visão computacional, e os modelos existentes dependem de adaptação não supervisionada não zero-shot ou de recursos externos. Para superar esse desafio, discutimos como as camadas de autoatenção 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 apropriadas, pois essas camadas de autoatenção detêm os conceitos inerentes do objeto 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 framework de Difusão Estável para construir um modelo de segmentação genérico que pode implementar 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.