点群フレーム入力マニフェストファイルの作成 - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

点群フレーム入力マニフェストファイルの作成

マニフェストは、各行が完全で有効なJSONオブジェクトである UTF-8 エンコードされたファイルです。各行は、標準の改行 \n や \r\n で区切られています。各行は有効なJSONオブジェクトでなければならないため、エスケープされていない改行文字は使用できません。単一フレーム入力マニフェストファイルでは、マニフェストのそれぞれの行に単一の点群フレームのデータを含めます。点群フレームデータは、バイナリまたはASCII形式で保存できます (「」を参照使用できる 3D の raw データ形式)。これは、3D 点群オブジェクトの検出とセマンティックセグメンテーションに必要なマニフェストファイルの形式です。また、必要に応じて、それぞれの点群フレームにカメラのセンサーフュージョンデータを含めることもできます。

Ground Truth は、すべてのモダリティでワールド座標系での点群とビデオカメラのセンサーフュージョンをサポートしています。3D センサー外部 (LiDAR 外部など) を取得できる場合は、外部を使用して 3D 点群フレームをワールド座標系に変換することをお勧めします。詳細については、「センサーフュージョン」を参照してください。

ただし、点群をワールド座標系で取得できない場合は、データが収集された元の座標系で座標を指定できます。センサーフュージョン用のカメラデータを提供する場合は、ワールド座標系で LiDAR センサーとカメラポーズを指定することをお勧めします。

単一フレーム入力マニフェストファイルを作成するには、ワーカーにラベルを付けさせる各点群フレームの場所を source-ref キーを使用して指定します。また、source-ref-metadata キーを使用して、データセットの形式、そのフレームのタイムスタンプ、必要に応じてセンサーフュージョンデータとビデオカメラの画像を指定する必要があります。

次の例は、単一の点群フレームのラベル付けジョブの入力マニフェストファイルに使用する構文を示しています。この例では、2 つの点群フレームが含まれています。各パラメータの詳細については、この例の下の表を参照してください。

重要

入力マニフェストファイルの各行は、JSON行形式である必要があります。次のコードブロックは、2 つのJSONオブジェクトを含む入力マニフェストファイルを示しています。各JSONオブジェクトは、単一の点群フレームをポイントして詳細を提供するために使用されます。JSON オブジェクトは読みやすく拡張されていますが、入力マニフェストファイルを作成するときは、各JSONオブジェクトを 1 行に収まるように最小化する必要があります。このコードブロックの下に例を挙げます。

{ "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" }] } }

入力マニフェストファイルを作成するときは、1 行に収まるようにJSONオブジェクトを折りたたむ必要があります。例えば、上記のコードブロックは、入力マニフェストファイルに次のように表示されます。

{"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"}]}}

次の表に、入力マニフェストファイルに含めることができるパラメータを示します。

[Parameter] (パラメータ)

必須

使用できる値

[Description] (説明)

source-ref

可能

文字列

使用できる文字列値の形式:

s3://<bucket-name>/<folder-name>/point-cloud-frame-file

Amazon S3 での単一の点群フレームの場所。

source-ref-metadata

可能

JSON オブジェクト

使用できるパラメータ:

format, unix-timestamp, ego-vehicle-pose, position, prefix, images

このパラメータを使用して、source-ref の点群に関する追加情報やセンサーフュージョン用のカメラデータを含めます。

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 の raw データ形式」を参照してください。

unix-timestamp

可能

UNIX タイムスタンプ。

Unix タイムスタンプは、1970 年 1 月 1 日からセンサーによってデータが収集されたUTC時点までの秒数です。

ego-vehicle-pose

不可

JSON オブジェクト

点群データの収集に使用されたデバイスの姿勢。このパラメータの詳細については、「入力マニフェストに車両の姿勢の情報を含める」を参照してください。

prefix

不可

文字列

使用できる文字列値の形式:

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

Amazon S3 でカメラの画像などのメタデータがこのフレームに格納される場所。

このプレフィックスは、スラッシュ (/) で終わる必要があります。

images

不可

リスト

