?

基于集成學習的取景圖像自動分類方法*

2018-06-14 05:46楊彬蔚張怡芳
數字技術與應用 2018年3期
關鍵詞:特征向量類別分類器

楊彬蔚 張怡芳

(1.浙江機電職業技術學院信息技術系,浙江杭州 310053;2.浙江機電職業技術學院國際交流系,浙江杭州 310053)

1 引言

智能手機的廣泛應用,使得數碼照片的拍攝群體大大增加。然而,要真正拍攝出一張好的照片,除了一般的取景構圖技術,也需要根據場景合理使用一些參數,例如白平衡,快門值,曝光補償等的設置。但對于大多數未曾學過攝影技術,卻想要拍出漂亮照片的普通人群而言,并不懂得如何去合理設置參數。因此,如何根據取景框中的圖像,進行高品質相機參數自動調整對于大多數普通攝影愛好者而言尤有意義。

相機參數的選擇主要取決于場景,例如:拍攝水滴,煙花等需要設置快門值;拍攝夜景需要增加曝光補償;拍攝晚霞需要調節白平衡等。所以,如何根據取景框中的圖像進行合理的場景識別是相機參數合理選擇的關鍵問題。

場景識別是一個分類問題,即如何將取景圖像自動分類到特定場景中。當前,圖像分類技術在計算機視覺與機器學習領域中廣受關注,關于圖像分類的方法也是層出不窮。這些方法的主要思想集中在圖像特征的提取,以及分類模型的構建這兩個問題的解決。由于圖像類型的多樣化,特征體現多樣化,而不同的分類模型也具有一定的局限性,因此現在還沒有完全智能化的圖像分類方法能針對所有圖像,主要研究的還是針對特定的圖像研究合適的分類方法。如在文獻[1]中提到應用神經網絡對水果圖像進行分類。文獻[2]中提到的支持向量機的分類方法則適用于醫學圖像。文獻[3]中則是針對指紋圖像的分類提出了一種基于傾斜決策樹的隨機森林方法。而本文研究重點則針對攝影中的自然圖像進行分類,關于自然圖像的分類,當前研究文獻也很多,如在文獻[4][5]中,通過研究圖像特征的提取,在支持向量機算法中應用這些特征,實現了對部分場景圖的分類。在文獻[6]中,選擇PCA-SIFT特征向量,用于貝葉斯決策,實現自然圖像分類。在文獻[7]中則是將圖像進行Haar變化后,提取特征并應用于卷積神經網絡這種深度學習模型中,從而實現了自然場景圖像分類。

圖1 初創第一個弱分類器

本文則提出一種基于boosting學習[8]的分類方法,boosting算法是一種集成學習的算法,其核心思想是將一組弱分類器集成為一個強分類器。早先的boosting算法并不實用,但后來出現了大量實用的基于boosting思想的算法,譬如AdaBoost[10][11],GradientBoost[12],FCBoost[13]等,這些算法被廣泛應用于人臉識別,目標檢測與識別等領域。其中AdaBoost是根據Boosting算法思想設計出的一種具有代表性的實用算法。這是一種自適應的Boosting算法,其核心思想分為以下幾步:首先,初始化訓練樣本的權重。然后,應用弱分類器對訓練樣本進行判斷,調高錯誤判斷的樣本權重,調低正確判斷的樣本權重。再次,應用新的弱分類器對權重更新過訓練樣本重新進行判斷,重復上一步的操作,對權重進行調整,不斷迭代進行,直到達到某個預定的足夠小的錯誤率或達到預先指定的最大迭代次數。最后,將各個弱分類器組合成強分類器。在強分類器中,分類誤差率小的弱分類器的權重被加大,分類誤差率大的弱分類器的權重被降低。

