
作者 | 李家丞( 同濟大學數學系大學在讀,現格靈深瞳算法部實習生)
近年來,深度學習模型逐漸取代傳統機器視覺方法而成為目标檢測領域的主流算法,本系列文章将回顧早期的經典工作,并對較新的趨勢做一個全景式的介紹,幫助讀者對這一領域建立基本的認識。(營長注:因本文篇幅較長,營長将其分為上、下兩部分。)
導言:目标檢測的任務表述
如何從圖像中解析出可供計算機了解的資訊,是機器視覺的中心問題。深度學習模型由于其強大的表示能力,加之資料量的積累和計算力的進步,成為機器視覺的熱點研究方向。
那麼,如何了解一張圖檔?根據後續任務的需要,有三個主要的層次。
圖像了解的三個層次
一是分類(Classification),即是将圖像結構化為某一類别的資訊,用事先确定好的類别(string)或執行個體ID來描述圖檔。這一任務是最簡單、最基礎的圖像了解任務,也是深度學習模型最先取得突破和實作大規模應用的任務。其中,ImageNet是最權威的評測集,每年的ILSVRC催生了大量的優秀深度網絡結構,為其他任務提供了基礎。在應用領域,人臉、場景的識别等都可以歸為分類任務。
二是檢測(Detection)。分類任務關心整體,給出的是整張圖檔的内容描述,而檢測則關注特定的物體目标,要求同時獲得這一目标的類别資訊和位置資訊。相比分類,檢測給出的是對圖檔前景和背景的了解,我們需要從背景中分離出感興趣的目标,并确定這一目标的描述(類别和位置),因而,檢測模型的輸出是一個清單,清單的每一項使用一個資料組給出檢出目标的類别和位置(常用矩形檢測框的坐标表示)。
三是分割(Segmentation)。分割包括語義分割(semantic segmentation)和執行個體分割(instance segmentation),前者是對前背景分離的拓展,要求分離開具有不同語義的圖像部分,而後者是檢測任務的拓展,要求描述出目标的輪廓(相比檢測框更為精細)。分割是對圖像的像素級描述,它賦予每個像素類别(執行個體)意義,适用于了解要求較高的場景,如無人駕駛中對道路和非道路的分割。
本系列文章關注的領域是目标檢測,即圖像了解的中層次。
▌目标檢測入門(一):目标檢測經典模型回顧
本文結構
兩階段(2-stage)檢測模型
兩階段模型因其對圖檔的兩階段處理得名,也稱為基于區域(Region-based)的方法,我們選取R-CNN系列工作作為這一類型的代表。
R-CNN: R-CNN系列的開山之作
Rich feature hierarchies for accurate object detection and semantic segmentation
論文連結:
https://arxiv.org/abs/1311.2524
本文的兩大貢獻:
1)CNN可用于基于區域的定位和分割物體;
2)監督訓練樣本數緊缺時,在額外的資料上預訓練的模型經過fine-tuning可以取得很好的效果。
第一個貢獻影響了之後幾乎所有2-stage方法,而第二個貢獻中用分類任務(Imagenet)中訓練好的模型作為基網絡,在檢測問題上fine-tuning的做法也在之後的工作中一直沿用。
傳統的計算機視覺方法常用精心設計的手工特征(如SIFT, HOG)描述圖像,而深度學習的方法則倡導習得特征,從圖像分類任務的經驗來看,CNN網絡自動習得的特征取得的效果已經超出了手工設計的特征。本篇在局部區域應用卷積網絡,以發揮卷積網絡學習高品質特征的能力。
R-CNN網絡結構
R-CNN将檢測抽象為兩個過程,一是基于圖檔提出若幹可能包含物體的區域(即圖檔的局部裁剪,被稱為Region Proposal),文中使用的是Selective Search算法;二是在提出的這些區域上運作當時表現最好的分類網絡(AlexNet),得到每個區域内物體的類别。
另外,文章中的兩個做法值得注意。
IoU的計算
一是資料的準備。輸入CNN前,我們需要根據Ground Truth對提出的Region Proposal進行标記,這裡使用的名額是IoU(Intersection over Union,交并比)。IoU計算了兩個區域之交的面積跟它們之并的比,描述了兩個區域的重合程度。
文章中特别提到,IoU門檻值的選擇對結果影響顯著,這裡要談兩個threshold,一個用來識别正樣本(如跟ground truth的IoU大于0.5),另一個用來标記負樣本(即背景類,如IoU小于0.1),而介于兩者之間的則為難例(Hard Negatives),若标為正類,則包含了過多的背景資訊,反之又包含了要檢測物體的特征,因而這些Proposal便被忽略掉。
另一點是位置坐标的回歸(Bounding-Box Regression),這一過程是Region Proposal向Ground Truth調整,實作時加入了log/exp變換來使損失保持在合理的量級上,可以看做一種标準化(Normalization)操作。
小結
R-CNN的想法直接明了,即将檢測任務轉化為區域上的分類任務,是深度學習方法在檢測任務上的試水。模型本身存在的問題也很多,如需要訓練三個不同的模型(proposal, classification, regression)、重複計算過多導緻的性能問題等。盡管如此,這篇論文的很多做法仍然廣泛地影響着檢測任務上的深度模型革命,後續的很多工作也都是針對改進這一工作而展開,此篇可以稱得上"The First Paper"。
Fast R-CNN: 共享卷積運算
Fast R-CNN
論文連結:
https://arxiv.org/abs/1504.08083
文章指出R-CNN耗時的原因是CNN是在每一個Proposal上單獨進行的,沒有共享計算,便提出将基礎網絡在圖檔整體上運作完畢後,再傳入R-CNN子網絡,共享了大部分計算,故有Fast之名。
Fast R-CNN網絡結構
上圖是Fast R-CNN的架構。圖檔經過feature extractor得到feature map, 同時在原圖上運作Selective Search算法并将RoI(Region of Interset,實為坐标組,可與Region Proposal混用)映射到到feature map上,再對每個RoI進行RoI Pooling操作便得到等長的feature vector,将這些得到的feature vector進行正負樣本的整理(保持一定的正負樣本比例),分batch傳入并行的R-CNN子網絡,同時進行分類和回歸,并将兩者的損失統一起來。
RoI Pooling圖示,來源:https://blog.deepsense.ai/region-of-interest-pooling-explained/
RoI Pooling 是對輸入R-CNN子網絡的資料進行準備的關鍵操作。我們得到的區域常常有不同的大小,在映射到feature map上之後,會得到不同大小的特征張量。RoI Pooling先将RoI等分成目标個數的網格,再在每個網格上進行max pooling,就得到等長的RoI feature vector。
文章最後的讨論也有一定的借鑒意義:
- multi-loss traing相比單獨訓練classification确有提升
- multi-scale相比single-scale精度略有提升,但帶來的時間開銷更大。一定程度上說明CNN結構可以内在地學習尺度不變性
- 在更多的資料(VOC)上訓練後,精度是有進一步提升的
- Softmax分類器比"one vs rest"型的SVM表現略好,引入了類間的競争
- 更多的Proposal并不一定帶來精度的提升
小結
Fast R-CNN的這一結構正是檢測任務主流2-stage方法所采用的元結構的雛形。
文章将Proposal, Feature Extractor, Object Classification&Localization統一在一個整體的結構中,并通過共享卷積計算提高特征利用效率,是最有貢獻的地方。
Faster R-CNN: 兩階段模型的深度化
Faster R-CNN: Towards Real Time Object Detection with Region Proposal Networks
論文連結:
https://arxiv.org/abs/1506.01497
Faster R-CNN是2-stage方法的奠基性工作,提出的RPN網絡取代Selective Search算法使得檢測任務可以由神經網絡端到端地完成。粗略的講,Faster R-CNN = RPN + Fast R-CNN,跟RCNN共享卷積計算的特性使得RPN引入的計算量很小,使得Faster R-CNN可以在單個GPU上以5fps的速度運作,而在精度方面達到SOTA(State of the Art,目前最佳)。
本文的主要貢獻是提出Regional Proposal Networks,替代之前的SS算法。RPN網絡将Proposal這一任務模組化為二分類(是否為物體)的問題。
Faster R-CNN網絡結構
第一步是在一個滑動視窗上生成不同大小和長寬比例的anchor box(如上圖右邊部分),取定IoU的門檻值,按Ground Truth标定這些anchor box的正負。于是,傳入RPN網絡的樣本資料被整理為anchor box(坐标)和每個anchor box是否有物體(二分類标簽)。
RPN網絡将每個樣本映射為一個機率值和四個坐标值,機率值反應這個anchor box有物體的機率,四個坐标值用于回歸定義物體的位置。最後将二分類和坐标回歸的損失統一起來,作為RPN網絡的目标訓練。
由RPN得到Region Proposal在根據機率值篩選後經過類似的标記過程,被傳入R-CNN子網絡,進行多分類和坐标回歸,同樣用多任務損失将二者的損失聯合。
小結
Faster R-CNN的成功之處在于用RPN網絡完成了檢測任務的"深度化"。使用滑動視窗生成anchor box的思想也在後來的工作中越來越多地被采用(YOLO v2等)。這項工作奠定了"RPN+RCNN"的兩階段方法元結構,影響了大部分後續工作。
單階段(1-stage)檢測模型
單階段模型沒有中間的區域檢出過程,直接從圖檔獲得預測結果,也被成為Region-free方法。
YOLO
You Only Look Once: Unified, Real-Time Object Detection
論文連結:
https://arxiv.org/abs/1506.02640
YOLO是單階段方法的開山之作。它将檢測任務表述成一個統一的、端到端的回歸問題,并且以隻處理一次圖檔同時得到位置和分類而得名。
YOLO的主要優點:
- 快。
- 全局處理使得背景錯誤相對少,相比基于局部(區域)的方法, 如Fast RCNN。
- 泛化性能好,在藝術作品上做檢測時,YOLO表現比Fast R-CNN好。
YOLO網絡結構
YOLO的工作流程如下:
1.準備資料:将圖檔縮放,劃分為等分的網格,每個網格按跟Ground Truth的IoU配置設定到所要預測的樣本。
2.卷積網絡:由GoogLeNet更改而來,每個網格對每個類别預測一個條件機率值,并在網格基礎上生成B個box,每個box預測五個回歸值,四個表征位置,第五個表征這個box含有物體(注意不是某一類物體)的機率和位置的準确程度(由IoU表示)。測試時,分數如下計算:
等式左邊第一項由網格預測,後兩項由每個box預測,以條件機率的方式得到每個box含有不同類别物體的分數。 因而,卷積網絡共輸出的預測值個數為S×S×(B×5+C),其中S為網格數,B為每個網格生成box個數,C為類别數。
3.後處理:使用NMS(Non-Maximum Suppression,非極大抑制)過濾得到最後的預測框
損失函數的設計
YOLO的損失函數分解,來源:https://zhuanlan.zhihu.com/p/24916786
損失函數被分為三部分:坐标誤差、物體誤差、類别誤差。為了平衡類别不均衡和大小物體等帶來的影響,損失函數中添加了權重并将長寬取根号。
小結
YOLO提出了單階段的新思路,相比兩階段方法,其速度優勢明顯,實時的特性令人印象深刻。但YOLO本身也存在一些問題,如劃分網格較為粗糙,每個網格生成的box個數等限制了對小尺度物體和相近物體的檢測。
SSD: Single Shot Multibox Detector
SSD: Single Shot Multibox Detector
論文連結:
https://arxiv.org/abs/1512.02325
SSD網絡結構
SSD相比YOLO有以下突出的特點:
- 多尺度的feature map:基于VGG的不同卷積段,輸出feature map到回歸器中。這一點試圖提升小物體的檢測精度。
- 更多的anchor box,每個網格點生成不同大小和長寬比例的box,并将類别預測機率基于box預測(YOLO是在網格上),得到的輸出值個數為(C+4)×k×m×n,其中C為類别數,k為box個數,m×n為feature map的大小。
小結
SSD是單階段模型早期的集大成者,達到跟接近兩階段模型精度的同時,擁有比兩階段模型快一個數量級的速度。後續的單階段模型工作大多基于SSD改進展開。
檢測模型基本特點
最後,我們對檢測模型的基本特征做一個簡單的歸納。
兩階段檢測模型Pipeline,來源:https://tryolabs.com/blog/2018/01/18/faster-r-cnn-down-the-rabbit-hole-of-modern-object-detection/
檢測模型整體上由基礎網絡(Backbone Network)和檢測頭部(Detection Head)構成。前者作為特征提取器,給出圖像不同大小、不同抽象層次的表示;後者則依據這些表示和監督資訊學習類别和位置關聯。檢測頭部負責的類别預測和位置回歸兩個任務常常是并行進行的,構成多任務的損失進行聯合訓練。
檢測模型頭部并行的分支,來源同上
相比單階段,兩階段檢測模型通常含有一個串行的頭部結構,即完成前背景分類和回歸後,把中間結果作為RCNN頭部的輸入再進行一次多分類和位置回歸。這種設計帶來了一些優點:
- 對檢測任務的解構,先進行前背景的分類,再進行物體的分類,這種解構使得監督資訊在不同階段對網絡參數的學習進行指導
- RPN網絡為RCNN網絡提供良好的先驗,并有機會整理樣本的比例,減輕RCNN網絡的學習負擔
這種設計的缺點也很明顯:中間結果常常帶來空間開銷,而串行的方式也使得推斷速度無法跟單階段相比;級聯的位置回歸則會導緻RCNN部分的重複計算(如兩個RoI有重疊)。
另一方面,單階段模型隻有一次類别預測和位置回歸,卷積運算的共享程度更高,擁有更快的速度和更小的記憶體占用。讀者将會在接下來的文章中看到,兩種類型的模型也在互相吸收彼此的優點,這也使得兩者的界限更為模糊。
▌目标檢測入門(二):模型的評測與訓練技巧
文章結構
檢測模型的評測名額
目标檢測模型本源上可以用統計推斷的架構描述,我們關注其犯第一類錯誤和第二類錯誤的機率,通常用準确率和召回率來描述。準确率描述了模型有多準,即在預測為正例的結果中,有多少是真正例;召回率則描述了模型有多全,即在為真的樣本中,有多少被我們的模型預測為正例。不同的任務,對兩類錯誤有不同的偏好,常常在某一類錯誤不多于一定門檻值的情況下,努力減少另一類錯誤。在檢測中,mAP(mean Average Precision)作為一個統一的名額将這兩種錯誤兼顧考慮。
具體地,對于每張圖檔,檢測模型輸出多個預測框(常常遠超真實框的個數),我們使用IoU(Intersection Over Union,交并比)來标記預測框是否為預測正确。标記完成後,随着預測框的增多,召回率總會提升,在不同的召回率水準下對準确率做平均,即得到AP,最後再對所有類别按其所占比例做平均,即得到mAP。
在較早的Pascal VOC資料集上,常采用固定的一個IoU門檻值(如0.5, 0.75)來計算mAP,現階段較為權威的MS COCO資料集上,對不同的IoU門檻值(0.5-0.95,0.05為步長)分别計算AP,再綜合平均,并且給出了不同大小物體分别的AP表現,對定位準确的模型給予獎勵并全面地展現不同大小物體上檢測算法的性能,更為科學合理。
在實踐中,我們不僅關注檢測模型的精度,還關注其運作的速度,常常用FPS(Frame Per Second,每秒幀率)來表示檢測模型能夠在指定硬體上每秒處理圖檔的張數。通常來講,在單塊GPU上,兩階段方法的FPS一般在個位數,而單階段方法可以達到數十。現在檢測模型運作的平台并不統一,實踐中也不能部署較為昂貴的GPU進行推斷。事實上,很多文章并沒有嚴謹讨論其提出模型的速度表現(加了較多的trick以使精度達到SOTA),另外,考慮到目前移動端專用晶片的發展速度和研究進展,速度方面的名額可能較難形成統一的參考标準,需要謹慎看待文章中彙報的測試結果。
标準評測資料集
Pascal VOC(Pascal Visual Object Classes)
連結:http://host.robots.ox.ac.uk/pascal/VOC/
自2005年起每年舉辦一次比賽,最開始隻有4類,到2007年擴充為20個類,共有兩個常用的版本:2007和2012。學術界常用5k的trainval2007和16k的trainval2012作為訓練集(07+12),test2007作為測試集,用10k的trainval2007+test2007和和16k的trainval2012作為訓練集(07++12),test2012作為測試集,分别彙報結果。
Pascal VOC對早期檢測工作起到了重要的推動作用,目前提升的空間相對有限,權威評測集的交接棒也逐漸傳給了下面要介紹的COCO。
MS COCO(Common Objects in COntext-http://cocodataset.org)
檢測任務在COCO資料集上的進展
COCO資料集收集了大量包含常見物體的日常場景圖檔,并提供像素級的執行個體标注以更精确地評估檢測和分割算法的效果,緻力于推動場景了解的研究進展。依托這一資料集,每年舉辦一次比賽,現已涵蓋檢測、分割、關鍵點識别、注釋等機器視覺的中心任務,是繼ImageNet Chanllenge以來最有影響力的學術競賽之一。
iconic與non-iconic圖檔對比
相比ImageNet,COCO更加偏好目标與其場景共同出現的圖檔,即non-iconic images。這樣的圖檔能夠反映視覺上的語義,更符合圖像了解的任務要求。而相對的iconic images則更适合淺語義的圖像分類等任務。
COCO的檢測任務共含有80個類,在2014年釋出的資料規模分train/val/test分别為80k/40k/40k,學術界較為通用的劃分是使用train和35k的val子集作為訓練集(trainval35k),使用剩餘的val作為測試集(minival),同時向官方的evaluation server送出結果(test-dev)。除此之外,COCO官方也保留一部分test資料作為比賽的評測集。
COCO資料集分布
在分布方面,COCO的每個類含有更多執行個體,分布也較為均衡(上圖a),每張圖檔包含更多類和更多的執行個體(上圖b和c,均為直方圖,每張圖檔平均分别含3.3個類和7.7個執行個體),相比Pascal VOC,COCO還含有更多的小物體(下圖,橫軸是物體占圖檔的比例)。
COCO資料集物體大小分布
如本文第一節所述,COCO提供的評測标準更為精細化,提供的API不僅包含了可視化、評測資料的功能,還有對模型的錯誤來源分析腳本,能夠更清晰地展現算法的不足之處。COCO所建立的這些标準也逐漸被學術界認可,成為通用的評測标準。您可以在這裡找到目前檢測任務的LeaderBoard。
錯誤來源分解,詳見http://cocodataset.org/#detections-eval
Cityscapes(https://www.cityscapes-dataset.com)
Cityscapes資料示例
Cityscapes資料集專注于現代城市道路場景的了解,提供了30個類的像素級标注,是自動駕駛方向較為權威的評測集。
檢測模型中的Bells and wisthles
本節介紹常見的提升檢測模型性能的技巧,它們常作為trick在比賽中應用。其實,這樣的名稱有失公允,部分工作反映了作者對檢測模型有啟發意義的觀察,有些具有成為檢測模型标準元件的潛力(如果在早期的工作中即被應用則可能成為通用做法)。讀者将它們都看作學術界對解決這一問題的努力即可。對研究者,誠實地報告所引用的其他工作并添加有說服力的消融實驗(ablation expriments)以支撐自己工作的原創性和貢獻之處,則是值得倡導的行為。
Data augmentation 資料增強
資料增強是增加深度模型魯棒性和泛化性能的常用手段,随機翻轉、随機裁剪、添加噪聲等也被引入到檢測任務的訓練中來,其信念是通過資料的一般性來迫使模型學習到諸如對稱不變性、旋轉不變性等更一般的表示。通常需要注意标注的相應變換,并且會大幅增加訓練的時間。個人認為資料(監督資訊)的适時傳入可能是更有潛力的方向。
Multi-scale Training/Testing 多尺度訓練/測試
輸入圖檔的尺寸對檢測模型的性能影響相當明顯,事實上,多尺度是提升精度最明顯的技巧之一。在基礎網絡部分常常會生成比原圖小數十倍的特征圖,導緻小物體的特征描述不容易被檢測網絡捕捉。通過輸入更大、更多尺寸的圖檔進行訓練,能夠在一定程度上提高檢測模型對物體大小的魯棒性,僅在測試階段引入多尺度,也可享受大尺寸和多尺寸帶來的增益。
multi-scale training/testing最早見于[1],訓練時,預先定義幾個固定的尺度,每個epoch随機選擇一個尺度進行訓練。測試時,生成幾個不同尺度的feature map,對每個Region Proposal,在不同的feature map上也有不同的尺度,我們選擇最接近某一固定尺寸(即檢測頭部的輸入尺寸)的Region Proposal作為後續的輸入。在[2]中,選擇單一尺度的方式被Maxout(element-wise max,逐元素取最大)取代:随機選兩個相鄰尺度,經過Pooling後使用Maxout進行合并,如下圖所示。
使用Maxout合并feature vector
近期的工作如FPN等已經嘗試在不同尺度的特征圖上進行檢測,但多尺度訓練/測試仍作為一種提升性能的有效技巧被應用在MS COCO等比賽中。
Global Context 全局語境
這一技巧在ResNet的工作[3]中提出,做法是把整張圖檔作為一個RoI,對其進行RoI Pooling并将得到的feature vector拼接于每個RoI的feature vector上,作為一種輔助資訊傳入之後的R-CNN子網絡。目前,也有把相鄰尺度上的RoI互相作為context共同傳入的做法。
Box Refinement/Voting 預測框微調/投票法
微調法和投票法由工作[4]提出,前者也被稱為Iterative Localization。微調法最初是在SS算法得到的Region Proposal基礎上用檢測頭部進行多次疊代得到一系列box,在ResNet的工作中,作者将輸入R-CNN子網絡的Region Proposal和R-CNN子網絡得到的預測框共同進行NMS(見下面小節)後處理,最後,把跟NMS篩選所得預測框的IoU超過一定門檻值的預測框進行按其分數權重的平均,得到最後的預測結果。投票法可以了解為以頂尖篩選出一流,再用一流的結果進行權重投票決策。
OHEM 線上難例挖掘
OHEM(Online Hard negative Example Mining,線上難例挖掘)見于[5]。兩階段檢測模型中,提出的RoI Proposal在輸入R-CNN子網絡前,我們有機會對正負樣本(背景類和前景類)的比例進行調整。通常,背景類的RoI Proposal個數要遠遠多于前景類,Fast R-CNN的處理方式是随機對兩種樣本進行上采樣和下采樣,以使每一batch的正負樣本比例保持在1:3,這一做法緩解了類别比例不均衡的問題,是兩階段方法相比單階段方法具有優勢的地方,也被後來的大多數工作沿用。
OHEM圖解
但在OHEM的工作中,作者提出用R-CNN子網絡對RoI Proposal預測的分數來決定每個batch選用的樣本,這樣,輸入R-CNN子網絡的RoI Proposal總為其表現不好的樣本,提高了監督學習的效率。實際操作中,維護兩個完全相同的R-CNN子網絡,其中一個隻進行前向傳播來為RoI Proposal的選擇提供指導,另一個則為正常的R-CNN,參與損失的計算并更新權重,并且将權重複制到前者以使兩個分支權重同步。
OHEM以額外的R-CNN子網絡的開銷來改善RoI Proposal的品質,更有效地利用資料的監督資訊,成為兩階段模型提升性能的常用部件之一。
Soft NMS 軟化非極大抑制
NMS後處理圖示
NMS(Non-Maximum Suppression,非極大抑制)是檢測模型的标準後處理操作,用于去除重合度(IoU)較高的預測框,隻保留預測分數最高的預測框作為檢測輸出。Soft NMS由[6]提出。在傳統的NMS中,跟最高預測分數預測框重合度超出一定門檻值的預測框會被直接舍棄,作者認為這樣不利于相鄰物體的檢測。提出的改進方法是根據IoU将預測框的預測分數進行懲罰,最後再按分數過濾。配合Deformable Convnets(将在之後的文章介紹),Soft NMS在MS COCO上取得了當時最佳的表現。算法改進如下:
Soft-NMS算法改進
上圖中的f即為軟化函數,通常取線性或高斯函數,後者效果稍好一些。當然,在享受這一增益的同時,Soft-NMS也引入了一些超參,對不同的資料集需要試探以确定最佳配置。
RoIAlign RoI對齊
RoIAlign是Mask R-CNN([7])的工作中提出的,針對的問題是RoI在進行Pooling時有不同程度的取整,這影響了執行個體分割中mask損失的計算。文章采用雙線性插值的方法将RoI的表示精細化,并帶來了較為明顯的性能提升。這一技巧也被後來的一些工作(如light-head R-CNN)沿用。
拾遺
除去上面所列的技巧外,還有一些做法也值得注意:
- 更好的先驗(YOLOv2):使用聚類方法統計資料中box标注的大小和長寬比,以更好的設定anchor box的生成配置
- 更好的pre-train模型:檢測模型的基礎網絡通常使用ImageNet(通常是ImageNet-1k)上訓練好的模型進行初始化,使用更大的資料集(ImageNet-5k)預訓練基礎網絡對精度的提升亦有幫助
- 超參數的調整:部分工作也發現如NMS中IoU門檻值的調整(從0.3到0.5)也有利于精度的提升,但這一方面尚無最佳配置參照
最後,內建(Ensemble)作為通用的手段也被應用在比賽中。
總結
本篇文章裡,我們介紹了檢測模型常用的标準評測資料集和訓練模型的技巧,上述内容在溯源和表述方面的不實之處也請讀者評論指出。從下一篇開始,我們将介紹檢測領域較新的趨勢,請持續關注。