<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 基于支持向量機方法的車型分類技術(shù)

          基于支持向量機方法的車型分類技術(shù)

          作者:葛威,王飛 時間:2008-08-22 來源:中電網(wǎng) 收藏

            0引言

          本文引用地址:http://www.ex-cimer.com/article/87263.htm

            系統(tǒng)是隨著公路交通的迅速發(fā)展而發(fā)展起來的,它是以交通流為基礎(chǔ)完成各種功能。經(jīng)過近年來的發(fā)展,的研究取得了諸多成果,但車型的準確分類一直是中的難點問題。目前具有功能的檢測器主要有:壓電式檢測器、磁感應(yīng)式檢測器、檢測器以及檢測器等。與其他類型的檢測器相比,檢測器具有安裝簡單、維修方便、投資成本低以及可獲信息多等優(yōu)點,目前已成為系統(tǒng)研究的熱點。

            基于方法主要包括兩大類:一類是直接利用車輛的輪廓或像素的空域分布特征進行分類,如模板匹配算法等;另一類是從待識別車輛圖像中提取出能描述該類型的車輛又能與其他類型的車輛進行區(qū)分的特征,利用某種分類器對特征進行分類,以實現(xiàn)的目的。由于交通車輛種類多、特征差異大,采用模板匹配算法進行車型分類時需要大量的模板,況且對每一車輛,所有的模板都必須對其匹配打分,選取匹配度最大的模板作為該車輛的類型,這使得算法繁瑣耗時,不利于滿足系統(tǒng)實時性要求。因此,該方法在現(xiàn)實中應(yīng)用較少,而主要采用第2類方法。采用第2類方法進行車型分類時,分類器的選擇很關(guān)鍵。目前多數(shù)車型分類算法中都采用了神經(jīng)網(wǎng)絡(luò)作為分類器,但其目前遇到了網(wǎng)絡(luò)模型難以確定、容易出現(xiàn)過學(xué)習(xí)與欠學(xué)習(xí)以及局部最優(yōu)等問題。由Vapnik等人發(fā)展的SVM(較支持向量機)方法被看做是對傳統(tǒng)學(xué)習(xí)分類方法的一個較好的替代,特別在小樣本、非線性情況下,具有較好的泛化性能。SVM方法建立在統(tǒng)計學(xué)習(xí)理論的VC維(Vapnik-Cher-vonenkis Dimension)理論和結(jié)構(gòu)風(fēng)險最小化原理基礎(chǔ)上,根據(jù)有限樣本信息在模型的復(fù)雜性和學(xué)習(xí)能力之間尋求最佳折衷,以獲得最好的泛化能力。作為一種新的學(xué)習(xí)分類方法,SVM方法目前已經(jīng)在人臉識別、紋理分類等領(lǐng)域得到了成功的應(yīng)用。

            本文采用了SVM方法對車型分類進行了研究,并從核函數(shù)、模型參數(shù)等方面對其分類性能進行了分析。 

            1 SVM方法

            1.1兩類SVM

            考慮n維兩類非線性分類情況。給定訓(xùn)練樣本集:{(xi,yi),i=1,2,…,l},其中,xi∈Rn,yi ∈{+1,-1}。首先通過一個非線性映射將輸入數(shù)據(jù)空間映射到高維特征空間:

            在高維特征空間中,如果訓(xùn)練樣本集線性可分,則存在分類超平面+6=0將訓(xùn)練樣本正確分開。通過規(guī)范化權(quán)向量w和偏移量b,有下列不等式成立:
           
            高維特征空間中任意訓(xùn)練樣本點到分類超平面的距離為:
           
            所以,兩類訓(xùn)練樣本中距分類超平面的最小距離均為1/‖w‖,亦即兩類的分類間隔(margin)為2/‖w‖。因此,尋找最優(yōu)的分類超平面,就是在式(3)約束條件下尋找分類間隔最大的超平面,也就是尋找權(quán)向量范數(shù)‖w‖最小的超平面。

            在高維特征空間中,如果訓(xùn)練樣本集線性不可分,或事先不知道它是否線性可分,將允許存在一定數(shù)量的誤分類樣本,引入非負松弛變量ξi,i=1,2,…,l,則式(3)變?yōu)椋?br />  
            式中:若ξi=0,表示對應(yīng)的訓(xùn)練樣本被正確地分類;若ξi>0,表示對應(yīng)的訓(xùn)練樣本被誤分類。

            為了得到一個最大間距的分類超平面,可以將上述問題轉(zhuǎn)化為線性約束條件下的二次規(guī)劃問題:


             式中:C>0,是一個自定義的懲罰參數(shù),控制著對誤分樣本的懲罰程度,C越大,懲罰就越大,對誤分樣本的約束程度就越高。

            通過Lagrangian乘子法,式(6)可以轉(zhuǎn)化為如下對偶問題:
           
            由式(9)和式(10)可知,當(dāng)ξi=0,亦即樣本被正確分類時,0≤λi*

            這樣,最優(yōu)分類函數(shù)可以寫為:


           
            由式(11)可知,計算分類函數(shù)只涉及高維特征空間中的輸入向量與SV的內(nèi)積。因此,甚至沒有必要知道非線性映射φ的具體形式,而只需要它的內(nèi)積運算即可。假定高維特征空間的內(nèi)積為:


           
            稱式(12)的內(nèi)積為核函數(shù),它將高維特征空間的內(nèi)積運算轉(zhuǎn)化為低維輸入空間上的一個簡單的函數(shù)運算。統(tǒng)計學(xué)習(xí)理論指出,根據(jù)Hilbert-Schmidt原理,只要一種運算滿足Mercer條件,它就可以作為核函數(shù)。



            1.2多類SVM

            SVM方法是針對兩類分類問題提出的,如何將兩類分類推廣到多類分類是SVM方法研究的重要內(nèi)容之一。目前主要有兩種方法來解決這個問題:

            a)直接求解一個含多類問題的優(yōu)化問題,相對其他方法而言,該方法需要較長的時間來求解一個大的優(yōu)化問題。

            b)通過構(gòu)造或組合多個兩類分類器來實現(xiàn)多類問題的分類,其中包括兩種方法:一種是一對多(one-against-the rest)方法,它的實現(xiàn)策略是針對N類分類問題構(gòu)造N個兩類SVM分類器,第i(1≤i≤N)個SVM分類器將第i個類中的訓(xùn)練樣本作為正的訓(xùn)練樣本,而將其他訓(xùn)練樣本作為負的訓(xùn)練樣本,最終的分類結(jié)果是N個兩類分類器中輸出為最大的那一類;另一種是一對一(one-against-one)方法,它是在N類訓(xùn)練樣本中構(gòu)造所有可能的兩類分類器,每一個分類器僅僅在N類中的兩類訓(xùn)練樣本上訓(xùn)練,結(jié)果共構(gòu)造Ⅳ(N-1)/2個分類器。對所有組合進行投票,得票最多的類為測試樣本所屬的類。Huang等人研究表明,一對多方法需要的訓(xùn)練時間較一對一方法長。本文通過一對一方法將兩類SVM推廣到多類SVM。

            2車型分類

            本文的車型分類標(biāo)準是按交通部規(guī)定,分為典型的7種:大客、小客、大貨、中貨、小貨、托掛以及摩托

            2.1輸人空間

            SVM方法是一種學(xué)習(xí)分類方法,因此,輸入空間的選擇對其分類性能有著重要的影響。根據(jù)交通檢測的實際情況,經(jīng)過長期觀察,結(jié)合大量實驗,從定位出來的車輛中(見圖1)提取了由長度和寬度2個幾何特征、7個不變矩特征和5個由灰度共生矩陣導(dǎo)出的紋理特征共14個特征形成SVM的輸入向量x。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();