首页 / 专利库 / 电脑零配件 / 中央处理器 / 算术逻辑单元 / 一种用于AI芯片人脸识别的CNN硬件加速装置

一种用于AI芯片人脸识别的CNN硬件加速装置

阅读:812发布:2020-05-17

专利汇可以提供一种用于AI芯片人脸识别的CNN硬件加速装置专利检索,专利查询,专利分析的服务。并且本 发明 一种用于AI芯片 人脸识别 的CNN 硬件 加速 装置,包括CNN硬件加速单元,所述的CNN硬件加速单元由CNN矢量算数逻辑单元,输入缓存器,输出缓存器和滤波 控制器 组成,所述的CNN硬件加速单元通过总线与 中央处理器 和 存储器 连接,CNN硬件加速单元通过总线获得的输入包括 滤波器 的人脸图像、方向信息、 频率 信息和有效区域掩膜信息。通过上述,本发明的用于AI芯片人脸识别的CNN硬件加速装置,在保证人脸识别 精度 的同时满足吞吐率与带宽的要求以提高人脸识别速度,采用离线训练CNN,将前馈处理用于识别,反馈处理用于训练,然后用训练好的CNN实现实时任务。,下面是一种用于AI芯片人脸识别的CNN硬件加速装置专利的具体信息内容。

1.一种用于AI芯片人脸识别的CNN硬件加速装置,其特征在于,包括CNN硬件加速单元(1),所述的CNN硬件加速单元(1)由CNN矢量算数逻辑单元(2),输入缓存器(3),输出缓存器(4)和滤波控制器(5)组成,所述的CNN硬件加速单元(1)通过总线(6)与中央处理器(7)和存储器(8)连接,CNN硬件加速单元(1)通过总线(6)获得的输入包括滤波器的人脸图像、方向信息、频率信息和有效区域掩膜信息。
2.根据权利要求1所述的用于AI芯片人脸识别的CNN硬件加速装置,其特征在于,所述的输入缓存器(3)包括输入人脸图像缓存器(9)、方向缓存器(10)、频率缓存器(11)和掩膜缓存器(12);所述输出缓存器(4)为人脸识别加速后的输出人脸图像缓存器(13);输入缓存器(3)和输出缓存器(4)分别连接于CNN矢量算数逻辑单元(2)和滤波控制器(5)之间。
3.根据权利要求2所述的用于AI芯片人脸识别的CNN硬件加速装置,其特征在于,所述的输入缓存器(3)的输入信号包括输入人脸图像像素值及其写使能、方向信息及其写使能、频率信息及其写使能、掩膜信息及其写使能;所述的输入缓存器(3)的输出信号包括输入人脸图像像素值及其可写信号,还有CNN窗口位置索引m和n。
4.根据权利要求2所述的用于AI芯片人脸识别的CNN硬件加速装置,其特征在于,所述的输出缓存器(4)的输入信号包括输出人脸图像像素值和读使能;所述的输出缓存器(4)的输出信号包括输出人脸图像像素值及其可读信号。
5.根据权利要求2所述的用于AI芯片人脸识别的CNN硬件加速装置,其特征在于,所述的输入人脸图像缓存器(9)、方向缓存器(10)、频率缓存器(11)、掩膜缓存器(12)和输出人脸图像缓存器(13)均由读写控制单元和若干存储单元组成。
6.根据权利要求5所述的用于AI芯片人脸识别的CNN硬件加速装置,其特征在于,每个所述的存储单元的字数数目均等于最大支持的输入图像宽度,字宽由对应存储数据的精度决定。
7.根据权利要求6所述的用于AI芯片人脸识别的CNN硬件加速装置,其特征在于,所述的输入人脸图像缓存器(9)包含的存储单元的字数数目等于最大支持的滤波窗口的高度加
1。
8.根据权利要求6所述的用于AI芯片人脸识别的CNN硬件加速装置,其特征在于,所述的方向缓存器(10)、频率缓存器(11)、掩膜缓存器(12)和输出人脸图像缓存器(13)所包含的存储单元的字数数目均等于2。
9.根据权利要求7或8所述的用于AI芯片人脸识别的CNN硬件加速装置,其特征在于,进行CNN训练与识别时,所述的输入人脸图像缓存器(9)、方向缓存器(10)、频率缓存器(11)、掩膜缓存器(12)和输出人脸图像缓存器(13)中的存储单元一次循环进入写入与读出状态,在总线(6)与CNN矢量算术逻辑单元(2)之间交换数据。
10.根据权利要求5所述的用于AI芯片人脸识别的CNN硬件加速装置,其特征在于,所述的读写控制单元包括可读存储单元计算器、读片选信号生成单元、读地址生成单元、写片选信号生成单元和写地址生成单元,其中,所述的可读存储单元计数器记录的是各个缓存器当前可读的存储器单元的字数数目,初始值为零,每写满一行其值加1,而每读完一行其值减1。

