主頁 > 軟體設計 > 行人檢測特征提取_HOG和adaboost檢測行人檢測

行人檢測特征提取_HOG和adaboost檢測行人檢測

2020-10-07 13:40:15 軟體設計

一 特征提取

1.1 矩特征

矩特征主要表征了影像區域的幾何特征,又稱為幾何矩, 由于其具有旋轉、平移、尺度等特性的不變特征,所以又稱其為不變矩,在影像處理中,幾何不變矩可以作為一個重要的特征來表示物體,可以據此特征來對影像進行分類等操作,

矩特征是目前特征提取程序中效果比較理想的方法 矩實際上是影像灰度相對于影像質心的統計情況反映, Hu在1961 年首先提出了矩不變數的概念,并闡述了 7 個不變矩的公式, Li利用 Fourier-Mellin 變換的不變性推匯出一種構造任意階矩不變數的方法 并指出 Hu 矩就是它的一個特例,Zernike 在 Hu 的 7 個不變矩的基礎上做了進一步改進 提出了一組完備正交多項式{Vnm (x, y)},影像的 Zemike 矩實際上是影像在該正交多項式上的投影; D Shen 和 H H S 利用小波變換構造了具有旋轉不變性的目標影像特征小波矩,小波矩結合了小波和矩的特性,其不僅可以得到影像的全域特征,也可以得到影像的區域特征,因而在識別相似形狀的物體時有更高的識別率[1],下面主要敘述HU矩和Zernike矩,

與手工計算一個特征集不同的是,多層感知器提供一種合適的特征提取方法通過它的隱藏層,以便于特征在訓練程序中調整到資料集,Fukushima提出了用LRF特征的前饋神經網路,后來被Wohler and Anlauf應用到行人分類器上,是一種特別吸引人的2維影像分類方法,與標準的多層感知器形成對比的是,在隱藏層的神經細胞僅僅與輸入影像的受限區域區域,被稱為區域接受域(見圖三),隱層分為多個分支,一個分支的所有的神經元共享同樣的權重集,區域連通和權重共享性有效地降低了訓練階段需要確定的權重數量,從而允許相對小型的訓練集得到高的尺寸,

We further investigate the concept of LRFs by extracting the output of the hidden layer of a (once trained) NN/LRF as features subject to classification by generic classification methods (other than neural networks). Preliminary experiments have shown receptive fields of size 5X5 to be optimal, shifted at a step size of 2 pixels over the input image of size 18 X36. The number of branches is varied within the values of {8; 16; 24; 32} during parameter optimization.

我們進一步研究通過提取一個NN/LRF的隱層輸出作為特征LRFs提取輸出的隱層受通用分類分類方法(除了神經網路)限制的LRF的概念,初步實驗顯示出的接受域大小的5X5為最佳,每一步改變2個像素在大小為的18 X36輸入影像,在引數優化程序中分支的數量在{8; 16; 24; 32}中變化[4],

我下載參考文獻[4]中LRF的參考文獻,這些文獻中也有講到local receptive fields的,但是也只是描述NN/LRF的應用,并沒有敘述LRF的概念,如何得到的,其中有一些是講到了local features和spatio-temporal receptive ?elds的,LRF多是與NN結合起來用,與我們的框架不符,可以不考慮增加LRF特征,

1.3 Edgelet特征[5][6]

Edgelet特征描述的是人體的輪廓特征,但是它描述的是人體區域輪廓的特征,包括的形狀有直線、弧線等,它將人體分為幾個部分來訓練,比如:全身、頭肩部、腿部和軀干部等,每個部分都使用adaboost演算法訓練一個強分類器;在分類時,利用四個部分的聯合概率來判斷,由于該演算法采用的是人體的區域特征,所以在出現遮擋的情況下仍然有很好的表現,缺點是特征的計算比較復雜,

Wu Bo提取影像的edgelet特征用于檢測靜態影像中的人體,對組成人體的各個部分分別建立模型,每一個edgelet描述人體的某個部位的輪廓,然后再用adaboost演算法篩選出最有效的一組edgelet來描述人的整體,

如圖3.1所示,Wu Bo定義了三種edgelet,包括直線型、弧形和對稱型,每一個edgelet由一組邊緣點構成,是一條具有一定形狀和位置的線段,對于影像中任意的位置,根據該位置是否具有和某edgelet形狀相似的邊緣,就可以得到一個回應值,如果邊緣的形狀與edgelet越相似,那么回應值就越高,

edgelet在某個位置(x,y)上的回應值可以這樣計算,

