完整程序請移步至此鏈接下載
場景識別
在這個項目中,我將對15個場景數(shù)據(jù)庫(Bedroom、Coast、Forest、Highway、Industrial、InsideCity、Kitchen、LivingRoom、Mountain、Office、OpenCountry、Store、Street、Suburb、TallBuilding)進行訓練和測試,借助HOG特征提取構(gòu)建詞袋模型,并利用集成學習分類器將場景分為15個類別之一。
圖像分類
圖像分類是機器視覺中一個重要的問題,其基本概念是:通過算法自動把圖像劃分到特定的概念類別中。圖像分類算法一般分為訓練和測試兩個階段,其基本流程如下圖所示。
特征提取
HOG是Histogram of Oriented Gradient的縮寫,是一種在計算機視覺和圖像處理中用來進行目標檢測的特征描述子,其特征提取的步驟如下:
(1)圖像灰度化;
(2)采用Gamma校正法對輸入圖像進行顏色空間的標準化;
(3)計算圖像每個像素的梯度(包括大小和方向);
(4)將圖像分割成cell,每個cell由若干個像素組成,統(tǒng)計每個cell的梯度直方圖,形成每個cell的特征描述子;
(5)若干個cell組成一個block,將一個block內(nèi)所有cell的特征串聯(lián)并歸一化梯度直方圖,形成block的特征描述子;
(6)設計window通過在block間滑動,組合所有塊的特征描述子,生成HOG特征向量。
詞袋模型
詞袋模型是一種流行的圖像分類技術(shù),其靈感來源于自然語言處理對文本的識別與分類。詞袋模型將一張圖像轉(zhuǎn)化為若干個局部特征,忽略局部特征在圖像中的空間信息,并基于視覺單詞頻率的直方圖進行分類。視覺單詞的“詞匯表”是通過聚類大量的局部特征而建立的,在構(gòu)建好“詞匯表”后利用訓練集對分類器進行訓練。
集成學習分類器
利用HOG特征提取與SVM分類器進行行人檢測的方法是法國研究人員Dalal在2005的CVPR上提出的,已經(jīng)被廣泛應用于圖像識別中,如今雖然有很多行人檢測算法不斷被提出,但基本都是以“HOG+SVM”的思路為主。
在機器學習中,我們可以把多種學習器算法集中起來,讓不同算法對同一種問題都進行預測,最終少數(shù)服從多數(shù),這種方法稱為集成學習。集成學習結(jié)合多個基學習器,以獲得比單一學習器更加優(yōu)越的泛化性能。
在設計基于詞袋模型的場景識別算法中,為了融合不同分類器,將場景識別準確率較高的線性支持向量機、隨機森林和直方圖梯度提升分類器三者做投票(voting),設計出一個集成學習分類器。
算法設計
針對本項目,我基于HOG對圖像進行特征提取,利用詞袋模型構(gòu)建詞匯表和由隨機森林分類器、直方圖梯度提升分類器和線性支持向量機分類器組合而成的集成學習分類器設計了場景識別算法。
該場景識別算法主要分為以下五步:
第一步,對圖像進行局部特征向量(HOG)的提取。為了取得很好的分類效果,提取的特征向量需要具備不同程度的不變性,如旋轉(zhuǎn),縮放,平移,光照等不變性;
第二步,利用上一步得到的特征向量集,通過Mini Batch K-Means聚類算法(一種能盡量保持聚類準確性下但能大幅度降低計算時間的聚類模型,由于訓練樣本大,特征數(shù)目較多,采用傳統(tǒng)的K-means進行聚類會導致計算時間過長,而Mini Batch K-Means算法是在K-means的基礎上對數(shù)據(jù)進行了小批量的采樣)抽取其中有代表性的向量,作為單詞,形成“詞匯表”;
第三步,對圖像進行視覺單詞的統(tǒng)計,一般判斷圖像的局部區(qū)域和某一單詞的相似性是否超過某一閾值。這樣即可將圖像表示成單詞的分布,即完成了圖像的表示。
第四步,設計集成學習分類器并訓練,利用圖像中單詞的分布進行圖像分類。
第五步,建立混淆矩陣,并對識別算法進行評分并可視化。
結(jié)果分析
將多個分類器用于模型的訓練,并在測試集上檢測其準確率。經(jīng)過對比,我所設計的分類器具有最高的準確率。
最鄰近分類器:準確率(55.0%)
隨機森林分類器:準確率(69.1%)
直方圖梯度提升分類器:準確率(72.1%)
線性支持向量機分類器:準確率(72.7%)
Ours:準確率(74.2%)
混淆矩陣是衡量分類模型準確性的最基本、最直觀和最簡單的方法,它是分別統(tǒng)計分類模型的錯誤類別和正確類別中的觀察數(shù)量,然后將結(jié)果顯示在表格中。下圖為ours模型分類結(jié)果的混淆矩陣圖,混淆矩陣對角線上的方格顏色越亮,其他方格顏色越暗,說明分類的結(jié)果越好。由圖可以看出,Street識別準確率最高,Kitchen識別準確率最低。
將模型用于測試集,可視化其分類結(jié)果如下圖所示,它總結(jié)了每個類別的準確性,并通過顯示具有正確和錯誤識別結(jié)果的示例(包括真正例TP、假正例FP和假負例FN)來可視化結(jié)果。
總結(jié)與展望
總結(jié)
針對15個場景數(shù)據(jù)庫(Bedroom、Coast、Forest、Highway、Industrial、InsideCity、Kitchen、LivingRoom、Mountain、Office、OpenCountry、Store、Street、Suburb、TallBuilding),我基于HOG對圖像進行特征提取,利用詞袋模型構(gòu)建詞匯表和由隨機森林分類器、直方圖梯度提升分類器和線性支持向量機分類器組合而成的集成學習分類器設計了場景識別算法,最終算法的準確率達到了74.2%。文章來源:http://www.zghlxwxcb.cn/news/detail-465455.html
展望
為了提高算法的準確性,可以考慮以下方面:
(1)在特征方面,考慮添加空間位置信息或提取多個特征來構(gòu)建視覺單詞的詞匯表。
(2)在模型改進方面,考慮進一步增大數(shù)據(jù)集,并使用深度學習方法進行場景識別。文章來源地址http://www.zghlxwxcb.cn/news/detail-465455.html
到了這里,關(guān)于計算機視覺:場景識別(Scene Recognition)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!