? ? ????計算機視覺是現(xiàn)在非常熱門的一個研究領(lǐng)域,在無人駕駛等方面有許多應(yīng)用。cs231n是由斯坦福大學李飛飛教授開設(shè)的一門有關(guān)計算機視覺的課程,在網(wǎng)上有許多的公開課視頻可以學習,以下是我自己在觀看課程及編程實現(xiàn)的過程中的筆記及個人理解和感悟。
我對計算機視覺的理解
? ? ? ? 在我看來,計算機視覺最基本的任務(wù)是進行圖像識別,即向計算機中輸入一張圖片,計算機通過一定的算法運算返還出這張圖片中的物體是什么。例如下面左邊這張圖片是一張貓的圖片,一張800*600規(guī)格的彩色圖片在計算機中就是800*600個像素點,每個像素點由三個數(shù)表示(RGB),那么就是800*600*3個數(shù)據(jù)。圖像識別想做的就是希望輸入這一800*600*3的數(shù)據(jù)到計算機中,計算機能輸出這張圖是貓的結(jié)果。(PS:下圖截自cs231n課程視頻ppt,后文不做特殊說明均默認圖片來源于此)

? ? ? ? 有些學者嘗試采用寫出一組硬編碼的方式來解決這一問題,比如處理圖像得到冒的輪廓信息,從輪廓中尋找一些規(guī)定的特征來判斷這是否是一只貓,比如三線交匯處可能是貓耳等等特征。然而由于一張圖片中的貓可以是千姿百態(tài)的,攝像的角度也可以是多變的,同時還可能存在遮擋、背景干擾等因素,實際采用這種方法做到識別一張圖片是非常困難的。

? ? ? ? 所以現(xiàn)在較為流行的方法是采用數(shù)據(jù)驅(qū)動方法(data Driven Approach)來解決圖像識別的問題。
數(shù)據(jù)驅(qū)動方法
? ? ? ? 我對數(shù)據(jù)驅(qū)動方法的理解是依托于大量的數(shù)據(jù)的方法。人能夠識別物體是因為我們通過眼睛觀察具有了很多的經(jīng)驗,而計算機沒有相關(guān)的經(jīng)驗,所以我們想要讓計算機去識別物體就需要給他提供可以參考的經(jīng)驗,也就是數(shù)據(jù)。比如我們有十類動物的數(shù)據(jù),每類動物有一百張圖片,也就是總共有一千張圖片的數(shù)據(jù),并且我們還知道每張圖片對應(yīng)的是哪一種動物,也就是我們還有數(shù)據(jù)的標簽。那么數(shù)據(jù)驅(qū)動方法就是基于這一千張已知數(shù)據(jù)去建立出一個模型或者說是分類器,當你輸入一張未知類別的圖片數(shù)據(jù)時,分類器可以返還一個正確的類別結(jié)果。這就是基于數(shù)據(jù)驅(qū)動方法的圖像識別原理。
? ??????抽象來說數(shù)據(jù)驅(qū)動方法分為三個步驟:
? ??????1.? 收集數(shù)據(jù)集及數(shù)據(jù)標簽
? ??????2.? 使用機器學習算法訓練一個分類器
? ??????3.?用分類器對新的圖片進行預(yù)測(識別)
? ? ? ? 所以說,圖像識別實際上是一個圖像分類的問題,將位置的圖像分發(fā)到已知類別中的某一類的過程。