高精尖的物體檢測演示效果

2021-10-07 02:52:54 字數 1246 閱讀 1297

高精尖的物體檢測演示效果

物體檢測演算法的演變分為兩個階段:乙個就是基於傳統特徵的解決方法,另外乙個就是深度學習演算法。在2023年之前主流檢測演算法是傳統的特徵優化檢測方法。但是,在2023年之後,整個學術界和工業界都逐漸利用深度學習來做檢測。

基於深度學習的早期的物體檢測,大都使用滑動視窗的方式進行視窗提取,這種方式本質是窮舉法 r-cnn [4] 。後來提出selective search [2]

等區域視窗提取演算法,對於給定的影象,不需要再使用乙個滑動視窗進行影象掃瞄,而是採用某種方式「提取」出一些候選視窗,在獲得對待檢測目標可接受的召回率的前提下,候選視窗的數量可以控制在幾千個或者幾百個。

後來,又出現了spp [5] ,其主要思想是去掉了原始影象上的crop/warp等操作,換成了在卷積特徵上的空間金字塔池化層。那麼為什麼要引入spp層呢?其實主要原因是cnn的全連線層要求輸入是大小一致的,而實際中的輸入往往大小不一,如果直接縮放到同一尺寸,很可能有的物體會充滿整個,而有的物體可能只能佔到的一角。spp對整圖提取固定維度的特徵,首先把均分成4份,每份提取相同維度的特徵,再把均分為16份,以此類推。可以看出,無論大小如何,提取出來的維度資料都是一致的,這樣就可以統一送至全連線層。

實際上,儘管r-cnn 和spp在檢測方面有了較大的進步,但是其帶來的重複計算問題讓人頭疼,而 fast r-cnn [6] 的出現正是為了解決這些問題。 fast r-cnn使用乙個簡化的spp層 —— roi(region of interesting) pooling層,其操作與spp類似,同時它的訓練和測試是不再分多步,不再需要額外的硬碟來儲存中間層的特徵,梯度也能夠通過roi pooling層直接傳播。fast r-cnn還使用svd分解全連線層的引數矩陣,壓縮為兩個規模小很多的全連線層。

fast r-cnn使用selective search來進行區域提取,速度依然不夠快。faster r-cnn則直接利用rpn (region proposal networks)網路來計算候選框。rpn以一張任意大小的為輸入,輸出一批矩形區域,每個區域對應乙個目標分數和位置資訊。從 r-cnn 到 faster r-cnn [7] ,這是乙個化零為整的過程,其之所以能夠成功,一方面得益於cnn強大的非線性建模能力,能夠學習出契合各種不同子任務的特徵,另一方面也是因為人們認識和思考檢測問題的角度在不斷發生改變,打破舊有滑動視窗的框架,將檢測看成乙個回歸問題,不同任務之間的耦合。

除了r-cnn、fast r-cnn 和 faster r-cnn等兩階段檢測演算法外,還有yolo [8-9] 、ssd [10] 等一階段檢測演算法——將物體檢測看作乙個回歸問題。

平面物體檢測

這個教程的目標是學習如何使用 features2d 和 calib3d 模組來檢測場景中的已知平面物體。測試資料 資料影象檔案,比如 box.png 或者 box in scene.png 等。建立新的控制台 console 專案。讀入兩個輸入影象。mat img1 imread argv 1 cv...

DPM物體檢測相關

deformable parts model dpm 簡介 dpm deformable part model 模型結構初解 關於dpmv5 deformable part model 演算法中model結構的解釋 把訓練出來的模型檔案.mat格式轉為.txt格式的 hog 用於人體檢測的梯度方向直...

物體檢測網路概述

yolo 實時快速目標檢測 yolo詳解 傳統目標檢測系統採用deformable parts models dpm 方法,通過滑動框方法提出目標區域,然後採用分類器來實現識別。近期的r cnn類方法採用region proposal methods,首先生成潛在的bounding boxes,然後...