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