0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用树莓派部署分布式人脸识别系统

电子工程师 来源:lp 2019-03-06 11:05 次阅读

在安防领域,人脸识别技术已经被广泛应用,国内的一些大厂比如大华、海康等也已早早布局人脸识别技术,这是因为在安防领域,尤其是政府机关、车站机场、银行等安防等级比较高的场合,人脸识别技术会极大的提高安全性。举例说,在机场、车站、码头等交通枢纽部署分布式监控系统,并同时在每台设备上部署人脸识别系统,就可以实时的在这些场合对特定人群或者特定目标实时监控,能够在第一时间发现并上报监控对象位置,并根据目标的移动轨迹进行路迹显示和报警。

早些年,人脸识别技术不是十分成熟,对图像的分辨率、人脸特征完整性要求高,设备计算资源无法满足,实时性也无法保证。并且在早期的安防监控部署方案中,基本上都是模拟摄像机+同轴电缆+视频录像机的方案,录像只能保存在本地,不具备容灾性。

随着科技发展,如今安防领域的典型解决方案已经变为数字高清摄像头+POE以太网/无线网桥+RAID硬盘录像机/云存储的方案。最近一两年,嵌入式设备的运算能力逐步提高,成本逐步下降,这就导致了安防监控从被动存储回放式向主动防御监控式的转变。海康威视成熟的视频安防监控设备内部处理器集成FPGAARM处理器,FPGA负责处理图像传感器数据,然后传输给ARM处理器进行数据的处理,ARM处理器上一般运行一个裁剪版的嵌入式Linux系统,负责对图像数据进行图像预处理、FPGA图像采集前端参的数调节、视频的编码以及编码后数据的网络协议封装和数据发送。

有些处理器设计为异构架构,内部还集成了DSP运算核心,能够实现一些特定的图像算法,从一定程度上看,这类设备已经具备了一定的视频内容分析功能。但是,DSP一般用作视频编码加速用,ARM主要用来调度FPGA图像处理前端和进行网络数据发送,能够用来做图像处理尤其是人脸检测与识别、人体分类等等高运算量和高内存占用的工作还是力不从心的。本作品延续这类安防设备的思路,针对安防设备本身运算能力不高,对一些运算密集型的算法无法部署到计算资源低的设备上的弊端进行改进,设计使用两级人脸识别算法,使用传统的人脸识别分类器在低运算量的嵌入式设备上进行初步图像处理,提取出视频流中的人脸ROI区域,通过网络发送到监控中心后,使用集中式的高性能计算设备进行更加准确的识别分类。同时监控中心可以针对每一个监控相机分发不同的分类器,实现特定机位对特定目标的搜索识别。硬件设备:树莓派3树莓派摄像头 Oray异地VPN组网路由器X3软件环境:Python3 opencv2.4.13

硬件连接图:

代码说明:首先,监控中心分发特定目标的图片和和训练好的lbp分类器文件到各树莓派节点,树莓派控制摄像头采集图像并利用下发的分类器对采集到的视频帧进行人脸ROI区域提取,并发送提取到的ROI区域图像到中心节点(本作品中心节点使用的是Face++的服务器),进行比对、搜素并返回结果。

face_roi_extract.py 功能是视频采集和人脸ROI提取,负责对视频中的人脸进行检测和提取储存。

face_api.py 是一个python3 的face++ sdk,因为face++仅提供python2 的sdk,所以就简单做了一个py3 的sdk,其实就是api集合,非常简陋。

faceset_cli.py 是一个简单的命令行交互工具,可以用来管理faceset数据集,包括faceset的创建、列举、删除,faceset中face的添加、列举、删除。同时支持从本地图片导入人脸、face token导入、摄像头捕捉人脸导入三种方式。本代码执行后会在tmp文件夹下面自动建立录入的人脸信息和face token的映射文件,为其他模块工作时提供索引文件。

face_search.py 是一个人脸搜素的工具。能对传入的图片在指定的人脸集合中搜素匹配,若搜索到则返回搜索到的目标姓名信息。

