Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Algoritma Segmentasi Semantik

Mode fokus
Algoritma Segmentasi Semantik - Amazon SageMaker AI

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

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

Algoritma segmentasi semantik SageMaker AI menyediakan pendekatan tingkat piksel berbutir halus untuk mengembangkan aplikasi visi komputer. Ini menandai setiap piksel dalam gambar dengan label kelas dari set kelas yang telah ditentukan. Penandaan sangat penting untuk memahami adegan, yang sangat penting untuk peningkatan jumlah aplikasi visi komputer, seperti kendaraan self-driving, diagnostik pencitraan medis, dan penginderaan robot.

Sebagai perbandingan, SageMaker AI Klasifikasi Gambar - MXNet adalah algoritma pembelajaran yang diawasi yang hanya menganalisis seluruh gambar, mengklasifikasikannya ke dalam salah satu dari beberapa kategori keluaran. Deteksi Objek - MXNetIni adalah algoritma pembelajaran yang diawasi yang mendeteksi dan mengklasifikasikan semua contoh objek dalam gambar. Ini menunjukkan lokasi dan skala setiap objek dalam gambar dengan kotak pembatas persegi panjang.

Karena algoritma segmentasi semantik mengklasifikasikan setiap piksel dalam sebuah gambar, ia juga memberikan informasi tentang bentuk objek yang terkandung dalam gambar. Output segmentasi direpresentasikan sebagai gambar skala abu-abu, yang disebut topeng segmentasi. Masker segmentasi adalah gambar skala abu-abu dengan bentuk yang sama dengan gambar input.

Algoritma segmentasi semantik SageMaker AI dibangun menggunakan kerangka kerja Gluon dan MXNet toolkit CV Gluon. Ini memberi Anda pilihan tiga algoritma bawaan untuk melatih jaringan saraf yang dalam. Anda dapat menggunakan algoritma Fully-Convolutional Network (FCN), algoritma Pyramid Scene Parsing (PSP), atau V3. DeepLab

Masing-masing dari tiga algoritma memiliki dua komponen yang berbeda:

  • Tulang punggung (atau encoder) —Jaringan yang menghasilkan peta aktivasi fitur yang andal.

  • Dekoder —Jaringan yang membangun topeng segmentasi dari peta aktivasi yang dikodekan.

Anda juga memiliki pilihan tulang punggung untuk algoritma FCN, PSP, dan DeepLab V3:50 atau 101. ResNet ResNet Tulang punggung ini termasuk artefak terlatih yang awalnya dilatih pada tugas klasifikasi. ImageNet Anda dapat menyempurnakan tulang punggung ini untuk segmentasi menggunakan data Anda sendiri. Atau, Anda dapat menginisialisasi dan melatih jaringan ini dari awal hanya menggunakan data Anda sendiri. Decoder tidak pernah dilatih sebelumnya.

Untuk menerapkan model terlatih untuk inferensi, gunakan layanan hosting SageMaker AI. Selama inferensi, Anda dapat meminta topeng segmentasi baik sebagai gambar PNG atau sebagai satu set probabilitas untuk setiap kelas untuk setiap piksel. Anda dapat menggunakan masker ini sebagai bagian dari pipeline yang lebih besar yang mencakup pemrosesan gambar hilir tambahan atau aplikasi lain.

Notebook Sampel Segmentasi Semantik

Untuk contoh notebook Jupyter yang menggunakan algoritma segmentasi semantik SageMaker AI untuk melatih model dan menyebarkannya untuk melakukan inferensi, lihat Contoh Segmentasi Semantik. Untuk petunjuk tentang cara membuat dan mengakses instance notebook Jupyter yang dapat Anda gunakan untuk menjalankan contoh di SageMaker AI, lihat. Instans SageMaker Notebook Amazon

Untuk melihat daftar semua sampel SageMaker AI, buat dan buka instance notebook, lalu pilih tab Contoh SageMaker AI. Contoh notebook segmentasi semantik terletak di bawah Algoritma Pengantar Amazon. Untuk membuka buku catatan, pilih tab Use, dan pilih Create copy.

Antarmuka Input/Output untuk Algoritma Segmentasi Semantik

SageMaker Segmentasi semantik AI mengharapkan kumpulan data pelatihan pelanggan berada di Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3). Setelah dilatih, ia menghasilkan artefak model yang dihasilkan di Amazon S3. Format antarmuka input untuk segmentasi semantik SageMaker AI mirip dengan kebanyakan kumpulan data pembandingan segmentasi semantik standar. Dataset di Amazon S3 diharapkan akan disajikan dalam dua saluran, satu train untuk dan satu untuk menggunakan empat direktori, dua validation untuk gambar dan dua untuk anotasi. Anotasi diharapkan berupa gambar PNG yang tidak terkompresi. Dataset mungkin juga memiliki peta label yang menjelaskan bagaimana pemetaan anotasi dibuat. Jika tidak, algoritma menggunakan default. Ini juga mendukung format gambar manifes tambahan (application/x-image) untuk pelatihan dalam mode input Pipe langsung dari Amazon S3. Untuk inferensi, titik akhir menerima gambar dengan tipe konten. image/jpeg

