物体检测方法及相关产品技术

技术编号:19860220 阅读:20 留言:0更新日期:2018-12-22 12:18
本公开提供了一种物体检测方法,所述方法应用于计算装置内,所述计算装置包括:DMA单元和运算单元;所述方法包括如下步骤:通过DMA单元获取待处理的目标图像,所述目标图像包括待识别的目标物体;运算单元调用运算指令对所述目标图像进行物体检测和识别,从而获得目标检测结果;其中,所述目标检测结果用于指示所述目标图像中的所述目标物体,所述运算指令为预先存储用于物体检测和识别的指令。本申请提供的技术方案具有进行物体检测的速度快,效率高的优点。

【技术实现步骤摘要】
物体检测方法及相关产品
本申请涉及信息处理
,具体涉及一种物体检测方法及相关产品。
技术介绍
随着信息技术的不断发展和人们日益增长的需求,人们对信息及时性的要求越来越高了。目前,终端对信息的获取以及处理均是基于通用处理器获得的,例如在通用处理器运行指定应用程序以获知物体当前的位置,或者在通用处理器上使用指定应用程序以实现物体检测或标记物体所在的位置等等。在实践中发现,这种基于通用处理器运行软件程序来处理信息的方式,受限于通用处理器的运行速率,特别是在通用处理器负荷较大的情况下,进行物体检测的效率较低、时延较大。申请内容本申请实施例提供了一种物体检测方法及相关产品,可提升计算装置进行物体检测的处理速度,提高效率。第一方面,提供一种物体检测方法,应用于计算装置内,所述计算装置包括直接内存访问DAM单元以及运算单元,所述DMA单元包括DMA控制器和寄存器模块;所述方法包括:所述DMA控制器从所述寄存器模块获取第一地址和第二地址;所述DMA控制器从所述第一地址对应的存储空间中获取待处理的目标图像,所述目标图像包括待识别的目标物体;所述运算单元获取运算指令,以调用所述运算指令对所述目标图像进行物体检测和识别,从而获得目标检测结果;并将所述目标检测结果发送至所述DMA控制器;其中,所述目标检测结果用于指示所述目标图像中的所述目标物体,所述运算指令为预先存储用于物体检测和识别的指令;所述DMA控制器将所述目标检测结果存储至所述第二地址对应的存储空间中。在一些可能的实施例中,所述计算装置还包括寄存器单元以及控制器单元,所述运算单元获取运算指令,以调用所述运算指令对所述目标图像进行物体检测和识别,从而获得目标检测结果,包括:所述控制器单元从所述寄存器单元中提取第一运算指令以及第二运算指令,并发送给所述运算单元;所述运算单元调用所述第一运算指令对所述目标图像进行特征提取,从而获得特征图像;所述运算单元调用所述第二运算指令对所述特征图像进行物体检测和识别,从而获得目标检测结果;其中,所述第一运算指令为预先设置用于特征提取的指令,所述第二运算指令为预先设置用于物体检测和识别的指令。在一些可能的实施例中,所述调用所述第一运算指令对所述目标图像进行特征提取,从而获得特征图像包括:所述运算单元基于至少一个线程的运算指令集,对所述目标图像进行特征提取,从而获得特征图像;其中,所述运算指令集包括至少一个所述第一运算指令,且所述运算指令集中各个第一运算指令的调用顺序是用户侧或终端侧自定义设置的。在一些可能的实施例中,所述目标检测结果包括所述目标物体对应的目标信息,所述目标信息包括以下中的至少一项:目标包围框、目标分类以及目标评分;其中,所述目标包围框包括所述目标物体,用于表征所述目标物体在所述目标图像中的位置;所述目标分类为所述目标物体所在的分类;所述目标评分用于表征所述目标包围框包围所述目标物体的准确度。在一些可能的实施例中,所述目标检测结果包括目标包围框、目标分类以及目标评分,所述调用所述运算指令对所述目标图像进行物体检测和识别,从而获得检测结果包括:所述运算单元调用所述第二运算指令对所述特征图像进行物体检测和识别,从而获得针对所述目标物体的n个检测结果,所述检测结果包括所述目标物体对应的包围框、分类以及评分;所述运算单元从所述n个检测结果中,选取评分最高的一个检测结果,作为所述目标检测结果。所述运算单元对所述原始图像进行预处理,从而获得待处理的所述目标图像,其中,所述预处理包括以下处理中的至少一项:格式转换、归一化、色彩转换以及图像修复。在一些可能的实施例中,所述运算单元包括通过互联模块互联的主运算模块以及多个从运算模块,所述运算指令为卷积运算指令时,所述调用所述运算指令对所述目标图像进行物体检测和识别包括:所述从运算模块实现卷积神经网络算法中的输入数据和卷积核的卷积运算,所述输入数据为所述目标图像,所述卷积神经网络算法与所述卷积运算指令对应;所述互联模块实现所述主运算模块与所述从运算模块之前的数据传输,在神经网络全连接层正向运算开始之前,所述主运算模块通过互联模块将所述输入数据发送给每个从运算模块,在从运算模块计算结束后,互联模块逐级将各个从运算模块的输出标量拼成中间向量,并返回给主运算模块;所述主运算模块将所有输入数据对应的中间向量拼接成中间结果,并对所述中间结果执行后续运算。在一些可能的实施例中,所述对所述中间结果执行后续运算包括:所述主运算模块将中间结果与偏置数据相加,然后执行激活操作。在一些可能的实施例中,所述主运算模块包括第一运算单元,所述第一运算单元包括向量加法单元以及激活单元,所述主运算模块将中间结果与偏置数据相加,然后执行激活操作包括:所述向量加法单元实现卷积神经网络正向计算中的加偏置操作,将偏置数据与中间结果对位相加得到偏置结果;所述激活单元对偏置结果执行激活函数操作。在一些可能的实施例中,所述主运算模块包括第一存储单元、第一运算单元、第一数据依赖关系判定单元和第一存储单元;所述第一存储单元缓存主运算模块在计算过程中用到的输入数据和输出数据,所述输出数据包括所述目标检测结果;所述第一运算单元完成主运算模块的各种运算功能;所述数据依赖关系判定单元保证对所述第一存储单元的数据的读写不存在一致性冲突,并负责从第一存储单元读取输入的神经元向量,并通过互联模块发送给从运算模块;以及来自互连模块的中间结果向量被发送到第一运算单元。在一些可能的实施例中,所述从运算模块包括第二运算单元,所述第二运算单元包括向量乘单元以及累加单元,所述从运算模块实现卷积神经网络算法中的输入数据和卷积核的卷积运算包括:所述向量乘单元实现卷积运算中的向量乘运算;所述累加单元实现卷积运算中的累加运算。在一些可能的实施例中,所述从运算单元包括第二运算单元、第二数据依赖关系判定单元、第二存储单元和第三存储单元;所述第二运算单元完成从运算模块的各种算术逻辑运算;所述第二数据依赖关系判定单元负责计算过程中对第二存储单元和第三存储单元的读写操作,并保证对第二存储单元和第三存储单元的读写不存在一致性冲突;所述第二存储单元缓存输入数据以及该从运算模块计算得到的输出标量;以及所述第三存储单元缓存该从运算模块在计算过程中需要的卷积核。在一些可能的实施例中,所述第一数据依赖关系或所述第二数据依赖关系通过以下方式保证读写不存在一致性冲突:在相应存储单元中存储的数据/指令所对应的存储地址不重叠;或者,判断尚未执行的控制信号与正在执行过程中的控制信号的数据之间是否存在依赖关系,如果不存在,允许该条控制信号立即发射,否则需要等到该条控制信号所依赖的所有控制信号全部执行完成后该条控制信号才允许被发射;其中,所述控制信号为所述控制器单元从寄存器单元中获取的运算指令,并将该运算指令译码为控制其他模块行为的控制信号,所述其他模块包括所述主运算模块和多个所述从运算模块。在一些可能的实施例中,多个从运算模块利用相同的所述输入数据与各自的卷积核,并行地计算出各自的输出标量。在一些可能的实施例中,所述主运算模块使用的激活函数active是非线性函数sigmoid,tanh,relu,softmax中的任一个或线性函数。在一些可能的实施例中,所述互联模块构成所述主运算模块本文档来自技高网...

