最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

物體檢測的過去、現(xiàn)在和未來

2020-08-18 18:59 作者:深藍學院  | 我要投稿

本報告分為4個部分,物體檢測的簡介、物體檢測的過去、現(xiàn)在以及未來,每個部分都從學術和工業(yè)兩種角度進行分析介紹。

2013年之前檢測方法大多以傳統(tǒng)方法為主,特征提取加分類器是那些年檢測的重心所在,2013年至2016年是檢測的飛速發(fā)展階段,多種神經(jīng)網(wǎng)絡結(jié)構(gòu)的問世大大改變了檢測算法的格局。

2020年開始,新方向的引出,使得深度學習研究者燃起了新的希望,那么,在未來多少年內(nèi)可以真正解決檢測問題(How far from solving)呢,是當下眾多學者所關心的問題。從工業(yè)界領域來看,算法的實用性仍有不足,比如自動駕駛中檢測的結(jié)果存在不穩(wěn)定的抖動,遮擋嚴重的場景下檢測效果不佳等。

01 物體檢測的簡介

視覺識別(Visual Recognition)是計算機視覺領域最核心的一環(huán),物體檢測(Object Detection)是其中一個子類。從視覺識別的角度來說,有很多種不同的表現(xiàn)形式,最簡單的方式是bounding-box,這就是本報告所講的檢測任務,還有point的形式(即分割任務)以及key-point形式(即關鍵點檢測任務)。

物體檢測算法的評估標準常用AP(Average Precision)作為評價指標,AP會定義precision和recall兩個指標。Precision是指檢測結(jié)果的正確率,recall是指檢測的召回率。

每個檢測算法都可調(diào)整輸出與groud truth之間匹配的IoU閾值,減小閾值,可以得到更高的recall,但同時precision也會有所下降,以recall為橫軸,precision為縱軸可以畫出一條曲線,AP就相當于對這條曲線求積分。

2014年,COCO數(shù)據(jù)集引入后,在原來的基礎上提出新的評價標準mmAP,這個評價標準是先對所有類別的AP取平均得到mAP,然后再求0.5~0.95不同IoU閾值(step為0.05)下的mAP的均值得到最終mmAP。

02 物體檢測的過去

在深度學習之前,傳統(tǒng)方法主要分為特征提取和分類器設計兩個階段。具體操作為用滑動窗(sliding window)遍歷整張圖像,并對窗內(nèi)的圖像提取特征,再進行分類器檢測。

然而,滑動窗算法會有兩大瓶頸:(1)由于要對每一個滑動窗口進行計算,整體計算量很大;(2)求解每個滑動窗時,可能會造成context信息(上下文信息或者全局信息)丟失。

特征提取階段常用的方法有Haar、HOG、LBP、ACF等算子,常用的分類器有SVM、Boosting、Random Forest等。

傳統(tǒng)方法的特征和分類器之間的關聯(lián)較為微弱,但在深度學習中二者之間的聯(lián)系更為緊密。一個卷積神經(jīng)網(wǎng)絡本身就具備特征提取能力,同時也具備分類的能力,因此深度學習很好的將特征和分類器整合在一起發(fā)揮更大的價值。

傳統(tǒng)方法的特征是人工設計的,并且層次較淺,而深度學習網(wǎng)絡的特征相對就更深一些,因此相對深度學習方法,傳統(tǒng)方法的特征表達能力較為受限。但是,傳統(tǒng)方法的一個好處在于層次簡單因而方便調(diào)試(算法的可解釋性較好)。

以下圖的行人檢測為例,從圖像提取HOG特征,再把位置點乘上去,就可以得到很像人形的圖片,可解釋并且方便研究人員調(diào)試。

總結(jié)來看,深度學習之前的傳統(tǒng)檢測方法優(yōu)缺點如下:

優(yōu)點

1. 在CPU上較為有效;

2. 易于調(diào)試,可解釋性強;

3. 適用于數(shù)據(jù)量較少的情況。

缺點

1. 在大數(shù)據(jù)集上的表現(xiàn)性能較為局限;

2. 難以利用GPU來進行并行加速。

