目錄
為什麼效果這麼自然?
研究團隊
首頁 科技週邊 人工智慧 不會PS沒關係,AI拼圖技巧已經能以假亂真

不會PS沒關係,AI拼圖技巧已經能以假亂真

Apr 04, 2023 pm 12:15 PM
ai 影像

話說這兩年,「文字生成圖像的擴散模型」著實大火了一把,DALL·E 2和Imagen都是基於此開發出來的應用。

本文經AI新媒體量子位元(公眾號ID:QbitAI)授權轉載,轉載請聯絡來源。

這是一份看似平平無奇的日式便當。

不會PS沒關係,AI拼圖技巧已經能以假亂真

但你敢信,其實每一格食物都是P上去的,而且原圖還是醬嬸兒的:

不會PS沒關係,AI拼圖技巧已經能以假亂真

△直接摳圖貼上去,效果一眼假

背後操作者並不是什麼PS大佬,而是一隻AI,名字很直白:拼圖擴散(Collage Diffusion)。

隨便找幾張小圖拿給它,AI就能自己看懂圖片內容,再把各元素非常自然地拼成一張大圖——完全不存在一眼假。

其效果驚艷了不少網友。

甚至還有PS愛好者直呼:

這簡直是天賜之物…希望很快能在Automatic1111( Stable Diffusion用戶常用的網路UI,也有整合在PS中的插件版)中看到它。

不會PS沒關係,AI拼圖技巧已經能以假亂真

為什麼效果這麼自然?

實際上,此AI生成的「日式便當」還有好幾個生成版本——都很自然有木有。

不會PS沒關係,AI拼圖技巧已經能以假亂真

#至於為啥還有多種版本?問就是因為使用者還能自訂,在整體不變得太離譜的前提下,他們可以微調各種細節。

除了“日式便當”,它還有不少出色的作品。

例如,這是拿給AI的素材,P圖痕跡明顯:

不會PS沒關係,AI拼圖技巧已經能以假亂真

這是AI拼好的圖,反正我愣是沒看出什麼P圖痕跡:

不會PS沒關係,AI拼圖技巧已經能以假亂真

話說這兩年,「文字生成影像的擴散模型」著實大火了一把,DALL·E 2和Imagen都是基於此開發出來的應用。這種擴散模型的優點,是生成圖片多樣化、品質較高。

不過,文字終究對於目標圖像,最多只能起到模糊的規範作用,所以用戶通常要花大量時間調整提示(prompt),還得搭配上額外的控制組件,才可以得到不錯的效果。

就拿前文展示的日式便當來說:

如果用戶只輸入“一個裝有米飯、毛豆、生薑和壽司的便當盒”,那就既沒描述哪種食物放到哪一格,也沒有說明每種食物的外觀。但如果非要講清楚的話,使用者恐怕得寫一篇小作文了…

有鑑於此,史丹佛團隊決定從別的角度出發。

他們決定參考傳統思路,透過拼圖來產生最終影像,並由此開發出了一種新的擴散模型

有趣的是,說白了,這種模型也算是用經典技術「拼」出來的。

首先是分層:使用基於圖層的影像編輯UI,將來源影像分解成一個個RGBA圖層(R、G、B分別代表紅、綠、藍, A代表透明度),然後將這些圖層排列在畫布上,並將每個圖層和文字提示配對。

透過分層,可以修改影像中的各種元素。

到目前為止,分層已經是電腦圖形領域中成熟的技術,不過先前分層資訊一般是作為單張圖片輸出結果使用的。

而在這個新型「拼圖擴散模型」中,分層資訊成了後續操作的輸入。

不會PS沒關係,AI拼圖技巧已經能以假亂真

除了分層,還搭配了現有的基於擴散的影像協調技術,提升影像視覺品質。

總而言之,演算法不僅限制了物件的某些屬性(如視覺特徵)的變化,同時允許屬性(方向、光照、透視、遮蔽)發生改變。

——從而平衡了還原度和自然度之間的關係,產生「神似」且毫無違和感的圖片。

操作過程也很easy,在互動編輯模式下,使用者在幾分鐘內就能創作一幅拼貼畫。

他們不僅可以自訂場景中的空間排列順序(就是把從別處扣出來的圖放到適當的位置);還能調整生成影像的各個元件。用同樣的來源圖,可以得到不同的效果。

不會PS沒關係,AI拼圖技巧已經能以假亂真

△最右邊列是這個AI的輸出結果

而在非互動模式下(即使用者不拼圖,直接把一堆小圖丟給AI),AI也能根據拿到的小圖,自動拼出一張效果自然的大圖。

研究團隊

最後,來說說背後的研究團隊,他們是史丹佛大學電腦科學系的一群師生。

