怎麼把照片轉成深度圖
加入照片。 按「選擇圖片」,選 JPEG、PNG 或 WebP(瀏覽器打得開的話,HEIC 也可以)。手機上會打開相簿。手邊沒有照片,就按「載入範例」。
等它算出深度。 第一次使用時,瀏覽器會下載深度模型(約 27 MB,用 WebGPU 時是 50 MB)並保留下來,之後的照片馬上就能開始。深度圖會出現在照片旁邊。
配合你的軟體設定。 選近處要白色還是黑色(該選哪個? )、PNG 要 8 位元還是 16 位元,以及輸出尺寸。對比不夠的話,用「色階」調整。
用 3D 檢查,再下載。 把「顯示」切到「3D 預覽」,移動滑鼠游標或傾斜手機,確認遠近對不對,再按「下載深度圖」。
深度圖是什麼
深度圖(depth map,也有人叫景深圖)是一張灰階圖,記錄照片裡每個地方離鏡頭多遠。這個工具預設白色是近、黑色是遠。
左:騎馬面向優勝美地瀑布的三個人,出自 1900 年代初期的立體照片卡(Underwood & Underwood;大都會藝術博物館收藏的 23 張一組之一,公有領域 [7] )。右:這個工具做出的深度圖,近處是白色,下方的長條裡有標記。
深度圖不是黑白照片。 黑白照片記錄的是亮暗,所以黑色的鬍子或陰影會變成一個洞;深度圖記錄的是遠近,和顏色無關。直接拿黑白照片去雕刻,結果常常很怪,原因就在這裡。
深度是 AI 模型從你的一張照片推算出來的。模型是 Depth Anything V2 Small,由 Lihe Yang 等人在 2024 年以 Apache-2.0 授權發布 [1] 。它用 ONNX Runtime Web 在瀏覽器裡執行:瀏覽器支援 WebGPU 時用顯示卡(GPU)計算,否則用處理器(CPU),速度比較慢。
得到的是相對深度 :哪些東西比較近、表面是什麼形狀,不是以公尺計的距離。Depth Anything V2 的作者也這樣說明,並另外發布了量測距離用的版本 [1] 。雷雕、浮雕、置換(displacement)和 ControlNet 要的就是相對深度:實際要雕幾毫米深、效果多強,是在讀取深度圖的軟體裡設定。
各個選項
選項 可選 什麼時候要改
近處顏色 白色(預設)或黑色 有些雕刻軟體和 App 要近處是黑色
儲存格式 PNG 8 位元或 PNG 16 位元 Blender 置換、浮雕和 CNC 用 16 位元;ControlNet 和大多數 App 用 8 位元
尺寸 照片原尺寸(長邊最多 4,096 px)或模型尺寸 模型尺寸比較小,方便分享;要和原照片對齊就用原尺寸
色階 黑點、白點、中間調 想把灰階集中在你在意的那段遠近時
平滑 關閉、弱(預設)、強;保留邊緣 平面看起來有顆粒就選強;關閉是模型的原始輸出。物體的邊緣都會保持清楚
8 位元還是 16 位元。 8 位元的灰階 PNG 有 256 階,16 位元有 65,536 階 [2] 。只有 256 階的話,平滑的斜面經過置換或 CNC 做成立體後,可能出現一階一階的階梯紋。這裡存的 16 位元是真正的 16 位元灰階 PNG,不是把 8 位元的值放進 16 位元檔案,而且從黑到白用滿整個範圍。大多數影像 App 和 ControlNet 都用 8 位元,軟體不支援 16 位元就維持 8 位元。
色階。 把黑點調高、白點調低,所有灰階就都用在你設定的那段遠近上,對比會變強。「中間調」可以拉開近處或遠處的層次,兩端不變。
常見問題
白色是近還是遠?白色是高還是低?
要看讀取深度圖的軟體。LightBurn 的 3D Sliced 模式裡,越亮的像素雕的次數越少,純白完全不雕,所以越暗的地方雕得越深 [5] :近處是白色的話,近的東西會像硬幣上的圖案一樣凸起來。它的「Negative Image」設定剛好相反,越亮的地方雕得越深 [5] ,做模具時會用這個設定。ControlNet 的深度模型是用白色為近(shallow)、黑色為遠(deep)的深度圖訓練的 [3] 。Blender 的 Displace 修改器裡,比「Midlevel」亮的值會把表面往外推,暗的往內壓 [4] ,所以白色為近時,近的東西會凸出來。軟體要相反的,就選黑色;不確定時,先做一小塊試試。
可以拿來雷雕或 CNC 浮雕嗎?
可以。雕刻和浮雕軟體會把深度圖當成高度圖讀取,每一階灰度變成一個高度或雕刻深度。軟體支援的話,用照片原尺寸下載 16 位元 PNG,並先把下方的長條裁掉(見下面 ),不然長條也會被雕進去。平面看起來有顆粒,就把平滑調到弱或強。
雕出來太平,或有一階一階的紋路?
太平通常是主體的遠近只佔了灰階的一小段,軟體能用的深度階數太少:用「色階」的黑點、白點把範圍拉開。階梯紋是灰階或雕刻次數太少造成的:用 16 位元檔案,增加雕刻次數,或增加浮雕軟體的層數。
深度圖下面那條長條是什麼?
那是「made with owl3d.com」的標記。我們把它放在深度圖下方另外加的長條裡,不會改到任何深度值。如果軟體需要和照片完全一樣大,例如在 Blender 或 After Effects 裡和照片對齊,就把圖裁回照片的高度,深度圖本身一點都不會少。
怎麼在 Blender 裡用深度圖?
用照片原尺寸下載 16 位元 PNG,裁掉下方長條。加一個細分過的平面,加上 Displace 修改器,把深度圖指定為影像紋理。每個頂點會依紋理的亮度移動,「Strength」決定移動多少,「Midlevel」決定哪個灰色算是不動 [4] 。在同一個平面貼上原照片當顏色紋理,就成了一張立體照片。
可以用在 ControlNet(ComfyUI、Stable Diffusion WebUI)嗎?
可以。近處選白色、存成 8 位元 PNG,裁掉下方長條,再把深度圖當成控制圖載入;深度圖已經做好了,前處理器(preprocessor)選 none。ControlNet 的深度模型是用好幾種估算方法做出的灰階深度圖訓練的 [3] [6] 。
可以用深度圖做 3D 立體圖嗎?
可以。用 3D 立體圖產生器 載入深度圖,它的形狀就會藏進 3D 立體圖裡。產生器預設白色為近;近處是黑色的話,勾選對應的選項即可。下方長條也會被當成形狀,先裁掉再載入。
深度相機和這個工具有什麼不同?
深度相機是用硬體量出深度:例如用兩個鏡頭像雙眼一樣比對畫面,投射特殊圖案(結構光),或量光線打出去再反射回來的時間(飛行時間,ToF)[8] 。這個工具不用深度相機,也不用兩張照片:AI 從一張普通照片推算遠近,所以是估計值,不是量測值。
「像素深度」是什麼意思?
「像素深度」說的是位元深度:每個像素用幾個位元記錄灰階或顏色,和深度圖的遠近是兩回事。這個工具的深度圖可以存成 8 位元(256 階)或 16 位元(65,536 階)[2] 。
深度圖是公尺距離嗎?
不是。深度圖表示的是遠近的順序和物體的形狀,不是量出來的距離。同一個場景的兩張照片,同樣的距離可能變成不同的灰色。
為什麼玻璃、鏡子、天空的深度怪怪的?
模型是從畫面的樣子推算深度,所以看起來和實際遠近不一樣的東西會讓它判斷錯誤:倒影、窗戶、照片裡的海報或風景照、霧。天空會被當成最遠的地方。小錯誤可以在影像編輯軟體裡直接塗改深度圖。
照片會上傳嗎?
不會。模型在你的裝置上、在瀏覽器裡執行。唯一要下載的是模型本身,而且只有第一次。
想要 3D 影片或 3D 照片,不是深度圖
如果你最後要的是 3D 照片或 3D 影片,而不是深度圖,Owl3D 的 3D 影片轉換軟體 是 Windows 和 Mac 的電腦軟體,在你自己的電腦上用 AI 把 2D 照片和影片轉成立體 3D。可以存成左右並排(SBS)、Half SBS、上下,Mac 版另可輸出 Apple Vision Pro 的空間影片;它不能輸出深度圖。軟體介面目前是英文,中文介面即將推出。和所有 AI 轉換一樣,深度是軟體推算的。
延伸閱讀
用一張照片做 3D 圖片:Wigglegram 產生器 (左右晃動的 3D 照片)、紅藍 3D 圖產生器 (戴紅藍眼鏡看)。3D 照片怎麼做、怎麼看:3D 照片 。