Edge AI – MASkRCNN e segmentação de Instâncias

On 17 de novembro de 2020 by admin

Neste post iremos apresentar o conceito de segmentação de instâncias com o algoritmo MaskRCNN para exemplicar seu uso

Por Natalia Meira

Segmentação – Semantica e Segmentação de Instâncias

A segmentação pode ser dividida em duas classes principais: segmentação semântica e segmentação de instâncias.

Segmentação Semântica

Tem como objetivo rotular cada pixel de uma imagem com uma classe correspondente do que está sendo representado. A saída é uma imagem de alta resolução (normalmente do mesmo tamanho da imagem de entrada), na qual cada pixel é classificado em uma classe específica.

Assim, a segmentação semântica pode detectar objetos na imagem de entrada, isolá-los do fundo e agrupá-los com base em sua classe [1] [2] [4] [7].

Segmentação de Instâncias

Figura 1 Segmentação semântica [7].

Segmentação de Instâncias

Leva a segmentação um passo a frente. Efetua a classificação de nível de pixel, esperamos que o computador classifique cada instância de uma classe separadamente.

Segmentação de Instâncias detecta cada objeto individual dentro de um grupo de objetos semelhantes.

Na imagem abaixo existem 3 pessoas. Tecnicamente 3 instâncias da classe “Pessoa”. Todos os 3 são classificados separadamente (em uma cor diferente) [1] [2] [4] [7].

Segmentação de Instâncias

Figura 2 Segmentação de instâncias [7].

Embora a rotulagem de segmentação de instância seja cara, é um dos métodos mais robustos e abrangentes de obter a detecção de objetos na análise de imagens [4].

A Rede Neural Convolucional Regional de Máscara (Mask R-CNN)

É uma extensão do algoritmo de detecção de objeto Faster R-CNN que adiciona recursos extras, como segmentação de instância. Isso nos permite formar segmentos no nível de pixel de cada objeto e também separar cada objeto de seu fundo [3].

O framework do Mask R-CNN é baseado em duas etapas: primeiro, faz a varredura da imagem para gerar propostas; que são áreas com alta probabilidade de conter um objeto.  Em segundo lugar, ele classifica essas propostas e cria caixas delimitadoras e máscaras [6].

Figura 3 Segmentação de instâncias com Mask R-CNN [2].

Uma desvantagem é que o Mask RCNN é bastante lento e impede o uso de muitos aplicativos em tempo real. A imagem 4 resume o que vimos até aqui:

Figura 4 Comparação entre: detecção de objetos, segmentação semântica e segmentação de instâncias [5].

Fontes:

[1]           Instance Segmentation with Deep Learning. Disponível em: <https://missinglink.ai/guides/neural-network-concepts/instance-segmentation-deep-learning/>.

[2]           Object Detection and Instance Segmentation: A detailed overview. Disponível em: <https://medium.com/swlh/object-detection-and-instance-segmentation-a-detailed-overview-94ca109274f2>.

[3]           Quick intro to Instance segmentation: Mask R-CNN. Disponível em: <https://kharshit.github.io/blog/2019/08/23/quick-intro-to-instance-segmentation>.

[4]           Semantic Versus Instance Segmentation. Disponível em: <https://innodata.com/semantic-versus-instance-segmentation/>.

[5]           Single Stage Instance Segmentation — A Review. Disponível em: <https://towardsdatascience.com/single-stage-instance-segmentation-a-review-1eeb66e0cc49>.

[6]           Splash of Color: Instance Segmentation with Mask R-CNN and TensorFlow. Disponível em: <https://engineering.matterport.com/splash-of-color-instance-segmentation-with-mask-r-cnn-and-tensorflow-7c761e238b46>.

[7]           Understanding Semantic Segmentation with UNET. Disponível em: <https://towardsdatascience.com/understanding-semantic-segmentation-with-unet-6be4f42d4b47>.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *