建立點雲序列輸入資訊清單 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立點雲序列輸入資訊清單

資訊清單是 UTF-8 編碼檔案,其中每一行都是完整且有效的 JSON 物件。每一行都由標準分行符號 (\n 或 \r\n) 分隔。由於每一行都必須為有效的 json 物件,您不能有未逸出的分行符號。在點雲序列輸入資訊清單檔案中,資訊清單的每一行各包含一系列的點雲影格。序列中每個影格的點雲資料可以儲存為二進位或 ASCII 格式。如需詳細資訊,請參閱 接受的原始 3D 資料格式。這是 3D 點雲物件追蹤所需的資訊清單檔案格式。或者,您也可以為每個點雲影格提供點屬性和相機感應器融合資料。建立序列輸入資訊清單檔案時,您必須以世界座標系統提供 LiDAR 和攝影機感應器融合資料。

當資訊清單的每一行都是序列檔案時,以下範例示範輸入資訊清單檔案所採用的語法。輸入資訊清單檔案中的每一行都必須為 JSON 行格式。

{"source-ref": "s3://awsexamplebucket/example-folder/seq1.json"} {"source-ref": "s3://awsexamplebucket/example-folder/seq2.json"}

每一系列點雲影格的資料必須儲存在 JSON 資料物件中。以下是用於序列檔案的格式範例。每個影格的相關資訊都以 JSON 物件的形式納入,並列在 frames 清單中。這是具備兩個點雲影格檔案 (frame300.binframe303.bin) 的序列檔案範例。... 用於表示應該包含其他影格的資訊。為序列中的每個影格新增一個 JSON 物件。

下列程式碼區塊包含單一序列檔案的 JSON 物件。為了便於閱讀,JSON 物件已經過擴展。

{ "seq-no": 1, "prefix": "s3://awsexamplebucket/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":[{...}] }, ... ] }

下表提供序列檔案最上層參數的相關詳細資訊。如需序列檔案中個別影格所需參數的詳細資訊,請參閱個別點雲影格的參數

參數

必要

接受的值

描述

seq-no

Integer

序列的順序號碼。

prefix

字串

接受的值

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

序列檔案所在的 Amazon S3 位置。

字首必須以正斜線結尾:/

number-of-frames

Integer

序列檔案包含的影格總數。此數字必須符合下一列的 frames 參數中列出的影格總數。

frames

JSON 物件清單

影格資料的清單。清單的長度必須等於 number-of-frames。在工作者使用者介面中,序列中的影格與此陣列中的影格順序相同。

關於每個影格的格式,如需詳細資訊,請參閱個別點雲影格的參數

個別點雲影格的參數

下表顯示您可以包含在輸入資訊清單檔案中的參數。

參數

必要

接受的值

描述

frame-no

Integer

影格號碼。這是由客戶指定的選用識別符,以識別序列中的影格。Ground Truth 未使用。

unix-timestamp

Number

unix 時間戳記是自 1970 年 1 月 1 日到感應器收集資料的 UTC 時間為止的秒數。

每個影格的時間戳記必須不同,且因用於線性插補,時間戳記必須依照順序。理想情況下,這應該是收集資料時的真實時間戳記。如果無法使用,您必須使用增量時間戳記序列,其中序列檔案的第一個影格對應至序列的第一個時間戳記。

frame

字串

格式範例

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

序列檔案在 Amazon S3 中的相對位置。此相對路徑會附加至您在 prefix 中指定的路徑。

format

字串

接受的字串值"binary/xyz""binary/xyzi""binary/xyzrgb""binary/xyzirgb""text/xyz""text/xyzi""text/xyzrgb""text/xyzirgb"

預設值

source-ref 中識別的檔案為 .bin 副檔名時:binary/xyzi

source-ref 中識別的檔案為 .txt 副檔名時:text/xyzi

