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

基于Weber準(zhǔn)則的圖像脆弱盲水印技術(shù)研究

數(shù)字圖像水印的FPGA實現(xiàn)步驟
深度學(xué)習(xí)中圖像分割的方法和應(yīng)用
結(jié)合BEMD與Hilbert的重復(fù)嵌入圖像水印算法

評論