龐程程, 張華春, 張巖巖
(1. 中國科學院空天信息創新研究院, 北京 100090;2. 中國科學院大學電子電氣與通信工程學院, 北京100049)
隕石坑作為月球表面最典型且普遍的地貌單元和地質結構,已成為月球科學研究最多的地貌特征之一。對月表撞擊坑研究有助于加深對月表形貌的認識和理解,對探測器軟著陸地點的修正具有重要意義。由于隕石坑形態復雜多樣,而人工檢測非常耗時且難以處理大型數據集,因此需使用計算機來快速檢測隕石坑。目前應用較多的隕石坑檢測方法主要有兩種類型:基于圖像特征的傳統方法和基于機器學習的方法。
基于圖像特征的傳統方法通常會對原始圖像進行預處理以增強坑的邊緣,并使用霍夫變換、橢圓擬合、遺傳算法、Gist特征、分水嶺變換、模式識別、徑向一致性算法或上述方法的組合,將圖像中的環形坑邊緣識別為圓形或橢圓形特征。基于機器學習的方法主要使用可擴展模板模型、卷積神經網絡、自適應增強和改進自適應增強方法、最小二乘支持向量機等。Kang等人提出了一種使用定向梯度(HOG)特征直方圖和支持向量機(SVM)分類器自動提取小規模撞擊坑的方法。PyCDA是一種基于神經網絡的隕石坑檢測器,由探測器、提取器和分類器組成。Silburt等人用U-Net網絡對月球DEM圖像數據集訓練并輸出預測目標,再用模板匹配算法提取出隕石坑的位置和直徑信息。
然而,目前基于圖像特征的方法雖然處理過程簡單,但檢測精度不高且不適用于多種尺寸隕石坑同時檢測的情況;而基于機器學習的檢測方法則包含繁雜的后期處理步驟,大大降低了推理速度,很難區分和訓練。
為了更加快速和精確的實現對月表圖像中隕石坑檢測,本文提出一種用于檢測多尺度月球隕石坑的新方法(C-Moon-Net)。該方法基于CenterNet網絡檢測月球DEM圖像數據集中的隕石坑,具有檢測精度高和速度快的優勢。首先,利用月球DEM圖像制作數據集,并對數據集進行預處理,以適應深度學習網絡。主干網絡選擇DLA(Deep Layer Aggregation)網絡結構,并使用TTFNet中提出的基本損失計算方法對數據集進行訓練。
本文使用與Silburt等人相似的方法,選用的圖像數據來自月球偵察軌道器(LRO)和Kaguya合并數字高程模型的數字高程(DEM)圖像,如圖1所示。該模型跨越緯度范圍為±60°,經度范圍是±180°,分辨率為512像素/度(59 米/像素)。該全球灰度圖是簡單圓柱投影,分辨率為184 320×61 440像素,位深度為16位/像素;本文將其下采樣為92 160×30 720像素和8位/像素,以減少計算量。本文使用高程圖像而不是光學圖像,是因為在高程圖像中隕石坑的外觀不受入射陽光方向的影響。這樣可以減少隕石坑之間的外觀變化,從而更容易訓練模型檢測隕石坑。

