前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的卷積神經(jīng)網(wǎng)絡(luò)的深度主題范文,僅供參考,歡迎閱讀并收藏。
(江蘇科技大學(xué)電子信息學(xué)院,江蘇鎮(zhèn)江212003)
摘要:在實(shí)際交通環(huán)境中,由于運(yùn)動(dòng)模糊、背景干擾、天氣條件以及拍攝視角等因素,所采集的交通標(biāo)志的圖像質(zhì)量往往不高,這就對(duì)交通標(biāo)志自動(dòng)識(shí)別的準(zhǔn)確性、魯棒性和實(shí)時(shí)性提出了很高的要求。針對(duì)這一情況,提出一種基于深層卷積神經(jīng)網(wǎng)絡(luò)的交通標(biāo)志識(shí)別方法。該方法采用深層卷積神經(jīng)網(wǎng)絡(luò)的有監(jiān)督學(xué)習(xí)模型,直接將采集的交通標(biāo)志圖像經(jīng)二值化后作為輸入,通過卷積和池采樣的多層處理,來模擬人腦感知視覺信號(hào)的層次結(jié)構(gòu),自動(dòng)地提取交通標(biāo)志圖像的特征,最后再利用一個(gè)全連接的網(wǎng)絡(luò)實(shí)現(xiàn)交通標(biāo)志的識(shí)別。實(shí)驗(yàn)結(jié)果表明,該方法利用卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)能力,自動(dòng)地提取交通標(biāo)志的特征,避免了傳統(tǒng)的人工特征提取,有效地提高了交通標(biāo)志識(shí)別的效率,具有良好的泛化能力和適應(yīng)范圍。
關(guān)鍵詞 :交通標(biāo)志;識(shí)別;卷積神經(jīng)網(wǎng)絡(luò);深度學(xué)習(xí)
中圖分類號(hào):TN911.73?34;TP391.41 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1004?373X(2015)13?0101?06
收稿日期:2015?01?09
基金項(xiàng)目:國(guó)家自然科學(xué)基金面上項(xiàng)目(61371114)
0 引言
隨著智能汽車的發(fā)展,道路交通標(biāo)志的自動(dòng)識(shí)別[1?3]作為智能汽車的基本技術(shù)之一,受到人們的高度關(guān)注。道路交通標(biāo)志識(shí)別主要包括兩個(gè)基本環(huán)節(jié):首先是交通標(biāo)志的檢測(cè),包括交通標(biāo)志的定位、提取及必要的預(yù)處理;其次是交通標(biāo)志的識(shí)別,包括交通標(biāo)志的特征提取和分類。
如今,交通標(biāo)志的識(shí)別方法大多數(shù)都采用人工智能技術(shù),主要有下述兩類形式[4]。一種是采用“人工特征+機(jī)器學(xué)習(xí)”的識(shí)別方法,如基于淺層神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)的特征識(shí)別等。在這種方法中,主要依靠先驗(yàn)知識(shí),人工設(shè)計(jì)特征,機(jī)器學(xué)習(xí)模型僅負(fù)責(zé)特征的分類或識(shí)別,因此特征設(shè)計(jì)的好壞直接影響到整個(gè)系統(tǒng)性能的性能,而要發(fā)現(xiàn)一個(gè)好的特征,則依賴于研究人員對(duì)待解決的問題的深入理解。另一種形式是近幾年發(fā)展起來的深度學(xué)習(xí)模型[5],如基于限制波爾茲曼機(jī)和基于自編碼器的深度學(xué)習(xí)模型以及卷積神經(jīng)網(wǎng)絡(luò)等。在這種方法中,無需構(gòu)造任何的人工特征,而是直接將圖像的像素作為輸入,通過構(gòu)建含有多個(gè)隱層的機(jī)器學(xué)習(xí)模型,模擬人腦認(rèn)知的多層結(jié)構(gòu),逐層地進(jìn)行信息特征抽取,最終形成更具推廣性和表達(dá)力的特征,從而提升識(shí)別的準(zhǔn)確性。
卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)模型之一,是一種多層的監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),它利用一系列的卷積層、池化層以及一個(gè)全連接輸出層構(gòu)建一個(gè)多層的網(wǎng)絡(luò),來模仿人腦感知視覺信號(hào)的逐層處理機(jī)制,以實(shí)現(xiàn)視覺特征信號(hào)的自動(dòng)提取與識(shí)別。本文將深層卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于道路交通標(biāo)志的識(shí)別,通過構(gòu)建一個(gè)由二維卷積和池化處理交替組成的6層網(wǎng)絡(luò)來逐層地提取交通標(biāo)志圖像的特征,所形成的特征矢量由一個(gè)全連接輸出層來實(shí)現(xiàn)特征的分類和識(shí)別。實(shí)驗(yàn)中將加入高斯噪聲、經(jīng)過位移、縮放和旋轉(zhuǎn)處理的交通標(biāo)志圖像以及實(shí)際道路采集交通標(biāo)志圖像分別構(gòu)成訓(xùn)練集和測(cè)試集,實(shí)驗(yàn)結(jié)果表明,本文所采用的方法具有良好的識(shí)別率和魯棒性。
1 卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)及原理
1.1 深度學(xué)習(xí)
神經(jīng)科學(xué)研究表明,哺乳動(dòng)物大腦皮層對(duì)信號(hào)的處理沒有一個(gè)顯示的過程[5],而是通過信號(hào)在大腦皮層復(fù)雜的層次結(jié)構(gòu)中的遞進(jìn)傳播,逐層地對(duì)信號(hào)進(jìn)行提取和表述,最終達(dá)到感知世界的目的。這些研究成果促進(jìn)了深度學(xué)習(xí)這一新興研究領(lǐng)域的迅速發(fā)展。
深度學(xué)習(xí)[4,6?7]的目的就是試圖模仿人腦感知視覺信號(hào)的機(jī)制,通過構(gòu)建含有多個(gè)隱層的多層網(wǎng)絡(luò)來逐層地對(duì)信號(hào)特征進(jìn)行新的提取和空間變換,以自動(dòng)學(xué)習(xí)到更加有效的特征表述,最終實(shí)現(xiàn)視覺功能。目前深度學(xué)習(xí)已成功地應(yīng)用到語音識(shí)別、圖像識(shí)別和語言處理等領(lǐng)域。在不同學(xué)習(xí)框架下構(gòu)建的深度學(xué)習(xí)結(jié)構(gòu)是不同的,如卷積神經(jīng)網(wǎng)絡(luò)就是一種深度的監(jiān)督學(xué)習(xí)下的機(jī)器學(xué)習(xí)模型。
1.2 卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)及原理
卷積神經(jīng)網(wǎng)絡(luò)受視覺系統(tǒng)的結(jié)構(gòu)啟發(fā)而產(chǎn)生,第一個(gè)卷積神經(jīng)網(wǎng)絡(luò)計(jì)算模型是在Fukushima 的神經(jīng)認(rèn)知機(jī)中提出的[8],基于神經(jīng)元之間的局部連接和分層組織圖像轉(zhuǎn)換,將有相同參數(shù)的神經(jīng)元應(yīng)用于前一層神經(jīng)網(wǎng)絡(luò)的不同位置,得到一種平移不變神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)形式。后來,LeCun 等人在該思想的基礎(chǔ)上,用誤差梯度設(shè)計(jì)并訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)[9?10],在一些模式識(shí)別任務(wù)上得到優(yōu)越的性能。
卷積神經(jīng)網(wǎng)絡(luò)本質(zhì)上是一種有監(jiān)督的深度學(xué)習(xí)算法,無需事先知道輸入與輸出之間精確的數(shù)學(xué)表達(dá)式,只要用已知的模式對(duì)卷積神經(jīng)網(wǎng)絡(luò)加以訓(xùn)練,就可以學(xué)習(xí)到輸入與輸出之間的一種多層的非線性關(guān)系,這是非深度學(xué)習(xí)算法不能做到的。卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)是由一系列的卷積和池化層以及一個(gè)全連接的輸出層組成,可以采用梯度下降法極小化誤差函數(shù)對(duì)網(wǎng)絡(luò)中的權(quán)值和閾值參數(shù)逐層反向調(diào)節(jié),以得到網(wǎng)絡(luò)權(quán)值和閾值的最優(yōu)解,并可以通過增加迭代次數(shù)來提高網(wǎng)絡(luò)訓(xùn)練的精度。
1.2.1 前向傳播
在卷積神經(jīng)網(wǎng)絡(luò)的前向傳播中,輸入的原始圖像經(jīng)過逐層的卷積和池化處理后,提取出若干特征子圖并轉(zhuǎn)換成一維特征矢量,最后由全連接的輸出層進(jìn)行分類識(shí)別。
在卷積層中,每個(gè)卷積層都可以表示為對(duì)前一層輸入圖像的二維卷積和非線性激勵(lì)函數(shù),其表達(dá)式可用式(1)表示:
式中:Yj 表示輸出層中第j 個(gè)輸出;Y l + 1i 是前一層(l + 1層)
的輸出特征(全連接的特征向量);n 是輸出特征向量的長(zhǎng)度;Wij 表示輸出層的權(quán)值,連接輸入i 和輸出j ;bj表示輸出層第j 個(gè)輸出的閾值;f (?) 是輸出層的非線性
1.2.2 反向傳播
在反向傳播過程中,卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法采用類似于BP神經(jīng)網(wǎng)絡(luò)的梯度最速下降法,即按極小化誤差的方法反向傳播調(diào)整權(quán)值和閾值。網(wǎng)絡(luò)反向傳播回來的誤差是每個(gè)神經(jīng)元的基的靈敏度[12],也就是誤差對(duì)基的變化率,即導(dǎo)數(shù)。下面將分別求出輸出層、池采樣層和卷積層的神經(jīng)元的靈敏度。
(1)輸出層的靈敏度
對(duì)于誤差函數(shù)式(6)來說,輸出層神經(jīng)元的靈敏度可表示為:
在前向傳播過程中,得到網(wǎng)絡(luò)的實(shí)際輸出,進(jìn)而求出實(shí)際輸出與目標(biāo)輸出之間的誤差;在反向傳播過程中,利用誤差反向傳播,采用式(17)~式(20)來調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,極小化誤差;這樣,前向傳播和反向傳播兩個(gè)過程反復(fù)交替,直到達(dá)到收斂的要求為止。
2 深層卷積神經(jīng)網(wǎng)絡(luò)的交通標(biāo)志識(shí)別方法
2.1 應(yīng)用原理
交通標(biāo)志是一種人為設(shè)計(jì)的具有特殊顏色(如紅、黃、白、藍(lán)、黑等)和特殊形狀或圖形的公共標(biāo)志。我國(guó)的交通標(biāo)志主要有警告、禁令、指示和指路等類型,一般采用顏色來區(qū)分不同的類型,用形狀或圖形來標(biāo)示具體的信息。從交通標(biāo)志設(shè)計(jì)的角度來看,屬于不同類型(不同顏色)的交通標(biāo)志在形狀或圖形上有較大的差異;屬于相同類型(相同顏色)的標(biāo)志中同類的指示信息標(biāo)志在形狀或圖形上比較接近,如警告標(biāo)志中的平面交叉路口標(biāo)志等。因此,從機(jī)器視覺的角度來分析,同類型中同類指示信息的標(biāo)志之間會(huì)比不同類型的標(biāo)志之間更易引起識(shí)別錯(cuò)誤。換句話說,相比于顏色,形狀或圖形是正確識(shí)別交通標(biāo)志的關(guān)鍵因素。
因此,在應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)識(shí)別交通標(biāo)志時(shí),從提高算法效率和降低錯(cuò)誤率綜合考慮,將交通標(biāo)志轉(zhuǎn)換為灰度圖像并作二值化處理后作為卷積神經(jīng)網(wǎng)絡(luò)的輸入圖像信息。圖2給出了應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)識(shí)別交通標(biāo)志的原理圖。該網(wǎng)絡(luò)采用了6層交替的卷積層和池采樣層來逐層提取交通標(biāo)志的特征,形成的特征矢量由一個(gè)全連接的輸出層進(jìn)行識(shí)別。圖中:W1i(i=1,2,…,m1),W1(j j=1,2,…,m2),…,W1k(k=1,2,…,m(n?1))分別表示卷積層L1,L3,…,Ln - 1 的卷積核;Input表示輸入的交通標(biāo)志圖像;
Pool表示每個(gè)池采樣層的采樣池;map表示逐層提取的特征子圖;Y 是最終的全連接輸出。
交通標(biāo)志識(shí)別的判別準(zhǔn)則為:對(duì)于輸入交通標(biāo)志圖像Input,網(wǎng)絡(luò)的輸出矢量Y = [y1,y2 ,…,yC ],有yj = Max{y1,y2 ,…,yC},則Input ∈ j,即判定輸入的交通標(biāo)志圖像Input為第j 類交通標(biāo)志。
2.2 交通標(biāo)志識(shí)別的基本步驟
深層神經(jīng)網(wǎng)絡(luò)識(shí)別交通標(biāo)志主要包括交通標(biāo)志的訓(xùn)練與識(shí)別,所以將交通標(biāo)志識(shí)別歸納為以下4個(gè)步驟:(1) 圖像預(yù)處理:利用公式Gray= 0.299R +0.587G + 0.114B 將彩色交通標(biāo)志圖像轉(zhuǎn)換為灰度圖像,再利用鄰近插值法將交通標(biāo)志圖像規(guī)格化,最后利用最大類間方差將交通標(biāo)志圖像二值化。
(2)網(wǎng)絡(luò)權(quán)值和閾值的初始化:利用隨機(jī)分布函數(shù)將權(quán)值W 初始化為-1~1之間的隨機(jī)數(shù);而將閾值b 初始化為0。
(3)網(wǎng)絡(luò)的訓(xùn)練:利用經(jīng)過預(yù)處理的交通標(biāo)志圖像構(gòu)成訓(xùn)練集,對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過網(wǎng)絡(luò)前向傳播和反向傳播的反復(fù)交替處理,直到滿足識(shí)別收斂條件或達(dá)到要求的訓(xùn)練次數(shù)為止。
(4)交通標(biāo)志的識(shí)別:將實(shí)際采集的交通標(biāo)志圖像經(jīng)過預(yù)處理后,送入訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行交通標(biāo)志特征的提取,然后通過一個(gè)全連接的網(wǎng)絡(luò)進(jìn)行特征分類與識(shí)別,得到識(shí)別結(jié)果。
3 實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)主要選取了我國(guó)道路交通標(biāo)志的警告標(biāo)志、指示標(biāo)志和禁令標(biāo)志三類中較常見的50幅圖像。考慮到在實(shí)際道路中采集到的交通標(biāo)志圖像會(huì)含有噪聲和出現(xiàn)幾何失真以及背景干擾等現(xiàn)象,因此在構(gòu)造網(wǎng)絡(luò)訓(xùn)練集時(shí),除了理想的交通標(biāo)志以外,還增加了加入高斯噪聲、經(jīng)過位移、旋轉(zhuǎn)和縮放處理和實(shí)際采集到的交通標(biāo)志圖像,因此最終的訓(xùn)練樣本為72個(gè)。其中,加入的高斯噪聲為均值為0,方差分別為0.1,0.2,0.3,圖像的位移、旋轉(zhuǎn)、縮放的參數(shù)分別隨機(jī)的分布在±10,±5°,0.9~1.1的范圍內(nèi)。圖3給出了訓(xùn)練集中的交通標(biāo)志圖像的示例。圖4是在實(shí)際道路中采集的交通標(biāo)志圖像構(gòu)成的測(cè)試集的示例。
在實(shí)驗(yàn)中構(gòu)造了一個(gè)輸入為48×48個(gè)神經(jīng)元、輸出為50 個(gè)神經(jīng)元的9 層網(wǎng)絡(luò)。網(wǎng)絡(luò)的輸入是像素為48 × 48 的規(guī)格化的交通標(biāo)志圖像,輸出對(duì)應(yīng)于上述的50種交通標(biāo)志的判別結(jié)果。網(wǎng)絡(luò)的激活函數(shù)采用S型函數(shù),如式(2)所示,其輸出范圍限制在0~1之間。
圖6是交通標(biāo)志的訓(xùn)練總誤差EN 曲線。在訓(xùn)練開始的1 500次,誤差能迅速地下降,在迭代2 000次以后是一個(gè)平穩(wěn)的收斂過程,當(dāng)?shù)?0萬次時(shí),總誤差EN可以達(dá)到0.188 2。
在交通標(biāo)志的測(cè)試實(shí)驗(yàn)中,為了全面檢驗(yàn)卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別性能,分別針對(duì)理想的交通標(biāo)志,加入高斯噪聲、經(jīng)過位移、旋轉(zhuǎn)和比例縮放以及采集的交通標(biāo)志圖像進(jìn)行實(shí)驗(yàn),將以上測(cè)試樣本分別送入到網(wǎng)絡(luò)中識(shí)別,表2給出了測(cè)試實(shí)驗(yàn)結(jié)果。
綜合分析上述實(shí)驗(yàn)結(jié)果,可以得到以下結(jié)論:(1)在卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練學(xué)習(xí)過程中,整個(gè)網(wǎng)絡(luò)的誤差曲線快速平穩(wěn)的下降,體現(xiàn)出卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練學(xué)習(xí)具有良好的收斂性。
(2)經(jīng)逐層卷積和池采樣所提取的特征具有比例縮放和旋轉(zhuǎn)不變性,因此對(duì)于旋轉(zhuǎn)和比例縮放后的交通標(biāo)志能達(dá)到100%的識(shí)別率。
(3)與傳統(tǒng)的BP網(wǎng)絡(luò)識(shí)別方法[11]相比較,卷積神經(jīng)網(wǎng)絡(luò)能夠達(dá)到更深的學(xué)習(xí)深度,即在交通標(biāo)志識(shí)別時(shí)能夠得到更高的所屬類別概率(更接近于1),識(shí)別效果更好。
(4)卷積神經(jīng)網(wǎng)絡(luò)對(duì)實(shí)際采集的交通標(biāo)志圖像的識(shí)別率尚不能達(dá)到令人滿意的結(jié)果,主要原因是實(shí)際道路中采集的交通標(biāo)志圖像中存在著較嚴(yán)重的背景干擾,解決的辦法是增加實(shí)際采集的交通標(biāo)志訓(xùn)練樣本數(shù),通過網(wǎng)絡(luò)的深度學(xué)習(xí),提高網(wǎng)絡(luò)的識(shí)別率和魯棒性。
4 結(jié)論
本文將深層卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于道路交通標(biāo)志的識(shí)別,利用卷積神經(jīng)網(wǎng)絡(luò)的深層結(jié)構(gòu)來模仿人腦感知視覺信號(hào)的機(jī)制,自動(dòng)地提取交通標(biāo)志圖像的視覺特征并進(jìn)行分類識(shí)別。實(shí)驗(yàn)表明,應(yīng)用深層卷積神經(jīng)網(wǎng)絡(luò)識(shí)別交通標(biāo)志取得了良好的識(shí)別效果。
在具體實(shí)現(xiàn)中,從我國(guó)交通標(biāo)志的設(shè)計(jì)特點(diǎn)考慮,本文將經(jīng)過預(yù)處理二值化的圖像作為網(wǎng)絡(luò)的輸入,主要是利用了交通標(biāo)志的形狀信息,而基本略去了顏色信息,其優(yōu)點(diǎn)是在保證識(shí)別率的基礎(chǔ)上,可以簡(jiǎn)化網(wǎng)絡(luò)的結(jié)構(gòu),降低網(wǎng)絡(luò)的計(jì)算量。在實(shí)際道路交通標(biāo)志識(shí)別中,將形狀信息和顏色信息相結(jié)合,以進(jìn)一步提高識(shí)別率和對(duì)道路環(huán)境的魯棒性,是值得進(jìn)一步研究的內(nèi)容。
此外,本文的研究沒有涉及到道路交通標(biāo)志的動(dòng)態(tài)檢測(cè),這也是今后可以進(jìn)一步研究的內(nèi)容。
參考文獻(xiàn)
[1] 劉平華,李建民,胡曉林,等.動(dòng)態(tài)場(chǎng)景下的交通標(biāo)識(shí)檢測(cè)與識(shí)別研究進(jìn)展[J].中國(guó)圖象圖形學(xué)報(bào),2013,18(5):493?503.
[2] SAHA S K,DULAL C M,BHUIYAN A A. Neural networkbased sign recognition [J]. International Journal of ComputerApplication,2012,50(10):35?41.
[3] STALLKAMP J,SCHLIOSING M,SALMENA J,et al. Man vs.computer:benchmarking machine learning algorithms for traf?fic sign recognition [J]. Neural Network,2012,32(2):323?332.
[4] 中國(guó)計(jì)算機(jī)學(xué)會(huì).深度學(xué)習(xí):推進(jìn)人工智能夢(mèng)想[EB/OL].[2013?06?10].http://ccg.org.cn.
[5] 鄭胤,陳權(quán)崎,章毓晉.深度學(xué)習(xí)及其在目標(biāo)和行為識(shí)別中的新進(jìn)展[J].中國(guó)圖象圖形學(xué)報(bào),2014,19(2):175?184.
[6] FUKUSHIMA K. Neocognition:a self ? organizing neural net?work model for a mechanism of pattern recognition unaffectedby shift in position [J]. Biological Cybernetics,1980,36(4):193?202.
[7] LECUN Y,BOTTOU L,BENGIO Y,et al. Gradient ? basedlearning applied to document recognition [J]. IEEE Journal andMagazines,1989,86(11):2278?2324.
[8] LECUN Y,BOTTOU L,BENGIO Y,et al. Backpropagationapplied to handwritten zip code recognition [J]. Neural Compu?tation,1989,1(4):541?551.
[9] CIRESAN D,MEIER U,MAsci J,et al. Multi?column deepneural network for traffic sign classification [J]. Neural Net?works,2012,32(2):333?338.
[10] NAGI J,DUCATELLE F,CARO D,et al. Max?pooling con?volution neural network for vision?based hand gesture recogni?tion [C]// 2011 IEEE International Conference on Signal andImage Processing Application. Kuala Lumpur:IEEE,2011,342?347.
[11] 楊斐,王坤明,馬欣,等.應(yīng)用BP神經(jīng)網(wǎng)絡(luò)分類器識(shí)別交通標(biāo)志[J].計(jì)算機(jī)工程,2003,29(10):120?121.
[12] BUVRIE J. Notes on convolutional neural networks [EB/OL].[2006?11?12]. http://cogprints.org/5869/.
[13] 周開利,康耀紅.神經(jīng)網(wǎng)絡(luò)模型及其Matlab 仿真設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.
[14] 孫志軍,薛磊,許陽明,等.深度學(xué)習(xí)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2012,29(8):2806?2810.
[15] 劉建偉,劉媛,羅雄麟.深度學(xué)習(xí)研究進(jìn)展[J].計(jì)算機(jī)應(yīng)用研究,2014(7):1921?1930.
關(guān)鍵詞:樹葉識(shí)別;支持向量機(jī);卷積神經(jīng)網(wǎng)絡(luò)
中圖分類號(hào) TP18 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)10-0194-03
Abstract: In this paper, the convolution neural network recognition in the leaves, and the process by convolution of image visualization. Experiments show that the neural network application identification convolution leaves a 92% recognition rate. In addition , this neural network and support vector machine comparative study can be drawn from the study , convolutional neural network in either speed or accuracy better than support vector machines, visible, convolution neural network in the leaves aspect has good application prospects.
Key words recognition leaves; SVM; convolutional neural network
1 概述
樹葉識(shí)別與分類在對(duì)于區(qū)分樹葉的種類,探索樹葉的起源,對(duì)于人類自身發(fā)展、科普具有特別重要的意義。目前的樹葉識(shí)別與分類主要由人完成,但,樹葉種類成千上萬種,面對(duì)如此龐大的樹葉世界,任何一個(gè)植物學(xué)家都不可能知道所有,樹葉的種類,這給進(jìn)一步研究樹葉帶來了困難。為了解決這一問題,一些模式識(shí)別方法諸如支持向量機(jī)(Support Vector Machine,SVM)[1],K最近鄰(k-NearestNeighbor, KNN)[2]等被引入,然而,隨著大數(shù)據(jù)時(shí)代的到來,這些傳統(tǒng)分類算法暴露出越來越多的不足,如訓(xùn)練時(shí)間過長(zhǎng)、特征不易提取等不足。
上世紀(jì)60年代開始,學(xué)者們相繼提出了各種人工神經(jīng)網(wǎng)絡(luò)[3]模型,其中卷積神經(jīng)網(wǎng)絡(luò)由于其對(duì)幾何、形變、光照具有一定程度的不變形,因此被廣泛應(yīng)用于圖像領(lǐng)域。其主要特點(diǎn)有:1)輸入圖像不需要預(yù)處理;2)特征提取和識(shí)別可以同時(shí)進(jìn)行;3)權(quán)值共享,大大減少了需要訓(xùn)練的參數(shù)數(shù)目,是訓(xùn)練變得更快,適應(yīng)性更強(qiáng)。
卷積神經(jīng)網(wǎng)絡(luò)在國(guó)內(nèi)研究才剛剛起步。LeNet-5[4]就是一種卷積神經(jīng)網(wǎng)絡(luò),最初用于手寫數(shù)字識(shí)別,本文研究將卷積神經(jīng)網(wǎng)絡(luò)LeNet-5模型改進(jìn)并應(yīng)用于樹葉識(shí)別中。本文首先介紹一下卷積神經(jīng)網(wǎng)絡(luò)和LeNet-5的結(jié)構(gòu),進(jìn)而將其應(yīng)用于樹葉識(shí)別,設(shè)計(jì)了實(shí)驗(yàn)方案,用卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)的模式識(shí)別算法支持向量機(jī)(SVM)進(jìn)行比較,得出了相關(guān)結(jié)論,并對(duì)進(jìn)一步研究工作進(jìn)行了展望。
2人工神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)方面的研究很早就已開展,現(xiàn)在的人工神經(jīng)網(wǎng)絡(luò)已經(jīng)發(fā)展成了多領(lǐng)域、多學(xué)科交叉的獨(dú)立的研究領(lǐng)域。神經(jīng)網(wǎng)絡(luò)中最基本的單元是神經(jīng)元模型。類比生物神經(jīng)元,當(dāng)它“興奮”時(shí),就會(huì)向相連的神經(jīng)元發(fā)送化學(xué)物質(zhì),從而改變這些神經(jīng)元的狀態(tài)。人工神經(jīng)元模型如圖1所示:
上述就是一個(gè)簡(jiǎn)單的神經(jīng)元模型。在這個(gè)模型中,神經(jīng)元接收來自n個(gè)其他神經(jīng)元傳遞過來的輸入信號(hào),這些信號(hào)通過帶權(quán)重的w進(jìn)行傳遞,神經(jīng)元接收到的總輸入值將與神經(jīng)元的閾值進(jìn)行比較,然后通過“激活函數(shù)”來產(chǎn)生輸出。
一般采用的激活函數(shù)是Sigmoid函數(shù),如式1所示:
[σz=11+e-z] (1)
該函數(shù)圖像圖2所示:
2.1多層神經(jīng)網(wǎng)絡(luò)
將上述的神經(jīng)元按一定的層次結(jié)構(gòu)連接起來,就得到了如圖3所示的多層神經(jīng)網(wǎng)絡(luò):
多層神經(jīng)網(wǎng)絡(luò)具有輸入層,隱藏層和輸出層。由于每一層之間都是全連接,因此每一層的權(quán)重對(duì)整個(gè)網(wǎng)絡(luò)的影響都是特別重要的。在這個(gè)網(wǎng)絡(luò)中,采用的訓(xùn)練算法是隨機(jī)梯度下降算法[5],由于每一層之間都是全連接,當(dāng)訓(xùn)練樣本特別大的時(shí)候,訓(xùn)練需要的時(shí)間就會(huì)大大增加,由此提出了另一種神經(jīng)網(wǎng)絡(luò)―卷積神經(jīng)網(wǎng)絡(luò)。
2.2卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)由于在圖像分類任務(wù)上取得了非常好的表現(xiàn)而備受人們關(guān)注。發(fā)展到今天,CNN在深度學(xué)習(xí)領(lǐng)域已經(jīng)成為了一種非常重要的人工神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)的核心在于通過建立很多的特征提取層一層一層地從圖片像素中找出關(guān)系并抽象出來,從而達(dá)到分類的目的,CNN方面比較成熟的是LeNet-5模型,如圖4所示:
在該LeNet-5模型中,一共有6層。如上圖所示,網(wǎng)絡(luò)輸入是一個(gè)28x28的圖像,輸出的是其識(shí)別的結(jié)果。卷積神經(jīng)網(wǎng)絡(luò)通過多個(gè)“卷積層”和“采樣層”對(duì)輸入信號(hào)進(jìn)行處理,然后在連接層中實(shí)現(xiàn)與輸出目標(biāo)之間的映射,通過每一層卷積濾波器提取輸入的特征。例如,LeNet-5中第一個(gè)卷積層由4個(gè)特征映射構(gòu)成,每個(gè)特征映射是一個(gè)24x24的神經(jīng)元陣列。采樣層是基于對(duì)卷積后的“平面”進(jìn)行采樣,如圖所示,在第一個(gè)采樣層中又4的12x12的特征映射,其中每個(gè)神經(jīng)元與上一層中對(duì)應(yīng)的特征映射的2x2鄰域相連接,并計(jì)算輸出??梢?,這種局部相關(guān)性的特征提取,由于都是連接著相同的連接權(quán),從而大幅度減少了需要訓(xùn)練的參數(shù)數(shù)目[6]。
3實(shí)驗(yàn)研究
為了將LeNet-5卷積網(wǎng)絡(luò)用于樹葉識(shí)別并檢驗(yàn)其性能,本文收集了8類樹葉的圖片,每一類有40張照片,如圖5所示的一張樹葉樣本:
本文在此基礎(chǔ)上改進(jìn)了模型,使用了如圖6卷積神經(jīng)網(wǎng)絡(luò)模型:
在此模型中,第一個(gè)卷積層是由6個(gè)特征映射構(gòu)成,每個(gè)特征映射是一個(gè)28*28的神經(jīng)元陣列,其中每個(gè)神經(jīng)元負(fù)責(zé)從5*5的區(qū)域通過卷積濾波器提取局部特征,在這里我們進(jìn)行了可視化分析,如圖7所示:
從圖中可以明顯地看出,卷積網(wǎng)絡(luò)可以很好地提取樹葉的特征。為了驗(yàn)證卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)分類算法之間的性能,本文基于Python語言,CUDA并行計(jì)算平臺(tái),訓(xùn)練同樣大小8類,一共320張的一批訓(xùn)練樣本,采用交叉驗(yàn)證的方法,得到了如表1所示的結(jié)論。
可見,無論是識(shí)別率上,還是訓(xùn)練時(shí)間上,卷積網(wǎng)絡(luò)較傳統(tǒng)的支持向量機(jī)算法體現(xiàn)出更好地分類性能。
4 總結(jié)
本文從人工神經(jīng)網(wǎng)絡(luò)出發(fā),重點(diǎn)介紹了卷積神經(jīng)網(wǎng)絡(luò)模型LeNet-5在樹葉識(shí)別上的各種研究并提取了特征且進(jìn)行了可視化,并與傳統(tǒng)分類算法SVM進(jìn)行比較。研究表明,該模型應(yīng)用在樹葉識(shí)別上較傳統(tǒng)分類算法取得了較好的結(jié)果,對(duì)收集的樹葉達(dá)到了92%的準(zhǔn)確率,并大大減少了訓(xùn)練所需要的時(shí)間。由于卷積神經(jīng)網(wǎng)絡(luò)有如此的優(yōu)點(diǎn),因此在人臉識(shí)別、語音識(shí)別、醫(yī)療識(shí)別、犯罪識(shí)別方面具有很廣泛的應(yīng)用前景。
本文的研究可以歸納為探討了卷積神經(jīng)網(wǎng)絡(luò)在樹葉識(shí)別上的效果,并對(duì)比了傳統(tǒng)經(jīng)典圖像分類算法,取得了較好的分類精度。
然而,本文進(jìn)行實(shí)驗(yàn)的樣本過少,當(dāng)數(shù)據(jù)集過多的時(shí)候,這個(gè)卷積神經(jīng)網(wǎng)絡(luò)算法的可行性有待我們進(jìn)一步的研究;另外,最近這幾年,又有很多不同的卷積神經(jīng)網(wǎng)絡(luò)模型出現(xiàn),我們會(huì)繼續(xù)試驗(yàn)其他的神經(jīng)網(wǎng)絡(luò)模型,力求找到更好的分類算法來解決樹葉識(shí)別的問題。
參考文獻(xiàn):
[1]Bell A, Sejnowski T. An Information-Maximization Approach to Blind Separation and Blind Deconvolution[J]. Neural Computation, 1995, 7(6):1129-59.
[2]Altman N S. An Introduction to Kernel and Nearest-Neighbor Nonparametric Regression[J]. American Statistician, 1992, 46(3):175-185.
[3]Ripley B D, Hjort N L. Pattern Recognition and Neural Networks[M]. Pattern recognition and neural networks. Cambridge University Press,, 1996:233-234.
[4]Lécun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
關(guān)鍵詞:無人機(jī);STM32;道路檢測(cè);神經(jīng)網(wǎng)絡(luò);模型訓(xùn)練
傳統(tǒng)的道路巡檢和保養(yǎng)主要由人工來完成,需要投入大量的人力物力來保證道路的相對(duì)安全,這種方式存在著低效率、高成本且難以保證道路的決定安全[1]。固定式交通檢測(cè)設(shè)備大量設(shè)置在道路的主干路上,也存在著一些缺陷:(1)監(jiān)控?cái)z像頭不能做到全覆蓋且具有一定的探測(cè)盲區(qū)。(2)監(jiān)控系統(tǒng)采用多屏幕方式,工作人員進(jìn)行道路故障判斷時(shí)受限。(3)不能靈活的通知有關(guān)部門對(duì)事故的快速應(yīng)急處理。為了克服上述的缺點(diǎn),本文設(shè)計(jì)了一種基于卷積神經(jīng)網(wǎng)絡(luò)的無人機(jī)道路巡檢系統(tǒng),對(duì)發(fā)生故障和需要保養(yǎng)的道路能快速響應(yīng),及時(shí)的通知有關(guān)部門,避免事故的發(fā)生。
1系統(tǒng)的總體設(shè)計(jì)
在無人機(jī)道路巡檢系統(tǒng)中,我們主要考慮了以下幾個(gè)要求[3]:(1)無人機(jī)系統(tǒng)能滿足正常的工作;(2)無人機(jī)系統(tǒng)能適應(yīng)各種天氣和氣候變化等;(3)無人機(jī)系統(tǒng)應(yīng)充分考慮控制的安全性;(4)視頻流的傳輸應(yīng)避免較長(zhǎng)的延時(shí)。無人機(jī)道路巡檢系統(tǒng)主要由無人機(jī)系統(tǒng)設(shè)計(jì)、遠(yuǎn)程控制系統(tǒng)、PC端系統(tǒng)三大部分組成,系統(tǒng)的總體結(jié)構(gòu)框圖如圖1所示。系統(tǒng)的具體工作原理為:無人機(jī)將道路環(huán)境檢測(cè)的結(jié)果,將處理后的視頻流通過遠(yuǎn)程傳輸?shù)姆绞?,發(fā)送到PC端進(jìn)行實(shí)時(shí)監(jiān)控道路狀況。遠(yuǎn)程控制系統(tǒng)以STM32作為主控芯片,主要包括在無人機(jī)端和遙控端兩個(gè)部分,遙控端將控制指令通過2.4G通信發(fā)送到無人機(jī)端,此時(shí)無人機(jī)的做出相應(yīng)的位姿變化,完成遙控端對(duì)無人機(jī)位姿的控制。無人機(jī)系統(tǒng)的圖像采集模塊芯片為樹莓派,完成圖像的采集并采用TCP通信實(shí)現(xiàn)遠(yuǎn)程視頻的傳輸,將獲取的視頻流傳輸?shù)絇C端。PC端上使用OpenCV對(duì)圖像進(jìn)行處理[4],利用深度學(xué)習(xí)模塊對(duì)設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)訓(xùn)練,從而得到檢測(cè)模型,最后在PC上接收處理過的數(shù)據(jù)并實(shí)時(shí)監(jiān)測(cè)道路狀況。上述工作原理可實(shí)現(xiàn)無人機(jī)道路巡檢系統(tǒng),下文將對(duì)其包括的三大模塊進(jìn)行說明介紹。
2無人機(jī)系統(tǒng)設(shè)計(jì)
本次使用的是RaspberryPi3(modelB+)作為無人機(jī)的主控制板[7],無人機(jī)的飛行控制算法和圖像采集模塊集成在樹莓派中。遠(yuǎn)程控制系統(tǒng)通過2.4G無線通信模塊連接,通過控制器實(shí)現(xiàn)對(duì)無人機(jī)飛行和圖像采集的控制。無人機(jī)系統(tǒng)總體結(jié)構(gòu)如圖2所示。
3PC端系統(tǒng)設(shè)計(jì)
在PC端系統(tǒng)設(shè)計(jì)主要分為圖像預(yù)處理、模型訓(xùn)練和視頻監(jiān)控三大部分,通過TCP通信協(xié)議進(jìn)行通信,TCP通信是一種面向連接的通信,可完成客戶端(樹莓派)和服務(wù)端(PC)的信息傳遞[9]。下面主要對(duì)前兩部分詳細(xì)介紹。
3.1圖像預(yù)處理
本系統(tǒng)對(duì)地面裂縫檢測(cè)的圖像預(yù)處理流程如圖3所示具體工作原理為:(1)采用加權(quán)平均灰度化對(duì)獲取的無人機(jī)影像進(jìn)行灰度化處理;(2)對(duì)灰度化處理后的影像進(jìn)行直方圖均衡化,使得影像具有高對(duì)比度和多元的灰度色調(diào)變化,為后續(xù)的濾波降噪奠定基礎(chǔ);(3)對(duì)處理后的影像進(jìn)行濾波降噪,消除孤立的噪聲點(diǎn),采用方法的是中值濾波降噪;(4)使用迭代二值化處理將影像的灰度值設(shè)置合適的閾值,使得圖像更簡(jiǎn)單,目標(biāo)更突出,然后對(duì)圖像進(jìn)行分割,計(jì)算迭代的閾值,判斷迭代的閾值是否收斂到某一值或者達(dá)到限定的迭代次數(shù),如果是的話,將完成二值化處理和濾波,否則將初始二值化閾值;(5)最終完成道路故障的識(shí)別與標(biāo)記。
3.2模型檢測(cè)
3.2.1卷積神經(jīng)網(wǎng)絡(luò)原理使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行模型訓(xùn)練,首先使用卷積層實(shí)現(xiàn)特征的提取,原理如圖4所示。如圖5所示,卷積操作是模仿神經(jīng)元的機(jī)制。不同的輸入在權(quán)重的影響下會(huì)有不同的輸出,根據(jù)損失函數(shù)的計(jì)算來不斷的更新權(quán)重,直到獲得合理的權(quán)重參數(shù)。初始傳遞的信號(hào)為x,中間通過權(quán)重w,再經(jīng)過偏置b后連接在末端,最后輸出信號(hào)變成wx+b。fun(?)表示激活函數(shù),最終f(z為輸出的結(jié)果,如式(1)所示。3.2.2卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練流程通過相機(jī)采集到的缺陷和問題圖像作為訓(xùn)練樣本,這部分是檢測(cè)道路安全的關(guān)鍵一步,(1)訓(xùn)練標(biāo)記數(shù)據(jù):首先使用圖像預(yù)處理中標(biāo)記好的道路故障提取出來,通過卷積神經(jīng)網(wǎng)絡(luò)對(duì)標(biāo)記框內(nèi)的目標(biāo)數(shù)據(jù)進(jìn)行訓(xùn)練;(2)提取特征數(shù)據(jù):將道路故障的類型統(tǒng)計(jì)并歸納;(3)誤差反饋學(xué)習(xí):對(duì)測(cè)試樣本進(jìn)行誤差反饋學(xué)習(xí),并進(jìn)行測(cè)試;(4)優(yōu)化訓(xùn)練數(shù)據(jù):根據(jù)實(shí)際應(yīng)用場(chǎng)景增加圖像的種類和數(shù)量,不斷訓(xùn)練模型。3.2.3故障的基本分類道路故障主要路面缺陷(例如裂縫、殘缺等)和路面增加(例如長(zhǎng)時(shí)間靜止的車輛和路人),各自訓(xùn)練集數(shù)量為1000張。如表1所示。3.2.4實(shí)驗(yàn)測(cè)試為實(shí)現(xiàn)故障的檢測(cè),測(cè)試數(shù)據(jù)集為100張,不同類型故障數(shù)據(jù)50張,均采集自新道路且與訓(xùn)練樣本一致,實(shí)驗(yàn)結(jié)果如表2所示。由表2可知,檢測(cè)路面增加(例如長(zhǎng)時(shí)間靜止的車輛和路人)的準(zhǔn)確率高達(dá)96%,但是地面缺陷的準(zhǔn)確率相比較而言略低,可能造成的原因是:①硬件原因?qū)е虏杉膱D像清晰度比較低;②地面缺陷太小,無人機(jī)難以識(shí)別;③訓(xùn)練的數(shù)據(jù)集較少,特征學(xué)習(xí)誤差大;但是滿足了設(shè)計(jì)需求,還需進(jìn)一步改進(jìn)。
4總結(jié)與展望
【關(guān)鍵詞】人工智能 圖像識(shí)別 深度學(xué)習(xí)
1 概述
圖像識(shí)別技術(shù)是人工智能研究的一個(gè)重要分支,其是以圖像為基礎(chǔ),利用計(jì)算機(jī)對(duì)圖像進(jìn)行處理、分析和理解,以識(shí)別不同模式的對(duì)象的技術(shù)。目前圖像識(shí)別技術(shù)的應(yīng)用十分廣泛,在安全領(lǐng)域,有人臉識(shí)別,指紋識(shí)別等;在軍事領(lǐng)域,有地形勘察,飛行物識(shí)別等;在交通領(lǐng)域,有交通標(biāo)志識(shí)別、車牌號(hào)識(shí)別等。圖像識(shí)別技術(shù)的研究是更高級(jí)的圖像理解、機(jī)器人、無人駕駛等技術(shù)的重要基礎(chǔ)。
傳統(tǒng)圖像識(shí)別技術(shù)主要由圖像處理、特征提取、分類器設(shè)計(jì)等步驟構(gòu)成。通過專家設(shè)計(jì)、提取出圖像特征,對(duì)圖像M行識(shí)別、分類。近年來深度學(xué)習(xí)的發(fā)展,大大提高了圖像識(shí)別的準(zhǔn)確率。深度學(xué)習(xí)從大量數(shù)據(jù)中學(xué)習(xí)知識(shí)(特征),自動(dòng)完成特征提取與分類任務(wù)。但是目前的深度學(xué)習(xí)技術(shù)過于依賴大數(shù)據(jù),只有在擁有大量標(biāo)記訓(xùn)練樣本的情況下才能夠取得較好的識(shí)別效果。本文認(rèn)為研究如何在標(biāo)記數(shù)據(jù)有限的情況下繼續(xù)利用深度學(xué)習(xí)完成物體識(shí)別任務(wù)具有重要意義。這也是未來人工智能研究的重要方向之一。
2 傳統(tǒng)圖像識(shí)別技術(shù)
傳統(tǒng)的圖像識(shí)別技術(shù)包括:圖像獲取、預(yù)處理、特征提取、分類。在圖像輸入后,需要先對(duì)圖像進(jìn)行預(yù)處理。一幅標(biāo)準(zhǔn)灰度圖像,如果每個(gè)像素的像素值用一個(gè)字節(jié)表示,灰度值級(jí)數(shù)就等于256級(jí),每個(gè)像素可以是0~255之間的任何一個(gè)整數(shù)值。一幅沒有經(jīng)過壓縮處理的640×480分辨率的灰度圖像就需要占據(jù)300KB的存儲(chǔ)空間。通常我們需要將圖片的亮度及對(duì)比度調(diào)整合適,才能使圖片更加清晰、便于觀察。
許多采集到的圖片帶有或多或少的噪聲,需要對(duì)圖片的噪聲進(jìn)行消除。對(duì)圖片噪聲的消除可以使用不同的去噪方法,如中值濾波、算數(shù)平均濾波、平滑線性濾波和高斯濾波等。不同濾波器分別適用于不同情況的噪聲。如椒鹽噪聲便適合使用中值濾波器,高斯噪聲便適合使用平滑線性濾波和高斯濾波。有時(shí)候,我們需要對(duì)圖像細(xì)化處理(如指紋細(xì)化,字符細(xì)化等),以便獲取主要信息,減少無關(guān)信息。細(xì)化操作,可以得到由單像素點(diǎn)組成的圖像輪廓,便于后續(xù)特征提取操作。
基本的圖像特征提取包括邊緣、角點(diǎn)等提取。一般使用不同的特征提取算子結(jié)合相應(yīng)的閾值得到這些關(guān)鍵點(diǎn)。另一類在頻域中進(jìn)行特征提取的方法主要是通過傅里葉變換,將圖像基于頻率分為不同的部分,從而可以在頻譜中反映出原始圖像的灰度級(jí)變化,便可得到圖像的輪廓、邊緣。
在完成圖像的預(yù)處理和特征提取之后,我們便能夠?qū)D像進(jìn)行識(shí)別、分類。常用的分類器有K-近鄰(KNN),支持向量機(jī)(SVM),人工神經(jīng)網(wǎng)絡(luò)(ANN)等等。K-近鄰算法原理是,當(dāng)一個(gè)樣本的k個(gè)最相鄰的樣本中大部分屬于某一類別時(shí),該樣本也應(yīng)當(dāng)屬于同一類別。支持向量機(jī)是通過尋找支持向量,在特征空間確定最優(yōu)分類超平面,將兩類樣本分開。人工神經(jīng)網(wǎng)絡(luò)模仿生物大腦中的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),通過誤差反向傳播不斷優(yōu)化參數(shù),從而得到較好的分類效果。
3 基于深度學(xué)習(xí)的圖像識(shí)別技術(shù)
一般認(rèn)為深度學(xué)習(xí)技術(shù)是由Hinton及其學(xué)生于2006年提出的,其屬于人工神經(jīng)網(wǎng)絡(luò)分支。深度神經(jīng)網(wǎng)絡(luò)模仿人腦的神經(jīng)機(jī)制來分析樣本,并盡可能地對(duì)樣本的特征進(jìn)行更深度的學(xué)習(xí)。以圖片為例,利用深度學(xué)習(xí)技術(shù)對(duì)樣本的特征進(jìn)行學(xué)習(xí)時(shí),由低層特征到高層特征越來越抽象,越來越能表達(dá)語義概念。當(dāng)樣本輸入后,首先對(duì)圖像進(jìn)行卷積與下采樣操作,卷積和下采樣操作是為了進(jìn)行特征提取和選擇。以原始像素作為輸入,深度學(xué)習(xí)技術(shù)可以自動(dòng)學(xué)習(xí)得到較好的特征提取器(卷積參數(shù))。深度學(xué)習(xí)的訓(xùn)練過程,首先將當(dāng)前層的輸出作為下一層的輸入,進(jìn)行逐層分析,使得每一層的輸入與輸出差別盡可能小。其后,再聯(lián)合優(yōu)化,即同時(shí)優(yōu)化所有層,目標(biāo)是分類誤差最小化。
傳統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)往往網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)太過龐大,難以訓(xùn)練。人們構(gòu)造出卷積神經(jīng)網(wǎng)絡(luò),以權(quán)值共享的方式減少了節(jié)點(diǎn)數(shù)量,從而能夠加深學(xué)習(xí)的深度,使系統(tǒng)能學(xué)習(xí)到更抽象、更深層的特征,從而提高識(shí)別正確率。目前較成功的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)有AlexNet、GoogLeNet、ResNet等。
與傳統(tǒng)識(shí)別技術(shù)相比,深度學(xué)習(xí)技術(shù)具有以下優(yōu)勢(shì):
(1)無需人工設(shè)計(jì)特征,系統(tǒng)可以自行學(xué)習(xí)歸納出特征。
(2)識(shí)別準(zhǔn)確度高,深度學(xué)習(xí)在圖像識(shí)別方面的錯(cuò)誤率已經(jīng)低于人類平均水平,在可預(yù)見的將來,計(jì)算機(jī)將大量代替人力進(jìn)行與圖像識(shí)別技術(shù)有關(guān)的活動(dòng)。
(3)使用簡(jiǎn)單,易于工業(yè)化,深度學(xué)習(xí)由于不需要領(lǐng)域的專家知識(shí),能夠快速實(shí)現(xiàn)并商業(yè)化,國(guó)內(nèi)較知名的深度學(xué)習(xí)創(chuàng)業(yè)公司有專注人臉識(shí)別的Face++、研究無人車的馭勢(shì)科技等。
4 存在問題與未來展望
雖然深度學(xué)習(xí)具備諸多優(yōu)點(diǎn),但目前來看深度學(xué)習(xí)仍有許多不足之處。首先,由于深度學(xué)習(xí)模型為非凸函數(shù),對(duì)其的理論研究十分困難,缺乏理論保證。在對(duì)數(shù)據(jù)進(jìn)行調(diào)整時(shí),仍是簡(jiǎn)單的“試錯(cuò)”,缺少理論支撐。
同時(shí),由于深度學(xué)習(xí)過于依賴數(shù)據(jù)量和計(jì)算資源。對(duì)一個(gè)新概念的學(xué)習(xí),往往需要數(shù)百個(gè)甚至更多有標(biāo)記的樣本。當(dāng)遇到有標(biāo)記的樣本難以獲取或者代價(jià)太大時(shí),深度學(xué)習(xí)就無法取得好的學(xué)習(xí)效果。并且深度學(xué)習(xí)需要十分昂貴的高性能GPU,這使得深度學(xué)習(xí)難以平民化。目前深度學(xué)習(xí)訓(xùn)練速度較慢,往往需要幾天甚至一個(gè)月。其模型擴(kuò)展性差,缺少“舉一反三”的能力,樣本稍加變化,系統(tǒng)性能便會(huì)迅速下降。目前的深度學(xué)習(xí)屬于靜態(tài)過程,與環(huán)境缺乏交互。
對(duì)其的解決方案目前主要有兩點(diǎn):
(1)針對(duì)于模型擴(kuò)展性差的問題,通過引入遷移學(xué)習(xí),研究不同任務(wù)或數(shù)據(jù)之間的知識(shí)遷移,提高模型的擴(kuò)展能力、學(xué)習(xí)速度,同時(shí)降低學(xué)習(xí)成本,便于冷啟動(dòng)。
(2)與強(qiáng)化學(xué)習(xí)結(jié)合,研究在動(dòng)態(tài)環(huán)境下進(jìn)行深度學(xué)習(xí),提高深度學(xué)習(xí)與環(huán)境交互的能力。
參考文獻(xiàn)
[1]蔣樹強(qiáng),閔巍慶,王樹徽.面向智能交互的圖像識(shí)別技術(shù)綜述與展望[J].計(jì)算機(jī)研究與發(fā)展,2016:113-122.
[2]張翠平,蘇光大.人臉識(shí)別技術(shù)綜述[J].中國(guó)圖象圖形學(xué)報(bào),2000:885-894.
[3]梅園,趙波,朱之丹.基于直線曲線混合Gabor濾波器的指紋增強(qiáng)算法[J].計(jì)算機(jī)科學(xué),2016.
[4]孫志軍,薛磊,許陽明,王正.深度學(xué)習(xí)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2012:2806-2810.
[5]莊福振,羅平,何清,史忠植.遷移學(xué)習(xí)研究進(jìn)展[J].軟件學(xué)報(bào),2015:26-39.
[6]高陽,陳世福,陸鑫.強(qiáng)化學(xué)習(xí)研究綜述[J].自動(dòng)化學(xué)報(bào),2004:86-100.
【關(guān)鍵詞】人工智能 醫(yī)學(xué)領(lǐng)域
1 引言
人工智能(AI)是上世紀(jì)50年展起來的新興學(xué)科,主要內(nèi)容包括:知識(shí)表示、自然語言理解、機(jī)器學(xué)習(xí)和知識(shí)獲取、知識(shí)處理系統(tǒng)、計(jì)算機(jī)視覺、自動(dòng)推理和搜索方法、智能機(jī)器人、自動(dòng)程序設(shè)計(jì)等方面。在過去的幾十年里人工智能涌現(xiàn)出了大量的方法,大致可分為兩大類:第一類是基于Newell和Simon的物理符號(hào)系統(tǒng)假說的符號(hào)處理方法。這種方法大多采用從知識(shí)階段向下到符號(hào)和實(shí)施階段的自上而下的設(shè)計(jì)方法,第二類是采用自下而上設(shè)計(jì)的“字符號(hào)”方法。
2 人工智能的發(fā)展
全球?qū)θ斯ぶ悄艿难邪l(fā)經(jīng)歷了已經(jīng)有70年的發(fā)展,從上個(gè)世紀(jì)的50年代開始一直到今天,歷經(jīng)了兩次大起大落,但伴隨著深度學(xué)習(xí)的重燃、龐大的大數(shù)據(jù)支撐以及計(jì)算能力的不斷提升和成本的不斷下降這些因素的出現(xiàn),尤其是在摩爾定律、大數(shù)據(jù)、互聯(lián)網(wǎng)和云計(jì)算、新方法這些人工智能進(jìn)步的催化劑作用下,將迎來人工智能新的春天。
3 人工智能在醫(yī)學(xué)領(lǐng)域上的應(yīng)用
3.1 在神經(jīng)網(wǎng)絡(luò)中人工智能的應(yīng)用
在醫(yī)學(xué)診斷中人工智能的應(yīng)用會(huì)出現(xiàn)一些難題,例如知識(shí)獲取比較難、推理速度慢、自主學(xué)習(xí)以及自適應(yīng)變化能力弱。研究人腦連接發(fā)現(xiàn)了以人工神經(jīng)為特點(diǎn)可以解決在獲取知識(shí)中所出現(xiàn)的瓶頸和知識(shí)種類繁瑣問題,能夠提高對(duì)知識(shí)的推理能力,包括自主學(xué)習(xí),自組織等方面的能力,促進(jìn)了神經(jīng)網(wǎng)絡(luò)在醫(yī)學(xué)專家系統(tǒng)中的快速發(fā)展。
人工智能領(lǐng)域ANN,有不同于其他人工智能的方法,在傳統(tǒng)的結(jié)構(gòu)上,它只是AI分支中的一個(gè),只能通過邏輯符號(hào)來模擬人腦的思維方式,進(jìn)一步來實(shí)現(xiàn)人工智能,與之相比,不同的ANN是學(xué)習(xí)和訓(xùn)練為一體來達(dá)到智能的。ANN具有學(xué)習(xí)的能力及特殊方法,用戶不用編寫復(fù)雜的程序來解決所遇到的問題,只用提供有效的數(shù)據(jù)就可以完成。迄今為止,醫(yī)學(xué)領(lǐng)域中對(duì)大部分的病理原因無法解釋,無法確定病理原因,加上各種疾病的表現(xiàn)種類復(fù)雜多變。在醫(yī)學(xué)的日常實(shí)踐中,疾病相應(yīng)的治療只能以經(jīng)驗(yàn)為基礎(chǔ)來判斷。所以,ANN有著記憶,學(xué)習(xí)和歸納總結(jié)為一體的人工智能服務(wù),在醫(yī)學(xué)領(lǐng)域有很好的應(yīng)用發(fā)展趨勢(shì)。
3.2 在中醫(yī)學(xué)中人工神經(jīng)網(wǎng)絡(luò)的應(yīng)用
在中醫(yī)學(xué)中,所提出的“辨證論治”中的“證”具有模棚性、不確定性的特點(diǎn),主觀性比較強(qiáng),因此中醫(yī)的診斷方法和治療手段與醫(yī)師的經(jīng)驗(yàn)水平有很大聯(lián)系。數(shù)年來在實(shí)驗(yàn)研究,臨床觀察,文章整理,經(jīng)驗(yàn)總結(jié)上,都有著對(duì)“證”的研究思想的深入調(diào)查。一部分“辨證”的過程可以用人工神經(jīng)網(wǎng)絡(luò)來替換使用。恰當(dāng)?shù)闹嗅t(yī)癥狀可以作為基本輸入和適當(dāng)人工神經(jīng)網(wǎng)絡(luò)模型,人工神經(jīng)網(wǎng)絡(luò)能夠根據(jù)以往的學(xué)習(xí)“經(jīng)驗(yàn)”來進(jìn)行綜合分析,從而提出中醫(yī)診斷方法。
由神經(jīng)元結(jié)構(gòu)模型、網(wǎng)絡(luò)連接模型、網(wǎng)絡(luò)學(xué)習(xí)算法等幾個(gè)要素組成了人工神經(jīng)網(wǎng)絡(luò)。具有某些智能系統(tǒng)的功能。 按照網(wǎng)絡(luò)結(jié)構(gòu)來劃分,人工神經(jīng)網(wǎng)絡(luò)有很多不同的種類,例如感知器、BP網(wǎng)絡(luò)、Hopfield網(wǎng)絡(luò)等,目前應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)就是其中的BP網(wǎng)絡(luò)。這種前沿網(wǎng)絡(luò)非 BP網(wǎng)絡(luò)所屬,網(wǎng)絡(luò)的結(jié)構(gòu)與權(quán)值能夠表達(dá)復(fù)雜的非線性 I/0映射關(guān)系。憑借 BP網(wǎng)絡(luò)優(yōu)良的自主學(xué)習(xí)功能,既可以通過誤差的反向傳播方法,對(duì)照已知樣本反復(fù)進(jìn)行訓(xùn)練,也可以調(diào)整網(wǎng)絡(luò)的權(quán)值,直到網(wǎng)絡(luò)的 I/0關(guān)系在某一塊訓(xùn)練指標(biāo)下最接近樣本為止。
3.3 人工智能在臨床醫(yī)療診斷中的應(yīng)用
計(jì)算機(jī)編寫的程序主要根據(jù)專家系統(tǒng)的設(shè)計(jì)原理和方法來模擬醫(yī)生的醫(yī)學(xué)診斷,以及通常治療手段的思維過程來進(jìn)行。醫(yī)療專家系統(tǒng)是臨床醫(yī)療診斷中人工智能的很好體現(xiàn),不僅能夠處理較為復(fù)雜的醫(yī)學(xué)治療問題,還能當(dāng)做醫(yī)生診斷疾病的重要工具,更重要的是傳承了專家們的寶貴醫(yī)學(xué)治療經(jīng)驗(yàn)。
3.4 人工智能技術(shù)在醫(yī)學(xué)影像診斷中的應(yīng)用
目前,在醫(yī)學(xué)影像中存在著的問題,比如:誤診率高、缺口大。這些問題需要通過人工智能的方法來解決。在醫(yī)學(xué)影像技術(shù)領(lǐng)域人工智能的應(yīng)用包括主要的兩個(gè)方面,分別是:第一個(gè)方面為圖像識(shí)別,第二個(gè)方面為深度學(xué)習(xí),其中人工智能應(yīng)用最核心的部分實(shí)深度學(xué)習(xí)。這兩個(gè)部分都是基于醫(yī)學(xué)影像大數(shù)據(jù)所進(jìn)行的數(shù)據(jù)上的挖掘和應(yīng)用。這兩個(gè)方面所進(jìn)行的數(shù)據(jù)挖掘及其應(yīng)用都是依據(jù)醫(yī)學(xué)影像大數(shù)據(jù)來完成的。
Geoffrey Hinton教授是神經(jīng)網(wǎng)絡(luò)領(lǐng)域的大師,2006年,他與其博士生在《Science》和相關(guān)的期刊上發(fā)表了論文,第一次提出了“深度信念網(wǎng)絡(luò)”的概念。2012年,由斯坦福大學(xué)Fei-Fei Li教授舉辦的ImageNet ILSVRC大規(guī)模圖像識(shí)別評(píng)測(cè)任務(wù)是由Hinton教授的研究團(tuán)隊(duì)參加的。這個(gè)任務(wù)包括了120萬張高分辨率圖片,1000個(gè)類比。Hinton教授團(tuán)隊(duì)使用了全新的黑科技多層卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),將圖像識(shí)別錯(cuò)誤率突破性地從26.2%降低到了15.3%。 這個(gè)革命性的技術(shù),讓神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)以迅速的速度進(jìn)入了醫(yī)療和工業(yè)的領(lǐng)域范圍,隨后這一技術(shù)被陸續(xù)出現(xiàn)的醫(yī)療影像公司使用。例如:國(guó)際知名的醫(yī)學(xué)影像公司Enlitic和國(guó)內(nèi)剛剛獲得有峰瑞資本600萬天使輪融資的DeepCare。都是不斷積累大量影像數(shù)據(jù)和診斷數(shù)據(jù),繼續(xù)對(duì)神經(jīng)元網(wǎng)絡(luò)進(jìn)行深度的學(xué)習(xí)訓(xùn)練,從而有效的提高了醫(yī)生診斷的準(zhǔn)確率。
人工智能不僅能使患者的健康檢查快速進(jìn)行,包括X光、B超、核磁共振等。另外還能大量減少醫(yī)生的讀片時(shí)間,提升了醫(yī)生的工作效率,降低誤診率。
4 總結(jié)
人工智能軟件工作效率遠(yuǎn)遠(yuǎn)超過了人類大腦,不僅能夠更快速的找到數(shù)據(jù)的模式和相似性,還能有效幫助醫(yī)生和科學(xué)家提取重要的信息。隨著人工智能的發(fā)展及其在醫(yī)學(xué)領(lǐng)域的逐漸普及和應(yīng)用,兩者的互相融合在未來必定成為醫(yī)學(xué)發(fā)展的重要方向。
參考文獻(xiàn)
[1]馮伍,張俊蘭.人工智能在醫(yī)學(xué)上的應(yīng)用[J].電子設(shè)計(jì)工程,2010(01).
[2]楊琴,陳家榮.人工智能在醫(yī)學(xué)領(lǐng)域中的應(yīng)用[J].科技風(fēng),2012(12),100-101.
[3]王宇飛,孫欣.人工智能的研究與應(yīng)用[J].信息與電腦,2016(05).
[4]鉛筆道.人工智能與影像診斷相結(jié)合的醫(yī)生界阿爾法狗,2016(03).
關(guān)鍵詞:安全帶檢測(cè);深度學(xué)習(xí);支持向量機(jī);智能交通;特征提取
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)11-0240-03
Abstract:Seat belt detection in intelligent transportation systems is an important research area. A seat belt detection algorithm for complex road backgrounds based on deep learning is proposed. It first extracts features from labeled vehicle, windshield, and seat belt regions, and those features are used to train the detection models by deep learning. Then, it detects the locations of the vehicle, windshield, and seat belt regions, and uses the relative positions among these vehicle components and their detection scores to train a support vector machine classification model. Finally, it performs a fine mapping and identification process using this classification model on the seat belt region. This method performs well when applied to a database of images collected by road surveillance cameras.
Key words: Seat belt detection; deep learning; support vector machine; intelligent transportation; feature extraction
針對(duì)駕駛員未系安全帶的這種危險(xiǎn)駕駛行為,以及為了響應(yīng)公安部門的需求,目前出現(xiàn)了很多種安全帶檢測(cè)方法。現(xiàn)有的安全帶檢測(cè)方法大多是基于邊緣檢測(cè)[1-2]和Hough變換[3]的方法進(jìn)行安全帶檢測(cè)。Guo等人[4]提出了安全帶檢測(cè)系統(tǒng),包括安全帶檢測(cè)和駕駛員區(qū)域定位兩個(gè)模塊。該算法利用線性濾波器在HSV顏色空間[5]通過水平方向和垂直方向投影來確定車牌的位置,然后利用邊緣檢測(cè)算子(Sobel[6],Canny[7]等)通過邊緣檢測(cè)得到車窗的上下邊緣,再通過幾何關(guān)系確定駕駛員區(qū)域的位置。該方法容易受到車身顏色影響,穩(wěn)定性較差。
為了解決安全帶檢測(cè)過程中的光照、車型、駕駛員著裝等因素對(duì)檢測(cè)結(jié)果的影響,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN[8])的安全帶檢測(cè)系統(tǒng)。當(dāng)采集到圖片后,首先粗定位車輛區(qū)域,并根據(jù)檢測(cè)算法得到車窗區(qū)域粗定位模塊,找到圖像上若干個(gè)車窗候選區(qū)域,最后通過安全帶檢測(cè)模型及支持向量機(jī)(SVM)分類器[9]處理得到安全帶檢測(cè)結(jié)果。
1 基于深度學(xué)習(xí)的安全帶檢測(cè)
1.1 CNN特征提取算法
深度學(xué)習(xí)[11-12]是通過大量的簡(jiǎn)單神經(jīng)元組成,根據(jù)非線性關(guān)系將底層特征抽象表示為高層特征。卷積神經(jīng)網(wǎng)絡(luò)[13]是一個(gè)多層的神經(jīng)網(wǎng)絡(luò),每層由多個(gè)二維平面組成,而每個(gè)平面包括多個(gè)獨(dú)立神經(jīng)元。網(wǎng)絡(luò)中由一些簡(jiǎn)單元和復(fù)雜元組成,分別記為S-元和C-元。
1.2 檢測(cè)模型的構(gòu)建
如圖1所示,我們構(gòu)建了由三個(gè)CNNs組成的多尺度的特征提取模型。每個(gè)CNN模型共有八層,其中有五個(gè)卷積層和三個(gè)全連接層。對(duì)于每一張圖片,都會(huì)自動(dòng)的提取三個(gè)嵌套的越來越小的矩形窗口的特征,分別為車輛區(qū)域、車窗區(qū)域以及安全帶區(qū)域。這三個(gè)由CNNs提取的特征送到兩個(gè)全連接層,第二個(gè)全連接層的輸出被送到輸出層,最后用線性支持向量機(jī)分類器對(duì)所有子塊進(jìn)行分類。
2 實(shí)驗(yàn)結(jié)果
2.1 車輛及車窗檢測(cè)
本實(shí)驗(yàn)訓(xùn)練集包括戴安全帶和未戴安全帶各2000張的車輛圖像,測(cè)試集包括戴安全帶和未戴安全帶各100張的圖像。本文共完成車輛檢測(cè)、車窗檢測(cè)和安全帶檢測(cè)三個(gè)實(shí)驗(yàn)。其中,對(duì)于車輛和車窗檢測(cè)部分,使用檢測(cè)率(CIR)和漏檢率(MIR)來作為系統(tǒng)的評(píng)價(jià)指標(biāo),計(jì)算方式如下式所示:
對(duì)于車輛檢測(cè)實(shí)驗(yàn),選取6000車輛圖片用于訓(xùn)練模型。然后選取2000張車輛圖片作為測(cè)試圖片,并隨機(jī)分成10份。檢測(cè)結(jié)果示例如圖2(a)。平均檢測(cè)率為93.3%,平均漏檢率為6.7%。同時(shí),對(duì)比了基于Adaboost算法[10]的車輛檢測(cè)模型,檢測(cè)結(jié)果示例如圖2(b),平均檢測(cè)率為90.6%,平均漏檢率為9.4%。
由此可以看出,本文算法在相同的數(shù)據(jù)庫上比Adaboost算法表現(xiàn)更好,具有更低的漏檢率和誤檢率。并且車輛檢測(cè)結(jié)果更適合用于后面的車窗檢測(cè)實(shí)驗(yàn)。
車窗檢測(cè)實(shí)驗(yàn)的示例如圖3所示。選取6000張車窗正面車窗圖片用于訓(xùn)練模型,選取2000張圖片作為測(cè)試集,并隨機(jī)分成10份。平均檢測(cè)率為93.6%,平均漏檢率為9.4%。
2.2 安全帶檢測(cè)
對(duì)于安全帶檢測(cè)部分,使用檢測(cè)率(CIR)、虛警率(WIR)和漏檢率(MIR)作為安全帶檢測(cè)系統(tǒng)的評(píng)價(jià)指標(biāo),計(jì)算方式如下式所示:
選取戴安全帶和未戴安全帶圖片各2000張圖片用于訓(xùn)練模型。選取2000安全帶區(qū)域圖片作為測(cè)試圖片,并隨機(jī)分成10份,每份包含戴安全帶圖片和未戴安全帶圖片各100張。通過基于深度學(xué)習(xí)的安全帶檢測(cè)算法,檢測(cè)結(jié)果示例如圖4所示,平均檢測(cè)率為92.1%,平均虛警率為6.4%,平均漏檢率為2.5%。
3 結(jié)論
安全帶檢測(cè)是智能交通系統(tǒng)中的一個(gè)重要研究課題。本文提出了一個(gè)高效的進(jìn)行安全帶檢測(cè)的系統(tǒng),對(duì)于檢測(cè)部分,我們采用深度神經(jīng)網(wǎng)絡(luò)的特征提取方法,該特征更加適用于訓(xùn)練檢測(cè)模型。同時(shí),我們結(jié)合SVM的后處理,提高了安全帶檢測(cè)系統(tǒng)的魯棒性,并且很大程度上減低了虛警率和漏檢率。
參考文獻(xiàn):
[1] Ha D M, Lee J M, Kim, Y D. Neural-edge-based vehicle detection and traffic parameter extraction [J]. Image and vision computing, 2004, 22(11): 899-907.
[2] Song G Y, Lee K Y, Lee J W. Vehicle detection by edge-based candidate generation and appearance-based classification [C]//Intelligent Vehicles Symposium, IEEE, 2008: 428-433.
[3] Ballard D H. Generalizing the Hough transform to detect arbitrary shapes [J]. Pattern recognition, 1981, 13(2): 111-122.
[4] Guo H, Lin H, Zhang S. Image-based seat belt detection [C]//2011 IEEE International Conference on Vehicular Electronics and Safety (ICVES). IEEE, 2011: 161-164.
[5] 王運(yùn)瓊, 游志勝. 基于色差均值的快速車窗定位算法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2004, 21(1): 78-79.
[6] 張建軍, 羅靜. 基于改進(jìn)Sobel算子的表面裂紋邊緣檢測(cè)算法[J]. 合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2011年06期.
[7] Ali M, Clausi D. Using the Canny edge detector for feature extraction and enhancement of remote sensing images [C]//IEEE 2001 International Geoscience and Remote Sensing Symposium. 2001:2298-2300.
[8] Li Guanbin, Yu Yizhou. Visual Saliency Based on Multiscale Deep Features [C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2015: 5455-5463.
[9] 駱玉榮. 安全帶識(shí)別系統(tǒng)的研究與實(shí)現(xiàn)[D]. 北京:北京工業(yè)大學(xué), 2008.
[10] 吳法. 圖像處理與機(jī)器學(xué)習(xí)在未系安全帶駕車檢測(cè)中的應(yīng)用[D]. 杭州:浙江大學(xué), 2013.
[11] A. Krizhevsky, I. Sutskever, G. E. Hinton. Imagenet classification with deep convolutional neural networks [C]//Advances in neural information processing systems, 2012:1097-1105.
隨著時(shí)代的發(fā)展,構(gòu)建在互聯(lián)網(wǎng)生態(tài)模式之上的云計(jì)算、大數(shù)據(jù)、人工智能等新技術(shù),正滲透到每一個(gè)行業(yè),引發(fā)產(chǎn)業(yè)生產(chǎn)、服務(wù)模式的變革,并且已經(jīng)取得一系列重要成果。在此背景下,大學(xué)教學(xué)如何跟上時(shí)代步伐,是值得每一個(gè)高校教師深入思考的問題。程序設(shè)計(jì)作為計(jì)算機(jī)專業(yè)大學(xué)生的必修課程和必須掌握的基本技能,其教學(xué)改革在新時(shí)代下尤顯必要。
傳統(tǒng)的大學(xué)教學(xué)中,一直都以C/C++或Java作為教學(xué)語言。誠(chéng)然,C/C++和Java是當(dāng)今使用人數(shù)最多的語言,但在“互聯(lián)網(wǎng)+”時(shí)代,面對(duì)大數(shù)據(jù)分析時(shí),特別是面對(duì)數(shù)據(jù)采集、仿真建模、結(jié)果驗(yàn)證與數(shù)據(jù)可視化時(shí),他們就不再是最佳選擇。
Python作為一種解釋型超高級(jí)語言,具備交互式、可移植、面向?qū)ο蟮奶攸c(diǎn)。它功能強(qiáng)大,適用于多種操作系統(tǒng),有完善豐富的工具包,正在得到越來越多的應(yīng)用,而且越來越被重視。2017年4月,北京理工大學(xué)計(jì)算機(jī)學(xué)院和高等教育出版社聯(lián)合承辦了“第一屆高等學(xué)校Python語言及計(jì)算生態(tài)教學(xué)研討會(huì)”,提出了計(jì)算生態(tài)的概念[1],大力推動(dòng)了Python教學(xué)。在此背景下,根據(jù)我們?cè)赑ython教學(xué)和科研中的應(yīng)用經(jīng)驗(yàn),對(duì)如何進(jìn)行基于Python計(jì)算生態(tài)的教學(xué)改革進(jìn)行探討。
1 Python語言的興起與優(yōu)勢(shì)
從20世紀(jì)中期到今天,短短的70年間,電子計(jì)算機(jī)經(jīng)歷了飛速的發(fā)展,出現(xiàn)了許多不同的程序設(shè)計(jì)語言,例如Pascal、Fortran、C、C++、Java、PHP、C#等,這些不同的語言,都體現(xiàn)了不同的設(shè)計(jì)哲學(xué),也反映了不同的時(shí)代特點(diǎn)。
然而,每種程序設(shè)計(jì)語言都有其局限性。Python的設(shè)計(jì)者Guido von Rossum希望有一種語言,既具有C方便地調(diào)用計(jì)算機(jī)功能接口的能力,又可以像一些腳本語言一樣輕松地編程。Python正是在這種背景下被創(chuàng)造出來。
同C/C++和Java等語言相比,Python有以下優(yōu)勢(shì):
(1)簡(jiǎn)單易學(xué)。Python是一種代表簡(jiǎn)單主義思想的語言,語法簡(jiǎn)單,學(xué)習(xí)起來容易上手。這使學(xué)生能夠?qū)W⒂诮鉀Q問題而不是學(xué)習(xí)語言本身。
(2)解釋性。Python寫的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序。這使得Python更加簡(jiǎn)單,更易于移植。
(3)面向?qū)ο?。Python既支持面向過程的編程,也支持面向?qū)ο蟮木幊獭?/p>
(4)可擴(kuò)展性。為了提升運(yùn)行效率,可以采用C/C++來編寫關(guān)鍵代碼,然后在Python程序中使用它們。
(5)混合編程。Python被稱為膠水語言,是由于可以很容易地將Python與其他語言進(jìn)行混合編程。這樣方便地利用已有的各種工具包,提高開發(fā)效率。
(6)豐富的庫。Python有強(qiáng)大的標(biāo)準(zhǔn)庫,并且Python的生態(tài)系統(tǒng)開始拓展到第三方包,例如用于Web框架的web.py ,用于科學(xué)計(jì)算的numpy,以及用于數(shù)據(jù)可視化的matplotlib等。
Python作為一種跨平臺(tái)編程語言,已經(jīng)被移植在以Linux、Windows、Mac、Android為代表的許多平臺(tái)上。由于Python的開放性,有豐富的來自開源社區(qū)的成熟庫支持,從而可以基于Python完成各種工作,例如數(shù)據(jù)采集(如網(wǎng)絡(luò)爬蟲)、圖像處理、機(jī)器學(xué)習(xí)、科學(xué)計(jì)算等。
2 針對(duì)Python的應(yīng)用支持與國(guó)內(nèi)外課程建設(shè)情況
正由于Python具有上述優(yōu)點(diǎn),它獲得了業(yè)界的廣泛支持。例如在Google公司,Python是繼C++和Java之后,使用率排名第三的編程語言,使用Python的開發(fā)團(tuán)隊(duì)也是Google的第三大研發(fā)部門。
(1)Tensorflow:TensorFlow是由Google Brain小組開發(fā)的用于機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)的工具。據(jù)統(tǒng)計(jì),Tensorflow是目前使用人數(shù)最多的開源深度學(xué)習(xí)框架[2]。TensorFlow本身是使用C++實(shí)現(xiàn)的,然后用Python封裝。Tensorflow可以根據(jù)用戶給出的所有指令創(chuàng)建一個(gè)計(jì)算圖,該圖被內(nèi)部?jī)?yōu)化和編譯成可執(zhí)行的C++代碼。這樣Tensorflow就可以利用Python 帶來的開發(fā)速度和C++帶來的執(zhí)行速度。
(2)Google App Engine:Google App Engine(GAE),是谷歌推出的云平臺(tái),它完全把CPU、內(nèi)存等硬件基礎(chǔ)設(shè)施抽象化,這樣只需要關(guān)注代碼的編寫,不需要關(guān)注硬件、操作系統(tǒng)或者物理位置。Python是GAE最早支持編程的語言之一,任何使用Python編寫的程序,都可以配合Google Python API,很方便地在GAE上創(chuàng)建、部署、運(yùn)行Python程序。
(3)Caffe(Convolutional Architecture for Fast Feature Embedding):Caffe是由Berkeley AI Research(BAIR)和Berkeley Vision and Learning Center (BVLC)社?^貢獻(xiàn)者開發(fā)的另一個(gè)深度學(xué)習(xí)框架。同Tensorflow一樣,Caffe也是采用C++進(jìn)行編寫,然后提供Python封裝,從而既可以利用C++的高執(zhí)行效率,也可享受Python的高開發(fā)效率。
(4)在好萊塢,工業(yè)光魔公司(Industrial Light) 采用Python制作商業(yè)動(dòng)畫,在“阿貝斯(Abyss)”“星球之旅(Star Trek)”“Indiana Jones”等超級(jí)大片中驚艷登場(chǎng)。
(5)ERP和CRM軟件的開發(fā)也開始基于Python完成;Red Hat曾用Python和Tk一起成功開發(fā)配置和管理操作系統(tǒng)的可視界面,整個(gè)系統(tǒng)可以全面控制Linux操作系統(tǒng),并根據(jù)用戶選擇對(duì)配置文件作自動(dòng)更新。
正由于Python是受到業(yè)界的歡迎,國(guó)外很多高校(如麻省理工學(xué)院、斯坦福大學(xué)、加州大學(xué)洛杉磯分校等)已經(jīng)用Python作為程序設(shè)計(jì)語言的教學(xué)對(duì)象。在Coursera等在線教育平臺(tái)上,可以發(fā)現(xiàn)有來自密歇根大學(xué)、萊斯大學(xué)、約翰霍普金斯大學(xué)等眾多高校的Python課程;國(guó)內(nèi)南京大學(xué)張莉老師的課程也在其中。然而國(guó)內(nèi)這方面的工作做得還遠(yuǎn)遠(yuǎn)不夠。截至2015年,我國(guó)開設(shè)Python語言教學(xué)的高校不超過10所[3]。目前在國(guó)內(nèi)大力推動(dòng)Python教學(xué)改革的主要有北京理工大學(xué)嵩天老師等人,已編著并出版相應(yīng)的大學(xué)教材[4],受到廣泛歡迎。哈爾濱工業(yè)大學(xué)車萬翔老師等人分析了C語言作為入門語言的不足和Python作為入門語言的優(yōu)勢(shì),闡述了計(jì)算機(jī)專業(yè)高級(jí)語言程序設(shè)計(jì)課程的改革方案和實(shí)施效果[5]。南京大學(xué)張莉老師發(fā)表了《基于MOOC的“用Python玩轉(zhuǎn)數(shù)據(jù)”翻轉(zhuǎn)課堂實(shí)踐與研究》,研究證明:采用Python教學(xué)可以較好地提高學(xué)生的主動(dòng)學(xué)習(xí)能力、學(xué)習(xí)興趣和熱情以及問題求解能力[6]。
3 基于Python的教學(xué)科研應(yīng)用改革案例
3.1 輸入輸出
輸入輸出(I/O)是每個(gè)程序都必須具備的重要功能。常見的I/O可以分為3類:標(biāo)準(zhǔn)I/O(終端打印等)、文件I/O和網(wǎng)絡(luò)I/O。以?K端I/O為例:
/* Basic I/O in C */
#include
int main()
{
char name[20]; /* char數(shù)組,保存第一行輸入,作為名字輸出 */
scanf("%s", name); /*讀取第一行輸入 */
printf("Hello %s\n", name);
return 0;
}
以上用C語言編寫的有效代碼共計(jì)8行,輸入輸出都采用標(biāo)準(zhǔn)庫函數(shù)。由于C語言本身設(shè)計(jì)方面的缺陷(如果第一行輸入超出char數(shù)組大?。?,可能導(dǎo)致嚴(yán)重的緩沖區(qū)溢出問題。針對(duì)這一問題,C++對(duì)數(shù)組越界進(jìn)行了保護(hù),從而提高系統(tǒng)安全性。
如果采用Java實(shí)現(xiàn),則有效代碼共10行。由于Java的面向?qū)ο缶幊趟枷?,下面這個(gè)示例程序中多了很多對(duì)象構(gòu)造的流程,引用的庫看起來也相對(duì)較多,如下所示。我們只需要對(duì)這段代碼進(jìn)行稍微修改,就可以實(shí)現(xiàn)網(wǎng)絡(luò)I/O和文件I/O。例如,替換“System.in”,就能夠?qū)崿F(xiàn)對(duì)文件或者網(wǎng)絡(luò)流讀取。將“Reader”和“InputStream”替換,就能夠?qū)崿F(xiàn)寫入。
/ * Basic I/O in Java */
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class HelloWorld {
public static void main(String[] args) throws Exception { /*所有Java程序的入口函數(shù) */
/* 新建輸入對(duì)象,用來讀取標(biāo)準(zhǔn)輸入。其中對(duì)象構(gòu)造有嵌套*/
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine(); /* 讀取第一行輸入 */
System.out.printf("Hello %s\n", name);
}
}
相比之下,基于Python的代碼則非常短小簡(jiǎn)潔:
/* Basic I/O in Python */
import sys
name = sys.stdin.readline() /* 讀取第一行輸入 */
print("Hello " + name)
有效代碼僅僅只有3行!同樣,替換其中的“sys.stdin”可以實(shí)現(xiàn)對(duì)文件讀取。對(duì)于動(dòng)態(tài)類型的Python來說,所有的變量都不需要繁復(fù)的聲明,直接用就可以,再加上解釋執(zhí)行的特點(diǎn),無需定義入口函數(shù)即可運(yùn)行。
以上是對(duì)C/C++、Java、Python在基本終端I/O操作上的比較,當(dāng)推廣到文件I/O和網(wǎng)絡(luò)I/O后,Python的優(yōu)勢(shì)會(huì)更突出,詳見表1。
3.2 數(shù)據(jù)操作
數(shù)據(jù)處理是大數(shù)據(jù)時(shí)代我們面臨的首要問題。然而,由于信息化系統(tǒng)建設(shè)過程中,數(shù)據(jù)可能以不同的結(jié)構(gòu)存在,可能是純文本文件、CSV格式,也可能是Excel格式,或者是各種不同廠商的數(shù)據(jù)庫格式。
當(dāng)然,可以采用C++或Java來讀取各種異構(gòu)數(shù)據(jù)源,但過程相當(dāng)繁瑣,需要利用各種底層驅(qū)動(dòng),甚至是一些商業(yè)化組件。以Excel文件讀取為例,為了處理Excel數(shù)據(jù),C/C++代碼需要用到libxl商業(yè)庫,而Java也需要用到Apache POI開源庫。而利用Python對(duì)Excel文件進(jìn)行讀取則需要利用Pandas開源數(shù)據(jù)處理分析庫,示例代碼如下:
/* Read Excel in Python */
import pandas
df = pandas.read_excel('sample.xls')
print df.columns /* 輸出列名 */
values = df['列名'].values /* 獲取某一列的所有數(shù)據(jù) */
FORMAT = ['列名1', '列名2', '列名3'] /* 獲取指定列組成的數(shù)據(jù)幀 */
df_selected = df[FORMAT]
總的來說,在數(shù)據(jù)庫操作方面,C++、Java和Python的支持都非常好。C++和Java都為SQL提供了標(biāo)準(zhǔn)的連接、驅(qū)動(dòng)管理類,不同的數(shù)據(jù)庫只需要加載不同的驅(qū)動(dòng)就可以。Java對(duì)數(shù)據(jù)庫有比較好的語言級(jí)別支持,相應(yīng)的驅(qū)動(dòng)也比較豐富。Python也提供語言級(jí)別的支持,同時(shí)第三方庫十分豐富,甚至一種數(shù)據(jù)庫有多個(gè)不同的連接庫。另外值得一提的是, 盡管當(dāng)前很多流行的分布式大數(shù)據(jù)平臺(tái)及分布式數(shù)據(jù)庫使用Java編寫,但利用Python同樣能夠方便地基于第三方庫實(shí)現(xiàn)操作Hbase、Hive以及其他非關(guān)系數(shù)據(jù)庫,如Mongodb、Redis等,這種特點(diǎn)是C/C++不能比擬的。表2為Python與C++、Java在數(shù)據(jù)庫操作上的比較。
由于Python對(duì)各種文件和數(shù)據(jù)庫的支持都非常好,它十分適合編寫數(shù)據(jù)庫之間,數(shù)據(jù)庫與文件之間相互導(dǎo)入導(dǎo)出數(shù)據(jù)的腳本,是大數(shù)據(jù)處理的首選語言。
3.3 數(shù)據(jù)可視化
豐富的可視化數(shù)據(jù)圖形能夠更好地對(duì)數(shù)據(jù)進(jìn)行展示。利用數(shù)據(jù)可視化,可方便分析人員從宏觀上了解數(shù)據(jù)的形態(tài)和分布,或者進(jìn)行最后的結(jié)果展示。
Python提供了豐富的數(shù)據(jù)可視化工具,如pandas、Seaborn、Bokeh、matplotlib等。下面以matplotlib為例說明如何利用Python完成數(shù)據(jù)繪圖與可視化。
假定我們要展現(xiàn)的數(shù)據(jù)用CSV格式保存,內(nèi)容見表3。目標(biāo)是基于matplotlib進(jìn)行直觀的數(shù)據(jù)總體分布展示,例如利用直方圖統(tǒng)計(jì)年齡分布、利用箱體圖展示薪資水平、利用散點(diǎn)圖繪制年齡與收入的相關(guān)關(guān)系。完整代碼如下:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv("example.csv") /* ?x取數(shù)據(jù) */
fig = plt.figure()
ax1 = fig.add_subplot(1,4,1) /* 定義展示布局 */
ax1.hist(df["Age"], bins = 5) /* 定義直方圖 */
plt.axis([20,45,0,5])
plt.title("Age distribution")
plt.xlabel("Age")
plt.ylabel("Employee")
plt.show()
ax2 = fig.add_subplot(1,4,2) /* 確定圖在畫布中的位置 */
ax2.boxplot(df["Age"]) /* 定義箱線圖 */
ax3 = fig.add_subplot(1,4,3)
ax3.bar(df["Age"],df["Income"]) /* 定義條形圖 */
ax3.set_title("Income distribution")
ax3.set_xlabel("Age")
ax3.set_ylabel("Income")
ax4 = fig.add_subplot(1,4,4)
ax4.scatter(df["Age"],df["Income"]) /* 定義散點(diǎn)圖 */
ax4.set_title("Income distribution")
ax4.set_xlabel("Age")
ax4.set_ylabel("Income")
plt.show()
得到的可視化效果如圖1所示。
Python的開放性還表現(xiàn)為利用支持庫,實(shí)現(xiàn)如圖1所示的各類統(tǒng)計(jì)效果和復(fù)雜的展示(如地圖、熱力圖以及復(fù)雜網(wǎng)絡(luò)等)。此外,除了構(gòu)建在Python之上的原生庫,還有大量其他的數(shù)據(jù)可視化工具包(如基于Javascript的Plot.ly、百度的Echart等),這些工具包同時(shí)也提供Python的調(diào)用封裝,豐富了基于Python的可視化效果,體現(xiàn)了強(qiáng)大的Python計(jì)算生態(tài)。
3.4 圖像處理與深度神經(jīng)網(wǎng)絡(luò)
深度學(xué)習(xí)的出現(xiàn)點(diǎn)燃了研究者對(duì)神經(jīng)網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)的研究熱情,特別是基于Google Tensorflow的AlphaGo接連擊敗世界圍棋冠軍,更加吸引了人們對(duì)深度學(xué)習(xí)的關(guān)注。在深度學(xué)習(xí)領(lǐng)域,很多優(yōu)秀的開源平臺(tái)與框架(如Tensorflow、Caffe、Theano、MXNet等)都提供Python接口。這也從側(cè)面反映出Python計(jì)算生態(tài)已經(jīng)建立。下面以Tensorflow提供的Python接口為例,介紹Python在圖像處理與深度神經(jīng)網(wǎng)絡(luò)方面的應(yīng)用。
卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的一個(gè)重要模型。Tensorflow已經(jīng)屏蔽了關(guān)于卷積神經(jīng)網(wǎng)絡(luò)的具體結(jié)構(gòu),如神經(jīng)元函數(shù)、拓?fù)溥B接狀態(tài)等。程序員只需要通過參數(shù)指定,就能完成網(wǎng)絡(luò)模型的設(shè)計(jì),例如
conv1 = tf.layers.conv2d(inputs=input_layer,filters=32,kernel_size=[5, 5], padding="same",activation=tf.nn.relu)
pool1 = tf.layers.max_pooling2d(inputs=conv1, pool_size=[2, 2], strides=2)
通過設(shè)置輸入層ID、激活函數(shù)、padding方法、核大小等參數(shù),就可以唯一確定輸入層、卷積層、池化層,再通過調(diào)整參數(shù)并選擇一定的學(xué)習(xí)算法,結(jié)合pillow、scikit-image等基于Python的圖像處理工具包,從而可以利用深度網(wǎng)絡(luò)自動(dòng)完成特征學(xué)習(xí),完成模式識(shí)別或圖像分類工作。
關(guān)鍵詞:人工智能;云計(jì)算;大數(shù)據(jù)
最近火熱的美劇《西部世界》里傳遞出很多關(guān)于人工智能的信息,在圍繞如何突破機(jī)器極限,形成自主意識(shí)方面,提出了富有科幻現(xiàn)實(shí)色彩的方法-冥想程序, 將意識(shí)形成描繪成了“走迷宮”的過程,同時(shí)在道德層面又一次將“人工智能是否能成為有別于人類的另一個(gè)物種”的問題呈現(xiàn)在廣大觀眾面前。
“人工智能”(AI)這一概念最早由馬文?明斯基和約翰?麥卡錫于1956年的“達(dá)特茅斯會(huì)議”上共同提出。1960年,麥卡錫在美國(guó)斯坦福大學(xué)建立了世界上第一個(gè)人工智能實(shí)驗(yàn)室。經(jīng)過近幾年互聯(lián)網(wǎng)的飛速發(fā)展,AI對(duì)企業(yè)甚至是行業(yè)產(chǎn)生了巨大而又深遠(yuǎn)的影響。機(jī)器學(xué)習(xí),尤其是深度學(xué)習(xí)技術(shù)成為人工智能發(fā)展的核心。越來越多的硬件供應(yīng)商專為深度學(xué)習(xí)和人工智能定制設(shè)計(jì)芯片。如IBM的人腦模擬芯片SyNAPSE(Systems of Neuromorphic Adaptive Plastic Scalable Electronics,自適應(yīng)塑料可伸縮電子神經(jīng)形態(tài)系統(tǒng))芯片,含有100萬個(gè)可編程神經(jīng)元,2.56億個(gè)可編程突觸,每消耗一焦耳的能量,可進(jìn)行460億突觸運(yùn)算。
云計(jì)算和大數(shù)據(jù)作為人工智能的基礎(chǔ), 在工業(yè)制造等眾多場(chǎng)景中得到了廣泛應(yīng)用,比如很多工廠都在傳送帶上加裝了傳感器,將壓力、溫度、噪音和其他一些參數(shù)實(shí)時(shí)傳到云端,將工廠真正連上網(wǎng)絡(luò),然后利用人工智能的算法對(duì)這些數(shù)據(jù)進(jìn)行比對(duì),由此提前為工廠提供預(yù)警和遠(yuǎn)程檢測(cè)服務(wù)。這種將生產(chǎn)流程及產(chǎn)品通過物聯(lián)網(wǎng)連接到云端,然后利用算法進(jìn)行大數(shù)據(jù)分析的模式,將在更多的行業(yè)被廣泛應(yīng)用。
目前人工智能主要有10個(gè)應(yīng)用子領(lǐng)域,分別是機(jī)器學(xué)習(xí)、計(jì)算機(jī)視覺、智能機(jī)器人、虛擬個(gè)人助理、自然語音處理、實(shí)時(shí)語言翻譯、情感感知計(jì)算、手勢(shì)控制、推薦引擎及協(xié)同過濾、視頻內(nèi)容自動(dòng)識(shí)別。各方向處于不同的發(fā)展階段,發(fā)展程度有高有低。但驅(qū)動(dòng)發(fā)展的先決條件主要體現(xiàn)在感知能力、理解能力、學(xué)習(xí)能力、交互能力四個(gè)方面。
1 感知能力
目前人工智能的感知主要通過物聯(lián)網(wǎng)來實(shí)現(xiàn),它提供了計(jì)算機(jī)感知和控制物理世界的接口與手段,能夠采集數(shù)據(jù)、記憶,分析、傳送數(shù)據(jù),進(jìn)行交互、控制等。比如攝像頭和相機(jī)記錄了關(guān)于世界的大量圖像和視頻,麥克風(fēng)記錄了語音和聲音,各種傳感器將它們感受到的世界數(shù)字化。這些傳感器就如同人類的五官,是智能系統(tǒng)的數(shù)據(jù)輸入,是感知世界的方式。
2 理解能力
智能系統(tǒng)不同于人腦,沒有數(shù)以千億的神經(jīng)元,對(duì)事物問題的理解在現(xiàn)階段還很大程度上依賴于處理器的計(jì)算分析能力。近年來,基于GPU(圖形處理器)的大規(guī)模并行計(jì)算異軍突起,擁有遠(yuǎn)超CPU的并行計(jì)算能力。從處理器的計(jì)算方式來看,CPU計(jì)算使用基于x86指令集的串行架構(gòu),適合盡可能快的完成一個(gè)計(jì)算任務(wù)。而GPU誕生之初是為了處理3D圖像中的上百萬個(gè)像素圖像,擁有更多的內(nèi)核去處理更多的計(jì)算任務(wù)。因此GPU具備了執(zhí)行大規(guī)模并行計(jì)算的能力。云計(jì)算的出現(xiàn)、GPU的大規(guī)模應(yīng)用使得集中化數(shù)據(jù)計(jì)算處理能力變得空前強(qiáng)大。
3 學(xué)習(xí)能力
學(xué)習(xí)能力的培養(yǎng)類似人類需要教材和訓(xùn)練。據(jù)統(tǒng)計(jì),2015年全球產(chǎn)生的數(shù)據(jù)總量達(dá)到了十年前的20多倍,大數(shù)據(jù)的發(fā)展為人工智能的學(xué)習(xí)和發(fā)展提供了非常好的基礎(chǔ)。機(jī)器學(xué)習(xí)是人工智能的基礎(chǔ),而大數(shù)據(jù)和以往的經(jīng)驗(yàn)就是人工智能學(xué)習(xí)的書本,以此優(yōu)化計(jì)算機(jī)的處理性能。不可忽視的是近年來科技巨頭為了提前布局AI生態(tài),紛紛開源平臺(tái)工具,極大地豐富了機(jī)器訓(xùn)練的素材和手段。如谷歌了新的機(jī)器學(xué)習(xí)平臺(tái)TensorFlow,所有用戶都能夠利用這一強(qiáng)大的機(jī)器學(xué)習(xí)平臺(tái)進(jìn)行研究,被稱為人工智能界的Android。IBM宣布通過Apache軟件基金會(huì)免費(fèi)為外部程序員提供System ML人工智能工具的源代碼。微軟則開源了分布式機(jī)器學(xué)習(xí)工具包DMTK,能夠在較小的集群上以較高的效率完成大規(guī)模數(shù)據(jù)模型的訓(xùn)練,并于2016年7月推出了開源Project Malmo項(xiàng)目,用于人工智能訓(xùn)練。
4 交互能力
在國(guó)內(nèi),百度DuerOS 2.0,希望成為新標(biāo)桿,阿里ET大腦又開啟新征程。
國(guó)外
谷歌:正式TensorFlow Lite可在移動(dòng)設(shè)備上運(yùn)行深度學(xué)習(xí)
今年5月,在GoogleI/O開發(fā)者大會(huì)上,Google宣布了一個(gè)專門針對(duì)移動(dòng)設(shè)備優(yōu)化系統(tǒng)的TensorFlow新版本。11月,正式了TensorFlow Lite。
據(jù)了解,這款被稱為TensorFlow Lite的軟件庫,是可在移動(dòng)設(shè)備上運(yùn)行的深度學(xué)習(xí)工具,它允許開發(fā)人員在用戶的移動(dòng)設(shè)備上實(shí)時(shí)運(yùn)行人工智能應(yīng)用。此外,自TensorFlow Lite正式公布以來,已經(jīng)出現(xiàn)了多個(gè)安裝在移動(dòng)設(shè)備上具有類似功能的學(xué)習(xí)軟件庫,包括蘋果的CoreML、Clarifai人工智能云端訓(xùn)練服務(wù),以及華為Mate10使用的麒麟970人工智能處理器。
亞馬遜:AWS re:Invent 2017大會(huì)AWS云推出新品EKS
11月,在亞馬遜舉辦的AWS re:Invent 2017大會(huì)上,公司了22款新品,分別涉及計(jì)算能力、數(shù)據(jù)庫、機(jī)器學(xué)習(xí)、智能硬件和IOT等領(lǐng)域,尤其是在計(jì)算能力、數(shù)據(jù)庫方面對(duì)AWS云服務(wù)進(jìn)行了升級(jí)。
其中,AWS云推出了新品EKS,是AWS云上托管的Kubernete容器服務(wù),不僅兼容多云環(huán)境,還具備高可用性、自動(dòng)部署,自主升級(jí)等優(yōu)勢(shì),并可與AWS上其他服務(wù)集成,兩個(gè)平臺(tái)可無縫集成,在ECS中的應(yīng)用同樣可以使用AWS其它服務(wù)。
FB:Pytorch 0.3實(shí)現(xiàn)多方優(yōu)化增加對(duì)ONNX支持
今年初,F(xiàn)acebook在機(jī)器學(xué)習(xí)和科學(xué)計(jì)算工具Torch的基礎(chǔ)上,針對(duì)Python語言了一個(gè)全新的機(jī)器學(xué)習(xí)工具包PyTorch。日前,這款工具包又迎來了它的0.3.0版本,此版本增加了多個(gè)函數(shù)功能,多方面性能均有所提升。
其中,0.3版本中刪掉了Variable.reinforce()等隨機(jī)函數(shù),用torch.distributions包來代替。新功能包括構(gòu)建了一個(gè)in-built Profiler,能對(duì)模型進(jìn)行瓶頸分析,同時(shí)支持CPU和CUDA模型;增加Higher order gradients模塊;以及優(yōu)化器中增加了add_param_group函數(shù),能在構(gòu)建好的優(yōu)化器中增加新的參數(shù)組。除此之外,還增加了新的張量函數(shù)和功能,在新版本中,能通過ONNX將模型遷移到其他框架上。
IBM:強(qiáng)化AI實(shí)力Deep Learning Impact軟件工具
11月,IBM公布了一款最新軟件Deep Learning Impact,其幫助用戶開發(fā)的AI模型可使用流行的開源、深度學(xué)習(xí)框架,例如TensorFlow和Caffee。12月,這款工具被添加到IBM的Spectrum Conductor軟件中。
除了軟件,IBM還推出了為AI量身定制的基于Power9處理器的新系統(tǒng)。據(jù)了解,該系統(tǒng)可以在Power9 CPU和硬件加速器(例如GPU和FPGA)之間加速傳輸數(shù)據(jù)。此外,Power9將成為首個(gè)片上支持最新高速連接器(包括Nvidia下一代NVLink、OpenCAPI 3.0和PCIe 4.0)的商用平臺(tái)。
國(guó)內(nèi)
百度:DuerOS 2.0搭載AI硬件渡鴉raven H樹立新標(biāo)桿
在今年的百度世界大會(huì)上,主打下一代人機(jī)交互的DuerOS迎來一次重大升級(jí),推出了2.0版本。據(jù)官方資料,DuerOS 2.0主要帶來了兩個(gè)變化:其一,是小度智能設(shè)備開放平臺(tái)的升級(jí);其二,則是小度技能開放平臺(tái)的全新。至此,基于語音交互,DuerOS形成了兩個(gè)開放式平臺(tái),可以對(duì)接設(shè)備開發(fā)商、生態(tài)合作伙伴、線上線下服務(wù)提供商。
此外,百度世界大會(huì)上同時(shí)了人工智能硬件產(chǎn)品渡鴉raven H,這款產(chǎn)品通過搭載DuerOS 2.0,在功能和用戶體驗(yàn)上樹立了新的標(biāo)桿。
騰訊:騰訊云正式Supermind用人工智能方式實(shí)現(xiàn)網(wǎng)絡(luò)規(guī)劃
11月,騰訊云正式SUPERMIND智能網(wǎng)絡(luò)產(chǎn)品。據(jù)介紹,相比此前網(wǎng)絡(luò)產(chǎn)品,SUPERMIND智能網(wǎng)絡(luò)將擁有高性能、全球互聯(lián)、智能化等三大特點(diǎn)。
據(jù)了解,用人工智能方式實(shí)現(xiàn)網(wǎng)絡(luò)規(guī)劃、建設(shè)以及運(yùn)維的全流程,是騰訊云SUPERMIND網(wǎng)絡(luò)產(chǎn)品最大的亮點(diǎn)。騰訊云SUPERMIND智能網(wǎng)絡(luò)能夠結(jié)合幾萬條線路特征智能規(guī)劃,通過歷史用量分析、網(wǎng)絡(luò)路徑分析、用戶反饋分析、節(jié)點(diǎn)規(guī)劃建議、專線擴(kuò)容建議等方面,合理規(guī)劃出網(wǎng)絡(luò)建設(shè)路線,大幅縮短規(guī)劃時(shí)間,節(jié)約時(shí)間成本。
阿里巴巴:ET大腦獲世界互聯(lián)網(wǎng)領(lǐng)先科技成果18強(qiáng)
自去年8月阿里巴巴推出ET大腦,一年多來已經(jīng)被用來解決和探索社會(huì)經(jīng)濟(jì)發(fā)展當(dāng)中依靠人腦所無法解決的棘手問題。據(jù)阿里巴巴集團(tuán)CEO張勇介紹:“整個(gè)ET大腦有非常多的人工智能技術(shù),不僅僅是機(jī)器視覺、語音識(shí)別、自然語言處理等單個(gè)的AI技術(shù),更重要的是這些技術(shù)有機(jī)整體的實(shí)現(xiàn)和全局的突破?!?/p>
在11月舉辦的第三屆世界互聯(lián)網(wǎng)大會(huì)上,15項(xiàng)世界互聯(lián)網(wǎng)領(lǐng)先科技成果同時(shí),其中便包括ET大腦。獲獎(jiǎng)原因包括AI、云計(jì)算、大數(shù)據(jù)能力與垂直領(lǐng)域知識(shí)深度結(jié)合,以及在應(yīng)方面,已廣泛應(yīng)用于城市治理、工業(yè)制造、社會(huì)安全等數(shù)十個(gè)垂直領(lǐng)域。
中國(guó)移動(dòng):移動(dòng)網(wǎng)絡(luò)業(yè)界首個(gè)AI平臺(tái)“九天”
12月,中國(guó)移動(dòng)面向業(yè)界首個(gè)AI平臺(tái)“九天”。
據(jù)了解,該平臺(tái)可以拆分出三個(gè)方面:第一方面,產(chǎn)品的應(yīng)用服務(wù),包括運(yùn)營(yíng)、連接、服務(wù)三大領(lǐng)域,旗下分別包括智能營(yíng)銷、智能決策、智能網(wǎng)絡(luò)、智能物聯(lián)以及智能客服等領(lǐng)域;第二方面,AI核心能力層可以將其處理的數(shù)據(jù)自主分為語音語言類型、圖像識(shí)別類型等;第三方面,“九天”的深度學(xué)習(xí)平臺(tái)是中國(guó)移動(dòng)首款基于GPU的深度學(xué)習(xí)訓(xùn)練平臺(tái)。
中科視拓:推出深度學(xué)習(xí)服務(wù)平臺(tái)SeeTaaS將深度學(xué)習(xí)開發(fā)過程簡(jiǎn)化
10月,中科視拓推出一站式企業(yè)級(jí)深度學(xué)習(xí)平臺(tái)SeeTaaS,主要用于研發(fā)人臉識(shí)別、手勢(shì)識(shí)別、無人機(jī)視覺、視頻結(jié)構(gòu)化分析等在內(nèi)的企業(yè)級(jí)解決方案。據(jù)了解,該平臺(tái)可以提供深度學(xué)習(xí)相關(guān)的數(shù)據(jù)、算法、算力等服務(wù),同時(shí)將深度學(xué)習(xí)的開發(fā)過程簡(jiǎn)化為:上傳數(shù)據(jù)、選擇算法、自動(dòng)調(diào)參、輸出訓(xùn)練模型、模型批量測(cè)試、模型跨平臺(tái)部署等。
應(yīng)用方面,中科視拓已與中國(guó)平安、中國(guó)航天科技、中國(guó)電信、華為、百度、三星、高通等企業(yè)達(dá)成合作。
EasyStack:推出全球首個(gè)同時(shí)支持GPU和FPGA開源云平臺(tái)
在2017中國(guó)開源產(chǎn)業(yè)峰會(huì)暨第21屆中國(guó)國(guó)際軟件博覽會(huì)分論壇上,EasyStack正式推出全球首個(gè)同時(shí)支持GPU和FPGA異構(gòu)計(jì)算的人工智能開源云平臺(tái)ESCould AI。