chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

深度學習在目標檢測中的應用

新機器視覺 ? 來源:CV算法恩仇錄 ? 作者:CV算法恩仇錄 ? 2022-10-31 10:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

二階段目標檢測算法(RCNN 家族)是目標檢測中最經典的算法之一,有 R-CNN -> Fast R-CNN -> Faster R-CNN,每一代的變化以及目的性都明確,也是目標檢測領域二階段檢測必會的算法之一。

如果想對目標檢測有粗略的了解請查看這兩篇文章:

目標檢測綜述

目標檢測快速入門(含YOLO V1原理詳解)

深度學習在目標檢測應用

R-CNN 算法在 2014 年提出,可以說是歷史性的算法,將深度學習應用于目標檢測領域,相較于之前的目標檢測方法,提升多達 30% 以上,大大提高了目標檢測效果,改變了目標檢測領域的研究方向。

早在 2010 年,深度學習已經初露鋒芒,為什么在 2014 年目標檢測才可以說正式應用深度學習技術呢?

這要從目標檢測的場景以及目的上來分析。將問題簡化一下,假設現在在做貓和狗的檢測,要從圖片中找到貓和狗的位置并且知道是什么分類。對于人工智能問題,往下細分可以分到 2 個方向,分類問題和回歸問題。識別一張圖片是貓還是狗是比較容易的事情,也可以準確的說是分類問題。

但是尋找到圖片中不確定是否含有以及不確定具體數量的貓和狗的具體位置,這樣的一個問題算作哪個類別呢?分類和回歸問題都不好往上面靠,下面再把問題拆分一下。

目標檢測中的分類與回歸問題

假設,現在已經有框了,如圖 1 所示,根據 4 個檢測框內是否包含狗做分類,包含待檢測目標越完整、背景越少則概率越高,下圖中顯然藍色更加合適。

462c7556-5852-11ed-a3b6-dac502259ad0.png

圖1 目標檢測示意

用藍色的檢測框來代表檢測的物體還有個問題,就是這個框還有些許的偏差,離“完美”的檢測框還是有一些距離,下面可以對我們的檢測框進行矯正回歸,如圖 2 所示。白色的框是“完美檢測框”,我們希望藍色的檢測框向白色的檢測框從形狀和位置上靠近,在某些特殊條件下,這種變換滿足線性的變化,將邊框的矯正問題轉變成一個回歸問題。

46e4309c-5852-11ed-a3b6-dac502259ad0.png

圖2 邊框矯正示意圖

現在目標檢測問題得到了解決,前提是已經存在可能存在待檢測物體的預選框,剩下的問題是如何產生這些預選框。

R-CNN 算法就是采用上面所述的解決思路,采用的是選擇性搜索 (Selective Search) 算法來選擇預選框。

選擇性搜索 (Selective Search) 提取候選區(qū)域

選擇性搜索 (Selective Search) 是對上文中的選擇區(qū)域過程進行的一個優(yōu)化。Selective Search 算法在 13 年提出,這個算法其實是借鑒了層次聚類的思想,將層次聚類的思想應用到區(qū)域的合并上面。

首先使用 Felzenszwalb 等人在其論文 “Efficient Graph-Based Image Segmentation ” 中描述的方法生成輸入圖像的初始子候選區(qū)域。

然后將較小的相似區(qū)域遞歸組合為較大的相似區(qū)域。這里使用貪婪算法將相似的區(qū)域組合成更大的區(qū)域。

所謂貪婪算法就是從一組區(qū)域中,選擇兩個最相似的區(qū)域,將它們合并為一個較大的區(qū)域,重復上述步驟進行多次迭代,直至數量為我們想得到的候選區(qū)域數量。

選擇性搜索的思想是基于圖像中物體可能具有某些相似性或者連續(xù)性,因此采用子區(qū)域合并的方法進行提取候選邊界框,合并過程根據子區(qū)域之間的顏色、紋理、體積等相似性進行區(qū)域合并,最后合并成我們想要的數量,然后再對子區(qū)域做外切矩形,得到的矩形就是候選區(qū)域。