Bagaimana Pelatihan Bekerja

Data pelatihan dibagi menjadi empat direktori:train,, train_annotationvalidation, danvalidation_annotation. Ada saluran untuk masing-masing direktori ini. Dataset juga diharapkan memiliki satu label_map.json file per saluran untuk train_annotation dan validation_annotation masing-masing. Jika Anda tidak menyediakan file JSON ini, SageMaker AI menyediakan peta label set default.

Dataset yang menentukan file-file ini akan terlihat mirip dengan contoh berikut:

s3://bucket_name | |- train | | - 0000.jpg | - coffee.jpg |- validation | | - 00a0.jpg | - bananna.jpg |- train_annotation | | - 0000.png | - coffee.png |- validation_annotation | | - 00a0.png | - bananna.png |- label_map | - train_label_map.json | - validation_label_map.json

Setiap gambar JPG di direktori kereta dan validasi memiliki gambar label PNG yang sesuai dengan nama yang sama di direktori dantrain_annotation. validation_annotation Konvensi penamaan ini membantu algoritme untuk mengaitkan label dengan gambar yang sesuai selama pelatihan. Salurantrain, train_annotationvalidation, dan validation_annotation saluran adalah wajib. Anotasi adalah gambar PNG saluran tunggal. Format berfungsi selama metadata (mode) dalam gambar membantu algoritme membaca gambar anotasi menjadi integer unsigned 8-bit saluran tunggal. Untuk informasi lebih lanjut tentang dukungan kami untuk mode, lihat dokumentasi Python Image Library. Sebaiknya gunakan piksel 8-bit, P mode warna sejati.

Gambar yang dikodekan adalah bilangan bulat 8-bit sederhana saat menggunakan mode. Untuk beralih dari pemetaan ini ke peta label, algoritme menggunakan satu file pemetaan per saluran, yang disebut peta label. Peta label digunakan untuk memetakan nilai dalam gambar dengan indeks label aktual. Di peta label default, yang disediakan secara default jika Anda tidak memberikannya, nilai piksel dalam matriks anotasi (gambar) langsung mengindeks label. Gambar-gambar ini dapat berupa file PNG skala abu-abu atau file PNG yang diindeks 8-bit. File peta label untuk kasus default yang tidak diskalakan adalah sebagai berikut:

{ "scale": "1" }

Untuk memberikan kontras untuk dilihat, beberapa perangkat lunak anotasi menskalakan gambar label dengan jumlah yang konstan. Untuk mendukung ini, algoritme segmentasi semantik SageMaker AI menyediakan opsi penskalaan ulang untuk menurunkan nilai ke nilai label aktual. Ketika penskalaan ke bawah tidak mengubah nilai menjadi bilangan bulat yang sesuai, algoritme default ke bilangan bulat terbesar kurang dari atau sama dengan nilai skala. Kode berikut menunjukkan cara mengatur nilai skala untuk mengubah skala nilai label:

{ "scale": "3" }

Contoh berikut menunjukkan bagaimana "scale" nilai ini digunakan untuk mengubah skala nilai gambar anotasi masukan ketika mereka dipetakan ke mapped_label nilai yang akan digunakan dalam pelatihan. encoded_label Nilai label dalam gambar anotasi input adalah 0, 3, 6, dengan skala 3, sehingga dipetakan ke 0, 1, 2 untuk pelatihan:

encoded_label = [0, 3, 6] mapped_label = [0, 1, 2]

Dalam beberapa kasus, Anda mungkin perlu menentukan pemetaan warna tertentu untuk setiap kelas. Gunakan opsi peta dalam pemetaan label seperti yang ditunjukkan pada contoh label_map file berikut:

{ "map": { "0": 5, "1": 0, "2": 2 } }

Pemetaan label untuk contoh ini adalah:

encoded_label = [0, 5, 2] mapped_label = [1, 0, 2]

Dengan pemetaan label, Anda dapat menggunakan sistem anotasi dan perangkat lunak anotasi yang berbeda untuk mendapatkan data tanpa banyak preprocessing. Anda dapat memberikan satu peta label per saluran. File untuk peta label di label_map saluran harus mengikuti konvensi penamaan untuk struktur empat direktori. Jika Anda tidak memberikan peta label, algoritme mengasumsikan skala 1 (default).

