Penafian
Ini adalah proyek penelitian, BUKAN produk komersial. Pengguna diberikan kebebasan untuk membuat gambar menggunakan alat ini, namun mereka diharapkan mematuhi hukum setempat dan menggunakannya secara bertanggung jawab. Pengembang tidak bertanggung jawab atas potensi penyalahgunaan oleh pengguna.
Berita dan Pembaruan
- [29 Januari] Pembaruan untuk mendukung diffuser==0.24.0!
- [23 Oktober] Kode dan data DragBench dirilis! Silakan periksa README di bawah "drag_bench_evaluation" untuk detailnya.
- [16 Oktober] Integrasikan FreeU saat menyeret gambar yang dihasilkan.
- [3 Oktober] Mempercepat pelatihan LoRA saat mengedit gambar nyata. ( Sekarang hanya sekitar 20an di A100! )
- [3 September] Rilis v0.1.0.
- Aktifkan Menyeret Gambar yang Dihasilkan Difusi.
- Memperkenalkan mekanisme panduan baru yang sangat meningkatkan kualitas hasil penyeretan. (Terinspirasi oleh MasaCtrl)
- Aktifkan Menyeret Gambar dengan rasio aspek sewenang-wenang
- Menambahkan dukungan untuk DPM++Solver (Gambar yang Dihasilkan)
- [18 Juli] Rilis v0.0.1.
- Integrasikan pelatihan LoRA ke dalam Antarmuka Pengguna. Tidak perlu menggunakan skrip pelatihan dan semuanya dapat dilakukan dengan mudah di UI!
- Optimalkan tata letak Antarmuka Pengguna.
- Aktifkan penggunaan VAE yang lebih baik untuk mata dan wajah (Lihat ini)
- [8 Juli] Rilis v0.0.0.
- Menerapkan fungsi Dasar DragDiffusion
Instalasi
Disarankan untuk menjalankan kode kami pada GPU Nvidia dengan sistem linux. Kami belum menguji konfigurasi lainnya. Saat ini, dibutuhkan sekitar 14 GB memori GPU untuk menjalankan metode kami. Kami akan terus mengoptimalkan efisiensi memori
Untuk menginstal perpustakaan yang diperlukan, cukup jalankan perintah berikut:
conda env create -f environment.yaml
conda activate dragdiff
Jalankan DragDiffusion
Untuk memulainya, di baris perintah, jalankan perintah berikut untuk memulai antarmuka pengguna gradio:
Anda dapat memeriksa GIF kami di atas yang menunjukkan penggunaan UI secara langkah demi langkah.
Pada dasarnya, ini terdiri dari langkah-langkah berikut:
Kasus 1: Menyeret Input Gambar Nyata
1) melatih LoRA
- Letakkan gambar masukan kita ke dalam kotak paling kiri.
- Masukkan prompt yang menjelaskan gambar di kolom "prompt".
- Klik tombol "Latih LoRA" untuk melatih LoRA berdasarkan gambar masukan
2) lakukan pengeditan "seret".
- Gambarlah topeng di kotak paling kiri untuk menentukan area yang dapat diedit.
- Klik pegangan dan titik target di kotak tengah. Selain itu, Anda juga dapat mengatur ulang semua poin dengan mengklik "Batalkan poin".
- Klik tombol "Jalankan" untuk menjalankan algoritma kami. Hasil yang diedit akan ditampilkan di kotak paling kanan.
Kasus 2: Menyeret Gambar yang Dihasilkan Difusi
1) menghasilkan gambar
- Isikan parameter pembangkitan (misalnya, prompt positif/negatif, parameter di bawah Konfigurasi Generasi & Parameter FreeU).
- Klik "Hasilkan Gambar".
2) lakukan "drag" pada gambar yang dihasilkan
- Gambarlah topeng di kotak paling kiri untuk menentukan area yang dapat diedit
- Klik titik pegangan dan titik target di kotak tengah.
- Klik tombol "Jalankan" untuk menjalankan algoritma kami. Hasil yang diedit akan ditampilkan di kotak paling kanan.
Lisensi
Kode yang terkait dengan algoritma DragDiffusion berada di bawah lisensi Apache 2.0.
BibTeX
Jika Anda merasa repo kami bermanfaat, mohon pertimbangkan untuk memberi bintang atau mengutip makalah kami :)
@article { shi2023dragdiffusion ,
title = { DragDiffusion: Harnessing Diffusion Models for Interactive Point-based Image Editing } ,
author = { Shi, Yujun and Xue, Chuhui and Pan, Jiachun and Zhang, Wenqing and Tan, Vincent YF and Bai, Song } ,
journal = { arXiv preprint arXiv:2306.14435 } ,
year = { 2023 }
}
Kontak
Untuk pertanyaan apa pun tentang proyek ini, silakan hubungi Yujun ([email protected])
Pengakuan
Karya ini terinspirasi oleh DragGAN yang menakjubkan. Kode pelatihan lora dimodifikasi dari contoh diffuser. Sampel gambar dikumpulkan dari unsplash, pexels, pixabay. Terakhir, salam hangat untuk semua model dan perpustakaan difusi open source yang menakjubkan.
Tautan Terkait
- Tarik GAN Anda: Manipulasi Berbasis Titik Interaktif pada Manifold Gambar Generatif
- MasaCtrl: Kontrol Perhatian Mandiri Tanpa Penyetelan untuk Sintesis dan Pengeditan Gambar yang Konsisten
- Korespondensi yang Muncul dari Difusi Gambar
- DragonDiffusion: Mengaktifkan Manipulasi Gaya Drag pada Model Difusi
- FreeDrag: Pelacakan Titik Tidak Anda Butuhkan untuk Pengeditan Gambar Interaktif Berbasis Titik
Masalah Umum dan Solusinya
- Bagi pengguna yang kesulitan memuat model dari huggingface karena kendala internet, harap 1) ikuti tautan ini dan unduh model ke direktori "local_pretrained_models"; 2) Jalankan "drag_ui.py" dan pilih direktori ke model terlatih Anda di "Parameter Algoritma -> Konfigurasi Model Dasar -> Jalur Model Difusi".