1. 程式人生 > >CS231N之一 圖像分類

CS231N之一 圖像分類

挑戰 選擇 數據 維數 不足 sta 技術分享 機器 質量

由於這部分還是比較簡單基礎,故大致簡寫

圖像分類

根據各自在圖像信息中所反映的不同特征,把不同類別的目標區分開來的圖像處理方法。它利用計算機對圖像進行定量分析,把圖像或圖像中的每個像元或區域劃歸為若幹個類別中的某一種,以代替人的視覺判讀

困難與挑戰

對象的語義概念和計算機實際看到的像素值之間有著巨大的差距。任何一個很微小、很微妙的方式對圖片做出的改變都會引起整張圖片像素值的巨大改變。

①視角變化。同一個物體,不同視角的拍攝所得到的圖片像素值之間有很大差異。

②光線問題。無論對象出現在什麽樣的光照條件下,我們都應該能夠準確的識別。

技術分享圖片

③形狀。貓可是會變形的!

技術分享圖片

④遮擋。目標很可能被遮擋,我們可能僅僅看到一個貓尾巴。

⑤背景。目標很可能與背景十分相近,難以辨認。

⑥類內差異。盡管屬於相同類,但不同的實體對象仍有不同的特征。

面對上面的問題,好的圖像分類模型能夠在維持分類結論穩定的同時,保持對類間差異足夠敏感。

數據驅動

基本思想

給計算機大量數據,通過學習算法,讓計算機自己學習每個類的特征,來實現對新數據的正確劃分。

基本流程

輸入,輸入包含N個圖像的集合,每個圖像有相應的標簽,這部分數據成為訓練集

學習,使用機器學習在訓練集上訓練分類器

輸出,讓分類器對驗證集上的數據進行劃分,並依次來評價分類器的質量。

最近鄰分類器

基本思想

比較新的樣本數據與訓練集中樣本數據的“相似程度”,選擇最相似的樣本的標簽為驗證樣本的標簽。

基本流程

輸入,輸入訓練集

輸出,分類器比較驗證集樣本數據與訓練集樣本數據的差異,選擇差異最小的樣本做為驗證集樣本的相應類別。

不足

①計算量大

②存儲空間大

③受樣本噪聲影響大。在下面的圖中,可以看到綠色中間的黃點,導致了一整片區域的錯誤。

技術分享圖片

K-近鄰分類

基本思想

找到K個樣本中心,將驗證集樣本與K個區域中的訓練集樣本進行比較,根據驗證樣本與區域樣本的相似程度的加權和,來判斷是否歸屬在當前區域。

K值

K值選擇的過小,算法的性能接近於最近鄰分類;

K值選擇的過大,距離較遠的樣本也會對分類結果產生作用,這樣也會引起分類誤差。

適合的K值需要根據具體問題來確定。

PS. 其中的白色區域表示不屬於K個區域中的任何區域,如果提供更多的樣本點,白色區域可能會歸為另外的類別區域中。

技術分享圖片

相似程度(距離)

不同的距離會導致不同的結果

閔可夫斯基距離(Minkowski Distance)

技術分享圖片

q = 1:L1距離、曼哈頓距離,具有坐標依賴性

q = 2:L2距離、歐式距離

q =∞:切比雪夫距離

閔氏距離具有平移不變性旋轉,僅當 q = 2 時,具有旋轉不變性

技術分享圖片

超參數

什麽是超參數

所謂超參數,就是機器學習模型裏面的框架參數,比如KNN中K的取值。它們跟訓練過程中學習的參數(權重)是不一樣的,通常是手工設定,不斷試錯調整,直到選擇出最佳訓練結果的參數。

如何進行超參數的選擇

可以將數據分為三部分:訓練集(訓練集、驗證集)、測試集。使用驗證集對超參數進行調優。最後旨在測試集上跑一次並報告結果。

交叉驗證

將訓練集平均分為多份,選擇其中一份作為驗證集,其他作為訓練集,然後我們循環著取不同的數據份作為驗證集進行訓練。最後取所有驗證結果的平均值作為算法驗證結果。

當數據量較小時,可以采用交叉驗證。

註意:

KNN基本不會用於圖像數據中,因為一方面其運行速度太慢,另一方面是因為,圖像都是高維數據,高維向量之間的距離通常是反直覺的,與實際感知得到的相似性有非常大的差異,一個單一方面的距離並不能很好的表示圖像之間的差異。

技術分享圖片

如上圖的例子中,僅僅通過距離這一度量尺度來判斷圖片之間的相似程度,會得到四張圖片差異很大的結果,但是從人眼感知的角度來說,四張圖片描述的是相同的對象

CS231N之一 圖像分類