一、模型框架
FCOS采用的網絡架構和RetinaNet一樣,都是采用FPN架構,如圖2所示,每個特征圖后是檢測器,檢測器包含3個分支:classification,regression和center-ness。
對于特征圖Fi∈RH×W×C,其相對于輸入圖片的stride定義為s,另外記GT為Bi,這里Bi={x0(i),y0(i),x1(i),y1(i),c(i)},其中(x0(i),y0(i))和(x1(i),y1(i))分別是GT的左上角和右下角頂點坐標,而c(i)是GT的類別。對于特征圖上的每個位置(x,y),如果其落在任何GT的中心區域,就認為這個位置為正樣本,并負責預測這個GT。在最早的版本是落在GT之內就算正樣本,不過采用中心區域策略效果更好(?yqyao/FCOS_PLUS),兩者的區別如下圖所示。一個中心為(cx,cy)的GT,其中心區域定義為GT框的一個子框(cx?rs,cy?rs,cx+rs,cy+rs),這里s是特征圖的stride,而r是一個超參數,論文中選用的是1.5,一個要注意的點是在實現中要保證中心區域不超過GT。盡管采用中心區域抽樣方法,可以減少前面說的沖突問題,但是無法保證,如果一個位置落在了多個GT的中心區域,此時就是模糊樣本。FCOS采用的一個策略是選擇面積最小的GT作為target,后面會談到結合FPN,FCOS可以大大減少模糊樣本的出現。