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.
| Etapa | Entrada | Saída |
|---|---|---|
| Máscara de cor | Imagem da esteira | Manchas de casca |
| Transformada de distância | Mancha com dois ou mais ovos | Mapa em que cada centro é um pico |
| H-máximos | Mapa de distância | Uma semente por ovo |
| Watershed | Sementes e mapa de distância | Fronteira 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
- Watershed segmentation, scikit-image
- Image Segmentation with Watershed Algorithm, OpenCV documentation
- 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.