生成基礎模型徹底改變了自然語言處理(NLP),大型語言模型(LLM)在各種任務中都出色。但是,視覺生成領域仍然缺乏能夠在單個框架內處理多個任務的統一模型。現有的模型在特定域中穩定擴散,dall-e和成像人都表現出色,但依賴於特定於任務的擴展(例如ControlNet或Contractpix2pix),它們限制了它們的多功能性和可擴展性。
Omnigen通過引入一個統一的圖像生成框架來解決這一差距。與傳統的擴散模型不同,Amnigen具有一個簡潔的體系結構,其中僅包括變異自動編碼器(VAE)和變壓器模型,從而消除了對外部任務特定組件的需求。該設計允許Amnigen處理任意交織的文本和圖像輸入,從而實現了各種任務,例如文本到圖像生成,圖像編輯和可控生成,並在單個模型中可控。
Omnigen不僅在基準中擅長文本對圖像生成,而且還展示了跨看不見的任務和領域的強大轉移學習,新興能力和推理。
在本節中,我們將研究“綜合框架”框架,重點介紹其模型設計原理,體系結構和創新培訓策略。
當前的擴散模型通常面臨局限性,將其可用性限制在特定任務(例如文本對圖像生成)上。擴展其功能通常涉及集成其他特定於任務的網絡,這些網絡很麻煩,並且在各種任務中缺乏可重複使用性。 Omnigen通過遵守兩個核心設計原則來應對這些挑戰:
Omnigen採用了一種創新的體系結構,該體系結構集成了變異自動編碼器(VAE)和預訓練的大型變壓器模型:
與依靠單獨的編碼器(例如剪輯或圖像編碼器)進行預處理輸入條件的傳統擴散模型不同,Omnigen固有地編碼所有條件信息,從而大大簡化了管道。它還在單個框架中共同建模文本和圖像,從而增強了方式之間的相互作用。
Omnigen接受自由形式的多模式提示,交織的文本和圖像:
注意機制是AI中的遊戲改變者,使模型可以在處理複雜任務時專注於最相關的數據。從驅動變壓器到革新NLP和計算機視覺,此概念在機器學習系統中重新定義了效率和精度。
Omnigen修改標準因果注意機制以增強圖像建模:
推論過程是AI模型將學習模式應用於新數據,將培訓轉換為可行的預測。這是將模型培訓與現實世界應用,推動跨行業的見解和自動化的最後一步。
Omnigen使用流動匹配方法進行推理:
Omnigen採用整流的流量方法進行優化,這與傳統的DDPM方法不同。它在噪聲和數據之間進行線性插值,訓練模型以基於噪聲數據,時間步長和條件信息直接回歸目標速度。
訓練目標最大程度地減少了加權平方誤差損失,強調了圖像編輯任務中發生變化以防止模型過度擬合到不變區域的區域。
雜種逐漸以增加圖像分辨率的訓練,將數據效率與美學質量平衡。
培訓細節,包括分辨率,步驟,批量規模和學習率,如下:
階段 | 圖像分辨率 | 訓練步驟(K) | 批量大小 | 學習率 |
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 | 多種的 | 80 | 104 | 2E-5 |
通過其創新的體系結構和高效的培訓方法,Omnigen在擴散模型中設定了新的基準測試,從而為廣泛的應用提供了多功能和高質量的圖像生成。
為了在圖像生成中啟用強大的多任務處理,構建大規模和多樣化的基礎是必不可少的。 Omnigen通過重新定義模型如何在各種任務中使用多功能性和適應性來實現這一目標。
關鍵創新包括:
通過這些進步,Omnigen為實現統一和聰明的圖像生成能力設定了基準,彌合了各種任務之間的差距,並為開創性的應用鋪平了道路。
無論您是在本地環境中工作還是使用Google Colab,Omnigen都很容易開始。請按照下面的說明安裝和使用Amnigen來生成文本或多模式輸入的圖像。
要安裝Omnigen,請首先克隆GitHub存儲庫並安裝軟件包:
克隆綜合存儲庫:
git克隆https://github.com/vectorspacelab/omnigen.git CD Omnigen PIP安裝-e PIP安裝全材
可選:如果您願意避免衝突,請創建一個專門的環境:
#創建Python 3.10.13 Conda環境(您也可以使用Virtualenv) conda create -n omnigen python = 3.10.13 conda激活綜合劑 #安裝具有適當CUDA版本的Pytorch(例如,CU118) PIP安裝火炬== 2.3.1 Cu118 Torchvision -extra-index-url https://download.pytorch.org/whl/cu118 ! #克隆並安裝綜合劑 git克隆https://github.com/vectorspacelab/omnigen.git CD Omnigen PIP安裝-e。
安裝綜合劑後,您可以開始生成圖像。以下是如何使用綜合管道的示例。
Omnigen允許您從文本提示中生成圖像。這是一個簡單的例子,可以生成一個男人喝茶的圖像:
來自Amnigen進口AmnigenPipeline pipe = omnigenpipeline.from_pretrataining(“ shitao/omnigen-v1”) #從文本中生成圖像 圖像=管道( 提示='''現實照片。一個年輕女子坐在沙發上, 拿著書並面對相機。她穿著精緻 銀箍耳環裝飾有微小的閃閃發光鑽石 這抓住了光,她長長的栗色頭髮級聯 在她的肩膀上。她的眼睛專注而溫柔,構造了 長長的黑睫毛。她穿著舒適的奶油毛衣, 這補充了她溫暖,誘人的微笑。在她身後,那裡 是一張桌子,上面放著一杯水,上面有一杯,極簡的藍色杯子。 背景是一個寧靜的室內環境,具有柔和的自然光 通過窗戶過濾,裝飾有高雅的藝術和花朵, 創造舒適和和平的氛圍。 4K,高清'', 高度= 1024, 寬度= 1024, gudance_scale = 2.5, 種子= 0, ) 圖像[0] .save(“ example_t2i.png”)#保存生成的圖像 圖像[0] .show()
您也可以將Omnigen用於多模式生成,其中包含文本和圖像。這是一個示例,其中包含圖像作為輸入的一部分:
#生成帶有文本和提供的圖像的圖像 圖像=管道( 提示=“ <img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875770560.jpg" class="lazy" alt="Omnigen:統一的圖像生成方法" > <img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875770560.jpg" class="lazy" alt="Omnigen:統一的圖像生成方法" > \ n卸下女士的耳環。用充滿閃閃發光的冰川的透明玻璃替換杯子。 。”, input_images = [“ ./ imgs/demo_cases/edit.png ”],, 高度= 1024, 寬度= 1024, gudance_scale = 2.5, img_guidance_scale = 1.6, 種子= 0 ) 圖像[0] .save(“ example_ti2i.png”)#保存生成的圖像
下面的示例演示了Omnigen的高級計算機視覺(CV)功能,特別是其從圖像輸入中檢測和渲染人骨架的能力。此任務將文本指令與圖像結合在一起,以產生準確的骨骼檢測結果。
從PIL導入圖像 #定義骨架檢測的提示 提示=“在此圖像中檢測人的骨架:<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875978150.jpg" class="lazy" alt="Omnigen:統一的圖像生成方法" > <img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875978150.jpg" class="lazy" alt="Omnigen:統一的圖像生成方法" >” input_images = [“ ./imgs/demo_cases/edit.png”] #使用骨架檢測生成輸出圖像 圖像=管道( 提示=提示, input_images = input_images, 高度= 1024, 寬度= 1024, gudance_scale = 2, img_guidance_scale = 1.6, 種子= 333 ) #保存並顯示輸出 圖像[0] .save(“ ./ imgs/demo_cases/skeletal.png”) #顯示輸入圖像 打印(“輸入圖像:”) 對於Input_images中的IMG: image.open(img).show() #顯示輸出圖像 打印(“輸出:”) 圖像[0] .show()
該示例演示了Amnigen的受試者驅動的能力,可以從多個輸入圖像提示中描述的個體識別個人,並生成這些主題的組圖像。該過程是端到端的,不需要外部識別或細分,展示了無所物在處理複雜的多源場景方面的靈活性。
從PIL導入圖像 #定義主題驅動一代的提示 提示=(( “一個教授和一個男孩一起讀書。” “教授是<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226876123951.jpg" class="lazy" alt="Omnigen:統一的圖像生成方法" > 的中間人。” “男孩是拿著書<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226876123951.jpg" class="lazy" alt="Omnigen:統一的圖像生成方法" > 的男孩。” ) input_images = [[ #用描述的主題生成輸出圖像 圖像=管道( 提示=提示, input_images = input_images, 高度= 1024, 寬度= 1024, gudance_scale = 2.5, img_guidance_scale = 1.6, syte_cfg_infer = true, 種子= 0 ) #保存並顯示生成的圖像 圖像[0] .save(“ ./ imgs/demo_cases/entity.png”) #顯示輸入圖像 打印(“輸入圖像:”) 對於Input_images中的IMG: image.open(img).show() #顯示輸出圖像 打印(“輸出:”) 圖像[0] .show()
主題驅動的能力:我們的模型可以在多人圖像中識別所描述的主題,並從多個來源生成個體的組圖像。此端到端過程不需要額外的識別或細分,強調了無非的靈活性和多功能性。
Omnigen的多功能性在不同領域開闢了許多應用:
隨著綜合劑的不斷發展,未來的迭代可能會進一步擴展其功能,有可能融合更先進的推理機制並提高其在復雜任務上的性能。
Omnigen是一種革命性的圖像生成模型,將文本和圖像輸入結合到一個統一的框架中,克服了穩定擴散和DALL-E等現有模型的局限性。通過集成變量自動編碼器(VAE)和變壓器模型,它簡化了工作流程,同時啟用了多功能任務,例如文本到圖像生成和圖像編輯。憑藉多模式生成,主題驅動的定制和少數學習的能力,Omnigen在生成藝術和數據增強等領域開闢了新的可能性。儘管有一些局限性,例如長期文本輸入和細節的挑戰,Omnigen仍將塑造視覺內容創建的未來,為各種應用程序提供強大,靈活的工具。
A. Omnigen是一種統一的圖像生成模型,旨在處理各種任務,包括文本對圖像生成,圖像編輯和多模式生成(結合文本和圖像)。與傳統模型不同,Omnigen不依賴於特定於任務的擴展,提供了更廣泛和可擴展的解決方案。
Q2。是什麼使Amnigen與其他圖像生成模型不同?A. Omnigen由於其簡單的體系結構而脫穎而出,該體系結構結合了變異自動編碼器(VAE)和變壓器模型。這使其可以在統一的框架中處理文本和圖像輸入,從而無需其他組件或修改即可實現多種任務。
Q3。運行無金的系統要求是什麼?答:為了有效地運行Allnigen,建議使用具有CUDA啟用GPU的系統。該模型已在A800 GPU上進行了培訓,並且使用鍵值緩存機制受益於GPU加速度的推理過程。
本文所示的媒體不由Analytics Vidhya擁有,並由作者酌情使用。
以上是Omnigen:統一的圖像生成方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!