圖1 LRO和Kaguya合并數字高程模型的數字高程圖像
本文數據集中每個DEM圖像都是通過以下方式生成的:1)從圖1全月數字高程圖中裁剪出大量正方形圖像,裁剪區域位置隨機選擇且分布均勻。2)將裁剪后的圖像使用最近鄰元法降采樣為256×256像素,以降低運算量、增加感受野。3)使用Cartopy Python軟件包將圖像轉換為正交投影。原圖像采用的簡單圓柱投影越往兩極變形越大,圓形的撞擊坑在該投影中呈現出的是越來越扁的橢圓形,對后續檢測的影響較大,而正射投影更接近隕石坑的真實形狀,可以最小化圖像失真。
對于每個輸入圖像,都會生成一個相應的地面真實目標,該目標蒙版也為256×256 像素。隕石坑在目標蒙版中編碼為厚度為1像素的環,半徑和中心取自坑在隕石坑目錄中的物理位置和直徑。用于構建真實目標的數據是通過合并兩個學者建立的隕石坑目錄獲得的。對于5~20 km的隕石坑,使用Povilaitis等人收集的全球隕石坑數據集;對于大于20 km的隕石坑,由使用Head等人發表的全月球隕石坑數據集。將上述裁剪圖像和真實目標等分成兩個單獨的數據集,用于訓練和測試模型。這兩個數據集是從月球的大小相等且互斥的部分采樣的。訓練集為跨越經度-180°至-60°的區域,測試集為經度60°至180°的區域。每個數據集包含3 000個DEM圖像,每個DEM圖像的坑口中位數為21。由于本文采用的人工生成的隕石坑數據集不完整,包含許多明顯的遺漏標識。Fassett等人估計,Head等人的數據集不完整性為12%。Povilaitis等人的數據集不完整性目前未知,但人工檢驗發現其不完整性更高。數據集不完備會導致錯誤的訓練結果。為了解決真實標注不完備的問題,本文人工選取了數據集內真實標注最為完整、邊緣更為準確的圖像各3 000張,分別作為模型的訓練集和測試集。
同時,為了適應CenterNet網絡,將真實目標標注形狀由環狀轉換為圓外切矩形,并記錄矩形框的左上角和右下角位置坐標。如圖2所示,圖中紅色圓形為隕石坑環形標注,黑色方框為圓外切矩形框。矩形框左上角和右下角坐標可由式(1)得到:

圖2 真實目標標注形狀轉換圖

(≥0,≥0)

(≤256,≤256)
(1)
其中,圓心坐標為(,),直徑為;矩形框的左上角坐標為(,),右下角坐標為(,)。
數據集內DEM圖像、環形真實目標、轉換后的數據標注框的示例如圖3所示。該示例圖的經度范圍為(158.742 187 5, 162.410 156 25),緯度范圍為(14.882 812 5,18.550 781 25)。該示例圖中隕石坑真實目標目錄如表1所示,第1列表示目標的序號;第2~4列展示了目標在全月DEM圖像中的中心經緯度坐標和直徑(km);第5~7列展示了目標在裁剪圖像中的圓心坐標(,)和直徑(像素);第8~11列展示了目標由環形標注轉換成矩形框標注后, 矩形框的左上角坐標(,)和右下角坐標(,)。

表1 示例圖內隕石坑目標目錄

(a) 輸入DEM圖像
本文采用簡化的CenterNet作為基礎卷積神經網絡(CNN)模型。CenterNet算法是Zhou等人在2019年4月提出的。它是在構建模型時將檢測目標表示為一個點——目標邊界框的中心點。然后,其他屬性(例如目標尺寸、3D范圍、方向和姿勢)直接從中心點的圖像特征中回歸得到。此時目標檢測轉換為標準的關鍵點估計問題。CenterNet簡單地將輸入圖像饋送到生成熱力圖的完全卷積網絡。此熱力圖中的峰值對應于目標中心。每個峰值處的圖像特征可預測目標邊界框的高度和寬度。該模型使用標準的密集監督學習進行訓練。推理是單個前向預測網絡,后期處理沒有非最大值抑制。


(a) 輸入圖像

圖5 本文算法架構圖


在訓練階段,定位損失是用修改后的focal損失來計算的,回歸損失用損失計算。


(2)



(3)
式中,為訓練圖像中的目標數量。

=4-16,=4-16=4+16,=4+16
(4)
將>0的像素區域定義為,也稱為子區域,將子區域中每個像素作為回歸樣本,回歸損失定義為式(5):

(5)
式中是>0區域的像素數量,即回歸樣本的數量。是樣本權重,用于對不同尺寸下的邊界框平衡損失,從而不會影響本文后續的討論。
由于大尺寸圖像的目標多樣,大的目標可能產生成千上萬個樣本,而小目標可能只有幾個樣本。在歸一化所有樣本的損失后,小目標的損失可以忽略不計,這將影響小目標的檢測性能。因此,樣本權重在平衡損失中發揮了重要作用。
假設(,)是子區域的第個標記框,則如式(6)所示:
=