471ad48a-5852-11ed-a3b6-dac502259ad0.png

圖3 Selective Search示意圖

R-CNN:Region with CNN feature (Region proposals + CNN)

R-CNN 算法流程可以分為 4 步:

使用選擇性搜索 (Selective Search) 從圖像中提取 1k-2k 個區(qū)域,將其稱為候選區(qū)域。

將這 2000 個大小可能不同的候選區(qū)域處理成固定大小 (227,227),然后輸入到卷積神經網絡中做圖像特征提取,生成 4096 維特征圖作為第二步輸出。

將特征圖輸入到一組 SVM 中,對候選區(qū)域是否存在要檢測的目標進行分類,每個 SVM 都是一個二分類器,負責判斷是否是存在某一個類 (yes/no),也就是說有多少個分類就有多少個SVM分類器。

除了預測候選區(qū)域內是否包含檢測目標,該算法還預測四個值,這些值是偏移值,以提高邊界框的精度。

47e3c3e0-5852-11ed-a3b6-dac502259ad0.png

圖4 RCNN示意圖

統一候選區(qū)域尺寸

通過前面的內容,可以在圖片中找出想得到的候選區(qū)域,這個候選區(qū)域不一定都是同樣的大小,如果進行簡單的縮放到同一尺寸,會造成不同的拉扯程度,同一張圖片選出的候選框進行了不同程度的變形會對結果造成影響。

選擇性搜索最終產出的是矩形,論文中對矩形的縮放嘗試了兩種方式:各向同性縮放、各向異性縮放。

4873cdbe-5852-11ed-a3b6-dac502259ad0.png

圖5 RCNN-圖像尺寸統一處理示意圖

上圖 5 中 B 列,直接在原始圖片中,把邊界擴展延伸成正方形,然后再進行裁剪;如果已經延伸到了原始圖片的外邊界,那么就用候選框中的顏色進行填充;C 列,先沿邊框進行剪裁,然后用固定顏色填充成正方形,這個固定顏色為候選框內顏色均值;D 列方法很簡單,不管候選區(qū)域的寬高比,直接進行縮放。

在此基礎上,作者還嘗試了加入 padding 處理,示意圖中第一、三行是使用了padding=0 的效果,第二、四行使用了 padding=16 的效果。經過測試發(fā)現,使用各向異性縮放結合 padding=16 的精度最高,使 mAp 提高了 3 到 5 個百分點。

在網絡結構方面,R-CNN 對比現在流行的網絡顯得略微“單薄”。方案選擇上面有 2 個選擇:Alexnet 與 VGG16。從表現來說 VGG16 的表現效果會更好一些,VGG16 有較小的卷積核以及較小的步長,泛化能力更強,但是計算量是 Alexnet 的 7 倍。

Fast R-CNN:Towards Real-Time Object Detection with Region Proposal Networks

站在現在的目標檢測技術角度去看 R-CNN,可能會覺得這個模型表現的并不是很好,設計的也不夠合理,但是在當時 R-CNN 將深度學習引入檢測領域,一舉將 PASCAL VOC 上的檢測率從 35.1% 提升到 53.7%。

R-CNN 也存在著非常大的問題,首先三個模型在訓練的方面會是個比較大的挑戰(zhàn),其次也是最主要的就是效率問題,計算 Region Proposals 和 features 平均所花時間:13s/image on a GPU;53s/image on a CPU。最后 2000 個左右的候選區(qū)域都需要經過網絡處理,這就加大了計算代價。

已經定位了 R-CNN 的計算瓶頸,那么解決方法也就應運而生,R-CNN 的同一作者解決了R-CNN 的一些缺點并提出了新的算法,該算法稱為 Fast R-CNN。

