只知道 AI 深不可測,沒想到還能去馬賽克

只知道 AI 深不可测,没想到还能去马赛克

我們已經見識過很多種 AI 的神奇應用方式:下圍棋、聊天、融合兩張圖片的風格、創作小說……按理說,已經沒什麼可以讓人感到驚喜了。

但,如果連萬惡的馬賽克都能消除呢?

只知道 AI 深不可测,没想到还能去马赛克

一般的水印或者馬賽克,用 Photoshop 的「內容識別」工具就能搞定。只需要框選水印區域,選擇「填充」-「內容識別」,軟件便會根據選區周邊的內容自動填充,在那些構圖和色彩簡單的圖片上可以輕鬆去除不想要的元素。

然而內容識別工具說到底還是對選區周圍的內容平均取樣之後填充,就像是圖片的「自體皮膚移植」,無法修復已經被水印破壞的內容,在面對複雜圖像以及我們最熟悉的黑條馬賽克時可謂束手無策。

只知道 AI 深不可测,没想到还能去马赛克

比如說,這裡有一個西部牛仔的照片。他是諸多暴力行為的嫌疑人,我們先在這按照法律保護隱私的要求給雙眼打上馬賽克。要是我們試圖用內容識別工具來使圖片恢復原貌,那很遺憾,只可能得到一個恐怖的「無眼人」,因為關於眼睛的信息已經被遮擋起來,無法通過「移植」的辦法來解決。

所以,要想找回被遮擋的眼睛,只能靠「腦補」——可以是人腦,也可以是人工智能。

前段時間在 GitHub 上線的 DeepCreamPy 項目正是為此而生。它是個以修復任意尺寸和形狀的圖像損壞為志業的項目,因運用了新算法的緣故,效果是目前類似項目中最好的。

只知道 AI 深不可测,没想到还能去马赛克

比如說,同樣的圖片,使用 DeepCreamPy 處理後,會發現被遮擋的眼睛被它重新「畫」出來了,雖然還做不到 100%完美,但粗看之下已經和原圖相差無幾。

什麼是 DeepCreamPy?

DeepCreamPy 由 deeppomf 開發,技術上主要參考了 NVIDIA 今年發表的一項研究。通過深度全卷積網絡,使用 CPU 即可推斷出圖像缺失的內容並給出有意義的預測——也就是說,作為一個圖像處理項目,甚至不需要顯卡的支持便可運行。

這意味著項目依賴 CPU 的處理能力。像我這臺仍用著 3 代 i5 的電腦,處理一張圖片就要大約 30 秒時間,並且目前版本的 DeepCreamPy 還要求使用者手動標明哪裡是打碼區域,因此還實現不了大規模自動化處理。

只知道 AI 深不可测,没想到还能去马赛克

雖然圖形化界面尚未完成,但作者發佈了經過訓練的預構建模型,哪怕是對神經網絡一竅不通的人,只要按著流程來依然能體驗上這套工具的神奇威力。

此外,作者已經將項目開源,我們也可以重新訓練或編譯這個模型,不過前提是要安裝 Python、TensorFlow、Keras、Pillow、h5py 等工具,學有餘力的同學可以自行嘗試。下面將會用預構建模型為例介紹怎麼使用 DeepCreamPy 去除馬賽克。

如何使用 DeepCreamPy?

首先,你需要下載作者發佈的整合包並解壓,要注意的是,它只能在 64 位 Windows 系統上運行。

只知道 AI 深不可测,没想到还能去马赛克

別忘了 DeepCreamPy 現在還不支持全自動化處理,所以還得用 Photoshop 打開需要處理的圖片:用純綠色(#00FF00) 塗抹打碼部分,以便程序識別需要處理的區域。最好使用鉛筆工具塗色,若要用畫筆工具的話一定要記得關閉抗鋸齒功能,否則會導致識別錯誤。

然後,將塗上綠色的圖片以 PNG 格式保存到整合包的「decensor_input」文件夾裡——根據個人經驗,大多數不運行的情形都是因為忘記了正確的文件格式。

只知道 AI 深不可测,没想到还能去马赛克

最後,雙擊運行「decensor.exe」等待程序自動處理完成後,到「decensor_output」文件夾就能查看處理完畢的圖片。程序的啟動和運行會花費一定時間,所以看到空白的命令行界面不要慌張,耐心等待或者乾脆把程序切到後臺去幹別的事就行了。

就我個人的測試體驗來看,大多時候 DeepCreamPy 的確能給出驚豔的答案,但它的「腦補」能力自然還不及大腦,馬賽克面積過大的話給出來的結果也不大靠譜。好在我的對手只是 E 紳士上工整的小型黑條馬賽克,目前的算法就完全應付得來。

咳咳,你懂的。


分享到:


相關文章: