Explicação · Tecnologia de inspeção

O que é a segmentação HSV e como ela encontra os ovos na esteira?

Segmentação HSV é separar os pixels pela cor usando matiz, saturação e valor, em vez de vermelho, verde e azul. No Vigiovo, um pixel é casca quando o matiz é quente (do vermelho ao amarelo), a saturação é de pelo menos 45 e o brilho é de pelo menos 120, numa escala de 0 a 255. Assim, os roletes cinza e escuros da esteira ficam de fora da máscara.

Atualizado em · 5 min de leitura

O que é segmentação HSV?

Segmentação HSV é um caso de segmentação por cor: separar os pixels de uma imagem pela cor, usando três medidas. Matiz (H) é a cor básica, como vermelho ou amarelo. Saturação (S) mostra quão viva ela é. Valor (V) mostra quão clara ela é. O resultado é uma máscara que diz, para cada pixel, se ele pertence ao ovo ou ao fundo.

Para quem conhece ovos, a ideia é simples: a casca tem uma cor característica, e a regra procura essa cor em cada ponto da imagem. Essa é a primeira etapa do Vigiovo, antes de qualquer medição de sujeira ou trinca. O fluxo completo está em como funciona.

Por que usar HSV em vez de RGB?

HSV separa a cor do brilho, e RGB não. No RGB, a cor de um pixel é a combinação de três canais (vermelho, verde e azul). Uma sombra ou uma variação de luz escala os três canais juntos, então a cor parece mudar nos três ao mesmo tempo. No HSV, a mesma sombra muda sobretudo o valor, enquanto o matiz continua parecido, o que torna a regra de cor mais estável.

O HSV não dispensa luz estável. Se a cor da iluminação muda, o matiz também se desloca, e a máscara precisa de nova calibração. Medir cor no espaço Lab enfrenta um desafio parecido quando o objetivo é achar manchas.

Quais limiares separam a casca dos roletes?

Um pixel entra na máscara de casca quando passa pelos três testes ao mesmo tempo: matiz quente, do vermelho ao amarelo; saturação de pelo menos 45; e brilho de pelo menos 120, numa escala de 0 a 255. Os roletes cinza têm pouca saturação, e os escuros têm pouco brilho, então ficam de fora.

Como a regra trata quatro tipos de pixel
PixelTesteResultado
Casca marrom ou cremematiz quente, saturação de pelo menos 45 e brilho de pelo menos 120entra na máscara de ovos
Casca brancasaturação baixa, que pode não chegar a 45pode ficar de fora
Rolete cinza da esteirasaturação baixafica de fora
Rolete escuro da esteirabrilho baixofica de fora

Depois da máscara, abertura e fechamento morfológicos removem ruído e fecham pequenos buracos, e componentes menores que 150 pixels são descartados. A lógica dessas operações está em morfologia matemática.

Esses valores são configuração do Vigiovo, não uma norma legal, e são ajustados na calibração de cada linha.

Por que ovos brancos precisam de outros limiares?

Ovos brancos não cabem nos limiares padrão. A casca branca tem saturação baixa e pode ficar abaixo do limite de 45, e a casca azulada cai fora da faixa de matiz quente. Os limiares padrão foram pensados para ovos marrons e cremes, então a linha com casca branca precisa de recalibração de matiz e saturação.

A calibração deve usar ovos da mesma cor e sob a mesma luz da produção. Se a esteira tiver cor parecida com a da casca, parte dela entra na máscara, e esse erro passa para todas as medições seguintes. O caso completo está em ovos brancos e vermelhos na câmera.

Quais são os limites da segmentação por cor?

A segmentação por cor enxerga a superfície, não o interior. Ela acha a casca, mas não diz se o ovo está trincado por dentro, e não separa dois ovos encostados: essa tarefa cabe ao watershed.

Sujeira de cor parecida com a da casca continua dentro da máscara, por isso a medição de sujeira é feita depois, sobre cada ovo já isolado. Uma máscara ruim afeta todas as etapas seguintes, e por isso a calibração vem antes de qualquer decisão de classe. Para o que a câmera enxerga e o que ela não enxerga, veja ovoscopia ou visão computacional.

Perguntas frequentes

O que significam as letras HSV?

HSV são as iniciais de matiz (hue), saturação (saturation) e valor (value), três medidas de cor. Na segmentação de ovos, o matiz indica se a cor é de casca, a saturação indica se ela é viva e o valor indica se ela é clara. Juntas, elas separam a casca dos roletes cinza e escuros da esteira.

Por que a casca branca pode ficar fora da máscara de cor?

A casca branca tem saturação baixa, e um pixel pouco saturado pode não passar do limite da máscara. A casca azulada também cai fora da faixa de matiz quente. Por isso ovos brancos precisam de calibração com ovos da mesma cor e sob a mesma luz da produção.

A segmentação por cor detecta trincas e sujeira?

Não diretamente. A segmentação por cor só encontra a área da casca. Trincas e sujeira são medidas depois, em cada ovo já isolado. Uma câmera de superfície também não enxerga o interior, como a câmara de ar e a gema, e isso precisa ser coberto pela ovoscopia.

Fontes

  1. Changing Colorspaces, 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