Início topics Segmentação semântica O que é segmentação semântica?
Explore o IBM® watsonx.data
Homem sentado a uma mesa de computador com uma imagem entre a mesa e os servidores e setas conectando-os

Segmentação semântica é uma tarefa de visão de computador que atribui um rótulo de classe a pixels con um algoritmo de deep learning (DL). É uma das três subcategorias do processo geral de segmentação de imagem que ajuda os computadores a entenderem informações visuais. A segmentação semântica identifica grupos de pixels e os classifica de acordo com diversas características. As outras duas subcategorias de segmentação de imagem são segmentação de instância e segmentação panótica.

Segmentação de imagens

A segmentação de imagens é um processo completo de análise de imagens que divide uma imagem digital em múltiplos segmentos e classifica as informações presentes em cada região. Os três tipos de tarefas de segmentação de imagem, semântica, instância e segmentação panótica, atribuem rótulos a pixels individuais na imagem para marcar os limites e formas específicos de objetos e regiões diferentes na imagem, classificando-os por meio de informações como cor, contraste, posicionamento dentro da imagem e outros atributos.

Enquanto a segmentação semântica rotula cada pixel contido em uma imagem por sua classe semântica, a segmentação de instância e a segmentação panótica são utilizados para diversas tarefas de classificação. Os modelos de segmentação de instância concentram-se somente nas classes semânticas contidas em uma imagem que pode ser contabilizada: entidades e objetos como pessoas, animais, árvores, carros ou hidrantes. Detecta qualquer objeto individual ou instância e, em seguida, gera uma máscara de segmentação e uma tag de identificação específica para cada um. Os modelos de segmentação panótica envolvem ambos os tipos de informações: executam segmentação semântica e detectam e segmentam instâncias de objetos individuais, proporcionando uma análise mais completa da imagem atribuindo a cada pixel um rótulo semântico e (quando apropriado) um identificador de instância exclusivo.

Faça um tour pelo IBM® watsonx.data

Veja como você pode dimensionar as cargas de trabalho de IA para todos os seus dados, em qualquer lugar.

Conteúdo relacionado

Assine a newsletter da IBM

Por que a segmentação de imagem semântica é importante?

As tarefas de segmentação semântica ajudam as máquinas a distinguirem as diversas classes de objetos e regiões de fundo em uma imagem. Com o surgimento da inteligência artificial (IA) e do aprendizado de máquina (ML), a segmentação de imagens e a criação de mapas de segmentação desempenham um papel importante no treinamento de computadores para reconhecer um contexto importante em imagens digitais, como paisagens, fotos de pessoas, imagens médicas e outras.

Modelos de aprendizado de segmentação de imagem possibilitam que as máquinas interpretem informações visuais da mesma forma que o cérebro humano. Embora os modelos de segmentação de imagem compartilhem determinados usos com modelos de detecção de objetos, diferem em um aspecto crítico: identificam entidades diferentes contidas em uma imagem no nível do pixel, em vez de aproximar essas informações com uma caixa delimitadora. Essencialmente, enquanto um modelo de classificação de imagem pode determinar o que está contido em uma imagem (mas não fazer nenhuma localização) e um modelo de detecção de objeto pode determinar onde o objeto se encontra em uma imagem, a determinação das formas e dos limites específicos das entidades na imagem exige um modelo de segmentação de imagem.1

Com o sucesso crescente dos algoritmos de deep learning na ajuda das máquinas na interpretação de imagens como dados, as máquinas estão ficando cada vez melhores na identificação de objetos. Enquanto a tarefa de classificação de imagens ajuda a máquina a entender quais informações estão contidas em uma imagem, a segmentação semântica permite que a máquina identifique os locais precisos de diferentes tipos de informações visuais, bem como onde cada uma começa e termina.

Como funciona a segmentação semântica? 

Os modelos de segmenation semântica criam um mapa de segmentação de uma imagem de entrada. Um mapa de segmentação é, essencialmente, uma reconstrução da imagem original em que cada pixel foi codificado por sua classe semântica para criar máscaras de segmentação. Uma máscara de segmentação é apenas uma parte da imagem que foi diferenciada de outras regiões da imagem. Por exemplo, um mapa de segmentação de uma árvore em um campo vazio provavelmente conteria três máscaras de segmentação: uma para a árvore, uma para o solo e uma para o céu em segundo plano.

Para isso, os modelos de segmentação semântica usam redes neurais complexas para agrupar com precisão pixels relacionados em máscaras de segmentação e reconhecer corretamente a classe semântica do mundo real para cada grupo de pixels (ou segmento). Esses métodos de deep learning (DL) exigem que um modelo seja treinado em grandes conjuntos de dados rotulados previamente e anotados por especialistas humanos, ajustando seus pesos e vieses por meio de técnicas de aprendizado de máquina, como retropropagação e gradiente descendente.

