• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于決策樹的改進AdaBoost算法在車輛檢測中的應用

      2017-05-31 19:37:19李斌王凱徐英杰
      軟件導刊 2017年5期
      關(guān)鍵詞:決策樹

      李斌 王凱 徐英杰

      摘要摘要:為滿足車輛檢測實時性和準確性需求,將基于C4.5的決策樹算法作為AdaBoost算法的弱分類器,產(chǎn)生一種速度快、識別率高的強分類器,稱之為AdaBoostDT算法。算法訓練多個決策樹并將之作為弱分類器,之后通過改進級聯(lián)架構(gòu)的AdaBoost算法將若干弱分類器組合成一個強分類器。該算法特點在于:相對于廣泛使用的以SVM作為弱分類器的算法,其以決策樹作為分類器,速度提高了29%;通過在AdaBoost算法進行強分類器的形成階段加入再判決函數(shù),準確率提高了14.1%。

      關(guān)鍵詞關(guān)鍵詞:AdaBoost算法;決策樹;車輛檢測

      DOIDOI:10.11907/rjdk.162868

      中圖分類號:TP319

      文獻標識碼:A文章編號文章編號:16727800(2017)005012903

      0引言

      隨著我國城鎮(zhèn)化建設的飛快發(fā)展及汽車保有量的增加,土地資源越發(fā)緊張,停車難的問題越發(fā)嚴重,由此產(chǎn)生的交通擁堵事故層出不窮。停車引導自動化成為一項重要技術(shù),其解決的主要問題是車輛識別的速度和準確率。目前存在的識別方案主要有以下幾種:紅外感應、無線傳感器、圖像識別。在這些方案中,第一種還需要解決信號干擾、信號復用等問題,第二種方法不僅建設的成本高,而且還需要解決信道可靠傳輸?shù)膯栴},結(jié)構(gòu)比較復雜。由此,基于圖像識別的車輛檢測與停車位識別技術(shù)受到人們的廣泛關(guān)注[1],這其中最受關(guān)注的當屬分類器技術(shù)。

      分類器技術(shù)不僅能夠用于目標檢測領(lǐng)域,在其它很多領(lǐng)域也發(fā)揮了重要作用,例如在語音信號處理、數(shù)據(jù)挖掘、信號聚類、圖像檢索等。目前存在很多能實現(xiàn)分類功能的算法,其中應用比較廣泛的為AdaBoost算法[2],該算法先對車輛進行特征提取,在此基礎上采用支持向量機(Support Vector Machhine,SVM)[3]的方法進行車輛識別,取得了一定效果。基于SVM的檢測方法雖然具有很強的分類能力,但是選取特征的過程復雜,且易陷入局部極小。此外,基于SVM的檢測方法一般都需要比較大的計算量進行特征提取,這在一定程度上影響了算法的性能,很多情況下不能滿足車輛識別的效率要求。

      本文提出的AdaBoostDT算法通過采用決策樹[45]作為AdaBoost的弱分類器,提高了車輛識別速度,并通過改進AdaBoost算法的級聯(lián)架構(gòu),彌補決策樹作為分類器所導致的準確率下降,從而使集成后的強分類器與基于SVM的分類器相比,在準確度略微下降的情況下,速度能有很大程度的提升,更好地滿足車輛檢測系統(tǒng)對于實時性的要求。

      1基本原理

      1.1AdaBoost算法

      AdaBoost算法是一種機器學習算法,它能將弱分類器提升為強分類器,其中分類器的強弱是指識別率高低。算法是通過調(diào)整訓練集上樣本的權(quán)重來實現(xiàn)其功能。開始時每個樣本的權(quán)重相等且總和為1,隨后AdaBoost算法對訓練集進行訓練,產(chǎn)生第一個弱分類器,并計算錯誤率。根據(jù)錯誤率調(diào)整權(quán)重,提升錯判樣本的權(quán)重,降低辨別正確的樣本的權(quán)重,這樣在之后的訓練中就會更多地考慮這些被錯判的樣本。在調(diào)整后的樣本權(quán)重基礎上,再進行訓練產(chǎn)生新的分類器,次迭代后就產(chǎn)生了N個檢測能力一般的弱分類器。AdaBoost再將這些弱分類器按照一定的權(quán)重進行一系列的組合,產(chǎn)生強分類器。理論證明,弱分類器的數(shù)量越多,各個弱分類器之間的差異越大,強分類器的效果越好。

      1.2決策樹

      決策樹算法是一種由J Ross Quinlan等提出的逼近離散函數(shù)值的算法,于20世紀60年代出現(xiàn)。該算法最初的用處是在已知各種情形出現(xiàn)概率的情況下,通過決策分支來獲取期望值及其對應的概率,評價項目風險,判斷可行性。由于形狀像一顆擁有很多分枝的樹,所以稱為決策樹。

      決策樹算法是典型的分類算法,該算法先處理數(shù)據(jù),產(chǎn)生一定的規(guī)則和決策樹,然后再運用決策分支對數(shù)據(jù)進行分析,本質(zhì)是按照一定的規(guī)則對數(shù)據(jù)進行分類。典型的決策樹算法有ID3[6]、C4.5[7]、CART等。本文提出的AdaBoostDT算法采用基于C4.5算法的決策樹作為弱分類器。C4.5算法作為ID3算法的改進算法,彌補了ID3算法的兩個不足之處[8]:一是ID3算法采用信息熵作為選擇樣本屬性的標準,很多時候,通過該標準選擇的屬性并不具有代表性,C4.5算法采用信息增益率作為樣本屬性的選擇標準,彌補了這個缺點;二是ID3算法只對屬性離散的數(shù)據(jù)集有處理能力,而不能處理屬性連續(xù)的數(shù)據(jù)集,而C4.5算法則對屬性離散和屬性連續(xù)的數(shù)據(jù)集都有較好的處理能力。

      2AdaBoostDT算法

      2.1弱分類器最佳分割闕值方法改進

      C4.5算法作為ID3算法的改進算法,彌補了ID3算法的兩個缺點,但仍存在一些不足:C4.5算法要隨機地在屬性的不同取值中插入一些點,計算這些點的信息增益率,選擇值最大的屬性作為最佳分裂屬性。當遇到?jīng)Q策樹節(jié)點數(shù)量較多的情況時,將影響到?jīng)Q策樹的效率。提高決策樹識別速度的關(guān)鍵之處在于快速地找到最佳分割闕值。

      根據(jù)邊界點原理[9]:連續(xù)數(shù)據(jù)集的最佳分割點總在邊界點處。本文按照遞減的順序?qū)⑦B續(xù)型屬性排列,再從相鄰的兩個邊界點附近選擇4個屬性作為測試屬性,按遞減的順序依次為:a1、a2、a3、a4。其中a1為類1中屬性的最大值,a2為類1中屬性的最小值,a3為類2中屬性的最大值,a4為類2中屬性的最小值。計算每個點的信息增益率,選擇最大的值作為最佳分割闕值,這樣只需計算4個屬性值,相對于傳統(tǒng)需遍歷所有屬性,計算相應的值,能極大提升決策樹的效率。當屬性只有兩個類別時,本文算法效率最高;每個屬性都只有一個類別時,本文提出的改進算法與傳統(tǒng)算法效率相同,效率最低。

      2.2改進的分類器級聯(lián)架構(gòu)

      傳統(tǒng)的AdaBoost級聯(lián)架構(gòu)就是一定數(shù)量的弱分類器簡單串聯(lián)[10]。由于每一級的弱分類器都有一定的誤判概率,使得整個分類器的識別率較低。例如,6個正確率為90%的分類器采用傳統(tǒng)方式級聯(lián)之后準確率為53.1%,6個正確率為96%的分類器采用傳統(tǒng)的級聯(lián)方式之后準確率也僅為78.3%,這顯然不能滿足車輛識別的實際需要。對此,本文通過增加再判決函數(shù)改進了AdaBoost算法的級聯(lián)架構(gòu)以滿足算法準確率的需求,改進算法的結(jié)構(gòu)如圖1所示。

      在傳統(tǒng)的級聯(lián)判決中,每個分類器只考慮當前級別分類器對樣本的判決結(jié)果,而沒有考慮到前面分類器的判決結(jié)果,實際情況是分類器可以將前面分類器的結(jié)果作為參照用來修正當前的分類器,使準確率得到提高。本文對AdaBoost算法的每一級分類器后面增加一個再判決函數(shù)來提高準確率,再判決函數(shù)對被當前分類器判決為假的樣本進行再判決。如果再判決函數(shù)判決結(jié)果為假,那么認為樣本不是車輛,否則將樣本送到后一級分類器中。

      第t級的再判決函數(shù)為:

      Ht(xi)=γht(xi)+(1-γ)·(1/2)m

      其中,γ代表當前分類器的權(quán)重系數(shù),0<γ<1,ht(xi)=∑Dti=1f,表示第i級分類器判決對樣本xi判決的隸屬度;Dt為第t級中分類器數(shù)量;f表示在第t級分類器中用第i個弱分類器對樣本xi進行判決得到的結(jié)果;m為樣本Xi被前面t-1級分類器判斷為假的次數(shù)。

      第t級的再判決為:

      Tt(xi)=1,(xt)>bound0,other

      其中,bound是第t級再判決器的閾值,大于該值認為是真,小于該值則認為是假。

      再判決函數(shù)考慮了前面分類器的判決結(jié)果,它的作用相當于給后面的分類器設置了一個闕值,該闕值可根據(jù)前面各級分類器對樣本的判斷結(jié)果而作相應調(diào)整:當樣本被前面多個分類器錯判時,闕值變大,反之變小。這樣,對于正樣本而言,前期被拒絕次數(shù)少,闕值變小,在后面能盡早地通過判決。對于負樣本,前期被拒絕次數(shù)多,闕值很快就會變得很大,會盡早地被淘汰。

      3實驗

      3.1實驗平臺

      實驗平臺包括硬件配置和軟件環(huán)境兩部分,硬件配置為配置intel Corei7-3612,16GB內(nèi)存的PC機,軟件環(huán)境采用了基于Win 10操作系統(tǒng)的VisualStudio2013搭載OpenCV2.4.8視覺庫。

      下文將對OpenCV進行簡單介紹,OpenCV是由Intel公司于1999年開發(fā)的一個開源計算機視覺庫,全稱為Open Sorece Computer Vision Library。OpenCV集成了部分C++類和函數(shù),為使用者提供了與圖像處理相關(guān)的許多通用算法。

      3.2測試數(shù)據(jù)

      本文創(chuàng)建了用于車輛識別的圖像庫和視頻庫,以全面檢驗決策樹分類器的性能。

      本文建立了針對車輛前后俯視角度的圖像庫,該圖像庫大多數(shù)樣本為從網(wǎng)上搜集來的照片,從中挑選了100幅各種背景和各種光線強度下的圖片,通過剪輯使照片的尺寸都在720×480,每幅圖片都包含1~5輛車,總共含有368輛車,圖2為圖像庫的幾個示例。

      為了測試算法的實時性,還建立了用于測試的視頻庫,視頻庫的視頻是在幾個不同的停車場進行錄制,再通過后期整理得到,共有6段時間長短不同的視頻,視頻分辨率為720×480,幀數(shù)為25fps。

      3.3測試圖像庫實驗

      依次用基于決策樹的AdaBoost算法、基于SVM的AdaBoost算法和本文提出的改進的基于決策樹的AdaBoostDT算法對圖像庫進行識別測試。3種算法正確識別車輛數(shù)目、車輛檢測率、誤檢車輛數(shù)目、誤檢率及對300張照片進行檢測花費的總時間如表1所示。

      3.4測試視頻庫實驗

      為了檢驗分類器是否滿足系統(tǒng)對實時性的要求,運用視頻庫對上述3種算法進行實驗,實驗時,每隔50ms從視頻中取一幀圖像。3種算法對每一段視頻中車輛的正確識別率、誤檢率和每一幀圖像的平均處理時間如表2所示。

      圖3為圖像庫的實驗結(jié)果示例。

      3.5實驗結(jié)果分析

      通過運用圖像庫和視頻庫進行實驗,可以看出:

      (1)普通的基于決策樹的識別算法,在車輛的正確識別率和誤檢率兩個方面與其它兩種算法相差很多,其不到80%的正確識別率明顯不能滿足對車輛識別準確性的要求。

      (2)基于SVM的分類器算法,在檢測所花的時間上遠遠超過另外兩種算法,可以用在靜態(tài)的車輛檢測方向,但是對于停車場這種對實時性要求較高的系統(tǒng)不太適合。

      (3)本文提出的AdaBoostDT算法雖然在車輛的正確識別率上比基于SVM的算法低3個百分點,但是其高于91%的識別率也足以滿足車輛檢測的需要。此外,本文提出的算法在辨別速度上比基于SVM的算法提高了30%,更能滿足及時性的要求。

      (4)用于測試的照片包括各種光線條件下的、各種背景的照片,另外照片上的車輛也是各種各樣,有普通轎車、SUV甚至卡車。本文算法在復雜的情況下依然能保持較高的檢測率,說明本文算法的適用范圍很廣。

      4結(jié)語

      本文提出的AdaBoostDT算法,與傳統(tǒng)的基于SVM的AdaBoost算法不同,采用基于C4.5的決策樹算法作為弱分類器,顯著提高了AdaBoost算法的效率,得到結(jié)果的速度更快;再通過對AdaBoost算法級聯(lián)架構(gòu)進行改良,彌補決策樹算法相較于SVM算法作為弱分類器導致的準確率下降問題。實驗證明,本文提出的AdaBoostDT算法具有快速的識別速度和較高的準確率,更能滿足車輛識別系統(tǒng)實時識別的需要。

      參考文獻參考文獻:

      [1]ZHANG J P,WANG F Y,WANG K,et al.Datadriven intelligent transportation systems:asurver[J].IEEE Trans IntellTransp Syst,2011,12(4):16241639.

      [2]FREUND Y,SCHAPIRE R.Adecisiontheoretic generalization of online learning and an application to boosting[J].Journal of Computer and System Sciences,1997,55(1):119139.

      [3]ANOSPIDE J,SALGADOL.Regiondependent vehicle classification using PCA features[C].IEEE International Conference on Image Processing.Washiington DC:IEEE Computer Society,2012:453456.

      [4]LI FACHAO,LI PING,JIN CHENXIA.Summary of decision tree algorithm and its application in attribute reduction[R].Shijiazhuang:Hebei Univ.of Seism and Technology,2009:313317.

      [5]謝金梅,王艷妮.決策樹算法綜述[J].軟件導刊,2008,7(11):8385.

      [6]CHEN JIN,LUO DELIN,MU FENXIANG.An improved ID3 decision tree algorithm[C].Chengdu:4th International Conference on IEEE Computer Science and Education,2009:127130.

      [7]QUINLAN J R.C4.5:programs for machine learning[M].San Mateo:morgan Kaufmann Publishbers Inc,1993:1742.

      [8]YANG XUEBING,ZHANGJUN.Decision tree algorithm and its key techniques[J].Computer Technology and Developmeng,2007,17(1):4446.

      [9]FAYYAD U M,INANIK B.On the handing of continuesvalue attributers in decision tree generation[J].Machine Learning,1992,8(1):87102.

      [10]VDLA P,JONESM.Robust realtiem object detection[C].Second Internationl Workshop on Statistical and Computationsl Theories of Vision:Modeling,Learning,Computing and Sampling,2007.

      責任編輯(責任編輯:孫娟)

      猜你喜歡
      決策樹
      基于決策樹和神經(jīng)網(wǎng)絡的高血壓病危險因素研究
      一種針對不均衡數(shù)據(jù)集的SVM決策樹算法
      決策樹和隨機森林方法在管理決策中的應用
      電子制作(2018年16期)2018-09-26 03:27:06
      基于改進決策樹的故障診斷方法研究
      決策樹多元分類模型預測森林植被覆蓋
      電子制作(2017年24期)2017-02-02 07:14:23
      基于決策樹算法的數(shù)據(jù)挖掘應用研究
      今日財富(2016年6期)2016-10-21 05:40:53
      基于決策樹的出租車乘客出行目的識別
      基于決策樹的復雜電網(wǎng)多諧波源監(jiān)管
      電測與儀表(2016年2期)2016-04-12 00:24:40
      基于模糊關(guān)聯(lián)規(guī)則和決策樹的圖像自動標注
      基于肺癌CT的決策樹模型在肺癌診斷中的應用
      偏关县| 泾阳县| 钦州市| 鄂州市| 普陀区| 惠水县| 金门县| 克什克腾旗| 鄯善县| 三都| 当雄县| 房山区| 上思县| 苍南县| 湟中县| 高邮市| 拉孜县| 平山县| 济阳县| 宾川县| 兖州市| 新乐市| 大关县| 鄂托克前旗| 齐齐哈尔市| 扶沟县| 蒙自县| 祁门县| 尤溪县| 宁乡县| 新乡市| 上思县| 城市| 桃园县| 商河县| 葵青区| 开阳县| 法库县| 隆子县| 汨罗市| 康保县|