opendream menghadirkan fitur-fitur yang sangat dibutuhkan dan familier, seperti pelapisan, pengeditan non-destruktif, portabilitas, dan ekstensi yang mudah ditulis, ke alur kerja Difusi Stabil Anda. Lihat video demo kami.
sh ./run_ opendream .sh
. Setelah ~30 detik, frontend dan backend sistem opendream akan aktif dan berjalan. Model difusi telah muncul sebagai alat yang ampuh dalam dunia pembuatan dan manipulasi gambar. Meskipun menawarkan manfaat yang signifikan, model ini sering dianggap sebagai kotak hitam karena kompleksitasnya. Ekosistem pembuatan gambar difusi saat ini ditentukan oleh alat yang memungkinkan tugas manipulasi gambar satu kali untuk mengontrol model ini - antara lain text2img, in-painting, pix2pix.
Misalnya, antarmuka populer seperti Automatic1111, Midjourney, dan Stability. DreamStudio AI hanya mendukung pengeditan destruktif: setiap pengeditan "menghabiskan" gambar sebelumnya. Artinya, pengguna tidak dapat dengan mudah membuat gambar sebelumnya atau menjalankan beberapa eksperimen pada gambar yang sama, sehingga membatasi pilihan mereka untuk eksplorasi materi iklan.
Pengeditan non-destruktif adalah metode manipulasi gambar yang mempertahankan data gambar asli sekaligus memungkinkan pengguna melakukan penyesuaian dan modifikasi tanpa menimpa karya sebelumnya. Pendekatan ini memfasilitasi eksperimen dan memberikan kontrol lebih besar atas proses pengeditan dengan menggunakan lapisan dan masker. Saat Anda menghapus sebuah lapisan, semua lapisan setelahnya juga terhapus. Hal ini menjamin bahwa semua lapisan yang saat ini ada di kanvas adalah produk dari lapisan lain yang sudah ada. Hal ini juga memungkinkan seseorang untuk "memutar ulang" alur kerja secara deterministik.
Seperti Photoshop, opendream mendukung pengeditan non-destruktif. Pelajari lebih lanjut tentang prinsip pengeditan non-destruktif di Photoshop di sini.
Pengguna juga dapat menyimpan alur kerja mereka saat ini ke dalam format file portabel yang dapat dibuka nanti atau dibagikan dengan kolaborator. Dalam konteks ini, "status" hanyalah file JSON yang menjelaskan semua lapisan saat ini dan cara pembuatannya.
Seiring berkembangnya ekosistem sumber terbuka di sekitar model dan alat ini, ekstensibilitas juga menjadi perhatian utama. Meskipun Automatic1111 menawarkan ekstensi, ekstensi tersebut sering kali sulit diprogram, digunakan, dan dipasang. Fiturnya jauh dari lengkap seperti aplikasi seperti Adobe Photoshop.
Saat fitur baru untuk Difusi Stabil, seperti ControlNet, dirilis, pengguna harus dapat mengintegrasikannya dengan lancar ke dalam alur kerja artistik mereka dengan beban berlebih dan waktu yang minimal.
opendream membuat penulisan dan penggunaan fitur difusi baru semudah menulis fungsi Python. Teruslah membaca untuk mempelajari caranya.
Sejak awal, opendream mendukung dua operasi primitif utama yang dimasukkan ke dalam sistem inti: dream
dan mask_and_inpaint
. Di repositori ini, ekstensi untuk instruct_pix2pix
, controlnet_canny
, controlnet_openpose
, dan sam
(Segment Anything) disediakan.
Logika manipulasi gambar apa pun dapat dengan mudah ditulis sebagai ekstensi. Dengan ekstensi, Anda juga dapat memutuskan cara kerja operasi tertentu. Misalnya, Anda dapat mengganti operasi dream
untuk menggunakan DALL-E OpenAI atau memanggil titik akhir tanpa server pada layanan seperti AWS atau Replikasi. Berikut ini contoh penggunaan Baseten.
Ada dua cara untuk memuat ekstensi.
opendream /extensions
. Petunjuk untuk menulis ekstensi Anda sendiri ada di bawah.Berikut adalah contoh ekstensi yang didukung saat ini. Anda dapat menggunakan tautan untuk memasang ekstensi apa pun melalui UI Web.
Perpanjangan | Link |
---|---|
DALL-E OpenAI | Mengajukan |
Difusi Stabil Tanpa Server | Mengajukan |
Instruksikan Pix2Pix | Mengajukan |
KontrolNet Cerdik | Mengajukan |
Openpose ControlNet | Mengajukan |
Segmentasikan Apa Saja | Mengajukan |
PhotoshopGPT | Inti |
Perhatikan bahwa ekstensi mungkin memiliki persyaratannya sendiri yang perlu Anda sertakan dalam file requirements.txt
. Misalnya, Anda perlu menambahkan openai
jika ingin menggunakan ekstensi DALL-E.
Jangan ragu untuk membuat PR jika Anda membuat ekstensi yang bermanfaat!
Pengguna dapat menulis ekstensi mereka sendiri sebagai berikut:
opendream /extensions
.@ opendream .define_op
. Dekorator ini mendaftarkan metode ini dengan backend opendream .Metode ini memiliki beberapa persyaratan:
str
, int
, float
, Layer
, MaskLayer
, atau ImageLayer
.Layer
atau daftar objek Layer
. opendream dibangun oleh Varun Shenoy, Eric Lou, Shashank Rammoorthy, dan Rahul Shiv sebagai bagian dari CS 348K Stanford.
Jangan ragu untuk memberikan kontribusi apa pun yang Anda anggap perlu atau berguna. Proyek ini dilisensikan di bawah Lisensi MIT.