(6)
式中,(,)是在(,)處產生的高斯概率,是第個框的面積。這樣可以利用大目標中包含的標記信息,并保留小目標的標記信息。同時,它還能著重強調靠近目標中心的樣本,減少模糊樣本和低質量樣本的影響。
最終的總損失可以表示為

(7)
本文中設定=10,=50。
在測試階段,在定位分支輸出的特征圖中的峰值點對應的像素作為預測目標邊框的中心點,而其他的像素的輸出會被丟棄。與傳統的錨點檢測模型(如RetinaNet或Faster-RCNN)相比,本文采用的這種簡化的無錨點模型有更快的測試速度(由于其推理速度更快)。
本實驗使用的月表隕石坑數據集如第1節所述。訓練集和驗證集各由3 000張256×256像素的圖像組成。在測試階段,最大池化層kernel大小為3×3,用于提取定位分支中輸出特征圖的峰值點,并且所有峰值點的峰值只有大于才被認定為正目標。在本實驗中設置為0.05。對應于回歸分支輸出結果的峰值點,通過公式(4)用于計算目標邊界框的位置。
本實驗基于PyTorch深度學習框架,在Anaconda上搭建PYTHON 3.6.9,PyTorch 1.3.0的虛擬環境。使用第2節所述的網絡模型,所有訓練和測試均在Windows 10系統、Tesla P100-PCIE-12GB顯卡、CUDA10.1上進行。所有模型都經過隨機梯度下降(SGD)算法訓練。經過實驗,在每次迭代中,設置batch size為32,模型精度和訓練速度達到最優。所有模型都訓練了150個epoch。實驗采用余弦退火(cosine annealing)學習率調度策略,初始學習率設置為0.001。
為了定量評估本文方法的有效性,使用標準PASCAL VOC評價指標評估C-Moon-Net性能。
對于基于CNN的檢測模型,使用特定的IoU(Intersection-over-Union )閾值,以低置信度篩選出檢測結果。當閾值增加時,模型精度會隨之增加,而模型召回率會隨之減小。召回率反映了所有真正為正例(positive targets)的樣本中被分類判定為正例的比例,其定義如式(8):

(8)
精度反映了被分類判定的正例中真正的正例樣本的比例,其定義如式(9):

(9)
其中,TP(True Positive)、FP(False Positive),TN(True Negative),FN(False Negative)的含義如表2所示。

表 2 FN、FP、TN、TP含義
AP是目標檢測算法的標準指標,它綜合考慮了在不同置信度級別下模型的精度和召回率,AP定義如式(10)所示:

(10)
一個理想檢測器的=1。本實驗使用4種AP指標來評估結果,包括mAP,AP30,AP50和AP75。
經過150輪的訓練,損失基本達到平穩狀態。表3是150輪訓練后在測試集上的平均精度,IoU為0.5時表示整個網絡的mAP,其值為67.53%。AP_small,AP_medium,AP_large分別表示像素面積小于32的小目標框、像素面積在32~96之間的中等目標框、像素面積大于96的大目標框的AP測量值。通過觀察序號5~7和序號8~10發現,中等目標的檢測效果最好,其次是大目標,最后是小目標。

表3 測試集AP指標
Silburt等人提出的DeepMoon方法也是基于神經網絡對月球DEM圖像數據集訓練并測試。該方法的平均精度僅有56%,而本文的C-Moon-Net用AP50表示網絡的平均精度為67.53%,比DeepMoon的精度上升11.53%。此外,DeepMoon無法可靠檢測直徑大于15個像素的隕石坑,僅限于像素半徑小于15像素的坑。而本文網絡對多種尺度的隕石坑均可準確識別,并且對大目標的檢測精度達到69.79%,遠遠高于DeepMoon。本文還與另一種基于神經網絡的隕石坑檢測器PyCDA進行了比較。該檢測方法的精度為25%,只能檢測出較少數量的大直徑隕石坑。與之相比,本文檢測方法精度有大幅提升,且對中小尺寸隕石坑檢測結果更為突出,平均精度分別達到78.95%和61.83%。
眾所周知,在圖像中檢測出的隕石坑坑數量越多、圖像特征數量越多,對應于地形導航中位置估計的不確定性也就越低。圖6是測試數據集的示例和真實標簽圖。圖7展示了在同一DEM圖像上的3個隕石坑檢測方法的檢測性能結果比較。這些圖像顯示了已檢測到并成功與真實標簽匹配的隕石坑。圖7(a)是本文方法檢測結果圖,綠色框是真實標簽框(ground truth),紅色框是檢測結果框,藍色框是FN假負例,百分比代表置信度。圖7(b)是DeepMoon方法檢測結果圖,藍色圓形即檢測結果。圖7(c)是PyCDA檢測結果,紅色圓形即檢測結果。由結果可知,PyCDA對于DEM圖像的檢測效果最差,檢測到的隕石坑數量最少,且只能檢測出大直徑隕石坑;DeepMoon檢測的坑不完全,且只能檢測中小尺寸的坑;而本文網絡不僅能檢測到各種尺寸的隕石坑,而且檢測到的隕石坑數量最多。

