ref: https://ieeexplore.ieee.org/document/8723605 github: ### First time #### 解決問題 SD、SR需要理解全局影像語意。 #### 採用方法 1. DSC 本文以方向感知方式分析分析空間影像上下文,提出一個新的深度SD、SR網路。 首先透過聚合RNN中的空間上下文特徵中引入注意力權重,在空間RNN中制定了方向感知注意力機制。學習這些權重能回復方向感知上下文(DSC)並用於SD、SR。 上述設計被開發成DSC模塊並嵌入CNN中以學習不同級別的DSC特徵。 2. weighted cross entropy loss 此外,設計了加權交叉熵損失函數來有效地進行SD訓練,並進一步採用歐式損失函數核制定一個顏色轉移函數,以處理訓練配對顏色和照明不一致的問題。 #### 成果 作者在兩個SD、兩個SR基準上測試,實驗評估結果表示該方法屬於SOTA ### Second * Fig1: * Table1: ### Third #### Introduction整理 陰影是用於感知深度和幾何的單眼視覺提示。知道陰影能知道照明方向、相機參數、場景幾何形狀等。此外,陰影會降低CV算法效能。故SD、SR是很重要的任務。 早期方法透過物理模型分析顏色和照明的統計數據做到SD、SR(7-15)。但這些方法建立在假設基礎上,複雜情況有不正確的可能(16)。資料驅動方法則透過手工製作的特徵(17-21)或深度學習方法(16、22、23、24)學習陰影特徵。先進方法已能達到87~90%的檢測準確度(19、23)並同時回復多數區域(24),但可能將黑色物體誤判為陰影而產生artifact,因為它們無法分析並理解全局影像語意。 識別和消除陰影都需要全局影像語意,25用於SD、26用於SR。因此,作者建議以方向感知的方式分析影像上下文,因為陰影通常透過與周圍環境的比較來進行識別。以圖一區域A為例,和區域B、C比較可以發現,B相比C更能顯示A為陰影區域。因此不同方向的空間背景在暗示陰影的存在會有不同的貢獻量。  為了捕捉各個方向上影像/空間上下文的差異,作者設計了方向感知空間上下文(direction-aware spatial context, DSC)模塊,在深度網路中首先採用四個主要方向的空間RNN來聚合全局影像特徵,然後制定了RNN中的方向感知注意力機制去學習各方向的注意力權重。因此,作者能以方向感知的方法獲取空間上下文。此外,作者將多個DSC模組的副本嵌入CNN中以學習不同層級(尺度)的DSC特徵,並且將這些特徵與卷積特徵合併,預測各層的shadow mask。在這之後,作者將不同層的預測結果,以及加權交叉熵損失整合到最終的SD結果中優化網路。 為了進一步採用網路進行SR,作者用SF影像替換mask作為GT,以訓練配對之間的歐式距離損失來預測SF影像。此外,因為相機曝光和環境照明的變化,訓練配對可能產生顏色、亮度不一致,這在現有的資料集中可以觀察到,比方說SRD、ISTD。為此,作者制定了一個傳遞函數用於調整SF GT影像。使用調整過的GT訓練使SR網路產生更好的SF影像。 作者總結本工作的貢獻主要如下: 1. 設計了空間RNN中新的注意力機制,並建立DSC模塊用於以方向感知的方式學習空間上下文。 2. 開發了新的SD網路,其採用多個DSC模塊學習不同尺度的上下文,並設計了加權交叉熵用於平衡檢測精度。 3. 制定了歐式損失並使用顏色傳遞函數產生的補償GT訓練,得到SR網路。 4. 在多個SR、SD基準上評估,結果表是提出方法為SOTA。 #### Related works整理 * SD 1. 傳統SD(8~10)使用照明和顏色的物理模型。這往往只能在寬的動態範圍內取得好的成果(18、)。 2. 另一類是用基於手工註釋的影像。首先透過特徵描述符描述影像區域,再將區域分類為S、NS區域。顏色(18、27、28、29)、紋理(19、27、28、29)、邊緣(17、18、19)和T-junction(18)等特徵通常用於SD,後方使用決策數(18、19)、SVM(17、27、28、29)等分類器。但手工特徵在描述能力上有限,面對複雜情況會失效。 CNN已被證明是學習特徵和SD的強大工具,當數據可用時,其結果遠優於先前的方法。22使用多個CNN學習超像素和延著物件邊界的特徵,並將特徵傳到conditional random field以定位陰影。32提出了深層結構化陰影邊緣偵測器,採用結構化標間來提高SD的局部一致性。23訓練堆疊CNN和包含噪聲註釋的大資料集,最小化影像cluster的sum of squared leave-one-out errors以回復註釋,並訓練了兩個CNN用於檢測。 近期,33使用補丁級CNN和手工特徵計算出的陰影先驗map。25設計了有敏感參數的scGAN去調整損失函數中的權重。雖然SD精度在19、23等基準上一直提高,但現有方法仍會將黑色物體錯誤識別為陰影。25最近強調了推理全局語意進行SD的重要性。除此之外,作者在分析空間上下文的同時也考慮方向方差。實驗證明提出方法在基準上測試優於25。 * SR 早期透過影像形成推倒物理模型(7、11~15、34)。這種方法無法描述複雜場景的陰影(16)。後來有基於手工開發特徵的統計學方法,如強度(20、21、35)、顏色(20)、紋理(21),但這些方法缺乏用於發現陰影的高級語意知識。 近期CNN特徵被廣泛使用,16應用多個CNN學習SD,並制定了貝葉斯模型提取mask以去除影像中的陰影。最近,26提出了一種端到端架構,包含三個嵌入網路(全局定位網路、語意建模網路、外觀建模網路)去萃取三個層次的特徵。24在同一個框架中設計兩個condational GAN來同時SD、SR。 26、24指出SR需要影像的全域視圖以實現和預測結果的全局一致性。然而,現有方法仍可能無法合理的回復S區域並錯誤地改變NS區域的顏色。在本工作中,作者以方向感知的方式分析全局空間上下文,並透過考慮當前基準資料級中訓練對的NS區域,制定顏色補償機制來調整像素顏色和亮度。 * Intrinsic Images 另一個相關的主題是intrinsic image decomposition,其專注在消除輸入中的照明並產生只包含反射率的影像。為了解決此問題,早期方法(36~41)使用各種手工設計的特徵去制定針對萃取有效解法的約束;更詳細的回顧可以參考42。借助神經網路,技術已經轉為使用數據驅動的CNN方法。43提出名為Direct intrinsics的方法,這是一種利用多層CNN將影像直接轉換為陰影和反射率的早期嘗試。後來44使用具有共享中間層的聯合CNN來預測深度和其他intrinsic components。更近期,42提出DARN網路,其採用判別器網路和對上訓練方案來增強生成器網路的性能。而46設計一個尺度空間網路來生成intrinsic images。 此工作在三個方面擴展了作者早期的工作。(1)首先採用具有DSC特徵的SD網路,透過重新設計輸出並制定不同的損失函數來訓練網路進行SR。(2)其次,作者表明現有SR資料集的pair中像素顏色和亮度可能不一致。為此制定了補償機制,並訓練SR網路之前使用傳遞函數使GT顏色保持一致。(3)進行多種實驗,透過考慮更多基準資料級並測量時間效能評估SD、SR的設計,展示了提出方法優於SOTA。 #### Methodology整理 圖二展示了提出的整個SD網路,該網路採用多個DSC模塊來學習不同子度的DSC特徵。網路以整張影像作為輸入並以端到端方式輸出mask。  1. 首先,使用CNN萃取不同層上不同尺度的特徵圖。淺層的特徵圖編碼了更精細的細節,可以幫助保留陰影邊界。而深層的特徵圖則攜帶更多全局語意,能幫助識別S和NS區域。 2. 再來,對於各層而言,作者採用一個DSC模塊去以方向感知方法收割空間上下文,並產生DSC特徵。 3. 第三,作者將DSC特徵和對應的卷積特徵串接起來,並上採樣串接後的特徵圖到輸入影像的尺寸。 4. 第四步,為了利用不同層特徵圖的互補優勢,作者連接上採樣特徵圖並使用1x1卷積去產生multi-level integrated features。此外,作者套用了深度監督機制(30、47),將監督訊號施加到每一層以及MLIF,並為每層預測mask。訓練過程中,作者同時最小化來自多層的預測誤差,並透過直接給予中間層監督來獲得更具辨別力的特徵(30)。 5. 最後,作者連接所有預測的mask,採用1x1卷積層去產生輸出mask,見圖二。 測試過程中,作者計算MLIF層和融合層的平均shadow mask來產生最終預測結果,並採用fully connected conditional random field (CRF)去細化結果。為了採用網路進行SR,作者用SF影像替代mask為GT,制定色彩補償機制來調整SF影像的色彩和亮度一致性,使用歐氏損失來最佳化網路,詳細參考3.3節。 後續的小節中,會先闡述DSC模塊(3.1)。之後介紹如何使用DSC設計SD網路(3.2)。然後再介紹如何進一步使用此網路進行SR。 ##### 3.1. Direction-Aware Spatial Context 圖三給出DSC模塊的架構,它已特徵圖為輸入並輸出DSC特徵。以下先描述空間上下文的概念和空間RNN模型,之後詳細說明如何在空間RNN中制訂方向感知注意力機制來學習注意力權重和產生DSC特徵。  ###### 3.1.1. Spatial Context Features RNN透過三個節點矩陣處理1D序列資料,(1)接受資料的輸入節點矩陣(2)根據過去和當前資料更新中間狀態的隱藏節點矩陣(3)輸出資料的輸出節點矩陣。RNN共有三種資料轉換,(1)輸入到隱藏節點(2)相鄰隱藏節點之間(3)隱藏到輸出節點。透過迭代地進行資料轉換,輸入收到的資料可以跨隱藏節點傳播,並最終在輸出節點產生目標結果。  為了處理具有2D空間上下文的影像,RNN被擴展以建立空間RNN模型(49)。以CNN的2D特徵圖作為輸入,首先進行1x1卷積模擬RNN輸入到隱藏資料的轉換。蕤後用四個獨立的資料轉換來聚合沿著四個主要方向的局部空間上下文,並將最終結果融合為intermediate特徵圖,如圖四B。最後重複整個過程,進一步傳播每個主要方向的聚合空間上下文,以產生整體空間上下文,如圖四C。 與圖四C相比,圖四A的各項訴只知道局部空間上下文,圖四B的像素在第一輪轉換後進一步知道四個方向的空間上下文,兩輪之後,每個像素都可以獲得相關的方向感知全局上下文,用於學習特徵以增強SD、SR。 為了在空間RNN中進行資料轉換,作者遵循了IRNN模型,因為它快速、易訓練,且在長距離資料相依性有好表現。以hij表示ij處的像素,式一表示資訊轉換的流程,其中會執行n次即該像素到邊界的格數、alpha為右像素的權重參數,每個參數初始都以I初始化,隨後自動學習。  ###### 3.1.2. Direction-Aware Spatial Context Features 為了以方向感知的方式有效地學習空間上下文,作者進一步在空間RNN中制訂方向感知的注意力機制,以學習注意力權重並產生DSC特徵,該設計體現在圖三中。 Direction-Aware Attention Mechanism。該機制目的是使空間RNN透過學習,選擇性地利用不同方向聚合的空間上下文。DSC模塊左上角可以看到,首先採用兩個連續卷積(3x3),而後是ReLU,最後是第三層卷積(1x1)產生四個通道,表示為四張權重圖,若將其表示為f_att,則有如下算式,theta表示參數。  DSC模塊中,四個方向的權重圖以元素方式與對應方向上的SC特徵相乘。因此,在訓練網路之後,網路應該學習theta來產生合適的注意力圖,選擇性地利用空間RNN的空間情境。 DSC模塊完成後,接著提供有關DSC模塊的詳細資訊。如圖三,將SC特徵與注意力相乘後,結果被串接起來並使用1x1卷積模擬RNN隱藏到隱藏的資料轉換並減少特徵維度。之後,執行第二輪循環轉換,使用同一組權重選擇。根據經驗,作者發現共享權重而非使用兩組單獨的權重會有更好的性能。實驗結果在第五節。進一步注意,這些注意力權重是根據輸入影像提取的深層特徵自動學習的,因此可能影像而異。最後使用1x1卷積,然後對串連的特徵圖進行非線性運算模擬隱藏到輸出的轉換並產生最終的DSC特徵。 ##### 3.2. SD網路 提出網路建立在VGG基礎上,除了因為記憶體占用大第一層沒有之外,每層都使用DSC特徵。由於它具有包含卷積和池化操作的全卷積架構,故DSC模塊捕的影像空間中像素之間方向關係保留在特徵空間中。 ###### 3.2.1. 訓練 因為S區域通常小於NS區域。故若損失是以整體精度為目標,它會傾向於匹配具有更多像素的NS區域。故訓練過程中作者使用weighted cross-entropy loss優化。 考慮y為GT,1表S 0表NS。p為預測結果介於0~1之間,CNN中第i層的weighted cross-entropy loss是類別分布L_i^d以及各類別準確度L_i^a加權後的交叉熵。  其中TP、TN分別是每張影像真楊性和真陰性的數量,Np、Nn是S和NS像素在第i層的數量。實作上,L_i^d幫助平衡S、NS的檢測;若S區域少於NS區域,會懲罰錯誤分類的S像素多於NS像素。反之,受到53啟發,該文獻更傾向於選擇錯誤分類的範例來訓練,作者放大難以分類的類別上的權重(S或NS)。為此,作者採用了L_i^a,其當正確分類的S(或NS)數量較少時,S(或NS)類別的權重較大,反之亦然。在圖二顯示的SD網路中每層使用此損失。因此,整體損失函數L_overall是不同尺度上所有預測mask損失的總和:  其中,wi和Li分別表示整個網路中第i層的權重和損失;wm和Lm是MLIF層的權重和損失;wf和Lf則是融合層的,融合層是網路的最後一層;如圖二,注意wi、wm、wf根據經驗設定為1。 * Training Parameters 為了加速訓練過程,同時減少過擬合,作者採用ImageNet上訓練的VGG網路全眾進行分類任務,以初始化特徵提取層的參數,其餘則以標準差0.1的高斯函數初始化。SGD被用於優化整個網路... <font color=red>以下忽略</font> ###### 3.2.2. 測試 <font color=red>忽略</font> ##### 3.3. SR網路 為了採用圖二的SD網路進行SR,作者進行了三項修改: 1. 制定顏色補償機制解決顏色不一致問題,使用該機制調整GT。 2. 替換GT從mask到SF影像作為監督。 3. 以歐氏損失替換加權交叉熵。 ###### 3.3.1. Color Compensation Mechanism  SR資料通常先拍攝有陰影的照片,之後移除物件再次拍攝。由於環境亮度和曝光會有所不同,訓練配對可能有不一致顏色、亮度。圖五兩個資料集的顏色直方圖可以清楚看出。現存基於網路的方法透過優化網路學習SR,以產生和GT相同的輸出。故考量到這種不一致的訓練配對,網路可能會產生更亮或更暗的偏差結果。 為此,作者透過尋找每個訓練影像的顏色傳遞函數來設計補償機制。令Is、In分別為輸入和GT,Omega_s和Omega_n分別為S區域和NS區域。在作者的制定中,目標是找到顏色傳遞函數Tf,以最小化S區域的S影像和NS影像之間的顏色補償誤差Ec:  作者使用下面的線性轉換來定義Tf。這是根據經驗,作者發現使用此變換足以調整In的顏色匹配Is。  其中x是In中的像素,顏色值分別為x_r x_g x_b。M_alpha是一個3x4矩陣,它儲存顏色傳遞函數中的參數。作者用最小平方法考慮Is、In的NS區域的像素對求解M_alpha。隨後套用Tf到每個訓練配對In上用調整後的SF影像替換圖二中的mask作為監督,以端到端方式訓練。 ###### 3.3.2. 訓練 ###### 3.3.3. 測試 <font color=red>忽略</font> #### SD實驗整理 ##### SD SD使用SBU、UCF Shadow評估,SBU進行訓練。 評估指標則使用準確度和BER。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up