本文提出的相機取景圖場景自動分類方法主要基于AdaBoost算法思路,算法受文獻[4][5][6][7]的影響,將圖像的局部或者全局視覺特征納入到聚類算法中。同時,算法受文獻[14]的影響,考慮將高斯函數運用到分類器的構建中。算法核心思想分為兩步,即訓練與判斷。訓練階段主要通過對已知類別圖像的訓練獲取相應的強分類器。訓練階段分三步,首先,提取訓練圖像的局部或者全局特征值。然后,應用Gaussian函數構建弱分類器。最后,基于AdaBoost算法基本思想,通過迭代計算,修改弱分類器的系數,從而構建強分類器。在判斷階段,則通過構建的強分類器對目標圖像進行類別判斷。

本文組織結構如下,第二節主要介紹訓練階段的過程。第三節介紹判斷的過程。第四節給出實驗結果。最后是結論。

圖2 創建強分類器

2 訓練

本節主要說明算法的訓練階段。算法的訓練階段主要分三個階段:首先是獲取訓練圖的特征向量;第二個階段是創建某類圖的初始弱分類器;第三個階段是通過訓練不斷調整訓練數據的權重以及各個弱分類器的權重系數,直至獲得最終的強分類器。其中初始弱分類器的創建流程和AdaBoost算法調整弱分類器權重,創建強分類器的過程分別如圖1和圖2所示。

圖1圖2中,圖像類別索引用c表示, c = 1 ,...,C,C表示已知類別的數量,在本文實驗中, C = 5。n和m分別表示在初創弱分類器時從已知類別訓練圖中抽取的特征向量數及之后創建其它弱分類器時從所有訓練圖中抽取特征向量的數量。

由上圖可以看出,要進行訓練,首先需要對訓練圖進行特征向量的提取。在文獻[4][5][6][7]中,均提出針對場景圖,需要進行多特征的融合。在文獻[15][16]中提出采用圖像的顏色,紋理等特征融合成特征向量。在文獻[16]中,通過構建差分尺度空間,尋找滿足條件的關鍵點。然后以關鍵點為中心,采樣了一個小方塊,并通過計算該方塊的顏色,紋理,方向等信息構建了25維特征向量,其中前三維表示顏色,中間四維表示紋理,之后18維表示方向。將這些特征向量構建成了特征碼庫,應用LDA模型來進行場景的識別。本文中關鍵點和特征向量的提取采用文獻[16]所用方法,但為了后期計算的便利性,將特征向量中所有數據均歸一化為0-1之間的浮點數。本文中用x表示特征向量,其中 xk表示特征向量的第k個分量, k = 1 ,...,K,K表示特征向量的維度,這里等于25。

2.1 特征向量提取

AdaBoost作為Boosting算法的一種實際應用,主要針對二分類,因此,在建立分類器時,將所有訓練圖像記為I,其數量記為M。將混有多種類別的訓練圖I中的特定類分出來,作為創建該類別強分類器的訓練圖,將這個特定類別訓練圖類,記作 Ic,其數量為N。應用文獻[16]中所提的方法對 Ic中所有圖進行特征向量的提取。Ic中所有的特征向量放在一個特征向量集中,用u表示,Lc表示特征向量u的數量,= 1 ,...,N 表示 Ic類圖中第i幅訓練圖中所有的特征向量,表示 Ic類圖中第i幅訓練圖中第r個特征向量。I中所有的特征向量集用v表示,L表示特征向量v的數量, vj, j=1,...,M表示訓練圖I中第j幅訓練圖中所有的特征向量,則表示訓練圖I中第j幅訓練圖中第r個特征向量。L表示訓練集I中所有的特征向量數。

根據AdaBoost算法,給每一個特征向量和都分配一個初始權重ω,權重表示 Ic圖中所有特征向量的權重,表示I圖中所有特征向量的權重。t表示迭代次數,初始時, t = 0,所有權重值如下:

2.2 初始弱分類器創建

初始弱分類器創建步驟如下:

(1)在 Ic中隨機選擇一幅圖 Ic,t,t表示第t次迭代,因為是初創,這里的 t = 1,并隨機選擇該圖中某個關鍵點,計算其特征向量,這里用表示。

