国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于ROS的人臉識別系統(tǒng)設計研究

2019-09-24 05:19蘇鵬飛趙建文
無線互聯(lián)科技 2019年11期
關鍵詞:設計研究人臉識別

蘇鵬飛 趙建文

摘? ?要:機器人操作系統(tǒng)是可以提供一系列程序庫和工具、幫助軟件開發(fā)者實現(xiàn)創(chuàng)建機器人的軟件。功能包括設備驅(qū)動、函數(shù)庫、硬件抽象、消息傳遞、可視化功能、軟件包等幾項內(nèi)容,可以為機器人技術整合和云計算提供有效的軟件框架。人臉識別是人機交互過程中必須具備的基本功能,在人臉識別過程中圖像的預處理、特征提取與匹配等都需要計算和數(shù)據(jù)的密切配合。文章在ROS機器人平臺上,設計并實現(xiàn)了人臉識別系統(tǒng),經(jīng)過真實環(huán)境的一系列測試得出,大部分情況下達到在移動機器人平臺下對人臉識別系統(tǒng)的要求。

關鍵詞:機器人操作系統(tǒng);人臉識別;設計研究

1? ? 人臉識別系統(tǒng)

人臉識別系統(tǒng)主要包含5大部分:人臉圖像采集、人臉檢測、圖像預處理、特征提取、圖像特征的匹配,實現(xiàn)過程流程如下。

人臉圖像→數(shù)據(jù)庫→人臉檢測→圖像預處理→特征提取→人臉特征→人臉特征匹配。

1.1? 人臉數(shù)據(jù)庫

人臉數(shù)據(jù)庫是指包含多張人臉圖像并且包含同一個人在不同時期的多張圖像集合形成的數(shù)據(jù)庫。所以在通常狀況下,年齡數(shù)據(jù)庫可以為年齡不變性的人臉識別提供訓練和測試的基礎數(shù)據(jù)。人臉檢測是對得到的任意人臉圖像進行的分析,借用某種算法去判斷圖像中的人臉是否可見、是否可用,確定人臉的范圍、角度、姿勢等信息,然后根據(jù)這些信息進行人臉區(qū)域剪裁。圖像預處理是對人臉進行統(tǒng)一歸整,配合矯正除燥的操作,把特征進行提取和保證,是人臉識別的最主要步驟。

1.2? 特征提取

特征提取主要是利用特征向量對預處理后的圖像進行表征,對于人臉識別的質(zhì)量高低有關鍵性影響,尤其是人臉的視覺信息多樣,必須經(jīng)過機器提取本質(zhì)特征,才可以進行之后的識別分類和判斷。人臉圖像特征匹配,是指對提取出的人臉圖像特征通過操作系統(tǒng)進行相似度的對比評判,之后的對比相似度結果可以進行人臉的最后識別[1]。還有一種方法就是通過分類器,對人臉圖像特征進行分類,最終實現(xiàn)人臉識別。

2? ? 關于機器人操作系統(tǒng)的人臉識別系統(tǒng)總體設計

為保證機器人操作系統(tǒng)(Robot Operating System,ROS)中各功能之間的獨立性,本文在總框架下設計了3個節(jié)點,依次是:攝像頭驅(qū)動程序節(jié)點、人臉檢測節(jié)點、人臉識別節(jié)點。根據(jù)之前節(jié)點與主題的論述理論基礎,我們在攝像頭驅(qū)動程序camera_node節(jié)點進行主題image_topic的發(fā)布,同時,人臉檢測節(jié)點detection_node也進行image_topic主題發(fā)布,并訂閱image_topic主題。人臉識別節(jié)點recognition_node進行result_topic主題發(fā)布,同時,需要對face_topic主題進行訂閱,ROS節(jié)點通信示意如圖1所示。

圖1? ROS節(jié)點通信示意

