CN110992241A - 异构嵌入式系统及其加速神经网络目标检测的方法 - Google Patents
异构嵌入式系统及其加速神经网络目标检测的方法 Download PDFInfo
- Publication number
- CN110992241A CN110992241A CN201911150838.8A CN201911150838A CN110992241A CN 110992241 A CN110992241 A CN 110992241A CN 201911150838 A CN201911150838 A CN 201911150838A CN 110992241 A CN110992241 A CN 110992241A
- Authority
- CN
- China
- Prior art keywords
- processing
- thread
- sub
- target detection
- embedded system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种异构嵌入式系统及其加速神经网络目标检测的方法。所述异构嵌入式系统包括CPU和GPU,所述方法包括:从数据源获取图像数据;使用所述GPU对所述图像数据进行第一处理;所述CPU对经过所述第一处理的数据进行第二处理,输出目标检测结果;其中,所述第二处理包括非极大值抑制和/或后处理,所述第一处理为所述神经网络目标检测的计算过程中除所述第二处理之外的其他处理。
Description
技术领域
本说明书涉及异构嵌入式系统。
背景技术
近年来,实时目标检测技术在多个领域显示出广阔的应用前景和巨大的商业价值,其中,基于深度卷积神经网络的目标检测方法已成为主流,常见的方案包括Faster R-CNN、特征金字塔网络(简称“FPN”)等两阶段(two-stage)的检测算法和YOLO、SSD等一阶段(one-stage)的检测算法。其中SSD、YOLO及其相关变种已经可以在带有高性能GPU的PC机上达到实时检测的性能。
然而,如何将此类方法移植到嵌入式平台上,并达到实时的性能依然是一个挑战,这是因为嵌入式平台上计算资源有限,其中央处理器(简称“CPU”)和图像处理器(简称“GPU”)与传统的PC机相比差距甚远,导致目标检测的效率无法满足要求。
发明内容
本说明书提供了一种异构嵌入式系统及其加速神经网络目标检测的方法,能够显著提高目标检测的效率。
本申请公开了一种异构嵌入式系统上加速神经网络目标检测的方法,其中,所述异构嵌入式系统包括CPU和GPU,所述方法包括:
从数据源获取图像数据;
使用所述GPU对所述图像数据进行第一处理;
所述CPU对经过所述第一处理的数据进行第二处理,输出目标检测结果;其中,所述第二处理包括非极大值抑制和/或后处理,所述第一处理为所述神经网络目标检测的计算过程中除所述第二处理之外的其他处理。
在一个优选例中,所述CPU上运行主线程、第一子线程和第二子线程,其中所述主线程用于计算流程的整体逻辑调用,所述第一子线程用于调用所述GPU完成第一处理,所述第二子线程用于所述第二处理。
在一个优选例中,所述从数据源获取图像数据,进一步包括:所述主线程周期性地从数据源获取图像数据,并将所获取的图像数据放入所述第一子线程的输入队列;
所述使用所述GPU对所述图像数据进行第一处理,进一步包括:所述第一子线程从自己的输入队列获取图像数据,复制到所述GPU,并启动所述GPU进行所述第一处理,将经过所述第一处理的数据放入所述第二子线程的输入队列;
所述CPU对经过所述第一处理的数据进行第二处理,进一步包括:所述第二子线程从自己的输入队列获取数据,执行所述第二处理。
在一个优选例中,所述神经网络目标检测使用以下计算方案之一:SSD、YOLO、Faster R-CNN、FPN。
在一个优选例中,所述数据源包括以下之一或其任意组合:
云端、本地文件、摄像头。
本申请还公开了一种异构嵌入式系统包括,CPU和GPU;
所述GPU用于对所述图像数据进行第一处理;
所述CPU用于从数据源获取图像数据并提供给所述GPU进行第一处理,并对经过第一处理的数据进行第二处理,输出目标检测结果;
其中,所述第二处理包括非极大值抑制和/或后处理,所述第一处理为所述神经网络目标检测的计算过程中除所述第二处理之外的其他处理。
在一个优选例中,所述CPU上运行主线程、第一子线程和第二子线程,其中所述主线程用于计算流程的整体逻辑调用,所述第一子线程用于调用所述GPU完成第一处理,所述第二子线程用于所述第二处理。
在一个优选例中,所述主线程用于周期性地从数据源获取图像数据,并将所获取的图像数据放入所述第一子线程的输入队列;
所述第一子线程用于从自己的输入队列获取图像数据,复制到所述GPU,并启动所述GPU进行所述第一处理,将经过所述第一处理的数据放入所述第二子线程的输入队列;
所述第二子线程用于从自己的输入队列获取数据,执行所述第二处理。
在一个优选例中,所述神经网络目标检测使用以下计算方案之一:SSD、YOLO、Faster R-CNN、FPN。
在一个优选例中,所述数据源包括以下之一或其任意组合:
云端、本地文件、摄像头。
本申请还公开了一种异构嵌入式系统包括:
存储器,用于存储计算机可执行指令;以及,
处理器,与所述存储器耦合,用于在执行所述计算机可执行指令时实现如前文描述的方法中的步骤。
本申请还公开了一种计算机可读存储介质所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前文描述的方法中的步骤。
上述技术方案可以在嵌入式系统计算资源有限的前提下,大大提高目标检测的效率。
上述技术方案使用范围广泛,主流的神经网络目标检测模型均可以适用,在带有CPU和GPU的异构嵌入式平台上均有性能提升。
上述技术方案不但可以对嵌入式系统中的神经网络目标检测起到加速的作用,而且还可以和其他用于嵌入式系统的加速方案如模型压缩、模型量化等方案结合,获得进一步的性能提升。
本说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本说明书上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征A+B+C,在另一个例子中公开了特征A+B+D+E,而特征C和D是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征E技术上可以与特征C相组合,则,A+B+C+D的方案因技术不可行而应当不被视为已经记载,而A+B+C+E的方案应当视为已经被记载。
附图说明
图1是根据本说明书第一实施方式的异构嵌入式系统上加速神经网络目标检测的方法的流程示意图;
图2是根据本说明书第二实施方式的异构嵌入式系统的结构示意图。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
部分概念的说明:
中央处理器(CPU):计算机的运算核心和控制核心,主要用于执行计算机指令以及处理计算机软件中的数据。
图像处理器(GPU):一种专门完成图像运算工作的处理器。
目标检测:计算机视觉中的检测指在图像或视频中确定目标的位置及其类别。
人工神经网络:Artificial Neural Networks,简写为ANNs,也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
深度卷积神经网络(CNN):深度卷积神经网络是一种前馈神经网络,主要有卷积层(Convolution layer)和池化层(Pooling layer)构成,其已在计算机视觉中的图像识别、目标检测、图像分割等领域获得了广泛的应用。
基于深度卷积神经网络的目标检测模型:由卷积层、池化层、激活层等组件构成,待检测的图像经过这些层的计算后,生成与检测框和检测类别的相关特征信息,再经过NMS和一些其他后处理操作,生成最终的检测框位置和类别信息
非极大值抑制(NMS):在目标检测算法中,经常使用非极大值抑制对算法产生的检测框进行筛选,通过移除一部分检测框来提高算法的精度。
后处理:是神经网络目标检测的一个处理步骤,指模型输出结果解码为图像坐标用于表示目标位置以及目标所属类别概率。
队列:一种先进先出的数据结构。
异构嵌入式系统:指包括CPU和GPU的嵌入式系统,受到嵌入式系统功率、散热等因素的制约,该嵌入式系统中的GPU性能远低于服务器或PC机中GPU的性能。
下面对本说明书实施方式中的部分创新点进行说明:
传统的神经网络目标检测通常都是在GPU中计算的,而在本说明书实施方式中,将非极大值抑制(简称“NMS”)和后处理放在CPU中处理,目标检测的其他计算放在GPU中处理,两者并行。这种处理方式可以在嵌入式系统计算资源有限的前提下,大大提高目标检测的效率。
需指出,虽然PC和服务器中也往往同时存在CPU和GPU,但是本领域的技术人员都会习惯于将神经网络模型的计算都放到GPU上处理,这是因为PC端、服务器端的GPU性能很高,实时检测的相关工作都放在GPU上处理效率会高,如果将部分计算放到CPU上,那将不得不进行GPU和CPU之间的数据交换,而数据交换本身也是要消耗时间的,导致整体处理效率的下降。然而本说明书的发明人发现,在异构嵌入式系统中,虽然也是GPU和CPU组合的硬件架构,但将NMS和后处理放到CPU中进行,和GPU中的其他处理并行,反而可以大大缩短整体的处理时间。本说明书实施例中所称的GPU和CPU的并行是指GPU和CPU同时工作来处理视频图像,并不是指GPU和CPU同时处理同一帧图像。对于一帧图像来说虽然是先由GPU进行处理,再由CPU进行处理,但是GPU在处理第N帧图像时CPU同时在处理第N-1帧图像,GPU和CPU就像流水线上的两个工人同时工作以提高整体效率,对于视频整体来说达到了并行的目的,缩短了整体的处理时间。
在一个实例中,嵌入式设备为NVIDIA TX2,神经网络模型采用Darknet-53YOLOv3,加速前(全部在GPU中计算)时为4.7FPS,加速后(NMS和后处理放在CPU中并行)时为7.5FPS,是加速前的1.59倍。
下面将结合附图对本说明书的实施方式作进一步地详细描述。
本说明书的第一实施方式涉及一种异构嵌入式系统上加速神经网络目标检测的方法,其中,所述异构嵌入式系统包括CPU和GPU,进一步的,所述CPU上运行主线程、第一子线程和第二子线程,其中所述主线程用于计算流程的整体逻辑调用,所述第一子线程用于调用所述GPU完成第一处理,所述第二子线程用于所述第二处理。其流程如图1所示,该方法包括以下步骤:
步骤110:从数据源获取图像数据。获取图像数据的数据源可以是云端、本地文件、摄像头等等。所获取的图像数据可以是视频图像。
步骤120:使用所述GPU对所述图像数据进行第一处理。在一个实施例中,第一处理可以包括目标检测算法的大部分前向计算。在一个实施例中,
步骤130:所述CPU对经过所述第一处理的数据进行第二处理,输出目标检测结果;其中,所述第二处理包括非极大值抑制和/或后处理,所述第一处理为所述神经网络目标检测的计算过程中除所述第二处理之外的其他处理。所述第一处理和所述第二处理可以并行处理同一段视频。
在一个实施例中,所述神经网络目标检测使用SSD、YOLO、Faster R-CNN、FPN等是算法或其变种。本领域的技术人员可以理解,SSD、YOLO、Faster R-CNN、FPN等神经网络模型和算法都是现有技术,其本身并不是本发明的创新之处,多以这里不进行详细说明了。此外,在本说明书的实施例中,也可以使用其他的神经网络算法。
在一个实施例中,所述主线程周期性地从数据源获取图像数据,并将所获取的图像数据放入所述第一子线程的输入队列。所述第一子线程从自己的输入队列获取图像数据,复制到所述GPU,并启动所述GPU进行所述第一处理,将经过所述第一处理的数据放入所述第二子线程的输入队列。所述第二子线程从自己的输入队列获取数据,执行所述第二处理。如果第一子线程上一个数据的相关计算耗时为t1,第二子线程上一个数据的相关计算耗时为t2,若一共处理N个数据,当N足够大时,顺序执行的耗时为:N*(t2+tl);而上述并行计算的方法耗时约为N*max(t2,tl)。因此,该方法性能提升的上限是顺序执行的两倍,下限是几乎没有提升。在实际测试过程中,该方法在嵌入式板上可以获得1.5倍左右的性能提升。
需指出,在本说明书的实施例中,上述第一处理和第二处理虽然有先后关系,但是因为图像数据是源源不断被处理的,第一处理和第二处理就像是流水线上的两个部分,是可以同时工作的,也就是并行。
在上述实施例中,将NMS和后处理放在CPU中处理,目标检测的其他计算放在GPU中处理,两者并行。这种处理方式可以在嵌入式系统计算资源有限的前提下,大大提高目标检测的效率。
本实施方式使用范围广泛,主流的神经网络目标检测模型均可以适用,在带有CPU和GPU的异构嵌入式平台上均有性能提升。
本实施方式不但可以对嵌入式系统中的神经网络目标检测起到加速的作用,而且还可以和其他用于嵌入式系统的加速方案如模型压缩、模型量化等方案结合,获得进一步的性能提升。
本说明书的第二实施方式涉及一种异构嵌入式系统,其结构如图2所示,该异构嵌入式系统包括:CPU和GPU,其中,
所述GPU用于对图像数据进行第一处理。可选的,上述图像数据是视频图像。可选的,第一处理包括目标检测算法的大部分前向计算。
所述CPU用于从数据源获取图像数据并提供给所述GPU进行第一处理,并对经过第一处理的数据进行第二处理,输出目标检测结果。
可选的,在本说明书的实施例中,所述数据源包括以下之一或其任意组合:云端、本地文件、摄像头。
可选的,所述CPU上运行主线程、第一子线程和第二子线程,其中所述主线程用于计算流程的整体逻辑调用,所述第一子线程用于调用所述GPU完成第一处理,所述第二子线程用于所述第二处理。可选的,所述主线程用于周期性地从数据源获取图像数据,并将所获取的图像数据放入所述第一子线程的输入队列;所述第一子线程用于从自己的输入队列获取图像数据,复制到所述GPU,并启动所述GPU进行所述第一处理,将经过所述第一处理的数据放入所述第二子线程的输入队列;所述第二子线程用于从自己的输入队列获取数据,执行所述第二处理。
可选的,所述第二处理包括非极大值抑制和/或后处理,所述第一处理为所述神经网络目标检测的计算过程中除所述第二处理之外的其他处理。所述第一处理和所述第二处理可以并行处理同一段视频。
可选的,所述神经网络目标检测可以使用以下计算方案之一:SSD、YOLO、FasterR-CNN、FPN。此外,也可以使用其他的神经网络目标检测算法。
需指出,在本说明书的实施例中,第一处理和第二处理虽然是有先后关系,但是因为图像数据是源源不断被处理的,第一处理和第二处理就像是流水线上的两个部分,是可以同时工作的,也就是并行。
第一实施方式是与本实施方式相对应的方法实施方式,第一实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。
需要说明的是,本领域技术人员应当理解,上述异构嵌入式系统的实施方式中所示的各模块的实现功能可参照前述异构嵌入式系统上加速神经网络目标检测的方法的相关描述而理解。上述异构嵌入式系统的实施方式中所示的各模块的功能可通过运行于处理器上的程序(可执行指令)而实现,也可通过具体的逻辑电路而实现。本说明书实施例上述异构嵌入式系统如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本说明书各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
相应地,本说明书实施方式还提供一种计算机可读存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书的各方法实施方式。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于,相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
此外,本说明书实施方式还提供一种异构嵌入式系统,其中包括用于存储计算机可执行指令的存储器,以及,处理器;该处理器用于在执行该存储器中的计算机可执行指令时实现上述各方法实施方式中的步骤。
在一个实施例中,该计算机可执行指令可以用于:从数据源获取图像数据;使用所述GPU对所述图像数据进行第一处理;所述CPU对经过所述第一处理的数据进行第二处理,输出目标检测结果;其中,所述第二处理包括非极大值抑制和/或后处理,所述第一处理为所述神经网络目标检测的计算过程中除所述第二处理之外的其他处理。
在一个实施例中,该处理器可以是中央处理单元(Central Processing Unit,简称“CPU”),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称“DSP”)、专用集成电路(Application Specific Integrated Circuit,简称“ASIC”)等。前述的存储器可以是只读存储器(read-only memory,简称“ROM”)、随机存取存储器(randomaccess memory,简称“RAM”)、快闪存储器(Flash)、硬盘或者固态硬盘等。本发明各实施方式所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。在一个实施例中,该异构嵌入式系统还包括总线和通信接口。处理器、存储器和通信接口都通过总线相互连接。通信接口可以是无线通信接口也可以是有线通信接口,用于使得处理器能够与其他的装置通信。
需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
在本说明书提及的所有文献都被认为是整体性地包括在本说明书的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描述的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
Claims (12)
1.一种异构嵌入式系统上加速神经网络目标检测的方法,其中,所述异构嵌入式系统包括中央处理器和图像处理器,所述方法包括:
从数据源获取图像数据;
使用所述图像处理器对所述图像数据进行第一处理;
所述中央处理器对经过所述第一处理的数据进行第二处理,输出目标检测结果;其中,所述第二处理包括非极大值抑制和/或后处理,所述第一处理为所述神经网络目标检测的计算过程中除所述第二处理之外的其他处理。
2.如权利要求1所述的异构嵌入式系统上加速神经网络目标检测的方法,其中,所述中央处理器上运行主线程、第一子线程和第二子线程,其中所述主线程用于计算流程的整体逻辑调用,所述第一子线程用于调用所述图像处理器完成第一处理,所述第二子线程用于所述第二处理。
3.如权利要求2所述的异构嵌入式系统上加速神经网络目标检测的方法,其中,所述从数据源获取图像数据,进一步包括:所述主线程周期性地从数据源获取图像数据,并将所获取的图像数据放入所述第一子线程的输入队列;
所述使用所述图像处理器对所述图像数据进行第一处理,进一步包括:所述第一子线程从自己的输入队列获取图像数据,复制到所述图像处理器,并启动所述图像处理器进行所述第一处理,将经过所述第一处理的数据放入所述第二子线程的输入队列;
所述中央处理器对经过所述第一处理的数据进行第二处理,进一步包括:所述第二子线程从自己的输入队列获取数据,执行所述第二处理。
4.如权利要求1所述的异构嵌入式系统上加速神经网络目标检测的方法,其中,所述神经网络目标检测使用以下计算方案之一:SSD、YOLO、Faster R-CNN、FPN。
5.如权利要求1所述的异构嵌入式系统上加速神经网络目标检测的方法,其中,所述数据源包括以下之一或其任意组合:
云端、本地文件、摄像头。
6.一种异构嵌入式系统,包括,中央处理器和图像处理器;
所述图像处理器用于对图像数据进行第一处理;
所述中央处理器用于从数据源获取图像数据并提供给所述图像处理器进行第一处理,并对经过第一处理的数据进行第二处理,输出目标检测结果;
其中,所述第二处理包括非极大值抑制和/或后处理,所述第一处理为所述神经网络目标检测的计算过程中除所述第二处理之外的其他处理。
7.如权利要求6所述的异构嵌入式系统,其中,所述中央处理器上运行主线程、第一子线程和第二子线程,其中所述主线程用于计算流程的整体逻辑调用,所述第一子线程用于调用所述图像处理器完成第一处理,所述第二子线程用于所述第二处理。
8.如权利要求7所述的异构嵌入式系统,其中,
所述主线程用于周期性地从数据源获取图像数据,并将所获取的图像数据放入所述第一子线程的输入队列;
所述第一子线程用于从自己的输入队列获取图像数据,复制到所述图像处理器,并启动所述图像处理器进行所述第一处理,将经过所述第一处理的数据放入所述第二子线程的输入队列;
所述第二子线程用于从自己的输入队列获取数据,执行所述第二处理。
9.如权利要求6-8中任意一项所述的异构嵌入式系统,其中,所述神经网络目标检测使用以下计算方案之一:SSD、YOLO、Faster R-CNN、FPN。
10.如权利要求6-8中任意一项所述的异构嵌入式系统,其中,所述数据源包括以下之一或其任意组合:
云端、本地文件、摄像头。
11.一种异构嵌入式系统,包括:
存储器,用于存储计算机可执行指令;以及,
处理器,与所述存储器耦合,用于在执行所述计算机可执行指令时实现如权利要求1至5中任意一项所述的方法中的步骤。
12.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如权利要求1至5中任意一项所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911150838.8A CN110992241A (zh) | 2019-11-21 | 2019-11-21 | 异构嵌入式系统及其加速神经网络目标检测的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911150838.8A CN110992241A (zh) | 2019-11-21 | 2019-11-21 | 异构嵌入式系统及其加速神经网络目标检测的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110992241A true CN110992241A (zh) | 2020-04-10 |
Family
ID=70085794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911150838.8A Pending CN110992241A (zh) | 2019-11-21 | 2019-11-21 | 异构嵌入式系统及其加速神经网络目标检测的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110992241A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112766483A (zh) * | 2020-12-30 | 2021-05-07 | 上海熠知电子科技有限公司 | 异构系统的数据处理方法、装置及计算机可读存储介质 |
WO2021139177A1 (zh) * | 2020-07-29 | 2021-07-15 | 平安科技(深圳)有限公司 | 图像增广方法、装置、计算机设备及存储介质 |
CN114863554A (zh) * | 2022-04-08 | 2022-08-05 | 哈尔滨工程大学 | 一种基于深度学习模型的手语识别系统和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106358003A (zh) * | 2016-08-31 | 2017-01-25 | 华中科技大学 | 一种基于线程级流水线的视频分析加速方法 |
CN110069344A (zh) * | 2019-04-16 | 2019-07-30 | 北京百度网讯科技有限公司 | 一种任务执行方法、装置和智能设备 |
CN110135569A (zh) * | 2019-04-11 | 2019-08-16 | 中国人民解放军国防科技大学 | 一种异构平台神经元定位三级流水并行方法、系统及介质 |
-
2019
- 2019-11-21 CN CN201911150838.8A patent/CN110992241A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106358003A (zh) * | 2016-08-31 | 2017-01-25 | 华中科技大学 | 一种基于线程级流水线的视频分析加速方法 |
CN110135569A (zh) * | 2019-04-11 | 2019-08-16 | 中国人民解放军国防科技大学 | 一种异构平台神经元定位三级流水并行方法、系统及介质 |
CN110069344A (zh) * | 2019-04-16 | 2019-07-30 | 北京百度网讯科技有限公司 | 一种任务执行方法、装置和智能设备 |
Non-Patent Citations (2)
Title |
---|
刘金硕: "PMVS算法的CPU多线程和GPU两级粒度并行策略", 《计算机科学》 * |
张杰龙: "适用于嵌入式系统实现的人脸检测与配准算法研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021139177A1 (zh) * | 2020-07-29 | 2021-07-15 | 平安科技(深圳)有限公司 | 图像增广方法、装置、计算机设备及存储介质 |
CN112766483A (zh) * | 2020-12-30 | 2021-05-07 | 上海熠知电子科技有限公司 | 异构系统的数据处理方法、装置及计算机可读存储介质 |
CN114863554A (zh) * | 2022-04-08 | 2022-08-05 | 哈尔滨工程大学 | 一种基于深度学习模型的手语识别系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210192245A1 (en) | Information processing method and terminal device | |
US11151442B2 (en) | Convolutional neural network processing method and device | |
US20200050453A1 (en) | Apparatus and methods for matrix multiplication | |
JP6393058B2 (ja) | 情報処理装置、情報処理方法 | |
CN110992241A (zh) | 异构嵌入式系统及其加速神经网络目标检测的方法 | |
CN111797826B (zh) | 大骨料集中区域检测方法和装置及其网络模型训练方法 | |
CN107766292B (zh) | 一种神经网络处理方法及处理系统 | |
CN106855952B (zh) | 基于神经网络的计算方法及装置 | |
CN111008631B (zh) | 图像的关联方法及装置、存储介质和电子装置 | |
JP7268063B2 (ja) | 低電力のリアルタイムオブジェクト検出用のシステム及び方法 | |
CN116227599A (zh) | 一种推理模型的优化方法、装置、电子设备及存储介质 | |
CN114692745A (zh) | 数据处理方法、装置、集成芯片、电子设备及存储介质 | |
US20220092394A1 (en) | Method and apparatus with neural network operation | |
US10963775B2 (en) | Neural network device and method of operating neural network device | |
WO2020052170A1 (zh) | 一种目标对象识别方法、装置及存储介质 | |
US20210240895A1 (en) | Hardware-implemented argmax layer | |
CN117275086A (zh) | 手势识别方法、装置、计算机设备、存储介质 | |
WO2021081854A1 (zh) | 一种卷积运算电路和卷积运算方法 | |
WO2021262139A1 (en) | Distributed machine learning models | |
CN110009625B (zh) | 基于深度学习的图像处理系统、方法、终端、及介质 | |
CN115136145A (zh) | 多任务神经网络 | |
JP2022501674A (ja) | データを処理するための方法、装置、及び関連製品 | |
CN110852202A (zh) | 一种视频分割方法及装置、计算设备、存储介质 | |
CN111506522A (zh) | 数据处理设备及方法 | |
CN112035383B (zh) | 一种数据调度方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200410 |
|
RJ01 | Rejection of invention patent application after publication |