1. 程式人生 > 實用技巧 >ECCV 2020 大規模例項分割挑戰賽(LVIS Challenge)冠軍方案

ECCV 2020 大規模例項分割挑戰賽(LVIS Challenge)冠軍方案

本文介紹 ECCV 2020 大規模例項分割挑戰賽(LVIS Challenge)冠軍方案,來自冠軍團隊 lvisTraveler 官方釋出的報告:1st Place Solution of LVIS Challenge 2020: A Good Box is not a Guarantee of a Good Mask。

作者來自同濟大學、清華大學、商湯科技。

該報告很短,除實驗部分和參考文獻後只有三頁,但很具有啟發性。

因為是演算法比賽,所以該報告的重點是針對資料集提出問題,設計方案。儘管是針對資料設計演算法,但因為該資料集很大,所以所提出的方案也具有普遍的參考價值。

LVIS Challenge 的特點:資料集很大,類別多(1200+類別),各類別分佈不平衡長尾效應明顯,另外mask標註很精細(超過200萬個高質量例項分割標註)。

作者使用的演算法基線:Mask-RCNN + HTC。

瞭解演算法原理和開源實現請點選這裡:例項分割的進階三級跳:從 Mask R-CNN 到 Hybrid Task Cascade

訓練策略:

採用兩階段的策略,先進行表示學習,後進行微調。

1)表示學習階段:

1.1)使用了Equalization Loss (EQL)抑制出現次數過多和過少的類別;

1.2)使用了 Repeat Factor Sampling 樣本取樣技術;

1.3)資料增廣中使用了Mosaic , 旋轉和尺度擾動;

1.4)特別值得一提的是作者使用的自訓練(Self-training)方法,主要包括兩個部分:

1.4.1)作者將訓練的模型在 LVIS v1.0資料集上推斷得到物體包圍框,即偽標籤,對那些與訓練集中ground truth 沒有重合的偽標籤目標在訓練時採取忽略的做法,防止資料標註遺漏而將真實目標作為背景來訓練了。

1.4.2)另外作者也將訓練的模型在Open Image資料集上進行了推斷,將得到的偽標籤資料的一部分(每個epoch 1萬幅影象)與LVIS v1.0資料集一起作為訓練資料,為了控制其對結果的影響,對此部分損失進行了加權。

可見,作者在這部分主要是為了應對資料集類別不平衡、資料清洗和擴增資料。

2)微調階段

2.1)分類器平衡(Classifier Balance),作者在表示學習部分結束後,凍結網路的 backbone, neck 與 RPN,使用Balanced GroupSoftmax進行分類器平衡;

2.2)Mask候選分配策略(Mask Proposal Assignment),作者們發現LVIS v1.0 含有的眾多類別中有很多物體的mask與包圍框的面積之比很小,很顯然這多見於那些“細、長、瘦”的類別,他們包圍框很大,mask佔畫素卻不多(這也是論文標題中 “A Good Box is not a Guarantee of a Good Mask”的由來),其實應該使用精細的特徵作為mask特徵,所以不能僅根據尺度來確定分配FPN中那一層的特徵。

於是,作者發明了一種考慮包圍框尺度、mask面積的mask特徵分配方法

(具體細節不再細述,請檢視原論文)。

2.3)平衡的mask損失函式(Balanced Mask Loss),基於上述觀察,對於“細、長、瘦”的類別的例項,造成了前後景的不平衡,於是作者設計了考慮前後景平衡的mask損失函式。

其中兩部分分別代表dice loss 和weighted binary cross-entropy loss。

基於上述方案,作者最終獲得了LVIS比賽的第一名。

從資料集中發現問題,採取針對性策略很重要!

另外,特別值得一提的是,文中提及的“A Good Box is not a Guarantee of a Good Mask”也為例項分割打開了新眼界,歡迎感興趣的同學繼續研究,提出更好的策略。

論文地址:

https://arxiv.org/abs/2009.01559

請長按或掃描二維碼關注本公眾號

喜歡的話,請給我個在看吧