攝像頭驅(qū)動程序節(jié)點camera-node,這個節(jié)點利用opencv從USB攝像頭中會讀取到彩色圖像,之后發(fā)布到image_topic主題中。其中,opencv是一種云機器人系統(tǒng),主要利用分布式計算技術和大數(shù)據(jù)進行計算密集和數(shù)據(jù)密集型的計算任務,在系統(tǒng)中,也可以與所有客戶端之間共享信息,讓ROS在實際應用中可以達到更佳的穩(wěn)定性和實時性。

3? ? 關于攝像頭驅(qū)動程序節(jié)點設計

ROS圖像數(shù)據(jù)發(fā)布是依靠其自定義項下的sensor_msgs/Image等消息格式進行的,其格式和傳統(tǒng)的opecv圖像處理格式相比存在不同。如果要查看ROS文本上的sensor_msgs/Image消息格式,可以用這個命令:rosmsgshowsensor_msgs/Image。ROS可以為文本提供C語言和Python兩種語言模式進行公選,可以方便tensorflow與opencv的集成,在本文中是以Python作為基礎來完成的整體人臉識別系統(tǒng)的開發(fā)。在ROS系統(tǒng)可以做成Python模塊封裝來支持Python的開發(fā)。比如在rospy模塊,ROS提供了相關節(jié)點的創(chuàng)建,主題訂閱也有對應的函數(shù)接口。類似的在std_msgs.msg模塊,ROS封裝的String信息類型可以匹配;sensor_msgs.msg模塊也相應地含有ROS封裝的sensor_msgs/Image消息類型。

在操作過程中,為了方便起見,會使用opencv來進行數(shù)據(jù)圖像的操作,本文需要采用的是由ROS提供的cv_brige軟件包。在整個云機器人服務的系統(tǒng)中,云端主要通過3臺支持opencv接口的主機相連接構成,ROS是核心樞紐環(huán)節(jié)。在服務系統(tǒng)之間有標準通用服務對接口,每一個組件可以看作其中一種服務,通俗講可以看作一個傳感器、執(zhí)行器等[2]。在客戶端可以連接云端設備,把手機、電腦機器人或者虛擬的機器人進行連接。云機器人的服務系統(tǒng)可以同時對接多個機器人的應用與服務,人臉識別、目標跟蹤、SLAM等,ROS中的vison_opencv程序??梢詾閛pencv提供通道,進而實現(xiàn)將opencv中的多種人臉識別計算最終轉(zhuǎn)化為可供服務的客戶端調(diào)用模式。cv_bridge在opencv和ROS之間扮演的數(shù)據(jù)格式轉(zhuǎn)化的橋梁角色。

4? ? 關于人臉識別的節(jié)點設計

一項完整的人臉自動識別系統(tǒng)在大體上可以分為部分人臉的捕捉檢測、面部特征提取,另一種說法是還包含前兩部分合并,對人臉進行分類后形成的狹義人臉識別。計算機技術核科學發(fā)展日新月異,人臉識別的內(nèi)容也在不斷更新完善。人臉識別系統(tǒng)包括對于幾個特征器官的定位,也就是一張人臉上有顯著特征的五官,嘴巴、鼻子、眼睛區(qū)域相對應的角點姿態(tài)、中心位置、偏轉(zhuǎn)頭時的傾斜角度、表情的綜合分析,把輸入的人臉進行表情的分析和分類后提取人臉圖像的顯著現(xiàn)相關特征,進而判斷年齡、性別等信息。

4.1? 人臉識別的節(jié)點流程安排

本文的人臉識別主體為result_topic主題和recognition_node節(jié)點,ROS中sensor_msgs/Image消息格式用來發(fā)送MTCNN卷積神經(jīng)網(wǎng)絡識別人臉和得到人臉圖像的detection_node節(jié)點到主題face_topic。關于人臉識別的節(jié)點必須訂閱相應face_topic主題,進而在該face_topic主題可以接受sensor_msgs/Image消息,再通過cv_brige轉(zhuǎn)換就可以打得到opencv的圖像格式,之后就可以根據(jù)本文設計的模型去完成人臉識別[3]。

