

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

# Deteksi Objek - MXNet
<a name="object-detection"></a>

Deteksi Objek Amazon SageMaker AI - MXNet algoritma mendeteksi dan mengklasifikasikan objek dalam gambar menggunakan jaringan saraf dalam tunggal. Ini adalah algoritma pembelajaran yang diawasi yang mengambil gambar sebagai input dan mengidentifikasi semua contoh objek dalam adegan gambar. Objek dikategorikan ke dalam salah satu kelas dalam koleksi tertentu dengan skor kepercayaan bahwa itu milik kelas. Lokasi dan skalanya pada gambar ditunjukkan oleh kotak pembatas persegi panjang. Ini menggunakan kerangka kerja [Single Shot multibox Detector (SSD)](https://arxiv.org/pdf/1512.02325.pdf) dan mendukung dua jaringan dasar: [VGG](https://arxiv.org/pdf/1409.1556.pdf) dan. [ResNet](https://arxiv.org/pdf/1603.05027.pdf) Jaringan dapat dilatih dari awal, atau dilatih dengan model yang telah dilatih sebelumnya pada [ImageNet](http://www.image-net.org/)dataset.

**Topics**
+ [Antarmuka Input/Output untuk Algoritma Deteksi Objek](#object-detection-inputoutput)
+ [Rekomendasi Instans EC2 untuk Algoritma Deteksi Objek](#object-detection-instances)
+ [Notebook Contoh Deteksi Objek](#object-detection-sample-notebooks)
+ [Bagaimana Deteksi Objek Bekerja](algo-object-detection-tech-notes.md)
+ [Hiperparameter Deteksi Objek](object-detection-api-config.md)
+ [Menyetel Model Deteksi Objek](object-detection-tuning.md)
+ [Permintaan Deteksi Objek dan Format Respons](object-detection-in-formats.md)

## Antarmuka Input/Output untuk Algoritma Deteksi Objek
<a name="object-detection-inputoutput"></a>

Algoritma Deteksi Objek SageMaker AI mendukung jenis konten RecorDio (`application/x-recordio`) dan image (`image/png``image/jpeg`,, dan`application/x-image`) untuk pelatihan dalam mode file dan mendukung RecorDio (`application/x-recordio`) untuk pelatihan dalam mode pipa. Namun Anda juga dapat berlatih dalam mode pipa menggunakan file gambar (`image/png`,, dan`application/x-image`)`image/jpeg`, tanpa membuat file RecorDo, dengan menggunakan format manifes yang diperbesar. Format input yang direkomendasikan untuk algoritma deteksi objek Amazon SageMaker AI adalah [Apache MXNet RecorDio](https://mxnet.apache.org/api/architecture/note_data_loading). Namun, Anda juga dapat menggunakan gambar mentah dalam format.jpg atau .png. Algoritma hanya mendukung `application/x-image` inferensi.

**catatan**  
Untuk mempertahankan interoperabilitas yang lebih baik dengan kerangka kerja pembelajaran mendalam yang ada, ini berbeda dari format data protobuf yang biasa digunakan oleh algoritme AI Amazon lainnya. SageMaker 

Lihat [Notebook Contoh Deteksi Objek](#object-detection-sample-notebooks) untuk detail selengkapnya tentang format data.

### Berlatih dengan Format RecorDio
<a name="object-detection-recordio-training"></a>

Jika Anda menggunakan format RecorDo untuk pelatihan, tentukan saluran kereta dan validasi sebagai nilai untuk `InputDataConfig` parameter permintaan. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) Tentukan satu file RecorDo (.rec) di saluran kereta dan satu file Recordio di saluran validasi. Atur jenis konten untuk kedua saluran`application/x-recordio`. Contoh cara menghasilkan file RecorDo dapat ditemukan di notebook sampel deteksi objek. Anda juga dapat menggunakan alat dari [GluonCV](https://gluon-cv.mxnet.io/build/examples_datasets/recordio.html) untuk menghasilkan file Recordio untuk kumpulan data populer seperti [PASCAL Visual Object Classes dan [Common](http://cocodataset.org/#home) Objects](http://host.robots.ox.ac.uk/pascal/VOC/) in Context (COCO). MXNet

### Berlatih dengan Format Gambar
<a name="object-detection-image-training"></a>

Jika Anda menggunakan format gambar untuk pelatihan, tentukan `train``validation`,`train_annotation`,, dan `validation_annotation` saluran sebagai nilai untuk `InputDataConfig` parameter [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)permintaan. Tentukan file data gambar individu (.jpg atau.png) untuk saluran kereta dan validasi. Untuk data anotasi, Anda dapat menggunakan format JSON. Tentukan file.json yang sesuai di saluran `train_annotation` dan`validation_annotation`. Atur jenis konten untuk keempat saluran ke `image/png` atau `image/jpeg` berdasarkan jenis gambar. Anda juga dapat menggunakan jenis konten `application/x-image` ketika dataset Anda berisi gambar.jpg dan .png. Berikut ini adalah contoh dari file.json.

```
{
   "file": "your_image_directory/sample_image1.jpg",
   "image_size": [
      {
         "width": 500,
         "height": 400,
         "depth": 3
      }
   ],
   "annotations": [
      {
         "class_id": 0,
         "left": 111,
         "top": 134,
         "width": 61,
         "height": 128
      },
      {
         "class_id": 0,
         "left": 161,
         "top": 250,
         "width": 79,
         "height": 143
      },
      {
         "class_id": 1,
         "left": 101,
         "top": 185,
         "width": 42,
         "height": 130
      }
   ],
   "categories": [
      {
         "class_id": 0,
         "name": "dog"
      },
      {
         "class_id": 1,
         "name": "cat"
      }
   ]
}
```

Setiap gambar membutuhkan file.json untuk anotasi, dan file.json harus memiliki nama yang sama dengan gambar yang sesuai. Nama file.json di atas harus “sample\$1image1.json”. Ada empat properti dalam file anotasi.json. Properti “file” menentukan path relatif dari file gambar. Misalnya, jika gambar pelatihan Anda dan file.json yang sesuai disimpan di s3://*your\$1bucket*/train/sample\$1image dan s3:///train\$1annotation, tentukan jalur untuk saluran train dan train\$1annotation Anda sebagai s3:*your\$1bucket*///train dan s3:///train\$1annotation, masing-masing. *your\$1bucket* *your\$1bucket* 

Dalam file.json, jalur relatif untuk gambar bernama sample\$1image1.jpg harus sample\$1image/sample\$1image1.jpg. `"image_size"`Properti menentukan dimensi gambar keseluruhan. Algoritma deteksi objek SageMaker AI saat ini hanya mendukung gambar 3 saluran. `"annotations"`Properti menentukan kategori dan kotak pembatas untuk objek dalam gambar. Setiap objek dianotasi oleh `"class_id"` indeks dan oleh empat koordinat kotak pembatas (`"left"`,,,`"top"`). `"width"` `"height"` Nilai `"left"` (koordinat x) dan `"top"` (koordinat y) mewakili sudut kiri atas kotak pembatas. Nilai `"width"` (koordinat x) dan `"height"` (koordinat y) mewakili dimensi kotak pembatas. Asal (0, 0) adalah sudut kiri atas dari seluruh gambar. Jika Anda memiliki beberapa objek dalam satu gambar, semua anotasi harus disertakan dalam satu file.json. `"categories"`Properti menyimpan pemetaan antara indeks kelas dan nama kelas. Indeks kelas harus diberi nomor berturut-turut dan penomoran harus dimulai dengan 0. `"categories"`Properti ini opsional untuk file anotasi.json

### Berlatih dengan Augmented Manifest Image Format
<a name="object-detection-augmented-manifest-training"></a>

Format manifes yang diperbesar memungkinkan Anda melakukan pelatihan dalam mode pipa menggunakan file gambar tanpa perlu membuat file RecorDo. Anda perlu menentukan saluran kereta dan validasi sebagai nilai untuk `InputDataConfig` parameter [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)permintaan. Saat menggunakan format, file manifes S3 perlu dibuat yang berisi daftar gambar dan anotasi yang sesuai. Format file manifes harus dalam format [JSON Lines](http://jsonlines.org/) di mana setiap baris mewakili satu sampel. Gambar ditentukan menggunakan `'source-ref'` tag yang menunjuk ke lokasi S3 gambar. Anotasi disediakan di bawah nilai `"AttributeNames"` parameter seperti yang ditentukan dalam [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)permintaan. Ini juga dapat berisi metadata tambahan di bawah `metadata` tag, tetapi ini diabaikan oleh algoritma. Dalam contoh berikut, `"AttributeNames` yang terkandung dalam daftar`["source-ref", "bounding-box"]`:

```
{"source-ref": "s3://your_bucket/image1.jpg", "bounding-box":{"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": 80, "height": 50}]}, "bounding-box-metadata":{"class-map":{"0": "dog", "5": "horse"}, "type": "groundtruth/object-detection"}}
{"source-ref": "s3://your_bucket/image2.jpg", "bounding-box":{"image_size":[{ "width": 400, "height": 300, "depth":3}], "annotations":[{"class_id": 1, "left": 100, "top": 120, "width": 43, "height": 78}]}, "bounding-box-metadata":{"class-map":{"1": "cat"}, "type": "groundtruth/object-detection"}}
```

Urutan `"AttributeNames"` dalam file input penting saat melatih algoritma Deteksi Objek. Ini menerima data pipa dalam urutan tertentu, dengan `image` pertama, diikuti oleh. `annotations` Jadi "AttributeNames" dalam contoh ini disediakan dengan yang `"source-ref"` pertama, diikuti oleh`"bounding-box"`. Saat menggunakan Object Detection dengan Augmented Manifest, nilai parameter `RecordWrapperType` harus ditetapkan sebagai`"RecordIO"`.

Untuk informasi selengkapnya tentang file manifes tambahan, lihat[Augmented Manifest Files untuk Pekerjaan Pelatihan](augmented-manifest.md).

### Pelatihan Inkremental
<a name="object-detection-incremental-training"></a>

Anda juga dapat menyemai pelatihan model baru dengan artefak dari model yang Anda latih sebelumnya dengan SageMaker AI. Pelatihan tambahan menghemat waktu pelatihan ketika Anda ingin melatih model baru dengan data yang sama atau serupa. SageMaker Model deteksi objek AI hanya dapat diunggulkan dengan model deteksi objek bawaan lain yang dilatih dalam SageMaker AI.

Untuk menggunakan model yang telah dilatih sebelumnya, dalam [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)permintaan, tentukan `ChannelName` sebagai “model” dalam `InputDataConfig` parameter. Atur saluran `ContentType` untuk model ke`application/x-sagemaker-model`. Hiperparameter input dari model baru dan model terlatih yang Anda unggah ke saluran model harus memiliki pengaturan yang sama untuk parameter `base_network` dan `num_classes` input. Parameter ini menentukan arsitektur jaringan. Untuk file model yang telah dilatih sebelumnya, gunakan keluaran artefak model terkompresi (dalam format.tar.gz) oleh AI. SageMaker Anda dapat menggunakan format RecorDio atau gambar untuk input data.

Untuk informasi lebih lanjut tentang pelatihan tambahan dan untuk instruksi tentang cara menggunakannya, lihat[Gunakan Pelatihan Inkremental di Amazon AI SageMaker](incremental-training.md). 

## Rekomendasi Instans EC2 untuk Algoritma Deteksi Objek
<a name="object-detection-instances"></a>

Algoritma deteksi objek mendukung keluarga instance GPU P2, P3, G4dn, dan G5. Sebaiknya gunakan instans GPU dengan lebih banyak memori untuk pelatihan dengan ukuran batch besar. Anda dapat menjalankan algoritma deteksi objek pada pengaturan multi-GPU dan mult-machine untuk pelatihan terdistribusi.

Anda dapat menggunakan instance CPU (seperti C5 dan M5) dan GPU (seperti P3 dan G4dn) untuk inferensi.

## Notebook Contoh Deteksi Objek
<a name="object-detection-sample-notebooks"></a>

Untuk contoh notebook yang menunjukkan cara menggunakan algoritme Deteksi Objek SageMaker AI untuk melatih dan meng-host model di 

Dataset [Caltech Birds (CUB 200 2011)](http://www.vision.caltech.edu/datasets/cub_200_2011/) menggunakan algoritma Detektor multibox Single Shot, lihat [Amazon SageMaker AI Object Detection](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/object_detection_birds/object_detection_birds.html) for Bird Species. Untuk petunjuk cara membuat dan mengakses instance notebook Jupyter yang dapat Anda gunakan untuk menjalankan contoh di SageMaker AI, lihat. [Instans SageMaker notebook Amazon](nbi.md) Setelah Anda membuat instance notebook dan membukanya, pilih tab **Contoh SageMaker AI** untuk melihat daftar semua sampel SageMaker AI. Notebook contoh deteksi objek menggunakan algoritma Deteksi Objek terletak di bagian **Pengantar Algoritma Amazon**. Untuk membuka buku catatan, klik tab **Use** dan pilih **Create copy**.

Untuk informasi selengkapnya tentang algoritma Deteksi Objek Amazon SageMaker AI, lihat posting blog berikut:
+ [Melatih model deteksi objek Amazon SageMaker AI dan menjalankannya AWS IoT Greengrass — Bagian 1 dari 3: Mempersiapkan data pelatihan](https://aws.amazon.com/blogs/iot/sagemaker-object-detection-greengrass-part-1-of-3/)
+ [Melatih model deteksi objek Amazon SageMaker AI dan menjalankannya AWS IoT Greengrass — Bagian 2 dari 3: Melatih model deteksi objek khusus](https://aws.amazon.com/blogs/iot/sagemaker-object-detection-greengrass-part-2-of-3/)
+ [Melatih model deteksi objek Amazon SageMaker AI dan menjalankannya AWS IoT Greengrass — Bagian 3 dari 3: Menyebarkan ke tepi](https://aws.amazon.com/blogs/iot/sagemaker-object-detection-greengrass-part-3-of-3/)