一种基于ZYNQ的实时行人与人脸检测方法技术

技术编号:19009460 阅读:113 留言:0更新日期:2018-09-22 09:17
本发明专利技术一种基于ZYNQ的实时行人与人脸检测方法,其通过ZYNQ中的FPGA实现特征提取,通过ZYNQ中的ARM实现系统调度控制,结果分析过滤,从而实现软件与硬件协同的检测功能,提高检测速度和检测的实时性。

A real-time pedestrian and face detection method based on ZYNQ

The invention is a real-time pedestrian and face detection method based on ZYNQ, which realizes feature extraction by FPGA in ZYNQ, realizes system scheduling control by ARM in ZYNQ, and analyzes and filters the results, thereby realizing the detection function of software and hardware, improving the detection speed and real-time detection.

【技术实现步骤摘要】
一种基于ZYNQ的实时行人与人脸检测方法
本专利技术涉及计算机视觉领域,具体涉及一种基于ZYNQ的实时行人与人脸检测方法。
技术介绍
行人跟踪和人脸抓拍是人工智能行业非常典型的应用,在安防,线下零售客流分析等诸多领域都有广泛的应用。传统的行人跟踪和人脸抓拍算法大多使用GPU,CPU和ARM嵌入式软件平台实现,明显的缺陷就是计算速度不足以满足高清视频环境下的实时性要求。随着应用不断的深入,需要在高清甚至全高清视频环境下能够实时实现行人跟踪,轨迹分析,流量统计,人脸抓拍等功能。FPGA作为现场实时可编程器件,凭借强大的并行性和对算法针对FPGA高度优化的系统架构和流水线结构,可以满足在高清和全高清视频环境下的实时行人检测等功能。
技术实现思路
本专利技术的目的在于提供一种基于ZYNQ的实时行人与人脸检测方法,其通过ZYNQ中的FPGA实现特征提取,通过ZYNQ中的ARM实现系统调度控制,结果分析过滤,从而实现软件与硬件协同的检测功能,提高检测速度和检测的实时性。为实现上述目的,本专利技术采用的技术方案是:一种基于ZYNQ的实时行人与人脸检测方法,其包括以下步骤:步骤1、特征提取在FPGA中,图像传感器通过UVC接口读入视频流,经过简单的图像预处理后对其进行色域空间转换,转换到RGB图像空间,然后使用HOG算法提取图像特征,提取完成后将结果传送给检测模块,以及通过AXI总线写回内存;步骤2、加载模型提取到特征后,将行人模型和人脸模型经过ARM端软件通过AXIGP口加载到FPGA,模型控制器根据不同的模型写入不同的RAM地址中,以供行人和人脸检测使用;所述行人模型和人脸模型使用SVM机器学习算法对大量经标定后的行人,人脸图片分多个方向模板训练,训练训练后得到各个方向的模板,训练后的模型不同方向有不同的模板大小,但是数据维度保持特征图维度一致;步骤3、结合加载的行人模型和人脸模型,对检测模块中的特征图进行行人检测和人脸检测;其中,行人检测分为两部分,首先使用行人模型对特征图进行卷积粗筛选,筛选后通过阈值的特征点再取出来对其邻域做进一步的局部细筛选,以确认当前点是否为目标点,如果是,将其坐标和得分及其对应的模型方向进行存储到内存中,如果不是则将其丢弃,处理下一个点;人脸检测为:使用加载到FPGA端的人脸模型对特征图的各个尺度做卷积滑窗,卷积求和得到的结果,将该结果和模型的阈值做比较,超出阈值的即为目标点,将目标点的坐标和得分及其对应的模型方向存储到内存中;当完成一帧图像的检测后,将行人检测和人脸检测得到的目标点信息上传到ARM端;步骤4、ARM端接收目标点信息并进行行人脸框合并,然后提取兴趣坐标点,返回传输给FPGA端,FPGA端对兴趣坐标点周边区域再次做图像特征分析,提取目标区域的颜色与梯度信息属性,返回给ARM端,ARM端根据目标区域的颜色与梯度信息属性判断前一帧和后一帧是否属于同一人。所述步骤3中,人脸检测的卷积粗筛选使用SVM训练得到的四组模板对特征图的各个尺度做滑窗卷积计算,每个特征有16个维度信息,卷积对应相乘求和得到当前特征点的得分,超过相应阈值的点则写入FIFO中;进行卷积细筛选时,从FIFO中取出相应位置的数据,取到的特征点在其21*21的领域,SVM分类器通过训练挑选16个点,使用6*6的卷积核在9*9的范围内做搜索,搜索得到的最大卷积值和阈值做比较,超过设定的阈值则为目标点,将其将该坐标输出给软件层,否则丢弃。所述步骤1中,进行特征提取时,对输入的图像进行15级缩放,每次缩小1.14倍,并对每次缩小后的图像进行提取图像梯度特征。本专利技术核心在于使用低密度的ZYNQ器件实现了一整套行人检测跟踪,人脸抓拍等功能,通过深度优化灵活的FPGA设计架构,算法深度压缩检测模型,减少FPGA动态功耗,深度层级的流水线与满负荷运行计算的BRAM和DSP资源,我们实现了不低于25帧的实时检测。附图说明图1为ZYNQ系统通信框图;图2为本专利技术系统框图;图3为本专利技术视频输入与特征点提取流程图;图4为本专利技术卷积加速架构。具体实施方式如图1所示,本专利技术揭示了一种基于ZYNQ的实时行人与人脸检测方法,其包括以下步骤:步骤1、特征提取如图2和图3所示,图像传感器通过UVC接口读入视频流,经过彩色图转灰度图处理,再使用中值滤波对原始图像做实时滤波处理,之后使用HOG算法提取图像特征,提取完成后将结果通过AXI总线写回内存。因为特征图数据量非常大,FPGA芯片上无法存储这么大容量的数据,但是DDR具有很大的存储空间,和高带宽,可以满足。在使用HOG算法提图像特征时,全局使用流水线设计,进行了图像缩放,梯度计算,直方图统计,归一化,维度计算,PCA降维减少冗余数据处理等操作,从而完成图像特征的提取。为了检测不同大小的目标物,我们做了15级缩放,每次缩小1.14倍,每次缩放后要将图片存到内存中以供下一级缩放使用;每次缩小后的图像对其进行提取图像梯度特征。每一级处理都实现实时流水线处理,所有计算过程满负荷运行,高度优化FPGA内部DSP,BRAM的计算和存储带宽。对于HOG产生的向量维度,我们做了进一步的压缩,提取每个维度的主成分,方法为PCA降维,使用真双口RAM对其计算加速,同时输出两组PCA系数,为了在节省资源和调节流水线周期上取平衡,分两个时钟完成一个维度矩阵相乘累加计算能够最大化的提升效率和资源平衡。步骤2、加载模型如图2所示,提取到特征后,将行人模型和人脸模型经过ARM端软件通过AXIGP口加载到FPGA端,模型控制器根据不同的模型将其写入不同的RAM地址中,以供行人和人脸检测使用。模型控制器通过不同的配置方式,动态加载不同模型,以适配不同目标和不同尺寸。上述模型使用SVM机器学习算法对大量经标定后的行人,人脸图片分多个方向模板训练,训练训练后得到各个方向的模板,训练后的模型不同方向有不同的模板大小,但是数据维度保持和特征图维度一致。步骤3、结合加载的行人模型和人脸模型,对检测模块中的特征图进行行人检测和人脸检测。如图2所示,行人检测分为两部分,首先需要使用行人模型对特征图进行卷积粗筛选,即rootfilterconvolution模块,筛选后通过阈值的特征点再取出来对其邻域做进一步的局部细筛选,以确认当前点是否为目标点,即partfilterconvlotion模块。如果是,将其坐标和得分及其对应的模型方向存储到内存中,如果不是(得分不通过阈值)则将其丢弃,处理下一个点。具体地,卷积粗筛选使用SVM训练得到的四组模板(正面,反面,左面,右面)对特征图的各个尺度做滑窗卷积计算,每个特征有16个维度信息,卷积对应相乘求和得到当前特征点的得分,超过相应阈值的点则写入FIFO中。局部细筛选从FIFO中取出相应位置的数据,这样保证卷积粗筛选和局部细筛选两个模块能够并行工作。卷积粗筛选取到的特征点在其21*21的领域,SVM分类器通过训练挑选16个点,使用6*6的卷积核在9*9的范围内做搜索,搜索得到的最大卷积值和阈值做比较,超过设定的阈值将该坐标存储到内存中,否则丢弃。通过优化使用BRAM和DSP的使用,最大化利用其带宽和性能,BRAM接口设置为64bit,刚好利用xilinx36kbram。一行同时做4个维度的卷积,根据模型的行本文档来自技高网...
一种基于ZYNQ的实时行人与人脸检测方法

