Midjourney|文心一格prompt教程[Text Prompt(上篇)]:品牌log、App、徽章、插畫、頭像場景生成,各種風格選擇:科技風、運動風

汀、人工智慧發表於2023-05-18

Midjourney|文心一格prompt教程[Text Prompt(上篇)]:品牌log、App、徽章、插畫、頭像場景生成,各種風格選擇:科技風、運動風

1.撰寫 Text Prompt 注意事項

Midjourney 跟 ChatGPT 在 prompt 的使用上有很多不一樣的地方,本章會詳細介紹下 Midjourney 的 text prompt 區別。

  • 語法

首先 Midjourney 基本上是不懂語法的,所以即使你語法錯了,只要詞對了,也能生成圖片。。

另外,不懂語法也導致了另一個問題:prompt 不是越長越好。特別是各種定語從句,它根本就不懂,還不如把指令用逗號隔開,一個個輸入。以下是官方推薦的語法建議:

  • 使用形容詞+名詞的詞序來替換介詞短語。
    • hair flowing in the wind 應該改為 flowing hair
    • a carrot for a nose 應該改為 carrot nose
  • 使用非常具體的動詞來替換介詞短語。
    • a girl with a flashlight 應該改為 a girl using a flashlight
    • a girl with a big smile on her face 應該改為 smiling girl

最後, Midjourney 是不會區分大小寫的。

  • 單詞

在單詞的部分,Midjourney 跟 ChatGPT 有點類似,它對同義詞的理解也不是很好。比如舉兩個例子:

  1. big (大)這個詞,到底指多大?越具象的大,對於 Midjourney 來說,效果越好,比如用 gigantic 就比用通用的 big 好。
  2. cats(貓)這個詞是個複數,但到底是多少隻?對於 Midjourney 來說,two cats(兩隻貓)比 cats 更明確。

另外,Midjourney 還能用 emoji 代替單詞(我覺得本質上 emoji 也是單詞),算是一個比較有意思的特性。

  • 與其說不要什麼,不如說要什麼

這個跟 ChatGPT 類似,你應該將你想要的東西說清楚,而不是告訴 Midjourney 不要什麼,如果你想讓 Midjourney 不生成某樣東西,就需要用到 引數 — no。

  • 你不說,模型就會隨機給你

因為影像資訊的資訊量遠超過文字,所以很多時候,Midjourney 會隨機填充一些內容給你,它既是缺陷,也是亮點功能。因為當你不在 prompt 裡說明這些詞時,你就能獲得發散的結果。

如果你想減少這些隨機性,就需要用到一些 prompt 框架(或者所謂的模板),本教程會由淺入深地將這個框架教給你。

  • 引數

Midjourney 還有一點跟 ChatGPT 有較大差異,它允許你在 prompt 里加入引數,而且這些引數相對來說一致性都比較好,所以如果你想實現的功能,引數裡支援,那優先使用引數,而不是在主體裡描述。你會在後續的教程中學到如何善用引數。

另外,需要注意,本教程生成的圖片預設為 V5 版本,所以我沒有在 prompt 裡就加 v5 引數。

2. 場景1:相簿圖片Stock Photo

Text Prompt 的部分難點

  1. 圖片資訊量非常大,萬能模板的確讓你生成一張及格的圖片,但很難讓你生成一個完全滿意的圖片。
  2. 要想生成一張高分圖片,需要的不僅僅是 prompt engineering,甚至還需要一些美學知識,不同場景引數的使用都是不一樣的,所以有些時候,用模板反而有點死板。

所以,我不想直接教大家所謂的萬能模板,而是透過一個個實際場景教大家如何寫好 text prompt ,因為不同場景,你告知給模型的資訊是不一樣的。

而且我認為,知道為什麼,遠比知道怎麼做更重要。當你知道為什麼後,遇到新的場景,你也能很好地解構出 prompt 裡需要什麼,而不是盲目套模板。

最後,圖片場景有非常多,我會盡量分享一些大家日常工作中能用上的。希望能讓 AI 提高你的工作效率,而不是用完即棄的玩具。

Text Prompt 開篇介紹一下 Midjourney V5 提升較大的 Stock Photo 場景。

Stock Photo 直譯為相簿圖片。一般你能在一些相簿網站上找到,這些圖片通常來自一些攝影師或設計師。部分圖片因為版權的原因,如果你需要使用則需要付費。

大部分使用 Stock Photo 的使用者都是一些設計公司,或者廣告公司。你應該常常能看到這類圖片,比如最經典的兩人握手照片:

MJ019.jpeg

我認為 AI 生成圖片對圖片庫衝擊非常大,V5 版本基本上滿足了我的 Stock Photo 需求。

技巧一:臨摹

我認為學習圖片類的 prompt,跟學習畫畫是類似的,最好的學習方法不是直接用模板。

而是拿真圖,或者別人生成的圖來臨摹。英文不好,也可以先寫中文,然後讓 ChatGPT 翻譯。當你臨摹了幾張後,你就會慢慢搞懂如何做出類似的圖了。

拿上面的那個握手圖為例,我們仔細觀察上面那張圖,圖中元素有什麼:

  1. 第一主體是兩個手,然後握在了一起,並且看起來是兩個亞裔男人。
  2. 第二兩人都穿著西裝。
  3. 第三背景看上去像是在辦公樓的大門,兩人可能是在握手告別。並且背景刻意進行虛化了,或者是使用照相機拍攝的。

MJ020.jpeg

再歸納總結下,大概的資訊:

  • 主體:兩個穿著西裝的亞裔男人在握手告別
  • 場景:辦公樓大門
  • 影像風格:stock photo,照相機拍攝,

這時候,我們就能嘗試寫一下 prompt 了(如果你覺得自己英文水平還不太行,也可以嘗試用翻譯軟體翻譯)。

stock photo of two Asian men in suits shaking hands,say goodbye in front of the main entrance of the office building,taken with Canon

Midjourney 生成的結果如下所示。

Emm ? 好像跟我們的預期不一樣。不要慌,剛開始用 Midjourney 一定會遇到這種問題,重要的是多嘗試。

<img
src={
"https://res.craft.do/user/full/d845172f-becd-4255-bf79-d722098b2d83/doc/15EA26B6-9B49-4076-B8D8-DFE53ABD52C8/E398A4A0-ECBB-4592-8CAA-AE68AED3FCCC_2/srcSfwZqzcgOymCyOlvnAMVi1okc5zsoKI3eSfA6kh8z/MJ021.png"
}
style={{width: 500}}
/>

我們再來分析下 Midjourney 為何生成了這樣的圖片?覆盤下:

  1. 首先圖片的主體,或者說焦點,我們只需要「握手」,而不是兩個人。
  2. 照相模式好像並不能實現背景虛化?更像是一種影像風格,圖四就像是一種老照片的風格。

那我們調整下 prompt,增加焦點和背景虛化關鍵詞:

stock photo of two Asian men in suits shaking hands,say goodbye in front of the main entrance of the office building, focus on two hands, taken with Canon, background bokeh

再來看看生成的結果,結果好很多,圖 1 和 圖4 基本滿足需求了,圖 2 和圖 3 裁剪一下,也能滿足我們的需求。不過需要注意,Midjourney 在人手的生成上,暫時還有點問題,你細看圖 2和圖 4,其中有一個人的手有 6 個手指 ?,但我認為未來應該會修復:

<img
src={
"https://res.craft.do/user/full/d845172f-becd-4255-bf79-d722098b2d83/doc/15EA26B6-9B49-4076-B8D8-DFE53ABD52C8/4931E039-2B61-49DB-98C1-B524E780BBC3_2/W6jeVicuOIl0RU7EqpXP71NeJ8BWY3FHgXoxFobCQmMz/MJ161.png"
}
style={{width: 500}}
/>

那我們來總結一下 prompt ,該 prompt 分成以下幾個部分:

MJ022.png

  • 第一部分(紅色線):描述你想要的內容主體。
  • 第二部分(藍色線):描述主體背景/環境。
  • 第三部分(黃色線):照片的焦點位置。
  • 第四部分(綠色線):照片的風格或者說是特殊要求。

總結下之後,你是不是就總結出了一個模板了??

技巧二:多實驗

上述的案例,我還想教給各位第二個技巧:多試驗。

圖片生成遇到不符合預期的情況,不要慌,分析問題,然後使用控制變數法,一個個調整圖片,不要急,上面我寫的 prompt 還有一個地方,不知道各位有沒有注意,就是開頭的 stock photo,試試將這兩個詞刪掉會怎樣?

two Asian men in suits shaking hands,say goodbye in front of the main entrance of the office building, focus on two hands, taken with Canon, background bokeh

生成結果也依然滿足需求,而且手指的數量也準確了,說明這個 Stock Image 對模型的影響不是很大。

<img
src={
"https://res.craft.do/user/full/d845172f-becd-4255-bf79-d722098b2d83/doc/15EA26B6-9B49-4076-B8D8-DFE53ABD52C8/BBB1BC5B-BDE3-4034-B297-46D10CEC44D6_2/iH9AHSuCO6bCVxInVZvgbnybwNXUTbwkjT9Bjumf36Mz/MJ023.png"
}
style={{width: 500}}
/>

技巧三:善用 Image2Image 功能

在 Stock Photo 場景裡,還有一個非常厲害的技巧,這個方法我一開始覺得不太適合教,因為這個對 Stock Photo 庫影響太大了 ?

但本著工具中立的原則,並且這個技巧,其實在很多場景都能用(比如生成頭像等),所以還是覺得有必要教給大家。

各位一般用 Stock Photo 庫會遇到以下幾個問題:

  1. 圖有版權,沒法商用,或者說需要付費。
  2. 有些圖,被很多人用過,其他人一眼就看出來這是 Stock Photo。
  3. 圖裡的內容大體符合要求,但細節不符合要求,比如上圖兩個亞洲男性握手,可能換成一男一女,且其中一人是黑人會好一些。

要解決這三個問題,最好的方式就是讓 AI 改一改原來的圖片。讓 AI 改圖,只需要用到 Image2Image(或者叫 Blend) 功能即可。操作步驟如下:

:::info

後來在某書刷到類似的教程,我才知道這個方法大家一般叫墊圖。老外好像一般都叫 Image2Image,或者 img2img。

:::

  1. 將你看到的不錯的 stock photo 發給 Midjourney Bot(我還是以前面的那張握手照為例)
  2. 右鍵複製該圖片的連結,然後黏貼到輸入框
  3. 在連結後加個空格
  4. 接著輸入你想要的內容,比如將其中一個人的手換成黑人,一個人換成女性:
one Afican-American hand and one Asian woman hand

生成的結果是這樣的,我在 prompt 裡沒有提任何西裝,以及場景背景資訊,就說我要一個非裔的手,一個亞裔女性的手:

MJ162.png

拋開6 根手指的問題,這個技巧是不是很高效?不過需要注意,blend 功能(這個後續教程會講到)我發現更適合兩張圖融合,圖片+文字不是很穩定,各位要有耐心,多測試一下。

3.場景2:品牌 Logo

前一章各位搞懂了基礎 prompt 後,從本章開始就會教大家更多垂直場景的 prompt。關於垂直場景,我看到大量的教程和分享都是分享各種提示詞,比如 Logo 相關的提示詞有:

  • modern
  • minimalist
  • vintage
  • cartoon
  • geometric

坦率地說,在我學習如何使用 Midjourney 的過程中,我一開始也以為只要看了別人的 prompt 用了別人的提示詞,就能生成好的圖片。

但對於新手來說,我不建議各位直接上來就記模版,記這些詞。

因為寫好一段 prompt ,你缺的不是提示詞,而是對設計的理解,甚至是想象力。

比如本章節的 Logo 設計,如果你根本不知道 Logo 包含哪些元素,適合什麼風格,你懂再多的提示詞也沒法生成滿意的 Logo。正如我 Midjourney 教程前面提到的那樣,Midjourney 跟 ChatGPT 不一樣,ChatGPT 是宣告式的,你甚至可以讓它扮演某個角色,但 Midjourney 是指令式的,你只能用指令讓它畫出你想象中的圖片。當你能很穩定地出圖後,再研究這些詞不遲。

對於普通人來說,真正阻礙我們的可能不是學會這些詞語,而是我們的審美。

常見的品牌 Logo 一般分成以下 4 種形式:

  • Graphic Logo:一般以圖形為主,像 Apple、Twitter 以及 Midjourney 就是這種 logo。
  • Lettermark Logo:一般用公司名字的首字母作為 logo 主體,像 Facebook、Tesla 還有 IBM (IBM 全稱是 International Business Machines)都是用公司名的首字母作為 logo。
  • Geometric Logo:幾何圖形組成的 logo,比如 Nike、百事可樂、萬事達卡就是這個型別。
  • Mascot Logo:以公司吉祥物為 logo 的相對來說比較少見,像米其林的 logo 就是吉祥物輪胎人,我最喜歡的烤雞餐廳 Nando’s 就是一隻?

其實常見的品牌 Logo 裡其實還有一種,是文字組合式的,文字加上面任意一種,比如 Tesla 的 完整 Logo 就是 Tesla 加一個 T。但因為 Midjourney 在文字的生成上,有非常多的問題,所以不在本章進行介紹。

MJ024.png

當你想用 AI 生成 Logo 的時候,我建議你選一個你認可的方向,然後再讓 AI 生成。

首先我們來分析一下 Graphic Logo 的特性:

  1. Logo 型別:graphic logo
  2. Logo 圖形描述:比如貓
  3. 風格:
    1. 多為扁平化設計:flat
    2. 多為向量圖形:vector graphic
    3. 簡潔:simple

根據特性撰寫的 prompt ,核心的關鍵就是將風格描述清楚:

flat vector graphic logo of cat, simple minimal

Graphic Logo 還有一種常見的設計,比如前面的例子裡 Midjourney 的 Logo 就是這種,只需要在 graphic 後加一個 line 即可:

flat vector graphic line logo of cat, simple minimal

下方左邊 4 個是沒有加 line 的版本:

MJ032.png

這個根據我的實驗,也試用了很多人寫的 prompt,我個人的感受是,這種型別的 Logo 看起來簡單,就一個字母進行變形,但讓 AI 生成反而效果很一般,而且有一個算是比較有意思的發現,用 A 字母做出來的 Logo 質量比其他字母做出來的 Logo 質量要好很多(非嚴格按照資料統計,僅個人感受)。這個型別的 Logo 有以下特點:

  1. Logo 型別:lettermark
  2. Logo 圖形描述:
    1. 純字母
    2. 字型樣式:可以按需加上喜歡的字型
  3. 風格:
    1. 向量
    2. 簡潔:simple minimal

根據特性撰寫 prompt(最後生成的是 A 和 C 的 logo,我個人感覺 A 的好很多),另外需要注意,這個例子其實是想說明,在 Midjourney 裡,語法並不重要,lettermark 不一樣要按照語法要求,寫成 lettermark logo of letter A :

letter A logo, lettermark, typography, vector simple minimal

MJ028.png

這個型別的 Logo 相對來說,雖然只有圖形,但有很多玩法,介紹兩個常用玩法:

  • 迴圈重複

