포인트 클라우드 프레임 입력 매니페스트 파일 생성 - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

포인트 클라우드 프레임 입력 매니페스트 파일 생성

매니페스트는 각 행이 하나의 완성된 유효한 JSON 객체인 UTF-8 인코딩 파일입니다. 각 행은 표준 줄 바꿈인 \n 또는 \r\n으로 구분됩니다. 각 행이 유효한 JSON 객체여야 하므로 이스케이프되지 않은 줄 바꿈 문자를 사용할 수 없습니다. 단일 프레임 입력 매니페스트 파일에서 매니페스트의 각 라인에는 단일 포인트 클라우드 프레임에 대한 데이터가 포함되어 있습니다. 포인트 클라우드 프레임 데이터는 바이너리 또는 ASCII 형식으로 저장할 수 있습니다(허용되는 원시 3D 데이터 형식 참조). 이는 3D 포인트 클라우드 객체 감지 및 의미 체계 분할에 필요한 매니페스트 파일 형식입니다. 선택에 따라 각 포인트 클라우드 프레임에 대해 카메라 센서 융합 데이터를 제공할 수도 있습니다.

Ground Truth는 모든 양식에 대해 세계 좌표 시스템에서 포인트 클라우드 및 동영상 카메라 센서 융합을 지원합니다. 3D 센서 외부(예: LiDAR 외부) 행렬을 얻을 수 있는 경우에는 외부 행렬을 사용하여 3D 포인트 클라우드 프레임을 세계 좌표계로 변환하는 것이 좋습니다. 자세한 정보는 센서 융합을 참조하세요.

그러나 세계 좌표계에서 포인트 클라우드를 얻을 수 없는 경우에는 데이터가 캡처된 원래 좌표계에 좌표를 제공할 수 있습니다. 센서 융합을 위해 카메라 데이터를 제공하는 경우, 세계 좌표계에서 LiDAR 센서 및 카메라 포즈를 제공하는 것이 좋습니다.

단일 프레임 입력 매니페스트 파일을 생성하려면 source-ref 키를 사용하여 작업자가 레이블을 지정할 각 포인트 클라우드 프레임의 위치를 식별합니다. 또한 source-ref-metadata 키를 사용하여 데이터 세트의 형식, 해당 프레임의 타임스탬프, 센서 융합 데이터 및 비디오 카메라 이미지(선택 사항)를 식별해야 합니다.

다음 예제에서는 단일 프레임 포인트 클라우드 레이블 지정 작업의 입력 매니페스트 파일에서 사용되는 구문을 보여 줍니다. 이 예에는 두 개의 포인트 클라우드 프레임이 포함되어 있습니다. 각 파라미터에 대한 자세한 내용은 이 예제 다음에 나오는 표를 참조하세요.

중요

입력 매니페스트 파일의 각 행은 JSON 행 형식이어야 합니다. 다음 코드 블록은 두 JSON 객체가 있는 입력 매니페스트 파일을 보여 줍니다. 각 JSON 객체는 단일 포인트 클라우드 프레임을 가리키고 해당 프레임에 대한 세부 정보를 제공하는 데 사용됩니다. JSON 객체는 가독성을 위해 확장되었지만 입력 매니페스트 파일을 생성할 때는 각 JSON 객체를 한 줄에 맞도록 최소화해야 합니다. 이 코드 블록 아래에 예제가 제공됩니다.

{ "source-ref": "s3://awsexamplebucket/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://awsexamplebucket/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://awsexamplebucket/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://awsexamplebucket/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" }] } }

입력 매니페스트 파일을 생성할 때는 JSON 객체를 한 줄에 맞도록 축소해야 합니다. 예를 들어 위의 코드 블록은 입력 매니페스트 파일에 다음과 같이 표시됩니다.

{"source-ref":"s3://awsexamplebucket/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://awsexamplebucket/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://awsexamplebucket/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://awsexamplebucket/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"}]}}

아래 표에서는 입력 매니페스트 파일에 포함시킬 수 있는 파라미터를 보여 줍니다.

파라미터

필수

허용되는 값

Description

source-ref

String

허용되는 문자열 값 형식:

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

아니요

String

허용되는 문자열 값: "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 데이터 형식 섹션을 참조하세요.

unix-timestamp

숫자

Unix 타임스탬프입니다.

Unix 타임스탬프는 1970년 1월 1일 이후 센서에서 데이터가 수집된 UTC 시간까지 소요된 시간(초)입니다.

