출력 데이터 - 아마존 SageMaker

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

출력 데이터

레이블 지정 작업의 출력은 콘솔이나 작업 호출에서 지정한 Amazon S3 위치에 있습니다. CreateLabelingJob 작업자가 하나 이상의 작업을 제출했거나 작업이 만료되면 출력 데이터가 이 위치에 표시됩니다. 작업자가 작업을 제출하거나 작업이 만료된 후 Amazon S3에 출력 데이터가 표시되려면 몇 분 정도 걸릴 수 있습니다.

출력 데이터 파일의 각 행은 매니페스트 파일과 동일한데, 입력 객체에 할당된 레이블의 속성과 값이 추가되어 있습니다. 값의 속성 이름을 콘솔에서 또는 CreateLabelingJob 작업 호출 시 정의합니다. 레이블 속성 이름에는 -metadata를 사용할 수 없습니다. 이미지 의미 체계 분할, 3D 포인트 클라우드 의미 체계 분할 또는 3D 포인트 클라우드 객체 추적 작업을 실행 중인 경우, 레이블 속성은 -ref로 끝나야 합니다. 그 외 작업 유형의 경우 속성 이름은 -ref로 끝날 수 없습니다.

레이블 지정 작업의 출력은 레이블이 포함된 키-값 페어의 값입니다. 레이블과 그 값은 입력 파일의 기존 JSON 데이터를 새 값으로 덮어씁니다.

예를 들어 다음은 입력 데이터 파일이 AmazonAWSDOC-EXAMPLE-BUCKET S3에 저장되고 레이블 속성 이름이 로 정의된 이미지 분류 레이블링 작업의 sport출력입니다. 이 예제에서 JSON 객체는 가독성을 위해 형식이 지정되어 있고, 실체 출력 파일에서 JSON 객체는 단일 행에 있습니다. 데이터 형식에 대한 자세한 정보는 JSON 행을 참조하십시오.

