CN109446996B - 基于fpga的人脸识别数据处理装置及处理方法 - Google Patents

基于fpga的人脸识别数据处理装置及处理方法 Download PDF

Info

Publication number
CN109446996B
CN109446996B CN201811282273.4A CN201811282273A CN109446996B CN 109446996 B CN109446996 B CN 109446996B CN 201811282273 A CN201811282273 A CN 201811282273A CN 109446996 B CN109446996 B CN 109446996B
Authority
CN
China
Prior art keywords
data
module
memory
buffer
face
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
CN201811282273.4A
Other languages
English (en)
Other versions
CN109446996A (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.)
Athena Eyes Co Ltd
Original Assignee
Athena Eyes 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 Athena Eyes Co Ltd filed Critical Athena Eyes Co Ltd
Priority to CN201811282273.4A priority Critical patent/CN109446996B/zh
Publication of CN109446996A publication Critical patent/CN109446996A/zh
Application granted granted Critical
Publication of CN109446996B publication Critical patent/CN109446996B/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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于FPGA的人脸识别数据处理装置,包括第一存储器,用于存储人脸数据;第二存储器,用于存储卷积模板数据;FPGA芯片,用于从第一存储器和第二存储器中读取数据并进行深度学习从而提取人脸特征值;处理器,用于将提取出的人脸特征值与人脸数据库进行比对以完成人脸识别的处理器;FPGA芯片搭载有卷积神经网络模型,用于对读取的数据进行运算,并将运算后的中间计算结果存储至第一存储器中。本发明通过设计两路外部存储器,一路存储人脸数据,另一路存储卷积模板数据,提高了人脸数据和卷积模板读取的速度,缩短了卷积计算的时间,进一步提高了人脸识别的速率。本发明还提供一种基于FPGA的人脸识别数据处理方法。

Description