如果你用的是 iPhone ,可以看看 iPhone 裡的照片應用的 Logo,它也是一個 Geometric Logo ,而且它是橢圓圖形旋轉重複,最後組合成了一朵花的形狀。拆解一下,關鍵詞是:

  1. Logo 型別:geometric logo
  2. Logo 圖形描述:
    1. 旋轉重複:radial repeating
  3. 風格:
    1. 簡潔:simple minimal

讓我們來寫一個類似的 prompt:

Flat geometric vector geometric logo of flower, petals radial repeating, simple minimal
  • 漸變

另一個常見玩法就是漸變色,如果你用的是電腦的瀏覽器是 Edge,可以去看看它的 Logo,它的 Logo 就是一個漸變色,然後是個浪的外觀。拆解一下,關鍵詞是:

  1. Logo 型別:geometric logo
  2. Logo 影像描述
    1. 浪的形狀:curved wave shape
    2. 藍綠漸變:blue green gradient
  3. 風格:
    1. 簡潔:simple minimal

讓我們來寫一個類似的 prompt:

Flat geometric vector graphic logo of curved wave shape, blue green gradient ,simple minimal

最後生成的結果是這樣的,我很喜歡花的第三個,浪的第二個:

MJ029.png

這種吉祥物型別的 Logo,我認為是 Midjourney 最擅長的 Logo 風格。但也非常考驗我們的想象力,當然我們也可以僅提供一些比較簡單的詞語,讓 AI 幫我們生成,讓我們一起來為一個機器人公司寫一個 Mascot Logo ,拆解一下 prompt 關鍵詞:

  1. Logo 型別:mascot logo
  2. Logo 主體描述:比如機器人 robot
  3. 風格:
    1. 簡潔:simple

最後 prompt:

a mascot vector logo of a robot, simple,

還有給一家泡麵公司生成一個吉祥物又會怎樣:

simple mascot logo for a Instant Noodles company

以下是生成的結果,我很喜歡泡麵公司的 logo:

MJ030.png

技巧四:增加風格——藝術運動

因為篇幅的原因,本教程不會介紹特別多的風格,我會在我的小紅書賬號上更新。感興趣的朋友可以去關注下。

前面生成的 logo ,有一些估計各位會覺得平平無奇,比如 Lettermark Logo,原因並不是 Midjourney 能力不強,而是我們給的指令太少了,只要在 prompt 里加幾個單詞,就能生成不一樣的 Logo:
左邊四個的 prompt 是這樣的,我僅僅在原來的 prompt 上加了兩個單詞 Pop Art:

letter A logo, lettermark, typography, vector simple, Pop Art

MJ031.png

Pop Art 是什麼?

波普藝術(Pop Art,又譯為普普藝術或通俗藝術),是一種起源於20世紀50年代和60年代的藝術運動,它強調對大眾文化、大眾媒體和消費主義文化的反思和表達。Pop 來自“流行藝術”(popular art)一詞裡的 popular,由1956年英國藝術評論家羅倫斯·艾偉(Lawrence Allowey)所提出。

Pop Art 的特點是:

  • 它的內容主體一般是大眾日常生活中常見的物品和影像,如廣告標語、雜誌封面、食品包裝等。
  • 一般用色比較大膽,同時線條比較簡潔,強調物品本身的視覺效果和意義。

右邊邊四個的 prompt 是這樣的,我在 prompt 里加上了 De Stijl 。

letter A logo, lettermark, typography, vector simple,De Stijl

De Stijl 是什麼?

它是一個荷蘭藝術運動,始於 1917 年,致力於簡化視覺元素,包括直線,平面和基本色彩。

它的成員包括畫家 Piet Mondrian 和 Theo van Doesburg 等人。De Stijl 的成員致力於將藝術與設計融合,以創造出具有實用性和功能性的美學。

De Stijl 的特點有:

  • 常常用幾何圖形進行設計,如矩形和直線。
  • 用色基本只用基本色彩,比如黑、白、灰、紅、黃、藍。
  • 追求平衡和和諧,強調形式和結構,不注重細節和表現力。

4.場景3:App & 徽章 Logo

Logo 篇比較長,所以拆成兩章介紹。

其實 App Logo 可以使用前一章提到的品牌 Logo,加上一個矩形邊框就 OK 了,用 Figma 幾步就能完成 ?,但如果你實在不想用 Figma ,也可以用 Midjourney 生成。

不放看看你手機上的 App,想想 App Logo Prompt 應該怎麼寫?

我用前一章的案例,寫了兩個 prompt ,輸出的結果如下:

關鍵是:

  1. Logo 型別:mobile app logo
  2. Logo 圖形描述:
    1. iOS 的都是圓角矩形:squared with round edges
    2. Logo 圖形描述,比如 an icon for a Instant Noodles company
  3. 風格:
    1. 延續使用上一章提到的方法即可,我這加了個 pop art
squared with round edges mobile app logo, an icon for a Instant Noodles company, pop art

另外我發現在 Logo 圖形描述前加 an icon for ,生成的 Logo 會更符合預期一些,右邊是加了 an icon for ,左邊是沒有加的:

MJ033.png

另外,Logo 圖案是 Graphic 、Lettermark 還有 Geometric 的,會更符合預期:

MJ035.png

技巧五:增加風格——藝術家

前一章介紹了增加藝術運動,從而使得生成的圖片更加特別,本章再教大家一個方法,是增加藝術家的名字。
首先需要注意,Midjourney 支援大部分的藝術運動,但在藝術家的支援上,相對來說比較少,經過網友們的不懈努力,截止到 3 月 31 日,V4 已知支援的藝術家有 2000 多位,V5 有 100 多位。
其中在榜的 Logo 設計師,只有 Paul RandSaul Bass,Paul 是 IBM、英孚、NeXT logo 的設計師,Saul 是美國聯合航空、AT&T logo 的設計師。
使用方法很簡單,在 prompt 最後加上 by Paul Rand 即可:

letter A logo, lettermark, typography, vector simple, by Paul Rand

當然也不是說只能加 Logo 設計師,加上沒有設計過 Logo 的設計師名字,也很有意思。比如右邊四張圖我加的就是 Piet Cornelies Mondrian,第三張 logo 有 Composition II in Red, Blue, and Yellow 那味了。左邊四張則是 Paul 的,第二張紅色框加黑色 A,有他的經典眼鏡 logo 那味,非常喜歡:

MJ036.png

最後需要注意,增加藝術家名,有可能出現以下情況:

  1. 多長圖的風格都很像:這是因為某些藝術家有非常強烈的標誌性風格,比如我很喜歡的 Piet Mondrian,你用他的名字,會發現可能生成的很多張圖都是 Composition II in Red, Blue, and Yellow 的風格。
  2. 生成的圖看上去不太像該藝術家的風格:我自己測試,發現有兩種可能,一種是模型並沒有學習這個藝術家的作品(特別新的藝術家我感覺一般都不會收錄),另一種可能是你的 prompt 裡的一些詞,跟該藝術家的風格有衝突,比如用了達芬奇 Leonardo da Vinci,但主體是個日本二次元小姑娘。

PS:在本教程裡的 Artist List 可以看到我比較喜歡的藝術家。

學校的校徽就是典型的徽章 Logo,使用方法也非常簡單,只需要調整 Logo 型別為emblem 就可以,另外,跟徽章很搭的風格是 Vintage,兩個都加上後 prompt 是這樣的:

emblem for a Instant Noodles company, vintage, simple minimal

右邊四個是加了 vintage 的,是不是很復古,我非常喜歡:

MJ037.png

技巧六:善用 no 引數,去掉不想要的元素

在徽章 Logo 的案例裡,你應該還看過單色的徽章,比如校徽。但 Midjourney 有個習慣就是傾向於生成複雜的內容,生成單色內容,你可以在 prompt 里加入顏色,背景等等詞,讓其變得簡潔。

還有一個技巧是用 no 引數。比如我想製作一個單色校徽,校徽主體是一本書,同時因為 Midjourney 對文字不是很擅長,我還要去掉 text。以下是我的 prompt,我在最後加了 no realistic color(沒有顏色)text(字)。

emblem for a university with large book, vintage --no realistic color text

然後我把上面那個 Instant Noodles company 的 prompt 也加了 no text,最後生成的兩組圖片是這樣的(最後需要注意,no 引數在 logo 裡使用時,no text 有的時候會失效,但如果你去掉 — 直接輸入 no text 就會生效,很神秘,估計是個 bug):

MJ038.png

5.場景4:插畫

透過前面的學習,你應該或多或少都臨摹了幾個圖片。如果沒有,我建議你多練練,紙上得來終覺淺。

稍微總結下我們所學:

  • 撰寫 prompt 核心是「描述清楚你想要的畫面」,「越詳細」生成的圖片就約符合你的要求。
  • 要想提高 prompt 撰寫能力,最好的方法是臨摹別人的作品,然後自己嘗試寫一寫,最後再看看別人的 prompt。
  • 要想描述清楚畫面,可以從以下幾個角度進行解構:
Stock Image Logo
型別是什麼? stock photo of graphic logo of
主體是什麼? two Asian men in suits shaking hands cat
背景是什麼? in front of the main entrance of the office building null(該場景不需要填寫)
構圖是怎樣的? focus on two hands null(該場景不需要填寫)
是什麼風格? background bokeh vector simple minimal
  • 在風格這塊,有兩個小技巧,可以使用藝術運動,以及藝術家名字。

水彩

從本章開始,我們會進行一些更復雜的設計。水彩插畫相對來說,應該會是小朋友比較喜歡的風格。

我們按照之前所學的模板來一步步寫一下:

Prompt 解釋
型別是什麼? light watercolor 水彩
主體是什麼? a sleeping cat 睡覺的貓
背景是什麼? white background 因為一般水彩都是在白紙上畫,所以這裡加了白色背景
構圖是怎樣的? null 不太重要,就讓 AI 自由發揮
是什麼風格? Studio Ghibli 我很喜歡吉卜力風格所以加了個風格進去

然後再寫一個帶場景的:

Prompt 解釋
型別是什麼? light watercolor 水彩
主體是什麼? children playing on the beach 在沙灘上玩耍的孩子
背景是什麼? white background 因為一般水彩都是在白紙上畫,所以這裡加了白色背景
構圖是怎樣的? null 不太重要,就讓 AI 自由發揮
是什麼風格? Jon Klassen 他 是我很喜歡的插畫師,我很喜歡他的《This Is Not My Hat》

以下是生成的圖片:

MJ042.png

百科插畫

除了水彩外,我很喜歡的另一種插畫是百科全書手繪插畫。我們一起畫一副玫瑰:

Prompt 解釋
型別是什麼? botanical illustration 植物學插畫
主體是什麼? types of rose 我想畫一組玫瑰科普插畫
背景是什麼? white background 一般畫在白紙上,所以白色背景也 OK
構圖是怎樣的? null 不太重要,就讓 AI 自由發揮
是什麼風格? Pierre-Joseph Redoute 他是著名植物學家兼畫家

再畫一組恐龍:

Prompt 解釋
型別是什麼? dinosaur scientific illustration 恐龍科學插畫
主體是什麼? Tyrannosaurus 霸王龍
背景是什麼? white background 一般畫在白紙上,所以白色背景也 OK
構圖是怎樣的? null 不太重要,就讓 AI 自由發揮
是什麼風格? Andrey Atuchin 他是著名俄羅斯古藝術家、生物學家、插畫師

以下是生成的圖片,看起來,Midjourney 並不知道霸王龍只有兩隻腳,哈哈哈,不過第一張真的非常像 Andrey 的風格:

MJ043.png

繪本插畫

我個人覺得繪本插畫只要用好技巧五:增加風格——藝術家,基本上就能做出一些不差的插畫。我繪本看得不算多,但應該不少人知道彼得兔,我們試試畫一副和彼得兔類似風格的小貓:

Prompt 解釋
型別是什麼? illustration 插畫
主體是什麼? A cat standing and running on two legs in a denim jacket 我想畫一隻站立跑動的貓
背景是什麼? null 不太重要,就讓 AI 自由發揮
構圖是怎樣的? null 不太重要,就讓 AI 自由發揮
是什麼風格? Beatrix Potter 她是彼得兔的作者

另外我們也試試小的插畫師 E.H. Shepard 的風格(右邊四張)。這裡要額外說明下,為了讓生成的結果更傾向於該作者的風格,我沒在 prompt 里加入太多背景資訊:

MJ045.png

Behance 風科技插畫

坦率說來,這個並不是一種插畫風,但作為網際網路行業從業人士,我覺得這個還挺剛需的,但需要注意,經過我的測試,只要在最前面加入 tech illustration 也能生成類似的風格插畫,但效果比較一般,當我加上 behance style 後(Behance 簡單理解是一個設計師分享作品的網站,分享的作品多與科技產品有關,如 App 設計等),就變得精緻和漂亮了:

Prompt 解釋
型別是什麼? tech illustration 科技風插畫
主體是什麼? man jogging by the waterfront 一個在海邊跑步的男人
背景是什麼? null 不太重要,就讓 AI 自由發揮
構圖是怎樣的? null 不太重要,就讓 AI 自由發揮
是什麼風格? style of behance 增加後,感覺風格的確有變成 behance 風

另外,我還做了一個大家比較熟悉的咖啡館場景:

Prompt 解釋
主體是什麼? a lady drinking coffee at the computer in a cafe 一位在咖啡店坐在電腦前喝咖啡的女士

最後的結果:

MJ044.png

最後,這裡面還有一個神秘引數,就是加上一些公司(比如 by Microsoft),我目前測試過像 Slack、Dropbox、Microsoft、Apple 感覺是有一點點差異,但我不知道 Midjourney 是怎麼理解或處理這個詞的,下面是兩組案例,左邊是微軟的,右邊是蘋果的,除了蘋果的第四個有個蘋果 logo 外,我是看不太出來還有什麼地方體現蘋果的,個人覺得可能是在用色上會用該品牌的品牌色?

感興趣的朋友可以去探索下。? 徵集案例

MJ046.png

填色插畫

最後一個要介紹的也不知道是不是插畫,但可能不少朋友見過,就是那種可以讓你在上面用蠟筆,或水筆填色的填色插畫。我覺得非常適合讓小朋友自己生成填色插畫,然後列印出來,讓小朋友上色。以下是霸王龍的例子:

Prompt 解釋
型別是什麼? clean coloring book page 填色書籍
主體是什麼? Tyrannosaurus 霸王龍
背景是什麼? null 不太重要,就讓 AI 自由發揮
構圖是怎樣的? null 不太重要,就讓 AI 自由發揮
是什麼風格? black and white 黑白風格

白雪公主的版本只要將主體改成「Snow White」即可,以下是生成的圖片:

MJ049.png

6.場景5:頭像

在 Stock Photo 一章中,介紹了 img2img 的方法,這個方法除了解決 Stock Photo 的那幾個問題外,還很適合多個場景。

本章會著重介紹用這個方法生成的頭像的 prompt。並且從本章開始會逐步豐富我們的 prompt 結構,使其更加完整。

