CN113255446B - 人脸检测系统 - Google Patents

人脸检测系统 Download PDF

Info

Publication number
CN113255446B
CN113255446B CN202110425915.7A CN202110425915A CN113255446B CN 113255446 B CN113255446 B CN 113255446B CN 202110425915 A CN202110425915 A CN 202110425915A CN 113255446 B CN113255446 B CN 113255446B
Authority
CN
China
Prior art keywords
convolution
layer
feature map
module
prediction
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.)
Active
Application number
CN202110425915.7A
Other languages
English (en)
Other versions
CN113255446A (zh
Inventor
翁秀梅
朱佳
傅东
沈家瑞
郝志杰
吴金英
丁杰
杨兆龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHANGSHA HAIGE BEIDOU INFORMATION TECHNOLOGY CO LTD
Original Assignee
CHANGSHA HAIGE BEIDOU INFORMATION TECHNOLOGY CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CHANGSHA HAIGE BEIDOU INFORMATION TECHNOLOGY CO LTD filed Critical CHANGSHA HAIGE BEIDOU INFORMATION TECHNOLOGY CO LTD
Priority to CN202110425915.7A priority Critical patent/CN113255446B/zh
Publication of CN113255446A publication Critical patent/CN113255446A/zh
Application granted granted Critical
Publication of CN113255446B publication Critical patent/CN113255446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/166Detection; Localisation; Normalisation using acquisition arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种人脸检测系统,所述人脸检测系统包括:PS模块,以及与PS模块连接的图像采集模块、FPGA芯片和存储模块;FPGA与存储模块连接;图像采集模块将采集的原始图像发送至PS模块,PS模块将原始图像存储至存储模块,并发送处理指令至FPGA芯片;FPGA芯片在接收到处理指令后,依次执行神经网络模型的各网络层运算,输出原始图像的人脸识别结果至存储模块,并发送识别完成信息至PS模块,PS模块从存储模块中读取人脸检测结果,对原始图像进行人脸标记,其中FPGA在执行网络层运算时,从存储模块中读取当前网络层的参数和输入数据,并将输出数据存储至存储模块中。本发明解决了现有基于神经网络的人脸检测技术对芯片的存储和计算资源需求高的问题。

Description

人脸检测系统
技术领域
本发明涉及神经网络领域,尤其涉及一种人脸检测系统。
背景技术
随着目标监控、目标跟踪、人机交互、人流统计等领域的兴起,人脸检测技术越来越广泛的被关注。基于卷积神经网络(CNN)的人脸检测技术取得了巨大的发展,但随着深度学习的进一步发展,卷积神经网络层数越来越多,分类精度越来越高,使用大规模卷积神经网络进行推理需要加载大量参数并进行大量乘加运算。大多数基于软件的卷积神经网络模型采用GPU进行加速,但同时也带来高成本、高功耗。
发明内容
本发明的主要目的在于提出一种人脸检测系统、终端及计算机可读存储介质,旨在解决现有基于卷积神经网络的人脸检测技术对芯片的存储和计算资源需求高的问题。
为实现上述目的,本发明提供一种人脸检测系统,所述人脸检测系统包括:PS模块,以及与所述PS模块连接的图像采集模块、FPGA芯片和存储模块;所述FPGA与所述存储模块连接;
所述图像采集模块,用于采集至少一帧原始图像,并将采集的原始图像传输至所述PS模块,以使所述PS模块将原始图像存储至所述存储模块;
所述PS模块,用于发送包括帧编号的处理指令至所述FPGA芯片;
所述FPGA芯片,用于在接收到包括帧编号的处理指令后,根据预设的神经网络模型,依次执行预设的神经网络模型中各网络层的运算,以获得该帧编号对应的人脸检测结果,并反馈包括帧编号的处理完成信息至所述PS模块,其中,在执行每一网络层运算时,从存储模块中读取该帧编号对应的原始图像或与当前网络层连接的上游网络层的输出数据作为当前网络层的输入数据,以及从存储模块中读取当前网络层的参数;根据当前网络层的参数、输入数据和运算规则进行运算,获得当前网络层的输出数据,将当前网络层的输出数据存储至存储模块中,若当前网络层为预设神经网络层的最后一层网络层,则输出数据为该帧编号对应的人脸检测结果;
所述PS模块,还用于接收到包括帧编号识别完成信息后,从所述存储模块中读取帧编号对应的人脸检测结果,并根据读取的人脸检测结果对帧编号对应的原始图像中的人脸进行标记,获得标记人脸的图像。
可选地,所述FPGA芯片包括依次连接的预处理子模块、前处理子模块、卷积子模块、预测子模块和检测子模块,所述预处理子模块、所述前处理子模块、所述卷积子模块和所述预测子模块、所述检测子模块分别与所述存储模块连接;所述预设神经网络模型中网络层包括预处理层、前处理层、至少一层卷积层、预测层和检测层;
所述预处理子模块,用于接收到所述PS模块发送的包括帧编号的处理指令后,从存储模块中读取该帧编号对应的原始图像以及预处理层的参数,根据预处理层的预设运算规则和参数对原始图像进行运算,获得该帧编号对应的预处理图像,将该帧编号对应的预处理图像存储至存储模块中,并将包括帧编号的处理指令发送至所述前处理子模块;
所述前处理子模块,用于在接收到包括帧编号的处理指令后,从存储模块中读取该帧编号对应的预处理图像以及前处理层的参数,根据前处理层的预设运算规则和参数对该帧编号对应的预处理图像进行运算,获得前处理层的输出特征图谱,将前处理层的输出的特征图谱存储至所述存储模块中,并将包括帧编号的处理指令发送至所述卷积子模块;
所述卷积子模块,用于在接收到包括帧编号的处理指令后,根据各卷积层的连接顺序,依次执行各卷积层的卷积计算,在完成各卷积层运算后,将包括帧编号的处理指令发送至所述预测子模块,其中,在执行每一卷积层的卷积运算时,从所述存储模块中读取与当前卷积层连接的上游网络层的输出特征图谱作为当前卷积层的输入特征图谱,以及从所述存储模块中读取当前卷积层对应的卷积参数;根据预先配置的当前卷积层的卷积规则和当前卷积层的卷积参数对当前卷积层的输入特征图谱进行卷积处理,获得当前卷积层的输出特征图谱,将当前卷积层的输出特征图谱存储至所述存储模块中;
所述预测子模块,用于在接收到包括帧编号的处理指令后,从所述存储器中读取至少一卷积层的输出特征图谱,以及预测层的卷积参数;根据预测层的预设运算规则和预测层的参数,对读取的各输出特征图谱进行运算,获得该帧编号对应的预测结果,将预测结果存储至所述存储模块中,并将包括帧编号的处理指令发送至所述检测子模块;
所述检测模块,用于在接收到包括帧编号的处理指令后,从存储模块中读取该帧编号对应的预测结果和检测层的参数,根据预先配置的检测层的运算规则和检测层的参数,对预测结果进行运算,获得该帧编号对应的人脸检测结果,将人脸检测结果存储至所述存储模块中。
可选地,所述FPGA芯片还包括归一化子模块,所述归一化子模块分别连接所述卷积子模块和所述预测子模块;
所述卷积子模块,还用于在完成各卷积层运算后,将包括帧编号的处理指令发送至所述归一化子模块;
所述归一化子模块,用于在接收到包括帧编号的处理指令后,从所述存储模块中读取归一化层的参数和预设神经网络模型中与归一化层连接的各卷积层的输出特征图谱,并作为归一化层的输入特征图谱,根据归一层的预设运算规则和归一化层的参数对归一化层的输入特征图谱进行运算,获得归一化层的输出特征图谱,将归一化层的输出特征图谱存储至所述存储模块中,并将包括帧编号的处理指令发送至所述预测子模块;
所述预测子模块,还用于在接收到所述卷积子模块和所述归一化子模块分别发送的包括帧编号的处理指令后,根据预设神经网络模型中各网络层的连接顺序,从所述存储器中读取预设神经网模型中与预测层连接的各卷积层的输出特征图谱和归一化层的输出特征图谱,以及预测层的参数;根据预测层的预设运算规则和预测层的参数,对读取的各输出特征图谱进行运算,获得预测结果,将预测结果存储至所述存储模块中,并将包括帧编号的处理指令发送至所述检测子模块。
可选地,所述卷积子模块还包括卷积控制单元,以及依次连接的卷积缓存单元、卷积计算单元、激活单元和池化单元,所述卷积缓存单元和所述池化单元分别与所述存储模块连接;
所述卷积控制单元与所述卷积缓存单元连接,用于接收到所述前处理子模块发送的包括帧编号的处理指令后,控制所述卷积缓存单元在根据神经网络模型依次执行神经网络模型中每一卷积层的卷积运算时,从所述存储模块中读取帧编号对应的与当前卷积层连接的上游网络层的输出特征图谱作为当前卷积层的输入特征图谱,以及当前卷积层的卷积核参数,并进行缓存;
所述卷积控制单元与所述卷积计算单元连接,用于控制所述卷积计算单元从卷积缓存单元中读取缓存的当前卷积层的输入特征图谱和卷积核参数,并根据卷积核参数对输入特征图谱进行卷积计算,获得初始特征图谱,将初始特征图发送至所述激活单元;
所述卷积控制单元与所述激活单元连接,用于控制所述激活单元接收到所述卷积计算单元发送的初始特征图谱时,根据预设的激活函数对初始特征图谱进行激活计算,获得激活特征图谱,并将激活特征图谱发送至所述池化单元;
所述卷积控制单元与所述池化单元连接,用于控制所述池化单元接收到所述激活单元发送的激活特征图谱时,对激活特征图谱进行池化处理,获得池化特征图谱,将池化特征图谱作为当前卷积层的输出特征图谱,并将当前卷积层的输出特征图谱存储至所述存储模块;
所述卷积控制单元还分别与所述归一化子模块和所述预测子模块连接,用于在完成预设神经网络模型中各卷积层的运算后,将包括帧编号的处理指令分别发送至所述归一化子模块和所述预测子模块。
可选地,所述卷积缓存单元包括参数缓存子单元和特征图谱缓存子单元;所述参数缓存子单元分别与所述存储模块和所述卷积计算单元连接;所述特征图谱缓存子单元分别与所述存储模块和所述卷积计算单元连接;
所述特征图谱缓存子单元,用于根据预设神经网络模型,执行每一层卷积层的卷积计算时,从所述存储模块中读取与当前卷积层连接的上游网络层的输出特征图谱作为当前卷积层的输入特征图谱,并进行缓存;
所述参数缓存子单元,用于根据预设神经网络模型,执行每一层卷积层的卷积计算时,从所述存储模块中读取当前卷积层的卷积核参数,并进行缓存;
所述卷积计算单元,还用于分别从参数缓存子单元和特征图谱缓存子单元对应读取当前卷积层的卷积核参数和输入特征图谱,根据卷积核参数对输入特征图谱卷积计算,获得初始特征图谱,并将初始特征图谱发送至所述激活单元。
可选地,所述卷积计算单元包括:乘加子单元和累加子单元;
所述乘加子单元,用于移动卷积窗口提取输入特征图谱中的特征值进行卷积计算,其中每进行一次卷积窗口移动,将卷积窗口对应的输入特征图谱中的各特征值划分为多组特征值,依次将各组特征值与卷积核参数中对应的权重进行乘加计算获得中间乘加结果,并将每次获得的中间乘加结果依次发送至累计计算子单元;
所述累加子单元,用于每接收到所述乘加子单元输出的一个卷积窗口对应的一个中间乘加结果时,会将该中间乘加结果与已接收到的同一卷积窗口对应的各中间乘加结果进行累加,直至同一卷积窗口对应的所有中间乘加结果全部累加完成,将最终的累加结果作为初始特征图谱的一个特征值;当获得初始特征图谱中所有特征值后,会将初始特征图谱发送至所述激活单元。
可选地,所述卷积子模块还预存各卷积层的输入映射因子、输出映射因子和卷积权重映射因子;
所述卷积子模块,还用于根据当前卷积层的预设输入映射因子、预设输出映射因子和预设卷积权重映射因子、卷积核参数对当前卷积层的输入特征图谱进行浮点卷积计算,获得浮点特征图谱;将浮点特征图谱转换为定点特征图谱,并将定点特征图谱作为当前卷积层的输出特征图谱存储至所述存储模块中。
具体的,所述卷积子模块,根据当前卷积层的预设输入映射因子、预设输出映射因子和预设卷积权重映射因子、卷积核参数对当前卷积层的输入特征图谱,卷积核参数对当前卷积层的输入特征图普进行的定点卷积计算,再根据当前卷积层的预设输入映射因子,预设输入映射因子和预设权重映射因将定点卷积计算结果映射为32bit特征图谱,最后将32bit特征图谱转换为8bit定点特征图谱。
可选地,所述预测子模块还预存预测层的输入映射因子、输出映射因子和卷积权重映射因子;
所述预测子模块,还用于根据预测层的输入映射因子、输出映射因子和卷积权重映射因子、卷积核参数对预测层的输入特征图谱进行浮点卷积计算,获得浮点特征图谱;将浮点特征图谱转换为定点特征图谱,并将定点特征图谱作为预测层输出的预测结果存储至所述存储模块中。
具体的,所述预测子模块,还用于根据预测层的输入映射因子、输出映射因子和卷积权重映射因子、卷积核参数对预测层的输入特征图谱,卷积核参数对当前卷积层的输入特征图普进行的定点卷积计算,再根据当前卷积层的预设输入映射因子,预设输入映射因子和预设权重映射因将定点卷积计算结果映射为32bit特征图谱,最后将32bit特征图谱转换为8bit定点特征图谱。
可选地,所述人脸检测系统还包括显示模块,所述显示模块与所述PS模块连接;
所述显示模块,用于接收所述PS发送的标记人脸的图像,并显示所述标记人脸的图像。
本发明提出的一种人脸检测系统,所述人脸检测系统包括PS模块,以及与所述PS模块连接的图像采集模块、FPGA芯片和存储模块;所述FPGA与所述存储模块连接;所述图像采集模块,用于采集至少一帧原始图像,并将采集的原始图像传输至所述PS模块,以使所述PS模块将原始图像存储至所述存储模块;所述PS模块,用于发送包括帧编号的处理指令至所述FPGA芯片;所述FPGA芯片,用于在接收到包括帧编号的处理指令后,根据预设的神经网络模型,依次执行预设的神经网络模型中各网络层的运算,以获得该帧编号对应的人脸检测结果,并反馈包括帧编号的处理完成信息至所述PS模块,其中,在执行每一网络层运算时,从存储模块中读取该帧编号对应的原始图像或与当前网络层连接的上游网络层的输出数据作为当前网络层的输入数据,以及从存储模块中读取当前网络层的参数;根据当前网络层的参数、输入数据和运算规则进行运算,获得当前网络层的输出数据,将当前网络层的输出数据存储至存储模块中,若当前网络层为预设神经网络层的最后一层网络层,则输出数据为该帧编号对应的人脸检测结果;所述PS模块,还用于接收到包括帧编号识别完成信息后,从所述存储模块中读取帧编号对应的人脸检测结果,并根据读取的人脸检测结果对帧编号对应的原始图像中的人脸进行标记,获得标记人脸的图像。本发明的人脸检测系统通过将神经网络模型各网络层的参数存储至FPGA芯片外的存储器中,并在执行神经网络模型每一个网络层时,才从存储器中读取该网络层对应的参数,而不是将接受到处理指令时,就将神经网络模型的所有层的参数都全部读取至FPGA芯片中,从而采用预设神经网络模型执行人脸识别过程对芯片的存储和计算资源要求比较低,即能够通过计算资源有限的FPGA芯片实现基于神经网络的人脸识别。
附图说明
图1为本发明人脸检测系统的一实施例的模块示意图;
图2为本发明人脸检测系统的另一实施例的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
根据上述硬件结构,提出本发明方法各个实施例。
参照图1,在本发明人脸检测系统的第一实施例中,人脸检测系统包括:图像采集模块1和与图像采集模块1连接的检测终端,检测终端包括存储模块4以及分别与存储模块4连接的PS模块2和FPGA芯片3;
图像采集模块1,用于采集至少一帧原始图像,并将采集的原始图像传输至PS模块2,以使PS模块2将原始图像存储至存储模块4;FPGA芯片3,用于根据预设神经网络模型的拓扑结构执行每一层网络层运算之前,从存储模块4中读取原始图像或待执行的当前网络层的上一网络层的输出数据,以及从存储模块4中读取当前网络层的参数;将当前网络层的参数,以及原始图像或上一网络层的输出数据,输入至当前网络层中进行运算,获得当前网络层的输出数据,将当前网络层的输出数据存储至存储模块4中,其中,若当前网络层为预设神经网络层的最后一层网络层,则输出数据为原始图像的人脸检测结果;PS模块2,还用于从存储模块4中读取原始图像的人脸检测结果,并根据人脸检测结果对原始图像中的人脸进行标记,获得标记人脸的图像。
在本实施例中,人脸检测系统包括图像采集模块1和检测终端,检测终端包括PS模块2、FPGA芯片3和存储模块4,存储模块4可以为片外存储模块4存储器,PS模块2、FPGA芯片3和存储模块4两两之间通过AXI总线连接,PS模块2通过无线网络或有线网络与图像采集模块1连接,图像采集模块1为摄像头,用于实时采集待人脸检测的原始图像,并以数据流形式实施将采集的原始图像发送至检测终端的PS模块2,PS模块2接收到每帧原始图像后,会根据接收到的各帧原始图像的顺序,为接收到的每帧原始图像生成对应的帧编号,然后将接收到的原始图像和对应的帧编号存储至存储模块4,并且获取FPGA芯片3的当前状态,当前状态包括处理状态或空闲状态,若当前状态为处理状态,会发送包括帧编号的处理指令至FPGA芯片3,FPGA芯片3接收到处理指令后,会根据配置的神经网络模型中各网络层的拓扑结构,执行神经网络模型中各网络层的运算,在执行每一网络层运算之前,会从存储模块4中读取帧编号对应的原始图像或该帧编号对应的与当前网络层连接的上游网络层的输出数据作为当前网络层的输入数据,同时从存储模块4中读取当前网络层的参数,根据当前网络层的参数、输入数据和预先配置的当前网络层的运算规则进行运算,获得该帧编号对应的当前网络层的输出数据,并将该帧编号对应的当前网络层的输出数据存储至存储模块4中。例如当前网络层为神经网络模型的第一网络层,该第一网络层的运算规则可以为去噪处理、图像格式转换、均值处理等,若为去噪处理,从存储模块4中读取该帧编号对应的原始图像,以及从存储模块4中读取图像去噪处理对应的参数,然后根据去噪运算规则和去噪处理对应的参数对原始图像进行去噪处理,获得去噪图像,将该帧对应的去噪图像存储至存储模块4。当前网络层为神经网络模型的第二网络层,与第二网络层连接的上一网络层为第一网络层,该第二网络层的运算规则为卷积处理,会从存储模块4中读取该帧对应的去噪图像,同时从存储模块4中读取该第二网络层卷积处理对应的权重参数,然后根据第二网络层的卷积处理规则和权重参数对去噪图像进行卷积处理,获得该帧编号对应的第二网络层的输出特征图谱。若当前网络层为神经网络模型的倒数第二网络层即预测层,与预测层连接的上游网络层可能存在多个网络层,会从存储模块4中读取各上游网络层的输出特征图谱,同时从存储模块4中读取该预测层对应的参数,然后根据预测层的卷积处理规则和参数分别对与预测层连接的各上游网络层的输出特征图谱进行卷积运算,输出预测结果,并将预测结果存储至存储模块4中;若当前网络层为神经网络模型的最后网络层即检测层,与检测层连接的上游网络层为预测层,会从存储模块4中读取预测层输出的预测结果,同时从存储模块4中读取该检测层对应的参数,然后根据检测层配置的分类器和参数对预测结果进行分类处理,获得该帧编号对应的人脸识别结果,然后将人脸识别结果存储至存储模块4中,并同时向PS模块2反馈包括帧编号的识别完成信息,PS模块2在接收到包括帧编号识别完成信息后,从存储模块4中读取帧编号对应的人脸检测结果,并根据读取的人脸检测结果对帧编号对应的原始图像中的人脸进行标记。
进一步,人脸检测系统还包括与PS模块2连接的显示模块5;显示模块5在接收到PS模块2发送的标记人脸的图像后,显示标记人脸的图像。
本实施例通过将神经网络模型中各网络层的参数存储至FPGA芯片3外的存储器中,并在执行神经网络模型每一个网络层时,才从存储器中读取该网络层对应的参数,而不是将在对图像进行识别前,就将神经网络模型的每一层的参数都全部读取至FPGA芯片3中,从而采用预设神经网络模型执行人脸识别(人脸检测)过程对芯片的存储资源和计算资源要求比较低,即能够通过计算资源有限的FPGA芯片3实现基于神经网络的人脸识别。
可选地,继续参照图1,在一实施例中,FPGA芯片3包括依次连接的预处理子模块31、前处理子模块32、卷积子模块33、预测子模块34和检测子模块35,预处理子模块31、前处理子模块32、卷积子模块33、预测子模块34和检测子模块35分别与存储模块4连接;预设神经网络模型的网络层包括预处理层、前处理层、至少一层卷积层、预测层和检测层;
预处理子模块31接收到PS模块2发送的包括帧编号的处理指令后,从存储模块4中读取原始图像以及预处理层对应的参数,根据预先配置的预处理层对应的运算规则和读取的预处理层对应的参数对原始图像进行运算,获得该帧编号对应的预处理图像,将该帧编号对应的预处理图像存储至存储模块4中,同时预处理子模块31还会向PS模块2反馈当前帧编号对应的原始图像的预处理完成的信息以及将自身状态从当前工作状态更改为空闲状态,以使PS模块2发送包括下一帧编号的处理指令,并且在将包括帧编号的处理指令发送至前处理子模块32之前,会先获取前处理子模块32的状态,当前处理子模块32处于空闲状态,才会包括帧编号的处理指令发送至前处理子模块32。
前处理子模块32在接收到包括帧编号的处理指令后,从存储模块4中读取该帧编号对应的预处理图像以及前处理层对应的参数,根据预先配置的前处理层的运算规则和读取的前处理层对应的参数对该帧编号对应的预处理图像进行运算,获得前处理层的输出特征图谱,将前处理层的输出的特征图谱存储至存储模块4中,同时前处理子模块32还会向预处理子模块31反馈当前帧编号对应的前处理阶段完成的信息以及将自身状态从当前工作状态更改为空闲状态,以使预处理子模块31发送包括下一帧编号的处理指令,并且在将包括帧编号的处理指令发送至卷积子模块33之前,会先获取卷积子模块33的状态,当卷积子模块33处于空闲状态,才会将包括帧编号的处理指令发送至卷积子模块33。
卷积子模块33在接收到包括帧编号的处理指令后,根据预先配置的各卷积层的连接顺序,依次执行各卷积层的卷积计算,具体的,在执行每一卷积层的卷积运算时,从存储模块4中读取与当前卷积层连接的上游网络层的输出特征图谱作为当前卷积层的输入特征图谱,以及从存储模块4中读取当前卷积层对应的卷积参数,卷积参数包括卷积核权重和偏置参数;根据预先配置的当前卷积层的卷积规则和当前卷积层的卷积参数对当前卷积层的输入特征图谱进行卷积处理,获得当前卷积层的输出特征图谱,卷积规则至少包括卷积运算规则;获得当前卷积层的输出特征图谱后,将当前卷积层的输出特征图谱存储至存储模块4中。若卷积层还需要对卷积运算后获得的特征图谱进行激活函数运算和/或池化处理,那么卷积规则还包括激活函数和池化规则。在完成各卷积层运算后,卷积子模块33会向前处理子模块32反馈当前帧编号对应的卷积处理阶段完成的信息以及将自身状态从当前工作状态更改为空闲状态,以使前处理子模块32发送包括下一帧编号的处理指令,并且在将包括帧编号的处理指令发送至预测子模块34之前,会先获取预测子模块34的状态,当预测子模块34处于空闲状态,才会将包括帧编号的处理指令发送至预测子模块34。
预测子模块34在接收到包括帧编号的处理指令后,从存储器中读取至少一卷积层的输出特征图谱,以及预测层的卷积参数;根据预先配置的预测层的运算规则和预测层的参数,对读取的各输出特征图谱进行运算,获得预测结果,将预测结果存储至存储模块4中,同时预测子模块34还会向卷积子模块33反馈当前帧编号对应的前处理阶段完成的信息以及将自身状态从当前工作状态更改为空闲状态,以使卷积子模块33发送包括下一帧编号的处理指令,并且在将包括帧编号的处理指令发送至检测子模块35之前,会先获取检测子模块35的状态,当检测子模块35处于空闲状态,才会将包括帧编号的处理指令发送至检测子模块35。
检测子模块35在接收到包括帧编号的处理指令后,从存储模块4中读取预测结果,以及检测层的参数,根据预先配置的检测层的运算规则和检测层的参数,对预测结果进行运算,获得人脸检测结果,将人脸检测结果存储至存储模块4中。
进一步地,一并参照图1和图2,在另一实施例中,若预设神经网络模型包括归一化层,FPGA芯片3还单独配置了归一化子模块36,归一化子模块36分别连接卷积子模块33和预测子模块34;卷积子模块33在完成各卷积层运算后,将包括帧编号的处理指令发送至归一化子模块36。
归一化子模块36在接收到包括帧编号的处理指令后,从存储模块4中读取归一化层的参数和预设神经网络模型中与归一化层连接的各卷积层的输出特征图谱,并作为归一化层的输入特征图谱,根据归一层的预设运算规则和归一化层的参数对归一化层的输入特征图谱进行运算,获得归一化层的输出特征图谱,将归一化层的输出特征图谱存储至存储模块4中,并将包括帧编号的处理指令发送至预测子模块34。例如当神经网络模型为S3FD模型时,归一化层会从存储模块4中读取S3FD模型中的cov3_3卷积层、cov4_3卷积层和cov5_3卷积层的输出特征图谱,然后采用预设的归一化算法对这些输出特征图谱进行归一化处理,然后将归一化处理后的特征图谱再次存储至存储模块4中。
预测子模块34在接收到卷积子模块33和归一化子模块36分别发送的包括帧编号的处理指令后,根据预设神经网络模型中各网络层的连接顺序,从存储模块4中读取预设神经网模型中与预测层连接的各卷积层的输出特征图谱和归一化层的输出特征图谱,以及预测层的参数;根据预测层的预设运算规则和预测层的参数,对读取的各输出特征图谱进行运算,获得预测结果,将预测结果存储至存储模块4中,并将包括帧编号的处理指令发送至检测子模块35。例如当神经网络模型为S3FD模型时,预测子模块34会从存储模块4中读取S3FD模型中归一化处理后的特征图谱以及cov_fc7卷积层、cov6_2卷积层和cov7_2卷积层的输出特征图谱,然后根据预设运算规则和预测层的参数,对这些特征图谱进行运算,获得预测结果。
本实施例根据神经网络模型的各网络层的拓扑关系以及各网络层的功能,将FPGA芯片3配置多个子模块适配神经网络各网络层,各子模块之间的拓扑关系和神经网络模型的拓扑关系是对应的,使得各子模块以流水线形式进行人脸检测过程,从而提高人脸检测系统的实时检测速度。
进一步,为了降低卷积子模块33和预测子模块34的卷积运算复杂度,可以对神经网络模型中各卷积层和预测层的参数进行量化,不同层对精度敏感程度不同,可采用不同的量化策略,例如4位量化或8位量化。具体地,在卷积子模块33中预设了各卷积层对应的量化规则、输入映射因子、输出映射因子、卷积权重映射因子,
卷积子模块33根据当前卷积层的预设输入映射因子、预设输出映射因子、预设卷积权重映射因子和卷积核参数对当前卷积层的输入特征图谱进行浮点卷积计算,获得当前卷积层对应的浮点特征图谱;将浮点特征图谱转换为定点特征图谱,并将定点特征图谱作为当前卷积层的输出特征图谱存储至存储模块4中。同样,预测子模块34根据预测层的输入映射因子、输出映射因子和卷积权重映射因子、卷积核参数对预测层的输入特征图谱进行浮点卷积计算,获得预测层对应的浮点特征图谱;将浮点特征图谱转换为定点特征图谱,并将定点特征图谱作为预测层输出的预测结果存储至存储模块4中。
例如神经网络模型为S3FD模型,在S3FD模型中各卷积层采用4位量化策略,预测层采用8位量化策略。在执行每一个卷积层运算时,卷积子模块33会将当前卷积层的预设输入映射因子、预设输出因子、预设卷积权重映射因子、卷积核参数和当前卷积层的输入特征图谱输入至预设的浮点卷积计算公式中,获得32位浮点特征图,该浮点卷积计算公式为:
Figure BDA0003029445600000131
其中yfloat为32位浮点特征图谱,xint4为当前卷积层的4bit定点输入特征图谱,wint4为当前卷积层的4bit定点卷积权重参数,S1为当前卷积层的输入映射因子,S2为当前卷积层的卷积权重映射因子、S3为当前卷积层的输出映射映射因子,n为预设正整数值,bfloat为当前卷积层的偏置参数。
然后根据定点转换公式,将32位浮点特征图谱转换为4位定点特征图谱,该定点转换公式为:
Figure BDA0003029445600000132
其中,|yfloat32|为对yfloat进行四舍五入运算后的值。
在执行预测层的运算时,预测子模块34会将预测层的预设输入映射因子、预设输出因子、预设卷积权重映射因子、卷积核参数和预测层的输入特征图谱输入至预设的浮点卷积计算公式中,获得32位浮点特征图,该浮点卷积计算公式为:
Figure BDA0003029445600000133
其中yfloat为32位浮点特征图谱,xint8为预测层的8bit定点输入特征图谱,wint8为预测层的8bit定点卷积权重参数,S1为预测层的输入映射因子,S2为预测层的卷积权重映射因子、S3为预测层的输出映射映射因子,n为预设正整数值,bfloat为预测层的偏置参数。
然后根据定点转换公式,将32位浮点特征图谱转换为8位定点特征图谱,该定点转换公式为:
Figure BDA0003029445600000141
其中,|yfloat32|为对yfloat进行四舍五入运算后的值。
在另一实施例中,一并参照图1和图2,卷积子模块33包括卷积控制单元331、卷积缓存单元332、卷积计算单元333、激活单元和池化单元335,卷积缓存单元332包括参数缓存子单元(图未示)和特征图谱缓存子单元(图未示),卷积计算单元333包括乘加子单元3331和累加子单元3332;卷积控制单元331分别与参数缓存子单元、特征图谱缓存子单元、乘加子单元3331、累加子单元3332、激活单元334和池化单元335连接,参数缓存子单元分别与存储模块4和乘加子单元3331连接,特征图谱缓存子单元分别与存储模块和乘加子单元3331连接,乘加子单元3331、累加子单元3332、激活单元334和池化单元335依次连接,卷积缓存单元332、卷积计算单元333、激活单元334、池化单元335连接;池化单元335还与存储模块4连接。
卷积控制单元331在接收到前处理子模块32发送的包括帧编号的处理指令后,先会控制卷积缓存单元332中的特征图谱缓存子单元和参数缓存子单元在根据预设神经网络模型依次执行神经网络模型中每一卷积层的卷积运算时,对应从存储模块4中读取帧编号对应的与当前卷积层连接的上游网络层的输出特征图谱作为当前卷积层的输入特征图谱,以及当前卷积层的卷积核参数,并进行缓存。
然后卷积控制单元331控制卷积计算单元333中的乘加子单元3331分别从特征图谱缓存子单元和参数缓存子单元中读取缓存的当前卷积层的输入特征图谱和卷积核参数。乘加子单元3331根据滑动步长控制卷积窗口在输入特征图谱上进行移动,每进行一次卷积窗口移动,将卷积窗口映射的输入特征图谱中的各特征值划分为多组特征值,依次将各组特征值与卷积核参数中对应的权重进行乘加计算获得中间乘加结果,并将每次获得的中间乘加结果依次发送至累加子单元3332。
累加子单元3332每接收到乘加子单元3331输出的一个卷积窗口对应的一个中间乘加结果时,会将该中间乘加结果与已经接收到属于同一卷积窗口对应的各中间乘加结果进行累加,直至同一卷积窗口对应的所有中间乘加结果全部累加完成,将最终的累加结果作为初始特征图谱的一个特征值;当获得初始特征图谱中所有特征值后,会将初始特征图谱发送至激活单元334。
卷积控制单元331再控制激活单元334接收到累加子单元3332发送的初始特征图谱时,根据预设的激活函数对初始特征图谱进行激活计算,获得激活特征图谱,并将激活特征图谱发送至池化单元335。最后卷积控制单元331控制池化单元335接收到激活单元334发送的激活特征图谱时,对激活特征图谱进行池化处理,获得池化特征图谱,将池化特征图谱作为当前卷积层的输出特征图谱,并将当前卷积层的输出特征图谱存储至存储模块4。当完成预设神经网络模型中各卷积层的运算后,卷积控制单元331会将包括帧编号的处理指令分别发送至归一化子模块36和预测子模块34。
本实施例通过将卷积窗口的一次计算拆分为多次计算,拆分后的每次计算量相比一次计算方法的计算量低,从而降低了对FPGA芯片3的计算资源。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (4)

1.一种基于FPGA芯片的人脸检测系统,其特征在于,所述人脸检测系统包括:PS模块,以及与所述PS模块连接的图像采集模块、FPGA芯片和存储模块;所述FPGA芯片与所述存储模块连接;
所述图像采集模块,用于采集至少一帧原始图像,并将采集的原始图像传输至所述PS模块,以使所述PS模块将原始图像存储至所述存储模块;
所述PS模块,用于发送包括帧编号的处理指令至所述FPGA芯片;
所述FPGA芯片,用于在接收到包括帧编号的处理指令后,根据预设的神经网络模型,依次执行预设的神经网络模型中各网络层的运算,以获得该帧编号对应的人脸检测结果,并反馈包括帧编号的处理完成信息至所述PS模块,其中,在执行每一网络层运算时,从存储模块中读取该帧编号对应的原始图像或与当前网络层连接的上游网络层的输出数据作为当前网络层的输入数据,以及从存储模块中读取当前网络层的参数;根据当前网络层的参数、输入数据和运算规则进行运算,获得当前网络层的输出数据,将当前网络层的输出数据存储至存储模块中,若当前网络层为预设神经网络层的最后一层网络层,则输出数据为该帧编号对应的人脸检测结果;
所述PS模块,还用于接收到包括帧编号识别完成信息后,从所述存储模块中读取帧编号对应的人脸检测结果,并根据读取的人脸检测结果对帧编号对应的原始图像中的人脸进行标记,获得标记人脸的图像;
所述FPGA芯片包括依次连接的预处理子模块、前处理子模块、卷积子模块、预测子模块和检测子模块,所述预处理子模块、所述前处理子模块、所述卷积子模块和所述预测子模块、所述检测子模块分别与所述存储模块连接;所述预设神经网络模型中网络层包括预处理层、前处理层、至少一层卷积层、预测层和检测层;
所述预处理子模块,用于接收到所述PS模块发送的包括帧编号的处理指令后,从存储模块中读取该帧编号对应的原始图像以及预处理层的参数,根据预处理层的预设运算规则和参数对原始图像进行运算,获得该帧编号对应的预处理图像,将该帧编号对应的预处理图像存储至存储模块中,并将包括帧编号的处理指令发送至所述前处理子模块;
所述前处理子模块,用于在接收到包括帧编号的处理指令后,从存储模块中读取该帧编号对应的预处理图像以及前处理层的参数,根据前处理层的预设运算规则和参数对该帧编号对应的预处理图像进行运算,获得前处理层的输出特征图谱,将前处理层的输出的特征图谱存储至所述存储模块中,并将包括帧编号的处理指令发送至所述卷积子模块;
所述卷积子模块,用于在接收到包括帧编号的处理指令后,根据各卷积层的连接顺序,依次执行各卷积层的卷积计算,在完成各卷积层运算后,将包括帧编号的处理指令发送至所述预测子模块,其中,在执行每一卷积层的卷积运算时,从所述存储模块中读取与当前卷积层连接的上游网络层的输出特征图谱作为当前卷积层的输入特征图谱,以及从所述存储模块中读取当前卷积层对应的卷积参数;根据预先配置的当前卷积层的卷积规则和当前卷积层的卷积参数对当前卷积层的输入特征图谱进行卷积处理,获得当前卷积层的输出特征图谱,将当前卷积层的输出特征图谱存储至所述存储模块中;
所述预测子模块,用于在接收到包括帧编号的处理指令后,从所述存储器中读取至少一卷积层的输出特征图谱,以及预测层的卷积参数;根据预测层的预设运算规则和预测层的参数,对读取的各输出特征图谱进行运算,获得该帧编号对应的预测结果,将预测结果存储至所述存储模块中,并将包括帧编号的处理指令发送至所述检测子模块;
所述检测子模块,用于在接收到包括帧编号的处理指令后,从存储模块中读取该帧编号对应的预测结果和检测层的参数,根据预先配置的检测层的运算规则和检测层的参数,对预测结果进行运算,获得该帧编号对应的人脸检测结果,将人脸检测结果存储至所述存储模块中;
所述FPGA芯片还包括归一化子模块,所述归一化子模块分别连接所述卷积子模块和所述预测子模块;
所述卷积子模块,还用于在完成各卷积层运算后,将包括帧编号的处理指令发送至所述归一化子模块;
所述归一化子模块,用于在接收到包括帧编号的处理指令后,从所述存储模块中读取归一化层的参数和预设神经网络模型中与归一化层连接的各卷积层的输出特征图谱,并作为归一化层的输入特征图谱,根据归一层的预设运算规则和归一化层的参数对归一化层的输入特征图谱进行运算,获得归一化层的输出特征图谱,将归一化层的输出特征图谱存储至所述存储模块中,并将包括帧编号的处理指令发送至所述预测子模块;
所述预测子模块,还用于在接收到所述卷积子模块和所述归一化子模块分别发送的包括帧编号的处理指令后,根据预设神经网络模型中各网络层的连接顺序,从存储器中读取预设神经网模型中与预测层连接的各卷积层的输出特征图谱和归一化层的输出特征图谱,以及预测层的参数;根据预测层的预设运算规则和预测层的参数,对读取的各输出特征图谱进行运算,获得预测结果,将预测结果存储至所述存储模块中,并将包括帧编号的处理指令发送至所述检测子模块;
所述卷积子模块还包括卷积控制单元,以及依次连接的卷积缓存单元、卷积计算单元、激活单元和池化单元,所述卷积缓存单元和所述池化单元分别与所述存储模块连接;
所述卷积控制单元与所述卷积缓存单元连接,用于接收到所述前处理子模块发送的包括帧编号的处理指令后,控制所述卷积缓存单元在根据神经网络模型依次执行神经网络模型中每一卷积层的卷积运算时,从所述存储模块中读取帧编号对应的与当前卷积层连接的上游网络层的输出特征图谱作为当前卷积层的输入特征图谱,以及当前卷积层的卷积核参数,并进行缓存;
所述卷积控制单元与所述卷积计算单元连接,用于控制所述卷积计算单元从卷积缓存单元中读取缓存的当前卷积层的输入特征图谱和卷积核参数,并根据卷积核参数对输入特征图谱进行卷积计算,获得初始特征图谱,将初始特征图发送至所述激活单元;
所述卷积控制单元与所述激活单元连接,用于控制所述激活单元接收到所述卷积计算单元发送的初始特征图谱时,根据预设的激活函数对初始特征图谱进行激活计算,获得激活特征图谱,并将激活特征图谱发送至所述池化单元;
所述卷积控制单元与所述池化单元连接,用于控制所述池化单元接收到所述激活单元发送的激活特征图谱时,对激活特征图谱进行池化处理,获得池化特征图谱,将池化特征图谱作为当前卷积层的输出特征图谱,并将当前卷积层的输出特征图谱存储至所述存储模块;
所述卷积控制单元还分别与所述归一化子模块和所述预测子模块连接,用于在完成预设神经网络模型中各卷积层的运算后,将包括帧编号的处理指令分别发送至所述归一化子模块和所述预测子模块;所述卷积缓存单元包括参数缓存子单元和特征图谱缓存子单元;所述参数缓存子单元分别与所述存储模块和所述卷积计算单元连接;所述特征图谱缓存子单元分别与所述存储模块和所述卷积计算单元连接;
所述特征图谱缓存子单元,用于根据预设神经网络模型,执行每一层卷积层的卷积计算时,从所述存储模块中读取与当前卷积层连接的上游网络层的输出特征图谱作为当前卷积层的输入特征图谱,并进行缓存;
所述参数缓存子单元,用于根据预设神经网络模型,执行每一层卷积层的卷积计算时,从所述存储模块中读取当前卷积层的卷积核参数,并进行缓存;
所述卷积计算单元,还用于分别从参数缓存子单元和特征图谱缓存子单元对应读取当前卷积层的卷积核参数和输入特征图谱,根据卷积核参数对输入特征图谱卷积计算,获得初始特征图谱,并将初始特征图谱发送至所述激活单元;所述卷积计算单元包括:乘加子单元和累加子单元;
所述乘加子单元,用于移动卷积窗口提取输入特征图谱中的特征值进行卷积计算,其中每进行一次卷积窗口移动,将卷积窗口对应的输入特征图谱中的各特征值划分为多组特征值,依次将各组特征值与卷积核参数中对应的权重进行乘加计算获得中间乘加结果,并将每次获得的中间乘加结果依次发送至累计计算子单元;
所述累加子单元,用于每接收到所述乘加子单元输出的一个卷积窗口对应的一个中间乘加结果时,会将该中间乘加结果与已接收到的同一卷积窗口对应的各中间乘加结果进行累加,直至同一卷积窗口对应的所有中间乘加结果全部累加完成,将最终的累加结果作为初始特征图谱的一个特征值;当获得初始特征图谱中所有特征值后,会将初始特征图谱发送至所述激活单元;
神经网络模型为S3FD模型,在S3FD模型中各卷积层采用4位量化策略,预测层采用8位量化策略;在执行每一个卷积层运算时,卷积子模块33会将当前卷积层的预设输入映射因子、预设输出因子、预设卷积权重映射因子、卷积核参数和当前卷积层的输入特征图谱输入至预设的浮点卷积计算公式中,获得32位浮点特征图,该浮点卷积计算公式为:
Figure FDA0004038024100000051
其中yfloat为32位浮点特征图谱,xint4为当前卷积层的4bit定点输入特征图谱,wint4为当前卷积层的4bit定点卷积权重参数,S1为当前卷积层的输入映射因子,S2为当前卷积层的卷积权重映射因子、S3为当前卷积层的输出映射因子,n为预设正整数值,bfloat为当前卷积层的偏置参数;
然后根据定点转换公式,将32位浮点特征图谱转换为4位定点特征图谱,该定点转换公式为:
Figure FDA0004038024100000052
其中,
Figure FDA0004038024100000053
为对yfloat进行四舍五入运算后的值;
在执行预测层的运算时,预测子模块34会将预测层的预设输入映射因子、预设输出因子、预设卷积权重映射因子、卷积核参数和预测层的输入特征图谱输入至预设的浮点卷积计算公式中,获得32位浮点特征图,该浮点卷积计算公式为:
Figure FDA0004038024100000054
其中yfloat为32位浮点特征图谱,xint8为预测层的8bit定点输入特征图谱,wint8为预测层的8bit定点卷积权重参数,S1为预测层的输入映射因子,S2为预测层的卷积权重映射因子、S3为预测层的输出映射因子,n为预设正整数值,bfloat为预测层的偏置参数;
然后根据定点转换公式,将32位浮点特征图谱转换为8位定点特征图谱,该定点转换公式为:
Figure FDA0004038024100000055
其中,
Figure FDA0004038024100000056
为对yfloat进行四舍五入运算后的值。
2.根据权利要求1所述的人脸检测系统,其特征在于,所述卷积子模块还预存各卷积层的输入映射因子、输出映射因子和卷积权重映射因子;
所述卷积子模块,还用于根据当前卷积层的预设输入映射因子、预设输出映射因子和预设卷积权重映射因子、卷积核参数对当前卷积层的输入特征图谱进行浮点卷积计算,获得浮点特征图谱;将浮点特征图谱转换为定点特征图谱,并将定点特征图谱作为当前卷积层的输出特征图谱存储至所述存储模块中。
3.根据权利要求2所述的人脸检测系统,其特征在于,所述预测子模块还预存预测层的输入映射因子、输出映射因子和卷积权重映射因子;
所述预测子模块,还用于根据预测层的输入映射因子、输出映射因子和卷积权重映射因子、卷积核参数对预测层的输入特征图谱进行浮点卷积计算,获得浮点特征图谱;将浮点特征图谱转换为定点特征图谱,并将定点特征图谱作为预测层输出的预测结果存储至所述存储模块中。
4.根据权利要求1至3中任一项所述的人脸检测系统,其特征在于,所述人脸检测系统还包括显示模块,所述显示模块与所述PS模块连接;
所述显示模块,用于接收所述PS发送的标记人脸的图像,并显示所述标记人脸的图像。
CN202110425915.7A 2021-04-20 2021-04-20 人脸检测系统 Active CN113255446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110425915.7A CN113255446B (zh) 2021-04-20 2021-04-20 人脸检测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110425915.7A CN113255446B (zh) 2021-04-20 2021-04-20 人脸检测系统

Publications (2)

Publication Number Publication Date
CN113255446A CN113255446A (zh) 2021-08-13
CN113255446B true CN113255446B (zh) 2023-04-18

Family

ID=77221497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110425915.7A Active CN113255446B (zh) 2021-04-20 2021-04-20 人脸检测系统

Country Status (1)

Country Link
CN (1) CN113255446B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059733A (zh) * 2019-04-01 2019-07-26 苏州科达科技股份有限公司 卷积神经网络的优化及快速目标检测方法、装置
CN111612147A (zh) * 2020-06-30 2020-09-01 上海富瀚微电子股份有限公司 深度卷积网络的量化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766812B (zh) * 2017-10-12 2021-06-29 东南大学—无锡集成电路技术研究所 一种基于MiZ702N的实时人脸检测识别系统
CN109409518B (zh) * 2018-10-11 2021-05-04 北京旷视科技有限公司 神经网络模型处理方法、装置及终端
CN109697408A (zh) * 2018-11-22 2019-04-30 哈尔滨理工大学 一种基于fpga的人脸识别系统
US11179064B2 (en) * 2018-12-30 2021-11-23 Altum View Systems Inc. Method and system for privacy-preserving fall detection
CN111126309A (zh) * 2019-12-26 2020-05-08 长沙海格北斗信息技术有限公司 基于fpga的卷积神经网络架构方法及其人脸识别方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059733A (zh) * 2019-04-01 2019-07-26 苏州科达科技股份有限公司 卷积神经网络的优化及快速目标检测方法、装置
CN111612147A (zh) * 2020-06-30 2020-09-01 上海富瀚微电子股份有限公司 深度卷积网络的量化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Shifeng Zhang et al..S3FD: Single Shot Scale-invariant Face Detector.《arxiv.org》.2017,全文. *

Also Published As

Publication number Publication date
CN113255446A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN110473141B (zh) 图像处理方法、装置、存储介质及电子设备
CN110458095B (zh) 一种有效手势的识别方法、控制方法、装置和电子设备
CN112465748B (zh) 基于神经网络的裂缝识别方法、装置、设备及存储介质
CN111950638B (zh) 基于模型蒸馏的图像分类方法、装置和电子设备
CN111488985A (zh) 深度神经网络模型压缩训练方法、装置、设备、介质
CN112651490B (zh) 人脸关键点检测模型的训练方法及设备、可读存储介质
CN114186632A (zh) 关键点检测模型的训练方法、装置、设备、存储介质
CN113158869A (zh) 图像识别方法、装置、终端设备及计算机可读存储介质
CN114332977A (zh) 关键点检测方法、装置、电子设备及存储介质
CN111695463A (zh) 人脸面部杂质检测模型的训练方法、人脸面部杂质检测方法
CN113902010A (zh) 分类模型的训练方法和图像分类方法、装置、设备和介质
CN114241597A (zh) 一种姿态识别方法及其相关设备
CN117058517A (zh) 一种基于YOLOv5优化模型的安全帽检测方法、装置和介质
CN116954113B (zh) 智能机器人驱动传感智能控制系统及其方法
CN113255446B (zh) 人脸检测系统
CN117372877A (zh) 一种基于神经网络的星图识别方法、装置及相关介质
CN105023021A (zh) 一种基于主方向模板的特征匹配方法
CN113065634A (zh) 一种图像处理方法、神经网络的训练方法以及相关设备
CN111815658B (zh) 一种图像识别方法及装置
CN114913339A (zh) 特征图提取模型的训练方法和装置
CN108710920B (zh) 示功图识别方法及装置
WO2021189321A1 (zh) 一种图像处理方法和装置
CN111027413A (zh) 远距离多工位物体检测方法、系统及存储介质
CN113065638A (zh) 一种神经网络压缩方法及其相关设备
CN114417946A (zh) 目标检测方法及装置

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