Fast R-CNN 算法發(fā)表于 2015 年,在同樣使用 VGG16 網絡作為 Backbone 的情況下,與 R-CNN 相比訓練速度快 9 倍,推理時間快了 200 多倍,在 Pascal VOC 數據集上準確率也從 62% 提升到了66%。

整體思路類似于 R-CNN 算法,與之不同的是,不再用候選區(qū)域選出來再傳入網絡中,Fast R-CNN 將輸入圖像直接提供給 CNN 結構來生成卷積特征圖,在原圖中使用 SS(Selective Search) 算法提取候選區(qū)域,映射到特征圖上形成特征矩陣,這樣看似簡單的調整順序,從需要對 1k-2k 張圖像提取特征轉變成只需要對一張圖像提取特征,極大的減少了執(zhí)行時間。

但是新的問題也出來了,對特征圖進行預選區(qū)域選擇后產出的“小特征圖”大小不一,無法一下放入網絡中進行處理與預測。Fast R-CNN 借鑒了 SPP Net 的設計來解決這個問題。

SPP:Spatial Pyramid Pooling(空間金字塔池化)

SPP-Net 是出自 2015 年發(fā)表在 IEEE 上的論文:《Spatial Pyramid Pooling in Deep ConvolutionalNetworks for Visual Recognition》,SPP 是其中核心的設計。

CNN 一般都有卷積部分和全連接部分,其中,卷積層不需要固定尺寸的圖像,而全連接層是需要固定大小的輸入。

所以當全連接層面對各種尺寸的輸入數據時,就需要對輸入數據進行 crop(crop 就是從一個大圖摳出網絡輸入大小的 patch,比如 227×227),或 warp(把一個邊界框 bounding box 的內容 resize 成 227×227)等一系列操作以統一圖片的尺寸大小,比如 224×224(ImageNet)、32×32(LenNet)等。

在 R-CNN 中,因為取出的區(qū)域大小各自不同,所以需要將每個 Region Proposal 縮放(warp)成統一的 227x227 的大小并輸入到 CNN。但 warp/crop 這種預處理,導致的問題要么被拉伸變形、要么物體不全,限制了識別精確度。如圖 6 所示,原本“瘦高”的燈塔,warp 之后體型“發(fā)?!绷?。

48ede8ec-5852-11ed-a3b6-dac502259ad0.png

圖6 圖像伸縮示意圖

SPP Net 開拓了新的思路,原來的思路是在進入 CNN 中之前,將圖像統一尺寸,而 CNN 本身可以適應任何尺寸,那么何不嘗試在 CNN 結構之后再加入某種結構使后面的全連接層可以接收到固定的輸出呢?

下圖便是 R-CNN 與 SPP Net 檢測流程的對比:

490c0692-5852-11ed-a3b6-dac502259ad0.png

圖7 R-CNN與SPP Net流程對比

在卷積結構與 FC 層之間介入金字塔池化層,保證下一層全連接層的輸入固定。換句話說,在普通的 CNN 結構中,輸入圖像的尺寸往往是固定的(比如 224×224 像素),輸出則是一個固定維數的向量。SPP Net 在普通的 CNN 結構中加入了 ROI 池化層(ROI Pooling),使得網絡的輸入圖像可以是任意尺寸的,輸出則不變,同樣是一個固定維數的向量。

Fast R-CNN 中的 ROI Pooling

Fast R-CNN 使用 ROI Pooling 結構將 CNN 結構輸出統一成 7×7 的結構,這個過程并不復雜,如圖 8 所示,左面假設是特征圖(為了可視化使用圖像代替),將特征圖劃分成 7×7 的網格 ,對每一個網格用 Max Pooling 得到 7×7的 結構,圖中使用一個 channel 數據示例,實際計算中對每個 channel 做如下處理。

492ff69c-5852-11ed-a3b6-dac502259ad0.png

圖8 ROI Pooling示意圖