4.2? 開發(fā)環(huán)境

ROS本身提供的catkin工具可以幫助文本創(chuàng)建于編譯相關工程,有catkin_init_workspace、catkin_init_make等一系列構建ROS的工程命令。在編譯ROS項目時,同時,還可以進行啟動腳本的形式啟動多個節(jié)點,對開發(fā)人員使用來說非常方便實用。本文主要是在ROS Kinetic Kame版本上開發(fā)設計實現(xiàn)的人臉識別系統(tǒng)。

5? ? 結語

本文是關于一種ROS的人臉識別系統(tǒng)設計研究,介紹了人臉識別系統(tǒng)的實現(xiàn)流程與步驟,關于ROS的人臉識別系統(tǒng)總體設計,在總框架下由3個重要節(jié)點分類:攝像頭驅(qū)動程序節(jié)點、人臉檢測節(jié)點、人臉識別節(jié)點、ROS的處理轉(zhuǎn)換過程和理論依據(jù)以及相應的操作,進而介紹在人臉檢測環(huán)節(jié)的理論節(jié)點安排和實踐計算方法,基本實現(xiàn)了閥值的合理調(diào)配和有效結果,從而使得與系統(tǒng)庫的人臉圖像準確匹配。其中,卷積神經(jīng)網(wǎng)絡應用訓練、提取特征等步驟,關系到人臉識別準確率高低,重要意義不言而喻。其次,人臉檢測和圖像預處理從光照、噪聲的角度去優(yōu)化,可以為人臉圖像特征的提取提供必要保障。

[參考文獻]

[1]曹潔,李雪真,王進花.基于自適應特征融合的人臉識別[J].計算機工程與應用,2018(1):153-158.

[2]安峰.基于開源操作系統(tǒng)ROS的機器人軟件開發(fā)[J].單片機與嵌入式系統(tǒng)應用,2017(5):27-29.

[3]周松鋒,戴曙光.改進的PCA人臉識別算法研究[J].軟件導刊,2018(2):15-18.

A face recognition system design based on ROS

Su Pengfei, Zhao Jianwen

(Xian University of Science and Technology, Xian 710032, China)

Abstract:Robot operating system is a software that can provide a series of libraries and tools to help software developers realize Robot creation. Features include device drivers, function libraries, hardware abstractions, messaging, visualization, software packages, etc, providing an effective software framework for robotics integration and cloud computing. Face recognition is a necessary basic function in human-computer interaction process. In face recognition process, image preprocessing, feature extraction and matching all need close coordination of computation and data. This paper designs and implements a face recognition system on the ROS robot platform. After a series of tests in the real environment, it meets the requirements of face recognition system on the mobile robot platform in most cases.

Key words:Robot Operating System; face recognition; design research

猜你喜歡
設計研究人臉識別
人臉識別 等
揭開人臉識別的神秘面紗
基于(2D)2PCA-LBP 的人臉識別方法的研究
人臉識別在高校安全防范中的應用
小學語文口語交際課程目標的設計
高中數(shù)學新課程中函數(shù)的教學設計研究
基于類獨立核稀疏表示的魯棒人臉識別
基于K-L變換和平均近鄰法的人臉識別
大邑县| 双辽市| 潍坊市| 玉溪市| 临夏市| 罗平县| 阳信县| 阳原县| 陆川县| 元氏县| 乐陵市| 大名县| 龙口市| 柯坪县| 东宁县| 洪江市| 西乡县| 皮山县| 安徽省| 亳州市| 东港市| 青田县| 阿巴嘎旗| 恩施市| 宜城市| 新乡县| 大田县| 安泽县| 墨玉县| 临清市| 巴南区| 武平县| 五家渠市| 长沙县| 泾川县| 招远市| 太保市| 集贤县| 宿州市| 闵行区| 镶黄旗|