莊旭君 左華紅 韓屏



摘 要:針對目標檢測模型在訓練過程中正負樣本分配時沒有考慮真實框的長寬比、對物體不同分布的適應能力差等不足,提出了比例先驗和損失感知的分配算法RLA。RLA不改變原有檢測模型的結構,首先根據真實框的長寬比選擇等比例的中心區域,然后計算錨點綜合損失,考慮真實框內物體的實際分布,最后通過動態損失閾值的方式區分正負樣本。該算法解決了基于IoU分配時適應性差、難以選出最佳正樣本等問題,對偏心物體和長寬比懸殊物體的樣本分配更加合理。與已有的樣本分配算法對比,該算法在MS COCO數據集上的表現更優,比基線FCOS的AP提升1.66%;在模型結構相同時,比ATSS和PAA算法的AP分別提升了0.76%和0.24%,證明了RLA算法的有效性。
關鍵詞:目標檢測;正負樣本;長寬比;損失感知;自適應
中圖分類號:TP391.41 文獻標志碼:A 文章編號:1001-3695(2023)10-048-3194-07
doi:10.19734/j.issn.1001-3695.2023.01.0013
Positive and negative samples allocation algorithm for object detection models incorporating ratio-prior and loss-aware
Zhuang Xujun1,Zuo Huahong2,Han Ping1
(1.School of Information Engineering,Wuhan University of Technology,Wuhan 430070,China;2.Wuhan Chuyan Information Technology Co.,Ltd.,Wuhan 430030,China)
Abstract:To address the shortcomings of the object detection model in the training process,such as the allocation of positive and negative samples without considering the aspect ratio of the ground-truth box and the poor adaptability to different distributions of objects,this paper proposed the ratio-prior and loss-aware assignment(RLA) algorithm.RLA didnt change the structure of the original detection model,firstly it selected an equal proportion of the central sampling area based on the aspect ratio of the ground-truth box,then calculated the integrated loss of the anchor points,considered the actual distribution of objects within the ground-truth box,and finally distinguished between positive and negative samples by means of a dynamic loss threshold.The algorithm solved the problems of poor adaptability and difficulty in selecting the best positive samples based on IoU allocation,and the sample allocation for eccentric objects and objects with different aspect ratios was more reasonable.Compared with existing sample allocation algorithms,the algorithm outperforms the MS COCO dataset by 1.66% over the AP of the baseline FCOS,and 0.76% and 0.24% over the AP of the ATSS algorithm and the PAA algorithm respectively when the model structure is the same,demonstrating the effectiveness of the RLA algorithm.
Key words:object detection;positive and negative samples;aspect ratio;loss-aware;self-adaptive
0 引言
訓練過程中的正負樣本分配是影響目標檢測模型性能的重要因素。傳統的正負樣本分配策略,使用手工設計的硬分配。有錨框檢測模型,如RetinaNet[1]為了兼顧不同形狀的真實框,根據經驗在每個錨點平鋪9個不同大小和比例的錨框,使用固定的IoU閾值把錨框分為正樣本、忽略樣本、負樣本。這種分配方式需要在每個錨點敷設多個錨框,計算量大,且沒有考慮真實框與錨框的實際相交內容。隨著無錨框檢測模型的發展,出現了許多不依賴錨框的檢測模型,如FCOS[2]拋棄了平鋪錨框的方式,利用空間約束(即限制正樣本錨點在真實框內)和尺度約束(即給每個特征層設置一個固定的最大回歸范圍)分配正負樣本,但滿足這兩個約束的錨點可以分布在真實框的所有位置,包括各類噪聲和背景。FCOS的升級版本[3]通過中心采樣的方式,在原來的基礎上限制正樣本點要在以真實框為中心,且邊長為2×1.5×S(S為步長)的正方形區域內。中心采樣緩解了之前大量背景噪聲被分為正樣本的問題,但是中心區域的錨點也不全是最佳的。另一方面,由于選擇的區域固定為正方形,對長寬比懸殊的真實框不適用。以上硬分配的方式都有一個共同點,那就是沒有考慮對于不同尺寸、形狀或遮擋條件的物體,正負樣本的劃分條件可能并不一樣。
由于硬分配方式的不足,出現了許多自適應分配正負樣本的算法。例如,FreeAnchor[4]基于分類損失和回歸損失,將訓練過程定義為最大似然估計的過程,將手工設定錨框與真實框匹配改為自由匹配,但當有許多高質量的錨框時,這種方式不能很好地為每一個真實框匹配到合適的錨框。ATSS[5]在每個特征層選取k個L2距離最小的錨點,這些錨點各自對應一個8×S的錨框,計算這些錨框與真實框的IoU及IoU的均值與標準差,以均值與標準差之和作為動態的IoU閾值,實現自適應分配樣本。但由于錨框是不變的,對于同一張圖片的同一個真實框,這個閾值在訓練過程中是不變的,依賴預先定義的錨框和真實框之間的IoU,既不考慮相交區域的實際內容,也不考慮模型的學習狀態。此外,由于使用L2距離作為候選正樣本,對于一些長寬比懸殊的真實框,初步篩選得到錨點也不夠合理。文獻[6]中提出了錨框評分方案,由L2距離計算中心權重,使用中心權重作為定位分數,將錨框評分定義為定位得分與分類得分的乘積,并使用高斯模型模擬錨框評分的分布,根據最大似然估計計算高斯分布的均值和標準差,將兩者之和作為動態的IoU閾值。然而在計算了錨框評分后,仍然以IoU閾值作為分離正負樣本的依據,而IoU并不是代表錨框質量的最佳指標。文獻[7]中提出了自適應標簽分配,候選正樣本限制在以真實框中心為圓心、半徑為r的圓形范圍內,計算每個錨點預測框與真實框的IoU,使用IoU序列差分譜得到極大峰值,由極大峰值所在的位置確定q;然后計算所有錨點的聯合損失,并計算損失小的前q個預測框IoU的和s,作為正樣本數量,但候選樣本均位于圓形區域內,對長寬懸殊的物體并不是最佳的,而且需要計算所有錨點的聯合損失和IoU,計算量大。為了實現真正的動態分配,PAA[8]首先將錨框與真實框的IoU大于0.1作為第一步的篩選,然后引入錨框分數(由錨框的分類損失和回歸損失計算)評估錨框質量,每層選擇前k個損失最小的錨框作為候選正樣本,再使用高斯混合模型(GMM)對這些候選正樣本進行聚類,得到最終的正樣本。這種方式在利用IoU初步篩選錨框時沒有利用真實框的形狀,選擇更能代表長寬比懸殊物體的錨點,而且使用的GMM模型需要不斷地迭代,計算量大且延長了訓練時間。
綜上所述,現有的正負樣本分配算法存在的不足包括:
a)沒有利用真實框的長寬比。對于長寬比懸殊的物體,在選擇候選樣本時依然采用正方形區域作為中心區域,沒有考慮改變其形狀,例如根據真實框的長寬比調整中心區域。
b)沒有考慮錨框與真實框的實際相交內容。如果一個錨框與真實框的IoU很大,并不代表這個錨框可以得到與真實框的IoU也很大的預測框,因為錨框與真實框相交的內容可能都是一些嘈雜的背景,模型難以通過這些背景得到準確的預測值,即忽略了錨框與真實框的IoU并不等于預測框與真實框的IoU。
c)為了確定正負樣本,使用了復雜的模型,以時間和硬件成本來換取精度的提升,增加了訓練的難度。
針對現有的正負樣本分配算法中存在的上述問題,本文提出了一種新的正負樣本分配策略——比例先驗和損失感知的分配算法RLA(ratio-prior and loss-aware assignment)。該算法與現有正負樣本分配算法相比主要有三個改進,分別是等比例中心先驗、錨點綜合損失、動態損失閾值。在第一步篩選中使用了新的中心先驗——等比例中心先驗,充分利用真實框的長寬比,長寬比不同的物體有不同的中心區域,選擇更能代表物體特征的錨點;在第二步篩選中不再使用傳統的IoU作為判斷錨點質量的依據,而是使用動態變化的錨點綜合損失,該綜合損失比IoU更能代表錨點的質量,在進行正負樣本分配時充分考慮真實框內物體實際的分布情況;在第三步篩選中為了避免高昂的計算成本,使用動態損失閾值,以更簡單的方式,動態地篩選出損失更小的錨點作為正樣本。
1 RLA算法
本章將介紹RLA算法中的等比例中心先驗、錨點綜合損失、動態損失閾值,并在算法1中給出了實現過程。
1.1 等比例中心先驗
FCOS[3]僅從真實框中面積有限的中心區域選擇錨點,稱為中心先驗。ATSS[5]根據L2距離選擇候選正樣本,實際上也利用了中心先驗。在真實框外的錨點是較差的錨點,如果這些錨點被分配為正樣本錨點,將由真實框外部的特征進行預測,這不利于訓練,應該排除。FCOS和ATSS以及本文提出的RLA均保證了正樣本錨點在真實框內。理論上,真實框內的所有錨點都有可能成為正樣本。但是大部分情況下,尤其是訓練初期,物體中心區域的錨點更加利于模型的訓練,這導致選擇中心區域需盡量合理。例如FCOS僅選取中心區域(邊長為2×1.5×S的正方形)內的錨點作為正樣本,就會導致模型過于關注中心的錨點;ATSS以L2距離在每個特征層選取k個候選樣本,也只能選擇出更加聚集在真實框中心區域的樣本。對一些不完全在中心的物體,這兩種方式都難以分配到最佳的錨點。而如果僅僅擴大中心區域,會引入許多包含大量噪聲的錨點,在一定程度上影響檢測模型的性能。此外,FCOS和ATSS選擇候選樣本時完全沒有考慮真實框形狀的影響,FCOS的中心區域為正方形,ATSS以L2距離作為選擇依據,中心區域近似于以真實框中心為圓心的圓。對于一些長寬比懸殊的真實框,在這種形狀的中心區域內選擇候選正樣本并不合適。
為了解決這個問題,本文提出了等比例中心先驗。在傳統的中心先驗中,所有真實框的中心區域是一個近似于正方形或圓形的區域,這就導致長寬比懸殊物體的中心區域與物體實際分布相差較大,難以從中心區域中得到合適的錨點。與傳統的中心先驗不同,等比例中心先驗依據每一個真實框的長寬比確定相應長寬比的中心區域。對于長寬相近的物體,使用傳統的中心先驗和等比例中心先驗得到的中心區域相差不大;而對于長寬比懸殊物體,由于中心區域的長寬比與真實框的長寬比一致,所以中心區域中包含了大部分可以代表物體特征的錨點,這些錨點將參與到錨點綜合損失的計算中。
假設一張圖片中的所有真實框為集合G,g是其中一個真實框,即g∈G。g的長和寬分別為H和W,中心坐標為(x,y),特征層到原圖的步長為S,那么可以確定真實框中心到中心區域的左邊界和上邊界的兩個距離分別如式(1)(2)所示。
其中:r為超參數;R=min(H,W)。由這兩個距離可以確定中心區域的四個頂點坐標分別為(x-Xs,y-Ys),(x+Xs,y-Ys),(x-Xs,y+Ys),(x+Xs,y+Ys)。通過等比例處理,每個真實框的中心區域的短邊都為2×r×S,中心區域保持與真實框相等的長寬比。
為了保證中心區域能夠盡可能地覆蓋所有適合作為正樣本的錨點,本文將中心區域的超參數設置為r=2.5,在FCOS的中心采樣中,這個參數僅為r=1.5。在這種設置下,FCOS的中心區域大小為(2×r×S)2=9×S2,而RLA的中心區域最短邊為2×r×S=5S,所以其面積最小也為25×S2。通過加大中心區域的面積,絕大部分可能成為正樣本的錨點都在中心區域內。此外,由于中心區域與真實框的長寬比相同,對于一些長寬比懸殊的物體,例如公交車、長頸鹿、網球拍、牙刷等,也不會錯過最佳的正樣本錨點。通過等比例中心先驗,把潛在的正樣本錨點盡可能選擇出來,稱為第一輪候選正樣本C1。但是這也帶來了新的問題,那就是如何從這個中心區域的眾多錨點中篩選出高質量錨點。因此,在下一節中,本文提出了錨點綜合損失,用于評估錨點的質量。
1.2 錨點綜合損失
使用固定的IoU閾值或其他固定的超參數作為分配的依據,往往無法給真實框分配到最合適的錨點。例如,RetinaNet[1]使用固定的IoU閾值,認為IoU大的就是正樣本錨框(在有錨框檢測模型中,錨框的中心就是錨點),不考慮錨框與真實框相交區域的實際情況。如果相交區域幾乎是背景,將導致很難由這個錨框預測出物體正確的類別和位置。如圖1所示,綠色框為真實框,藍色框為其中一個錨框(僅畫出長寬比為1:1的錨框),錨框中心的藍點為錨點(參見電子版)。圖1(a)中的錨框對應的錨點在真實框的中心區域內,而且錨框與真實框的IoU值也比較大,為0.6。這個IoU值比大部分錨框都要高,如果根據RetinaNet的正負樣本分配方式,這個錨框將被分配為正樣本而進行訓練。然而,該錨框與真實框相交的區域大部分是背景,即使是錨框的中心區域也大部分都是物體以外的背景,所以模型難以從這幾乎是背景噪聲的內容中學習到有用的信息。根據這個錨框得到的預測框,很難與真實框有較高的IoU,無法得到理想的預測結果。因此,盡管這個錨框與真實框的IoU高于大多數的錨框,但它并不是合適的正樣本。從這個例子中可以看出,錨框與真實框的IoU不能作為評估錨框或錨點質量的唯一依據。
ATSS[5]在每個錨點僅平鋪一個正方形的錨框,仍使用IoU作為區分正負樣本的閾值,但該閾值是通過統計特性動態得到的。盡管這種方式可以緩解固定IoU閾值帶來問題,但一方面,因為錨框與真實框的IoU并不是評估錨點質量的最佳指標,所以用IoU的均值和方差之和作為閾值也不是最佳的;另一方面,這個平鋪的錨框在訓練過程中沒有任何變化,所以真實框和錨框的IoU不會變化,IoU閾值不會隨著訓練過程改變,所以正樣本不會變化,模型仍然無法參與到正負樣本分配的過程。此外,RetinaNet和ATSS均未考慮真實框長寬比。如圖1(b)中的錨框與真實框有較大的IoU,但相交區域大多是背景,且真實框的長寬比懸殊,只平鋪一種尺寸的錨框難以滿足各類長寬比。
因此,基于IoU進行樣本分配會導致適應性差、難以選出最佳正樣本。為了樣本分配的合理性,錨點或錨框(為了簡單起見,以下統稱為錨點。FCOS中的錨點相當于RetinaNet中錨框的中心,一個錨點和對應的錨框都對應特征圖上的同一個點)需要一個更合適的評價指標,來界定錨點是正樣本或負樣本,并且這個指標需要和模型相關,以免出現分配過程中錨框與真實框的IoU很大,而模型預測結果不佳的情況。通過這個指標找到的錨點,不一定在真實框的中心附近,對應的錨框與真實框的IoU也不一定很高,但卻能很好地代表真實框內物體的特征,讓模型更好地學習。綜上,本文提出了錨點綜合損失,該損失滿足上述條件,如式(3)所示。
其中:LclsAnchor、LregAnchor、LdevAnchor分別為錨點預測結果的分類損失(classification loss)、回歸損失(regression loss)和中心偏離損失(deviation loss);λ1和λ2為超參數,用于平衡各損失的權重,本文實驗中取λ1=1.5,λ2=1。
錨點綜合損失同時考慮了錨點的分類質量、回歸質量以及在真實框內的偏離程度。錨點的分類損失和回歸損失與PAA算法中的使用的錨框質量評估分數類似,考慮了分類和回歸質量。對于適合作為正樣本的錨點,其分類損失和回歸損失會較小;反之,其分類損失和回歸損失會較大。特別地,對于包含大量背景的錨點,其分類損失和回歸損失將更大,因為模型幾乎不可能根據沒有線索的背景正確預測出物體的邊界框和對應的類別。此外,由于C1所在的中心區域和步長S有關,所以在比較高的特征層上,這個中心區域很大,導致在這些特征層上,一些中小物體內的所有錨點都被選擇。因此,本文提出了中心偏離損失,計算C1中每個錨點的中心偏離損失,處于邊緣的錨點與處于真實框中心范圍的錨點有不同的中心偏離損失,但最終到底選擇哪些錨點作為正樣本,由錨點綜合損失來確定。綜合損失越小的錨點,越能預測出正確的類別和邊界框。下面將介紹各損失的計算方式。
經過上一步的等比例中心先驗的篩選后,在不同的特征層上可以得到相應的候選正樣本,每一層的候選正樣本共同組成了第一輪候選正樣本C1。假設其中一個錨點aj∈C1,其坐標為(x,y)。aj在經過模型正向傳播后得到預測值px,y=(pclsj,pregj),其中pclsj和pregj分別代表模型預測的分類向量和回歸框的坐標向量。假設aj被分配給了真實框gi=(x(i)1,y(i)1,x(i)2,y(i)2,c(i)),其中(x(i)1,y(i)1)和(x(i)2,y(i)2)表示真實框左上角和右下角的頂點坐標,c(i)對應真實框內物體的類別。
錨點的分類損失使用Focal Loss[1]。由錨點aj正向傳播得到的向量pclsj是一個維度為類別數Nclass的向量,可以計算其分類損失如式(4)所示。
錨點的回歸損失使用GIoU損失[9]。由錨點aj正向傳播得到的預測框坐標向量pregj是一個維度為4的向量,可以表示為pregj=(lj,tj,rj,bj),代表預測框相對于錨點aj的位置信息,4個分量的值分別代表錨點到預測框左、上、右、下邊界的距離。可以計算其回歸損失如式(5)所示。
錨點的中心偏離損失由中心偏度計算。假設錨點aj到真實框gi的左、上、右、下邊界的距離分別為(l,t,r,b),由于第一輪篩選保證了錨點aj在真實框gi內,所以這四個距離均為正數。根據這四個距離,本文定義了中心偏離度dev,如式(6)所示。左右距離差值|l-r|的絕對值越小,說明這個錨點越處于真實框水平方向的中心,上下距離的差值也同理。此外,考慮到真實框的長寬不同,將這個差值的絕對值除以真實框相應的邊長,歸一化到[0,1]。
本文提出的中心偏離損失如式(7)所示,中心偏離度在閾值內的錨點,中心偏離損失設置為0,即認為這個錨點偏離程度在可接受的范圍內;對中心偏離度大于所設閾值的錨點計算中心偏離損失,具體數值由中心偏離度計算。
以上三個損失共同組成了錨點綜合損失,該損失考慮了框內物體的實際分布以及真實框的長寬比,對于偏心物體和長寬比懸殊物體的樣本分配更加合理。
1.3 動態損失閾值
有了候選錨點的綜合損失,需確定一個分界線來劃分C1中的正/負樣本。為了進一步劃分正/負樣本,LLA[10]中直接使用固定的正樣本數量,不考慮錨點損失的具體數值,只選擇損失小的k個錨點作為正樣本。這種方式雖然不需要額外的計算,但引入了超參數,無法利用損失的具體數值判斷樣本數量。而且不同大小和尺寸的物體,所需要的正樣本數量不一定是相同的。PAA[8]中使用了復雜的高斯混合模型(GMM),根據錨框分數(與錨點損失類似)的數值對候選正樣本進行聚類,分為正/負樣本兩個類別。PAA雖然不會影響預測過程,但是大大降低了模型的訓練速度,對于每一個真實框,都需要重新迭代一次,并且這個迭代需要在CPU上進行。
為了解決上述問題,更好地利用錨點綜合損失動態劃分正負樣本,而不引入額外的計算成本,本文提出了更為簡單且有效的區分方式——動態損失閾值。該方式既能在訓練過程中動態確定合適的正樣本數量,又能避免PAA的高訓練成本,使模型在不增加訓練時間的前提下達到了相似甚至更優的性能。計算了C1的錨點綜合損失后,使用動態損失閾值的過程如下:
a)每個特征層選擇錨點綜合損失更小的k個錨點,得到第二輪候選正樣本C2。
b)在C2中選擇m個損失小的錨點作為第三輪候選正樣本C3,計算這m個候選正樣本錨點綜合損失的均值tg。
c)將C3中錨點綜合損失低于tg的錨點作為正樣本AP,其余為負樣本AN。
由于RLA算法在第一輪篩選中并沒有關注哪一層特征層更加適合預測當前的真實框,所以C1可能來自所有的特征層,而有的特征層并不適合預測當前尺度的真實框。為了找到合適的正樣本,RLA先在每個特征層都選擇k個錨點,組成第二輪候選正樣本C2。但有一些候選錨點所在的特征層不適合對當前真實框進行預測(例如真實框較大時,最低層的特征層上的錨點不適合作為其候選錨點),這些較差的候選錨點的損失較大,不適合作為正樣本,沒有必要繼續保留。但PAA將這些較差的錨點也保留了下來,并進行聚類。由于這些較差的候選錨點綜合損失較大,通過聚類以后,也會被認為是負樣本。所以,C2全都參與聚類并不是最合適的辦法,因為一些綜合損失較大、排名靠后的錨點幾乎不會是正樣本。此外,GMM迭代的成本很大,每一個真實框都要進行同樣的過程,而一張圖片往往不止一個真實框,這就導致訓練時間被大大延長。因此,本文提出的動態損失閾值對C2做進一步篩選再進行劃分。首先,在C2中選擇前m個損失小的錨點,去除掉錨點綜合損失較大的錨點,得到第三輪候選正樣本C3。然后,由于C3中已經沒有不適合預測當前真實框的錨點(這些錨點通常分布在與真實框尺度相差很大的特征層上),基本剩下了最好的和次好的錨點,這些錨點的綜合損失都較小,只需要經過簡單的均值計算,就可以區分出最合適的錨點和次優的錨點,將最合適的錨點作為正樣本,進而確定正樣本的數量。由于在訓練過程中錨點的損失是由模型預測結果決定的,錨點綜合損失隨之變化,所以損失閾值也是動態的。本文實驗部分證明,與PAA算法相比,RLA算法減少了約27%的訓練時間,并實現了更好的樣本分配結果,達到了和PAA相似甚至更優的性能。
1.4 RLA算法的實現
如算法1所示,描述了RLA進行正負樣本分配的過程,實現過程如圖2所示。為了說明不同特征層的分配情況,選擇其中三個特征層F3、F4和F5并畫出這些特征層分配結果在原圖上的位置。錨點首先滿足在真實框內,其次滿足在與真實框長寬比相同的中心區域內,同時滿足這兩個條件的錨點作為第一輪候選正樣本C1,如圖2(a)所示。然后對C1計算錨點綜合損失,在每層選取k個損失小的錨點作為第二輪候選正樣本C2,如圖2(b)所示。最后,在C2中選擇m(k 2 實驗結果及分析 2.1 實驗細節與設置 2.1.1 數據集與評價指標 本文的所有實驗都是在具有挑戰性的MS COCO[11]數據集上進行的,該數據集包括80個類別。按照ATSS和PAA中的設置,將trainval35k(大約118k張圖片)中的圖像作為訓練集,minval(5k張圖片)中的圖像作為驗證集。 普通單個類別的平均精準度(average precision,AP)定義為對PR曲線上的precision值求均值。mAP(mean average precision)的定義為在某一個IoU閾值tIoU下,每個類別AP的均值,如式(8)所示。 其中:Nclass為類別數。本文實驗使用的評價指標與ATSS等算法保持一致,使用主流的COCO評價指標,主要包括AP、AP50、AP75、APS、APM、APL。其中AP為主要的評價指標,使用不同IoU閾值下mAP的均值作為主要評價指標,計算方式為在IoU從0.5到0.95的區間上每隔0.05計算一次mAP的值,取所有結果的平均值作為最終的結果。所以COCO評價指標中的AP更為嚴格,不再是普通的單個類別的AP,本文實驗數據中提到的AP均為此計算方式,這是COCO數據集中最常用的評價指標。AP50和AP75分別表示IoU閾值為0.5和0.75時的mAP值,即AP50為mAP(tIoU=0.5),AP75為mAP(tIoU=0.75)。APS、APM和APL分別代表小、中、大目標的AP。 2.1.2 實現細節 與ATSS類似,本文的RLA適用于有錨框和無錨框檢測模型,本文的實驗將主要基于無錨框檢測器FCOS。為了保證實驗的條件相同,本文實驗中對ATSS和PAA進行如下的修改: a) 將ATSS中的中心度分支改為IoU分支,記為ATSS。 b) PAA使用1×訓練周期而不是1.5×訓練周期,并且在非極大值抑制(NMS)的后處理中不使用分數投票機制。 即本文保證ATSS、PAA和RLA均使用IoU分支作為輔助分支,訓練周期均為1×(即12個epoch),后處理中除了非極大值抑制外,不再使用任何額外手段提升性能。除了正負樣本分配策略,其余均保持一致。此外本文還與使用中心采樣算法的FCOS(其輔助分支為中心度分支)進行比較。 實驗環境的CPU為Intel Core i9-10900K CPU@3.70 GHz,顯卡為GeForce RTX 3090,內存大小為64 GB,操作系統為Ubuntu18.04。模型使用ImageNet[12]預訓練的ResNet-50[13]和5層特征金字塔結構作為骨干網絡。在訓練過程中,調整輸入圖像的大小,使其短邊為800,長邊小于或等于1 333。整個網絡使用隨機梯度下降SGD算法進行訓練,動量為0.9,權重衰減為0.000 1。根據線性策略,調整批量大小為8,進行180 000次迭代(即12個epoch)。初始學習率設為0.005,并在迭代到120 000和160 000時分別衰減為原來的十分之一。訓練過程中未使用多尺度訓練。 在測試時,首先采用與訓練階段相同的方法調整輸入圖像的大小,通過整個網絡正向傳播,得到預測的類別和對應的邊界框。然后,分類向量中對應類別的得分設置0.05的閾值,過濾包含大量的背景預測框,輸出每個特征層的前1 000個高置信度的檢測結果。最后,用非極大值抑制得到的前100個檢測結果,IoU閾值設為0.6。模型推理的設置與ATSS保持一致,未使用多尺度測試、分數投票等提升模型性能的額外手段。 2.1.3 損失函數 模型訓練的損失函數由三部分組成,如式(9)所示。 其中:Npos為正樣本的數量;z表示坐標為(x,y)的錨點;pz為該錨點的預測值;gz為該錨點對應的真實標注;Lcls為分類分支的損失,使用Focal Loss[1];Lreg為回歸分支的損失,使用GIoU Loss[9];Laux為輔助分支的損失,使用二進制交叉熵損失。在ATSS中輔助分支為中心度分支,即Laux是預測的中心度與真實中心度的損失。而在本文中為IoU分支,即Laux是預測IoU與真實IoU的損失,與PAA中設置相同。該分支與ATSS和PAA的輔助分支均采樣二進制交叉熵損失。α1和α2為損失平衡的權重,本文使用的權重與ATSS保持一致,即α1=2,α2=1。1{cz>0}為指示函數,當cz>0,即坐標為(x,y)的錨點是正樣本時1{cz>0}=1,否則1{cz>0}=0。 2.2 RLA算法實驗與分析 RLA算法主要由三個部分組成,分別是動態損失閾值、包含中心偏離損失的錨點綜合損失、等比例中心先驗。為了探究每個部分的作用,本文設計了實驗,如表1所示。實驗中取k=9,m=20。未使用等比例中心先驗時,默認使用普通的中心先驗,即限制正樣本錨點在正方形的中心區域內。 2.2.1 動態損失閾值 1) 動態正樣本數量 為了說明動態正樣本數量Npos的作用,本文設計了如下實驗:首先是固定正樣本數量,即按照錨點綜合損失從低到高,選出前Npos個損失小的候選錨點作為正樣本,這導致所有真實框的正樣本數量都是相同的,且在訓練過程中保持數量不變。PAA使用高斯混合模型,根據錨點損失通過聚類動態地把錨點分為正負樣本,從而確定正樣本數量。PAA表示不使用高斯混合模型GMM確定正樣本數量,本文提出的做法為“PAA+動態損失閾值”,表示使用動態損失閾值的方式代替原始PAA中的GMM,來確定動態的正樣本數量。實驗結果如表2所示。 根據表2所示的實驗結果可知,如果使用動態的方式確定正樣本數量,不論是使用高斯混合模型,還是使用本文提出的動態損失閾值的方式,都可以得到比固定正樣本數量更好的AP性能。此外,PAA和PAA+動態損失閾值的方式在COCO驗證集下的AP分別為40.22%和40.26%,使用PAA+動態損失閾值的方式比PAA的AP相差0.04%。說明本文的動態損失閾值以更簡單而高效的方式,達到了與GMM相似的作用。 2)正樣本數量變化 為了和同樣使用錨點損失的PAA進行對比,圖3畫出了PAA和RLA訓練過程中的正樣本數量。圖3中每次迭代正樣本數量的含義為一次迭代中所有圖片(圖片數量等于批量大小)中所有真實框的正樣本數量的平均值,共計180? 000次迭代。圖3(a)中PAA的正樣本是通過高斯混合模型迭代后得到的,數量動態變化;從圖3(b)可以看出,RLA每次選擇的正樣本數量也不固定,而是根據錨點的綜合損失確定,正樣本數量主要集中在8~14,有更好的適應性。RLA和PAA均能根據錨點損失動態確定正樣本數量。 3)訓練過程正樣本選取的變化 為了證明訓練過程中選擇的正樣本會隨著模型的訓練狀態而變化,實驗中選取了訓練過程中的三個階段,如圖4所示,分別是訓練初期(Iteration=1 000)、訓練中期(Iteration=90 000)、訓練后期(Iteration=180 000)分配的正樣本。在訓練初期如圖4(a)所示,樣本點主要集中在真實框的中心區域內,正樣本點并不是完全體現物體的分布,一些正樣本點分布在物體與背景的交界處,甚至有些樣本點基本都是背景。隨著訓練的進行,模型的識別能力提升,可以更加準確地根據高質量的錨點得到好的預測結果,在計算錨點綜合損失時,錨點的損失值更能代表錨點的質量好壞,從而進一步為訓練提供合適的正樣本。所以,到了訓練中期,如圖4(b)所示,選擇的正樣本中包含大量噪聲的錨點變少,錨點的分布變得更加合理。到了訓練后期,如圖4(c)所示,選擇的正樣本得到更好優化,基本不會包含太多的背景噪聲。即使有的錨點在中心區域,但由于錨點包含大量的背景,也不會選擇這些錨點,而是選擇更能代表物體特征的錨點作為正樣本,所以被選擇的錨點不一定都是剛好處于中心范圍內的。 2.2.2 等比例中心先驗 1) 等比例中心先驗篩選后的候選正樣本 本文提出了等比例中心先驗,主要針對長寬比懸殊的物體。對于這些物體,在選擇第一輪候選正樣本時會根據其長寬相應選擇候選的錨點。實驗中選取了沒有考慮真實框長寬比的ATSS作為對比,ATSS使用L2距離作為選擇第一輪候選正樣本的依據。經過第一輪篩選后得到的候選正樣本如圖5所示。對于一些長寬比懸殊的真實框,例如圖5(a)中的飛機,ATSS選擇了到真實框中心點最近的k個錨點作為第一輪候選正樣本,所以這些候選正樣本都分布在一個較小的中心范圍內。而本文提出的RLA使用等比例中心先驗,在第一輪分配中選擇了更多的候選樣本,如圖5(b)所示,目的是盡可能保留更能體現物體位置的錨點,而不是只保留處于正方形或圓形中心區域的錨點。由于增加了候選樣本數,所以第一輪候選正樣本中會有部分樣本包含大量的噪聲,這些樣本點將通過錨點綜合損失進一步篩選。因此,等比例中心先驗主要是為了盡可能保留下有意義的錨點,對保留的背景將在下一輪進行篩選。圖5(c)和(d)中的人物是長寬比懸殊的類別,如果使用ATSS中的方法,如圖5(c)所示,得到的候選樣本中包含有用信息的錨點并不多。而通過等比例中心先驗的方式,如圖5(d)所示,幾乎所有能代表物體特征的錨點都保留下來了,只不過是其中有部分錨點包含大量背景,但高質量的錨點也得到保留。背景錨點將通過計算錨點綜合損失和動態損失閾值的方式做進一步篩選,所以背景錨點并不會由于被分為正樣本而影響模型。 2) 各類別AP對比 為了更好地說明等比例中心先驗對長寬比懸殊物體的作用,本文選擇了COCO數據集80個類別中的一些類別,如自行車、長頸鹿、滑雪板、網球拍等。ATSS、PAA和RLA在對以上指定類別進行處理的AP表現如圖6所示。對于這些長寬比懸殊的類別,使用了等比例中心先驗后,AP能提升約1%,甚至更高。這說明對于長寬比懸殊的類別,在選擇候選樣本的時候利用等比例中心先驗改變中心區域,可以有效提升這些物體的識別度,提升總體的檢測性能。 2.2.3 整體性能 1) 分配的正樣本錨點 對于一些不完全在真實框中心的物體,如果使用ATSS的分配方式,如圖7(a)所示,得到的正樣本錨點幾乎都聚集在真實框的中心區域。中心區域有背景時,處于背景的錨點也會被選擇,所以ATSS分配方式選擇的錨點不能很好地代表實際物體,自適應性較差。PAA使用了錨點的分類損失和回歸損失,在一定程度上減緩了中心背景區域帶來的影響,如圖7(b)所示。本文提出的RLA算法,可以通過在訓練過程中根據每個錨點預測的結果計算損失,得到最適合的錨點。如圖7(c)所示,選擇的正樣本錨點不都是處于中心區域的,而是與物體實際分布切合。對于處于中心區域但包含大量背景的錨點,經過篩選后不會成為正樣本。此外,由于使用了等比例中心先驗,以及中心偏離損失,與PAA相比,選擇的正樣本更符合真實物體的分布,包含的背景更少,并且分配方式更簡單,訓練時間更短,后面的使用將說明訓練時間的對比結果。 2) AP對比 如表3所示,比較了多種正負樣本分配算法。與使用了中心度分支的FCOS和ATSS相比,RLA提升的AP分別約為1.66%和1.27%。與模型結構完全相同的ATSS相比,RLA提升了0.76%的AP,0.13%的AP50,0.89%的AP75,0.33%的APS,1.08%的APM,3.2%的APL。與PAA相比,提升了約0.24%的AP,且RLA實現樣本分配的過程更加簡單高效。以上實驗結果,說明了訓練過程中正負樣本分配對模型的重要性以及RLA的作用。 3) 訓練時間對比 由于RLA算法只重新定義了正樣本和負樣本,沒有改變模型結構,不會導致模型的訓練參數變多,造成額外開銷。實驗結果記錄了同樣訓練設置下,各種算法的訓練時間,并定義了訓練過程中平均每小時提升的AP值,記為hAP,如式(10)所示。 其中:T為訓練時間,單位為小時(h);hAP越高說明單位時間內能提升的AP越高,算法越高效。 實驗結果如表4所示,PAA的hAP在所有算法中最低,說明PAA算法中的GMM非常影響訓練時間。與PAA相比,RLA減少了約27%的訓練時間,并實現了更好的樣本分配結果,比PAA的AP提升了0.24%。PAA由于需要在CPU上迭代高斯混合模型,導致訓練時間大大增加。此外,RLA僅比其余算法的訓練時間增加約3 h。與ATSS相比大約增加了11%的訓練時間,但提升了0.76%的AP。RLA額外的訓練時間主要是由于在使用錨點綜合損失時需要提前計算一輪錨點預測結果與真實值的損失,但該計算是在GPU上進行的,并不會明顯減緩訓練過程。 3 結束語 本文基于無錨框檢測器FCOS提出了新的正負樣本分配算法RLA,該算法解決了基于IoU分配正負樣本時適應性差、難以選出最佳正樣本等問題,充分考慮了真實框內物體實際的分布情況,且利用了真實框的長寬比,盡可能選擇更能代表物體特征的錨點作為候選正樣本,對偏心物體和長寬比懸殊物體的樣本分配更加合理。實驗表明,該算法可以有效提高檢測模型在MS COCO驗證集上的性能;對于MS COCO驗證集中長寬懸殊的類別,該算法的提升更加明顯。本文提出的算法沒有改變網絡模型的結構,未增加參數量,僅增加了少量的訓練時間就帶來明顯的精度提升,且在模型的測試過程中無須額外計算,不會影響檢測速度。在下一步的工作中,將對錨點綜合損失中的回歸損失做進一步的研究,在計算回歸損失時考慮真實框與預測框的長寬比,進一步提高性能。 參考文獻: [1]Lin T Y,Goyal P,Girshick R,et al.Focal loss for dense object detection[C]//Proc of IEEE International Conference on Computer Vision.Piscataway,NJ:IEEE Press,2017:2999-3007. [2]Tian Zhi,Shen Chunhua,Chen Hao,et al.FCOS:fully convolutional one-stage object detection[C]//Proc of IEEE/CVF International Conference on Computer Vision.Piscataway,NJ:IEEE Press,2019:9626-9635. [3]Tian Zhi,Shen Chunhua,Chen Hao,et al.FCOS:a simple and strong anchor-free object detector[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2022,44(4):1922-1933. [4]Zhang Xiaosong,Wan Fang,Liu Chang,et al.FreeAnchor:learning to match anchors for visual object detection[C]//Proc of the 33rd International Conference on Neural Information Processing Systems.Red Hook,NY:Curran Associates Inc.,2019:147-155. [5]Zhang Shifeng,Chi Cheng,Yao Yongqiang,et al.Bridging the gap between anchor-based and anchor-free detection via adaptive training sample selection[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2020:9756-9765. [6]王璐璐,陳東方,王曉峰.一種基于錨框質量分布的動態標簽分配策略[J].計算機工程,2023,49(4):85-91,100.(Wang Lulu,Chen Dongfang,Wang Xiaofeng.A dynamic label assignment strategy based on quality distribution of anchor[J].Computer Engineering,2023,49(4):85-91,100.) [7]陳金令,劉鑫,李潔.基于自適應標簽分配的輕量化紅外行人檢測算法[J].中國科技論文,2022,17(11):1216-1222,1229.(Chen Jinling,Liu Xin,Li Jie.Lightweight infrared pedestrian detection algorithm based on self-adaptive label assignment[J].China Science Paper,2022,17(11):1216-1222,1229. [8]Kim K,Lee H S.Probabilistic anchor assignment with IoU prediction for object detection[C]//Proc of European Conference on Computer Vision.Berlin:Springer,2020:355-371. [9]Rezatofighi H,Tsoi N,Gwak J,et al.Generalized intersection over union:a metric and a loss for bounding box regression[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2019:658-666. [10]Ge Zheng,Wang Jianfeng,Huang Xin,et al.LLA:loss-aware label assignment for dense pedestrian detection[J].Neurocomputing,2021,462:272-281. [11]Lin T Y,Maire M,Belongie S,et al.Microsoft COCO:common objects in context[C]//Proc of European Conference on Computer Vision.Berlin:Springer,2014:740-755. [12]Deng Jia,Dong Wei,Socher R,et al.ImageNet:a large-scale hierarchical image database[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2009:248-255. [13]He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al.Deep residual lear-ning for image recognition[C]//Proc of IEEE Conference on Compu-ter Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2016:770-778. 收稿日期:2023-01-12;修回日期:2023-02-20基金項目:國家自然科學基金資助項目(51405360);中央高校基礎研究基金資助項目(WUT:2018III069GX) 作者簡介:莊旭君(1998-),男,廣東惠州人,碩士研究生,主要研究方向為深度學習、目標檢測;左華紅(1975-),男,湖北荊州人,高級工程師,總經理,主要研究方向為圖像處理;韓屏(1980-),男(通信作者),河南安陽人,副教授,碩導,博士,主要研究方向為深度學習、機器視覺(hanping@whut.edu.cn).