Os métodos de DL substituíram outros algoritmos de aprendizado de máquina "tradicionais", como Support Vector Machines (SVM) e Random Forest. Embora as redes neurais profundas exijam mais tempo, dados e recursos computacionais para serem treinadas, superam outros métodos e tornaram-se rapidamente a abordagem escolhida depois que as primeiras inovações se mostraram bem-sucedidas.

 

Uso de conjuntos de dados para treinamento

A tarefa de classificar os dados da imagem com precisão exige conjuntos de dados que consistam em valores de pixels que representem máscaras para diversos objetos ou rótulos de classe contidos em uma imagem. Normalmente, devido à complexidade dos dados de treinamento envolvidos na segmentação de imagens, esses tipos de conjuntos de dados são maiores e mais complexos do que outros conjuntos de dados de aprendizado de máquina.

Há muitos conjuntos de dados de segmentação de imagem de código aberto, abrangendo uma grande variedade de classes semânticas com milhares de exemplos e anotações detalhadas para cada uma. Por exemplo, imagine um problema de segmentação em que a visão computacional em um carro sem motorista esteja sendo ensinada a reconhecer todos os vários objetos que ele precisará travar, como pedestres, bicicletas e outros carros. A visão computacional do carro deve ser treinada para reconhecer todos eles de maneira uniforme, ou então nem sempre pode dizer ao carro para frear. Seu treinamento também deve ser extremamente preciso, sob pena de frear constantemente depois de classificar incorretamente imagens inócuas como objetos de preocupação.

Veja a seguir alguns dos conjuntos de dados de código aberto mais populares utilizados na segmentação semântica e de imagens:

Classes de Objetos Visuais do Pascal (Pascal VOC): o conjunto de dados de Pascal VOC consiste em muitas classes de objetos diferentes, caixas delimitadoras e mapas de segmentação robustos.

MS COCO: O MS COCO contém cerca de 330 mil imagens e anotações para muitas tarefas, incluindo detecção, segmentação e legendagem de imagens.

Cityscapes: o popular conjunto de dados cityscapes interpreta dados de ambientes urbanos e é composto por 5 mil imagens com 20 mil anotações e 30 rótulos de classe.

 

Modelos de segmentação semântica

Os modelos treinados exigem uma arquitetura robusta para funcionar corretamente. Aqui estão alguns modelos de segmentação semântica amplamente utilizados.

Redes totalmente convolucionais (FCNs)

Uma rede totalmente convolucional (FCN) é uma arquitetura de rede neural de última geração utilizada na segmentação semântica que depende de várias camadas convolucionais conectadas. Enquanto a arquitetura CNN tradicional é composta por camadas convolucionais e camadas planas que produzem rótulos únicos, os modelos FCN substituem algumas dessas camadas planas por blocos convolucionais 1:1 capazes de extrair ainda mais informações sobre a imagem. Evitar o uso de camadas planas e mais densas em favor de camadas de convolução, agrupamento ou aumento de amostragem torna as redes FCN mais fáceis de treinar.

  • Upsampling e downsampling: à medida que a rede reúne camadas mais convolucionais, o tamanho da imagem é reduzido, resultando em menos informações espaciais, assim como informações em nível de pixel, um processo necessário conhecido como downsampling. No final desse processo, os engenheiros de dados executam a otimização da imagem expandindo ou ampliando o mapa de feição criado de acordo com a forma da imagem de entrada.
  • Max-pooling: O Max-pooling é outra ferramenta essencial no processo de extração e análise de informações de regiões de uma imagem. O Max-pooling escolhe o maior elemento de uma região que estiver sendo analisada para que sua saída resulte em um mapa de recursos contendo os recursos mais proeminentes do mapa de recursos anterior.

Redes U

A arquitetura de rede tipo U é uma modificação da arquitetura original da FCN introduzida em 2015 e sempre alcança resultados melhores. Consiste em duas partes, um codificador e um decodificador. Enquanto o codificador empilha camadas convolucionais que estão constantemente reduzindo a amostragem da imagem para extrair informações dela, o decodificador reconstrói os recursos da imagem usando o processo de deconvolução. A arquitetura de rede U é utilizada principalmente no campo médico para identificar tumores cancerosos e não cancerosos nos pulmões e no cérebro.

  • Conexões de salto: Uma inovação importante introduzida nos FCNs pela U-Net é conhecida como conexões de salto, usadas para conectar a saída de uma camada convolucional a outra que não seja adjacente. Esse processo de saltar conexões reduz a perda de dados durante a redução da resolução e permite uma saída de alta resolução. Cada camada convolucional é ampliada e combinada de forma independente com feições de outras camadas até que a saída final represente precisamente a imagem que está sendo analisada.

DeepLab

O modelo de segmentação semântica da DeepLab foi desenvolvido pelo Google em 2015 para melhorar ainda mais a arquitetura da FCN original e entregar resultados ainda mais precisos. Enquanto as pilhas de camadas em um modelo FCN reduzem consideravelmente a resolução da imagem, a arquitetura do DeepLab utiliza um processo chamado convolução dilatada (ou "atrous") para aumentar a amostra dos dados. Com o processo de convolução dilatada, os kernels de convolução podem remover informações de uma imagem e deixar lacunas entre os parâmetros do kernel.

