1.1 研究背景及意義:
由於現實世界中的物體(尤其是行人)、場景存在多變性,使其很難用一個統一的方法進行研究。目前目標檢測所遇到的主要問題有:如何准確快速分割目標、盡量減小復雜背景對目標檢測的影響以及如何降低因目標尺度、大小和形狀發生變化引起的目標檢測精確度下降的問題。
此外,在目標檢測系統中,系統的魯棒性與實時性這兩方面的性能存在矛盾。魯棒性對目標檢測系統,特別是行人檢測系統十分重要,因為行人檢測系統通常需要自動、連續的工作,對噪聲、光照、天氣等因素的影響不能太敏感;實時性是系統必須滿足的要求,這也就說明系統采用的圖像處理算法不能太復雜。
1.2 國內外研究現狀:
基於靜態圖片的目標檢測的難點主要在於圖片中的目標會因光照、視角以及目標內部等變化而產生變化。針對以上的難點,國內外學者進行了很多嘗試。目前提出的方法主要分為基於形狀輪廓的目標檢測算法和基於目標特征的檢測方法。
在行人目標檢測中,形狀是人體明顯的一個特征,例如頭肩部呈“Ω”形,軀干部分呈豎直型等。
基於特征及機器學習的方法是通過對目標進行特征提取、特征學習和檢測等過程實現目標檢測。人體特征一般通過統計圖像的局部亮度變化,用該變化近似表達人體。常見的人體特征有Haar小波特征、HOG特征、Edlgelet特征(小邊特征)和混合特征。
Haar小波特征由Papageorgiou和Poggio等人提出,該特征使用檢測窗口中指定位置的相鄰矩形,計算每一個矩形的像素和並取其差值,然后用這些差值對圖像的子區域進行分類。Haar特征最初用於人臉目標檢測;然后Viola使用積分圖計算Haar特征,積分圖是一個與原始圖像一樣尺寸的二維矩形的查找表,每一個元素是原始圖像在對應位置左上角所有像素和,可以使用查表的方法快速找出指定區域的Haar特征。Viola將該方法用於行人檢測,取得了較好的檢測效果,為行人檢測技術的發展奠定了基礎。研究人員提出了大量基於Haar小波特征的改進算法進行行人檢測。
Dalal等人首先提出了使用梯度方向直方圖進行行人檢測,梯度方向直方圖將圖像分成小的連通區域,采集連通區域中各像素點的梯度的邊緣或邊緣的方向直方圖,最后將這些直方圖組合起來構成特征描述。HOG描述器對圖像幾何和光學的變化都能保持較好的不變性,而且在粗空間采樣、精細方向抽樣和較強的光學歸一化等條件下,行人保持站立的姿態做一些輕微的肢體動作,這些肢體動作可以忽略而不影響檢測效果。綜上所述,HOG特別適合於做圖像的行人檢測。隨后HOG成為了使用最廣泛的行人特征描述子。Zhu等人使用積分直方圖計算HOG特征,加速了HOG特征的提取速度,然后訓練了多個不同尺度的分類器,構成了一個級聯分類器用於檢測行人;Qu等人在檢測視頻中的行人時,將行人與背景分離出來后提取行人的HOG特征,減少了背景對目標HOG的影響,又加快了HOG特征的提取速度。
Edgelet特征對光照變化的魯棒性強;只存儲位置和方向信息用來計算,匹配計算簡單快速;對行人的遮擋、視角和姿態的變化不敏感。但是Edgelet特征是依靠人工進行標定,工作量比較大,且標定完全符合人體曲線的Edgelet特征十分困難。
Tuzel等人使用各種不同特征的協方差矩陣描述行人的局部區域,將協方差矩陣視為聯通的黎曼流,在黎曼幾何空間中對行人分類。Watanabe等人提出了共生梯度方向直方圖特征(Co-occurrence Histograms of Oriented Gradients),該特征類似灰度共生矩陣,能更好的描述梯度空間的分布,但是向量維數太高。Dollar等人使用積分圖的技術對圖像各特征通道(線性或非線性變換后的圖像)進行快速計算,提出了積分通道特征。該特征不僅可以將多種特征有機的結合起來,且解決了融合計算較慢的缺點。
1.3 本文主要內容及結構安排
2 相關基礎知識
2.1 行人目標檢測算法原理:
目前最流行的行人檢測方法是通過特征加機器學習的方式進行,有大量的研究對行人特征和機器學習算法進行了優化和創新。優秀的行人檢測算法一般以獲得更快的檢測速度以及更高的准確率為目標。檢測算法的挑戰:
1)外形特征不固定
2)環境變化多樣
3)視頻監控中對實時性的要求高
當前的主流行人檢測算法分為基於模板匹配的行人檢測算法和基於分類的檢測算法。基於模板匹配的行人檢測算法通過建立行人模板庫,提取待撿圖片模板與模板庫中行人匹配,根據匹配結果判斷是否為行人;基於分類的行人檢測算法需要准備大量包含行人的正樣本和不包含行人的負樣本,提取樣本圖像中行人特征,使用該特征訓練分類器,根據訓練好的分類器判斷待撿圖像是否存在行人。
2.1.1 基於模板匹配的檢測算法:
根據所使用的模板類型可以分為基於整體模板的行人檢測算法和基於局部模板的的行人檢測算法。行人輪廓是最常用的基於整體的模板。人體的頭肩部、軀干和四肢三個類型的模板屬於局部模板。
基於行人整體模板行人檢測算法具有較快的檢測速度,但是在行人存在遮擋情況下檢測率不佳;與此相反,基於局部模板的匹配算法由於復雜的計算過程導致檢測速率較慢,但是其在行人存在遮擋的情況下仍然可以獲得較好的檢測效果。
基於模板匹配的行人檢測算法能夠較好的處理行人擁擠,相互遮擋的情況。其缺點是精度和速度受模板庫的影響較大,由於需要將特征模板與模板庫中每一個模板進行一一對比,模板太小影響精度,太大又影響檢測速度。並且每一個模板只能對應一種姿態的行人,擴展性低,無法適應各種各樣的行人姿態。
2.1.2 基於分類的檢測算法:
基於機器學習的行人檢測算法是當前的主流行人檢測算法,其核心思想是提取描述行人的主要特征,使用這些特征訓練一個分類器用作二分類判斷,即通過該分類器判斷輸入的特征是否為行人相關特征。這類算法的基本步驟如圖2-2
所示。由圖2-2可知,該類算法的核心部分是特征提取和分類器設計。
用於描述行人的圖像特征主要分為三類:
1)基於局部像素值的特征:非自適應Haar小波特征是行人檢測領域經常使用的基於像素基於局部像素值的特征,通過計算圖像相鄰區域不同位置、不同方向和不同大小的矩形區域內像素總和值的差值得到。完備的Haar特征集合特征數量特別龐大,選定特定
的Haar特征有兩種方法:①手動指定有針對性的Haar特征;②使用基於Adaboost算法的特征選取方法,自動從Haar特征集合中選取出部分最優的Haar特征。
2)基於局部邊緣的特征:基於物體局部邊緣特征中使用較多的是梯度方向直方圖(Histogram of Gradients,梯度方向直方圖)特征。HOG特征適用於構建稠密特征空間與構建稀疏特征空間描述行人。通過對圖像進行預處理找到感興趣的區域,在該區域計算
HOG特征,產生的特征空間稱為稀疏特征空間;在圖像中以一個像素為移動距離,通過矩形框遍歷整個圖像,計算矩形框中的HOG特征產生的特征空間為稠密型特征空間。
3)基於運動信息的特征:行人的步態特征這類基於空間運動信息的特征也是一類廣泛采用的行人描述特征。例如文獻[30]提出的對計算圖像間光流變換的HOG特征來描述行人的運動信息。該類型的特征的優點是可以在使用較小的訓練樣本的情況下仍然具有較高的檢測准確率;缺點是往往需要較大的計算量,運算比較耗費時間。
獲取到所需要的特征后,選擇合適的分類器算法進行樣本的分類。行人檢測算法的分類器主要目標是在特征空間中尋找一個能將行人特征和非行人特征划分的最優分割平面。
在模式識別、分類回歸領域使用最廣泛的分類器是支持向量機(Support Vector Machine,SVM)。其思想是通過最大化分割平面與超平面之間的距離來確定最優特征空間分割平面,產生最佳的分類判斷。常見的SVM分類器分為線性分類器和非線性分類器。線性分類器的優點是結構簡單,計算速度快,可以與多個比較復雜的非線性特征集合聯合使用以提高分類器的准確性;非線性分類器將特征空間映射到更高維來實現分類判斷,但在提高分類性能的同時需要進行復雜的數學計算。
使用Adaboost算法不僅可以實現最優特征選擇,並且可以用來構建性能較強的線性分類器。其思想是通過多個最優分類特征構建弱分類器,將這些弱分類器賦予不同的權重構成分類性能較強的強分類器。Viola Paul等人提出的級聯分類器提高Adaboost分類器處理非線性分類問題的能力以提高Adaboost分類器整體分類性能。由於基於特征+分類器的行人目標檢測算法一般需要通過滑動窗口滑動整幅圖像以檢測行人,滑動窗口在滑動時將產生大量的非行人窗口圖像,使用Adaboost分類器構成的級聯分類器能夠盡早排除非相認窗口以提高檢測的速率及准確性。
2.2 典型的人體特征:
比較常見的基於機器學習的行人檢測特征有:Haar-like特征、HOG(Histogram of Oriented Gradient)特征、SIFT(Scale Invariant Feature Transform尺度不變特征變換)特征以及融合多種特征的混合特征。
2.2.1 Harr-like特征:
Haar-like特征又稱為矩形特征,由於其算法思想與Haar小波變化有相似之處而得名。目前常用的Haar特征主要有邊緣特征、線性特征、點特征和對角線特征。特征值為白色矩形像素和減去黑色矩形像素和,反映了圖像的灰度變化情況。例如臉部的一些特征就可以用這些灰度差來表示,眼睛的顏色比臉頰的深;鼻梁兩側的顏色比鼻梁深;嘴巴比周圍顏色深等等。
按照Haar特征的定義計算特征值需要計算每個矩陣中的像素值,Papageorigiou等人提出的積分圖像(Integral Image,新像素值等於原圖中左上方像素值的和)是一種快速計算Haar特征的方法。預先計算並存儲圖像中每一個像素的積分圖像,大幅度縮短了Haar特征的計算時間。
2.2.2 HOG特征:
HOG特征行人檢測特征提取領域的另一經典算法,該特征由Dalal和Triggs在2005年CVPR上提出,使用梯度方向直方圖特征來表達人體,提取人體的外形信息和運動信息,形成豐富的特征集。HOG特征提出后經過大量研究人員的擴充和改進,已經證明了該方法在行人目標檢測領域為相對有效的特征,有效的提高了行人檢測的精確性和魯棒性。
HOG特征提取算法的主要思想是通過有效提取檢測目標的邊緣梯度信息,將各邊緣梯度信息以梯度方向直方圖的方式予以反映,並對各梯度方向的直方圖進行綜合歸納與描述來提取目標的邊緣共性特征。在給定一輸入圖像I以后,首先需要按照一定的規則划分成若干個塊狀結構(記為BLOCK)。然后對每一個划分的BLOCK按照“田字格”規則均分成四個子塊(記為CELL),並統計每個CELL所屬區域內像素點的梯度在不同方向上的分布得到了CELL的特征。最后將分別屬於四個CELL的特征組合在一起形成了BLOCK的特征向量。圖2-8給出了HOG特征計算的示意圖。
梯度是函數的一階微分,是一個包含了幅值和方向的矢量。這里設(x,y)為任意一個CELL中的像素點坐標,則其水平方向的梯度為Gx(x,y)、垂直方向的梯度為Gy(x,y),梯度幅值為G(x,y),以及梯度的方向為θ(x,y)。
在對CELL中的所有像素點都按照上述公式計算完畢之后,那么這個CELL就可以用一個基於方向的直方圖來表示。該直方圖的橫坐標表示的是梯度方向,縱坐標表示的是對應幅值的累加和。
在實際的數字圖像梯度算法中,一般采用圖像與梯度算子卷積來得到圖像的梯度。
2.2.3 SIFT特征:
SIFT特征由Lowe在2004年首次提出的一種檢測局部特征的算法。該特征具有性能優越的魯棒性,對視頻圖像因外界光照、尺度、位移等產生的變化都具有良好的容忍性。整個算法分為以下幾個部分:
(1)構建尺度空間:
為了模擬圖像數據的多尺度特征,需要構建尺度空間。定義函數L(x,y,δ)表示圖像的尺度空間,可以使用高斯核函數與圖像I(x,y)進行卷積得到該尺度空間。其中,δ為標識圖像平滑程度的尺度坐標。大尺度對應圖像的概貌特征,小尺度對應圖像的細節特征。
提出高斯差分圖尺度空間,目的是為了有效的在尺度空間檢測到穩定的關鍵點。
(2)檢測尺度空間極值點:<高斯差分函數 DOG算子>
將尺度空間中每個采樣點與其相鄰點進行比較,取出因噪聲和邊緣效應產生的極值點,其余均為關鍵極值點。中間的檢測點和它同尺度的8個相鄰點和上下幀上相鄰尺度對應的9*2個點共26個點比較,以確保在尺度空間和二維圖像空間都檢測到極值點。
(3)精確定位極值點:
通過對空間尺度函數的泰勒展開式求導,去除低對比度的關鍵點和不穩定的邊緣響應點,以增強匹配穩定性、提高抗噪聲能力。為了獲得更精確的極值點,還需要進一步去除邊緣效應強的點。
(4)為每個關鍵點指定方向參數:
為了保證極值點與其領域點的一致性,增強算子的旋轉不變性。SIFT利用關鍵點的領域像素的梯度方向分布特性為每個關鍵點指定方向參數。每個關鍵點包含三個信息:位置、所處尺度和方向。
(5)生成SIFT特征描述符:
為了確保旋轉不變性,將坐標軸旋轉為關鍵點的方向。然后以特征點為中心取8*8的領域作為采樣窗口,將采樣點與特征點的相對方向通過高斯加權后歸入包含8個方向直方圖,最后獲得2*2*8的32維特征描述子。
SIFT特征具有光照不變性、旋轉不變性和尺度不變性。使用與相對復雜的圖像檢測中具有良好的魯棒性和可靠性。但該特征計算量大、特征維數高,使用時必須對特征進行降維處理以提高系統的實時性。
<SIFT算法的實質是在不同的尺度空間上查找關鍵點(特征點),並計算出關鍵點的方向。SIFT所查找到的關鍵點是一些十分突出,不會因光照,仿射變換和噪音等因素而變化的點,如角點、邊緣點、暗區的亮點及亮區的暗點等。 >
2.3 典型分類器:
優秀的分類算法可以有效的區分行人特征和非行人特征,提高行人檢測效果,反之則影響檢測精度。本章將詳細介紹兩個經典的分類算法(支持向量機和Adaboost),並分析比較這兩個分類算法的不足。
2.3.1 支持向量機算法:<機表示一種算法,支持向量是指支撐分類間隙的點>
算法的思想是使用少量的支持向量代表整個樣本集,並將其映射到高維空間,在高維空間中尋找一個最優分類的超平面將兩類不同樣本精確分開,並使得兩類樣本的分類空隙最大。
對於非線性問題,SVM可以通過某種非線性變換,將其映射為高維線性空間中的線性分類問題,然后使用最優超平面理論進行求解。為了克服映射過程中出現的特征維數呈指數化增長,SVM使用核函數實現非線性映射。支持向量機實現的復雜程度僅僅取決於支持向量個數,與特征維數無關。
2.3.2 AdaBoost算法:
AdaBoost算法是一種改進的Boosting(助推)算法,該算法的本質是通過自適應調整訓練樣本的分布來實現正負樣本的有效分類。該算法在訓練之前給所有的訓練樣本賦予相同的初始化權重,該權重值的大小反映了對應的訓練樣本被選入弱分類器訓練集的概率值,在迭代初始時各樣本選中的概率均等。在訓練的過程中,樣本能否被正確分類決定了樣本的權重值,若樣本能夠被正確分類,則減小其權重值,在構建下一級分類器時該樣本被選中的概率變小。弱樣本不能被正確分類,增加其權重值,則在下一級分類器中它被選中的概率就會變大。權值的改變使得算法在后續的運行過程中將更關注於被錯誤分類的樣本,有利於提高分類器的分類性能。Adaboost算法的具體訓練過程如下:
(1)初始化權重
(2)開始T輪迭代訓練,其中T為弱分類器個數
Adaboost
算法對弱分類器的分類性能要求較低,但是通過組合成強分類器之后,分類精度可以得到迅速提高。
2.4 深度學習:
2.4.1 深度學習概述:
傳統的機器學習解決思路都是由預處理、特征提取以及特征選擇這三部分組成。特征提取與特征選擇概括起來為特征表達,良好的特征表達對最終算法的准確性起決定性作用,然而這部分工作在傳統的機器學習中是靠人工完成的。但是手工構建特征需要研究人員具有豐富的先驗知識且耗費大量的時間進行調節。
深度學習具有多層非線性映射的深層結構,可以完成復雜的函數逼近;此外深度學習理論可以獲取分布式表示,即通過逐層學習算法獲取輸入數據的主要特征表示。
深度學習通過組合低層特征形成更加抽象的高層表示,發現數據的分布式特征表示。當前多數分類、回歸等學習方法為淺層結構算法,有限樣本和計算單元情況下對復雜函數的表示能力有限,針對復雜分類問題其泛化能力受到一定的制約。
2.4.2 典型的深度學習結構:
2.4.2.1 稀疏自編碼器:
自編碼器是一種無監督學習算法,其本身是用於降維和特征提取的神經網絡。自編碼器的核心思想是將輸入信號進行編碼,使用編碼之后的信號重建原始信號,盡量讓原始信號與重建信號之間的誤差最小。計算機視覺中常用的K均值聚類、稀疏編碼、主成分
分析等方法都可以理解為一個自編碼器,他們的思想都是通過將信號編碼成為另一種形式,有效提取信號中的主要信息,從而獲得更簡潔的表達。
2.4.2.2 深度置信網(DBN):
與傳統區分型神經網絡不同,DBN可獲取觀測數據和標簽的聯合概率分布,這方便了先驗概率和后驗概率的估計,而區分型模型僅能對后驗概率進行估計。DBN解決傳統BP算法訓練多層神經網絡的難題:a)需要大量含標簽訓練樣本集;b)較慢的收斂速度;c)因不合適的參數選擇陷入局部最優。該模型將多層神經網絡分解成多個受限波茲曼機(Restricted Boltzmann Machine,RBM)的疊加,並逐層訓練RBM。受限波茲曼機是一種典型的神經網絡模型。限制波茲曼機中,層內無連接,可視層與隱層單元彼此互連。限制波茲曼機定義了一種基於能量的概率分布模型,具有強大無監督學習能力,能夠從復雜數據中有效的獲得數據信息。如果增加限制波茲曼機的隱藏層數,就可以得到深度波茲曼機;在靠近可視層的部分使用貝葉斯信念網絡,在最遠離可視層的部分使用限制伯茲曼機,就可以得到深度信念網。
利用無監督學習算法逐層對整個深度置信網絡的參數進行初始化,然后利用BP算法對模型參數進行全局精調,完成整個深度置信網絡的學習過程。深度置信網絡模擬人的視覺系統對系統信息分級處理,高層特征是低層特征組合,底層到高層的特征越來越抽象。抽象層面越高,越利於識別。
2.4.2.3 卷積神經網絡:
卷積神經網絡是第一個真正訓練多層網絡結構的學習算法,該網絡可以直接輸入原始圖像,避免了對圖像進行復雜的前期預處理,因而得到了廣泛的應用。
卷積神經網絡主要采用了三種結構思想:局部感受野、權值共享和向下采樣。
卷積神經網絡是一種非全連接的神經網絡結構,包含了兩種特殊的結構層:卷積層和次采樣層。
卷積神經網絡是一個多層結構的神經網絡,每層由多個平面組成,每個平面又是由多個獨立神經元組成。卷積層由多個特征平面構成,卷積神經網絡抽取特征的任務由卷積層完成。同一特征平面包含多個神經元,由於卷積神經網絡使用了權值共享,因此這些神經元使用相同的權重進行連接。每個神經元定義了相應的局部感受野感受野,只接受從其局部感受野傳輸的信號。
2.5 本章小結
本章首先給出了兩類行人目標檢測算法:基於模板匹配的算法和基於特征+分類器的算法。基於模板的匹配算法收集了大量的行人模板庫,在檢測過程中將待檢圖片與行人模板進行對比,判斷是否為行人。該算法實現簡單,在空曠場所有較好的檢測效果。但是該算法准確率依靠模板庫的規模,而且計算量巨大,在行人存在遮擋的情況下准確率不高。基於特征+分類器的算法通過某種算法提取行人特征,用該特征訓練分類器進行行人檢測。根據不同的特征,可以在不同場合檢測出行人。該類算法的缺點是優秀的特征提取比較困難,需要研究人員具有良好的先驗知識且耗費大量時間。接着講解了三個經典的行人特征提取:Haar-like特征、HOG特征和SIFT特征。Haar-like特征的優點是算法簡單而且容易實現,並且具有一定的實時性,適宜在行人比較稀少且遮擋不嚴重的簡單環境使用。但是其魯棒性不高,容易受到遮擋、光照等外界因素的影響,若單獨使用該特征在較為復雜的場景進行行人檢測,往往很難取得滿意的效果。HOG和SIFT特征的維數較高,描述行人特征的能力較強,並且有一定的適應場景變化的能力,具有較好的光照不變性和尺度不變。但是也因為其維數較高,計算起來比較復雜,在實際的應用中一般需要經過相應特征的降維處理。詳細說明了支持向量機和AdaBoost算法,並給出了支持向量機和基於AdaBoost算法分類器的詳細訓練過程。接着詳細介紹了深度學習的相關基礎知識,給出了三種常用的深度學習模型:稀疏自編碼器、深度置信網和卷積神經網絡。
3. 基於融合特征的疑似行人窗口確認
如何對一個圖像進行有效的表達是目標識別的關鍵問題。如果選擇的表達特征能夠有效的反映目標的本質,那么對於理解目標圖像就會取得良好的效果。
在行人目標檢測算法中,按特征的提取方法可以分為人工特征和基於學習的特征。使用人工特征進行行人檢測器訓練是一種半手工的訓練方式,需要研究人員具有較好的先驗知識,且訓練出的檢測器往往具有場景不可變性。隨着深度學習的發展,出現了很多基於深度學習的特征,使用這些特征在圖像分類時具有優異的效果。但是在圖像中進行行人檢測時,需要對圖像進行不同尺度的滑動窗口檢測,使用深度學習結構進行滑動窗口檢測無法達到理想的效率。
本文使用一種傳統行人檢測框架與卷積神經網絡級聯的方法進行行人檢測,與傳統的行人檢測算法相比,提升了檢測效果,與使用單一的卷積神經網絡進行行人檢測相比,提升了檢測速度。
本章主要目的是將待檢圖像中的疑是行人區域快速划分出來,主要分為以下幾個步驟:
1)提取融合特征;
2)使用融合特征訓練多個標准尺度級聯分類器;
3)采用鄰近尺度特征相似的思想求出幾個標准尺度分類器鄰近的分類器,構成分類器金字塔;
4)采用同分類器金字塔尺度一一對應的滑動窗口遍歷整幅圖像;
5)采用基於窗口重疊的方法融重疊的多個窗口;
6)將疑是包含行人的窗口輸出至卷積神經網絡。
3.1 提取融合特征:
對輸入圖像進行各種線性和非線性變換求得各類圖像的通道;然后在每個通道中利用積分圖原理進行積分計算,使用各個積分圖獲取大量圖像特征。常用的變換包括圖像的灰度和顏色、非線性變換、線性濾波、積分直方圖和梯度方向直方圖等。為了能夠快速的用滑動窗口進行檢測,這些通道必須具有變換不變性。若有一個輸入圖像I,通道為該圖像對應的某種輸出響應。若輸入圖像為灰度圖,則對應的通道為其本身,即C=I。而如果輸入圖像為彩色圖像,其每個顏色通道對應一個通道。其他類似的通道可以通過各種線性和非線性的方法計算得到。
獲取通道后,可以獲得海量的特征。將一個通道圖像中某個矩形區域內所有像素的和定義為一階特征,多個一階特征的加權和為二階特征,依次類推,低一層的加權和構成高一層的特征。低階的特征會涉及到通道的選擇、矩形框的尺寸和位置等問題,高階的特征會涉及到如何選取低層特征的組合的。使用積分圖可以快速計算出一階特征。
本文提取了上述的各種通道特征,使用不同的特征融合作為行人的描述特征,通過實驗找出最合適的特征組合作為快速找出疑似存在行人窗口檢測器的描述特征。
1)灰度通道與LUV顏色通道
雖然在圖像處理領域經常采用RGB色彩空間,然而研究表明,使用LUV色彩空間表征目標表明顏色時,對目標模型顏色變化比RGB顏色空間更具有魯棒性。因此LUV色彩空間被廣泛的應用於計算機彩色處理領域。
2)線性濾波變換
通過對原圖進行線性濾波可以得到圖像不同方面的特性,常見的線性濾波器有Gabor濾波器和DoG濾波器。
①Gabor變換屬於加窗傅里葉變換,可以在頻域不同尺度、不同方向上提取相關的特征。由於Gabor函數可以同時在空間域和頻域達到最優局部化的特性,所以經常用作紋理識別。
<Gabor濾波器是一個用於邊緣檢測的線性濾波器。Gabor濾波器的頻率和方向表示接近人類視覺系統對於頻率和方向的表示,並且它們常備用於紋理表示和描述。在空域,一個2維的Gabor濾波器是一個正弦平面波和高斯核函數的乘積,具有在空間域和頻率域同時取得最優局部化的特性,與人類生物視覺特性很相似,因此能夠很好地描述對應於空間頻率(尺度)、空間位置及方向選擇性的局部結構信息。><DoG金字塔>
3)非線性濾波變換
具有上述變換不變性的非線性變換有很多,比如說梯度幅值、Canny邊緣算子以及雙閾值二值化操作。
4)梯度方向直方圖(HOG)
梯度方向直方圖是一個加權直方圖,計算圖像的梯度方向得到其內容索引,計算梯度幅值得到其權值。梯度方向直方圖是行人檢測的經典特征,計算方法在2.2.2已經介紹。<HoG算法介紹>
通道種類很多,在實際的行人檢測中,通道數量選取越多,目標的表達特征就越好,但是計算時間會有很大的負擔。同時,不同通道進行組合也會給檢測器的性能帶來很大的影響。因此,一般的處理方式是針對特定目標,在訓練過程中通過實驗結果來確定所需要的積分通道。圖3-1為使用單獨通道類型和不同通道結合使用時檢測器的性能曲線。橫坐標表示每個滑動窗口的誤報率(false positives per-windows,FPPW),縱坐標表示漏檢率。
考慮到目標模型中顏色的多變性,為了提高對目標顏色變化的魯棒性,需要使用色彩通道表征目標表面的顏色,使用LUV色彩空間有較高的檢測率,於是選擇了該空間。然后梯度幅值含有較為全面的行人表征信息,將該通道也納入選擇;最后由於梯度方向直方圖作為特征在表述行人具有最高的檢測率,該通道是必不可少的。所以本文最后采用了3種類型的通道結合:LUV色彩空間、梯度幅值以及梯度方向直方圖。
3.2 分類器訓練
3.2.1 訓練標准尺度級聯分類器
級聯分類器由多個狀態分類器構成,從特征集中選取最優的過程即為級聯分類器的構造過程。
圖中每個圓圈代表一個弱分類器,多個弱分類器構成一個狀態分類器,然后每個狀態分類器依次串聯,構成最終的級聯分類器。
圖3-4為使用一個訓練完成的級聯分類器進行分類的過程。如圖3-4所示,每個數字代表一個狀態分類器,輸入待檢測的滑動窗口依次經過各個狀態分類器進行判斷,若當前分類器判斷該樣本為負樣本,則馬上結束判斷;否則將該窗口傳入下一個分類器,直到經過所有的分類器或者后面某一個分類器將該窗口圖像判斷為負樣本為止。
由上可以看出,級聯分類器的構建可以分為三個部分:弱分類器構建、狀態分類器構建以及級聯分類器的構建。
(1)弱分類器構建<弱分類器訓練原理>
分類准確率略高於50%的分類器被稱為弱分類器(分類能力弱,僅在50%左右)。弱分類器的優點是結構簡單,易於實現。本文使用決策樹作為弱分類器,該分類器的結構如同二叉樹,樣本通過與節點特征值依次對比找到對應的分類類別。決策樹的精度隨着樹的深度增加而增加,一般用作弱分類的決策樹深度在1至3。決策樹分類器的優點是不需要經過復雜的運算,簡單的幾次對比后就可以找到樣本所對應的類別。缺點是所占的存儲空間比較大,因為分類器需要保存各個節點的特征屬性。選擇好合適的弱分類器后,需要使用大量的正樣本和負樣本對分類器進行訓練。本文訓練采用的正樣本和負樣本主要收集於INRIA行人數據庫以及Caltech行人數據庫。
將圖像用3.1節所述的方法計算每張圖像的各個通道,在3.1中得知,使用LUV通道、梯度幅值通道和梯度方向直方圖這三類通道組合做行人檢測效果最佳。隨機選擇一種通道,再使用一個大小隨機(最小為25像素)的矩形區域使用積分圖進行像素值求和。每一張圖像可以得到約5000個通道特征,這些特征構成一個特征集合,用於訓練弱分類器的特征將隨機從這些特征集合中選取。
特征提取完畢后,需要使用這些特征構建二階決策樹。二階決策樹中每個葉子節點為類別值,這里只有1和0,分別代表行人和非行人;非葉子節點為分類的閾值。構建二階決策樹的過程即是對每個非葉子節點,依次遍歷特征池中所有特征,找出對所有訓練樣本進行分類所得誤差最小的特征作為分類的閾值 。Error=wi*|ci-yi|
其中i為樣本編號,wi為樣本對應的權重,ci為決策樹分類的結果,yi為樣本i的標簽。
<針對樣本的所有特征中的每個特征尋找一個合適的閾值來分類正負樣本,使對於所有正負樣本分類得最准確,也就是判讀(分類)誤差最小。再在這所有特征中找到分類最准的那幾個特征,例如F1,F2,F3,每個特征和他們的閾值就是上述的一個結點,幾個結點組織在一起就是弱分類器。>
(2)使用Adaboost方法構建狀態分類器
由同一個訓練樣本集訓練得到的多個弱分類器組合成的較強的分類器稱為狀態分類器。
Adaboost算法的核心思想是針對同一個訓練樣本集,根據上一次訓練結果更新樣本權重,若上一次分類被錯誤分類,則加大該樣本權重,反之則減小權重,反復迭代這個訓練過程產生不同的弱分類器。
(3)使用soft-cascade構建級聯分類器
多個狀態分類器串聯構成級聯分類器,級聯類器的分類准確率與狀態分類器的數量呈正比。一個樣本集只能產生一個狀態分類器,需要新的訓練樣本集才能訓練不同的狀態分類器,因此構建級聯分類器的關鍵就是如何自適應的采集有效的訓練樣本集提供給下一個狀態分類器的訓練。
本文訓練了一個由2層狀態分類器構成的級聯分類器,第一層狀態分類器由32個弱分類器構成,第二層狀態分類器由128個弱分類器構成。
使用已完成的訓練狀態分類器幫助篩選樣本可以使樣本集盡可能有針對性。對訓練樣本進行滑動窗口遍歷,采取通道特征集合后,將集合輸入之前訓練好的狀態分類器中進行判斷,選擇通過所有狀態分類器判斷的窗口圖像作為下一個樣本集參與狀態分類器的訓練。重復以上過程,直到采集完成所有的樣本圖像。
3.2.2 快速構建鄰近尺度分類器
待檢測圖像中可能會存在不同尺度的行人目標,為了檢測出不同尺度的行人,需要對待檢測圖像構建圖像金字塔,即對圖像進行多次放縮處理,然后再用滑動窗口在每個尺度的圖像中進行滑動檢測。這兩個過程是傳統的基於滑動窗口行人檢測算法中比較耗費時間的兩個過程,已經成為制約行人檢測的瓶頸。單獨訓練一個標准尺度的行人檢測分類器估計需要十個小時左右的時間,為了能夠檢測到各個尺度大小的行人,一般需要訓練55個不同尺度的分類器。
Dollar等人在文獻中提出了一種使用鄰近尺度特征值估計的算法,使用在標准尺度上所計算的特征值估計相鄰尺度上的特征值。這樣極大的減少了圖像縮放次數。
3.3 滑動窗口檢測
(1)滑動窗口檢測:
對待檢圖像進行行人檢測就是利用已經訓練完成的行人檢測分類器,對輸入圖像進行檢測判斷,分析圖像中是否包含行人以及給出圖像中行人所在的位置。由於本文采用了級聯分類器進行行人分類,所以必須使用滑動窗口遍歷整幅圖像,判斷這些窗口是否存在行人。
待檢圖像中會出現尺寸不一的行人,可以通過構造待檢圖像金子塔和分類器金子塔解決多尺度的問題。
(2)窗口融合:
通過滑動窗口掃描的方法進行行人檢測,不同尺度的窗口和同一尺度連續的窗口會將同一行人目標多次判斷為行人,如何將屬於同一個行人的檢測窗口融合並標注其准確位置,是行人檢測算法需要解決的最后一個難題。
本文使用基於窗口重疊的方法實現窗口融合,該方法的主要是通過計算窗口重疊部分的面積,若該面積大於一個閾值則使用其平均值融合該窗口,輸出這個融合的窗口。
單獨使用融合進行行人檢測,想要保持較高的檢測率,誤檢率比較高,因此需要將檢測窗口做進一步精細檢測。
3.4 本章小結
本章主要完成快速確認疑是行人窗口,將疑是存在行人的窗口傳遞到卷積神經網絡進行行人檢測。
4 基於卷積神經網絡的行人檢測
由於待檢測圖像中行人目標尺寸大小不一,通常采用多尺度的滑動窗口進行檢測。直接使用卷積神經網絡進行滑動窗口檢測,檢測效率較低,不具備實時性。本文通過前面所述過程,快速檢測出疑是存在行人的窗口,然后將窗口傳入卷積神經網絡進行進一步檢測,具有較好的實時性和檢測率。
4.1 本文所使用的卷積神經網絡拓撲結構
輸入層為64*64像素的圖像,C1層每個像素與輸入層的9*9的感受野相連接,感受野在輸入圖像中滑動移動遍歷,由64-9+1可得C1層特征圖像大小為56*56。由於權值共享,每個特征平面的權值相等,C1層總共6個特征平面,從輸入層中提取了6個特征。
4.2 訓練卷積神經網絡
在訓練網絡之前,需要找到合適且數量足夠的正負樣本,本文使用的訓練樣本來源於NICTA行人數據庫,該數據庫是目前規模較大的靜態行人數據庫,由訓練集和測試集構成,且每張樣本圖像的大小均為64*80。其中訓練集中包含了42,344張包含行人的正樣本圖像,200,000張不包含行人的負樣本圖像;測試集中包含了5,878張包含行人的正樣本圖像,37,343張不包含行人的負樣本圖像。
4.3 卷積神經網絡的參數調節
卷積神經網絡的輸入樣本分辨率大小、每層特征數目、迭代次數的改變都會對最后的分類效果產生影響。
1)不同像素對分類結果的影響:隨着訓練樣本分辨率的下降,分類識別率總體上呈下降趨勢。由於在相同的參數下,圖像分辨率越大,通過卷積和采樣得到的特征數目越多,處理時間越長。
2)不同網絡結構對分類結果的影響:
3)不同迭代次數對分類結果的影響:迭代次數越高,平均准確率會得到相應的提升。但是,訓練時間也會增大,且迭代在上升到一定次數后對檢測准確率的提升會減小。
4.4 行人目標檢測過程
本文訓練的卷積神經網絡輸入圖像尺寸大小為64*64,通過第三章獲取的疑是存在行人窗口尺寸大小不一,需要將所有的窗口尺寸調整為64*64。本文使用了雙三次插值法進行圖像縮放調整,該算法比占主導地位的雙線性濾波算法保留更好的細節質量。
4.5 本章小結
5 實驗結果及性能分析
5.1.1 行人檢測評價標准:
對行人檢測的評價方法主要分為基於分類器的評價和基於檢測效果的評價。這兩種評價方法都需要已知輸入圖像的正確結果,將正確結果與分類器判斷的結果或行人檢測器檢測的結果進行對比。相關測試名詞有:正樣本誤判為負樣本的數量(True Negative,TN);負樣本誤判為正樣本的數量(False Positive,FP);負樣本正確預判為負樣本的數量(False Negative,FN);正樣本正確預判為正樣本的數量(True Positive,TP)。漏檢率和誤檢率的計算如下公式:
基於分類器的評價方法主要是為了評價特征表征行人的能力和分類器的學習效果。該方法優點是簡單直接,缺點是統計出的分類准確率不能衡量整個檢測系統的優劣情況。
基於檢測效果的評價方法主要是評價整個行人檢測系統的性能。輸入到行人檢測器的測試樣本都會有標注值,值為測試樣本圖像中行人的位置和大小,而從行人檢測器中輸出的圖像也會標注出行人的位置和大小。用輸出的結果與圖像本身的標注值進行對比,若其偏差小於某一個設定的閾值,則判斷其檢測正確,否則為誤判。該評價方法的優點是全面評價了檢測器的性能,但是手動標注圖像中每一個行人的位置和大小工作量巨大,而且檢測效果受閾值的影響很大。
實時性也是行人檢測系統比較重要的一個評價標准,但是相同的檢測系統在不同的平台上可能會有速度上的差異,目前還不存在一種方法可以忽略平台單獨評價行人檢測系統的檢測速度。
以上的評價方法都需要某種形式展示,當前主流的展示方法為混淆矩陣和ROC曲線圖。
ROC曲線是關於檢測閾值的函數曲線,其X軸位誤報率,Y軸位檢測率,能直觀的反映行人檢測結果里兩類指標的關系,即曲線越靠近左上角,其檢測效果越好。