圖像分類與檢測是現今計算機視覺處理中最為常見的兩項任務,本文盡量綜述一下傳統的圖像分類與檢測與現今的圖像分類與檢測技術。以下是要講的幾個方面:

  1. 圖像分類與檢測概述
  2. 傳統的圖像分類與檢測方法
  3. 現今的圖像分類與檢測方法

1 圖像分類與檢測概述

當我們面對一張圖片的時候,最基礎的任務就是這張圖片是什麼,是風景圖還是人物圖、是描寫建築物的還是關於食物的,這就是分類。分類作為一個較為籠統的目標,還是較為好達成的。當知道了圖像的類別的時候,進一步的就是檢測了,例如我知道這個圖像是關於人臉的,那麼這個人臉在哪裡,能不能把它框出來。檢測作為一個較為精細的目標,達成的難度可以說是遠大於分類的。

1.1 圖像分類與檢測的難點

不只是圖像分類與檢測,幾乎所有的關於機器學習的難點,都是特徵提取這一步,一旦找到好的特徵,分類與檢測就變的很容易了。所謂的特徵提取就是指構建一種提取演算法,提取出圖像裏目標對象的特徵,例如人臉的邊緣特徵、皮膚的顏色特徵等,這個特徵需要儘可能的將目標物體與其他物體區分開來,例如需要區分的物體是黑貓和白貓,那麼毫無疑問顏色特徵是一個很好的特徵。但是,生活中遇到的難題往往都是很難去提取特徵的,例如在嘈雜的街道上檢測行人與車輛,這種任務對於檢測演算法的正確率要求很高,因為一不小心漏檢或錯檢一個人可能就會帶來一場車禍。

1.2 圖像分類與檢測的評價指標

圖像分類的指標比較常見,就是分類的正確率,例如貓狗分類,100張中99張分類正確,那麼正確率就是99%的正確率。對於目標檢測來說,評價指標就多了一些,主要是檢錯率、漏檢率以及檢測meaniou,檢錯率是指一張圖片上有兩隻貓一隻狗,而你的模型檢測出了三隻貓,那麼那第三隻貓就是檢錯的,檢錯率就是33%;漏檢的意思是如果你將上面的圖片只檢測出一隻貓和一隻狗的話,那就是漏檢了一隻貓,漏檢率33%;mean_iou指的是你檢測出來的目標物體的框和真實的框之間的交並比,如下圖:

2 傳統的圖像分類與檢測方法

傳統的圖像分類與檢測的步驟大致是兩步:特徵提取-》訓練分類器

在特徵提取階段,設計者會嘗試各種通用特徵或者自己設計的特徵對圖像進行特徵提取,我們以人臉檢測為例,通用的特徵就是HOG、SURF、LBP等特徵,而對於人臉效果比較好的特徵有鼎鼎大名的haar特徵。在選定了這些備用特徵之後,設計者會進行嘗試特徵與權衡利弊,因為對於計算機來說,特徵的唯一性、通用性越好,所意味的計算量就越大,設計者必須在保證速度的情況下選擇盡量好的特徵。

當選擇了計算量適中同時能達到要求的準確率的特徵例如LBP和haar特徵之後,使用傳統的機器學習方法例如樸素貝葉斯、adaboost、隨機森林等建模方法,訓練出一個分類模型,使用這個分類模型來進行圖像分類或檢測。模型的選擇通常要比特徵選擇簡單的多,只需要把備選的模型都試一遍,挑效果最好的模型進行調參,調到極致之後,一個人臉檢測模型就做出來的。

走這麼一套傳統圖像檢測方法的流程,需要很長的時間,並且每一步都需要做好,最終的模型才會有較好的效果,一旦中間的一步出現錯誤就會牽一髮而動全身。所以使用傳統方法做圖像處理是需要很大代價的。

3 現今的圖像分類和檢測方法

自從2015年深度學習佔領各大圖像處理比賽榜首之後,現在的圖像處理大部分使用的方法都是深度學習,也就是神經網路。神經網路通過很多的神經元構建成一層一層的網路,通過激活層來使得模型有很強的非線性擬合的能力。設計者只需要將圖像輸入,然後告訴模型需要的結果是什麼,模型便會自動的學習特徵提取與結果映射。

通過深度學習,剩下設計者在傳統圖像處理時最為費時費力的特徵提取的那一部分。設計者只需要設計網路結果,使得網路自動提取的特徵越好,效果就會也好,正確率越高。

神經網路本質上是矩陣相乘與非線性的組合,通過很多很多的濾波核,來過濾對結果最為有用的特徵而抑制對結果沒有用的特徵,來進行學習與分類。

現在在工程中最為常用的還是vgg、resnet、inception這幾種結構,設計者通常會先直接套用原版的模型對數據進行訓練一次,然後選擇效果較為好的模型進行微調與模型縮減。因為工程上使用的模型必須在精度高的同時速度要快。常用的模型縮減的方法是減少卷積和個數與減少resnet的模塊數。

現在常用的檢測模型,還是FRCNN、Mask-RCNN、YOLO、SSD等網路模型,一方面精度確實是高,另一方面速度現在進過優化也可以做到實時了。像上面的人臉檢測的功能,只需要準備好人臉圖片及對應的框標註文件,便可直接跑模型,得到一個還不錯的檢測模型。

4 總結

深度學習對於圖像處理非常有用,但同時也有一些弊端,例如需要大量數據、調參很依靠經驗,需要的計算能力很高等,適合處理很複雜的現實生活場景。傳統的圖像處理對於特定場景下簡單的任務例如文本文檔的檢測、矯正等,還是非常有用且高效的。

第一次寫文章,這是從工程角度寫的綜述,不足之處懇請批評指正。以後會不定期寫寫圖像處理的一些小項目,歡迎交流。


推薦閱讀:
相關文章