センサーフュージョンに使用するカメラのカラー画像を示すパラメータのリスト。このリストには、最大 8 個の画像を含めることができます。各画像に必要なパラメータの詳細については、「入力マニフェストにカメラのデータを含める」を参照してください。

入力マニフェストに車両の姿勢の情報を含める

自動運転車両の位置を使用して、点群データの収集に使用された車両の位置に関する情報を提供します。Ground Truth は、この情報を使用して LiDAR 外部マトリックスを計算します。

Ground Truth は、外部マトリックスを使用して、3D シーンおよび 2D イメージでラベルを投影します。詳細については、「センサーフュージョン」を参照してください。

次の表に、自動運転車両の情報を含めるときに必要な position および向き (heading) のパラメータの詳細を示します。

[Parameter] (パラメータ)

必須

使用できる値

[Description] (説明)

position

可能

JSON オブジェクト

必須パラメータ:

xy、および z。これらのパラメータには数値を入力します。

自動運転車両のワールド座標系での並進ベクトル。

heading

可能

JSON オブジェクト

必須パラメータ:

qxqyqz および qw。これらのパラメータには数値を入力します。

周囲を検知する車両に搭載されたデバイスやセンサーの基準のフレームの向き。座標系のクォータニオン (qxqyqzqw) で測定されます。

入力マニフェストにカメラのデータを含める

フレームにビデオカメラのデータを含める場合は、以下のパラメータを使用してそれぞれの画像に関する情報を入力します。以下の表の必須列は、入力マニフェストファイルの source-ref-metadataimages パラメータが含まれている場合に適用されます。入力マニフェストファイルに画像を含めることは必須ではありません。

カメラの画像を含める場合は、画像を収集するために使用したカメラの positionheading についての情報をワールド座標系で含める必要があります。

画像がゆがんでいる場合、Ground Truth は、入力マニフェストファイルで画像について入力した情報 (ゆがみ係数 (k1k2k3k4p1p1)、カメラモデル、カメラの内部マトリックスなど) を使用して、自動でゆがみを補正することができます。内部マトリックスは、焦点距離 (fxfy) と主点 (cxcy)) で構成されます。Ground Truth がカメラの内部マトリックスを使用する方法については、「内部マトリックス 」を参照してください。ゆがみ係数が含まれていない場合、Ground Truth は画像のゆがみを補正しません。

[Parameter] (パラメータ)

必須

使用できる値

[Description] (説明)

image-path

可能

文字列

形式の例:

<folder-name>/<imagefile.png>

Amazon S3 での画像ファイルの相対パス。この相対パスは prefix で指定したパスに追加されます。

unix-timestamp

可能

Unix タイムスタンプは、1970 年 1 月 1 日からカメラによってデータが収集されたUTC時点までの秒数です。

camera-model

不可

文字列:

使用できる値:

"pinhole", "fisheye"

デフォルト値:

"pinhole"

画像の収集に使用したカメラのモデル。この情報は、カメラの画像のゆがみを補正するために使用されます。

fx, fy

可能

数字

カメラの x (fx) 方向と y (fy) 方向の焦点距離。

cx, cy

可能

数字

主点の x (cx) 座標と y (cy) 座標。

k1, k2, k3, k4

不可

放射方向ゆがみ係数。魚眼カメラモデルとピンホールカメラモデルの両方でサポートされています。

p1, p2

不可

接線方向ゆがみ係数。ピンホールカメラモデルでサポートされています。

skew

不可

画像のスキューを測定するパラメータ。

position

可能

JSON オブジェクト

必須パラメータ:

xy、および z。これらのパラメータには数値を入力します。

画像を収集する車両に搭載されたカメラの基準のフレームの位置または原点。

heading

可能

JSON オブジェクト

必須パラメータ:

qxqyqz および qw。これらのパラメータには数値を入力します。

画像を収集する車両に搭載されたカメラの基準のフレームの向き。ワールド座標系のクォータニオン (qxqyqzqw) で測定されます。

点群フレームの制限

入力マニフェストファイルには、最大 100,000 個の点群フレームを含めることができます。3D 点群のラベル付けジョブは、Ground Truth の他のタスクタイプよりも前処理に時間がかかります。詳細については、「ジョブ前処理時間」を参照してください。