失敗案例:同一張照片,為什麼結果差這麼多

這頁的每一組對照都是真的跑出來的,兩邊用完全同一張照片,只差一個設定。 其中一組還推翻了我們自己原本的假設,也一併寫在下面,沒有修飾。

案例一:照片裡沒有人,卻選了人像動作

左右兩邊都是同一張灰貓鵲站在樹枝上的照片(CC0)。左邊選「人像 → 靜靜呼吸」, 右邊選「動物 → 靜靜呼吸」。

選了人像動作(錯誤示範)
選了動物動作(正確)

左邊那支請看到最後:一張人臉從畫面下方浮出來,愈長愈大,最後佔滿整個畫面, 而那隻鳥還站在他的臉上。右邊同一張照片,鳥就只是安靜地呼吸、動一動。

為什麼會這樣。人像動作送給模型的指令長這樣: 「The person stands still and looks straight ahead. They blink naturally…」。 模型讀到 the person,但畫面裡找不到人。它不會因此放棄, 而是想辦法讓畫面「符合」這句話,於是自己生一個人出來。

我們第一次遇到這件事,是有人上傳一張鳥的照片選了人像動作, 成品前幾格還是鳥,接著一個男人的臉從畫面右邊長出來,對著鏡頭微笑了三秒。 上面那支是後來用授權乾淨的素材重現的,一次就重現成功,不是偶發狀況。

怎麼修。動物組的指令整段不出現 person,全部改用 the animal, 結尾再加一句 No people appear。同一張照片、同一個模型,只是換了主詞,就正常了。 現在上傳時還會做一次人臉偵測,選錯時先提醒你,但你仍然可以堅持照原樣做。

案例二:我們原本以為「原圖太小會壞掉」,實測發現沒有

幾乎每一篇這類工具的教學都會告訴你「原圖要夠清楚」。我們也這樣寫過, 所以決定驗證一次:把林肯 1863 年那張肖像壓到 96 像素寬(大概是一個 App 圖示的大小) 再放大回原尺寸,糊到細節全失,然後跟原始高解析度檔用同一個「微笑點頭」對照。

原圖先壓到 96 像素寬再放大
原始高解析度檔

結果是:幾乎看不出差別。兩邊都笑得自然,五官沒有漂移,也沒有崩壞。 這個模型對輸入解析度的寬容度,比我們原本假設的高很多。 它顯然是先理解「這是一張人臉、五官大概在哪」,再重新生成細節, 而不是逐像素去推。

所以我們把原本寫在教學裡的「原圖太小就會壞掉」改掉了。 真正會讓成品失敗的是語意層面的不符(照片裡沒有人卻選人像動作、畫面裡有兩個主角、 臉被東西擋住),而不是畫質。手機翻拍的老照片、從通訊軟體存下來的小圖, 其實都比想像中能用。

把這一段留在網站上,是因為它比「照片要清楚」這種正確但沒用的建議更有價值。 測過才知道哪些常識是真的。

其他確實會出問題的狀況

畫面慢慢推近

模型的老毛病。反直覺的是,在指令裡寫「不要 zoom」「static shot」會讓它推得更兇。 我們量過背景位移量:不提鏡頭 6.6、寫 static shot 20.6、寫完整鎖鏡頭句子 39.2。 所以現在的指令一個字都不提鏡頭。你遇到的話,換一張構圖鬆一點的照片會改善。

手長歪、多一根手指

「揮手打招呼」最容易發生,因為手在原圖裡根本不存在,是模型憑空生出來的。 大頭照請避開這個動作,用半身照。

兩個人一起抽動

畫面裡有兩個以上的人時,模型不知道要讓誰動,常常整排一起輕微抽動, 或把相鄰兩張臉的特徵混在一起。把主角裁出來再上傳。

臉被擋住

口罩、手、麥克風擋在臉前面時,模型會把遮擋物當成臉的一部分去變形。 這是少數真的救不了的狀況,換一張照片吧。

背景的字扭曲

背景有招牌或文字時,模型會把它們當成紋理一起動。換乾淨背景的照片。

這些案例的素材全部是公有領域或 CC0 照片,詳細出處列在示範作品頁。 你上傳的照片不會被拿來做任何示範。

看完整的挑照片教學