91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于深度學習的三種目標檢測方法

新機器視覺 ? 來源:CSDNB博客深蘭深延AI ? 作者:CSDNB博客深蘭深延 ? 2022-04-06 14:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目標檢測是計算機視覺的一個非常重要的核心方向,它的主要任務目標定位和目標分類。

深度學習介入該領域之前,傳統的目標檢測思路包括區域選擇、手動特征提取、分類器分類。由于手動提取特征的方法往往很難滿足目標的多樣化特征,傳統方法始終沒能很好的解決目標檢測問題。

深度學習興起之后,神經網絡可以從大量數據中自動學出強大的特征提取和擬合能力,因而涌現出很多性能優良的目標檢測算法

基于深度學習的目標檢測方法大致可分為三類——雙階段目標檢測、單階段目標檢測、基于transformer的目標檢測,本文將分別介紹這三類方法。

常用數據集

VOC數據集

VOC數據集[1]是目標檢測領域的常用數據集,共有約10,000張帶有邊界框的圖片用于訓練和驗證,每張圖片有像素級別的分割標注、邊界框標注以及目標類別標注,其中包含車輛、家具、動物、人4個大類,20個小類。

該數據集被廣泛用作目標檢測、語義分割、分類任務的基準數據集。

COCO數據集

COCO[2]的全稱是Microsoft Common Objects in Context,它是微軟于2014年出資標注的數據集,與ImageNet競賽一樣,COCO目標檢測競賽也被視為是計算機視覺領域最受關注和最權威的比賽之一。

相比于規模較小的VOC數據集,COCO是一個大型、豐富的物體檢測、分割數據集。這個數據集以scene understanding為目標,主要從復雜的日常場景中截取,并通過精確的segmentation進行目標位置的標定。

圖像包括91類目標,328,000影像和2,500,000個label。提供的類別有80 類,有超過33 萬張圖片,其中20 萬張有標注,整個數據集中個體的數目超過150 萬個。

雙階段目標檢測算法

相較于單階段目標檢測算法,雙階段目標檢測算法先根據圖像提取候選框,然后基于候選區域做二次修正得到檢測點結果,檢測精度較高,但檢測速度較慢。

這類算法的開山之作是RCNN[3],隨后Fast RCNN[4]、Faster RCNN[5]依次對其進行了改進。

由于優秀的性能,Faster RCNN至今仍然是目標檢測領域很有競爭力的算法。隨后,FPN[6]、Mask RCNN[7]等算法又針對Faster RCNN的不足提出了改進,這進一步豐富了Faster RCNN的組件,提升了它的性能。

RCNN

RCNN是首個將深度學習應用到目標檢測領域的工作,它的算法的思想較為簡單:對于每張圖片,RCNN首先采用選擇性搜索算法[1]生成大約2000個候選區域。隨后將每個候選區域的尺寸轉換為固定大小,并用CNN提取候選區域的特征。隨后使用SVM分類器判斷候選區域的類別,使用線性回歸模型,為每個物體生成更精確的邊界框。

盡管RCNN取得了很大進展,它仍然有很多缺點:首先,整個目標檢測階段涉及到三個模型,用于特征提取的CNN、用于分辨目標物體類別的SVM分類器、用于調整邊界框的線性回歸模型。RCNN無法做到端到端訓練,只能分別訓練這三個模型,這增大了訓練難度與訓練時間。

其次,每張圖片要提取2000個訓練區域,隨后又要用CNN分別提取每個區域的特征,特征的數量將非常大,這降低了模型的推理速度。通常每張圖片需要45秒進行預測,基本無法處理大型數據集。

基于深度學習的三種目標檢測方法

圖1:RCNN算法流程

Fast RCNN

在RCNN中,每個候選區域都需要用CNN單獨提取特征。為了減少算法的計算時間,Fast-RCNN希望在每張圖片上只使用一次CNN,就能提取到所有關注區域的特征。為此,RCNN設計了如下步驟的目標檢測算法:

首先對圖片使用啟發式算法,得到大量候選區域。隨后將圖片輸入到卷積神經網絡中,得到圖片的特征,與候選區域的相對位置結合,就可以得到候選區域的特征。隨后使用ROI池化層將候選區域調整至相同尺寸,并將調整后的結構輸入到全連接神經網絡中。最后在全連接神經網絡后面添加softmax層,預測目標的列別;并以相同的方式添加線性回歸層。

與RCNN相比,Fast RCNN計算一張圖片只需要2秒,速度有大幅提升,每張圖片的計算時間只有但仍不夠理想。因為它依然用到了選擇性搜索方法得到感興趣區域,而這一過程通常很慢。

基于深度學習的三種目標檢測方法

圖2:Fast RCNN網絡結構

Faster RCNN

Faster RCNN針對感興趣區域的生成方式,對RCNN進行了優化,進一步提高了計算速度和準確率。具體來說,Faster RCNN使用Reigion Proposal Network(RPN)生成感興趣區域:

首先,將圖片輸入到CNN中得到高層特征映射,隨后將其傳遞到RPN中。

RPN會在特征映射上使用一個滑動窗口,并在每個窗口設置K個不同大小、不同長寬比的先驗框。

對于每個先驗框,RPN會分別預測該框包含目標物體的概率,以及對該框的調整回歸量。最終得到不同形狀、尺寸的邊界框,調增尺寸后將其傳遞到完全連接層,得到目標類別以及最終的先驗框。

Faster RCNN進一步提高了計算速度,并獲得了較高的準確率。時至今日,依然是目標檢測領域的主流算法之一。

基于深度學習的三種目標檢測方法

圖3:RPN的網絡結構

FPN

Faster R-CNN是利用單個高層特征圖(下采樣四倍的卷積層——Conv4)進行物體的分類和bounding box的回歸。這樣做對小物體的檢測不利,因為小物體本身具有的像素信息較少,在下采樣的過程中,這些信息很容易丟失,從而降低了算法的性能。

為了處理這種物體大小差異十分明顯的檢測問題,FPN提出了特征金字塔網絡結構,它引入了多尺度特征,在只增加少量計算量的情況下,提升小物體的檢測性能。

具體來說,Faster RCNN將最后一層特征輸入到了RPN中,最后一層的特征經過3x3卷積,得到256個channel的卷積層,再分別經過兩個1x1卷積得到類別得分和邊框回歸結果。

而FPN將P2、P3、P4、P5、P6這五個特征層的特征都輸入到了RPN中。每個特征層的下采樣倍數不同,這意味著它們具有不同的尺度信息分離,因此作者將322、642、1282、2562、5122這五種尺度的anchor,分別對應到P2、P3、P4、P5、P6這五個特征層上,這樣一來,每個特征層只需要專門處理單一的尺度信息即可。

此外,作者通過實驗發現,如果將這5個特征層后面的RPN參數共享,所得到的結果與不共享幾乎沒有差別。這說明不同下采樣倍數之間的特征有相似語義信息。

在FPN問世之后,立刻成為了Faster RCNN的必要組成部件。

基于深度學習的三種目標檢測方法

圖4:FPN的網絡結構

Mask RCNN

相較于Faster RCNN,Mask RCNN采用了全新的、性能更強的ResNeXt-101+FPN的組合作為backbone提取輸入圖片的特征。并在網絡最后額外添加了一個分支,進行mask預測任務,這將有助于提升特征提取網絡和RPN的性能。

此外,Mask RCNN還提出了一個改進,將原先的ROI池化層改進成ROIAlign層。在Faster RCNN中,有兩次整數化的操作:(1)RPN輸出的邊界框回歸值通常是小數,為了方便操作,會直接通過四舍五入把其整數化。(2)在ROI池化層中,整數化后的邊界區域被平均分割成了K×K個單元,因此需要對這些單元的邊界進一步整數化。