2013年-2014年是基于深度學習的物體檢測飛速發(fā)展的階段,主要分成兩類:一種是one stage,代表作有Densebox、YOLO、SSD以及RetinaNet等,另一種是two stage,代表作有RCNN系列、RFCN、FPN、MaskRCNN等。

One Stage和Two Stage的不同是,One Stage是給定一張圖,直接分類回歸,Two Stage是給定一張圖,先提出一系列proposal(非背景區(qū)域),然后再在proposal上進行分類回歸(對非背景區(qū)域進行更細化的檢測)。?

One?Stage(單階段法)

以Densebox算法為例,它的pipeline較為簡單,圖像經(jīng)過CNN網(wǎng)絡,在最后的feature map上的每個點直接生成一個框,然后進行回歸。該方法在目標框有重疊(物體遮擋嚴重)時,不能正確的區(qū)分重疊的ground truth的歸屬性(算法中不容易進行assign)。


DenseBox的問題在于L2損失對尺度的魯棒性不佳(UnitBox對此進行改進)、ground truth分配問題(SSD對此進行改進)、定位精度不佳(后續(xù)引入Two Stage方法進行優(yōu)化)、誤檢測情況較為常見(后續(xù)引入Two Stage方法進行優(yōu)化)。

YOLO算法的輸入是一張圖片,然后對圖片進行網(wǎng)格化的分割,在每個網(wǎng)格中生成一個類別和兩個目標框,然后將框的分類和回歸統(tǒng)一到一個loss進行學習。Yolo后來又提出v2,v3,v4版本(甚至還出現(xiàn)有些爭議的v5版本)。

SSD檢測算法也是經(jīng)典檢測算法之一,引入了Anchor概念,在每個點上設置9個anchor,回歸時基于每個anchor分別進行回歸,并將位置坐標回歸問題轉(zhuǎn)化為框的offset回歸問題。不僅如此,SSD還在多個不同深度的feature map層次上進行anchor的分類回歸,因為較淺的feature map上的anchor更容易關注小物體。

然而,較淺的feature map的語義信息較少,這點在后續(xù)的DSSD、RON、RetinaNet中進行了改進,比如在工業(yè)界常用的RetinaNet雖然也是多層次特征,但是相比SSD,采用了先下采樣再上采樣的方法,語義信息也得到了保證。

對one stage方法的總結(jié), one stage方法主要關注三點:

1.anchor的設計;

2.feature信息流的設計(多層次特征融合);

3.loss的設計以及sample(隨機采樣或者難例挖掘等)的設計。

Two?Stage(多階段法)

Two stage精度高但是整體算法很復雜計算量大,因此該類的方法主要是在加速方面進行改進。RCNN算法在當時的檢測領域是開創(chuàng)性的工作,當然也存在很多問題,如速度極慢以及沒有端到端的優(yōu)化。之后便相繼提出了fast rcnn和faster rcnn,以softmax代替svm分類器,以RPN神經(jīng)網(wǎng)絡代替原始proposal生成網(wǎng)絡。

之后,RFCN網(wǎng)絡繼續(xù)對速度進行優(yōu)化,通過復用計算實現(xiàn)減小計算量的目的。在RFCN之后提出了Deformable Convolutional Networks,在網(wǎng)格上增添了一個可調(diào)整大小的offset,可以根據(jù)目的自適應的調(diào)整感受野,從而使得卷積的信息更為充分。

在Two Stage中還存在一個經(jīng)典工作——FPN,現(xiàn)在FPN已經(jīng)是一種非常常用的網(wǎng)絡設計方式。后來提出的MaskRCNN,解決了ROIPooling的對齊問題并實現(xiàn)了多任務學習的目標(分類、檢測、分割)。

總結(jié)來說,two stage方法主要關注兩點:速度和性能。

2017年之后物體檢測任務越走越難,陷入一個小低谷,已有的解決方法都較為成熟了,但實用性仍然不足。物體檢測器的pipeline如下圖所示,我們從這個框架的每個細節(jié)進行分析介紹。

Backbone?在早期的論文中,基本所有的backbone都是基于分類任務設計的,分類任務相比檢測任務對特征的分辨率要求不高,其好處在于感受域很大,但空間上的損失也會很多,這對檢測很不友好。

