賴小平
(廣東交通職業(yè)技術(shù)學(xué)院信息學(xué)院,廣東 廣州 510650)
laixiaoping1008@163.com
野生鳥類是全人類的財富,但隨著人類活動范圍的加大,野生鳥類的種群和數(shù)量不斷減少。分析野生鳥類資源日益減少的原因,除環(huán)境因素外,人類為經(jīng)濟利益大量捕捉、販賣也是一大因素[1]。為了保護鳥類和地球物種多樣性,增強人們保護野生鳥類的意識,構(gòu)建智能自動化的鳥類識別系統(tǒng)成為當(dāng)務(wù)之急[2]。鳥類識別技術(shù)能夠幫助相關(guān)工作人員實現(xiàn)智能自動化的鳥類監(jiān)測,對于保護鳥類、了解鳥類生態(tài)系統(tǒng)和評測環(huán)境質(zhì)量具有重要意義[3],對其準(zhǔn)確分類一直為研究的熱點。傳統(tǒng)的識別方法有視頻檢測和人工識別方法,視頻檢測成本高、檢測目標(biāo)范圍有限;而人工識別大多依靠專家經(jīng)驗,效率低,這種識別方式成本高,識別過程受多種因素制約,實施困難。隨著人工智能技術(shù)的快速發(fā)展,越來越多先進的技術(shù)走入了人們的生活,研究正式進入人工智能時代。本文擬采用人工智能技術(shù),基于百度EasyDL深度學(xué)習(xí)平臺構(gòu)建鳥類識別模型進行訓(xùn)練與識別,以提高對鳥類識別的準(zhǔn)確度和效率。
近年來,科研人員對鳥類識別相關(guān)技術(shù)的研究仍處于起步階段,研究成果較少。在中國知網(wǎng)中輸入檢索條件:主題為鳥類識別、文獻發(fā)表時間為2012—2022 年,從圖1中可知近10 年來(2012 年至今)與鳥類識別技術(shù)相關(guān)的文獻數(shù)量不足百篇。
圖1 研究趨勢分析Fig.1 Research trend analysis
主要研究成果如下:(1)采用基于部位的思想將識別任務(wù)劃分為四個模塊:目標(biāo)與部位檢測、數(shù)據(jù)擴增、特征提取和分類決策,用于解決鳥類識別中的難點問題[2]。(2)利用級聯(lián)分類器和卷積神經(jīng)網(wǎng)絡(luò)人工智能識別技術(shù)對鳥類進行監(jiān)測、識別[4]。(3)采用一種基于小波變換和霍特林變換(KL)進行候鳥特征提取,并以BP神經(jīng)網(wǎng)絡(luò)作為分類器研究設(shè)計出一套適用于閩江口濕地復(fù)雜環(huán)境的候鳥識別方案[5]。(4)兩種基于弱監(jiān)督信息圖像識別方法用于細粒度圖像分類(FGVC)。一種是聯(lián)合殘差網(wǎng)絡(luò)和Inception網(wǎng)絡(luò),通過優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)提高捕捉細粒度特征的能力;另一種是對雙線性卷積神經(jīng)網(wǎng)絡(luò)模型(CNN)進行改進,特征提取器選取Google提出的Inception-v3模組和Inception-v4模組,最后把不同的局部特征匯集起來進行分類[6]。(5)一種基于跨層精簡雙線性池化的深度卷積神經(jīng)網(wǎng)絡(luò)模型。首先,根據(jù)Tensor Sketch算法計算多組來自不同卷積層的精簡雙線性特征向量;其次,將歸一化后的特征向量級聯(lián)送至Softmax分類器;最后,引入成對混淆對交叉熵損失函數(shù)進行正則化以優(yōu)化網(wǎng)絡(luò)[7]。(6)一種新的無完全連接層的掩碼CNN模型?;诓课粯?biāo)注,提出的模型由一個完全卷積網(wǎng)絡(luò)組成,用于定位識別部位(如頭部和軀干),更重要的是生成加權(quán)對象/零件掩碼,用于選擇有用且有意義的卷積描述符。由于摒棄了參數(shù)冗余的全連接層,與其他細粒度方法相比,此Mask CNN具有較小的特征維數(shù)和高效的推理速度[8]。
本課題結(jié)合傳統(tǒng)檢測算法和深度學(xué)習(xí)算法,基于百度EasyDL開發(fā)平臺,在實際鳥類觀測中利用訓(xùn)練樣本集數(shù)據(jù)進行訓(xùn)練,并檢測識別模型。經(jīng)訓(xùn)練后,進行測試驗證,如達到工程可用的程度(準(zhǔn)確率>85%),就能應(yīng)用于已知鳥類的識別,并可輔助工作人員發(fā)現(xiàn)未知鳥類。
EasyDL是百度大腦推出的零門檻人工智能(AI)開發(fā)平臺,具有從數(shù)據(jù)采集、標(biāo)注、清洗到模型訓(xùn)練、部署的一站式AI開發(fā)能力。EasyDL設(shè)計簡約,極易理解,采集到的原始圖片、文本、音頻、視頻、文字識別(OCR)、表格等數(shù)據(jù),經(jīng)過EasyDL加工、學(xué)習(xí)、部署后,可通過公有云應(yīng)用程序界面(API)調(diào)用,或部署在本地服務(wù)器、小型設(shè)備、軟硬一體方案的專項適配硬件上,通過離線軟件開發(fā)工具包(SDK)或私有API進一步集成。開發(fā)流程如圖2所示。
圖2 EasyDL開發(fā)流程Fig.2 EasyDL development process
操作流程大致分為以下四步:第一步:創(chuàng)建模型,即確定模型名稱,可添加模型描述,便于后續(xù)模型迭代管理。第二步:上傳并標(biāo)注數(shù)據(jù)。上傳數(shù)據(jù)后,根據(jù)不同模型類型的數(shù)據(jù)要求進行標(biāo)注,如果有本地已標(biāo)注的數(shù)據(jù),也可以直接上傳。通常,需要對訓(xùn)練集、測試集和驗證集三類數(shù)據(jù)集進行數(shù)據(jù)標(biāo)注。第三步:訓(xùn)練模型并校驗效果。選擇算法類型、配置訓(xùn)練任務(wù)相關(guān)參數(shù)完成訓(xùn)練任務(wù)啟動。模型訓(xùn)練完畢后支持可視化查看模型效果評估報告,也支持通過模型校驗功能在線上傳實測數(shù)據(jù)驗證模型效果。第四步:部署模型。根據(jù)業(yè)務(wù)場景,支持將模型部署為公有云API實現(xiàn)在線調(diào)用,或部署在本地服務(wù)器/小型設(shè)備/軟硬一體方案的專項適配硬件上,通過API/SDK集成離線應(yīng)用。
EasyDL支持六大技術(shù)方向,每個方向包括不同的模型類型:(1)EasyDL圖像:圖像分類、物體檢測、圖像分割;(2)EasyDL文本:文本分類-單標(biāo)簽、文本分類-多標(biāo)簽、文本實體抽取、情感傾向分析、短文本相似度;(3)EasyDL語音:語音識別、聲音分類;(4)EasyDL OCR:文字識別;(5)EasyDL視頻:視頻分類、目標(biāo)跟蹤;(6)EasyDL結(jié)構(gòu)化數(shù)據(jù):表格預(yù)測。
本系統(tǒng)采用的是EasyDL圖像的物體檢測模型,創(chuàng)建物體檢測模型的方法:百度EasyDL開發(fā)平臺→選擇模型類型為【物體檢測】→登錄百度賬號提交基礎(chǔ)信息→點擊【創(chuàng)建模型】,填寫模型名稱、說明等信息,完成模型創(chuàng)建。
我們拍攝整理了5 種鳥類共300多張照片,創(chuàng)建了三類數(shù)據(jù)集:即訓(xùn)練集(數(shù)量為254)、測試集(數(shù)量為73)和驗證集(數(shù)量為50)。
標(biāo)注的過程如圖3所示,先創(chuàng)建5 個標(biāo)簽,即對應(yīng)5 種鳥類(烏鶇、銅藍鹟、普通翠鳥、紅頭長尾雀、叉尾太陽鳥),然后對每張圖片進行矩形標(biāo)注,最后保存,即可完成標(biāo)注。
圖3 數(shù)據(jù)標(biāo)注Fig.3 Data annotations
選擇待訓(xùn)練的模型,設(shè)置訓(xùn)練參數(shù),主要是選擇訓(xùn)練集、測試集和驗證集,然后開始進行訓(xùn)練,支持對同一模型多次迭代;不同的模型完成訓(xùn)練的時間不一樣,訓(xùn)練完成后,賬號對應(yīng)的手機號會接收到短信息通知,后續(xù)可進行模型效果校驗。
上傳校驗圖片,模型校驗結(jié)果如圖4所示。物體檢測模型存在一個可調(diào)節(jié)的閾值(threshold),是正確結(jié)果的判定標(biāo)準(zhǔn),例如閾值是0.6,置信度大于0.6的識別結(jié)果會被當(dāng)作正確結(jié)果返回。每個物體檢測模型訓(xùn)練完畢后,可以在模型評估報告中查看推薦閾值。校驗?zāi)P蜏?zhǔn)確度可根據(jù)需求調(diào)整閾值,本模型設(shè)置閾值為0.8時,效果最佳,mAP平均精度為95.38%,當(dāng)前圖片檢測置信度為98.37%。
圖4 模型校驗Fig.4 Model verification
訓(xùn)練完成的模型即可申請模型上線,上線后在“我的模型”查看“上線詳情”,獲得專有的定制圖像識別API。后續(xù)還可創(chuàng)建應(yīng)用,采用Python等進行應(yīng)用開發(fā)。
百度Easy DL平臺提供了H5體驗,用手機等終端掃描系統(tǒng)提供的二維碼即可進行體驗,在圖5(a)中點擊上傳一張鳥類圖片,即可查看識別結(jié)果如圖5(b)所示。
圖5 H5體驗 Fig.5 H5 experience
同時,Easy DL平臺提供了編碼調(diào)用模型進行測試,參考代碼如下:
與模型效果相關(guān)的主要指標(biāo)有以下幾類。
(1)準(zhǔn)確率(Accuracy)。準(zhǔn)確率是圖像分類/文本分類/聲音分類等分類模型的最簡單、最直觀的衡量指標(biāo),即正確分類的樣本數(shù)與總樣本數(shù)之比,比值越接近1的模型,識別效果越好。
(2)精確率(Precision)。精準(zhǔn)率又叫查準(zhǔn)率,容易與準(zhǔn)確率弄混,精準(zhǔn)率代表對正樣本結(jié)果中的預(yù)測準(zhǔn)確程度,而準(zhǔn)確率則代表整體的預(yù)測準(zhǔn)確程度,既包括正樣本,也包括負樣本。模型的精確率為正確預(yù)測某一類別的樣本數(shù)與預(yù)測為該類別的總樣本數(shù)之比。
(3)召回率(Recall)。召回率又叫查全率,它是針對原樣本而言的,即在實際為正的樣本中被預(yù)測為正樣本的概率。模型召回率為正確預(yù)測某一類別的樣本數(shù)與該類別的總樣本數(shù)之比。
(4)mAP(mean Average Precision)是物體檢測(Object Detection)算法中衡量算法效果的指標(biāo)。對于物體檢測任務(wù),每一類object都可以計算出其精確率和召回率,在不同閾值下多次計算/試驗,每個類都可以得到一條P-R曲線,曲線下的面積就是average。
(5)混淆矩陣(Confusion Matrix)?;煜仃囈脖环Q為錯誤矩陣(Error Matrix),是機器學(xué)習(xí)中總結(jié)分類模型預(yù)測結(jié)果的情形分析表,以矩陣形式將數(shù)據(jù)集中的記錄按照真實的類別與分類模型預(yù)測的類別進行匯總。矩陣的每一列表達了分類器對樣本的類別預(yù)測,每一行則表達了版本所屬的真實類別。通過混淆矩陣能夠很容易地看到機器學(xué)習(xí)有沒有將樣本的類別混淆。
本文構(gòu)建的模型,對南方五種野生鳥類,即叉尾太陽鳥、紅頭長尾山雀、普通翠鳥、銅藍鹟和烏鶇進行識別檢測,經(jīng)過三次迭代,訓(xùn)練時間與數(shù)據(jù)量大小有關(guān),本次訓(xùn)練大約耗時15 min,整體評估如圖6所示。
圖6 模型評估Fig.6 Model evaluation
模型評估中可以看到模型訓(xùn)練整體的情況說明,包括基本結(jié)論、mAP(96.9%)、精確率(94.7%)、召回率(93.5%)。當(dāng)數(shù)據(jù)量較少時,得出的模型評估報告結(jié)果僅供參考,無法完全準(zhǔn)確體現(xiàn)模型效果。一般要求每種類別的數(shù)據(jù)量不少于30,以50—100為宜。本鳥類識別系統(tǒng)模型的混淆矩陣如表1所示。
表1 混淆矩陣Tab.1 Confusion matrix
從表1中可知,有3 個【紅頭長尾山雀】和【叉尾太陽鳥】的檢測框發(fā)生了混淆,其中【紅頭長尾山雀】分到【叉尾太陽鳥】為3 個,有1 個【紅頭長尾山雀】漏檢;有1 個【普通翠鳥】和【叉尾太陽鳥】的檢測框發(fā)生了混淆,其中【普通翠鳥】分到【叉尾太陽鳥】為1 個。
深度學(xué)習(xí)算法需要大量數(shù)據(jù)進行訓(xùn)練建模,而鳥類資源保護尤其是珍稀瀕危鳥類保護面臨的現(xiàn)實問題就是原始數(shù)據(jù)嚴重不足。本文對南方野生鳥類進行建模、訓(xùn)練,經(jīng)驗證集測試驗證,識別精確率為94.2%。本文提出的模型可應(yīng)用于已知鳥類的實時監(jiān)測識別,并輔助實現(xiàn)對未知鳥類的監(jiān)測與發(fā)現(xiàn),為生物多樣性保護提供技術(shù)支撐。本模型中用到的數(shù)據(jù)集較少,檢測準(zhǔn)確率還有提升空間。后續(xù)需要加大對鳥類觀測數(shù)據(jù)的采集力度,積累更多樣本數(shù)據(jù),同時加大模型訓(xùn)練的力度,對模型參數(shù)調(diào)整優(yōu)化,進行多次迭代,預(yù)期可以進一步提升識別準(zhǔn)確率,最終實現(xiàn)在前端設(shè)備上的現(xiàn)場在線檢測識別。