【技术保护点】
1.一种基于ZYNQ的实时行人与人脸检测方法,其特征在于:包括以下步骤:步骤1、特征提取在FPGA端,图像传感器通过UVC接口读入视频流,经过简单的图像预处理后对其进行色域空间转换,转换到RGB图像空间,然后使用HOG算法提取图像特征,提取完成后将结果传送给检测模块,以及通过AXI总线写回内存;步骤2、加载模型提取到特征后,将行人模型和人脸模型经过ARM端软件通过AXI GP口加载到FPGA端,模型控制器根据不同的模型写入不同的RAM地址中,以供行人和人脸检测使用;所述行人模型和人脸模型使用SVM机器学习算法对大量经标定后的行人,人脸图片分多个方向模板训练,训练训练后得到各个方向的模板,训练后的模型不同方向有不同的模板大小,但是数据维度保持特征图维度一致;步骤3、结合加载的行人模型和人脸模型,对检测模块中的特征图进行行人检测和人脸检测;其中,行人检测分为两部分,首先使用行人模型对特征图进行卷积粗筛选,筛选后通过阈值的特征点再取出来对其邻域做进一步的局部细筛选,以确认当前点是否为目标点,如果是,将其坐标和得分及其对应的模型方向进行存储到内存中,如果不是则将其丢弃,处理下一个点;人脸检测为:使用加载到FPGA端的人脸模型对特征图的各个尺度做卷积滑窗,卷积求和得到的结果,将该结果和模型的阈值做比较,超出阈值的即为目标点,将目标点的坐标和得分及其对应的模型方向存储到内存中;当完成一帧图像的检测后,将行人检测和人脸检测得到的目标点信息上传到ARM端;步骤4、ARM端接收目标点信息并进行行人脸框合并,然后提取兴趣坐标点,返回传输给FPGA端,FPGA端对兴趣坐标点周边区域再次做图像特征分析,提取目标区域的颜色与梯度信息属性,返回给ARM端,ARM端根据目标区域的颜色与梯度信息属性判断前一帧和后一帧是否属于同一人。...

