天天看點

1、資料驅動的圖像分類方法

1、資料驅動的圖像分類方法

目标:給一張圖檔貼一個标簽。當然可用的标簽是固定的,比如{君子,小人},或者{貓,狗,兔子},等等,随便給你一張圖檔,需要從這些标簽中選一個用來表示這張圖。這是計算機視覺裡的核心問題。雖然很樸素,但是應用卻相當廣泛。而且,很多其他類似的計算機視覺任務,比如目标檢測,圖檔分割,都可以簡化為圖像分類問題。

舉例:下面這張圖是什麼動物呢?某一個圖像分類模型給出了屬于 {cat, dog, hat, mug}這4個類型的可能性。其中屬于cat的可能性最大,為82%,是以最終我們給這圖示記為cat。在計算機中,圖像表現為一個3維數列。下面這張圖的寬為248像素,高為400像素,有三個顔色通道,即紅、綠、藍,簡稱RGB。是以這張圖檔實際上就是由248 x 400 x 3個數字組成的,297,600個數字。每個數字都是0(黑)到255(白)間的整數。我們的任務就是将這一堆數字轉換為一個标簽,比如“cat”。

1、資料驅動的圖像分類方法

困難:對于人類來說,識别一個視覺概念(比如 貓)太簡單了。但是要設計一個算法,讓計算機去做這件事,還是很有很多挑戰的:

  • 視角變化:同一個物件,從不同的角度拍照,是有差别的
  • 尺寸變化:事物本身的尺度有大有小,比如高個子姚明,矮個子馬雲
  • 變形:現實中對象的現狀變化很大,不是那麼整整齊齊的
  • 遮擋:我們感興趣的對象可能被擋住了,隻露出一小部分
  • 光線強度:光線的強弱對像素的影響很大
  • 背景:需要識别的對象可能與周圍環境融為一體,很難識别
  • 類内變異. 同一類型的對象,形态上有很多的變種。比如椅子就有很多的形狀
1、資料驅動的圖像分類方法

一個好的圖像分類模型要能夠不受這些變化的幹擾,正确地識别所屬分類。

資料驅動方法:那要怎樣寫一個算法去對圖像進行分類呢?寫一個從一堆圖檔中識别貓的算法,不像寫一個排序算法那樣直接寫代碼推理出來。我們使用資料驅動的方式:把很多标注好分類的資料傳給計算機,然後寫一個算法去檢視這些資料,學習不同類型資料的視覺表征。這樣的資料我們稱之為訓練資料集。如下圖所示就是一個訓練資料集:

1、資料驅動的圖像分類方法

一個用于計算機視覺分類的樣例資料集。實際應用中可能有上千個分類,每個分類都可能有數百萬張圖檔

圖像分類流程:綜上所述,圖像分類的任務就是給一堆代表圖檔的像素資料,貼一個标簽。建立一個圖像識别模型的一般流程如下所示:

  • 輸入: 輸入N張圖檔,每張圖檔都做好了标簽(K個分類中的一個),稱之為訓練資料
  • 學習: 用訓練資料,學習每個分類的樣子。這個過程稱為訓練一個分類器,或者學習一個模型
  • 評估: 最後,讓分類器去識别他沒有見過的新的圖檔。将他識别的結果與實際的标簽做對比,我們希望正确率越高越好

下一篇文章 最近鄰分類器

欲了解更多底層資訊,請咨詢 青星大學

繼續閱讀