{ "source-ref": "s3://AWSDOC-EXAMPLE-BUCKET/image_example.png", "sport":0, "sport-metadata": { "class-name": "football", "confidence": 0.00, "type":"groundtruth/image-classification", "job-name": "identify-sport", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256" } }

레이블의 값은 유효한 모든 JSON일 수 있습니다. 이 경우, 레이블의 값은 분류 목록의 클래스 인덱스입니다. 경계 상자와 같은 다른 작업 유형에는 보다 복잡한 값이 있습니다.

입력 매니페스트 파일의 레이블 속성 이외 모든 키-값 페어는 출력 파일에서 바뀌지 않습니다. 애플리케이션에 데이터를 전달할 때 이러한 페어를 사용할 수 있습니다.

라벨링 작업의 출력은 다른 라벨링 작업에 대한 입력으로 사용할 수 있습니다. 라벨링 작업을 함께 묶을 때 이러한 기능을 사용할 수 있습니다. 예를 들어, 진행 중인 스포츠를 확인하는 라벨링 작업 하나를 보낼 수 있습니다. 그런 다음 동일한 데이터를 사용하여 해당 스포츠가 실내 또는 실외에서 진행 중인지 확인하는 다른 작업을 보냅니다. 첫 번째 작업의 출력 데이터를 두 번째 작업의 매니페스트로 사용하면 두 작업의 결과를 하나의 출력 파일로 통합해 애플리케이션에서 쉽게 처리하도록 할 수 있습니다.

출력 데이터 파일은 작업 진행 중에도 정기적으로 출력 위치에 기록됩니다. 이러한 중간 파일에는 매니페스트 파일의 각 행에 해당하는 행이 하나씩 포함되어 있습니다. 객체에 레이블이 지정된 경우에는 레이블이 포함됩니다. 객체에 레이블이 지정되지 않은 경우에는 매니페스트 파일과 동일하게 중간 출력 파일에 기록됩니다.

출력 디렉터리

그라운드 트루스는 Amazon S3 출력 경로에 여러 디렉터리를 생성합니다. 이러한 디렉터리에는 라벨링 작업의 결과와 작업의 다른 결과물이 포함되어 있습니다. 레이블 지정 작업의 최상위 디렉터리에는 레이블 지정 작업과 동일한 이름이 지정되며 출력 디렉터리는 그 아래에 있습니다. 예를 들어 레이블 지정 작업의 이름을 지정한find-people 경우 출력은 다음 디렉터리에 있게 됩니다.

s3://AWSDOC-EXAMPLE-BUCKET/find-people/activelearning s3://AWSDOC-EXAMPLE-BUCKET/find-people/annotations s3://AWSDOC-EXAMPLE-BUCKET/find-people/inference s3://AWSDOC-EXAMPLE-BUCKET/find-people/manifests s3://AWSDOC-EXAMPLE-BUCKET/find-people/training

각 디렉터리에는 다음 출력이 포함되어 있습니다.

활성 학습 디렉터리

activelearning 디렉터리는 자동화된 데이터 라벨링을 사용하는 경우에만 존재합니다. 이 디렉터리에는 자동화된 데이터 라벨링에 대한 입력 및 출력 검증 세트와 자동으로 레이블이 지정된 데이터에 대한 입력 및 출력 폴더가 있습니다.

주석 디렉터리

annotations 디렉터리에는 작업 인력이 작성한 주석이 모두 포함되어 있습니다. 이러한 주석은 개별 작업자의 응답으로, 데이터 객체에 대한 단일 레이블로 통합되지 않았습니다.

annotations 디렉터리에는 하위 디렉터리가 3개 있습니다.

  • 첫 번째 디렉터리인 worker-response에는 개별 작업자의 응답이 포함되어 있습니다. 여기에는 각 반복에 대한 하위 디렉터리가 포함되며, 해당 반복의 각 데이터 객체에 대한 하위 디렉터리가 포함됩니다. 각 데이터 객체에 대한 작업자 응답 데이터는 해당 데이터 객체에 대해 각 작업자가 제출한 답변이 포함된 타임스탬프가 지정된 JSON 파일에 저장되며, 사설 인력을 사용하는 경우 해당 작업자에 대한 메타데이터가 포함됩니다. 이 메타데이터에 대한 자세한 내용은 단원을 참조하십시오작업자 메타데이터.

  • 두 번째 디렉터리인 consolidated-annotation에는 현재 배치의 주석을 데이터 객체에 대한 레이블로 통합하는 데 필요한 정보가 포함되어 있습니다.

  • 세 번째 디렉터리인 intermediate에는 완료된 모든 레이블과 함께 현재 배치에 대한 출력 매니페스트가 포함되어 있습니다. 각 데이터 객체에 대한 레이블이 완료되면 이 파일이 업데이트됩니다.

참고

설명서에 언급되지 않은 파일은 사용하지 않는 것이 좋습니다.

추론 디렉터리

inference 디렉터리는 자동화된 데이터 라벨링을 사용하는 경우에만 존재합니다. 이 디렉토리에는 데이터 객체에 레이블을 지정하는 동안 사용되는 SageMaker 배치 변환에 대한 입력 및 출력 파일이 들어 있습니다.

Manifest 디렉터리

manifest 디렉터리에는 라벨링 작업의 출력 매니페스트가 포함되어 있습니다. 매니페스트 디렉터리에는 하나의 하위 디렉토리(output)가 있습니다. output 디렉터리에는 라벨링 작업에 대한 출력 매니페스트 파일이 포함되어 있습니다. 이 파일의 이름은 output.manifest입니다.

교육 디렉터리

training 디렉터리는 자동화된 데이터 라벨링을 사용하는 경우에만 존재합니다. 이 디렉터리에는 자동화된 데이터 레이블 지정 모델을 교육하는 데 사용된 입력 및 출력 파일이 포함되어 있습니다.

신뢰도 점수

단일 작업에 두 명 이상의 작업자가 주석을 달면 주석 통합의 결과로 라벨이 생성됩니다. Ground Truth는 각 라벨에 대한 신뢰도 점수를 계산합니다. 신뢰도 점수는 Ground Truth의 레이블 신뢰도를 나타내는 0과 1 사이의 숫자입니다. 신뢰도 점수를 사용하여 레이블이 지정된 데이터 객체를 서로 비교한 다음 가장 신뢰도가 낮거나 높은 레이블을 식별할 수 있습니다.

신뢰도 점수의 값을 절대값으로 해석하거나 라벨링 작업 전반에서 신뢰도 점수를 비교해서는 안 됩니다. 예를 들어, 모든 신뢰도 점수가 0.98~0.998인 경우 데이터 객체는 서로 간에만 비교해야 하며 높은 신뢰도 점수를 사용하면 안 됩니다.

인간이 라벨링한 데이터 객체와 자동 라벨링된 데이터 객체의 신뢰도 점수를 비교하면 안 됩니다. 사람에 대한 신뢰도 점수는 작업에 대한 주석 통합 함수를 사용하여 계산되며 자동 라벨링에 대한 신뢰도 점수는 객체 기능이 통합된 모델을 사용하여 계산됩니다. 두 모델은 일반적으로 척도와 평균 신뢰도가 다릅니다.

바운딩 박스 라벨링 작업의 경우 Ground Truth는 박스당 신뢰도 점수를 계산합니다. 동일한 라벨링 유형(인간 또는 자동)에 대해 하나의 이미지 내에서 또는 이미지 간에 신뢰도 점수를 비교할 수 있습니다. 라벨링 작업 간에는 신뢰도 점수를 비교할 수 없습니다.

한 명의 작업자가 작업에 주석을NumberOfHumanWorkersPerDataObject 다는 경우 (콘솔에서 데이터세트 객체당 작업자 수에 1을1 입력하거나 콘솔에서 작업자 수에 1을 입력) 신뢰도 점수는 로 설정됩니다0.00.

작업자 메타데이터

Ground Truth는 작업 출력 데이터에서 개별 작업자를 추적하는 데 사용할 수 있는 정보를 제공합니다. 다음 데이터는 다음 위치에 있는 디렉토리worker-response 아래에 있습니다주석 디렉터리.

  • 작업자가 태스크를 수락한 시간입니다.acceptanceTime 이 날짜 및 타임스탬프의 형식은 연도 (YYYY), 월 (MM), 일 (DD), 시 (HH), 분 (MM), 초 (SS) 및 밀리초 (mmm) 입니다.YYYY-MM-DDTHH:MM:SS.mmmZ 날짜와 시간은 T 로 구분됩니다.

  • 작업자가 제출 버튼을 사용하여 노트를 제출한 시간입니다.submissionTime 이 날짜 및 타임스탬프의 형식은 연도 (YYYY), 월 (MM), 일 (DD), 시 (HH), 분 (MM), 초 (SS) 및 밀리초 (mmm) 입니다.YYYY-MM-DDTHH:MM:SS.mmmZ 날짜와 시간은 T 로 구분됩니다.

  • timeSpentInSeconds작업자가 해당 작업에 능동적으로 작업한 총 시간을 초 단위로 보고합니다. 이 지표에는 작업자가 일시 중지하거나 휴식을 취한 시간은 포함되지 않습니다.

  • workerId는 각 작업자에게 고유합니다.

  • 에서 개인 인력을 사용하는workerMetadata 경우 에서 다음을 볼 수 있습니다.

    • 개인 인력을 관리하는 데 사용되는 서비스입니다.identityProviderType

    • issuer는 이 휴먼 리뷰 작업에 배정된 작업 팀과 관련된 Cognito 사용자 풀 또는 OIDC ID 공급자 (IdP) 발급자입니다.

    • 고유sub 식별자는 작업자를 가리킵니다. Amazon Cognito를 사용하여 인력을 생성하는 경우 Amazon Cognito Cognito를 사용하여 이 ID를 사용하여 이 작업자에 대한 세부 정보 (예: 이름 또는 사용자 이름) 를 검색할 수 있습니다. 방법을 알아보려면 Amazon Cognito 개발자 안내서의 사용자 계정 관리 및 검색을 참조하십시오.

다음은 Amazon Cognito Cognito를 사용하여 개인 인력을 생성할 때 표시될 수 있는 출력의 예입니다. 이는 에서 확인할 수 있습니다identityProviderType.

"submissionTime": "2020-12-28T18:59:58.321Z", "acceptanceTime": "2020-12-28T18:59:15.191Z", "timeSpentInSeconds": 40.543, "workerId": "a12b3cdefg4h5i67", "workerMetadata": { "identityData": { "identityProviderType": "Cognito", "issuer": "https://cognito-idp.aws-region.amazonaws.com/aws-region_123456789", "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" } }

다음은 자체 OIDC IdP를 사용하여 비공개 인력을 만들 때 나타날 수 있는 예시입니다.workerMetadata

"workerMetadata": { "identityData": { "identityProviderType": "Oidc", "issuer": "https://example-oidc-ipd.com/adfs", "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" } }

비공개 인력 사용에 대한 자세한 내용은 단원을 참조하십시오프라이빗 작업 인력 사용.

출력 메타데이터

각 작업의 출력에는 데이터 객체에 할당된 레이블에 대한 메타데이터가 포함되어 있습니다. 이러한 요소는 사소가 차이가 있는 모든 작업에 대해 동일합니다. 다음 예제에서는 메타데이터 요소를 보여 줍니다.

"confidence": 0.00, "type": "groundtruth/image-classification", "job-name": "identify-animal-species", "human-annotated": "yes", "creation-date": "2020-10-18T22:18:13.527256"

각 요소에는 다음과 같은 의미가 있습니다.

  • confidence— Ground Truth는 라벨이 정확하다는 확신을 가지고 있습니다. 자세한 정보는 신뢰도 점수을 참조하세요.

  • type— 분류 작업 유형 작업 유형에 관한 내용은 기본 제공 작업 유형 단원을 참조하십시오.

  • job-name— 작업 생성 시 작업에 할당된 이름입니다.

  • human-annotated— 데이터 객체에 사람이 레이블을 지정했는지 아니면 자동화된 데이터 레이블링으로 레이블을 지정했는지 여부. 자세한 정보는 데이터 레이블 지정 자동화을 참조하세요.

  • creation-date— 레이블이 생성된 날짜와 시간입니다.

분류 작업 출력

다음은 이미지 분류 작업 및 텍스트 분류 작업의 샘플 출력(출력 매니페스트 파일)입니다. 여기에는 Ground Truth가 데이터 객체에 할당한 레이블, 레이블 값 및 레이블을 설명하는 메타데이터가 포함됩니다.

분류 작업에 대한 메타데이터에는 표준 메타데이터 요소 외에 레이블의 클래스에 대한 텍스트 값이 포함되어 있습니다. 자세한 정보는 이미지 분류 - MXNet을 참조하세요.

아래 예에서 빨간색 기울임꼴로 표시된 텍스트는 레이블 지정 작업 사양 및 출력 데이터에 따라 다릅니다.

{ "source-ref":"s3://AWSDOC-EXAMPLE-BUCKET/example_image.jpg", "species":"0", "species-metadata": { "class-name": "dog", "confidence": 0.00, "type": "groundtruth/image-classification", "job-name": "identify-animal-species", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256" } }
{ "source":"The food was delicious", "mood":"1", "mood-metadata": { "class-name": "positive", "confidence": 0.8, "type": "groundtruth/text-classification", "job-name": "label-sentiment", "human-annotated": "yes", "creation-date": "2020-10-18T22:18:13.527256" } }

다중 레이블 분류 작업 출력

다음은 다중 레이블 이미지 분류 작업 및 다중 레이블 텍스트 분류 작업의 출력 매니페스트 파일의 예제입니다. 여기에는 Ground Truth가 데이터 객체에 할당한 레이블 (예: 이미지 또는 텍스트) 과 작업자가 레이블 지정 작업을 완료할 때 본 레이블을 설명하는 메타데이터가 포함됩니다.

label 속성 이름 매개변수 (예:image-label-attribute-name) 에는 이 작업을 완료한 작업자 중 한 명 이상이 선택한 모든 레이블의 배열이 포함됩니다. 이 배열에는 class-map에 있는 레이블에 해당하는 정수 키(예: [1,0,8])가 포함되어 있습니다. 다중 레이블 이미지 분류 예제에서는 이미지 exampleimage.jpg에 대한 레이블 지정 작업을 완료한 작업자 중 한 명 이상이 bicycle, personclothing을 선택했습니다.

는 Ground Truth가 작업자가 선택한 각 레이블에 할당한 신뢰도 점수를confidence-map 보여줍니다. Ground Truth 신뢰도 점수에 대한 자세한 내용은 을 참조하십시오신뢰도 점수.

아래 예에서 빨간색 기울임꼴로 표시된 텍스트는 레이블 지정 작업 사양 및 출력 데이터에 따라 다릅니다.

다음은 다중 레이블 이미지 분류 출력 매니페스트 파일의 예제입니다.

{ "source-ref": "s3://AWSDOC-EXAMPLE-BUCKET/example_image.jpg", "image-label-attribute-name":[1,0,8], "image-label-attribute-name-metadata": { "job-name":"labeling-job/image-label-attribute-name", "class-map": { "1":"bicycle","0":"person","8":"clothing" }, "human-annotated":"yes", "creation-date":"2020-02-27T21:36:25.000201", "confidence-map": { "1":0.95,"0":0.77,"8":0.2 }, "type":"groundtruth/image-classification-multilabel" } }

다음은 다중 레이블 텍스트 분류 출력 매니페스트 파일의 예제입니다. 이 예제에서는 AWSDOC-EXAMPLE-BUCKET에서 발견된 객체 exampletext.txt에 대한 레이블 지정 태스크를 완료한 작업자 중 한 명 이상이 approving, sadcritical을 선택했습니다.

{ "source-ref": "AWSDOC-EXAMPLE-BUCKET/text_file.txt", "text-label-attribute-name":[1,0,4], "text-label-attribute-name-metadata": { "job-name":"labeling-job/text-label-attribute-name", "class-map": { "1":"approving","0":"sad","4":"critical" }, "human-annotated":"yes", "creation-date":"2020-02-20T21:36:25.000201", "confidence-map": { "1":0.95,"0":0.77,"4":0.2 }, "type":"groundtruth/text-classification-multilabel" } }

경계 상자 작업 출력

다음은 경계 상자 작업의 샘플 출력(출력 매니페스트 파일)입니다. 이 작업에서는 세 개의 경계 상자가 반환됩니다. 레이블 값에는 이미지 크기에 대한 정보와 경계 상자의 위치가 포함되어 있습니다.

class_id 요소는 작업에 사용 가능한 클래스 목록에서 작업의 클래스 인덱스입니다. class-map 메타데이터 요소에는 클래스 텍스트가 포함되어 있습니다.

메타데이터에는 각 경계 상자에 대한 별도의 신뢰도 점수가 있습니다. 또한 메타데이터에는 class_id를 클래스의 텍스트 값으로 매핑하는 class-map 요소가 포함되어 있습니다. 자세한 정보는 물체 감지 - MXNet을 참조하세요.

아래 예에서 빨간색 기울임꼴로 표시된 텍스트는 레이블 지정 작업 사양 및 출력 데이터에 따라 다릅니다.

{ "source-ref": "s3://AWSDOC-EXAMPLE-BUCKET/example_image.png", "bounding-box-attribute-name": { "image_size": [{ "width": 500, "height": 400, "depth":3}], "annotations": [ {"class_id": 0, "left": 111, "top": 134, "width": 61, "height": 128}, {"class_id": 5, "left": 161, "top": 250, "width": 30, "height": 30}, {"class_id": 5, "left": 20, "top": 20, "width": 30, "height": 30} ] }, "bounding-box-attribute-name-metadata": { "objects": [ {"confidence": 0.8}, {"confidence": 0.9}, {"confidence": 0.9} ], "class-map": { "0": "dog", "5": "bone" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "identify-dogs-and-toys" } }

경계 상자 조정 작업의 출력은 다음 JSON과 같습니다. 원본 JSON은 온전하게 유지되고 원래 속성 이름 앞에 “adjust-”가 추가된 두 개의 새 작업이 나열됩니다.

{ "source-ref": "S3 bucket location", "bounding-box-attribute-name": { "image_size": [{ "width": 500, "height": 400, "depth":3}], "annotations": [ {"class_id": 0, "left": 111, "top": 134, "width": 61, "height": 128}, {"class_id": 5, "left": 161, "top": 250, "width": 30, "height": 30}, {"class_id": 5, "left": 20, "top": 20, "width": 30, "height": 30} ] }, "bounding-box-attribute-name-metadata": { "objects": [ {"confidence": 0.8}, {"confidence": 0.9}, {"confidence": 0.9} ], "class-map": { "0": "dog", "5": "bone" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "identify-dogs-and-toys" }, "adjusted-bounding-box": { "image_size": [{ "width": 500, "height": 400, "depth":3}], "annotations": [ {"class_id": 0, "left": 110, "top": 135, "width": 61, "height": 128}, {"class_id": 5, "left": 161, "top": 250, "width": 30, "height": 30}, {"class_id": 5, "left": 10, "top": 10, "width": 30, "height": 30} ] }, "adjusted-bounding-box-metadata": { "objects": [ {"confidence": 0.8}, {"confidence": 0.9}, {"confidence": 0.9} ], "class-map": { "0": "dog", "5": "bone" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-11-20T22:18:13.527256", "job-name": "adjust-bounding-boxes-on-dogs-and-toys", "adjustment-status": "adjusted" } }

이 출력에서 작업 type은 변경되지 않지만 adjustment-status 필드가 추가됩니다. 이 필드 값은 adjusted 또는 unadjusted입니다. 여러 작업자가 객체를 검토하고 한 명 이상이 레이블을 조정한 경우, 상태는 adjusted가 됩니다.

명명된 엔터티 인식

다음은 명명된 개체 인식 (NER) 레이블 지정 작업의 예제 출력 매니페스트 파일입니다. 이 태스크에서는 7개가entities 반환됩니다.

출력 매니페스트의 JSON 객체에는 사용자가 제공한labels (레이블 범주) 목록이 포함됩니다.annotations

작업자 응답은 이름이 지정된 목록에entities 있습니다. 이 목록의 각 엔티티는 목록의 값과 일치하는label 값, 레이블이 지정된 스팬의 시작 유니코드 오프셋에 대한 정수startOffset 값 및 종료 유니코드 오프셋의 정수endOffset 값을 포함하는 JSON 객체입니다.labels

메타데이터에는 각 엔티티에 대한 별도의 신뢰도 점수가 있습니다. 한 명의 워커가 각 데이터 객체에 레이블을 지정한 경우 각 엔티티의 신뢰도 값은 0이 됩니다.

아래 예제의 빨간색 기울임꼴 텍스트는 작업 입력 및 작업자 응답에 레이블링에 따라 달라집니다.

{ "source": "Amazon SageMaker is a cloud machine-learning platform that was launched in November 2017. SageMaker enables developers to create, train, and deploy machine-learning (ML) models in the cloud. SageMaker also enables developers to deploy ML models on embedded systems and edge-devices", "ner-labeling-job-attribute-name": { "annotations": { "labels": [ { "label": "Date", "shortDisplayName": "dt" }, { "label": "Verb", "shortDisplayName": "vb" }, { "label": "Thing", "shortDisplayName": "tng" }, { "label": "People", "shortDisplayName": "ppl" } ], "entities": [ { "label": "Thing", "startOffset": 22, "endOffset": 53 }, { "label": "Thing", "startOffset": 269, "endOffset": 281 }, { "label": "Verb", "startOffset": 63, "endOffset": 71 }, { "label": "Verb", "startOffset": 228, "endOffset": 234 }, { "label": "Date", "startOffset": 75, "endOffset": 88 }, { "label": "People", "startOffset": 108, "endOffset": 118 }, { "label": "People", "startOffset": 214, "endOffset": 224 } ] } }, "ner-labeling-job-attribute-name-metadata": { "job-name": "labeling-job/example-ner-labeling-job", "type": "groundtruth/text-span", "creation-date": "2020-10-29T00:40:39.398470", "human-annotated": "yes", "entities": [ { "confidence": 0 }, { "confidence": 0 }, { "confidence": 0 }, { "confidence": 0 }, { "confidence": 0 }, { "confidence": 0 }, { "confidence": 0 } ] } }

레이블 확인 작업 출력

바운딩 박스 확인 작업의 출력 (출력 매니페스트 파일) 은 바운딩 박스 주석 작업의 출력과 다르게 보입니다. 노동자들의 업무 유형이 다르기 때문입니다. 작업자는 객체에 레이블을 지정하지 않지만, 이전 레이블 지정의 정확성을 평가하고 판단한 후 판단 내용과 일부 설명을 제공합니다.

작업자가 이전 바운딩 박스 레이블을 확인하거나 조정하는 경우 확인 작업의 출력은 다음과 같은 JSON으로 표시됩니다. 아래 예에서 빨간색 기울임꼴로 표시된 텍스트는 레이블 지정 작업 사양 및 출력 데이터에 따라 다릅니다.

{ "source-ref":"s3://AWSDOC-EXAMPLE-BUCKET/image_example.png", "bounding-box-attribute-name": { "image_size": [{ "width": 500, "height": 400, "depth":3}], "annotations": [ {"class_id": 0, "left": 111, "top": 134, "width": 61, "height": 128}, {"class_id": 5, "left": 161, "top": 250, "width": 30, "height": 30}, {"class_id": 5, "left": 20, "top": 20, "width": 30, "height": 30} ] }, "bounding-box-attribute-name-metadata": { "objects": [ {"confidence": 0.8}, {"confidence": 0.9}, {"confidence": 0.9} ], "class-map": { "0": "dog", "5": "bone" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "identify-dogs-and-toys" }, "verify-bounding-box-attribute-name":"1", "verify-bounding-box-attribute-name-metadata": { "class-name": "bad", "confidence": 0.93, "type": "groundtruth/label-verification", "job-name": "verify-bounding-boxes", "human-annotated": "yes", "creation-date": "2018-11-20T22:18:13.527256", "worker-feedback": [ {"comment": "The bounding box on the bird is too wide on the right side."}, {"comment": "The bird on the upper right is not labeled."} ] } }

원래 경계 상자 출력의 typegroundtruth/object-detection였지만, 새 typegroundtruth/label-verification입니다. 또한 worker-feedback 배열은 작업자 설명을 제공합니다. 작업자 설명이 제공되지 않는 경우, 빈 필드는 통합 중에 제외됩니다.

의미 체계 분할 작업 출력

다음은 의미 체계 분할 레이블 지정 작업의 출력 매니페스트 파일입니다. 이 작업의 레이블 값은 Amazon S3 버킷의 PNG 파일에 대한 참조입니다.

레이블의 메타데이터에는 표준 요소 외에도 이미지에 레이블을 지정하는 데 사용되는 색상, 색상과 관련된 클래스 이름 및 각 색상에 대한 신뢰도 점수를 정의하는 색상 맵이 포함됩니다. 자세한 정보는 의미 체계 분할 알고리즘을 참조하세요.

아래 예에서 빨간색 기울임꼴로 표시된 텍스트는 레이블 지정 작업 사양 및 출력 데이터에 따라 다릅니다.

{ "source-ref": "s3://AWSDOC-EXAMPLE-BUCKET/example_city_image.png", "city-streets-ref": "S3 bucket location", "city-streets-ref-metadata": { "internal-color-map": { "0": { "class-name": "BACKGROUND", "confidence": 0.9, "hex-color": "#ffffff" }, "1": { "class-name": "buildings", "confidence": 0.9, "hex-color": "#2acf59" }, "2": { "class-name": "road", "confidence": 0.9, "hex-color": "#f28333" } }, "type": "groundtruth/semantic-segmentation", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "label-city-streets", }, "verify-city-streets-ref":"1", "verify-city-streets-ref-metadata": { "class-name": "bad", "confidence": 0.93, "type": "groundtruth/label-verification", "job-name": "verify-city-streets", "human-annotated": "yes", "creation-date": "2018-11-20T22:18:13.527256", "worker-feedback": [ {"comment": "The mask on the leftmost building is assigned the wrong side of the road."}, {"comment": "The curb of the road is not labeled but the instructions say otherwise."} ] } }

신뢰도는 이미지별 기반으로 측정됩니다. 신뢰도 점수는 이미지 내 모든 클래스에서 동일합니다.

의미 체계 분할 조정 작업의 출력은 다음 JSON과 유사합니다.

{ "source-ref": "s3://AWSDOC-EXAMPLE-BUCKET/example_city_image.png", "city-streets-ref": "S3 bucket location", "city-streets-ref-metadata": { "internal-color-map": { "0": { "class-name": "BACKGROUND", "confidence": 0.9, "hex-color": "#ffffff" }, "1": { "class-name": "buildings", "confidence": 0.9, "hex-color": "#2acf59" }, "2": { "class-name": "road", "confidence": 0.9, "hex-color": "#f28333" } }, "type": "groundtruth/semantic-segmentation", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "label-city-streets", }, "adjusted-city-streets-ref": "s3://AWSDOC-EXAMPLE-BUCKET/example_city_image.png", "adjusted-city-streets-ref-metadata": { "internal-color-map": { "0": { "class-name": "BACKGROUND", "confidence": 0.9, "hex-color": "#ffffff" }, "1": { "class-name": "buildings", "confidence": 0.9, "hex-color": "#2acf59" }, "2": { "class-name": "road", "confidence": 0.9, "hex-color": "#f28333" } }, "type": "groundtruth/semantic-segmentation", "human-annotated": "yes", "creation-date": "2018-11-20T22:18:13.527256", "job-name": "adjust-label-city-streets", } }

비디오 프레임 객체 감지 출력

다음은 비디오 프레임 객체 감지 레이블링 작업의 출력 매니페스트 파일입니다. 아래 예에서 빨간색 기울임꼴로 표시된 텍스트는 레이블 지정 작업 사양 및 출력 데이터에 따라 다릅니다.

표준 요소 외에도 메타데이터에는 시퀀스에 하나 이상의 레이블이 있는 각 클래스를 나열하는 클래스 맵이 포함됩니다. 메타데이터에는 레이블 지정 작업에 할당한 이름도 포함됩니다job-name. 조정 작업의 경우 경계 상자가 하나 이상 수정된 경우 감사 워크플로의 메타데이터에는 로 설정된adjustment-status 매개 변수가adjusted 있습니다.

{ "source-ref": "s3://DOC-EXAMPLE-BUCKET/example-path/input-manifest.json", "CarObjectDetection-ref": "s3://AWSDOC-EXAMPLE-BUCKET/output/labeling-job-name/annotations/consolidated-annotation/output/0/SeqLabel.json", "CarObjectDetection-ref-metadata": { "class-map": { "0": "car", "1": "bus" }, "job-name": "labeling-job/labeling-job-name", "human-annotated": "yes", "creation-date": "2021-09-29T05:50:35.566000", "type": "groundtruth/video-object-detection" } }

Ground Truth는 레이블이 지정된 비디오 프레임의 각 시퀀스에 대해 하나의 출력 시퀀스 파일을 만듭니다. 각 출력 시퀀스 파일에는 다음 항목이 포함되어 있습니다.

  • JSON 객체detection-annotations 목록의 시퀀스에 있는 모든 프레임에 대한 모든 주석.

  • 워커가 주석을 추가한 각 프레임에 대해 프레임 파일 이름 (frame), 번호 (frame-no), 주석이 포함된 JSON 객체 목록 (annotations) 및 해당하는 경우frame-attributes 이 목록의 이름은 사용하는 작업 유형 (polylines,polygonskeypoints, 및 경계 상자의 경우) 으로annotations 정의됩니다.

    각 JSON 객체에는 단일 주석 및 관련 레이블에 대한 정보가 포함되어 있습니다. 다음 표에는 각 비디오 프레임 작업 유형에 표시되는 매개 변수가 요약되어 있습니다.

    태스크 유형 파라미터

    Bounding Box

    박스 크기:heightwidth

    박스 상단, 왼쪽 모서리 픽셀 위치:topleft

    키포인트

    키포인트 버텍스:{ "x": int, "y": int }

    다각형

    다각형 꼭짓점 목록:vertices

    다각형 꼭지점:{ "x": int, "y": int }

    다각형은 닫힌 모양이므로 첫 번째 점은 마지막 점이기도 합니다.

    Polyline

    폴리라인 정점 목록:vertices

    폴리라인 정점:{ "x": int, "y": int }

    작업 유형별 값 외에도 각 JSON 객체에는 다음이 표시됩니다.

    • label-category-attributes해당 레이블에 지정된 모든 값입니다.

    • class-id박스의 모습. 출력 매니페스트 파일에서 를 사용하여 이 ID가 어느 레이블 범주에 매핑되는지 확인할 수 있습니다.class-map

다음은 바운딩 박스 비디오 프레임 객체 감지 레이블 지정 작업의SeqLabel.json 파일 예제입니다. 이 파일은 아래에 있습니다.s3://your-output-bucket/output-prefix/annotations/consolidated-annotation/output/annotation-number/

{ "detection-annotations": [ { "annotations": [ { "height": 41, "width": 53, "top": 152, "left": 339, "class-id": "1", "label-category-attributes": { "occluded": "no", "size": "medium" } }, { "height": 24, "width": 37, "top": 148, "left": 183, "class-id": "0", "label-category-attributes": { "occluded": "no", } } ], "frame-no": 0, "frame": "frame_0000.jpeg", "frame-attributes": {name: value, name: value} }, { "annotations": [ { "height": 41, "width": 53, "top": 152, "left": 341, "class-id": "0", "label-category-attributes": {} }, { "height": 24, "width": 37, "top": 141, "left": 177, "class-id": "0", "label-category-attributes": { "occluded": "no", } } ], "frame-no": 1, "frame": "frame_0001.jpeg", "frame-attributes": {name: value, name: value} } ] }

비디오 프레임 객체 추적 출력

다음은 비디오 프레임 객체 추적 레이블 지정 작업의 출력 매니페스트 파일입니다. 아래 예에서 빨간색 기울임꼴로 표시된 텍스트는 레이블 지정 작업 사양 및 출력 데이터에 따라 다릅니다.

메타데이터에는 표준 요소 외에도 프레임 시퀀스에서 하나 이상의 레이블이 있는 각 클래스를 나열하는 클래스 맵이 포함됩니다. 메타데이터에는 레이블 지정 작업에 할당한 이름도 포함됩니다job-name. 조정 작업의 경우 경계 상자가 하나 이상 수정된 경우 감사 워크플로의 메타데이터에는 로 설정된adjustment-status 매개 변수가adjusted 있습니다.

{ "source-ref": "s3://DOC-EXAMPLE-BUCKET/example-path/input-manifest.json", "CarObjectTracking-ref": "s3://AWSDOC-EXAMPLE-BUCKET/output/labeling-job-name/annotations/consolidated-annotation/output/0/SeqLabel.json", "CarObjectTracking-ref-metadata": { "class-map": { "0": "car", "1": "bus" }, "job-name": "labeling-job/labeling-job-name", "human-annotated": "yes", "creation-date": "2021-09-29T05:50:35.566000", "type": "groundtruth/video-object-tracking" } }

Ground Truth는 레이블이 지정된 비디오 프레임의 각 시퀀스에 대해 하나의 출력 시퀀스 파일을 만듭니다. 각 출력 시퀀스 파일에는 다음 항목이 포함되어 있습니다.

  • JSON 객체tracking-annotations 목록의 시퀀스에 있는 모든 프레임에 대한 모든 주석.

  • 워커가 주석을 추가한 각 프레임에는 프레임 (frame), 숫자 (frame-no), 주석이 포함된 JSON 객체 목록 (annotations) 및 해당하는 경우 프레임 속성 (frame-attributes) 이 포함됩니다. 이 목록의 이름은 사용하는 작업 유형 (polylines,polygonskeypoints, 및 경계 상자의 경우) 으로annotations 정의됩니다.

    각 JSON 객체에는 단일 주석 및 관련 레이블에 대한 정보가 포함되어 있습니다. 다음 표에는 각 비디오 프레임 작업 유형에 표시되는 매개 변수가 요약되어 있습니다.

    태스크 유형 파라미터

    Bounding Box

    박스 크기:heightwidth

    박스 상단, 왼쪽 모서리 픽셀 위치:topleft

    키포인트

    키포인트 버텍스:{ "x": int, "y": int }

    다각형

    다각형 꼭짓점 목록:vertices

    다각형 꼭지점:{ "x": int, "y": int }

    다각형은 닫힌 모양이므로 첫 번째 점은 마지막 점이기도 합니다.

    Polyline

    폴리라인 정점 목록:vertices

    폴리라인 정점:{ "x": int, "y": int }

    작업 유형별 값 외에도 각 JSON 객체에는 다음이 표시됩니다.

    • label-category-attributes해당 레이블에 지정된 모든 값입니다.

    • class-id박스의 모습. 출력 매니페스트 파일에서 를 사용하여 이 ID가 어느 레이블 범주에 매핑되는지 확인할 수 있습니다.class-map

    • 레이블의 인스턴스를object-id 식별하는 기호입니다. 작업자가 여러 프레임에서 동일한 객체 인스턴스를 식별한 경우 이 ID는 여러 프레임에서 동일합니다. 예를 들어 자동차가 여러 프레임에 나타나는 경우 해당 자동차를 식별하는 데 사용하는 모든 바운딩 박스는 동일합니다object-id.

    • object-name이는 해당 주석의 인스턴스 ID입니다.

다음은 바운딩 박스 비디오 프레임 객체 추적 레이블 작업SeqLabel.json 파일의 예입니다. 이 파일은 아래에 있습니다.s3://your-output-bucket/output-prefix/annotations/consolidated-annotation/output/annotation-number/

{ "tracking-annotations": [ { "annotations": [ { "height": 36, "width": 46, "top": 178, "left": 315, "class-id": "0", "label-category-attributes": { "occluded": "no" }, "object-id": "480dc450-c0ca-11ea-961f-a9b1c5c97972", "object-name": "car:1" } ], "frame-no": 0, "frame": "frame_0001.jpeg", "frame-attributes": {} }, { "annotations": [ { "height": 30, "width": 47, "top": 163, "left": 344, "class-id": "1", "label-category-attributes": { "occluded": "no", "size": "medium" }, "object-id": "98f2b0b0-c0ca-11ea-961f-a9b1c5c97972", "object-name": "bus:1" }, { "height": 28, "width": 33, "top": 150, "left": 192, "class-id": "0", "label-category-attributes": { "occluded": "partially" }, "object-id": "480dc450-c0ca-11ea-961f-a9b1c5c97972", "object-name": "car:1" } ], "frame-no": 1, "frame": "frame_0002.jpeg", "frame-attributes": {name: value, name: value} } ] }

3D 포인트 클라우드 시맨틱 분할 출력

다음은 3D 포인트 클라우드 시맨틱 분할 라벨링 작업의 출력 매니페스트 파일입니다.

레이블의 메타데이터에는 표준 요소 외에도 이미지에 레이블을 지정하는 데 사용되는 색상, 색상과 관련된 클래스 이름 및 각 색상에 대한 신뢰도 점수를 정의하는 색상 맵이 포함됩니다. 또한 감사 워크플로의 메타데이터에는 색상 마스크가 수정될adjusted 경우 설정되는adjustment-status 매개 변수가 있습니다. 레이블 범주 구성 파일에 하나 이상을frameAttributes 추가한 경우 프레임 속성에 대한 작업자 응답은 JSON 객체에dataset-object-attributes 있습니다.

your-label-attribute-ref 파라미터에는 확장자가 .zlib인 압축 파일의 위치가 포함되어 있습니다. 이 파일의 압축을 풀면 파일에 배열이 포함됩니다. 배열의 각 인덱스는 입력 포인트 클라우드에 있는 주석이 달린 포인트의 인덱스에 해당합니다. 지정된 인덱스의 배열 값은 의color-map 매개 변수에 있는 시맨틱 색상 맵을 기반으로 포인트 클라우드의 동일한 인덱스에 있는 포인트의 클래스를 제공합니다metadata.

다음과 유사한 Python 코드를 사용하여.zlib 파일의 압축을 풀 수 있습니다.

import zlib from array import array # read the label file compressed_binary_file = open(zlib_file_path/file.zlib, 'rb').read() # uncompress the label file binary_content = zlib.decompress(compressed_binary_file) # load labels to an array my_int_array_data = array('B', binary_content); print(my_int_array_data)

위 코드 블록은 다음과 비슷한 출력을 생성합니다. 인쇄된 배열의 각 요소에는 포인트 클라우드의 해당 인덱스에 있는 점의 클래스가 포함됩니다. 예를 들어, 입력 포인트point[0] 클라우드의my_int_array_data[0] = 1 평균에는 클래스가1 있습니다. 다음 출력 매니페스트 파일 예제에서 클래스는 와"Background"Car2,1 with0 에 대응합니다Pedestrian.

>> array('B', [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])

다음은 시맨틱 분할 3D 포인트 클라우드 라벨링 작업 출력 매니페스트 파일의 예입니다. 아래 예에서 빨간색 기울임꼴로 표시된 텍스트는 레이블 지정 작업 사양 및 출력 데이터에 따라 다릅니다.

{ "source-ref": "s3://AWSDOC-EXAMPLE-BUCKET/examplefolder/frame1.bin", "source-ref-metadata":{ "format": "binary/xyzi", "unix-timestamp": 1566861644.759115, "ego-vehicle-pose":{...}, "prefix": "s3://AWSDOC-EXAMPLE-BUCKET/lidar_singleframe_dataset/prefix", "images": [{...}] }, "lidar-ss-label-attribute-ref": "s3://your-output-bucket/labeling-job-name/annotations/consolidated-annotation/output/dataset-object-id/filename.zlib", "lidar-ss-label-attribute-ref-metadata": { 'color-map': { "0": { "class-name": "Background", "hex-color": "#ffffff", "confidence": 0.00 }, "1": { "class-name": "Car", "hex-color": "#2ca02c", "confidence": 0.00 }, "2": { "class-name": "Pedestrian", "hex-color": "#1f77b4", "confidence": 0.00 }, "3": { "class-name": "Tree", "hex-color": "#ff7f0e", "confidence": 0.00 } }, 'type': 'groundtruth/point_cloud_single_frame_semantic_segmentation', 'human-annotated': 'yes', 'creation-date': '2019-11-12T01:18:14.271944', 'job-name': 'labeling-job-name', //only present for adjustment audit workflow "adjustment-status": "adjusted", // "adjusted" means the label was adjusted "dataset-object-attributes": {name: value, name: value} } }

3D 포인트 클라우드 객체 감지 출력

다음은 3D 포인트 클라우드 객체 감지 작업의 출력 샘플입니다. 이 태스크 유형의 경우 3D 입방체에 대한 데이터가 annotations라는 목록의 3d-bounding-box 파라미터에서 반환됩니다. 이 목록에서 각 3D 입방체는 다음 정보를 사용해 설명됩니다.

  • 입력 매니페스트에서 지정하는 각 클래스 또는 레이블 범주는 와 연결됩니다class-id. class-map를 사용하여 각 클래스 ID와 연결된 클래스를 식별합니다.

  • 이러한 클래스는 각 3D 입방체에 <class>:<integer> 형식의 object-name을 제공하는 데 사용됩니다. 여기에서 integer은 프레임에서 해당 입방체를 식별하는 고유 번호입니다.

  • center-xcenter-y, 및center-z 는 라벨링 작업에 사용되는 3D 포인트 클라우드 입력 데이터와 동일한 좌표계에 있는 직육면체 중심의 좌표계입니다.

  • lengthwidth, 및 직육면체의 치수를height 설명하십시오.

  • yaw직육면체의 방향 (방향) 을 라디안 단위로 설명하는 데 사용됩니다.

    참고

    yaw이제 오른손 데카르트 체계에 있습니다. 이 기능은 2022년 9월 2일 19:02:17 UTC에 추가되었으므로 다음을 사용하여 그 이전에 출력 데이터의yaw 측정값을 변환할 수 있습니다 (모든 단위는 라디안 단위).

    old_yaw_in_output = pi - yaw
  • 정의에서 +x는 오른쪽, +y는 전방, +z는 지표면 위쪽입니다. 회전 순서는 x - y - z입니다. roll,pitchyaw 는 오른손 데카르트 시스템으로 표시됩니다. 3D 공간에서roll 는 x축을 따라,pitch 는 y축을 따라, z축을 따라 있습니다.yaw 세 개 모두 시계 반대 방향입니다.

  • 지정된 클래스의 입력 매니페스트 파일에 레이블 속성을 포함시킨 경우 작업자가 레이블 속성을 선택한 모든 직육면체에 대한label-category-attributes 매개변수가 포함됩니다.

하나 이상의 입방체가 수정된 경우, adjusted로 설정된 감사 워크플로의 메타데이터에 adjustment-status 파라미터가 있습니다. 레이블 범주 구성 파일에 하나 이상을frameAttributes 추가한 경우 프레임 속성에 대한 작업자 응답은 JSON 객체에dataset-object-attributes 있습니다.

아래 예에서 빨간색 기울임꼴로 표시된 텍스트는 레이블 지정 작업 사양 및 출력 데이터에 따라 다릅니다. 줄임표(...)는 해당 목록의 연속성을 나타내며, 여기에서는 진행 중인 객체와 동일한 형식을 가진 추가 객체가 나타날 수 있습니다.

{ "source-ref": "s3://AWSDOC-EXAMPLE-BUCKET/examplefolder/frame1.txt", "source-ref-metadata":{ "format": "text/xyzi", "unix-timestamp": 1566861644.759115, "prefix": "s3://AWSDOC-EXAMPLE-BUCKET/lidar_singleframe_dataset/prefix", "ego-vehicle-pose": { "heading": { "qx": -0.02111296123795955, "qy": -0.006495469416730261, "qz": -0.008024565904865688, "qw": 0.9997181192298087 }, "position": { "x": -2.7161461413869947, "y": 116.25822288149078, "z": 1.8348751887989483 } }, "images": [ { "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, "unix-timestamp": 1566861644.759115, "image-path": "images/frame_0_camera_0.jpg", "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" } ] }, "3d-bounding-box": { "annotations": [ { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": -2.616382013657516, "center-y": 125.04149850484193, "center-z": 0.311272296465834, "length": 2.993000265181146, "width": 1.8355260519692056, "height": 1.3233490884304047, "roll": 0, "pitch": 0, "yaw": 1.6479308313703527 }, { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:2", "class-id": 0, "center-x": -5.188984560617168, "center-y": 99.7954483288783, "center-z": 0.2226435567445657, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 1.6243170732068055 } ] }, "3d-bounding-box-metadata": { "objects": [], "class_map": { "0": "Car", }, "type": "groundtruth/point_cloud_object_detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "identify-3d-objects", "adjustment-status": "adjusted", "dataset-object-attributes": {name: value, name: value} } }

3D 포인트 클라우드 객체 추적 출력

다음은 3D 포인트 클라우드 객체 추적 레이블 지정 작업의 출력 매니페스트 파일 예제입니다. 아래 예에서 빨간색 기울임꼴로 표시된 텍스트는 레이블 지정 작업 사양 및 출력 데이터에 따라 다릅니다. 줄임표(...)는 해당 목록의 연속성을 나타내며, 여기에서는 진행 중인 객체와 동일한 형식을 가진 추가 객체가 나타날 수 있습니다.

표준 요소 외에도 메타데이터에는 시퀀스에 하나 이상의 레이블이 있는 각 클래스를 나열하는 클래스 맵이 포함됩니다. 하나 이상의 입방체가 수정된 경우, adjusted로 설정된 감사 워크플로의 메타데이터에 adjustment-status 파라미터가 있습니다.

{ "source-ref": "s3://AWSDOC-EXAMPLE-BUCKET/myfolder/seq1.json", "lidar-label-attribute-ref": "s3://<CustomerOutputLocation>/<labelingJobName>/annotations/consolidated-annotation/output/<datasetObjectId>/SeqLabel.json", "lidar-label-attribute-ref-metadata": { "objects": [ { "frame-no": 300, "confidence": [] }, { "frame-no": 301, "confidence": [] }, ... ], 'class-map': {'0': 'Car', '1': 'Person'}, 'type': 'groundtruth/point_cloud_object_tracking', 'human-annotated': 'yes', 'creation-date': '2019-11-12T01:18:14.271944', 'job-name': 'identify-3d-objects', "adjustment-status": "adjusted" } }

위 예에서 각 프레임의 직육면체 데이터는 Amazon S3 위치에s3://<customerOutputLocation>/<labelingJobName>/annotations/consolidated-annotation/output/<datasetObjectId>/SeqLabel.json 있습니다.seq1.jsonSeqLabel.json 다음은 이 레이블 시퀀스 파일의 예입니다.

시퀀스의 각 프레임에 대해frame-numberframe-name, (해당하는 경우) 및 목록이 표시됩니다annotations.frame-attributes 이 목록에는 해당 프레임용으로 그려진 3D 큐비오드가 포함되어 있습니다. 각 주석에는 다음 정보가 포함되어 있습니다.

  • object-name 레이블<class>:<integer> 범주를class 식별하는 형식의integer A이며 데이터세트 전체의 고유 ID입니다.

  • 작업자가 입방체를 그릴 때 이는 여러 프레임에서 동일한 객체를 식별하는 모든 입방체에 연결되는 고유의 object-id에 연결됩니다.

  • 입력 매니페스트에서 지정한 각 클래스 또는 레이블 범주는 class-id에 연결됩니다. class-map를 사용하여 각 클래스 ID와 연결된 클래스를 식별합니다.

  • center-xcenter-y, 및center-z 는 라벨링 작업에 사용되는 3D 포인트 클라우드 입력 데이터와 동일한 좌표계에 있는 직육면체 중심의 좌표계입니다.

  • lengthwidth, 및 직육면체의 치수를height 설명하십시오.

  • yaw직육면체의 방향 (방향) 을 라디안 단위로 설명하는 데 사용됩니다.

    참고

    yaw이제 오른손 데카르트 체계에 있습니다. 이 기능은 2022년 9월 2일 19:02:17 UTC에 추가되었으므로 다음을 사용하여 그 이전에 출력 데이터의yaw 측정값을 변환할 수 있습니다 (모든 단위는 라디안 단위).

    old_yaw_in_output = pi - yaw
  • 정의에서 +x는 오른쪽, +y는 전방, +z는 지표면 위쪽입니다. 회전 순서는 x - y - z입니다. roll,pitchyaw 는 오른손 데카르트 시스템으로 표시됩니다. 3D 공간에서roll 는 x축을 따라,pitch 는 y축을 따라, z축을 따라 있습니다.yaw 세 개 모두 시계 반대 방향입니다.

  • 지정된 클래스의 입력 매니페스트 파일에 레이블 속성을 포함시킨 경우 작업자가 레이블 속성을 선택한 모든 직육면체에 대한label-category-attributes 매개변수가 포함됩니다.

{ "tracking-annotations": [ { "frame-number": 0, "frame-name": "0.txt.pcd", "frame-attributes": {name: value, name: value}, "annotations": [ { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "center-x": -2.2906369208300674, "center-y": 103.73924823843463, "center-z": 0.37634114027023313, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 1.5827222214406014, "object-id": "ae5dc770-a782-11ea-b57d-67c51a0561a1" }, { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": -2.6451293634707413, "center-y": 124.9534455706848, "center-z": 0.5020834081743839, "length": 4, "width": 2, "height": 2.080488827301309, "roll": 0, "pitch": 0, "yaw": -1.5963335581398077, "object-id": "06efb020-a782-11ea-b57d-67c51a0561a1" }, { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:2", "class-id": 0, "center-x": -5.205611313118477, "center-y": 99.91731932137061, "center-z": 0.22917217081212138, "length": 3.8747142207671956, "width": 1.9999999999999918, "height": 2, "roll": 0, "pitch": 0, "yaw": 1.5672228760316775, "object-id": "26fad020-a782-11ea-b57d-67c51a0561a1" } ] }, { "frame-number": 1, "frame-name": "1.txt.pcd", "frame-attributes": {}, "annotations": [ { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "center-x": -2.2906369208300674, "center-y": 103.73924823843463, "center-z": 0.37634114027023313, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 1.5827222214406014, "object-id": "ae5dc770-a782-11ea-b57d-67c51a0561a1" }, { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": -2.6451293634707413, "center-y": 124.9534455706848, "center-z": 0.5020834081743839, "length": 4, "width": 2, "height": 2.080488827301309, "roll": 0, "pitch": 0, "yaw": -1.5963335581398077, "object-id": "06efb020-a782-11ea-b57d-67c51a0561a1" }, { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:2", "class-id": 0, "center-x": -5.221311072916759, "center-y": 100.4639841045424, "center-z": 0.22917217081212138, "length": 3.8747142207671956, "width": 1.9999999999999918, "height": 2, "roll": 0, "pitch": 0, "yaw": 1.5672228760316775, "object-id": "26fad020-a782-11ea-b57d-67c51a0561a1" } ] } ] }

3D-2D 객체 추적 포인트 클라우드 객체 추적 출력

다음은 3D 포인트 클라우드 객체 추적 레이블 지정 작업의 출력 매니페스트 파일 예제입니다. 아래 예에서 빨간색 기울임꼴로 표시된 텍스트는 레이블 지정 작업 사양 및 출력 데이터에 따라 다릅니다. 줄임표(...)는 해당 목록의 연속성을 나타내며, 여기에서는 진행 중인 객체와 동일한 형식을 가진 추가 객체가 나타날 수 있습니다.

표준 요소 외에도 메타데이터에는 시퀀스에 하나 이상의 레이블이 있는 각 클래스를 나열하는 클래스 맵이 포함됩니다. 하나 이상의 입방체가 수정된 경우, adjusted로 설정된 감사 워크플로의 메타데이터에 adjustment-status 파라미터가 있습니다.

{ "source-ref": "s3://iad-groundtruth-lidar-test-bucket/artifacts/gt-point-cloud-demos/sequences/seq2.json", "source-ref-metadata": { "json-paths": [ "number-of-frames", "prefix", "frames{frame-no, frame}" ] }, "3D2D-linking-ref": "s3://iad-groundtruth-lidar-test-bucket/xyz/3D2D-linking/annotations/consolidated-annotation/output/0/SeqLabel.json", "3D2D-linking-ref-metadata": { "objects": [ { "frame-no": 0, "confidence": [] }, { "frame-no": 1, "confidence": [] }, { "frame-no": 2, "confidence": [] }, { "frame-no": 3, "confidence": [] }, { "frame-no": 4, "confidence": [] }, { "frame-no": 5, "confidence": [] }, { "frame-no": 6, "confidence": [] }, { "frame-no": 7, "confidence": [] }, { "frame-no": 8, "confidence": [] }, { "frame-no": 9, "confidence": [] } ], "class-map": { "0": "Car" }, "type": "groundtruth/point_cloud_object_tracking", "human-annotated": "yes", "creation-date": "2023-01-19T02:55:10.206508", "job-name": "mcm-linking" }, "3D2D-linking-chain-ref": "s3://iad-groundtruth-lidar-test-bucket/xyz/3D2D-linking-chain/annotations/consolidated-annotation/output/0/SeqLabel.json", "3D2D-linking-chain-ref-metadata": { "objects": [ { "frame-no": 0, "confidence": [] }, { "frame-no": 1, "confidence": [] }, { "frame-no": 2, "confidence": [] }, { "frame-no": 3, "confidence": [] }, { "frame-no": 4, "confidence": [] }, { "frame-no": 5, "confidence": [] }, { "frame-no": 6, "confidence": [] }, { "frame-no": 7, "confidence": [] }, { "frame-no": 8, "confidence": [] }, { "frame-no": 9, "confidence": [] } ], "class-map": { "0": "Car" }, "type": "groundtruth/point_cloud_object_tracking", "human-annotated": "yes", "creation-date": "2023-01-19T03:29:49.149935", "job-name": "3d2d-linking-chain" } }

위 예에서 각 프레임의 직육면체 데이터는 Amazon S3 위치에s3://<customerOutputLocation>/<labelingJobName>/annotations/consolidated-annotation/output/<datasetObjectId>/SeqLabel.json 있습니다.seq2.jsonSeqLabel.json 다음은 이 레이블 시퀀스 파일의 예입니다.

시퀀스의 각 프레임에 대해frame-numberframe-name, (해당하는 경우) 및 목록이 표시됩니다annotations.frame-attributes 이 목록에는 해당 프레임용으로 그려진 3D 큐비오드가 포함되어 있습니다. 각 주석에는 다음 정보가 포함되어 있습니다.

  • object-name 레이블<class>:<integer> 범주를class 식별하는 형식의integer A이며 데이터세트 전체의 고유 ID입니다.

  • 작업자가 입방체를 그릴 때 이는 여러 프레임에서 동일한 객체를 식별하는 모든 입방체에 연결되는 고유의 object-id에 연결됩니다.

  • 입력 매니페스트에서 지정한 각 클래스 또는 레이블 범주는 class-id에 연결됩니다. class-map를 사용하여 각 클래스 ID와 연결된 클래스를 식별합니다.

  • center-xcenter-y, 및center-z 는 라벨링 작업에 사용되는 3D 포인트 클라우드 입력 데이터와 동일한 좌표계에 있는 직육면체 중심의 좌표계입니다.

  • lengthwidth, 및 직육면체의 치수를height 설명하십시오.

  • yaw직육면체의 방향 (방향) 을 라디안 단위로 설명하는 데 사용됩니다.

    참고

    yaw이제 오른손 데카르트 체계에 있습니다. 이 기능은 2022년 9월 2일 19:02:17 UTC에 추가되었으므로 다음을 사용하여 그 이전에 출력 데이터의yaw 측정값을 변환할 수 있습니다 (모든 단위는 라디안 단위).

    old_yaw_in_output = pi - yaw
  • 정의에서 +x는 오른쪽, +y는 전방, +z는 지표면 위쪽입니다. 회전 순서는 x - y - z입니다. roll,pitchyaw 는 오른손 데카르트 시스템으로 표시됩니다. 3D 공간에서roll 는 x축을 따라,pitch 는 y축을 따라, z축을 따라 있습니다.yaw 세 개 모두 시계 반대 방향입니다.

  • 지정된 클래스의 입력 매니페스트 파일에 레이블 속성을 포함시킨 경우 작업자가 레이블 속성을 선택한 모든 직육면체에 대한label-category-attributes 매개변수가 포함됩니다.

{ "lidar": { "tracking-annotations": [ { "frame-number": 0, "frame-name": "0.txt.pcd", "annotations": [ { "label-category-attributes": { "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": 12.172361721602815, "center-y": 120.23067521992364, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "505b39e0-97a4-11ed-8903-dd5b8b903715" }, { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "center-x": 17.192725195301094, "center-y": 114.55705365827872, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16" } ], "frame-attributes": {} }, { "frame-number": 1, "frame-name": "1.txt.pcd", "annotations": [ { "label-category-attributes": { "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": -1.6841480600695489, "center-y": 126.20198882749516, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "505b39e0-97a4-11ed-8903-dd5b8b903715" }, { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "center-x": 17.192725195301094, "center-y": 114.55705365827872, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16" } ], "frame-attributes": {} }, { "frame-number": 2, "frame-name": "2.txt.pcd", "annotations": [ { "label-category-attributes": { "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": -1.6841480600695489, "center-y": 126.20198882749516, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "505b39e0-97a4-11ed-8903-dd5b8b903715" }, { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "center-x": 17.192725195301094, "center-y": 114.55705365827872, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16" } ], "frame-attributes": {} } ] }, "camera-0": { "tracking-annotations": [ { "frame-no": 0, "frame": "0.txt.pcd", "annotations": [ { "label-category-attributes": { "Occlusion": "Partial" }, "object-name": "Car:2", "class-id": 0, "width": 223, "height": 164, "top": 225, "left": 486, "object-id": "5229df60-97a4-11ed-8903-dd5b8b903715" } ], "frame-attributes": {} }, { "frame-no": 1, "frame": "1.txt.pcd", "annotations": [ { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "width": 252, "height": 246, "top": 237, "left": 473, "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16" } ], "frame-attributes": {} } ] } }

객체의 직육면체와 경계 상자는 공통 object-id를 통해 연결됩니다.