A abordagem do DeepLab para convolução dilatada extrai dados do campo de visão maior, mantendo a mesma resolução. O espaço de recurso é então puxado por meio de um algoritmo de campo aleatório condicional (CRF) totalmente conectado para que possam ser capturados e utilizados mais detalhes para a função de perda de pixels, resultando em uma máscara de segmentação mais clara e precisa.

Rede de Análise de Cena Pirâmide (PSPNet)

Em 2017, foi introduzido um novo algoritmo de segmentação em segmentação de imagem. O PSPNet implementa um módulo de análise de pirâmide que reúne conjuntos de dados de imagens contextuais com uma taxa de precisão maior do que a dos seus antecessores. Como seus antecessores, a arquitetura PSPNet emprega a abordagem do codificador de codificação, mas onde a DeepLab aplicou upscaling para fazer seus cálculos em nível de pixel, a PSPNet adiciona uma nova camada de agrupamento de pirâmide para alcançar seus resultados. O agrupamento multiescala do PSPNet permite analisar uma janela de informações de imagem mais ampla do que outros modelos.

Casos de uso de segmentação semântica
Veículos autônomos

Carros autônomos utilizam segmentação semântica para ver o mundo ao redor e reagir em tempo real. A segmentação semântica separa o que o carro vê em regiões visuais categorizadas, como faixas em uma estrada, outros carros e cruzamentos. O conhecimento fornecido ao carro pela segmentação semântica permite que navegue com segurança e chegue ao seu destino, além de realizar ações importantes em resposta a eventos inesperados, como um pedestre atravessando a rua ou outro carro freando repentinamente.

Diagnóstico médico

Muitos procedimentos clínicos comuns, como tomografias computadorizadas (TCs), raios-X e ressonância magnética, dependem da análise de imagem. Embora normalmente essa tarefa tenha ficado a cargo de profissionais da área médica no passado, atualmente os modelos de segmentação de imagens médicas estão obtendo resultados semelhantes. Analisando a imagem e traçando limites exatos em torno dos vários objetos nela contidos, a IA equipada com segmentação semântica pode ajudar a detectar anomalias e até mesmo sugerir possíveis diagnósticos.

Agricultura

Os agricultores estão utilizando IA, automação e segmentação semântica para ajudar a detectar infestações em suas lavouras e até mesmo automatizar a pulverização de pesticidas. A visão computadorizada pode informar ao agricultor quais partes de um campo estão possivelmente infectadas ou em risco e um sistema automático pode tomar medidas para eliminar pragas.

Fotografia

A segmentação semântica é frequentemente utilizada para possibilitar que as câmeras alternem entre o modo retrato e paisagem, adicionem ou removam um filtro ou criem efeitos. Todos os filtros e recursos populares de aplicativos como Instagram e TikTok utilizam segmentação semântica para identificar veículos, prédios, animais e outros objetos para que os filtros ou efeitos escolhidos possam ser aplicados.

Soluções de segmentação semântica
Dados e IA IBM® WATSONX.DATA

A segmentação semântica e a segmentação de imagens desempenham funções críticas no processamento de imagens para cargas de trabalho de IA. O IBM® watsonx.data utiliza várias ferramentas e tecnologias de IA chave em código aberto e as combina com inovações de pesquisa da IBM para possibilitar fluxos de trabalho de IA robustos e eficientes para empresas modernas.

Saiba mais sobre o IBM® watsonx.data

Recursos relacionados A IBM vai ajudar as empresas a dimensionar as cargas de trabalho de IA

Saiba mais sobre o IBM® watsonx.data, um armazenamento de dados que ajuda as empresas a unificar e governar facilmente seus dados estruturados e não estruturados.

IBM® watsonx.data: um armazenamento aberto e híbrido de dados governados

Descubra como o IBM® watsonx.data ajuda as empresas a lidar com os desafios do complexo cenário de dados atual e a dimensionar a IA para atender às suas necessidades.

A IA na perspectiva do mercado de visão computacional (2021-2022)

Saiba mais sobre como a IA ajuda a organizar informações e a criar resultados em ambientes de computador.

IA, aprendizado de máquina, deep learning, redes neurais: qual é a diferença?

Saiba mais sobre as diferenças entre os principais termos envolvidos no ensino de computadores para entenderem e processarem informações visuais.

Dê o próximo passo

Conte com os recursos necessários com o IBM® watsonx.data, um armazenamento aberto e híbrido de dados governados para dimensionar cargas de trabalho de IA, para todos os seus dados, de qualquer lugar.

Descubra o IBM® watsonx.data
Notas de rodapé

1"Practical Machine Learning for Computer Vision" (link fora de ibm.com), " Lakshmanan, Valliappa, Gorner, Martin e Gillard, Ryan, O'Reilly Media, julho de 2021