院守晉,蔡江輝,楊海峰,鄭愛宇
(太原科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,山西 太原 030024)
天體目標(biāo)檢測是天文觀測數(shù)據(jù)中獲取天體目標(biāo)物理信息的重要任務(wù)。以往的天文目標(biāo)檢測方法[1]要考慮到噪聲的統(tǒng)計分布,運用數(shù)字圖像處理方法檢測出那些高于背景的像素,從而提取目標(biāo)天體,需要進行多參數(shù)調(diào)整,自動化程度差且很難檢測出低表面亮度的小尺度目標(biāo)。
近年來,針對自然場景中的目標(biāo)檢測算法有了長足發(fā)展,其結(jié)構(gòu)也從基于手工特征的傳統(tǒng)算法轉(zhuǎn)向基于深度學(xué)習(xí)的算法。隨著深度學(xué)習(xí)的發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測技術(shù)取得了巨大的進展。目前,基于深度學(xué)習(xí)的目標(biāo)檢測方法可分為2類,一類是2階段目標(biāo)檢測方法,例如Faster R-CNN[2],此類方法先生成候選區(qū)域,然后再對候選區(qū)域進行分類和回歸;另一類是1階段目標(biāo)檢測方法,這類方法直接從圖像中回歸出物體的類別和坐標(biāo),無須生成候選框,代表性方法有YOLO[3]、SSD[4]等。但由于小目標(biāo)分辨率低、圖像模糊、可利用的特征也非常有限,基于深度學(xué)習(xí)的小目標(biāo)的檢測任務(wù)同樣面臨著巨大的困難和挑戰(zhàn)[5],在實際的天文場景下更是難以獲得理想的效果[6]。
針對上述問題,該文提出了一種面向天文圖像低表面亮度的小尺度星系檢測方法。面對圖中繁雜的星體,該方法不直接檢測星系目標(biāo),而是換個角度先提取體積較大、亮度較高的非檢測目標(biāo),然后將其去除得到低表面亮度的小尺度候選體,最后再結(jié)合天文領(lǐng)域中的星表完成星系的識別與認(rèn)證。
目標(biāo)檢測是天文觀測數(shù)據(jù)中獲取天體目標(biāo)物理信息的基本步驟。在天體物理研究中,大部分的天體信息是從天文圖像中獲取的,例如天體數(shù)量、天體種類、天體顏色、星等分布、物理特性等等。天文目標(biāo)檢測方法由以下步驟組成[7]:背景值的初始估計,背景噪聲估計,設(shè)計判斷標(biāo)準(zhǔn)來檢測目標(biāo)并獲取天體信息。之后有研究者提出一套名為Source-Extractor的開源軟件[8],該軟件已被廣泛地運用于巡天任務(wù)中目標(biāo)提取和天體物理參數(shù)測量。軟件方法大致為:首先對圖像進行背景估計;然后通過過濾和卷積等方法平滑圖像,減弱噪聲對目標(biāo)檢測的影響;最后對經(jīng)過背景減法的過濾圖像進行閾值分割,得到連通像素組,從而完成對目標(biāo)的提取。這些天文目標(biāo)檢測方法對于目標(biāo)和背景的灰度級有明顯差別的圖像能很容易制定一個判斷標(biāo)準(zhǔn)提取目標(biāo),達(dá)到較好的檢測結(jié)果,但面對亮度低、特征弱的小目標(biāo)時卻很難實現(xiàn)目標(biāo)的提取。
閾值分割是一種簡單有效的圖像分割方法,利用星體和背景的灰度差異可以實現(xiàn)對天文圖像的分割。閾值法可以分為全局閾值和局部閾值兩種[9]。全局閾值是利用全局信息對整幅圖像求出最優(yōu)分割閾值。局部閾值是把原始整圖圖像分為幾個小的子圖像,再對每個子圖像應(yīng)用全局閾值分別求出最優(yōu)閾值。全局閾值法中,基于灰度直方圖的閾值分割方法計算簡便,但只適用于目標(biāo)與整幅圖像的面積比已知的情況。基于雙峰閾值的分割法[10]適用于目標(biāo)和背景的灰度級有明顯差別的圖像,該方法不能對灰度不明顯或直方圖曲線平坦的圖像使用。閾值分割的關(guān)鍵是如何確定一個合適的閾值將圖像分割開,然而對于天文圖像中低表面亮度的小尺度目標(biāo),其灰度值與背景值差異較小,在灰度直方圖中波段不明顯,故很難確定一個合適的閾值實現(xiàn)對該目標(biāo)的分割與檢測[11]。此外,由于天文圖像與常用數(shù)據(jù)集圖像不同,像素灰度變化范圍較大,在使用一些傳統(tǒng)的圖像分割方法時不得不對這些天文圖像進行像素或頻域的復(fù)雜變換,造成信息的丟失,不能完全反映出天文圖像的真實面貌[12]。
本節(jié)詳細(xì)描述了面向天文圖像的低表面亮度的小尺度星系檢測方法。由于天文圖像背景復(fù)雜,通過設(shè)置一個閾值很難將所有非檢測目標(biāo)提取出來,因此根據(jù)特征差異性,將非檢測目標(biāo)分為2類:體積大且亮度高的星體和小型點狀源,如圖1所示。之后對上述2類目標(biāo)進行篩除,先后分為2個階段:大型星體的提取與篩除和小型點源的檢測與篩除,得到低表面亮度的小尺度候選體。最后與天文領(lǐng)域星表中記錄的真實天體信息進行交叉匹配,以識別認(rèn)證出星系目標(biāo)。
圖1 大型星體與小型點源的形態(tài)特征
閾值的確定是提取目標(biāo)的關(guān)鍵,也是去除非檢測目標(biāo)的關(guān)鍵。天文圖像中的目標(biāo)源是由目標(biāo)、背景和背景噪聲疊加起來的,閾值的設(shè)置是在背景與背景噪聲之和以上,傳統(tǒng)的天文圖像處理方法K-σClipping[13]將閾值表示為:
TS=B±n·Brms
(1)
其中,B為天文圖像背景估計值,Brms為天文圖像背景噪聲估計值,n為常數(shù)。該方法經(jīng)過多次迭代計算區(qū)域內(nèi)所有像素c的平均值(mean)、中值(median)和標(biāo)準(zhǔn)差(σ),最終利用眾數(shù)值(mode)來估計B:
mode(c)=2.5median(c)-1.5mean(c)
(2)
B=mode(c)
(3)
由于背景噪聲服從高斯正態(tài)分布,通過σ來近似Brms。最終閾值表示為:
TS=B±n×σ
(4)
然而,上述表示中閾值的大小由系數(shù)n來決定,對于不同圖像需要進行適應(yīng)性參數(shù)n的調(diào)整,自動化程度較弱。該文針對上述問題進行改進,提出了一種基于目標(biāo)總數(shù)下降變化率的閾值確定方法。首先初始化一個最小參數(shù)n,提取當(dāng)前n值對應(yīng)閾值下的目標(biāo)并統(tǒng)計目標(biāo)總數(shù);之后更新參數(shù)n:
n=n+stride
(5)
其中,stride為n的增長值,統(tǒng)計當(dāng)前n值下目標(biāo)的總數(shù)Sn,計算前后兩次目標(biāo)總數(shù)的變化率sn:
(6)
重復(fù)上述步驟。由于初始化閾值較小,提取出來的目標(biāo)總數(shù)極大,其中包含大量無效目標(biāo),隨著n的提升,提取到的目標(biāo)總數(shù)會驟降,之后前后兩次目標(biāo)總數(shù)下降率會趨于平穩(wěn),穩(wěn)定在一個很小的范圍之內(nèi)。取首次出現(xiàn)前后兩次下降率達(dá)到平穩(wěn)時的n值,定義為首次平穩(wěn)點,此n值對應(yīng)的閾值為理想閾值。
2.2.1 大型星體的提取與去除
在大型星體篩除階段,首先進行圖像分割[14],根據(jù)圖像的灰度特性將圖像分為前景和背景。圖像分割是基于閾值的,閾值的確定是圖像分割的前提。根據(jù)該文提出的閾值確定方法,首先初始化n值并根據(jù)公式(4)確定初始閾值來進行圖像分割,檢測圖像中亮度高于此閾值的連通區(qū)域,區(qū)域內(nèi)每個像素都大于閾值。
其次進行連通域分析[15]。通過設(shè)置最小連接像素數(shù)(npixels)來指定目標(biāo)區(qū)域大小,將npixels≥150的天體定義為大型星體,通過滿足以下3個條件來提取大型星體并統(tǒng)計其總數(shù):(1)所有像素值要高于設(shè)定的分割閾值;(2)所有像素必須在一個連通區(qū)域內(nèi);(3)這些像素的數(shù)量必須不少于設(shè)定的最小連接的像素數(shù)。根據(jù)公式(5)來更新閾值,計算前后兩次閾值下前景目標(biāo)總數(shù)下降變化率。重復(fù)上述步驟,得到首次平穩(wěn)點n,其對應(yīng)的閾值為理想分割閾值(TS)。最后利用掩碼機制完成大型星體的去除和背景填充工作。將提取到的大型星體區(qū)域內(nèi)像素值置為1,其余像素值置為0,得到二值化分割掩碼矩陣(Mn)。通過公式(3)進行背景估計,并利用單位矩陣(E)生成與圖像大小一致的二維背景圖像(Bn):
Bn=E×mode(c)
(7)
(8)
圖2 大型星體篩除階段
2.2.2 基于自適應(yīng)半徑的點源區(qū)域獲取與去除
在去除大型星體之后,剩余目標(biāo)中仍然存在一些亮度相對較高的小型點狀恒星源。該文要檢測的是低表面亮度的小型星系而非較亮的點源恒星,因此需要再次利用掩碼機制將其去除。
圖3 基于自適應(yīng)半徑的點源區(qū)域獲取
其次進行點源區(qū)域獲取。由于點源形狀規(guī)則為點狀圓形,如圖3(a)所示,故以其質(zhì)心坐標(biāo)為圓心,設(shè)計參數(shù)r為半徑圈出點源區(qū)域。r確定方法如下:首先,以點源質(zhì)心坐標(biāo)(x,y)為出發(fā)點,以一個像素點為單位沿著x或y軸方向更新坐標(biāo),如圖3(b)箭頭所示為沿著x方向向右更新坐標(biāo);其次,每經(jīng)過一個像素點記錄該點的像素值,并與先前記錄的像素值進行比較,如圖3(c)所示,坐標(biāo)(x+n+1,y)處的像素值與(x+n,y)處的進行比較。由于點源亮度分布服從高斯分布,當(dāng)(x+n,y)坐標(biāo)處的像素值與(x+n-1,y)和(x+n+1,y)坐標(biāo)處的像素值的差的絕對值幾乎相等時,認(rèn)為到了背景區(qū)域:
|c(n)-c(n-1)|≈|c(n+1)-c(n)|
(9)
其中,c為像素值,n為走過的像素點個數(shù)。最終將半徑表示為:
r=n+1
(10)
圈出點源區(qū)域,如圖3(c)所示。根據(jù)點源編號遍歷每個點源重復(fù)上述操作。
(11)
圖4 去掉小型點源階段
表1 候選體屬性表
圖5 去除非檢測目標(biāo)后的圖像
表2 對應(yīng)星表信息
(12)
m=1,2,…,M
(13)
其中,R,D為誤差范圍,通常定義在3角秒之內(nèi)。若落在這個范圍之內(nèi),則交叉匹配成功,表明這個候選者(xn)是星表中所記錄的真實存在的天體;若超出這個范圍,則匹配不成功,說明該候選者(xn)未被記錄在星表中,其存在的真實性不得而知,故將其類別信息標(biāo)注為no-label。匹配成功的候選者類別有:未知類別的目標(biāo)(TYPE=0)、星系(TYPE=3)或恒星(TYPE=6)。篩除TYPE=6的恒星以及組成像素數(shù)(area)小于5個像素的目標(biāo),因為SDSS天文圖像大小為2 048×1 489像素,組成像素數(shù)小于5個像素的目標(biāo)在天文圖像中面積占比極小,更是遠(yuǎn)遠(yuǎn)小于國際光學(xué)工程學(xué)會所定義的小目標(biāo)尺寸,因此該文認(rèn)為這些極小目標(biāo)極大可能是檢測出來的噪點,故將其篩除。
該文使用的數(shù)據(jù)集為SDSS真實天文數(shù)據(jù)集,圖像大小為2 048×1 489像素。SDSS圖像使用5種濾鏡(u,g,r,i和z)的光度系統(tǒng)拍攝,其中g(shù)波段、r波段和i波段的SDSS圖像包含了天體最豐富的信息,在以往的研究中經(jīng)常使用它們來搜索低表面亮度的小尺度目標(biāo)。因此,該文也選擇這3個波段圖像作為實驗數(shù)據(jù)。在SDSS數(shù)據(jù)中,r波段與i波段與對應(yīng)的g波段圖像之間存在一定的偏移,該文通過參考g波段圖像坐標(biāo)系將三者對齊、合成RGB圖像來可視化每個階段的實驗效果,檢測方法整體流程如圖6所示。
圖6 低表面亮度的小尺度星系檢測框架
在去除大型星體階段,該文將最小連接像素數(shù)(npixels)≥150的目標(biāo)定義為大型星體,利用基于目標(biāo)總數(shù)變化率的閾值確定方法確定分割閾值,并通過比較不同n值下的可視化效果來驗證該閾值確定方法和目標(biāo)篩除方法的有效性。如圖7(b)所示,當(dāng)n值較小時,閾值過低會錯誤地將周圍目標(biāo)認(rèn)定為大型星系的一部從而分割出大量噪聲,對后續(xù)目標(biāo)識別工作造成負(fù)面影響。如圖7(c)所示,當(dāng)n值較大時,會平滑掉一些邊緣像素使得大型天體的輪廓分割效果較差。圖7(d)為文中方法得到的理想閾值下的分割效果,圖7(e)為該閾值下星體的去除效果。
圖7 不同分割閾值下的分割效果和去除效果
在去除小型點源階段,同樣利用該文提出的閾值確定方法,根據(jù)點源檢測總數(shù)變化率確定理想的點源閾值。通過比較不同n值下的可視化效果驗證閾值確定方法的有效性。n較小時會檢測出大量無效目標(biāo)與本階段的目的相違背;n較大時會出現(xiàn)目標(biāo)遺漏現(xiàn)象。
在該文提出的自適應(yīng)半徑確定方法下,得到點源區(qū)域半徑(r),圈出點源區(qū)域效果如圖8(c)所示,去除小型點源的效果如圖8(d)所示。通過比較不同r值下的實驗效果來驗證文中方法的可靠性。如圖8(a)所示,當(dāng)r較小時不足以圈出整個區(qū)域;如圖8(b)所示,當(dāng)r較大時會出現(xiàn)兩點源區(qū)域重疊現(xiàn)象。
圖8 不同半徑(r)圈出小型點源
檢測結(jié)果中包括3種目標(biāo):(1)星系(TYPE=3);(2)真實存在的未知種類天體(TYPE=0);(3)星表中未記錄的負(fù)樣本目標(biāo)(TYPE=no-label),其存在的真實性不得而知。統(tǒng)計檢測結(jié)果的總數(shù)為:
Nobj=n0+n3+nno-label
(14)
其中,n0,n3,nno-label為上述3種目標(biāo)各自的數(shù)量。由于不確定星表中未記錄目標(biāo)(TYPE=no-label)的真實性,其可能是真實存在的天體也可能是檢測出來的噪聲信息等,故不把其作為目標(biāo)的真正例,將目標(biāo)檢測率定義為:
(15)
由于不確定n0和nno-label中是否存在星系,將低表面亮度小尺度星系的識別率定義為:
(16)
表3列出了系統(tǒng)模型檢測結(jié)果。文中方法在SDSS天文數(shù)據(jù)集上的目標(biāo)檢測率為94.90%,對低表面亮度的微小星系識別率可達(dá)89.21%。在候選者與對應(yīng)星表交叉識別后,得到最終星系檢測結(jié)果,以其質(zhì)心為中心繪制檢測框,目標(biāo)檢測可視化效果如圖9所示。
表3 系統(tǒng)模型在SDSS數(shù)據(jù)集上的檢測結(jié)果
圖9 低表面亮度的小尺度目標(biāo)檢測可視化
文中方法與經(jīng)典的目標(biāo)檢測方法(如SSD、YOLOv3[17]、Efficientdet[18]、YOLOv4[19])在目標(biāo)的檢測率和低表面亮度的小尺度星系識別率上進行比較。對于經(jīng)典的目標(biāo)檢測算法,SDSS圖像較大為2 048×1 489像素,在數(shù)據(jù)集的制作過程中,根據(jù)計算機的計算性能和容量,需要先將3波段圖像合成RGB圖像,并將每張圖像切割為16張512×372大小的圖像,參照圖像對應(yīng)的星表,確定目標(biāo)類別,給低表面亮度的小尺度星系制作標(biāo)簽。
在測試階段,統(tǒng)計每張圖的檢測結(jié)果與真實標(biāo)簽數(shù)相比,計算目標(biāo)檢測率。對比文中方法與經(jīng)典檢測算法的目標(biāo)檢測率,結(jié)果如表4所示。統(tǒng)計檢測結(jié)果中星系數(shù)量,計算低表面亮度的小尺度星系識別率,對比文中方法與經(jīng)典檢測算法的低表面亮度、小尺度星系識別率,結(jié)果如表4所示。可以看出,Efficientdet模型因其較強的特征提取和特征融合能力,在面對低表面亮度的小目標(biāo)時,檢測率和目標(biāo)識別率要高于SSD、YOLOv3和YOLOv4。YOLOv4作為YOLOv3的改進版,相較于YOLOv3,在目標(biāo)檢測率和準(zhǔn)確率上都有所提升。而文中方法在低表面亮度的小尺度星系的檢測率和識別率上都高于其他方法。由此表明,文中方法能有效地應(yīng)用于真實天文圖像中低表面亮度的小尺度星系檢測任務(wù),而上述經(jīng)典的目標(biāo)檢測算法在運用到該特定場景中,檢測亮度低、特征弱、體積小的天體時仍然面臨著困難和挑戰(zhàn)。
表4 低亮度的小尺度目標(biāo)檢測率和星系識別率
面對天文圖像中多而繁雜的星體,該文提出了一種面向天文圖像的低表面亮度小目標(biāo)的檢測方法。該方法不直接去檢測目標(biāo)星系,而是從另一個角度出發(fā),先將非檢測目標(biāo)層層篩除,得到體積較小、亮度微弱的候選者,再從候選者中識別和證認(rèn)星系??傮w結(jié)構(gòu)分為兩部分:干擾目標(biāo)的篩除和目標(biāo)的交叉認(rèn)證。首先,設(shè)計了基于目標(biāo)總數(shù)變化率的閾值確定方法,基于自適應(yīng)半徑的點源區(qū)域獲取方法以及掩碼機制,生成掩碼矩陣將絕大多數(shù)非檢測目標(biāo)去除;然后,利用天文星表中記錄的真實天體信息與候選者進行交叉認(rèn)證,進一步識別候選者中的星系目標(biāo)。實驗表明,在真實的天文數(shù)據(jù)集上,該方法可以有效地用于檢測低表面亮度的小尺度星系,具有一定的應(yīng)用價值。未來工作將進一步研究如何優(yōu)化上述方法,以更好地、更自動地處理星體非常密集或是噪點非常多的特殊類圖像。