(2)根據歐幾里德距離的計算結果,從 Ic中其它每一幅圖中各選擇一個與最接近的特征向量,并將這些特征向量保存在矩陣中。如式(2)所示,在這個矩陣中,每一行表示 Ic圖中第i幅圖中與1)中選擇的特征向量最接近的一個特征向量,則表示這個特征向量的第k維數據, k = 1 , . ..,K,K=25。

(3)對矩陣 A ryc中的第k列數據用一個高斯函數去擬合,高斯函數如式(3)所示:

由于現在矩陣中每一列的數據均來自同一類別圖像特征值的同一分量,換言之,將這些數據作為高斯函數的變量x來計算,其函數值 Gt,k應該大于0.5,表示分類正確。在這個前提下,該高斯函數μt,k和σt,k的計算如下:

首先,計算特征矩陣 A ryc中每個特征分量之間的最大距離,即矩陣 A ryc中每一列的最大值與最小值之差。即dt,k=max(ut,k)- m in(ut,k),這里k表示第k個分量,即矩陣中的第k列。m a x(ut,k)和 m in(ut,k)分別表示這一列的最大值和最小值。用以下方式計算這一列數據的均值和方差。

(4)對矩陣中每一列數據進行這樣的計算后,得到一組共k個高斯函數,并按式(6)所示定義函數來計算這k個高斯函數對一個特征向量x計算的結果

2.3 應用AdaBoost創建強分類器

AdaBoost[17]的基本思想是通過對訓練集一次次的迭代產生新的弱分類器,然后在不斷的迭代運算中對訓練數據的權重以及弱分類器的權重系數不斷進行調整,直至錯誤率收斂。經過2.2主要步驟,產生了第一個弱分類器,接下來,則需要通過迭代產生其他的分類器,并合理訓練數據權重和弱分類器權重系數。

(1)用第一個弱分類器 g1c對訓練集的所有特征向量進行最初的分類判斷,根據判斷結果計算其錯誤率,錯誤率計算如式(8)所示,這里 xl表示訓練圖像集中某個特征向量。

圖3 訓練圖

3 判斷

