Um guia sobre a arquitetura U-Net e as suas aplicações
Aprende sobre a arquitetura U-Net, como ela suporta a segmentação de imagens, as suas aplicações e por que é significativa na evolução da visão computacional.

Computer vision é um ramo da inteligência artificial (IA) que se concentra na análise de dados visuais. Ele abriu caminho para muitos sistemas de ponta, como a automação do processo de inspeção de produtos em fábricas e a ajuda a veículos autônomos a navegar pelas estradas.
Uma das tarefas mais conhecidas de visão computacional é a detecção de objetos. Esta tarefa permite que os modelos localizem e identifiquem objetos dentro de uma imagem usando caixas delimitadoras (bounding boxes). Embora as caixas delimitadoras sejam úteis para diversas aplicações, elas fornecem apenas uma estimativa aproximada da localização de um objeto.
No entanto, em áreas como a saúde, onde a precisão é crucial, os casos de uso de visão por IA dependem de mais do que apenas identificar um objeto. Frequentemente, eles também exigem informações relacionadas à forma e à posição exatas dos objetos.
É exatamente para isso que a tarefa de visão computacional, a segmentação, foi projetada. Em vez de usar caixas delimitadoras, os modelos de segmentação detectam objetos no nível de pixel. Ao longo dos anos, os pesquisadores desenvolveram modelos de visão computacional especializados em segmentação.
Um desses modelos é o U-Net. Embora modelos mais novos e avançados tenham superado o seu desempenho, o U-Net ocupa um lugar significativo na história da visão computacional. Neste artigo, vamos analisar mais de perto a arquitetura U-Net, como ela funciona, onde tem sido utilizada e como se compara aos modelos de segmentação mais modernos disponíveis hoje.

Fig 1. Um exemplo de segmentação usando o modelo de aprendizado profundo U-Net. (Source)
A história da segmentação de imagens#
Antes de mergulharmos no que é o U-Net, vamos primeiro ter uma ideia melhor de como os modelos de segmentação de imagens evoluíram.
Inicialmente, a visão computacional baseava-se em técnicas tradicionais como detecção de bordas, limiarização ou crescimento de região para separar objetos em uma imagem. Essas técnicas eram usadas para detectar limites de objetos usando bordas, separar regiões por intensidade de pixel e agrupar pixels semelhantes. Elas funcionavam para casos simples, mas frequentemente falhavam quando as imagens apresentavam ruído, formas sobrepostas ou limites pouco claros.
Após o surgimento do aprendizado profundo em 2012, os pesquisadores introduziram o conceito de redes totalmente convolucionais (FCNs) em 2014 para tarefas como segmentação semântica. Esses modelos substituíram certas partes de uma rede convolucional para permitir que o computador analisasse uma imagem inteira de uma vez, em vez de dividi-la em pedaços menores. Isso tornou possível para o modelo criar mapas detalhados que mostram o que há em uma imagem com mais clareza.

