日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 目标检测 >内容正文

目标检测

目标检测(R-CNN、Fast R-CNN、Fater R-CNN)

發布時間:2025/3/12 目标检测 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 目标检测(R-CNN、Fast R-CNN、Fater R-CNN) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目標檢測(R-CNN、Fast R-CNN、Faster R-CNN)


1、目標檢測(object detection)

圖像識別是輸入一張圖像,輸出該圖像對應的類別。目標檢測的輸入同樣是一張國像,但輸出不單單是圖像的類別,而是該圖像中所含的所有目標物體以及它們的位置,通常使用矩形框來標識物體的位置。
大部分的目標檢測方法流程是:生成區域候選框,對這些區域框提取特征(SIFT 特征 、HOG 特征、CNN),使用圖像識別方法分類(SVM、CNN),得到所有分類成功的區域后,通過非極大值抑制( Non-maximum suppression )輸出結果。


2、候選框(bounding boxes)

區域候選框的生成主要有兩種方法,一種是窮舉法、一種是選擇性搜索。

  • 窮舉法:也叫滑窗法。使用不同大小的窗口在圖片上從左到右,從上到下滑動,每次滑動就是一個候選框,由于是全局搜索而且要考慮窗口的長寬比,計算量大、效率低下。
  • 選擇搜索(Selective Search):首先,使用圖像分割(邊緣等特性)算法,分割出許多小區域;然后,根據這些小區域之間相似性(顏色、紋理等)進行區域合并,不斷的進行區域迭代合并。每次迭代過程中對這些合并的子區域做 bounding boxes (外切矩形)就生成了候選框。

3、R-CNN:Region-CNN

R-CNN 算法原理:

  • Selective Search 生成候選框
  • 候選框區域縮放到統一大小,使用 CNN 對每個候選框提取特征
  • 提取出特征后使用 SVM 進行分類
  • 通過非極大值抑制輸出結果

R-CNN 訓練步驟:

  • 在數據集上訓練CNN。R-CNN 論文中使用的 CNN 網絡是AlexNet,數據集為ImageNet 。
  • 在目標檢測的數據集上,對訓練好的 CNN 做微調 。
  • 用 Selective Search 搜索候選區域,統一使用微調后的 CNN 對這些區域提取特征,并將提取到的特征存儲起來。
  • 使用存儲起來的特征,訓練SVM 分類器。

R-CNN 訓練步驟性能:
VOC 2007 數據集上,傳統方法最高的平均精確度mAP ( mean Average Precision )為40%左右,而R-CNN 的mAP 達到了58.5%.
R-CNN 的缺點是計算量太大。在一張圖片中,通過Selective Search 得到的有效區域往往在1000 個以上,這意昧著要重復計算1000 多次神經網絡,非常耗時。另外,在訓練、階段,還需要把所高特征保存起來,再通過SVM進行訓練,這也是非常耗時且麻煩的


4、Fast R-CNN

SPPNet:
SPPNet 的英文全稱是Spatial Pyramid Pooling Convolutional Networks 中文是“空間金字塔池化卷積網絡” 。
SPPNet 將 CNN 的輸入從固定尺寸改進為任意尺寸。SPPNet 在普通的 CNN 結構中加入了 ROI 池化層( ROI Pooling ),使得網絡的輸入圖像可以是任意尺寸的,輸出則不變,同樣是一個固定維數的向量。

ROI 池化層:對輸入的寬w、高h、通道數c的卷積特征進行劃分。分別劃分為4×4、2×2、1×1的網格,對每個網格中的每個通道進行最大值池化(取最大值),得到的特征是16c+4c+c = 21c 維的特征。很顯然,這個輸出特征的長度與w 、h 兩個值是無關的,因此ROI 池化層可以把任意寬度、高度的卷積特征轉換為固定長度的向量。

SPPNet 原理:先對圖像進行一遍卷積計算,得到整個圖像的卷積特征。接著, 對于原始圖像中的各種候選框,只需要在卷積特征中找到對應的位置框,再使用 ROI 池化層對位置框中的卷積提取特征,就可以完成特征提取工作。在提取特征后,使用了SVM 進行分類。

R-CNN 要對每個區域(有重疊)計算卷積,而SPPNet 只需要對整張圖片計算一次,因此 SPPNet 的效率比 R-CNN 高得多。

Fast R-CNN:
在SPPNet 中,實際上特征提取和區域分類兩個步驟還是分離的,還是使用傳統的 SVM 作為分類器。Fast R-CNN 相比 SPPNet 更進一步,不再使用 SVM 作為分類器,而是使用神經網絡進行分類,這樣就可以同時訓練特征提取網絡和分類網絡,從而取得比SPPNet 更高的準確度。

Fast R-CNN 使用全連接層進行分類。全連接層有兩個輸出,一個輸出負責分類(Softmax),另一個輸出負責框回歸(bbox regressor)。對于分類,假設要在圖像中檢測 K 類物體,那么最終的輸出應該是 K+ I 個數(一類“背景類”),每個數都代表該區域為某個類別的概率。對于框回歸,框回歸是對原始的檢測框進行某種程度的校準。因為使用 Selective Search 獲得的框可能存在一定偏差??虻乃膫€參數為(x,y,w,h),其中(x,y)表示框左上角的坐標位置,(w,h)表示框的寬度和高度。


5、Faster R-CNN

RPN( Region Proposal Network )網絡:
RPN 需要先使用一個CNN 網絡對原始圖片提取特征,使圖片變為 W×H×C 的網絡。網絡中的每一個格子負責該位置上 k 個不同的 anchor 是否存在一個物體。

使用一個 3x3 的滑動窗口,將每個位置轉為一個統一維數的特征,這個恃征對應了兩部分的輸出。一部分表示該位置的 anchor 為物體的概率,總輸出長度為2xk(一個 anchor 對應兩個輸出,是物體的概率+不是物體的概率)。另一部分為框回歸,一個 anchor 對應4 個框回歸參數,因此框回歸部分的總輸出的長度為4xk。

Faster R-CNN:
Faster R-CNN 使用 RPN 取代了 Selective Search 生成候選框后,剩下的網絡結構和 Fast R -CNN 中的結構一模一樣。在訓練過程中,需要訓練兩個網絡,一個是RPN 網絡,一個是在得到框之后的分類網絡。通常的做法是交替訓練,即在一個 batch 內,先訓練RPN 網絡一次,再訓練分類網絡一次。


6、總結

項目R-CNNFast R-CNNFaster R-CNN
提取候選框Selective SearchSelective SearchRPN網絡
提取特征CNNCNN+ROI池化CNN+ROI池化
分類SVM全連接全連接

從R-CNN,到Fast R-CNN ,再到Faster R-CNN ,不僅檢測速度越來越快,而且檢測的精確度也在不斷提升。在出現R-CNN方法前,VOC 2007數據集上傳統方法所能達到的最高平均精確度( mAP )為40% 左右, R-CNN 將該值提高到了58.5%,Fast R-CNN 為70%,Faster R-CNN 又將該值提高到了78.8% 。這幾種方法既一脈相承,又不斷改進,不斷的 CNN 化。


GOOD LUCK!


總結

以上是生活随笔為你收集整理的目标检测(R-CNN、Fast R-CNN、Fater R-CNN)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。