说明书全文

一种用于AI芯片人脸识别的CNN硬件加速装置

技术领域

[0001] 本发明涉及AI芯片人脸识别技术领域,尤其涉及一种用于 AI芯片人脸识别的CNN硬件加速装置。

背景技术

[0002] 人脸识别技术已广泛应用于公安、政府、航天、电、医疗及众多企事业单位等领域。但是如何在保证识别准确性的前提下进一步提高识别的速度的问题仍然没有得到很好的解决,特别是在资源有限的嵌入式场合下,问题尤为突出。最主流的人脸识别算法是基于特征点的,提取特征点并进行识别的过程计算量大,耗时长。目前针对于人脸识别的软件优化算法有多种,如基于Gabor滤波的快速人脸识别优化算法、基于Gabor特征融合与LSSVM的人脸识别优化算法、基于神经网络稀疏表达的人脸识别算法等,但这些优化算法在提高人脸识别速度的同时,增大了人脸识别过程的总功耗,并且优化的程度有限,算法优化还存在不稳定的问题。因此为人脸识别AI芯片设计专卷积神经网络CNN硬件加速单元可在不增加功耗的情况下提高人脸识别的速度,为实现这一目标,在设计中需要在保证计算精度的同时很好的解决吞吐率跟带宽的问题。

发明内容

