劉海燕,楊云飛,朱 健,李小潔
(1.昆明理工大學信息工程與自動化學院,云南 昆明 650504;2.云南省計算機技術應用重點實驗室,云南 昆明 650504)
太陽黑子是太陽內部向太空繼而向地球表面輻射的強磁場的產物[1,2]。相關研究表明,不同形態的黑子群與太陽活動有著緊密的聯系,因此準確地檢測和描述太陽黑子群可以為監控和預測太陽活動提供相應的依據。世界各地的天文臺一直在觀測可見的太陽黑子群,并對其進行分析,提出了一些分類標準,以便及時掌握和描述太陽活動的動態。但是,在已有的幾種分類標準中,由于太陽黑子群形態復雜多樣,即使屬于同一個分類,仍存在一些區別和自有的特征。若能以文字的方式對黑子群圖像進行描述,就可以讓天文學者直觀快速地了解太陽黑子群的現狀、特點和變化,可以為天文科普工作提供便捷的手段,便于人們對太陽周期[3,4]、空間氣候及黑子群對地球氣候系統影響的理解。
圖像描述[5,6]是一個融合了計算機視覺和自然語言處理[7]的綜合性技術。它的目的是生成基于圖像的描述語句,這不僅需要識別圖像中的物體,還需要識別其它的視覺元素,如物體的動作和屬性,理解物體之間的相互關系,并生成人類可讀的、符合自然語言習慣的描述句子。目前,圖像描述技術一般應用于一些日常的圖像場景中,例如,Mao等[8]提出的多模態循環神經網絡m-RNN(multimodal Recurrent Neural Network)模型開創性地將深度學習[9]方法用于解決圖像描述生成問題;Lu等[10]提出的自適應注意力機制可以讓模型在生成每個單詞時,自適應地決定是否要利用圖像信息;Jia等[11]將語義信息作為長短期記憶人工神經網絡LSTM(Long Short-Term Memory)的額外輸入,進一步指導模型生成與圖像內容更加貼切的描述;You等[12]提出的模型同時利用了圖像的全局特征向量和表示高層語義概念的屬性向量,并結合注意力機制,進一步提升了圖像描述的效果。相較于前人提出的方法,Johnson等[13]提出的全卷積定位網絡FCLN(Fully Convolutional Localization Network)是一個區域描述模型,通過局部區域描述獲得更加完整的圖像信息。
本文針對太陽黑子群圖像描述任務的特點,基于FCLN模型,對其中的區域候選網絡RPN(Region Proposal Network)[14]進行了改進,建立了一個端到端的太陽黑子群圖像描述模型。本文主要有以下貢獻:
(1)通過綜合探索視覺和語義信息,本文設計了一種Inception區域候選定位網絡IRLN(Inception-RPN Localization Network)的圖像描述模型。該模型在FCLN網絡的基礎上,將原網絡中的RPN替換成Inception區域候選網絡(Inception-RPN)[15],首次將Inception-RPN網絡應用到圖像描述中;并針對太陽黑子群大小差異較大這一特征改進了Inception模塊的結構,在最后一層特征圖上使用該Inception模塊滑動窗來生成候選區域,從而進一步提高太陽黑子群檢測的準確度。
(2)制作太陽黑子群數據集,并在FCLN和IRLN 2個模型上訓練該數據集,結果顯示本文IRLN模型相較于FCLN模型在平均精度均值mAP(mean Average Precision)上提高了16%。
本文余下內容的組織方式為:第2節介紹相關工作,第3節詳細闡述本文設計的IRLN模型,第4節是實驗結果的分析比較,第5節對全文進行總結。
現有的圖像描述方法主要分為以下三大類:
(1)基于模板式的方法[16 - 19]:首先檢測圖像中的物體類別、動作和屬性,并理解物體之間的相互關系,然后將這些信息對應的單詞填入固定模板中,最終生成1個描述語句。該類方法生成的句子在語法上較為精確,但描述形式較為單一,主要是其過于依賴固定模板,限制了描述語句的多樣性,因而不適用于所有圖像。此外,圖像中物體種類豐富,物體之間存在多樣性的關系,導致標注任務復雜繁重。
(2)基于相似檢索式的方法[20 - 23]:首先檢索與待描述圖像最接近的圖像,然后將檢索到的圖像對應的描述語句遷移到待描述圖像上,最終生成基于待描述圖像的語句。該類方法生成的描述語句形式多樣、靈活,且語法也更貼近人類日常表達方式,但其嚴重依賴檢索庫,當待描述圖像在檢索庫中檢索不到相似的圖像時,生成的描述語句就會與待描述圖像有較大出入。此外,這類檢索方法需要收集大量人工生成的語句,訓練集也需要多樣化,因而在一定程度上生成的描述語句缺乏新穎性。
(3)基于編碼器-解碼器[24]的方法:首先通過編碼器將輸入序列轉化成1個固定長度的向量,然后再通過解碼器將之前生成的固定向量轉化成輸出序列,整個過程是1個端到端的訓練過程。基于編碼器-解碼器的圖像描述方法一般分為2個部分:基于卷積神經網絡CNN(Convolutional Neural Networks)的圖像編碼器進行有效的特征提取與編碼;基于循環神經網絡RNN(Recurrent Neural Network)或其變體(如LSTM[25],聯想記憶單元GRU(Gated Recurrent Unit)[26]等)的句子解碼器生成描述語句。FCLN屬于編碼器-解碼器的模型,它首先通過CNN提取特征,然后在定位層上定位物體,最后在RNN語言模型上對定位的物體進行描述。
在前人工作的基礎上,本文設計了一種IRLN太陽黑子群描述模型,制作了1個太陽黑子群圖像和描述文本的數據集,重點是根據黑子群的特征改進了FCLN模型中的RPN網絡,通過不同大小的感受野獲得特征圖來定位不同尺度的目標,提高網絡對多尺度黑子群的檢測能力。
本文設計的太陽黑子群描述流程圖如圖1所示,通過單輪優化實現端到端的訓練。選取黑子群數據集作為訓練樣本,將寬為W、高為H的原始圖像輸入CNN網絡,生成維度為C、寬為W′、高為H′的特征圖;將輸出的特征圖輸入定位層,通過Inception-RPN生成候選區域,采用非極大值抑制[27,28]方法選取B個候選區域,再通過雙線性插值將大小為W′×H′的卷積特征圖進行劃分,得到X×Y個小網格圖,最終得到B個C×X×Y固定大小的區域特征;這些區域特征經過識別網絡后,被處理成B個D維的可供LSTM處理的向量,在B個候選區域中,每一個候選區域都會生成1個長度為D的一維向量,最終生成描述語句。
本文采用VGG-16[29,30]網絡作為特征提取網絡。該網絡由13個3×3卷積層和4個2×2最大池化層[31]組成,但去掉了原VGG-16網絡中的全連接層[32]和最后一個池化層。輸入圖像大小為224×224時,具體的網絡參數如表1所示。
本文將VGG-16網絡中輸出大小相同的卷積層歸為一組,如表1中第1列所示,整個網絡分為5組卷積層,每一組分別包含x層,如Conv1_x/2表示第1組共包含2層卷積。由表1可見,整個網絡卷積核大小均為3×3,通過反復堆疊小尺寸的卷積核來提升CNN對特征的學習能力。表1中第2~4列分別表示卷積核數量、卷積核大小/步長、每一層對應的特征圖輸出大小。

