

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Klasifikasi objek gambar menggunakan kotak pembatas
<a name="sms-bounding-box"></a>

**catatan**  
Amazon SageMaker Ground Truth tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan seperti biasa. AWS terus berinvestasi dalam peningkatan keamanan dan ketersediaan untuk Ground Truth, tetapi kami tidak berencana untuk memperkenalkan fitur baru.

Gambar yang digunakan untuk melatih model pembelajaran mesin sering mengandung lebih dari satu objek. Untuk mengklasifikasikan dan melokalisasi satu atau lebih objek dalam gambar, gunakan jenis tugas pekerjaan pelabelan kotak pembatas Amazon G SageMaker round Truth. Dalam konteks ini, lokalisasi berarti lokasi piksel dari kotak pembatas. Anda membuat pekerjaan pelabelan kotak pembatas menggunakan bagian Ground Truth dari konsol Amazon SageMaker AI atau [`CreateLabelingJob`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) operasi.

**penting**  
Untuk jenis tugas ini, jika Anda membuat file manifes sendiri, gunakan `"source-ref"` untuk mengidentifikasi lokasi setiap file gambar di Amazon S3 yang ingin Anda beri label. Untuk informasi selengkapnya, lihat [Data input](sms-data-input.md).

## Membuat Pekerjaan Pelabelan Kotak Pembatas (Konsol)
<a name="sms-creating-bounding-box-labeling-job-console"></a>

Anda dapat mengikuti petunjuk [Membuat Pekerjaan Pelabelan (Konsol)](sms-create-labeling-job-console.md) untuk mempelajari cara membuat pekerjaan pelabelan kotak pembatas di konsol SageMaker AI. Di Langkah 10, pilih ** Gambar ** dari menu tar ** ik- ** turun kategori Tugas, dan pilih Ko ** tak Bounding ** sebagai jenis tugas. 

Ground Truth menyediakan UI pekerja yang mirip dengan berikut untuk tugas pelabelan. Saat membuat pekerjaan pelabelan dengan konsol, Anda menentukan instruksi untuk membantu pekerja menyelesaikan pekerjaan dan hingga 50 label yang dapat dipilih pekerja. 