Mask RCNN的作者指出,經過這兩次整數化后的候選框,已經和最開始RPN輸出的候選框有了一定的位置偏差,這將影響模型的準確度。為此,作者提出了ROI Align方法,它沒有采用整數化操作,而是使用雙線性插值方法,獲得浮點數坐標的像素值。

基于深度學習的三種目標檢測方法

圖5:Mask RCNN的網絡結構

單階段目標檢測算法

相較于雙階段目標檢測算法,單階段目標驗測算法直接對圖像進行計算生成檢測結果,檢測低速度快,但檢測精度低。

這類算法的開山之作是YOLO[8],隨后SSD [9]、Retinanet[10]依次對其進行了改進,提出YOLO的團隊將這些有助于提升性能的 trick融入到YOLO算法中,后續又提出了4個改進版本YOLOv2~YOLOv5。

盡管預測準確率不如雙階段目標檢測算法,由于較快的運行速度,YOLO成為了工業界的主流。

YOLO

雙階段目標檢測需要預先設置大量先驗框,并且需要專門的神經網絡RPN對先驗框進行位置修正。這種設定使得雙階段目標檢測算法復雜且計算慢。

YOLO是單階段目標檢測的開山之作,它只需要用神經網絡處理一次圖片,就可以同時預測得到位置和類別,從而將目標檢測任務定義為端到端的回歸問題,提升了計算速度。YOLO的工作流程如下:

對于一張輸入圖片,首先將圖片縮放成統一的尺寸,并在圖片上劃分出若干表格。隨后使用卷積神經網絡提取圖片特征,并使用全連接層在每個網格上進行回歸預測,每個網格預測K個box,每個box預測五個回歸值。其中的四個回歸值代表box的位置,第五個回歸值代表box中含有物體的概率和位置的準確程度。

隨后對于含有物體的box,使用全連接層,回歸預測物體的在各個類別的條件概率。因而,卷積網絡共輸出的預測值個數為N×(K×5+C),其中N為網格數,K為每個網格生成box個數,C為類別數。

盡管單階段模型顯著提高了計算速度,YOLO劃分網格的方式較為粗糙,在小目標檢測任務上表現不佳,總體性能弱于Faster RCNN。

基于深度學習的三種目標檢測方法

圖6:YOLO的檢測流程

SSD

針對YOLO的不足,SSD借鑒了雙階段目標檢測算法的一些trick,在YOLO的基礎上進行了一系列改進:

YOLO利用單個高層特征進行目標檢測,SSD則是將特征提取網絡中不同層的多個特征輸入到目標檢測模塊,以希望提升小物體檢測的精度。

YOLO在每個網格上預測多個邊界框,但這些預測都相對這個正方形網格本身,與真實目標多變的形狀差異較大,這使得YOLO需要在訓練過程中自適應目標的形狀。SSD借鑒了Faster R-CNN中先驗框理念,為每個網格設置不同尺度、長寬比的先驗框,這在一定程度上減少訓練難度。

SSD還使用卷積層絡替代全連接層,針對不同特征圖進行回歸預測,這樣一來,對于形狀為mxnxp的特征圖,只需要采用3x3xp這樣比較小的卷積核得到檢測值,進一步減少了模型的參數量,提高了計算速度。

SSD的改進,使得單階段目標檢測算法的性能基本與當時的Faster-RCNN持平,不過后續又被Faster-RCNN類算法超越。

基于深度學習的三種目標檢測方法

圖7:SSD的網絡結構

Retinanet

相較于SSD,RetinaNet并沒有模型層面的創新,模型的性能提升主要源自于Focal Loss,它進一步解決了目標檢測中的類別不平衡問題。

單階段目標檢測模型常常會面臨嚴重的正負樣本不平衡問題,由于算法會在圖片的每個位置密集抽樣,而圖片中的樣本數量有限,因此候選區域中的物體數量會顯著小于背景數量。

對于兩階段目標檢測模型,正負樣本不平衡問題得到了一定的緩解。因為第一階段的RPN可以避免生成很大一部分負樣本,最終第二階段的檢測模塊只需要處理少量候選框。