Figure 1 Flow chart of sunspot groups caption圖1 太陽黑子群描述流程圖

Table 1 VGG-16 network structure parameter
IRLN的主要目的是物體定位。對于輸入大小為C×W′×H′的特征圖,先通過Inception-RPN提取候選區域,并使用邊界回歸對候選區域進行微調,再根據候選區域的置信分數選擇B個感興趣區域ROI(Region Of Interest),最后通過雙線性插值將B個候選區域提取成B×C×X×Y固定大小的特征表示向量。Inception-RPN定位層結構圖如圖2所示。
3.3.1 Inception-RPN

Figure 2 Diagram of Inception-RPN localization layer 圖2 Inception-RPN定位層結構圖
FCLN中的RPN網絡采用VGG-16卷積層的最后一層特征圖生成候選區域,經過3×3滑窗后每一個像素點的感受野是固定的,也就是僅由一種感受野生成候選區域,這樣的方式會造成部分信息的丟失。但是,如果不同尺度的目標采用不同大小的感受野,就可以獲得更好的候選區域。Zhong等[15]提出了Inception-RPN結構,用來提取候選單詞區域,取得了較好的結果。因此,本文基于FCLN網絡,將原網絡中的RPN替換成Inception-RPN網絡,并針對太陽黑子群大小差異較大這一特征改進了Inception模塊的結構,在最后一層特征圖上使用該Inception模塊滑動窗來生成候選區域,應用在黑子群描述上。改進后的Inception-RPN網絡結構如圖3所示。

Figure 3 Structure of improved inception-RPN圖3 改進后的Inception-RPN網絡結構
本文改進后的Inception-RPN網絡由1×1卷積、3×3卷積、5×5卷積和3×3最大池化層組成,將Conv5_3特征圖輸入網絡中,采用多尺度滑動窗實現局部特征提取。此外,在3×3最大池化層的頂部使用1×1卷積進行降維。圖3中的k為錨盒的個數,對這些錨進行回歸得到候選區域的信息,即錨點對應的置信分數和位置信息。改進的Inception-RPN具有以下優點:(1)添加1×1卷積后,形成的多尺度Inception滑動窗可以更好地檢測黑子群,降低漏識別率。(2)太陽黑子群大小差異較大,通過使用感受野不同的特征圖來定位不同尺度的黑子群目標,從而進一步提高太陽黑子群檢測的準確度。
3.3.2 邊界回歸
邊界回歸[33]的主要原因是候選區域往往與真實區域的匹配度不夠,經過Inception-RPN網絡得到的候選區域的位置信息需要通過邊界回歸對候選區域邊框進行微調。一個錨盒中心坐標為(xa,ya),寬為wa,高為ha,利用線性回歸得到關于邊框的4個位移參數(tx,ty,tw,th),然后通過式(1)對候選區域的中心點(x,y)和尺寸(w,h)進行更新。
x=xa+txwa,
y=ya+tyha,
w=waexp(tw),
h=haexp(hw)
(1)
3.3.3 雙線性插值
根據Inception-RPN網絡得到候選區域的置信分數,采用非極大抑制選取B=300個置信分數最高的候選區域,這些候選區域是具有不同大小和寬高比的矩形框。為了與全連接層和LSTM語言模型建立連接,需要將候選區域轉換成固定大小的特征向量。最終,對B個候選區域進行雙線性插值[33]后,一個尺寸為B×C×X×Y的向量就是定位層的最終輸出。
具體來說,就是對于任意的特征圖U(C×W′×H′)和候選區域,要將其放縮成大小為(C×X×Y)的特征圖V,放縮過程按照如下步驟進行:

(2)
式(2)中,xi,j和yi,j的值均為浮點數,然而圖像的像素坐標在計算機中必須為整數,所以坐標(xi,j,yi,j)對應的像素點是虛擬像素點,并不是U中實際存在的點。

