Model asas generatif telah merevolusikan pemprosesan bahasa semulajadi (NLP), dengan model bahasa yang besar (LLMS) yang cemerlang dalam pelbagai tugas. Walau bagaimanapun, bidang generasi visual masih tidak mempunyai model bersatu yang mampu mengendalikan pelbagai tugas dalam satu rangka kerja. Model sedia ada seperti penyebaran stabil, Dall-E, dan Imagen Excel dalam domain tertentu tetapi bergantung pada sambungan khusus tugas seperti ControlNet atau InstructPix2Pix, yang mengehadkan fleksibiliti dan skalabilitas mereka.
Omnigen menangani jurang ini dengan memperkenalkan rangka kerja bersatu untuk penjanaan imej. Tidak seperti model penyebaran tradisional, Omnigen mempunyai seni bina ringkas yang terdiri daripada hanya autoencoder variasi (VAE) dan model pengubah, menghapuskan keperluan komponen khusus tugas luaran. Reka bentuk ini membolehkan Omnigen mengendalikan input teks dan imej yang diselaraskan sewenang-wenangnya, membolehkan pelbagai tugas seperti penjanaan teks-ke-imej, pengeditan imej, dan generasi yang dikawal dalam satu model.
Omnigen bukan sahaja unggul dalam tanda aras untuk penjanaan teks-ke-imej tetapi juga menunjukkan pembelajaran pemindahan yang mantap, keupayaan baru muncul, dan penalaran di seluruh tugas dan domain yang tidak kelihatan.
Dalam bahagian ini, kita akan melihat rangka kerja omnigen, yang memberi tumpuan kepada prinsip reka bentuk model, seni bina, dan strategi latihan inovatifnya.
Model penyebaran semasa sering menghadapi batasan, menyekat kebolehgunaannya kepada tugas-tugas tertentu, seperti penjanaan teks-ke-imej. Memperluas fungsi mereka biasanya melibatkan mengintegrasikan rangkaian khusus tugas tambahan, yang rumit dan kekurangan kebolehgunaan di pelbagai tugas. Omnigen menangani cabaran ini dengan mematuhi dua prinsip reka bentuk teras:
Omnigen mengamalkan seni bina inovatif yang mengintegrasikan autoencoder variasi (VAE) dan model pengubah besar yang terlatih:
Tidak seperti model penyebaran konvensional yang bergantung kepada encoder berasingan (contohnya, klip atau pengekod imej) untuk keadaan input pra -proses, omnigen secara semulajadi mengkodekan semua maklumat bersyarat, dengan ketara memudahkan saluran paip. Ia juga bersama -sama model teks dan imej dalam satu rangka kerja, meningkatkan interaksi antara modaliti.
Omnigen menerima arahan multimodal bentuk bebas, teks dan imej interleaving:
Mekanisme perhatian adalah penukar permainan di AI, membolehkan model memberi tumpuan kepada data yang paling relevan semasa memproses tugas kompleks. Daripada menggerakkan transformer untuk merevolusikan NLP dan penglihatan komputer, konsep ini telah menetapkan semula kecekapan dan ketepatan dalam sistem pembelajaran mesin.
Omnigen mengubah mekanisme perhatian kausal standard untuk meningkatkan pemodelan imej:
Proses kesimpulan adalah di mana model AI memohon corak yang dipelajari untuk data baru, mengubah latihan ke dalam ramalan yang boleh diambil tindakan. Ini adalah langkah terakhir yang menjembatani latihan model dengan aplikasi dunia nyata, pemanduan dan automasi memandu di seluruh industri.
Omnigen menggunakan kaedah pemadanan aliran untuk kesimpulan:
Omnigen menggunakan pendekatan aliran yang diperbetulkan untuk pengoptimuman, yang berbeza daripada kaedah DDPM tradisional. Ia interpolates secara linear antara bunyi dan data, melatih model untuk secara langsung merundingkan halaju sasaran berdasarkan data noised, timeStep, dan keadaan keadaan.
Objektif latihan meminimumkan kehilangan kesilapan kuadrat purata, menekankan kawasan di mana perubahan berlaku dalam tugas penyuntingan imej untuk mencegah model dari overfitting ke kawasan yang tidak berubah.
Omnigen melatih secara progresif pada peningkatan resolusi imej, mengimbangi kecekapan data dengan kualiti estetik.
Butiran latihan, termasuk resolusi, langkah, saiz batch, dan kadar pembelajaran, digariskan di bawah:
Peringkat | Resolusi Imej | Langkah Latihan (k) | Saiz batch | Kadar pembelajaran |
1 | 256 × 256 | 500 | 1040 | 1E-4 |
2 | 512 × 512 | 300 | 520 | 1E-4 |
3 | 1024 × 1024 | 100 | 208 | 4E-5 |
4 | 2240 × 2240 | 30 | 104 | 2E-5 |
5 | Pelbagai | 80 | 104 | 2E-5 |
Melalui seni bina inovatif dan metodologi latihan yang cekap, Omnigen menetapkan penanda aras baru dalam model penyebaran, membolehkan penjanaan imej yang serba boleh dan berkualiti tinggi untuk pelbagai aplikasi.
Untuk membolehkan pemprosesan multi-tugas yang mantap dalam penjanaan imej, membina asas berskala besar dan pelbagai adalah penting. Omnigen mencapai ini dengan mentakrifkan semula bagaimana model mendekati fleksibiliti dan kebolehsuaian merentasi pelbagai tugas.
Inovasi utama termasuk :
Melalui kemajuan ini, Omnigen menetapkan penanda aras untuk mencapai keupayaan penjanaan imej bersatu dan pintar, merapatkan jurang antara tugas yang pelbagai dan membuka jalan untuk aplikasi pecah tanah.
Omnigen mudah dimulakan, sama ada anda bekerja di persekitaran tempatan atau menggunakan Google Colab. Ikuti arahan di bawah untuk memasang dan menggunakan omnigen untuk menghasilkan imej dari teks atau input multi-modal.
Untuk memasang Omnigen, mulakan dengan mengkloning repositori GitHub dan memasang pakej:
Klon repositori omnigen:
Git Clone https://github.com/vectorspacelab/omnigen.git CD Omnigen PIP INSTALL -E PIP Pasang Omnigen
Pilihan: Jika anda lebih suka mengelakkan konflik, buat persekitaran yang berdedikasi:
# Buat Python 3.10.13 Alam Sekitar Conda (anda juga boleh menggunakan Virtualenv) Conda create -n omnigen python = 3.10.13 Conda mengaktifkan omnigen # Pasang pytorch dengan versi CUDA yang sesuai (misalnya, CU118) Pip Install Torch == 2.3.1 CU118 TorchVision --extra-index-url https://download.pytorch.org/whl/cu118 ! Pip memasang omnigen # Klon dan pasang omnigen Git Clone https://github.com/vectorspacelab/omnigen.git CD Omnigen PIP INSTALL -E.
Sebaik sahaja Omnigen dipasang, anda boleh mula menjana imej. Berikut adalah contoh cara menggunakan saluran paip omnigen.
Omnigen membolehkan anda menjana imej dari arahan teks. Berikut adalah contoh mudah untuk menghasilkan imej seorang lelaki minum teh:
dari omnigen import omnigenpipeline paip = omnigenpipeline.from_pretrained ("shitao/omnigen-v1") # Menghasilkan gambar dari teks gambar = paip ( prompt = '' 'Foto realistik. Seorang wanita muda duduk di atas sofa, memegang buku dan menghadap kamera. Dia memakai halus Anting -anting gelung perak yang dihiasi dengan berlian kecil dan berkilauan yang menangkap cahaya, dengan rambut berangan panjangnya yang panjang di atas bahunya. Matanya fokus dan lembut, dibingkai dengan panjang, bulu gelap. Dia berpakaian sweater krim yang selesa, yang melengkapkan senyumannya yang hangat dan menarik. Di belakangnya, di sana adalah meja dengan secawan air dalam cawan biru yang minimalis. Latar belakang adalah tetapan dalaman yang tenang dengan cahaya semula jadi yang lembut menapis melalui tingkap, dihiasi dengan seni dan bunga yang menarik, mewujudkan suasana yang selesa dan damai. 4k, hd '' ', ketinggian = 1024, lebar = 1024, panduan_scale = 2.5, benih = 0, ) imej [0] .save ("example_t2i.png") # simpan imej yang dihasilkan Imej [0] .show ()
Anda juga boleh menggunakan omnigen untuk generasi multi-modal, di mana teks dan imej digabungkan. Berikut adalah contoh di mana imej dimasukkan sebagai sebahagian daripada input:
# Menghasilkan gambar dengan teks dan gambar yang disediakan gambar = paip ( prompt = "<img alt="Omnigen: Pendekatan Bersepadu untuk Generasi Imej" > <img alt="Omnigen: Pendekatan Bersepadu untuk Generasi Imej" > \ n Keluarkan anting -anting wanita. Gantikan cawan dengan kaca yang jelas yang dipenuhi dengan cola ais berkilauan. . ", input_images = ["./ imgs/demo_cases/edit.png "], ketinggian = 1024, lebar = 1024, panduan_scale = 2.5, img_guidance_scale = 1.6, benih = 0 ) imej [0] .save ("example_ti2i.png") # simpan imej yang dihasilkan
Contoh berikut menunjukkan keupayaan Visi Komputer Lanjutan Omnigen (CV), khususnya keupayaannya untuk mengesan dan menjadikan kerangka manusia dari input imej. Tugas ini menggabungkan arahan teks dengan imej untuk menghasilkan hasil pengesanan rangka yang tepat.
dari gambar import pil # Tentukan arahan untuk pengesanan kerangka prompt = "mengesan kerangka manusia dalam imej ini: <imag> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875978150.jpg" class="lazy" alt="Omnigen: Pendekatan Bersepadu untuk Generasi Imej" >" input_images = ["./imgs/demo_cases/edit.png"] # Menghasilkan imej output dengan pengesanan kerangka gambar = paip ( prompt = prompt, input_images = input_images, ketinggian = 1024, lebar = 1024, panduan_scale = 2, img_guidance_scale = 1.6, benih = 333 ) # Simpan dan paparkan output imej [0] .save ("./ imgs/demo_cases/skeletal.png") # Paparkan gambar input Cetak ("Imej Input:") untuk IMG dalam input_images: Image.open (img) .show () # Paparkan gambar output Cetak ("Output:") Imej [0] .show () </imag>
Contoh ini menunjukkan keupayaan yang didorong oleh subjek Omnigen untuk mengenal pasti individu yang diterangkan dengan cepat dari pelbagai imej input dan menghasilkan imej kumpulan subjek ini. Proses ini adalah akhir-ke-akhir, tidak memerlukan pengiktirafan luaran atau segmentasi, mempamerkan fleksibiliti Omnigen dalam mengendalikan senario pelbagai sumber kompleks.
dari gambar import pil # Tentukan arahan untuk generasi yang didorong oleh subjek segera = ( "Seorang profesor dan seorang budak lelaki membaca buku bersama." "Profesor adalah lelaki tengah dalam <imag> ." "Anak lelaki itu adalah budak lelaki yang memegang buku di <mg> ." ) input_images = ["./imgs/demo_cases/ai_pioneers.jpg", "./imgs/demo_cases/same_pose.png"] # Menghasilkan imej output dengan subjek yang diterangkan gambar = paip ( prompt = prompt, input_images = input_images, ketinggian = 1024, lebar = 1024, panduan_scale = 2.5, img_guidance_scale = 1.6, berasingan_cfg_infer = benar, benih = 0 ) # Simpan dan paparkan gambar yang dihasilkan imej [0] .save ("./ imgs/demo_cases/entity.png") # Memaparkan gambar input Cetak ("Imej Input:") untuk IMG dalam input_images: Image.open (img) .show () # Paparkan gambar output Cetak ("Output:") Imej [0] .show () </mg></imag>
Keupayaan yang didorong oleh subjek: Model kami dapat mengenal pasti subjek yang diterangkan dalam imej berbilang orang dan menghasilkan imej kumpulan individu dari pelbagai sumber. Proses akhir-ke-akhir ini tidak memerlukan pengiktirafan atau segmentasi tambahan, yang menonjolkan fleksibiliti dan fleksibiliti Omnigen.
Fleksibiliti Omnigen membuka banyak aplikasi di seluruh bidang yang berbeza:
Memandangkan Omnigen terus berkembang, lelaran masa depan dapat mengembangkan keupayaannya lagi, berpotensi menggabungkan mekanisme penalaran yang lebih maju dan meningkatkan prestasinya terhadap tugas -tugas yang kompleks.
Omnigen adalah model penjanaan imej revolusioner yang menggabungkan input teks dan imej ke dalam rangka kerja bersatu, mengatasi batasan model sedia ada seperti penyebaran stabil dan Dall-E. Dengan mengintegrasikan autoencoder variasi (VAE) dan model pengubah, ia memudahkan aliran kerja sambil membolehkan tugas serba boleh seperti penjanaan teks-ke-imej dan penyuntingan imej. Dengan keupayaan seperti generasi multi-modal, penyesuaian subjek, dan pembelajaran beberapa tembakan, Omnigen membuka kemungkinan baru dalam bidang seperti seni generatif dan pembesaran data. Walaupun terdapat beberapa batasan, seperti cabaran dengan input teks panjang dan butiran halus, Omnigen ditetapkan untuk membentuk masa depan penciptaan kandungan visual, yang menawarkan alat yang kuat dan fleksibel untuk pelbagai aplikasi.
A. Omnigen adalah model penjanaan imej bersatu yang direka untuk mengendalikan pelbagai tugas, termasuk penjanaan teks-ke-imej, penyuntingan imej, dan generasi multi-modal (menggabungkan teks dan imej). Tidak seperti model tradisional, Omnigen tidak bergantung pada sambungan khusus tugas, menawarkan penyelesaian yang lebih serba boleh dan berskala.
S2. Apa yang menjadikan Omnigen berbeza daripada model penjanaan imej lain?A. Omnigen menonjol kerana seni bina mudahnya, yang menggabungkan autoencoder variasi (VAE) dan model pengubah. Ini membolehkan ia memproses kedua -dua teks dan input imej dalam rangka kerja bersatu, membolehkan pelbagai tugas tanpa memerlukan komponen atau pengubahsuaian tambahan.
Q3. Apakah keperluan sistem untuk menjalankan omnigen?A. Untuk menjalankan omnigen dengan cekap, sistem dengan GPU yang dibolehkan CUDA disyorkan. Model ini telah dilatih pada A800 GPU, dan proses kesimpulan mendapat manfaat daripada pecutan GPU menggunakan mekanisme cache nilai utama.
Media yang ditunjukkan dalam artikel ini tidak dimiliki oleh Analytics Vidhya dan digunakan atas budi bicara penulis.
Atas ialah kandungan terperinci Omnigen: Pendekatan Bersepadu untuk Generasi Imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!