[0003] 本发明主要解决的技术问题是提供一种用于AI芯片人脸识别的CNN硬件加速装置,在保证人脸识别精度的同时满足吞吐率与带宽的要求以提高人脸识别速度,采用离线训练CNN,将前馈处理用于识别,反馈处理用于训练,然后用训练好的CNN实现实时任务。
[0004] 为解决上述技术问题,本发明采用的一个技术方案是:提供了一种用于AI芯片人脸识别的CNN硬件加速装置,包括CNN硬件加速单元(1),所述的CNN硬件加速单元(1)由CNN矢量算数逻辑单元(2),输入缓存器(3),输出缓存器(4)和滤波控制器 (5)组成,所述的CNN硬件加速单元(1)通过总线(6)与中央处理器(7)和存储器(8)连接,CNN硬件加速单元(1)通过总线(6)获得的输入包括滤波器的人脸图像、方向信息、频率信息和有效区域掩膜信息。
[0005] 在本发明一个较佳实施例中,所述的输入缓存器(3)包括输入人脸图像缓存器(9)、方向缓存器(10)、频率缓存器(11)和掩膜缓存器(12);所述输出缓存器(4)为人脸识别加速后的输出人脸图像缓存器(13);输入缓存器(3)和输出缓存器(4)分别连接于CNN矢量算数逻辑单元(2)和滤波控制器(5)之间。
[0006] 在本发明一个较佳实施例中,所述的输入缓存器(3)的输入信号包括输入人脸图像像素值及其写使能、方向信息及其写使能、频率信息及其写使能、掩膜信息及其写使能;所述的输入缓存器(3) 的输出信号包括输入人脸图像像素值及其可写信号,还有CNN窗口位置索引m和n。
[0007] 在本发明一个较佳实施例中,所述的输出缓存器(4)的输入信号包括输出人脸图像像素值和读使能;所述的输出缓存器(4) 的输出信号包括输出人脸图像像素值及其可读信号。
[0008] 在本发明一个较佳实施例中,所述的输入人脸图像缓存器 (9)、方向缓存器(10)、频率缓存器(11)、掩膜缓存器(12)和输出人脸图像缓存器(13)均由读写控制单元和若干存储单元组成。
[0009] 在本发明一个较佳实施例中,每个所述的存储单元的字数数目均等于最大支持的输入图像宽度,字宽由对应存储数据的精度决定。
[0010] 在本发明一个较佳实施例中,所述的输入人脸图像缓存器(9) 包含的存储单元的字数数目等于最大支持的滤波窗口的高度加1。
[0011] 在本发明一个较佳实施例中,所述的方向缓存器(10)、频率缓存器(11)、掩膜缓存器(12)和输出人脸图像缓存器(13)所包含的存储单元的字数数目均等于2。
[0012] 在本发明一个较佳实施例中,进行CNN训练与识别时,所述的输入人脸图像缓存器(9)、方向缓存器(10)、频率缓存器(11)、掩膜缓存器(12)和输出人脸图像缓存器(13)中的存储单元一次循环进入写入与读出状态,在总线(6)与CNN矢量算术逻辑单元(2) 之间交换数据。
[0013] 在本发明一个较佳实施例中,所述的读写控制单元包括可读存储单元计算器、读片选信号生成单元、读地址生成单元、写片选信号生成单元和写地址生成单元,其中,所述的可读存储单元计数器记录的是各个缓存器当前可读的存储器单元的字数数目,初始值为零,每写满一行其值加1,而每读完一行其值减1。
[0014] 本发明的有益效果是:本发明的一种用于AI芯片人脸识别的CNN硬件加速装置,在保证人脸识别精度的同时满足吞吐率与带宽的要求以提高人脸识别速度,采用离线训练CNN,将前馈处理用于识别,反馈处理用于训练,然后用训练好的CNN实现实时任务。附图说明
[0015] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
[0016] 图1是本发明用于AI芯片人脸识别的CNN硬件加速装置的一较佳实施例的结构框图
[0017] 图2是输入输出缓存器与CNN矢量算数逻辑单元和滤波控制器之间的数据交换图;
[0018] 图3是CNN矢量算数逻辑单元中二维卷积器的结构示意图;
[0019] 图4是输入人脸图像缓存器读写状态示意图;
[0020] 图中标号:1、CNN硬件加速单元,2、CNN矢量算术逻辑单元,3、输入缓存器,4、输出缓存器,5、滤波控制器,6、总线, 7、中央处理器,8、存储器,9、输入人脸图像缓存器,10、方向缓存器,11、频率缓存器,12、掩膜缓存器,13、输出人脸图像缓存器。

具体实施方式

