Model dan platform AI
BrushNet: Plug and Play Image Inpainting dengan Dual-Branch Diffusion
Image inpainting adalah salah satu masalah klasik dalam komputer visi, dan bertujuan untuk memulihkan daerah yang hilang dalam gambar dengan konten yang masuk akal dan alami. Karya yang ada sebelumnya menggunakan teknik image inpainting tradisional seperti Generative Adversarial Networks atau GANS, dan Variational Auto-Encoders atau VAEs sering memerlukan fitur tambahan yang dibuat oleh manusia, tetapi pada saat yang sama, tidak memberikan hasil yang memuaskan. Selama beberapa tahun terakhir, metode berbasis difusi telah mendapatkan popularitas dalam komunitas komputer visi karena kemampuan mereka untuk menghasilkan gambar berkualitas tinggi, keragaman output, dan kontrol yang halus. Upaya awal untuk menggunakan model difusi untuk image inpainting yang dipandu teks memodifikasi strategi denoising standar dengan mengambil sampel dari daerah yang ditutupi dari model difusi pra-train, dan daerah yang tidak ditutupi dari gambar yang diberikan. Meskipun metode ini menghasilkan kinerja yang memuaskan dalam tugas image inpainting sederhana, mereka berjuang dengan bentuk mask yang kompleks, prompt teks, dan konten gambar yang menghasilkan kurangnya kohesi secara keseluruhan. Kurangnya kohesi yang diamati dalam metode ini dapat dikaitkan terutama dengan pengetahuan perseptual terbatas tentang batas mask, dan konteks daerah gambar yang tidak ditutupi.
Meskipun kemajuan, penelitian, dan pengembangan model ini selama beberapa tahun terakhir, image inpainting masih merupakan hambatan besar bagi pengembang komputer visi. Adaptasi model difusi saat ini untuk tugas image inpainting melibatkan modifikasi strategi sampling, atau pengembangan model difusi khusus untuk image inpainting yang sering mengalami penurunan kualitas gambar, dan semantik yang tidak konsisten. Untuk mengatasi tantangan ini, dan membuka jalan bagi model image inpainting, dalam artikel ini, kita akan membahas tentang BrushNet, sebuah kerangka kerja dual-branch yang dirancang untuk memasukkan fitur gambar yang ditutupi ke dalam model difusi pra-train, sehingga menjamin kohesi, dan hasil yang ditingkatkan pada tugas image inpainting. Kerangka kerja BrushNet memperkenalkan paradigma baru di mana kerangka kerja membagi fitur gambar dan latens berisik menjadi cabang terpisah. Pembagian fitur gambar dan latens berisik mengurangi beban pembelajaran untuk model secara drastis, dan memfasilitasi inkorporasi nuansa informasi gambar yang ditutupi secara hierarkis. Selain kerangka kerja BrushNet, kita juga akan membahas tentang BrushBench, dan BrushData yang memfasilitasi penilaian kinerja berbasis segmentasi dan pelatihan image inpainting masing-masing.