不會PS沒關係,AI拼圖技巧已經能以假亂真

論文一作,Vishnu Sarukkai現為史丹佛電腦科學系研究生,還是碩博連讀的那種。

不會PS沒關係,AI拼圖技巧已經能以假亂真

他的主要研究方向為:電腦圖形學、電腦視覺和機器學習。

此外,論文的共同作者Linden Li,也是史丹佛計算機科學系研究生。

不會PS沒關係,AI拼圖技巧已經能以假亂真

在校求學期間,他曾到英偉達實習4個月,與英偉達深度學習研究小組合作,參與訓練了增加100M 參數的視覺轉換器模型。

論文網址:https://arxiv.org/abs/2303.00262

不會PS沒關係,AI拼圖技巧已經能以假亂真

以上是不會PS沒關係,AI拼圖技巧已經能以假亂真的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
C  中的chrono庫如何使用? C 中的chrono庫如何使用? Apr 28, 2025 pm 10:18 PM

使用C 中的chrono庫可以讓你更加精確地控制時間和時間間隔,讓我們來探討一下這個庫的魅力所在吧。 C 的chrono庫是標準庫的一部分,它提供了一種現代化的方式來處理時間和時間間隔。對於那些曾經飽受time.h和ctime折磨的程序員來說,chrono無疑是一個福音。它不僅提高了代碼的可讀性和可維護性,還提供了更高的精度和靈活性。讓我們從基礎開始,chrono庫主要包括以下幾個關鍵組件:std::chrono::system_clock:表示系統時鐘,用於獲取當前時間。 std::chron

如何理解C  中的DMA操作? 如何理解C 中的DMA操作? Apr 28, 2025 pm 10:09 PM

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

怎樣在C  中處理高DPI顯示? 怎樣在C 中處理高DPI顯示? Apr 28, 2025 pm 09:57 PM

在C 中處理高DPI顯示可以通過以下步驟實現:1)理解DPI和縮放,使用操作系統API獲取DPI信息並調整圖形輸出;2)處理跨平台兼容性,使用如SDL或Qt的跨平台圖形庫;3)進行性能優化,通過緩存、硬件加速和動態調整細節級別來提升性能;4)解決常見問題,如模糊文本和界面元素過小,通過正確應用DPI縮放來解決。

C  中的實時操作系統編程是什麼? C 中的實時操作系統編程是什麼? Apr 28, 2025 pm 10:15 PM

C 在實時操作系統(RTOS)編程中表現出色,提供了高效的執行效率和精確的時間管理。 1)C 通過直接操作硬件資源和高效的內存管理滿足RTOS的需求。 2)利用面向對象特性,C 可以設計靈活的任務調度系統。 3)C 支持高效的中斷處理,但需避免動態內存分配和異常處理以保證實時性。 4)模板編程和內聯函數有助於性能優化。 5)實際應用中,C 可用於實現高效的日誌系統。

怎樣在C  中測量線程性能? 怎樣在C 中測量線程性能? Apr 28, 2025 pm 10:21 PM

在C 中測量線程性能可以使用標準庫中的計時工具、性能分析工具和自定義計時器。 1.使用庫測量執行時間。 2.使用gprof進行性能分析,步驟包括編譯時添加-pg選項、運行程序生成gmon.out文件、生成性能報告。 3.使用Valgrind的Callgrind模塊進行更詳細的分析,步驟包括運行程序生成callgrind.out文件、使用kcachegrind查看結果。 4.自定義計時器可靈活測量特定代碼段的執行時間。這些方法幫助全面了解線程性能,並優化代碼。

量化交易所排行榜2025 數字貨幣量化交易APP前十名推薦 量化交易所排行榜2025 數字貨幣量化交易APP前十名推薦 Apr 30, 2025 pm 07:24 PM

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

給MySQL表添加和刪除字段的操作步驟 給MySQL表添加和刪除字段的操作步驟 Apr 29, 2025 pm 04:15 PM

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,刪除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段時,需指定位置以優化查詢性能和數據結構;刪除字段前需確認操作不可逆;使用在線DDL、備份數據、測試環境和低負載時間段修改表結構是性能優化和最佳實踐。

C  中的字符串流如何使用? C 中的字符串流如何使用? Apr 28, 2025 pm 09:12 PM

C 中使用字符串流的主要步驟和注意事項如下:1.創建輸出字符串流並轉換數據,如將整數轉換為字符串。 2.應用於復雜數據結構的序列化,如將vector轉換為字符串。 3.注意性能問題,避免在處理大量數據時頻繁使用字符串流,可考慮使用std::string的append方法。 4.注意內存管理,避免頻繁創建和銷毀字符串流對象,可以重用或使用std::stringstream。

See all articles