基於級聯多層檢測器的快速目標檢測方法與流程
2023-07-09 17:17:06 1
本發明涉及智能視頻監控領域,尤其是一種基於級聯多層檢測器的快速目標檢測方法。
背景技術:
目標檢測是計算機視覺中重要的一個研究方向,是進一步分析目標的基礎,在此基礎上,可以對目標跟蹤、行為分析等等。隨著我國經濟的發展,城市化水平進一步提高,智慧城市已經成為城市現代化發展的重要方向。視頻監控系統作為智慧城市的重要組成部分,也正朝著智能化和網絡化方向發展。在智能視頻監控中,對於目標(如車輛,行人等)進行快速的檢測和定位,達到實時性,是後續智能監控的基礎和前提。因此,如何快速的檢測和定位目標,已成為國內外相關領域的研究熱點。
目前,目標檢測主流的方案是,提取目標特徵,用檢測器對包含目標的區域進行檢測。用於目標特徵提取的算子主要有Haar算子、LBP算子、HOG算子,結合adaboost檢測器進行檢測。
進行目標檢測時,常用方案是生成金字塔圖像,然後遍歷整個金字塔圖像,可以精確的檢測和定位目標。但是會生成大量的候選框,需要對每個候選框進行判斷,嚴重地降低效率,增加了檢測時間。如果可以降低候選框的數量,就可以縮短時間。因此如何在不損失精度的前提下,合理的減少候選框,成為了研究的重點。
技術實現要素:
為解決上述問題,本發明提供一種基於級聯多層檢測器的快速目標檢測方法。
本發明解決其技術問題所採用的技術方案是:一種基於級聯多層檢測器的快速目標檢測方法,其特徵在於,包括步驟:
S101,生成大量可能包含目標區域的候選框;
S102,進入粗檢測階段,選擇目標的簡單特徵進行檢測,排除非目標區域;
S103,將目標進行分塊,選擇目標部件特徵進行進一步檢測篩選;
S104,進入精檢測階段,選擇目標區域的精細特徵對餘下目標區域進行檢測;
S105,精確定位目標區域;
S106,將粗檢測階段檢測器、目標部件檢測器、精檢測階段檢測器級聯起來組成級聯檢測器。
進一步地,所述S102進入粗檢測階段選擇目標的簡單特徵進行檢測排除非目標區域包括:
A.進行第一階段檢測器訓練,收集樣本後,對樣本集合選擇簡單的灰度級特徵,產生大量的特徵,形成特徵池;
B.對特徵池裡面的特徵進行隨機選擇,訓練生成n棵隨機樹,每個隨機樹深度為d,每個隨機樹中葉節點的得分值記為s,隨機隨機樹閾值為t,記錄隨機選擇的特徵;
C.用隨機森林去檢測樣本集合,到達每個隨機數的葉節點時,取裡面的得分值,組合成特徵向量,這些特徵向量就是自我學習得到的特徵;
D.根據學習到的特徵,再選用adaboost(SVM)訓練出目標檢測模型。
進一步地,所述S103將目標進行分塊選擇目標部件特徵進行進一步檢測篩選包括:
A.在樣本集合中,將目標分為幾個部件,提取每個部件的灰度級特徵,對部件用級聯檢測器進行訓練,弱檢測器選擇決策樹,訓練出每個部件的閾值和通過整個目標的閾值;
B.經過第一階段聚類之後得到的候選區域,對其進行分塊,用決策樹檢測每個部分,得到每個部件的閾值,將每個部件閾值相加,將大於目標閾值的候選區域保留,然後將部件按照順序組成目標區域。
進一步地,所述S105精確定位目標區域包括:
A.選擇複雜的特徵對目標提取特徵;
B.訓練檢測器,精確定位出目標區域;
C.對剩下的區域進行檢測,提取區域的精細特徵,用檢測器進行精確定位。
本發明採用隨機森林學習到的特徵來訓練adaboost檢測器。將目標分成幾個部件,訓練出每個部件的閾值,由部件閾值之和來判斷是否是目標。另外,本發明中的基於多階檢測器級聯的檢測器框架,各階可以採用相同特徵或者不同特徵來訓練檢測器,先粗檢測目標,再用部件過濾,最後用精細檢測器定位的級聯結構框架。
附圖說明
圖1為本發明基於級聯多層檢測器的快速目標檢測方法的步驟流程圖。
具體實施方式
本專利公開了一種快速目標檢測方案,主要分為三個部分,首先對目標進行粗檢測,除去大量的非目標候選框,再用目標部件檢測器過濾掉部分非目標區域,最後用精細特徵對剩下的區域定位出目標區域,將這三個過程級聯起來,就構成了快速目標檢測的級聯檢測器。
下面結合附圖對本發明的具體實施方式作進一步詳細的說明。
S101,首先生成大量可能包含目標區域的候選框。
根據各種目標特徵採集大量信息之後,產生多個可能包含目標區域的候選框。
S102,進入粗檢測階段,選擇簡單特徵進行檢測。
在粗檢測階段,為了快速的排除大量非目標候選框,選擇簡單特徵進行檢測。
第一階段進行檢測器訓練時,對樣本集合選擇簡單的灰度級特徵,如灰度差分特徵,類Harr特徵,梯度幅值特徵等,產生大量的特徵,形成特徵池,這些特徵時間複雜度低,適合快速計算,對特徵池裡面的特徵進行隨機選擇,訓練生成n棵隨機樹,每個隨機樹深度為d,每個隨機樹中葉節點的得分值記為s,隨機樹閾值為t,記錄隨機選擇的特徵;然後再用隨機森林去檢測樣本集合,到達每個隨機數的葉節點時,取裡面的得分值,組合成特徵向量,這些特徵向量就是自我學習得到的特徵,根據學習到的特徵,再選用adaboost(SVM)訓練出目標檢測模型。
第一階段檢測器裡的隨機森林和adaboost(SVM)可以迭代級聯,不過為了達到快速檢測,要求迭代次數不能太高。
用第一階段檢測器檢測一幀圖像時,先生成多層金字塔圖像,對每一層金字塔圖像,按照一定的步長進行遍歷,產生大量的候選框圖像;對這些候選框圖像提取灰度級特徵,用訓練好的隨機森林檢測,選擇包含目標圖像的候選框。因為灰度級特徵時間複雜度低,隨機森林檢測速度快,這樣可以快速的排除大量的沒有目標的候選框圖像;對選出來的候選框圖像,在用隨機森林產生自我學習特徵,用訓練好的adaboost(SVM)進行檢測,保留符合的候選框圖像。
在第一階段得到的候選框圖像,進行組合聚類,產生一部分候選區域。
S103,將目標進行分塊,選擇目標部件特徵進行進一步檢測篩選。在粗檢測與細定位之間再加一層檢測器,就是目標部件檢測器,用它再篩選一些包含目標的區域。
將目標進行分塊,如行人分為三個部件,頭、上肢、下肢,車輛分為上下左右四個部件。
在樣本集合中,將目標分為幾個部件,為了加速運算,仍然提取每個部件的灰度級特徵,對部件用級聯檢測器進行訓練,弱檢測器選擇決策樹,訓練出每個部件的閾值和通過整個目標的閾值。
經過第一階段聚類之後得到的候選區域,對其進行分塊,用決策樹檢測每個部分,得到每個部件的閾值,將每個部件閾值相加,將大於目標閾值的候選區域保留,然後將部件按照順序組成目標區域。
S104,使用精細特徵訓練出來的檢測器對餘下區域進行檢測。
S105,精確定位目標區域。
最後用精細特徵訓練出來的檢測器,對餘下區域進行檢測,精確定位目標區域。
a、為了精確定位目標區域,可以選擇複雜的特徵對目標提取特徵,特徵可為HOG、SIFT等。
b、訓練檢測器,精確定位出目標區域,檢測器可以為adaboost。
c、再對剩下的區域進行檢測,提取區域的精細特徵,用檢測器進行精確定位,因為上面兩個階段已經排除了大量的非目標區域,即使用複雜的特徵提取,也可以快速的檢測出目標,並且精度非常高。
S106,將粗檢測階段、目標部件檢測器、精細檢測器級聯起來組成級聯檢測器。
將這三個階段的檢測器,粗檢測階段檢測器,目標部件檢測器,精檢測階段檢測器級聯起來,組成級聯檢測器,可以快速又高精度的檢測出目標區域。
本發明採用:
1、用隨機森林學習到的特徵來訓練adaboost檢測器。
2、將目標分成幾個部件,訓練出每個部件的閾值,由部件閾值之和來判斷是否是目標。
3、基於多階檢測器級聯的檢測器框架,各階可以採用相同特徵或者不同特徵來訓練檢測器;先粗檢測目標,再用目標部件檢測器過濾,最後用精細檢測器定位的級聯結構框架。
在不損失精度的前提下,降低需檢測的候選框數量,縮短了檢測時間,大大提高了檢測效率。