Artikel ini bertujuan untuk membahas kerangka kerja BrushNet secara mendalam, dan kita menjelajahi mekanisme, metodologi, arsitektur kerangka kerja bersama dengan perbandingannya dengan kerangka kerja yang ada. Jadi, mari kita mulai.
BrushNet: Image Inpainting dengan Dual-Branch Diffusion
Image inpainting, metode yang mencoba untuk memulihkan daerah yang hilang dalam gambar sambil mempertahankan kohesi secara keseluruhan, telah menjadi masalah yang berlangsung lama dalam bidang komputer visi, dan telah membingungkan pengembang dan peneliti selama beberapa tahun sekarang. Image inpainting menemukan aplikasinya di berbagai tugas komputer visi, termasuk pengeditan gambar, dan virtual try-ons. Baru-baru ini, model difusi seperti Stable Diffusion, dan Stable Diffusion 1.5 telah menunjukkan kemampuan luar biasa untuk menghasilkan gambar berkualitas tinggi, dan memberikan pengguna fleksibilitas untuk mengontrol kontrol semantik dan struktural. Kemampuan luar biasa dari model difusi ini telah mendorong peneliti untuk menggunakan model difusi untuk tugas image inpainting berkualitas tinggi yang sesuai dengan prompt teks.
Metode yang digunakan oleh kerangka kerja image inpainting tradisional berbasis difusi dapat dibagi menjadi dua kategori, Modifikasi Strategi Sampling dan Model Inpainting Khusus. Metode modifikasi strategi sampling memodifikasi proses denoising standar dengan mengambil sampel dari daerah yang ditutupi dari model difusi pra-train, dan menyalin daerah yang tidak ditutupi dari gambar yang diberikan pada setiap langkah denoising. Meskipun metode modifikasi strategi sampling dapat diimplementasikan pada model difusi arbitrer, mereka sering menghasilkan hasil image inpainting yang tidak konsisten karena mereka memiliki pengetahuan perseptual terbatas tentang batas mask, dan konteks daerah gambar yang tidak ditutupi. Di sisi lain, model inpainting khusus memuat model image inpainting yang dirancang khusus dengan memperluas dimensi saluran input dari model difusi dasar untuk menginkorporasi gambar yang rusak dan mask. Meskipun model inpainting khusus memungkinkan model difusi untuk menghasilkan hasil yang lebih memuaskan dengan model yang sadar bentuk dan konten, mungkin atau mungkin tidak merupakan desain arsitektur terbaik untuk model image inpainting.
Seperti yang ditunjukkan pada gambar berikut, model inpainting khusus menggabungkan latens gambar yang ditutupi, latens berisik, teks, dan mask pada tahap awal. Desain arsitektur model inpainting khusus ini mempengaruhi fitur gambar yang ditutupi, dan mencegah lapisan berikutnya dalam arsitektur UNet untuk mendapatkan fitur gambar yang ditutupi yang murni karena pengaruh teks. Selain itu, menghandle generasi dan kondisi dalam satu cabang membebani arsitektur UNet, dan karena pendekatan ini juga memerlukan fine-tuning pada variasi model difusi yang berbeda, pendekatan ini sering memakan waktu dengan transferabilitas yang terbatas.

Mungkin tampak bahwa menambahkan cabang tambahan untuk mengekstrak fitur gambar yang ditutupi dapat menjadi solusi yang memadai untuk masalah yang disebutkan di atas, namun, kerangka kerja yang ada sering menghasilkan ekstraksi dan penyisipan informasi yang tidak memadai ketika diterapkan langsung pada image inpainting. Sebagai hasilnya, kerangka kerja yang ada seperti ControlNet menghasilkan hasil yang tidak memuaskan ketika dibandingkan dengan model inpainting khusus. Untuk mengatasi masalah ini dengan cara yang paling efektif, kerangka kerja BrushNet memperkenalkan cabang tambahan ke jaringan difusi asli, dan menciptakan arsitektur yang lebih sesuai untuk tugas image inpainting. Desain dan arsitektur kerangka kerja BrushNet dapat diringkas dalam tiga poin.
- Sebagai gantinya menginisialisasi lapisan konvolusi secara acak, kerangka kerja BrushNet mengimplementasikan VAE encoder untuk memproses gambar yang ditutupi. Sebagai hasilnya, kerangka kerja BrushNet dapat mengekstrak fitur gambar untuk adaptasi ke distribusi UNet lebih efektif.
- Kerangka kerja BrushNet secara bertahap menginkorporasikan lapisan fitur UNet yang penuh lapisan demi lapisan ke dalam arsitektur UNet pra-train, sebuah pendekatan hierarkis yang memungkinkan kontrol per-piksel yang padat.
- Kerangka kerja BrushNet menghilangkan cross-attention teks dari komponen UNet untuk memastikan bahwa hanya informasi gambar murni yang dipertimbangkan dalam cabang tambahan. Selain itu, model BrushNet juga mengusulkan untuk mengimplementasikan strategi blending yang buram untuk mencapai konsistensi yang lebih baik bersama dengan kontrol yang lebih luas pada daerah gambar yang tidak ditutupi.
BrushNet : Metode dan Arsitektur
Gambar berikut memberikan gambaran singkat tentang kerangka kerja BrushNet.

