ByteScope

Remove Object from Photo

把背景裡的路人、電線或垃圾桶塗起來,按「擦掉」,那塊就會被補成後面原本大概的樣子。修補模型透過 WebGPU 在你的顯示卡上、就在這個分頁裡執行,照片不會上傳。想擦幾處就擦幾處,每一步都能復原,最後用原尺寸存成 JPEG 或 PNG。

檔案不會離開你的瀏覽器 — 全部在本機處理。

正在檢查 WebGPU…

把照片拖到這裡,或點一下選檔

JPEG、PNG、WebP,瀏覽器打得開的話 HEIC 也可以。不會上傳。

限制

  • AI 是猜被擋住的地方原本長什麼樣子;簡單的背景(天空、牆、草地、沙灘)效果最好,人群、文字、規則的圖案常常會糊或重複。
  • 很大的物件(占畫面一半左右)通常擦不乾淨。
  • 需要真正的顯示卡和 WebGPU。第一次擦會下載約 208 MB 的模型和約 26 MB 的引擎,準備模型大約要一分鐘。
  • 照片長邊最多 8192 px、總共最多 4000 萬像素。
  • 請不要用來去除別人作品上的浮水印或署名。
  • 照片不會上傳,擦除都在這個分頁裡完成。

模型

LaMa(big-lama),作者 Roman Suvorov 等人,Samsung Research,Apache-2.0 授權,用 Places365 資料集訓練;ONNX 轉檔來自 Carve/LaMa-ONNX。授權檔案跟模型檔放在同一個位置公開。

關於這個工具

這是一個在瀏覽器裡跑的魔術橡皮擦。打開一張照片,把不想要的東西塗起來:朋友背後走過的路人、橫過天空的電線、沙灘上的垃圾桶、礙眼的招牌,然後按「擦掉」。AI 會把塗到的地方補成它猜後面原本的樣子,再跟周圍接起來。可以一處接一處連續擦,每一步都能復原、重做,拖曳分隔線就能對照原圖和結果,最後用原本的尺寸存成 JPEG 或 PNG。照片的讀取、編輯、存檔都在這個分頁裡完成,什麼都不會上傳。

怎麼做到的

模型是 LaMa(Large Mask Inpainting),由 Samsung Research 的 Suvorov 等人發表,採 Apache-2.0 授權;這個頁面用的是在 Places365 場景照片資料集上訓練的 big-lama 權重,轉成 ONNX 之後用 ONNX Runtime Web 在你的顯示卡上執行。LaMa 一次只吃 512 × 512 的圖,所以頁面不會把整張照片縮小,而是以你塗的範圍為中心,裁一塊 2.5 倍大的正方形縮到 512,讓模型看得到夠多的周圍環境。遮罩會先往外擴幾個像素,因為遮罩剛好貼著物體邊緣時,模型補得不好。結果放大回原尺寸後,只貼回擴大後的遮罩裡,邊緣再做 3 像素的羽化。羽化範圍以外的每個像素,都跟原本的照片一模一樣。

擅長什麼、不擅長什麼

AI 是在猜被擋住的地方原本長什麼樣子,它不可能真的知道。天空、牆壁、草地、沙灘、水面、雪地這類簡單的背景,通常擦完看不出痕跡;人群、文字、磁磚、欄杆、一排窗戶這種規則的圖案,常常會糊掉或重複。很大的物件(占畫面一半左右)通常擦不乾淨。塗的時候大方一點,把影子和倒影也塗進去,不然它們會留下來。一次沒擦乾淨的話,就復原後塗寬一點再擦,或是把剩下的地方再擦一次。

電腦需要什麼

第一次擦的時候,會下載一次模型(約 208 MB)和推論引擎(ONNX Runtime Web,約 26 MB,來自 jsDelivr CDN),之後都從這個瀏覽器的快取載入。接著要替你的顯示卡準備模型,在 GTX 1060 上大約一分鐘,第一次擦還要再多約半分鐘;準備好的模型在頁面開著的期間都會留著,之後每擦一次大約三秒。它只能透過 WebGPU 執行:用處理器擦一次要超過一分鐘,所以沒有 CPU 模式;瀏覽器沒有 WebGPU,或關掉了硬體加速時,頁面會直接說明原因。照片長邊最多 8192 像素、總共最多 4000 萬像素。存下來的檔案是從編輯後的畫面重新編碼,所以位置、相機型號這些 EXIF 都不會帶出去。

常見問題

我的照片會上傳嗎?

不會。照片在這個分頁裡讀取和編輯,模型透過 WebGPU 在你自己的顯示卡上執行。唯一的下載是第一次的模型和推論引擎;照片不會離開瀏覽器,也不會留下任何關於它的紀錄。

為什麼第一次擦要等那麼久?

第一次會發生三件事:下載 208 MB 的模型、替顯示卡準備模型(GTX 1060 上大約一分鐘),再加上第一次擦本身大約半分鐘。準備好的模型在頁面開著的時候都會留著,之後每次大約三秒;下次再來,模型直接從瀏覽器快取載入,不用重新下載。

為什麼一定要顯示卡?

LaMa 是很大的神經網路,光模型檔就約 208 MB,每擦一次都要算幾十億次。在 GTX 1060 上透過 WebGPU 擦一次大約三秒;用處理器跑,同樣一次要超過一分鐘。與其做一個會讓分頁卡住的 CPU 模式,頁面會直接告訴你少了什麼,並連到 My Computer Specs 讓你檢查瀏覽器和顯示卡。

為什麼擦過的地方會糊糊的,或出現重複的圖案?

因為模型要從看得到的周圍,去生出被擋住的部分。天空、牆壁、草地、沙灘很好接;人群裡的臉、文字和規則的圖案就難了,常常會變糊或像複製貼上。可以塗得比物件寬一點、把影子也塗進去、大的東西分兩三次擦,結果怪怪的就按復原再試一次。

照片會維持原本的解析度嗎?

會。送進模型的只有你塗的地方周圍那塊正方形,真正改到的只有塗到的範圍和幾個像素的羽化邊緣,其他地方跟原圖每個像素都一樣。存檔時維持原本的寬高,可以選 PNG,或品質 92 的 JPEG。因為是重新編碼,位置之類的 EXIF 不會帶出去。

手機或平板可以用嗎?

可以用手指塗,瀏覽器有 WebGPU 的話應該就能跑,但還沒有在手機上實測過。記憶體比較少的手機可能會在準備模型時失敗,而且第一次要下載約 230 MB。瀏覽器沒有 WebGPU 的話,頁面會在下載任何東西之前先跟你說。