CN111881715A - 一种人脸检测硬件加速方法、系统和设备 - Google Patents
一种人脸检测硬件加速方法、系统和设备 Download PDFInfo
- Publication number
- CN111881715A CN111881715A CN202010496965.XA CN202010496965A CN111881715A CN 111881715 A CN111881715 A CN 111881715A CN 202010496965 A CN202010496965 A CN 202010496965A CN 111881715 A CN111881715 A CN 111881715A
- Authority
- CN
- China
- Prior art keywords
- image
- window
- module
- sub
- square
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/166—Detection; Localisation; Normalisation using acquisition arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明属于计算机视觉技术领域,公开了一种人脸检测硬件加速方法、系统和设备,包括AXI从端接口模块、待检测图像缓存模块、图像尺寸缩小模块、图像子窗口积分及平方积分模块、标准化因数求解模块、图像子窗口分类模块、人脸窗口信息缓存模块。本发明基于硬件描述语言设计,可应用于FPGA上,具有开发成本低、开发周期短、可配置性高等优点;减少了数据处理的等待时间,提高了人脸检测的实时性;采用特殊的加速结构,在填充一定量的数据之后,可以在一个时钟周期内生成20*20子窗口的积分图和平方积分图,减少了后续处理过程的等待时间。本发明实现低成本嵌入式SOC系统也能够进行实时人脸检测的需求。
Description
技术领域
本发明属于计算机视觉技术领域,尤其涉及一种人脸检测硬件加速方法、系统和设备。
背景技术
目前,人脸检测是完成人脸识别、表情识别、人脸跟踪等基于人脸图像信息处理的基础,随着人脸识别在各种安全领域的视频监控和身份识别系统的广泛应用,需要进行人脸检测的场景越来越多,使用嵌入式设备进行人脸检测的需求越来越多。能够满足实时人脸检测要求的高性能嵌入式设备成本相对较高,而低成本的嵌入式平台计算能力有限,在采用纯软件处理人脸检测这类计算复杂度高、存取数据量大的算法时,无法实现实时处理。因此在嵌入式SOC平台中增加人脸检测硬件加速结构,是解决低成本嵌入式系统无法实时人脸检测的有效方法之一。
通过上述分析,现有技术存在的问题及缺陷为:
(1)现有满足实时人脸检测要求的高性能嵌入式设备成本相对较高,而低成本的嵌入式平台计算能力有限。
(2)现有在采用纯软件处理人脸检测这类计算复杂度高、存取数据量大的算法时,无法实现实时处理。
解决以上问题及缺陷的难度在于如何以低成本的嵌入式设备实现高性能的人脸检测功能。解决以上问题及缺陷的意义为:
在嵌入式SOC系统中加入人脸检测硬件加速器可以以更低的成本、更低的功耗、更高的性能实现人脸检测功能,扩大基于人脸检测功能的系统的适用范围,为人脸识别系统的低成本应用场景提供基础,具有很高的实际工程应用价值。
发明内容
针对现有技术存在的问题,本发明提供了一种人脸检测硬件加速方法、系统和设备。
本发明是这样实现的,一种人脸检测硬件加速方法,所述人脸检测硬件加速方法包括:
第一步,连接在AXI总线上的嵌入式CPU从图像采集设备上实时获取待检测图像,由CPU进行灰度化,通过AXI总线将灰度图像数据发送给人脸检测硬件加速器;
第二步,硬件加速器的从端接口模块接收到数据后将灰度图像数据写入待检测图像缓存模块进行保存,供图像尺寸缩小模块和图像子窗口积分及平方积分模块使用;
第三步,图像尺寸缩小模块根据预先设置的缩小比例,按照最近邻采样算法,根据缩小后图像中像素的坐标,计算出缩小后图像中像素在原始待检测图像中的坐标,并生成RAM地址,从待检测图像缓存模块中读取像素灰度值,传送给图像子窗口平方积分图;
第四步,图像子窗口积分及平方积分模块接受缩小图像的像素,计算出子窗口的积分图和平方积分图,并由特殊的硬件结构同时实现滑窗操作,在填充20行图像像素之后,可以实现每个时钟周期输出一个子窗口的积分图及平方积分图;
第五步,标准化因数求解模块依据子窗口的积分图和平方积分图计算出子窗口的标准化因数,并将结果和对应的子窗口积分图以及子窗口的坐标和比例交给图像子窗口分类模块对子窗口进行分类;
第六步,图像子窗口分类模块使用基于Haar特征的Adaboost算法对图像子窗口进行分类,并将分类为人脸的窗口的坐标和尺寸信息发送到人脸窗口信息缓存模块进行缓存;
第七步,AXI从接口模块在CPU发出读取分类结果的命令之后,从人脸窗口信息缓存模块读取数据,传输给AXIMaster,将结果存储到嵌入式系统的RAM中。
进一步,所述图像尺寸缩小模块采用最近邻插值算法,对存储在待检测图像缓存模块中的图像进行缩小,进行不同尺度的人脸检测;检测窗口的尺寸设置为20x20,图像缩小的比例设置为1.25,缩小后最小的图像尺寸应该要大于检测窗口的尺寸,则图像缩小的比例因子的个数为N,N满足以下关系:
min(图像宽度,图像高度)/1.25N-1<20<min(图像宽度,图像高度)/1.25N;
对于640x480像素图像,图像缩小的比例因子有15个,对图像缩小的比例因子采用2bit小数位定点化表示,所以15个比例因子分别为:0b00001.00,0b00001.01,0b00001.10,0b00010.00,0b00010.10,0b00011.00,0b00011.11,0b00100.11,0b00110.00,0b00111.10,0b01001.01,0b01011.11,0b01110.10,0b10010.01,0b10110.11;采用虚拟图像的方式直接从待检测图像缓存模块中直接读取所需坐标的图像灰度像素值。将原始图像按照某一比例缩小但并不实际存储的图像称为虚拟图像;根据不同的缩放比例因子,图像尺寸缩小模块依次生成对应比例下虚拟图像中左上角至右下角像素在待检测图像缓存模块中的RAM地址,读取相应的像素值传输给图像子窗口积分及平方积分模块。
进一步,所述人脸检测硬件加速方法采用寄存器阵列存储一个20x20子窗口的积分图,实现图像子窗口积分图的结构分为列和模块和积分模块,列和模块用于计算图像子窗口每一列的前缀和,积分模块利用每一列的前缀和计算子窗口的积分图。
进一步,所述列和模块使用公式:
col(i)next=col(i+1)mem-col(0)mem;for 0≤i<19
col(19)next=col(19)mem-col(0)mem+newData;for i=19;
式中col(i)next是将要写入RAM-i的值,col(i)mem是从RAM-i中读出的值;
所述积分模块由441个17bit寄存器和462个加法器构成,图像积分图是指图像中坐标(x,y)左上方所有像素的求和:
其中ii(x,y)是积分图像,i(x,y)是原始图像,积分图的第0行和第0列全为0。积分模块的输入是列和模块求得的列前缀和,其求解积分图的计算过程可以归纳为下式:
arr(i,j)next=arr(i,j+1)reg-arr(i,1)reg,for 0<j<20
arr(i,20)next=arr(i,20)reg-arr(i,0)reg+newData(i),for j=20
arr(i,0)reg=0
arr(0,j)reg=0;
式中arr(i,j)reg是当前时钟周期第i行第j列寄存器的值,arr(i,j)next是下一时钟周期第i行第j列寄存器的值,newData(i)是第i行的列前缀和值。
进一步,所述人脸检测硬件加速方法实现图像子窗口平方积分图的结构分为列平方和模块和平方积分模块,列平方和模块用于计算图像子窗口每一列的平方前缀和,积分模块利用每一列的平方前缀和来计算子窗口的平方积分图;列平方和模块的输入数据是像素值的平方,列平方和模块的RAM数据宽度为21bit,平方积分模块的寄存器阵列中寄存器的宽度为25bit;
标准化因数求解模块用于计算图像子窗口的Haar特征标准化因数,其定义为:
其中i(x,y)是图像子窗口中坐标为(x,y)处的灰度值,i2(x,y)是图像子窗口中坐标为(x,y)处的灰度值的平方,图像子窗口积分及平方积分模块已经计算出了待检测图像子窗口积分图和平方积分图,表示为:
其中sum(x,y)是图像子窗口积分图中坐标为(x,y)处的值,sqsum(x,y)是图像子窗口平方积分图中坐标为(x,y)处的值。
进一步,所述人脸检测硬件加速方法的图像子窗口分类模块采用基于Haar特征的Adaboost算法对待检测子窗口进行分类,Adaboost分类模型是在x86主机上使用OpenCV训练得到的,Adaboost分类器使用22级强分类器级联构成,每级强分类器由若干Haar弱分类器并列组成,22级强分类器总共有2135个Haar弱分类器,Haar弱分类器由Haar特征、弱分类器阈值、左值、右值构成,其输出遵循以下公式:
强分类器由强分类器阈值和若干Haar弱分类器并列构成,在每一级强分类器中,弱分类器相互独立运算并输出左值或右值,将本级强分类器中的每一个弱分类器的输出值求和,求和结果与本级强分类器的阈值进行对比,当求和结果大于本级强分类器的阈值时,本级强分类器认为待检测窗口包含人脸;当一个待检测窗口通过所有22级强分类器时,将该窗口分类为人脸窗口,否则将其分类为非人脸窗口。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
第一步,连接在AXI总线上的嵌入式CPU从图像采集设备上实时获取待检测图像,由CPU进行灰度化,通过AXI总线将灰度图像数据发送给人脸检测硬件加速器;
第二步,硬件加速器的从端接口模块接收到数据后将灰度图像数据写入待检测图像缓存模块进行保存,供图像尺寸缩小模块和图像子窗口积分及平方积分模块使用;
第三步,图像尺寸缩小模块根据预先设置的缩小比例,按照最近邻采样算法,根据缩小后图像中像素的坐标,计算出缩小后图像中像素在原始待检测图像中的坐标,并生成RAM地址,从待检测图像缓存模块中读取像素灰度值,传送给图像子窗口平方积分图;
第四步,图像子窗口积分及平方积分模块接受缩小图像的像素,计算出子窗口的积分图和平方积分图,并由特殊的硬件结构同时实现滑窗操作,在填充20行图像像素之后,可以实现每个时钟周期输出一个子窗口的积分图及平方积分图;
第五步,标准化因数求解模块依据子窗口的积分图和平方积分图计算出子窗口的标准化因数,并将结果和对应的子窗口积分图以及子窗口的坐标和比例交给图像子窗口分类模块对子窗口进行分类;
第六步,图像子窗口分类模块使用基于Haar特征的Adaboost算法对图像子窗口进行分类,并将分类为人脸的窗口的坐标和尺寸信息发送到人脸窗口信息缓存模块进行缓存;
第七步,AXI从接口模块在CPU发出读取分类结果的命令之后,从人脸窗口信息缓存模块读取数据,传输给AXIMaster,将结果存储到嵌入式系统的RAM中。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
第一步,连接在AXI总线上的嵌入式CPU从图像采集设备上实时获取待检测图像,由CPU进行灰度化,通过AXI总线将灰度图像数据发送给人脸检测硬件加速器;
第二步,硬件加速器的从端接口模块接收到数据后将灰度图像数据写入待检测图像缓存模块进行保存,供图像尺寸缩小模块和图像子窗口积分及平方积分模块使用;
第三步,图像尺寸缩小模块根据预先设置的缩小比例,按照最近邻采样算法,根据缩小后图像中像素的坐标,计算出缩小后图像中像素在原始待检测图像中的坐标,并生成RAM地址,从待检测图像缓存模块中读取像素灰度值,传送给图像子窗口平方积分图;
第四步,图像子窗口积分及平方积分模块接受缩小图像的像素,计算出子窗口的积分图和平方积分图,并由特殊的硬件结构同时实现滑窗操作,在填充20行图像像素之后,可以实现每个时钟周期输出一个子窗口的积分图及平方积分图;
第五步,标准化因数求解模块依据子窗口的积分图和平方积分图计算出子窗口的标准化因数,并将结果和对应的子窗口积分图以及子窗口的坐标和比例交给图像子窗口分类模块对子窗口进行分类;
第六步,图像子窗口分类模块使用基于Haar特征的Adaboost算法对图像子窗口进行分类,并将分类为人脸的窗口的坐标和尺寸信息发送到人脸窗口信息缓存模块进行缓存;
第七步,AXI从接口模块在CPU发出读取分类结果的命令之后,从人脸窗口信息缓存模块读取数据,传输给AXIMaster,将结果存储到嵌入式系统的RAM中。
本发明的另一目的在于提供一种实施所述人脸检测硬件加速方法的人脸检测硬件加速系统,所述人脸检测硬件加速系统包括:
AXI从端接口模块,用于向待检测图像缓存模块和控制寄存器写入数据以及从人脸窗口信息缓存模块和状态寄存器读取数据;
待检测图像缓存模块,用于使用双端口RAM缓存待检测的图像的256级灰度像素值;
图像尺寸缩小模块,用于采用最近邻插值方法,依据图像尺寸缩小的比例,从图像缓存模块BRAM中读取特定灰度像素值,传送给图像子窗口积分及平方积分模块;
图像子窗口积分及平方积分模块,用于计算20*20图像子窗口的积分图和平方积分图;
标准化因数求解模块,用于计算图像子窗口的Haar特征标准化因数;
图像子窗口分类模块,用于利用基于Haar特征的Adaboost分类方法对图像子窗口进行分类,指出图像子窗口是否为人脸窗口;
人脸窗口信息缓存模块,用于使用FIFO对图像子窗口分类模块分类结果中的人脸窗口的左上角坐标和窗口的尺寸信息进行缓存,在AXI从端接口请求读取时,将人脸窗口信息传输给AXI主端;
AXI从端接口模块设置标准AXISlave接口用于与AXI总线的Master进行数据交互,另一方面设置写RAM端口、写控制寄存器端口、读状态寄存器端口、读FIFO端口;写RAM端口连接待检测图像缓存模块,将AXIMaster传送的灰度像素值按照指定的地址写入检测图像缓存模块的双端口RAM中;写控制寄存器端口连接控制寄存器,用于将AXIMaster传送的控制信息写入控制寄存器;读状态寄存器端口连接状态寄存器,用于读取状态寄存器信息;读FIFO端口连接人脸窗口信息缓存模块,用于从人脸窗口信息缓存模块内部的FIFO中读取人脸窗口的尺寸和坐标;
所述人脸检测系统实现图像子窗口积分图的结构分为列和模块和积分模块,列和模块用于计算图像子窗口每一列的前缀和,积分模块利用每一列的前缀和来计算子窗口的积分图;
列和模块包含20个深度为640、宽度为13bit的双端口RAM和21个加法器,ND是传入模块的来自待检测图像缓存模块的新数据,RA是双端口RAM的读端口的地址,RD是从双端口RAM中读出的数据,CS是存储在当前读地址的列前缀和数据,WD是写入双端口RAM的数据,用来更新下一列的前缀和,WA是双端口RAM写端口的地址;
所述图像子窗口分类模块采用基于Haar特征的Adaboost算法对待检测子窗口进行分类,Adaboost分类器使用22级强分类器级联构成,每级强分类器由若干Haar弱分类器并列组成,22级强分类器总共有2135个Haar弱分类器;Haar弱分类器每个Haar特征由2~3个矩形组成;Haar弱分类器由流水线结构组成。图像子窗口分类模块采用硬件全并行结构设计;强分类器共有22个,每一个强分类器中有数量不等的Haar弱分类器。
本发明的另一目的在于提供一种人脸检测终端,所述人脸检测终端搭载所述的人脸检测系统。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明基于硬件描述语言设计,可应用于FPGA、CPLD、SOC上,具有开发成本低、开发周期短、可配置性高等优点。本发明图像缓存、图像缩小、图像子窗口积分及平方积分、标准化因数求解、图像子窗口分类使用流水线技术,减少了数据处理的等待时间,提高了人脸检测的实时性。本发明具备一定的可配置性和通用性,可以在硬件描述语言编译综合之前通过参数设置该硬件结构能处理的最大图像尺寸,例如1280*960,640*480,320*240等。
本发明的图像子窗口积分及平方积分模块计算20*20图像子窗口的积分图和平方积分图。该模块采用特殊的加速结构,在填充一定量的数据之后,可以在一个时钟周期内生成20*20子窗口的积分图和平方积分图,减少了后续处理过程的等待时间。
本发明基于Haar特征的Adaboost人脸检测算法硬件加速结构,使用AXI总线接口协议,可以灵活的集成在嵌入式SOC平台中,实现低成本嵌入式SOC系统也能够进行实时人脸检测的需求。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的人脸检测硬件加速方法流程图。
图2是本发明实施例提供的人脸检测硬件加速系统的结构示意图。
图3是本发明实施例提供的图像子窗口积分及平方积分模块中列和模块的结构图。
图4是本发明实施例提供的图像子窗口积分及平方积分模块中积分模块的结构图。
图5是本发明实施例提供的图像子窗口分类模块中Haar弱分类器的结构图。
图6是本发明实施例提供的图像子窗口分类模块中级联强分类器的结构图。
图7是本发明实施例提供的在某RISC嵌入式开发平台和FPGA原型验证平台上实现如前所述的人脸识别系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种人脸检测硬件加速方法、系统和设备,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的人脸检测硬件加速方法包括以下步骤:
S101:连接在AXI总线上的嵌入式CPU从图像采集设备上实时获取待检测图像,由CPU进行灰度化,然后通过AXI总线将灰度图像数据发送给人脸检测硬件加速器;
S102:硬件加速器的从端接口模块接收到数据后将灰度图像数据写入待检测图像缓存模块进行保存,供图像尺寸缩小模块和图像子窗口积分及平方积分模块使用;
S103:图像尺寸缩小模块根据预先设置的缩小比例,按照最近邻采样算法,根据缩小后图像中像素的坐标,计算出缩小后图像中像素在原始待检测图像中的坐标,并生成RAM地址,从待检测图像缓存模块中读取像素灰度值,传送给图像子窗口平方积分图;
S104:图像子窗口积分及平方积分模块接受缩小图像的像素,计算出子窗口的积分图和平方积分图,并由特殊的硬件结构同时实现滑窗操作,在填充20行图像像素之后,可以实现每个时钟周期输出一个子窗口的积分图及平方积分图;
S105:标准化因数求解模块依据子窗口的积分图和平方积分图计算出子窗口的标准化因数,并将结果和对应的子窗口积分图以及子窗口的坐标和比例交给图像子窗口分类模块对子窗口进行分类;
S106:图像子窗口分类模块使用基于Haar特征的Adaboost算法对图像子窗口进行分类,并将分类为人脸的窗口的坐标和尺寸信息发送到人脸窗口信息缓存模块进行缓存;
S107:AXI从接口模块在CPU发出读取分类结果的命令之后,从人脸窗口信息缓存模块读取数据,传输给AXIMaster,将结果存储到嵌入式系统的RAM中。
如图2所示,本发明提供的人脸检测系统包括:AXI从端接口模块、待检测图像缓存模块、图像尺寸缩小模块、图像子窗口积分及平方积分模块、标准化因数求解模块、图像子窗口分类模块、人脸窗口信息缓存模块。
AXI从端接口模块,用于向待检测图像缓存模块和控制寄存器写入数据以及从人脸窗口信息缓存模块和状态寄存器读取数据。
待检测图像缓存模块,用于使用双端口RAM缓存待检测的图像的256级灰度像素值。
图像尺寸缩小模块,用于采用最近邻插值方法,依据图像尺寸缩小的比例,从图像缓存模块BRAM中读取特定灰度像素值,传送给图像子窗口积分及平方积分模块。
图像子窗口积分及平方积分模块,用于计算20*20图像子窗口的积分图和平方积分图。
标准化因数求解模块,用于计算图像子窗口的Haar特征标准化因数。
图像子窗口分类模块,用于利用基于Haar特征的Adaboost分类方法对图像子窗口进行分类,指出图像子窗口是否为人脸窗口。
人脸窗口信息缓存模块,用于使用FIFO对图像子窗口分类模块分类结果中的人脸窗口的左上角坐标和窗口的尺寸信息进行缓存,在AXI从端接口请求读取时,将人脸窗口信息传输给AXI主端。
AXI从端接口模块一方面设置了标准AXISlave接口用于与AXI总线的Master进行数据交互,另一方面设置写RAM端口、写控制寄存器端口、读状态寄存器端口、读FIFO端口。写RAM端口连接待检测图像缓存模块,将AXIMaster传送的灰度像素值按照指定的地址写入检测图像缓存模块的双端口RAM中;写控制寄存器端口连接控制寄存器,用于将AXIMaster传送的控制信息写入控制寄存器;读状态寄存器端口连接状态寄存器,用于读取状态寄存器信息;读FIFO端口连接人脸窗口信息缓存模块,用于从人脸窗口信息缓存模块内部的FIFO中读取人脸窗口的尺寸和坐标。
下面结合附图对本发明的技术方案作进一步的描述。
本发明提出基于AXI协议的Adaboost人脸检测硬件结构,利用硬件并行计算能力和流水线技术,采用软硬件协同设计方法,使用硬件描述语言进行设计,所述的硬件结构框图如图1所示,包括AXI从端接口模块、待检测图像缓存模块、图像尺寸缩小模块、图像子窗口积分及平方积分模块、标准化因数求解模块、图像子窗口分类模块、人脸窗口信息缓存模块。
在包含人脸的图像中,人脸的尺寸是不固定的,为了检测不同尺寸的人脸窗口,一般有两种方法,一种是检测窗口的尺寸不变,而不断缩小待检测图像的尺寸,另一种是保持图像的尺寸不变,而不断扩大检测窗口的尺寸。当检测窗口的尺寸不变时,图像子窗口分类模块的结构和参数就是固定不变的,在硬件上更容易实现,因此本发明采用第一种方法。图像尺寸缩小模块采用最近邻插值算法,对存储在待检测图像缓存模块中的图像进行缩小,以进行不同尺度的人脸检测。在本发明的实施例中,检测窗口的尺寸设置为20x20,图像缩小的比例设置为1.25,缩小后最小的图像尺寸应该要大于检测窗口的尺寸,则图像缩小的比例因子的个数为N,N满足以下关系:
min(图像宽度,图像高度)/1.25N-1<20<min(图像宽度,图像高度)/1.25N
对于640x480像素图像,图像缩小的比例因子有15个(1.250~1.2514)。为了降低计算成本,对图像缩小的比例因子采用2bit小数位定点化表示,所以15个比例因子分别为:0b00001.00,0b00001.01,0b00001.10,0b00010.00,0b00010.10,0b00011.00,0b00011.11,0b00100.11,0b00110.00,0b00111.10,0b01001.01,0b01011.11,0b01110.10,0b10010.01,0b10110.11。在本发明内部不设置独立的存储结构缓存缩小之后的图像,而是采用虚拟图像的方式直接从待检测图像缓存模块中直接读取所需坐标的图像灰度像素值。将原始图像按照某一比例缩小但并不实际存储的图像称为虚拟图像。例如将要送往图像子窗口积分及平方积分模块的是缩小4倍的虚拟图像中坐标(15,13)处的像素值,则根据最近邻算法,其等于原始图像中(60,52)处的像素值。根据不同的缩放比例因子,图像尺寸缩小模块依次生成对应比例下虚拟图像中左上角至右下角像素在待检测图像缓存模块中的RAM地址,读取相应的像素值传输给图像子窗口积分及平方积分模块。
本发明提出的人脸检测硬件结构所采用的人脸检测算法为基于Haar特征的Adaboost算法。为了快速计算出大量的Haar矩形特征值,Viola等人提出图像积分图的概念,将Haar矩形特征值的求解由一系列求和操作简化成矩形四个顶点值的加减操作。在用软件实现该算法时,会先计算出缩小后的图像的积分图存储在内存中,后续计算Haar特征时再从内存中读出,受限于嵌入式设备内存的读写带宽,难以提升算法的执行速度。在硬件实现时,这样做有两个明显的问题,第一是存储整张图片的积分图需要大量的存储空间,而在芯片内部或者FPGA内部,RAM资源一般较为紧张,不适宜使用大量的存储;第二个问题是,采用片内RAM,每一时钟周期只能读取一个积分图数据,还是会受到读写带宽的限制。因此本发明的实施例采用寄存器阵列存储一个20x20子窗口的积分图,这样就解决了保存整张图像积分图需要大量内存的问题,同时由于寄存器组的每一个寄存器都可以直接与特征值计算模块连接,直接将数据从寄存器组中读出,极大提高了数据吞吐量。硬件实现图像子窗口积分图的结构分为列和模块和积分模块,列和模块用于计算图像子窗口每一列的前缀和,积分模块利用每一列的前缀和来计算子窗口的积分图。
列和模块的结构如图3所示,包含20个深度为640、宽度为13bit的双端口RAM和21个加法器。图中ND是传入模块的来自待检测图像缓存模块的新数据,RA是双端口RAM的读端口的地址,RD是从双端口RAM中读出的数据,CS是存储在当前读地址的列前缀和数据,WD是写入双端口RAM的数据,用来更新下一列的前缀和,WA是双端口RAM写端口的地址。RA从0递增到缩小图像的宽度,对于某一双端口RAM-n而言,就是将某一地址的值读出来,与RAM-0中该地址的值相减,再写入到RAM-n-1的相同地址,由于读RAM时数据与地址的延迟是1个时钟周期,所以WA等于上一时钟周期的RA值。使用公式总结如下:
col(i)next=col(i+1)mem-col(0)mem;for 0≤i<19
col(19)next=col(19)mem-col(0)mem+newData;for i=19
式中col(i)next是将要写入RAM-i的值,col(i)mem是从RAM-i中读出的值。
积分模块的结构如图4所示,因为20x20子窗口的积分图尺寸为21x21,所以积分模块由441个17bit寄存器和462个加法器构成。图像积分图是指图像中坐标(x,y)左上方所有像素的求和,即:
其中ii(x,y)是积分图像,i(x,y)是原始图像。所以积分图的第0行和第0列全为0。积分模块的输入是列和模块求得的列前缀和,其求解积分图的计算过程可以归纳为下式:
arr(i,j)next=arr(i,j+1)reg-arr(i,1)reg,for 0<j<20
arr(i,20)next=arr(i,20)reg-arr(i,0)reg+newData(i),for j=20
arr(i,0)reg=0
arr(0,j)reg=0
式中arr(i,j)reg是当前时钟周期第i行第j列寄存器的值,arr(i,j)next是下一时钟周期第i行第j列寄存器的值,newData(i)是第i行的列前缀和值。
硬件实现图像子窗口平方积分图的结构分为列平方和模块和平方积分模块,列平方和模块用于计算图像子窗口每一列的平方前缀和,积分模块利用每一列的平方前缀和来计算子窗口的平方积分图。列平方和模块和平方积分模块的结构与前述的列和模块和积分模块类似,有三处不同,一是列平方和模块的输入数据是像素值的平方,而是列平方和模块的RAM数据宽度为21bit,三是平方积分模块的寄存器阵列中寄存器的宽度为25bit。
标准化因数求解模块用于计算图像子窗口的Haar特征标准化因数,其定义为:
其中i(x,y)是图像子窗口中坐标为(x,y)处的灰度值,i2(x,y)是图像子窗口中坐标为(x,y)处的灰度值的平方。因为前述图像子窗口积分及平方积分模块已经计算出了待检测图像子窗口积分图和平方积分图,所以上式也可以表示为:
其中sum(x,y)是图像子窗口积分图中坐标为(x,y)处的值,sqsum(x,y)是图像子窗口平方积分图中坐标为(x,y)处的值。
图像子窗口分类模块采用基于Haar特征的Adaboost算法对待检测子窗口进行分类。Adaboost分类模型是在x86主机上使用OpenCV训练得到的。Adaboost分类器使用22级强分类器级联构成,每级强分类器由若干Haar弱分类器并列组成,22级强分类器总共有2135个Haar弱分类器。Haar弱分类器由Haar特征、弱分类器阈值、左值、右值构成,其输出遵循以下公式:
强分类器由强分类器阈值和若干Haar弱分类器并列构成。并列意味着在每一级强分类器中,弱分类器相互独立运算并输出左值或右值,然后将本级强分类器中的每一个弱分类器的输出值求和,求和结果与本级强分类器的阈值进行对比,当求和结果大于本级强分类器的阈值时,认为待检测窗口通过了本级强分类器,即本级强分类器认为待检测窗口包含人脸。当一个待检测窗口通过所有22级强分类器时,将该窗口分类为人脸窗口,否则将其分类为非人脸窗口。
Haar弱分类器的结构如图5所示。每个Haar特征由2~3个矩形组成,为方便硬件设计,全部拓展成由3个矩形构成。为提高硬件的利用率,Haar弱分类器由流水线结构组成。图像子窗口分类模块采用硬件全并行结构设计,结构框图如图6所示。强分类器共有22个,每一个强分类器中有数量不等的Haar弱分类器。
本发明的一个实施例是,在某RISC嵌入式开发平台和FPGA原型验证平台上实现如前所述的人脸识别系统,该系统的结构如下图7所示。
该实施例中,摄像头采集的图像分辨率的640*480像素,人脸检测功能既可以用纯软件的方式运行在某款RISC处理器开发板上,也可以在FPGA上部署人脸检测硬件加速器来实现人脸检测功能。使用者可以根据使用场景需要灵活选择。两种不同的实现方式的实验结果对比如下表所示。
实验结果显示,该实施例的人脸检测硬件加速器相对于该RISC处理器纯软件实现有着很高的性能提升。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种人脸检测硬件加速方法,其特征在于,所述人脸检测硬件加速方法包括:
第一步,连接在AXI总线上的嵌入式CPU从图像采集设备上实时获取待检测图像,由CPU进行灰度化,通过AXI总线将灰度图像数据发送给人脸检测硬件加速器;
第二步,硬件加速器的从端接口模块接收到数据后将灰度图像数据写入待检测图像缓存模块进行保存,供图像尺寸缩小模块和图像子窗口积分及平方积分模块使用;
第三步,图像尺寸缩小模块根据预先设置的缩小比例,按照最近邻采样算法,根据缩小后图像中像素的坐标,计算出缩小后图像中像素在原始待检测图像中的坐标,并生成RAM地址,从待检测图像缓存模块中读取像素灰度值,传送给图像子窗口平方积分图;
第四步,图像子窗口积分及平方积分模块接受缩小图像的像素,计算出子窗口的积分图和平方积分图,并由特殊的硬件结构同时实现滑窗操作,在填充20行图像像素之后,可以实现每个时钟周期输出一个子窗口的积分图及平方积分图;
第五步,标准化因数求解模块依据子窗口的积分图和平方积分图计算出子窗口的标准化因数,并将结果和对应的子窗口积分图以及子窗口的坐标和比例交给图像子窗口分类模块对子窗口进行分类;
第六步,图像子窗口分类模块使用基于Haar特征的Adaboost算法对图像子窗口进行分类,并将分类为人脸的窗口的坐标和尺寸信息发送到人脸窗口信息缓存模块进行缓存;
第七步,AXI从接口模块在CPU发出读取分类结果的命令之后,从人脸窗口信息缓存模块读取数据,传输给AXI Master,将结果存储到嵌入式系统的RAM中。
2.如权利要求1所述的人脸检测硬件加速方法,其特征在于,所述图像尺寸缩小模块采用最近邻插值算法,对存储在待检测图像缓存模块中的图像进行缩小,进行不同尺度的人脸检测;检测窗口的尺寸设置为20x20,图像缩小的比例设置为1.25,缩小后最小的图像尺寸应该要大于检测窗口的尺寸,则图像缩小的比例因子的个数为N,N满足以下关系:
min(图像宽度,图像高度)/1.25N-1<20<min(图像宽度,图像高度)/1.25N;
对于640x480像素图像,图像缩小的比例因子有15个,对图像缩小的比例因子采用2bit小数位定点化表示,所以15个比例因子分别为:0b00001.00,0b00001.01,0b00001.10,0b00010.00,0b00010.10,0b00011.00,0b00011.11,0b00100.11,0b00110.00,0b00111.10,0b01001.01,0b01011.11,0b01110.10,0b10010.01,0b10110.11;采用虚拟图像的方式直接从待检测图像缓存模块中直接读取所需坐标的图像灰度像素值,将原始图像按照某一比例缩小但并不实际存储的图像称为虚拟图像;根据不同的缩放比例因子,图像尺寸缩小模块依次生成对应比例下虚拟图像中左上角至右下角像素在待检测图像缓存模块中的RAM地址,读取相应的像素值传输给图像子窗口积分及平方积分模块。
3.如权利要求1所述的人脸检测硬件加速方法,其特征在于,所述人脸检测硬件加速方法采用寄存器阵列存储一个20x20子窗口的积分图,实现图像子窗口积分图的结构分为列和模块和积分模块,列和模块用于计算图像子窗口每一列的前缀和,积分模块利用每一列的前缀和计算子窗口的积分图。
4.如权利要求3所述的人脸检测硬件加速方法,其特征在于,所述列和模块使用公式:
col(i)next=col(i+1)mem-col(0)mem;for 0≤i<19
col(19)next=col(19)mem-col(0)mem+newData;for i=19;
式中col(i)next是将要写入RAM-i的值,col(i)mem是从RAM-i中读出的值;
所述积分模块由441个17bit寄存器和462个加法器构成,图像积分图是指图像中坐标(x,y)左上方所有像素的求和:
其中ii(x,y)是积分图像,i(x,y)是原始图像,积分图的第0行和第0列全为0,积分模块的输入是列和模块求得的列前缀和,其求解积分图的计算过程可以归纳为下式:
arr(i,j)next=arr(i,j+1)reg-arr(i,1)reg,for 0<j<20
arr(i,20)next=arr(i,20)reg-arr(i,0)reg+newData(i),for j=20
arr(i,0)reg=0
arr(0,j)reg=0;
式中arr(i,j)reg是当前时钟周期第i行第j列寄存器的值,arr(i,j)next是下一时钟周期第i行第j列寄存器的值,newData(i)是第i行的列前缀和值。
5.如权利要求1所述的人脸检测硬件加速方法,其特征在于,所述人脸检测硬件加速方法实现图像子窗口平方积分图的结构分为列平方和模块和平方积分模块;
列平方和模块用于计算图像子窗口每一列的平方前缀和,平方积分模块利用每一列的平方前缀和来计算子窗口的平方积分图;
列平方和模块的输入数据是像素值的平方,列平方和模块的RAM数据宽度为21bit,平方积分模块的寄存器阵列中寄存器的宽度为25bit;
标准化因数求解模块用于计算图像子窗口的Haar特征标准化因数,其定义为:
其中i(x,y)是图像子窗口中坐标为(x,y)处的灰度值,i2(x,y)是图像子窗口中坐标为(x,y)处的灰度值的平方,图像子窗口积分及平方积分模块已经计算出了待检测图像子窗口积分图和平方积分图,表示为:
其中sum(x,y)是图像子窗口积分图中坐标为(x,y)处的值,sqsum(x,y)是图像子窗口平方积分图中坐标为(x,y)处的值。
6.如权利要求1所述的人脸检测硬件加速方法,其特征在于,所述人脸检测硬件加速方法的图像子窗口分类模块采用基于Haar特征的Adaboost算法对待检测子窗口进行分类,Adaboost分类模型是在x86主机上使用OpenCV训练得到的,Adaboost分类器使用22级强分类器级联构成,每级强分类器由若干Haar弱分类器并列组成,22级强分类器总共有2135个Haar弱分类器,Haar弱分类器由Haar特征、弱分类器阈值、左值、右值构成,其输出遵循以下公式:
强分类器由强分类器阈值和若干Haar弱分类器并列构成,在每一级强分类器中,弱分类器相互独立运算并输出左值或右值,将本级强分类器中的每一个弱分类器的输出值求和,求和结果与本级强分类器的阈值进行对比,当求和结果大于本级强分类器的阈值时,本级强分类器认为待检测窗口包含人脸;当一个待检测窗口通过所有22级强分类器时,将该窗口分类为人脸窗口,否则将其分类为非人脸窗口。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器以及人脸检测硬件加速器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
第一步,连接在AXI总线上的嵌入式CPU从图像采集设备上实时获取待检测图像,由CPU进行灰度化,通过AXI总线将灰度图像数据发送给人脸检测硬件加速器;
第二步,硬件加速器的从端接口模块接收到数据后将灰度图像数据写入待检测图像缓存模块进行保存,供图像尺寸缩小模块和图像子窗口积分及平方积分模块使用;
第三步,图像尺寸缩小模块根据预先设置的缩小比例,按照最近邻采样算法,根据缩小后图像中像素的坐标,计算出缩小后图像中像素在原始待检测图像中的坐标,并生成RAM地址,从待检测图像缓存模块中读取像素灰度值,传送给图像子窗口平方积分图;
第四步,图像子窗口积分及平方积分模块接受缩小图像的像素,计算出子窗口的积分图和平方积分图,并由特殊的硬件结构同时实现滑窗操作,在填充20行图像像素之后,可以实现每个时钟周期输出一个子窗口的积分图及平方积分图;
第五步,标准化因数求解模块依据子窗口的积分图和平方积分图计算出子窗口的标准化因数,并将结果和对应的子窗口积分图以及子窗口的坐标和比例交给图像子窗口分类模块对子窗口进行分类;
第六步,图像子窗口分类模块使用基于Haar特征的Adaboost算法对图像子窗口进行分类,并将分类为人脸的窗口的坐标和尺寸信息发送到人脸窗口信息缓存模块进行缓存;
第七步,AXI从接口模块在CPU发出读取分类结果的命令之后,从人脸窗口信息缓存模块读取数据,传输给AXI Master,将结果存储到嵌入式系统的RAM中。
8.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
第一步,连接在AXI总线上的嵌入式CPU从图像采集设备上实时获取待检测图像,由CPU进行灰度化,通过AXI总线将灰度图像数据发送给人脸检测硬件加速器;
第二步,硬件加速器的从端接口模块接收到数据后将灰度图像数据写入待检测图像缓存模块进行保存,供图像尺寸缩小模块和图像子窗口积分及平方积分模块使用;
第三步,图像尺寸缩小模块根据预先设置的缩小比例,按照最近邻采样算法,根据缩小后图像中像素的坐标,计算出缩小后图像中像素在原始待检测图像中的坐标,并生成RAM地址,从待检测图像缓存模块中读取像素灰度值,传送给图像子窗口平方积分图;
第四步,图像子窗口积分及平方积分模块接受缩小图像的像素,计算出子窗口的积分图和平方积分图,并由特殊的硬件结构同时实现滑窗操作,在填充20行图像像素之后,可以实现每个时钟周期输出一个子窗口的积分图及平方积分图;
第五步,标准化因数求解模块依据子窗口的积分图和平方积分图计算出子窗口的标准化因数,并将结果和对应的子窗口积分图以及子窗口的坐标和比例交给图像子窗口分类模块对子窗口进行分类;
第六步,图像子窗口分类模块使用基于Haar特征的Adaboost算法对图像子窗口进行分类,并将分类为人脸的窗口的坐标和尺寸信息发送到人脸窗口信息缓存模块进行缓存;
第七步,AXI从接口模块在CPU发出读取分类结果的命令之后,从人脸窗口信息缓存模块读取数据,传输给AXI Master,将结果存储到嵌入式系统的RAM中。
9.一种实施权利要求1~6任意一项所述人脸检测硬件加速方法的人脸检测硬件加速系统,其特征在于,所述人脸检测硬件加速系统包括:
AXI从端接口模块,用于向待检测图像缓存模块和控制寄存器写入数据以及从人脸窗口信息缓存模块和状态寄存器读取数据;
待检测图像缓存模块,用于使用双端口RAM缓存待检测的图像的256级灰度像素值;
图像尺寸缩小模块,用于采用最近邻插值方法,依据图像尺寸缩小的比例,从图像缓存模块BRAM中读取特定灰度像素值,传送给图像子窗口积分及平方积分模块;
图像子窗口积分及平方积分模块,用于计算20*20图像子窗口的积分图和平方积分图;
标准化因数求解模块,用于计算图像子窗口的Haar特征标准化因数;
图像子窗口分类模块,用于利用基于Haar特征的Adaboost分类方法对图像子窗口进行分类,指出图像子窗口是否为人脸窗口;
人脸窗口信息缓存模块,用于使用FIFO对图像子窗口分类模块分类结果中的人脸窗口的左上角坐标和窗口的尺寸信息进行缓存,在AXI从端接口请求读取时,将人脸窗口信息传输给AXI主端;
AXI从端接口模块设置标准AXI Slave接口用于与AXI总线的Master进行数据交互,另一方面设置写RAM端口、写控制寄存器端口、读状态寄存器端口、读FIFO端口;写RAM端口连接待检测图像缓存模块,将AXI Master传送的灰度像素值按照指定的地址写入检测图像缓存模块的双端口RAM中;写控制寄存器端口连接控制寄存器,用于将AXI Master传送的控制信息写入控制寄存器;读状态寄存器端口连接状态寄存器,用于读取状态寄存器信息;读FIFO端口连接人脸窗口信息缓存模块,用于从人脸窗口信息缓存模块内部的FIFO中读取人脸窗口的尺寸和坐标;
所述人脸检测系统实现图像子窗口积分图的结构分为列和模块和积分模块,列和模块用于计算图像子窗口每一列的前缀和,积分模块利用每一列的前缀和来计算子窗口的积分图;
列和模块包含20个深度为640、宽度为13bit的双端口RAM和21个加法器,ND是传入模块的来自待检测图像缓存模块的新数据,RA是双端口RAM的读端口的地址,RD是从双端口RAM中读出的数据,CS是存储在当前读地址的列前缀和数据,WD是写入双端口RAM的数据,用来更新下一列的前缀和,WA是双端口RAM写端口的地址;
所述图像子窗口分类模块采用基于Haar特征的Adaboost算法对待检测子窗口进行分类,Adaboost分类器使用22级强分类器级联构成,每级强分类器由若干Haar弱分类器并列组成,22级强分类器总共有2135个Haar弱分类器;Haar弱分类器每个Haar特征由2~3个矩形组成;Haar弱分类器由流水线结构组成。图像子窗口分类模块采用硬件全并行结构设计;强分类器共有22个,每一个强分类器中有数量不等的Haar弱分类器。
10.一种人脸检测硬件加速终端,其特征在于,所述人脸检测硬件加速终端搭载权利要求9所述的人脸检测硬件加速系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010496965.XA CN111881715B (zh) | 2020-06-03 | 2020-06-03 | 一种人脸检测硬件加速方法、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010496965.XA CN111881715B (zh) | 2020-06-03 | 2020-06-03 | 一种人脸检测硬件加速方法、系统和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881715A true CN111881715A (zh) | 2020-11-03 |
CN111881715B CN111881715B (zh) | 2023-07-28 |
Family
ID=73154089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010496965.XA Active CN111881715B (zh) | 2020-06-03 | 2020-06-03 | 一种人脸检测硬件加速方法、系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881715B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008151470A1 (fr) * | 2007-06-15 | 2008-12-18 | Tsinghua University | Procédé de détection robuste de visage humain dans une image d'arrière-plan compliquée |
CN102402688A (zh) * | 2010-09-07 | 2012-04-04 | 上海德致伦电子科技有限公司 | 用于实现adaboost人脸检测算法的硬件结构及实现算法方法 |
CN106503700A (zh) * | 2016-12-30 | 2017-03-15 | 哈尔滨理工大学 | 基于FPGA的Haar特征多处理架构人脸检测系统及检测方法 |
CN110008794A (zh) * | 2018-01-05 | 2019-07-12 | 宁波中科集成电路设计中心有限公司 | 一种基于haar特征的adaboost人脸检测算法的硬件设计方法 |
CN110110589A (zh) * | 2019-03-25 | 2019-08-09 | 电子科技大学 | 基于fpga并行计算的人脸分类方法 |
-
2020
- 2020-06-03 CN CN202010496965.XA patent/CN111881715B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008151470A1 (fr) * | 2007-06-15 | 2008-12-18 | Tsinghua University | Procédé de détection robuste de visage humain dans une image d'arrière-plan compliquée |
CN102402688A (zh) * | 2010-09-07 | 2012-04-04 | 上海德致伦电子科技有限公司 | 用于实现adaboost人脸检测算法的硬件结构及实现算法方法 |
CN106503700A (zh) * | 2016-12-30 | 2017-03-15 | 哈尔滨理工大学 | 基于FPGA的Haar特征多处理架构人脸检测系统及检测方法 |
CN110008794A (zh) * | 2018-01-05 | 2019-07-12 | 宁波中科集成电路设计中心有限公司 | 一种基于haar特征的adaboost人脸检测算法的硬件设计方法 |
CN110110589A (zh) * | 2019-03-25 | 2019-08-09 | 电子科技大学 | 基于fpga并行计算的人脸分类方法 |
Non-Patent Citations (1)
Title |
---|
唐奇;苏光大;: "基于Adaboost算法的硬件实时人脸检测", 计算机工程, no. 07 * |
Also Published As
Publication number | Publication date |
---|---|
CN111881715B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cho et al. | Fpga-based face detection system using haar classifiers | |
Bilal et al. | A low-complexity pedestrian detection framework for smart video surveillance systems | |
Yao et al. | An architecture of optimised SIFT feature detection for an FPGA implementation of an image matcher | |
US9996912B2 (en) | Systems, methods, and apparatuses for histogram of gradients | |
Yang et al. | AdaBoost-based face detection for embedded systems | |
Wojek et al. | Sliding-windows for rapid object class localization: A parallel technique | |
WO2021190296A1 (zh) | 一种动态手势识别方法及设备 | |
Bilgic et al. | Fast human detection with cascaded ensembles on the GPU | |
CN111860398A (zh) | 遥感图像目标检测方法、系统及终端设备 | |
Cho et al. | Parallelized architecture of multiple classifiers for face detection | |
Shi et al. | An FPGA-based hardware accelerator for traffic sign detection | |
Su et al. | Artificial intelligence design on embedded board with edge computing for vehicle applications | |
An et al. | FPGA-based object detection processor with HOG feature and SVM classifier | |
Gong et al. | Research and implementation of multi-object tracking based on vision DSP | |
Takagi et al. | A real-time scalable object detection system using low-power HOG accelerator VLSI | |
US11989888B2 (en) | Image sensor with integrated efficient multiresolution hierarchical deep neural network (DNN) | |
Wasala et al. | Real-time HOG+ SVM based object detection using SoC FPGA for a UHD video stream | |
CN111881715B (zh) | 一种人脸检测硬件加速方法、系统和设备 | |
Zhang et al. | Hierarchical and parallel pipelined heterogeneous SoC for embedded vision processing | |
EP3686814A1 (en) | Hybrid cpu and analog in-memory artificial intelligence processor | |
US11706546B2 (en) | Image sensor with integrated single object class detection deep neural network (DNN) | |
Jin et al. | An FPGA-based parallel hardware architecture for real-time face detection using a face certainty map | |
CN111783876B (zh) | 自适应智能检测电路及图像智能检测方法 | |
Acasandrei et al. | FPGA implementation of an embedded face detection system based on LEON3 | |
Ding et al. | Hecto-scale frame rate face detection system for SVGA source on FPGA board |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |