機器人大講堂 發表於 2020-12-23 10:56:58
12月14日,據媒體報導,一個名為Depix的項目引發熱議。Depix能夠解碼被打上馬賽克的文字,但只適用於使用線性方框濾波器創建的像素化圖像。
除了Depix,谷歌的超強像素遞歸方案、杜克大學的AI算法PULSE,也能將面目模糊的人像變得清晰可辨。
該技術會讓那些草草打馬就以為能夠隱藏機密信息的人捏把汗。
據悉,該技術開發者初中並非竊取信息,而是為了提醒人們注重信息安全。
最近一位名為Sipke Mellema的程式設計師便開發了這樣一款工具。他說,一些公司在內部文檔中經常會使用像素化的方式顯示密碼,但沒有工具可以從這樣的圖像中恢復密碼,因此便創建了一個。
我們先來看下效果圖:
其中,第一行是被像素化後的密碼序列,被狠狠地打了一層馬賽克,看不出一點原始痕跡。
第二行是經過AI還原後的密碼,可以看到密碼序列基本被還原了,而且準確度很高,只有稍加推理就能得到第三行的原始密碼。
那麼,這個「不可思議」的AI還原技術是如何實現的?
我們知道,馬賽克是圖像像素化處理的一種手段,它通過將影像特定區域的色階細節劣化並打亂色塊,達到一種模糊圖像的效果。
像素化在許多領域被用於模糊圖像信息,其中線性盒濾波器( Linear Box Filter)是一種較為普遍的處理算法。盒子濾波也稱為方框濾波,它採用一個像素框,用該框中所有像素的平均值覆蓋像素。
像這樣,表情圖像被分為四個色塊,每個色塊被色塊平均值所覆蓋,最終形成了像素化表情,由於原始信息丟失,因此不能直接反轉濾波器。
Mellema正是利用了盒子濾波器,提出了AI還原算法-Depix。
線性盒濾波器是一種確定性算法,對相同的值執行像素化通常會產生同樣的像素塊(Block),那麼反之,使用相同位置的塊對相同文本執行像素化,是否也會得到同樣的塊值?
Mellema嘗試通過像素化文本來找出匹配的模式,結果發現確實如此。
具體來說,Mellema把每個塊或塊組合看作一個子問題。該算法要求在相同背景上,具備相同的文本大小和顏色,因此他沒有選擇創建潛在字符的查找表,因為現代文本編輯器可以添加色調、飽和度和亮度,也就是說存在海量潛在字符。
在處理字符方面,Mellema使用待處理字符的德布魯因序列(De Bruijn sequence),將其粘貼到相同的編輯器中,然後截圖。該截圖可用作相似塊的查找圖像,例如:
德布魯因序列包括待處理字符的所有雙字符組合,這一點很重要,因為一些塊會重疊兩個字符。
要找出合適的匹配需要搜索圖像中具備相同像素配置的塊。在測試中,Depix 算法無法找到字符「o」,因為在搜索圖像中,搜索塊還包含下一個字母「d」,但在原始圖像中這裡有個空格。
顯然,在創建字符的德布魯因序列時,如果加上空格會帶來同樣的問題,即算法無法找到後續字母恰當的塊。有空格又有字母的圖像需要更長的搜索時間,但結果也更好。
對於大多數像素化圖像而言,Depix可以找到塊的單個匹配結果。它先假設這些塊是正確的,然後將周圍多個匹配塊進行比較,使其與像素化圖像中的幾何距離相同,並假設這些匹配也是正確的。
在正確的塊沒有更多幾何匹配後,Depix 直接輸出所有正確的塊。對於多匹配塊,Depix 將輸出所有匹配的平均值。雖然 Depix 的輸出並不完美,但已經算不錯了。
下圖展示了包含隨機字符的測試圖像的去像素化結果,大部分字符被正確讀取:
最後需要說明的是,Mellema開發這個AI項目並不是為了竊取信息,而是利用ECB和明文攻擊(Known-Plaintext Attacks)的模式,提高信息保護技術。在他看來,不知道如何破壞當前的保護模式,是信息安全中的常見陷阱。
責任編輯:lq
打開APP閱讀更多精彩內容
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