(a) 輸入圖像

(a) 本文檢測結果
DeepMoon、PyCDA和本文方法C-Moon-Net均在Tesla P100-PCIE-12GB上的Python Keras中進行了測試。圖8柱形圖比較了3種隕石坑檢測方法在測試集上對每張圖片的平均檢測時間。與其他基于神經網絡的隕石坑探測方法相比,C-Moon-Net具有最短的檢測時間,在0.01 s的級別。如表4匯總了3種檢測方法的精度和預測時間比較。由實驗結果可知,本文的隕石坑檢測方法C-Moon-Net相較于DeepMoon檢測速度提高了201倍,檢測精度提升了11.5%,減少了網絡的漏檢率,且極大地提高了大目標的檢測率。此外,與PyCDA檢測方法比較,本文檢測精度提升了42.5%,檢測時間降低了95.8%,且對中小尺寸的隕石坑檢測效果有顯著提升。

圖8 3種隕石坑檢測方法對測試集每張圖片的平均檢測時間

表4 3種隕石坑檢測方法檢測時間和精度比較
各隕石坑探測方法處理月球圖像和提取隕石坑所花費的時間和模型精度有較大差異,是由于其網絡結構以及處理過程不盡相同。本文采用的CenterNet是利用關鍵點三元組來感知物體內部信息,使用DLA-34分割網絡提取特征,該網絡模型的深度較高,提取的特征非常多。其次,本文的檢測方法采用的是端到端的網絡模型,不需要提前設置錨框的超參數,沒有非最大值抑制,更簡潔更快速更精確,在速度和精度上達到了最好的權衡。而DeepMoon方法使用的是U-net網絡。在網絡結構方面,該網絡包含4個卷積層和4個上采樣層,它將每個卷積層得到的特征圖融合到對應的上采樣層,網絡模型深度不高,提取的特征數量遠不如本文網絡。在處理過程方面,該方法通過模板匹配來處理神經網絡預測。模板匹配需要循環掃過所有可能的圓半徑,從而延長了其運行時間。PyCDA方法由兩個U-net神經網絡組成,而不僅僅是一個神經網絡,這也大大增加了它的運行時間。
現有的月球隕石坑檢測方法需要繁雜的后期處理,難以滿足實時隕石坑檢測需求。針對該問題,本文提出一種用于檢測月球多尺度隕石坑的新方法,C-Moon-Net,能夠實現端到端實時檢測。
1)與使用深度學習檢測隕石坑的DeepMoon方法相比,本文所提方法的檢測速度提升201倍,檢測精度提升11.5%;本文方法檢測速度與精度也優于其他基于神經網絡的隕石坑探測方法。
2)本文所提方法首次采用簡化的CenterNet網絡作為訓練模型,沒有耗時且計算負擔大的后期處理。該方法極大地提升了檢測速度,以滿足實時隕石坑檢測的需求。
3)本文方法可以精確地檢測各種尺寸的隕石坑并輸出唯一的檢測框,有效地克服了現有檢測方法需要篩選過濾重復隕石坑目標的問題,提高了檢測的準確率,具有強魯棒性的特點。
在后期的研究工作中還需要降低位置估計誤差并對邊緣提取算法進行研究,以實現高精度的隕石坑檢測。