打馬賽克就安全了嗎?AI 消除馬賽克,開源項目上線,文末附教程

2021-02-14 碩博生活圈

像素化(又稱馬賽克)是一種常見的打碼方式,通過降低圖像中部分區域的解析度來隱藏某些關鍵信息,比如:

但是,在你想隱藏信息的同時,有一些技術卻反其道而行之,試圖將圖片還原為原始狀態。最近,一個名為 Depix 的 GitHub 項目爆火,上線三天 star 量已經高達 6.9k。項目作者 Sipke Mellema 是一名信息安全顧問。https://github.com/beurtschipper/DepixDepix 能夠從像素化圖像截圖中恢復原圖中包含的文字密碼。該項目適用於使用線性方框濾波器(linear box filter)創建的像素化圖像。如下圖所示,項目作者給出了像素化圖像、恢復之後的效果和原圖的對比結果:馬賽克打得夠嚴實了,不過 Depix 還是基本解讀出了被隱藏的信息。使用 Depix 從像素化圖像截圖中恢復文字密碼,操作也比較簡單:在具有相同字體設置(包括文本大小、字體、顏色、hsl)的編輯器中,粘貼待處理字符的德布魯因(De Bruijn sequence);給該序列截圖,儘可能使用和像素化圖像相同的截圖工具;
python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.png

Depix 算法利用線性方框濾波器單獨處理每一個 block 這一事實。它對搜索圖像中的每一個 block 執行像素化以尋找直接匹配。對於大部分像素化圖像,Depix 儘量尋找單匹配結果,並假設這些匹配是正確的。至於周圍多匹配 block 的結果被看作像素化圖像中相同的幾何距離,並認為這些匹配也是正確的。該過程重複多次。在正確的 block 沒有更多幾何匹配後,Depix 將直接輸出所有正確的 block。對於多匹配 block,Depix 將輸出所有匹配的平均值。像素化常使用線性方框濾波器實現。線性方框濾波器的實現很簡單,速度很快,可以並行處理多個 block。項目作者給出的解決方案也很簡單:使用待處理字符的德布魯因序列,將其粘貼到相同的編輯器中,然後截圖。該截圖可以用作相似 block 的查找圖像,例如:德布魯因序列包括待處理字符的所有雙字符組合。這很重要,因為一些 block 會重疊兩個字符。找出恰當的匹配需要搜索圖像中具備相同像素配置的 block。在以下測試圖像中,Depix 算法無法找到「o」的一部分。這是因為在搜索圖像中,搜索 block 還包含下一個字母(「d」)的一部分,但在原始圖像中這裡有個空格。創建字母的德布魯因序列時加上空格顯然會帶來同樣的問題:算法無法找到後續字母的恰當 block。有空格又有字母的圖像需要更長的搜索時間,但結果也更好。在正確的 block 沒有更多幾何匹配後,Depix 直接輸出所有正確的 block。對於多匹配 block,Depix 將輸出所有匹配的平均值。雖然 Depix 的輸出並不完美,但已經算不錯了。下圖展示了包含隨機字符的測試圖像的去像素化結果,大部分字符被正確讀取:

過程為本人第一視角,漏掉的部分請自行探索。

下載源碼,cd到根目錄,執行文檔(README.d)中的Example代碼。到這裡,目前還不明白這行代碼的意思,不過可以看到兩個圖片路徑,都在示例代碼中出現,最後一個看名字就知道,工程根目錄輸出一個output.png圖片。猜測為執行depix.py腳本,後面為『參數』和輸出結果。(這裡默認已安裝python工具,可以執行python命令)

python depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png

執行代碼後報錯

Traceback (most recent call last):
File 「depix.py」, line 1, in 
from depixlib.LoadedImage import *
File 「/Users/bit_tea/Downloads/Depix-main/depixlib/LoadedImage.py」, line 1, in 
from PIL import Image
ImportError: No module named PIL

百度。。。,結果意思是需要安裝pillow命令。

安裝pillow

pip install pillow

報錯,沒安裝pip…

安裝pip

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

提示:

WARNING: The scripts pip, pip2 and pip2.7 are installed in 『/Users/bit_tea/Library/Python/2.7/bin』 which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

此問題需解決。。

python3 get-pip.py
Successfully installed pip-20.3.1
WARNING: You are using pip version 19.2.3; however, version 20.3.1 is available.
You should consider upgrading via the '/Applications/Xcode.app/Contents/Developer/usr/bin/python3 -m pip install --upgrade pip' command.

執行提示命令

/Applications/Xcode.app/Contents/Developer/usr/bin/python3 -m pip install --upgrade pip

至此,pip3安裝成功。

回頭執行第2步,安裝pillow(注意:用pip3)

pip3 install pillow

回頭執行第1步(注意:用python3)

python3 depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png

稍作等待,最後一句完成,可以看到工程目錄下多了一個output.png文件,大功告成~

