Pergunta

Alguém pode conhecer todas as diferentes técnicas usadas na detecção de rosto?Técnicas como redes neurais, máquinas de vetores de suporte, autofaces, etc.

Que outros existem?Obrigado.

Foi útil?

Solução

a técnica sobre a qual vou falar é mais uma abordagem orientada ao aprendizado de máquina;na minha opinião é bastante fascinante, embora não muito recente:foi descrito no artigo "Robust Real-Time Face Detection" de Viola e Jones.Usei a implementação OpenCV para um projeto universitário.

É baseado em características do tipo haar, que consiste em adições e subtrações de intensidades de pixels em regiões retangulares da imagem.Isso pode ser feito muito rapidamente usando um procedimento chamado imagem integral, para o qual também existem implementações GPGPU (às vezes chamadas de "varredura de prefixo").Depois de calcular a imagem integral em tempo linear, qualquer característica semelhante a haar pode ser avaliada em tempo constante.Um recurso é basicamente uma função que pega uma subjanela 24x24 da imagem S e calcula um recurso de valor (S);um trigêmeo (característica, limite, polaridade) é chamado de classificador fraco, porque

polaridade * recurso (S) <polaridade * limite

é verdadeiro em certas imagens e falso em outras;espera-se que um classificador fraco tenha um desempenho um pouco melhor do que uma estimativa aleatória (por exemplo, deve ter uma precisão de pelo menos 51-52%).

A polaridade é -1 ou +1.

O espaço de recursos é grande (cerca de 160.000 recursos), mas finito.

Apesar do limite poder, em princípio, ser qualquer número, a partir de considerações simples sobre o conjunto de treinamento, verifica-se que, se houver N exemplos, apenas N + 1 limite para cada polaridade e para cada característica deve ser examinado para encontrar aquele que vale a melhor precisão.O melhor classificador fraco pode, portanto, ser encontrado pesquisando exaustivamente o espaço dos trigêmeos.

Basicamente, um classificador forte pode ser montado escolhendo iterativamente o melhor classificador fraco possível, usando um algoritmo chamado "reforço adaptativo", ou AdaBoost;em cada iteração, os exemplos que foram classificados incorretamente na iteração anterior têm mais peso.O classificador forte é caracterizado por seu próprio limite global, calculado pelo AdaBoost.

Vários classificadores fortes são combinados como estágios em uma cascata de atenção;a ideia por trás da cascata de atenção é que subjanelas 24x24 que obviamente não são faces sejam descartadas nos primeiros estágios;um classificador forte geralmente contém apenas alguns classificadores fracos (como 30 ou 40), portanto, é muito rápido de calcular.Cada estágio deve ter um recall muito alto, enquanto a taxa de falsos positivos não é muito importante.se houver 10 estágios cada um com 0,99 recall e 0,3 taxa de falsos positivos, a cascata final terá 0,9 recall e taxa de falsos positivos extremamente baixa.Por esse motivo, classificadores fortes geralmente são ajustados para aumentar a recuperação e a taxa de falsos positivos.O ajuste envolve basicamente a redução do limite global calculado pelo AdaBoost.

Uma subjanela que chega ao final da cascata é considerada uma face.

Várias subjanelas na imagem inicial, eventualmente sobrepostas, eventualmente após o redimensionamento da imagem, devem ser testadas.

Tchau, espero que tenha sido interessante ;-)

Dário

Outras dicas

Uma abordagem emergente, mas bastante eficaz, para a ampla classe de problemas de visão, incluindo a detecção de rosto, é o uso de Memória temporal hierárquica (Htm), um conceito/tecnologia desenvolvido por Numenta.

Muito Falando vagamente, esta é uma abordagem do tipo NeuralNetwork. Esse tipo de rede tem uma forma de árvore em que o número de nós diminui significativamente em cada nível. HTM modela algumas das propriedades estruturais e algorítmicas do neocórtex. Em [possível] partida com o neocórtex, o algoritmo de classificação implementado no nível de cada nó usa um algoritmo bayesiano. O modelo HTM é baseado na teoria da previsão da memória da função cerebral e depende fortemente da natureza temporal das entradas; Isso pode explicar sua capacidade de lidar com o problema da visão, pois geralmente são temporais (ou podem ser feitos assim) e também exigem tolerância ao ruído e "esgoto".

Enquanto a Numemta produz kits de visão e aplicativos de demonstração por algum tempo, Vitamina D Recentemente, o Think- think- a primeira aplicação comercial da tecnologia HTM, pelo menos no domínio das aplicações de visão.

Se você precisar não apenas como coisas teóricas, mas você realmente deseja fazer a detecção, recomendo que você encontre soluções já implementadas.

Existem muitas bibliotecas testadas para diferentes idiomas e são amplamente utilizadas para esse fim. Veja isso, então, thread para obter mais informações: Biblioteca de reconhecimento de rosto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top