Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Creazione di un file manifest di input del frame di nuvola di punti
Il manifesto è un file con codifica UTF -8 in cui ogni riga è un oggetto completo e valido. JSON Ogni riga è delimitata da un'interruzione di riga standard, \n o \r\n. Poiché ogni riga deve essere un JSON oggetto valido, non è possibile avere caratteri di interruzione di riga senza escape. Nel file manifest di input a frame singolo, ogni riga del manifest contiene i dati per un singolo frame di nuvola di punti. I dati del frame a nuvola di punti possono essere archiviati in formato binario o in ASCII formato (vediFormati dati 3D non elaborati accettati). Questa è la formattazione del file manifest necessaria per il rilevamento di oggetti nubi di punti 3D e la segmentazione semantica. Facoltativamente, è anche possibile fornire dati di fusione del sensore della telecamera per ogni frame della nuvola di punti.
Ground Truth supporta la fusione del sensore della nuvola di punti e della videocamera nel sistema di coordinate mondiale per tutte le modalità. Se riesci a ottenere un sensore 3D estrinseco (come un estrinseco Li), ti consigliamo di trasformare i frame della nuvola di punti 3D nel sistema di coordinate mondiali usando il sensore DAR estrinseco. Per ulteriori informazioni, consulta Fusione dei sensori.
Tuttavia, se non è possibile ottenere una nuvola di punti nel sistema di coordinate mondiali, è possibile fornire le coordinate nel sistema di coordinate originale in cui sono stati acquisiti i dati. Se state fornendo i dati della fotocamera per la fusione dei sensori, si consiglia di inserire il DAR sensore Li e la posa della telecamera nel sistema di coordinate mondiale.
Per creare un file manifest di input a frame singolo, si identificherà la posizione di ogni frame nuvola di punti che si desidera che i worker etichettino utilizzando la chiave source-ref
. Inoltre, è necessario utilizzare la chiave source-ref-metadata
per identificare il formato del set di dati, un timestamp per tale frame e, facoltativamente, i dati di fusione del sensore e le immagini della videocamera.
Nell'esempio seguente viene illustrata la sintassi utilizzata per un file manifest di input per un processo di etichettatura con nuvola di punti a frame singolo. L'esempio include due frame di nuvola di punti. Per informazioni dettagliate su ciascun parametro, consulta la tabella che segue questo esempio.
Importante
Ogni riga del file manifesto di input deve essere in formato JSONLinee
{ "source-ref": "
s3://amzn-s3-demo-bucket/examplefolder/frame1.bin
", "source-ref-metadata":{ "format": "binary/xyzi
", "unix-timestamp":1566861644.759115
, "ego-vehicle-pose":{ "position": { "x":-2.7161461413869947
, "y":116.25822288149078
, "z":1.8348751887989483
}, "heading": { "qx":-0.02111296123795955
, "qy":-0.006495469416730261
, "qz":-0.008024565904865688
, "qw":0.9997181192298087
} }, "prefix": "s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/
", "images": [ { "image-path": "images/frame300.bin_camera0.jpg
", "unix-timestamp":1566861644.759115
, "fx":847.7962624528487
, "fy":850.0340893791985
, "cx":576.2129134707038
, "cy":317.2423573573745
, "k1":0
, "k2":0
, "k3":0
, "k4":0
, "p1":0
, "p2":0
, "skew":0
, "position": { "x":-2.2722515189268138
, "y":116.86003310568965
, "z":1.454614668542299
}, "heading": { "qx":0.7594754093069037
, "qy":0.02181790885672969
, "qz":-0.02461725233103356
, "qw":-0.6496916273040025
}, "camera-model": "pinhole" }] } } { "source-ref": "s3://amzn-s3-demo-bucket/examplefolder/frame2.bin
", "source-ref-metadata":{ "format": "binary/xyzi
", "unix-timestamp":1566861632.759133
, "ego-vehicle-pose":{ "position": { "x":-2.7161461413869947
, "y":116.25822288149078
, "z":1.8348751887989483
}, "heading": { "qx":-0.02111296123795955
, "qy":-0.006495469416730261
, "qz":-0.008024565904865688
, "qw":0.9997181192298087
} }, "prefix": "s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/
", "images": [ { "image-path": "images/frame300.bin_camera0.jpg
", "unix-timestamp":1566861644.759115
, "fx":847.7962624528487
, "fy":850.0340893791985
, "cx":576.2129134707038
, "cy":317.2423573573745
, "k1":0
, "k2":0
, "k3":0
, "k4":0
, "p1":0
, "p2":0
, "skew":0
, "position": { "x":-2.2722515189268138
, "y":116.86003310568965
, "z":1.454614668542299
}, "heading": { "qx":0.7594754093069037
, "qy":0.02181790885672969
, "qz":-0.02461725233103356
, "qw":-0.6496916273040025
}, "camera-model": "pinhole" }] } }
Quando create un file manifesto di input, dovete comprimere gli JSON oggetti per adattarli a un'unica riga. Ad esempio, in un file manifest di input, il blocco di codice precedente apparirebbe come segue:
{"source-ref":"s3://amzn-s3-demo-bucket/examplefolder/frame1.bin","source-ref-metadata":{"format":"binary/xyzi","unix-timestamp":1566861644.759115,"ego-vehicle-pose":{"position":{"x":-2.7161461413869947,"y":116.25822288149078,"z":1.8348751887989483},"heading":{"qx":-0.02111296123795955,"qy":-0.006495469416730261,"qz":-0.008024565904865688,"qw":0.9997181192298087}},"prefix":"s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/","images":[{"image-path":"images/frame300.bin_camera0.jpg","unix-timestamp":1566861644.759115,"fx":847.7962624528487,"fy":850.0340893791985,"cx":576.2129134707038,"cy":317.2423573573745,"k1":0,"k2":0,"k3":0,"k4":0,"p1":0,"p2":0,"skew":0,"position":{"x":-2.2722515189268138,"y":116.86003310568965,"z":1.454614668542299},"heading":{"qx":0.7594754093069037,"qy":0.02181790885672969,"qz":-0.02461725233103356,"qw":-0.6496916273040025},"camera-model":"pinhole"}]}} {"source-ref":"s3://amzn-s3-demo-bucket/examplefolder/frame2.bin","source-ref-metadata":{"format":"binary/xyzi","unix-timestamp":1566861632.759133,"ego-vehicle-pose":{"position":{"x":-2.7161461413869947,"y":116.25822288149078,"z":1.8348751887989483},"heading":{"qx":-0.02111296123795955,"qy":-0.006495469416730261,"qz":-0.008024565904865688,"qw":0.9997181192298087}},"prefix":"s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/someprefix/","images":[{"image-path":"images/frame300.bin_camera0.jpg","unix-timestamp":1566861644.759115,"fx":847.7962624528487,"fy":850.0340893791985,"cx":576.2129134707038,"cy":317.2423573573745,"k1":0,"k2":0,"k3":0,"k4":0,"p1":0,"p2":0,"skew":0,"position":{"x":-2.2722515189268138,"y":116.86003310568965,"z":1.454614668542299},"heading":{"qx":0.7594754093069037,"qy":0.02181790885672969,"qz":-0.02461725233103356,"qw":-0.6496916273040025},"camera-model":"pinhole"}]}}
La tabella seguente mostra i parametri che è possibile includere nel file manifest di input:
Parametro |
Obbligatorio |
Valori accettati |
Descrizione |
---|---|---|---|
|
Sì |
Stringa Formato valore stringa accettato:
|
Posizione Amazon S3 di un singolo fotogramma di nuvola di punti. |
|
Sì |
JSONoggetto Parametri accettati:
|
Utilizzare questo parametro per includere ulteriori informazioni sulla nuvola di punti in |
|
No |
Stringa Valori stringa accettati: Valori predefiniti: Quando il file identificato in Quando il file identificato in |
Utilizza questo parametro per specificare il formato dei dati della nuvola di punti. Per ulteriori informazioni, consulta Formati dati 3D non elaborati accettati. |
|
Sì |
Numero Un timestamp unix. |
Il timestamp unix è il numero di secondi trascorsi dal 1° gennaio 1970 al UTC momento in cui i dati sono stati raccolti da un sensore. |
|
No |
JSONoggetto |
La posa del dispositivo utilizzato per raccogliere i dati della nuvola di punti. Per ulteriori informazioni su questo parametro, consulta Includi le informazioni sulla posa del veicolo nel file manifest di input. |
|
No |
Stringa Formato valore stringa accettato:
|
La posizione in Amazon S3 in cui vengono memorizzati i metadati, ad esempio le immagini della telecamera, per questo fotogramma. Il prefisso deve terminare con una barra: |
|
No |
Elenco |
Un elenco di parametri che descrivono le immagini della telecamera a colori utilizzate per la fusione dei sensori. È possibile includere fino a 8 immagini in questo elenco. Per ulteriori informazioni sui parametri richiesti per ogni immagine, consulta Inserimento dei dati della videocamera nel manifest di input. |
Includi le informazioni sulla posa del veicolo nel file manifest di input
Utilizza la posizione del veicolo ego per fornire informazioni sulla posizione del veicolo utilizzato per acquisire i dati delle nuvole di punti. Ground Truth usa queste informazioni per calcolare la matrice DAR estrinseca Li.
Ground Truth utilizza matrici estrinseche per proiettare etichette da e verso la scena 3D e le immagini 2D. Per ulteriori informazioni, consulta Fusione dei sensori.
Nella tabella seguente vengono fornite ulteriori informazioni sui parametri position
e orientamento (heading
) necessari quando si forniscono informazioni sul veicolo ego.
Parametro |
Obbligatorio |
Valori accettati |
Descrizione |
---|---|---|---|
|
Sì |
JSONoggetto Parametri obbligatori:
|
Il vettore di traslazione del veicolo ego nel sistema di coordinate mondiale. |
|
Sì |
JSONOggetto Parametri obbligatori:
|
L'orientamento del frame di riferimento del dispositivo o del sensore montato sul veicolo che rileva l'ambiente circostante, misurato in quaternioni |
Inserimento dei dati della videocamera nel manifest di input
Per includere i dati della videocamera in un frame, utilizza i seguenti parametri per fornire informazioni su ciascuna immagine. La colonna Obbligatorio riportata di seguito si applica quando il parametro images
è incluso nel file manifest di input in source-ref-metadata
. Non è necessario includere immagini nel file manifest di input.
Se includi immagini della videocamera, è necessario includere informazioni sui parametri position
e heading
utilizzare la cattura delle immagini nel sistema di coordinate mondiali.
Se le immagini sono distorte, Ground Truth può automaticamente annullarle utilizzando le informazioni fornite sull'immagine nel file manifest di input, inclusi i coefficienti di distorsione (k1
, k2
, k3
, k4
, p1
, p1
), il modello della telecamera e la matrice intrinseca della telecamera. La matrice intrinseca è costituita dalla lunghezza focale (fx
, fy
) e dal punto principale (cx
, cy)
. Consulta Matrice intrinseca per scoprire come Ground Truth utilizza le funzioni intrinseche della telecamera. Se i coefficienti di distorsione non sono inclusi, Ground Truth non altera un'immagine.
Parametro |
Obbligatorio |
Valori accettati |
Descrizione |
---|---|---|---|
|
Sì |
Stringa Esempio di formato:
|
La posizione relativa all'interno di Amazon S3 del file di immagine. Questo percorso relativo verrà aggiunto al percorso specificato in |
|
Sì |
Numero |
Il timestamp unix è il numero di secondi trascorsi dal 1° gennaio 1970 al UTC momento in cui i dati sono stati raccolti da una fotocamera. |
|
No |
Stringa: Valori accettati:
Default:
|
Il modello della telecamera utilizzata per catturare l'immagine. Queste informazioni vengono utilizzate per non distorcere le immagini della telecamera. |
|
Sì |
Numeri |
La lunghezza focale della telecamera, nelle direzioni x ( |
|
Sì |
Numeri |
Le coordinate x ( |
|
No |
Numero |
Coefficienti di distorsione radiale. Supportato sia per i modelli di fotocamere fisheye e a foro stenopeico. |
|
No |
Numero |
Coefficienti di distorsione tangenziale. Supportato per i modelli di fotocamera a foro stenopeico. |
|
No |
Numero |
Parametro per misurare l'inclinazione di un'immagine. |
|
Sì |
JSONoggetto Parametri obbligatori:
|
La posizione o l'origine del frame di riferimento della telecamera montata sul veicolo che cattura le immagini. |
|
Sì |
JSONOggetto Parametri obbligatori:
|
L'orientamento del fotogramma di riferimento della telecamera montata sul veicolo che cattura le immagini, misurato utilizzando quaternioni |
Limiti dei fotogrammi della nuvola di punti
È possibile includere fino a 100.000 fotogrammi della nuvola di punti nel file manifest di input. Il processo di etichettatura con nuvola di punti 3D ha tempi di pre-elaborazione più lunghi rispetto ad altri tipi di attività di Ground Truth. Per ulteriori informazioni, consulta Tempo di elaborazione preliminare di un processo.