由於工作需要,這段時間對目標檢測技術進行了調研。主要是對目標檢測的發展大致進行了了解。
因為任務中混雜了目標檢測與目標識別,我也查閱了一些資料對這兩個名詞進行區分。以下均為個人見解,如有錯誤還請指出。
首先對兩個名詞進行解析:目標檢測和目標識別。目標檢測的目的是確定某張給定影象中是否存在給定類別(比如人、車輛、建築)的目標例項,如果存在,就返回每個目標例項的空間位置和覆蓋範圍(比如返回乙個邊界框)。而目標識別需要將檢測的目標與資料庫中的某個樣例對應起來(樣例可以是某個特定物體也可以是某一類物體),完成識別匹配功能,因此會要求指出目標的一些其他特性數值。
從嚴格意義上來說,當目標識別任務中的樣例是某個特定物體的情況下,目標檢測也可以看作是目標識別的乙個預處理過程,之後再根據給定樣例來進行識別匹配處理。但是當識別任務中的樣例是某一類物體的情況下,兩者並無本質區別,其使用的技術是相通的,因此也會將兩種技術統稱為目標檢測與識別技術。在此主要學習的是目標檢測技術。
目標檢測技術是計算機視覺領域的核心問題之一,由於各類物體有不同的外觀、形狀和姿態,加上成像時光照、遮擋等因素的干擾,它也一直是計算機視覺領域最具有挑戰性的問題之一。早期的方法都是基於人工設計的特徵實現的,受限於這種特徵對於物體的表示能力,目標檢測技術的發展曾一度十分緩慢。在2023年,rcnn方法將目標檢測與深度學習相結合,成為目標檢測發展史上的重要里程碑,之後目標檢測領域得以迅速發展。基於深度學習的目標檢測演算法發展大致如下圖所示,來自一位大神的github整理:
目前主流的基於深度學習的目標檢測演算法大致可以分為以下兩大類別:
1)two-stage。這類檢測演算法一般分為兩個步驟進行,首先從影象中提取出候選區域,包含目標大概的位置資訊,然後再對候選區域進行位置精修和物體分類處理,得到最終的檢測結果。其典型代表為rcnn系列方法,如fast r-cnn、faster r-cnn等。
2)one-stage。這種方法一般是乙個端到端的框架,直接在輸入的上經過各種卷積池化類操作產生物體的類別、概率和位置座標值,比較典型的演算法有ssd、yolo和cornernet等。
一般情況下,two-stage 演算法在結果的準確性上有優勢,而one-stage 演算法在計算速度上有優勢。不過,隨著研究的發展與進步,兩類演算法都在兩個方面做改進,其準確性和速度均能得到良好的保障。下圖展示了一些目前的目標檢測演算法分類,來自這位大神的部落格。
目標檢測(一)——目標檢測綜述(持續更新中)
目標檢測研究現狀調研
近期在調研目標檢測的研究現狀,包括two stage和one stage,以及anchor based和anchor free。把用到的一些鏈結記錄一下 方便查閱。從錨點到關鍵點,最新的目標檢測方法發展到哪了 這篇文章介紹了目標檢測方法從anchor based到anchor free的發展,並指出...
目標檢測技術指標
由於部分行間公式渲染不成功,公式完整版請移步個人部落格 map在目標檢測中用於判斷識別的準確率,即用於衡量物品被檢測出的概率,其跟以下兩個指標有關 對於以上兩個概念,將其置於標準二分類問題框架下有以下公式 precision cfrac recall cfrac 對於以上,有 對於不同的識別閾值,p...
單目3D目標檢測調研
現有的單目3d目標檢測方案主要方案主要分為兩類,分別為基於的方法和基於偽雷達點雲的方法。基於的方法一般通過2d 3d之間的幾何約束來學習,包括目標形狀資訊,地面資訊,以及關鍵點等等,通過這些資訊在損失函式中約束3d檢測學習得更好。基於偽雷達點雲的方法首先從2d中估計出單目深度資訊來,然後利用單目深度...