水印作為一種保護版權的有效方式被廣泛地應用于海量的互聯網圖像,針對水印的各種處理顯得越來越重要,比如水印的檢測和水印的去除與反去除。在這里我們和大家分享一下業余期間在水印智能化處理上的一些實踐和探索,希望可以幫助大家在更好地做到對他人圖像版權保護的同時,也能更好地防止自己的圖像被他人濫用。
我們大家在日常生活中如果下載和使用了帶有水印的互聯網圖像,往往既不美觀也可能會構成侵權。為了避免使用帶有水印的圖像帶來的各種影響,最直接的做法就是將帶有水印的圖像找出來丟棄不用,此外還有一種不推薦的做法就是去掉圖像上的水印后再使用。
接下來我們將會圍繞上述兩種大家常見的做法展開,首先介紹如何利用深度學習技術快速搭建一個水印檢測器,實現水印的自動檢測,同時我們還會進一步展示在水印檢測的基礎上如何利用深度學習技術設計一個水印去除器,自動將圖像上的水印去除。
一個包羅萬象的水印數據集
無論是搭建水印檢測器或是水印去除器,都需要海量水印圖像作為數據基礎。然而現實中并沒有直接可以使用的水印圖像數據集。因此,我們的首要任務是構建一個水印圖像數據集。首先我們要收集各式各樣的水印,為了保證后續模型良好的泛化性能,水印的種類要盡可能的多,水印樣式也要盡可能的豐富。
我們一共收集了80種來自于公司、組織和個人的水印,包括了中文、英文和logo等不同樣式。接下來就是制作帶水印的圖像,為了保證圖像數據的一般性,我們將公開的PASCAL VOC 2012數據集的圖像作為原始的無水印圖像,然后利用圖像處理工具將收集的80種水印以隨機的大小、位置和透明度打在原始圖像上,同時記錄下水印的位置信息,從而得到第一個大規模的水印圖像數據集。
水印數據集的80%被劃分為訓練集,剩余的20%被劃分為測試集,為了適應現實場景中需要機器自動檢測和去除從未見過的水印的需求,我們確保訓練集中的水印不會出現在測試集中,這樣可以很好地模擬現實生活中的使用場景。現在水印圖像數據集已經準備就緒,接下來就是如何去搭建水印檢測器和去除器。
能夠一眼看穿各類水印的檢測器
水印在圖像中的視覺顯著性很低,具有面積小,顏色淺,透明度高等特點,帶水印圖像與未帶水印圖像之間的差異往往很小,區分度較低。為了構建一個有效的水印檢測器,我們將圖像水印檢測問題轉化為一種特殊的單目標檢測任務,即判斷圖像中是否有水印這一單目標存在。
當前基于深度學習的目標檢測模型有很多,可以分為以Faster R-CNN為代表的兩階段目標檢測算法和以YOLO和RetinaNet等為代表的單階段目標檢測算法。前者是先由算法生成一系列待檢測目標的候選框,再通過卷積神經網絡進行候選框的分類;后者則不用產生候選框,直接將目標邊框定位的問題轉化為回歸問題處理。一般來說單階段的算法在檢測速度上會更快,但檢測精度上會有所下降。我們在這里分別基于Faster R-CNN、YOLOv2和RetinaNet這三種目標檢測算法來搭建水印檢測器,從對比的結果來看,三種方法都展現了令人滿意的檢測效果,其中以RetinaNet最優。
為了更加直觀地展示我們搭建的基于RetinaNet的水印檢測器的效果,我們將測試集上的水印檢測結果可視化,藍色的框是實際的水印區域,紅色的框是檢測器定位的水印區域,從可視化結果可以看出,對于未出現在訓練集中的水印,我們的水印檢測器依然可以一眼就看穿。有了這樣一款水印檢測器,我們就可以在海量圖像中快速又準確地檢測出帶水印的圖像。
往前走一步:從檢測到去除
如果只是利用AI來自動檢測水印,是不是總感覺少了點什么?接下來我們在水印檢測的基礎上往前再走一步,利用AI實現水印的自動去除。因為水印在圖像上的面積較小,所以直接對整幅圖像進行水印去除顯得過于粗暴,也會嚴重拖慢去除速度。針對這種情況我們結合水印檢測設計了更貼合實際操作的水印處理流程,我們先通過水印檢測器檢測出水印區域,然后對水印區域進行水印去除操作。
水印去除問題可以看作是一個從圖像到圖像的轉換問題,即將帶水印的圖像轉換為無水印的圖像。這里我們使用全卷積網絡來搭建水印去除器,實現這種圖像到圖像的轉換。全卷積網絡的輸入是帶水印的圖像區域,經過多層卷積處理后輸出無水印的圖像區域,我們希望網絡輸出的無水印圖像能夠和原始的無水印圖像盡可能的接近。
為了盡可能提升網絡輸出無水印圖像的質量,我們采用U-net結構替換了傳統的編解碼器結構,將輸入信息添加到輸出中,從而盡可能保留了圖像的背景信息。同時我們采用感知損失(Perceptual Loss)和一范數損失(L1 Loss)相結合的方式替換傳統的均方誤差損失(MSE Loss),使輸出的無水印圖像在細節和紋理上能夠更貼近原圖。
我們將水印去除器在測試集上的一些去水印效果可視化,左列是輸入的水印區域,右列是輸出的無水印區域。從可視化的結果可以看出對未知水印的去除效果還是不錯的。
寫在最后
針對水印的各種處理一直是研究的熱點,也吸引了越來越多的關注。本文介紹了如何通過當前流行的深度學習技術來搭建水印的檢測器和去除器,實現對水印的智能處理。
在后續的文章中,我們會進一步介紹一種更強大的水印去除器,也會提出一些對水印反去除的思考。值得注意的是,版權保護是大家一直要堅持的事情,水印去除的研究目的更多是為了通過攻擊水印來驗證其是否有效,從而促進水印反去除能力的提升。保護版權,AI有責。
-
互聯網
+關注
關注
54文章
11162瀏覽量
103369 -
水印
+關注
關注
0文章
26瀏覽量
11645 -
AI
+關注
關注
87文章
30979瀏覽量
269249
原文標題:AI技術在圖像水印處理中的應用
文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數據技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論