face_detect.py 是一个对视频中所有已经检测到的人脸进行检测,提取脸部特征和facetoken并存入dat文件中的工具。这个可以用来做签到。

face_compare.py 是一个对传入的两张图片做比对的工具,返回两个人脸的相似度。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1624

    文章

    21539

    浏览量

    600479
  • 人脸识别
    +关注

    关注

    76

    文章

    4000

    浏览量

    81578
  • 树莓派
    +关注

    关注

    116

    文章

    1683

    浏览量

    105392

原文标题:使用树莓派部署分布式人脸识别系统

文章出处:【微信号:cirmall,微信公众号:电路设计技能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    分布式软件系统

    分布式软件系统分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处
    发表于 07-22 14:53

    使用分布式I/O进行实时部署系统的设计

    这篇文章讨论了使用分布式I/O进行实时部署系统的设计。美国国家仪器公司推出了NI 9144扩展机箱,用于确定性以太网中的NI CompactRIO和可编程自动化控制器(PAC)系统。用
    发表于 03-12 17:47

    基于labview的人脸识别系统的设计………………

    我现在做的是基于labview的人脸识别系统的设计与实现,现在已经开始在做,但是在算法这一块被卡到了,不知道改用什么样的算法和如何实现这个算法,可能是水平低了点把,请高人指点一下啊!!!谢谢…………
    发表于 03-17 09:56

    怎么用树莓做基于云服务平台的人脸识别

    怎么用树莓做基于云服务平台的人脸识别,大神求解,急!!
    发表于 08-07 23:17

    树莓人脸识别

    基于云服务平台的人脸识别1、设备树莓2、USB摄像头。2、要求l使用USB摄像头抓拍(可以使用各种开源软件,也可以自己编程)脸部照片;l使用人脸
    发表于 08-07 23:19

    【LeMaker Guitar申请】基于LeMaker Guitar的人脸识别系统

    学习对嵌入应用层开发有一个更深入的认识。项目描述:基于LeMaker Guitar的人脸识别系统设计思路是把 OpenCV移植到嵌入操作系统
    发表于 01-18 16:23

    人脸识别

    的方法,那就是用百度人脸识别工具来配合树莓,这样的话,你会很容易做出一个智能人脸识别系统,用在
    发表于 02-22 12:09

    浅谈人脸识别系统在智慧社区方面的应用

    成为“智慧社区”的标配。 就拿奇谷科技的人脸识别系统来说,可以提前将允许进入社区的业主的相关信息录入系统,业主进入大门时只需要正常行走,摄像头捕捉到业主人脸后大门会自动打开,业主进入
    发表于 09-26 14:03

    如何在集群部署时实现分布式session?

    集群部署时的分布式 session 如何实现?
    发表于 07-17 06:57

    树莓Python与自美人工智能系统实现人脸识别

    系统是基于树莓、Python、微信小程序打造出的一款物联网人工智能系统。目前系统已实现:语音唤醒、语音
    发表于 12-26 11:24

    基于嵌入LInux的人脸识别系统

    1,基于嵌入LInux的人脸识别系统
    发表于 10-27 07:02

    人脸识别系统定位功能剖析

    经常被网友问到“人脸识别系统是如何找到人的?”,本文将通过实际案例具体分析人脸识别系统的组成、人脸识别系
    发表于 08-29 14:46 5700次阅读

    人脸识别系统的四大优势_人脸识别系统需要攻克的难题

    人脸识别系统是一项新兴技术,随着市场的发展,技术水平的提高,越来越多的行业和领域都需要这样的系统,可以提高工作效率,加快行业发展,下面来介绍一下人脸
    发表于 08-28 10:26 3208次阅读

    人脸识别系统应用范围_选择人脸识别系统的关注点

    随之科学手段的快速发展,人脸识别系统被应用到了众多领域,人脸识别系统目前主要应用于身份识别,可以利用快速
    发表于 08-31 14:56 1375次阅读

    人脸识别系统本身的安全疑问

    众多小区开始安装人脸识别系统,甚至有小区强推人脸识别系统,导致很多不愿意接受人脸识别系统的住户不
    发表于 12-30 10:17 1033次阅读