Ci sono opzioni software (preferibilmente .NET) per l'analisi della distanza e della velocità dei calciatori che si spostano sui video?

2

Modifica della domanda per chiarezza Grazie per il feedback finora, molto perspicace.

Non sono sicuro di quanto sia lontana questa parte della comunità del software, e cosa succederebbe se esistesse qualche libreria da cui fare leva. Ecco cosa sto cercando di fare.

Problema: Prendi un video esistente di una partita di rugby league. Il campo campo da rugby è lungo 100 metri, largo 70 metri e presenta linee bianche ogni 10 metri che corrono lungo la larghezza di il campo, così come lungo i margini. Ogni squadra ha 13 giocatori sul campo. I giocatori di ogni squadra hanno maglie identiche che normalmente contrastano strongmente con i colori dello sfondo (colore del campo verde / marrone) e il colore dell'arbitro (di solito giallo) e il corridore d'acqua designato (arancione). Tutti i giocatori hanno un numero univoco in caratteri bianchi spessi sul dorso per l'identificazione. Il video è preso con una videocamera ad alta definizione. Attualmente viene utilizzata una sola videocamera (2D) e il video esistente non contiene un oggetto in primo piano con dimensioni spaziali fisse (come suggerito in una risposta per le misure di comparazione, tuttavia potrei aggiungerlo a future sessioni di ripresa se ne vale la pena). Il giocatore non corre in linea retta il 50% delle volte, ma si muoverà di lato su una diagonale per giocare la palla. La distanza misurata inizia sempre dal punto del precedente "placcaggio", che termina dove il giocatore arresta il movimento in avanti. Non è sempre possibile determinare il numero di giocatori dal video (rivolto verso altra direzione, luce solare, altri in piedi sulla fotocamera). Ma questo non è importante in quanto il software potrebbe consentire l'inserimento manuale di "run" sconosciute in un secondo momento dopo l'analisi.

Determina la distanza tra due punti (ad esempio, dove il giocatore ha iniziato la sua "corsa" e dove ha finito).

Immagino che sarebbe abbastanza fattibile se avessi segnato manualmente il punto iniziale e finale nel video. Ma come utilizzerei i punti di riferimento sullo sfondo per determinare la distanza (supponendo che la persona che ha scattato il video lo abbia impedito di masturbarsi).

Domanda: Esistono pacchetti software o librerie sufficientemente specializzati da supportare la scrittura di software di analisi per determinare la distanza percorsa da una persona sportiva in base al video della performance?

    
posta Anonymous Type 03.03.2011 - 22:40
fonte

3 risposte

5

Senza punti di riferimento, non vedo come ciò sia possibile. hai bisogno di conoscere la distanza in una direzione in cui il frame si estende e questo non sarebbe determinabile senza conoscere nessuno dei seguenti elementi:

  • La lunghezza focale della fotocamera (al momento dello scatto).
  • Lo sport in riproduzione - utilizzato per determinare la distanza se è possibile visualizzare l'intero campo .

È ancora più complicato calcolare con precisione se il giocatore non corre su una linea retta (il più delle volte!).

Sono sicuro che ci sono pacchetti software in grado di individuare i giocatori sullo schermo in base al colore, ma dubito che ci sia una soluzione semplice e semplice a ciò che stai cercando.

    
risposta data 03.03.2011 - 22:51
fonte
2

Non sono a conoscenza di alcuna libreria o strumento che eseguirà tutte le attività necessarie.

Penso che probabilmente dovrai crearne uno tuo e scrivere un'applicazione automagic come quella sarà molto, molto dispendioso in termini di tempo. La mia piccola esperienza nell'elaborazione di immagini / video digitali dice che la tua applicazione richiederà qualche interazione con l'utente, probabilmente più di quanto vorresti. Ad esempio, dovresti fare clic manualmente sul video per selezionare le posizioni di inizio / fine per essere in grado di calcolare la distanza tra questi due punti. Il riconoscimento automatico degli oggetti nei video può essere piuttosto complesso. Ma alla fine, tutto dipende dal video (qualità delle immagini, ecc., E principalmente da ciò che appare su di esso).

Ad ogni modo, ti suggerisco di dare un'occhiata a OpenCV , una libreria di computer vision usata per questo genere di cose.

    
risposta data 04.03.2011 - 00:18
fonte
1

Ho lavorato con un professore che ha analizzato i lanciatori alle Olimpiadi e potrebbe solo filmare video ad alta velocità da lontano. Nel labbro ha costruito un modello di riferimento 3D computerizzato (a forma di cono) basato sulle dimensioni dell'anello (probabilmente più coerente delle marcature di campo) e sull'altezza dei lanciatori. Normalmente, avrebbe usato un cubo che sarebbe stato filmato prima del soggetto con la fotocamera riparata. Il computer conosceva gli indicatori sul cubo e poteva calcolare le distanze. Oh, due telecamere sono usate per il 3D.

La parte difficile per te sarà il tracciamento di ogni giocatore attraverso ogni fotogramma (o ogni 5-20 fotogrammi). Di solito hanno uniformi che sono in contrasto con il campo / lo sfondo. Può diventare noioso, a meno che tu non abbia un software in grado di riconoscere questo contrasto. Dovresti comunque identificare i singoli giocatori.

Dato che questo è 2D, devi solo preoccuparti della profondità di campo a seconda di quanto è alta la fotocamera. Idealmente, il campo sembrerebbe un rettangolo perfetto, ma dubito che abbiano girato da un dirigibile.

Stai cercando di ottenere una velocità e un'accelerazione accurate dei giocatori o sei principalmente interessato a misurarli l'uno rispetto all'altro?

    
risposta data 03.03.2011 - 23:08
fonte

Leggi altre domande sui tag