Je peux voir un certain nombre de problèmes possibles avec cette approche. Je parle de ma propre expérience ici de l'amélioration d'un système de comptage des piétons avec une approche très similaire, donc je ne veux pas être décourageant. Au contraire, je voudrais vous avertir des éventuels obstacles que vous pourriez avoir à surmonter pour construire un système précis et robuste.
Premièrement, la soustraction d'arrière - plan suppose que les objets d'intérêt seront toujours en mouvement, et les objets que vous n'êtes pas intéressé à compter resteront complètement immobiles. Assurément, cela peut être le cas dans votre scénario, mais c'est toujours une hypothèse très limitative. J'ai également trouvé que la soustraction d'arrière-plan était très sensible aux changements d'éclairage (je suis d'accord avec geometrikal).
Méfiez-vous de faire l'hypothèse qu'une goutte = une personne , même si vous pensez que votre environnement est bien contrôlé. Il est arrivé trop souvent que les blobs correspondant aux personnes ne soient pas détectés parce qu'ils ne bougeaient pas ou qu'ils étaient trop petits, ils ont donc été supprimés par l'érosion ou par certains critères de seuil (et croyez-moi, vous ne voulez pas entrer dans le " régler les seuils jusqu'à ce que tout fonctionne "piège. Cela ne fonctionne pas;)). Il peut également arriver qu'une seule goutte correspond à deux personnes marchant ensemble, ou à une seule personne portant une sorte de bagage. Ou un chien. Donc, ne faites pas d'hypothèses intelligentes sur les blobs.
Heureusement, puisque vous mentionnez que vous utilisez des LBP pour la détection de personnes , je pense que vous êtes dans la bonne voie pour ne pas faire les erreurs dans le paragraphe ci-dessus. Je ne peux cependant pas commenter l'efficacité des LBP en particulier. J'ai également lu que le HOG (histogramme des gradients) est une méthode de pointe dans la détection des personnes, voir Histogrammes de gradients orientés pour la détection humaine .
Mon dernier reproche concerne l'utilisation de Camshift . Il est basé sur des histogrammes de couleurs, donc, en soi, il fonctionne bien lors du suivi d'un seul objet qui est facile à distinguer par la couleur, tant que la fenêtre de suivi est assez grande et qu'il n'y a pas d'occlusions ou de changements brusques. Mais dès que vous devez suivre plusieurs cibles qui peuvent avoir des descriptions de couleurs très similaires et qui se rapprochent très près les unes des autres, vous ne pouvez tout simplement pas vous passer d'un algorithme qui vous permet en quelque sorte de maintenir plusieurs hypothèses. Il peut s'agir d'un filtre à particules ou d'un cadre tel que MCMCDA (Markov Chain Monte Carlo Data Association, voir Markov Chain Monte Carlo Data Association for Multiple-Target Tracking). Mon expérience avec l'utilisation de Meanshift seul lors du suivi de plusieurs objets est tout ce qui ne devrait pas se produire avec le suivi: perte de piste, confusion des cibles, fixation en arrière-plan, etc. Lisez un peu sur les problèmes de suivi d'objets multiples et d'association de données, cela pourrait être cœur de compter plusieurs personnes après tout (je dis "peut-être" parce que votre objectif est de compter sans suivre, donc je n'écarte pas complètement la possibilité d'une approche intelligente qui compte sans suivre ...)
Mon dernier conseil est le suivant: il n'y a pas grand-chose à faire avec une approche donnée , et vous aurez besoin de choses plus sophistiquées pour obtenir de meilleures performances (donc je ne suis pas d'accord avec user36624 à cet égard). Cela peut impliquer de changer une partie de votre algorithme par quelque chose de plus puissant, ou de changer complètement l'architecture. Bien sûr, vous devez savoir quels trucs fantaisistes vous sont vraiment utiles. Il existe des publications qui tentent de résoudre le problème d'une manière de principe, tandis que d'autres proposent simplement un algorithme pour un ensemble de données donné et s'attendent à ce que vous formiez un classificateur qui n'est pas vraiment adapté au problème actuel, tout en vous obligeant à ajustez également quelques seuils. Le nombre de personnes estrecherche en cours, alors ne vous attendez pas à ce que les choses viennent facilement. Faites un effort pour apprendre des choses qui dépassent légèrement vos capacités, puis recommencez encore et encore ...
Je reconnais que je n'ai proposé aucune solution et au lieu de cela, j'ai seulement signalé des failles dans votre approche (qui proviennent toutes de ma propre expérience). Pour vous inspirer, je vous recommande de lire quelques recherches récentes, par exemple le suivi multi-cible stable dans la vidéo de surveillance en temps réel . Bonne chance!