CN108549579B - 基于gpu的多目标区域限制预警方法与装置 - Google Patents
基于gpu的多目标区域限制预警方法与装置 Download PDFInfo
- Publication number
- CN108549579B CN108549579B CN201810227733.7A CN201810227733A CN108549579B CN 108549579 B CN108549579 B CN 108549579B CN 201810227733 A CN201810227733 A CN 201810227733A CN 108549579 B CN108549579 B CN 108549579B
- Authority
- CN
- China
- Prior art keywords
- target point
- coordinates
- point
- target
- gpu
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims abstract description 67
- 238000012545 processing Methods 0.000 claims abstract description 48
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明提出了一种基于GPU的多目标区域限制预警方法与装置,CPU遍历每个目标点的坐标,利用GPU调取所述计算数组,所述GPU根据每个目标点的坐标以每个目标点为起始点构建水平射线,计算所述水平射线与所述限制区域的每条边界线段的交点坐标,并将计算的交点坐标值发送至CPU,CPU进行多线程处理逻辑判断,判断每个点与该计算的线段放到一个数组内,然后将这个数组传送到GPU,GPU的并发运算单元对数组内的每个元素进行计算,算出交点的坐标,然后传回内存,CPU再根据交点坐标判断是否在线段上,进而计算该点与区域的边的交点个数,得到点是否在区域内的判断。
Description
技术领域
本发明涉及区域检测技术领域,特别涉及一种基于GPU的多目标区域限制预警方法与装置。
背景技术
在航空,航海,公路交通等活动中,有些目标往往需要被限制在某些区域内,或者是某些区域不得进入等。这些区域要么比较敏感,要么是目标的活动范围,对于目标的进入或者移出需要向管理层汇报,未批准的目标进出需要及时报警。
传统上,雷达,云平台等***屏幕上可以明确显示区域内目标的活动情况,监控者用肉眼即可发现,但监控者会有换班,休息,屏幕有时也需要关闭,这些情况的发生往往会造成***在一段时间内不能对区域内的目标进行监控。
目前也有一些自动监控的方法,但这些方法不能及时对大量目标进行分析,监控,而且利用了大量的CPU资源,对平台的运算造成影响。
发明内容
本发明的目的旨在至少解决所述的技术缺陷之一。
为此,本发明的一个目的在于提出一种基于GPU的多目标区域限制预警方法与装置,采用CPU和GPU相结合的架构形式,采用射线交点法判断目标点是否在限制区域内部,通过CPU进行多线程处理逻辑判断,结合GPU进行并发高效处理浮点运算,实现了多目标点多限制区域快速判断,减少了CPU的资源占用,提高了响应速度。
为了实现上述目的,本发明一方面的实施例提供一种基于GPU的多目标区域限制预警方法,包括以下步骤,步骤S1,利用CPU建立参考坐标系,获取每个限制区域对应的坐标,获取目标点的坐标;CPU将获取的目标点坐标和限制区域坐标,存储至预设计算数组;步骤S2,CPU遍历每个目标点的坐标,利用GPU调取每个目标点所属的计算数组,GPU针对当前一个目标点对应的所述计算数组中的所有限制区域,根据当前一个目标点的坐标,以该目标点为起始点构建水平射线,计算所述水平射线与所述限制区域的每条边界线段的交点坐标,并将计算的交点坐标值发送至CPU;完成后跳转下一个目标点,以此类推,直至计算出所有目标点与所述计算数组中所有限制区域的交点坐标;步骤S3,CPU根据接收到的交点的坐标,判断交点是否在所述限制区域的边界线段上,计算所述水平射线与所述限制区域的交点数,根据交点数判断目标点是否落在限制区域里面。
优选的,在步骤S1中,在所述预设计算数组中,如果目标点的纵坐标落入某个限制区域的边界线段纵坐标范围内,则将该目标点的坐标和边界线段的端点坐标存入同一计算数组。
优选的,在步骤S2中,在判断目标点是否落入限制区域中时,构建每个所述限制区域的外接矩形,判断目标点的纵坐标是否落在所述外接矩形中,如果目标点的纵坐标落在所述外接矩形中,则控制GPU处理单元计算所述水平射线与边界线段的交点坐标;如果目标点的纵坐标没有落在外接矩形中,直接判定该目标点不在限制区域中。
进一步,如果目标点的纵坐标落入了所述外接矩形中,则在步骤S3中进一步根据直线方程计算目标点的横坐标是否在所述限制区域的边界线段上。
优选的,在步骤S3中,所述水平射线与所述限制区域的边界线段的交点数为偶数时,则该目标点落在限制区域内部,如果交点数为奇数则该目标点落在限制区域外部。
本发明还提供一种基于GPU的多目标区域限制预警装置,包括CPU处理单元和GPU处理单元;所述CPU处理单元用于设置参考坐标系,并将每个限制区域对应的坐标和目标点坐标,存储至计算数组中;所述CPU处理单元遍历每个目标点的坐标,控制GPU处理单元调取所述计算数组;所述GPU处理单元用于针对当前一个目标点对应的所述计算数组中的所有限制区域进行交点坐标计算;包括根据当前一个目标点的坐标,以该目标点为起始点构建水平射线,计算所述水平射线与所述限制区域的每条边界线段的交点坐标,并将计算的交点坐标值发送至CPU处理单元;完成后跳转下一个目标点,以此类推,直至计算出所有目标点与所述计算数组中所有限制区域的交点坐标;所述CPU处理单元进一步用于根据接收到的交点的坐标,判断交点是否在所述限制区域的边界线段上,并计算所述水平射线与所述限制区域的交点数,根据交点数判断目标点是否落在限制区域里面。
优选的,在预存储单元中,预设计算数组时,如果目标点的纵坐标落入某个限制区域的边界线段纵坐标范围内,则将该目标点的坐标和边界线段的端点坐标存入同一计算数组。
优选的,所述CPU处理单元还包括预处理单元,所述预处理单元用于构建每个所述限制区域的外接矩形,如果目标点的纵坐标落在所述外接矩形中,则控制GPU处理单元计算所述水平射线与边界线段的交点坐标;如果目标点的纵坐标没有落在外接矩形中,直接断定该目标点不在限制区域中。
进一步,如果目标点的纵坐标落入了所述外接矩形中,GPU处理单元根据直线方程计算目标点的横坐标是否在所述限制区域的边界线段上。
优选的,所述判断单元在根据交点个数进行判断时,如果水平射线与所述限制区域的边界线段的交点数为偶数时,则该目标点落在限制区域内部,如果交点数为奇数则该目标点落在限制区域外部。
根据本发明实施例的一种基于GPU的多目标区域限制预警方法与装置,采用CPU和GPU相结合的架构形式,采用射线交点法判断目标点是否在限制区域内部,通过CPU进行多线程处理逻辑判断,结合GPU进行并发高效处理浮点运算,实现了多目标点多限制区域快速判断,减少了CPU的资源占用,提高了响应速度,避免对监控平台造成资源占用的影响。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的一种基于GPU的多目标区域限制预警方法的流程图
图2为本发明一种基于GPU的多目标区域限制预警方法及装置的实施例中构建限制区域外接矩形的示意图;
图3为本发明一种基于GPU的多目标区域限制预警方法及装置的实施例中计算交点坐标的示意图;
图4(a)为本发明一种基于GPU的多目标区域限制预警方法及装置的实施例中CPU遍历目标点和限制区域的流程图;
图4(b)为本发明一种基于GPU的多目标区域限制预警方法及装置的实施例中CPU构建计算数组的流程图;
图5为本发明一种基于GPU的多目标区域限制预警方法及装置的实施例中判断目标点是否在限制区域内的流程图;
图6为本发明一种基于GPU的多目标区域限制预警方法及装置的另一个实施例的示意图
图7为本发明一种基于GPU的多目标区域限制预警装置的示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
如图1所示,本发明实施例的一种基于GPU的多目标区域限制预警方法,包括以下步骤,
步骤1,利用CPU建立参考坐标系,提取每个限制区域的顶点,并将各个顶点换算成参考坐标系的坐标值,即可将每个限制区域采用坐标的形式表示,CPU获取每个限制区域对应的坐标,采用北斗/GPS等卫星定位***获取目标点的坐标;CPU将获取的目标点坐标和限制区域坐标,存储至预设计算数组;在步骤S1中,在预设计算数组中,如果目标点的纵坐标落入某个限制区域的边界线段纵坐标范围内,则将该目标点的坐标和边界线段的端点坐标存入同一计算数组。
需要说明的是,目标点或限制区域各顶点的位置的坐标可以直接使用经纬度坐标,也可以自定义坐标系和原点,计算它们的偏移坐标。
步骤2,CPU遍历每个目标点的坐标,利用GPU调取计算数组,GPU针对当前一个目标点对应的所述计算数组中的所有限制区域,根据当前一个目标点的坐标,以该目标点为起始点构建水平射线,计算所述水平射线与所述限制区域的每条边界线段的交点坐标,并将计算的交点坐标值发送至CPU;完成后跳转下一个目标点,以此类推,直至计算出所有目标点与所述计算数组中所有限制区域的交点坐标。
如图2所示,需要说明的是,在步骤S2中,在判断目标点是否落入限制区域中时,首先要构建每个限制区域的外接矩形,该外接矩形只需计算多边形顶点中最左最右,最上最下的顶点坐标,即可确定该外接矩形的坐标。判断目标点的纵坐标是否落在外接矩形中,如果目标点的纵坐标落在外接矩形中,则控制GPU处理单元计算水平射线与边界线段的交点坐标;如果目标点的纵坐标没有落在外接矩形中,直接判定该目标点不在限制区域中。
需要说明的是,对每个限制区域设置外接矩形不局限在步骤2中,设置外界矩形可以在步骤1中,预设计算数组时进行此项操作,如图4(a)为本发明CPU在遍历每个目标点和每个限制区域时的流程图,其中,CPU遍历每一个点,对与每个点,又遍历每个限制区域,如果在这个区域的外接矩形内,则在图4(b)的流程内继续处理,这个流程会遍历区域的每条边,如果目标落在线段的纵坐标内,则将目标的坐标和这条边的端点坐标存入计算数组。
如图3所示,判断以(x0,y0)为起始点的水平射线s是否与(x1,y1)和(x2,y2)组成的线段l相交时,如果相交,设交点为(x3,y3),由图形可以看出y3=y0,根据直线方程,l所在的直线为:
代入,可得:
如果x3在x1和x2之间,并且y3在y1和y2之间,则说明射线s与线段l有交点。
公式(1)可用来计算交点坐标,由于是水平线,纵坐标已知,只需求出横坐标,然后即可判断交点是否在该线段上,如果在,则相交数加1。遍历每条边,即可算出射线与区域的交点数,然后判断点是否在区域里面。
步骤3,CPU根据接收到的交点的坐标,判断交点是否在限制区域的边界线段上,计算水平射线与限制区域的交点数,根据交点数判断目标点是否落在限制区域里面。如果目标点的纵坐标落入了外接矩形中,则在步骤3中进一步根据直线方程计算目标点的横坐标是否在限制区域的边界线段上。
进一步,在步骤3中,水平射线与限制区域的边界线段的交点数为偶数时,则该目标点落在限制区域内部,如果交点数为奇数则该目标点落在限制区域外部。
本发明提供的基于GPU的多目标区域限制预警方法中,目标可能会有很多个,限定区域也有多个,每个目标都要针对临近的区域进行判断,每个区域可能有多个边进行判断,公式(1)的计算次数与目标数和区域的边数的积成正比,尽管可以通过外接矩形限定一些点的运算,运算量依然很大,而且***要求要对多个目标的进行实时判断,因此针对上述问题采用CPU和GPU相结合的架构。即CPU采用流水线对逻辑处理进行了优化,GPU则可以并发高效处理浮点运算,CPU进行多线程处理逻辑判断,判断每个点与该计算的线段放到一个数组内,然后将这个数组传送到GPU,GPU的并发运算单元对数组内的每个元素进行计算,算出交点的坐标,然后传回CPU,CPU再根据交点坐标判断是否在线段上,进而计算该点与区域的边的交点个数,得到点是否在区域内的判断。
如图5所示,按照图4的流程形成计算数组后,传入GPU进行运算,运算完的结果后回传内存,CPU再做下一步判断,即如果GPI计算得到的目标点形成的水平射线与限制区域边界线段相交的交点在边界线段上,并且与该限制区域形成的交点数为偶数则判断为该目标点落入了该限制区域内部,如果交点个数为奇数,则该目标点没有落在该限制区域中。
如图6所示,本发明提供的预警方法采用与本发明提供的预警装置相同的程序代码,以将上述算法进行应用。本发明实际运行中具体实施例的示意图,将每个限制区域设置编号,CPU同时监控多个目标。操作***可选择Windows***也可以用Linux***,这里我们以linux为内核的Ubuntu云服务器为例进行介绍。
云服务器以Ubuntu为基础,采用Java NIO技术做高并发数据接收,接收终端发来的目标位置信息,这种架构可与十万数量级的终端进行通信,实时接收目标的位置信息,收到这些信息后,需要在极短时间内对目标是否在这些限定区域做出判断,根据前述讨论的方法,设计如下计算结构体,其中,每个结构体又包含多个数组:
1、线段结构体:包括线段低端点坐标;线段高端点坐标;线段由两个端点组成,不失一般性,以纵坐标小的一端为第一端点;
2、区域:区域编号数组区域左下坐标数组;区域右上坐标数组;线段数组;线段数目;该区域内目标序号数组;每个区域都有编号,以及外接矩形的左下和右上坐标,线段集合,计算的结果放在序号数组内;
3、计算单位:记录要计算的量,由点坐标和线段组成,该数组会被传送到GPU,由GPU计算出交点坐标,然后传回内存;
4、判断体:点目标数组;区域编号数组;需计算的线段数;有交点的线段数;所占的计算数组起始位置;CPU根据计算的结果进行判断,得出在区域中的目标的详细信息。
采用opencl模型对GPU的运算进行了建模和管理,计算单元在内存中打包完成后,发给显存,GPU中有很多运算单元,称为work item,每个work item有唯一的global id,采用一维模型,核心的代码如下:
以上代码中,GPU中的每个运算单元都会同时运行,相当cpu的几千个浮点计算一次就完成了,大大加快了运算效率。
如图7所示,本发明还提供一种基于GPU的多目标区域限制预警装置,包括CPU处理单元1和GPU处理单元2;CPU处理单元1用于设置参考坐标系,并将每个限制区域对应的坐标和目标点坐标,存储至计算数组中;在预存储单元中,预设计算数组时,如果目标点的纵坐标落入某个限制区域的边界线段纵坐标范围内,则将该目标点的坐标和边界线段的端点坐标存入同一计算数组。
需要说明的是,目标点或限制区域各顶点的位置的坐标可以直接使用经纬度坐标,也可以自定义坐标系和原点,计算它们的偏移坐标。
CPU处理单元遍历每个目标点的坐标,控制GPU处理单元调取计算数组;GPU处理单元用于针对当前一个目标点对应的所述计算数组中的所有限制区域进行交点坐标计算;包括根据当前一个目标点的坐标,以该目标点为起始点构建水平射线,计算所述水平射线与所述限制区域的每条边界线段的交点坐标,并将计算的交点坐标值发送至CPU处理单元;完成后跳转下一个目标点,以此类推,直至计算出所有目标点与所述计算数组中所有限制区域的交点坐标。
CPU处理单元还包括预处理单元,预处理单元用于构建每个限制区域的外接矩形,如果目标点的纵坐标落在外接矩形中,则控制GPU处理单元计算水平射线与边界线段的交点坐标;如果目标点的纵坐标没有落在外接矩形中,直接断定该目标点不在限制区域中。如果目标点的纵坐标落入了外接矩形中,GPU处理单元根据直线方程计算目标点的横坐标是否在限制区域的边界线段上。
需要说明的是,对每个限制区域设置外接矩形不局限在步骤2中,设置外界矩形可以在步骤1中,预设计算数组时进行此项操作,如图4(a)为本发明CPU在遍历每个目标点和每个限制区域时的流程图,其中,CPU遍历每一个点,对与每个点,又遍历每个限制区域,如果在这个区域的外接矩形内,则在图4(b)的流程内继续处理,这个流程会遍历区域的每条边,如果目标落在线段的纵坐标内,则将目标的坐标和这条边的端点坐标存入计算数组。
如图3所示,在进行交点判断时,按照上述公式1的直线方程进行计算由于是水平线,纵坐标已知,只需求出横坐标,然后即可判断交点是否在该线段上,如果在,则相交数加1。遍历每条边,即可算出射线与区域的交点数,然后判断点是否在区域里面。
判断单元用于根据接收到的交点的坐标,判断交点是否在限制区域的边界线段上,并计算水平射线与限制区域的交点数,根据交点数判断目标点是否落在限制区域里面。判断单元在根据交点个数进行判断时,如果水平射线与限制区域的边界线段的交点数为偶数时,则该目标点落在限制区域内部,如果交点数为奇数则该目标点落在限制区域外部。
本发明提供的基于GPU的多目标区域限制预警方法中,目标可能会有很多个,限定区域也有多个,每个目标都要针对临近的区域进行判断,每个区域可能有多个边进行判断,公式(1)的计算次数与目标数和区域的边数的积成正比,尽管可以通过外接矩形限定一些点的运算,运算量依然很大,而且***要求要对多个目标的进行实时判断,因此针对上述问题采用CPU和GPU相结合的架构。即CPU采用流水线对逻辑处理进行了优化,GPU则可以并发高效处理浮点运算,CPU进行多线程处理逻辑判断,判断每个点与该计算的线段放到一个数组内,然后将这个数组传送到GPU,GPU的并发运算单元对数组内的每个元素进行计算,算出交点的坐标,然后传回CPU,CPU再根据交点坐标判断是否在线段上,进而计算该点与区域的边的交点个数,得到点是否在区域内的判断。
如图5所示,按照图4的流程形成计算数组后,传入GPU进行运算,运算完的结果后回传内存,CPU再做下一步判断,即如果GPI计算得到的目标点形成的水平射线与限制区域边界线段相交的交点在边界线段上,并且与该限制区域形成的交点数为偶数则判断为该目标点落入了该限制区域内部,如果交点个数为奇数,则该目标点没有落在该限制区域中。
如图6所示,本发明提供的预警方法采用与本发明提供的预警装置相同的程序代码,以将上述算法进行应用。本发明实际运行中具体实施例的示意图,将每个限制区域设置编号,CPU同时监控多个目标。操作***可选择Windows***也可以用Linux***,这里我们以linux为内核的Ubuntu云服务器为例进行介绍。
云服务器以Ubuntu为基础,采用Java NIO技术做高并发数据接收,接收终端发来的目标位置信息,这种架构可与十万数量级的终端进行通信,实时接收目标的位置信息,收到这些信息后,需要在极短时间内对目标是否在这些限定区域做出判断,根据前述讨论的方法,设计如下计算结构体,其中,每个结构体又包含多个数组:
1、线段结构体:包括线段低端点坐标;线段高端点坐标;线段由两个端点组成,不失一般性,以纵坐标小的一端为第一端点;
2、区域:区域编号数组区域左下坐标数组;区域右上坐标数组;线段数组;线段数目;该区域内目标序号数组;每个区域都有编号,以及外接矩形的左下和右上坐标,线段集合,计算的结果放在序号数组内;
3、计算单位:记录要计算的量,由点坐标和线段组成,该数组会被传送到GPU,由GPU计算出交点坐标,然后传回内存;
4、判断体:点目标数组;区域编号数组;需计算的线段数;有交点的线段数;所占的计算数组起始位置;CPU根据计算的结果进行判断,得出在区域中的目标的详细信息。
采用opencl模型对GPU的运算进行了建模和管理,计算单元在内存中打包完成后,发给显存,GPU中有很多运算单元,称为work item,每个work item有唯一的global id,采用一维模型,核心的代码如下:
以上代码中,GPU中的每个运算单元都会同时运行,相当cpu的几千个浮点计算一次就完成了,大大加快了运算效率。
根据本发明实施例的一种基于GPU的多目标区域限制预警方法与装置,采用CPU和GPU相结合的架构形式,采用射线交点法判断目标点是否在限制区域内部,通过CPU进行多线程处理逻辑判断,结合GPU进行并发高效处理浮点运算,实现了多目标点多限制区域快速判断,减少了CPU的资源占用,提高了响应速度,避免对监控平台造成资源占用的影响。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
Claims (4)
1.一种基于GPU的多目标区域预警方法,其特征在于,包括以下步骤,
步骤S1,利用CPU建立参考坐标系,获取每个限制区域对应的坐标,获取目标点的坐标;CPU将获取的目标点坐标和限制区域坐标,存储至预设的计算数组;
步骤S2,CPU遍历每个目标点的坐标,利用GPU调取每个目标点所属的计算数组;
GPU针对当前一个目标点对应的所述计算数组中的所有限制区域,根据当前一个目标点的坐标,以该目标点为起始点构建水平射线,计算所述水平射线与所述限制区域的每条边界线段的交点坐标,并将计算的交点坐标值发送至CPU;完成后跳转下一个目标点,
以此类推,直至计算出所有目标点与所述计算数组中所有限制区域的交点坐标;其中,在判断目标点是否落入限制区域中,构建每个所述限制区域的外接矩形,判断目标点的纵坐标是否落在所述外接矩形中,如果目标点的纵坐标落在所述外接矩形中,则控制GPU处理单元计算所述水平射线与边界线段的交点坐标;如果目标点的纵坐标没有落在所述外接矩形中,直接判定目标点不在限制区域中;如果目标点的纵坐标落入了所述外接矩形中,则在步骤S3中进一步根据直线方程计算目标点的横坐标是否在所述限制区域的边界线段上;
步骤S3,CPU根据接收到的交点的坐标值,判断交点是否在所述限制区域的边界线段上,计算所述水平射线与所述限制区域的交点数,根据交点数判断目标点是否落在限制区域里面;其中,所述水平射线与所述限制区域的边界线段的交点数为偶数时,则该目标点落在限制区域内部,如果交点数为奇数则该目标点落在限制区域外部。
2.根据权利要求1所述的基于GPU的多目标区域预警方法,其特征在于,在所述步骤S1中,在所述预设计算数组中,如果目标点的纵坐标落入至少一个限制区域的边界线段纵坐标范围内,则将该目标点的坐标和边界线段的端点坐标存入同一计算数组。
3.一种基于GPU的多目标区域限制预警装置,其特征在于,包括:CPU处理单元和GPU处理单元;
所述CPU处理单元用于设置参考坐标系,并将每个限制区域对应的坐标和目标点坐标,存储至计算数组中;所述CPU单元遍历每个目标点的坐标,控制GPU处理单元调取所述计算数组;
所述GPU处理单元用于针对当前一个目标点对应的所述计算数组中的所有限制区域进行交点坐标计算;包括根据当前一个目标点的坐标,以该目标点为起始点构建水平射线,计算所述水平射线与所述限制区域的每条边界线段的交点坐标,并将计算的交点坐标值发送至CPU处理单元;完成后跳转下一个目标点,以此类推,直至计算出所有目标点与所述计算数组中所有限制区域的交点坐标;根据每个目标点的坐标,以每个目标点为起始点构建水平射线,计算所述水平射线与所述限制区域的每条边界线的交点坐标,并将计算的交点坐标值发送至CPU处理单元;所述CPU处理单元还包括预处理单元,所述预处理单元用于构建每个所述限制区域的外接矩形,判断目标点的纵坐标是否落在所述外接矩形中,如果目标点的纵坐标落在所述外接矩形中,则控制GPU处理单元计算所述水平射线与边界线段的交点坐标;如果目标点的纵坐标没有落在所述外接矩形中,直接判定目标点不在限制区域中;如果目标点的纵坐标落入了所述外接矩形中,GPU处理单元根据直线方程计算目标点的横坐标是否在所述限制区域的边界线段上;
所述CPU处理单元进一步用于根据接收到的交点的坐标值,判断交点是否在所述限制区域的边界线段上,计算所述水平射线与所述限制区域的交点数,根据交点数判断目标点是否落在限制区域里面;所述CPU处理单元在根据交点个数进行判断时,所述水平射线与所述限制区域的边界线段的交点数为偶数时,则该目标点落在限制区域内部,如果交点数为奇数则该目标点落在限制区域外部。
4.根据权利要求3所述的一种基于GPU的多目标区域限制预警装置,其特征在于,在所述CPU处理单元中,预设计算数组时,如果目标点的纵坐标落入至少一个限制区域的边界线段纵坐标范围内,则将该目标点的坐标和边界线段的端点坐标存入同一计算数组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810227733.7A CN108549579B (zh) | 2018-03-20 | 2018-03-20 | 基于gpu的多目标区域限制预警方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810227733.7A CN108549579B (zh) | 2018-03-20 | 2018-03-20 | 基于gpu的多目标区域限制预警方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108549579A CN108549579A (zh) | 2018-09-18 |
CN108549579B true CN108549579B (zh) | 2020-12-22 |
Family
ID=63516633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810227733.7A Expired - Fee Related CN108549579B (zh) | 2018-03-20 | 2018-03-20 | 基于gpu的多目标区域限制预警方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108549579B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110948478A (zh) * | 2018-09-26 | 2020-04-03 | 上海云绅智能科技有限公司 | 一种控制在指定区域活动的方法及机器人 |
CN110956482A (zh) * | 2018-09-26 | 2020-04-03 | 上海云绅智能科技有限公司 | 一种多媒体数据的投放方法及机器人 |
CN110968080A (zh) * | 2018-09-26 | 2020-04-07 | 上海云绅智能科技有限公司 | 一种多媒体数据的播放方法及机器人 |
CN111435165A (zh) * | 2018-12-26 | 2020-07-21 | 保定市天河电子技术有限公司 | 基于激光雷达的运输车障碍检测方法及*** |
CN111259555B (zh) * | 2020-01-20 | 2022-03-29 | 西北工业大学 | 一种基于线程池的石油管线等间距线生成方法 |
CN113806457A (zh) * | 2020-06-17 | 2021-12-17 | 北京市天元网络技术股份有限公司 | 一种经纬度点区域归属判别方法及*** |
CN114579680A (zh) * | 2020-11-30 | 2022-06-03 | 深圳市赛格导航科技股份有限公司 | 一种车辆地理位置分布图的绘制方法及装置、存储介质 |
CN112508293A (zh) * | 2020-12-16 | 2021-03-16 | 北京华胜天成科技股份有限公司 | 监管区域监控方法及***、计算机设备和存储介质 |
CN113589246B (zh) * | 2021-05-24 | 2023-09-01 | 中国南方电网有限责任公司超高压输电公司广州局海口分局 | 基于雷达的目标检测方法、装置和计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103871021A (zh) * | 2014-02-27 | 2014-06-18 | 电子科技大学 | 一种由cpu和gpu协同工作的目标航迹初始化方法 |
CN103955435A (zh) * | 2014-04-09 | 2014-07-30 | 上海理工大学 | 一种融合多级缓存目录建立访问方法 |
CN103970960A (zh) * | 2014-05-23 | 2014-08-06 | 湘潭大学 | 基于gpu并行加速的无网格伽辽金法结构拓扑优化方法 |
CN105160191A (zh) * | 2015-09-16 | 2015-12-16 | 广州市城市规划勘测设计研究院 | 一种平面坐标转换方法及装置 |
CN106097402A (zh) * | 2016-06-20 | 2016-11-09 | 深圳市麦谷科技有限公司 | 一种判断目标点是否位于预定区域内的方法及*** |
CN106932805A (zh) * | 2017-01-20 | 2017-07-07 | 广东侨兴宇航科技有限公司 | 一种适于移动设备应用的快速电子围栏方法 |
-
2018
- 2018-03-20 CN CN201810227733.7A patent/CN108549579B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103871021A (zh) * | 2014-02-27 | 2014-06-18 | 电子科技大学 | 一种由cpu和gpu协同工作的目标航迹初始化方法 |
CN103955435A (zh) * | 2014-04-09 | 2014-07-30 | 上海理工大学 | 一种融合多级缓存目录建立访问方法 |
CN103970960A (zh) * | 2014-05-23 | 2014-08-06 | 湘潭大学 | 基于gpu并行加速的无网格伽辽金法结构拓扑优化方法 |
CN105160191A (zh) * | 2015-09-16 | 2015-12-16 | 广州市城市规划勘测设计研究院 | 一种平面坐标转换方法及装置 |
CN106097402A (zh) * | 2016-06-20 | 2016-11-09 | 深圳市麦谷科技有限公司 | 一种判断目标点是否位于预定区域内的方法及*** |
CN106932805A (zh) * | 2017-01-20 | 2017-07-07 | 广东侨兴宇航科技有限公司 | 一种适于移动设备应用的快速电子围栏方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108549579A (zh) | 2018-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549579B (zh) | 基于gpu的多目标区域限制预警方法与装置 | |
Kim et al. | Vision-based nonintrusive context documentation for earthmoving productivity simulation | |
US10012513B2 (en) | Computing method for ridesharing paths, computing apparatus and recording medium using the same | |
CN109238227B (zh) | 一种表征地面沉降时空演变的方法 | |
CN108153979B (zh) | 基于InSAR的形变信息提取方法、终端及存储介质 | |
US20220067336A1 (en) | System and process for integrative computational soil mapping | |
CN113570122B (zh) | 预测风速的方法、装置、计算机设备和存储介质 | |
US20180165121A1 (en) | System and method for predicting the performance of a radar | |
Yu et al. | Structural state estimation of earthquake-damaged building structures by using UAV photogrammetry and point cloud segmentation | |
WO2021084698A1 (ja) | 解析装置および解析方法 | |
CN110933743A (zh) | 一种基于接收信号强度指示rssi的定位方法及装置 | |
Indu et al. | An approach for implementing innovative weather monitoring system with DHT11 sensor and Arduino Uno tool based on IoT | |
Tabibiazar et al. | Kernel-based modeling and optimization for density estimation in transportation systems using floating car data | |
CN114155391A (zh) | 轨迹处理方法、装置及计算机设备 | |
US20240029225A1 (en) | Structure state prediction apparatus, structure state prediction method, and structure state prediction program | |
CN109598925A (zh) | 出租车车辆聚集报警方法、终端设备及存储介质 | |
Foški | Using the parcel shape index to determine arable land division types | |
CN111667450A (zh) | 一种船只数量统计方法、装置及电子设备 | |
CN113822892B (zh) | 仿真雷达的评测方法、装置、设备及计算机存储介质 | |
CN113239815B (zh) | 一种基于真实语义全网络学习的遥感影像分类方法、装置及设备 | |
EP3767233A1 (en) | A method and system for navigation of a vehicle | |
CN114781140A (zh) | 激光雷达点云仿真方法、装置和计算机设备 | |
CN104299002B (zh) | 一种基于监控***的塔吊图像检测方法 | |
CN115880276B (zh) | 一种基于多期点云对比的塔杆运行状态评估方法及*** | |
CN110321521A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201222 |