0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

OpenCV預訓練SVM行人HOG特征分類器實現(xiàn)多尺度行人檢測

OpenCV學堂 ? 來源:OpenCV學堂 ? 作者:OpenCV學堂 ? 2022-07-05 11:02 ? 次閱讀

HOG概述

HOG(Histogram of Oriented Gradient)特征在對象檢測與模式匹配中是一種常見的特征提取算法,是基于本地像素塊進行特征直方圖提取的一種算法,對象局部的變形與光照影響有很好的穩(wěn)定性,最初是用HOG特征來來識別人像,通過HOG特征提取+SVM訓練,可以得到很好的效果,OpenCV已經(jīng)有了。HOG特征提取的大致流程如下:

2a4ac09a-fba0-11ec-ba43-dac502259ad0.png

305524ee-fba0-11ec-ba43-dac502259ad0.jpg

詳細解讀

第一步:灰度化
對HOG特征提取來說第一步是對輸入的彩色圖像轉(zhuǎn)換為灰度圖像,圖像灰度化的方法有很多,不同灰度化方法之間有一些微小的差異,從彩色到灰度的圖像轉(zhuǎn)換可以表示如下:

337b1dae-fba0-11ec-ba43-dac502259ad0.jpg

第二步:計算圖像梯度
計算圖像的X方向梯度dx與Y方向梯度dy,根據(jù)梯度計算mag與角度,計算梯度時候可以先高斯模糊一下(可選步驟),然后使用sobel或者其它一階導數(shù)算子計算梯度值dx、dy、mag、angle:

3396b56e-fba0-11ec-ba43-dac502259ad0.png

第三步:Cell分割與Block
對于圖像來說,分成8x8像素塊,每個塊稱為一個Cell,每個2x2大小的Cell稱為一個Block,每個Cell根據(jù)角度與權(quán)重建立直方圖,每20度為一個BIN,每個Cell得到9個值、每個Block得到36個值(4x9), 圖像如下:

33b8ee9a-fba0-11ec-ba43-dac502259ad0.jpg

每個Block為單位進行L2數(shù)據(jù)歸一化,作用是抵消光照/遷移影響,L2的歸一化的公式如下:

36c50be6-fba0-11ec-ba43-dac502259ad0.png

第四步:生成描述子
對于窗口64x128范圍大小的像素塊,可以得到8x16個Cell, 使用Block在窗口移動,得到輸出的向量總數(shù)為7x15x36=3780特征向量,每次Block移動步長是八個像素單位,一個Cell大小。

39da79b0-fba0-11ec-ba43-dac502259ad0.jpg

使用HOG特征數(shù)據(jù)

HOG特征本身是不支持旋轉(zhuǎn)不變性與多尺度檢測的,但是通過構(gòu)建高斯金字塔實現(xiàn)多尺度的開窗檢測就會得到不同分辨率的多尺度檢測支持。OpenCV中HOG多尺度對象檢測API如下:

virtualvoidcv::detectMultiScale(
InputArrayimg,
std::vector&foundLocations,
doublehitThreshold=0,
SizewinStride=Size(),
Sizepadding=Size(),
doublescale=1.05,
doublefinalThreshold=2.0,
booluseMeanshiftGrouping=false
)
Img-表示輸入圖像
foundLocations-表示發(fā)現(xiàn)對象矩形框
hitThreshold-表示SVM距離度量,默認0表示,表示特征與SVM分類超平面之間
winStride-表示窗口步長
padding-表示填充
scale-表示尺度空間
finalThreshold-最終閾值,默認為2.0
useMeanshiftGrouping-不建議使用,速度太慢拉

使用OpenCV預訓練SVM行人HOG特征分類器實現(xiàn)多尺度行人檢測的代碼如下:

importcv2ascv

if__name__=='__main__':
src=cv.imread("D:/images/pedestrian.png")
cv.imshow("input",src)
hog=cv.HOGDescriptor()
hog.setSVMDetector(cv.HOGDescriptor_getDefaultPeopleDetector())
#Detectpeopleintheimage
(rects,weights)=hog.detectMultiScale(src,
winStride=(4,4),
padding=(8,8),
scale=1.25,
useMeanshiftGrouping=False)
for(x,y,w,h)inrects:
cv.rectangle(src,(x,y),(x+w,y+h),(0,255,0),2)

cv.imshow("hog-detector",src)
cv.waitKey(0)
cv.destroyAllWindows()

原文標題:HOG特征詳解與行人檢測

文章出處:【微信公眾號:OpenCV學堂】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

審核編輯:彭靜

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 分類器
    +關注

    關注

    0

    文章

    152

    瀏覽量

    13162
  • OpenCV
    +關注

    關注

    29

    文章

    624

    瀏覽量

    41214
  • HOG特征
    +關注

    關注

    0

    文章

    2

    瀏覽量

    909

