Stable Diffusion 用 prompt 控制鏡頭距離及角度

在 Stable Diffusion 中有時人物的大小遠近好像很隨機,除了用 ControlNet 其實可以利用 prompt 輸入 拍攝電影的鏡頭控制術語用來控制距離及角度。

Stable Diffusion 用 prompt 控制鏡頭距離及角度
Stable Diffusion 用 prompt 控制鏡頭距離及角度

English Version

在 Stable Diffusion 中有時人物的大小遠近好像很隨機,除了用 ControlNet 其實可以利用 prompt 輸入拍攝電影的鏡頭控制術語用來控制距離及角度。

電影拍攝時的鏡頭距離參考圖
Dark Sushi Mix 大颗寿司Mix - Colorful | Stable Diffusion Checkpoint | Civitai
FTU-NoiseOffset0.5fp16 was just the temporary name of colorful version when I tested the model. I don’t know how to change the model name in gerera…

此教學採用 Dark Sushu Mix Colorful 為 checkpoint

鏡頭距離

我們把可以使用的視角 prompt 放進 X/Y/Z plot 比較一下,為了突出效果要提高權重,盡量不要加入面部描述 e.g. beautiful face ,否則多數都會變成半身照。以下prompts 會加上 1.5 權重。

  • extreme close-up 超近鏡
  • close-up 近鏡
  • medium close-up 中近鏡
  • medium shot 中景鏡
  • long shot 遠鏡
  • establishing shot 場景鏡
  • point-of-view 主觀視角
  • cowboy shot 西部牛仔常用的鏡頭,見到上半身以及大腿(為了見到拔槍)
  • medium full shot 中風全景鏡
  • full shot 全景鏡
  • upper body 上半身
  • full body 全身
使用不同的 prompt 去控制鏡頭距離

出來的結果意外地有些 prompts 很相似,不過再配合其他 prompt 可以更穩定地控制距離。

  • extreme close-upclose-upmedium close-up 都是放大眼睛/面部為主,但有時extreme close-up會放大更多。
  • medium shotlong shotmedium full shotfull shot 看起來差不多,medium shot有時候會比 full shot 更近一點,都是顯示臀部以上到頭頂的位置,因應場景這幾個 prompt 的距離可能會有些變化。
  • establishing shot 的背景會比較明顯,如果主體是建築時人物可能會更細。
  • point-of-view 角度會因應人物有點轉變,背景通常比較 wide,角度跟主體未必是同一水平視角。
  • cowboy shotcowboy 污染變了牛仔裝,距離跟 medium full shot 差不多但距離比較穩定,一定會顯示臀部以上到頭頂。
  • upper body 會顯示人身上半身,範圍可能由臀部以上到胸以上。
  • full body 是唯一可以見到全身的距離。

經測試後由近至遠可用的鏡頭 - extreme close-up > close-up > medium close-up > upper body > medium shot > medium full shot > full body

point-of-viewestablishing shot 會環境有所影響所以不適合控制距離。


鏡頭角度

攝影一樣有不同的拍攝角度術語可供參考

掌握距離然後就是角度,由最基本的前後左右再加一些攝影角度,一樣加上 1.5 權重,因為角度比較多我分成兩張。

  • front view 正面
  • bilaterally symmetrical 左右對稱
  • side view 側面
  • back view 後面
  • from above 從上拍攝
  • from below 從下拍攝
  • from behind 後拍
  • wide angle view 廣角鏡
  • fisheyes view 魚眼鏡
  • macro view 微距
多種視角 prompts
  • overhead shot 俯視
  • top down 由上向下
  • bird's eye view 鳥瞰
  • high angle 高角度
  • slightly above 微高角度
  • straight on 水平拍攝
  • hero view 英雄視角
  • low view 低視角
  • worm's eye view 仰視
  • selfie 自拍
另一批視角 Prompts