ego-vehicle-pose

아니요

JSON 객체

포인트 클라우드 데이터를 수집하는 데 사용되는 디바이스의 포즈입니다. 이 파라미터에 대한 자세한 내용은 입력 매니페스트에 차량 포즈 정보 포함 단원을 참조하세요.

prefix

아니요

String

허용되는 문자열 값 형식:

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

이 프레임에 대해 카메라 이미지와 같은 메타데이터가 저장되는 Amazon S3의 위치입니다.

접두사는 슬래시(/)로 끝나야 합니다.

images

아니요

나열

센서 융합에 사용되는 컬러 카메라 이미지를 설명하는 파라미터 목록입니다. 이 목록에 최대 8개의 이미지를 포함시킬 수 있습니다. 각 이미지에 필요한 파라미터에 대한 자세한 내용은 입력 매니페스트에 카메라 데이터 포함 단원을 참조하세요 .

입력 매니페스트에 차량 포즈 정보 포함

ego 차량 위치를 사용하여 포인트 클라우드 데이터를 캡처하는 데 사용된 차량의 위치에 대한 정보를 제공합니다. Ground Truth는 이 정보를 사용하여 LiDAR 외부 행렬을 계산합니다.

Ground Truth는 외부 행렬을 사용하여 3D 장면 및 2D 이미지에서 레이블을 투영합니다. 자세한 정보는 센서 융합을 참조하세요.

아래 표에서는 ego 차량 정보를 제공할 때 필요한 position 및 방향(heading) 파라미터에 대한 자세한 정보를 제공합니다.

파라미터

필수

허용되는 값

Description

position

JSON 객체

필수 파라미터:

x, yz. 이러한 파라미터의 숫자를 입력합니다.

세계 좌표계에서 ego 차량의 변환 벡터입니다.

heading

JSON 객체

필수 파라미터:

qx, qy, qzqw. 이러한 파라미터의 숫자를 입력합니다.

주변을 감지하는 차량에 장착된 디바이스 또는 센서의 참조 프레임 방향이며, 좌표계에서 4원수(,qx, qy, qz, qw)로 측정됩니다.

입력 매니페스트에 카메라 데이터 포함

프레임에 CCTV 카메라 데이터를 포함시키려면 다음 파라미터를 사용하여 각 이미지에 대한 정보를 제공합니다. 아래의 필수 열은 images 파라미터가 source-ref-metadata 아래의 입력 매니페스트 파일에 포함되어 있을 때 적용됩니다. 입력 매니페스트 파일에 이미지를 포함시킬 필요는 없습니다.

카메라 이미지를 포함하는 경우에는 이미지 캡처에 사용된 카메라의 positionheading에 대한 정보를 포함해야 합니다.

이미지가 왜곡된 경우, Ground Truth는 왜곡 계수(k1, k2, k3, k4, p1, p1), 카메라 모델 및 카메라 내부 행렬을 포함해 입력 매니페스트 파일에서 이미지에 대해 제공된 정보를 사용해 자동으로 왜곡을 해제할 수 있습니다. 내부 행렬은 초점 거리(fx, fy) 및 주점(cx, cy))으로 이루어져 있습니다. Ground Truth가 카메라 내장 함수를 사용하는 방법은 내부 행렬 을(를) 참조하세요. 왜곡 계수가 포함되지 않은 경우 Ground Truth는 이미지의 왜곡을 해제하지 않습니다.

파라미터

필수

허용되는 값

Description

image-path

String

형식 예:

<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 객체

필수 파라미터:

x, yz. 이러한 파라미터의 숫자를 입력합니다.

이미지를 캡처하는 차량에 탑재된 카메라의 참조 프레임 위치 또는 원점.

heading

JSON 객체

필수 파라미터:

qx, qy, qzqw. 이러한 파라미터의 숫자를 입력합니다.

세계 좌표계에서 4원수, (qx, qy, qz, qw)를 사용하여 측정된 이미지를 캡처하는 차량에 장착된 카메라의 참조 프레임 방향입니다.

포인트 클라우드 프레임 제한

입력 매니페스트 파일에 최대 100,000개의 포인트 클라우드 프레임을 포함시킬 수 있습니다. 3D 포인트 클라우드 레이블 지정 작업은 다른 Ground Truth 태스크 유형보다 사전 처리 시간이 더 깁니다. 자세한 정보는 작업 사전 처리 시간을 참조하세요.