前言

在去年十月的时候参加了一个小比赛,做了一个人脸识别程序并很意外地获得省里面的一等奖,视频演示链接在这里,有同学想要做这方面的毕业设计or课程设计,发一篇博客来分享一下当时的开发过程。

视频演示链接

Github链接

项目简介

可以看一下我的这个博客

开发流程

一:安装Dlib的环境

这部分有点麻烦,不论是Windows还是linux,我都花了一段时间去配置,部分python依赖包需要连接外网才能顺利下载下来,这部分就靠自己摸索吧,多试试就可以成功了!

Windows版参考链接1

Linux的我找不到当时配置时参考的博客了

二:阅读Dlib库的接口、使用方法

这里我没有阅读Dlib的官方文档,我直接阅读了ageitgey的Github的源码部分、以及他的文档,参考他的源码去调用Dlib的人脸识别接口的,最终包装成自己的库。

自己封装的库文件地址,可以参考一下,里面有详尽的注释(写的不好,轻喷)

三:开发

这部分就看自己的需求啦

这里可以提一点小见解:

  • 做简单一点的人脸识别,直接用人脸检测算子+人脸编码然后对比人像编码的距离就可以了。
  • 我开发的时候是为了尽量避免角度对人脸造成的影响,就在Dlib官方的基础上加入了人脸矫正功能
    • 我做的是一个比较low、但确实有用的人脸矫正算法
    • 就是基于眼睛、鼻子上检测到的关键点,对图像进行简单的水平旋转
    • 矫正后理论上可以提升编码的稳定性(因为尽可能排除角度因素了)
    • 这部分的代码在Faces.py的330行左右
  • 对于一些人头偏移角度过大可能造成人脸检测算子检测不到的问题,因为我的使用场景特殊,是100%有人脸,所以我会在检测不到人像的时候对图像旋转几个角度再检测,我管它叫旋转鲁棒性(其实是当时看到一篇论文的题目有这个字眼,自己就搬过来用了)。至于是否采用这样的操作,可以结合自己的使用场景来决定。

转载于:https://www.cnblogs.com/sxZhangYang/p/10515135.html

基于Dlib、OpenCV开发人脸识别程序的开发建议相关推荐

  1. 免费直播!用Python开发人脸识别程序,零基础也能学(附源码)

    在当今社会人脸识别技术应用的范围越来越广泛,全球很多商业活动都已经从中获益:人脸自动对焦和笑脸快门技术,人脸识别门禁,人脸识别支付等许多方面. 人脸识别技术的使用在接下来的几年内还会继续增长,还没掌握 ...

  2. 基于深度学习的人脸识别闸机开发(基于飞桨PaddlePaddle)

    目录 一.概述 1.1 人脸识别背景 1.2 实现 1.2.1 算法说明 1.2.2 环境设置 1.2.3 实现思路 二.示例脚本 2.1 安装PaddlePaddle和PLSC 2.2 下载人脸检测 ...

  3. 基于open cv 的人脸识别程序

    基于open cv 的人脸识别小程序 完整的程序源码已经上传到 github,但是下载后自己的电脑可能要设置一些opencv的环境,这些网上已经有文章了,自己可以去找找. 源码下载路径:https:/ ...

  4. python opencv生成tf模型_基于TensorFlow+ Opencv 的人脸识别 和模型训练

    一.准备工作 本次实例的anaconda 环境 (有需要的自己导入anaconda) 链接:https://pan.baidu.com/s/1IVt2ap-NYdg64uHSh-viaA 提取码:g7 ...

  5. 基于DLIB的视频人脸识别对比

    环境:python3.6   win10 安装opencv,numpy,dlib 下载人脸关键点检测器 face_landmarks.dat 下载人脸识别.提取特征值 dlib_face_recogn ...

  6. 基于Python+OpenCV的人脸识别实现带墨镜效果

    环境以及执行步骤 相关介绍 环境配置 相关库安装介绍 上代码 github地址 动图介绍 改进 相关介绍 你好! 项目起初来源于一本科生的毕业设计,由于我给了一版更加优秀,所以初始版本的例子给予分享. ...

  7. python读取视频流做人脸识别_基于 Python + OpenCV 进行人脸识别,视频追踪代码全注释...

    1 #-*- coding: utf-8 -*- 2 from __future__ importunicode_literals3 #操作文件 4 importos5 #科学计算 6 importn ...

  8. 从零开始的C++ opencv的人脸识别程序——第一个C++程序

    首先,这个程序是作为我们大三下的一门课程<多媒体技术>的大作业形式来完成,但是之前并没有接触过C++和opencv,所以这次的程序可以说是从零开始,希望记录一下自己学习的过程,也许遇到的错 ...

  9. 基于Android端的照片比对系统,基于Android系统的人脸识别系统

    [文章摘要] 当前随着基于Android系统的移动终端设备的广泛应用,以及图像采集设备的普遍集成,使得Android系统的图像采集设备除了具有照相.摄像功能以外,正在扩展新的实用型功能.其中,利用An ...

最新文章

  1. Error: SyntaxError: DOM Exception 12 ...
  2. app 模拟器抓包 burpsuite_安全测试扫描利器Burpsuite
  3. 【Java架构:持续交付】一篇文章搞掂:持续交付理论
  4. 修改PostgreSQL数据库默认用户postgres的密码
  5. life list 2010
  6. php防错处理,更好的PHP错误处理
  7. 关于我的博客的一些说明
  8. java之插入排序算法
  9. 海龟绘图两小时上手C语言 - 0 引言
  10. Android 可以输入的下拉框
  11. JAVA的四则运算规则_java四则运算规则
  12. 批量ping及telnet工具
  13. vdbench的作用_Vdbench----文件系统IO,一致性校验,常见问题
  14. pe_xscan作了3点更新 1
  15. 永久改变Win10命令提示符(cmd)字体
  16. 小米路由器mini刷lede_小米路由3刷LEDE/OpenWrt 固件
  17. 计算机错误1327,Win7系统电脑安装软件失败并提示错误1327解决办法
  18. java+毕业设计+进销存管理系统+源码+论文.rar
  19. 对抗学习在语义分割上应用
  20. html5 判断手机横竖屏,移动端判断横竖屏的5种解决方案

热门文章

  1. php二级目录,PHPWind论坛版块二级目录设置域名
  2. SAP PM IW33里查看维护订单相关的维护计划
  3. 深度学习基础:张量运算
  4. CVPR2020夜间行人检测挑战赛两冠一亚:DeepBlueAI获胜方案解读
  5. NLP 领域还有 5 大开放问题
  6. 公安领域知识图谱不断升温 或成AI下一风口
  7. SAP MM ME1M报表结果不科学?
  8. 人工智能加速期:“算法为王”还是“场景落地”优先 ?
  9. 行业观察 | 机器人Ameca挣脱「灵魂」枷锁觉醒?
  10. 考夫曼:破解大脑代码并创建真正的人工智能