Creazione di un file manifest di input della sequenza di nuvole di punti - Amazon SageMaker

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 della sequenza di nuvole di punti

Il manifesto è un file con codifica UTF -8 in cui ogni riga è un JSON oggetto completo e valido. 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 della sequenza di nuvola di punti, ogni riga del manifest contiene una sequenza di frame di nuvola di punti. I dati della nuvola di punti per ogni fotogramma della sequenza possono essere archiviati in formato binario o ASCII in formato. Per ulteriori informazioni, consulta Formati dati 3D non elaborati accettati. Questa è la formattazione del file manifest necessaria per il tracciamento di oggetti nuvola di punti 3D. Facoltativamente, è anche possibile fornire dati relativi all'attributo dei punti e alla fusione dei sensori della telecamera per ogni frame della nuvola di punti. Quando create un file manifesto di input della sequenza, dovete fornire i dati di fusione dei sensori Li DAR e della videocamera in un sistema di coordinate mondiale.

Nell'esempio seguente viene illustrata la sintassi utilizzata per un file manifest di input quando ogni riga del manifest è un file di sequenza. Ogni riga del file manifesto di input deve essere in formato JSONLinee.

{"source-ref": "s3://amzn-s3-demo-bucket/example-folder/seq1.json"} {"source-ref": "s3://amzn-s3-demo-bucket/example-folder/seq2.json"}

I dati per ogni sequenza di frame a nuvola di punti devono essere archiviati in un oggetto JSON dati. Di seguito è riportato un esempio del formato utilizzato per un file di sequenza. Le informazioni su ogni frame sono incluse come JSON oggetto e sono elencate nell'frameselenco. Questo è un esempio di file di sequenza con file di frame a due nuvole di punti, frame300.bin e frame303.bin. Il ... viene utilizzato per indicare dove è necessario includere informazioni per frame aggiuntivi. Aggiungete un JSON oggetto per ogni fotogramma della sequenza.

Il seguente blocco di codice include un JSON oggetto per un singolo file di sequenza. L'JSONoggetto è stato espanso per motivi di leggibilità.

