一种嵌入人脸跟踪方法技术

技术编号:19216023 阅读:27 留言:0更新日期:2018-10-20 06:49
本发明专利技术公开了一种嵌入式人脸跟踪方法,该方法依靠嵌入式人脸跟踪系统来实现,嵌入式人脸跟踪系统包括摄像头模块、显示模块、处理器模块以及通信模块,系统包括人脸检测主线程以及人脸跟踪子线程,主线程采用检测速度较快的PICO算法,实现了目标人脸的动态添加和删除,子线程对当前存在的人脸进行跟踪,跟踪结果实时返回主线程。本发明专利技术利用单摄像头和单处理器实现单目标或者多人脸跟踪,一旦目标对象的人脸被系统检测到,该目标在摄像头视野中的实时位置就可以被确定,无论目标对象采用何种姿势对人脸进行遮挡,都无法脱离跟踪系统;本方法保证了目标对象在视频流中的连续性,便于后续对目标对象的行为进行判断,以达到异常行为自动报警的目的。

【技术实现步骤摘要】
一种嵌入人脸跟踪方法
本专利技术涉及图像处理和计算机视觉
,具体的说是一种嵌入式人脸跟踪方法。
技术介绍
目前,我国正处于城镇化加速发展的时期,为解决城市发展难题,建设智慧城市已成为当今世界城市发展的一种潮流。智能安防是智慧城市建设的核心技术之一。智能安防的需要对于视频中人的身份、表情、行为等的分析与判断,而人脸识别是目前常用的非接触式的身份认证系统。与传统的指纹、密码等身份认证相比,人脸识别更加方便,对于客户也更加友好,因而成为当前身份认证的一种常用方法。但是,单纯的人脸识别系统很容易因客户发生移动、转换体态等动作而失效。如果这些情况发生,人脸检测系统将无法获取目标所在位置进行实施跟踪。
技术实现思路
本专利技术的目的是提供一种嵌入式人脸跟踪方法,实现人脸实时跟踪和标记,降低了现有的单纯人脸识别系统的漏警概率。为实现上述目的,本专利技术所采取的技术方案为:一种嵌入式人脸跟踪方法,该方法依靠嵌入式人脸跟踪系统来实现,嵌入式人脸跟踪系统包括摄像头模块、显示模块、处理器模块以及通信模块,摄像头模块通过GPIO接口与处理器模块连接,显示模块通过LCD显示器接口与处理器模块连接,通信模块通过串口与处理器模块连接,嵌入式人脸跟踪系统跟踪单目标人脸的方法包括以下步骤:步骤1、通过摄像头模块采集一幅当前环境的图片,利用256值RGB三通道数值化方法将图片信息存储在一个三通道矩阵中,将纯白色和纯黑色中三原色的值设定为255和0,中间根据光强均匀地划分为255等份,通过摄像头感光部分感知视野中所有位置红、绿、蓝三原色的强度,观察其落在哪个划分区间内,将其对应的数值填入矩阵对应位置;步骤2、通过PICO人脸检测方法获得当前人脸的位置,用矩阵的左上角点和矩阵尺寸表示;步骤3、若检测到当前场景中存在人脸,则关闭人脸检测模块,启动子线程;步骤4、将人脸位置作为参数传入子线程中的目标跟踪模块,利用OPENCV开源库中的单目标跟踪模块对主线程检测到的人脸位置进行跟踪,并将跟踪结果返回主线程;步骤5、判断主线程检测跟踪结果是否在图像区域内,若是将人脸位置标记在当前图像中,并在显示模块中显示,完成一次人脸跟踪;若否则结束子线程,返回步骤2,实现跟踪目标的动态刷新和跟踪结果的校正。一种嵌入式人脸跟踪方法,该方法依靠嵌入式人脸跟踪系统来实现,嵌入式人脸跟踪系统包括摄像头模块、显示模块、处理器模块以及通信模块,摄像头模块通过GPIO接口与处理器模块连接,显示模块通过LCD显示器接口与处理器模块连接,通信模块通过串口与处理器模块连接,嵌入式人脸跟踪系统跟踪多目标人脸的方法包括以下步骤:步骤1、通过摄像头模块采集一幅当前环境的图片,利用256值RGB三通道数值化方法将图片信息存储在一个三通道矩阵中,将纯白色和纯黑色中三原色的值设定为255和0,中间根据光强均匀地划分为255等份,通过摄像头感光部分感知视野中所有位置红、绿、蓝三原色的强度,观察其落在哪个划分区间内,将其对应的数值填入矩阵对应位置;步骤2、通过PICO等人脸检测方法获得当前人脸的位置,用矩阵的左上角点和矩阵尺寸表示,获取的人脸位置可能不止一个,将检测结果存储在标准C++容器vector中;步骤3、若检测到当前场景中存在人脸的数量N不为0,则通过pthread_kill函数获取当前线程的状态信息,若状态信息为无效,则创建子线程,将人脸位置作为参数传入子线程中的目标跟踪模块,利用OPENCV开源库中的多目标跟踪模块MultiTracker,采用TrackerKCF模块或TrackerTLD模块跟踪算法对主线程检测到的人脸位置进行跟踪,并将跟踪结果返回主线程;若状态信息有效,则计算N个区域与跟踪结果的N0个区域匹配度,采用遍历法得到N个检测人脸区域与N0个人脸跟踪区域重叠的区域及重叠区域的像素个数,取N个区域中重叠像素个数小于20的区域作为新的人脸区域加入多目标跟踪模块MultiTracker中,将新的跟踪结果返回主线程,实现了人脸的动态添加;步骤4、主线程检测所有的跟踪区域是否在图像区域内,若是则将人脸位置标记在当前图像中,并在显示模块中显示,完成一次人脸跟踪,否则结束子线程,返回步骤2,实现跟踪目标的动态刷新和跟踪结果的校正。优选的,所述OPENCV开源库中的单目标跟踪模块为TrackerKCF模块或TrackerTLD模块中的一种。优选的,所述嵌入式跟踪系统的跟踪结果标记在图像中,传入Qt界面图像槽中刷新,通过LCD显示屏排线传输到LCD显示屏上显示,并通过通讯模块将跟踪目标图像和位置传给上位机进行储存。优选的,所述嵌入式人脸跟踪系统在使用时首先搭建Linux系统下的交叉编译环境,采用友善之臂公司的arm-cortexa9-linux-gnueabihf-4.9.3工具链,利用Cmake工具编译32位动态链接库.so和.a,采用C/C++编程语言实现多线程单目标或多目标跟踪方法,交叉编译工具编译的32位可执行程序,利用可移动介质或无线通讯方法将编译好的库移植到嵌入式系统中,在嵌入式系统的开机启动项中设置开机自动运行该程序;算法采用像素级的PICO人脸检测方法;接通电源后系统将自动启动32位可执行程序,自检和启动系统中预设定的参数及摄像头,确定无误后创建Qtapp以及Qt定时器对象,定时器控制整个系统运行的速度,定时周期设定为毫秒级,每当定时器发出信号就进行一次实时的人脸跟踪。优选的,所述嵌入式人脸跟踪系统在人脸跟踪过程中,摄像头模块进行一次图像采集,将结果传入程序中的图像变量以后,通过双线性插值的方法将原始图像放缩为64×64的图像,提高了人脸检测速度。本专利技术所述的嵌入式人脸跟踪系统可以方便地切换32位与64位编译器,便于在PC端进行直接调试,从OPENCV官网下载源代码,采用上述交叉编译工具编译32位动态链接库.so和.a,利用可移动介质或无线通讯方法将编译好的库移植到嵌入式系统中。同时采用Linux系统搭建开发环境保持了与嵌入式系统的一致性。嵌入式人脸跟踪系统算法的实现和选取中,考虑到嵌入式设备低性能的问题,例如处理器的处理速度较慢、摄像头像素较低等因素,最终采用像素级的PICO人脸检测方法,该方法检测精度可达90%以上,且检测速度快,实时性好。本专利技术根据具体的识别任务设定参数选择单目标跟踪或者多目标跟踪算法,设定的原则为:若同一时刻只要求跟踪一个目标,则采用单目标跟踪方法,这种方法效率较高,故单目标跟踪任务不推荐使用多目标跟踪算法。其余情况均需采用多目标跟踪方法。本专利技术的有益效果为:(1)本专利技术利用单摄像头和单处理器实现单目标或者多人脸跟踪,一旦目标对象的人脸被系统检测到,该目标在摄像头视野中的实时位置就可以被确定,无论目标对象采用何种姿势对人脸进行遮挡,都无法脱离跟踪系统;(2)本方法保证了目标对象在视频流中的连续性,便于后续对目标对象的行为进行判断,以达到异常行为自动报警的目的;(3)在安防系统中,漏警所造成的后果要远大于虚警,本方法与原始的人脸系统相比,漏警概率大大降低,提高了人脸安防系统的可靠性。附图说明图1为本专利技术的整体流程示意图;图2为本专利技术的单目标人脸跟踪流程图;图3为本专利技术的多目标人脸跟踪流程图;图4为本专利技术的运行过程示意图。具体实施方式下面结合附图对本发本文档来自技高网...

