Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Deteksi Objek - MXNet
Deteksi SageMaker Objek Amazon - 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 SageMaker Objek mendukung jenis konten RecorDio (application/x-recordio
) dan image (image/png
image/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 augmented manifest. Format input yang direkomendasikan untuk algoritma deteksi SageMaker objek Amazon 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 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 train
validation
,train_annotation
,, dan validation_annotation
saluran sebagai nilai untuk InputDataConfig
parameter CreateTrainingJob
permintaan. Tentukan file data gambar individu (.jpg atau.png) untuk saluran kereta dan validasi. Untuk data anotasi, Anda dapat menggunakan JSON format. 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://your_bucket
/train_annotation, tentukan jalur untuk saluran kereta dan train_annotation Anda sebagai s3://your_bucket
/kereta api dan s3://your_bucket
/train_annotation, masing-masing.
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 SageMaker objek saat ini hanya mendukung gambar 3-channel. "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 CreateTrainingJob
permintaan. Saat menggunakan format, file manifes S3 perlu dibuat yang berisi daftar gambar dan anotasi yang sesuai. Format file manifes harus dalam format JSONGaris'source-ref'
tag yang menunjuk ke lokasi S3 gambar. Anotasi disediakan di bawah nilai "AttributeNames"
parameter seperti yang ditentukan dalam CreateTrainingJob
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, lihatAugmented Manifest Files untuk Pekerjaan Pelatihan.
Pelatihan Inkremental
Anda juga dapat menyemai pelatihan model baru dengan artefak dari model yang Anda latih sebelumnya. SageMaker Pelatihan tambahan menghemat waktu pelatihan ketika Anda ingin melatih model baru dengan data yang sama atau serupa. SageMaker model deteksi objek hanya dapat diunggulkan dengan model deteksi objek bawaan lainnya yang dilatih. SageMaker
Untuk menggunakan model yang telah dilatih sebelumnya, dalam CreateTrainingJob
permintaan, 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 artefak model terkompresi (dalam format.tar.gz) keluaran oleh. 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 SageMaker.
EC2Rekomendasi Instance untuk Algoritma Deteksi Objek
Algoritma deteksi objek mendukung keluarga instance P2, P3, G4dn, dan G5. GPU Kami merekomendasikan penggunaan GPU instance 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 buku catatan yang menunjukkan cara menggunakan algoritma Deteksi SageMaker Objek untuk melatih dan meng-host model di
Dataset Caltech Birds (CUB200 2011)
Untuk informasi selengkapnya tentang algoritma Deteksi SageMaker Objek Amazon, lihat posting blog berikut: