0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何用上下文注意力來進行深度圖像修復

Dbwd_Imgtec ? 來源:AI公園 ? 作者:Chu-Tak Li ? 2021-04-07 19:01 ? 次閱讀

導讀

使用上下文注意力來進行深度圖像修復。

今天,我們將深入探討深度圖像修復的一個突破,上下文注意力。通過使用上下文注意力,我們可以有效地從遙遠的空間位置借用信息來重建局部缺失的像素。這個想法實際上或多或少和上一篇的復制-粘貼是一樣的。讓我們看看是如何做到的。

回顧

在之前的文章中,我介紹了使用shift連接層將未缺失區(qū)域生成的特征作為參考來恢復缺失區(qū)域,可以讓我們得到更好的修復結(jié)果。在這里,我們假設生成的特征是對ground truth的合理估計,并根據(jù)已知區(qū)域的特征與缺失區(qū)域內(nèi)生成的特征之間的相似性來確定合適的參考。

動機

在圖像修復任務中,CNN的結(jié)構(gòu)不能有效地模擬缺失區(qū)域與遙遠空間位置給出的信息之間的長距離相關性。熟悉CNN的人應該知道,在卷積層,核的大小和膨脹率控制著感受野,網(wǎng)絡需要越深入,才能看到整個輸入圖像。這意味著,如果我們想捕捉圖像的上下文,我們必須依賴于更深的層次,但我們丟失了空間信息,因為更深層次的特征的空間大小總是更小。因此,我們必須找到一種方法,在不用太加深網(wǎng)絡的情況下,從遙遠的空間位置借用信息(即理解圖像的上下文)。

如果你還記得什么是膨脹卷積,你就會知道膨脹卷積是一種在早期的層中增加感受野而不添加額外參數(shù)的方法。然而,膨脹卷積有其局限性。它跳過連續(xù)的空間位置,以擴大感受野。請注意,跳過的連續(xù)空間位置對于填充缺失的區(qū)域也很關鍵。

介紹

這項工作與我們以前討論過的網(wǎng)絡架構(gòu)、損失函數(shù)和相關技術類似。對于該體系結(jié)構(gòu),所提出的框架由兩個生成器網(wǎng)絡和兩個判別器網(wǎng)絡組成。這兩個生成器在全卷積網(wǎng)絡的基礎上使用了膨脹卷積。一個生成器用于粗重建,另一個用于細化。這被稱為標準的從粗到細的網(wǎng)絡結(jié)構(gòu)。這兩個判別器同時在全局和局部看完整的圖像。全局判別器以整個圖像作為輸入,而局部判別器以填充區(qū)域作為輸入。對于損失函數(shù),簡單地說,他們還使用了對抗損失(GAN損失)和L1損失(為了像素級重建精度)。對于L1損失,他們使用一個spatially discounted L1 loss,其中為每個像素差分配一個權(quán)值,權(quán)值基于像素到其最近的已知像素的距離。對于GAN損失,他們使用WGAN-GP損失,而不是我們所介紹的標準的對抗損失。他們聲稱,這種WGAN對抗性損失也是基于L1距離度量,因此網(wǎng)絡更容易訓練,訓練過程也更穩(wěn)定。

在這篇文章中,我將專注于提出的上下文注意力機制。因此,我簡要地介紹了從粗到細的網(wǎng)絡架構(gòu)、WGAN對抗損失和上面的加權(quán)L1損失。

方案

本文提出了上下文注意力機制,有效地從遙遠的空間位置借用上下文信息來重建缺失的像素。將上下文注意力應用到二次精細化網(wǎng)絡中。第一個粗重建網(wǎng)絡負責對缺失區(qū)域進行粗估計。與前面一樣,使用全局和局部判別器來鼓勵生成的像素獲得更好的局部紋理細節(jié)。

貢獻

圖1,該模型在自然場景、人臉和紋理圖像上的修復效果實例。

本文最重要的思想是上下文注意力,它允許我們利用來自遙遠空間位置的信息來重建局部缺失的像素。其次,使用對抗性損失和加權(quán)L1損失提高了訓練的穩(wěn)定性。此外,本文提出的修復框架在自然場景、人臉、紋理等各種數(shù)據(jù)集上都獲得了高質(zhì)量的修復結(jié)果,如圖1所示。

方法

e578ad7e-94ad-11eb-8b86-12bb97331649.png

圖2,所提出修復方法的網(wǎng)絡架構(gòu)

圖2顯示了所提出修復框架的網(wǎng)絡架構(gòu),如前所述,它由兩個生成器和兩個鑒別器組成。

上下文注意力

以下是這篇文章的主要關注點。讓我們來看看上下文注意力層是如何設計來借用遙遠空間位置已知區(qū)域給出的特征信息來生成缺失區(qū)域內(nèi)的特征的。

e5ab0df0-94ad-11eb-8b86-12bb97331649.png

圖3,上下文注意力層的圖形說明圖3顯示了上下文注意層的圖形說明。運算是可微且全卷積的。

e5e61ddc-94ad-11eb-8b86-12bb97331649.png

圖4,更多關于注意力注意力層的具體例子圖4是上下文注意層的一個更詳細的示例。如圖3所示,前景是指在缺失區(qū)域內(nèi)生成的特征,背景是指從已知區(qū)域中提取的特征。與復制粘貼方法類似,我們首先要對缺失區(qū)域內(nèi)生成的特征與缺失區(qū)域外的特征進行匹配。以圖4為例,生成的缺失區(qū)域內(nèi)的特征大小為64×64×64,假設缺失區(qū)域外的特征分為128個小特征patch,大小為64×3×3。注意,本例中特征的通道大小是64。然后,我們將128個小的feature patch與缺失區(qū)域內(nèi)生成的feature進行卷積,得到大小為128×64×64的feature map。在本文中,該操作描述為:

e62369da-94ad-11eb-8b86-12bb97331649.png

其中{fx,y}為前景patches的特征, {bx‘y’}為背景patches的特征。sx,y,x‘,y’是缺失區(qū)域特征和已知區(qū)域特征之間的相似性。實際上,這是一個標準的余弦相似度計算過程。當我們沿著通道維數(shù)看時,128個元素代表了所有已知patches和缺失區(qū)域內(nèi)特定位置之間的相似性。這反映了128個已知patches對該位置的貢獻。然后,我們沿著通道維度對特征映射執(zhí)行Softmax歸一化,如圖4中的藍色區(qū)域所示。在Softmax歸一化后,沿通道尺寸的每個位置之和應為1。

與上一篇文章中提到的Shift-Net相比,你可以看到,這一次我們給每個已知特征的patch分配了權(quán)重,來表示重建的時候每個特征位置對于缺失區(qū)域的重要性(軟分配),而不是對于缺失區(qū)域的每個位置找一個最相似的(硬分配)。這也是為什么提出的上下文注意力是可微的。

最后,以注意力特征圖為輸入特征,以已知的patches為核,通過反卷積的方法重建缺失區(qū)域內(nèi)生成的特征。

注意力傳播

注意力傳播可以看作是注意特征圖的微調(diào)。這里的關鍵思想是,鄰近的像素通常有更接近的像素值。這意味著他們會考慮周圍環(huán)境的注意力值來調(diào)整每個注意力分數(shù)。

e6473f4a-94ad-11eb-8b86-12bb97331649.png

例如,如果我們考慮左鄰居和右鄰居的注意力值,我們可以使用上面列出的公式更新當前的注意力值。注意,k控制要考慮的鄰居的數(shù)量。作者聲稱,這可以進一步提高修復結(jié)果,這也可以通過與單位矩陣卷積作為核來實現(xiàn)。關于注意力機制的另一點是,采用了兩種技術來控制提取的已知特征塊的數(shù)量。

(i) 以較大的步長提取已知的特征patch,以減少kernel數(shù)量。

(ii) 操作前先對特征圖大小進行向下采樣,獲取注意力圖后再進行上采樣。

網(wǎng)絡中的注意力

e662bf9a-94ad-11eb-8b86-12bb97331649.png

圖5,在第二個細化網(wǎng)絡中嵌入上下文注意力層的圖解

圖5顯示了作者如何將建議的上下文注意層整合到第二個細化網(wǎng)絡中。你可以看到,又引入了一個分支來應用上下文注意力,然后將兩個分支連接起來以獲得最終的修復結(jié)果。注意力圖的顏色編碼是注意力圖的可視化方法。例如,白色意味著像素集中在自己身上,粉色是左下角區(qū)域,綠色是右上角區(qū)域,等等。你可以看到,這個例子有一個充滿粉紅色的注意力圖。這意味著填充區(qū)域從左下角區(qū)域借用了很多信息。

實驗

作者首先比較了我們之前介紹的先前最先進的技術。

e69546ea-94ad-11eb-8b86-12bb97331649.png

圖6,比較提出的基線模型和GLCIC,從左到右,輸入圖像,GLCIC結(jié)果,基線結(jié)果圖6顯示了使用建議的基線模型和以前最先進的GLCIC[2]進行修復的結(jié)果。提出的基線模型如圖2所示,上下文注意力分支。很明顯,基線模型在局部紋理細節(jié)方面優(yōu)于GLCIC模型。請放大看清楚些。

e6cd62aa-94ad-11eb-8b86-12bb97331649.png

圖7,對比基線和完整模型的修復結(jié)果。從左到右,ground truth,輸入圖像,基線結(jié)果,全模型結(jié)果,全模型注意圖圖7顯示了在Places2數(shù)據(jù)集上使用基線模型和完整模型(帶有上下文注意)的定性結(jié)果。可見,完整模型具有較好的局部紋理細節(jié),提供了較好的修復效果。這反映了上下文注意力層可以有效地從遙遠的空間位置借用信息來幫助重建缺失的像素。請放大以便更好地觀看,特別是注意力圖。

e7b217b0-94ad-11eb-8b86-12bb97331649.png

表1,不同方法在Places2數(shù)據(jù)集上的定量比較表1列出了一些客觀的評價指標,供參考。如前所述,這些指標不能完全反映修復結(jié)果的質(zhì)量,因為有許多可能的解決方案來填補缺失的區(qū)域。你可以看到,建議的完整模型提供最好的L1, L2損耗和PSNR。對于電視丟失,PatchMatch提供更低的電視丟失,因為它直接復制原始圖像patch來填補漏洞。

供參考的全模型參數(shù)為2.9M。對于大小為512×512的圖像,GPU上每張圖像需要0.2秒,CPU上每張圖像需要1.5秒。

消融研究

注意力機制并不是一個新概念,文獻中有幾個注意力模塊。作者們用不同的注意力模塊做了實驗。

e7db05f8-94ad-11eb-8b86-12bb97331649.png

圖8,通過使用不同的注意力模塊進行修復。從左到右:輸入,使用空間變換網(wǎng)絡的結(jié)果,使用外觀流的結(jié)果,以及使用提出的上下文注意力的結(jié)果比較了文獻中兩個著名的注意力模塊,即空間變換網(wǎng)絡和外觀流。簡單來說,對于外觀流,使用卷積層代替上下文注意力層,直接預測二維像素偏移量作為注意力。這意味著我們添加一個卷積層來預測已知像素到缺失像素的移動。在圖8中,你可以看到使用外觀流(中間)為不同的測試圖像提供類似的注意力圖的結(jié)果。這就意味著注意力圖對于給予我們想要的“注意力”是沒有用的。你也可以觀察到空間變換網(wǎng)絡(左)不能為圖像修復任務提供有意義的注意力圖。一個可能的原因是空間變換網(wǎng)絡預測全局仿射變換的參數(shù),這并不足以幫助填補缺失的區(qū)域,也需要局部信息。這里我沒有深入講解不同的注意力模塊。圖像修復中GAN損失的選擇。作者實驗了不同的GAN損失,如WGAN損失,典型的對抗性損失,和最小平方GAN。他們通過經(jīng)驗發(fā)現(xiàn)WGAN損失提供了最好的修復效果。重要的重建損失。在不使用L1損失的情況下訓練了細化網(wǎng)絡。他們發(fā)現(xiàn)L1損失對于確保像素級重建精度是必要的,L1損失也會使修復結(jié)果變得模糊。因此,L1損失對于保證完整圖像更好的內(nèi)容結(jié)構(gòu)至關重要。