針對正負樣本不均衡問題,SSD算法采用了hard mining,從大量的負樣本中選出loss最大的topk個負樣本以保證正負樣本比例為1:3。

相較于SSD的抽樣方法,Focal Loss從損失函數的視角來解決樣本不平衡問題,它根據置信度動態調整交叉熵損失函數,當預測正確的置信度增加時,loss的權重系數會逐漸衰減至0,這使得模型訓練的loss更關注難例,而大量容易的例子loss貢獻很低。

YOLO的后續版本

YOLO的團隊借鑒了其它有助于提升性能的 trick融入到YOLO算法中,后續又提出了4個改進版本YOLOv2~YOLOv5。

YOLOv2使用了很多trick,包括:Batch Normalization、高分辨率圖像分類器、使用先驗框、聚類提取先驗框的尺度信息、約束預測邊框的位置、在passthrough層檢測細粒度特征、分層分類等。

YOLOv3借鑒了SSD的思想,使用了多尺度特征進行目標檢測,與SSD不同的是,YOLOv3采用上采樣+特征融合的方式,對多尺度特征進行了一定的融合。

后續版本采用了Retinanet提出的Facol loss,緩解了正負樣本不均衡問題,進一步提升了模型表現。

基于transformer

的方法

對于目標檢測任務而言,理論上講,各個目標之間的關系是有助于提升目標檢測效果的。盡管傳統目標檢測方法使用到了目標之間的關系,直到Transformer[11]模型面世,無論是單階段還是雙階段目標檢測,都沒有很好地利用到注意力機制。

一個可能的原因是目標與目標之間的關系難以建模,因為目標的位置、尺度、類別、數量都會因圖像的不同而不同。而現代基于CNN的方法大多只有一個簡單、規則的網絡結構,對于上述復雜現象有些無能為力。

針對這種情況,Relation Net[12]和DETR[13]利用Transformer將注意力機制引入到目標檢測領域。Relation Net利用Transformer對不同目標之間的關系建模,在特征之中融入了關系信息,實現了特征增強。DETR則是基于Transformer提出了全新的目標檢測架構,開啟了目標檢測的新時代。

Relation Net

盡管用到了Transformer,Relation Net仍然是基于Faster RCNN的改進工作。Faster RCNN會通過RPN網絡生成一系列感興趣區域,隨后將感興趣區域輸入到神經網絡中預測目標的位置和類別。

Relation Net并沒有直接將感興趣區域輸入到最終的預測網絡中,而是先將這些感興趣區域輸入到transformer中,利用注意力機制,融合不同感興趣區域的關系信息,進而實現特征增強。隨后,再將transformer的輸出送入到最終的預測網絡中,預測目標的位置和類別。

此外,作者還用transformer模塊取代了非極大值抑制模塊(NMS),真正實現了端到端訓練。

基于深度學習的三種目標檢測方法

圖8:Relation module的結構

DETR

DETR是首個用transformer完成目標檢測任務的代表性工作。

首先,DETR使用CNN提取圖片的特征,再加上NLP領域常用的位置編碼,最終生成了一批序列化數據。

在encoder階段,將序列化數據其送入encoder中,利用注意力機制提取數據中的特征。在decoder階段,輸入N個隨機初始化向量,每個object query關注圖片的不同位置。經過decoder的解碼,最終會生成N個向量,每個向量對應一個檢測到的目標。最后將這N個向量輸入到神經網絡中,得到每個目標的類別和位置。

相較于其它目標檢測算法,DETR生成的檢測框數量大幅減少,與真實的檢測框數量基本一致。DETR使用匈牙利算法,將預測框與真實框進行了匹配,隨后就可以計算出loss,完成對模型的訓練。

DETR取得了好于Faster RCNN的檢測效果,并且它不需要預先指定候選區域,不需要使用NMS去除重復的目標框,算法流程十分簡潔。

基于深度學習的三種目標檢測方法

圖9:DETR的算法流程

總結

