
























摘要:行人檢測在智能監控和自動駕駛等領域需要兼顧精度和實時性。然而,現有技術在處理復雜場景時仍面臨計算效率低的問題。該研究采用基于方向梯度直方圖(HOG) 的行人檢測方法,并通過顏色通道縮減技術,在保留圖像關鍵信息的同時減少計算量。通過一系列實驗驗證了預處理策略在減輕計算負擔和提升檢測精度方面的有效性。研究結果表明,該方法在保持檢測精度的同時,檢測速度提升了 8%,為行人檢測技術的發展提供了新的視角和優化方向。
關鍵詞:行人檢測;方向梯度直方圖;顏色通道縮減;計算效率;特征提取;目標檢測
中圖分類號:TP181 文獻標識碼:A
文章編號:1009-3044(2025)01-0027-06 開放科學(資源服務) 標識碼(OSID) :
0 引言
行人檢測技術基于計算機視覺、紅外線[1]、雷達[2]等技術,用于對目標環境進行監測和識別。其核心在于判斷環境中是否存在行人,并進一步獲取目標的詳細信息。這一技術能夠結合其他相關技術,如目標重識別和目標跟蹤,并廣泛應用于自動駕駛、自動監控等領域。近年來,隨著人工智能、計算機技術和模式識別的快速發展,以及智能監控和自動駕駛領域對安全性的日益重視,行人檢測技術受到了廣泛關注并取得了顯著進展。
早期的行人檢測技術主要基于傳統的圖像處理和模式識別技術,其主要步驟包括特征提取、訓練分類器以及行人識別。研究者們專注于行人特征的提取和分類。例如,在 2002 年和 2003 年,Ojala 和 Jones 等人先后提出了 LBP 特征以及 VJ 檢測器[3-5];2005 年,Bo Wu 提出了小邊特征(Edgelet) ,能夠分塊識別人體局部輪廓,從而提高檢測的魯棒性[6]。Walk 等人在 2010 年提出了顏色自相似性特征,他們將128×64的圖像分成8×8像素的128 個小塊,并統計圖像的 HSV 直方圖信息[7]。盡管上述方法在理論上是有效的,但它們也存在一定的局限性。例如,LBP 特征的穩定性較差[8];Edgelet 特征存在最優值無法契合的問題[9];以及顏色自相似特征計算量過于龐大,導致實際生產中無法應用。
HOG 檢測器作為計算機視覺中的里程碑式算法,具有對光照和視角變化的魯棒性、計算效率高且易于實現的優勢,在多種目標檢測任務中得到了廣泛應用[10-13]。本研究基于 HOG 算法對行人檢測方法進行了深入探討,提出了一種顏色通道縮減的 HOG 行人檢測方案,旨在保持檢測精度的同時降低計算復雜度以提高檢測速度。在改進方案中,通過顏色通道縮減技術減少了圖像的輸入,從而降低了計算量。此外,該方法在保持檢測精度的同時加快了檢測速度,為自動駕駛和智能監控領域的行人檢測提供了一種高效且實用的解決方案。
1 顏色通道縮減的 HOG 特征行人檢測
本節將依次介紹顏色通道縮減的 HOG 行人檢測方案流程,主要包括:圖像預處理、顏色通道縮減再量化、特征提取以及支持向量機(SVM) 分類。其中,圖像預處理、特征提取和支持向量機分類是 HOG 行人檢測方案的經典流程。本研究主要是在圖像預處理環節對圖像的輸入進行顏色通道的縮減,以此減少后續的計算量。因此,在介紹整個實驗流程時,顏色通道縮減與再量化被放置在圖像預處理和特征提取之間,以方便讀者閱讀和理解。
1.1 圖像預處理
圖像預處理的目的是盡可能排除干擾,保證檢測的精度與速度,提高識別算法的可靠性。在基于 HOG 原理的圖像行人檢測中,最常用的圖像預處理方法包括 Gamma 變換和灰度化。
灰度化是一個可選的圖像預處理操作,因為彩色圖像也可以直接計算梯度。對于彩色圖像,將 RGB 分量轉換為灰度圖的公式如公式(1) 所示:
Gray = 0.3*R + 0.59*G + 0.11*B (1)
式中:Gray 表示轉換后的像素灰度值,R、G、B 分別為紅、綠、藍顏色通道的值。
伽馬(Gamma) 矯正是在圖片照度不均的情況下,通過伽馬矯正的方式對圖片的整體亮度進行調節,從而減少光照對圖像的影響。通常,進行 Gamma 標準化的方法主要有兩種:平方根法和對數法。本研究采用公式(2) 所示的平方根方法進行伽馬標準化。
Y (x,y ) = I (x,y )0.5 (2)
式中:I (x,y )為原像素位置(x,y )上的值,Y (x,y )為伽馬標準化后(x,y )位置的值。
1.2 顏色通道縮減再量化
在行人檢測中,采集的圖像通常為 RGB 圖像,共有三種顏色通道:紅、綠、藍。每個顏色通道包含 256 (0 到 255) 個不同的顏色值,這使得圖像更加真實和清晰,但也為行人特征的提取和判斷帶來了巨大的計算負擔。顏色通道的縮減指的是將原來的 0 到 255 共 256 個顏色值進行縮減;縮減再量化指的是將縮減后的顏色值從運算結束后的小數值轉換為整數值。例如,原來的顏色值為 125,將顏色信息減少到原來的一半時,得到的數值為 62.5,此時需要將其再量化為 62。
本文對輸入的靜態圖片進行信息縮減,使輸入的圖像在能夠進行行人檢測的同時減少計算量,即在保持檢測準確率的同時縮短計算時間。本文將對輸入的圖片進行顏色通道的縮減,然后通過再量化減少計算負擔,從而提升后續計算速度。接下來的實驗中,顏色通道的縮減方式包括以下兩種:
第一種是在進行圖片顏色縮減時,直接將顏色通道從[0,255]的原始范圍映射到一個更小的區間。例如,將[0,255]映射到[0,127],直接將每個顏色值除以2,然后再進行量化。以將顏色信息從[0,255]映射到[0,127]的方式為例,其縮減公式如公式(3) 所示。
pi = ?pi/2?" (3)
式中:pi 表示圖像中每個像素的值,"?pi/2?" 表示每個顏色值縮小到原來的一半,再進行向下取整。此處進行向下取整的原因是:Python自帶的取整方式為向下取整(截斷取整) ,即直接舍棄小數點后的部分,僅保留整數部分。經過這種方式處理后,圖像會比原圖更加暗。這是因為在 RGB 圖像中,顏色通道的值范圍為0到255,隨著值的增大,像素點會變得越來越亮,處理效果如圖1所示。
第二種方式是將圖像中原本位于一個區間內的顏色值映射為一個固定值。例如,要將原圖的顏色信息壓縮到原來的一半,只須將區間[ 0,1]內的顏色值映射為0,區間[ 2,3]內的顏色值映射為2,以此類推,直到區間[ 244,255]內的顏色值映射為244。具體的區間到固定值的映射公式如公式(4) 所示。
pi ="?pi/2?·2 (4)
式中:pi 表示像素點的顏色值,"?pi/2? 表示將顏色值縮小為原來的一半并向下取整,最后將"?pi/2? 的結果再乘以2,完成區間到值的映射。在完成顏色區間到值的映射后,處理后的圖像與原圖像幾乎沒有差別。顏色值的區間到值映射處理效果如圖2所示。
在減少顏色信息的同時,為了保證行人檢測的正確性,需要確保圖像中的顏色信息被縮減到合適的范圍。本文將顏色信息縮減分為三組,分別為:128× 128×128、64×64×64 和32×32×32。在接下來的實驗中,將對需要進行 HOG 特征檢測的圖像先進行顏色信息的壓縮,并與原始圖像的處理速度和檢測正確性進行比較與分析。
1.3 特征提取
1.3.1 基于HOG 的特征提取
HOG 特征的基本算法流程如下:首先,將圖像以像素為單位劃分為多個小區域;隨后,計算并統計每個區域的梯度直方圖,通過投影得到一個9維特征向量;最后,將每個小區域的特征組合成一個大區域,并將所有區域的特征描述串聯起來,表示該圖像的 HOG 特征,從而得到最終分類的特征向量。具體算法流程如圖3所示。
HOG 特征提取和計算的主要步驟依次為:空間插值投影、歸一化梯度塊內的梯度直方圖、Gamma 空間標準化和顏色空間標準化、高斯加權、計算梯度值、收集 HOG 特征向量。(x,y ) 像素點的 HOG 特征計算如公式(5) 和公式(6) 所示。
式中:dx、dy 分別為像素點在水平方向上和豎直方向上的梯度值;H (x,y ) 為像素點的梯度幅值大小;梯度方向為θ (x,y ),梯度方向q 的取值區間為[0,π)。
如公式(7) 和公式(8) 所示,梯度算子包括一維和二維算子。
一維算子:[-1,1][-1,0,1],[-1,-8,0,+8,+1] (7)
上述算子已經在文獻[14]中進行了測試和驗證。假設像素點(x,y )的像素值大小為I (x,y ),梯度分量dx、dy 的計算如公式(9) 所示。
dx (x,y ) = I (x + 1,y ) - I (x - 1,y )
dy (x,y ) = I (x,y + 1) - I (x,y - 1)(9)
1.3.2 高斯權重調整
根據高斯權重理論[15],在一個區域中,越靠近中心的像素值對特征的貢獻越大。高斯權重體現在位置的偏向性上,位于區域中心的像素能夠更好地表達區域內的信息變化。該理論可以用來調整梯度幅值,從而更有效地進行各單元的 HOG 特征提取。
1.3.3 空間梯度插值投影
在進行梯度方向統計時,梯度方向的范圍被限定為[0,180],并將該范圍均分為 9 個方向區域。計算每個像素的梯度后,根據其方向和幅值進行方向值統計,并將得到的值加到對應的方向區域上。然而,由于實驗中梯度方向通常不在中心點,因此通常使用投影算法,將梯度方向投影到兩個相鄰方向區域的中心,并將梯度值按比例疊加到這兩個區域上。
1.3.4 歸一化權重及生成特征向量
對圖像進行歸一化處理是為了提高檢測器在光照變化環境下的穩定性。HOG 特征是由不同區域的特征組合而成的,每個區域內像素點的變化都會引起整體特征的變化。如果某一區域的特征幅值較大,會導致區域間特征值差異過大,從而降低分類能力。為了解決這一問題,可以以區域為單位,對每個區域的特征進行歸一化處理,并將各區域的結果組合成最終的特征向量。公式(10) ~(13) 展示了一些常用的歸一化方法。
1.4 支持向量機
機器學習被廣泛應用于行人檢測領域,其中支持向量機(Support Vector Machine,SVM) 和Adaboost方法是最常用的兩種方法。1995 年,Cortes 和 Vapnik 提出了支持向量機[16]。支持向量機通過尋找目標類與非目標類之間的最大間隔來劃分超平面,該方法性能高、實現簡單,并且能夠從特征集中選擇最相關的描述符,因此在目標檢測中非常受歡迎。本文以如圖4 所示的二維平面情況來解釋支持向量機的分類原理。
式中:方形與圓形代表不同的樣本,H 是兩種樣本的分類線,H1 和H2 是平行于H且經過不同樣本的兩條直線,H1 和H2 的距離2 /‖w ‖稱為分類間距。最優分類線指的是某條分類線,該線能夠正確分類兩種樣本,并使樣本的分類間距2 "/‖w"‖取到最大值。如上所述,可以推理擴展到更高的維度。設線性可分樣本集為{ xi,yi },其中i = 1,2,3...,n,xi ∈ Rd,yi ∈ {-1,+1},在d維空間中的線性判別函數為:g (x,y ) = wx + b,其分類面的定義為w ? x + b = 0。可以使用歸一化操作,使得樣本都滿足約束條件| g(x) | ≥ 1。在這樣的約束條件下分類間隔就等于2 ‖w"‖。此時,要讓分類間隔最大,就要求‖w"‖或‖w"‖2取到最小值。如果要所有的樣本都能正確分類,必須保證公式(14) 所示的條件。
yi (w ? xi + b) ≥ 1,i = 1,2,...,n (14)
最佳分類面是滿足公式(14) 的同時使目標函數"‖w"‖2取得極小值的分類面。最優分類面的求解問題等價于求解滿足公式(15) 約束條件的問題。
公式(15) 的約束優化問題存在全局最優解,滿足最優化前提條件ai { yi [ w ? xi + b ] - 1} = 0。通過使用拉格朗日乘子法,可以得到上述問題的最優分類函數,最優分類函數如公式(16) 所示。
f (x) = sgn { w* ? x + b* }= sgn { Σi = 1l α*i yi (xi,x) + b* } (16)
式中:(xi,x)是兩個向量的內積,a*,b* 為確定所求分類面的參數。在線性不可分的情況下,可以在條件yi [ w ? xi + b ] - 1 ≥ 0 中增加一個松弛項ξi,使之變為:yi [ w ? xi + b ] - 1 + ξi ≥ 0 ,將目標函數改為求1/2"‖w"‖2 + C(Σi = 1n ξi )的極小值,目標函數中C gt; 0的C是懲罰水平,用于對錯誤分類樣本的控制。
核函數K對所有x,z ∈ X滿足K (x,z ) = Φ(x) ? Φ(z ),這里的Φ是從輸入空間X到某個特征空間F的映射,x =(x1,x2,...,xΦ n ) ? Φ(x) = (Φ1 (x), 2 (x)...,Φn (x))將輸入空間X映射到一個新的空間 F = { Φ(x) | x ∈ X },例如(x1,x2 ) ?Φ1 (x1,x2 ) = (x21,x22,x1 x2 )。
核函數K (xi,xj ) 用于進行非線性變換后的高維線性分類。此時,分類函數表達式為f (x) = sgn { Σi = 1k a*i yiK (xi,x) + b* }。使用不同的核函數K (x ,xi ) 可以得到不同的分類策略和支持向量算法。最常用的核函數如下所示:
1) 線性核函數如公式(17) 所示。
k(x ,xi ) = (x ,x2) i ) (17)
2 )"多項式核函數如公式18所示,其中的s,c,d 為參數。
k(x,xi ) = (s(x,xi ) + c)d(18)
3) 徑向基核函數(簡稱RBF核) 如公式19所示,其中γ為參數。
k(x,xi ) = exp(-γ| x - xi|(19)
4) Sigmoid核函數如公式20所示,其中的s和c為參數。
k(x,xi ) = tanh(s(x,xi ) + c) (20)
在接下來的實驗中,將應用 SVM 方法到基于梯度方向直方圖(HOG) 的行人檢測方法:首先從輸入圖像中提取特征向量,然后用 SVM 分類器判斷獲得的特征是否為行人的特征。
2 實驗與結果分析
本節首先介紹實驗運行環境,包括硬件配置、軟件平臺及使用的數據集。隨后,詳細闡述基于 HOG 特征和 SVM 的行人檢測方法,并采用非極大值抑制技術優化檢測結果。最后,將對經過顏色通道縮減并量化處理的圖像進行行人檢測,并與未處理圖像的檢測結果進行對比分析。
2.1 實驗環境
2.1.1 硬件環境
處 理 器 :Intel(R) Core(TM) i7-9750H CPU @ 12.66500G。Hz,6 核 CPU,8GB 內存; GPU:NVIDIA GeForce
2.1.2 軟件環境
操作系統:Windows 11 專業版; GPU 編程框架:NVIDIA CUDA Toolkit 11.2.162,用于加速深度學習模型的訓練和推理過程,提升計算效率。
使用工具軟件:PyCharm;編程語言:Python 3.8。
2.1.3 測試集的使用
測試所使用的部分圖片如圖 5所示,其中包含33 張圖像,涵蓋多種場景和行人姿態。
2.2 HOG 特征與SVM 行人檢測方法
本小節實驗采用 HOG 特征和 SVM 判別的行人檢測方式。對于該方法,首先調用 cv2 庫中已經訓練完成的基于 HOG 原理和 SVM 判別的行人檢測模型,在檢測出行人后,應用非極大值抑制算法對檢測結果進行優化,以消除重疊的檢測框,提高檢測的準確性。檢測效果如圖 6 所示。
圖6共包含3組圖像,左邊一列為輸入的原圖,中間一列為經 HOG 特征檢測后的效果,右邊一列為 HOG 檢測結果經非極大值抑制處理后的輸出效果。在每張圖片檢測的開始和結束時記錄時間,得出單張圖像的檢測耗時,并記錄每張圖中檢測出的行人數量,將檢測時間和行人數量數據直接保存至Excel表格中。本實驗對圖5測試集中的圖片進行檢測后,匯總的部分結果如圖7所示。
其中,第1列為每張圖片的編號(名稱) ,第2列為使用極大值抑制前每張圖檢測出的行人數量,第3列為對每個檢測出的行人特征使用極大值抑制后得到的每張圖片中的行人數量,第4列為每張圖片的檢測耗時。
2.3 顏色通道縮減再量化
本小節將對輸入圖片進行顏色通道縮減并再進行顏色值量化。顏色通道的縮減再量化如1.2小節所述,共分為2種方式,在縮減顏色通道的同時需要保證壓縮后圖片的信息不會對基于 HOG 特征的行人檢測正確性產生較大影響。因此,本小節將實驗分為3組,分別是:128×128×128、64×64×64、32×32×32。同時,如1.3小節的 HOG 特征基本原理所示,圖片將被壓縮為特定大小并轉換為灰度圖,故本小節實驗將直接對原圖片進行灰度化處理后再進行顏色通道的縮減再量化并進行行人檢測,隨后對實驗結果進行分析比較。
2.3.1 顏色通道直接縮減
顏色通道直接縮減方法將原 RGB 顏色通道范圍[301,]2。55以]映將顏射色到值較[小0,2的55區]映間射,如至 [[00,,112277]] 、為[0例,6,3灰] 和度 [圖0,像經過縮減和再量化處理后的結果見圖 8,左圖為原始灰度圖,右圖為縮減后的圖像。此方法旨在減少顏色信息的復雜度,同時保持行人特征的可識別性。
同圖8的處理,再將圖像分別壓縮到[0,127]與[0,63],然后分別進行行人檢測得到csv表格數據如圖9、圖10、圖11所示。
由圖 9 可以看出,對圖片進行直接縮減,并將所有像素點的顏色值縮減至原來的一半,對檢測的正確性并未產生顯著影響,處理時間亦無明顯減少。
由圖 10 可以看出,將原像素點的顏色值縮減至原來的四分之一,在精確度方面產生了較小影響,處理時間相較于圖 9 中的結果略有減少。
由圖 11 可以看出,將原像素點的顏色值縮減至原來的八分之一,檢測精度下降較為明顯,檢測時間也有了客觀的減少。顏色通道直接縮減導致的準確性下降,與直接將顏色值減半引起的亮度變化有關。同時,由于數值的減小,檢測時間也有了明顯減少。
2.3.2 顏色通道區間映射成值
顏色通道區間映射成值是將原本[0,255]的顏色通道范圍分別均等分為 128 個區間、64 個區間、32 個區間。以 32 個區間為例,將值范圍在 [0,7] 的值都變為 0,[8,15] 內的值都變為 8,以此類推,直到 [248, 255] 區間內的值都變為 248。為了增加對比,將以顏色通道的灰度圖壓縮再量化為原來的八分之一,即 32 個顏色通道為例,轉化后的效果如圖 12 所示。
采用與圖 12 相同的處理方法,將圖像的顏色通道分別壓縮為 128 個與 64 個,隨后分別進行行人檢測,得到的 CSV 表格數據如圖 13、圖 14和圖 15 所示。
由圖 13 可以看出,對圖片進行映射縮減,并將所有像素點的顏色值縮減至原來的一半,行人檢測的正確性與原始結果相比幾乎沒有影響,處理時間也幾乎沒有減少。
由圖 14 可以看出,對圖片進行映射縮減至原來的四分之一,行人檢測的精度未受明顯影響,檢測時間有一定程度的減少。
由圖 15 可以看出,對圖片進行映射縮減至原來的八分之一,檢測精度幾乎沒有受到影響,而檢測時間有了明顯的下降。映射縮減的方式幾乎不會影響檢測正確性,且隨著顏色值的減少,每張圖片的處理時間也有明顯下降,是一種較為合適的顏色通道縮減方法。
2.4 實驗分析
實驗分析分為兩部分:正確率對比與檢測時間對比。實驗數據分為7組,分別是第0組:不經過顏色通道處理得到的行人檢測數據;第1組:將顏色通道直接壓縮到[0,127]得到的行人檢測數據;第2組:將顏色通道直接壓縮到[0,63] 得到的行人檢測數據;第 3 組:將顏色通道直接壓縮到[0,31]得到的行人檢測數據;第4 組:將顏色通道區間映射成為 128 個顏色通道得到的數據;第5組:將顏色通道區間映射成為64個顏色通道得到的數據;第 6 組:將顏色通道區間映射成為32 個顏色通道得到的數據。
正確率對比是將經過顏色通道壓縮后的圖片進行行人檢測得到的行人數量,與不進行顏色通道縮減檢測得到的行人數量進行對比。分別將每一組得到的圖片行人數量與第 0 組通過公式(21) 進行計算。
式中:Pi,0 表示第0組的第i 張圖片中的行人數量,| P i,j - Pi,0| 表示第j 組的第i 張圖片中的行人數量與第0組的第i 張圖片中的行人數量相減并取絕對值,即每組圖片與第0組的差值,j 的取值范圍為[0,7]。通過以上的計算公式得到的結果如表1所示。
從表1的數據比較可以發現,在 6 組實驗數據中,第 1、5、6 組得到的檢測效果與不進行圖片顏色通道縮減的行人檢測效果相差較小。具體而言:第1組由于顏色空間壓縮較小,因此檢測精度與第0組差別不大。第5、6組因為采用區間映射方式,在減少像素的同時增大了邊緣向量的對比度,使人物邊緣更加明顯,所以檢測精度與第 0 組差別較小。
檢測時間對比是將每組圖片得到的檢測時間相加并除以圖片的數量,每組的檢測時間計算公式如公式(22) 所示。
式中:Ti 表示該組圖片中第i 張圖片的檢測時間,將一組中所有圖片的檢測時間相加并除以該組圖片的總數n,從而計算出數據集的平均檢測時間,結果如表2所示。
如表2所示,第6組(顏色通道區間映射至32個顏色值) 實現了最低的平均檢測時間,約為原組的92%。這是由于該組在顯著減少輸入顏色信息的同時,采用整數量化策略,加快了計算速度。相比之下,第1至第5組的檢測時間減少幅度較小,表明顏色通道縮減程度與檢測時間呈負相關關系。然而,部分組別的檢測準確率略有下降,需在檢測速度與準確性之間尋求平衡。通過上述兩個表格分析,第6組效果最優:在保證正確率的情況下顯著減少了行人檢測時間。
對比分析表明,顏色通道區間映射方法在保持高檢測準確率的同時顯著降低了檢測時間,尤其是在將顏色通道映射至32個顏色值時,檢測時間減少了約8%。這一結果表明,顏色通道區間映射方法在實際應用中具有較高的優化潛力,尤其適用于對實時性要求較高的行人檢測場景。
3 總結
本文提出了一種輸入圖片顏色通道的縮減方法用于HOG特征行人自動檢測,旨在保證行人檢測準確性的同時顯著降低檢測所需時間。本研究的創新之處在于引入了顏色通道縮減與再量化技術,并提出了兩種不同的縮減方法:直接壓縮與區間映射。實驗結果表明,尤其是區間映射至32個顏色值的方法,能夠在顯著降低檢測時間的同時保持較高的檢測準確率,為行人檢測技術的實時應用提供了有效的優化方案。通過將圖像顏色通道縮減為32個顏色值且采用區間映射方式,能夠有效降低檢測時間并保持較高的檢測準確率,驗證了該方法在行人檢測中的有效性。
盡管取得了一定的成效,本文仍存在一些局限性。由于實驗環境的限制,本實驗未能在其他更大規模的數據集上測試顏色通道縮減與再量化的效果。此外,顏色通道的縮減方式尚未在實時圖像檢測場景中進行驗證。未來若能在更加多樣的數據集和實時應用環境中進行測試,可能會獲得更優的改進方案和檢測效果。
【通聯編輯:唐一東】
基金項目:江蘇省科技計劃專項資金(重點研發計劃產業前瞻與關鍵核心技術) 重點項目(項目編號:BE2023005-4)