金倫 錢萊 陸嘯云

摘 要:中草藥種類多、人工識別復雜,引入人工智能和圖像處理技術,可以提高中草藥識別的速度、準確度。本文基于卷積神經網絡和TensorFlow框架開發一個中草藥識別系統,能夠部署于PC端和手機端,利用攝像頭拍攝中藥材圖片,將其傳輸給基于TensorFlow部署的后臺,利用訓練好的卷積神經網絡識別中草藥的具體名稱和類別,準確度達到了91.2%,具有一定的作用和意義。
關鍵詞:中草藥 卷積神經網絡 TensorFlow 圖像處理
中圖分類號:TP3文獻標識碼:A文章編號:1003-9082(2020)02-000-01
引言
目前,國內醫院和個人對于中草藥需求量非常大,但是由于中草藥種類繁多,原材料識別難度非常大,傳統的人工分類需要豐富的經驗,并且準確度也非常低,不利于提高治病救人的水平,因此無法滿足當前的實際需求[1]。2018年浙江師范大學國家級大學生創新創業訓練計劃項目(201810345008)提出利用人工智能在圖像處理方面的技術,識別和分類中草藥,人工智能處理速度快,準確度高,因此成本更加低廉。本文基于利用卷積神經網絡的TensorFlow開發中草藥識別系統,能夠利用ResNet50卷積神經網絡,實現不同種類的中草藥分類功能,具有一定的作用和意義。
一、關鍵技術
卷積神經網絡(CNN)是一種深度前饋人工神經網絡,已成功地應用于圖像識別,CNN包括兩層基本結構,一是特征提取層,每一個神經元的輸入與前一層局部連接,可以提取這一部分的局部特征,一旦提取局部特征之后,就可以確定這些特征與其他特征之間的位置關系;二是特征映射層,網絡的每一個計算層都可以由多個特征映射組成,每一個特征映射都可以描述為一個平面,平面上所有的神經元的權值相同[2]。卷積神經網絡的每一個卷積層都可以跟著一個用來求取局部平均與二次提取的計算層,這樣就可以大大地減小特征分辨率[3]。CNN結構如下所述。
輸入層的主要作用就是對原始的圖像數據進行預處理。
卷積層一般包含兩個操作,其一是進行局部的關聯,將每個神經元看做是一個過濾器;其二是進行窗口滑動,過濾器對局部的數據進行計算。卷積層的關鍵作用就是獲取圖像的局部特征,每一卷積層都可以作為一個特征提取層,并且可以減少參數的設置數量,提高卷積準確度[7]。
池化層的主要作用是用來壓縮數據和參數的數量,減小過擬合。換句話說,池化層就是用來壓縮圖像的[8]。在卷積層提取的圖像特征基礎上,池化可以計算某一個局部的卷積特征平均值,也可以計算最大值或最小值,減小卷積層特征的維數,這樣就可以持續降低分類器的計算復雜度,減輕分類器的負擔,也可以避免分類器過度擬合,
全連接層可以輸出分類結果,起到了一個分類器的作用,能夠將訓練好的模型輸出出來,這樣就可以提取圖像的特征。
二、TensorFlow在中草藥識別系統中的應用與設計
中草藥識別系統的主要功能包括注冊、登錄、選擇圖片、識別圖片和退出等功能,該系統采用最為關鍵的技術就是TensorFlow技術,該技術采用了TensorFlow Keras平臺搭建的的ResNet50卷積神經網絡。ResNet50是一種卷積神經網絡,主要用于分類。中草藥識別系統引入的卷積神經網絡ResNet50算法的具體應用流程如圖1所示。
攝像頭拍攝的樹莓派圖像轉碼為base64格式,將數據發送給服務器,服務器利用keras搭建的resnet50架構訓練完成得到的模型來進行識別圖像,獲取圖像類別并進行在數據庫下的模糊搜索,最終將識別結果通過http協議以json格式返回給樹莓派。卷積神經網絡結構由以tensorflow作為backbench的keras框架搭建而成,并由前臺django來進行實時調用,以API接口的形式讓前端設備來進行調用。在resnet的訓練過程中,采用了0.001的學習率,batchsize大小為50,在訓練1000個epochs之后在測試集中達到了83.2%的準確率,在訓練5000個epochs之后,準確率到達了91.2%,基本達到了應用的要求。
結語
基于TensorFlow的中草藥識別系統能夠將攝像頭拍攝的圖片、利用神經網絡進行處理,將識別的結果反饋給用戶,滿足中草藥識別的功能。未來,中草藥識別系統將會引入更加先進的技術,為中草藥在醫療診斷的應用提供輔助支撐,具有更加良好的作用。
參考文獻
[1]王林玉,王莉,鄭婷一.基于卷積神經網絡和關鍵詞策略的實體關系抽取方法[J].模式識別與人工智能,2017,30(5):465-472.
[2]周法律,張璐瑤,湯嵐鳳,等.中草藥原植物葉片圖像在線識別系統設計與實現[J].電腦知識與技術,2014,10(13):3114-3116.
[3]武國彬,初雅莉,陳昌穩.基于Android的中草藥手機智能識別系統[J].微型機與應用,2013(18):11-13,17.