文/王宇(中國地質大學(北京)經(jīng)濟管理學院)
目前,人工智能成為越來越熱門的研究對象,它代表了最前沿的科技水平和最先進的服務理念。而其中算法領域上的重要突破點之一,就是對深度學習的研究。我們知道,人體所接受的來自視覺感官系統(tǒng)的信息達到80%以上,所以計算機的視覺架構顯得更加重要。物體識別是很多視頻跟蹤識別領域的基礎,而深度學習在物體識別上有很大的作用,只有快速而準確地識別出圖像的類型,才能為后續(xù)的視頻圖像處理分析打下良好的基礎。由此可見,物體識別的重要性不言而喻。
早期的圖像識別主要是先提取物體特征,然后再根據(jù)特征識別物體。而隨著人工智能的發(fā)展,用深度學習進行物體識別慢慢占據(jù)主流。其中,動物圖像識別也慢慢成為圖像識別中的一個熱點。而深度學習在動物識別上可以展示出極強的優(yōu)異性。目前已有的動物圖像識別大都存在識別種類少、識別率低的問題,我們的研究也將從基本的圖像識別出發(fā),逐步解決目前存在的問題。
根據(jù)2015年完成的《中國生物多樣性紅色名錄——脊椎動物卷》,共評估了中國4357種脊椎動物(見圖1),包括673種哺乳類、1372種鳥類、461種爬行類、408種兩棲類和1443種淡水魚類。其中,939種數(shù)據(jù)缺乏、1868種無危、596種近危,受威脅的物種共934種。在934種受威脅物種當中,易危459種、瀕危289種、極度瀕危186種。可見,我國脊椎動物的生存情況不容樂觀。為保護環(huán)境,拯救那些正在消失的瀕危動物,我國正在做一些力所能及的事。
圖1 中國脊椎動物紅色名錄等級分布
在瀕臨滅絕的野生動物越來越多的情況下,人工智能中的圖像識別,就有了非凡的研究意義——為瀕臨滅絕的野生動物提供力所能及的保護,同時,它也能成為一個簡易的識別動物的工具。
動物的圖像識別相比于其他圖像而言更有難度,首先,人臉識別在生活中有龐大的數(shù)據(jù)庫基礎,我們每天的手機解鎖、人臉付款等都為人臉識別系統(tǒng)提供了大量的訓練素材,而動物的圖像數(shù)據(jù)庫則遠不如此,對于動物的圖像檢測應用少之又少。其次,動物分為界、門、綱、目、科、屬、種七個等級,隨著等級的降低,動物的相似程度也隨之提高,這便使得動物圖像更難區(qū)分。由此可見,動物圖像識別尤其具有挑戰(zhàn)性和重要性。
由于專業(yè)能力以及數(shù)據(jù)庫承載能力受限,本次研究以生活中最常見的貓狗為識別對象,通過訓練神經(jīng)網(wǎng)絡模型,使其能對簡單的貓狗圖片做出判斷。綜合研究時間和數(shù)據(jù)庫考慮,目前只能對貓狗圖像做出初步判斷,但這只是動物圖像識別的第一步。在試驗條件允許后,我們將訓練神經(jīng)網(wǎng)絡對貓狗的種類等做出判斷,乃至進行各種動物的識別,從而實現(xiàn)對瀕危物種的識別與保護。
早期的物體識別算法主要是通過對原始圖像進行預處理,從而得到圖像的底層特征,并且在獲取圖像特征的基礎上加入特征描述,最后進行模板匹配來識別物體。隨著人工智能的發(fā)展,利用深度學習進行物體識別漸漸取代了傳統(tǒng)的圖像處理方法。
近年來,作為物體圖像識別的一個特殊的部分,動物圖像識別也逐漸成為研究熱點。早在2014年,Slavomir Matuska等人使用混合的SISURF特征檢測器加上SVM分類器的傳統(tǒng)方法,利用圖像識別技術對野豬、棕熊、狼、狐貍和鹿等五種動物進行分類,實驗的最高準確率能達到86%。2017年,Tibor Trnovszky等人利用卷積神經(jīng)網(wǎng)絡技術對狐貍、狼、熊、豬和鹿等五類動物進行分類,實驗最終達到了最高98%的識別率。
之前研究中的動物圖像識別技術大多依托PC端進行,而隨著各式各樣移動設備的發(fā)展和推廣,目前的研究熱點開始向在移動終端實現(xiàn)與PC端同樣性能的深度學習技術轉移。近年來各互聯(lián)網(wǎng)巨頭紛紛投身AI領域,同時也在緊鑼密鼓地部署移動端深度學習框架。國外互聯(lián)網(wǎng)公司以Facebook和谷歌為首,先后在2017年發(fā)布了具備工業(yè)化、模塊化和輕量化等優(yōu)點的Caffe2深度學習框架,以及一款專注用于移動設備以及嵌入式設備的輕量級解決方案Tensor Flow Lite。與此同時,國內互聯(lián)網(wǎng)公司也十分重視對移動端深度學習框架的研究,2017年7月25日,騰訊優(yōu)圖實驗室發(fā)布了專門為移動終端設計進行極致優(yōu)化的高性能神經(jīng)網(wǎng)絡前向計算框架NCNN,它具有無第三方依賴、跨平臺的優(yōu)點;2017年9月25日,百度公司在GitHub上開源了一款基于卷積神經(jīng)網(wǎng)絡實現(xiàn)的移動端深度學習框架1VIDL,如今1VIDL已經(jīng)在手機百度中穩(wěn)定運行了多個版本,其穩(wěn)定性和可靠性也有了可觀提升。
目前在移動終端上的深度學習主要有兩種開發(fā)模式:一種是在線模式,移動終端通過獲取圖像數(shù)據(jù),進行簡單預處理后把數(shù)據(jù)傳到服務器端,通過服務器端的深度學習模型識別得到結果,再將結果返回給終端,最后通過移動端展示出結果。其具有部署簡單、不需要占用太多終端資源的優(yōu)點,但在線模式必須在聯(lián)網(wǎng)的條件下運行,同時難以保證用戶數(shù)據(jù)的私密性。另一種是離線模式,指是在服務器端進行模型訓練,然后在移動端加載模型預測結果,其優(yōu)缺點正好與在線模式相反。
隨著人工智能的不斷發(fā)展,深度學習因為其在動物圖像識別領域展示出來的優(yōu)異性能,逐漸成為動物圖像識別算法的主流,毫無疑問,深度學習將在未來的物體識別研究上扮演越來越重要的角色。然而過往對動物圖像識別的研究普遍存在能識別的動物種類較少、總體識別率并不是特別高的問題,這也就驅動了對這方面的研究。
我們雖然并不能像真正的研究者那樣提供提高識別率、增加識別種類的方法或原理,但是作為進行初步學習與研究的大學生,提取出這項研究內容中的重點進行實踐模擬和簡單復現(xiàn),可以幫助我們今后更好地進行相關知識的學習和對高級程序語言的理解,甚至可以利用所學過的方法進行觸類旁通和實際應用。
接下來,我們團隊對實現(xiàn)貓狗圖像識別技術過程中的環(huán)境搭建、數(shù)據(jù)集下載與整理、構建網(wǎng)絡、導入數(shù)據(jù)進行識別等過程進行了簡易復現(xiàn)和深度理解。
1.原理分析
本貓狗圖像識別系統(tǒng)采用卷積神經(jīng)網(wǎng)絡進行深度學習,具有監(jiān)督學習與非監(jiān)督學習的能力。借由卷積神經(jīng)網(wǎng)絡仿照生物視覺感知結構,在應對可格點化的信息時可以通過池化操作在占用更少運算資源的情況下,進行更加穩(wěn)定的信息分析和分類。
作為與以往不同的多層神經(jīng)網(wǎng)絡,識別系統(tǒng)可以實現(xiàn)在較短的時間內分析大量信息,不必對更多的特征工程進行輔助學習,簡化了圖像識別的學習過程。同時在應對不同的應用場景時,可以通過返卷積來實現(xiàn)對信息的補全,提高對低質量低清晰度圖片的識別能力。
綜上所述,本圖像識別能夠以較小的運算資源對特定類別(基于前期學習而定)進行穩(wěn)定的信息分類,同時還具備對低質量圖像的識別能力,契合了實際應用中處理來自客戶上傳圖片的冗雜和低質量等問題。
2.流程設計
(1)圖像輸入階段:用戶將圖像輸入至圖像識別系統(tǒng)。
(2)圖像增強處理階段:對圖像進行歸一、分類、幾何變換、顏色變換以及分割處理。
(3)圖像分類階段:提取圖像基本特征并進行分類識別,并對識別失敗的圖像進行結果報告分析。
(4)結果輸出階段:根據(jù)概率挑選出可能性比較大的幾種結果,根據(jù)判斷從數(shù)據(jù)庫調取關于識別圖像的相關信息(見圖2)。
圖2 貓狗圖像流程設計流程圖
1.搭建環(huán)境
初始步驟,我們搭建了Python3.6、Tensorflow1.15.0、Keras2.2.5、Numpy1.19.5等環(huán)境(見圖3)。
圖3 搭建環(huán)境詳情
2.下載數(shù)據(jù)集
(1)首先登錄數(shù)據(jù)科學競賽平臺“kaggle”,進 入“https:// www.kaggle.com /c/dogs-vs -cats/data”,注冊登記后,下載數(shù)據(jù)集“Kaggle Cats and Dogs Dataset”(見圖4)。
圖4 下載好的數(shù)據(jù)集文件
(2)該文件包含可供訓練的貓和狗圖像數(shù)據(jù)(見圖5)。
圖5 貓狗數(shù)據(jù)集圖像
3.整理數(shù)據(jù)集
(1)我們需要將圖片進行標簽設置,由于圖片數(shù)量過多(圖片數(shù)量一共25000張),因此編寫了一個簡單的python腳本對全部圖片進行重命名處理(見圖6)。
圖6 圖片標簽處理腳本
(2)通過上述操作后,給每一張圖片完成標簽設置操作,效果見圖7。
圖7 標簽設置效果圖
3.構建簡單CNN網(wǎng)絡
我們構建了以兩個卷積層和一個池化層為一組,共三組的多層網(wǎng)絡,通過定義模型(見圖8),定義優(yōu)化器、代價函數(shù)等步驟,構建了一個簡單的卷神經(jīng)網(wǎng)絡(CNN)。
劉訓峰表示,華誼集團要以習近平新時代中國特色社會主義思想為指引,不忘初心,牢記使命,堅持“綠色發(fā)展、創(chuàng)新發(fā)展、高端發(fā)展、跨市發(fā)展、一體化發(fā)展”戰(zhàn)略,加快“華誼制造”向“華誼創(chuàng)造”轉型,力爭早日實現(xiàn)營業(yè)收入1000億元,躋身全國化工行業(yè)前3位,世界化工50強,為把華誼集團建設成為具有核心競爭力的世界一流企業(yè)、成為具有國際競爭力和影響力的企業(yè)集團而努力奮斗!
圖8 卷神經(jīng)網(wǎng)絡(CNN)構建過程
4.讀入數(shù)據(jù),進行訓練并保存模型
(1)首先對用來訓練的數(shù)據(jù)進行修改,和歸一化處理(見圖9);對測試數(shù)據(jù)進行歸一化,然后進行訓練。由于硬件限制,我們只選取了其中234張的圖片進行訓練。
圖9 圖片歸一化過程
(2)我們設置了正確率展示,每一個Epoch會顯示正確率。由于訓練數(shù)據(jù)不大,以及Epoch只有30輪,最后數(shù)值穩(wěn)定在了0.7左右(見圖10)。
圖10 可能性判斷過程
(3)讀入數(shù)據(jù)進行測試(見圖11)。
圖11 測試對象——貓的圖像
(4)我們將訓練好的模型保存為“model_cnn_cat_dog.h5”,在網(wǎng)上隨機選取了一張貓的圖像“whm.jpg”,進行測試,得到了正確測試結果——cat(見圖12)。
圖12 測試結果
5.模型評價
(2)缺點:貓狗圖像分別只選取了100張左右,對于想要提高識別準確率和對特征不明顯圖像較困難、存在不足。
如今,由于受到計算機軟硬件發(fā)展水平的影響,使得圖像識別仍然無法達到預期的效果。例如圖像不夠清晰、圖像處理速度達不到預期等,這些都會影響最后處理能否達到目標。因此,加強圖像傳輸品質,同時確保達到更高的處理速度和清晰度是推動計算機圖像識別技術發(fā)展的必要條件。
目前,計算機圖像識別計算主要是通過大量的矩陣計算來實現(xiàn)的,與目前計算機算法主要發(fā)展的浮點運算來說是相悖的,故在進行矩陣計算是通常會出現(xiàn)運行效率低、無法充分發(fā)揮性能等問題,對此,可以通過設計和開發(fā)專用的圖像處理芯片,來改善運算的便捷性和準確性。
當下,現(xiàn)代科學技術水平的高速發(fā)展,其更新速度也不斷加快,新開發(fā)的技術或者發(fā)明都對目前的技術理論體系的更新和完善起到一定作用,計算機圖像識別技術的實踐與理論之間也是如此。如何在當今科技不斷發(fā)展的社會背景下,設計出一個符合當前計算機圖像識別計算發(fā)展趨勢的理論,是目前該領域必須要面對的難題。現(xiàn)在,科研人員們不斷挖掘出新的相關理論與技術,遺傳計算處理體系、小波體系等均在其中。所以,注重計算機圖像識別新技術理論的運用,是計算機圖像識別技術發(fā)展最為重要的策略之一。
現(xiàn)在,即使人工智能技術仍處在初步發(fā)展階段,卻早已表現(xiàn)出了可觀的發(fā)展前景,同時為圖像識別技術發(fā)展帶來發(fā)展機遇。與語音識別、人臉識別等與人工智能相關的識別技術不斷出現(xiàn),促使以往的信息檢索和處理方式產(chǎn)生了不得已的改變。大數(shù)據(jù)的時代到來,也使得數(shù)據(jù)的保存不拘泥于物理硬件中,也可以保存在云數(shù)據(jù)庫。如果領域發(fā)展能結合云數(shù)據(jù)庫發(fā)展,將會促進技術智能化水平的提高。
從古至今,任何技術的演進都隨著其實用性的變化而變化。計算機圖像識別技術要得以不斷發(fā)展,就需要與目前實用性可觀的新技術不斷結合,提高自身的實用性并不斷完善,以不斷滿足人類工作和生活中的需要。
由于存在面部相似度很高的不同種類貓狗,類間差異過小,便需要進行細粒度分類,在分類本身有難度的情況下,還需要考慮具體植物在圖像上呈現(xiàn)效果受影響的問題,例如形狀、視角、光線、遮擋、模糊等因素,真實的場景使得對于相似度較高的貓狗進行識別的準確度降低。
開發(fā)識別精度更高的移動端識別系統(tǒng),將為人們的實際生活帶來更多的便捷,提高實用性,利用市場現(xiàn)有的幾個植物花卉識別軟件的成功經(jīng)驗,并分析其現(xiàn)存缺陷,尋找改進重點。