【技术保护点】
1.一种物体检测方法,其特征在于,应用于计算装置内,所述计算装置包括运算单元和直接内存访问DMA单元,所述DMA单元包括DMA控制器和寄存器模块;所述方法包括:所述DMA控制器从所述寄存器模块获取第一地址和第二地址;所述DMA控制器从所述第一地址对应的存储空间中获取待处理的目标图像,所述目标图像包括待识别的目标物体;所述运算单元获取运算指令,以调用所述运算指令对所述目标图像进行物体检测和识别,从而获得目标检测结果;并将所述目标检测结果发送至所述DMA控制器;其中,所述目标检测结果用于指示所述目标图像中的所述目标物体,所述运算指令为预先存储用于物体检测和识别的指令;所述DMA控制器将所述目标检测结果存储至所述第二地址对应的存储空间中。

【技术特征摘要】
1.一种物体检测方法,其特征在于,应用于计算装置内,所述计算装置包括运算单元和直接内存访问DMA单元,所述DMA单元包括DMA控制器和寄存器模块;所述方法包括:所述DMA控制器从所述寄存器模块获取第一地址和第二地址;所述DMA控制器从所述第一地址对应的存储空间中获取待处理的目标图像,所述目标图像包括待识别的目标物体;所述运算单元获取运算指令,以调用所述运算指令对所述目标图像进行物体检测和识别,从而获得目标检测结果;并将所述目标检测结果发送至所述DMA控制器;其中,所述目标检测结果用于指示所述目标图像中的所述目标物体,所述运算指令为预先存储用于物体检测和识别的指令;所述DMA控制器将所述目标检测结果存储至所述第二地址对应的存储空间中。2.根据权利要求1所述的方法,其特征在于,所述计算装置还包括寄存器单元以及控制器单元,所述运算单元获取运算指令,以调用所述运算指令对所述目标图像进行物体检测和识别,从而获得目标检测结果,包括:所述控制器单元从所述寄存器单元中提取第一运算指令以及第二运算指令,并发送给所述运算单元;所述运算单元调用所述第一运算指令对所述目标图像进行特征提取,从而获得特征图像;所述运算单元调用所述第二运算指令对所述特征图像进行物体检测和识别,从而获得针对所述目标物体的n个检测结果,所述检测结果包括所述目标物体对应的包围框、分类以及评分;所述运算单元从所述n个检测结果中,选取评分最高的一个检测结果,作为所述目标检测结果;其中,所述第一运算指令为预先设置用于特征提取的指令,所述第二运算指令为预先设置用于物体检测和识别的指令;所述目标检测结果包括所述目标物体对应的目标信息,所述目标信息包括以下中的至少一项:目标包围框、目标分类以及目标评分;所述目标包围框包括所述目标物体,用于表征所述目标物体在所述目标图像中的位置;所述目标分类为所述目标物体所在的分类;所述目标评分用于表征所述目标包围框包围所述目标物体的准确度。3.根据权利要求1所述的方法,其特征在于,所述DMA控制器获取待处理的目标图像包括:所述DMA控制器获取用户输入的待处理的原始图像;所述运算单元对所述原始图像进行预处理,从而获得待处理的所述目标图像,其中,所述预处理包括以下处理中的至少一项:格式转换、归一化、色彩转换以及图像修复。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述运算单元包括通过互联模块互联的主运算模块以及多个从运算模块,所述运算指令为卷积运算指令时,所述调用所述运算指令对所述目标图像进行物体检测和识别包括:所述从运算模块实现卷积神经网络算法中的输入数据和卷积核的卷积运算,所述输入数据为所述目标图像,所述卷积神经网络算法与所述卷积运算指令对应;所述互联模块实现所述主运算模块与所述从运算模块之前的数据传输,在神经网络全连接层正向运算开始之前,所述主运算模块通过互联模块将所述输入数据发送给每个从运算模块,所述多个从运算模块利用相同的所述输入数据与各自的卷积核,并行地计算出各自的输出标量;在所述多个从运算模块计算结束后,互联模块逐级将各个从运算模块的输出标量拼成中间向量,并返回给主运算模块;所述主运算模块将所有输入数据对应的中间向量拼接成中间结果,并将所述中间结果与偏置数据相加,然后执行激活操作。5.根据权利要求4所述的方法,其特征在于,所述主运算模块包括第一运算单元,所述第一运算单元包括向量加法单元以及激活单元,所述主运算模块将中间结果与偏置数据相加,然后执行激活操作包括:所述向量加法单元实现卷积神经网络正向计算中的加偏置操作,将偏置数据与中间结果对位相加得到偏置结果;所述激活单元对偏置结果执行激活函数操作。6.根据权利要求4所述的方法,其特征在于,所述主运算模块包括第一存储单元、第一运算单元、第一数据依赖关系判定单元和第一存储单元;所述第一存储单元缓存主运算模块在计算过程中用到的输入数据和输出数据,所述输出数据包括所述目标检测结果;所述第一运算单元完成主运算模块的各种运算功能;所述数据依赖关系判定单元保证对所述第一存储单元的数据的读写不存在一致性冲突,并负责从第一存储单元读取输入的神经元向量,并通过...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海,31

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

1