应用层下的人脸识别(一):图像获取

 

 

图像获取是人脸识别的第一步,人脸识别项目中图像来源主要依靠各类监控相机,图像质量很大程度会影响人脸识别的准确率。当算法无法短期内优化时,可以从提升采集图像的质量入手提高人脸识别的准确率。图像质量与采集设备和采集环境密不可分,本文围绕相机选择与架设、相机接入两个主题展开,撰写了图像获取的相关要点。

一、相机选择与架设

1. 选择合适的相机

相机的性能决定了图片质量的上限,因此相机的选择作为人脸识别的第一步至关重要。需要根据不同的使用场景来选择。

户外远距离人脸识别,建议选择具有逆光调节(宽动态)、200万像素以上的一体相机,需要考虑到相机的防雨、防雾、夜视能力。

如果项目对人脸抓拍图片质量要求较高,则可选择专业的人脸抓拍机。

2. 镜头的选择

相机镜头焦距决定了相机的成像距离,大多数项目型相机需要自配镜头,下图展示了焦距大小与识别范围之间的关系。注意焦距与识别范围成正相关。

应用层下的人脸识别(一):图像获取

图1

3. 相机的架设

即使选择了效果最佳的相机和镜头,也需要架设得当才能发挥其最佳效果。于是我们需要事先计算出最合适的架设高度俯视角

应用层下的人脸识别(一):图像获取

图2

从图2不同角度拍摄的人脸效果对比可知,不同的拍摄角度获取的人脸效果互有差异,而按照人脸采集的惯例,通常是采用水平拍摄的方式最大程度获取目标人员的正脸,如身份证照片的采集。

俯仰角

人脸摄像机在安装时要求水平面上位于通道中轴线上(水平无偏转),并垂直面上有一定的俯视角度以照顾不同高矮人员经过时能正常抓拍,避免一前一后通过抓拍区域时后方人脸被遮挡,俯视角度α 要求保持在 10°±3°。

架设高度

应用层下的人脸识别(一):图像获取

图3

如图3所示,推荐俯视角α为10°,摄像机视角中轴线延伸到人脸下颌位置,保证人脸处于画面中心区域,取成年人下颌以下的平均高度为 1.5 m(头部长 0.2 m),可得:

L=tan(10°±3°)×D(4)·1

H=L+1.5=tan(10°±3°)×D+1.5 (5)

例:室内相机可视距离为6m,则算得H为2.5m,即相机应该架设的高度为2.5米,如图4所示。

应用层下的人脸识别(一):图像获取

图4

架设环境

  • 摄像机镜头至人员通道出入口中间空旷、无遮挡;
  • 聚焦清晰,光照均匀,特别注意避免逆光、侧光,必要时进行补光;
  • 人脸大小80像素以上(双眼距离大于40像素);
  • 人脸的俯仰角度在15度以内,左右角度在30度以内。

调整镜头

调整镜头的目是获得合适的观察宽度。摄像机像素的大小决定了设备可观察画面宽度的范围,观察宽度过大会导致人脸抓拍图片模糊,所以一个合适的观察宽度十分重要,人脸宽度像素宜大于120,瞳距像素宜大于40

如表1,统计了不同像素的最佳观察宽度:

表1

例:按照人像识别要求,人脸横向像素点宜在 120 以上,1080P 摄像机全幅画面横向像素点为 1920,成年人脸的横向平均宽度为 0.16 m,场景宽度(V)计算公式为:

应用层下的人脸识别(一):图像获取

应用层下的人脸识别(一):图像获取

图5

二、相机接入

大部分人脸识别的场景,是建立在对实时视频流(图片流)的基础之上,例如你想检测一个摄像机实时画面中的人脸,平台就需要先获取相机的实时视频流(图片流),这就涉及到了平台与相机等设备对接的问题。

前端相机与平台之间是通过网络连接的,如果想实现对接,就需要平台满足相应的网络协议。

1. 什么是网络协议?

网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合

例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。

为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。

2. 网络协议的结构

网络协议分为很多种,例如TCP/IP协议、IPX/SPX协议、NetBEUI协议等。相机对接用到的是基于TCP/IP的四层网络,下三层由网卡、驱动、操作系统实现,研发只需要依据设备的用途开发应用层的协议。

应用层下的人脸识别(一):图像获取

图6

3. 通过协议接入相机

平台对接相机的目的是获取相机的实时视频流(普通相机)或图片流(人脸抓拍相机),所以需要开发相应的流媒体服务协议,常用的视频流媒体协议有RTP、RTSP、RTCP等,一般相机通用的协议为RTSP,人脸抓拍机一般支持FTP。

除此之外还需要在应用层设计添加相机的入口,需要用户手动填写相机的IP地址、端口、用户名称及密码等。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值