国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐

這篇具有很好參考價(jià)值的文章主要介紹了【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

在【模式識(shí)別】SVM實(shí)現(xiàn)人臉表情分類一文中,我曾使用Hog特征+SVM的方式實(shí)現(xiàn)表情分類,但對(duì)于Hog特征的原理并未做深入整理。此篇將結(jié)合scikit-image來(lái)簡(jiǎn)單分析Hog特征的原理和維度關(guān)系。因?yàn)闆]看過(guò)原論文,因此自己的理解可能會(huì)有偏差,如有錯(cuò)誤,歡迎評(píng)論區(qū)指正。

圖像梯度

在進(jìn)入到Hog之前,需要先了解圖像中梯度的概念。
以下圖為例(圖源:[1]),黑色像素點(diǎn)值為0,白色像素點(diǎn)值為1,分別求X方向梯度和Y方向梯度,從后兩幅圖可以看出,當(dāng)箭頭從0突變到1時(shí),梯度為正值,圖像中以白色邊緣表示,反之為負(fù)值,以黑色的陰影表示。
【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐
更進(jìn)一步,把X方向的梯度和Y方向的梯度進(jìn)行融合,這樣可以計(jì)算出每一個(gè)像素點(diǎn)的融合梯度大小和方向。
【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐
例如,上圖中選擇了一個(gè)像素點(diǎn),其相鄰位置的像素大小如宮格所示,X方向梯度大小為50,Y方向梯度大小為50,那么其融合梯度大小為70.1,方向?yàn)?5°。

計(jì)算公式的數(shù)學(xué)表達(dá)如下[2]:
【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐

有了上面的概念之后,下面進(jìn)入到Hog特征提取的流程。

標(biāo)準(zhǔn)化gamma空間和顏色空間(Gamma/Colour Normalization)

標(biāo)準(zhǔn)化gamma空間和顏色空間是Hog特征提取的第一步。
這一步主要做了3個(gè)操作:

  • 1、因?yàn)轭伾畔⒂绊懖淮螅虼讼绒D(zhuǎn)化為灰度圖;

  • 2、進(jìn)行g(shù)amma校正:
    gamma<1在高灰度值區(qū)域內(nèi),動(dòng)態(tài)范圍變小,圖像對(duì)比度降低,圖像整體灰度值變大,顯得亮一些;gamma>1在低灰度值區(qū)域內(nèi),動(dòng)態(tài)范圍變小,圖像對(duì)比度降低,圖像整體灰度值變小,變得暗淡[3]
    【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐
    校正公式如下:
    【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐
    校正的好處在于:能夠有效地降低圖像局部的陰影和光照變化

  • 3、對(duì)圖像尺寸進(jìn)行重新調(diào)整,并讓各像素進(jìn)行歸一化;

計(jì)算圖像梯度

圖像預(yù)處理之后,就要計(jì)算圖中每一個(gè)像素點(diǎn)的梯度。之前已經(jīng)給出了圖像梯度的計(jì)算公式,但在實(shí)際使用中,兩個(gè)方向上的梯度分量可以用卷積的方式來(lái)快速計(jì)算。

  • x方向的梯度分量gradscalx:用[-1,0,1]梯度算子對(duì)原圖像做卷積運(yùn)算
  • y方向的梯度分量gradscaly:用[1,0,-1]梯度算子對(duì)原圖像做卷積運(yùn)算

為每個(gè)細(xì)胞單元構(gòu)建梯度方向直方圖

下面就需要引入一個(gè)細(xì)胞單元(Cell)的概念,這里Cell的尺寸可以自由設(shè)定,我這里以8 X 8 的尺寸為例,如下圖所示:
【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐
這張貓選自VOC2012數(shù)據(jù)集,我對(duì)其進(jìn)行了一定的裁剪。
這里的8 X 8指代一個(gè)Cell中包含8 X 8個(gè)像素點(diǎn),例如圖中的網(wǎng)格,每個(gè)網(wǎng)格代表一個(gè)像素點(diǎn),對(duì)于每一個(gè)像素點(diǎn)可以計(jì)算出一個(gè)梯度值和方向。

