紀世雨, 龍靜
(解放軍總醫院第五醫學中心, 北京 100039)
深度學習已經成為解決圖像類問題的最先進的方法[1-2],基于深度學習,人們可以對圖像進行分類,找尋圖像之間的關聯[3],還可以通過深度學習對圖像處理,預測事件發生的概率[4]。在這些應用領域,雖然深度學習展現了令人印象深刻的準確性,但其結果也受到圖像特性(如對稱性和旋轉)的嚴重影響[5]。為了解決以上問題,本研究提出了一種基于散射變換的旋轉不變神經網絡結構。在定向小波特征空間的基礎上,利用小波變換呈現的旋轉平移特性構建神經網絡。此外,該網絡能夠連續地將輸入的隨機旋轉映射到輸出的圓形空間,并在這個圓形空間輸出預測的角度。
大多數卷積神經網絡(CNN)都是為使用垂直方向進行訓練和分類而設計的[6-8]。如果旋轉圖像,它們的精度會大大降低。雖然有些數據圖像是自然垂直的,如圖1中的人臉,但另一些則呈現隨機的方向,如圖1中的食物跟浮游生物。

圖1 圖像方向示意圖
為了解決旋轉問題,目前大多數方法都是將旋轉樣本集成到訓練數據集中,但仍然存在精度不高等問題。所以,本研究提出了一種基于小波散射的CNN網絡,來解決這個問題。
小波散射網絡計算出一種對變形穩定的平移協變圖像表示,并保留高頻信息用于分類。該網絡可提供第一層深卷積網絡[9]。在此使用散射變換得到一個定向小波特征空間,如圖2所示。這個空間中的平移與輸入的旋轉是協變的,如圖3(a)所示。

圖2 以字母X為例的散射變換的小波特征空間
利用文獻[9]中描述的Morlet小波的實部,可以將輸入變換成定向小波特征空間,如圖3(b)所示。該變換輸出一系列能量不同的小波樣本,與輸入中的邊共線的角度包含更高的能量。例如,字母X特征空間將包含在角度33°和146°上具有更多能量,而在0°上幾乎沒有能量的小波。此外,在定向小波特征空間中,角行程的距離與輸入邊緣之間的角的距離成正比。
定向小波特征空間的一個重要性質是輸入的旋轉和特征空間上的平移之間的協方差。這個平移與角θ成正比。角階躍dθ可以通過將特征空間上的小波方向數(ns=16)除以變換的正則范圍(180°)來計算。此變換的另一個特性是能夠將兩個圖像邊緣之間的角度距離映射到角度采樣之間的線性距離。將樣本設為字母X,在筆劃之間包含112°和其他68°的角度。因此可以觀察到較大角度的角樣本之間的線性距離為10步,較小角度的角樣本之間的線性距離為6步。對于輸入圖像的每次旋轉,此線性距離保持不變。通過將這些數字乘以dθ=11.25,可以恢復角距離。
雖然具有定向小波空間是重要的,但是圖像的掃描順序代表了實現其旋轉不變性和協方差的一個關鍵因素,因此小波角樣本的掃描方向應與其所代表的方向相同。
為了實現這一點,本研究設計了一個自定義的密集權重層,該層對特征空間樣本進行重新索引。這個致密層形成一個雙線性的非旋轉,利用前面步驟計算的定向小波值來補償小波中的角度。
這個自定義層的輸出結果是一個水平方向的小波特征空間,如圖3(c)所示,它包含每個角度樣本的未旋轉版本,并且與水平掃描順序正確匹配。

圖3 網絡架構示意圖
由于旋轉平移協方差,小波特征空間包含了輸入以平移形式的所有可能旋轉。為了得到所有的平移,本研究首先將周期性填充應用到定向小波特征空間。這種周期性填充的結果是具有包含所有可能的平移的形狀(14,14,31)的增強小波特征空間,如圖3(d)所示。
為了增強水平對齊的小波信息,辦研究應用一個大小為(2,2,1)的最大池化層,如圖3(e)所示。這將減少下一層所需的參數數量。這個步驟的輸出是一個形狀為(7,7,31)的張量。
為了獲得每一個平移的信息,預測器需要跨越擴展的小波特征空間。也就是說,將預測器應用于前16個小波方向,然后向前移動一步。利用這種方法,可以得到16個不同形狀的小波特征空間(7,7,16)。每個空間都包含一個特征空間的平移。
預測器的第一階段包括5個三維卷積,每個卷積具有核大小(2,2,4)和10個濾波器,如圖3(f)所示。這些卷積捕獲了小波方向之間的潛在特征。這些特征之一就是它們之間的距離。這個預測器應用于包含轉換的每個空格。作為一個跨越它們的共享權重預測因子的重要性在于學習對應于右上角位置的轉換特征。這種垂直位置的平移可以出現在任何平移空間上。這個階段的輸出是16個空格(2,2,1,10),包含每個轉換的信息。
預測器的第二階段是共享的密集層,如圖3(g)所示。這個共享的密集層將應用于第一階段的每個輸出空間。這個密集層的輸出形狀等于類的數量。這一層將對每一個變換進行預測,并將其存儲在張量中。輸出將是一個概率分布P,列數和類數一樣多,行數和變換數一樣多。
假設情況是ns=16和10類。共享的權重密度層對16個反式中的每一個進行預測。每個預測都存儲在輸出張量上。這個張量的形狀是(16×10)。這個張量的10列將包含預測的類信息,16行包含角度信息如圖3(h)所示。之后,如圖3(i)所示,應用于列的全局最大池化層,輸出最大概率類及其行索引。將行索引乘以dθ加上預測角度的常數。
整個算法框圖如圖4所示。

