Memperkenalkan aplikasi AI Generatif image-to-speech menggunakan Amazon SageMaker dan Hugging Face | Layanan Web Amazon

Memperkenalkan aplikasi AI Generatif image-to-speech menggunakan Amazon SageMaker dan Hugging Face | Layanan Web Amazon

Kehilangan penglihatan datang dalam berbagai bentuk. Untuk beberapa, ini sejak lahir, untuk yang lain, ini adalah penurunan yang lambat dari waktu ke waktu yang datang dengan banyak tanggal kedaluwarsa: Hari di mana Anda tidak dapat melihat gambar, mengenali diri sendiri, atau wajah orang yang Anda cintai atau bahkan membaca surat Anda. Di blogpost kami sebelumnya Aktifkan Dokumen yang Terganggu Secara Visual untuk Mendengar menggunakan Amazon Textract dan Amazon Polly, kami menunjukkan kepada Anda aplikasi Text to Speech kami yang disebut โ€œBacalah untukkuโ€. Aksesibilitas telah berkembang pesat, tetapi bagaimana dengan gambar?

Pada konferensi AWS re:Invent 2022 di Las Vegas, kami mendemonstrasikan โ€œJelaskan untuk Sayaโ€ di AWS Builders' Fair, situs web yang membantu penyandang tunanetra memahami gambar melalui keterangan gambar, pengenalan wajah, dan teks-ke-ucapan, sebuah teknologi yang kami sebut sebagai "Gambar ke Ucapan". Melalui penggunaan beberapa layanan AI/ML, "Describe For Me" menghasilkan teks dari gambar masukan dan akan membacanya kembali dengan suara yang jelas dan terdengar alami dalam berbagai bahasa dan dialek.

Dalam posting blog ini kami memandu Anda melalui Arsitektur Solusi di balik "Describe For Me", dan pertimbangan desain solusi kami.

Ikhtisar Solusi

Arsitektur Referensi berikut menunjukkan alur kerja pengguna yang mengambil gambar dengan telepon dan memutar MP3 dari teks gambar.

Arsitektur Referensi untuk solusi yang dijelaskan.

Alur kerja mencakup langkah-langkah di bawah ini,

  1. Amplifikasi AWS mendistribusikan aplikasi web ExplainForMe yang terdiri dari HTML, JavaScript, dan CSS ke perangkat seluler pengguna akhir.
  2. Grafik Amazon Kognito Kumpulan identitas memberikan akses sementara ke Amazon S3 ember.
  3. Pengguna mengunggah file gambar ke Amazon S3 ember menggunakan SDK AWS melalui aplikasi web.
  4. Aplikasi web ExplainForMe memanggil layanan AI backend dengan mengirimkan Amazon S3 object Masukkan payload ke Gerbang API Amazon
  5. Gerbang API Amazon instantiate an Fungsi Langkah AWS alur kerja. State Machine mengatur layanan Kecerdasan Buatan/Pembelajaran Mesin (AI/ML). Rekognisi Amazon, Amazon SageMakerTeks Amazon, Terjemahan Amazon, dan Amazon Polly  menggunakan lambda AWS fungsi.
  6. Grafik Fungsi Langkah AWS alur kerja membuat file audio sebagai output dan menyimpannya Amazon S3 dalam format MP3.
  7. URL yang telah ditandatangani sebelumnya dengan lokasi file audio yang disimpan di Amazon S3 dikirim kembali ke browser pengguna melalui Gerbang API Amazon. Perangkat seluler pengguna memutar file audio menggunakan URL yang telah ditandatangani sebelumnya.

Panduan Solusi

Di bagian ini, kami fokus pada pertimbangan desain mengapa kami memilih

  1. pemrosesan paralel dalam sebuah Fungsi Langkah AWS alur kerja
  2. model pembelajaran mesin pra-terlatih urutan-ke-urutan terpadu OFA (Satu Untuk Semua) dari Wajah Memeluk untuk Amazon SageMaker untuk keterangan gambar
  3. Rekognisi Amazon untuk pengenalan wajah