【技术保护点】
1.一种嵌入式人脸跟踪方法,该方法依靠嵌入式人脸跟踪系统来实现,嵌入式人脸跟踪系统包括摄像头模块、显示模块、处理器模块以及通信模块,摄像头模块通过GPIO接口与处理器模块连接,显示模块通过LCD显示器接口与处理器模块连接,通信模块通过串口与处理器模块连接,其特征在于:嵌入式人脸跟踪系统跟踪单目标人脸的方法包括以下步骤:步骤1、通过摄像头模块采集一幅当前环境的图片,利用256值RGB三通道数值化方法将图片信息存储在一个三通道矩阵中,将纯白色和纯黑色中三原色的值设定为255和0,中间根据光强均匀地划分为255等份,通过摄像头感光部分感知视野中所有位置红、绿、蓝三原色的强度,观察其落在哪个划分区间内,将其对应的数值填入矩阵对应位置;步骤2、通过PICO人脸检测方法获得当前人脸的位置,用矩阵的左上角点和矩阵尺寸表示;步骤3、若检测到当前场景中存在人脸,则关闭人脸检测模块,启动子线程;步骤4、将人脸位置作为参数传入子线程中的目标跟踪模块,利用OPENCV开源库中的单目标跟踪模块对主线程检测到的人脸位置进行跟踪,并将跟踪结果返回主线程;步骤5、判断主线程检测跟踪结果是否在图像区域内,若是将人脸位置标记在当前图像中,并在显示模块中显示,完成一次人脸跟踪;若否则结束子线程,返回步骤2,实现跟踪目标的动态刷新和跟踪结果的校正。...

