孟清 劉齊科
摘? 要: 人臉識(shí)別技術(shù)作為自主移動(dòng)服務(wù)機(jī)器人的關(guān)鍵技術(shù)之一,得到廣泛關(guān)注和研究,同時(shí)也在自動(dòng)駕駛、金融支付、身份識(shí)別和在線教育等場(chǎng)景得到廣泛應(yīng)用。通過(guò)對(duì)目前主要的人臉識(shí)別方法分析,基于Opencv內(nèi)置的人臉檢測(cè)分類器Haar,在自主移動(dòng)服務(wù)機(jī)器人上實(shí)現(xiàn)了人臉圖像采集及檢測(cè),人臉圖像預(yù)處理,人臉圖像特征提取以及匹配識(shí)別,并在學(xué)校的課堂人臉考勤得到應(yīng)用。
關(guān)鍵詞: 自主移動(dòng);服務(wù)機(jī)器人;人臉識(shí)別
中圖分類號(hào): TP311.13? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? DOI:10.3969/j.issn.1003-6970.2020.09.016
本文著錄格式:孟清,劉齊科. 自主移動(dòng)服務(wù)機(jī)器人人臉識(shí)別方法研究與實(shí)現(xiàn)[J]. 軟件,2020,41(09):6061
【Abstract】: As one of the key technologies of autonomous mobile service robots, face recognition technology has been widely concerned and researched. At the same time, it has been widely used in automatic driving, financial payment, identity recognition, online education and other scenarios. Through the analysis of the main face recognition methods, based on the face detection classifier Haar built in opencv, the face image acquisition and detection, face image preprocessing, face image feature extraction and matching recognition are realized on the autonomous mobile service robot, and the application of face attendance in the classroom of the school is achieved.
【Key words】: Autonomous mobile; Service robot; Face recognition
0? 引言
隨著人工智能技術(shù)研究和應(yīng)用的不斷深入,自主移動(dòng)服務(wù)機(jī)器人在工業(yè)、農(nóng)業(yè)、電力和軍事等各個(gè)領(lǐng)域應(yīng)用越來(lái)越廣泛。自主移動(dòng)服務(wù)機(jī)器人技術(shù)集中了多學(xué)科的研究成果,其關(guān)鍵技術(shù)是目前人工智能研究熱點(diǎn),主要包括機(jī)器人尋跡、定位避障、語(yǔ)音識(shí)別、自主運(yùn)動(dòng)控制、機(jī)器學(xué)習(xí)、圖像處理和通訊技術(shù)等眾多領(lǐng)域。
作為自主移動(dòng)服務(wù)機(jī)器人與外界溝通的主要途徑之一的攝像頭,其圖像處理功能尤為重要,作為機(jī)器人與人之間溝通的人臉識(shí)別技術(shù)已經(jīng)在安防和身份識(shí)別等領(lǐng)域廣泛應(yīng)用,比如銀行、關(guān)口、支付等各種場(chǎng)景中都有從的身影。自主移動(dòng)服務(wù)機(jī)器人在與人溝通、身份確認(rèn)等場(chǎng)景中同樣也需要人臉識(shí)別技術(shù)。
1? 人臉識(shí)別技術(shù)
人臉識(shí)別技術(shù)目前已經(jīng)比較成熟,主要有以下幾種方法:
(1)基于人臉基本幾何特征識(shí)別
該方法通過(guò)對(duì)比人臉面部特征如面部器官形狀、結(jié)構(gòu)等,獲取多達(dá)上百個(gè)特征點(diǎn)進(jìn)行人臉的判斷,該方法簡(jiǎn)單易于實(shí)現(xiàn),但是由于遮擋物、光線和臉部表情變化等原因,其精度誤差較大。
(2)基于人臉模板庫(kù)識(shí)別
通過(guò)收集大量的人臉灰度圖像,組成一個(gè)人臉模板庫(kù),庫(kù)中內(nèi)容可以為完整的人臉模板,也可以是局部的模板。在機(jī)器人進(jìn)行識(shí)別的時(shí)候,將人臉圖片進(jìn)行灰度和尺寸信息進(jìn)行歸一化處理,最終通過(guò)計(jì)算和對(duì)比在人臉模板庫(kù)中找到符合度最高的那張圖片。但是由于模板庫(kù)是靜態(tài)的,所以不是很靈活。
(3)其他方法
隨著人臉識(shí)別技術(shù)的不斷成熟,還出現(xiàn)了具備代數(shù)特征的人臉識(shí)別方法,在側(cè)臉的情況下采用的多姿態(tài)人臉識(shí)別方法,多數(shù)據(jù)融合人臉識(shí)別方法和基于三維技術(shù)的人臉識(shí)別方法方法等等。
2? 人臉識(shí)別主要步驟
自主移動(dòng)服務(wù)機(jī)器人人臉識(shí)別的主要步驟,包括人臉圖像采集及檢測(cè),人臉圖像預(yù)處理,人臉圖像特征提取以及匹配識(shí)別幾個(gè)步驟。
人臉圖像采集:機(jī)器人通過(guò)高清攝像頭自動(dòng)將其周圍的不同的人臉圖像采集下來(lái),包括靜態(tài)圖片和動(dòng)態(tài)圖像,包括其位置信息、表情特征等。
人臉檢測(cè):主要是在復(fù)雜的圖像中確定并標(biāo)注人臉的位置和大小,通過(guò)人臉的直方圖特征、顏色特征、模板特征及Haar特征這些有用的信息判斷出來(lái),最終實(shí)現(xiàn)人臉檢測(cè)。目前主流的人臉檢測(cè)方法采用的是基于強(qiáng)分類的Adaboost機(jī)器學(xué)習(xí)算法,對(duì)最能代表人臉的矩形特征按加權(quán)投票的方法,用來(lái)提取人臉圖像中的模式特征。
人臉圖像預(yù)處理:對(duì)原始圖像通過(guò)灰度校正、噪音過(guò)濾等圖像預(yù)處理方法排除各種條件限制和隨機(jī)干擾,主要包括人臉圖像的光線補(bǔ)償、灰度變化、直方圖均衡化、歸一化、幾何校正、濾波及銳化等。
人臉圖像特征提取:通過(guò)人臉器官的形狀描述、距離特征基于知識(shí)表征方法或代數(shù)特征的表征方法來(lái)提取視覺(jué)、像素統(tǒng)計(jì)、人臉圖像變換系數(shù)和人臉圖像代數(shù)特征等,是一個(gè)對(duì)人臉進(jìn)行特征建模的過(guò)程。
人臉圖像匹配與識(shí)別:主要是將人臉識(shí)別提取的特征數(shù)據(jù)與數(shù)據(jù)庫(kù)中存儲(chǔ)的特征模板進(jìn)行搜索匹配,同時(shí)設(shè)定一個(gè)閾值,當(dāng)圖片相似度超過(guò)這一閾值的時(shí)候則匹配成功。
3? 系統(tǒng)硬件組成
自主移動(dòng)服務(wù)機(jī)器人系統(tǒng)硬件采用三層架構(gòu),分別為交互前端層、核心中間層和硬件驅(qū)動(dòng)底層[1]。人臉識(shí)別系統(tǒng)需要用到交互前端層的熱紅外人體傳感器來(lái)判斷機(jī)器人面前是否有人活動(dòng),如果傳感器發(fā)現(xiàn)面前有人,即打開(kāi)高清攝像頭用來(lái)獲取人臉圖像。人臉識(shí)別算法運(yùn)行在核心中間層的安裝有安裝Ubuntu操作系統(tǒng)的、具備較強(qiáng)運(yùn)算能力的小型電腦上。
4? 系統(tǒng)模塊設(shè)計(jì)
根據(jù)前面的人臉識(shí)別主要步驟,在系統(tǒng)實(shí)現(xiàn)時(shí)一共設(shè)計(jì)成四個(gè)模塊,即人臉采集及預(yù)處理、人臉檢測(cè)、人臉模型訓(xùn)練和人臉識(shí)別四個(gè)模塊,在人臉檢測(cè)算法的選擇上,目前用得最多的是OpenCV與Dlib中的四種人臉檢測(cè)算法,四種算法各有優(yōu)缺點(diǎn),其中OpenCV DNN檢測(cè)人臉?biāo)惴?,因?yàn)镈NN在這四種方法中是最準(zhǔn)確的,不但能在CPU上實(shí)時(shí)運(yùn)行,對(duì)于各種尺度的人臉,上,下,左,右,側(cè)面不同的人臉?lè)较驒z測(cè)正確率較高,甚至在有口罩等的嚴(yán)重遮擋下仍能正常工作。
本文使用了目前較為通用的Opencv內(nèi)置的人臉檢測(cè)分類器Haar進(jìn)行人臉檢測(cè)。系統(tǒng)的模塊設(shè)計(jì)與實(shí)現(xiàn)如下。
4.1? 人臉采集和圖像預(yù)處理
人臉采集主要是三個(gè)步驟,包括打開(kāi)攝像頭、循環(huán)讀取攝像頭視頻流的幀并顯示和灰度化。使用cv2. VideoCapture和read()函數(shù)打開(kāi)和讀取攝像頭獲得圖片,接下來(lái)使用cvtColor(img,cv2.COLOR_BGR2GRAY)函數(shù)對(duì)圖片進(jìn)行灰度化,因?yàn)橥ㄟ^(guò)攝像頭采集到的圖片一般是彩色圖片,彩色圖片包含了三個(gè)通道的數(shù)據(jù),處理起來(lái)比較復(fù)雜,所以在圖片識(shí)別算法中一般先將圖像進(jìn)行灰度化處理,將每個(gè)像素點(diǎn)的RGB值統(tǒng)一成同一個(gè)值?;叶然蟮膱D像將由三通道變?yōu)閱瓮ǖ?,單通道的?shù)據(jù)處理起來(lái)就會(huì)簡(jiǎn)單許多,可以加人臉識(shí)別快算法執(zhí)行速度。
4.2? 人臉檢測(cè)
在灰度化后的圖像后,利用Opencv內(nèi)置的人臉檢測(cè)分類器Haar可以找出圖片中的人臉,Haar分類器使用Haar-like特征,通過(guò)AdaBoost算法和積分圖快速計(jì)算可以對(duì)圖片中的人臉進(jìn)行檢查,具體使用cv2. CascadeClassifier('haarcascade_frontalface_default.xml')代碼就可以實(shí)現(xiàn)人臉檢測(cè)。
人臉檢測(cè)效果見(jiàn)圖1。
4.3? 人臉模型訓(xùn)練
首先將檢測(cè)出的人臉組成一個(gè)人臉庫(kù)(訓(xùn)練集),讀取人臉檢測(cè)中得到的所有人臉圖片,每張人臉圖片獲取臉部信息,并賦一個(gè)標(biāo)簽,保存在兩個(gè)相同大小的列表,這就是我們所說(shuō)的訓(xùn)練集。
有了臉部信息和標(biāo)簽這兩個(gè)列表后,就可以利用Opencv自帶的識(shí)別器進(jìn)行訓(xùn)練了。Opencv的識(shí)別器包括LBPH、Eigen和Fisher三種,具體使用face_recog = cv2.face. LBPHFaceRecognizer_create() 和face_recog.train(faces, np.array (labels))代碼就可以實(shí)現(xiàn)人臉模型訓(xùn)練。
4.4? 人臉識(shí)別
基于人臉模型訓(xùn)練得到的人臉庫(kù)(訓(xùn)練集),就可以對(duì)通過(guò)攝像頭采集的新人臉進(jìn)行識(shí)別了。對(duì)新圖片進(jìn)行人臉識(shí)別,獲取特征向量,最后與已具備的人臉庫(kù)(訓(xùn)練集)進(jìn)行對(duì)比,即可實(shí)現(xiàn)人臉判斷。具體使用face_recog.predict(face)代碼就可以實(shí)現(xiàn)人臉識(shí)別。
5? 結(jié)語(yǔ)
利用Python語(yǔ)言,基于Opencv內(nèi)置的人臉檢測(cè)分類器Haar,在自主移動(dòng)服務(wù)機(jī)器人上實(shí)現(xiàn)了人臉圖像采集及檢測(cè),人臉圖像預(yù)處理,人臉圖像特征提取以及匹配識(shí)別的全流程,并且在海南職業(yè)技術(shù)學(xué)院的課堂人臉考勤進(jìn)行了應(yīng)用,由于識(shí)別場(chǎng)景固定,人臉識(shí)別精確達(dá)到95%左右。以后也可以將人臉識(shí)別技術(shù)應(yīng)用在在線課程教學(xué)上,通過(guò)實(shí)時(shí)監(jiān)測(cè)人臉,統(tǒng)計(jì)在線學(xué)習(xí)時(shí)間等信息,實(shí)現(xiàn)在線教學(xué)全過(guò)程監(jiān)控。
參考文獻(xiàn)
[1]孟清, 斯琴高娃. 基于ROS的自主移動(dòng)服務(wù)機(jī)器人系統(tǒng)框架設(shè)計(jì)[J]. 電子技術(shù)與軟件工程, 2019(09): 46-47.
[2]薛力群. 關(guān)于人臉識(shí)別技術(shù)在智慧樓宇中的應(yīng)用研究[J].智能計(jì)算機(jī)與應(yīng)用, 2019(06): 318-321.
[3]張良杰. 基于人臉識(shí)別的智慧教室簽到管理子系統(tǒng)[J]. 軟件, 2019(12): 133-139.
[4]歐陽(yáng)軍林, 黃井滔, 張嘯. 基于深度學(xué)習(xí)的人臉識(shí)別系統(tǒng)[J]. 當(dāng)代教育理論與實(shí)踐, 2019(06): 133-138.
[5]張一夫, 陳天飛, 張建松. 基于樹(shù)莓派的在線人臉識(shí)別考勤系統(tǒng)[J]. 電子設(shè)計(jì)工程, 2019, 22(11): 152-156.
[6]張靜褚, 麗莉, 周影. 基于OpenCV的ROS平臺(tái)人臉識(shí)別系統(tǒng)的研究[J]. 系統(tǒng)工程, 2020(2): 44-45.