在訓練過程中,并不是所有 SS 算法獲取的候選框都被使用,相對于選擇的 1k-2k 個候選框,只需要其中的一小部分, 從中選擇正樣本和負樣本,正樣本指包含需要檢測的目標,而負樣本不包含需要檢測的目標,也就是背景。

為什么要分正樣本與負樣本,對于選擇出的 1k-2k 個候選區(qū)域,絕大部分只會有很小的一部分里面包含需要檢測的物體,大部分都是背景,如果全部使用包含圖像的樣本進行訓練,會對網絡產生不好的影響。區(qū)分正負樣本的條件是與 GT 的 IOU 大于 0.5 的為正樣本,反之為負樣本。

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

Faster R-CNN 的設計思路

經過前面兩個網絡的積累 (Fast R-CNN 與 R-CNN),Ross B.Girshick 在 2016 年提出了新的改進版算法 Faster R-CNN,盡管 Fast R-CNN 已經對 R-CNN 的速度進行了大幅度的優(yōu)化,但是在其結構中還是有明顯的瓶頸,Fast R-CNN 的整體結構并不緊湊,先使用卷積神經網絡結構進行特征提取,篩選候選區(qū)域再進行預測。

在 Faster R-CNN 中,引入了 Region Proposal Network(RPN),RPN 網絡與檢測網絡共享完整的圖像卷積特征,從而大大降低了 region proposal 的代價。RPN 是一個 FCN 結構的網絡,可以同時預測每個位置上的對象范圍和對象得分。RPN 網絡不是單獨的網絡而是融合在整個網絡之中,這樣更容易訓練出好的效果。

4acbe768-5852-11ed-a3b6-dac502259ad0.jpg

圖9 Faster R-CNN結構圖

代碼結構

除了 RPN 結構,Faster R-CNN 與 Fast R-CNN 結構一致,這里不再過多的介紹基礎,在前期對 Faster R-CNN 有初步的認識即可,下面給出 Faster R-CNN 實現的代碼結構圖。

4ae0563a-5852-11ed-a3b6-dac502259ad0.png


圖10 Faster R-CNN代碼結構






審核編輯:劉清

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

    關注

    0

    文章

    154

    瀏覽量

    33631
  • 分類器
    +關注

    關注

    0

    文章

    153

    瀏覽量

    13724
  • voc
    voc
    +關注

    關注

    0

    文章

    110

    瀏覽量

    16123