【技术特征摘要】
1.一种嵌入式人脸跟踪方法,该方法依靠嵌入式人脸跟踪系统来实现,嵌入式人脸跟踪系统包括摄像头模块、显示模块、处理器模块以及通信模块,摄像头模块通过GPIO接口与处理器模块连接,显示模块通过LCD显示器接口与处理器模块连接,通信模块通过串口与处理器模块连接,其特征在于:嵌入式人脸跟踪系统跟踪单目标人脸的方法包括以下步骤:步骤1、通过摄像头模块采集一幅当前环境的图片,利用256值RGB三通道数值化方法将图片信息存储在一个三通道矩阵中,将纯白色和纯黑色中三原色的值设定为255和0,中间根据光强均匀地划分为255等份,通过摄像头感光部分感知视野中所有位置红、绿、蓝三原色的强度,观察其落在哪个划分区间内,将其对应的数值填入矩阵对应位置;步骤2、通过PICO人脸检测方法获得当前人脸的位置,用矩阵的左上角点和矩阵尺寸表示;步骤3、若检测到当前场景中存在人脸,则关闭人脸检测模块,启动子线程;步骤4、将人脸位置作为参数传入子线程中的目标跟踪模块,利用OPENCV开源库中的单目标跟踪模块对主线程检测到的人脸位置进行跟踪,并将跟踪结果返回主线程;步骤5、判断主线程检测跟踪结果是否在图像区域内,若是将人脸位置标记在当前图像中,并在显示模块中显示,完成一次人脸跟踪;若否则结束子线程,返回步骤2,实现跟踪目标的动态刷新和跟踪结果的校正。2.一种嵌入式人脸跟踪方法,该方法依靠嵌入式人脸跟踪系统来实现,嵌入式人脸跟踪系统包括摄像头模块、显示模块、处理器模块以及通信模块,摄像头模块通过GPIO接口与处理器模块连接,显示模块通过LCD显示器接口与处理器模块连接,通信模块通过串口与处理器模块连接,其特征在于:嵌入式人脸跟踪系统跟踪多目标人脸的方法包括以下步骤:步骤1、通过摄像头模块采集一幅当前环境的图片,利用256值RGB三通道数值化方法将图片信息存储在一个三通道矩阵中,将纯白色和纯黑色中三原色的值设定为255和0,中间根据光强均匀地划分为255等份,通过摄像头感光部分感知视野中所有位置红、绿、蓝三原色的强度,观察其落在哪个划分区间内,将其对应的数值填入矩阵对应位置;步骤2、通过PICO等人脸检测方法获得当前人脸的位置,用矩阵的左上角点和矩阵尺寸表示,获取的人脸位置可能不止一个,将检测结果存储在标准C++容器vector中;步骤3、若检测到当前场景中存在人脸的数量N不为0,则通过pthread_kill函数获取当前线程的状态信息,若状态信息为无效,则创建子线程,将人脸位置...

【专利技术属性】
技术研发人员:马宏宾宋利周天翼李梓漩
申请(专利权)人:郑州目盼智能科技有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1