CN110751676A - 一种基于目标检测的异构计算系统、方法和可读存储介质 - Google Patents
一种基于目标检测的异构计算系统、方法和可读存储介质 Download PDFInfo
- Publication number
- CN110751676A CN110751676A CN201911000781.3A CN201911000781A CN110751676A CN 110751676 A CN110751676 A CN 110751676A CN 201911000781 A CN201911000781 A CN 201911000781A CN 110751676 A CN110751676 A CN 110751676A
- Authority
- CN
- China
- Prior art keywords
- computing
- fpga
- stream data
- image stream
- module
- 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
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7814—Specially adapted for real time processing, e.g. comprising hardware timers
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种基于目标检测的异构计算系统、方法和可读存储介质,所述异构计算系统基于OpenCL平台编程模型开发,其包括:处理器模块和FPGA计算模块,所述处理器模块和所述FPGA计算模块通过AXI总线连接并进行数据交互;处理器模块用于对接收到图像流数据进行预处理,并针对基于所述图像流数据的任务进行划分,控制所述FPGA计算模块执行并行计算任务;FPGA计算模块用于执行对所述图像流数据的并行计算任务,并采用基于形态学的Top‑Hat变换算法实现目标检测;本发明利用FPGA计算模块的高并行计算优势,提高硬件资源利用率,提升系统计算能力,达到计算加速的目的,增强系统时效性;另外,本发明还采用FPGA局部动态重配技术增加系统计算资源利用率,进一步保证时效性。
Description
技术领域
本发明涉及目标检测技术领域,尤其涉及一种基于目标检测的异构计算系统、方法和可读存储介质。
背景技术
随着自动化程度的日益提高,机器视觉在生产生活、学习科研中发挥了越来越大的作用。伴随着硬件、算法等条件的优化,机器视觉系统的性能得到很大的提升,逐渐应用在各种高速、精密的检测领域。尤其是航空航天、武器装备、工业控制等领域,对大吞吐量的高速图像信息的传输及实时准确的处理有着更加严格的要求,这对机器视觉系统的实时性与准确性提出了更高的挑战。
运动目标检测跟踪需要在大量的视频图像数据中及时找到目标,计算量非常大,对硬件的要求较高。以天基系统而言,其能源来自于太阳能和电池,散热性能差,功耗约束了高功耗的CPU、GPU的使用。而异构计算CPU、DSP、GPU、ASIC、协处理器和FPGA等计算单元,通过使用不同的类型指令集、不同体系架构的计算单元,组成一个混合的系统来执行计算的特殊方式。在实时性和计算性能有着较高要求的场合下,FPGA具有计算能效高、功耗低、开发周期短、稳定性高、能长期维护等优点,尤其是具有流水线操作、并行处理的优势,使得基于FPGA的异构计算十分适用于为运动目标检测这一类的高时效、高计算能力要求的应用服务。
目前的检测算法在运算中存在运算量大、效率低等问题影响。而视觉检测系统根据处理器类型大致可分为三类:以PC为处理核心的视觉检测系统,技术最为成熟,但便携性较差;而基于DSP的视觉检测系统解决了便携性的问题,但由于器件运算资源及串行处理方式的限制,在高速的场景中处理能力不足;FPGA的便携、高并行、低功耗等特点,兼具了便携性与高速的优点,是极佳的选择。而FPGA凭借其硬件并行计算的特点,兼具了便携性与高速的优点,大量应用于视觉检测中,适用于数据量大、重复性高而算法相对简单的场景。而且FPGA的IP核也越来越成熟全面,这使得FPGA的开发更加方便快捷。但传统FPGA开发,门槛高、周期长、部署不灵活,基于Verilog语言针对复杂算法开发难度高。综上所述,检测算法对能效高、功耗低、开发灵活的FPGA异构计算平台有强烈需求。
发明内容
为了解决上述至少一个技术问题,本发明提出了一种基于目标检测的异构计算系统、方法和可读存储介质。
为了实现上述目的,本发明第一方面提出一种基于目标检测的异构计算系统,所述异构计算系统基于OpenCL平台编程模型进行开发,其包括:处理器模块和FPGA计算模块,所述处理器模块和所述FPGA计算模块通过AXI总线连接并进行数据交互;
处理器模块,用于对接收到图像流数据进行预处理,并针对基于所述图像流数据的任务进行划分,控制所述FPGA计算模块执行并行计算任务;
FPGA计算模块,用于执行对所述图像流数据的并行计算任务,并采用基于形态学的Top-Hat变换算法实现目标检测。
本方案中,所述FPGA计算模块包括多个计算单元,每一个计算单元包括多个处理单元,多个处理单元分别用于执行对所述图像流数据的计算任务。
本方案中,所述处理器模块采用基于FPGA的动态部分可重构设计,在所述异构计算系统运行时,维持其他部分保持不变的情况下,以对可重构部分进行重构配置。
本方案中,所述异构计算系统还包括图像处理单元,所述图像处理单元、所述处理器模块和所述FPGA计算模块集成在单芯片上,所述处理器模块包括至少一个ARM处理器。
本方案中,所述处理器模块还包括高速缓存存储器、DDR控制器、DMA控制器、时钟发生器以及I/O接口。
本方案中,所述异构计算系统外接有SD卡、成像传感器、显示器、鼠标、键盘、以太网的一种或几种。
进一步的,所述异构计算系统还包括帧缓冲区,用于存放所述成像传感器拍摄的视频,读取每一帧图像得到待处理的图像流数据,所述图像流数据经所述FPGA计算模块计算处理得到检测结果,并经由所述显示器输出。
本发明第二方面还提出一种基于目标检测的异构计算方法,应用于上述的一种基于目标检测的异构计算系统,所述方法包括:
接收系统启动指令;
待系统启动后,基于目标检测应用接收相应的图像流数据;
对接收到图像流数据进行预处理,并针对基于所述图像流数据的任务进行划分;
执行对所述图像流数据的并行计算任务,并将计算结果信息进行显示。
本方案中,执行对所述图像流数据的并行计算任务,还包括:
维持所述异构计算系统其他部分保持不变的情况下,接收对可重构部分的重构配置指令;
根据所述重构配置指令,执行增加、减少或改变计算任务。
本发明第三方面还提出一种计算机可读存储介质,所述计算机可读存储介质中包括一种基于目标检测的异构计算方法程序,所述基于目标检测的异构计算方法程序被处理器执行时,实现如上述的一种基于目标检测的异构计算方法的步骤。
本发明通过OpenCL平台编程模型开发基于目标检测的异构计算系统,且所述异构计算系统包括:处理器模块和FPGA计算模块,所述处理器模块和所述FPGA计算模块通过AXI总线连接并进行数据交互;处理器模块,用于对接收到图像流数据进行预处理,并针对基于所述图像流数据的任务进行划分,控制所述FPGA计算模块执行并行计算任务;FPGA计算模块,用于执行对所述图像流数据的并行计算任务,并采用基于形态学的Top-Hat变换算法实现目标检测。本发明采用OpenCL平台编程模型实现开发加速可用高级编程语言C/C++,解决传统基于Verilog语言对FPGA的开发门槛高、开发周期长、部署不灵活等问题。同时,本发明利用FPGA计算模块的高并行计算优势,提高硬件资源利用率,提升系统计算能力,达到计算加速的目的,增强系统时效性。另外,本发明还采用FPGA局部动态重配技术进一步增加平台计算资源利用率,保证时效性。
本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1示出了本发明一种基于目标检测的异构计算系统的框图;
图2示出了本发明一种基于目标检测的异构计算方法的流程图;
图3示出本发明一种OpenCL平台模型的框图;
图4示出本发明一种基于FPGA+CPU的异构计算平台编程模型的框图;
图5示出了本发明一种基于目标检测的异构计算原理示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
以航天应用为例,随着我国航天事业的发展以及空间站的建成,空间科学实验任务逐渐增多,越来越多的科学实验场景中需要应用到高速运动检测系统。
近几年来,FPGA凭借其硬件并行高速运算的优势,越来越多地被应用于高速相机以及高速运动检测系统中,极大地提高了图像处理速度。以FPGA为处理核心的高速运动检测系统,通过硬件电路逻辑驱动图像传感器,获取视频序列,借助目标检测算法实现对目标物体进行快速检测,为后续的精密控制提供了良好的条件,极大满足了高速检测与精密控制领域对图像采集及处理设备的需求。
图1示出了本发明一种基于目标检测的异构计算系统的框图。
如图1所示,本发明第一方面提出一种基于目标检测的异构计算系统10,所述异构计算系统10基于OpenCL平台编程模型进行开发,其包括:处理器模块11和FPGA计算模块12,所述处理器模块11和所述FPGA计算模块12通过AXI总线连接并进行数据交互;
处理器模块11,用于对接收到图像流数据进行预处理,并针对基于所述图像流数据的任务进行划分,控制所述FPGA计算模块执行并行计算任务;
FPGA计算模块12,用于执行对所述图像流数据的并行计算任务,并采用基于形态学的Top-Hat变换算法实现目标检测。
需要说明的是,OpenCL(Open Computing Language,开放运算语言)由一门用于编写kernels的语言和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。
需要说明的是,所述Top-Hat变换是一种数学形态学变换,它能够有效的检测图像中的边缘信息,去除复杂场景中的背景信息,减少定位所需处理的数据量。
根据在本发明的实施例,对基于形态学的top-hat变换算法优化,利用开运算去掉图像中细小连接及亮奇异点;将原图像和处理后图像进行差分突出目标。可以理解,基于形态学的Top-Hat变换作为目标检测中的常用经典算法,检测效果好,检测准确率依赖于先验形态学结构元素的信息,但在保证算法效果时引入神经网络带来大量计算,限制该方法的应用。然而,本发明基于FPGA的异构计算系统为解决该问题带来了硬件支持,实现对Top-Hat变换的算法加速。进一步的,可以在地面搭建神经网络对先验形态学结构进行训练。
需要说明的是,FPGA(Field Programmable Gate Array),即现场可编程门阵列,以并行运算为主,并通过硬件描述语言来实现。FPGA芯片主要由6部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。
根据本发明的实施例,所述FPGA计算模块包括多个计算单元,每一个计算单元包括多个处理单元,多个处理单元分别用于执行对所述图像流数据的计算任务。
进一步的,所述处理器模块采用基于FPGA的动态部分可重构设计,在所述异构计算系统运行时,维持其他部分保持不变的情况下,以对可重构部分进行重构配置。
进一步的,所述异构计算系统还包括图像处理单元,所述图像处理单元、所述处理器模块和所述FPGA计算模块集成在单芯片上,所述处理器模块包括至少一个ARM处理器。
进一步的,所述处理器模块还包括高速缓存存储器、DDR控制器、DMA控制器、时钟发生器以及I/O接口。
需要说明的是,高速缓存存储器是存在于主存储器与CPU之间的一级存储器,其由静态存储芯片(SRAM)组成,容量比较小但速度比主存储器高得多,接近于CPU的速度。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。DDR控制器用于完成存储器的初始化,接收并解码用户指令然后产生读、写、刷新等指令。DMA控制器是内存储器同外设之间进行高速数据传送时的硬件控制电路,为一种实现直接数据传送的专用处理器。时钟发生器是用来产生时钟信号的器件,并使数字产品中的组件随着所产生的时钟信号来同步进行运算动作。优选的,所述时钟发生器用于向ARM处理器输出时钟信号。
进一步的,所述异构计算系统外接有SD卡、成像传感器、显示器、鼠标、键盘、以太网的一种或几种。
需要说明的是,SD卡用于操作系统的启动;所述成像传感器为红外成像传感器,其用于拍摄图像并生成图像流;显示器通过HDMI连接所述异构计算系统,用于输出检测结果;鼠标和键盘通过USB连接与所述异构计算系统连接,便于用户进行操作所述异构计算系统;所述异构计算系统通过以太网接口连接以太网,所述以太网为万兆以太网。
进一步的,所述异构计算系统还包括帧缓冲区,用于存放所述成像传感器拍摄的视频,读取每一帧图像得到待处理的图像流数据,所述图像流数据经所述FPGA计算模块计算处理得到检测结果,并经由所述显示器输出。
图2示出了本发明一种基于目标检测的异构计算方法的流程图。
如图2所示,本发明第二方面还提出一种基于目标检测的异构计算方法,应用于上述的一种基于目标检测的异构计算系统,所述方法包括:
S202,接收系统启动指令;
S204,待系统启动后,基于目标检测应用接收相应的图像流数据;
S206,对接收到图像流数据进行预处理,并针对基于所述图像流数据的任务进行划分;
S208,执行对所述图像流数据的并行计算任务,并将计算结果信息进行显示。
根据本发明的实施例,执行对所述图像流数据的并行计算任务,还包括:
维持所述异构计算系统其他部分保持不变的情况下,接收对可重构部分的重构配置指令;
根据所述重构配置指令,执行增加、减少或改变计算任务。
本发明第三方面还提出一种计算机可读存储介质,所述计算机可读存储介质中包括一种基于目标检测的异构计算方法程序,所述基于目标检测的异构计算方法程序被处理器执行时,实现如上述的一种基于目标检测的异构计算方法的步骤。
为了更好的解释本发明的技术方案,下面将通过一实施例进行详细说明。
在本实施例中,采用OpenCL软件平台实现开发加速可用高级编程语言C/C++,解决传统FPGA开发,基于Verilog语言,具有开发门槛高、开发周期长、部署不灵活等问题。也有更加丰富的API函数,OpenCV函数库可供调用,解决算法复杂度高,难以用FPGA实现的问题。
如图3所示,OpenCL平台模型定义了异构平台的组织形式,平台由两部分构成:宿主机和OpenCL设备。宿主机是异构计算的主控机,一般由CPU扮演该角色,只能存在一个宿主机。OpenCL设备主要进行数据运算操作,作为从设备接收宿主机的指令进行数据处理,可以是CPU、GPU、DSP或FPGA。OpenCL设备内的计算资源由多个计算单元(CU)构成,这些计算单元可以进一步划分成多个更小的处理单元(PE),PE是OpenCL设备进行计算操作的最小单元。OpenCL宿主机负责管理所有的外部计算设备,计算任务通常都是由宿主机发起,选择特定的OpenCL外设并为之建立相应的执行环境,将计算任务和数据通过PCIe接口发送给你OpenCL外设,外设会同时调用内部的多个计算单元对数据进行处理,等待计算完成后,宿主机都会运算结果,并结束该任务。
如图4所示,OpenCL平台模型为主从结构,起执行模型中的应用程序也可相应地分为宿主机程序和内核程序。宿主机程序完成应用中的主机运算部分,并通过上下文和命令队列来管理设备,控制内核程序在设备上的运行;内核程序是OpenCL程序的核心部分,它运行在OpenCL设备上,完成应用中的并行运算部分。执行模型的核心就在于如何调度这些计算资源进行有效的计算。在主设备端,C、C++代码运行在CPU上,主要负责流程控制;FPGA则作为OpenCL从计算设备,OpenCL代码以内核函数的形式定义了多个并行计算单元CUs被编译和合成,运行在FPGA上。这种方式既保证了实时性又保证了程序的灵活和可扩展性。
Host端C++代码根据总程序代码编写内容顺序启动硬件内核。而计算密集型的需要加速的算法首先在OpenCL代码中以内核函数的形式进行建模,然后由编译器编译在FPGA设备上运行来加速检测算法计算。Xilinx公司软件开发套件SDAccel和SDSoC可支持OpenCL,使用该软件集成开发环境将OpenCL代码编译成RTL代码,将RTL放到BSP板级支持包中,调用FPGA工程软件编译,最后生成FPGA比特文件。该软件集成开发环境提供了对仿真的支持,从而允许在进行完整的FPGA实现之前快速进行功能验证。
需要说明的是,低成本、低功耗的嵌入式集成处理器计算架构更符合天基目标检测系统的需求。优选的,面向目标检测的嵌入式异构计算平台采用嵌入式集成MPSoC-FPGA异构架构。
MPSoC-FPGA平台中ARM硬核处理器与FPGA计算设备相当于在一个芯片上实现异构平台,加速效果更明显,二者之间是通过AXI总线进行数据交互。优选的,所采用的硬件处理平台可以为Zynq UltraScale+MPSoC ZCU102评估套件,由ARM Cortex-A53、双核Cortex-R5实时处理器和一款Mali-400 MP2图像处理单元以及可编程FPGA集成到单芯片中组成异构多核处理器系统。异构多核片上系统(MPSoC)内部架构分为两个部分,分别为处理系统(Processing System,PS)和可编程逻辑(Programmable Logic,PL)。
如图5所示,红外摄像头摄取相应的图像数据,并传送至ARM处理器,ARM处理器读取图像数据并对图像数据进行预处理,然后做基于图像数据的任务划分,控制FPGA并行计算任务,并输出相应的检测结果,所述检测结果通过显示器进行显示。FPGA并行执行图像计算任务,并基于形态学Top-Hat变换算法实现目标检测任务。可以理解,利用FPGA的高并行计算优势,提高硬件资源利用率,提升平台计算能力,达到计算加速目的,增强系统时效性。简单的来说,一个计算任务如果是单帧图像计算,任务并行下,利用剩余逻辑资源,同一时间可计算多帧图像。
在处理器系统中,不仅包含了处理器,还包括了高速缓存存储器、DDR控制器、DMA控制器、时钟发生器以及各种I/O接口等其他资源。可编程逻辑部分与ARM处理器紧密地结合在一起,构成了MPSoC平台。本实施例设计的MPSoC-FPGA异构计算平台,主要分为硬件处理器系统(Hard Processing System,HPS)和可编程逻辑(Programmable Logic,PL)两部分。其中,目标检测算法运算中计算密集型的部分、矩阵等运算,利用FPGA大量并行计算资源进行加速,保证了实时性;ARM处理器上运行数据流读取和预处理工作,保证了程序的灵活和可扩展性。MPSoC-FPGA集成了基于ARM处理器的硬件处理器系统(HPS),周边及内存接口与FPGA无缝接合。开发板外接设备有:SD卡、鼠标、键盘、红外成像传感器、显示器以及以太网。其中,SD卡用于操作系统启动;通过USB连接鼠标键盘;红外成像传感器拍摄图像,生成图像流;通过HDMI连接显示器,输出检测结果;以太网接口连接万兆以太网。HPS部分的时钟单元向处理器输出时钟信号;处理器通过设备驱动获取外设信息;处理器和可编程逻辑通过AXI总线连接。开发板外接的红外成像传感器将拍摄视频存放于帧缓冲区(FrameBuffer),读取每一帧图像得到待处理图像流,经过FPGA加速计算,得到检测结果,可通过高清多媒体接口(High Definition Multimedia Interface,HDMI)连接显示器,以输出检测结果。
在本实施例中,引入局部动态重构技术,在不影响系统运行过程中,动态配置可重构模块,实现增、减、改任务。增加硬件资源利用率。在天基导弹预警系统中,该技术实现可支持多源数据融合(将多传感器信息融合,或者多星数据融合等),例如图像拼接任务。
根据本发明的实施例,主程序(Hostprogram)中采用了基于FPGA的动态部分可重构设计。动态部分可重构是将任务划分为更细粒度的功能模块,根据任务执行的阶段分别下载,动态地重配置相应的部分电路,而不需要重配置的部分不受影响。技术结合了动态重构的实时性以及部分重构的灵活性,实现了在系统运行时对重构模块功能的改变,并且维持系统的其他部分保持不变。故在配置的整个过程中,芯片不会被挂起,将维持正常工作。基于FPGA的动态部分可重构能够实现逻辑资源的时分复用,具有节约硬件资源和增强系统灵活性的特点。
本发明还提出一种基于目标检测系统的性能分析方法。
可以理解,针对目标检测系统的性能分析也是可行性验证。主要评估指标可以包括检测概率、虚警概率、实时性、计算性能、功耗等参数。
单帧图像目标检测是基于门限值来确定检测目标的有无。设门限值为Th,检测到的目标灰度强度信号U,若U>Th则判定有目标,否则无目标。定义检测概率和虚警概率如下,来衡量算法的有效性和鲁棒性:
系统实效性,定义系统检测时间为:目标出现至检测是同成功获取目标、返回目标位置的总时间。
平台功耗,与CPU、GPU对比,比较内容和格式参考表1,其中有效功耗为系统功耗减去待机功耗。
表1
硬件平台 | 频率 | 时间 | 有效功耗 | 系统功耗 | 资源占用 |
处理器及框架 | --Hz | --ms | --W | --W | --% |
本发明通过OpenCL平台编程模型开发基于目标检测的异构计算系统,且所述异构计算系统包括:处理器模块和FPGA计算模块,所述处理器模块和所述FPGA计算模块通过AXI总线连接并进行数据交互;处理器模块,用于对接收到图像流数据进行预处理,并针对基于所述图像流数据的任务进行划分,控制所述FPGA计算模块执行并行计算任务;FPGA计算模块,用于执行对所述图像流数据的并行计算任务,并采用基于形态学的Top-Hat变换算法实现目标检测。本发明采用OpenCL平台编程模型实现开发加速可用高级编程语言C/C++,解决传统基于Verilog语言对FPGA的开发门槛高、开发周期长、部署不灵活等问题。同时,本发明利用FPGA计算模块的高并行计算优势,提高硬件资源利用率,提升系统计算能力,达到计算加速的目的,增强系统时效性。另外,本发明还采用FPGA局部动态重配技术进一步增加平台计算资源利用率,保证时效性。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于目标检测的异构计算系统,其特征在于,所述异构计算系统基于OpenCL平台编程模型进行开发,其包括:处理器模块和FPGA计算模块,所述处理器模块和所述FPGA计算模块通过AXI总线连接并进行数据交互;
处理器模块,用于对接收到图像流数据进行预处理,并针对基于所述图像流数据的任务进行划分,控制所述FPGA计算模块执行并行计算任务;
FPGA计算模块,用于执行对所述图像流数据的并行计算任务,并采用基于形态学的Top-Hat变换算法实现目标检测。
2.根据权利要求1所述的一种基于目标检测的异构计算系统,其特征在于,所述FPGA计算模块包括多个计算单元,每一个计算单元包括多个处理单元,多个处理单元分别用于执行对所述图像流数据的计算任务。
3.根据权利要求1所述的一种基于目标检测的异构计算系统,其特征在于,所述处理器模块采用基于FPGA的动态部分可重构设计,在所述异构计算系统运行时,维持其他部分保持不变的情况下,以对可重构部分进行重构配置。
4.根据权利要求1所述的一种基于目标检测的异构计算系统,其特征在于,所述异构计算系统还包括图像处理单元,所述图像处理单元、所述处理器模块和所述FPGA计算模块集成在单芯片上,所述处理器模块包括至少一个ARM处理器。
5.根据权利要求1所述的一种基于目标检测的异构计算系统,其特征在于,所述处理器模块还包括高速缓存存储器、DDR控制器、DMA控制器、时钟发生器以及I/O接口。
6.根据权利要求1所述的一种基于目标检测的异构计算系统,其特征在于,所述异构计算系统外接有SD卡、成像传感器、显示器、鼠标、键盘、以太网的一种或几种。
7.根据权利要求6所述的一种基于目标检测的异构计算系统,其特征在于,所述异构计算系统还包括帧缓冲区,用于存放所述成像传感器拍摄的视频,读取每一帧图像得到待处理的图像流数据,所述图像流数据经所述FPGA计算模块计算处理得到检测结果,并经由所述显示器输出。
8.一种基于目标检测的异构计算方法,应用于权利要求1至7任一项所述的一种基于目标检测的异构计算系统,其特征在于,所述方法包括:
接收系统启动指令;
待系统启动后,基于目标检测应用接收相应的图像流数据;
对接收到图像流数据进行预处理,并针对基于所述图像流数据的任务进行划分;
执行对所述图像流数据的并行计算任务,并将计算结果信息进行显示。
9.根据权利要求8所述的一种基于目标检测的异构计算方法,其特征在于,执行对所述图像流数据的并行计算任务,还包括:
维持所述异构计算系统其他部分保持不变的情况下,接收对可重构部分的重构配置指令;
根据所述重构配置指令,执行增加、减少或改变计算任务。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一种基于目标检测的异构计算方法程序,所述基于目标检测的异构计算方法程序被处理器执行时,实现如权利要求8和9中任一项所述的一种基于目标检测的异构计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911000781.3A CN110751676A (zh) | 2019-10-21 | 2019-10-21 | 一种基于目标检测的异构计算系统、方法和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911000781.3A CN110751676A (zh) | 2019-10-21 | 2019-10-21 | 一种基于目标检测的异构计算系统、方法和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110751676A true CN110751676A (zh) | 2020-02-04 |
Family
ID=69279151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911000781.3A Pending CN110751676A (zh) | 2019-10-21 | 2019-10-21 | 一种基于目标检测的异构计算系统、方法和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110751676A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111696025A (zh) * | 2020-06-11 | 2020-09-22 | 西安电子科技大学 | 基于可重构内存计算技术的图像处理装置及方法 |
CN111722930A (zh) * | 2020-06-23 | 2020-09-29 | 恒为科技(上海)股份有限公司 | 一种数据预处理系统 |
CN111984417A (zh) * | 2020-08-26 | 2020-11-24 | 展讯通信(天津)有限公司 | 用于移动终端的图像处理方法及装置、存储介质、终端 |
CN112000527A (zh) * | 2020-07-10 | 2020-11-27 | 深圳致星科技有限公司 | 一种联邦学习系统的fpga工程测试方法 |
CN112346833A (zh) * | 2020-09-30 | 2021-02-09 | 深圳致星科技有限公司 | 用于隐私计算的任务处理方法、处理器及异构处理系统 |
CN113359134A (zh) * | 2021-06-07 | 2021-09-07 | 西安电子科技大学 | 基于嵌入式gpu的sar数据分布式实时成像处理系统及方法 |
CN113377440A (zh) * | 2021-06-03 | 2021-09-10 | 昆山丘钛微电子科技股份有限公司 | 基于fpga处理指令的方法、装置、电子设备及介质 |
CN114125380A (zh) * | 2021-11-05 | 2022-03-01 | 中科晶锐(苏州)科技有限公司 | 目标监测系统和目标监测方法 |
CN114320316A (zh) * | 2022-01-14 | 2022-04-12 | 重庆邮电大学 | 一种盾构机施工预警方法及装置 |
CN114446077A (zh) * | 2020-11-05 | 2022-05-06 | 上汽通用汽车有限公司 | 用于车位检测的装置、方法、存储介质及车辆 |
CN115237849A (zh) * | 2022-09-23 | 2022-10-25 | 北京东远润兴科技有限公司 | 可动态重构和异构的计算模块及计算装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140208299A1 (en) * | 2011-08-02 | 2014-07-24 | International Business Machines Corporation | COMMUNICATION STACK FOR SOFTWARE-HARDWARE CO-EXECUTION ON HETEROGENEOUS COMPUTING SYSTEMS WITH PROCESSORS AND RECONFIGURABLE LOGIC (FPGAs) |
CN104133692A (zh) * | 2014-06-13 | 2014-11-05 | 大连梯耐德网络技术有限公司 | 一种基于fpga动态重构技术实现对tcam的多元化配置系统及配置方法 |
CN107273331A (zh) * | 2017-06-30 | 2017-10-20 | 山东超越数控电子有限公司 | 一种基于cpu+gpu+fpga架构的异构计算系统和方法 |
CN206757652U (zh) * | 2017-04-14 | 2017-12-15 | 首都师范大学 | 一种基于FPGA+ARM异构多核SoC平台的目标检测系统 |
US20190122415A1 (en) * | 2017-10-20 | 2019-04-25 | Westghats Technologies Private Limited | Graph based heterogeneous parallel processing system |
-
2019
- 2019-10-21 CN CN201911000781.3A patent/CN110751676A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140208299A1 (en) * | 2011-08-02 | 2014-07-24 | International Business Machines Corporation | COMMUNICATION STACK FOR SOFTWARE-HARDWARE CO-EXECUTION ON HETEROGENEOUS COMPUTING SYSTEMS WITH PROCESSORS AND RECONFIGURABLE LOGIC (FPGAs) |
CN104133692A (zh) * | 2014-06-13 | 2014-11-05 | 大连梯耐德网络技术有限公司 | 一种基于fpga动态重构技术实现对tcam的多元化配置系统及配置方法 |
CN206757652U (zh) * | 2017-04-14 | 2017-12-15 | 首都师范大学 | 一种基于FPGA+ARM异构多核SoC平台的目标检测系统 |
CN107273331A (zh) * | 2017-06-30 | 2017-10-20 | 山东超越数控电子有限公司 | 一种基于cpu+gpu+fpga架构的异构计算系统和方法 |
US20190122415A1 (en) * | 2017-10-20 | 2019-04-25 | Westghats Technologies Private Limited | Graph based heterogeneous parallel processing system |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111696025B (zh) * | 2020-06-11 | 2023-03-24 | 西安电子科技大学 | 基于可重构内存计算技术的图像处理装置及方法 |
CN111696025A (zh) * | 2020-06-11 | 2020-09-22 | 西安电子科技大学 | 基于可重构内存计算技术的图像处理装置及方法 |
CN111722930A (zh) * | 2020-06-23 | 2020-09-29 | 恒为科技(上海)股份有限公司 | 一种数据预处理系统 |
CN111722930B (zh) * | 2020-06-23 | 2024-03-01 | 恒为科技(上海)股份有限公司 | 一种数据预处理系统 |
CN112000527A (zh) * | 2020-07-10 | 2020-11-27 | 深圳致星科技有限公司 | 一种联邦学习系统的fpga工程测试方法 |
CN111984417A (zh) * | 2020-08-26 | 2020-11-24 | 展讯通信(天津)有限公司 | 用于移动终端的图像处理方法及装置、存储介质、终端 |
CN112346833A (zh) * | 2020-09-30 | 2021-02-09 | 深圳致星科技有限公司 | 用于隐私计算的任务处理方法、处理器及异构处理系统 |
CN112346833B (zh) * | 2020-09-30 | 2022-11-22 | 深圳致星科技有限公司 | 用于隐私计算的任务处理方法、处理器及异构处理系统 |
CN114446077A (zh) * | 2020-11-05 | 2022-05-06 | 上汽通用汽车有限公司 | 用于车位检测的装置、方法、存储介质及车辆 |
CN114446077B (zh) * | 2020-11-05 | 2023-10-03 | 上汽通用汽车有限公司 | 用于车位检测的装置、方法、存储介质及车辆 |
CN113377440A (zh) * | 2021-06-03 | 2021-09-10 | 昆山丘钛微电子科技股份有限公司 | 基于fpga处理指令的方法、装置、电子设备及介质 |
CN113359134B (zh) * | 2021-06-07 | 2024-01-16 | 西安电子科技大学 | 基于嵌入式gpu的sar数据分布式实时成像处理系统及方法 |
CN113359134A (zh) * | 2021-06-07 | 2021-09-07 | 西安电子科技大学 | 基于嵌入式gpu的sar数据分布式实时成像处理系统及方法 |
CN114125380A (zh) * | 2021-11-05 | 2022-03-01 | 中科晶锐(苏州)科技有限公司 | 目标监测系统和目标监测方法 |
CN114320316A (zh) * | 2022-01-14 | 2022-04-12 | 重庆邮电大学 | 一种盾构机施工预警方法及装置 |
CN115237849A (zh) * | 2022-09-23 | 2022-10-25 | 北京东远润兴科技有限公司 | 可动态重构和异构的计算模块及计算装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110751676A (zh) | 一种基于目标检测的异构计算系统、方法和可读存储介质 | |
US11442795B2 (en) | Convergence among concurrently executing threads | |
EP3612990B1 (en) | Power-efficient deep neural network module configured for layer and operation fencing and dependency management | |
US11074717B2 (en) | Detecting and estimating the pose of an object using a neural network model | |
US10852811B2 (en) | Voltage/frequency scaling for overcurrent protection with on-chip ADC | |
US12019498B2 (en) | Core off sleep mode with low exit latency | |
JP2022547517A (ja) | 1つ又は複数のニューラル・ネットワークを使用するビデオ・アップサンプリング | |
CN110766778B (zh) | 使用散列执行并行路径空间滤波的方法和系统 | |
US11498007B2 (en) | Measuring and detecting idle processing periods and identifying root causes thereof in cloud-based, streaming applications | |
CN111445003A (zh) | 神经网络生成器 | |
US11741568B2 (en) | Systems and methods for low-power, real-time object detection | |
US12113946B2 (en) | Buffer management for plug-in architectures in computation graph structures | |
Mandal et al. | An Embedded Vision Engine (EVE) for automotive vision processing | |
CN113822975B (zh) | 用于对图像进行有效采样的技术 | |
US11508111B1 (en) | Augmented reality shader programs | |
US11476852B2 (en) | Glitch-free multiplexer | |
Zhang et al. | DSP-based traffic target detection for intelligent transportation | |
CN114554279A (zh) | 基于远程分析的触发器响应剪辑提取 | |
Al Amin et al. | FPGA-based Real-Time Object Detection and Classification System using YOLO for Edge Computing | |
Luo et al. | Design of FPGA‐Based Accelerator for Convolutional Neural Network under Heterogeneous Computing Framework with OpenCL | |
Yu et al. | Towards a scalable hardware/software co-design platform for real-time pedestrian tracking based on a ZYNQ-7000 device | |
US11966765B2 (en) | Memory bandwidth throttling for virtual machines | |
Yu et al. | INCAME: Interruptible CNN accelerator for multirobot exploration | |
Jaiswal et al. | A comparative study on SoC embedded low power GPUs for real‐time edge‐based automated traffic surveillance | |
Szwoch | Performance evaluation of parallel background subtraction on GPU platforms |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200204 |