

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

# 포인트 클라우드 시퀀스 입력 매니페스트 생성
<a name="sms-point-cloud-multi-frame-input-data"></a>

매니페스트는 각 행이 하나의 완성된 유효한 JSON 객체인 UTF-8 인코딩 파일입니다. 각 행은 표준 줄 바꿈인 \\n 또는 \\r\\n으로 구분됩니다. 각 행이 유효한 JSON 객체여야 하므로 이스케이프되지 않은 줄 바꿈 문자를 사용할 수 없습니다. 포인트 클라우드 시퀀스 입력 매니페스트 파일에서 매니페스트의 각 라인에는 포인트 클라우드 프레임의 시퀀스가 포함되어 있습니다. 시퀀스의 각 프레임에 대한 포인트 클라우드 데이터는 바이너리 또는 ASCII 형식으로 저장할 수 있습니다. 자세한 내용은 [허용되는 원시 3D 데이터 형식](sms-point-cloud-raw-data-types.md) 섹션을 참조하세요. 이는 3D 포인트 클라우드 객체 추적에 필요한 매니페스트 파일 형식입니다. 선택에 따라 각 포인트 클라우드 프레임에 대해 포인트 속성 및 카메라 센서 융합 데이터를 제공할 수도 있습니다. 시퀀스 입력 매니페스트 파일을 생성할 때 [세계 좌표계](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-world-coordinate-system)에서 LiDAR 및 비디오 카메라 센서 퓨전 데이터를 제공해야 합니다.

