基于FPGA的人脸识别数据处理装置及处理方法制造方法及图纸

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

Data Processing Device and Processing Method of Face Recognition Based on FPGA

The invention discloses a face recognition data processing device based on FPGA, which includes a first memory for storing face data; a second memory for storing convolution template data; a FPGA chip for reading data from the first memory and the second memory for in-depth learning to extract face feature values; and a processor for extracting face feature values and human beings. Face database is compared to complete the processor of face recognition; the FPGA chip is equipped with convolutional neural network model, which is used to calculate the read data and store the calculated results in the first memory. The invention improves the speed of reading face data and convolution template data, shortens the time of convolution calculation and further improves the speed of face recognition by designing two external memories, one storing face data and the other storing convolution template data. The invention also provides a face recognition data processing method based on FPGA.

【技术实现步骤摘要】
基于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连接,用于将提取出的人脸特征值与人脸数据库本文档来自技高网...

【技术保护点】
1.一种基于FPGA的人脸识别数据处理装置,其特征在于,包括:第一存储器(301),用于存储人脸数据;第二存储器(302),用于存储卷积模板数据;FPGA芯片(100),用于分别从所述第一存储器(301)和第二存储器(302)中读取数据并进行深度学习从而提取人脸特征值;处理器(200),与所述FPGA芯片(100)连接,用于将提取出的人脸特征值与预存的人脸数据库进行比对以完成人脸识别;所述FPGA芯片(100)搭载有卷积神经网络模型,用于对读取的数据进行运算,并将运算的中间计算结果存储至所述第一存储器(301)中。

【技术特征摘要】
1.一种基于FPGA的人脸识别数据处理装置,其特征在于,包括:第一存储器(301),用于存储人脸数据;第二存储器(302),用于存储卷积模板数据;FPGA芯片(100),用于分别从所述第一存储器(301)和第二存储器(302)中读取数据并进行深度学习从而提取人脸特征值;处理器(200),与所述FPGA芯片(100)连接,用于将提取出的人脸特征值与预存的人脸数据库进行比对以完成人脸识别;所述FPGA芯片(100)搭载有卷积神经网络模型,用于对读取的数据进行运算,并将运算的中间计算结果存储至所述第一存储器(301)中。2.根据权利要求2所述的基于FPGA的人脸识别数据处理装置,其特征在于,所述FPGA芯片(100)包括:缓存输入模块(10)、提频模块(20)、计算模块(30)、降频模块(40)及缓存输出模块(40);所述缓存输入模块(10)用于缓存从所述第一存储器(301)读取的人脸数据及从第二存储器(302)中读取的卷积模板数据;所述提频模块(20)用于将所述缓存输入模块(10)存储的数据输入所述计算模块(30),并提升输入数据的时钟频率;所述计算模块(30)用于对提频模块(20)输入的数据进行卷积和/或池化计算,并得到中间计算结果;所述降频模块(40)用于输出中间计算结果,并降低输出数据的时钟频率;所述缓存输出模块(50)用于缓存输出的中间计算结果,并将中间计算结果缓存至所述第一存储器(301)。3.根据权利要求2所述的基于FPGA的人脸识别数据处理装置,其特征在于,所述缓存输入模块(10)包括:第一缓存输入单元、第二缓存输入单元及第三缓存输入单元;所述第一缓存单元和所述第二缓存单元为乒乓缓存结构,用于交替读取人脸数据;所述第三缓存输入单元用于读取卷积模板数据;所述缓存输出模块(50)包括:第一缓存输出单元和第二缓存输出单元,所述第一缓存输出单元和第二缓存输出单元为乒乓存储结构,用于交替输出中间计算结果。4.根据权利要求2所述的基于FPGA的人脸识别数据处理装置,其特征在于,所述提频模块(20)包括:第一FIFO缓存器及第二FIFO缓存器,所述第一FIFO缓存器分别与所述第一缓存输入单元和第二缓存输入单元连接;所述第二FIFO缓存器与所述第三缓存输入单元连接;所述降频模块包括:第三FIFO缓存器,所述第三缓存器分别与所述第一缓存输出单元和第...

【专利技术属性】
技术研发人员:王付生王栋
申请(专利权)人:北京智慧眼科技股份有限公司
类型:发明
国别省市:北京,11

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

1