Explicação · Tecnologia de inspeção

Como separar ovos encostados na imagem com watershed?

Watershed é um algoritmo que separa objetos encostados em uma imagem. Quando dois ovos se tocam, eles formam uma única mancha. O Vigiovo acha o centro de cada ovo com a transformada de distância, escolhe um pico por ovo e deixa o watershed traçar a fronteira entre eles, só nas manchas maiores que um ovo.

Atualizado em · 4 min de leitura

O que é o watershed e por que ele serve para ovos?

O watershed é um algoritmo de segmentação que trata a imagem como um relevo e vai inundando-o a partir de pontos de partida, chamados sementes. Onde duas bacias se encontram, nasce a fronteira entre dois objetos. Para ovos, isso resolve um problema comum: duas cascas encostadas aparecem como uma única mancha, e a máscara de cor sozinha não as separa.

A ideia é simples: uma semente por ovo e uma inundação que para na fronteira com o ovo vizinho. O trabalho difícil é achar essas sementes com confiança, e é isso que as duas etapas seguintes fazem.

Como a transformada de distância acha o centro de cada ovo?

A transformada de distância substitui cada pixel da mancha pela sua distância até a borda mais próxima. O resultado é um mapa em que o centro de cada ovo vira um pico, porque é o ponto mais distante de qualquer borda.

Quando dois ovos se tocam, o mapa tem dois picos ligados por um vale, justamente onde a casca de um encosta na do outro. É nesse vale que o watershed vai traçar a divisão.

Por que usar h-máximos em vez de todos os picos?

Os h-máximos são picos que se destacam pelo menos h acima da vizinhança. O Vigiovo os usa para encontrar exatamente um pico por ovo, por meio de reconstrução morfológica.

Sem esse filtro, qualquer irregularidade pequena na casca criaria um pico extra, e um ovo seria cortado em dois. Com os h-máximos, só os picos que se destacam de fato viram sementes.

Quando o Vigiovo aplica o watershed?

Só em manchas que contêm mais de um ovo. Uma mancha do tamanho de um ovo isolado pula a separação, o que economiza processamento e evita cortes desnecessários. A tabela resume as etapas, na ordem em que o sistema as executa.

Os passos abaixo valem para cada mancha agrupada, não para a imagem inteira.

Etapas da separação de ovos encostados
EtapaEntradaSaída
Máscara de corImagem da esteiraManchas de casca
Transformada de distânciaMancha com dois ou mais ovosMapa em que cada centro é um pico
H-máximosMapa de distânciaUma semente por ovo
WatershedSementes e mapa de distânciaFronteira entre cada par de ovos

O que acontece quando a separação não funciona?

O ovo fica sem nota. O Vigiovo marca como não verificado qualquer ovo que não consegue ver por inteiro ou que não parece um ovo depois da separação. Isso acontece quando:

  • o ovo toca a borda da imagem;
  • a área fica fora da faixa de 0.35 a 2.5 vezes a de um ovo típico;
  • a solidez fica abaixo de 0.90, o que indica forma côncava e possível sobreposição;
  • o contorno não se parece com uma elipse ou a razão entre os eixos passa de 1.8.

Esse é o limite honesto do método. Dois ovos sobrepostos, um cobrindo parte do outro, não têm uma fronteira que uma imagem plana revele com segurança. Em vez de adivinhar, o sistema não classifica o ovo e o envia para conferência manual. Um ovo sem nota custa menos do que uma classificação errada.

Perguntas frequentes

O watershed é aplicado a todos os ovos da esteira?

Não. Ele só roda em manchas que contêm mais de um ovo. Um ovo isolado forma uma única região e não precisa ser separado, então a etapa é pulada. Essa regra economiza processamento e evita cortes desnecessários em ovos que já estão separados.

O que acontece com dois ovos que se sobrepõem?

A separação por fronteira não garante a divisão correta quando um ovo cobre parte do outro. Se a forma resultante ficar côncava, tocar a borda da imagem ou fugir do tamanho típico, o ovo é marcado como não verificado, não recebe nota e vai para conferência manual.

A separação dos ovos é sempre igual para a mesma imagem?

Sim. O método usa regras fixas, sem modelo treinado e sem sorteio. A mesma imagem com a mesma configuração gera as mesmas sementes e as mesmas fronteiras, o que permite auditar cada decisão depois.

Fontes

  1. Watershed segmentation, scikit-image
  2. Image Segmentation with Watershed Algorithm, OpenCV documentation
  3. Como o Vigiovo classifica ovos sem IA / How Vigiovo grades eggs without AI, Vigiovo

Como o Vigiovo ajuda

O Vigiovo classifica ovos na esteira como limpos, sujos, trincados ou não verificados, em tempo real, com visão computacional determinística: cada decisão vem com as medidas que a justificam e roda em CPU comum.

Veja como funciona