圖像篡改檢測:RRU-Net

2021-02-23 AI約讀社

論文:RRU-Net: The Ringed Residual U-Net for Image Splicing Forgery Detection

代碼:https://github.com/yelusaleng/RRU-Net

   

     圖像篡改區域定位可以認為是像素級的二分類問題,因此很多人採用分割網絡進行篡改區域定位,但以前的分割算法主要是偏向於強信號特徵(可視的,跟內容特徵強相關),而圖像篡改定位更偏向於弱信號特徵(不可視的,跟內容特徵弱相關),所以直接使用以前的分割網絡沒有取得很好的效果。    RRU-Net 發表在2019CVPRW,  文中基於 U-Net 提出了一種環狀殘差網絡 RRU-Net 用於圖像拼接偽造檢測。RRU-Net 是一個端到端的圖像本質屬性分割網絡,無需任何預處理和後處理即可完成偽造區域檢測。RRU-Net 的核心思想是加強 CNN 的學習方式,並由CNN中殘差的傳播和反饋過程實現。殘餘傳播調用輸入的特徵信息以解決更深層網絡中的梯度退化問題;殘差反饋合併輸入特徵信息,使未篡改區域和篡改區域之間的圖像屬性差異更加明顯。RRU-Net 的主要工作為以下三個方面:
Residual Propagation 解決梯度退化Residual Feedback 殘差反饋合併輸入特徵信息,增加未篡改區域和篡改區域之間的差異Network Archi-tectures 網絡結構

    圖像本質屬性的差異是檢測圖像偽造的重要依據,但是隨著網絡體系結構的深入,梯度退化問題將影響圖像本質屬性的差異特徵。RRU-Net 受 Res Net 的中shortcut 啟發在U-net中引入了這種連接方式,也就是通過 Residual Propagation 殘差傳播來解決梯度退化的問題。它的 block buliding 如下:

    上圖是Residual Propagation block 的示意圖,包含兩個卷積層(稀疏卷積+relu)和殘差傳播。其輸出如下:    其中 x 是輸入,yf 是輸出,Wi 表示第 i 層的權重,式中的F(x,Wi) 表示待學習的殘差映射σ 表示 relu。Residual Propagation看起來像人腦的回憶機制。當我們學習更多新知識時,我們可能會忘記先前的知識,因此我們需要回憶機制來幫助我們喚起那些先前的模糊記憶。    RRU-Net 認為如果可以進一步增強未篡改和篡改區域之間的圖像本質屬性的差異,則可以進一步提高檢測性能。之前有的方法通過將篡改圖像通過SRM濾波層來疊加額外的噪聲屬性差異,增強檢測效果。但SRM 是一種手動選擇方法,只適用於RGB圖像篡改檢測。但當篡改區域和非篡改區域來自同一相機時,由於噪聲屬性相同,SRM方法表現不好。    RRU-Net 提出了 residual feedback來加強CNN的學習能力,它是一種自動學習的方法,而不僅僅關注一個或幾個特定的圖像屬性。設計了一個簡單有效的attention機制,加在residual feedback,給輸入的辨識度高的特徵分配更多注意力。attention機制採用帶有sigmoid 激活函數的簡單 gating 門控機制,學習有辨識度的特徵通道之間的非線性相互作用,避免特徵信息的擴散。然後將sigmoid激活得到的響應值疊加在輸入信息上,放大未篡改區域和篡改區域的圖像本質屬性差異。它的 block buliding 如下:    上圖是Residual Feedback block 的示意圖,其輸出如下:    其中 yf 為公式2的輸出(由於RRU 將Residual Propagation 和 Residual Feedback結合),G是一個線性映射(代碼中是RELU),用來改變 yf 的維度,s 表示sigmoid激活函數。    RRU-Net 認為 residual feedback 類似人腦的 consolidation 機制,我們需要鞏固我們已經學過的知識,獲得新的特徵理解。通過殘差反饋,篡改區域放大到全局最大響應值。    RRU 將 Residual Propagation 和 Residual Feedback 兩個方法相結合到RRU 的單元 Ringed Residual Structure,其結構如下圖:圖中 x1代表該操作只執行一次,x2代表執行兩次。

RRU-Net 的 Ringed Residual Structure 代碼如下:

class RRU_first_down(nn.Module):    def __init__(self, in_ch, out_ch):        super(RRU_first_down, self).__init__()        self.conv = RRU_double_conv(in_ch, out_ch)        self.relu = nn.ReLU(inplace=True)
         self.res_conv = nn.Sequential( nn.Conv2d(in_ch, out_ch, kernel_size=1, bias=False), nn.GroupNorm(32, out_ch) ) self.res_conv_back = nn.Sequential( nn.Conv2d(out_ch, in_ch, kernel_size=1, bias=False) )
    def forward(self, x):         ft1 = self.conv(x)                r1 = self.relu(ft1 + self.res_conv(x))         ft2 = self.res_conv_back(r1)        x = torch.mul(1 + torch.sigmoid(ft2), x) ft3 = self.conv(x) r3 = self.relu(ft3 + self.res_conv(x))