INFO:root:Finding color rectangles from pixelated space
INFO:root:Found 116 same color rectangles
INFO:root:86 rectangles left after moot filter
INFO:root:Found 1 different rectangle sizes
INFO:root:Finding matches in search image
INFO:root:Removing blocks with no matches
INFO:root:Splitting single matches and multiple matches
INFO:root:[10 straight matches | 76 multiple matches]
INFO:root:Trying geometrical matches on single-match squares
INFO:root:[15 straight matches | 71 multiple matches]
INFO:root:Trying another pass on geometrical matches
INFO:root:[17 straight matches | 69 multiple matches]
INFO:root:Writing single match results to output
INFO:root:Writing average results for multiple matches to output
INFO:root:Saving output image to: output.png

結語:通過觀察輸入和輸入,發現輸入除了一個馬賽克圖片外,還需要一張對比(或者是預測結果參數)的圖片,有很大的局限性(lsp哭了),之後再看看是不是除了示例還有其他功能。。。

細心的同學應該發現第3步還有一個問題沒有解決。。。雖然pip3可以用,pip還是不行。

pip
-bash: pip: command not found

原因:(第3步有提示)pip沒有添加到path環境裡,所以在非其安裝路徑下是不可以執行pip相關命令。

WARNING: The scripts pip, pip2 and pip2.7 are installed in 『/Users/bit_tea/Library/Python/2.7/bin』 which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

解決:(PATH路徑為以上第3步提示的路徑,及默認安裝到python2.7中的pip路徑)。

echo 'export PATH=/Users/bit_tea/Library/Python/2.7/bin:$PATH' >>~/.bashrc
source ~/.bashrc

驗證

pip

Usage:
pip <command> [options]

完成~

參考文章:
https://blog.csdn.net/weixin_44037416/article/details/96842058
https://www.jianshu.com/p/96bfccc7c680

以後截圖時給敏感信息打碼,看來不能簡單地用「馬賽克了」。

https://www.linkedin.com/pulse/recovering-passwords-from-pixelized-screenshots-sipke-mellema/?trackingId=yYFSUnuxRXasNV%2Fh3ZsiSw%3D%3D

小福利

1.關注公眾號,回復「」後臺自動返回群二維碼進本碩博交流討論群,有985211專屬群&考研群&校招信息分享群

2.公眾號左下角頁面按鈕,可免費下載99.9%的學術論文

3.200G網際網路,考研,國考,教師資格證資料,最新在線電影等歡迎你來領

相關焦點

  • 震驚,被馬賽克的圖片竟然還可以恢復
    其實之前在我用馬賽克對圖片進行模糊處理的時候,我就思考過這個問題,這些被馬賽克的地方能不能被恢復出來,萬一能恢復,當時就覺得細思極恐。你說巧不巧還真能恢復。在介紹今天的項目之前,我們先來看一下以下這張圖片,相信你也會跟我一樣震驚的。
  • 盤點谷歌地圖上被打了馬賽克的神秘地點~
    這些地方在谷歌地圖上經常被打上馬賽克,甚至完全抹去。有陰謀論者宣稱,它們可能是秘密城市或UFO測試地。澳大利亞新聞網日前盤點了這些在谷歌地圖上找不到的神秘地點。  如上圖中的HAARP基地,有陰謀論者認為,這個基地可能在研究控制天氣的技術,包括颶風、雷暴甚至電力中斷等,但是沒有令人信服的證據。此外,還有人認為這裡是UFO測試場地。
  • 馬賽克圖片
    所以,就有人評選出了人類罪惡的十大發明,這其中有毒品,核武器,香菸還有就是馬賽克。有人認為,馬賽克將原本色彩斑斕、清晰奪目圖像給遮擋了起來,影響了欣賞圖像的視覺享受;但也有人認為,馬賽克模糊掉了那些恐怖和血腥的畫面,能夠保護到觀看者心靈不受傷害。
  • 美國馬賽克戰概念發展分析
    隨著國際政治軍事形勢變化和對手國家「反介入/區域拒止」能力發展,美軍認為其高科技武器固有的不對稱優勢正逐步減少,美軍當前的兵力設計已不能滿足體系化作戰的需要,美國國家安全正面臨前所未有的挑戰,如果不作出改變,美國可能會輸掉下一場戰爭。
  • 破解馬賽克戰之系統發展思考
    2)概念驗證2018—2019年,DARPA戰略技術辦公室、美國海軍陸戰隊大學和美國陸軍預備役第75創新司令部聯合開展馬賽克概念驗證,設計了海上馬賽克戰、混合武器作戰中的馬賽克戰及電磁環境下的馬賽克戰等系列兵棋推演場景,探索馬賽克戰的可行性,
  • 可去圖像馬賽克的工具發布
    Depix是用於從馬賽克後的截圖中,恢復密碼(字符)的工具。
  • 馬賽克作戰概念對未來火力殺傷控制技術的挑戰
    為了在競爭對手中保持優勢地位,美國高級計劃研究局(DARPA)提出贏得未來衝突的新概念——「馬賽克戰」,期望通過先進的技術手段,在網絡環境下,實現多域、多武器系統平臺的實時靈活組合,產生一系列非線性作戰效果,最終形成基於效果的智能「殺傷網」。
  • 【續】技術與概念演進之二:兵棋推演評估馬賽克作戰概念!
    由於馬賽克戰爭所需的基本系統和能力尚不存在,CSBA組織的系列兵棋推演假定未來解決方案克服了實施馬賽克戰爭的四個主要技術挑戰:後勤、通信、支持AI的機器控制和自主系統。假設這些挑戰得到解決,兵棋推演可以著手檢驗假設並評估馬賽克戰的潛在效用和可行性。美國的能力在未來的馬賽克戰相關研究中,應評估這四個領域技術開發的力量。
  • 不用再「心中無碼」,這些馬賽克終於能被去掉了!
    馬賽克,男同胞們共同的敵人。
  • 訓練馬賽克消除器
    我使用了公司目前刷臉打卡所累積的大量相片,寫個程序逐層讀取文件夾內的每張相片並自動裁減臉部區域,再打上馬賽克,最後拼成一張張成對的相片如下(為保護圖片當事人,僅放上加上馬賽克的照片)。我的目的是希望訓練一個 GAN model,能把馬賽克抺除還原成原始的圖像,這個模型是不是很棒呢?
  • 玩具說NO.135:那個淘寶馬賽克圖片的KO 3A 大黃蜂
    今天給大家介紹這款已經出貨已久的淘寶圖片是馬賽克版本的5U KO 3A大黃蜂……    今天就簡單介紹一下。    以上都是看看某些電影有馬賽克,如今玩具也馬賽克,到底怎麼樣給大家隨便聊兩句吧。
  • 2018年11月份GitHub上最熱門的Python項目
    對參數進行模糊測試之後構建合適的payload使用payload對參數進行窮舉匹配內置爬蟲功能https://github.com/fighting41love/funNLP Star 2496這是GitHub上一些實用包的匯總,包括中英文敏感詞、語言檢測、中外手機/電話歸屬地/運營商查詢、名字推斷性別、手機號抽取、身份證抽取、郵箱抽取、中日文人名庫
  • PyTorch 模型訓練實用教程(附代碼)
    起初,只是做了一些學習筆記,後來覺得這些內容應該對大家有些許幫助,畢竟在網際網路上很難找到這類內容的分享,於是此教程就誕生了。PyTorch 模型訓練實用教程(附代碼)關注微信公眾號 datayx  然後回復  訓練  即可獲取。
  • 美國國防部讓AI和戰鬥機飛行員展開對決
    1957年,蘇聯發射了第一顆人造地球衛星斯普特尼克1號,時任美國總統的艾森豪為了與之抗衡建立了該計劃局,通過和業界、學術界和政府部門合作,旨在為國家安全研發具有創新突破的技術。它專注於中期和遠期的技術突破,而不是滿足美國軍方當下的現實需求。
  • AI最強開掛神器,我出圖速度已經快到不可描述了!
    在做分析圖、軸測圖、插畫風效果圖或海報設計時,PS會有放大出現馬賽克的現象,在這方面AI卻有得天獨厚的優勢!雖然AI跟PS有很多不同點,不太好學,不過膠囊君幫你們打包了一些神器,新手福音,摸魚速攻必備!
  • 北美的門諾會 :⼀個新的馬賽克(下)
    1995年,由門諾會中⼼委員會(MCC)發起的「⼤馬⼠⾰之路反種族主義進程」(theDamascusRoadAnti-RacismProcess)成立了⼀個反種族主義再洗禮派培訓項目,其長期目標是消除種族主義,特別是在教會和基於信仰的組織中。 這張照片拍攝於1952年,描繪了俄亥俄州克利夫蘭的⼀座教堂建築, 上面有⼀個⼤的標誌。
  • 英飛凌AI越野組入門教程-逐飛科技
    英飛凌AI越野組入門教程該學習教程由英飛凌委託「逐飛科技」探索、驗證並完成教程編寫,現在公開發布給所有電磁越野組的參賽同學參考使用
  • 基於yolo5工地安全帽和禁入危險區域識別系統,附數據集
    YOLOv5 來訓練在智能工地安全領域中頭盔目標檢測的應用代碼及運行教程,訓練模型AI項目體驗地址 https://loveai.tech創建自己的數據集配置文件因為我這裡只是判斷 【人沒有帶安全帽】、【人有帶安全帽】、【人體】 3個類別 ,基於 data/coco128.yaml 文件,創建自己的數據集配置文件 custom_data.yaml
  • 【精品】Flutter百大開源項目排行榜
    OpenFlutter/Flutter-Notebook ♥️ 2.5k日更的FlutterDemo合集,今天你fu了嗎21. roughike/inKino ♥️ 2.2kA multiplatform Dart movie app with 40% of code sharing between Flutter and the Web.