原文標題:通俗易懂詳解二階段目標檢測

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    穿孔機頂頭檢測儀 機器視覺深度學習

    ,能適用惡劣工況,粉塵、高溫、氧化皮等惡劣環(huán)境均可正常工作。 測量原理 利用頂頭與周圍的物質(水、空氣、導盤等)紅外輻射能量的差異,用熱成像相機拍攝出清晰的圖片,再通過深度學習短時
    發(fā)表于 12-22 14:33

    電壓放大器全導波場圖像目標識別的損傷檢測實驗的應用

    實驗名稱:基于掃描激光多普勒測振技術與YOLOv5s深度學習模型的鋁板盲孔損傷檢測 實驗目的:針對工程結構損傷檢測存在的信號復雜、成像困難
    的頭像 發(fā)表于 12-02 11:37 ?203次閱讀
    電壓放大器<b class='flag-5'>在</b>全導波場圖像<b class='flag-5'>目標</b>識別的損傷<b class='flag-5'>檢測</b>實驗的應用

    如何深度學習機器視覺的應用場景

    深度學習視覺應用場景大全 工業(yè)制造領域 復雜缺陷檢測:處理傳統算法難以描述的非標準化缺陷模式 非標產品分類:對形狀、顏色、紋理多變的產品進行智能分類 外觀質量評估:基于學習的外觀質量標
    的頭像 發(fā)表于 11-27 10:19 ?162次閱讀

    廣和通發(fā)布端側目標檢測模型FiboDet

    為提升端側設備視覺感知與決策能力,廣和通全自研端側目標檢測模型FiboDet應運而生。該模型基于廣和通邊緣計算與人工智能領域的深度積累,面向工業(yè)、交通、零售等多個行業(yè)提供高性能、低功
    的頭像 發(fā)表于 09-26 13:39 ?1515次閱讀

    如何在機器視覺中部署深度學習神經網絡

    圖 1:基于深度學習目標檢測可定位已訓練的目標類別,并通過矩形框(邊界框)對其進行標識。
    的頭像 發(fā)表于 09-10 17:38 ?803次閱讀
    如何在機器視覺中部署<b class='flag-5'>深度</b><b class='flag-5'>學習</b>神經網絡

    【機器視覺】睿擎平臺支持NCNN AI 推理框架,輕松實現實時目標檢測( 睿擎線下 Workshop 報名已開啟)|產品動

    工業(yè)4.0與邊緣計算加速發(fā)展的背景下,嵌入式設備的實時目標檢測能力已成為智能制造等領域的核心技術需求。然而,移動端設備受限于算力與能耗,傳統深度
    的頭像 發(fā)表于 08-20 17:40 ?5072次閱讀
    【機器視覺】睿擎平臺支持NCNN AI 推理框架,輕松實現實時<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>( 睿擎線下 Workshop 報名已開啟)|產品動

    自動駕駛Transformer大模型會取代深度學習嗎?

    持續(xù)討論。特別是自動駕駛領域,部分廠商開始嘗試將多模態(tài)大模型(MLLM)引入到感知、規(guī)劃與決策系統,引發(fā)了“傳統深度學習是否已過時”的激烈爭論。然而,從技術原理、算力成本、安全需求與實際落地路徑等維度來看,Transforme
    的頭像 發(fā)表于 08-13 09:15 ?4034次閱讀
    自動駕駛<b class='flag-5'>中</b>Transformer大模型會取代<b class='flag-5'>深度</b><b class='flag-5'>學習</b>嗎?

    基于LockAI視覺識別模塊:C++目標檢測

    是基于百度飛槳深度學習框架開發(fā)的一個高效的目標檢測庫,支持多種先進的目標檢測模型,如 YOLO
    發(fā)表于 06-06 14:43

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

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

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

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

    軒轅智駕紅外目標檢測算法汽車領域的應用

    AI 技術蓬勃發(fā)展的當下,目標檢測算法取得了重大突破,其中紅外目標檢測算法更是汽車行業(yè)掀起
    的頭像 發(fā)表于 03-27 15:55 ?857次閱讀

    行業(yè)首創(chuàng):基于深度學習視覺平臺的AI驅動輪胎檢測自動化

    全球領先的輪胎制造商 NEXEN TIRE 在其輪胎生產檢測過程中使用了基于友思特伙伴Neurocle開發(fā)的AI深度學習視覺平臺,實現缺陷檢測率高達99.96%,是該行業(yè)首個使用AI平
    的頭像 發(fā)表于 03-19 16:51 ?894次閱讀
    行業(yè)首創(chuàng):基于<b class='flag-5'>深度</b><b class='flag-5'>學習</b>視覺平臺的AI驅動輪胎<b class='flag-5'>檢測</b>自動化

    OpenVINO?工具套件的深度學習工作臺中無法導出INT8模型怎么解決?

    無法 OpenVINO? 工具套件的深度學習 (DL) 工作臺中導出 INT8 模型
    發(fā)表于 03-06 07:54

    軍事應用深度學習的挑戰(zhàn)與機遇

    ,并廣泛介紹了深度學習兩個主要軍事應用領域的應用:情報行動和自主平臺。最后,討論了相關的威脅、機遇、技術和實際困難。主要發(fā)現是,人工智能技術并非無所不能,需要謹慎應用,同時考慮到其局限性、網絡安全威脅以及
    的頭像 發(fā)表于 02-14 11:15 ?901次閱讀