(3)
其中,k(d)=max(0,1-|d|)。
(3)利用上面的方法,計算V中所有像素點的坐標值,得到C×X×Y的特征圖。
識別網絡是一個全連接神經網絡,它的輸入來自定位層的候選區域的特征矩陣。將每個候選區域的特征轉換成一個一維列向量,令其經過2層全連接層,每次都使用線性整流ReLU(Rectified Linear Unit)激活函數和隨機失活(Dropout)優化原則。最終,對于每一個候選區域,生成一個長度D為4 096的一維向量。存儲所有的正樣本,形成一個B×D的矩陣,將該矩陣輸入到LSTM語言模型中。
通過識別網絡對候選區域的置信分數和位置信息進行二次精修,從而生成每個候選區域最終的置信分數和位置信息。這次的精修與之前的邊界回歸基本是一樣的,只是對長度為D的向量又進行了一次邊界回歸。
將特征圖輸入到LSTM語言模型當中,從而獲得基于圖像內容的自然語言序列。其方法是將識別網絡的輸出結果進行編碼(每一個候選區域對應一個編碼),記為x-1=CNN(I)(I為特征圖,CNN為編碼函數,x-1為D維圖像特征向量),然后將該區域對應的真實描述向量s1,s2,…,st(t表示句子的長度)也進行編碼,記為x1,…,xt,這里xi就是對應的si的向量編碼。從而得到了長度為t+2的單詞向量序列x-1,x0,x1,…,xt,其中x-1代表候選區域的圖像信息,x0是特殊的開始標志,x1,…,xt代表每一個單詞的向量編碼,將這個長度為t+2的向量序列輸入到LSTM中。
x-1=CNN(I)
xt=WeSt,t∈{0,1,…,N-1}
pt+1=LSTM(xt),t∈{0,1,…,N-1}
(4)
其中,x-1代表CNN生成的D維圖像特征向量,它將作為整個LSTM語言模型的初始輸入,St為對應的真實描述,We為一個變換矩陣,xt表示經過矩陣變換后的D維向量,N-1表示句子的長度,S0和SN是特殊的開始標記和結束標記,pt+1代表第t+1個單詞在整個單詞表中的分布率,它是p(St+1|I,S0,…,St)的簡寫形式。之后,選取pt最大的元素作為句子中第t個單詞的輸出,如果概率最大的元素對應的是END標識符,則句子生成結束,迭代終止。
4.1.1 VG(Visual Genome)數據集
本文實驗所用到的是VG(Visual Genome)[34]區域描述數據集,其中包含了94 313幅圖像和4 100 413個描述片段(平均每幅圖像43.5個描述片段)。圖像取自MSCOCO和YFCC100M,對每幅圖像中區域的注釋是在Amazon Mechanical Turk人工完成的。對于注釋的內容,去掉了類似于“there is…”和“this seems to be a…”這樣的用一句話描述整幅圖的短語和模糊描述短語。為了提高效率去除了大于10個單詞的注釋,還去掉了注釋個數小于20或者大于50的圖像。最終留下87 398幅圖像。其中,77 398幅圖像作為訓練集,驗證集和測試集各使用5 000幅圖像。
4.1.2 太陽黑子群數據集
太陽黑子群數據集是由美國的太陽動力學天文臺SDO(Solar Dynamics Observatory)的日震和磁成像儀HMI(Helioseismic and Magnetic Imager)提供的連續光譜全日面圖像。本文選取了從2011年1月到2017年4月3 500幅HMI圖作為圖像數據集。數據集的制作步驟如下所示:
(1)對太陽黑子群進行分類。
太陽黑子群的分類標準有多種,本文選擇蘇黎世分類法[35]對其進行描述,根據黑子群誕生以后的發展形態,將黑子群按大小和復雜程度分為以下9類:
①無半影的小黑子,或未顯示雙極結構的小黑子群;
②無半影的雙極群;
③雙極群,其中1個黑子有半影;
④雙極群,2個主要黑子都有半影,至少有1個黑子為簡單結構,日面經度延伸小于10°;
⑤大雙極群,結構復雜,2個主要黑子均有半影,它們之間還有些小黑子,日面經度延伸大于10°~15°;
⑥非常大而復雜的雙極群,日面經度延伸大于15°;
⑦大雙極群,只有幾個大黑子,無小黑子,日面經度延伸大于10°;
⑧有半影的單極群,直徑大于2.5°;
⑨有半影的單極群,直徑小于2.5°。
(2)對分類后的黑子群添加描述。
一幅全日面圖像中包含多個黑子群,根據上述步驟分類后,手動加入黑子群的詳細特征,如所屬類、最大黑子的描述和黑子群的大小描述。
最終,該數據集包含了3 500幅圖像和15 314個描述片段,其中,3 260幅作為訓練圖像,120幅作為驗證圖像,120幅作為測試圖像。
2個數據集的信息如表2所示。

Table 2 Details for the two datasets used in experiment
實驗程序用lua語言編寫,并使用torch7框架實現圖像描述算法。計算機配置如下:操作系統為Ubuntu 16.04,8 GB內存的Intel i3-4150 CPU,8 GB顯存的NVIDIA GTX-1070Ti GPU。

Figure 4 Test result of FCLN model on VG dataset圖4 VG數據集上FCLN模型測試結果

Figure 5 Test result of IRLN model on VG dataset圖5 VG數據集上IRLN模型測試結果
在圖像描述任務中,模型接收單幅圖像并生成一組區域,每個區域都帶有置信度和描述。為了評估模型的性能,用與FCLN相同的評價指標mAP,該值聯合測量定位和描述精度。本文在不同的重疊度IOU(Intersection Over Union)定位閾值和不同的Meteor[36]語言相似性閾值下計算mAP。對于定位,IOU的閾值分別取0.3,0.4,0.5,0.6,0.7;對于語言相似性,Meteor的閾值分別取0,0.05,0.1,0.15,0.2,0.25。
為了驗證本文設計模型的有效性,本文在VG數據集和太陽黑子群數據集上進行了2組對比實驗。
圖4和圖5是在VG數據集上的實驗結果。圖4展示了在FCLN模型上測試一幅圖像的描述結果,可以看出其描述的圖像信息較少,造成部分信息缺失。圖5為改進后IRLN的模型測試結果,其描述的信息更為詳細,且描述的內容與圖像的真實內容也比較貼切。
圖6和圖7所示為在太陽黑子群數據集上的實驗結果。圖6展示了FCLN模型的測試結果,可以看出該模型漏掉了1個較小的黑子群。圖7所示為本文改進后的IRLN模型測試結果,該模型不僅可以識別較大的物體,在識別小物體的能力上也有所提高,從而降低了漏識率。

Figure 6 Test result of FCLN model on sunspot groups dataset圖6 太陽黑子群數據集上FCLN模型測試結果

Figure 7 Test result of IRLN model on sunspot groups dataset圖7 太陽黑子群數據集上IRLN模型測試結果
Full image RNN[5]和Region RNN[5]是使用MSCOCO圖像數據集訓練的,不同的是Full image RNN模型在基于整幅圖的描述上訓練,Region RNN模型在區域描述上訓練。VG數據集圖像取自MSCOCO和YFCC100M,且它包含的是日常場景的圖像,所以用VG數據集圖像測試這3個模型有一定的可比性。本文分別將IRLN模型與Full image RNN、Region RNN和FCLN模型在VG數據集上進行對比,再將IRLN模型與FCLN模型在太陽黑子群數據集上進行對比,具體結果如表3所示。
由表3可以看出,在VG數據集上得到的mAP值都較小,主要原因是該數據集的目標種類較多,達到33 877種,而MSCOCO數據集的目標種類只有380種;且該數據集的圖像尺寸都在800×

Table 3 Performance comparison of models
800以下,特征提取時較小的特征容易被忽略,所以對于改進部分提高的性能并不是很突出。在VG數據集上,用5 000幅圖像進行測試,FCLN比Full image RNN在mAP上提高了1.12%,比Region RNN在mAP上提高了1.13%;IRLN比Full image RNN在mAP上提高了1.82%,比Region RNN在mAP上提高了1.83%,比FCLN在mAP上提高了0.7%。在Meteor指標上,FCLN比Full image RNN提高了7.6%,比Region RNN提高了2.9%;IRLN在Meteor上比Full image RNN提高了12.2%,比Region RNN提高了7.5%,比FCLN提高了4.6%。
在太陽黑子群數據集上得到的mAP值相較VG數據集上的較大,主要原因是黑子群的種類較少,且所有圖像尺寸都是4096×4096,較小的特征也能被提取,通過改進后的多尺寸感受野的方法獲得更加精確的候選區域,從而提高了整個網絡的描述質量。在太陽黑子群數據集上,用120幅圖像進行測試,FCLN的mAP為58.22%,IRLN的mAP為74.47%,IRLN比FCLN在mAP上提高了16%。在Meteor指標上,FCLN的值為33.4%,IRLN的值為47.6%,IRLN比FCLN提高了14.2%。
本文設計了一種IRLN的太陽黑子群圖像描述模型,該模型能夠將全日面圖像中的多個黑子群標注出來,并對每一個目標進行詳細的描述。根據黑子群大小差異較大這一特征,將FCLN中的RPN替換成Inception-RPN,并進一步改進了Inception模塊的結構,通過添加1×1卷積組成多尺度滑動窗,在最后一層特征圖上使用該Inception模塊滑動窗來生成候選區域。改進的Inception-RPN使用感受野不同的特征圖來定位不同尺度的目標,這使得本文模型的結果在VG和太陽黑子數據集上均有所提高。在VG數據集上,IRLN的mAP為6.09%,比FCLN提高了0.7%;IRLN的Meteor為31.9%,比FCLN提高了4.6%。在太陽黑子群數據集上,IRLN的mAP為74.47%,比FCLN提高了16%;IRLN的Meteor為47.6%,比FCLN提高了14.2%。實驗結果表明,本文設計的模型可以較好地描述太陽黑子群。
在未來的工作中,將進一步擴充數據集,包括天文領域的其它圖像,并且繼續改進語言模型,進一步提高描述的準確度。