다음 예제에서는 매니페스트의 각 라인이 시퀀스 파일일 때 입력 매니페스트 파일에 사용되는 구문을 보여 줍니다. 입력 매니페스트 파일의 각 행은 [JSON 행](http://jsonlines.org/) 형식이어야 합니다.

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

포인트 클라우드 프레임의 각 시퀀스에 대한 데이터는 JSON 데이터 객체에 저장되어야 합니다. 다음은 시퀀스 파일에 사용되는 형식의 예입니다. 각 프레임에 대한 정보는 JSON 객체로 포함되며 `frames` 목록에 나열됩니다. 다음은 두 개의 포인트 클라우드 프레임 파일 `frame300.bin` 및 `frame303.bin`이(가) 있는 시퀀스 파일의 예제입니다. {{...}}은 추가 프레임에 대한 정보를 포함해야 하는 위치를 표시하는 데 사용됩니다. 시퀀스의 각 프레임에 JSON 객체를 추가하세요.

다음 코드 블록에는 단일 시퀀스 파일에 대한 JSON 객체가 포함되어 있습니다. JSON 객체는 가독성을 위해 확장되었습니다.

```
{
  "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":[{{{...}}}]
    },
     {{...}}
  ]
}
```

다음 테이블에는 시퀀스 파일의 최상위 파라미터에 대한 세부 정보가 나와 있습니다. 시퀀스 파일의 개별 프레임에 필요한 파라미터에 대한 자세한 내용은 [개별 포인트 클라우드 프레임에 대한 파라미터](#sms-point-cloud-multi-frame-input-single-frame) 섹션을 참조하세요 .


****  

|  파라미터  |  필수  |  허용되는 값  |  설명  | 
| --- | --- | --- | --- | 
| `seq-no` | 예 | Integer | 순서가 지정된 시퀀스 번호입니다. | 
| `prefix` | 예 | 문자열<br />**허용되는 값**:<br />`s3://{{<bucket-name>}}/{{<prefix>/}}` | 시퀀스 파일이 있는 Amazon S3 위치입니다.<br />접두사는 슬래시(`/`)로 끝나야 합니다. | 
| `number-of-frames` | 예 | Integer | 시퀀스 파일에 포함된 총 프레임 수입니다. 이 숫자는 다음 행의 `frames` 파라미터에 나열된 총 프레임 수와 일치해야 합니다. | 
| `frames` | 예 | JSON 객체 목록 | 프레임 데이터의 목록입니다. 목록의 길이는 `number-of-frames`과 같아야 합니다. 작업자 UI에서 시퀀스의 프레임은 이 배열의 프레임 순서와 동일합니다.<br />각 프레임의 형식에 대한 자세한 내용은 [개별 포인트 클라우드 프레임에 대한 파라미터](#sms-point-cloud-multi-frame-input-single-frame) 섹션을 참조하세요. | 

## 개별 포인트 클라우드 프레임에 대한 파라미터
<a name="sms-point-cloud-multi-frame-input-single-frame"></a>

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


****  

|  파라미터  |  필수  |  허용되는 값  |  설명  | 
| --- | --- | --- | --- | 
| `frame-no` | 아니요 | Integer | 프레임 번호입니다. 이 식별자는 고객이 시퀀스 내의 프레임을 식별하기 위해 지정하는 선택적 식별자입니다. Ground Truth에서는 사용하지 않습니다. | 
| `unix-timestamp` | 예 | 숫자 | Unix 타임스탬프는 1970년 1월 1일 이후 센서에서 데이터가 수집된 UTC 시간까지 소요된 시간(초)입니다.<br />각 프레임의 타임스탬프는 달라야 하며 타임스탬프는 직육면체 보간에 사용되므로 순차적이어야 합니다. 데이터를 수집한 시점의 실제 타임스탬프인 것이 가장 좋습니다. 이를 사용할 수 없는 경우 시퀀스 파일의 첫 번째 프레임이 시퀀스의 첫 번째 타임스탬프에 대응하는 증분 타임스탬프 시퀀스를 사용해야 합니다. | 
| `frame` | 예 | 문자열<br />**형식 예**<br />`{{<folder-name>}}/{{<sequence-file.json>}}` | Amazon S3에서 시퀀스 파일의 상대적인 위치입니다. 이 상대 경로는 `prefix`에서 지정한 경로에 추가됩니다. | 
| `format` | 아니요 | 문자열<br />**허용되는 문자열 값**: `"binary/xyz"`, `"binary/xyzi"`, `"binary/xyzrgb"`, `"binary/xyzirgb"`, `"text/xyz"`, `"text/xyzi"`, `"text/xyzrgb"`, `"text/xyzirgb"` <br />**기본 값**: <br />`source-ref`에서 식별된 파일의 확장자가 .bin인 경우 `binary/xyzi`<br />`source-ref`에서 식별된 파일의 확장자가 .txt인 경우 `text/xyzi` | 이 파라미터를 사용하여 포인트 클라우드 데이터의 형식을 지정합니다. 자세한 내용은 [허용되는 원시 3D 데이터 형식](sms-point-cloud-raw-data-types.md) 섹션을 참조하세요. | 
| `ego-vehicle-pose` | 아니요 | JSON 객체 | 포인트 클라우드 데이터를 수집하는 데 사용되는 디바이스의 포즈입니다. 이 파라미터에 대한 자세한 내용은 [입력 매니페스트에 차량 포즈 정보 포함](#sms-point-cloud-multi-frame-ego-vehicle-input) 섹션을 참조하세요. | 
| `prefix` | 아니요 | 문자열<br />**허용되는 문자열 값 형식**: <br />`s3://{{<bucket-name>}}/{{<folder-name>/}}` | 이 프레임에 대해 카메라 이미지와 같은 메타데이터가 저장되는 Amazon S3의 위치입니다.<br />접두사는 슬래시(`/`)로 끝나야 합니다. | 
| `images` | 아니요 | List | 센서 융합에 사용되는 컬러 카메라 이미지를 설명하는 목록 파라미터. 이 목록에 최대 8개의 이미지를 포함시킬 수 있습니다. 각 이미지에 필요한 파라미터에 대한 자세한 내용은 [입력 매니페스트에 카메라 데이터 포함](#sms-point-cloud-multi-frame-image-input) 섹션을 참조하세요 . | 

## 입력 매니페스트에 차량 포즈 정보 포함
<a name="sms-point-cloud-multi-frame-ego-vehicle-input"></a>

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

Ground Truth는 외부 행렬을 사용하여 3D 장면 및 2D 이미지에서 레이블을 투영합니다. 자세한 내용은 [센서 융합](sms-point-cloud-sensor-fusion-details.md#sms-point-cloud-sensor-fusion) 섹션을 참조하세요.

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


****  

|  파라미터  |  필수  |  허용되는 값  |  설명  | 
| --- | --- | --- | --- | 
| `position` | 예 | JSON 객체<br />**필수 파라미터**:<br />`x`, `y` 및 `z`. 이러한 파라미터의 숫자를 입력합니다. | 세계 좌표계에서 ego 차량의 변환 벡터입니다. | 
| `heading` | 예 | JSON 객체<br />**필수 파라미터**:<br />`qx`, `qy`, `qz` 및 `qw`. 이러한 파라미터의 숫자를 입력합니다. | 주변을 감지하는 차량에 장착된 디바이스 또는 센서의 참조 프레임 방향이며, 좌표계에서 [4원수](https://en.wikipedia.org/wiki/Quaternion)(,`qx`, `qy`, `qz`, `qw`)로 측정됩니다. | 

## 입력 매니페스트에 카메라 데이터 포함
<a name="sms-point-cloud-multi-frame-image-input"></a>

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

카메라 이미지를 포함하는 경우에는 이미지 캡처에 사용된 카메라의 `position` 및 방향(`heading`)에 대한 정보를 포함해야 합니다.

이미지가 왜곡된 경우, Ground Truth는 왜곡 계수(`k1`, `k2`, `k3`, `k4`, `p1`, `p1`), 카메라 모델 및 초점 길이(`fx`, `fy`) 및 주요점(`cx`, `cy)`)을 포함해 입력 매니페스트 파일에서 이미지에 대해 제공된 정보를 사용해 자동으로 왜곡을 해제할 수 있습니다. 이러한 계수 및 이미지 왜곡 해제에 대한 자세한 내용은 [OpenCV를 사용한 카메라 보정](https://docs.opencv.org/2.4.13.7/doc/tutorials/calib3d/camera_calibration/camera_calibration.html)을 참조하세요. 왜곡 계수가 포함되지 않은 경우 Ground Truth는 이미지의 왜곡을 해제하지 않습니다.


****  

|  파라미터  |  필수  |  허용되는 값  |  설명  | 
| --- | --- | --- | --- | 
| `image-path` | 예 | 문자열<br />**형식 예**: <br />`{{<folder-name>}}/{{<imagefile.png>}}` | Amazon S3에서 이미지 파일의 상대 위치입니다. 이 상대 경로는 `prefix`에서 지정한 경로에 추가됩니다. | 
| `unix-timestamp` | 예 | 숫자 | 이미지의 타임스탬프입니다. | 
| `camera-model` | 아니요 | 문자열:<br />**허용되는 값**:<br />`"pinhole"`, `"fisheye"`<br />**기본 값**:<br />`"pinhole"` | 이미지를 캡처하는 데 사용되는 카메라의 모델입니다. 이 정보는 카메라 이미지의 왜곡을 해제하는 데 사용됩니다. | 
| `fx, fy` | 예 | 숫자 | x(`fx`) 및 y(`fy`) 방향의 카메라 초점 거리입니다. | 
| `cx, cy` | 예 | 숫자 | 주점의 x(`cx`) 및 y(`cy`) 좌표입니다. | 
| `k1, k2, k3, k4` | 아니요 | 숫자 | 방사형 왜곡 계수입니다. **어안** 및 **핀홀** 카메라 모델 모두에서 지원됩니다. | 
| `p1, p2` | 아니요 | 숫자 | 접선 왜곡 계수입니다. **핀홀** 카메라 모델에서 지원됩니다. | 
| `skew` | 아니요 | 숫자 | 이미지에서 알려진 기울기를 측정하는 파라미터입니다. | 
| `position` | 예 | JSON 객체<br />**필수 파라미터**:<br />`x`, `y` 및 `z`. 이러한 파라미터의 숫자를 입력합니다. | 이미지를 캡처하는 차량에 탑재된 카메라의 참조 프레임 위치 또는 원점. | 
| `heading` | 예 | JSON 객체<br />**필수 파라미터**:<br />`qx`, `qy`, `qz` 및 `qw`. 이러한 파라미터의 숫자를 입력합니다. | [4원수](https://en.wikipedia.org/wiki/Quaternion), (`qx`, `qy`, `qz`, `qw`)를 사용하여 측정된 이미지를 캡처하는 차량에 장착된 카메라의 참조 프레임 방향입니다. | 

## 시퀀스 파일 및 포인트 클라우드 프레임 제한
<a name="sms-point-cloud-multi-frame-limits"></a>

입력 매니페스트 파일에 최대 100,000개의 포인트 클라우드 프레임 시퀀스를 포함시킬 수 있습니다. 각 시퀀스 파일에 최대 500개의 포인트 클라우드 프레임을 포함시킬 수 있습니다.

3D 포인트 클라우드 레이블 지정 작업은 다른 Ground Truth 태스크 유형보다 사전 처리 시간이 길다는 점에 유의하세요. 자세한 내용은 [작업 사전 처리 시간](sms-point-cloud-general-information.md#sms-point-cloud-job-creation-time) 섹션을 참조하세요.