基于FPGA的人脸识别数据处理装置及处理方法
技术领域
本发明涉及深度学习、卷积技术领域,特别地,涉及一种基于FPGA的人脸识别数据处理装置及方法。此外,本发明还涉及一种包括上述基于FPGA的人脸识别数据处理装置的处理方法。
背景技术
随着深度学习方法的应用,基于神经网络的人脸识别技术的识别率已经得到质的提升,目前该项技术已经应用到安防、金融、社保、教育等各个领域。基于神经网络人脸识别技术由于需要大量的乘加运算,所以需要CPU、GPU、AISC等硬件芯片的支持,CPU不适合用于大量乘加运算,效率最低,专有AISC虽然性能高、功耗低但灵活性也低,不适合技术加速迭代的神经网络技术上应用。目前一般采用GPU实现硬件加速,但是GPU板卡本身周围器件多,体积大、功耗大,不适宜应用在终端设备方面,而在服务器级方面也需要有CPU的芯片配合应用。
发明内容
本发明提供了一种基于FPGA的人脸识别数据处理装置及数据处理方法,以解决现有的人脸识别效率低、灵活性能低并且需要的周围器件多、体积大的技术问题。
本发明采用的技术方案如下:
一种基于FPGA的人脸识别数据处理装置,包括:第一存储器,用于存储人脸数据;第二存储器,用于存储卷积模板数据;FPGA芯片,用于分别从第一存储器和第二存储器中读取数据并进行深度学习从而提取人脸特征值;处理器,与FPGA芯片连接,用于将提取出的人脸特征值与预存的人脸数据库进行比对以完成人脸识别;FPGA芯片搭载有卷积神经网络模型,用于对读取的数据进行运算,并将运算的中间计算结果存储至第一存储器中。
进一步地,FPGA芯片包括:缓存输入模块、提频模块、计算模块、降频模块及缓存输出模块;缓存输入模块用于缓存从第一存储器读取的人脸数据及从第二存储器中读取的卷积模板数据;提频模块用于将缓存输入模块存储的数据输入计算模块,并提升输入数据的时钟频率;计算模块用于对提频模块输入的数据进行卷积和/或池化计算,并得到中间计算结果;降频模块用于输出中间计算结果,并降低输出数据的时钟频率;缓存输出模块用于缓存输出的中间计算结果,并将中间计算结果缓存至第一存储器。
进一步地,缓存输入模块包括:第一缓存输入单元、第二缓存输入单元及第三缓存输入单元;第一缓存单元和第二缓存单元为乒乓缓存结构,用于交替读取人脸数据;第三缓存输入单元用于读取卷积模板数据;缓存输出模块包括:第一缓存输出单元和第二缓存输出单元,第一缓存输出单元和第二缓存输出单元为乒乓存储结构,用于交替输出中间计算结果。
进一步地,提频模块包括:第一FIFO缓存器及第二FIFO缓存器,第一FIFO缓存器分别与第一缓存输入单元和第二缓存输入单元连接;第二FIFO缓存器与第三缓存输入单元连接;降频模块包括:第三FIFO缓存器,第三缓存器分别与第一缓存输出单元和第二缓存输出单元连接。
进一步地,FPGA芯片还包括控制模块,控制模块连接缓存输入模块及缓存输出模块,控制模块用于控制卷积神经网络前M层的中间计算结果存储至第一存储器中,卷积神经网络后N层中间计算结果存储至缓存输入模块。
根据本发明的另一方面,还提供了一种基于FPGA的人脸识别数据处理方法,运用于上述权1至5任一项的数据处理装置中,其特征在于,该方法包括以下步骤:
S100:从第一存储器中读取人脸数据缓存到缓存输入模块,从第二存储器中读取卷积模板数据并缓存至缓存输入模块;
S200:利用卷积神经网络模型对缓存输入模块输入的人脸数据和卷积模板数据进行计算,并得到中间计算结果;
S300:将中间计算结果输出至缓存输出模块,并保存至第一存储器以供下次计算使用;
S400:重复上述步骤直至提取出人脸特征值;及
S500:将提取出的人脸特征值与预存的人脸数据库进行比对以完成人脸识别。
进一步地,步骤S200还包括以下步骤:
S201:将缓存输入模块中的人脸数据和卷积模板数据输入计算模块,并同时提升输入数据的时钟频率;
S202:对缓存输入模块输入的数据进行卷积和/或池化计算,并得到中间计算结果;
S203:输出中间计算结果,并同时降低输出数据的时钟频率。
进一步地,步骤S300还包括:将卷积神经网络计算的前面M层的中间计算结果保存至第一存储器以供下次使用;将卷积神经网络计算的后N层的中间计算结果保存至缓存输入模块供下次使用。
进一步地,步骤S100还包括:将从第一存储器中读取的人脸数据通过乒乓操作缓存到第一缓存输入单元或第二缓存输入单元;
将从第二存储器中读取的卷积模板数据缓存到第三缓存输入单元。
进一步地,步骤S300还包括:卷积神经网络的中间计算结果通过乒乓操作输出至第一缓存输出单元或第二缓存输出单元,并将中间计算结果保存至第一存储器或缓存输入模块。
本发明具有以下有益效果:
本发明的基于FPGA的人脸识别数据处理装置,包括第一存储器,用于存储人脸数据第二存储器,用于存储卷积模板数据;FPGA芯片,用于从第一存储器和第二存储器中读取数据并进行深度学习从而提取人脸特征值;处理器,与FPGA芯片连接,用于将提取出的人脸特征值与人脸数据库进行比对以完成人脸识别的处理器;FPGA芯片搭载有卷积神经网络模型,用于对读取的数据进行运算,并将运算后的中间计算结果存储至第一存储器中。本发明通过设计两路外部存储器,一路用于人脸数据和中间计算结果的存储,另一路用于卷积模板数据的存储,提高了人脸数据和卷积模板读取的速度,从而缩短了卷积计算的时间,进一步提高了人脸识别的速率。
本发明的基于FPGA的人脸识别数据处理方法,通过从第一存储器中读取人脸数据,从第二存储器中读取卷积模板数据,利用FPGA搭载的卷积神经网络模型对输入的数据进行计算,并将计算的中间结果存储至第一存储器以供下次利用,并循环上述步骤完成人脸特征值的提取。本发明通过将人脸数据和卷积模板分开存储和读取,提高了人脸数据和卷积模板读取的速度,从而缩短了卷积计算的时间,进一步提高了人脸识别的速率。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明优选实施例处理装置的模块示意图;
图2是本发明优选实施例处理装置中FPGA芯片的模块示意图;
图3是本发明优选实施例处理装置中FPGA芯片的又一模块示意图;
图4是本发明优选实施例处理方法的流程示意图。
附图标号说明:
10、缓存输入模块;20、提频模块;30、计算模块;40、降频模块;50、缓存输出模块;60、控制模块;
100、FPGA芯片;200、处理器;301、第一存储器;302、第二存储器;400、运算单元。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
参照图1,本发明的优选实施例提供了一种基于FPGA的人脸识别数据处理装置,包括第一存储器301,用于存储人脸数据;第二存储器302,用于存储卷积模板数据;FPGA芯片100,用于分别从第一存储器301和第二存储器302中读取数据并进行深度学习从而提取人脸特征值;处理器200,与FPGA芯片100连接,用于将提取出的人脸特征值与人脸数据库进行比对以完成人脸识别;FPGA芯片100搭载有卷积神经网络模型,用于对读取的数据进行运算,并将运算后的中间计算结果存储至第一存储器301中。
在本实施例中,FPGA具有动态可重构的特点,可以进行灵活的编程且设计能效较高,在终端设备上散热更易于设计,体积更小。服务器级别FPGA板卡可以取代GPU板卡,而且可以与CPU、ARM等各种处理器配合使用,适用性范围更广。本实施例采用两片外部存储器,一片用于存储人脸数据,另一片用于卷积模板数据的存储。处理器200采用CPU或ARM板卡,处理器200与FPGA芯片100通过PCIE完成数据通讯;处理器200将卷积模板数据与需要识别的人脸图像通过PCIE接口发送给与FPGA连接的第一存储器301和第二存储器302进行缓存。发送完成后,FPGA芯片100从第一存储器301和第二存储器302中读取数据并依据采用的卷积神经网络架构进行计算,将提取到的人脸特征值返回给处理器200。由处理器200完成与人脸数据库的比对,从而完成人脸识别。上述数据的交互不限于PCIE接口,还可以由网口、USB等接口完成。另外,卷积神经网络是由DSP模块搭建的。
本实施例的基于FPGA的人脸识别数据处理装置,通过设计两路存储器,一路用于存储人脸数据和中间计算结果,另一路用于存储卷积模板数据,提高了人脸数据和卷积模板读取的速度,从而缩短了卷积计算的时间,进一步提高了人脸识别的速率。
参照图2,FPGA芯片100包括:
缓存输入模块10、提频模块20、计算模块30、降频模块40及缓存输出模块50;
缓存输入模块10用于缓存从第一存储器301读取的人脸数据及从第二存储器302中读取的卷积模板数据;
提频模块20用于将缓存输入模块10中的人脸数据和卷积模板数据输入计算模块30,并同时提升输入数据的时钟频率;
计算模块30用于对提频模块20输入的数据进行卷积和/或池化计算,并得到中间计算结果;
降频模块40用于输出中间计算结果,并降低输出数据的时钟频率;
缓存输出模块50用于缓存输出的中间计算结果,并将中间计算结果保存至第一存储器301。
在本实施例中,卷积神经网络模型是由DSP模块搭建的计算模型。提频模块20为FIFO缓存器,用于提升写入FIFO缓存器的时钟频率。降频模块40为FIFO缓存器,用于降低FIFO缓存器输出的时钟频率。因为采用两路存储器,为了使DSP性能跟存储器带宽匹配,对计算部分进行提频处理,从而充分利用DSP的高性能,提高卷积神经网络计算的速度。计算完成后经过FIFO缓存器进行降频处理,将时钟频率降低至原始频率,从而使时钟频率与提频前的时钟频率匹配,以更好的完成中间计算结果的输出和缓存。
本实施例的处理装置,通过FIFO缓存器提高了卷积和池化计算部分的时钟频率,使DSP模块的计算性能与两路存储器的带宽相匹配,从而优化FPGA处理性能,进一步提高人脸识别的速率。
进一步地,缓存输入模块10包括:
第一缓存输入单元、第二缓存输入单元及第三缓存输入单元,第一缓存单元和第二缓存单元为乒乓缓存结构,用于交替读取并缓存人脸数据;第三缓存输入单元用于读取并缓存卷积模板数据;
缓存输出模块50包括:第一缓存输出单元及第二缓存输出单元;第一缓存输出单元和第二缓存输出单元为乒乓缓存结构,用于交替缓存输出卷积神经网络的计算结果;
在本实施例中,提频模块20包括:第一FIFO缓存器,第二FIFO缓存器,第一缓存单元与第二缓存单元均与第一FIFO缓存器连接,第三缓存输入单元与第二FIFO缓存器连接。
通过第一缓存单元和第二缓存单元均与第一FIFO存储器连接,使第一缓存单元和第二缓存单元的数据同时输出,一方面,使传输数据连续不间断;另一方面提高了数据的传输速度,在本实施例中,为了使DSP性能更好的跟存储器的带宽匹配,通过FIFO将时钟频率提升至原来的2倍。
第三缓存输入单元与第二FIFO缓存器连接,用于缓存每层的卷积模板数据,卷积模板数据是一直输出,而且是不变的。在本实施例中,通过第二FIFO存储器,将时钟频率也提升2倍。
可选地,降频模块40包括第三FIFO存储器,经过卷积或池化计算后的结果经第三FIFO缓存器使时钟频率降低至原始频率,并与第一缓存输出单元和第二缓存输出单元连接。中间计算结果经第一缓存输出单元和第二缓存输出单元交替缓存输出,然后将计算的中间结果保存至第一存储器301,以供下次计算使用。
在本实施例中,参照图2,虚线表示的运算单元400外部的时钟频率为X,运算单元400内的时钟频率为2X。在运算单元400内部计算部分的时钟频率均被提升2倍,计算完成后,将时钟频率降低至原始频率,并将计算的中间计算结果缓存至第一存储器301中。
本实施例的基于FPGA的人脸识别数据处理装置,通过设置两路存储器,分别存储人脸数据和卷积模板参数,并且充分利用DSP模块的性能,使计算部分的时钟频率是其他数据操作部分的2倍,使存储器的带宽和DSP模块的计算性能达到最优匹配,从而使FPGA芯片100的处理性能达到最优。
本发明基于FPGA的人脸识别数据处理装置处理数据的步骤为:首先从第一存储器301中读取人脸数据经乒乓操作缓存至第一缓存输入单元和第二缓存输入单元;从第二存储器302中读取卷积模板数据,并存储至第三缓存输入单元。将第一缓存输入单元、第二缓存输入单元读取的数据经第一FIFO将时钟频率提升至2倍,第三缓存输入单元的读取数据经第二FIFO缓存器将时钟频率提升至2倍,然后进行卷积或池化计算;计算完成后,经第三FIFO缓存器将时钟频率降低至原始频率,并将中间计算结果经乒乓操作缓存输出至第一缓存输出单元和第二缓存输出单元;然后将计算的中间结果保存至第一存储器301保存以供下一次计算使用。循环上述步骤完成整个卷积神经网络架构的计算,直至计算到最后一层提取到人脸特征值。
优选地,FPGA芯片100还包括控制模块60,控制模块60连接缓存输入模块10和缓存输出模块50,用于控制数据的缓存和输出。控制模块60还用于控制卷积神经网络前M层计算的中间结果存储至第一存储器301中,卷积神经网络后N层计算的中间计算结果存储至缓存输入模块10。
在本实施例中,针对上述实现架构和通过分析人脸识别卷积神经网络结构可以对数据处理方案进一步优化。神经网络架构的特点是神经元由原始点不断向外扩散,简单概括来说就是模板参数由初始层较少到随着层数增加而翻倍增多,但是计算的数据量是逐渐减小的趋势。假设前面M层计算的中间结果数据量较大,卷积模板参数数据量较小,而后面的N层计算的中间结果数据量较小,但模板参数数据量很大。
参照图3,优化后的流程就是,因为前M层计算的中间结果数据量大,FPGA芯片100片内的缓存的输入单元空间有限,所以将神经网络前M层计算的中间结果存储至第一存储器301中,后面N层因为中间计算结果数据量小,可将神经网络后N层的中间计算结果存储至FPGA片内的缓存输入单元内,而不是缓存到第一存储器301内,第一存储器301和第二存储器302均用于存储卷积模板数据,所以针对后N层计算,提高了卷积中间计算结果的读取速度,而且同时从第一存储器和第二存储器读取卷积模板数据,增加了数据传输带宽,从而缩短了每次卷积计算的时间,进一步提升了人脸识别的处理速度。
本发明基于FPGA的人脸识别数据处理装置优化后的处理步骤为:首先从第一存储器301中读取人脸数据,从第二存储器302中读取卷积模板数据并缓存至缓存输入模块10内,然后利用DSP搭建的卷积神经网络模型对输入的人脸数据和卷积模板数据进行计算,并将卷积神经网络计算的前M层中间计算结果存储至第一存储器301中,把卷积神经网络计算的后N层中间计算结果存储至片内的缓存输入模块10中,而卷积模板数据是从第一储存器301和第二储存器302读取,最终提取出人脸特征值。
本实施例的基于FPGA的人脸识别数据处理装置,根据神经网络架构特点,充分利用外部存储器的带宽资源,将神经网络前M层和后N层分别用不同的存储方式和卷积模板数据调用方式,加快数据调度和计算能力,使基于FPGA人脸识别性能得到了较大提升。另外,由于FPGA的灵活重构性可以根据算法的不断优化而快速的设计实现,所以相对来说用FPGA芯片100实现人脸识别相比采用其他芯片性价比更高。
参照图4,本发明还提供一种基于FPGA的人脸识别数据处理方法,该方法应用与上述人脸识别数据处理装置中,该方法包括以下步骤:
S100:首先从第一存储器301中读取人脸数据,从第二存储器302中读取卷积模板数据并将读取的人脸数据和卷积模板数据缓存到缓存输入模块10,
S200:根据缓存的人脸数据和卷积模板数据,利用卷积神经网络模型进行计算,并得到中间计算结果;
S300:将中间计算结果输出至缓存输出区,并将中间计算结果保存至第一存储器301以供下次计算使用;
S400:重复上述步骤直至提取出人脸特征值;及
S500:将提取出的人脸特征值与预存的人脸数据库进行比对以完成人脸识别。
在本实施例中,卷积神经网络模型是由DSP模块搭建的模型,本实施例的基于FPGA的人脸识别数据处理方法,通过重复上述步骤完成整个卷积神经网络架构的计算,最终提取出人脸特征值。将提取的人脸特征值与预存的人脸数据库进行比对完成人脸识别。本发明通过将人脸数据和卷积模板数据分开存储和读取,提高了人脸数据和卷积模板读取的速度,从而缩短了卷积计算的时间,进一步提高了人脸识别的速率。
在本发明的又一实施例中,步骤S200还包括:
S201:将缓存输入模块10中的人脸数据和卷积模板数据输入计算模块30,并同时提升输入数据的时钟频率;
S202:对输入的数据进行卷积和/或池化计算,并得到中间计算结果;
S203:输出中间计算结果,并同时降低输出数据的时钟频率。
本实施例的处理方法,通过提升输入数据的时钟频率,然后进行卷积和/或池化计算,得到中间计算结果,然后输出中间计算结果并降低输出数据的时钟频率。本实施例的处理方法,通过提升计算部分的时钟频率,提高了卷积池化计算部分的运算速度,使DSP模块的计算性能与两路存储器的带宽相匹配,从而优化FPGA处理性能。
在本发明的其他实施例中,步骤S100还包括:将从第一存储器301中读取的人脸数据通过乒乓操作缓存到第一缓存输入单元或第二缓存输入单元;将从第二存储器302中读取的卷积模板数据缓存到第三缓存输入单元。步骤S300还包括:中间计算结果通过乒乓操作输出至第一缓存输出区或第二缓存输出区。
在本实施例的处理方法,通过乒乓操作来读取和缓存数据,保证了数据输入和输出的完整性,并且提高了数据的传输速率。
在本发明的又一实施例中,步骤S300还包括:将卷积神经网络计算的前面M层的中间计算结果保存至第一存储器301以供下次使用;将卷积神经网络计算的后面N层的中间计算结果保存至缓存输入模块10供下次使用。
在本实施例中,根据神经网络架构的特性,前M层计算的中间结果数据量大,FPGA芯片100片内的缓存输入单元空间有限,所以将神经网络前M层计算的中间结果存储至第一存储器301中,后面N层因为中间结果数据量小,可将神经网络后M层计算的中间结果存储至FPGA片内的缓存输入单元内,而不是缓存到第一存储器301内,第一存储器301和第二存储器302均用于存储卷积模板数据。所以针对后N层计算,提高了卷积中间计算结果和卷积模板数据的读取速度,从而缩短了每次卷积计算的时间,进一步提升了人脸识别的处理速度。
在本发明的又一实施例中,步骤S300还包括:中间计算结果通过乒乓操作输出至第一缓存输出区或第二缓存输出区,并将中间计算结果进一步保存至第一存储器301或缓存输入模块10中。在本实施例中,前M层的中间计算结果保存至第一存储器301中,后N层的中间计算结果保存至缓存输入模块10中。
本发明的处理方法,根据神经网络架构特点,充分利用外部存储器的带宽资源,将神经网络前M层和后N层分别用不同的存储方式和卷积模板数据调用方式,加快数据调度和计算能力,使基于FPGA人脸识别性能得到了较大提升。另外,由于FPGA的灵活重构性可以根据算法的不断优化而快速的设计实现,所以相对来说用FPGA芯片实现人脸识别相比采用其他芯片性价比更高。经过实验得知,采用优化后的处理流程,在不增加任何在资源的情况下,处理速率可提高约40%。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于FPGA的人脸识别数据处理装置,其特征在于,包括:
第一存储器(301),用于存储人脸数据和卷积模板数据;
第二存储器(302),用于存储卷积模板数据;
FPGA芯片(100),用于分别从所述第一存储器(301)和第二存储器(302)中读取数据并进行深度学习从而提取人脸特征值;
处理器(200),与所述FPGA芯片(100)连接,用于将提取出的人脸特征值与预存的人脸数据库进行比对以完成人脸识别;
所述FPGA芯片(100)搭载有卷积神经网络模型,用于对读取的数据进行运算,并将运算的中间计算结果存储至所述第一存储器(301)中;
所述FPGA芯片(100)包括:缓存输入模块(10)、提频模块(20)、计算模块(30)、降频模块(40)及缓存输出模块(50);
所述缓存输入模块(10)用于缓存从所述第一存储器(301)读取的人脸数据及从第二存储器(302)中读取的卷积模板数据;
所述提频模块(20)用于将所述缓存输入模块(10)存储的数据输入所述计算模块(30),并提升输入数据的时钟频率;
所述计算模块(30)用于对提频模块(20)输入的数据进行卷积和/或池化计算,并得到中间计算结果;
所述降频模块(40)用于输出中间计算结果,并降低输出数据的时钟频率;
所述缓存输出模块(50)用于缓存输出的中间计算结果,并将中间计算结果缓存至所述第一存储器(301);
所述FPGA芯片还包括控制模块(60),所述控制模块(60)连接所述缓存输入模块(10)及所述缓存输出模块(50),所述控制模块(60)用于控制卷积神经网络前M层的中间计算结果存储至所述第一存储器(301)中,卷积神经网络后N层中间计算结果存储至所述缓存输入模块(10)。
2.根据权利要求1所述的基于FPGA的人脸识别数据处理装置,其特征在于,
所述缓存输入模块(10)包括:第一缓存输入单元、第二缓存输入单元及第三缓存输入单元;所述第一缓存输入单元和所述第二缓存输入单元为乒乓缓存结构,用于交替读取人脸数据;所述第三缓存输入单元用于读取卷积模板数据;
所述缓存输出模块(50)包括:第一缓存输出单元和第二缓存输出单元,所述第一缓存输出单元和第二缓存输出单元为乒乓存储结构,用于交替输出中间计算结果。
3.根据权利要求2所述的基于FPGA的人脸识别数据处理装置,其特征在于,
所述提频模块(20)包括:第一FIFO缓存器及第二FIFO缓存器,所述第一FIFO缓存器分别与所述第一缓存输入单元和第二缓存输入单元连接;所述第二FIFO缓存器与所述第三缓存输入单元连接;
所述降频模块包括:第三FIFO缓存器,所述第三FIFO缓存器分别与所述第一缓存输出单元和第二缓存输出单元连接。
4.一种基于FPGA的人脸识别数据处理方法,运用于上述权利要求1至3任一项所述的数据处理装置中,其特征在于,该方法包括以下步骤:
S100:从第一存储器(301)中读取人脸数据缓存到缓存输入模块(10),且同时从第一存储器(301)、第二存储器(302)中读取卷积模板数据并缓存至缓存输入模块(10);
S200:利用卷积神经网络模型对缓存输入模块(10)输入的人脸数据和卷积模板数据进行计算,并得到中间计算结果;
S300:将中间计算结果输出至缓存输出模块(50),并保存至所述第一存储器(301)以供下次计算使用;
S400:重复上述步骤直至提取出人脸特征值;及
S500:将提取出的人脸特征值与预存的人脸数据库进行比对以完成人脸识别;
所述步骤S300还包括:将卷积神经网络计算的前面M层的中间计算结果保存至所述第一存储器(301)以供下次使用;
将卷积神经网络计算的后N层的中间计算结果保存至所述缓存输入模块(10)供下次使用。
5.根据权利要求4所述的处理方法,其特征在于,
步骤S200还包括以下步骤:
S201:将缓存输入模块(10)中的人脸数据和卷积模板数据输入计算模块(30),并同时提升输入数据的时钟频率;
S202:对缓存输入模块(10)输入的数据进行卷积和/或池化计算,并得到中间计算结果;
S203:输出中间计算结果,并同时降低输出数据的时钟频率。
6.根据权利要求4所述的处理方法,其特征在于,
步骤S100还包括:将从第一存储器(301)中读取的人脸数据通过乒乓操作缓存到第一缓存输入单元或第二缓存输入单元;
将从第二存储器(302)中读取的卷积模板数据缓存到第三缓存输入单元。
7.根据权利要求4所述的处理方法,其特征在于,
步骤S300还包括:卷积神经网络的中间计算结果通过乒乓操作输出至第一缓存输出单元或第二缓存输出单元,并将中间计算结果保存至所述第一存储器(301)或所述缓存输入模块(10)。
CN201811282273.4A 2018-10-31 2018-10-31 基于fpga的人脸识别数据处理装置及处理方法 Active CN109446996B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811282273.4A CN109446996B (zh) 2018-10-31 2018-10-31 基于fpga的人脸识别数据处理装置及处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811282273.4A CN109446996B (zh) 2018-10-31 2018-10-31 基于fpga的人脸识别数据处理装置及处理方法

