Duvida sobre Estudo de detecção de Faces com OpenCV

Home Fóruns Fórum Detecção de Faces com Python e OpenCV Duvida sobre Estudo de detecção de Faces com OpenCV

Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #29091
    Pedro Ivo
    Participante

    Olá, me chamo Pedro Ivo, fiz a assinatura dos cursos da IA Academy e sou estudante de engenharia de computação, nunca tive contato com OpenCV, apenas com Python e estou fazendo uma pesquisa pois busco implementar em um projeto de robô uma webcam que detecte a presença de faces.

    Diante disso, ouvi falar que o OpenCV possui várias formas/funções de implementação para detectar faces e gostaria de pedir então uma orientação de vocês sobre quais módulos/bibliotecas/funções do OpenCV são mais utilizadas para detectar faces? Quais vocês indicariam para o meu caso? Quais cursos de vocês poderia me ajudar?

    Pergunto essas coisas pois sou leigo no assunto e o robô que estamos tentado criar funcionará a base de Bateria e como algoritmos diferentes gastam poder de processamento diferentes e consequentemente gastam a bateria de forma diferente, mas também são executados em tempos diferentes e tem eficiências diferentes, eu busco aqueles algoritmos com melhor custo/beneficio possível(No sentido que gaste menos bateria/processamento e seja o mais eficiente possível).

    Caso possuam algum material que oriente sobre a analise dos algoritmo usados no OpenCV usar, eu ficaria muito grato.

    #29143
    Gabriel Alves
    Moderador

    Olá Pedro Ivo, seja bem-vindo à plataforma!
    Para a detecção de faces com o OpenCV, a técnica mais utilizada é a haarcascade, que é ensinada nesse mesmo curso sobre detecção de faces.

    Apesar de ser relativamente antiga, essa técnica é ainda preferida por muitos pois ela é muito leve e rápida de processar, e na grande maioria das situações obtém uma precisão boa, então acaba sendo bastante escolhida.
    Para detecção de faces há outras técnicas mais precisas hoje em dia, porém verá que o custo computacional delas é bem maior. Outra técnica muito boa (e que no geral oferece melhores resultados) é a que utiliza a biblioteca Dlib, aliás tem curso aqui na IA Expert também explicando sobre ela, é o “Reconhecimento de Faces e de Objetos com Python e Dlib”.

    Tem uma outra técnica que é mais precisa ainda, baseada em Deep Learning, que aliás pode ser implementada pelo próprio OpenCV através do módulo DNN. Saiba mais sobre ela aqui: https://www.pyimagesearch.com/2018/02/26/face-detection-with-opencv-and-deep-learning/

    A decisão sobre qual escolher vai depender muito do seu hardware e qual é o FPS mínimo que seria tolerável pro seu sistema, então se possui um hardware bem limitado terá que optar provavelmente pela haarcascade mesmo, mas também recomendo testar com o dlib pois dependendo da resolução do vídeo pode ter um custo-benefício melhor.

    Sobre o material que você perguntou, eu tenho alguns que posso te passar. São três estudos comparativos que falam sobre essas técnicas, onde é analisado tanto a precisão quanto o custo computacional de cada uma, acredito que esses artigos ajudem mais ainda a tomar sua decisão:

    https://towardsdatascience.com/face-detection-models-which-to-use-and-why-d263e82c302c

    http://datahacker.rs/017-face-detection-algorithms-comparison/

    https://rupeshthetech.medium.com/face-detection-models-and-their-performance-comparison-eb8da55f328c

Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Você deve fazer login para responder a este tópico.