只是因為在人羣中多看了你一眼,再也沒能忘掉你容顏丨智言智語_風聞
中科院之声-中国科学院官方账号-2021-05-09 08:37
編者按: 智顯未來,洞見新知。中科院之聲與中國科學院自動化研究所聯合開設“智言智語”科普專欄,為你介紹人工智能相關知識與故事,從最新成果到背後趣聞,帶你徜徉AI空間,看人工智能如何喚醒萬物,讓世界變得更美好 。
近日,中科院自動化所圖像與視頻分析組針對大規模長尾目標檢測任務提出了一種新穎的動態類別抑制(Adaptive Class Suppression Loss,簡寫為ACSL)方法,通過我們的大規模多級多卡分佈式訓練框架LargeDet來進行模型訓練,徹底擺脱了對於數據集類別分佈的依賴,無需顯示劃分頭部類別和尾部類別,有效避免了人為分組帶來的訓練不一致和訓練不充分的問題,真正實現數據集無縫地遷移,而不需要進行數據集的統計分佈以及超參數調整,同時性能上取得了顯著提升。ACSL在經典的長尾目標檢測數據集LVIS上取得了顯著的性能提升 (+5.18% mAP),檢測器在尾部類別的精度 (+14.34% APr)。此外,在大規模檢測數據集Open Images上也取得了大幅度的性能提升 (+5.2% AP),並且支持多標籤學習以及類別嵌套學習。
什麼是長尾分佈?
在目標檢測識別任務中,隨着類別數目的不斷增加,類別的長尾分佈是大規模數據集中普遍存在的一個問題,在現實世界中,不同類別的物體出現的頻率也有很大的差別。
一般頭部類別通常包含數十萬甚至上百萬個訓練樣本,而尾部類別只包含數個至數十個訓練樣本。如在日常生活中不同類別的物體出現的頻率相差極大:既包括日常生活中常見的貓、狗、汽車,也包括難得一見的東北虎和大熊貓。
這種現象反映到數據集上就是各個類別呈現一個長尾分佈的態勢,極少數的類別擁有大量的訓練樣本(頭部類別),但是大量的類別樣本數卻非常的稀少(尾部類別)。隨着數據集規模的擴大,類別數的增多,長尾分佈的問題也就愈發地明顯。
Open Images是現存最大的目標檢測數據集,總共包含170萬張圖片和600個類別。該數據集面臨着嚴重的長尾分佈問題,比如其頭部類別“樹木”包含多達29萬張訓練圖像,但是尾部類別 “炸彈”僅僅包含6張訓練圖像,它們之間的圖片數量相差48333倍之多。面對嚴重的長尾分佈問題,神經網絡在訓練過程中會被頭部類別所主導,尾部類別由於缺少訓練樣本,精度往往非常差,導致整體精度的下降。
圖1. LVIS數據集各類別的樣本數量分佈示意圖。x軸表示按照圖片數量降序排序過後的類別標號,y軸表示類別對應的圖片數量
長尾分佈的應對方法
現有經典的解決長尾問題的方法(比如EQL和BAGS)主要通過類別分組的方式來解決。他們首先統計各個類別的樣本數量,並且將樣本數量相近的類別分到同一組中。在訓練過程中,由於頭部類別和尾部類別被分到了不同的組別,頭部類別並不直接對尾部類別產生抑制,從而保護了尾部類別的充分學習。
但是這些分組的方法存在兩個弊端:
(1)在分組邊界兩端的類別訓練不一致。
(2)網絡對於不同組之間的易混淆的類別缺乏判別力。
除此之外,分組方法依賴於具體數據集的類別分佈先驗。當應用於不同的數據集時,此類方法需要重新對數據集的類別分佈進行統計,並且需要進行實驗調參來確定最優的分組策略,從而限制了此類方法的通用性和可遷移性。
動態類別抑制損失
結合上述分析,我們認為對於長尾數據集來説,一個通用有效的方法應該具有如下的性質:
不依賴於具體數據集的類別分佈,可以自適應地對所有類別進行充分學習,從而避免訓練不一致及遷移性差的問題;
樣本數量少的類別在訓練過程中應該得到保護,以避免被大量的頭部樣本進行過度地抑制。同時,相似類別之間的梯度抑制應該保留,以保證網絡的判別性學習。
基於上面的兩個原則,團隊設計了一種新型動態類別抑制損失ACSL,無需統計各個類別的樣本數量,將所有類別均視為尾部類別,依據網絡對每個類別每個樣本的學習狀態動態地產生抑制梯度。ACSL的設計源於如下的設計思路:屬於某個類別的樣本會默認地對其他類別產生抑制梯度使其輸出較低的得分。對於屬於類別A的樣本,如果網絡已經能夠很好地區分類別A和類別B,那該樣本無需對類別B產生抑制梯度,以避免類別B接收到過度的抑制梯度。如果網絡在類別A和B之間產生混淆,我們便需要施加對類別B的抑制梯度以維持網絡的判別力。
對於長尾分佈數據集,由於頭部類別樣本會對尾部類別產生過量的抑制,導致尾部類別精度差。我們因此設計了一個動態類別抑制損失ACSL來保護尾部類別的學習,並且不破壞網絡對易混淆類別的判別性。如式(1)所示,ACSL在每類損失項的前面乘了一個二值的權重項。對於類別k對應的權重,由於當前樣本屬於類別k,所以將其值設為1。對於其他類別i≠k,如果其輸出屬於第i類的概率大於一個固定的閾值ξ,説明對於該樣本來説,網絡很容易將類別i和類別k混淆,因此需要保留該樣本對類別i的抑制梯度來保證網絡對類別i和k的判別性。換句話説,此時要設置為1。當小於固定的閾值ξ時,説明網絡已經能夠很好地區分類別i和類別k了,為了避免對尾部類別產生過多的抑制,被設置為0。上述過程的公式化表述如式(2)所示。ACSL對的導數如式(3)所示。
為了更好地理解動態類別抑制損失,我們結合圖2對比了對動態類別抑制損失和二值交叉熵損失的區別。圖2表示二值交叉熵損失和ACSL對同一個樣本的處理方式。該樣本屬於A類別,對於二值交叉熵損失來説,每個類別的損失的權重項均設置為1。對於ACSL來説,由於網絡在A類別和D類別上都有比較高的得分,説明網絡容易對這兩個類別產生混淆,所以要保留對類別D的抑制梯度,其權重設置為1。對於類別B,C,E來説,網絡產生的得分較低,所以將其對應的權重設置為0,可以避免對尾部類別產生過度的抑制作用,保護尾部類別的精度。
圖2. 二值交叉熵損失和動態類別抑制損失示意圖。
實驗驗證
我們在經典的長尾目標檢測數據集LVIS(v0.5)來探究ACSL的有效性。我們採用了ResNet50-FPN檢測器進行實驗。除了最後分類的損失函數外,其他的結構均保持一致。如表1所示,ACSL可以大幅度提高檢測器的性能。當ξ等於0.7時,檢測器的精度為26.36%,超過2倍訓練策略的baseline 4.08%。同時,我們也發現,ACSL帶來的精度提升主要來自於rare類別和common類別,説明我們的方法對尾部類別具有明顯的優勢。
表1. LVIS數據集下的消融實驗
為了驗證ACSL的泛化性能,我們同時在大網絡ResNet101、ResNeXt101以及強檢測器Cascade RCNN上進行了實驗。從表2中可以看出,ACSL在大網絡和強檢測器上均有穩定的性能提升,特別是在和
上。
表2. ACSL在不同網絡以及檢測框架上的性能
為了探究ACSL的通用性,我們在大規模長尾數據集Open Images上也進行了實驗驗證。由於Open Images數據集具有170萬訓練數,因此這裏利用了我們ECCV2020提出的大batchsize分佈式訓練框架LargeDet來加速訓練。在此基礎上,ACSL同樣也帶來了5%以上的精度提升,將ResNet50-FPN在Open Images上的精度提升到了60.3% 。如表3所示,ACSL在不同的主幹網絡下均能取得顯著的性能提升。
表3. ACSL在Open Images數據集上的實驗結果
此外,我們對比了ACSL和baseline在一些尾部類別上的精度,如表4所示,發現ACSL可以極大地提高尾部類別的性能,在類別“Face powder”甚至可以取得 (+63.1 %AP)的絕對精度提升。
表4. Open Images數據集上尾部類別精度提升對比
典型應用
中科院自動化所圖像與視頻分析課題組多年來深入研究計算機視覺技術及其落地應用,尤其在目標檢測與識別、大規模分佈式優化方法、模型壓縮與剪枝等方面積累了豐富的研究經驗,展開了一系列有特色的實踐。
基於本文提出的長尾分佈動態抑制算法,課題組開發了手機端多物體圖像檢測技術,在面對百萬甚至千萬級大規模數據的情況下,顯著改善模型對少樣本的精度,並支持常見的1000餘種物體的檢測與識別,支持模型的多標籤學習與類別嵌套識別,如可以同時識別人、男人、女人、小孩、老人等。此外,通過模型的動態壓縮剪枝技術,成功將模型參數量壓縮80%,精度下降保持在1%以內,並在搭載Kirin820、Kirin985、Kirin990的華為手機端進行了部署,可應用於拍照識別、智能相冊、智能搜圖以及電子商務等場景。
圖3. 手機端應用示意圖
課題組研發的大規模精細目標檢測與識別算法用於大規模商品檢測和識別上,目前支持10000種以上商品的自動識別,120多種食品識別,200多種捲煙識別,識別精度達90%以上。目前該技術已在智能貨物盤點、無人零售櫃、智能冰箱以及捲煙零售中廣泛應用,為工業企業的營銷工作提供多維度的數據支撐,極大提高了終端評價與管理效率。
圖4. 捲煙零售終端智能分析評價系統示意圖
圖5. 大規模商品識別系統
課題組研發的智慧交通車紋大數據平台,支持對15種車輛類型、400種車輛品牌、20000餘種車年款的精細識別。平台具備人車檔案、車紋查詢、特殊車輛監管、布控管理、車輛違規、軌跡分析等功能,是集道路交通狀態監測、危險駕駛行為報警、違章車輛檢測、嫌疑車輛目標稽查、布控、跟蹤與抓捕等功能於一體的綜合交通管理平台。通過接入公安交通集成指揮平台,相關技術已應用於江蘇、河南、河北、廣東、四川、陝西等 20 多個省,目前共計抓拍不繫安全帶/打電話等違章行為十幾萬起,協助各地交警實時攔截、查處無牌/假牌/套牌等各類涉牌違法機動車460多輛/天。
圖6. 車輛特徵多維度感知與精細識別
圖7. 智慧交通車紋大數據平台
論文標題:Tong Wang, Yousong Zhu, Chaoyang Zhao, Wei Zeng, Jinqiao Wang and Ming Tang. Adaptive Class Suppression Loss for Long-Tail Object Detection.
論文鏈接:https://arxiv.org/abs/2104.00885
Github代碼:https://github.com/CASIA-IVA-Lab/ACSL
參考文獻:
1. Jingru Tan, Changbao Wang, Buyu Li, Quanquan Li, Wanli Ouyang, Changqing Yin, and Junjie Yan. Equalization loss for long-tailed object recognition. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2020
2. Yu Li, Tao Wang, Bingyi Kang, Sheng Tang, Chunfeng Wang, Jintao Li, and Jiashi Feng. Overcoming classifier imbalance for long-tail object detection with balanced group softmax. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2020
3. Tong Wang, Yousong Zhu, Chaoyang Zhao, Wei Zeng, Yaowei Wang, Jinqiao Wang, and Ming Tang. Large Batch Optimization for Object Detection: Training COCO in 12minutes. In European Conference on Computer Vision (ECCV), August 2020
來源:中國科學院自動化研究所