通過第二節中的步驟,最終創建出若干針對特定類別的強分類器 )(xHc,在進行具體目標圖 gIm 的類型判斷時,首先通過2.1中所述,獲取目標圖的所有特征向量,并將這些特征向量保存在矩陣A中,最終對該圖的類型判斷用式(15)實現。

上式中,c表示圖像的類別索引,C表示圖像判斷的類別總數,Ai表示測試圖 Im g 的第i個特征向量, n um ( A)表示測試圖 Im g 中特征向量的數量。

4 實驗分析

表1 測試結果

為了測試本文所述算法對圖像分類的準確性,實驗選用了五種類型的場景圖像,分別是公車、雪山、夜景、煙花、花卉,如圖3所示。這些圖像來自Corel圖像庫和部分自拍照片,測試時選擇的圖像大小在256*384或384*256左右。

實驗用Matlab完成,在實驗的訓練階段,選擇每一類圖像中的30幅作為訓練圖,對這150幅圖像根據選擇的關鍵點計算特征向量,然后應用本文2節中所述算法分別對這五類圖像進行多次迭代訓練后獲取各自的強分類器。在實驗的判斷階段,在每一類圖像中各選擇60幅進行測試,應用公式(15)對測試圖進行類別的判斷,判斷結果見表1。

從實驗結果看,煙花和花卉的正確率比較高,分析原因,煙花由于其紋理的獨特性,高頻信息多,在特征向量中,表示紋理和方向的分量數據分布與其他類數據區別明顯,因此在分類中正確率較高?;ɑ苁潜容^典型的小景深圖,背景虛化,且前景紋理相對也比較均衡,在特征向量中表示紋理的分量上分布具有獨特性。且花瓣的邊緣也比較具有典型性,在特征向量中表示方向的分量上分布獨特。另外,雪山由于其色彩主要分布在藍,白兩色,且低頻信息比較多,所以判斷的正確率也比較高??梢钥闯?本文對一些紋理比較有代表性的,或者色彩比較有代表性的圖像類型分類較為理想。

5 結語

本文提出了一種基于AdaBoost的集成學習算法,方法主要通過構建圖像的征向量集,并引入高斯函數構建弱分類器,然后應用AdaBoost的思想,通過計算錯誤率不斷迭代,創建新的分類器并不斷調整訓練數據的錯誤率權重以及弱分類器的權重系數,最后構建每一類圖像的強分類器。盡管在訓練階段需要大量的運行時間,但當強分類器構建完畢,在對目標圖進行判斷時,判斷速度較快,且對諸如雪山,煙花,花卉等紋理比較典型,或者色彩比較典型的圖像分類效果良好。

[1]Yudong Zhang,Shuihua Wang,Genlin Ji et al.Fruit classification using computer vision and feedforward neural network[J].Elsevier,journal of food Engineering,2014,143:167-177.

[2]Ahmad Taher Azar,Shaimaa Ahmed EI-Said.Performance analysis of support vector machines classifiers in breast cancer mammography recognition[J].Neural Computing&Applications,2014,24(5):1163-1177.

[3]Thanh-Nghi Do,Philippe Lenca,Stephane Lallich.Classifying many-class high–dimensional fingerprint datasets uing random forest of oblique decision trees[J].Vietnam Journal of Computer Science,2015,2(1):3-12.

[4]周云蕾,郭潔暢,朱蓉,等.基于多特征和支持向量機的風景圖像分類[J].計算機系統應用,2016,25(5):135-141.

[5]范敏,韓琪,王芬,等,基于多層次特征表示的場景圖像分類算法,吉林大學學報(工學版),2017,47(6),1909-1917.

[6]涂秋潔,晅王.基于PCA-SIFT特征與貝葉斯決策的圖像分類算法[J].計算機應用與軟件,2016,33(6):215-219.

[7]張慧娜,李裕梅,傅鶯鶯.基于Haar-CNN模型的自然場景圖像分類的研究.[J]四川師范大學學報(自然科學版),2017,40(1):119-126.

[8]張文生,于廷照.Boosting算法理論與應用研究[J].中國科學技術大學學報,2016,46(3):222-230.

[9]Charles Dubout,Francois Fleuret.Adaptive sampling for large scale boosting[J]The Journal of Machine Learning Research,2014,15(1):1431-1453.

[10]Rui Li,Changfeng Li.Adaboost Face Detection Based on Improved Covariance Feature[J].Journal of Computers,2014,9(5):1077-1082.

[11]張公伯,谷昱良,朱和貴.基于AdaBoost的動物二分類識別方法[J],計算機與數字工程,2017,45(4):720-726.

[12]Radhamadhab Dalai,Kishore Kumar Senapati.Object detection from Background Scene Using t-SNE-ORB Gradient Boost[J].International Journal of Computer Science and Information Technologies,2017,8(5):561-568.

[13]Mohammad Saberian,Nuno Vasconcelos.Boosting algorithms for detector cascade learning[J].The Journal of Machine Learning Research,2014,15(1):2569-2605.

[14]Xi Zhou,Na Cui,Zhen Li,et al.Hierarchical Gaussianization for Image Classification[J].IEEE International Conference on Computer Vision,2015,30(2):1971-1977.

[15]曾志,吳財貴,唐權華等.基于多特征融合和深度學習的商品圖像分類[J].計算機工程與設計,2017,37(18):3093-3098.

[16]楊彬蔚,張怡芳.基于圖像視覺特征與LDA模型的取景圖像識別[J].計算機與現代化,2011(5):61-65.

[17]Y Freund,RE Schapire.A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting[J].Journal of Computer&System Sciences,1997,55(1):119-139.

猜你喜歡
特征向量類別分類器
二年制職教本科線性代數課程的幾何化教學設計——以特征值和特征向量為例
克羅內克積的特征向量
一類特殊矩陣特征向量的求法
BP-GA光照分類器在車道線識別中的應用
EXCEL表格計算判斷矩陣近似特征向量在AHP法檢驗上的應用
加權空-譜與最近鄰分類器相結合的高光譜圖像分類
結合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
服務類別
論類別股東會
基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識別
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合