Sono interessato all'utilizzo del tablet Project Tango per la ricostruzione 3D utilizzando funzionalità di punti arbitrarie. Nella versione attuale di SDK, sembra che abbiamo accesso ai seguenti dati.Prospettive future per il miglioramento dei dati di profondità sul tablet Project Tango
- Un'immagine RGB 1280 x 720.
- Una nuvola di punti con 0- ~ 10.000 punti, a seconda dell'ambiente. Questo sembra in media tra 3.000 e 6.000 nella maggior parte degli ambienti.
Quello che voglio veramente è essere in grado di identificare un punto 3D per i punti chiave all'interno di un'immagine. Pertanto, ha senso proiettare la profondità nel piano dell'immagine. L'ho fatto, e mi ottenere qualcosa di simile:
Il problema di questo processo è che i punti di profondità sono scarse rispetto ai pixel RGB. Così ho fatto un ulteriore passo avanti e ho eseguito l'interpolazione tra i punti di profondità. Per prima cosa, ho fatto la triangolazione di Delaunay e, una volta ottenuta una buona triangolazione, ho interpolato tra i 3 punti su ciascuna faccetta e ottenuto un'immagine di profondità decente, abbastanza uniforme. Qui ci sono le zone in cui è valida la profondità interpolata, imposta sul iamge RGB.
Ora, dato il modello della fotocamera, è possibile proiettare profondità ritornare in coordinate cartesiane in qualsiasi punto dell'immagine approfondita sulla (poiché l'immagine di profondità è stata fatta in modo che ogni pixel corrisponde ad un punto sull'originale Immagine RGB, e abbiamo i parametri della fotocamera della telecamera RGB). Tuttavia, se si guarda l'immagine di triangolazione e la si confronta con l'immagine RGB originale, è possibile vedere che la profondità è valida per tutti i punti non interessanti dell'immagine: per lo più, per lo più, per gli aerei privi di struttura. Questo non è solo vero per questo singolo set di immagini; è una tendenza che sto vedendo per il sensore. Se una persona si trova di fronte al sensore, ad esempio, ci sono pochissimi punti di profondità all'interno della sagoma.
Come risultato di questa caratteristica del sensore, se eseguo l'estrazione di elementi visivi sull'immagine, la maggior parte delle aree con angoli o trame interessanti si trovano in aree senza informazioni di profondità associate. Solo un esempio: ho rilevato 1000 punti chiave SIFT da un'immagine RGB da un sensore Xtion, e 960 di questi avevano valori di profondità validi. Se faccio la stessa cosa con questo sistema, ottengo circa 80 punti chiave con profondità valida. Al momento, questo livello di prestazioni è inaccettabile per i miei scopi.
Posso indovinare le ragioni alla base di questo: sembra che venga utilizzata una sorta di algoritmo di estrazione del piano per ottenere i punti di profondità, mentre i sensori di Primesense/DepthSense utilizzano qualcosa di più sofisticato.
Quindi, la mia domanda principale qui è: possiamo aspettarci qualche miglioramento nei dati di profondità in un momento successivo, attraverso algoritmi di elaborazione delle immagini RGB-IR migliorati? O questo è un limite intrinseco del sensore corrente?
riflessioni molto interessanti sui problemi di ottenere IR-dati completi, grazie. Potresti spiegare un po 'come hai proceduto proiettando la profondità sul piano dell'immagine? Sto cercando di fare lo stesso per poi eseguire la fusione della mappa di profondità, ma quello che ottengo da XYZ-data dal dispositivo non corrisponde a ciò che spiegano a [link] (https://developers.google.com/ progetto di tango/panoramica/profondità percezione). Fanno finta di fornire valori in "millimetri nel frame delle coordinate della camera sensibile alla profondità", ma quello che ottengo è float con tutti i valori inferiori a 1, il che non ha alcun senso. – ArthurT