Detecção rápida de contorno em vídeo 4K: cores e formas complexas

Na parte anterior, “Conjuntos de treinamento de vídeo - rápida e eficientemente”, falamos sobre a complexidade do uso de redes neurais para qualquer tarefa associada a objetos raros, incomuns ou simplesmente complexos. Certifique-se de olhar para os exemplos, eles valem a pena.


Os algoritmos clássicos de visão computacional, como se viu, podem ajudar bastante na obtenção de conjuntos de treinamento de alta qualidade. Naturalmente, essa abordagem não é aplicável em todos os casos, com os quais é necessário entender.

Qual é a dificuldade?


Conforme mostrado na parte anterior , o layout manual detalhado dos conjuntos é um processo muito demorado e, francamente, não é uma opção para nenhuma pessoa sã. A marcação automática, especialmente quando se trata de contornos, parece muito mais interessante, mas como obter o contorno de interesse com rapidez e precisão?

Função de associação


Talvez valha a pena começar com a função de associação. Suponha que o objeto de interesse para nós seja caracterizado por uma cor brilhante, que, além disso, é exclusiva do objeto no contexto de uma cena específica:


Dadas as especificidades da abordagem (ou seja, a necessidade de cenas fáceis de analisar), é bastante fácil formular uma regra para selecionar exemplos para obter um conjunto de treinamento: cenas para as quais a regra de exclusividade de cores do objeto desejado será cumprida será muito útil (lembre-se, com todos os casos difíceis você terá que lidar com uma rede neural que foi treinada com sucesso usando o conjunto gerado).

Na verdade, a condição de exclusividade é um mínimo necessário, pois a cor pode e deve ser trabalhada em:


Distância da cor


Trabalhar com cores, nesse caso, é uma parte muito importante de toda a abordagem. De fato, a função de associação pode ser implementada como uma função da proximidade de uma determinada cor com um valor limite definido:



A solução existente usa várias implementações do Delta E como o padrão mais preciso. Por exemplo, CIE94 no espaço de cores LCH (L * C * h):



Um limite muito grande, para a distância da cor, provavelmente "interromperá" o caminho, capturando pixels que não estão relacionados ao objeto desejado. Muito pequeno - seleciona apenas parte do objeto desejado. Nesse contexto, cenas complexas requerem atenção, por exemplo:



A baleia na foto ainda é discernível aos olhos (com dificuldade, é claro), mas o contorno já está construído incorretamente. Exemplo inteiro:


Restaurar o circuito


Suponha que tudo esteja bem com a cor, como obter o contorno desejado? A tarefa não é simples, pois o resultado provavelmente será bastante complexo, com cavidades, elementos menores etc. Qual das opções para o contorno restaurado de um único objeto está correta?


A iluminação é complexa, sombras, reflexos são parte integrante do mundo tridimensional, etc. Usamos um exemplo mais complexo:


O algoritmo para obter esse resultado é o seguinte:



  1. imagem de origem
  2. seleção da etapa de verificação (desempenho crítico)
  3. varredura horizontal
  4. análise vertical de varredura e interseção para procurar "objetos" isolados
  5. construindo uma matriz de meta-pixels (para identificar a forma e os recursos internos do objeto) e pós-processamento (filtragem, suavização etc.)
  6. "Vetorização" da forma restaurada do objeto

A análise de interseção facilita a localização de áreas separadas e não relacionadas. Ao ativar o modo de exibição da linha de digitalização, você pode ver facilmente a abordagem em si e o efeito da etapa de digitalização no resultado final. Preste atenção a um truque muito simples com uma borda que melhora significativamente a impressão que você faz:



A precisão do circuito reconstruído é fácil de avaliar usando o seguinte exemplo:



Teste final


Mais objetos, mais contornos, melhor precisão, cabelos e em 4K - se você verificar sua implementação, com músicas e danças.


Até a próxima vez, e outros detalhes igualmente interessantes.

Outros resultados





Acompanhe o desenvolvimento do projeto


YouTube: RobotsCanSee
Telegrama: RobotsCanSeeUs

Source: https://habr.com/ru/post/pt473780/


All Articles