如果為了得到更多stage的高分辨率的feature,可以在網(wǎng)絡添加額外的層(DetNet算法,如下圖的最后兩個16x層),但是這又會出現(xiàn)這些新層的隨機初始化的問題。?

Head?如何設計一個更好更快的head進行檢測。Light head RCNN從head通道上入手,通過減少channel數(shù)來提升速度,當然之后還有ThunderNet的繼續(xù)改進等。?

Pretraining?在分類任務上的預訓練遷移到檢測上會有很多問題,因此引入專門針對檢測而設計的數(shù)據(jù)集——Objects365,該數(shù)據(jù)集量級為69萬張圖,V2版本有大約200萬張圖,每個檢測框都會完整地進行標注,這對訓練目標檢測網(wǎng)絡來說較為友好。同時,如果在檢測任務上預訓練再遷移到檢測,還可以把head預訓練,這也是通過預訓練來提高性能的重要的點。

Scale?以人臉檢測為例,人臉的尺度變化非常大。在之前的工作中,我們可以通過像SSD、FPN那種,采用多層feature來融合預測或者直接在圖像預處理上進行縮放到不同尺度來訓練。SFace算法是對于處理人臉檢測任務中尺度變化較為有效的方法,其將anchor-based和anchor-free兩種方法結(jié)合,前者可以對一些標準尺寸的人臉表現(xiàn)良好,后者可以對一些非標準的人臉進行自適應。

Batchsize?早期的工作如R-CNN、Faster RCNN、RetinaNet、Mask RCNN等都會將batchsize設定的很小,但這也會引出很多問題,比如小batchsize會導致訓練時間增加、統(tǒng)計不準確、正負樣本不均衡等。于是2018年,有人提出了MegDet算法解決了batchsize較小的問題。

Crowd?以密集場景的行人檢測為例,遮擋問題非常嚴重,如何采用更好的策略解決遮擋下的檢測問題也是目標檢測領域很有意思的話題。

03 檢測的現(xiàn)在

現(xiàn)在的物體檢測方向可以從3個角度描述:

(1) upper bound,即更高的性能;(2) few shot,即更少的數(shù)據(jù)集;(3)more category,即更多的檢測種類。

對于upper bound,課中主要介紹了MegDetV2和EfficientDet兩篇工作,前者融合檢測和分割任務,后者是用NAS搜索網(wǎng)絡。

對于few shot,有些類別物體天生數(shù)據(jù)量少,因此希望用較少的數(shù)據(jù)量(小樣本)得到較好的檢測性能。Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector這篇論文提出了一個通用的小樣本目標檢測模型,不需要重新訓練或者fine-tuning就能識別新種類的目標。這類領域有很多相關工作可以參考。

對于more category,如何在更多的種類信息下還能保持高的性能以及甚至讓多種類信息反哺檢測,也是研究的熱點方向。

04 檢測的未來

要真正解決物體檢測問題,還要多遠?雖然在物體檢測方面我們已經(jīng)做了很多研究工作,但實際上還有很長一段路要走。在未來的研究中,我們希望mmAP能達到90以上的精度,F(xiàn)P(false positive)也能得到較好的處理。如何對大尺度的數(shù)據(jù)集進行處理,如何進行半監(jiān)督訓練和自監(jiān)督訓練,如何更好對上下文信息進行理解,如何設計新的pipeline都是值得研究的問題。


本文原創(chuàng)作者:魏宏宇

物體檢測的過去、現(xiàn)在和未來的評論 (共 條)

分享到微博請遵守國家法律
澳门| 游戏| 清丰县| 萨迦县| 博乐市| 洛隆县| 古丈县| 建湖县| 卫辉市| 成安县| 六安市| 佛坪县| 呼玛县| 吴桥县| 顺昌县| 乐亭县| 长宁县| 上栗县| 密山市| 罗田县| 荔浦县| 根河市| 白沙| 崇左市| 青浦区| 湘乡市| 荥经县| 荆州市| 孝义市| 平顺县| 威信县| 从江县| 兴和县| 留坝县| 宽城| 大足县| 襄汾县| 麟游县| 东明县| 遂溪县| 建水县|