圖4 算法框圖
在應用上述技術實現之后,使用MNIST數據集驗證了本文所提出的體系結構。首先用垂直定向的樣本進行實驗,然后用隨機定向的樣本進行實驗。兩種方法都在隨機旋轉的樣本上進行了驗證。為了在MNIST數據集生成這種變化,對從MNIST-R獲得靈感的原始MNIST的每個樣本在[-90,90]之間實現了隨機旋轉。
在此使用二階散射變換M=2,如文獻[9]中所建議的,高階變換沒有用,因為它們的能量可以忽略不計。
scale參數固定在J=1上,因為正在處理28×28像素大小的圖像,而因子2J使輸出圖像為14×14像素,進一步縮放該參數將顯著減少網絡可用的信息。最后一個參數固定在L=16,允許在-90°~90°范圍內有16個角度樣本。
旋轉不變性通過體系結構在輸入旋轉的情況下正確預測類的能力得到驗證。本研究通過使用MNIST-R和原始MNIST訓練網絡來測試此屬性,結果如表1、表2所示。兩個測試都在隨機旋轉的數據集MNIST-R上得到了驗證。

表1 基于MNIST-R數據集的結果

表2 基于MNIST數據集的結果
可以在表1中觀察到,作為在網絡上保持協方差的代價,所以在不變性上損失了一些精度。然而,仍然是在比較的這些方法中錯誤率是較低的。
表2表明,本研究的方法在預測階段僅使用7 022個可訓練參數時,誤差率達到了最低水平。值得注意的是,RP_RF_1有130 050個參數,RP_RF_1_32包含超過100萬個可訓練參數。
由于數據的變化,預測器能夠容忍的微小變化。因此,它將輸出對應于θ的行的最大概率和前后的非零概率(對應于θ±δθ)。這允許預測器將輸入的隨機旋轉連續映射到預測角度的圓形空間。本研究通過以dθ=11.25°的步驟將輸入樣本從-90°旋轉到78.75°,并繪制由輸出預測行表示的輸出圓形空間來對此進行測試,如圖5所示。

圖5 預測的旋轉角度映射到連續的圓形空間
旋轉映射到前面描述的輸出張量的行。輸出表示了一種自組織行為,即將連續的角度值映射為表中的連續行。這是由于上θ±δθ的非零類概率和θ上的最大概率以及上一個和下一個角度上的較低概率造成的。當絕對角度的參考未知時(如,對于浮游生物上-右位置不存在),本網絡會將其中一個旋轉值映射到線性空間的一個點,然后將連續的角度做線性映射。
線性輸出空間包含輸入的角度信息。當使用垂直定向數據集和隨機旋轉數據集訓練時,該空間具有相同的特性和行為。這將導致從連續角度生成線性關系,而角度旋轉輸入空間上不存在任何參考值。
本研究證明了僅用垂直樣本訓練網絡可以獲得旋轉不變性的能力。該網絡能夠預測訓練階段看不到的角度。此外,當輸入數據自然地是隨機的時,體系結構能夠推斷出樣本的方向,并在它們之間產生線性關系。這使得該體系結構的進一步應用能夠自動對齊隨機定向的數據集。當使用一個由散射變換計算的特征時,達到了最低的錯誤率。期望網絡中的輸入圖像比本文提出的要大,在更大的圖像中的測試表明,由于掃描和預測包含在特征空間中的每一個轉換,導致時間增加。
降低錯誤率的下一步是用一個可訓練的特征階段代替散射變換,該階段預先服務于這個旋轉變換屬性,并在其他數據集(如浮游生物、食物或人臉)上來驗證它。