Pelatihan dengan Augmented Manifest Format

Format manifes yang diperbesar memungkinkan Anda melakukan pelatihan dalam mode Pipe menggunakan file gambar tanpa perlu membuat file RecorDio. File manifes yang diperbesar berisi objek data dan harus dalam format JSON Lines, seperti yang dijelaskan dalam permintaan. CreateTrainingJob Setiap baris dalam manifes adalah entri yang berisi URI Amazon S3 untuk gambar dan URI untuk gambar anotasi.

Setiap objek JSON dalam file manifes harus berisi source-ref kunci. source-refKunci harus berisi nilai URI Amazon S3 ke gambar. Label disediakan di bawah nilai AttributeNames parameter sebagaimana ditentukan dalam CreateTrainingJobpermintaan. Ini juga dapat berisi metadata tambahan di bawah tag metadata, tetapi ini diabaikan oleh algoritma. Pada contoh di bawah ini, AttributeNames terkandung dalam daftar referensi ["source-ref", "city-streets-ref"] gambar dan anotasi. Nama-nama ini harus -ref ditambahkan padanya. Saat menggunakan algoritma Segmentasi Semantik dengan Augmented Manifest, nilai RecordWrapperType parameter harus "RecordIO" dan nilai parameter harus. ContentType application/x-recordio

{"source-ref": "S3 bucket location", "city-streets-ref": "S3 bucket location", "city-streets-metadata": {"job-name": "label-city-streets", }}

Untuk informasi selengkapnya tentang file manifes tambahan, lihatAugmented Manifest Files untuk Pekerjaan Pelatihan.

Pelatihan Inkremental

Anda juga dapat menyemai pelatihan model baru dengan model yang Anda latih sebelumnya menggunakan SageMaker AI. Pelatihan tambahan ini menghemat waktu pelatihan ketika Anda ingin melatih model baru dengan data yang sama atau serupa. Saat ini, pelatihan tambahan hanya didukung untuk model yang dilatih dengan Segmentasi SageMaker Semantik AI bawaan.

Untuk menggunakan model pra-terlatih Anda sendiri, tentukan ChannelName sebagai “model” dalam InputDataConfig CreateTrainingJobpermintaan. Atur saluran ContentType untuk model keapplication/x-sagemaker-model. Parameter backbonealgorithm,crop_size,, dan num_classes input yang menentukan arsitektur jaringan harus secara konsisten ditentukan dalam hiperparameter input model baru dan model pra-terlatih yang Anda unggah ke saluran model. Untuk file model yang telah dilatih sebelumnya, Anda dapat menggunakan artefak terkompresi (.tar.gz) dari output AI. SageMaker Anda hanya dapat menggunakan format Gambar untuk memasukkan data. Untuk informasi lebih lanjut tentang pelatihan tambahan dan untuk instruksi tentang cara menggunakannya, lihatGunakan Pelatihan Inkremental di Amazon AI SageMaker .

Menghasilkan Kesimpulan

Untuk menanyakan model terlatih yang diterapkan ke titik akhir, Anda perlu memberikan gambar dan AcceptType yang menunjukkan jenis output yang diperlukan. Titik akhir mengambil gambar JPEG dengan tipe image/jpeg konten. Jika Anda meminta AcceptType dariimage/png, algoritme mengeluarkan file PNG dengan topeng segmentasi dalam format yang sama dengan label itu sendiri. Jika Anda meminta jenis penerimaanapplication/x-recordio-protobuf, algoritma mengembalikan probabilitas kelas yang dikodekan dalam format recordio-protobuf. Format yang terakhir menghasilkan tensor 3D di mana dimensi ketiga berukuran sama dengan jumlah kelas. Komponen ini menunjukkan probabilitas setiap label kelas untuk setiap piksel.

EC2 Rekomendasi Instance untuk Algoritma Segmentasi Semantik

Algoritma segmentasi semantik SageMaker AI hanya mendukung instans GPU untuk pelatihan, dan kami merekomendasikan penggunaan instans GPU dengan lebih banyak memori untuk pelatihan dengan ukuran batch besar. Algoritma dapat dilatih menggunakan instance P2, P3, G4dn, atau G5 dalam konfigurasi mesin tunggal.

Untuk inferensi, Anda dapat menggunakan instance CPU (seperti C5 dan M5) dan instance GPU (seperti P3 dan G4dn) atau keduanya. Untuk informasi tentang jenis instans yang menyediakan berbagai kombinasi CPU, GPU, memori, dan kapasitas jaringan untuk inferensi, lihat Jenis Instance Amazon SageMaker AI ML.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.