有效
基于神经网络的图像识别装置和图像识别方法
周培涛、陈志强、张丽、李元景、邓智、李波、唐虎、焦凌云、孙运达、邢宇翔、高河伟、焦亚涛、廖磊、付世航、岳小兵
同方威视技术股份有限公司
周
周培涛机构 暂无
技术领域 暂无
陈
陈志强机构 暂无
技术领域 暂无
张
张丽机构 暂无
技术领域 暂无
李
李元景机构 暂无
技术领域 暂无
邓
邓智机构 暂无
技术领域 暂无
李
李波机构 暂无
技术领域 暂无
唐
唐虎机构 暂无
技术领域 暂无
焦
焦凌云机构 暂无
技术领域 暂无
孙
孙运达机构 暂无
技术领域 暂无
邢
邢宇翔机构 暂无
技术领域 暂无
高
高河伟机构 暂无
技术领域 暂无
焦
焦亚涛机构 暂无
技术领域 暂无
廖
廖磊机构 暂无
技术领域 暂无
付
付世航机构 暂无
技术领域 暂无
岳
岳小兵机构 暂无
技术领域 暂无
摘要
本公开的实施例公开了一种基于神经网络的图像识别装置包括:图像缓存,被配置为接收并存储图像;特征图缓存,被配置为接收并存储特征图;权重缓存,被配置为接收并存储权重;控制器,包括配置信息寄存器,并且被配置为接收配置信息,根据配置信息生成第一和第二控制信号,并且发送第一和第二控制信号;预处理单元,被配置为分别从图像缓存和权重缓存获得图像和权重,从控制器接收第一控制信号,根据第一控制信号对图像和权重执行预处理以得到并发送预处理结果;以及处理单元阵列,被配置为从预处理单元接收预处理结果,从控制器接收第二控制信号,根据第二控制信号对预处理结果执行处理以得到并向特种图缓存发送特征图。
1.一种基于神经网络的图像识别装置,包括:图像缓存,被配置为接收并存储待识别的图像;特征图缓存,被配置为接收并存储特征图;权重缓存,被配置为接收并存储权重;通用处理器,被配置为存储所述待识别的图像和所述权重,并且向所述图像缓存发送所述待识别的图像并向所述权重缓存发送所述权重;控制器,包括配置信息寄存器,并且被配置为接收配置信息并且将所述配置信息存储在所述配置信息寄存器中,根据所述配置信息生成第一控制信号和第二控制信号,并且发送所述第一控制信号和所述第二控制信号;预处理单元,被配置为分别从所述图像缓存和所述权重缓存获得所述待识别的图像和所述权重,从所述控制器接收所述第一控制信号,根据所述第一控制信号对所述待识别的图像和所述权重执行预处理以得到预处理结果,并且发送所述预处理结果;以及处理单元阵列,被配置为从所述预处理单元接收所述预处理结果,从所述控制器接收所述第二控制信号,根据所述第二控制信号对所述预处理结果执行处理以得到特征图,并向所述特征图缓存发送所述特征图,其中,所述预处理单元被进一步配置为:从所述特征图缓存接收所述特征图,根据所述第一控制信号确定所述特征图是否是最终特征图,如果否,则对所述特征图和所述权重执行预处理以得到预处理结果,并且向所述处理单元阵列发送所述预处理结果;如果是,则指示所述特征图缓存发送所述特征图,其中,所述特征图缓存被进一步配置为:当从所述预处理单元接收到发送所述特征图的指示时,向所述通用处理器发送所述特征图,并且其中,所述处理单元阵列包括:多个处理单元,被配置为执行卷积处理和全连接处理,所述多个处理单元中的每一个处理单元包括乘法器阵列和加法树,当所述多个处理单元中的每一个处理单元执行所述卷积处理时,通过所述乘法器阵列用卷积核中的每个点扫描输入的向量来得到扫描结果,然后通过所述加法树累加所有的扫描结果来得到卷积结果。
2.根据权利要求1所述的图像识别装置,其中,所述控制器还包括状态寄存器和控制状态机,其中所述预处理单元被进一步配置为在完成所述预处理中的多个操作中的一个操作之后向所述状态寄存器发送第一状态信号,从所述控制状态机接收第一状态控制信号,并且根据所述第一状态控制信号执行所述多个操作中的在所述一个操作之后的下一个操作;以及所述状态寄存器被配置为在接收到所述第一状态信号之后存储所述第一状态信号,并且所述控制状态机被配置为根据所述状态寄存器中存储的所述第一状态信号生成所述第一状态控制信号,并且向所述预处理单元发送所述第一状态控制信号。
3.根据权利要求2所述的图像识别装置,其中,所述处理单元阵列被进一步配置为在完成所述处理中的多个操作中的一个操作之后向所述状态寄存器发送第二状态信号,从所述控制状态机接收第二状态控制信号,并且根据所述第二状态控制信号执行所述多个操作中的在所述一个操作之后的下一个操作;以及所述状态寄存器被进一步配置为在接收到所述第二状态信号之后存储所述第二状态信号,并且所述控制状态机被进一步配置为根据所述状态寄存器中存储的所述第二状态信号生成所述第二状态控制信号,并且向所述处理单元阵列发送所述第二状态控制信号。
4.根据权利要求1所述的图像识别装置,其中,所述配置信息包括所述神经网络的结构信息和所述待识别的图像的大小,其中所述神经网络的结构信息指示所述卷积处理、激活处理、池化处理和所述全连接处理中要执行的一个或多个处理,并且所述处理单元阵列被进一步配置为通过以下方式来根据所述第二控制信号对所述预处理结果执行处理以得到特征图:根据所述第二控制信号对所述预处理器结果依次执行所述卷积处理、所述激活处理、所述池化处理和所述全连接处理中的由所述神经网络的结构信息指示的所述一个或多个处理以得到所述特征图。
5.根据权利要求4所述的图像识别装置,其中,所述处理单元阵列还包括:多个激活单元,被配置为执行所述激活处理;以及多个池化单元,被配置为执行所述池化处理。
6.根据权利要求4所述的图像识别装置,其中,所述预处理单元被进一步配置为通过以下方式来根据所述第一控制信号对所述待识别的图像和所述权重执行预处理:根据所述神经网络的结构信息和所述待识别的图像的大小对所述待识别的图像执行大小调整和填充处理以得到处理后的图像并且对所述处理后的图像以及所述权重执行分块操作。
7.根据权利要求1所述的图像识别装置,其中,所述特征图缓存包括多个缓存区,所述多个缓存区包括多个写缓存区和多个读缓存区,并且其中,所述控制器被进一步配置为监测所述多个写缓存区中正在写入数据的缓存区的第一编号以及所述多个读缓存区中正在读取数据的读缓存区的第二编号,并且当所述第一编号与所述第二编号之差小于第一阈值时,发出中断信号以中断所述图像识别装置的操作。
8.根据权利要求1所述的图像识别装置,其中,所述权重缓存包括多个缓存区,所述多个缓存区包括多个写缓存区和多个读缓存区,并且其中,所述控制器被进一步配置为监测所述多个写缓存区中正在写入数据的缓存区的第一编号以及所述多个读缓存区中正在读取数据的读缓存区的第二编号,并且当所述第一编号与所述第二编号之差小于第二阈值时,发出中断信号以中断所述图像识别装置的操作。
9.根据权利要求5所述的图像识别装置,其中,所述池化处理包括最大值池化或平均值池化。
10.根据权利要求5所述的图像识别装置,其中,所述多个激活单元使用relu激活函数、leakey relu激活函数、sigmod激活函数或tanh激活函数来执行所述激活处理。
11.根据权利要求1所述的图像识别装置,其中,所述图像缓存通过第一多通道直接存储器存取MCDMA从所述通用处理器接收所述待识别的图像,并且所述权重缓存通过第二MCDMA从所述通用处理器接收所述权重。
12.根据权利要求1所述的图像识别装置,还包括:存储器,被配置为存储第一密码,其中,所述通用处理器被进一步配置为向所述控制器发送第二密码,并且所述控制器被进一步配置为响应于从所述通用处理器接收到所述第二密码,从所述存储器获取所述第一密码,并且将所述第一密码与所述第二密码进行比较,当所述第一密码与所述第二密码相同时,允许所述图像缓存和所述权重缓存接收数据,并且当所述第一密码与所述第二密码不同时,禁止所述图像缓存和所述权重缓存接收数据。
13.根据权利要求1所述的图像识别装置,其中,所述通用处理器被进一步配置为从所述特征图缓存接收所述特征图,并且对所述特征图执行分类和定位处理以确定所述待识别的图像的类别和位置。
14.一种基于神经网络的图像识别方法,包括:步骤S1:由图像缓存接收并存储待识别的图像;步骤S2:由权重缓存接收并存储权重;步骤S3:由控制器接收配置信息,根据所述配置信息生成第一控制信号和第二控制信号,并且发送所述第一控制信号和所述第二控制信号;步骤S4:由预处理单元分别从所述图像缓存和所述权重缓存获得所述待识别的图像和所述权重,从所述控制器接收所述第一控制信号,根据所述第一控制信号对所述待识别的图像和所述权重执行预处理以得到预处理结果,并且发送所述预处理结果;步骤S5:由处理单元阵列从所述预处理单元接收所述预处理结果,从所述控制器接收所述第二控制信号,根据所述第二控制信号对所述预处理结果执行处理以得到特征图,并向特征图缓存发送所述特征图,其中,当所述处理单元阵列中包括的多个处理单元中的每一个处理单元执行卷积处理时,由所述多个处理单元中的每一个处理单元包括的乘法器阵列用卷积核中的每个点扫描输入的向量来得到扫描结果,然后由所述多个处理单元中的每一个处理单元包括的加法树累加所有的扫描结果来得到卷积结果;步骤S6:由特征图缓存从所述处理单元阵列接收并存储所述特征图;步骤S7:由所述预处理单元从所述特征图缓存获得所述特征图;以及步骤S8:由所述预处理单元根据所述第一控制信号确定所述特征图是否是最终特征图,如果否,则所述预处理单元对所述特征图和所述权重执行预处理以得到预处理结果,并且返回所述步骤S5;以及如果是,则所述预处理单元指示所述特征图缓存发送所述最终特征图,并且所述特征图缓存向通用处理器发送所述最终特征图。
15.根据权利要求14所述的图像识别方法,还包括:由所述预处理单元在完成所述预处理中的多个操作中的一个操作之后向所述控制器发送第一状态信号;由所述控制器接收所述第一状态信号,据所述第一状态信号生成第一状态控制信号,并且向所述预处理单元发送所述第一状态控制信号;以及由所述预处理单元从所述控制器接收所述第一状态控制信号,并且根据所述第一状态控制信号执行所述多个操作中的在所述一个操作之后的下一个操作。
16.根据权利要求14所述的图像识别方法,还包括:由所述处理单元阵列在完成所述处理中的多个操作中的一个操作之后向所述控制器发送第二状态信号;由所述控制器接收所述第二状态信号,根据所述第二状态信号生成第二状态控制信号,并且向所述处理单元阵列发送所述第二状态控制信号;以及由所述处理单元阵列从所述控制器接收所述第二状态控制信号,并且根据所述第二状态控制信号执行所述多个操作中的在所述一个操作之后的下一个操作。
17.根据权利要求14所述的图像识别方法,其中,所述配置信息包括所述神经网络的结构信息和所述待识别的图像的大小,其中所述神经网络的结构信息指示所述卷积处理、激活处理、池化处理和全连接处理中要执行的一个或多个处理,并且根据所述第二控制信号对所述预处理结果执行处理以得到特征图包括:根据所述第二控制信号对所述预处理器结果依次执行所述卷积处理、所述激活处理、所述池化处理和所述全连接处理中的由所述神经网络结构信息指示的所述一个或多个处理以得到所述特征图。
18.根据权利要求14所述的图像识别方法,其中,根据所述第一控制信号对所述待识别的图像和所述权重执行预处理包括:根据所述神经网络的结构信息和所述待识别的图像的大小对所述待识别的图像执行大小调整和填充处理以得到处理后的图像并且对所述处理后的图像以及所述权重执行分块操作。
19.根据权利要求14所述的图像识别方法,其中,所述特征图缓存包括多个缓存区,所述多个缓存区包括多个写缓存区和多个读缓存区,并且其中,所述图像识别方法还包括:监测所述多个写缓存区中正在写入数据的缓存区的第一编号以及所述多个读缓存区中正在读取数据的读缓存区的第二编号,并且当所述第一编号与所述第二编号之差小于第一阈值时,发出中断信号以中断所述图像识别方法。
20.根据权利要求14所述的图像识别方法,其中,所述权重缓存包括多个缓存区,所述多个缓存区包括多个写缓存区和多个读缓存区,并且其中,所述图像识别方法还包括:监测所述多个写缓存区中正在写入数据的缓存区的第一编号以及所述多个读缓存区中正在读取数据的读缓存区的第二编号,并且当所述第一编号与所述第二编号之差小于第二阈值时,发出中断信号以中断所述图像识别方法。
21.根据权利要求17所述的图像识别方法,其中,所述池化处理包括最大值池化或平均值池化。
22.根据权利要求17所述的图像识别方法,其中,所述激活处理是使用relu激活函数、leakey relu激活函数、sigmod激活函数或tanh激活函数来执行的。
23.根据权利要求14所述的图像识别方法,还包括:由所述通用处理器存储所述待识别的图像和所述权重,并且向所述图像缓存发送所述待识别的图像并向所述权重缓存发送所述权重。
24.根据权利要求23所述的图像识别方法,其中,由图像缓存接收待识别的图像包括:所述图像缓存通过第一多通道直接存储器存取MCDMA从所述通用处理器接收所述待识别的图像,并且由权重缓存接收权重包括:由权重缓存通过第二MCDMA从所述通用处理器接收所述权重。
25.根据权利要求23所述的图像识别方法,还包括:由所述通用处理器向所述控制器发送第二密码,以及响应于从所述通用处理器接收到所述第二密码,由所述控制器从存储器获取第一密码,并且将所述第二密码与所述第一密码进行比较,当所述第一密码与所述第二密码相同时,允许所述图像缓存和所述权重缓存接收数据,并且当所述第一密码与所述第二密码不同时,禁止所述图像缓存和所述权重缓存接收数据。
26.根据权利要求23所述的图像识别方法,还包括:由所述通用处理器从所述特征图缓存接收所述特征图,并且对所述特征图执行分类和定位处理以确定所述待识别的图像的类别和位置。
CN109740732ACN109740732ACN102929329ACN102929329ACN110135554ACN110135554ACN110390384ACN110390384AUS2018307974A1US2018307974A1US2019114499A1US2019114499A1WO2019127838A1WO2019127838A1CN109948774ACN109948774ACN107657581ACN107657581ACN109934339ACN109934339AUS2019164037A1US2019164037A1CN109379532ACN109379532A



