只用不到 10% 的訓練參數,就能達到像 ControlNet 一樣的可控生成!
而且 SDXL、SD1.5 等 Stable Diffusion 家族的常見模型都能適配,還是即插即用。
同時還能搭配 SVD 控制影片生成,動作細節控制得精準到手指。
在這些影像和影片的背後,就是港中文賈佳亞團隊推出的開源影像 / 影片產生引導工具-ControlNeXt。
從這個名字當中就能看出,研發團隊給它的定位,就是下一代的 ControlNet。
像大神何愷明與謝賽寧的經典大作 ResNeXt(ResNet 的一種擴展),起名字也是用的這個路數。
有網友認為這個名字是實至名歸,確實是下一代的產品,將 ControlNet 提高了一個檔次。
還有人直言 ControlNeXt 是規則改變者,讓可控生成的效率提升了一大截,期待看到人們用它創作的作品。
蜘蛛人跳起美女舞蹈
ControlNeXt 支援多款 SD 系模型,而且即插即用。
其中包含了影像產生模型 SD1.5、SDXL、SD3(支援 Super Resolution),還有視訊產生模型 SVD。
話不多說,直接看效果。
可以看到,在 SDXL 中加入邊緣(Canny)引導,繪製出的二次元少女和控制線條幾乎完美貼合。
即使控制輪廓又多又細碎,模型依然可以繪製出符合要求的圖片。
且無需額外訓練就可與其他 LoRA 權重無縫整合。
例如在 SD1.5 中,可以把姿勢(Pose)控制條件與各種 LoRA 搭配使用,形成風格迥異乃至跨越次元,但動作相同的角色。
另外,ControlNeXt 也支援遮罩(mask)和景深(depth)的控制模式。
在 SD3 當中也支援 Super Resolution(超級解析度),可產生超高清晰度的影像。
影片生成當中,ControlNeXt 可以實現對人物動作的控制。
例如讓蜘蛛人也跳起 TikTok 中的美女舞蹈,就連手指的動作也模仿得相當精準。
甚至讓一把椅子也長出手跳同樣的舞蹈,雖然是抽象了一些,但單看動作復刻得還算不錯。
而且相比於原始的 ControlNet,ControlNeXt 所需的訓練參數更少,收斂速度也更快。
例如在 SD1.5 和 SDXL 中,ControlNet 所需的可學習參數分別是 3.61 億和 12.51 億,但 ControlNeXt 分別只需要 3 千萬和 1.08 億,不到 ControlNet 的 10%。
Semasa proses latihan, ControlNeXt hampir kepada penumpuan pada sekitar 400 langkah, tetapi ControlNet memerlukan sepuluh kali atau bahkan berpuluh-puluh kali bilangan langkah.
Kelajuan penjanaan juga lebih pantas daripada ControlNet Secara purata, ControlNet adalah bersamaan dengan model asas, yang membawa kelewatan 41.9%, tetapi ControlNeXt hanya mempunyai 10.4%.
Jadi, bagaimanakah ControlNeXt dilaksanakan, dan apakah penambahbaikan yang telah dibuat pada ControlNet?
Modul kawalan bersyarat yang lebih ringan
Pertama, gunakan gambar untuk memahami keseluruhan aliran kerja ControlNeXt.
Kunci kepada pemberatan ringan ialah ControlNeXt mengalih keluar cawangan kawalan besar dalam ControlNet dan sebaliknya memperkenalkan modul lilitan ringan yang terdiri daripada sebilangan kecil blok ResNet.
Modul ini bertanggungjawab untuk mengekstrak representasi ciri keadaan kawalan (seperti topeng segmentasi semantik, titik awal utama, dll.).
Jumlah parameter latihan biasanya kurang daripada 10% daripada model pra-latihan dalam ControlNet, tetapi ia masih boleh mempelajari maklumat kawalan bersyarat input dengan baik Reka bentuk ini mengurangkan overhed pengiraan dan penggunaan memori.
Secara khusus, ia membuat sampel pada selang masa yang sama daripada lapisan rangkaian berbeza model pra-latihan untuk membentuk subset parameter yang digunakan untuk latihan, manakala parameter yang selebihnya dibekukan.
Selain itu, semasa mereka bentuk seni bina ControlNeXt, pasukan penyelidik juga mengekalkan ketekalan struktur model dengan seni bina asal, sekali gus mencapai plug-and-play.
Sama ada ControlNet atau ControlNeXt, suntikan maklumat kawalan bersyarat adalah pautan penting.
Semasa proses ini, pasukan penyelidik ControlNeXt menjalankan penyelidikan mendalam tentang dua isu utama - pemilihan lokasi suntikan dan reka bentuk kaedah suntikan.
Pasukan penyelidik memerhatikan bahawa dalam kebanyakan tugas penjanaan terkawal, bentuk maklumat bersyarat untuk membimbing penjanaan adalah agak mudah dan sangat berkorelasi dengan ciri dalam proses denoising.
Jadi pasukan percaya bahawa tidak perlu menyuntik maklumat kawalan ke dalam setiap lapisan rangkaian denoising, jadi mereka memilih untuk mengagregatkan ciri bersyarat dan ciri denoising hanya di lapisan tengah rangkaian.
Kaedah pengagregatan juga semudah mungkin - selepas menjajarkan pengedaran dua set ciri menggunakan penormalan silang, tambahkannya secara terus.
Ini bukan sahaja memastikan isyarat kawalan mempengaruhi proses denoising, tetapi juga mengelakkan pengenalan parameter pembelajaran tambahan dan ketidakstabilan oleh operasi yang kompleks seperti mekanisme perhatian.
Penormalan silang juga merupakan satu lagi teknologi teras ControlNeXt, menggantikan strategi permulaan progresif yang biasa digunakan sebelum ini seperti sifar-konvolusi.
Kaedah tradisional mengurangkan masalah keruntuhan dengan secara beransur-ansur melepaskan pengaruh modul baru dari awal, tetapi hasilnya selalunya adalah penumpuan yang perlahan.
Penormalan silang secara langsung menggunakan min μ dan varians σ bagi rangkaian tulang belakang yang menafikan ciri untuk menormalkan output ciri oleh modul kawalan, supaya pengedaran data kedua-duanya adalah sejajar yang mungkin.
(Nota: ialah pemalar kecil yang ditambah untuk kestabilan berangka, γ ialah parameter penskalaan.)
Ciri kawalan yang dinormalkan kemudiannya dilaraskan dalam amplitud dan garis dasar melalui skala dan parameter mengimbangi, dan kemudian digabungkan dengan Penambahan Ciri denoising bukan sahaja mengelakkan sensitiviti pemulaan parameter, tetapi juga membenarkan keadaan kawalan berkuat kuasa pada peringkat awal latihan untuk mempercepatkan proses penumpuan.
Selain itu, ControlNeXt juga menggunakan modul kawalan untuk mempelajari pemetaan maklumat keadaan kepada ciri ruang terpendam, menjadikannya lebih abstrak dan semantik, dan lebih kondusif untuk generalisasi kepada keadaan kawalan yang tidak kelihatan.
Laman utama projek:
https://pbihao.github.io/projects/controlnext/index.html
Alamat kertas:
https://arxiv.org/abs/2408.06070
Hub:
//github.com/dvlab-research/ControlNeXt以上是蜘蛛人妖嬈起舞,下一代 ControlNet 來了!賈佳亞團隊推出,即插即用,還能控制影片生成的詳細內容。更多資訊請關注PHP中文網其他相關文章!