python实现人脸识别系统设计_基于ROS的人脸识别系统设计与实现

Posted weixin_39608479

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python实现人脸识别系统设计_基于ROS的人脸识别系统设计与实现相关的知识,希望对你有一定的参考价值。

基于ROS的人脸识别系统设计与实现

文/胡思旺 李春杰

【摘 要】摘 要

【期刊名称】《电子技术与软件工程》

【年(卷),期】2019(000)007

【总页数】3

【关键词】【关键词】ROS 人脸识别

ROS是2010年由Willow Garage公司发布开源的机器人操作系统,采用分布式,松耦合的架构设计

,并提供一种软件点对点的通信机制,使得开发人员可以非常灵活的组织机器人的软件实现。这一

切都建立在ROS提供的包括节点,消息,主题等许多新的编程理念之上。

节点可以认为是ROS中独立的可执行程序,在ROS中创建一个节点类似于创建一个进程。消息表示

ROS节点与节点之间传送的数据内容,ROS支持包括诸如浮点,字符串,自定义消息等多种消息类

型。主题是指ROS中某个特定消息的名称,节点可以发布针对某个主题的消息,也可以订阅某个主

题的消息。主题发布者与主题订阅者互相不知道对方的存在,从而可以实现ROS程序的解耦。

ROS各个节点可以通过订阅主题来进行消息通信。节点可以发布消息到主题,其他节点可以通过订

阅主题来接收消息,这个通信过程如图1所示。

1 总体设计

为了保证各个功能之间的独立性,本文在基于ROS框架下,设计了三个节点。分别是摄像头驱动程

序节点、人脸检测节点与人脸识别节点。摄像头驱动程序camera_node节点发布image_topic主题

;人脸检测detection_node节点发布face_topic主题,同时订阅image_topic主题;人脸识别

recognition_node节点发布result_topic主题,同时订阅face_topic主题。

本文设计的总体方案的ROS节点通信如图2所示。

camera_node是摄像头驱动程序节点。该节点将利用opencv从USB摄像头中读取BGR彩色图像并

发布到image_topic主题中。

detection_node为自定义的ROS人脸检测节点,它从image_topic主题中订阅到图像数据,并通过

MTCNN卷积神经网络进行人脸检测。如果检测到人脸,并且检测到的人脸区域与图像整体占比超

过γ(本文本文设置γ=0.4),则认为人脸检测成功,并把人脸图像发布到face_topic主题中。

recognition_node为自定义的人脸识别节点,它订阅face_topic主题,获取人脸图像。然后将人脸

图像输入到本文自己训练的人脸识别模型中以完成人脸识别,并将人脸识别结果发布到

以上是关于python实现人脸识别系统设计_基于ROS的人脸识别系统设计与实现的主要内容,如果未能解决你的问题,请参考以下文章

python基于tensorflow的人脸识别系统设计与实现.zip(论文+源码)

Linux学习OpenCV+ROS 实现人脸识别(Ubantu16.04)

qt+opencv实现人脸识别打卡系统2.0

ros学习-课设-人脸识别追踪

Python+OpenCV人脸识别身份认证系统设计:专栏总述

毕业设计/Matlab系列基于PCA和BP神经网络的人脸识别系统(基于AR人脸库)