憑借著強大的特征提取能力,深度學習幫助目標檢測算法取得了長足的發展。

從RCNN開始,相關科研人員不斷引入新的機制、新的trick,以提高這類算法的精度。最終,以Faster RCNN為代表的雙階段目標檢測算法取得了很高的預測準確率。

相較于Faster RCNN,以YOLO為代表的單階段目標檢測算法在保證較高預測精度的同時取得了很高的計算速度,憑借其優秀的實時性,在工業界取得了廣泛應用。

去年提出的以DETR為代表的視覺Transformer算法將注意力機制引入到目標檢測領域。DETR憑借其簡潔優雅的結構、超過Faster RCNN的準確率,吸引了越來越多的目標檢測從業者開展視覺transformer的研究。從目前的發展態勢來看,視覺transformer必將進一步推動目標檢測的快速進展。

原文標題:目標檢測 - 主流算法介紹 - 從RCNN到DETR

文章出處:【微信公眾號:機器視覺智能檢測】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計算機
    +關注

    關注

    19

    文章

    7662

    瀏覽量

    90764
  • 目標檢測
    +關注

    關注

    0

    文章

    225

    瀏覽量

    16014
  • 深度學習
    +關注

    關注

    73

    文章

    5561

    瀏覽量

    122792

原文標題:目標檢測 - 主流算法介紹 - 從RCNN到DETR

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    提高IT運維效率,深度解讀京東云AIOps落地實踐(異常檢測篇)

    基于深度學習對運維時序指標進行異常檢測,快速發現線上業務問題 時間序列的異常檢測是實際應用中的一個關鍵問題,尤其是在 IT 行業。我們沒有采用傳統的基于閾值的
    的頭像 發表于 05-22 16:38 ?429次閱讀
    提高IT運維效率,<b class='flag-5'>深度</b>解讀京東云AIOps落地實踐(異常<b class='flag-5'>檢測</b>篇)

    雙極型極管放大電路的三種基本組態的學習課件免費下載

      本文檔的主要內容詳細介紹的是雙極型極管放大電路的三種基本組態的學習課件免費下載包括了:共集電極放大電路,共基極放大電路,三種基本組態的比較   輸入信號ui
    發表于 04-11 16:39 ?26次下載

    labview調用yolo目標檢測、分割、分類、obb

    labview調用yolo目標檢測、分割、分類、obb、pose深度學習,支持CPU和GPU推理,32/64位labview均可使用。 (yolov5~yolov12)
    發表于 03-31 16:28

    redis三種集群方案詳解

    在Redis中提供的集群方案總共有三種(一般一個redis節點不超過10G內存)。
    的頭像 發表于 03-31 10:46 ?713次閱讀
    redis<b class='flag-5'>三種</b>集群方案詳解

    FPGA頻率測量的三種方法

    1、FPGA頻率測量? 頻率測量在電子設計和測量領域中經常用到,因此對頻率測量方法的研究在實際工程應用中具有重要意義。 通常的頻率測量方法三種:直接測量法,間接測量法,等精度測量法。 2、直接
    的頭像 發表于 01-09 09:37 ?738次閱讀
    FPGA頻率測量的<b class='flag-5'>三種方法</b>

    AI模型部署邊緣設備的奇妙之旅:目標檢測模型

    的是百度的Picodet模型,它是一基于深度卷積網絡(DNN)的輕量級目標檢測模型,具有非常高的檢測精度,可以在低算力設備進行實時的端到端
    發表于 12-19 14:33

    什么是PID調節器的三種模式

    PID調節器是一廣泛應用于工業控制系統中的控制器,它根據給定的參考值(設定值)和實際測量值(過程變量)之間的偏差來調整控制信號,以達到控制目標。PID調節器的名稱來源于其個基本控制動作:比例
    的頭像 發表于 11-06 10:38 ?1744次閱讀

    Pytorch深度學習訓練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練。
    的頭像 發表于 10-28 14:05 ?652次閱讀
    Pytorch<b class='flag-5'>深度</b><b class='flag-5'>學習</b>訓練的<b class='flag-5'>方法</b>

    AI大模型與深度學習的關系

    AI大模型與深度學習之間存在著密不可分的關系,它們互為促進,相輔相成。以下是對兩者關系的介紹: 一、深度學習是AI大模型的基礎 技術支撐 :深度
    的頭像 發表于 10-23 15:25 ?2879次閱讀

    mosfet的三種工作狀態及工作條件是什么

    的工作狀態及工作條件對于理解和設計相關電路至關重要。以下是MOSFET的三種主要工作狀態及其工作條件的介紹。 一、MOSFET的三種工作狀態 MOSFET根據其柵源電壓(VGS)和漏源電壓(VDS
    的頭像 發表于 10-06 16:51 ?6171次閱讀

    光纖測試方法有哪三種

    光纖測試是確保光纖通信系統性能和可靠性的重要環節。光纖測試方法多樣,主要包括插入損耗測試、回波損耗測試和光纖端面檢查。以下是對這三種測試方法的介紹: 1. 插入損耗測試 插入損耗測試是測量光纖鏈路中
    的頭像 發表于 09-24 09:31 ?2615次閱讀

    單片機的三種總線結構

    單片機的三種總線結構包括地址總線(Address Bus, AB)、數據總線(Data Bus, DB)和控制總線(Control Bus, CB)。這三種總線在單片機內部及與外部設備之間的數據傳輸
    的頭像 發表于 09-10 11:32 ?7156次閱讀

    MCUXpresso IDE下在線聯合調試雙核MCU工程的三種方法

    大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線聯合調試i.MXRT1170雙核工程的三種方法
    的頭像 發表于 08-08 15:18 ?1360次閱讀
    MCUXpresso IDE下在線聯合調試雙核MCU工程的<b class='flag-5'>三種方法</b>

    數字示波器的測量方法有哪三種

    數字示波器是一廣泛應用于電子測量領域的儀器,它能夠實時顯示電壓波形,幫助工程師和技術人員對電子信號進行分析和測量。數字示波器的測量方法有很多種,不同的測量方法適用于不同的應用場景。以下是三種
    的頭像 發表于 07-17 18:02 ?3175次閱讀

    慧視小目標識別算法 解決目標檢測中的老大難問題

    隨著深度學習和人工智能技術的興起與技術成熟,一大批如FasterR-CNN、RetinaNet、YOLO等可以在工業界使用的目標檢測算法已逐步成熟并進入實際應用,大多數場景下的
    的頭像 發表于 07-17 08:29 ?981次閱讀
    慧視小<b class='flag-5'>目標</b>識別算法   解決<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>中的老大難問題
    主站蜘蛛池模板: 国产普通话一二三道 | www.色网| 日日干干夜夜 | 手机看片福利盒子久久青 | 精品美女在线 | 国产毛片久久久久久国产毛片 | 久久久免费视频观看 | 久久视频精品36线视频在线观看 | 夜夜摸视频网 | 欧美作爱福利免费观看视频 | 天天性综合 | 性欧美bbbbbb | 夜夜夜操操操 | 毛片免 | 男人女人的免费视频网站 | 男人边吃奶边做视频免费网站 | 手机毛片在线 | 亚洲 欧美 日韩 综合 | 曰曰摸天天摸人人看久久久 | 亚洲国产成人精品不卡青青草原 | 欧美行爱 | 亚洲综合免费 | 在线黄色网 | 日韩免费视频一区 | 日本一视频一区视频二区 | 网友自拍区一区二区三区 | 五月丁香六月综合缴清无码 | 午夜影院一级片 | 国产高清在线 | 男人操女人免费视频 | 久久综合欧美 | 久久视频精品线视频在线网站 | 四虎884tt紧急大通知 | 一级片在线免费 | 国产精品免费视频拍拍拍 | 三级在线观看国产 | 特黄色片 | 在线观看黄色的网站 | 国产黄色大片又色又爽 | 婷色 | 亚洲综合色视频 |