在介紹 img2img 的應用前,我想強調一下:

  1. 不要在 Discord Midjourney 公開群上傳自己的照片!這樣你的照片會被公開群裡的所有人看見。建議使用 Midjourney Bot。
  2. 另外,非 pro 付費會員,生成的圖片都會被其他會員看見。但你可以在生成完頭像後,刪掉生成的圖片。如果還不知道如何使用 Bot ,及刪除照片,請看基本操作篇。
  3. img2img 的操作我就不過多贅述了。如果你還不太清楚,可以看基本操作篇,以及 Stock Photo 那篇。

3D 卡通頭像

第一個要分享的是卡通頭像。首先跟大家強調下:

  1. 我基本上把國內國外的生成頭像教程都看過,並試過一遍,還跟 Midjourney 社群的人也交流過。我的理解是,以目前 V5 的能力,不管你如何調整 prompt ,想用 img2img 方法生成一張非常像原圖的圖片,基本靠運氣,即使用了前面介紹的技巧七方法,也只是提高機率。如果你有令頭像非常像的方法,不妨透過 Issue 分享給我,我會署下你的名字,並分享給大家。
  2. 各位在學習的過程中,如果發現生成的圖片不像原圖,也不需要氣餒。這是正常的。
  3. 你可以透過我分享的方法,生成一張有原圖神韻的卡通頭像。注意肯定不會非常像原圖。

在 prompt 里加上原圖連結(建議使用證件照,或者背景比較單一的照片,這樣成功率會高一些),然後用我前面提到的框架設計一個 prompt:

Prompt 解釋
型別是什麼? Portraits / Avatar 如果你的原圖是證件照,可以在 prompt 里加入「肖像」一詞,或者「Avatar 頭像」。
主體是什麼? smiling cute boy, undercut hairstyle 這裡可以是選填,你可以先不加這個描述,只填其餘 prompt,然後如果生成的圖片不像你。那你就在這裡加點描述下你的頭像的詞,一般就是性別、樣貌、髮型、配飾(比如眼鏡、耳環等)、表情等。注意,儘量挑特徵比較強的部分輸入,特徵對了,生成的圖片基本會有幾份像。
背景是什麼? white background 我這裡保留了證件照的白底,你可以加一些實際場景的背景,比如餐廳之類的。
構圖是怎樣的? null 因為我們預先傳了圖片,圖片是張證件照,所以不填
用什麼鏡頭? soft focus 柔焦是指攝影中,使用柔焦鏡頭,使得拍攝的影像既清晰又柔和的效果。一般多在拍攝人像的時候使用,我在 prompt 里加上這個,可以使照片更柔和。你也可以不加。
是什麼風格? 3d render,Pixar style 因為目標是生成 3d 照片,所以這裡加了 3d render(3d 渲染),以及我喜歡的皮克斯風格
引數 —iw 2 iw 是一個文字和 img 權重引數。數值越大,就越像原圖,關於這個值的介紹,可以看高階引數篇。

最後,還有三個技巧:

  1. 如果你生成的照片並不像預設的照片,可以在四張圖裡,挑一張比較像的,然後點 V(Variation),讓模型繼續生成,再繼續挑一張像一點的照片,然後繼續生成新照片,直到出現一張比較像的。
  2. 第二個,我覺得很神奇,如果前兩個方法你都試過了,你生成的圖片還是跟原圖不像,那就在 prompt 里加上「wear glasses(戴眼鏡)」,真的很神奇,我只要加上戴眼鏡就像非常多,如果你原圖戴眼鏡了,你試試在引數里加個 —no glasses,你會得到一張更不像你的圖。
  3. 最後,就是多用一個引數,這個方法會在技巧八中展開說下。

本章最後,有我的證件照的案例。

技巧七:多引數同時使用

在使用 img2img 的方法生成頭像時,我發現問題是「文字權重比圖片權重高」,導致其生成的圖片不像原圖,iw 引數在 V5 裡最多提升圖片權重到 2,所以我就在想有沒有可能進一步降低文字的權重。

然後我就試了下 s 引數,發現的確好了很多。

如果生成的圖片還是不像,你可以在 —iw 2 基礎上,再加一個引數 —s 200 ,注意同時用兩個引數時,中間不要有逗號。我發現加了 s 引數之後的確像了很多,我個人猜測是 s 和 iw 連用會進步一削弱 text 的權重。

s 是控制生成圖片的風格化程度。簡單理解,這個值越低會更符合 text prompt 的描述,數值越高藝術性就會越強,但跟 text prompt 關聯性就會比較弱。所以如果你生成的圖還是不像,就加大這個值,比如調到 500。

我想透過這個案例告訴大家,多個引數一起使用,有可能會形成合力,進一步放大模型的能力。未來有新的引數能力,不妨也想想有沒有可能一起用?

動漫風頭像

與 3D 卡通頭像一樣,主要的修改是在圖片風格上:

Prompt 解釋
型別是什麼? Portraits / Avatar 繼續使用相同描述
主體是什麼? smiling cute boy, undercut hairstyle 繼續使用相同描述
背景是什麼? white background 繼續使用相同描述
構圖是怎樣的? null 繼續使用相同描述
用什麼鏡頭? null 因為是漫畫風,就不加柔光鏡頭了
是什麼風格? anime, Studio Ghibli 目標是製作動漫風的頭像,所以這裡加了 anime(動漫),然後加了吉卜力風格
引數 —iw 2 —s 500 注意同時用兩個引數時,中間不要有逗號。

