基於深度學習的目標跟蹤

2022-08-18 05:03:10 字數 2838 閱讀 6082

基於深度學習的目標檢測

基於深度學習的目標檢測綜述

目標檢測演算法匯聚

目標檢測演算法總結

10行**實現目標檢測

深度學習目標檢測

綜述(作者的個人理解 一刀流)

tensorflow實現的目標檢測(有github)

目標檢測演算法簡介,都是文字

內容摘要:r-cnn是region-based convolutional neural networks的縮寫,中文翻譯是基於區域的卷積神經網路,是一種結合區域提名(region proposal)和卷積神經網路(cnn)的目標檢測方法。ross girshick在2023年的開山之作《rich feature hierarchies for accurate object detection and semantic segmentation》[1]奠定了這個子領域的基礎,這篇**後續版本發表在cvpr 2014[2],期刊版本發表在pami 2015[3]。

其實在r-cnn之前已經有很多研究者嘗試用deep learning的方法來做目標檢測了,包括overfeat[7],但r-cnn是第乙個真正可以工業級應用的解決方案,這也和深度學習本身的發展類似,神經網路、卷積網路都不是什麼新概念,但在本世紀突然真正變得可行,而一旦可行之後再迅猛發展也不足為奇了。

r-cnn這個領域目前研究非常活躍,先後出現了r-cnn[1,2,3,18]、spp-net[4,19]、fast r-cnn[14, 20] 、faster r-cnn[5,21]、r-fcn[16,24]、yolo[15,22]、ssd[17,23]等研究。ross girshick作為這個領域的開山鼻祖總是神一樣的存在,r-cnn、fast r-cnn、faster r-cnn、yolo都和他有關。這些創新的工作其實很多時候是把一些傳統視覺領域的方法和深度學習結合起來了,比如選擇性搜尋(selective search)和影象金字塔(pyramid)等。

第一步是要做區域提名(region proposal):找出可能的感興趣區域(region of interest, roi)

一、滑動視窗:本質上就是窮舉法(不同的尺度和長寬比把所有可能的大大小小的塊都窮舉出來,然後送去識別),複雜度太高,產生了很多的冗餘候選區域,在現實當中不可行。

二、規則塊:窮舉法的基礎上進行了一些剪枝,只選用固定的大小和長寬比,對於普通的目標檢測來說,規則塊依然需要訪問很多的位置,複雜度高。

三、選擇性搜尋:核心在於如何有效地去除冗餘候選區域(其實冗餘候選區域大多是發生了重疊)。方法:自底向上合併相鄰的重疊區域,從而減少冗餘。        選擇性搜尋採用多樣性策略來增加候選區域以保證召回,比如顏色空間考慮rgb、灰度、hsv及其變種等,相似度計算時既考慮顏色相似度,又考慮紋理、大小、重疊情況等。

總體上,選擇性搜尋是一種比較樸素的區域提名方法,被早期的基於深度學習的目標檢測方法(包括overfeat和r-cnn等)廣泛利用,但被當前的新方法棄用了。

overfeat是用cnn統一來做分類、定位和檢測的經典之作,作者是深度學習大神之一————yann lecun在紐約大學的團隊。overfeat也是ilsvrc 2013任務3(分類+定位)的冠軍得主[10]。

overfeat是cnn用來做目標檢測的早期工作,主要思想是採用了多尺度滑動視窗來做分類、定位和檢測,雖然是多個任務但重用了模型前面幾層,這種模型重用的思路也是後來r-cnn系列不斷沿用和改進的經典做法。

當然overfeat也是有不少缺點的,至少速度和效果都有很大改進空間,後面的r-cnn系列在這兩方面做了很多提公升。

基於區域提名的方法,包括r-cnn、spp-net、fast r-cnn、faster r-cnn、r-fcn。

1.r-cnn:overfeat可以看做是r-cnn的乙個特殊情況,只需要把selective search(rcnn)換成多尺度的滑動視窗(overfeat),每個類別的邊框回歸器換成統一的邊框回歸器,svm換為多層網路即可。但是overfeat實際比r-cnn快9倍,這主要得益於卷積相關的共享計算。

事實上,r-cnn有很多缺點:重複計算,svm模型,訓練測試分為多步,訓練的空間和時間代價很高,(gpu上處理一張需要13秒,cpu上則需要53秒)

r-cnn效果好,其中ilsvrc 2013資料集上的map由overfeat的24.3%提公升到了31.4%,第一次有了質的改變。

2.fast r-cnn是要解決r-cnn和spp-net兩千個左右候選框帶來的重複計算問題,其主要思想為:使用乙個簡化的spp層,訓練和測試是不再分多步,svd

fast r-cnn比r-cnn的訓練速度(大模型l)快8.8倍,測試時間快213倍,比spp-net訓練速度快2.6倍,測試速度快10倍左右。

3.faster r-cnn則直接利用rpn(region proposal networks)網路來計算候選框,拋棄了selective search,引入了rpn網路,使得區域提名、分類、回歸一起共用卷積特徵,從而得到了進一步的加速。但是,faster r-cnn需要對兩萬個anchor box先判斷是否是目標(目標判定),然後再進行目標識別,分成了兩步。

4.r-fcn則將目標檢測最後的全連線層之類換為了乙個位置敏感的的卷積網路,從而讓所有計算都可以共享。

端到端(end-to-end)的目標檢測方法,這些方法無需區域提名,包括yolo和ssd

yolo的全拼是you only look once,顧名思義就是只看一次,進一步把目標判定和目標識別合二為一,所以識別效能有了很大提公升,達到每秒45幀,而在快速版yolo(fast yolo,卷積層更少)中,可以達到每秒155幀。

深度學習之目標跟蹤

一.跟蹤進展 advances in visual tracking 作者在前面的機器學習文章中也講到了 tracking,感興趣的童鞋可以 review一下 機器學習實踐系列之5 目標跟蹤 前面只是基於傳統方法的跟蹤,這一篇我們 focus 在深度學習上。關注跟蹤演算法的進展,只需要 follow...

目標跟蹤方法 基於輪廓跟蹤

一 理論 該方法的基本思想是使用一組封閉的輪廓曲線來表徵目標,將曲線作為模板,在相鄰幀的邊緣影象中匹配並跟蹤該模板。該方法與基於區域的跟蹤方法相類似,都存在目標模板匹配和目標模板更新兩個環節,但是該方法是在二值化影象中匹配目標的輪廓模板,大大減小了計算量,提高了匹配的速度。主動輪廓模型方法是近些年來...

基於Opencv的多目標跟蹤

python實現 import cv2 import sys major ver,minor ver,subminor ver cv2.version split print major ver,minor ver,subminor ver if name main 建立 boosting mil ...