官术网_书友最值得收藏!

揭開圖像分類的神秘面紗

哪吒的“蝦兵蟹將識別眼”是怎么煉成的呢?

其實就是借助了人工智能中的圖像分類技術,即根據每一張圖片的不同特點,判斷圖片的類別。但是想要煉制這個法寶,需要經過圖像信息輸入、特征選擇與表示、分類函數設計、模型訓練與評估四大步驟。

圖像信息輸入

人類有視覺系統,可以輕松獲取圖片信息,但計算機是如何感知圖片內容、獲取信息的呢?

如圖2-4所示,當我們把圖像放大到一定程度之后,可以看到圖像由一個個大小相同的正方形格子組成,每個格子的顏色不盡相同,這些格子被稱作像素。我們平時在計算機中看到的圖像就是由一個個像素組成的。我們常說的圖像分辨率592×394,指的就是圖像從左至右有592個像素,從上至下有394個像素。

圖2-4 計算機中的圖像

針對如圖2-5所示的灰度圖像,通常使用0~255的數字來記錄每一個像素的明暗變化。其中0表示最暗的黑色,隨著數值的增大,像素變得更加明亮,255表示最亮的白色。

圖2-5 灰度圖像

對于如圖2-4所示的彩色圖像,每個像素由灰度圖像的1個值變成了3個值,這3個取值范圍為0~255的值分別代表紅(R)、綠(G)、藍(B)三種基本顏色的明暗程度,通過這三種顏色的組合,就可以得到我們平時看到的彩色像素,進而得到彩色的圖像。這也是我們把彩色圖像叫作RGB圖像的原因。通過這些像素值,計算機就能獲取圖片上所表示的信息內容。

特征選擇與表示

為了分辨蝦兵和蟹將,我們需要觀察它們各自的特點,雖然它們都是十足目動物,但蝦兵體呈長圓筒狀,蟹將體呈扁圓狀,因此,我們可以選擇利用其體態形狀,即身體的長度和寬度,來分辨蝦兵蟹將。這種對事物的某些方面的特點進行刻畫的數字或者屬性,稱為特征。

假設經過實際的測量得到了蝦兵蟹將的特征:身體的長度和寬度。那么,在數學中應該如何表達呢?可以使用x1來表示身體的長度,x2來表示身體的寬度。為了方便,我們一般寫成(x1,x2)的形式,這種形式的一組數據在數學中稱為向量,也是二維空間中的一個點,即在二維坐標軸中,x軸取值為x1、y軸取值為x2的點。

在數學中,向量就是多個數字按序排成一行,比如(2,8,4)。其中數字的個數稱為向量的維數,如向量(2,8,4)的維數是3,我們也稱它為三維向量,它是x、y、z軸分別取值為2、8、4的三維空間中的一個點。

我們把描述一個事物的特征數值組織在一起,形成特征向量。一般地,一個n維特征向量可以表示為x={x1, x2, …, xn},即n維空間中的一個點。利用這種方法,就可以將每一張蝦兵蟹將的照片轉化為有意義的特征向量,即n維空間中的一個點,從而將圖片分類的問題轉化為數學幾何中對點進行分類的問題。

分類函數設計

接下來,我們需要設計一個分類函數,也就是執行分類任務的決策器。該分類函數要將以上特征向量(即n維空間中的點)分成兩類,把每一張圖片的特征向量(x={x1, x2, …, xn})映射到該圖片所屬的類別(是蝦兵還是蟹將)。我們先假設該函數為f(x)。在蝦兵蟹將分類問題中,我們用y來表示蝦兵蟹將的類別,y的取值為0和1,分別代表蝦兵和蟹將。設f(x)是n元一次方程,也稱為線性判別函數,公式為:

f(x1, x2, …, xn)=w1x1+w2x2+…+wnxn+b

在n維空間里,可以將該函數理解為一個超平面,它可以將空間里代表蝦兵和蟹將的點分隔在平面的兩側。我們的目的就是找到一個f(x),通過賦予w1、w2、…wn以及b合理的取值,使得預測結果值趨近于0(蝦兵)或者1(蟹將),最終準確地將蝦兵和蟹將分開。那么,這一過程中最重要的工作就是確定w1、w2、…wn以及b的取值。蝦兵和蟹將的分類示意圖如圖2-6所示。

圖2-6 蝦蟹分類示意圖

模型訓練與評估

那么如何選擇合適的參數值,將蝦兵和蟹將準確地分開呢?

其實,這些參數的取值類似于人腦的處事原則、判斷標準。每個人不是天生就會識文辨字,需要有一個學習的過程,人工智能亦是如此。我們一般稱這個過程為訓練。在人類從未見過蝦兵蟹將的時候,我們并不知道蝦兵蟹將是什么樣子。而當有人不斷教我們這是蝦兵、這是蟹將,我們重復地接受了許多蝦兵蟹將的信息后,神經系統就會自動提煉蝦兵和蟹將的特征,我們再遇到蝦兵和蟹將的時候就能很輕松地辨認出來。甚至當我們遇到一個之前從未見過的波紋龍蝦時,仍然可以辨認出這是一只蝦。這就是人類學習的過程,通過不斷地積累和學習,從對蝦兵蟹將一無所知到可以輕松地辨認,甚至可以識別出從未見過的品種。

在煉制“蝦兵蟹將識別眼”的時候,我們首先要搜集大量的蝦兵蟹將照片,將其輸入“蝦兵蟹將識別眼”(即人工智能模型)中,讓它逐漸地學習和記憶,并采用識別準確率、正確樣本召回率等指標來評價“蝦兵蟹將識別眼”的可靠性,若它能非常精準地識別出一張新圖片是蝦兵還是蟹將,法寶就煉制成功了!

知識點

準確率(Precision)=正確識別的蝦兵蟹將數/蝦兵蟹將總數×100%

召回率(Recall)=正確識別為蝦兵的數量/蝦兵原本的數量×100%

F1值=(準確率×召回率)/(準確率+召回率)

主站蜘蛛池模板: 堆龙德庆县| 东至县| 吴川市| 彩票| 神农架林区| 苍梧县| 内江市| 天台县| 兴宁市| 娄烦县| 双辽市| 镇原县| 泰宁县| 获嘉县| 麻阳| 黔南| 南岸区| 揭东县| 于都县| 乐都县| 修武县| 和田市| 河源市| 肥城市| 隆昌县| 凤庆县| 五莲县| 大方县| 肥西县| 永仁县| 周至县| 九江县| 罗平县| 宜良县| 宜兰县| 额敏县| 罗江县| 南昌市| 长兴县| 洪江市| 韩城市|