有效
用于图像处理的神经网络加速器装置、三维重建方法
闵丰、代子琛、韩银和、许浩博、王颖、王郁杰
中国科学院计算技术研究所
闵
闵丰机构 暂无
技术领域 暂无
代
代子琛机构 暂无
技术领域 暂无
韩
韩银和机构 暂无
技术领域 暂无
许
许浩博机构 暂无
技术领域 暂无
王
王颖机构 暂无
技术领域 暂无
王
王郁杰机构 暂无
技术领域 暂无
摘要
本发明提供一种用于图像处理的神经网络加速器装置,所述装置包括:乘累加运算模块,其配置有多个矩阵运算单元,用于进行连续乘累加运算;数据存储模块,其被配置为多级存储结构,用于对数据进行分层多级存储并进行数据共享;数据管理模块,用于进行运算数据的调用与存储空间的分配;通用处理器,用于进行外参矩阵求解运算;辅助运算模块,用于进行乘累加运算、外参矩阵求解运算以外的其他不能分解的运算。本发明将特征点匹配、深度预测以及深度融合三个运算载荷大的运算主体分配给三个矩阵运算单元,并对运算时间、算子比例进行合理分配,可使各单元运算互不干扰,达到三级流水线的并行处理效果,提升加速器针对图像处理的高效性与兼容性。
1.一种用于图像处理的神经网络加速器装置,其特征在于,所述装置包括:乘累加运算模块,其配置有多个矩阵运算单元,用于进行连续乘累加运算;数据存储模块,其被配置为多级存储结构,用于对数据进行分层多级存储并进行数据共享;数据管理模块,用于进行运算数据的调用与存储空间的分配;通用处理器,用于进行外参矩阵求解运算;辅助运算模块,用于进行乘累加运算、外参矩阵求解运算以外的其他不能分解的运算。
2.根据权利要求1所述的装置,其特征在于,所述乘累加运算模块包括三个矩阵运算单元,每个矩阵运算单元配置一个对应的数据缓存单元,其中,所述每个矩阵运算单元用于进行乘法运算,所述每个数据缓存单元用于直接与其对应的矩阵运算单元进行数据交换。
3.根据权利要求1所述的装置,其特征在于,所述每个矩阵单元包括多个处理单元和多个阵列寄存器,所述每个处理单元至少包括一个乘法器和一个加法器,所述多个阵列寄存器用于进行处理单元处理的中间数据的搬运。
4.根据权利要求1所述的装置,其特征在于,所述乘累加运算模块、通用处理器、辅助运算模块可被配置为流水线模式。
5.根据权利要求1所述的装置,其特征在于,所述数据存储模块包括二级缓存区和主存,其中:所述二级缓存区直接与所述乘累加模块中的各个数据缓存单元相联,用于存储各个数据缓存单元存不下的数据;所述主存直接与所述二级缓存区直接相联,用于存储所述二级缓存区存不下的大规模数据。
6.根据权利要求1所述的装置,其特征在于,所述数据管理模块包括寄存器单元、选通器单元、DMA控制器单元、数据暂存单元,其中:所述寄存器单元用于进行中间数据的搬运;所述选通器单元用于对所述多个矩阵单元进行选通以实现多级流水线操作;所述DMA控制器单元用于进行图像数据在DMA通路上的排列以及搬运;所述数据暂存单元用于在数据传输高峰期进行搬运数据的暂存。
7.根据权利要求1所述的装置,其特征在于,所述通用处理器被配置为用于求解多项式、求解雅可比矩阵、计算图像相邻帧时刻的外参Rt旋转矩阵。
8.根据权利要求1所述的装置,其特征在于,所述辅助运算模块包括:逻辑运算单元,用进行多种逻辑运算操作,至少包括与、或、非、异或、对比、和/或、移位逻辑操作;算数运算单元,用进行无法分解的小规模数据运算,至少包括加、减、乘、除、平方、和/或、根号算数操作;激活函数运算单元,用于进行数据的激活运算,至少包括ReLU激活函数、二值激活函数、和/或、Sigmoid激活函数的激活运算;数据排列单元,用于调用所述数据管理模块中的数据进行运算数据排列,包括求最大值排列、求最小值排列、和/或、数据排序排列;池化操作单元,用于辅助所述矩阵运算单元进行神经网络中的池化计算;上采样单元,用于辅助所述矩阵运算单元进行神经网络中的上采样计算。
9.一种基于权利要求1-8任一所述装置的三维重建方法,其特征在于,所述方法包括将所述装置配置为多级流水线模式,并将乘累加运算模块中的多个矩阵运算单元配置为负责特征点匹配、多个矩阵运算单元配置为负责深度预测、多个矩阵运算单元配置为负责深度融合,获取摄像头外设采集到的连续帧图像RGB信息和摄像头矫正信息后,针对每一帧图像执行如下步骤:S1、负责特征点匹配的矩阵运算单元、数据管理模块和通用处理器基于图像RGB信息和摄像头的矫正信息进行特征点匹配操作,并将特征点匹配结果传递给负责深度预测的矩阵运算单元以及负责深度融合的矩阵运算单元;S2、负责深度预测的矩阵运算单元、数据管理模块和辅助运算模块基于RGB图像信息以及特征点匹配结果进行深度预测操作,并将深度预测结果传递给负责深度融合的矩阵运算单元;S3、负责深度融合的矩阵运算单元、数据管理模块和辅助运算模块基于RGB图像信息、特征点匹配结果以及深度预测结果进行深度融合操作以得到三维点云信息。
10.根据权利要求9所述的方法,其特征在于,根据特征点匹配、深度预测、深度融合所需的时种周期进行矩阵单元的分配,以使特征点匹配、深度预测、深度融合形成的流水线各节点时钟周期均衡。
11.根据权利要求9所述的方法,其特征在于,获取到摄像头外设采集到的连续帧图像RGB信息后,由数据管理模块进行调用以将其存入主存。
12.根据权利要求11所述的方法,其特征在于,数据管理模块接收到上一次三维重建运算完成的信号后,将当前帧图像RGB信息从主存复制到二级缓存区。
13.根据权利要求12所述的方法,其特征在于,所述步骤S1包括:S11、数据管理模块将当前帧图像RGB信息从二级缓存区复制到负责特征点匹配的矩阵单元对应的数据缓存单元中;S12、在接收到负责特征点匹配的矩阵单元完成上一次特征点匹配完成信号后,将对应数据缓存单元中的当前帧图像和上一帧图像的RGB信息传输给负责特征点匹配的矩阵单元并删除数据缓存单元中存储的上上一帧图像的RGB信息;S13、负责特征点匹配的矩阵单元基于其对应数据缓存单元中的当前帧图像和上一帧图像的RGB信息进行特征点匹配,特征点匹配完成后将匹配像素点存入对应的数据缓存单元并向数据管理模块发送特征点匹配完成信号;S14、数据管理模块接收到负责特征点匹配的矩阵单元对当前帧图像的特征点匹配完成信号以及通用处理器上一次Rt旋转矩阵计算完成信号后,将数据缓存单元中存储的匹配像素点与主存中的摄像头矫正信息传输给通用处理器;S15、通用处理器基于数据管理模块传输的匹配像素点与摄像头矫正信息进行外参Rt旋转矩阵的计算,并在计算完成想数据管理模块发送Rt旋转矩阵计算完成信号;S16、数据管理模块接收到Rt旋转矩阵计算完成信号后,将计算好的连续两帧时刻摄像头的外参Rt旋转矩阵信息存入二级缓存区。
14.根据权利要求13所述的方法,其特征在于,所述步骤S2包括:S21、数据管理模块将当前帧图像RGB信息、Rt旋转矩阵信息从二级缓存区复制到负责深度预测的矩阵单元对应的数据缓存单元中;S22、数据管理模块在接收到负责深度预测的矩阵单元完成上一次深度预测完成信号后,将对应数据缓存单元中的当前帧图像和一个或多个历史帧图像的RGB信息传输给负责特征点匹配的矩阵单元并删除数据缓存单元中存储的未用到的图像的RGB信息;S23、负责深度预测的矩阵单元基于其对应数据缓存单元中的当前帧图像RGB信息、Rt旋转矩阵信息、一个或多个历史帧图像的RGB信息进行深度预测,预测完成后向数据管理模块发送深度预测完成信号;S24、数据管理模块接收到深度预测完成信号后,深度预测得到的深度信息、置信度信息存入二级缓存区。
15.根据权利要求14所述的方法,其特征在于,所述步骤S3包括:S31、数据管理模块将上一帧图像RGB矩阵信息、当前帧图像RGB矩阵信息、预测的深度信息、置信度信息以及Rt矩阵信息从二级缓存区复制到负责深度融合的矩阵单元对应的数据缓存单元中;S32、数据管理模块在接收到上一次深度融合操作完成的信号后,将对应缓存单元中的上一帧图像RGB矩阵信息、当前帧图像RGB矩阵信息、预测的深度信息、置信度信息以及Rt矩阵信息传输给负责深度融合的矩阵单元;S33、负责深度融合的矩阵单元基于上一次深度融合操作完成的信号后,将对应缓存单元中的上一帧图像RGB矩阵信息、当前帧图像RGB矩阵信息、预测的深度信息、置信度信息以及Rt矩阵信息进行深度融合,融合未完成后向数据管理模块发出深度融合完成信号;S34、数据管理模块接收到深度融合完成信号后,将深度融合得到的三维点云信息存入主存。
16.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序可被处理器执行以实现权利要求9至15任一所述方法的步骤。
17.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求9至15中任一项所述方法的步骤。



