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:

- imagem de origem
- seleção da etapa de verificação (desempenho crítico)
- varredura horizontal
- análise vertical de varredura e interseção para procurar "objetos" isolados
- construindo uma matriz de meta-pixels (para identificar a forma e os recursos internos do objeto) e pós-processamento (filtragem, suavização etc.)
- "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:
RobotsCanSeeTelegrama:
RobotsCanSeeUs