關注我們的小伙伴一定知道,前不久我們在全國各地搞了很多場活動,現場有一個環節就是AI拍照,人氣很高。


在現場呢是很多小伙伴對這個很感興趣,想知道具體的操作方法,所以這期就和大家簡單的分享一下整個流程。

先看看效果。因為要求是賽博朋克風動漫人物轉繪,所以最后出圖就是這種賽博朋克風的動漫畫風。那具體怎么做呢,我們現在就從頭開始一步一步來實現它。

掃碼查看視頻版教程
這里我們用到的是Stable Diffusion,離線生成比較方便。我們想要的這種效果使用WEBUI和ComfyUI都能實現。
ComfyUI的工作流很方便,但是對于初學者來說理解起來可能會有點困難,而且用別人的工作流有時候可能會遇到各種報錯需要解決。

我們這里是用WebUI來跑的,雖然不能像ComfyUI那樣一鍵導入工作流就復現,但整個流程也非常簡單易懂,即使0基礎只要照著做也是幾分鐘就實現了。

推薦使用秋葉的整合包安裝部署
首先要部署好Stable Diffusion的WebUI,推薦直接用“賽博大神”秋葉的整合包(B站搜索“秋葉aaaki”)。因為要用到Controlnet,所以記得提前部署好Controlnet。這里是使用Instant_id來保持人物一致性,所以也要提前下載安裝好Instant_id的預處理器和模型。鑒于篇幅,我們這里就不詳細講解安裝過程,如有需要可以參考秋葉的使用說明和安裝教程。

接下來就是選擇并安裝合適的大模型。因為是要轉換成賽博朋克動漫風,所以這里用一些帶有賽博朋克風格的二次元的模型比較好。而Instant_id只支持SDXL,所以這里也要選用SDXL模型。
根據我們的嘗試,“彩璃二次元”“動漫二次元”“炫彩二次元”“絢麗多彩”等二次元SDXL模型都還是比較好用的。大家可以到各大SD模型網站下載使用。

我們這里選擇“彩璃二次元”這個模型做演示。出圖方法選用“文生圖”,雖然是轉繪,但是我們這個需求是可以不用“圖生圖”的。
正向提示詞這里輸入“1girl,absurdres,front view,cyberpunk, glowing neon lights,masterpiece,best quality,”(分別對應“1女孩,超高分辨率,正面視角,賽博朋克,霓虹燈,杰作,最佳質量”)。這里的1girl對應女生,如果是男生的話,就替換成1boy,其他的詞更多是營造賽博朋克氛圍和畫質的提示詞,如果你有其他的想法也可以自己修改添加。

反向提示詞“(worst quality:2),(low quality:2),(normal quality:2),lowres,normal quality,((monochrome)),((grayscale)),skin spots,acnes,skin blemishes,age spot,(ugly:1.33),(duplicate:1.33),(morbid:1.21),(mutilated:1.21),(tranny:1.33),mutated hands,(poorly drawn hands:1.5),blurry,(bad anatomy:1.21),(bad proportions:1.33),extra limbs,(disfigured:1.33),(missing arms:1.33),(extra legs:1.33),(fused fingers:1.61),(too many fingers:1.61),(unclear eyes:1.33),lowers,bad hands,missing fingers,extra digit,bad hands,missing fingers,(((extra arms and legs))),”
反向提示詞這里使用的一組通用提示詞,基本上都是質量方面的,大家可以自行發揮想象。

采樣方法選DPM系列和Euler系列都是可以的。因為模型作者推薦該模型使用DPM++ 2S a Karras,所以這里也用相同的采樣方法。迭代步數根據模型說明選用25-30步。

生成分辨率這個根據自己的需求和硬件性能來設定。因為我們的目的是要打印成6英寸照片,所以設置成了1440×900。過高的分辨率對顯存有較高的需求,而太低的分辨率會導致SDXL模型出圖有問題,推薦大家使用1024×683左右的分辨率,畫質能接受且顯存占用不會過大。
總批次數×單批數量=每次生成多少張圖。這個根據自己的需求來填,建議只修改“總批次數”,“單批數量”保持為1,過大的“單批數量”會導致顯存不足。,比如我們這里“總批次數”為4,“單批數量”為1,意思就是一共生成4批圖片,每批1張,也就是總共4張供大家挑選。

接下來就要用到ControlNet了。在第一個ControlNet單元,先傳上去一張圖,這張圖就是用于識別人物面部特征的,對于圖片的大小沒有太高的要求,但是一定要保證臉是清楚無遮擋的,表情不要太夸張。背景、姿態、動作都是無所謂的,這些會被重繪。

然后在下面勾上“啟用”和“完美像素模式”,控制類型選擇“Instant-ID”,預處理器選擇這個“instant_id_face_embedding”,模型用“ip-adapter_instant_id_sdxl”。這一步就是獲取人物的面部特征。

然后我們再啟用第二個ControlNet單元,同樣是上傳一張圖片,然后勾選“啟用”和“完美像素模式”。這張圖片用于控制生成后的圖片中人物的姿態,和上一張圖不同的是,這張圖不識別人物面部特征,所以可以用任意人的臉,甚至是二次元的都可以。
但是這張圖是要識別人物姿態的,所以最好是和前一張圖的人物面部方向一致,也就是說第一張圖是正面那就都正面,第一張圖是側面就都側面。另外,這張圖的比例最好和之前填寫的分辨率比例保持一直,否則出圖可能會有一些奇怪的拉伸。

控制類型依舊選“Instant_ID”,和之前不同的是這里預處理器選“instant_id_face_keypoints”,模型選“control_instant_id_sdxl”。同樣是稍微調整下控制權重之類的。這樣就控制了出圖的人物姿態。

設置完成后,點擊生成。我們這里是選的一次出4張圖,等待一會兒,圖就出來了,是不是還挺像那么回事吧,而且操作起來也很簡單對吧。
這個實例從原理上來講呢,就是用Instant_ID來保持人物一致性。通過文生圖生成了一張圖,然后通過Instant_ID控制姿態并換臉。所以大家也可以舉一反三,并不一定是真人轉繪成動漫人物啊,動漫轉真人也是可以這樣做的,還有AI人像之類的,其實原理上都是差不多的。

需要大家需要注意的是,因為這里用的是SDXL,而且還掛載了2個ControlNet單元,對顯存的要求還是略高,演示用的1440×960這個分辨率大概會用到13GB多的顯存,顯卡的選擇上最好就需要用到擁有16GB及更大顯存的卡了。比如我們這里用的是RTX 4080,低成本的16GB顯存的卡可以選擇RTX 4060 Ti 16GB。

如果把分辨率降到1024×683,那么顯存的占用會降低至11GB多,這樣的話12GB顯存的卡就剛好夠用,像RTX 3060 12GB、RTX 4070這些都可以輕松嘗試了。
總體來看,這是一個比較簡單的方法,適合快速出圖及抽卡體驗。不過由于整體控制不是非常精準,所以有時候會出現一些不精確的圖,但是好在簡潔易懂,對于抽卡來說還是比較方便的。適合初學的時候理解操作方法,也適合需要快出出圖的演示場合。
那么你學懂了嗎,不如趕緊動手操作起來把。
(如果想觀看視頻版教程或獲取部署好Instant_ID的整合包可以掃描以下二維碼)