感知損失,風格損失,TV損失。我們將很快說到感知損失和風格損失。一個簡單的結(jié)論是,這三種損失并沒有給修復效果帶來明顯的改善。因此,他們的模型只使用加權(quán)L1損失和WGAN損失進行訓練。

總結(jié)

顯然,本文的核心思想是上下文注意力機制。上下文注意力層嵌入到第二個細化網(wǎng)絡中。注意,第一個粗重建網(wǎng)絡的作用是對缺失區(qū)域進行粗略估計。這種估計用于上下文注意力層。通過匹配缺失區(qū)域內(nèi)生成的特征和缺失區(qū)域外生成的特征,我們可以知道缺失區(qū)域外所有特征對缺失區(qū)域內(nèi)每個位置的貢獻。注意,上下文注意力層是可微的和完全卷積的。

要點

你可能會發(fā)現(xiàn),我們正越來越深入到深度圖像修復領域。我在上一篇文章中介紹了Shift連接層,它以硬分配的形式在CNN中嵌入了復制-粘貼的概念。本文以軟分配的形式構(gòu)造了一個上下文注意力層,該層是可微的,并且可以端到端學習,無需修改梯度的計算。希望大家能夠掌握本文提出的上下文注意力層的核心思想,特別是圖3和圖4所示的上下文注意力層公式。
編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cnn
    cnn
    +關注

    關注

    3

    文章

    352

    瀏覽量

    22217
  • 深度圖像
    +關注

    關注

    0

    文章

    19

    瀏覽量

    3509