原文標題:HOG特征詳解與行人檢測

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于OPENCV的相機捕捉視頻進行人檢測--米爾NXP i.MX93開發(fā)板

    本文將介紹基于米爾電子MYD-LMX93開發(fā)板(米爾基于NXPi.MX93開發(fā)板)的基于OpenCV的人臉檢測方案測試。OpenCV提供了一個非常簡單的接口,用于相機捕捉一個視頻(我用的電腦內(nèi)置
    的頭像 發(fā)表于 11-07 09:03 ?520次閱讀
    基于<b class='flag-5'>OPENCV</b>的相機捕捉視頻進<b class='flag-5'>行人</b>臉<b class='flag-5'>檢測</b>--米爾NXP i.MX93開發(fā)板

    《DNK210使用指南 -CanMV版 V1.0》第三十五章 image圖像特征檢測實驗

    檢測圖像中的定向梯度特征,find_hog()方法如下所示:image.find_hog(roi, size=8)find_hog()方法用
    發(fā)表于 11-06 09:30

    中偉視界:礦山智能化——實時檢測識別井下行人車輛,人工智能賦能高風險作業(yè)安全

    行車不行人檢測AI分析算法通過利用人工智能和深度學習技術(shù),對井下行人和車輛的行駛情況進行實時檢測和識別,應用于礦山等高風險作業(yè)環(huán)境中。該算法具有高準確性、實時性、魯棒性和可擴展性等特點
    的頭像 發(fā)表于 07-16 19:37 ?441次閱讀
    中偉視界:礦山智能化——實時<b class='flag-5'>檢測</b>識別井下<b class='flag-5'>行人</b>車輛,人工智能賦能高風險作業(yè)安全

    opencv圖像識別有什么算法

    圖像識別算法: 邊緣檢測 :邊緣檢測是圖像識別中的基本步驟之一,用于識別圖像中的邊緣。常見的邊緣檢測算法有Canny邊緣檢測器、Sobel邊緣檢測器
    的頭像 發(fā)表于 07-16 10:40 ?747次閱讀

    訓練和遷移學習的區(qū)別和聯(lián)系

    訓練和遷移學習是深度學習和機器學習領域中的兩個重要概念,它們在提高模型性能、減少訓練時間和降低對數(shù)據(jù)量的需求方面發(fā)揮著關鍵作用。本文將從定義、原理、應用、區(qū)別和聯(lián)系等方面詳細探討
    的頭像 發(fā)表于 07-11 10:12 ?717次閱讀

    大語言模型的訓練

    能力,逐漸成為NLP領域的研究熱點。大語言模型的訓練是這一技術(shù)發(fā)展的關鍵步驟,它通過在海量無標簽數(shù)據(jù)上進行訓練,使模型學習到語言的通用知識,為后續(xù)的任務微調(diào)奠定基礎。本文將深入探討大語言模型
    的頭像 發(fā)表于 07-11 10:11 ?365次閱讀

    訓練模型的基本原理和應用

    訓練模型(Pre-trained Model)是深度學習和機器學習領域中的一個重要概念,尤其是在自然語言處理(NLP)和計算機視覺(CV)等領域中得到了廣泛應用。訓練模型指的是在大
    的頭像 發(fā)表于 07-03 18:20 ?2126次閱讀

    人臉檢測模型有哪些

    : Viola-Jones 算法 Viola-Jones 算法是一種基于 Haar 特征和 AdaBoost 算法的人臉檢測方法。它通過訓練一個級聯(lián)分類
    的頭像 發(fā)表于 07-03 17:05 ?870次閱讀

    ESP32-S3運行人檢測功耗有多大呢?

    ESP32-S3運行人檢測,功耗有多大?
    發(fā)表于 06-26 06:32

    【大語言模型:原理與工程實踐】大語言模型的訓練

    大語言模型的核心特點在于其龐大的參數(shù)量,這賦予了模型強大的學習容量,使其無需依賴微調(diào)即可適應各種下游任務,而更傾向于培養(yǎng)通用的處理能力。然而,隨著學習容量的增加,對訓練數(shù)據(jù)的需求也相應
    發(fā)表于 05-07 17:10

    不同種植設施背景蔬菜作物無人機高光譜精細分類2.0

    4、結(jié)果分析 4.3 不同分類方法比較與分析 4.3.1基于SVM方法的分類結(jié)果比較 在不同SVM分類方法中,由于其所采用的
    的頭像 發(fā)表于 03-21 11:19 ?420次閱讀

    EPSON XV4001BC陀螺儀傳感汽車導航系統(tǒng)的應用

    近年來為了提高汽車應用系統(tǒng)的可靠性,傳感融合系統(tǒng)被越來越多的應用到汽車領域,如汽車導航系統(tǒng)中的行人檢測碰撞警告等,通過提供精準的導航信息,為駕駛員提供更安全,更穩(wěn)定,更舒適的出行
    發(fā)表于 03-19 10:59 ?0次下載

    這些“黑話”只有PCB設計制造內(nèi)行人才懂

    【干貨分享】這些“黑話”只有PCB設計制造內(nèi)行人才懂!
    的頭像 發(fā)表于 12-15 10:10 ?613次閱讀
    這些“黑話”只有PCB設計制造內(nèi)<b class='flag-5'>行人</b>才懂

    一種通過視圖合成增強訓練的2D擴散模型的可擴展技術(shù)

    現(xiàn)有的3D物體檢測方法通常需要使用完全注釋的數(shù)據(jù)進行訓練,而使用訓練的語義特征可以帶來一些優(yōu)勢。
    的頭像 發(fā)表于 12-14 10:00 ?404次閱讀
    一種通過視圖合成增強<b class='flag-5'>預</b><b class='flag-5'>訓練</b>的2D擴散模型的可擴展技術(shù)

    基于LiDAR的行人重識別的研究分析

    基于激光雷達(LiDAR)的行人重識別。我們利用低成本的LiDAR設備解決了人員再識別中的挑戰(zhàn),構(gòu)建了名為LReID的LiDAR數(shù)據(jù)集,并提出了一種名為ReID3D的LiDAR-based ReID框架。
    發(fā)表于 12-11 10:41 ?642次閱讀
    基于LiDAR的<b class='flag-5'>行人</b>重識別的研究分析