賀 田 賈 鵬 李廣偉 王艾元
1 太原理工大學電子信息與光學工程學院 太原030012
2 中國科學院國家天文臺 北京 100101
3 張璧古堡 介休 032000
流星體是一種來自彗星、小行星,或者來自大行星的衛(wèi)星與火星、月球撞擊所產生的天體.當這些天體距離地球比較近時,就會被地球引力吸引.當它們穿過地球大氣層發(fā)生摩擦會產生高溫導致電子躍遷,進而產生可見的光跡,這種光跡叫做流星[1].如果流星體未燃盡,落到地球表面后就成為隕石.及時回收的隕石能夠很大程度地減少地球中有機物質對隕石的污染,可以為后續(xù)科學研究提供重要材料.例如2011年發(fā)現(xiàn)的Tissint隕石,它被當?shù)啬繐粽甙l(fā)現(xiàn)并被科研工作者快速回收,為研究生命起源提供了重要依據[2].除用于科研外,火流星的監(jiān)測和預警也有重要意義,例如2013年在俄羅斯車里雅賓斯克發(fā)生的火流星爆炸事件就導致了嚴重的生命財產損失.及時廣泛地監(jiān)測流星,能夠提前做出相關預警,避免重大災害事件的發(fā)生[3].綜上,不論是隕石回收還是對火流星做出預警,及時且高效地發(fā)現(xiàn)流星是觀測的首要要求.
由于流星體體積比較小且在天空任意位置偶發(fā),使用單臺地基望遠鏡監(jiān)測效率較低.因此,光學流星監(jiān)測網成為了一種可能的有效探測手段.光學流星監(jiān)測網由分布于不同位置的低成本光學相機和相關處理單元組成,每個光學相機數(shù)據處理單元通過互聯(lián)網連接至數(shù)據中心,通過數(shù)據處理可以實現(xiàn)流星計數(shù)、隕石落點預測和火流星預警.許多國家和組織基于不同的科學研究及民用預警目的,建立了各類光學流星監(jiān)測網,例如捷克的火流星監(jiān)測網[4]和加拿大的全天候視頻流星網絡[5].基于流星監(jiān)測網獲得的數(shù)據,科學家開展了流星的光譜分析、軌道定位以及其他相關科學研究[6-8].
隨著大范圍流星監(jiān)測網的建立,不同的流星監(jiān)測設備以及流星監(jiān)測方法被陸續(xù)提出.在實際使用中,為了擴大監(jiān)測范圍,需要廣泛地在光污染少的郊外部署觀測設備和后端數(shù)據處理設備.基于成本與部署環(huán)境考慮,流星監(jiān)測網一般選擇低成本、低能耗的嵌入式計算處理設備和針對低能耗計算處理設備的監(jiān)測方法.早期流星監(jiān)測工作如1999年Molau[9]發(fā)布的流星監(jiān)測軟件Meteor Recognizer通過篩出移動目標,再對篩出的區(qū)域分別從8個方向上,以與移動目標相鄰的5個像素數(shù)的總和作為閾值判斷是否存在流星.0個像素設定為沒有流星,大于1個像素小于5個像素設定為流星,大于5個像素設定為非流星.這種方法誤檢率較高,但提供了從移動目標來著手設計流星監(jiān)測算法的思路.1997年Gural[10]從流星的形態(tài)特征出發(fā),研究了Meteor Scan流星監(jiān)測算法.這種方法一定程度上降低了流星監(jiān)測的誤檢率,但是為了排除飛禽的輪廓邊緣等假陽性目標設置了更嚴格的直線段閾值,導致不能監(jiān)測更暗弱的流星目標.Gural等[11]于2009年進一步針對克羅地亞流星監(jiān)測網設計了流星監(jiān)測算法,此算法在之前方法思路的基礎上增加了后處理算法,通過將部分蝙蝠與流星分離進一步降低了誤檢率.2016年Gural[12]基于機器學習方法提出通過實時跟蹤聚類后的像素值最高的前4個像素以及它們的最大幀數(shù)來監(jiān)測流星.這種聚類壓縮的方式使得算法可實時處理觀測數(shù)據,但在云層邊緣輪廓表現(xiàn)出較高的誤檢率.針對云層邊緣輪廓導致的高誤檢率,科研工作者需要在觀測站點對算法的參數(shù)進行反復測試調整,對批量部署流星監(jiān)測設備帶來挑戰(zhàn).2020年Colas等[13]提出了全球流星監(jiān)測網絡,其中使用的流星監(jiān)測軟件Free True同樣是基于流星形態(tài)特征研制的.但是在日常運行中,Free True表現(xiàn)出驚人的誤檢率.
綜上,當前的流星監(jiān)測算法具有以下問題: 首先,算法針對線條特征,對一些碎片化且不規(guī)則形狀的火流星并不適用;其次,為了提升算法的召回率,往往設計較低閾值,導致因飛行昆蟲的軌跡產生大量誤報,給硬盤空間、人工檢查以及后續(xù)其他研究帶來困難.
卷積神經網絡是近年來計算機視覺方向的研究熱點,可以以監(jiān)督學習、非監(jiān)督學習及半監(jiān)督學習的方式調整網絡權重以實現(xiàn)不同功能.通過監(jiān)督學習訓練卷積神經網絡是一種常用的做法:數(shù)據從網絡輸入層前向傳播,在輸出層計算輸出與標簽的誤差,再將誤差反向傳入網絡中進行訓練.通過反復訓練,網絡的誤差將降低到平穩(wěn)階段,此時網絡訓練結束,得到解決相應任務的端到端模型.卷積神經網絡在圖像分類、檢測以及視頻分析等各領域中都取得了優(yōu)異的效果[14].以卷積神經網絡用于空間目標分類和探測的任務為例:2019年Jia等[15]提出對空間目標分類的卷積神經網絡達到了較高的準確率;2019年鄧秋群[16]提出的基于卷積神經網絡對空間紅外目標識別也有不錯的效果.前述研究啟示我們可以采用神經網絡提升流星監(jiān)測算法的精度和效率,進而實現(xiàn)高效率的光學流星監(jiān)測系統(tǒng).但是,由于神經網絡模型的高算力要求,使得其難以部署于低能耗計算設備上.同時,受限于處理終端性能,部分部署后的卷積神經網絡的數(shù)據處理效率受到了極大限制,不能滿足流星監(jiān)測對于實時性的需求.
為了拓展以卷積神經網絡為代表的人工智能算法的應用場景,近年來包括NVIDIA、華為、算能等國內外企業(yè)提出了專門用于神經網絡部署的嵌入式人工智能設備.這類設備一般包括一個通用數(shù)據處理芯片組和一個人工智能芯片組,特殊設計的人工智能芯片組能夠高效率地運行神經網絡.基于這一技術發(fā)展趨勢,本文提出將深度可分離卷積神經網絡與傳統(tǒng)移動目標檢測算法(幀間差分法)以及直線段檢測算法(霍夫變換)結合,組成一套高效的流星目標監(jiān)測算法,并將算法部署于嵌入式人工智能設備中,最終實現(xiàn)高速且低誤檢率的流星光學監(jiān)測系統(tǒng).
如圖1所示,流星光學監(jiān)測系統(tǒng)軟件模塊主要包括: 流星監(jiān)測模塊、控制界面模塊以及數(shù)據管理模塊.控制界面模塊主要用于流星監(jiān)測系統(tǒng)校準和流星監(jiān)測算法參數(shù)輸入,模塊采用Qt Toolkit應用程序開發(fā)框架設計.流星監(jiān)測模塊包括獲取移動目標、直線段篩選和分類器3部分.流星監(jiān)測模塊作用是實時處理圖像并將處理后包含流星的視頻、圖片存儲在硬盤中.流星監(jiān)測模塊主要通過C和Python代碼實現(xiàn).數(shù)據管理模塊的作用是把流星監(jiān)測模塊存儲的數(shù)據按時間命名歸類并傳輸?shù)街行姆掌?為后續(xù)的其他科學研究提供基礎,數(shù)據管理模塊采用Linux環(huán)境下的C-shell代碼實現(xiàn).下面將分別介紹各模塊的主要功能和特點.
圖1 流星光學監(jiān)測系統(tǒng)軟件模塊結構圖Fig.1 The diagram of the software module of meteor optical monitoring system
圖2展示的是參數(shù)調節(jié)界面,其中包含相機索引參數(shù)、存儲文件地址參數(shù)、篩選移動目標輪廓大小參數(shù)以及霍夫變換篩選的相關參數(shù).控制界面模塊包括參數(shù)設置部分和相機實時畫面顯示部分.為了便于部署和參數(shù)調整,本文將流星監(jiān)測模塊中需要調整的參數(shù)整合到控制界面模塊中的參數(shù)設置部分,具體包括相機索引、存儲文件路徑、輪廓大小、霍夫變換線段長度、霍夫變換線段間隔距離等.相機索引參數(shù)是為了針對不同相機協(xié)議及數(shù)據特點設計的通用式參數(shù)設置接口,本文采用的商用網絡攝像頭是通過用戶名、IP地址以及密碼的設置來讀取Real-Time Stream Protocol (RTSP)流從而獲取相機的實時數(shù)據.相機索引參數(shù)讀入前述相應的格式參數(shù),并按照格式參數(shù)進行數(shù)據操作.存儲文件地址參數(shù)是指流星監(jiān)測模塊在嵌入式人工智能設備上流星數(shù)據的存儲位置.輪廓大小參數(shù)是指流星監(jiān)測模塊中幀間差分算法的輪廓面積,其作用是通過設置移動目標輪廓的最小面積來過濾一些異常點和環(huán)境中的微小變化.霍夫變換共線點、霍夫變換線段長度、霍夫變換線段間隔距離是流星監(jiān)測模塊中設置直線段篩選的條件.其中共線點、線段長度、線段間隔距離共同決定了最終要篩選的線段標準.
圖2 控制界面模塊圖Fig.2 The diagram of control interface
相機實時畫面顯示部分是為了方便安裝觀測設備時調整相機朝向所設置的視頻顯示窗口,該窗口實時顯示相機獲取的圖像.在調整相機朝向位置時,需要先根據相機曝光時間和天光背景亮度來初步調整控制界面模塊中的參數(shù)設置.如相機曝光時間較長,最終流星目標的輪廓面積就會較大,流星目標長度也會變長.在這種情況下就要將輪廓大小、霍夫變換共線點、霍夫變換線段長度參數(shù)調大,以便初步區(qū)分流星目標與其他假陽性目標.在調整相機朝向時需要盡量避開強光照射、大樹等容易造成誤檢的方位.當干擾無法避免時,需要根據干擾特性等來調整部分參數(shù).如部署的環(huán)境中有樹葉擺動等環(huán)境的干擾,可以將輪廓大小參數(shù)適當調大,通過移動目標輪廓的最小面積來過濾干擾.同時也可將霍夫變換共線點、霍夫變換線段長度參數(shù)調大,使得直線段篩選更加嚴格,進而過濾干擾.參數(shù)調整的過程是平衡環(huán)境干擾與暗弱流星篩出的過程.因為在過濾環(huán)境干擾的同時,很可能將暗弱流星也一起過濾掉.在實際使用中,為了保證流星目標的召回率,一般優(yōu)先以暗弱流星通過篩選為原則來調整參數(shù)設置.
流星監(jiān)測模塊包括獲取移動目標、直線段篩選和分類器.流星監(jiān)測模塊首先通過獲取移動目標部分將有移動目標的圖像區(qū)域提取出來,然后進一步將提取出的圖像區(qū)域進行線段篩選,最后將直線段篩選后的圖像區(qū)域進行二分類來判斷是否為流星目標.
對于獲取移動目標部分,由于流星監(jiān)測系統(tǒng)更關注流星探測而非流星的顏色信息(光譜由同站點的流星光譜相機專門負責后隨觀測),因此本文首先將目標圖像轉為灰度圖.將圖像從三通道彩色圖變?yōu)閱瓮ǖ阑叶葓D像,從而可減少內存占用空間與計算量,而且由于獲取移動目標部分與直線段篩選部分的后續(xù)數(shù)據操作都只計算一個通道的數(shù)據量,因此可顯著降低人工智能芯片對于顯存的需求.
流星監(jiān)測模塊使用幀間差分法[17]計算上一幀與當前幀灰度圖的差值,進而獲得差值圖.為了去除差值圖中的點噪聲的影響,采用中值濾波處理差值圖像[18].隨后,對中值濾波后的差值圖進行二值化、膨脹、腐蝕操作,突出像素灰度變化顯著區(qū)域在差值圖中的輪廓.為了避免具有幾個像素異常值的圖像塊對后續(xù)數(shù)據處理帶來的算力浪費,流星監(jiān)測模塊進一步計算像素變化區(qū)域面積的大小并過濾變化區(qū)域面積小的圖像區(qū)域.
流星監(jiān)測模塊根據差值圖中的像素灰度變化區(qū)域獲取幀間變化的圖像區(qū)域,同時用非極大值抑制算法NMS (Non-Maximum Suppression)消除重合的幀間變化區(qū)域[19],確保潛在流星候選目標位置的唯一性,最終獲得差值圖中所有的幀間像素變化區(qū)域的集合.這些集合就是移動目標的輪廓區(qū)域也是流星目標的候選集合.如圖3所示為獲取移動目標主要步驟的效果圖,第1行圖片為前后幀的灰度圖,第2行圖片為前后幀的差值圖,第3行圖片為差值圖二值化后的膨脹腐蝕圖,最后一行圖片為最終獲取移動目標的圖像區(qū)域.由圖3可知獲取移動目標部分可以有效地提取出移動目標區(qū)域并減少后續(xù)圖像處理的計算量.
圖3 獲取移動目標時處理過程的效果圖.如圖所示,經過處理后圖像中的流星變得更加明顯.Fig.3 One frame of images before and after being processed.As shown in this figure,the images of meteors become more clear after being processed with our method.
在獲取移動目標圖像后,流星監(jiān)測模塊進一步在直線段篩選部分使用傳統(tǒng)霍夫變換算法提取直線段用于流星監(jiān)測[20].霍夫變換檢測直線段的方法是尋找共線點以及設置共線點個數(shù)、線段最短長度、線段之間的間隔距離等參數(shù)來綜合判斷圖像中是否有直線段,其原理是穿過圖像上的某個點有無數(shù)條直線,在霍夫空間中,這些直線都有如下表達式:
x、y為圖像上目標點的直角坐標,ρ和θ分別為原點到這條線的距離以及直角坐標系下根據直線斜率所計算出的角度.如果圖像中有點共線,那么對應點在霍夫空間中表達式的曲線有交點.最終根據統(tǒng)計交點上曲線的個數(shù)以及根據共線點組成線段的最短長度、線段之間的間隔距離來判斷圖像中是否有直線段.
經過霍夫變換后,流星監(jiān)測模塊基本可以獲得移動軌跡為直線的移動目標圖像.為了進一步提升監(jiān)測效率、減小誤檢率,本文基于深度可分離卷積模塊,構建了輕量的分類網絡.如圖4所示為二分類分類器的網絡結構圖,包含前后2個標準卷積模塊、1個全局平均池化模塊、6個倒殘差(Inverted residuals)結構[21]和1個全連接層.其中ConvBNRelu6表示普通卷積加批量歸一化,并將輸出結果使用Relu6函數(shù)進行激活,DwiseRelu6表示深度卷積后使用Relu6函數(shù)進行激活,ConvBN表示普通卷積加批量歸一化.
圖4 分類網絡結構圖.該圖顯示了流星分類網絡的結構,其中添加了深度可分離卷積模塊,大大減少了參數(shù)的數(shù)量,確保了分類的實時性.Fig.4 The diagram of the classification neural network.This diagram shows the structure of the meteor classification network,in which a depthwise separable convolution module is added to reduce the number of parameters,ensuring the real-time performance of classification.
表1所示為6個倒殘差結構的具體參數(shù),包括擴張的倍數(shù)、輸出通道數(shù)、深度可分離卷積的步長(stride).其中倒殘差結構是由擴張層(利用1×1卷積升維)、深度可分離卷積塊和殘差結構組成的.深度可分離卷積由深度卷積和逐點卷積組成.深度卷積的過程是把卷積核拆分成單通道與輸入特征圖的對應通道進行卷積操作,最后輸出一個與輸入特征圖通道數(shù)相同的特征圖.逐點卷積是將深度卷積后的特征圖與1×1卷積核進行卷積.逐點卷積彌補了深度卷積操作沒有融合多通道信息的缺點,用1×1逐點卷積融合了多通道信息,提取了更豐富更深層的特征信息.深度可分離卷積相比于標準卷積參數(shù)量、計算量大大下降,例如: 對于N個k×k×C大小的卷積核(其中k為卷積核的高和寬,C為卷積核的通道數(shù)),標準卷積的參數(shù)量為N×k×k×C,深度可分離卷積的參數(shù)量分為兩個部分,深度卷積的參數(shù)量為k×k×C,逐點卷積的參數(shù)量為輸出通道數(shù)與卷積核通道數(shù)相乘N×C,總和為k×k×C+N×C.由此可知深度可分離卷積是標準卷積參數(shù)量的(1/N)+1/k×k,所以在參數(shù)量方面,深度神經網絡中通道數(shù)量越多,深度可分離卷積的優(yōu)勢就體現(xiàn)得越明顯.此外,殘差結構加入網絡也使得網絡不易退化[22].由于深度可分離卷積模塊特別適用于流星圖像這種小尺寸圖像的分類任務,因此本文選取該網絡結構用于流星分類,并將卷積核尺寸設置為3×3.
表1 倒殘差結構參數(shù)表Table 1 Parameter table of the inverted residuals structure
流星監(jiān)測設備一般部署在光污染較少的郊外,獲取的數(shù)據將傳回數(shù)據中心節(jié)點進行進一步研究.由于流星監(jiān)測設備數(shù)量極多且每天數(shù)據量較大,因此我們構造了數(shù)據管理模塊用于存儲和管理不同觀測站的數(shù)據.數(shù)據管理模塊是將獲取的流星數(shù)據按設計好的儲存目錄、存儲格式來存儲并將數(shù)據同步到位于太原理工大學的中心服務器.數(shù)據管理模塊以不同流星監(jiān)測站點的經緯度、站點的設備編號、數(shù)據獲取日期逐級歸類存儲并傳輸?shù)街行姆掌?且定時執(zhí)行文件歸集和清理以防止磁盤存儲空間不足.以山西省為例,存儲結構為山西省文件夾-介休經緯度文件夾-介休設備編號文件夾-年-月-日文件夾,文件夾名稱形式為(SX-N-E-No-20xx-xx-xx).其中,SX指山西省、N指北緯、E指東經、No表示設備編號、20xx-xx-xx為拍攝日期.
數(shù)據管理模塊具體工作流程為: 當流星監(jiān)測模塊的分類器將圖像判別為流星時,數(shù)據管理模塊開始截取有流星目標的數(shù)據,并以目錄同步的模式進行存儲.遠程同步采用Linux系統(tǒng)中的開源軟件Rsync,本地目錄下把上述存儲數(shù)據存在一個hdf5文件中以便傳輸,然后Rsync將進行數(shù)據對比并把新增數(shù)據實時遠程同步至中心服務器.在中心服務器部署Rsync服務端的配置文件,包括傳輸?shù)淖畲笤O備數(shù)、服務器的同步地址、密鑰等.數(shù)據管理模塊具有兩大優(yōu)點: 首先,Rsync增量傳輸?shù)奶匦阅軌蚣皶r快速地傳輸實時獲取的流星數(shù)據;其次,hdf5文件可以不斷擴展文件大小且能夠支持多種數(shù)據處理算法框架,有利于后期科學研究.
為測試流星監(jiān)測系統(tǒng)性能,本文構建了流星監(jiān)測系統(tǒng)測試樣機.如圖5所示,測試樣機硬件模塊主要包括觀測設備和數(shù)據處理設備.觀測設備采用??低旸S-2CD3 T86WD-PW攝像頭,它具有55°的垂直視場和104.2°的水平視場.如圖6所示為觀測設備的部署實物圖,攝像頭通過以太網線供電,并將數(shù)據傳輸給數(shù)據處理設備.數(shù)據處理設備采用嵌入式人工智能設備Nvidia jetson nano,它具有4 GB內存、一個4核ARM CortexA57的Jetson Nano MP Core處理器和一個NVIDIA Maxwell架構的包含128個Nvidia CUDA內核的GPU處理單元.
圖5 流星光學監(jiān)測系統(tǒng)測試樣機Fig.5 The prototype of the meteor optical monitoring system
如圖7所示為流星光學監(jiān)測系統(tǒng)硬件模塊連接圖,為了方便部署觀測設備,攝像頭通過Power Over Ethernet供電模塊供電,并與路由器相連,使得Nvidia jetson nano與攝像頭處于同一局域網下.然后Nvidia jetson nano通過攝像頭的IP地址、用戶名與密碼以RTSP流的方式獲得攝像頭拍攝的數(shù)據并進行數(shù)據處理.
圖7 硬件模塊連接圖Fig.7 The diagram of the hardware module connection
為了測試流星光學監(jiān)測系統(tǒng)性能,本文開展了一系列試驗,具體包括:
1.在圖片數(shù)據集上對流星監(jiān)測模塊中構建的分類器進行訓練、驗證、測試并與當前常見的部署于終端的輕量級圖像識別分類神經網絡Mobilenetv2進行對比.
2.結合全國流星監(jiān)測網(China Meteor Monitoring Organization,CMMO)提供的視頻數(shù)據和實地部署的流星光學監(jiān)測系統(tǒng)對流星監(jiān)測模塊進行測試并與霍夫變換方法性能進行對比.
下面結合試驗評價指標及試驗結果,對論文提出的系統(tǒng)性能進行分析.
本文采用準確率(A)、召回率(R)、誤檢率(F)3個指標來對分類器以及流星監(jiān)測模塊的結果進行評價.本文中將誤檢率定義為非流星數(shù)量占整個檢出流星數(shù)量的百分比.
將流星當作正樣本,式子中Tp為真正例(正確分類出流星)數(shù)量、Tn為真負例(正確分類出非流星)、Fp為假正例(錯誤分類出流星)數(shù)量、Fn為假負例(錯誤分類出非流星)數(shù)量.
我們首先采用山東青島艾山天文臺2020年的流星數(shù)據共605張作為基礎正樣本,樣本主要包含形狀不規(guī)則且較亮的火流星和呈直線段狀的暗弱流星.圖8展示的是艾山天文臺2020年捕獲的所有不同形態(tài)類型的流星,主要有火流星、火流星爆炸形態(tài)、火流星呈非直線狀態(tài)、線型狀流星、微弱的線型狀流星.由于神經網絡是一種基于數(shù)據驅動的方法,所以需要大量訓練數(shù)據,本文將605張基礎正樣本先進行水平翻轉,然后將所有樣本逆時針旋轉15°,分別增加了高斯噪聲、椒鹽噪聲,并通過灰度升降10%、橫縱向拉升、縮小放大10%等手段達到數(shù)據擴充的目的.最終得到17693張正樣本數(shù)據.
圖8 具有典型形態(tài)的流星正樣本類型圖,包含艾山天文臺2020年拍攝的所有類型流星.Fig.8 Images of several positive samples with particular shapes,includes all types of meteors from the Aishan Observatory in 2020.
基于本文流星監(jiān)測模塊的處理流程,將直線段篩選部分誤判的目標圖像作為主要的負樣本,將2244張基礎負樣本數(shù)據以同樣的方式進行數(shù)據增強,合計得到18012張負樣本數(shù)據.如圖9所示為所有不同類型的負樣本,主要包含云層輪廓、飛機飛過留下的尾跡云、飛禽的翅膀、月亮、飛蟲的軌跡等.
圖9 具有典型形態(tài)的流星負樣本類型圖,包含艾山天文臺誤檢的所有類型的非流星.Fig.9 Images of several negative samples with particular shapes,includes all non-meteors that are mistakenly detected by the Aishan Observatory.
在打亂后的正負樣本數(shù)據集上劃分訓練集、驗證集和測試集,圖片數(shù)量比例為8:1:1.本文利用劃分好的數(shù)據對提出的深度可分離卷積網絡進行訓練.網絡輸入圖片大小為100×100像素,輸出為分類結果(流星或其他目標).采取Adam優(yōu)化器,初始學習率(Learning Rate)為0.001,學習率衰減的乘法因子為0.9,批量大小(Batch Size)為32,總訓練輪次為100輪,損失函數(shù)采用交叉熵損失函數(shù):
其中z為標簽值,?z為預測值.本文分類網絡訓練的硬件平臺是顯存為24 GB的RTX3090 GPU,軟件環(huán)境為ubuntu18.04系統(tǒng),CUDA版本為11.0以及python3.8、pytorch1.7的深度學習框架.網絡訓練后進行測試,表2、表3分別為本文分類網絡和Mobilenetv2在測試集與驗證集數(shù)據上的混淆矩陣.由表2的混淆矩陣可知本文分類網絡在非流星真實值中流星的預測值占比為0.27%,由表3的混淆矩陣可知Mobilenetv2在非流星真實值中,流星的預測值占比為0.19%,兩者十分接近.
表2 本文分類網絡在測試集和驗證集的混淆矩陣Table 2 The confusion matrix of the proposed classification network in the test set and the validation set
表3 澮浯浢浩浬浥浮浥浴浶洲在測試集和驗證集的混淆矩陣Table 3 The confusion matrix of the Mobilenetv2 in the test set and the validation set
表4為本文分類網絡和Mobilenetv2的性能對比,包括A、R、F、分類網絡參數(shù)量(Paras)、分類時間(T).其中分類時間為分類網絡在嵌入式人工智能設備Nvidia jetson nano對測試集和驗證集分類的總時間.其中分類網絡推理過程采用單精度(float32)進行.
表4 本文分類網絡與澮浯浢浩浬浥浮浥浴浶洲的性能對比Table 4 The performance of the proposed classification network and the Mobilenetv2
由表4結果可知在準確率方面,本文分類網絡比Mobilenetv2網絡低0.05%,但也達到了99.85%的準確率;在召回率方面,本文分類網絡與Mobilenetv2持平,達到100%召回率;在誤檢率方面,本文網絡比Mobilenetv2高0.08%,達到了0.28%的低誤檢率;參數(shù)量方面,本文網絡比Mobilenetv2網絡少2186400個參數(shù);數(shù)據處理速度方面,本文網絡比Mobilenetv2網絡少8倍的時間,處理速度可達每秒62幀.
綜合以上實驗結果,本文分類網絡在誤檢率和準確率方面與Mobilenetv2相近.在召回率方面,本文網絡雖參數(shù)更少、更加輕量也同樣能達到100%的召回率.由于本文分類網絡采用深度可分離卷積且減少了擴張的倍數(shù)與輸出通道數(shù),使得網絡整體參數(shù)量更少,且因6個擴張層的加入彌補了深度可分離卷積的缺點,使得網絡在較少參數(shù)量下也能達到較高的準確率.同時在參數(shù)量減少的情況下,本文網絡的召回率沒有下降,說明了本文提出的分類網絡非常適用于顯存及性能非常有限的嵌入式人工智能設備.
在流星監(jiān)測中,科學研究與統(tǒng)計任務不希望漏檢任何一個流星.基于這個原因,在流星監(jiān)測任務中首先要保證流星的召回率.在保證召回率的情況下,盡可能提高準確率并降低誤檢率.因此在獲取移動目標部分以及直線段篩選部分中,以暗弱流星能夠通過篩選為底線來設置移動目標的面積大小以及霍夫變換參數(shù),從而提高對中等或低亮度流星的監(jiān)測效率.基于上述考慮,此次實驗在控制界面模塊中設置的參數(shù)如下: 霍夫變換共線點數(shù)量(Hp)為15個像素、霍夫變換線段長度(H-l)為15個像素、霍夫變換線段間隔距離(H-d)為5個像素、輪廓大小(Outline size)為30個像素,具體如表5所示.
為了測試直線段篩選部分霍夫變換的有效性,本文根據目前典型的流星圖像特征使用SkyMaker生成模擬圖像數(shù)據,圖10 (a)展示的是清晰的直線型流星形態(tài)、微弱的直線型流星形態(tài)、非線型火流星形態(tài)、線型火流星形態(tài)、非線型爆炸火流星形態(tài),使用表5中設置的霍夫變換參數(shù)對生成的模擬圖像數(shù)據進行線型判別.圖10 (b)為判別結果圖,由圖可知各類型模擬數(shù)據均能通過線型判別.因為實際流星圖像一般由廣角魚眼鏡頭拍攝,所以圖像具有一定畸變.為此,將模擬圖像數(shù)據進行一定的畸變彎曲,并再次進行霍夫變換識別線型目標,結果如圖11所示.圖11 (a)展示的是模擬彎曲后的直線型流星形態(tài)、微弱的直線型流星形態(tài)、非線型火流星形態(tài)、線型火流星形態(tài)、非線型爆炸火流星形態(tài),圖11 (b)為畸變后模擬圖像數(shù)據的判別結果圖,畸變的模擬圖像數(shù)據同樣能夠進行線型判別.
圖10 (a)模擬圖像,(b)模擬圖像的線型判別Fig.10 (a) Simulated images,(b) Linear discrimination of simulated images
圖11 (a)模擬的畸變圖像,(b)模擬的畸變圖像的線型判別Fig.11 (a) Simulated distortion images,(b) Linear discrimination of simulated distortion images
將前述的流星監(jiān)測系統(tǒng)部署到太原理工大學-張壁古堡遠程天文臺,進行為期1個月的性能測試.實驗設置海康威視攝像頭的幀率為每秒25幀,每天晚上開機5 h,每晚獲取450000幀的觀測圖像,1個月總共13500000幀圖像.在這些圖像中,經過獲取移動目標處理后得到12849幀有運動目標且輪廓大于30個像素的圖像,包括大量的飛蟲和飛禽、遠處燈光,一部分云層、月亮和少數(shù)的流星.進一步通過直線段篩選部分排除了大部分飛禽的輪廓和遠處的燈光,但仍然有一些飛禽、云層、飛蟲、月亮等非流星目標未被排除,通過這些非線型的非流星目標未被排除的情況可知設置的霍夫變換參數(shù)是比較寬容的,能夠讓非線型(如飛禽的邊緣輪廓、云層的邊緣輪廓等)較短小的線段通過篩選,增加了誤檢率但也增加了暗弱流星檢測能力.直線段篩選這一過程得到1696幀流星候選目標,經過本文分類器分類最終獲取10個流星候選目標.通過人工檢查12849幀含移動目標與1696幀含線型候選目標的圖像,10個流星候選目標中沒有丟失真實流星目標,且10個流星候選目標中有7個為真實流星目標如圖12所示.表6、表7分別為流星監(jiān)測模塊、霍夫變換在實際觀測數(shù)據中的混淆矩陣.
表6 流星監(jiān)測模塊在實際觀測數(shù)據處理中的混淆矩陣Table 6 Confusion matrix of the meteor monitoring module in processing of real observation data
表7 霍夫變換在實際觀測數(shù)據處理中的混淆矩陣Table 7 Confusion matrix of the Hough transform in processing of real observation data
圖12 實際觀測數(shù)據結果圖Fig.12 Results of actual observation data
圖12中第1行為實際觀測數(shù)據中捕獲到的暗弱流星,第2行為火流星,第3行為誤檢數(shù)據.根據誤檢數(shù)據來看,第1個誤檢數(shù)據將月光的變化誤判為流星,第2、3個誤檢數(shù)據將飛蟲軌跡誤判為流星.為進一步提升系統(tǒng)性能可以將環(huán)境中出現(xiàn)頻率高的誤檢目標加入訓練集進行遷移訓練,進一步降低分類器的誤檢率.從獲取的暗弱流星和火流星來看,此流星監(jiān)測系統(tǒng)能夠捕獲差異較大、類型不同的流星.
根據在實際觀測數(shù)據上的混淆矩陣可以得出霍夫變換與流星監(jiān)測模塊的性能對比,結果如表8所示,由于實際測試中正負樣本極不平衡,故只采用R、F來評價.
表8 實際觀測數(shù)據中霍夫變換與流星監(jiān)測模塊的性能對比Table 8 Performance comparison between the Hough transform and the meteor monitoring module in processing of real observation data
由表8可知在召回率方面,流星監(jiān)測模塊與霍夫變換持平為100%.在誤檢率方面流星監(jiān)測模塊比霍夫變換低69.59%.由于無法獲得天空中真實的流星數(shù)量,因此本文所提出的真實流星的數(shù)量是查看獲取移動目標和直線段篩選部分的1696幀流星候選目標獲得的,所以無法獲得系統(tǒng)的絕對召回率.但是從結果上看,流星監(jiān)測模塊誤檢率可以達到實際應用需求.結合實際觀測數(shù)據的混淆矩陣和性能對比表6-8,能夠發(fā)現(xiàn)流星監(jiān)測模塊的誤檢率低于霍夫變換方法,在實際使用中大大減輕了人工檢查的難度.流星監(jiān)測模塊中獲取移動目標部分與直線段篩選部分雖然有較高的誤檢率,但它的效率較高,排除了大量的非流星目標,為后續(xù)的分類網絡提供質量較高且位置明確的流星候選目標.
為了進一步測試流星監(jiān)測模塊的性能,本文使用了CMMO提供的數(shù)據來進行測試.數(shù)據包括117條真實流星視頻數(shù)據和72條非流星視頻數(shù)據.表9、表10所示分別為流星監(jiān)測模塊與霍夫變換在CMMO數(shù)據測試后的混淆矩陣.由表9可知流星監(jiān)測模塊將真實流星分類為非流星的值為0,真實流星沒有漏檢,極大保護了流星目標的召回率.
表9 流星監(jiān)測模塊在CMMO數(shù)據的混淆矩陣Table 9 Confusion matrix of the meteor monitoring module in processing data from the CMMO
表10 霍夫變換在CMMO數(shù)據的混淆矩陣Table 10 Confusion matrix of the Hough transform in processing data from the CMMO
根據在CMMO數(shù)據上的混淆矩陣可以得出霍夫變換與流星監(jiān)測模塊的性能對比如表11所示,包括R、F.
表11 CMMO數(shù)據中霍夫變換與流星監(jiān)測模塊的性能對比Table 11 Performance comparison between Hough transform and meteor monitoring module in CMMO data
由表11可知流星監(jiān)測模塊與霍夫變換都可以達到100%的召回率.在誤檢率方面,流星監(jiān)測模塊相比霍夫變換低26.98%,能夠達到1.68%的低誤檢率.由此可以證明本文流星監(jiān)測模塊在其他數(shù)據上的遷移泛化能力較強,便于批量部署.同時100%的召回率與1.68%的誤檢率驗證了本文流星監(jiān)測模塊的實用性.
本文從讀取數(shù)據、處理數(shù)據、傳輸數(shù)據的角度,構建了流星光學監(jiān)測系統(tǒng)的軟件部分,并與嵌入式人工智能設備(Nvidia jetson nano)和商用觀測設備(??低晹z像頭)組成一整套流星監(jiān)測系統(tǒng).其中流星監(jiān)測軟件系統(tǒng)中的流星監(jiān)測模塊通過3個步驟的處理,逐級縮減了流星候選區(qū)域.這種逐級縮減的策略,避免了不必要的計算,提高了流星監(jiān)測的實時性,與基于霍夫變換的直線段篩選的方法相比有效地降低了流星監(jiān)測的誤檢率,減少了數(shù)據存儲壓力.在實際使用中,本文流星監(jiān)測系統(tǒng)以單精度(float32)計算分類既能達到實時性計算的要求,又具有較低的誤檢率.對于流星監(jiān)測模塊中的分類器,在準確率方面相比Mobilenetv2還略有不足,但在分類速度方面本文分類器能夠滿足實時處理的要求.在未來的研究中,將通過融合多幀圖像的信息來解決分類器準確性不足的問題,實現(xiàn)流星監(jiān)測系統(tǒng)高準確率的實時監(jiān)測.
致謝感謝青島艾山天文臺所提供的數(shù)據和張壁古堡提供的支持.感謝國家自然科學基金提供的資助.感謝審稿人對文章提出的寶貴建議,使得文章的質量有了顯著的提高.