Fig 2. A evolução dos algoritmos de segmentação baseados em aprendizado profundo. (Source)
Com base nas FCNs, o U-Net foi apresentado por pesquisadores da Universidade de Freiburg em 2015. Ele foi originalmente projetado para segmentação de imagens biomédicas. Em particular, o U-Net foi concebido para ter um bom desempenho em situações em que os dados anotados são limitados.
Enquanto isso, versões posteriores como UNet++ e TransUNet adicionaram melhorias como camadas de atenção e melhor extração de características. As camadas de atenção ajudam o modelo a focar em regiões-chave, enquanto a extração de características aprimorada captura informações mais detalhadas.
O que é a U-Net e como as características fluem através do modelo?#
O U-Net é um modelo de aprendizado profundo construído especificamente para segmentação de imagens. Ele recebe uma imagem como entrada e produz uma máscara de segmentação que classifica cada pixel de acordo com o objeto ou região a que pertence.
O modelo recebe esse nome devido à sua arquitetura em forma de U. Ele consiste em duas partes principais: um codificador (encoder) que comprime a imagem e aprende suas características, e um decodificador (decoder) que a expande de volta ao tamanho original. Esse design cria um formato de U simétrico, que ajuda o modelo a entender tanto a estrutura geral de uma imagem quanto seus detalhes mais refinados.
Uma característica crucial da U-Net é o uso de conexões de salto (skip connections), que permitem que as informações do codificador sejam passadas diretamente para o decodificador. Isso significa que o modelo pode preservar detalhes importantes que poderiam ser perdidos quando a imagem é comprimida.
Uma visão geral da arquitetura da U-Net#
Aqui está um vislumbre de como funciona a arquitetura da U-Net:
- Input image: O U-Net começa com uma imagem 2D, como um exame médico ou uma foto de satélite. O objetivo é atribuir um rótulo de classe a cada pixel da imagem.
- Downsampling: A imagem passa por camadas convolucionais que aprendem características visuais importantes. Conforme a imagem se move através das diferentes camadas, sua resolução diminui e o modelo identifica padrões mais amplos.
- Camada de gargalo (bottleneck): No centro da rede, os mapas de características atingem sua menor resolução espacial enquanto capturam características semânticas de alto nível. Simplificando, essa representação comprimida dos mapas de características é o contexto geral da entrada.
- Upsampling: A rede então reconstrói a imagem aumentando gradualmente a resolução. Convoluções transpostas ajudam a expandir os mapas de características de volta ao tamanho original.
- Conexões de salto (skip connections): Os mapas de características do caminho de downsampling são concatenados com aqueles no caminho de upsampling. Isso ajuda a preservar detalhes espaciais de granulação fina enquanto integra informações contextuais de alto nível.
- A saída é um mapa de segmentação: A saída final é uma máscara de segmentação pixel a pixel que corresponde ao tamanho da entrada. Cada pixel é classificado em uma categoria como objeto, fundo ou região de interesse.

Fig 3. Diagrama da arquitetura U-Net. (Source)
Entendendo a diferença entre ViT e U-Net#
Ao explorar o U-Net, você pode estar se perguntando como ele difere de outros modelos de aprendizado profundo, como o Vision Transformer (ViT), que também pode realizar tarefas de segmentação. Embora ambos os modelos possam realizar tarefas semelhantes, eles diferem em termos de como são construídos e como lidam com a segmentação.
A U-Net funciona processando imagens ao nível do pixel através de camadas convolucionais em uma estrutura encoder-decoder. É frequentemente usada para tarefas que exigem segmentação precisa, como exames médicos ou cenas de carros autônomos.
Por outro lado, o Vision Transformer (ViT) divide imagens em patches e os processa simultaneamente através de mecanismos de atenção. Ele usa autoatenção (um mecanismo que permite ao modelo ponderar a importância de diferentes partes da imagem em relação umas às outras) para capturar como as diferentes partes da imagem se relacionam, ao contrário da abordagem convolucional da U-Net.
Outra diferença importante é que o ViT geralmente precisa de mais dados para funcionar bem, mas é excelente para captar padrões complexos. A U-Net, por outro lado, funciona bem com conjuntos de dados menores, é mais rápida de treinar e, muitas vezes, exige menos tempo de treinamento.
Aplicações do modelo U-Net#
Agora que temos uma compreensão melhor do que é a U-Net e como ela funciona, vamos explorar como a U-Net tem sido aplicada em diferentes domínios.
Segmentação de hemorragia cerebral em imagens médicas#
O U-Net tornou-se um método confiável para a segmentação em nível de pixel de imagens médicas complexas, particularmente durante o seu auge na pesquisa. Foi utilizado por pesquisadores para destacar áreas-chave em exames médicos, como tumores e sinais de sangramento interno em imagens de tomografia computadorizada e ressonância magnética. Essa abordagem avançou significativamente a precisão dos diagnósticos e simplificou a análise de dados médicos complexos em ambientes de pesquisa.
Um exemplo do impacto da U-Net na pesquisa em saúde é seu uso na identificação de derrames e hemorragias cerebrais em exames médicos. Pesquisadores puderam usar a U-Net para analisar exames de cabeça e destacar áreas de preocupação, permitindo a identificação mais rápida de casos que exigem atenção imediata.

