【AI輔助動畫制作】動畫自動上色?使用Stable Diffusion能自動完成動畫上色工作嗎?

????????動畫制作流程中,許多環(huán)節(jié)帶有勞動密集型產(chǎn)業(yè)的色彩:重復(fù)枯燥、沒有技術(shù)含量,上色便是其中最具代表性的一環(huán)。對于一部預(yù)算中等,一集長達24分鐘的動畫,需要繪制將近4000-6000張原動畫,這些畫面的上色工作往往通過發(fā)包下請,由大量的上色人員(50-100人)手動完成。上色人員在拿到色見本、人物設(shè)定等必要參考后,結(jié)合畫面中的色彩指示對線稿進行上色作業(yè)。這一過程漫長且重復(fù)、拿油漆桶能夠倒得懷疑人生。索性AI技術(shù)的發(fā)展能夠有希望讓這一過程實現(xiàn)自動化。
? ? ? ? 2023年AIGC井噴式的增長讓所有人都對AI技術(shù)刮目相看,以StableDiffusion、Midjourney為代表的Diffusion大模型成為了各大游戲公司、電商平臺用于“降本增效”所青睞的潛力對象。AIGC在靜態(tài)插畫生成領(lǐng)域中的應(yīng)用如火如荼,這一技術(shù)是否能夠遷移到動畫的輔助制作中,成為了一部分動畫人和AI研究者所思考的問題,于是、在動畫上色方面,我們能很自然地想到一個問題:
????????AI是否已經(jīng)足夠聰明到能夠自動對動畫進行上色了呢?
????????
????????先說結(jié)論:盡管StableDiffusion(SD)已經(jīng)在插畫繪制、插畫上色上做到惟妙惟肖,但對于動畫來說,AI距離那個終極目標還難以望人工隊的項背。

????????日前、B站上已經(jīng)有UP主開始了各種AI輔助自動上色的嘗試

? ? ????通過訓(xùn)練LoRA的形式、我們可以在StableDiffusion的底模上學(xué)習(xí)一個人物模型,讓AI學(xué)習(xí)到想要上色的人物特征(比如服裝、頭發(fā)顏色),然后通過ControlNet把沒有上色的線稿傳遞給模型,然后讓AI模型在線稿上繪制出帶有人物特征的圖像,如此實現(xiàn)對線稿的自動上色。
? ? ????為了實現(xiàn)這一流程,我們首先需要對一部分的原畫(不少于20張)進行手動上色,然后將這一部分的數(shù)據(jù)作為用于訓(xùn)練LoRA的數(shù)據(jù)集。雖然在這過程中,手動上色是必不可少的,但是在畫面比較復(fù)雜的情況下(比如京紫),AI上色所帶來的速度優(yōu)勢人工無法睥睨,當然,這一切的前提是:AI能夠按照我們期望的樣子正確上色。如果因為AI不夠可靠導(dǎo)致需要返工人為手動上色、那么就得不償失了。
? ? ????那么,目前AI上色能做到什么什么程度呢?我在書記舞的原畫線稿(模擬)上進行了初步的嘗試,測試了多種底模和ckpt,進行了一定的tag優(yōu)化調(diào)試,以下是目前能夠達到的效果:

????????雖然人物部位的線條關(guān)系在大部分的生成圖像中正確,但是當查看細節(jié)時,SD的效果就變得慘不忍睹:不僅色彩不穩(wěn)定,時常出現(xiàn)偏色和漏色,最重要的是,原畫的線稿被嚴重改變了。原先粗細均勻的二值原畫線稿被SD轉(zhuǎn)換成了高頻信號缺失的線條,這種上色是絕對不可能被接受的。

????????在UP主@天鳴大人的這這段演示中,他使用了SD制作了一段較為流暢的AI動畫。背景美術(shù)由SD制作,角色上色采用SD+LoRA的形式,但與書記舞不同的是,UP主展示出來的效果較為理想,上色正確,線條準確。推測一方面是由于UP主角色細節(jié)較為簡單,顏色單一、線條明顯,另一方面,UP主可能用了其他的技術(shù)對畫面進行了穩(wěn)定。如果有機會的話,日后可以嘗試和這位UP主溝通,看看能不能討論實現(xiàn)上的技術(shù)的細節(jié)~

????????AI技術(shù)用于輔助動畫制作的原則是實現(xiàn)與傳統(tǒng)動畫制作流程的完美結(jié)合(而不是改變動畫制作流程),讓動畫人更快速、方便、自由地創(chuàng)作作品。舉個例子,在自動上色的場景中,一個理想的AI自動上色技術(shù)應(yīng)該做到以下三點:
給定色見本、色彩設(shè)計、人物設(shè)定和色彩指定,自動實現(xiàn)對原畫線稿準確快速地上色。
生成的圖像要像人工上色一樣可以方便人工進行更改,意味著最好是能夠按照區(qū)塊進行上色,同一個區(qū)塊里面的RGB值是完全一樣的。
絕不改變原有的原畫線稿。
而不是:
輸入腳本和分鏡,讓AI自動生成分鏡、人物設(shè)定,然后自動完成原畫、動著、最好是直接把整個動畫給做好。
????????當然,AI動畫不會止步于此,隨著StableDiffusion的改進版SDXL的發(fā)布,AIGC大模型的真正價值才顯露出冰山一角。況且,AI并不只有AIGC,傳統(tǒng)的AI技術(shù)(相較于大模型而言)同樣在不斷發(fā)展尋找AI輔助動畫制作的出路。

????????由于筆者能力有限,使用SD的經(jīng)驗難免有不足之處,如果有建議歡迎聯(lián)系筆者交流討論(一起寫論文..)以下是用于訓(xùn)練SD和LoRA的參數(shù),僅供參考:
prompt:
<lora:fujibara_ori_tags_resized:1>, fujibara, 1girl, best quality, white background, pink hair, black dress, high quality, fine_details, ultra_quality
Negative prompt:
bad face, bad anatomy, bad proportions, bad perspective, multiple views, concept art, reference sheet, mutated hands and fingers, interlocked fingers, twisted fingers, excessively bent fingers, more than five fingers, lowres, bad hands, text, error, missing fingers, extra digits, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name, low quality lowres, multiple breasts, low quality low res mutated hands and fingers, more than two arms, more than two hands, more than two legs, more than two feet, low quality low res long body, low quality lowres mutation poorly drawn, bad anatomy, liquid body, liquid tongue, disfigured, malformed, mutated, anatamical nonsense, text font UI, malformed hands, long neck, nsfw
---LoRA---
底模型: sd1.5 - AnyLoRA
batchsize: 1
repeat: 20
epoch: 20
總步數(shù): 32 x 20 x 10 / 1 = 6400
Mixed precision: fp16
learning rate: 1e-4
text encoder learning rate: 1e-5
unet learning rate: 1e-4
lr scheduler: cosine
optimizer: AdamW8bit
network rank dimension: 128
network alpha: 64
max resolution: 512,512
Keep n tokens: 0
Clip skip: 1
Shuffle caption: no
---img2img---
crop and resize
sampling method: DPM++ 2M Karras
sampling steps: 20
width: 768
height: 512
CFG Scale: 8
Denoising strength: 0.99
---controlnet---
controlnet unit 0
control type: canny
preprocessor: invert(from white bg & black line)
Model: control_sd15_canny[fef5e48e]
control weight: 1.25
starting control step: 0
ending control step: 1
preprocessor resolution: 512
balanced
crop and resize: 768x512
pixel perfect: no
以上。