Publications (2)

Publication Number Publication Date
CN109446996A CN109446996A (zh) 2019-03-08
CN109446996B true CN109446996B (zh) 2021-01-22

Family

ID=65550300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811282273.4A Active CN109446996B (zh) 2018-10-31 2018-10-31 基于fpga的人脸识别数据处理装置及处理方法

Country Status (1)

Country Link
CN (1) CN109446996B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147880A (zh) * 2019-05-22 2019-08-20 苏州浪潮智能科技有限公司 一种神经网络数据处理结构、方法、系统及相关装置
CN110673786B (zh) 2019-09-03 2020-11-10 浪潮电子信息产业股份有限公司 数据缓存的方法和装置
CN111126309A (zh) * 2019-12-26 2020-05-08 长沙海格北斗信息技术有限公司 基于fpga的卷积神经网络架构方法及其人脸识别方法
CN111582459B (zh) * 2020-05-18 2023-10-20 Oppo广东移动通信有限公司 执行操作的方法、电子设备、装置及存储介质
CN111752879B (zh) * 2020-06-22 2022-02-22 深圳鲲云信息科技有限公司 一种基于卷积神经网络的加速系统、方法及存储介质
CN111986071B (zh) * 2020-08-27 2022-11-29 苏州浪潮智能科技有限公司 一种图片数据处理方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158451A (zh) * 2010-02-11 2011-08-17 中兴通讯股份有限公司 高速多载波多相内插滤波方法和装置
CN205726177U (zh) * 2016-07-01 2016-11-23 浪潮集团有限公司 一种基于卷积神经网络芯片的安防监控系统
CN106156851A (zh) * 2016-06-24 2016-11-23 科大讯飞股份有限公司 面向深度学习业务的加速装置及方法
CN108416422A (zh) * 2017-12-29 2018-08-17 国民技术股份有限公司 一种基于fpga的卷积神经网络实现方法及装置
CN108681704A (zh) * 2018-05-15 2018-10-19 北京理工大学 一种基于深度学习的人脸识别系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788727B1 (en) * 2013-01-10 2014-07-22 Agilent Technologies, Inc. Electronic system subject to memory overflow condition

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158451A (zh) * 2010-02-11 2011-08-17 中兴通讯股份有限公司 高速多载波多相内插滤波方法和装置
CN106156851A (zh) * 2016-06-24 2016-11-23 科大讯飞股份有限公司 面向深度学习业务的加速装置及方法
CN205726177U (zh) * 2016-07-01 2016-11-23 浪潮集团有限公司 一种基于卷积神经网络芯片的安防监控系统
CN108416422A (zh) * 2017-12-29 2018-08-17 国民技术股份有限公司 一种基于fpga的卷积神经网络实现方法及装置
CN108681704A (zh) * 2018-05-15 2018-10-19 北京理工大学 一种基于深度学习的人脸识别系统