下面就要統(tǒng)計(jì)每個(gè)Cell的梯度直方圖,通常來(lái)說(shuō),直方圖是用來(lái)統(tǒng)計(jì)頻率的。這里也類似,因此,需要先把360°角度進(jìn)行分類。按照原作者的說(shuō)法,分成9份效果最好。于是就有了下面這張圖[3]:
【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐
這里表示的是每一塊為20°,這里初次看可能會(huì)有個(gè)疑問:360°/9 = 40°,每一塊是40°才對(duì),為什么是20°呢?
這是由于角度只看了數(shù)值,因此正角度和負(fù)角度的符號(hào)進(jìn)行忽略,因此180°/9 = 20°
舉個(gè)例子,第一個(gè)像素點(diǎn)梯度方向?yàn)?5°,40°<45°<60°,這樣它就被劃分到第三組。
以此類推,統(tǒng)計(jì)一個(gè)Cell中每個(gè)像素點(diǎn)的角度,就可以得到梯度方向直方圖。

把細(xì)胞單元組合成大的塊(block),并歸一化梯度直方圖

下一步就要引入另一個(gè)新概念:塊(block),一些博文中也稱作窗口(windows),應(yīng)該是同一個(gè)東西。
還是拿這張貓圖舉例,假設(shè)block的大小為2 X 2,那么就包含2 X 2個(gè)cell,所占據(jù)的尺寸為(16,16)個(gè)像素。
如圖中的藍(lán)框代表cell,黃框代表block,這里block的大小也是通過(guò)人為指定。
【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐這樣,一個(gè)block內(nèi)所有cell的特征向量串聯(lián)起來(lái)便得到該block的HOG特征,同時(shí),需要在塊內(nèi)進(jìn)行歸一化。歸一化的方法大致有四種:
【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐
根據(jù)原作者描述,使用L2-Hys方法效果最好[3]。

至于這里的大小設(shè)置,個(gè)人理解是和目標(biāo)的尺寸有關(guān)。例如,行人檢測(cè)的最佳參數(shù)設(shè)置是:3×3細(xì)胞/區(qū)間、6×6像素/細(xì)胞、9個(gè)直方圖通道[3]。

移動(dòng)block,計(jì)算維度

下面就到最后一步,一張圖里有多個(gè)像素,那么通過(guò)計(jì)算之后,整張圖的hog特征的維度是多少呢?
這里我們進(jìn)入實(shí)踐,來(lái)通過(guò)實(shí)踐來(lái)理解block是如何移動(dòng)的。

首先導(dǎo)庫(kù),使用opencvskimage

import cv2
from skimage.feature import hog

定義數(shù)據(jù)預(yù)處理過(guò)程,調(diào)整圖片尺寸為256x256,并將圖片進(jìn)行灰度化和歸一化

def preprocessing(src):
    gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)  # 將圖像轉(zhuǎn)換成灰度圖
    img = cv2.resize(gray, (256, 256))  # 尺寸調(diào)整g
    img = img/255.0    # 數(shù)據(jù)歸一化
    return img

提取Hog特征

img = cv2.imread("test.jpg")
img_afterpro = preprocessing(img)
image_features = hog(img_afterpro, orientations=9, pixels_per_cell=(8, 8), cells_per_block=(16, 16), block_norm='L2-Hys')

這里有多個(gè)參數(shù),主要的四個(gè)參數(shù)解釋和默認(rèn)取值如下:

  • orientations:方向數(shù)
  • pixels_per_cell:胞元大小
  • cells_per_block:塊大小
  • block_norm:可選塊歸一化方法L2-Hys(L2范數(shù))

【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐
這里圖片的大小為(256,256),cell的大小選擇為(8,8),block設(shè)置為(16,16),那么hog特征總的維度是多少呢?起初我的理解是多個(gè)block平鋪整個(gè)圖像,那么每個(gè)block大小為(8x16,8x16)=(128,128),即整幅圖像有四個(gè)block,那么總維度應(yīng)該是16x16x9x2x2=9216然而通過(guò)驗(yàn)證

image_features.shape

輸出的實(shí)際維度應(yīng)為665856,差得很遠(yuǎn)!