return r3

    RRU-Net 的網絡結構和 U-Net 差不多,主要的差別在於在 U-Net 基礎上引入了 Residual Propagation 和 Residual Feedback 相結合的結構 Ringed Residual Structure。下面是RRU-Net的網絡結構圖:


   

    下圖是 RRU-Net 和其他的方法檢測相同偽造圖像的結果比較,可以看出 RRU-Net 檢測的篡改區域雖然比 Ground Truth 小一些,但是誤識的區域少,並且檢測出來的篡改區域相較完整。

    RRU-NET 在 CASIA1.0 和 COLUMB 兩個偽造圖像數據集上的實驗結果,CASIA 1.0 包括的篡改方式有拼接和複製粘貼攻擊方式,但是本文只選取了其中的拼接攻擊方式的數據集。COLUMB 是只包含拼接攻擊的數據集

     從實驗結果可以看出 RRU-Net 對於拼接的篡改方式具有很好的效果,在CASIA1.0 和 COLUMB兩個數據集上準確率和F1-score 都實現了最好的成績 。

相關焦點

  • 圖像分割的U-Net系列方法
    一、U-Net和3D U-NetU-Net最初是一個用於二維圖像分割的卷積神經網絡,分別贏得了ISBI 2015細胞追蹤挑戰賽和齲齒檢測挑戰賽的冠軍[2]。該方法也在皮膚病圖像、視網膜圖像、肺部圖像等幾個公共數據集驗證了其性能,代碼連結:https://github.com/LeeJunHyun/Image_Segmentation#r2u-net
  • 圖像分割中的深度學習:U-Net 體系結構
    一般說來,分割(https://www.fritz.ai/image-segmentation/)是將一幅圖像分割為若干個部分的過程,這種圖像處理過程可以得到圖像中的目標或者紋理,常常被用於遙感影像或者腫瘤的檢測應用中。
  • 圖像目標檢測算法——總結
    SPP-netSPP-net 是何愷明、孫健等人的作品。SPP-net 的主要創新點就是SPP,即Spatial pyramid pooling,空間金字塔池化。在R-CNN 中,整個處理流程是這樣的:圖像- 候選區域-CNN - 特徵- 輸出而對於SSP-net 來說,上面的過程變成了:圖像- CNN -SPP - 特徵- 輸出
  • 圖像處理之目標檢測入門總結
    圖示如下:a)圖像分類:一張圖像中是否包含某種物體b)物體檢測識別:若細分該任務可得到兩個子任務,即目標檢測,與目標識別,首先檢測是視覺感知得第一步,它儘可能搜索出圖像中某一塊存在目標(形狀、位置)。而目標識別類似於圖像分類,用於判決當前找到得圖像塊得目標具體是什麼類別。c)語義分割:按對象得內容進行圖像得分割,分割的依據是內容,即對象類別。
  • Python 圖像處理 OpenCV (13): Scharr 算子和 LOG 算子邊緣檢測技術
    Scharr 算子是對 Sobel 算子差異性的增強,兩者之間的在檢測圖像邊緣的原理和使用方式上相同。而 Scharr 算子的主要思路是通過將模版中的權重係數放大來增大像素值間的差異。,也稱為 Marr & Hildreth 算子,它根據圖像的信噪比來求檢測邊緣的最優濾波器。
  • 南開大學提出最新邊緣檢測和圖像過分割被 IEEE PAMI 錄用
    > 近日,南開大學媒體計算實驗室提出的最新邊緣檢測和圖像過分割(可用於生成超像素)被 IEEE PAMI 錄用。先把相關介紹和開源地址分享給大家: https://mmcheng.net/zh/rcfedge/ http://mftp.mmcheng.net/Papers/19PamiEdge.pdf https://github.com/yun-liu/rcf 在計算機視覺領域,邊緣檢測屬於一個經典問題。
  • TLU-Net:表面缺陷自動檢測的深度學習方法
    自動鋼缺陷檢測方法在成本更低和更快的質量控制和反饋方面是有用的。但是,為分割和分類準備帶注釋的訓練數據可能是一個昂貴的過程。在這項工作中,我們建議使用基於遷移學習的U-Net (tu - net)框架來檢測鋼表面缺陷。我們以U-Net架構為基礎,探討了兩種編碼器:ResNet和DenseNet。我們使用隨機初始化和使用ImageNet數據集訓練的預訓練網絡的性能進行了比較。
  • [CVPR 2020]BEDSR-Net:單張文檔圖像的陰影去除深度網絡
    陰影去除網絡(Shadow Removal Network,SR-net):陰影去除網絡以帶陰影的文檔圖像、BE-net輸出的注意力熱圖(Attention Map)以及背景顏色圖(Background Color)在通道方向上拼接在一起之後作為輸入。
  • 兩篇篡改論文+jupyter伺服器
    前:發現這類篡改問題,2019及以前發的多,解決這類篡改檢測問題,已經開始設計了各種網絡,比DL生成圖像檢測的要更進一步,2020還沒有讀到關於這類型的論文
  • OpenCV圖像處理--邊緣檢測
    邊緣檢測的關鍵思想是像素亮度差異極大的區域表示邊緣。因此,邊緣檢測是對圖像亮度不連續性的一種度量。Sobel邊緣檢測Sobel邊緣檢測器也稱為Sobel–Feldman運算符或Sobel過濾器,它的工作原理是通過計算圖像中每個像素的圖像強度梯度。它找到了從亮到暗的最大亮度增加方向以及該方向的變化率。
  • 2020最新文本檢測算法TextFuseNet
    ,在語義分割分支來對輸入圖像進行語義分割,並幫助獲得全局級別的特徵。原文地址https://blog.csdn.net/qq_39707285/article/details/113046449閱讀過本文的人還看了以下文章:
  • ILSVRC2016目標檢測任務回顧:圖像目標檢測DET
    目標檢測相關工作受邀在ECCV 2016 ImageNet和COCO視覺識別挑戰賽聯合工作組會議上做大會報告。計算機視覺領域權威評測——ImageNet大規模圖像識別挑戰賽(Large Scale Visual Recognition Challenge)自2010年開始舉辦以來,一直備受關注。
  • ILSVRC2016目標檢測任務回顧:圖像目標檢測(DET)
    計算機視覺領域權威評測——ImageNet大規模圖像識別挑戰賽(Large Scale Visual Recognition Challenge)自2010年開始舉辦以來,一直備受關注。圖1.圖5.圖6 改進分類損失另外,由於訓練數據本身的一些衝突性(比如同樣的圖像內容在不同場景下會同時成為正樣本和負樣本,或不同類別的樣本之間非常相似),對於某些窗口,ground truth類別的得分始終不是很高,而其他一些錯誤類別的得分會超過
  • 常用圖像邊緣檢測算法詳解
    邊緣檢測是圖像處理和計算機視覺中的基本問題,邊緣檢測的目的是標識數字圖像中亮度變化明顯的點。圖像邊緣檢測大幅度地減少了數據量,並且剔除了可以認為不相關的信息,保留了圖像重要的結構屬性。有許多方法用於邊緣檢測,它們的絕大部分可以劃分為兩類:基於查找一類和基於零穿越的一類。基於查找的方法通過尋找圖像一階導數中的最大和最小值來檢測邊界,通常是將邊界定位在梯度最大的方向。
  • 實時視頻圖像的清晰度檢測算法研究
    目前針對實時視頻圖像清晰度檢測的研究較少,圖像清晰度檢測算法的研究對象主要針對靜止的圖像。現有的圖像清晰度檢測算法大致分為空域和頻域兩類。在空域中多採用基於梯度的算法,如拉普拉斯(Laplace)算法、差分平方和(SPSMD)算法、Sobel算子等。此類算法計算簡潔、快速、抗噪性能好、可靠性較高。
  • 衛星圖像中的船舶檢測Python實例
    衛星圖像是數據科學家可以使用的最豐富的數據源之一。本文將使用Kaggle上的機器學習數據集(https://www.kaggle.com/rhammell/ships-in-satellite-imagery),此機器學習數據:包括4000個80x80 RGB圖像,標記為「ship」或「no-ship」分類,值為1或0。
  • 深度學習在圖像取證領域中的進展
    在未經授權的情況下,不法分子對圖像內容進行非法操作,如違規編輯、合成虛假圖像等,從而造成篡改圖像在人們社會生活中泛濫成災。圖像取證技術就是在這樣的背景下提出,旨在通過盲分析手段認證圖像數據的原始性和真實性、鑑別和分析圖像所經歷的操作處理及估計圖像的操作歷史。數字圖像的完整周期包含三個部分:圖像獲取、圖像編碼、圖像編輯,如圖1所示。圖1.
  • 目標檢測之公開圖像數據集
    在PASCALVOC中是多任務的,包括圖像分類,目標檢測,語義分割和行為檢測。在目標檢測中有兩個Pascal-VOC版本:VOC07和VOC12,其中前者有5k張圖像和27k個被標註目標,後者則有11k張圖像和27k個被標註的目標。
  • 視頻圖像中文本的檢測、定位與提取
    文中針對水平和豎直排列的靜止及滾動文本,提出利用小波多尺度局部模極大值邊緣檢測算法來檢測文本圖像邊緣,利用形態學處理生成候選文本區域,用由粗到精的多次水平、豎直投影來定位精確的文本位置。然後,對於文本子圖用局部Otsu方法和區域填充處理進行文字二值化提取。
  • Opencv+TF-Slim實現圖像分類及深度特徵提取
    本文將用Opencv的dnn模塊調用預訓練的InceptionV4模型進行圖像分類及深度特徵的提取。("inception_v4_freeze.pb");//net.setPreferableBackend(DNN_BACKEND_OPENCV);       //啟動GPU加速//net.setPreferableTarget(DNN_TARGET_OPENCL);         //啟動GPU加速if (net.empty()){    cout<