![Gif menunjukkan cara menggambar kotak di sekitar objek untuk kategori.](https://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/sms/gifs/bb-sample.gif)


## Membuat Pekerjaan Pelabelan Kotak Pembatas (API)
<a name="sms-creating-bounding-box-labeling-job-api"></a>

Untuk membuat pekerjaan pelabelan kotak pembatas, gunakan operasi SageMaker `CreateLabelingJob` API. API ini mendefinisikan operasi ini untuk semua AWS SDK. Untuk melihat daftar SDK khusus bahasa yang didukung untuk operasi ini, tinjau bagian ** Lihat Juga ** dari. [`CreateLabelingJob`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)

Ikuti petunjuk [Membuat Pekerjaan Pelabelan (API)](sms-create-labeling-job-api.md) dan lakukan hal berikut saat Anda mengonfigurasi permintaan Anda: 
+ Pre-annotation Fungsi lambda untuk jenis tugas ini diakhiri dengan`PRE-BoundingBox`. Untuk menemukan pra-anotasi Lambda ARN untuk Wilayah Anda, lihat. [ PreHumanTaskLambdaArn ](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn) 
+ Annotation-consolidation Fungsi lambda untuk jenis tugas ini diakhiri dengan`ACS-BoundingBox`. Untuk menemukan lambda ARN konsolidasi anotasi untuk Wilayah Anda, lihat. [ AnnotationConsolidationLambdaArn ](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn) 

Berikut ini adalah contoh permintaan [AWS Python SDK (Boto3) ](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) untuk membuat pekerjaan pelabelan di Wilayah AS Timur (Virginia Utara). Semua parameter berwarna merah harus diganti dengan spesifikasi dan sumber daya Anda. 

```
response = client.create_labeling_job(
    LabelingJobName={{'example-bounding-box-labeling-job}},
    LabelAttributeName={{'label'}},
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': {{'s3://bucket/path/manifest-with-input-data.json'}}
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                {{'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent'}},
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': {{'s3://bucket/path/file-to-store-output-data'}},
        'KmsKeyId': {{'string'}}
    },
    RoleArn={{'arn:aws:iam::*:role/*}},
    LabelCategoryConfigS3Uri={{'s3://bucket/path/label-categories.json'}},
    StoppingConditions={
        'MaxHumanLabeledObjectCount': {{123}},
        'MaxPercentageOfInputDatasetLabeled': {{123}}
    },
    HumanTaskConfig={
        'WorkteamArn': {{'arn:aws:sagemaker:region:*:workteam/private-crowd/*'}},
        'UiConfig': {
            'UiTemplateS3Uri': {{'s3://bucket/path/worker-task-template.html'}}
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:{{us-east-1:432418664414}}:function:PRE-BoundingBox',
        'TaskKeywords': [
            {{'Bounding Box'}},
        ],
        'TaskTitle': {{'Bounding Box task'}},
        'TaskDescription': {{'Draw bounding boxes around objects in an image'}},
        'NumberOfHumanWorkersPerDataObject': {{123}},
        'TaskTimeLimitInSeconds': {{123}},
        'TaskAvailabilityLifetimeInSeconds': {{123}},
        'MaxConcurrentTaskCount': {{123}},
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:{{us-east-1:432418664414}}:function:ACS-BoundingBox'
          }
        },
    Tags=[
        {
            'Key': {{'string'}},
            'Value': {{'string'
}}        },
    ]
)
```

### Menyediakan Template untuk Pekerjaan Pelabelan Kotak Pembatas
<a name="sms-create-labeling-job-bounding-box-api-template"></a>

Jika Anda membuat pekerjaan pelabelan menggunakan API, Anda harus menyediakan template tugas pekerja di`UiTemplateS3Uri`. Salin dan modifikasi template berikut. Hanya memodifikasi [`short-instructions`](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-quick-instructions), [`full-instructions`](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-creating-instruction-pages.html#sms-creating-full-instructions), dan`header`. Unggah template ini ke S3, dan berikan URI S3 untuk file ini di`UiTemplateS3Uri`.

```
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script>
<crowd-form>
  <crowd-bounding-box
    name="boundingBox"
    src="{{ task.input.taskObject | grant_read_access }}"
    header="please draw box"
    labels="{{ task.input.labels | to_json | escape }}"
  >

    <full-instructions header="Bounding box instructions">
      <ol><li><strong>Inspect</strong> the image</li><li><strong>Determine</strong> 
      if the specified label is/are visible in the picture.</li>
      <li><strong>Outline</strong> each instance of the specified label in the image using the provided “Box” tool.</li></ol>
      <ul><li>Boxes should fit tight around each object</li>
      <li>Do not include parts of the object are overlapping or that cannot be seen, even though you think you can interpolate the whole shape.</li>
      <li>Avoid including shadows.</li>
      <li>If the target is off screen, draw the box up to the edge of the image.</li>    
    </full-instructions>
  
    <short-instructions>
      <h3><span style="color: rgb(0, 138, 0);">Good example</span></h3>
      <p>Enter description of a correct bounding box label and add images</p>
      <h3><span style="color: rgb(230, 0, 0);">Bad example</span></h3>
      <p>Enter description of an incorrect bounding box label and add images</p>
    </short-instructions>
  
  </crowd-bounding-box>
</crowd-form>
```

## Data Output Kotak Pembatas
<a name="sms-bounding-box-output-data"></a>

Setelah Anda membuat pekerjaan pelabelan kotak pembatas, data keluaran Anda akan ditempatkan di bucket Amazon S3 yang ditentukan dalam `S3OutputPath` parameter saat menggunakan API atau di ** bidang Lokasi kumpulan data ** keluaran di ** bagian Ikh ** tisar pekerjaan di konsol. 

Misalnya, file manifes keluaran dari tugas kotak pembatas kelas tunggal yang berhasil diselesaikan akan berisi yang berikut: 

```
[
  {
    "boundingBox": {
      "boundingBoxes": [
        {
          "height": 2832,
          "label": "bird",
          "left": 681,
          "top": 599,
          "width": 1364
        }
      ],
      "inputImageProperties": {
        "height": 3726,
        "width": 2662
      }
    }
  }
]
```

`boundingBoxes`Parameter mengidentifikasi lokasi kotak pembatas yang digambar di sekitar objek yang diidentifikasi sebagai “burung” relatif terhadap sudut kiri atas gambar yang dianggap sebagai koordinat piksel (0,0). Dalam contoh sebelumnya, ** `left` ** dan ** `top` ** mengidentifikasi lokasi piksel di sudut kiri atas kotak pembatas relatif terhadap sudut kiri atas gambar. Dimensi kotak pembatas diidentifikasi dengan ** `height` ** dan ** `width`**. `inputImageProperties`Parameter memberikan dimensi piksel dari gambar input asli.

Saat Anda menggunakan jenis tugas kotak pembatas, Anda dapat membuat pekerjaan pelabelan kotak pembatas tunggal dan multi-kelas. File manifes keluaran dari kotak pembatas multi-kelas yang berhasil diselesaikan akan berisi yang berikut: 

```
[
  {
    "boundingBox": {
      "boundingBoxes": [
        {
          "height": 938,
          "label": "squirrel",
          "left": 316,
          "top": 218,
          "width": 785
        },
        {
          "height": 825,
          "label": "rabbit",
          "left": 1930,
          "top": 2265,
          "width": 540
        },
        {
          "height": 1174,
          "label": "bird",
          "left": 748,
          "top": 2113,
          "width": 927
        },
        {
          "height": 893,
          "label": "bird",
          "left": 1333,
          "top": 847,
          "width": 736
        }
      ],
      "inputImageProperties": {
        "height": 3726,
        "width": 2662
      }
    }
  }
]
```

Untuk mempelajari lebih lanjut tentang file manifes keluaran yang dihasilkan dari pekerjaan pelabelan kotak pembatas, lihat[Output pekerjaan kotak pembatas](sms-data-output.md#sms-output-box).

Untuk mempelajari lebih lanjut tentang file manifes keluaran yang dihasilkan oleh Ground Truth dan struktur file yang digunakan Ground Truth untuk menyimpan data keluaran Anda, lihat[Pelabelan data keluaran pekerjaan](sms-data-output.md). 