有碼一鍵變無碼!馬賽克終於被AI消滅了

人們都不喜歡馬賽克,以至於誕生出了「馬賽克阻止人類文明進步」的箴言。

影片里看到馬賽克,你會索然無味;文檔里看到馬賽克,你會興緻掃地……無數朋友都在尋找一個問題的答案——馬賽克真的是不可消除的嗎?有碼能不能用什麼黑科技,一鍵變成無碼?

從原理上來說,馬賽克屬於永久性的資訊丟失。馬賽克的原理很簡單,把大量的小像素點合併到一個大的像素點,並取平均色,就製造成了馬賽克。

馬賽克顯然屬於不可逆運算,你無法從一個平均數,推斷出它是由哪幾個數平均而來的。

然而,馬賽克是否當真完全不可能還原?一般來說,要消除馬賽克,需要人進行想像腦補,然後把缺失的內容重新畫出來。

這種方法效率低,而且效果並不穩定。近幾年AI技術的風行,帶來了很多不可思議的應用。最近,又出現了一些和AI去馬賽克相關的消息,一起來看看。

Depix

這是一款近來引起了熱烈關注的去碼工具。Depix在GitHub上進行了開源,它主要用於去除文字馬賽克。

如果你是一名開發者,可以通過下面的鏈接進入到GitHub的頁面,來關注該項目。

Depix GitHub主頁://github.com/beurtschipper/Depix

我們先來看看Depix的效果。

有碼一鍵變無碼!AI真能去馬賽克
Depix去馬賽克的效果,從上到下分別是馬賽克後的字元、用Depix還原的效果、原圖

雖然不是完美還原馬賽克,但也足夠驚人——能夠將一團不可名狀的東西,還原成為有一定可讀性的字元,這是人工也難以做到的。Depix是怎麼做到這種程度的呢?

Depix的原理其實並不難理解。首先,Depix使用了一個文本表格,將這些文本打一次馬賽克。Depix使用的文本表格採用了De Bruijn sequence布魯因序列,這個序列包含了預期還原字元的2字元組合。

有碼一鍵變無碼!AI真能去馬賽克
De Bruijn sequence布魯因序列

Depix的開發者認為,2字元非常重要,因為很多文本打馬賽克以後,一些馬賽克塊會是2字元的組合。例如下圖,某個馬賽克像素其實同時包含了「o」和「b」,2字元能提供更加精確的匹配。

有碼一鍵變無碼!AI真能去馬賽克
通過2字元匹配,可以精確辨識出對應的文字

最終,生成了一個馬賽克塊查找表。

接著,Depix就可以憑藉DebBruijn序列的馬賽克查找表,來匹配想要還原的馬賽克文本了。一旦某個馬賽克文本的塊,匹配上了查找表中的結果,那麼就會很大程度上還原成為比較精確的文字——雖然還不算完美,但效果已經足夠讓人辨認這是怎樣的字元。

簡單來說,Depix的原理是用讓馬賽克匹配已知的打碼數據,然後進行還原。這項技術的出現,對於用馬賽克隱藏密碼等場景,造成了挑戰。不過Depix顯然也有局限,它當前主要用於識別英文字母和阿拉伯數字,對於海量的漢字,Depix暫時還無能為力。

Google Brain

Depix讓人看到了文字去碼的希望,而Google Brain,則是影像去碼方面的代表。Google Brain是Google開展的AI項目,其中對於影像消除馬賽克的研究,可謂是非常深入。

Google Brain使用的是一種全新的像素遞歸超解析度技術,通過大量高、低解析度的取樣學習,然後得出規律來匹配修復結果。

例如,Google Brain學習到了某種黑點是屬於眼鏡,那麼在還原馬賽克的時候,就可以把這種黑點還原成眼睛。從測試來看,效果的確不同凡響。

有碼一鍵變無碼!AI真能去馬賽克
來自Google的影像去碼AI

這樣的AI技術有什麼用?去除馬賽克只是特定場合的具體應用,類似的演算法在很多時候都可以發揮作用——只要當影像需要修復的時候,就有用武之地。

例如拍照片手抖了失焦了,糊成一片該咋辦?傳統的方法可能就是簡單粗暴的銳化了,而如果拍照APP使用AI技術,就可以「腦補」回丟失的細節和銳度,給你一張盡量可用的照片。

總結

除了上文所提到的,現在還有很多利用AI增強影像的技術,例如Waif2x智慧放大圖片技術,乃至NV家的DLSS技術,其實都和去馬賽克的AI有異曲同工之妙,都是通過AI「腦補」出不存在或者已損的影像資訊,來增強影像清晰度。

在未來,隨著AI演算法的完善、機器學習的積累以及硬體算力的進步,AI去碼、影像增強還會有更多驚人的效果,或許在未來某一天,馬賽克將不再成為觀瞻的障礙吧。

有碼一鍵變無碼!AI真能去馬賽克