原文標題:深入探討深度圖像修復的一個突破——上下文注意力

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    一種基于因果路徑的層次圖卷積注意力網(wǎng)絡

    機電系統(tǒng)中數(shù)據(jù)驅(qū)動故障檢測模型的性能和可解釋性。引入了一種混合因果發(fā)現(xiàn)算法發(fā)現(xiàn)監(jiān)測變量之間的繼承因果關系。順序連接因果變量的因果路徑用作接收場,使用多尺度卷積提取特征。基于分層注意力機制
    的頭像 發(fā)表于 11-12 09:52 ?278次閱讀
    一種基于因果路徑的層次圖卷積<b class='flag-5'>注意力</b>網(wǎng)絡

    Llama 3 在自然語言處理中的優(yōu)勢

    領域的最新進展。 1. 高度的上下文理解能力 Llama 3的一個顯著優(yōu)勢是其對上下文的深刻理解。傳統(tǒng)的NLP模型往往在處理復雜的語言結(jié)構(gòu)和上下文依賴性時遇到困難。Llama 3通過使用先進的
    的頭像 發(fā)表于 10-27 14:22 ?290次閱讀

    SystemView上下文統(tǒng)計窗口識別阻塞原因

    SystemView工具可以記錄嵌入式系統(tǒng)的運行時行為,實現(xiàn)可視化的深入分析。在新發(fā)布的v3.54版本中,增加了一項新功能:上下文統(tǒng)計窗口,提供了對任務運行時統(tǒng)計信息的深入分析,使用戶能夠徹底檢查每個任務,幫助開發(fā)人員識別阻塞原因。
    的頭像 發(fā)表于 08-20 11:31 ?441次閱讀

    【《大語言模型應用指南》閱讀體驗】+ 基礎知識學習

    能夠關注到輸入文本中的重要部分,從而提高預測的準確性和效率。這種機制允許模型在處理文本時同時考慮多個位置的信息,并根據(jù)重要性進行加權(quán)處理。 一些關鍵技術 1. 上下文理解 大語言模型能夠同時考慮句子前后
    發(fā)表于 08-02 11:03

    鴻蒙Ability Kit(程序框架服務)【應用上下文Context】

    [Context]是應用中對象的上下文,其提供了應用的一些基礎信息,例如resourceManager(資源管理)、applicationInfo(當前應用信息)、dir(應用文件路徑)、area
    的頭像 發(fā)表于 06-06 09:22 ?502次閱讀
    鴻蒙Ability Kit(程序框架服務)【應<b class='flag-5'>用上下文</b>Context】

    編寫一個任務調(diào)度程序,在上下文切換后遇到了一些問題求解

    大家好, 我正在編寫一個任務調(diào)度程序,在上下文切換后遇到了一些問題。 為下一個任務恢復上下文后: __builtin_tricore_mtcr_by_name(\"pcxi\"
    發(fā)表于 05-22 07:50

    微信大模型擴容并開源,推出首個中英雙語文生圖模型,參數(shù)規(guī)模達15億

    基于Diffusion Transformer的混元DiT是一種文本到圖像生成模塊,具備中英細粒度理解能力,能與用戶進行多輪對話,根據(jù)上下文生成并完善圖像
    的頭像 發(fā)表于 05-14 17:10 ?732次閱讀

    【大語言模型:原理與工程實踐】揭開大語言模型的面紗

    Transformer架構(gòu),利用自注意力機制對文本進行編碼,通過預訓練、有監(jiān)督微調(diào)和強化學習等階段,不斷提升性能,展現(xiàn)出強大的語言理解和生成能力。 大語言模型的涌現(xiàn)能力,是指隨著模型規(guī)模的增長,展現(xiàn)出
    發(fā)表于 05-04 23:55

    JPEG LS算法局部梯度值計算原理

    如果同一個上下文中對少量元素進行編碼,通常無法獲得足夠的上下文編碼信息。但是如果對大量元素進行編碼又會帶來存儲空間變大的問題。因此要對局部梯度值進行
    的頭像 發(fā)表于 04-25 10:46 ?491次閱讀
    JPEG LS算法局部梯度值計算原理

    基于門控線性網(wǎng)絡(GLN)的高壓縮比無損醫(yī)學圖像壓縮算法

    實現(xiàn)基于門控線性網(wǎng)絡(GLN)的高壓縮比無損醫(yī)學圖像壓縮算法,以提高醫(yī)學圖像存儲和分發(fā)系統(tǒng)的效率。與“傳統(tǒng)”的基于上下文的數(shù)據(jù)壓縮算法相比,基于GLN的系統(tǒng)使用一組不同的上下文模型。
    的頭像 發(fā)表于 04-08 10:29 ?665次閱讀
    基于門控線性網(wǎng)絡(GLN)的高壓縮比無損醫(yī)學<b class='flag-5'>圖像</b>壓縮算法

    OpenHarmony中SELinux使用詳解

    ”。 只有兩者的安全上下文對應上了,進程才能訪問文件。它們的對應關系由策略中的規(guī)則決定。 文件安全上下文由文件創(chuàng)建的位置和創(chuàng)建文件的進程所決定。而且系統(tǒng)有一套默認值,用戶也可以對默認值進行設定。需要
    發(fā)表于 04-03 10:43

    TC397收到EVAL_6EDL7141_TRAP_1SH 3上下文管理EVAL_6EDL7141_TRAP_1SH錯誤怎么解決?

    我收到EVAL_6EDL7141_TRAP_1SH 3 類(TIN4-Free 上下文列表下溢)上下文管理EVAL_6EDL7141_TRAP_1SH錯誤。 請告訴我解決這個問題的辦法。
    發(fā)表于 03-06 08:00

    請問risc-v中斷還需要軟件保存上下文和恢復嗎?

    risc-v中斷還需要軟件保存上下文和恢復嗎?
    發(fā)表于 02-26 07:40

    ISR的上下文保存和恢復是如何完成的?

    函數(shù):ifxCPU_enableInterrupts ();如果我讓更高優(yōu)先級的 ISR 中斷優(yōu)先級較低的 ISR,那么 ISR 的上下文保存和恢復是如何完成的?
    發(fā)表于 01-22 06:28

    使用圖像處理庫OpenCV從攝像頭獲取數(shù)據(jù)并在PyQt5上顯示出來

    OpenCV能夠處理圖像、視頻、深度圖像等各種類型的視覺數(shù)據(jù)
    的頭像 發(fā)表于 01-05 17:32 ?2589次閱讀
    使用<b class='flag-5'>圖像</b>處理庫OpenCV從攝像頭獲取數(shù)據(jù)并在PyQt5上顯示出來