Glossário

U-Net

Descobre a U-Net, a poderosa arquitetura CNN para segmentação semântica. Aprende as suas aplicações em imagens médicas, de satélite e autónomas.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A U-Net é uma arquitetura especializada de Rede Neural Convolucional (CNN) originalmente desenvolvida para tarefas de segmentação de imagens biomédicas. A sua estrutura distintiva em forma de U permite a localização e segmentação precisas de objectos em imagens, mesmo com dados de treino limitados. Introduzida por Olaf Ronneberger, Philipp Fischer e Thomas Brox em 2015, a U-Net rapidamente se tornou influente para além do seu domínio inicial devido à sua eficácia em várias aplicações de visão computacional (CV) que requerem classificação ao nível do pixel.

Arquitetura de base

A arquitetura da rede U consiste em duas vias principais: uma via de contração (codificador) e uma via de expansão (descodificador), formando a sua forma caraterística em "U".

  1. Percurso de contratação (codificador): Segue uma estrutura típica de CNN. Envolve a aplicação repetida de convoluções, seguida de funções de ativação ReLU (Unidade Linear Retificada) e operações de pooling máximo. Este caminho capta o contexto da imagem de entrada reduzindo progressivamente a resolução espacial enquanto aumenta o número de mapas de caraterísticas, codificando efetivamente a imagem numa representação compacta. Este conceito é fundamental para muitas arquitecturas de codificador-descodificador.
  2. Percurso expansivo (descodificador): Esta via expande simetricamente os mapas de caraterísticas de volta à resolução original da imagem. Consiste em convoluções ascendentes (ou convoluções transpostas) que aumentam a resolução, seguidas de convoluções padrão. Crucialmente, cada passo na via expansiva concatena o mapa de caraterísticas com convolução ascendente com o mapa de caraterísticas de alta resolução correspondente da via de contração através de ligações de saltos.
  3. Salta as ligações: Estas são a marca registada da U-Net. Elas ligam diretamente os mapas de caraterísticas do codificador às camadas correspondentes no decodificador. Isso permite que o decodificador reutilize informações espaciais de alta resolução aprendidas pelo codificador, o que é vital para obter uma localização precisa no mapa de segmentação final. Uma explicação das ligações de saltos pode fornecer mais contexto.

Principais caraterísticas e vantagens

O design da U-Net oferece várias vantagens, particularmente para tarefas de segmentação:

  • Localização precisa: As conexões de salto permitem que a rede combine informações contextuais profundas (das camadas inferiores do codificador) com detalhes espaciais finos (das camadas anteriores do codificador).
  • Eficiência com dados limitados: Tem um bom desempenho mesmo com conjuntos de dados mais pequenos, um cenário comum na análise de imagens médicas em que os dados anotados podem ser escassos.
  • Treinamento de ponta a ponta: Toda a rede pode ser treinada diretamente a partir da imagem de entrada para o mapa de segmentação de saída.

Aplicações no mundo real

Embora inicialmente concebida para imagiologia biomédica, a arquitetura da U-Net é versátil:

Distinguir a U-Net de conceitos semelhantes

A U-Net concentra-se principalmente na segmentação semântica, atribuindo uma etiqueta de classe a cada pixel. Isto difere da segmentação de instâncias, que distingue instâncias individuais de objectos pertencentes à mesma classe. Embora a U-Net possa ser adaptada para a segmentação de instâncias, modelos como a Mask R-CNN são frequentemente mais adequados para essa tarefa. Modelos modernos como o Ultralytics YOLOv8 também oferecem poderosas capacidades de segmentação, muitas vezes optimizadas para velocidade e desempenho em tempo real, potencialmente utilizando diferentes abordagens arquitectónicas influenciadas pelos avanços na aprendizagem profunda.

Formação e ferramentas

O treino de uma U-Net requer dados anotados ao nível do pixel, em que cada pixel nas imagens de treino é rotulado com a sua classe correspondente. Este processo, conhecido como anotação de dados, é muitas vezes trabalhoso. Os modelos U-Net são normalmente implementados e treinados usando estruturas populares de aprendizagem profunda, como PyTorch e TensorFlow.

Lê tudo