基于pynq的人脸追踪识别系统设计【字数:12409】
摘 要人脸识别技术是目前非常普遍的一种生物识别技术,它是一种基于计算机并使用采集、分析、比较的方法来识别人脸的技术。人脸识别技术被广泛应用于企业管理、住宅安全、刑侦抓捕、信息服务,比如门禁、防盗门、监控、刷脸服务等方面。本论文设计一种基于赛灵思(Xilinx)PYNQ-Z2开发平台的人脸追踪识别原型系统,该平台同时具有ARM可编程系统(PS)和FPGA可编程逻辑(PL)两个部分,可实现视频流输入、视频处理识别和识别结果输出。该原型系统采用高清工业摄像头采集人脸的各种信息,并转化为视频流输入系统,然后将采集的人脸信息进行初步的处理后,再将需要被图像处理识别的部分通过USB Host接口传输到PYNQ-Z2中。在PYNQ-Z2开发平台的ARM处理器上搭建Ubuntu Linux环境并运行Jupyter Notebook交互式在线编译器。通过调用IPython内核和PYNQ的硬件库,导入OpenCV库编写并且编译执行Python程序,实现在线控制PYNQ-Z2来获得视频流的输入,在PYNQ-Z2中对视频数据进行传输和处理,人脸图像的分析识别,最后通过HDMI连接显示器,在显示器上输出人脸追踪和识别的结果。本设计利用了PYNQ-Z2的PL和PS部分的交互式数据传输处理,尽可能的发挥的ARM和FPGA的优势,从而实时的进行人脸识别。
目 录
第一章 绪论 1
1.1引言 1
1.2研究的意义 2
1.3国内外的现状与发展前景 2
1.4本文研究目标和主要内容 3
第二章 人脸识别算法的介绍 5
2.1引言 5
2.2人脸识别算法 5
2.2.1图像采集 5
2.2.2图像预处理 6
2.2.3人脸检测 6
2.2.4定位和对齐 7
2.2.5人脸识别 8
2.3深度学习 8
2.4小结 9
第三章 PYNQ平台的介绍 10
3.1 PYNQZ2的结构 10
3.2 Jupyter Notebook的介绍 10
3.3 Vivado2017.4的介绍 11
3.4小结 13
*好棒文|www.hbsrm.com +Q: ^351916072#
/> 第四章 设计与实现 14
4.1系统设计 14
4.2主控模块 14
4.3图像输入与输出模块 16
4.4 Jupyter Notebook 16
4.5小结 19
第五章 调试与验证 20
5.1引言 20
5.2系统的调装 20
5.3实验验证 21
5.4小结 22
结束语 23
致谢 24
参考文献 25
附录 26
第一章 绪论
1.1引言
如今计算机视觉已经成为了科学研究的重点,在生活中得到了广泛的实际应用。工业方面,近几年计算机视觉带动了无人机的发展,不管是在民用、军事、公共安全方面都有了前所未有的突破,如无人机航拍技术已经趋近成熟。学术方面,卷积神经网络成为一个日益火热的课题,神经网络结合人工智能算法与硬件设备实现了相互结合。在民事和经济领域,手机面部识别、银行面部支付的身份验证功能非常强大。在家庭娱乐领域,智能家居、VR虚拟现实技术[1]、家政机器人等提高了生活质量和水平。计算机视觉最重要的技术就是图像处理,从最简单的二值化、灰度化和归一化等基础操作衍生了许多更加专业性的领域,例如包括无人驾驶技术、汽车检测技术、视频图像合成与剪辑和全息投影技术等。
另外,个人信息安全在当前社会形成严重的漏洞,迫切需要增强其安全性。因此身份识别开始被许多部门机构使用,类似银行卡和密码组合而成的传统身份识别方法需要携带银行卡并牢记密码,所以如果忘记密码就不能证明身份,如果发送被盗用就可以冒用身份通过认证,因此这种方式有极大的隐患。在许多现代生物识别技术中,人脸识别是应用范围比较广泛的一类。目前基于视频的人脸识别、基于图像照片对比的新一代识别方法不仅能够满足基本的安全需求,而且实现了方便、快捷的人机交互。手机面部解锁、语音指纹解锁、虹膜解锁等这些的技术复制难度极大,所以安全性更高,并且不需要携带任何的识别卡和记忆密码等就可以进行识别,其安全性、方便性和高效性已经得到社会各界的广泛认可。
人脸识别是现代化高科技的识别技术,人类面部信息的唯一性具有高度安全性。其工作原理是首先利用高清的摄像头对人脸定位并采集人脸的信息,通过摄像头将采集的视频流传入计算机中,然后对输入的视频流进行预处理,锁定人脸的位置后对面部的特征值进行采样,最后提取每个人脸中的身份特征,并与预先存储的人脸信息进行对比,认证通过后再显示设备上输出结果并通过身份认证。
21世纪软件技术的改进和发展带动了深度学习的研究,其中深度神经网络[2](Deep Neural Networks, DNN)作用尤为突出,工作原理是模仿人脑思考方式引导机器对外部环境做出正确的行为,深度学习可以根据现实情况而进行自我判断,前提条件是必须经过庞大的数据学习,通过训练后得到的结果在准确率无疑将大大提升。这也是传统方式所不能媲美的,所以深度学习算法作为从计算机视觉和机器人到金融和生物技术等众多领域的主要组成部分,正获得越来越大的发展动力。如今算法理论方面已经得到了充分的发展,但是算法的工程量是非常大,在应用上需要强大的硬件支持,因为算法的计算方式复杂性、耗时性非常高,所以大部分基于串行工作方式的硬件平台已经不能满足深度学习算法的运行要求,所以要实现深度学习算法就必须先提升硬件平台的质量,同时还需考虑兼顾满足成本、功耗和人机交互等因素。
FPGA相比于专用的集成电路,已经进一步提高了其性能,而且内部逻辑门也得到了增加。目前有许多人脸识别的项目,大部分还是使用STM32 ARM平台进行开发,而目前该类型ARM处理器的算力不能运行如此庞大的算法,因此在运行会产生许多延时和卡顿;图形处理器(Graphics Processing Unit, GPU)的图像处理能力特别强,但是运行是会产生特别大的功耗,且费用比较高;有的公司使用专用芯片定制的集成电路,因为专用集成电路的制作成本非常高、效果单一,所以不能成为普通设计的选择。经过分析,本系统选择PYNQ作为硬件平台进行开发,比较容易学习如何使用FPGA实现深度学习的硬件加速[3]和实现人脸追踪识别的最终目的。
本章将在基于前人的科研成果下,简单地介绍人脸识别技术在国内与国外的研究现状及发展前景,重点介绍人脸识别的国内外现状和发展前景和本文所研究的内容。
1.2研究的意义
随着计算机视觉的发展,人脸识别技术逐渐成为了这一领域的重点研究对象,特别是实时计算机视觉处理的进展使人们越来越关注动态环境下的人脸识别。由于图像捕捉设备(监控摄像头、移动电话中的摄像头)的快速发展、个人人脸信息的对比精度也在进一步提升。在工业应用中使用人脸识别系统,会进一步推进未来人工智能的发展,两者相互结合有着广阔的应用领域和应用前景。
目 录
第一章 绪论 1
1.1引言 1
1.2研究的意义 2
1.3国内外的现状与发展前景 2
1.4本文研究目标和主要内容 3
第二章 人脸识别算法的介绍 5
2.1引言 5
2.2人脸识别算法 5
2.2.1图像采集 5
2.2.2图像预处理 6
2.2.3人脸检测 6
2.2.4定位和对齐 7
2.2.5人脸识别 8
2.3深度学习 8
2.4小结 9
第三章 PYNQ平台的介绍 10
3.1 PYNQZ2的结构 10
3.2 Jupyter Notebook的介绍 10
3.3 Vivado2017.4的介绍 11
3.4小结 13
*好棒文|www.hbsrm.com +Q: ^351916072#
/> 第四章 设计与实现 14
4.1系统设计 14
4.2主控模块 14
4.3图像输入与输出模块 16
4.4 Jupyter Notebook 16
4.5小结 19
第五章 调试与验证 20
5.1引言 20
5.2系统的调装 20
5.3实验验证 21
5.4小结 22
结束语 23
致谢 24
参考文献 25
附录 26
第一章 绪论
1.1引言
如今计算机视觉已经成为了科学研究的重点,在生活中得到了广泛的实际应用。工业方面,近几年计算机视觉带动了无人机的发展,不管是在民用、军事、公共安全方面都有了前所未有的突破,如无人机航拍技术已经趋近成熟。学术方面,卷积神经网络成为一个日益火热的课题,神经网络结合人工智能算法与硬件设备实现了相互结合。在民事和经济领域,手机面部识别、银行面部支付的身份验证功能非常强大。在家庭娱乐领域,智能家居、VR虚拟现实技术[1]、家政机器人等提高了生活质量和水平。计算机视觉最重要的技术就是图像处理,从最简单的二值化、灰度化和归一化等基础操作衍生了许多更加专业性的领域,例如包括无人驾驶技术、汽车检测技术、视频图像合成与剪辑和全息投影技术等。
另外,个人信息安全在当前社会形成严重的漏洞,迫切需要增强其安全性。因此身份识别开始被许多部门机构使用,类似银行卡和密码组合而成的传统身份识别方法需要携带银行卡并牢记密码,所以如果忘记密码就不能证明身份,如果发送被盗用就可以冒用身份通过认证,因此这种方式有极大的隐患。在许多现代生物识别技术中,人脸识别是应用范围比较广泛的一类。目前基于视频的人脸识别、基于图像照片对比的新一代识别方法不仅能够满足基本的安全需求,而且实现了方便、快捷的人机交互。手机面部解锁、语音指纹解锁、虹膜解锁等这些的技术复制难度极大,所以安全性更高,并且不需要携带任何的识别卡和记忆密码等就可以进行识别,其安全性、方便性和高效性已经得到社会各界的广泛认可。
人脸识别是现代化高科技的识别技术,人类面部信息的唯一性具有高度安全性。其工作原理是首先利用高清的摄像头对人脸定位并采集人脸的信息,通过摄像头将采集的视频流传入计算机中,然后对输入的视频流进行预处理,锁定人脸的位置后对面部的特征值进行采样,最后提取每个人脸中的身份特征,并与预先存储的人脸信息进行对比,认证通过后再显示设备上输出结果并通过身份认证。
21世纪软件技术的改进和发展带动了深度学习的研究,其中深度神经网络[2](Deep Neural Networks, DNN)作用尤为突出,工作原理是模仿人脑思考方式引导机器对外部环境做出正确的行为,深度学习可以根据现实情况而进行自我判断,前提条件是必须经过庞大的数据学习,通过训练后得到的结果在准确率无疑将大大提升。这也是传统方式所不能媲美的,所以深度学习算法作为从计算机视觉和机器人到金融和生物技术等众多领域的主要组成部分,正获得越来越大的发展动力。如今算法理论方面已经得到了充分的发展,但是算法的工程量是非常大,在应用上需要强大的硬件支持,因为算法的计算方式复杂性、耗时性非常高,所以大部分基于串行工作方式的硬件平台已经不能满足深度学习算法的运行要求,所以要实现深度学习算法就必须先提升硬件平台的质量,同时还需考虑兼顾满足成本、功耗和人机交互等因素。
FPGA相比于专用的集成电路,已经进一步提高了其性能,而且内部逻辑门也得到了增加。目前有许多人脸识别的项目,大部分还是使用STM32 ARM平台进行开发,而目前该类型ARM处理器的算力不能运行如此庞大的算法,因此在运行会产生许多延时和卡顿;图形处理器(Graphics Processing Unit, GPU)的图像处理能力特别强,但是运行是会产生特别大的功耗,且费用比较高;有的公司使用专用芯片定制的集成电路,因为专用集成电路的制作成本非常高、效果单一,所以不能成为普通设计的选择。经过分析,本系统选择PYNQ作为硬件平台进行开发,比较容易学习如何使用FPGA实现深度学习的硬件加速[3]和实现人脸追踪识别的最终目的。
本章将在基于前人的科研成果下,简单地介绍人脸识别技术在国内与国外的研究现状及发展前景,重点介绍人脸识别的国内外现状和发展前景和本文所研究的内容。
1.2研究的意义
随着计算机视觉的发展,人脸识别技术逐渐成为了这一领域的重点研究对象,特别是实时计算机视觉处理的进展使人们越来越关注动态环境下的人脸识别。由于图像捕捉设备(监控摄像头、移动电话中的摄像头)的快速发展、个人人脸信息的对比精度也在进一步提升。在工业应用中使用人脸识别系统,会进一步推进未来人工智能的发展,两者相互结合有着广阔的应用领域和应用前景。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/665.html