陳鴻龍,劉東永,倪志琛,孫 良,劉 寶
(中國石油大學(xué)(華東) 控制科學(xué)與工程學(xué)院,山東 青島 266580)
無人機[1-2]是指無需機載操作人員且具備動力裝置的飛行器,可以利用自身動力和控制系統(tǒng)進行自主飛行或由操作人員遠程遙控飛行。無人機根據(jù)機身結(jié)構(gòu)不同可分為固定翼無人機和多旋翼無人機。近年來隨著控制理論與微電子技術(shù)的發(fā)展,多旋翼無人機受到了教學(xué)和研究人員的廣泛關(guān)注。相比固定翼無人機,多旋翼無人機具備機動性強、控制靈活等特點,可在復(fù)雜環(huán)境中完成各種飛行任務(wù)。作為一種全新的技術(shù),無人機已經(jīng)全面進入軍用領(lǐng)域和民用商用領(lǐng)域,為軍事偵察[3]、遠程航拍探測[4]、地形數(shù)據(jù)監(jiān)測[5]、物流運輸[6]和農(nóng)業(yè)作業(yè)[7]等應(yīng)用提供了有效的解決方案。目前在無人機豐富的應(yīng)用場景中,利用四旋翼航拍無人機來獲取圖像信息是一種較為常見的應(yīng)用。與手持式相機、監(jiān)控攝像頭等傳統(tǒng)圖像采集設(shè)備相比,無人機可以對擬采集圖像的目標進行主動的、多角度的拍攝,能夠極大地提高圖像采集的質(zhì)量和效率。
人臉識別[8]是基于人的臉部特征信息進行身份識別的一種生物識別技術(shù),人臉特征的唯一性和不易被復(fù)制的特性為身份識別奠定了基礎(chǔ)。與指紋識別、虹膜識別等其他生物識別技術(shù)相比,人臉識別具備非強制性和非接觸性,即對人臉進行采集時不需要強制目標完成特定的采集動作,同時在其采集過程中設(shè)備與目標也不需要直接接觸。因此,利用人臉識別技術(shù)可以實現(xiàn)無感的身份確認,對于保護民眾的個人隱私及人身安全都有重要的意義。同時,人臉識別系統(tǒng)集成了人工智能、機器學(xué)習(xí)、數(shù)學(xué)建模、專家系統(tǒng)、視頻圖像處理等多種專業(yè)技術(shù)[9],是生物特征識別的最新應(yīng)用,其核心技術(shù)的實現(xiàn)展現(xiàn)了弱人工智能向強人工智能的轉(zhuǎn)化。
本文通過無人機與地面站的無線通信,將四旋翼無人機與基于YOLO 的人臉識別技術(shù)相結(jié)合,既可以充分發(fā)揮無人機圖像采集靈活的優(yōu)勢,也可以充分利用深度學(xué)習(xí)人臉識別算法的魯棒性,實現(xiàn)高效且精準的實時人臉識別效果。該實驗平臺有助于學(xué)生,尤其是自動化和測控等相關(guān)專業(yè)的學(xué)生,深入學(xué)習(xí)和理解無人機控制、無線通信、圖像識別及深度學(xué)習(xí)等技術(shù),有助于培養(yǎng)學(xué)生針對復(fù)雜工程問題的創(chuàng)新能力和工程實踐能力[10],提升他們今后的職業(yè)技能。
利用無人機進行人臉圖像采集可以極大地提升人臉圖像采集的效率,但無人機多變的拍攝角度也給人臉識別算法的魯棒性提出了更高的要求,同時為了實現(xiàn)實時的人臉識別,算法應(yīng)具備快速的圖像處理能力,因此實驗平臺選用了基于深度學(xué)習(xí)的YOLO 算法,并對其進行訓(xùn)練和優(yōu)化使其具備人臉識別的能力。
YOLO 為Redmond 等提出的一種基于深度學(xué)習(xí)的快速目標識別算法[11],相比其他目標識別算法,YOLO算法采用 “一步走” 策略,其將目標識別問題處理為回歸問題,用一個卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)就可以直接預(yù)測出輸入圖像中目標的位置和類別概率。因此,該算法在具備較好的目標識別性能的同時還具備極快的檢測速度,符合實驗平臺的需求。
YOLO 網(wǎng)絡(luò)結(jié)構(gòu)由前部24 個負責特征提取的卷積層和后部2 個負責回歸預(yù)測的全連接層構(gòu)成,簡潔的網(wǎng)絡(luò)結(jié)構(gòu)使其具備極快的圖像處理速度和端對端的優(yōu)化能力。YOLO 網(wǎng)絡(luò)的輸入輸出映射關(guān)系如圖1 所示,網(wǎng)絡(luò)輸入為分辨率448×448 像素的RGB 三通道圖像,網(wǎng)絡(luò)的輸出結(jié)果為一個包含了圖中所有目標位置信息與類別概率的張量。
圖1 YOLO 算法輸入輸出映射關(guān)系圖
448×448 像素的圖像輸入網(wǎng)絡(luò)后,網(wǎng)絡(luò)將圖像劃分為S×S個單元格,每個單元格負責預(yù)測落入該單元格的目標,每個單元格的預(yù)測信息由兩部分構(gòu)成:①B個候選框信息,候選框信息包含候選框坐標(x,y)、寬高(w,h)及每個候選框的置信度P共5 個值;②C個概率值,C為目標識別任務(wù)中需分類目標的總類別數(shù),該概率值可顯示單元格中目標的類別。因此YOLO網(wǎng)絡(luò)輸出的張量維度為 )5(CBSS+××× 。其中:S取值為7,即輸入圖像被劃分為49 個單元格;B取2;C取20,C的取值與訓(xùn)練算法所用的數(shù)據(jù)集有關(guān)。
因此圖1 中輸入圖像的紅色單元格所對應(yīng)的預(yù)測信息為輸出張量中紅色的1×30 的向量,該向量包含了紅色單元格預(yù)測的兩個候選框的信息及單元格內(nèi)目標的概率。
該網(wǎng)絡(luò)輸出中,每個單元需要預(yù)測B個候選框的位其中:Pr(object) 為此預(yù)測的候選框的單元格內(nèi)是否含有目標,若有則為1,反之為0;為預(yù)測的邊界框與輸入圖像中目標標注真實值(ground truth)的交并比。因此,P代表預(yù)測該處是否有目標及候選框框選的準確度。
輸出張量尾部的C類目標類別的條件概率定義為,該值表示單元格內(nèi)存在物體且屬于第i類的概率。
綜上,網(wǎng)絡(luò)在測試時每個單元格預(yù)測最終輸出的概率定義為
式(1)表示預(yù)測的邊界框中目標屬于某一類的概率及該邊界框的準確度,因此,每個單元格最終輸出2 個候選框信息以及2 列長度為C的概率值向量。最后,將每個單元格輸出的概率值進行非極大值抑制(non maximum suppression,NMS),即可得到最終預(yù)測的候選框及框內(nèi)物體的類別概率。
本文設(shè)計的基于深度學(xué)習(xí)的無人機人臉識別實驗平臺的系統(tǒng)結(jié)構(gòu)如圖2 所示,主要包括四旋翼無人機和作為地面站的便攜式計算機兩部分。該平臺中無人機與地面站通過Wi-Fi 模塊進行連接,無人機由地面站遠程控制,按操作人員的指令進行飛行并對周圍區(qū)域進行圖像采集,同時將采集的圖像無線回傳至地面站。地面站接收來自無人機的圖像信息后對其進行實時計算與分析,從而實現(xiàn)對無人機前方目標的人臉檢測與識別。
圖2 基于深度學(xué)習(xí)的無人機人臉識別實驗平臺系統(tǒng)結(jié)構(gòu)圖
本實驗平臺采用特洛(Tello)四旋翼無人機,如圖3 所示。特洛無人機為大疆(DJI)公司與英特爾(Intel)公司共同技術(shù)支持、睿熾公司生產(chǎn)的微型無人機,采用四個空心杯電機為動力系統(tǒng)并采用5 V 聚合物鋰電池為動力來源。飛行過程中無人機內(nèi)置的飛行控制模塊將實時監(jiān)測并計算無人機的當前姿態(tài)及坐標,通過對四個空心杯電機轉(zhuǎn)速的精準調(diào)節(jié)來實現(xiàn)穩(wěn)定飛行[12-13]。特洛無人機還同時具備下視定位模塊及前向視覺模塊,飛行過程中無人機可以利用下視定位模塊實現(xiàn)低空飛行的厘米級定位以保證飛行的穩(wěn)定性,前向視覺模塊的高清攝像頭可以實現(xiàn)高清圖像采集以滿足該實驗平臺人臉圖像采集的要求。在通信方面,特洛無人機內(nèi)置了Wi-Fi 通信模塊,利用該模塊可以實時接收地面站的控制指令并且實現(xiàn)無人機與地面站之間的實時視頻流傳輸。同時,實驗平臺可通過該無人機開放的系統(tǒng)開發(fā)工具(SDK)來利用地面站程序?qū)o人機進行指令控制與圖像獲取,從而實現(xiàn)實驗平臺中無人機的飛行及圖像采集任務(wù)。
圖3 特洛四旋翼無人機
地面站主要負責運行該實驗平臺的軟件程序以實現(xiàn)對無人機的飛行控制、回傳圖像的人臉識別以及識別結(jié)果的顯示。在硬件上,地面站需配備Wi-Fi 模塊以與無人機建立穩(wěn)定的連接。由于本實驗平臺選用的人臉識別算法的實時運行需要較高計算能力,因此該計算機內(nèi)置高性能圖像處理器(GPU)。
在本實驗平臺中,地面站裝有Ubuntu 操作系統(tǒng)并運行使用Python2.7 語言編寫的實驗平臺軟件。該實驗平臺軟件的工作流程如圖4 所示。在平臺軟件系統(tǒng)開始運行時,地面站首先通過Wi-Fi 模塊與無人機進行連接,并通過UDP 協(xié)議實現(xiàn)地面站與無人機的通信,然后調(diào)用無人機SDK 使無人機進入指令控制模式,并向無人機發(fā)送視頻流回傳請求。無人機在起飛后采集前方圖像并將高清視頻流實時回傳至地面站。地面站接收到無人機回傳的視頻圖像后便利用基于深度學(xué)習(xí)的YOLO 算法對圖像中的人臉進行快速檢測與識別,并顯示識別結(jié)果。運行過程中地面站將持續(xù)根據(jù)鍵盤指令控制無人機飛行,若輸入降落指令則無人機降落且該平臺軟件結(jié)束運行。
圖4 實驗平臺地面站軟件工作流程示意圖
在該實驗平臺的測試中,首先需要建立人臉數(shù)據(jù)集并對平臺軟件中的YOLO 人臉識別算法進行訓(xùn)練。數(shù)據(jù)集的樣本采集示意圖如圖5 所示。
圖5 人臉數(shù)據(jù)集樣本采集示意圖
本文在該實驗平臺中設(shè)計了一種利用無人機進行人臉樣本采集的程序以實現(xiàn)各種角度、距離條件的人臉圖像采集。該程序由地面站運行以控制無人機完成圖像采集,運行時地面站與無人機先進行Wi-Fi 連接并使無人機進入指令控制模式,然后,地面站將控制無人機起飛并懸停于170 cm 的高度,無人機位于采集目標正前方并距離目標100 cm。隨后,特洛無人機將以當前所處位置為幾何中心,在長寬均為80 cm 的正方形豎直平面內(nèi)進行水平與垂直的 “弓” 字形運動,在 “弓” 字形飛行期間無人機朝向始終保持為起飛狀態(tài)的朝向,在飛行過程中,無人機將對前方人臉圖像進行視頻錄制并將視頻發(fā)送至地面站保存。在完成了當前距離的樣本采集后,無人機將后退至距目標150 cm 處以同樣的方式進行人臉的圖像采集,采集結(jié)束后無人機將降落并結(jié)束程序運行。在完成圖像采集任務(wù)后,可以得到包含各個角度人臉圖像且?guī)蕿?0 幀每秒的高清視頻,對視頻文件進行抽幀操作即可獲得包含豐富面部信息的靜態(tài)圖像。
在該實驗平臺的測試中,利用上述程序采集了來自6 名志愿者共1 996 張圖像樣本,而后利用開源的LableImg 軟件對每張圖像中的人臉位置以及標簽信息進行標注,最終獲得包含1 996 個樣本和標注信息的無人機人臉數(shù)據(jù)集。利用該數(shù)據(jù)集對YOLO 算法進行50 400 次迭代訓(xùn)練,即可得到該網(wǎng)絡(luò)具備人臉識別能力的最優(yōu)權(quán)重文件。之后,對載入該權(quán)重文件的YOLO人臉識別算法及無人機人臉識別實驗平臺的人臉識別性能進行測試。
在對于YOLO 人臉識別算法的離線測試中,從人臉數(shù)據(jù)集中隨機選取了包含6 名志愿者面部信息的300 張圖像樣本對算法的性能進行測試,每張圖像中至少包含1 名志愿者的人臉圖像。利用YOLO 算法對測試集樣本進行逐一人臉識別后,算法將輸出每張圖像中的人臉數(shù)量、人臉位置、人臉標簽(志愿者信息)及每張人臉的置信度,對所有樣本的識別結(jié)果進行統(tǒng)計即可證明該算法的人臉識別性能,測試集中各志愿者的人臉識別結(jié)果如圖6 所示。
圖6 測試集中各志愿者樣本識別置信度統(tǒng)計圖
經(jīng)統(tǒng)計,在300 張圖像樣本中共有585 張來自志愿者的面部,由圖6 可以知,在經(jīng)過基于YOLO 的人臉識別算法處理后,樣本中大部分面部都能被以接近100%的置信度進行有效識別,測試集的樣本中共有43 張人臉圖像沒有被有效地識別出來,因此YOLO 人臉識別算法在該測試集中的人臉識別率為92.6%,具備較好的人臉識別能力。
本文還對實驗平臺進行了在線的人臉識別測試,在測試過程中地面站軟件運行正常,無人機能夠按照指令穩(wěn)定飛行且進行圖像采集,同時地面站中運行的基于YOLO 的人臉識別算法能夠?qū)崟r地對無人機所采集圖像進行人臉識別。
測試結(jié)果顯示該實驗平臺在進行人臉識別時效果較好,無人機在面對一個或多個志愿者時,平臺對數(shù)據(jù)集包含的6 名志愿者的正臉識別置信度均在98%以上,測試過程及效果如圖7 所示。
圖7 無人機人臉識別實驗平臺識別過程及測試結(jié)果示意圖
本文以專業(yè)課課程建設(shè)為出發(fā)點,設(shè)計了一套基于深度學(xué)習(xí)的四旋翼無人機人臉識別實驗平臺,地面站通過Wi-Fi 通信模塊控制無人機的飛行和圖像采集,接收無人機的圖像信息,并利用基于深度學(xué)習(xí)的人臉識別算法對圖像信息進行人臉檢測與識別。該實驗平臺可服務(wù)于本校自動化專業(yè)的 “人工智能技術(shù)”和 “模式識別” 兩門課程,有助于學(xué)生深入學(xué)習(xí)和理解無人機飛行控制、無線通信、圖像處理和深度學(xué)習(xí)算法等技術(shù),培養(yǎng)針對復(fù)雜工程問題的創(chuàng)新能力和工程實踐能力,助力學(xué)生今后職業(yè)技能的提升。