U-Net é uma arquitetura de rede neural convolutional projetada para segmentação de imagens, introduzida por Olaf Ronneberger, Philipp Fischer e Thomas Brox em 2015. A arquitetura apresenta uma estrutura simétrica de codificador-decodificador com conexões de salto, o que permite localização precisa enquanto preserva informações contextuais. U-Net foi originalmente desenvolvida para segmentação de imagens biomédicas, mas desde então tem sido amplamente adotada em diversos campos, incluindo visão computacional e modelagem generativa. Seu design influenciou inúmeras arquiteturas subsequentes e permanece como referência em tarefas de segmentação.
Arquitetura
A arquitetura U-Net consiste em dois caminhos principais: um caminho de contração (codificador) e um caminho expansivo (decodificador), que juntos formam uma estrutura em forma de U. O caminho de contração segue a estrutura típica de uma rede convolutional, com aplicações repetidas de duas convoluções 3x3, cada uma seguida de uma unidade linear retificada (ReLU) e uma operação de pool máximo pois tamanho 2x2 com stride 2 para redução de resolução. Em cada etapa de downsampling, o número de canais de características é duplicado, permitindo a captura de características cada vez mais abstratas enquanto a resolução espacial é reduzida.
O caminho expansivo, em contraste, realiza upsampling do mapa de características, seguido de uma convolução 2x2 que reduz o número de canais de características pela metade. Em seguida, isso é concatenado com o mapa de características do caminho de contração, que é cortado de forma correspondente, formando conexões de salto. A concatenação combina características de alta resolução do codificador com as características do decodificador upsampladas, permitindo localização precisa. Duas convoluções 3x3, cada uma seguida de uma ReLU, são então aplicadas. Na camada final, uma convolução 1x1 mapeia o vetor de características para o número desejado de classes.
Uma modificação importante na U-Net é o grande número de canais de características na parte de upsampling, o que permite a rede propagar informações de contexto para camadas de resolução mais alta. O caminho expansivo é mais ou menos simétrico ao caminho de contração, resultando na arquitetura característica em forma de U. A rede usa apenas a parte consensual de cada convolução, ou seja, não é aplicado nenhum padding, o que leva uma ligeira redução na dimensão espacial em cada etapa. Para tratar as regras de borda, o contexto faltante é extrapolado por espelhamento da imagem de entrada nas fronteiras. O artigo original também sugeriu uma estratégia de tiling para imagens grandes, em que blocos sobrepostos são processados de forma independente e depois juntados, permitindo o processamento de imagens de alta resolução que excederiam, caso contrário, a memória da GPU.
Treinamento e Aumento de Dados
U-Net é treinada usando aprendizado de gradiente descendente estimator, com uma função de perda que combina entropia cruzada com um esquema de ponderação para enfatizar pixels de fronteira. O mapa de pesos é pré-computado para separar objetos tocantes da mesma classe, o que é particularmente útil em segmentação biomédica, onde há sobreposição de células. O aumento de dados é usado para aumentar o tamanho efetivo do conjunto de treinamento, incluindo deformações elásticas e rotações, que são especialmente relevantes para imagens biomédicas em que tais variações são comuns. Essa abordagem permite a U-Net alcançar alta precisão mesmo com relativamente poucas amostras de treinamento, como demonstrado no artigo original com a segmentação de estruturas neurais em imagens de microscopia eletrônica.
Aplicações
U-Net tem sido extensamente aplicada em segmentação de imagens biomédicas, incluindo segmentação de órgãos e sistemas corporais em exames de tomografia computadorizada (TC) e ressonância magnética (RM). Exemplos específicos incluem segmentação de imagens do cérebro no desafio BRATS e segmentação do fígado. Além da imagem biomédica, U-Net tem sido usada em tarefas como regressão pixel a pixel no pansharpenthinning, onde aumenta a resolução espacial de imagens de satélite multiespectral. Também emprega-se na análise de micrografias de materiais em ciências físicas. Variações de U-Net foram desenvolvidas para reconstrução de imagens biomédicas, e a arquitetura é adaptada para dados 3D, como a U-Net 3D para segmentação volumétrica a partir de anotações esparsas. Outra variante notável é a TernausNet, que usa um codificador VGG11 pré-treinado no ImageNet para melhorar o desempenho em tarefas de segmentação.
Influência em Modelos Generativos
A arquitetura U-Net também tem encontrado uso significativo em modelos generativos, especialmente modelos de difusão. Nesses modelos, U-Net serve como espinha dorsal para denoising imaginativo, onde ele aprende a prever o ruído adicionado a uma imagem a cada passo do processo de difusão. Esta tecnologia é base de muitos sistemas modernos de geração de imagens, incluindo DALL-E, da Midjourney e da Stable Diffusion. A capacidade da U-Net de preservar detalhes finos enquanto captura contexto global é adequada para essa tarefa. Nesse contexto, o U-Net é frequentemente modificado para incorporar embeddings de tempo e mecanismos de atenção, de modo a lidar com as variações de ruído e modelar dependências de longo alcance.
Desenvolvimentos e Extensões Recentes
U-Net tem inspirado inúmeras extensões arquiteturais e melhorias. A Attention U-Net introduz portas de atenção para focar em características relevantes, enquanto U-Net++ (U-Net Aninhada) adiciona conexões de salto de densidade para melhorar o fluxo de gradientes. U-Net Residual incorpora blocos residuais para facilitar o treinamento de redes mais profundas. A arquitetura também foi combinada com transformadores, como em TransUNet, que integra um codificador transformador para capturar contexto global. No contexto de modelos de difusão, variações de U-Net com camadas de atenção se tornaram padrão. Adicionalmente, há interesse em modelos U-Net baseados em campo de percepção para segmentação de imagens médicas, buscando otimizar o trade-off entre informações locais e globais. A arquitetura continua a ser objeto de pesquisa ativa, com esforços contínuos para melhorar a eficiência, a precisão e a adaptabilidade a novos domínios.
Ver Também
- Rede neural convolucional
- Segmentação de imagens
- Modelo de difusão
- Codificador-decodificador
- Conexão de salto
- Imagem biomédica
- Rede generativa adversária
- Aprendizado profundo
Referências
- Ronneberger, O., Fischer, P., & Brox, T. (2015). U-Net: Convolutional Networks for Biomedical Image Segmentation. In Medical Image Computing and Computer-Assisted Intervention (MICCAI).
- Shelhamer, E., Long, J., & Darrell, T. (2014). Fully Convolutional Networks for Semantic Segmentation. In CVPR.
- Çiçek, Ö., Abdulkadir, A., Lienkamp, S. S., Brox, T., & Ronneberger, O. (2016). 3D U-Net: Learning Dense Volumetric Segmentation from Special Annotação. In MICCAI.
- Iglovikov, V., & Shvets, A. (2018). TernausNet: U-Net with VGG11 Encoder Pre-Trained on ImageNet for Image Segmentation. arXiv preprint.
- Ho, J., Jain, A., & Abbeel, P. (2020). Denoising Diffusion Probabilistic Models. In NeurIPS.