使用此參數來指定點雲資料的格式。如需詳細資訊,請參閱「接受的原始 3D 資料格式」。

ego-vehicle-pose

JSON 物件

裝置的姿態,此裝置用於收集點雲資料。如需此參數的詳細資訊,請參閱在輸入資訊清單中包含車輛姿態資訊

prefix

字串

接受的字串值格式

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

此影格的中繼資料 (例如攝影機影像) 儲存在 Amazon S3 中的位置。

字首必須以正斜線結尾:/

images

清單

參數清單,描述用於感應器融合的彩色相機影像。此清單最多可以包含 8 個影像。如需每個影像所需參數的詳細資訊,請參閱在輸入資訊清單中包含相機資料

在輸入資訊清單中包含車輛姿態資訊

使用自動駕駛車輛位置,提供用於擷取點雲資料的車輛姿態資訊。Ground Truth 使用此資訊來運算 LiDAR 外部矩陣。

Ground Truth 使用外部矩陣在 3D 場景和 2D 影像之間投影標籤。如需詳細資訊,請參閱 感應器融合

關於您提供自動駕駛車輛資訊時所需的 position 和方向 (heading) 參數,下表提供詳細資訊。

參數

必要

接受的值

描述

position

JSON 物件

必要參數

xyz。輸入這些參數的數字。

自動駕駛車輛在世界座標系統中的平移向量。

heading

JSON 物件

必要參數

qxqyqzqw。輸入這些參數的數字。

安裝在車輛上感測周遭環境的裝置或感應器的參考影格方向,在座標系統中以四元數 (qxqyqzqw) 測量。

在輸入資訊清單中包含相機資料

如果您想要在影格中包含彩色相機資料,請使用下列參數來提供每個影像的相關資訊。當 images 參數包含在輸入資訊清單檔案中時,將套用下表中的必填欄位。輸入資訊清單檔案中不需要包含影像。

如果包含相機影像,則必須包含用於拍攝影像的相機 position 和方向 (heading) 的相關資訊。

如果影像失真,Ground Truth 可以使用您在輸入資訊清單檔案中提供的影像相關資訊來矯正影像,包括失真係數 (k1k2k3k4p1p1)、攝影機型號、焦距 (fxfy) 和主點 (cxcy))。若要進一步了解這些係數和矯正影像,請參閱使用 OpenCV 校準相機。如果未包含失真係數,則 Ground Truth 不會矯正影像。

參數

必要

接受的值

描述

image-path

字串

格式範例

<folder-name>/<imagefile.png>

影像檔案在 Amazon S3 中的相對位置。此相對路徑會附加至您在 prefix 中指定的路徑。

unix-timestamp

Number

影像的時間戳記。

camera-model

字串:

接受的值

"pinhole", "fisheye"

預設值

"pinhole"

用於拍攝影像的相機型號。此資訊用於矯正相機影像。

fx, fy

數字

相機在 x (fx) 和 y (fy) 方向的焦距。

cx, cy

數字

主點的 x (cx) 和 y (cy) 座標。

k1, k2, k3, k4

Number

徑向失真係數。支援魚眼針孔相機型號。

p1, p2

Number

正切失真係數。支援針孔相機型號。

skew

Number

用於測量影像中任何已知扭曲的參數。

position

JSON 物件

必要參數

xyz。輸入這些參數的數字。

安裝在車輛上拍攝影像的相機的參考影格位置或原點。

heading

JSON 物件

必要參數

qxqyqzqw。輸入這些參數的數字。

安裝在車輛上拍攝影像的相機的參考影格方向,以四元數 (qxqyqzqw) 測量。

序列檔案和點雲影格限制

輸入資訊清單檔案中最多可包含 100,000 個點雲序列。每個序列檔案中最多可包含 500 個點雲影格。

請記住,3D 點雲標籤工作的預處理時間比其他 Ground Truth 任務類型更久。如需更多詳細資訊,請參閱 任務前處理時間