Also Published As

Publication number Publication date
CN109446996A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
CN109446996B (zh) 基于fpga的人脸识别数据处理装置及处理方法
Yuan et al. High performance CNN accelerators based on hardware and algorithm co-optimization
CN112214726B (zh) 运算加速器
CN110097174B (zh) 基于fpga和行输出优先的卷积神经网络实现方法、系统及装置
KR102443546B1 (ko) 행렬 곱셈기
CN110390385B (zh) 一种基于bnrp的可配置并行通用卷积神经网络加速器
Liu et al. Optimizing CNN-based segmentation with deeply customized convolutional and deconvolutional architectures on FPGA
Liang et al. FP-BNN: Binarized neural network on FPGA
CN107844828B (zh) 神经网络中的卷积计算方法和电子设备
Qiao et al. FPGA‐accelerated deep convolutional neural networks for high throughput and energy efficiency
CN109948774B (zh) 基于网络层捆绑运算的神经网络加速器及其实现方法
CN108629406B (zh) 用于卷积神经网络的运算装置
CN111667051A (zh) 适用边缘设备的神经网络加速器及神经网络加速计算方法
CN107657581A (zh) 一种卷积神经网络cnn硬件加速器及加速方法
CN108133270A (zh) 卷积神经网络加速方法及装置
CN109284824B (zh) 一种基于可重构技术的用于加速卷积和池化运算的装置
CN108537331A (zh) 一种基于异步逻辑的可重构卷积神经网络加速电路
CN113743599B (zh) 一种卷积神经网络的运算装置及服务器
Khabbazan et al. Design and implementation of a low-power, embedded cnn accelerator on a low-end fpga
CN106846235A (zh) 一种利用NVIDIA Kepler GPU汇编指令加速的卷积优化方法及系统
WO2021249192A1 (zh) 图像处理方法及装置、机器视觉设备、电子设备和计算机可读存储介质
Shahshahani et al. Memory optimization techniques for fpga based cnn implementations
Yu et al. Instruction driven cross-layer cnn accelerator for fast detection on fpga
US20220253668A1 (en) Data processing method and device, storage medium and electronic device
Que et al. Recurrent neural networks with column-wise matrix–vector multiplication on FPGAs

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
CB02 Change of applicant information