{ "seq-no": 1, "prefix": "s3://amzn-s3-demo-bucket/example_lidar_sequence_dataset/seq1/", "number-of-frames": 100, "frames":[ { "frame-no": 300, "unix-timestamp": 1566861644.759115, "frame": "example_lidar_frames/frame300.bin", "format": "binary/xyzi", "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 } }, "images": [ { "image-path": "example_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" }] }, { "frame-no": 303, "unix-timestamp": 1566861644.759115, "frame": "example_lidar_frames/frame303.bin", "format": "text/xyzi", "ego-vehicle-pose":{...}, "images":[{...}] }, ... ] }

La tabella seguente fornisce dettagli sui parametri di primo livello di un file di sequenza. Per informazioni dettagliate sui parametri richiesti per i singoli frame nel file di sequenza, consulta Parametri per singoli frame di nuvole di punti.

Parametro

Obbligatorio

Valori accettati

Descrizione

seq-no

Numero intero

Il numero ordinato della sequenza.

prefix

Stringa

Valori accettati:

s3://<bucket-name>/<prefix>/

Posizione Amazon S3 in cui si trovano i file di sequenza.

Il prefisso deve terminare con una barra: /.

number-of-frames

Numero intero

Numero totale di frame inclusi nel file di sequenza. Questo numero deve corrispondere al numero totale di frame elencati nel parametro frames nella riga successiva.

frames

Elenco degli oggetti JSON

Un elenco di dati frame. La lunghezza dell'elenco deve essere uguale number-of-frames. Nell'interfaccia utente di lavoro, i frame in una sequenza saranno uguali all'ordine dei frame in questo array.

Per ulteriori informazioni sul formato di ogni frame, consulta Parametri per singoli frame di nuvole di punti.

Parametri per singoli frame di nuvole di punti

La tabella seguente mostra i parametri che è possibile includere nel file manifest di input.

Parametro

Obbligatorio

Valori accettati

Descrizione

frame-no

No

Numero intero

Il numero di frame. Si tratta di un identificatore opzionale specificato dal cliente per identificare il frame all'interno di una sequenza. Non è utilizzato da Ground Truth.

unix-timestamp

Numero

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.

Il timestamp per ogni frame deve essere diverso e i timestamp devono essere sequenziali perché vengono utilizzati per l'interpolazione cuboide. Idealmente, questo dovrebbe essere il timestamp reale al momento della raccolta dei dati. Se questo non è disponibile, è necessario utilizzare una sequenza incrementale di timestamp, in cui il primo frame del file di sequenza corrisponde al primo timestamp della sequenza.

frame

Stringa

Esempio di formato

<folder-name>/<sequence-file.json>

La posizione relativa, in Amazon S3, del file di sequenza. Questo percorso relativo verrà aggiunto al percorso specificato in prefix.

format

No

Stringa

Valori stringa accettati: "binary/xyz", "binary/xyzi", "binary/xyzrgb", "binary/xyzirgb", "text/xyz", "text/xyzi", "text/xyzrgb", "text/xyzirgb"

Valori predefiniti:

Quando il file identificato in source-ref ha un'estensione.bin, binary/xyzi

Quando il file identificato in source-ref ha un'estensione.txt, text/xyzi

Utilizza questo parametro per specificare il formato dei dati della nuvola di punti. Per ulteriori informazioni, consulta Formati dati 3D non elaborati accettati.

ego-vehicle-pose

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.

prefix

No

Stringa

Formato valore stringa accettato:

s3://<bucket-name>/<folder-name>/

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: /.

images

No

Elenco

Elenco dei 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 telecamera 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 matrici DAR estrinseche 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

position

JSONoggetto

Parametri obbligatori:

x, y e z. Immetti i numeri per questi parametri.

Il vettore di traslazione del veicolo ego nel sistema di coordinate mondiale.

heading

JSONOggetto

Parametri obbligatori:

qx, qy, qz e qw. Immetti i numeri per questi parametri.

L'orientamento del frame di riferimento del dispositivo o del sensore montato sul veicolo che rileva l'ambiente circostante, misurato in quaternioni, (qx, qy, qz, qw) in un sistema di coordinate.

Inserimento dei dati della telecamera nel manifest di input

Per includere i dati della telecamera a colori in un frame, utilizza i seguenti parametri per fornire informazioni su ciascuna immagine. La colonna Obbligatorio della tabella seguente si applica quando il parametro images è incluso nel file manifest di input. Non è necessario includere immagini nel file manifest di input.

Se si includono immagini della telecamera, è necessario includere informazioni sulla posizione position e sull’orientamento (heading) della telecamera utilizzata per catturare le immagini.

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 lunghezza focale (fx, fy) e il punto principale (cx, cy). Per ulteriori informazioni su questi coefficienti e immagini non distorte, consulta Camera calibration with OpenCV. Se i coefficienti di distorsione non sono inclusi, Ground Truth non altera un'immagine.

Parametro

Obbligatorio

Valori accettati

Descrizione

image-path

Stringa

Esempio di formato:

<folder-name>/<imagefile.png>

La posizione relativa all'interno di Amazon S3 del file di immagine. Questo percorso relativo verrà aggiunto al percorso specificato in prefix.

unix-timestamp

Numero

Il timestamp dell'immagine.

camera-model

No

Stringa:

Valori accettati:

"pinhole", "fisheye"

Default:

"pinhole"

Il modello della telecamera utilizzata per catturare l'immagine. Queste informazioni vengono utilizzate per non distorcere le immagini della telecamera.

fx, fy

Numeri

La lunghezza focale della telecamera, nelle direzioni x (fx) e y (fy).

cx, cy

Numeri

Le coordinate x (cx) e y (cy) del punto principale.

k1, k2, k3, k4

No

Numero

Coefficienti di distorsione radiale. Supportato sia per i modelli di fotocamere fisheye e a foro stenopeico.

p1, p2

No

Numero

Coefficienti di distorsione tangenziale. Supportato per i modelli di fotocamera a foro stenopeico.

skew

No

Numero

Parametro per misurare qualsiasi inclinazione nota nell'immagine.

position

JSONoggetto

Parametri obbligatori:

x, y e z. Immetti i numeri per questi parametri.

La posizione o l'origine del frame di riferimento della telecamera montata sul veicolo che cattura le immagini.

heading

JSONOggetto

Parametri obbligatori:

qx, qy, qz e qw. Immetti i numeri per questi parametri.

L'orientamento del frame di riferimento della telecamera montata sul veicolo che cattura le immagini, misurato utilizzando quaternioni, qx, (qy, qz, qw).

Limiti dei frame del file di sequenza e della nuvola di punti

È possibile includere fino a 100.000 sequenze di frame di nuvola di punti nel file manifest di input. È possibile includere fino a 500 frame di nuvola di punti in ogni file di sequenza.

Tieni presente che il processo di etichettatura con nuvola di punti 3D ha tempi di pre-elaborazione più lunghi rispetto ad altri tipi di attività Ground Truth. Per ulteriori informazioni, consulta Tempo di pre-elaborazione del lavoro.