[0021] 下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0022] 如图1所示,本发明实施例包括:
[0023] 一种用于AI芯片人脸识别的CNN硬件加速装置,包括CNN硬件加速单元1,所述的CNN硬件加速单元1由CNN矢量算数逻辑单元2,输入缓存器3,输出缓存器4和滤波控制器5组成,所述的CNN 硬件加速单元1通过总线6与中央处理器7和存储器8连接,CNN 硬件加速单元1通过总线6获得的输入包括滤波器的人脸图像、方向信息、频率信息和有效区域掩膜信息。本发明对输入的人脸图像中的每个像素点首先检查其掩膜信息,如果不为零,则利用与该像素点对应的方向和频率信息构造出相应的前馈CNN加速器,并用该加速器对此人脸图像进行加速识别,然后得到对应人脸图像的识别结果;如果掩膜信息为零,则该人脸图像不做识别。本发明的输出为前馈CNN加速识别出的人脸图像。其中输入输出缓存器的引入使宽带得到有效降低,滤波卷积单元采用流线设计,有效提高了硬件加速单元的吞吐率。
[0024] 如图2所示,所述的输入缓存器3包括输入人脸图像缓存器9、方向缓存器10、频率缓存器11和掩膜缓存器12;所述输出缓存器 4为人脸识别加速后的输出人脸图像缓存器13;输入缓存器3和输出缓存器4分别连接于CNN矢量算数逻辑单元2和滤波控制器5 之间。
[0025] 其中,所述的输入缓存器3的输入信号包括输入人脸图像像素值及其写使能、方向信息及其写使能、频率信息及其写使能、掩膜信息及其写使能;所述的输入缓存器3的输出信号包括输入人脸图像像素值及其可写信号,还有CNN窗口位置索引m和n。所述的输出缓存器4的输入信号包括输出人脸图像像素值和读使能;所述的输出缓存器4的输出信号包括输出人脸图像像素值及其可读信号。
[0026] 进一步的,所述的输入人脸图像缓存器9、方向缓存器10、频率缓存器11、掩膜缓存器12和输出人脸图像缓存器13均由读写控制单元和若干存储单元组成。
[0027] 每个所述的存储单元的字数数目均等于最大支持的输入图像宽度,字宽由对应存储数据的精度决定。其中,所述的输入人脸图像缓存器9包含的存储单元的字数数目等于最大支持的滤波窗口的高度加1;所述的方向缓存器10、频率缓存器11、掩膜缓存器12和输出人脸图像缓存器13所包含的存储单元的字数数目均等于2。进行CNN 训练与识别时,所述的输入人脸图像缓存器9、方向缓存器10、频率缓存器11、掩膜缓存器12和输出人脸图像缓存器13中的存储单元一次循环进入写入与读出状态,在总线6与CNN矢量算术逻辑单元 2之间交换数据。
[0028] 再进一步的,所述的读写控制单元包括可读存储单元计算器、读片选信号生成单元、读地址生成单元、写片选信号生成单元和写地址生成单元,
[0029] 其中,所述的可读存储单元计数器记录的是各个缓存器当前可读的存储器单元的字数数目,初始值为零,每写满一行其值加1,而每读完一行其值减1。对于方向缓存器10、频率缓存器11、掩膜缓存器12和输出人脸图像缓存器13,当该计数器的值小于缓存器中存储单元数目时,相应缓存器可写信号有效,否则无效。对于方向缓存器10、频率缓存器11、掩膜缓存器12和输出人脸图像缓存器 13,当该计数器的值非零时,相应缓存器读信号有效,否则无效。而对于输入人脸图像缓存器9,当该缓存器值大于或等于当前CNN 窗口高度时,可读信号有效,否则无效。
[0030] 读片选信号与读地址信号联合索引读地址单元,而写片选信号与写地址信号联合索引写地址单元。
[0031] 对于方向缓存器10、频率缓存器11和掩膜缓存器12,写地址(或读地址)信号初始值为零;当该地址写完或该地址对应窗口CNN训练结束后,写地址(或读地址)信号加1,直到该信号指向行末时清零,然后再重复前面的操作。写片选(或读片选)信号初始时指向零号存储器,并在写地址(或读地址)信号指向行末时在两个存储单元之间切换。
[0032] 对于输入人脸图像存储器9,读地址信号由读地址偏移与滤波窗口位置横向索引m之和决定,读片选信号由读片选偏移与CNN窗口位置纵向索引n之和对输入人脸图像缓存器中存储单元数目取模的结果决定。写地址(或读地址偏移)信号初始值为零,当地址写完或该地址对应窗口CNN结束后,写地址或读地址偏移信号加1,直到该信号指向行末时清零,然后再重复前面的操作。写片选(或读片选偏移)信号初始时指向零号存储器,并在写地址(或读地址偏移)信号指向行末时在所有存储单元之间顺序循环。
[0033] 若滤波窗口大小为(2×K+1),则滤波窗口位置索引信号m和n 的取值范围均为[-K,K]。当进行CNN训练或识别时,m和n从窗口的左上走Z字型扫描到右下角,即当前被滤波像素点的滤波窗口中的像素值会按Z型被一次读出,进入CNN矢量算数逻辑单元硬件加速,最终得出加速人脸识别后的图像像素值。
[0034] 本发明中的二维卷积器如图3所示,增加了后累加过程,允许将多个卷积器组合。在一个时钟周期内,完成如下计算:
[0035]
[0036] 这里的xij是输入的人脸图像值,wmn是K×K卷积核的值,yij是待累加的值,zij是输出的人脸图像值。输入的人脸图像进入K个片上FIFO,尺寸为图像宽度减去卷积核宽度。
[0037] 在FIFO中移动这些值等价于在输入图像上移动卷积窗口。在每个时钟周期,送入一个值,输入图像窗口与卷积核进行点积并行计算。完整卷积运算所需时钟周期数等于输出图像值数目加上填充 FIFO必须的延迟,也即输入图像宽度乘以卷积核高度。所有运算中卷积核均以16位定点数表示。中间累加值以48位保存在FIFO中。
[0038] 滤波控制器5根据功能主要分为三个部分,总线接口、全局控制器和缓存器控制器。总线接口负责总线时序的实现,与具体总线类型相关。全局控制器包括配置信息存储单元和起止控制器,配置信息存储单元负责存储当前人脸图像和滤波器的尺寸,还有总线上存储器中输入和输出的人脸图像、方向、频率、掩膜的存储地址。起止控制器负责响应中央处理器发来的人脸识别起始信号,并判断和发回人脸识别的结束信号。缓存器控制器负责响应从输入输出缓存器发来的可读可写信号,并实现输入输出缓存器与总线的数据交换。
[0039] 首先中央处理器7向CNN硬件加速单元1发出人脸识别请求,由滤波控制器5响应,并等待中央处理器7发送存储器8中输入和输出人脸图像、方向、频率、掩膜的存储地址信息。收到并存储这些地址信息后,滤波控制器5按照相应地址依次逐行从存储器8中读出输入人脸图像、方向、频率、掩膜信息,并写入相应输入缓存器3,直至相应输入缓存器的可写信号失效。此后滤波控制器5一直检测输入人脸图像缓存器、方向缓存器、频率缓存器、掩膜缓存器的可写信号,如果有效,则滤波控制器5再次从存储器8中读取相应信息填满相应缓冲器。与此同时滤波控制器5还要检测输出人脸图像缓存器的可读信号,如果有效,则滤波控制器5从输出人脸图像缓存器读取输出人脸图像,并写入存储器8,直至可读信号失效。每向存储器8写完一行输出人脸图像,滤波控制器都要进行计数,当最后一行输出人脸图像写到存储器8后,即人脸图像的最后一行完成滤波,滤波控制器向中央处理器7发出滤波结束信号,信号被确认后,CNN硬件加速人脸识别过程结束。
[0040] 而输入缓存器3一直检测输入人脸图像缓存器、方向缓存器、频率缓存器、掩膜缓存器的可读信号,当这些信号都同时有效时,即可读出这些信息。首先方向、频率和掩膜信息只都读取一个地址的信息,如果掩膜信息不为零,则在m和n的索引下,按Z字型读出滤波窗口中输入人脸图像的像素值,当m和n扫描到滤波窗口右下角后,表示完成一个点的读取,输入人脸图像缓存器、方向缓存器、频率缓存器、掩膜缓存器再为下一个点的滤波读取数据。如果掩膜信息为零,则直接移到下一个点。
[0041] 当输入人脸图像缓存器中存储单元的个数为6,且滤波窗口大小为5×5时,输入人脸图像缓存器的读写状态如图4所示。读写状态1,此时第5号存储单元处于写状态,即滤波控制器在往第5号存储单元写数据。而与此同时第0-4号存储单元处于读状态,即在为滤波卷积单元提供人脸像素信息,此时第2号存储单元保存的行正在被滤波。当第2行滤波结束,且第5行写完,则读写状态进入状态2,读写的意义同状态1。共6种状态依次循环,直至所有行都被滤波。
[0042] 综上所述,本发明的一种用于AI芯片人脸识别的CNN硬件加速装置,在保证人脸识别精度的同时满足吞吐率与带宽的要求以提高人脸识别速度,采用离线训练CNN,将前馈处理用于识别,反馈处理用于训练,然后用训练好的CNN实现实时任务。
[0043] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