讓AI幫你成為超級英雄 — 談怎麼用自己的照片來做AI繪圖

更新於 2023/05/20閱讀時間約 12 分鐘
Under the sea - using self-trained LORA
看到AI的繪圖,大家心裡頭的感受是什麼? 這個問題我也問了很多身邊的同事,有些人覺得AI繪畫非常的酷炫,有些人覺得將來設計師不用幹了,也有一些人看到AI繪畫真人的時候覺得以後都無法判斷什麼照片是真的是假的了。 試用AI繪圖的時候,你心裡頭的感覺又是怎麼樣子的呢?我想大部分的人應該都是覺得這個東西超酷的,所以開始玩,但是過了一陣子以後呢靈感枯竭,想說AI繪圖大概就是這個樣子吧。
今天我這邊提供大家一個方法,讓大家可以自己成為這些AI繪圖的主角,也就是在AI裡面建立屬於你自己個人的模型。那麼AI繪圖對你來說不僅僅只是AI繪圖而已,而是可以把你或是家人朋友帶入各式各樣的角色裡面成為海報的主角,成為故事的主角,這個東西保證大家沒有這麼容易玩膩。大家可能比較少在英文網站以外的地方看到這類的教學,這是因為這部分的訓練的的確比較有一些技術的門檻,我這邊會嘗試用比較簡單的方式讓大家可以一個步驟一個步驟照著做,就能夠達到我們想要達到的結果。
這邊也跟大家先說明一下,唯一的一個需求就是你的電腦需要有獨立顯示卡,至少6GB的VRAM,其實如果沒有獨立顯示卡那麼也有其他的方法可以克服,這個我會補充在其他篇的文章之中。
AI訓練的方式呢,有分好多種。至少就有Dreambooth Checkpoint, LORA, textual inversion 跟 Hypernetworks. 我這篇先介紹的是LORA的方法,如果養有時間就會再另外撰寫一篇使用Checkpoint的方式。 LORA的方式好處是訓練出來的結果可以搭配各式各樣的Model使用,我個人測試的結果可以捕捉的到神韻,但是又可以產出非常有美術風格的產品,如果你的目的是要訓練一個人物的肖像的話,那麼我認為LORA應該是最推薦的做法,因為Checkpoint訓練不易且很容易改變整個出圖的風格跟細緻度,訓練不好非常可能會降低圖片的品質,Textual Inversion跟Hypernetwork則是比較輕量化,比較適合做風格或是細節的調整。
訓練自己的一個LORA真的不是一件容易的事情,為了能讓大家也能跟著實作,我們把產出自己的LORA Model這件事情拆解成為底下六個步驟
1. 收集好訓練用的圖片
2. 預先處理圖片
3. 安裝訓練用的程式
4. 設定訓練用的參數
5. 開始訓練
6. 測試訓練出來的結果
首先我們來進行第一步,收集好訓練用的圖片,我想絕大多數人都會先從訓練自己的模型,或是替身邊親密的家人建立模型開始,我自己也是先從這邊開始玩,這邊特別感謝痔瘡手術女醫師-鍾雲霓提供照片讓我們這個blog作為範本,所以我們全部文章的照片都會以鍾醫師作為範本來練習(各位如果不想用家人的話,也可以用stable diffusion資料庫裏面沒有的名人來做練習)。
玩到上癮以後就可以開始鑽研怎樣把圖片產生的更有美感,更有變化的。 所以我們的範例就先從訓練人臉開始,收集人臉照片當然是第一步了,我自己到目前為止的訓練心得大概如下
1. 收集能夠清晰看到臉部的照片,至少15張,數量多的話更好,我自己是用25張左右下去訓練
2. 可以的話能夠有多版本的角度,還有不同表情會更好
3. 為了避免AI訓練的時候混淆,儘量照片裡面不要有其他的人臉存在
這些照片,可以的話稍微經過裁切處理,這邊不用太要求,只要清晰,然後人物的臉很清楚就好了。
接下來就是第二步,要來預先處理圖片,可以請大家直接到以下這個網站
https://www.birme.net/?target_width=512&target_height=512
將圖片在Birme做裁切以及Resize
把照片一口氣全部上傳上去,然後每一張圖片都可以選擇要裁切的部分,選好以後按下右邊的Save Files就可以一口氣下載了。我這邊的範例是裁切成512x512,因為我有很多人臉解析度都沒有太高,如果大家有高解析度,清晰的人臉,那不妨考慮裁切成768x768等更高的解析度的照片。
下載下來的照片,要麻煩大家做特殊的處理,首先是要設計一個Keyword, 這個Keyword就是將來AI繪圖軟體聽到這個單字的時候,就知道要畫這個特定的你訓練過的人物,這就是好像跟AI約好一個魔法單字一樣,他聽到這個魔法單字就把你畫出來。而且這個keyword不可以是已知的單字,否則AI就會把你這個特定的人物跟他已知的物體搞混了。舉例來說,我這邊選的Keyword 是”sksxandra” 這個不存在的單字。
我們需要依照特殊的結構,來擺放這些裁切好的圖片檔案,首先請大家用Key word 為資料夾名稱建立一個資料夾,然後裡面依序開三個資料夾,分別為image, model, log這三個名字如圖
訓練用資料夾架構
接下來進入到image這個資料夾裡面,創造一個資料夾,名稱是100_keyword,請大家把keyword換成自己的keyword以我們例子來說我就創建了100_sksxandra這個資料夾
放實際上的圖片的資料夾
最後,把你剛剛下載下來裁切好的圖片都放到這個100_keyword資料夾裡面。最後呢,需要把這些圖片檔都更名成為類似的檔名,這步該怎麼做呢? 教大家一個簡單的方法,把資料夾裡面的檔案都全選起來,直接按滑鼠右鍵更改名字,打上你的keyword,voila! 就會發現windows自動幫你把每個檔名都改好了!
Batch rename your jpg files
接下來是第三步驟,需要去安裝我們訓練Model用的程式,這邊請容許我耍個懶,請大家參考這位大大的文章
日後我應該也會補充一篇文章,說明該怎麼簡單無痛的安裝這個軟體。
接下來是第四個步驟,需要依靠這個軟體來產生所謂的文字說明檔案。
請大家到Kohya-ss安裝的資料夾裡面點擊gui.bat
看到如下的畫面的時候,打開你的瀏覽器(Chrome/Edge/Safari都可以),然後鍵入這個畫面上寫的URL http://127.0.0.1:7860/
就可以看到Kohya-ss的執行畫面了
Kohya-ss GUI
首先在最上方的tab選擇Utilties 這個按鈕,然後第二層選Captioning, 第三層選BLIP Caption. 下方的Image folder 選擇你剛剛存放影像的那個位置,然後在下方的prefix to add to BLIP cation請記得打上你的keyword,就可以開始Caption images! 第一次用的時候可能會發現視窗會自動下載很多程式安裝,會需要不少時間,但是第二次使用以後很快就會完成了。完成以後就會發現原本放圖片的資料夾多了很多的txt檔案,這些檔案就是告訴AI,到底每一張圖片裡面是什麼,這樣AI才可以清楚辨別要學習的人物,還有不相干的背景是什麼。 到這邊我們才算真正替AI準備好了要學習用的資料集(datasets)。大家可以回頭複習一下我這篇文章,有說明AI怎麼學習產生圖片的。這個資料夾裡面就是一張照片搭配一張說明,讓AI可以看著圖看著文字敘述,去學習怎麼產生這個圖片裡面的人物。
第五個步驟,終於準備就緒,要來訓練我們自己的data了,這時候我們到Kohya_ss的網頁之中,選擇Dreambooth LORA這個Tab,如下圖一般到這個頁面,把Image folder選擇我們剛剛創建的那個image 資料夾(要注意,是上一層的資料夾,不是真正放檔案的100_keyword資料夾), output folder選擇剛剛創建的model 資料夾, log folder選擇我們剛剛創建的 log那個資料夾,如下圖
LORA training folder正確的方法
接下來要設定訓練用的參數,滑鼠點選隔壁的training parameter頁面更改一些參數,以下是個人建議的參數,把精度都改成fp16或是bf16, Number of CPU thread per core 設成2, 下面的兩個參數Network Rank改成256, Network Alpha改成64,最後就可以按下最下方的按鈕Train Model開始下去訓練了。如果剛剛你的照片解析度最高有到達768 pixel的,那麼下方的Max resolution記得改成768,768。(如果顯示卡記憶體更大的,就可以挑戰更大的訓練照片,應該效果會更佳,以6G VRAM來說,可能只能負擔512,512)
Training Parameters
實際上訓練的時間每張顯示卡不太一樣,以我個人的電腦RTX3070Ti 來說大概需要15分鐘的時間可以完成訓練,完成後大家會看到model這個資料夾裡面有一個 keyword.safetensor 這個檔案,這個檔案就是大家的心血結晶了! (以我的例子而言 就是sksxandra.safetensor這個檔案)
最後一個步驟當然就是要去Stable diffusion裡面去測試自己的心血結晶,首先要請各位把這個keyword.safetensor這個檔案放到 [stable diffusion安裝資料夾]\models\Lora 這邊,然後launch stable diffusion Automatic 1111 UI。
那麼,要怎麼使用自己剛剛辛苦training 出來的LORA呢? 很簡單就是在automatic 1111 UI中點擊下圖 Generate 大按鈕底下的這個圖示(如我紅框框起來處),然後選擇LORA(藍色框框處),然後找到自己剛剛放進去的Lora點擊一下,就會發現Prompt 裡面自動加入了<lora:keyword:1> (以我的例子是加入了<lora:sksxandra:1>,這就代表Lora會有作用了!
How to use Lora in stable diffusion
這時候先用簡單的Prompt測試一下,以我剛剛的簡單prompt : a beautiful woman wearing white T-shirt, <lora:sksxandra:1>會得到大概是這樣的圖案
a beautiful woman wearing white T-shirt, SD 1.5 base model
呃...好吧確實人物神韻有到,可以看的出來真的有訓練出來了,但是圖片不夠美麗。接下來當然就是可以去調整prompt內容,並且搭配漂亮的Base Model把照片變得更漂亮。怎麼樣下好的Prompt這足足可以寫好多篇文章,我後面肯定會帶到的。
另外一提 <lora:keyword:1>這個1的數字就是權重,大部分的時候1這個數字都有點太高,大家可以嘗試看看0.9~0.6 之間去玩玩看,看看人物的臉變化如何,應該就可以玩出心得來。
最後,再把自己過去用得比較得意的一些prompt拿來套這個Lora 試試看是否有抓到神韻。LORA的最大好處,就是可以任意的跟所有的ckpt model搭配,而且過去你用得很開心的prompt都可以直接拿來套用,只要在prompt尾端加上<lora:keyword:權重>就可以了。 底下這張就是完全一樣的prompt : a beautiful woman wearing white T-shirt, <lora:sksxandra:1>搭配一個很棒的ckpt model dreamshaper5的結果
a beautiful woman wearing white T-shirt, SD 1.5 dreamshaper 5 model
底下就是我這個範例套上很好的Model再搭配過去一些比較成功的prompt產出的結果,可以看到的LORA確實是有效的,只要搭配成功的Prompt跟Base model,一樣可以得到令人驚豔的效果的!
為什麼會看到廣告
技術PM的AI實驗室,是以輕鬆的角度深入簡出的探討各種生成式AI工具的使用。無論你是想理解AI到底是怎麼運作的? 想知道有那些好用的生成式AI工具? 或者是對AI繪圖有興趣的,都歡迎加入我們的AI實驗室一起輕鬆地玩耍,我們邊玩邊學,學習跟AI一起共創新的可能。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
我們介紹過很多AI繪圖工具,但是究竟哪一個AI繪圖工具最能理解你的描述呢? 我們決定直接拿一模一樣的輸入(Prompt)餵給各種工具,讓我們來看看會得到怎樣的結果,就知道哪個AI工具最能聽懂人話,請看這篇的分析與實測。
上次我們在這篇裡面提到了如何讓ChatGPT產出更為精確的答案,實際上就是透過三大原則加上一個小提示,本偏要補充一些很實用的方式,可以讓各位即使是比較複雜的任務,也可以讓ChatGPT替你完成。
在AI的術語之中,給AI的輸入問題叫做Prompt,而問出對AI來說好的問題,或是給AI精確的指示這門技術就叫做Prompt Engineering ,這跟寫程式一樣,是需要靠學習以及練習的。我們來淺談一下這個Prompt Engineering的基本,也就是怎麼問出好的問題。
對於還完全沒有AI繪圖經驗的你,該怎麼開始呢? 很簡單,就是開始”玩”! 先從動手開始隨便玩,讓想像力帶著你到處跑,在今天這篇文章裡面我會把幾個比較熱門的AI繪圖網站/工具介紹給你,你可以不要有任何心理壓力的開始玩玩看,看看能得到什麼有趣的結果。
AI人工智慧跟一般的演算法差別在哪邊呢? 本篇就是要告訴你 為什麼無所不能ChatGPT,上知天文下知地理,可是就是有一個很明顯的弱點,請他算數學卻很常算錯,明明這個ChatGPT 充滿想像力,請他寫演講稿,草擬策略都很在行,為什麼數學就是不行呢?
這一篇來談談AI(這邊指的AI是神經網路) 到底怎麼學習畫圖的,究竟只會簡簡單單運算數字的電腦,只有簡單邏輯運算子的IC晶片到底是怎麼做到的? 本篇當然不會讓大家看長篇大論的神經網路的原理,而是用我理解這件事情的方法,講解各個各位聽聽AI繪圖的箇中道理。
我們介紹過很多AI繪圖工具,但是究竟哪一個AI繪圖工具最能理解你的描述呢? 我們決定直接拿一模一樣的輸入(Prompt)餵給各種工具,讓我們來看看會得到怎樣的結果,就知道哪個AI工具最能聽懂人話,請看這篇的分析與實測。
上次我們在這篇裡面提到了如何讓ChatGPT產出更為精確的答案,實際上就是透過三大原則加上一個小提示,本偏要補充一些很實用的方式,可以讓各位即使是比較複雜的任務,也可以讓ChatGPT替你完成。
在AI的術語之中,給AI的輸入問題叫做Prompt,而問出對AI來說好的問題,或是給AI精確的指示這門技術就叫做Prompt Engineering ,這跟寫程式一樣,是需要靠學習以及練習的。我們來淺談一下這個Prompt Engineering的基本,也就是怎麼問出好的問題。
對於還完全沒有AI繪圖經驗的你,該怎麼開始呢? 很簡單,就是開始”玩”! 先從動手開始隨便玩,讓想像力帶著你到處跑,在今天這篇文章裡面我會把幾個比較熱門的AI繪圖網站/工具介紹給你,你可以不要有任何心理壓力的開始玩玩看,看看能得到什麼有趣的結果。
AI人工智慧跟一般的演算法差別在哪邊呢? 本篇就是要告訴你 為什麼無所不能ChatGPT,上知天文下知地理,可是就是有一個很明顯的弱點,請他算數學卻很常算錯,明明這個ChatGPT 充滿想像力,請他寫演講稿,草擬策略都很在行,為什麼數學就是不行呢?
這一篇來談談AI(這邊指的AI是神經網路) 到底怎麼學習畫圖的,究竟只會簡簡單單運算數字的電腦,只有簡單邏輯運算子的IC晶片到底是怎麼做到的? 本篇當然不會讓大家看長篇大論的神經網路的原理,而是用我理解這件事情的方法,講解各個各位聽聽AI繪圖的箇中道理。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Gamma是可以使用AI在幾秒鐘內創建精美的文件,簡報和網頁。他可以快速幫你針對主題生成簡報大綱並且幫你快速產生排版美麗的簡報。
Thumbnail
讓「Gamma」幫你做簡報,還可以幫你整理簡報大綱,簡報排版美化!靈感激盪跟簡報製作就靠它了!
Thumbnail
本文為 vocus 創作者王政皓,參與「影音創作」有獎徵文獲獎作品。政皓與創作者分享自己同時經營多個自媒體心法,也提供不少製作影音內容(Podcast、影片)的眉眉角角,實用性非常高,一起來看看吧!
Thumbnail
Hi,大家好,我是茶桁。 很遗憾在上一讲,也就是第12讲的时候,咱们对于利用AI写一个VBA宏来执行Excel任务的过程并不顺利,仔细想来既然大家都在这里看这个系列文章了,应该也基本都会Python的,所以一个Excel自动化也并无太大影响,毕竟,这种商业软件的集成一定是早晚的事情,咱们也不必在这
Thumbnail
在數位時代,插圖和向量圖在許多場合中扮演重要角色,但繪製插圖對非設計師可能是挑戰。Recraft為解決方案,AI幫助生成30秒內精美插圖。無需設計背景或繪畫技巧,Recraft讓每個人輕鬆製作驚豔作品。立即嘗試Recraft,AI成為創意夥伴,提升你的設計能力,呈現美麗插圖形式!
Thumbnail
在軟體開發領域,AI工具的演進提供新方法來編寫和測試代碼。利用AI來輔助撰寫單元測試已經成為一種新的測試策略。 透過提示AI來撰寫測試代碼,可以更快速地生成測試用例,找出潛在的缺陷並解決問題,從而提高軟體開發的效率和品質。
Thumbnail
這是一本講述人工智慧的發展,以及企業在導入人工智慧會遇到的困境,和擁抱人工智慧所需要具備的條件,給身在台灣的各位一個思考的方向,是一本很值得一讀的書。
Thumbnail
你是否對工作感到無趣?是否渴望更大的影響力和報酬?那一定要懂得運用槓桿,放大工作效率和影響力!本文分享了三種商業槓桿的方法,其中包括最現代化的AI技術。AI可以讓你省下時間和精力,並提高部門營收成效,從而讓你更加輕鬆地享受生活。如果你希望成為一個高效率的職場人士,快來看看本文的具體實例吧!
Thumbnail
很多人寫英文履歷會遇到不知道怎麼用英文寫自己職務或產業的工作內容,我來分享怎麼用Chat GPT 這個AI軟體幫你找針對你職務內容的英文描述喔~
Thumbnail
當AI開始「自問自答」時,人類提問的能力是否依然這麼重要? 如果詢問AI時代需要怎麼樣的人才?或許目前的標準答案是:「會提問的人」—懂得如何對AI下提示詞,就有更高的機率,從AI獲取更有用的內容。 然而,當AI可以自己提問、自己回答、自己上網找資料的時候呢?「提問的能力」,是否還是依然這麼關鍵呢?
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Gamma是可以使用AI在幾秒鐘內創建精美的文件,簡報和網頁。他可以快速幫你針對主題生成簡報大綱並且幫你快速產生排版美麗的簡報。
Thumbnail
讓「Gamma」幫你做簡報,還可以幫你整理簡報大綱,簡報排版美化!靈感激盪跟簡報製作就靠它了!
Thumbnail
本文為 vocus 創作者王政皓,參與「影音創作」有獎徵文獲獎作品。政皓與創作者分享自己同時經營多個自媒體心法,也提供不少製作影音內容(Podcast、影片)的眉眉角角,實用性非常高,一起來看看吧!
Thumbnail
Hi,大家好,我是茶桁。 很遗憾在上一讲,也就是第12讲的时候,咱们对于利用AI写一个VBA宏来执行Excel任务的过程并不顺利,仔细想来既然大家都在这里看这个系列文章了,应该也基本都会Python的,所以一个Excel自动化也并无太大影响,毕竟,这种商业软件的集成一定是早晚的事情,咱们也不必在这
Thumbnail
在數位時代,插圖和向量圖在許多場合中扮演重要角色,但繪製插圖對非設計師可能是挑戰。Recraft為解決方案,AI幫助生成30秒內精美插圖。無需設計背景或繪畫技巧,Recraft讓每個人輕鬆製作驚豔作品。立即嘗試Recraft,AI成為創意夥伴,提升你的設計能力,呈現美麗插圖形式!
Thumbnail
在軟體開發領域,AI工具的演進提供新方法來編寫和測試代碼。利用AI來輔助撰寫單元測試已經成為一種新的測試策略。 透過提示AI來撰寫測試代碼,可以更快速地生成測試用例,找出潛在的缺陷並解決問題,從而提高軟體開發的效率和品質。
Thumbnail
這是一本講述人工智慧的發展,以及企業在導入人工智慧會遇到的困境,和擁抱人工智慧所需要具備的條件,給身在台灣的各位一個思考的方向,是一本很值得一讀的書。
Thumbnail
你是否對工作感到無趣?是否渴望更大的影響力和報酬?那一定要懂得運用槓桿,放大工作效率和影響力!本文分享了三種商業槓桿的方法,其中包括最現代化的AI技術。AI可以讓你省下時間和精力,並提高部門營收成效,從而讓你更加輕鬆地享受生活。如果你希望成為一個高效率的職場人士,快來看看本文的具體實例吧!
Thumbnail
很多人寫英文履歷會遇到不知道怎麼用英文寫自己職務或產業的工作內容,我來分享怎麼用Chat GPT 這個AI軟體幫你找針對你職務內容的英文描述喔~
Thumbnail
當AI開始「自問自答」時,人類提問的能力是否依然這麼重要? 如果詢問AI時代需要怎麼樣的人才?或許目前的標準答案是:「會提問的人」—懂得如何對AI下提示詞,就有更高的機率,從AI獲取更有用的內容。 然而,當AI可以自己提問、自己回答、自己上網找資料的時候呢?「提問的能力」,是否還是依然這麼關鍵呢?