Vedo una serie di possibili problemi con questo approccio. Parlo qui per la mia esperienza personale nel migliorare un sistema di conteggio dei pedoni con un approccio molto simile, quindi non intendo essere scoraggiante. Al contrario, vorrei avvertirti di possibili ostacoli che potresti dover superare per costruire un sistema preciso e robusto.
In primo luogo, la sottostrazione di sfondo presuppone che gli oggetti di interesse si muoveranno sempre e gli oggetti che non sono interessati a contare rimarranno completamente immobili. Sicuramente, questo può essere il caso nel tuo scenario, ma è ancora un presupposto molto limitante. Ho anche trovato la sottostrazione di sfondo molto sensibile ai cambiamenti nell'illuminazione (sono d'accordo con geometrikal).
Diffida dal presupporre che un blob = una persona , anche se pensi che il tuo ambiente sia ben controllato. Accadde troppo spesso che le chiazze corrispondenti alle persone non venivano rilevate perché non si muovevano o erano troppo piccole, quindi venivano eliminate dall'erosione o da alcuni criteri di soglia (e credetemi, non volete entrare nel " sintonizza le soglie fino a quando tutto funziona "trap. Non funziona;)). Può anche succedere che un singolo blob corrisponda a due persone che camminano insieme o a una singola persona che trasporta una sorta di bagaglio. O un cane. Quindi non fare ipotesi intelligenti sui BLOB.
Fortunatamente, dal momento che menzioni che stai usando LBP per il rilevamento di persone , penso che tu sia sulla buona strada per non commettere errori nel paragrafo sopra. Tuttavia, non posso commentare l'efficacia degli LBP. Ho anche letto che gli HOG (istogrammi di gradienti) sono un metodo all'avanguardia nel rilevamento delle persone, vedi Istogrammi dei gradienti orientati per il rilevamento umano .
La mia ultima lamentela riguarda l'uso di Camshift . Si basa su istogrammi di colore, quindi, da solo, funziona bene quando si traccia un singolo oggetto che è facile da distinguere per colore, purché la finestra di tracciamento sia abbastanza grande e non ci siano occlusioni o brusche modifiche. Ma non appena devi tenere traccia di più target che possono avere descrizioni dei colori molto simili e che si avvicinano molto l'uno all'altro, semplicemente non puoi fare a meno di un algoritmo che in qualche modo ti consente di mantenere ipotesi multiple. Potrebbe trattarsi di un filtro antiparticolato o di un framework come MCMCDA (Markov Chain Monte Carlo Data Association, vedere Markov Chain Monte Carlo Data Association per il monitoraggio di più target). La mia esperienza con l'utilizzo di Meanshift da solo durante il tracciamento di più oggetti è tutto ciò che non dovrebbe accadere con il tracciamento: perdita di traccia, confusione di obiettivi, fissazione in background, ecc. Leggi un po 'su più oggetti di tracciamento e problemi di associazione dei dati, questo potrebbe essere al cuore del conteggio di più persone dopo tutto (dico "potrebbe essere" perché il tuo obiettivo è non contare il monitoraggio, quindi non scartare completamente la possibilità di un approccio intelligente che conta senza il monitoraggio ...)
Il mio ultimo consiglio è: c'è solo così tanto si può fare con un determinato approccio , e si avrà bisogno di cose più elaborato per ottenere prestazioni migliori (così sono d'accordo con user36624 a questo proposito). Ciò può implicare la modifica di un pezzo del tuo algoritmo con qualcosa di più potente o la modifica complessiva dell'architettura. Certo, devi sapere quali cose fantasiose sono davvero utili per te. Ci sono pubblicazioni che tentano di risolvere il problema in linea di principio, mentre altri semplicemente escogitano un algoritmo per un determinato set di dati e si aspettano che tu formi un classificatore che non è davvero adatto al problema in questione, mentre ti richiede di regolare anche alcune soglie. Il conteggio delle persone èricerca in corso, quindi non aspettarti che le cose vengano facilmente. Fai uno sforzo per imparare cose che vanno leggermente oltre le tue capacità, e poi fallo ancora e ancora ...
Riconosco che non ho offerto alcuna soluzione e invece ho solo evidenziato difetti nel tuo approccio (che provengono tutti dalla mia esperienza). Per ispirazione, ti consiglio di leggere alcune ricerche recenti, ad esempio il monitoraggio stabile multi-target nel video di sorveglianza in tempo reale . In bocca al lupo!