Address after: 410205 14 Changsha Zhongdian Software Park Phase I, 39 Jianshan Road, Changsha High-tech Development Zone, Yuelu District, Changsha City, Hunan Province

Applicant after: Wisdom Eye Technology Co.,Ltd.

Address before: 100193 4th Floor 403, Building A, Building 14, East Courtyard, 10 Northwest Wanglu, Haidian District, Beijing

Applicant before: BEIJING ATHENA EYES SCIENCE & TECHNOLOGY CO.,LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Data processing device and method for face recognition based on FPGA

Effective date of registration: 20221205

Granted publication date: 20210122

Pledgee: Agricultural Bank of China Limited Hunan Xiangjiang New Area Branch

Pledgor: Wisdom Eye Technology Co.,Ltd.

Registration number: Y2022430000107

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20231220

Granted publication date: 20210122

Pledgee: Agricultural Bank of China Limited Hunan Xiangjiang New Area Branch

Pledgor: Wisdom Eye Technology Co.,Ltd.

Registration number: Y2022430000107

PC01 Cancellation of the registration of the contract for pledge of patent right
CP03 Change of name, title or address

Address after: No. 205, Building B1, Huigu Science and Technology Industrial Park, No. 336 Bachelor Road, Bachelor Street, Yuelu District, Changsha City, Hunan Province, 410000

Patentee after: Wisdom Eye Technology Co.,Ltd.

Country or region after: China

Address before: 410205 building 14, phase I, Changsha Zhongdian Software Park, No. 39, Jianshan Road, Changsha high tech Development Zone, Yuelu District, Changsha City, Hunan Province

Patentee before: Wisdom Eye Technology Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address