于是我想到了卷積神經(jīng)網(wǎng)絡(luò)中卷積核的滑動(dòng)窗口的運(yùn)動(dòng)方式,假設(shè)這里block也是以滑動(dòng)窗口的方式進(jìn)行運(yùn)動(dòng),每次運(yùn)動(dòng)的步長(zhǎng)為一個(gè)cell的寬度,如下圖所示:
【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐
這里的block應(yīng)該是(16,16),我這里為了作圖方便,仍保留為(2,2),旨在領(lǐng)會(huì)傳達(dá)的意思。
如圖所示,每個(gè)block計(jì)算完成之后,向水平/垂直方向移動(dòng)一個(gè)cell的寬度,這樣前一部分的cell會(huì)和下一個(gè)block再次計(jì)算。
這樣block總的個(gè)數(shù)可以這樣計(jì)算:
水平方向block個(gè)數(shù)=(256-128)/8 + 1 =17
垂直方向block個(gè)數(shù)=水平方向block個(gè)數(shù)=17
那么總維度=16x16x9x17x17=665856

結(jié)果證實(shí),該思路是正確的。

Reference

[1]https://www.bilibili.com/video/BV1dz411B7Rd
[2]https://blog.csdn.net/zouxy09/article/details/7929348
[3]https://blog.csdn.net/qq_37791134/article/details/81413758文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-420775.html