Untuk ikhtisar yang lebih terperinci tentang mengapa kami memilih arsitektur tanpa server, alur kerja sinkron, alur kerja fungsi langkah cepat, arsitektur tanpa kepala, dan manfaat yang diperoleh, silakan baca entri blog kami sebelumnya Aktifkan Dokumen yang Terganggu Secara Visual untuk Mendengar menggunakan Amazon Textract dan Amazon Polly

Proses paralel

Menggunakan pemrosesan paralel dalam alur kerja Step Functions mengurangi waktu komputasi hingga 48%. Setelah pengguna mengunggah gambar ke bucket S3, Amazon API Gateway membuat instance alur kerja AWS Step Functions. Kemudian tiga fungsi Lambda di bawah memproses gambar dalam alur kerja Step Functions secara paralel.

  • Fungsi Lambda pertama dipanggil describe_image menganalisa citra dengan menggunakan Model OFA_IMAGE_CAPTION dihosting di titik akhir waktu nyata SageMaker untuk memberikan keterangan gambar.
  • Fungsi Lambda kedua dipanggil describe_faces pertama-tama periksa apakah ada wajah yang menggunakan Amazon Rekognition API Deteksi Wajah, dan jika benar, ini akan memanggil API Bandingkan Wajah. Alasannya adalah Bandingkan Wajah akan menimbulkan kesalahan jika tidak ada wajah yang ditemukan di gambar. Selain itu, memanggil Deteksi Wajah terlebih dahulu lebih cepat daripada sekadar menjalankan Bandingkan Wajah dan menangani kesalahan, jadi untuk gambar tanpa wajah di dalamnya, waktu pemrosesan akan lebih cepat.
  • Fungsi Lambda ketiga dipanggil extract_text menangani text-to-speech menggunakan Amazon Textract, dan Amazon Comprehend.

Menjalankan fungsi Lambda secara berurutan memang cocok, tetapi cara yang lebih cepat dan efisien untuk melakukannya adalah melalui pemrosesan paralel. Tabel berikut menampilkan waktu komputasi yang disimpan untuk tiga gambar sampel.

Gambar Konsultan Ahli Waktu Berurutan Waktu Paralel Penghematan Waktu (%) Keterangan
Memperkenalkan aplikasi AI Generatif image-to-speech menggunakan Amazon SageMaker dan Hugging Face | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai. 0 1869ms 1702ms 8% Seekor kucing kucing meringkuk di tempat tidur putih yang lembut.
Memperkenalkan aplikasi AI Generatif image-to-speech menggunakan Amazon SageMaker dan Hugging Face | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai. 1 4277ms 2197ms 48% Seorang wanita dengan blus hijau dan kardigan hitam tersenyum ke arah kamera. Saya mengenali satu orang: Kanbo.
Memperkenalkan aplikasi AI Generatif image-to-speech menggunakan Amazon SageMaker dan Hugging Face | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai. 4 6603ms 3904ms 40% Orang-orang berdiri di depan Amazon Spheres. Saya mengenali 3 orang: Kanbo, Jack, dan Ayman.

Keterangan gambar

Hugging Face adalah komunitas sumber terbuka dan platform ilmu data yang memungkinkan pengguna berbagi, membuat, melatih, dan menerapkan model pembelajaran mesin. Setelah menjelajahi model yang tersedia di hub model Hugging Face, kami memilih untuk menggunakan Model OFA karena seperti yang dijelaskan oleh penulis, ini adalah "kerangka kerja agnostik tugas dan agnostik modalitas yang mendukung Kelengkapan Tugas".

OFA adalah langkah menuju "Satu Untuk Semua", karena ini adalah model pra-pelatihan multimodal terpadu yang dapat mentransfer ke sejumlah tugas hilir secara efektif. Sementara model OFA mendukung banyak tugas termasuk landasan visual, pemahaman bahasa, dan pembuatan gambar, kami menggunakan Model OFA untuk keterangan gambar dalam proyek Jelaskan Untuk Saya untuk melakukan bagian gambar ke teks dari aplikasi. Lihat repositori resmi OFA (ICML 2022), kertas untuk mempelajari tentang Arsitektur, Tugas, dan Modalitas Pemersatu OFA Melalui Kerangka Pembelajaran Urutan-ke-Urutan Sederhana.

Untuk mengintegrasikan OFA dalam aplikasi kami, kami mengkloning repo dari Hugging Face dan mengemas model untuk menerapkannya ke titik akhir SageMaker. Itu notebook di repo ini adalah panduan yang sangat baik untuk menerapkan model besar OFA di notebook Jupyter di SageMaker. Setelah mengemas skrip inferensi Anda, model siap diterapkan di belakang titik akhir SageMaker seperti yang dijelaskan di SageMaker dokumentasi. Setelah model diterapkan, buat titik akhir HTTPS yang dapat diintegrasikan dengan fungsi lambda "describe_image" yang menganalisis gambar untuk membuat keterangan gambar. Kami menggunakan model kecil OFA karena ini adalah model yang lebih kecil dan dapat digunakan dalam waktu yang lebih singkat sambil mencapai kinerja yang serupa.

Contoh konten gambar ke ucapan yang dihasilkan oleh "Describe For Me" ditunjukkan di bawah ini:

Aurora borealis, atau cahaya utara, memenuhi langit malam di atas siluet sebuah rumah..

Aurora borealis, atau cahaya utara, memenuhi langit malam di atas siluet sebuah rumah..

Seekor anjing tidur di atas selimut merah di lantai kayu keras, di samping koper terbuka berisi mainan..

Seekor anjing tidur di atas selimut merah di lantai kayu keras, di samping koper terbuka berisi mainan..

Seekor kucing kucing meringkuk di tempat tidur putih yang lembut.

Seekor kucing kucing meringkuk di tempat tidur putih yang lembut.

Pengenalan wajah

Amazon Rekognition Image menyediakan Deteksi Wajah operasi yang mencari fitur wajah utama seperti mata, hidung, dan mulut untuk mendeteksi wajah dalam gambar masukan. Dalam solusi kami, kami memanfaatkan fungsi ini untuk mendeteksi siapa pun di gambar masukan. Jika seseorang terdeteksi, kami kemudian menggunakan Bandingkan Wajah operasi untuk membandingkan wajah pada gambar input dengan wajah yang telah dilatih dengan "Describe For Me" dan mendeskripsikan orang tersebut berdasarkan namanya. Kami memilih untuk menggunakan Pengenalan untuk deteksi wajah karena akurasinya yang tinggi dan betapa mudahnya mengintegrasikannya ke dalam aplikasi kami dengan kemampuan yang luar biasa.

Sekelompok orang berpose untuk foto di sebuah ruangan. Saya mengenali 4 orang: Jack, Kanbo, Alak, dan Trac. Ada teks yang ditemukan dalam gambar juga. Bunyinya: AWS re: Invent

Sekelompok orang berpose untuk foto di sebuah ruangan. Saya mengenali 4 orang: Jack, Kanbo, Alak, dan Trac. Ada teks yang ditemukan dalam gambar juga. Bunyinya: AWS re: Invent

Kasus Penggunaan Potensial

Pembuatan Teks Alternatif untuk gambar web

Semua gambar di situs web harus memiliki teks alternatif agar pembaca layar dapat mengucapkannya kepada tunanetra. Ini juga bagus untuk optimasi mesin pencari (SEO). Membuat teks alt dapat memakan waktu lama karena copywriter bertugas menyediakannya dalam dokumen desain. The Explain For Me API dapat secara otomatis menghasilkan teks-alt untuk gambar. Itu juga dapat digunakan sebagai plugin browser untuk secara otomatis menambahkan keterangan gambar ke gambar yang tidak memiliki teks alt di situs web mana pun.

Deskripsi Audio untuk Video

Deskripsi Audio menyediakan trek narasi untuk konten video untuk membantu tunanetra mengikuti film. Saat keterangan gambar menjadi lebih kuat dan akurat, alur kerja yang melibatkan pembuatan trek audio berdasarkan deskripsi untuk bagian penting dari sebuah adegan dapat dimungkinkan. Amazon Rekognition sudah dapat mendeteksi perubahan pemandangan, logo, dan urutan kredit, serta deteksi selebritas. Versi deskripsi yang akan datang akan memungkinkan untuk mengotomatiskan fitur utama ini untuk film dan video.

Kesimpulan

Dalam postingan ini, kami membahas cara menggunakan layanan AWS, termasuk AI dan layanan tanpa server, untuk membantu penyandang tunanetra melihat gambar. Anda dapat mempelajari lebih lanjut tentang proyek Jelaskan Untuk Saya dan menggunakannya dengan mengunjungi deskripsiforme.com. Pelajari lebih lanjut tentang fitur unik dari Amazon SageMakerPengakuan Amazon dan Kemitraan AWS dengan Hugging Face.

Penafian Model ML Pihak Ketiga untuk Panduan

Panduan ini hanya untuk tujuan informasi. Anda tetap harus melakukan penilaian independen Anda sendiri, dan mengambil langkah-langkah untuk memastikan bahwa Anda mematuhi praktik dan standar kontrol kualitas khusus Anda sendiri, serta peraturan, undang-undang, regulasi, lisensi, dan ketentuan penggunaan lokal yang berlaku untuk Anda, konten Anda, dan model Machine Learning pihak ketiga yang dirujuk dalam panduan ini. AWS tidak memiliki kendali atau otoritas atas model Machine Learning pihak ketiga yang dirujuk dalam panduan ini, dan tidak membuat pernyataan atau jaminan apa pun bahwa model Machine Learning pihak ketiga aman, bebas virus, operasional, atau kompatibel dengan lingkungan produksi Anda dan standar. AWS tidak membuat pernyataan, jaminan, atau garansi apa pun bahwa informasi apa pun dalam panduan ini akan menghasilkan hasil atau akibat tertentu.


Tentang Penulis

Jack MarchettiJack Marchetti adalah Arsitek Solusi Senior di AWS yang berfokus untuk membantu pelanggan memodernisasi dan mengimplementasikan arsitektur berbasis peristiwa tanpa server. Jack secara hukum buta dan tinggal di Chicago bersama istrinya Erin dan kucing Minou. Dia juga seorang penulis skenario, dan sutradara dengan fokus utama pada film dan horor Natal. Lihat filmografi Jack di miliknya Halaman IMDb.

Alak EswaradassAlak Eswaradass adalah Arsitek Solusi Senior di AWS yang berbasis di Chicago, Illinois. Dia bersemangat membantu pelanggan merancang arsitektur cloud yang memanfaatkan layanan AWS untuk mengatasi tantangan bisnis. Alak sangat antusias menggunakan SageMaker untuk memecahkan berbagai kasus penggunaan ML bagi pelanggan AWS. Saat tidak bekerja, Alak senang menghabiskan waktu bersama putri-putrinya dan menjelajahi alam bebas bersama anjing-anjingnya.

Kandyce BohannonKandyce Bohannon adalah Arsitek Solusi Senior yang berbasis di Minneapolis, MN. Dalam peran ini, Kandyce bekerja sebagai penasihat teknis untuk pelanggan AWS saat mereka memodernisasi strategi teknologi terutama terkait data dan DevOps untuk menerapkan praktik terbaik di AWS. Selain itu, Kandyce bersemangat membimbing generasi ahli teknologi masa depan dan menampilkan wanita dalam teknologi melalui program AWS She Builds Tech Skills.

Jalur LakukanJalur Lakukan adalah Arsitek Solusi di AWS. Dalam perannya, Trac bekerja dengan pelanggan perusahaan untuk mendukung migrasi cloud dan inisiatif modernisasi aplikasi mereka. Dia bersemangat mempelajari tantangan pelanggan dan menyelesaikannya dengan solusi yang tangguh dan dapat diskalakan menggunakan layanan AWS. Trac saat ini tinggal di Chicago bersama istri dan 3 anak laki-lakinya. Dia adalah penggemar penerbangan yang besar dan dalam proses menyelesaikan Lisensi Pilot Pribadinya.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS