辨識螢幕上的偽影

辨識螢幕上的偽影
由於資訊科技發展水準的不斷提高,電子文件逐年變得更加方便和需求旺盛,並開始超越傳統紙本媒體。 因此,及時注意保護傳統紙本媒體上的資訊內容,以及電子文件上的資訊內容都非常重要。 每一個擁有商業、國家和其他機密的大公司都希望防止可能的資訊洩漏和機密資訊洩露,如果發現洩漏,則採取措施阻止洩漏並找出違規者。

關於保護選項的一些信息

為了執行這些任務,引入了某些保護元件。 這些元素可以是條碼、可見標籤、電子標籤,但最有趣的是隱藏標籤。 最引人注目的代表之一是水印;它們可以應用於紙張上或在印表機上列印之前添加。 眾所周知,印表機在列印時會添加自己的浮水印(黃點和其他標記),但我們會考慮可以在員工工作場所的電腦螢幕上顯示的其他工件。 此類工件由特殊的軟體包生成,該軟體包將工件繪製在使用者工作空間的頂部,從而最大限度地減少工件本身的可見性,並且不會幹擾使用者的工作。 這些技術在科學發展和用於呈現隱藏資訊的演算法方面有著悠久的根源,但在現代世界中相當罕見。 這種方法主要出現在軍事領域和紙面上,用於及時識別不道德的員工。 這些技術剛開始引入商業環境。 現在,可見浮水印被積極用於保護各種媒體檔案的版權,但不可見浮水印卻相當罕見。 但它們也引起了最大的興趣。

安全文物

辨識螢幕上的偽影 人類不可見水印形成各種偽影,原則上人眼不可見,並且可以以非常小的點的形式掩蓋在圖像中。 我們將考慮可見物體,因為肉眼不可見的物體可能超出了大多數顯示器的標準色彩空間。 這些文物由於高度隱形而具有特殊價值。 然而,要讓CEH完全隱形是不可能的。 在它們的實作過程中,容器影像的某種失真被引入到影像中,並且其上出現某種偽影。 讓我們考慮兩種類型的物件:

  1. 週期性
  2. 混沌(由影像轉換引入)

循環元素表示重複元素的某個有限序列,這些元素在螢幕影像上重複多次(圖 1)。

重疊影像(圖 2)的各種變換可能會導致混沌偽影,例如全像圖的引入。

辨識螢幕上的偽影
米。 1 騎行工件
辨識螢幕上的偽影
米。 2 混沌神器

首先,讓我們來看看識別循環偽影的選項。 此類工件可以是:

  • 文字浮水印在螢幕上重複出現
  • 二進位序列
  • 每個網格單元中的一組混沌點

所有列出的偽像都直接應用於顯示內容的頂部;因此,可以透過識別每個顏色通道的直方圖的局部極值來識別它們,並相應地剪掉所有其他顏色。 此方法涉及使用每個直方圖通道的局部極值的組合。 問題在於在具有許多急劇過渡細節的相當複雜的影像中搜尋局部極值;直方圖看起來非常鋸齒,這使得這種方法不適用。 您可以嘗試套用各種過濾器,但它們會引入自己的失真,這最終可能導致無法偵測到浮水印。 也可以選擇使用某些邊緣偵測器(例如 Canny 邊緣偵測器)來識別這些偽影。 這些方法適用於在過渡過程中非常清晰的偽影;偵測器可以突出顯示影像輪廓,然後選擇輪廓內的顏色範圍對影像進行二值化,以便進一步突出偽影本身,但這些方法需要相當精細的調整才能突出顯示偽影。所需的輪廓,以及影像本身相對於所選輪廓中的顏色的後續二值化。 這些演算法被認為相當不可靠,並嘗試使用更穩定且獨立於影像顏色分量類型的演算法。

辨識螢幕上的偽影
米。 3 轉換後的浮水印

至於前面提到的混沌偽影,辨識它們的演算法將會截然不同。 由於混沌偽影的形成是透過在影像上施加某種水印來假設的,該水印是透過某些變換(例如,離散傅立葉變換)進行變換的。 這種轉換產生的偽影分佈在整個螢幕上,很難辨識它們的模式。 基於此,水印將以「隨機」偽影的形式位於整個影像中。 這種水印的辨識歸結為使用變換函數的直接影像變換。 轉換結果如圖(圖3)所示。

但出現了許多問題,導致在不太理想的條件下無法辨識浮水印。 根據轉換類型的不同,可能會遇到各種困難,例如,無法識別通過相對於屏幕大角度拍攝的文檔,或者只是質量相當差的照片,或者保存在高損失壓縮的文件。 所有這些問題導致水印識別變得複雜;對於有角度的圖像,需要對圖像應用更複雜的變換或應用仿射變換,但這都不能保證水印的完全恢復。 如果我們考慮螢幕擷取的情況,則會出現兩個問題:第一個是在螢幕本身上顯示時的失真,第二個是從螢幕本身儲存影像時的失真。 第一個非常難以控制,因為存在不同品質的監視器的矩陣,並且由於缺乏一種或另一種顏色,它們根據其顏色表示來插值顏色,從而將失真引入水印本身。 第二個更加困難,因為您可以以任何格式保存螢幕截圖,因此會丟失部分顏色範圍,因此,我們可以簡單地丟失水印本身。

實施問題

在現代世界中,有相當多的引入水印的演算法,但沒有一種演算法能夠保證在實現後100%可能進一步識別浮水印。 主要困難是確定每種特定情況下可能出現的再現條件集。 如前所述,很難創建一種識別演算法來考慮所有可能的失真特徵並嘗試破壞水印。 例如,如果對當前圖像應用高斯濾波器,並且原始圖像中的偽影非常小並且與圖像的背景形成對比,那麼要么無法識別它們,要么部分水印將丟失。 讓我們考慮一下照片的情況,它很可能會出現莫爾條紋(圖 5)和「網格」(圖 4)。 由於螢幕矩陣的離散性和記錄設備矩陣的離散性而出現莫爾條紋;在這種情況下,兩個網狀影像相互疊加。 網格很可能會部分覆蓋水印偽影並導致識別問題;反過來,在某些水印嵌入方法中,莫爾條紋使其無法識別,因為它使影像的一部分與水印重疊。

辨識螢幕上的偽影
米。 4 影像網格
辨識螢幕上的偽影
米。 5 雲紋

為了提高水印辨識的門檻,需要採用基於自學習神經網路的演算法,在運作過程中本身會學習辨識水印影像。 現在有大量的神經網路工具和服務,例如來自谷歌的。 如果需要,您可以找到一組參考影像並訓練神經網路識別必要的偽影。 這種方法最有希望識別高度扭曲的水印,但為了快速識別,它需要大量的計算能力和相當長的訓練時間才能正確識別。

所描述的一切看起來都很簡單,但是您越深入地研究這些問題,您就越了解要識別水印,您需要花費大量時間來實現任何演算法,甚至需要更多的時間來使其達到所需的機率識別每個圖像。

來源: www.habr.com

添加評論