【技术特征摘要】
1.一种基于ZYNQ的实时行人与人脸检测方法,其特征在于:包括以下步骤:步骤1、特征提取在FPGA端,图像传感器通过UVC接口读入视频流,经过简单的图像预处理后对其进行色域空间转换,转换到RGB图像空间,然后使用HOG算法提取图像特征,提取完成后将结果传送给检测模块,以及通过AXI总线写回内存;步骤2、加载模型提取到特征后,将行人模型和人脸模型经过ARM端软件通过AXIGP口加载到FPGA端,模型控制器根据不同的模型写入不同的RAM地址中,以供行人和人脸检测使用;所述行人模型和人脸模型使用SVM机器学习算法对大量经标定后的行人,人脸图片分多个方向模板训练,训练训练后得到各个方向的模板,训练后的模型不同方向有不同的模板大小,但是数据维度保持特征图维度一致;步骤3、结合加载的行人模型和人脸模型,对检测模块中的特征图进行行人检测和人脸检测;其中,行人检测分为两部分,首先使用行人模型对特征图进行卷积粗筛选,筛选后通过阈值的特征点再取出来对其邻域做进一步的局部细筛选,以确认当前点是否为目标点,如果是,将其坐标和得分及其对应的模型方向进行存储到内存中,如果不是则将其丢弃,处理下一个点;人脸检测为:使用加载到FPGA端的人脸模型对特征图的各个尺度做卷积滑窗,卷积求和得到的结果,将该结果和模型的阈值做比较,超出阈值的即为目...

【专利技术属性】
技术研发人员:王经纬于淼黄春辉
申请(专利权)人:厦门瑞为信息技术有限公司
类型:发明
国别省市:福建,35

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

1