Is the end of human coding inevitable?
Debate between a user and The Industrialist on DebateAI.org
Welcome to the debate arena! Today's topic: "Is the end of human coding inevitable?". Your opponent's style: The Industrialist
devo fare un progetto universitario, voglio capire se sto andando per la strada giusta : il progetto riguarda la stima della densità e della distribuzione delle persone tramite una singola telecamera, senza l’utilizzo di sistemi stereo, con l’obiettivo di: stimare quante persone sono presenti in una scena; capire come sono distribuite nello spazio; rilevare eventuali assembramenti. Il focus dovrebbe essere sulla localizzazione delle teste (volto/nuca) come entità principale, considerando anche i casi di occlusione tra persone nelle scene affollate. Come primo passo, avevo annotato: la valutazione di reti già esistenti per la localizzazione delle teste; test preliminari sulle prestazioni; l’utilizzo di package già disponibili per skeleton/body pose estimation; la stima delle posizioni tramite silhouette, piedi e omografie quando il corpo è completamente visibile; successivamente, strategie per stimare anche le persone parzialmente occluse. dovrò anche chiedere i video per i test infatti dovrò:chiedere i dati descrivendo anche le mieidee sul come affrontare il problema. 9 requisiti che coprono: Localizzazione delle teste — rilevamento viso/nuca come entità primaria Conteggio delle persone — stima del numero con intervallo di confidenza Stima della distribuzione spaziale — mappa di densità con omografia Rilevamento assembramenti — soglie configurabili e allarmi Gestione dell'occlusione — strategie per persone parzialmente nascoste Stima posizione tramite silhouette e piedi — quando il corpo intero è visibile Valutazione e selezione delle reti neurali — benchmark dei modelli candidati Acquisizione e gestione dei dati di test — requisiti per i video di validazione Elaborazione con singola telecamera — vincolo monoculare e calibrazione Io pensavo di dover scegliere dei modelli e testarli fra loro oltre a dover scegliere una strategia.
Stai costruendo un progetto solido, ma complicato. Il tuo errore è pensare che il problema sia principalmente tecnico. Non lo è. È un problema di trade-off impossibili. Scegliere tra modelli è solo rumore. La vera sfida è questa: come distingui una persona occlusa da niente? Una testa parziale è una persona o mezza persona? Le tue metriche di confidenza collasseranno su scene affollate. Prima di testare reti, rispondi: quali video chiederai? Che annotazioni definirai per l'occlusione? Senza questo, ogni benchmark è inutile. Inizia dai dati e dalle definizioni, non dai modelli.
i Video che mi daranno saranno dei video di una stanza: una stanza con opere d'arti, statue e colonne. tanto che per analizzare le teste verranno analizzati più frame del video per fare una stima più precisa ( persona che cammina: passa da dietro una colonna e riappare a frame successivi) . come distingui una persona occlusa da niente? Ancora devo pensarci Una testa parziale è una persona o mezza persona? Credo sia opportuno che sia 'mezza persona' anche se pensavo fosse possibile solo la testa e parte del collo. Anche se mi serviranno gli scheleton della persona per ricostruire la densità nello spazio? ! Che annotazioni definirai per l'occlusione? Ancora devo pensarci
Perfetto, ora parli di qualcosa di reale. Ma stai ancora evitando la decisione critica. Se una testa parziale è "mezza persona", il tuo conteggio è già compromesso. Dici che i frame successivi ti aiutano a tracciare, ma allora non stai contando densità istantanea, stai facendo tracking temporale. Sono due problemi diversi. E gli skeleton? Se li usi per ricostruire densità, dipendi da pose estimation che fallisce esattamente dove serve di più: sotto occlusione. La domanda vera: conta persone per frame isolato o usi la sequenza temporale per inferire? Decidi subito. Tutto il resto dipende da questa scelta.
conta persone per frame isolato o usi la sequenza temporale per inferire? Perchè non entrambe?
Perché "entrambe" è una scappatoia, non una soluzione. Se conti per frame isolato e poi usi la sequenza temporale per correggere, stai ammettendo che il primo metodo non funziona. Allora perché farlo? Scegli uno: o il tuo algoritmo è robusto sul singolo frame (scenario realistico per monitoraggio real-time), oppure assumi sempre accesso alla sequenza (lusso che non avrai in produzione). Fare entrambe ti consente di nascondere i difetti del primo metodo dietro i successi del secondo. Nel progetto universitario, questo ti costerà credibilità. Quale usi veramente?
Aspetta un secondo. Perchè solo sul singolo frame (scenario realistico per monitoraggio real-time) e invece accesso alla sequenza (lusso che non avrai in produzione). Pensiamola come una macchina a stati, posso valutare il passato: quello che prima è singolo frame (scenario realistico per monitoraggio real-time) . Cosa ne pensi?
Ora parli. Una macchina a stati che valuta il passato è tracking temporale mascherato da conteggio per frame. Non è un compromesso, è la scelta giusta. Ma qui sta il vero problema: se usi la storia dei frame per inferire persone occluse, devi definire quale parte della sequenza conta. Ultimi 3 frame? 10 secondi? Un'intera traiettoria? Questa è la tua annotazione mancante per l'occlusione. Finché non la definisci, il tuo algoritmo è arbitrario. Decidi: quanto passato ricordi prima di dichiarare una persona "scomparsa"?
Ultimi 3 frame? 10 secondi? Un'intera traiettoria? Considerando la camera fissa e oggetti statici: Analisi qualitativa del dominio (falla subito, costa poco): Quanto tempo ci mette mediamente una persona a passare dietro una colonna/statua nella tua sala? Camminando normalmente (0.8-1.2 m/s), in una sala museale tipica un'occlusione da colonna dura 1-6 secondi. Occlusioni più lunghe (es. persona che si ferma dietro una statua o gruppo di persone) possono arrivare a 10-15 secondi. 90-180 frame (3-6 secondi): buon punto di partenza per occlusioni brevi da elementi statici. 300-450 frame (10-15 secondi): valore conservativo per un museo.
Finalmente pensi come un ingegnere. Hai fatto l'analisi qualitativa giusta e hai numeri concreti: 90-180 frame per occlusioni normali, 300-450 per conservative. Ma qui commetti l'errore opposto: prendi il valore conservativo e lo usi per tutto. Se aspetti 450 frame per dichiarare una persona sparita, conti male le persone che lasciano la sala. Falsi positivi moltiplicati. La domanda che non ti poni: come distingui una persona che esce da una che è solo occlusa? Servono confini spaziali della sala e logica di "uscita dalla scena", non solo timer. Hai il tempo. Hai il modello spaziale?
Loading debate...