Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Deteksi Objek - MXNet
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)
Topik
Antarmuka Input/Output untuk Algoritma Deteksi Objek
Algoritma Deteksi Objek SageMaker AI mendukung jenis konten RecorDio (application/x-recordio) dan image (image/pngimage/jpeg,, danapplication/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,, danapplication/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 RecorDioapplication/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 untuk detail selengkapnya tentang format data.
Berlatih dengan Format RecorDio
Jika Anda menggunakan format RecorDo untuk pelatihan, tentukan saluran kereta dan validasi sebagai nilai untuk InputDataConfig parameter permintaan. CreateTrainingJob Tentukan satu file RecorDo (.rec) di saluran kereta dan satu file Recordio di saluran validasi. Atur jenis konten untuk kedua saluranapplication/x-recordio. Contoh cara menghasilkan file RecorDo dapat ditemukan di notebook sampel deteksi objek. Anda juga dapat menggunakan alat dari GluonCV
Berlatih dengan Format Gambar
Jika Anda menggunakan format gambar untuk pelatihan, tentukan trainvalidation,train_annotation,, dan validation_annotation saluran sebagai nilai untuk InputDataConfig parameter CreateTrainingJobpermintaan. 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 danvalidation_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_image1.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_bucket/train/sample_image dan s3:///train_annotation, tentukan jalur untuk saluran train dan train_annotation Anda sebagai s3:your_bucket///train dan s3:///train_annotation, masing-masing. your_bucket your_bucket
Dalam file.json, jalur relatif untuk gambar bernama sample_image1.jpg harus sample_image/sample_image1.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
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 CreateTrainingJobpermintaan. Saat menggunakan format, file manifes S3 perlu dibuat yang berisi daftar gambar dan anotasi yang sesuai. Format file manifes harus dalam format JSON Lines'source-ref' tag yang menunjuk ke lokasi S3 gambar. Anotasi disediakan di bawah nilai "AttributeNames" parameter seperti yang ditentukan dalam CreateTrainingJobpermintaan. 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, lihatAugmented Manifest Files untuk Pekerjaan Pelatihan.
Pelatihan Inkremental
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 CreateTrainingJobpermintaan, tentukan ChannelName sebagai “model” dalam InputDataConfig parameter. Atur saluran ContentType untuk model keapplication/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, lihatGunakan Pelatihan Inkremental di Amazon AI SageMaker .
EC2 Rekomendasi Instance untuk Algoritma Deteksi Objek
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
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)
Untuk informasi selengkapnya tentang algoritma Deteksi Objek Amazon SageMaker AI, lihat posting blog berikut: