Mengapa peluncuran pertama mengunduh model
Pada penggunaan pertama, ekstensi dapat mengunduh data model yang dibutuhkan untuk inferensi di perangkat. Itu adalah kompromi potongan lokal: alih-alih mengirim setiap foto ke server, Anda membawa model ke komputer sekali.
Unduhan itu bukan unggahan foto Anda — itu parameter model, bukan galeri Anda.
Mengapa model ini tidak digabungkan ke dalam setiap startup
Ekstensi berisi kode antarmuka, ikon, instruksi, dan logika pemrosesan. Model segmentasi yang berguna adalah jenis aset yang berbeda. Bobotnya bisa jauh lebih besar daripada kode yang diperlukan untuk membuka editor.
Mengambil model saat dibutuhkan memiliki manfaat praktis:
- paket ekstensi tidak harus memuat model lengkap pada setiap peluncuran;
- browser dapat menyimpan model dalam cache untuk digunakan kembali;
- sesi berikutnya yang biasa dapat dimulai tanpa mengulangi transfer yang sama;
- aset model dapat diganti ketika alur pemrosesan diperbarui.
Ada biayanya: inferensi pertama tidak dapat dimulai sampai file yang diperlukan tiba dan runtime menginisialisasinya. Pada koneksi cepat, ini mungkin terasa seperti layar pengaturan singkat. Pada koneksi yang lambat atau terbatas, ini bisa menjadi bagian terpanjang dari sesi pertama.
Apa yang diunduh
Unduhan berisi data model yang diperlukan untuk inferensi. Anggap saja sebagai parameter untuk fungsi numerik khusus, bukan perpustakaan foto Anda dan bukan permintaan pencarian tentang subjek di gambar Anda.
Setelah memuat, waktu proses browser menggunakan parameter tersebut untuk menghitung masker dari piksel yang Anda pilih. Jalur sehari-hari—mendekode gambar, menjalankan segmentasi, menyempurnakan mask, dan mengekspor—dirancang untuk dilakukan di lingkungan ekstensi.
Perbedaan ini penting ketika membaca aktivitas jaringan. Permintaan untuk aset model tetap tidak setara dengan permintaan yang memuat gambar saat ini. Akses jaringan saja tidak menjawab di mana inferensi gambar terjadi; jalur data tidak.
Perubahan cache apa
Tanpa caching, setiap peluncuran editor dapat membayar biaya pengunduhan yang sama. Browser dapat mempertahankan aset model sehingga sesi selanjutnya dapat menggunakannya kembali. Itu mengubah urutan normal:
- Sesi pertama memeriksa apakah model yang dibutuhkan tersedia.
- Jika tidak ada, browser akan mendownloadnya.
- Runtime menginisialisasi model dan menjalankan cutout.
- Sesi biasa selanjutnya biasanya dapat memuat salinan cache.
“Biasanya” disengaja. Cache adalah penyimpanan yang dapat digunakan kembali, bukan jaminan permanen. Menghapus data browser atau ekstensi, mengubah profil, menggunakan perangkat lain, tekanan penyimpanan, atau pembaruan model dapat membuat file tidak tersedia lagi.
Mengapa unduhan lain mungkin muncul
Pengunduhan yang lebih lambat tidak berarti cache gagal. Penjelasan umum meliputi:
- ekstensi sekarang mengharapkan versi model yang lebih baru;
- data ekstensi lokal telah dihapus;
- browser mengeluarkan data cache untuk memulihkan penyimpanan;
- pekerjaan dilakukan di profil browser yang berbeda;
- ekstensi telah diinstal ulang dan penyimpanannya telah diatur ulang;
- pengunduhan sebelumnya tidak pernah selesai.
Pertanyaan diagnostik yang berguna bukanlah “Apakah saya pernah mengunduh ini?” tetapi “Apakah model yang dibutuhkan saat ini tersedia di lingkungan ekstensi ini?”
Waktu pengunduhan bukan waktu inferensi
Dua penantian bisa terlihat serupa namun mewakili karya yang berbeda.
Waktu pengunduhan adalah transfer aset model. Hal ini sangat bergantung pada kecepatan koneksi, pengiriman aset, dan status cache.
Waktu inisialisasi dan inferensi terjadi setelah aset tersedia. Runtime menyiapkan model, mengonversi gambar menjadi masukan yang sesuai, menghitung mask, dan mengembalikan hasilnya. Langkah-langkah tersebut lebih bergantung pada perangkat, browser, dimensi gambar, dan memori yang tersedia.
Pesan kemajuan selama pengaturan pertama mungkin mencakup lebih dari satu fase. Jika model sudah di-cache tetapi gambar berukuran besar masih memerlukan waktu, menyambungkan kembali ke jaringan berulang kali tidak akan membuat komputasi lokal menjadi instan.
Apa yang terjadi jika koneksi terputus
Jika model yang diperlukan tidak di-cache dan pengunduhan tidak dapat diselesaikan, penghapusan otomatis tidak dapat dimulai. Browser belum memiliki bobot numerik yang dibutuhkan. Respons yang benar adalah memulihkan koneksi yang stabil dan membiarkan pengaturan selesai.
Setelah model yang diperlukan di-cache, pemrosesan biasa tidak terlalu bergantung pada koneksi. “Ramah offline” masih lebih akurat daripada menjanjikan bahwa setiap status browser dan setiap peluncuran pertama berfungsi tanpa jaringan. Profil baru tanpa file model harus mendapatkan file itu.
Jika penyiapan berulang kali dimulai ulang, periksa apakah data ekstensi dihapus di antara sesi, apakah penyimpanan sangat terbatas, atau apakah kebijakan jaringan memblokir permintaan aset. Panduan Pemecahan Masalah mencakup pemeriksaan kegagalan umum.
Privasi: pengiriman aset versus pemrosesan gambar
Easy Background Remover dibuat sehingga guntingan dijalankan di browser. Gambar pilihan Anda didekodekan dan diproses di editor dan pekerja ekstensi. Riwayat lokal singkat juga dapat menyimpan dokumen asli terkini dan hasilnya di penyimpanan browser.
Permintaan model yang dijalankan pertama kali tidak mengubah jalur gambar tersebut. Ia memperoleh komponen yang dapat digunakan kembali yang diperlukan untuk inferensi lokal. Analisis situs web, yang ada di halaman produk, juga terpisah dari piksel gambar dan riwayat pengeditan ekstensi. Kata-kata lengkap saat ini ada di Privasi.
Hindari klaim yang lebih kuat daripada yang didukung arsitektur. “Chrome tidak pernah menggunakan jaringan” tidak akurat. “Pipa potongan dirancang untuk menjaga pemrosesan gambar tetap lokal, sementara proses pertama dapat mengunduh model” adalah hal yang tepat.
Apa yang dilakukan browser setelah pengunduhan
Model masih perlu diinisialisasi oleh runtime inferensi browser. Gambar yang dipilih didekodekan menjadi piksel, disiapkan sebagai masukan numerik, dan dikirim ke pekerja untuk komputasi berat. Pekerja mengembalikan topeng, yang digunakan editor untuk pratinjau dan penyempurnaan.
Topeng itu bukan gambar kedua yang diambil dari server. Ini adalah hasil yang dihitung dari masukan gambar lokal dan bobot model yang diunduh. Apa yang dilihat oleh model potongan pada perangkat menjelaskan langkah pixel-to-mask; Dasar-dasar pemrosesan gambar Web Worker menjelaskan mengapa komputasi dipisahkan dari pekerjaan antarmuka.
Daftar periksa pertama yang realistis
Untuk pengujian pertama yang terbersih:
- Buka editor dengan koneksi stabil.
- Biarkan pengaturan model selesai sebelum menilai kecepatan pemrosesan.
- Mulailah dengan gambar berukuran wajar dengan subjek yang jelas.
- Ekspor sekali untuk memverifikasi jalur lengkap.
- Buka kembali editor nanti dan konfirmasikan bahwa pengaturan lebih singkat dengan model yang di-cache.
Jika pembaruan model pada akhirnya menyebabkan pengunduhan lagi, biarkan pembaruan selesai sebelum membandingkan hasilnya. Versi model yang berbeda dapat menghasilkan masker yang sedikit berbeda, jadi catatlah versi ekstensi jika reproduktifitasnya penting.
Penantian pertama kali memberikan keuntungan praktis: dapatkan model pemrosesan sekali atau sesekali, lalu gunakan kembali untuk pemutusan lokal. Untuk urutan yang lebih luas dari piksel yang akan diekspor, lihat Cara kerja penghapusan latar belakang lokal.