Détection et isolation d’objects à l’aide d’OpenCV

J’ai commencé à utiliser OpenCV avec un certain succès afin de détecter différentes parties du corps (mains, arm, visage, etc.).

La première approche, la plus évidente, consiste à utiliser les classificateurs en cascade de Haar ou de LBP, mais j’aimerais savoir quelles autres options existent.

J’ai vu des exemples de détection de peau utilisant des images HSV et détectant des pixels dans une plage de couleurs. Mais cela n’aide pas à déterminer quel bit est quel bit! J’ai également implémenté une soustraction d’arrière-plan MOG2 qui peut aider à isoler un object en mouvement, mais cela ne fonctionnerait que si l’object souhaité est le SEUL qui se déplace.

En utilisant une shell convexe et des défauts, j’ai esquissé les mains et les arm mais je ne peux pas distinguer les deux. Existe-t-il un moyen standard de le faire ou est-il le seul moyen fiable d’utiliser des classificateurs en cascade?

Vous pouvez essayer les descripteurs HoG qui ont été développés en 2006. Ils fonctionnent très bien pour les visages et les piétons. Ils ne fonctionnent pas très bien pour certaines parties du corps (encore mieux que les caractéristiques de haar). Ils ont été considérés comme étant à la pointe de la technologie jusqu’à l’apprentissage en profondeur. (vers 2012 je pense)

Le système décrit dans cet article a remporté plusieurs concours lors de sa présentation.

Hog est implémenté dans OpenCV mais l’implémentation DLib est meilleure.

Voir aussi ceci pour beaucoup d’informations utiles sur la vision par ordinateur en général.