Fig 4. Segmentação de lesões de AVC hemorrágico usando o 3D U-Net. (Source)
Segmentação de culturas na agricultura#
Outra área onde pesquisadores têm usado a U-Net é na agricultura, particularmente para segmentar culturas, ervas daninhas e solo. Ela ajuda os agricultores a monitorar a saúde das plantas, estimar colheitas e tomar melhores decisões em grandes fazendas. Por exemplo, a U-Net pode separar culturas de ervas daninhas, tornando a aplicação de herbicidas mais eficiente e reduzindo o desperdício.
Para enfrentar desafios como o desfoque de movimento em imagens de drones, os pesquisadores aprimoraram o U-Net com técnicas de remoção de desfoque de imagem. Isso garante uma segmentação mais clara, mesmo quando os dados são coletados em movimento, como durante levantamentos aéreos.

Fig 5. Separação de plantações de ervas daninhas em campos agrícolas com o U-Net. (Source)
Condução autônoma#
Antes que modelos de IA mais avançados fossem introduzidos, o U-Net desempenhou um papel vital na exploração de como a segmentação poderia aprimorar a direção autônoma. Em veículos autônomos, a segmentação semântica do U-Net pode ser usada para classificar cada pixel em uma imagem em categorias como estrada, veículo, pedestre e marcações de faixa. Isso fornece ao carro uma visão clara de seus arredores, auxiliando na navegação segura e na tomada de decisões eficazes.

Fig 6. Uma cena de estrada onde a área trafegável é segmentada usando o U-Net. (Source)
Prós e contras da U-Net#
Mesmo hoje, a U-Net continua sendo uma boa escolha para segmentação de imagens entre pesquisadores devido ao seu equilíbrio de simplicidade, precisão e adaptabilidade. Aqui estão algumas das principais vantagens que a destacam:
- Adaptável para diferentes modalidades: A U-Net foi adaptada para diferentes tipos de dados, incluindo exames médicos 3D, imagens de satélite e até quadros de vídeo.
- Inferência rápida quando otimizada: Quando devidamente ajustada, a U-Net pode rodar de forma eficiente, tornando-a adequada para aplicações em tempo real ou quase tempo real.
- Open-source and community: O U-Net está disponível nas principais bibliotecas de aprendizado profundo e conta com o apoio de uma grande comunidade de desenvolvedores e pesquisadores.
Embora a U-Net tenha muitos pontos fortes, também existem algumas limitações a serem lembradas. Aqui estão alguns fatores a serem considerados:
- Sensível à qualidade dos dados: O desempenho da U-Net pode ser impactado negativamente por dados de baixa qualidade, como imagens com ruído ou baixa resolução.
- Propensa a sobreajuste (overfitting) com pequenos conjuntos de dados: Embora a U-Net tenha um bom desempenho com dados limitados, ela ainda corre o risco de overfitting se não for devidamente regularizada, particularmente quando o conjunto de dados é muito pequeno ou carece de diversidade.
- Recursos computacionais: A U-Net pode ser computacionalmente cara, especialmente ao trabalhar com grandes conjuntos de dados, exigindo recursos de hardware significativos para o treinamento.
Principais pontos#
A U-Net tem sido um marco fundamental na evolução da segmentação de imagens. Ela provou que modelos de deep learning podem entregar resultados precisos usando conjuntos de dados menores, especialmente em áreas como imagens médicas.
Esse avanço abriu caminho para aplicações mais avançadas em vários campos. À medida que a visão computacional continua a evoluir, modelos de segmentação como a U-Net permanecem fundamentais para permitir que as máquinas entendam e interpretem dados visuais com alta precisão.
Quer criar seus próprios projetos de visão computacional? Explore o nosso repositório do GitHub para mergulhar mais fundo na IA e confira as nossas opções de licenciamento. Descubra como a visão computacional na saúde está melhorando a eficiência e explore o impacto da IA no varejo visitando as nossas páginas de soluções! Junte-se à nossa crescente comunidade agora mesmo!