這種方法分別檢測視窗的區域區域,然后再綜合這些區域的檢測結果來做最終的判決,這類方法的優點在于能更好地處理遮擋以及行人姿勢的多樣性,主要問題在于,如何定義區域以及如何整合來自多個部位檢測器的資訊,

其中,K是點的數目,(ui ,vi)是該點在edgelet中的位置,Ie(x+ui,y+vi)是影像中對應該點的邊緣強度,Ne(x+ui,y+yi),ni表示影像中(x+ui,y+vi)點的梯度的法向量和edgelet中該點的法向量的內積,

綜上,可以得到edgelet相對于整體特征有其自身的優點,這種方法以檢測區域為基礎,在得到了各個區域的檢測結果后,再分析各區域之間的相互關系來得到最終的檢測結果,這種方法的優點在于能更好地處理遮擋以及行人姿勢的多樣性,這種方法的主要問題是,怎樣定義區域和怎樣整合來自多個區域位置的分類器的資訊,

1.4 Shapelet特征[7]

2007年Sabzmeydani[20]提出了基于Shapelet特征的目標檢測演算法,其相較于Dalal提出的基于Hog特征的演算法將誤檢率進一步降低了整整10倍,該演算法最核心的思想是利用機器學習的方法自動地生成自適應的區域特征,Shapelet特征是一系列mid-level特征的集合,這些特征集中描述影像的區域區域特征,并通過Adaboost集中訓練low-level的梯度資訊組合構建而成,以往的物體檢測演算法其主要的一個缺點就是在于使用固定的特征描述模型,其弊端在于特征的形成缺乏自適應性,很多情況下可能會丟失一些具有判別力的細節資訊,而機器學習往往只是利用來設定分類器的引數或者選擇特征的;相對的,在基于Shapelet特征的演算法中,特征本身就是通過機器學習,由很多low-level的梯度資訊組合而來的,是機器學習在目標檢測中更為徹底與深入的應用,

該演算法的核心思想就是,兩次利用Adaboost演算法:第一步,著眼于(靜態)影像區域,對于影像區域區域內所有的低級特征(Low-Level,如最簡單的邊緣梯度特征等)進行第一次的Adaboost訓練,訓練以后得到低級特征的加權和,即為Shapelet特征;然后,第二次使用Adaboost在所有求得的Shapelet特征中進行訓練,選擇最優秀的弱分類器組合而得最終的強分類器,

基于Shapelet特征的訓練程序包括以下三步:

第一步,輸入訓練樣本圖片,計算每幅影像在不同方向上的梯度值,Sabzmeydani使用了{0°,45°,90°,135°}四個方向,然后進行平滑濾波,每個low-level特征包括位置、方向、以及強度大小三個資訊,這些low-level的梯度值用來構建Shapelet特征,

第二步,求取Shapelet特征,在每個子視窗內,通過Adaboost選擇部磁區分樣本類別能力優秀的部分low-level特征來構建mid-level的Shapelet特征,每個子視窗都可以以此得到一個Shapelet特征,每一個Shapelet特征都比直接的low-level特征的區分能力要強,它是子視窗內不同方向不同位置的梯度的組合,

第三步,訓練最終的強分類器,單一的Shapelet特征僅僅描述影像的一個區域區域的輪廓資訊,因此它的分類能力是非常有限的,我們將之前所有求得的Shapelet特征作為輸入,第二次利用Adaboost進行訓練來構造最終的強分類器,

Shapelet特征通過先著眼于區域的小特征集,從底層特征通過機器學習得出中層特征(Mid-Level)的方法,嘗試獲得更多更有用的細節資訊,而無需同時考場所有的低層特征,Shapelet特征的特性:簡單、低維;由目標物體學習而來,對其他類別的物體具有排他性;具有比較強的判別能力;區域同樣有效:可將整體分為各部分分別提取特征[5],

我們的行人檢測的主體框架和這些論文的行人檢測主體框架是一致的,差別在于兩個方面:一,特征提取我們的是單一的矩形HOG特征并沒有和其他特征如shapelet特征融合,沒有用到高斯權重和三線性插值,也沒有嘗試圓型HOG特征,而有一些論文就做了一些相關作業;二,我們的分類器只是標準的adaboost級聯(GAB級聯),只是adaboost的弱分類器是用二叉樹來實作的,而上述論文中有的adaboost分類器的弱分類器用SVM實作,有的分類器用adaboost和決策樹結合來實作,有一些是標準的adaboost級聯,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/161325.html

標籤:其他

上一篇:關于初賽的一些復習內容

下一篇:【初賽】初賽提綱(to be countinue)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more