人們都不喜歡馬賽克,以至于誕生出了“馬賽克阻止人類文明進步”的箴言,
影片里看到馬賽克,你會索然無味;文檔里看到馬賽克,你會興致掃地……無數朋友都在尋找一個問題的答案——馬賽克真的是不可消除的嗎?有碼能不能用什么黑科技,一鍵變成無碼?
從原理上來說,馬賽克屬于永久性的資訊丟失,馬賽克的原理很簡單,把大量的小像素點合并到一個大的像素點,并取平均色,就制造成了馬賽克,
馬賽克顯然屬于不可逆運算,你無法從一個平均數,推斷出它是由哪幾個數平均而來的。
然而,馬賽克是否當真完全不可能還原?一般來說,要消除馬賽克,需要人進行想象腦補,然后把缺失的內容重新畫出來。
這種方法效率低,而且效果并不穩定。近幾年AI技術的風行,帶來了很多不可思議的應用。最近,又出現了一些和AI去馬賽克相關的消息,一起來看看,
Depix
這是一款近來引起了熱烈關注的去碼工具。Depix在GitHub上進行了開源,它主要用于去除文字馬賽克,
如果你是一名開發者,可以通過下面的鏈接進入到GitHub的頁面,來關注該項目。
Depix GitHub主頁:https://github.com/beurtschipper/Depix
我們先來看看Depix的效果,
Depix去馬賽克的效果,從上到下分別是馬賽克后的字符、用Depix還原的效果、原圖
雖然不是完美還原馬賽克,但也足夠驚人——能夠將一團不可名狀的東西,還原成為有一定可讀性的字符,這是人工也難以做到的,Depix是怎么做到這種程度的呢?
Depix的原理其實并不難理解。首先,Depix使用了一個文本表格,將這些文本打一次馬賽克。Depix使用的文本表格采用了De Bruijn sequence布魯因序列,這個序列包含了預期還原字符的2字符組合。
De Bruijn sequence布魯因序列
Depix的開發者認為,2字符非常重要,因為很多文本打馬賽克以后,一些馬賽克塊會是2字符的組合,例如下圖,某個馬賽克像素其實同時包含了“o”和“b”,2字符能提供更加精確的匹配,
通過2字符匹配,可以精確辨識出對應的文字
最終,生成了一個馬賽克塊查找表。
接著,Depix就可以憑借DebBruijn序列的馬賽克查找表,來匹配想要還原的馬賽克文本了。一旦某個馬賽克文本的塊,匹配上了查找表中的結果,那么就會很大程度上還原成為比較精確的文字——雖然還不算完美,但效果已經足夠讓人辨認這是怎樣的字符。
簡單來說,Depix的原理是用讓馬賽克匹配已知的打碼數據,然后進行還原。這項技術的出現,對于用馬賽克隱藏密碼等場景,造成了挑戰,不過Depix顯然也有局限,它當前主要用于識別英文字母和阿拉伯數字,對于海量的漢字,Depix暫時還無能為力。
Google Brain
Depix讓人看到了文字去碼的希望,而Google Brain,則是圖像去碼方面的代表。Google Brain是Google開展的AI項目,其中對于圖像消除馬賽克的研究,可謂是非常深入。
Google Brain使用的是一種全新的像素遞歸超分辨率技術,通過大量高、低分辨率的采樣學習,然后得出規律來匹配修復結果,
例如,Google Brain學習到了某種黑點是屬于眼鏡,那么在還原馬賽克的時候,就可以把這種黑點還原成眼睛,從測試來看,效果的確不同凡響,
來自Google的圖像去碼AI
這樣的AI技術有什么用?去除馬賽克只是特定場合的具體應用,類似的算法在很多時候都可以發揮作用——只要當圖像需要修復的時候,就有用武之地,
例如拍照片手抖了失焦了,糊成一片該咋辦?傳統的方法可能就是簡單粗暴的銳化了,而如果拍照APP使用AI技術,就可以“腦補”回丟失的細節和銳度,給你一張盡量可用的照片,
總結
除了上文所提到的,現在還有很多利用AI增強圖像的技術,例如Waif2x智能放大圖片技術,乃至NV家的DLSS技術,其實都和去馬賽克的AI有異曲同工之妙,都是通過AI“腦補”出不存在或者已損的圖像資訊,來增強圖像清晰度。
在未來,隨著AI算法的完善、機器學習的積累以及硬件算力的進步,AI去碼、圖像增強還會有更多驚人的效果,或許在未來某一天,馬賽克將不再成為觀瞻的障礙吧。