Seperti yang dapat dilihat, kerangka kerja ini menggunakan strategi dual-branch untuk memasukkan fitur gambar yang ditutupi, dan menggunakan operasi blending dengan mask yang buram untuk memastikan pelestarian daerah yang tidak ditutupi yang lebih baik. Perlu diperhatikan bahwa kerangka kerja BrushNet dapat menyesuaikan skala yang ditambahkan untuk mencapai kontrol yang fleksibel. Untuk gambar yang ditutupi dan mask yang diberikan, model BrushNet menghasilkan gambar yang diinpain. Model pertama kali menurunkan sampel mask untuk menyesuaikan ukuran latens, dan gambar yang ditutupi diberikan sebagai input ke VAE encoder untuk menyelaraskan distribusi ruang latens. Model kemudian menggabungkan latens gambar yang ditutupi, latens berisik, dan mask yang diturunkan, dan menggunakan sebagai input. Fitur yang diekstrak oleh model kemudian ditambahkan ke lapisan UNet pra-train setelah blok konvolusi nol. Setelah denoising, model menggabungkan gambar yang ditutupi dan gambar yang dihasilkan dengan mask yang buram.
Masked Image Guidance
Kerangka kerja BrushNet memasukkan fitur gambar yang ditutupi ke dalam jaringan difusi pra-train menggunakan cabang tambahan, yang memisahkan ekstraksi fitur gambar yang ditutupi dari proses generasi gambar secara eksplisit. Input dibentuk dengan menggabungkan latens gambar yang ditutupi, latens berisik, dan mask yang diturunkan. Lebih spesifik, latens berisik memberikan informasi untuk generasi gambar selama proses generasi saat ini, dan membantu kerangka kerja meningkatkan kohesi semantik dari fitur gambar yang ditutupi. Kerangka kerja BrushNet kemudian mengekstrak latens gambar yang ditutupi dari gambar yang ditutupi menggunakan Variational AutoEncoder. Selain itu, kerangka kerja ini menggunakan interpolasi kubik untuk menurunkan sampel mask dalam upaya memastikan ukuran mask sesuai dengan ukuran latens gambar yang ditutupi dan latens berisik. Untuk memproses fitur gambar yang ditutupi, kerangka kerja BrushNet mengimplementasikan salinan dari model difusi pra-train, dan menghilangkan lapisan cross-attention dari model difusi. Alasannya adalah bobot pra-train dari model difusi berfungsi sebagai prior yang kuat untuk mengekstrak fitur gambar yang ditutupi, dan menghilangkan lapisan cross-attention memastikan bahwa model hanya mempertimbangkan informasi gambar murni dalam cabang tambahan. Kerangka kerja BrushNet memasukkan fitur ke dalam model difusi yang dibekukan lapisan demi lapisan, sehingga memungkinkan kontrol per-piksel yang padat dan hierarkis, dan juga mengimplementasikan lapisan konvolusi nol untuk membangun koneksi antara model BrushNet yang dapat dilatih dan model yang dibekukan, memastikan bahwa noise yang berbahaya tidak mempengaruhi keadaan tersembunyi dalam salinan yang dapat dilatih selama tahap pelatihan awal.
Blending Operation
Seperti yang disebutkan sebelumnya, melakukan operasi blending dalam ruang latens sering menghasilkan ketidakakuratan, dan kerangka kerja BrushNet menghadapi masalah serupa ketika menurunkan sampel mask untuk menyesuaikan ukuran ruang latens. Selain itu, perlu diperhatikan bahwa operasi encoding dan decoding dalam Variational AutoEncoders memiliki operasi yang terbatas secara inheren, dan mungkin tidak memastikan rekonstruksi gambar yang lengkap. Untuk memastikan kerangka kerja merekonstruksi gambar yang konsisten secara penuh dari daerah yang tidak ditutupi, karya yang ada telah mengimplementasikan berbagai teknik seperti menyalin daerah yang tidak ditutupi dari gambar asli. Meskipun pendekatan ini berhasil, sering menghasilkan kurangnya kohesi semantik dalam generasi hasil akhir. Di sisi lain, metode lain seperti mengadopsi operasi blending latens menghadapi kesulitan dalam melestarikan informasi yang diinginkan dalam daerah yang tidak ditutupi.
Flexible Control
Desain arsitektur kerangka kerja BrushNet membuatnya menjadi pilihan yang sesuai untuk integrasi plug and play secara inheren ke berbagai model difusi pra-train, dan memungkinkan skala pelestarian yang fleksibel. Karena kerangka kerja BrushNet tidak mengubah bobot model difusi pra-train, pengembang memiliki fleksibilitas untuk mengintegrasikannya sebagai komponen plug and play dengan model difusi yang telah di-tune, memungkinkan adopsi dan eksperimen yang mudah dengan model pra-train. Selain itu, pengembang juga memiliki pilihan untuk mengontrol skala pelestarian daerah yang tidak ditutupi dengan menginkorporasikan fitur model BrushNet ke dalam model difusi yang dibekukan dengan bobot w yang menentukan pengaruh kerangka kerja BrushNet pada skala pelestarian, menawarkan pengembang kemampuan untuk menyesuaikan tingkat pelestarian yang diinginkan. Akhirnya, kerangka kerja BrushNet memungkinkan pengguna untuk menyesuaikan skala blurring, dan memutuskan apakah untuk mengimplementasikan operasi blurring, sehingga memudahkan penyesuaian dan kontrol yang halus atas proses image inpainting.
BrushNet : Implementasi dan Hasil
Untuk menganalisis hasilnya, kerangka kerja BrushNet mengusulkan BrushBench, sebuah dataset image inpainting berbasis segmentasi dengan lebih dari 600 gambar, dengan setiap gambar disertai dengan mask yang diberi anotasi oleh manusia, dan anotasi caption. Gambar dalam dataset benchmark ini didistribusikan secara merata antara gambar alami dan buatan, dan juga memastikan distribusi yang merata di antara kategori yang berbeda, memungkinkan evaluasi yang adil di seluruh kategori. Untuk meningkatkan analisis tugas image inpainting lebih lanjut, kerangka kerja BrushNet mengategorikan dataset menjadi dua bagian yang berbeda berdasarkan metode yang digunakan: segmentasi berbasis, dan mask brush.
Perbandingan Kuantitatif
Tabel berikut membandingkan kerangka kerja BrushNet dengan model image inpainting berbasis difusi yang ada pada dataset BrushBench dengan Stable Diffusion sebagai model dasar.

Seperti yang dapat dilihat, kerangka kerja BrushNet menunjukkan efisiensi yang luar biasa di seluruh pelestarian daerah yang ditutupi, penyelarasan teks, dan kualitas gambar. Selain itu, model seperti Stable Diffusion Inpainting, HD-Painter, PowerPaint, dan lain-lain menunjukkan kinerja yang kuat pada tugas image inpainting di dalam gambar, meskipun mereka gagal untuk mereplikasi kinerja mereka pada tugas image inpainting di luar gambar, terutama dalam hal penyelarasan teks dan kualitas gambar. Secara keseluruhan, kerangka kerja BrushNet memberikan hasil yang paling kuat.
Selain itu, tabel berikut membandingkan kerangka kerja BrushNet dengan model image inpainting berbasis difusi yang ada pada dataset EditBench, dan kinerja yang diperoleh setara dengan yang diperoleh pada dataset BrushBench. Hasil ini menunjukkan bahwa kerangka kerja BrushNet memberikan kinerja yang kuat di seluruh tugas image inpainting dengan jenis mask yang berbeda.

Perbandingan Kualitatif
Gambar berikut membandingkan secara kualitatif kerangka kerja BrushNet dengan metode image inpainting yang ada, dengan hasil yang mencakup kecerdasan buatan dan gambar alami di seluruh tugas image inpainting yang berbeda, termasuk image inpainting dengan mask acak, image inpainting dengan mask segmentasi di dalam, dan image inpainting dengan mask segmentasi di luar.

Seperti yang dapat dilihat, kerangka kerja BrushNet memberikan hasil yang luar biasa dalam kohesi daerah yang tidak ditutupi, dan daerah yang konsisten, dan berhasil merealisasikan kesadaran informasi latar belakang berkat implementasi pendekatan decoupling dual-branch. Selain itu, cabang yang tidak disentuh dari model difusi pra-train juga memberikan keuntungan dalam menutupi domain data yang berbeda seperti anime dan lukisan, sehingga menghasilkan kinerja yang lebih baik di seluruh skenario.

Pemikiran Akhir
Dalam artikel ini, kita telah membahas tentang BrushNet, sebuah kerangka kerja dual-branch yang dirancang untuk memasukkan fitur gambar yang ditutupi ke dalam model difusi pra-train, sehingga menjamin kohesi, dan hasil yang ditingkatkan pada tugas image inpainting. Kerangka kerja BrushNet memperkenalkan paradigma baru di mana kerangka kerja membagi fitur gambar dan latens berisik menjadi cabang terpisah. Pembagian fitur gambar dan latens berisik mengurangi beban pembelajaran untuk model secara drastis, dan memfasilitasi inkorporasi nuansa informasi gambar yang ditutupi secara hierarkis. Selain kerangka kerja BrushNet, kita juga akan membahas tentang BrushBench, dan BrushData yang memfasilitasi penilaian kinerja berbasis segmentasi dan pelatihan image inpainting masing-masing.












