Explicação · Tecnologia de inspeção

O que é a transformada de distância e para que serve na inspeção de ovos?

A transformada de distância é um mapa em que cada pixel da forma guarda a distância até a borda mais próxima. O centro de um ovo isolado fica no ponto mais alto, e dois ovos encostados formam dois picos ligados por um vale raso. O Vigiovo usa esse mapa para achar um pico por ovo antes de rodar o watershed.

Atualizado em · 4 min de leitura

O que é a transformada de distância?

A transformada de distância é uma imagem derivada de uma máscara binária, em que cada pixel do ovo guarda a sua distância até o pixel de fundo mais próximo. Os pixels da borda ficam perto de zero, e os pixels mais para dentro valem mais. Imagine o ovo visto de cima como uma ilha: quanto mais longe da praia, mais alto o terreno.

Para o Vigiovo, a transformada não mede sujeira nem trinca. Ela mede forma: onde fica o meio de cada região da máscara. Essa informação é o que o watershed precisa para separar ovos encostados. Para a definição resumida, veja a transformada de distância no glossário.

Por que o centro de um ovo vira um pico?

Em um ovo isolado, o ponto mais distante da borda fica perto do centro, então esse é o ponto mais alto do mapa. Como o ovo é alongado, o topo não é uma ponta fina: o mapa desce suavemente em direção às duas pontas.

Isso importa porque o pico é uma posição estável. Alguns pixels de ruído na borda quase não mudam onde fica o centro, e por isso o pico serve de semente para o watershed. O pico só aparece se a máscara tiver a forma do ovo, porém: buracos grandes ou bordas despedaçadas criam picos falsos.

Leitura prática do mapa de distância (avaliação, não uma regra)
Região do mapaValorO que significa
Borda do ovoperto de zeropixels colados no fundo
Centro de um ovo isoladoo maior valor daquele ovoo ponto mais distante da borda
Encontro de dois ovosmenor que os dois picoso pescoço entre os dois ovos

O valor exato de cada pixel depende da resolução da câmera. Por isso o Vigiovo expressa seus limites como múltiplos do raio de referência do ovo, e não em pixels fixos.

O que acontece quando dois ovos se encostam?

Dois ovos encostados formam uma única mancha em forma de oito. No mapa de distância, cada ovo ganha o seu pico, e os dois picos ficam ligados por um vale, o pescoço onde os ovos se tocam. O pescoço entre dois ovos é raso, e é por isso que a separação dá resultados estáveis no Vigiovo.

Nem toda mancha passa por essa etapa. O Vigiovo calcula a transformada só em manchas maiores que um ovo; um ovo isolado pula a separação. Os picos são escolhidos com h-máximos, que ignoram ondulações pequenas, para que um ovo não vire dois. Os detalhes do watershed estão em watershed: como separar ovos encostados.

Como o Vigiovo usa a transformada de distância?

O Vigiovo calcula a transformada sobre a máscara de cada mancha grande, acha um pico por ovo com h-máximos obtidos por reconstrução morfológica e depois roda o watershed a partir desses picos. A máscara vem da segmentação HSV, a etapa que separa a casca dos roletes da esteira.

Antes de a transformada ser calculada, a máscara já foi limpa por abertura e fechamento, e as manchas pequenas foram descartadas. Essa ordem importa: uma máscara com buracos cria picos que não correspondem a ovos. A lógica da limpeza está em morfologia matemática na inspeção.

Quais são os limites da transformada de distância?

A transformada enxerga só a forma da máscara, não a casca em si. Se a máscara estiver ruim, por causa de sombras, reflexos ou pedaços da esteira que entraram nela, o mapa e os picos ficam errados. Um ovo muito deformado também pode ter mais de um pico, ou nenhum pico claro.

Por isso o Vigiovo marca como não verificado um ovo cujo formato continua côncavo depois da separação, em vez de dar uma nota sobre uma forma incerta. Esse caminho está descrito em watershed: como separar ovos encostados. Para o que a câmera enxerga e o que ela não enxerga, veja ovoscopia ou visão computacional.

Perguntas frequentes

A transformada de distância mede o tamanho do ovo?

Não diretamente. Ela mede a distância até a borda em pixels, o que depende da resolução da câmera. Por isso o Vigiovo expressa seus limites como múltiplos do raio de referência do ovo, estimado nas manchas isoladas do primeiro quadro.

Por que o watershed precisa da transformada de distância?

O watershed precisa de uma semente em cada ovo. A transformada dá um pico no centro de cada ovo, e esses picos servem como sementes. Sem eles, o watershed não sabe onde começa cada ovo, e dois ovos encostados podem ser tratados como um só.

A transformada de distância encontra trincas?

Não. Ela trata a forma da máscara, não as linhas finas da casca. As trincas são achadas por filtros black-hat e top-hat, que realçam linhas mais escuras ou mais claras que a vizinhança. Uma linha só conta como trinca se for alongada, longa e profunda.

Fontes

  1. Image Segmentation with Watershed Algorithm, OpenCV documentation
  2. 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