主要成员
 
项目信息
项目名称:双摄像头眨眼识别拍照系统  
项目信息:
应用领域:消费类电子
设计摘要:
摄像头已经广泛的用到智能手机系统中,并且随着工艺进步,手机正逐步取代数码相机的功能。
然而,与高端数码相机或单反相机相比,手机拍照防抖动功能相对较差,尤其在光线微弱的环境下,手指触动快门轻微的抖动都会导致画面模糊。
考虑到智能手机标配两个摄像头,分别放置于前面板和后面板。本设计提出通过前面板摄像头识别人的面部表情,比如眨眼,然后控制后面板摄像头进行拍照。如此可以最大限度的防止抖动,拍摄高清晰度的数码照片。
系统原理和技术特点:

 

硬件框图说明:
    系统由ZED开发板、两个摄像头模块(前/后)组成。ZED开发板上集成Xilinx公司28nm工艺FPGA Zynq XC7Z020-1CLG484,其中嵌入了ARM Cortex-A9双核,主频达667MHz,板上包括512 MB DDR3内存、SD Card插槽、显示器接口、调试接口等,只需将摄像头模块信号总线通过I/O总线接口连接到FPGA,即完成了整个硬件系统的搭建。
    CMOS传感芯片选用Omnivision公司OV9655芯片,该芯片为超低功耗芯片,输出数据格式为YUV/YCbCr 4:2:2或Raw RGB Data,支持低功耗模式,通过I2C总线配置芯片。可以自制摄像头模块或购买。
    具体实现上,可分为视频采集、Linux操作系统搭建及驱动程序、眨眼识别、拍摄/压缩/存储/显示等相对独立的部分。
 
(1)视频采集:使用verilog语言或VHDL语言编写硬件模块控制采集摄像头数据,并按规律存放在DDR内存中,等待Linux操作系统读取数据。
 
(2)Linux操作系统搭建及驱动程序:搭建Linux操作系统并建立编译环境,在此基础上编写所有外围设备的驱动程序。
 
(3)眨眼识别:在Linux操作系统上编写应用程序,实时读取DDR内存中视频数据并进行眨眼识别,检测到眨眼后控制后面板摄像头进行拍照。为防止人正常眨眼造成误操作,软件只有检测到连续眨眼两次后才进行拍照。
 
(4)拍摄/压缩/存储/显示:有触发的情况下控制摄像头拍照,对照片进行软件压缩,数码照片通过FAT32文件系统存入SD Card。此外,两个VGA显示器实时显示两个摄像头数据。
 
 
软件框图说明:
    眨眼识别拍照系统软件流程图如图2所示,包括视频图像获取、人脸定位、人眼检测、人眼跟踪、眨眼判别等五部分,其中后四步是程序的核心,程序用C语言编写。
(1)人脸检测:眨眼检测中,快速有效地检测出人脸是要解决的首要问题。本项目拟采用差分图像法,从视频图像序列中提取多帧连续图像的差值,得到帧差积累图,并以此定位人脸中心。该方法利用了人头部不可能总保持静止,且头部运动量较大的特点。
(2)人眼检测:本项目拟采用内眼角提取算子得到内眼角精确位置,通过角点提取滤波器在粗定位眼角附近做卷积,取最大值处作为眼角的精确位置。眼角的精确定位有利于后续的跟踪算法实现。
(3)人眼跟踪:由于内眼角对光强、表情、睁闭眼不敏感,提取眼角小模板用于眼睛跟踪。根据上一帧图像中眼角位置,确定下一帧图中的搜索区域。由于搜索范围小,可以实现快速精确匹配,满足实时系统要求。
(4)眨眼判别:通过眼角位置,可以提取出眼睛区域,并将眼睛区域与睁眼模板进行相关分析,由相关值可以判别是睁闭眼状态还是眼睛丢失,并将判别结果传递到硬件控制系统,操作摄像机是否拍照。
 
 
预期目标:
    本项目的最低要求是通过前面板摄像头识别眨眼,然后控制后面板摄像头拍照并显示在VGA显示器上。
    在此基础上,可进一步开发SD Card存储、图像压缩、声音控制拍照、面部表情识别等功能,此外,可以连接打印机把照片打印出来,并设计几种图像效果处理算法等。
 

 

硬件框图.JPG
系统框图:硬件框图.JPG
软件流程图.JPG
系统框图:软件流程图.JPG
计划书:双摄像头眨眼识别拍照系统.doc [702.5 KB]
当前项目状态:
参赛信息:
指导老师姓名: 周斌
指导老师职称: 副教授
学校: 清华大学
研究方向: 惯性技术、MEMS技术
参赛情况: OpenHW12开源硬件与嵌入式计算大赛
需求信息:
拟采用的平台:ZED板
是否需要设计扩展板?
需要的基本功能:
最新版本:
暂无发布的版本信息   了解目前项目的开发进度
相关评论:  
添加评论  更多评论
正在读取数据……
关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:aimei@eefocus.com  联系电话: 0512-80981663-8069    Fax:0512-80981279
Powered by eefocus.com