到了這里,關(guān)于【特征提取】Hog特征原理簡(jiǎn)介與代碼實(shí)踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Opencv 之ORB特征提取與匹配API簡(jiǎn)介及使用例程

    Opencv 之ORB特征提取與匹配API簡(jiǎn)介及使用例程

    ORB因其速度較快常被用于視覺SLAM中的位姿估計(jì)、視覺里程、圖像處理中的特征提取與匹配及圖像拼接等領(lǐng)域 本文將詳細(xì)給出使用例程及實(shí)現(xiàn)效果展示 創(chuàng)建 檢測(cè) 計(jì)算 檢測(cè)與計(jì)算 繪制特征點(diǎn) 繪制匹配點(diǎn)對(duì) 講述特征點(diǎn)提取與描述子計(jì)算,實(shí)現(xiàn)如下: 暴力匹配實(shí)現(xiàn): 其效果如

    2024年02月13日
    瀏覽(21)
  • 【機(jī)器學(xué)習(xí)】小波變換在特征提取中的實(shí)踐與應(yīng)用

    【機(jī)器學(xué)習(xí)】小波變換在特征提取中的實(shí)踐與應(yīng)用

    在信號(hào)處理與數(shù)據(jù)分析領(lǐng)域,小波變換作為一種強(qiáng)大的數(shù)學(xué)工具,其多尺度分析特性使得它在特征提取中扮演著至關(guān)重要的角色。本文將從小波變換的基本原理出發(fā),結(jié)合實(shí)例和代碼,深入探討小波變換在特征提取中的應(yīng)用,并著重分析幾種常見的基于小波變換的特征提取方

    2024年04月22日
    瀏覽(29)
  • AI實(shí)踐與學(xué)習(xí)1_NLP文本特征提取以及Milvus向量數(shù)據(jù)庫(kù)實(shí)踐

    AI實(shí)踐與學(xué)習(xí)1_NLP文本特征提取以及Milvus向量數(shù)據(jù)庫(kù)實(shí)踐

    隨著NLP預(yù)訓(xùn)練模型(大模型)以及多模態(tài)研究領(lǐng)域的發(fā)展,向量數(shù)據(jù)庫(kù)被使用的越來(lái)越多。 在XOP億級(jí)題庫(kù)業(yè)務(wù)背景下,對(duì)于試題召回搜索單單靠著ES分片集群普通搜索已經(jīng)出現(xiàn)性能瓶頸,因此需要預(yù)研其他技術(shù)方案提高試題搜索召回率。 現(xiàn)一個(gè)方案就是使用Bert等模型提取試

    2024年01月24日
    瀏覽(48)
  • 【圖像處理】SIFT角點(diǎn)特征提取原理

    ????????提起在OpenCV中的特征點(diǎn)提取,可以列出Harris,可以使用SIFT算法或SURF算法來(lái)檢測(cè)圖像中的角特征點(diǎn)。本篇圍繞sift的特征點(diǎn)提取,只是管中窺豹,而更多的特征點(diǎn)算法有: Harris Stephens / Shi–Tomasi 角點(diǎn)檢測(cè)算法 F?rstner角點(diǎn)檢測(cè)器; 多尺度 Harris 算子 水平曲線曲率法

    2024年02月07日
    瀏覽(29)
  • 模式識(shí)別 第7、8章 特征的選擇和提取

    模式識(shí)別 第7、8章 特征的選擇和提取

    目錄 一、基本概念 1.問題的提出 2.基本概念 3.特征選擇 4.特征的評(píng)價(jià)準(zhǔn)則 二、類別可分離性判據(jù) 1.常用的特征判據(jù) 1. 基于類內(nèi)類間距離的可分性判據(jù) ?2. 基于概率分布的可分性判據(jù) ?3. 基于熵的可分性判據(jù) 三、特征選擇的最優(yōu)和次優(yōu)算法 1.特征選擇的最優(yōu)算法 1. 最優(yōu)算法

    2024年02月03日
    瀏覽(19)
  • 特征檢測(cè)之HOG特征算法詳解及Opencv接口使用

    特征檢測(cè)之HOG特征算法詳解及Opencv接口使用

    特征描述符是圖像或圖像補(bǔ)丁的表示形式,它通過(guò)提取有用信息并丟棄無(wú)關(guān)信息來(lái)簡(jiǎn)化圖像。 通常,特征描述符將大小 W x H x 3 (通道)的圖像轉(zhuǎn)換為長(zhǎng)度為 n 的特征向量/數(shù)組。對(duì)于 HOG 特征描述符,輸入圖像的大小為 64 x 128 x 3 ,輸出特征向量的長(zhǎng)度為 3780 。 在HOG特征描述

    2024年02月14日
    瀏覽(19)
  • LabVIEW開發(fā)高壓配電設(shè)備振動(dòng)信號(hào)特征提取與模式識(shí)別

    LabVIEW開發(fā)高壓配電設(shè)備振動(dòng)信號(hào)特征提取與模式識(shí)別

    LabVIEW開發(fā)高壓配電設(shè)備振動(dòng)信號(hào)特征提取與模式識(shí)別 礦用高壓配電設(shè)備是井下供電系統(tǒng)中的關(guān)鍵設(shè)備之一,肩負(fù)著井下供配電和供電安全的雙重任務(wù),其工作狀態(tài)直接影響著井下供電系統(tǒng)的安全性和可靠性。機(jī)械故障占配電總故障的70%。因此,機(jī)械故障診斷對(duì)配電非常重要

    2024年02月13日
    瀏覽(27)
  • 【語(yǔ)音識(shí)別入門】特征提?。≒ython完整代碼)

    【語(yǔ)音識(shí)別入門】特征提?。≒ython完整代碼)

    1.1數(shù)字信號(hào)處理基礎(chǔ) 在科學(xué)和工程中遇到的大多數(shù)信號(hào)都是連續(xù)模擬信號(hào),例如電壓隨著時(shí)間變化,一天中溫度的變化等等,而計(jì)算機(jī)智能處理離散的信號(hào),因此必須對(duì)這些連續(xù)的模擬信號(hào)進(jìn)行轉(zhuǎn)化。通過(guò) 采樣–量化 來(lái)轉(zhuǎn)換成數(shù)字信號(hào)。 以 正弦波 為例: x ( t ) = s i n ( 2 Π

    2024年01月17日
    瀏覽(22)
  • 圖片特征HOG/LBP/ORB存為npy文件

    例如需要分類器KNN、SVM等對(duì)圖片特征進(jìn)行分類,在這之前把圖片特征轉(zhuǎn)為npy文件。 可以實(shí)現(xiàn)文件夾內(nèi)的所有圖片獲取hog特征后存npy文件。 SIFT的特征也可以參考這個(gè)處理 。 備忘。

    2024年02月13日
    瀏覽(19)
  • 【目標(biāo)檢測(cè)】(8) ASPP改進(jìn)加強(qiáng)特征提取模塊,附Tensorflow完整代碼

    【目標(biāo)檢測(cè)】(8) ASPP改進(jìn)加強(qiáng)特征提取模塊,附Tensorflow完整代碼

    各位同學(xué)好,最近想改進(jìn)一下YOLOV4的SPP加強(qiáng)特征提取模塊,看到很多論文中都使用 語(yǔ)義分割中的ASPP模塊 來(lái)改進(jìn),今天用Tensorflow復(fù)現(xiàn)一下代碼。 YOLOV4的主干網(wǎng)絡(luò)代碼可見我上一篇文章:https://blog.csdn.net/dgvv4/article/details/123818580 將本節(jié)的ASPP代碼替換原來(lái)的SPP模塊代碼即可 YO

    2024年02月06日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包