賽博朋克頭像

這是我最喜歡的風格之一,也是隻需要改一下風格和背景即可:

Prompt 解釋
主體是什麼? cyberpunk robot face, holographic VR glasses, holographic cyberpunk clothing 加了臉的修飾,還有戴上 VR 眼鏡,穿上賽博朋克風衣服
背景是什麼? neon-lit cityscape background 為了讓圖片更像是賽博朋克,就加了個霓虹燈城市背景,讓其看起來更有賽博那味
是什麼風格? Cyberpunk, by Josan Gonzalez 加了賽博朋克風格,以及我非常喜歡的賽博朋克畫家 Josan Gonzalez

上面這幾個頭像 prompt 最後生成的頭像是這樣的,坦率地說,我已經盡力了,我的個人特徵太少了,人也不帥,生成的圖片,都有種東南亞人那味,感覺 Midjourney 對亞洲人的理解還不是很行 ?

MJ039.png

技巧八:使用 Seed 引數對圖進行二次修改

注意:這個技巧,我個人覺得未來潛力比較大,但目前 Midjourney 的實現效果還比較一般,效果得不到保證。官方的社群的幫助文件也提到這個功能在 V5 非常不穩定。詳細可以看看我整理的 Midjourney 官方 FAQ 一章。

你可能遇到類似這樣的場景:

  1. 你輸入一段 prompt,機器生成了 4 張圖片
  2. 你看了下4張照片,發現其中有一張還行,但其餘不是很滿意,然後改了下 prompt,機器又生成了一些
  3. 但這次生成的照片你都不滿意,你就很煩惱為何會這樣
  4. 然後你就像為啥不能在第一次生成圖上做修改呢?

基於某一次生成的結果進行二次 prompt 修改,理論上我認為是可以的,以賽博朋克頭像為例,我先用上述 prompt 生成了四張圖片,然後在訊息的右上角點選 emoji 按鈕(下圖1),然後再輸入框裡(下圖2)輸入 envelope,然後點選信封 emoji(下圖3),接著 bot 就會將 seed 號碼發給你。

MJ040.png

然後我修改上面的賽博朋克頭像的 prompt,將其背景改為 China Town,此時需要注意:

  1. 新的 prompt 並不是只改 background,你需要將之前的 prompt 都帶上。
  2. prompt 僅修改 background 的部分。
  3. 最後帶上 seed 引數。

以下是我的案例:

原 prompt:

{img url}  avatar, cyberpunk robot face, holographic VR glasses,holographic cyberpunk clothing, neon-lit cityscape background, Cyberpunk, by Josan Gonzalez --s 500 --iw 1

新 prompt(seed 碼只是示例,你要填寫自己的 seed):

{img url}  avatar, cyberpunk robot face, holographic VR glasses,holographic cyberpunk clothing, China Town background, Cyberpunk, by Josan Gonzalez --s 500 --iw 1 --seed 758242567

以下是生成的效果(左圖為原圖,右圖是用了 seed 後生成的圖),可以看到,背景的確換了,但人的外觀也有點變化

效果不是很好,但我覺得值得探索,這樣能提高漸進最佳化的成功率:

MJ041.png

技巧九:神秘的 blend 功能

這個技巧,說實話,我感覺不能稱其為技巧,但這又是一個 Midjourney 非常重要的 feature,所以在這裡著重介紹一下。

這個功能使用起來非常簡單,在 Discord 輸入框裡 /blend,然後點選這個選單:

MJ057.png

之後你的輸入框就會變成這樣:

MJ058.png

然後你就可以點選這兩個框,然後選擇你電腦上的照片,新增完成後,大喊一聲「使用融合卡」(不是),然後點選回車:

MJ059.png

然後 Midjourney 就會生成這樣牛逼的結果,左邊是融合鋼鐵俠,右邊是融合巴斯光年:

MJ061.png

這個功能我第一次看到時,我是非常震驚的,以為是小時候看遊戲王裡主角們使用「融合卡」的那種效果。可惜並不是,這個功能非常不穩定,僅有在滿足多個未知條件才能達到上述的效果。

我本來打算用這個方法用於生成頭像,但我發現只要用自己的照片,融合其他風格的照片,效果都不太好,目前實驗下來效果最好的是名人頭像,我的感覺是因為 Midjourney 餵了不少名人的頭像給模型,所以這種融合的效果都很好。

但我覺得它真的很適合做頭像,將自己的頭像跟另一張圖片融合一下,就能生成一張不錯的圖,方便又快捷。可惜目前這個功能感覺還不太好用。

當然這個功能還不僅僅止於此,它還有很多使用場景,在後續會介紹給大家。

參考連結:

https://github.com/thinkingjimmy/Learning-Prompt

https://github.com/wangxuqi/Prompt-Engineering-Guide-Chinese

https://github.com/tonyyuhang/ChatGPT/tree/main

https://github.com/f/awesome-chatgpt-prompts

相關文章