出來的結果跟字面表示的角度差不多,也有些角度其實是重複的,也有一些受字面影響而受到污染。

  • front view straight on 就是正面,但不一定是絕對正面,straight on 因為水平拍攝的角度所以背景也不會歪。
  • bilateral symmetry 正面兼左右對稱,比正面更準確。
  • side view 向左/向右都是隨機的。
  • back viewfrom behind 都是背面, back view 會近一點,而且通常露背。
  • from above overhead shot high angle slightly above 都是由高角度影向主體, overhead shot 角度較高, high angle 會背景比較闊一些。
  • from below 由下方偷拍 (?) 的視角,天空通常會筒狀變形。
  • wide angle 背景會有一些筒狀變形 fisheyes view 的變形效果會更強,但 fisheyes view 受到污染,總會拿著相機。
  • macro view 變了拍花或微細的物件。
  • bird's eye view 從高角度影高去同時會見到廣闊的背景,但會有雀鳥出現。
  • top down 的角度很糟糕 (?),變成正上方被女生抱住的視角。
  • hero view 角度不對,人物也受污染穿上了英雄戰衣。
  • low view 角度不算很低,有點懷疑沒有效果。
  • worm's eye view 完全錯了,有很多蟲及怪眼,跟角度完全沒關係。
  • selfie 人物會伸手自拍而且不會太遠。

其中 fisheyes view 雖然會污染但因為視角比較特別還是有用的,但 hero viewworm's eye viewmacro view 受污染角度又不明顯可以放棄。


距離+角度=取景

了解不同的鏡頭距離及角度後就可以輕鬆使用 prompt 生成出想要的取景。

1girl, beautiful, solo, (top down:1.5), (close-up1.5), lying in car
1girl, beautiful, solo, (from below:1.5), (full body:1.5), night, street
1girl, beautiful, solo, (establishing shot:1.5), (side view:1.5), in a bus, reading
1girl, beautiful, solo, (from above:1.5), (selfie:1.5), (close-up:1.5), in swimming pool

總結

由於以 prompt 取景有時會受其他 prompt 影響,建議先用簡單 prompt 取景,然後用 controlnet 去固人物動作,既可以得到想要得畫面,並不怕人物受到影響。


SDXL 版本可以參考這篇

SDXL Prompts 進階指南 (1) - 鏡頭視角距離
SDXL 版本的 prompts 鏡頭距離視角教學,可以單純使用 prompts 就控制鏡頭距離視角,而不用 ControlNet 或其他 extensions。同時也新增場景構圖 prompts 以供參考。

Read more

未來 AI 是否取代人類工作?

未來 AI 是否取代人類工作?

近幾年 AI 發展蓬勃,每個月都有大量新 AI 工具推出,每幾個月就有一次大革新,很多人都預言 AI 會取代人類工作,但是 AI 會怎樣取代人類的工作呢?人類會否因此失業? AI 真的會取代你的工作嗎? 大家心目中的 AI 總是一個機械人的樣子,當然現時也有很多公司已經開發機械人,然後這個機械人坐在你原本的位置取代了你的工作。 這種事情會發生嗎? 簡單直接地說就是短時間內不會發生,AI 可以取代人的唯一原因是,使用 AI 更便宜。你認為買一個機械人要多少錢,還要訂閱 AI 服務才會聽的懂你的指令,還有機械人壞了要維修,還有很多機械人未能支援的工作,可能每幾年又要花錢升級機械人。 對老闆來說花這麼多錢買個不肯定能完成工作的機械人來取代人工作太不化算了,大概會有些公司會花錢買幾隻玩玩,但用來取代便宜得多的人手是不現實的。 那麼 ChatGPT 會取代我的工作岡位嗎? 相信有部門功能性極底的工作可以由 ChatGPT 取代,但是不會是全部,而且取代的方式也不會是你的工作岡位消失變成由 ChatGPT 工作。 舉一個例子,一間公司有設計師,