CN113435462A - 定位方法、装置、电子设备和介质 - Google Patents
定位方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN113435462A CN113435462A CN202110810494.XA CN202110810494A CN113435462A CN 113435462 A CN113435462 A CN 113435462A CN 202110810494 A CN202110810494 A CN 202110810494A CN 113435462 A CN113435462 A CN 113435462A
- Authority
- CN
- China
- Prior art keywords
- computing
- map data
- node
- data
- target image
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/04—Interpretation of pictures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Navigation (AREA)
Abstract
本公开公开了一种定位方法、装置、设备、介质和产品,涉及视觉定位、图像处理等领域。定位方法包括:响应于接收到目标图像,获取与目标图像相关联的地图数据;针对计算策略指示的多个计算节点,从多个计算节点中确定当前计算节点;基于计算策略,将待处理数据和地图数据中的至少一个发送给当前计算节点进行处理,以便得到定位结果,其中,待处理数据与目标图像相关联,定位结果指示了用于采集目标图像的图像采集装置的位置信息。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及视觉定位、图像处理等领域,更具体地,涉及一种定位方法、装置、电子设备、介质和程序产品。
背景技术
相关技术中,基于视觉的定位算法的计算量通常非常大。在定位计算过程中,通常需基于图像和地图数据进行相关计算,因此需要耗费较多的计算资源。例如,当进行定位计算时,通常需要将图像和地图数据加载到电子设备的内存中,从而可能导致电子设备的内存难以满足需求,影响定位计算的过程。
发明内容
本公开提供了一种定位方法、装置、电子设备、存储介质以及程序产品。
根据本公开的一方面,提供了一种定位方法,包括:响应于接收到目标图像,获取与所述目标图像相关联的地图数据;针对计算策略指示的多个计算节点,从所述多个计算节点中确定当前计算节点;基于所述计算策略,将待处理数据和所述地图数据中的至少一个发送给所述当前计算节点进行处理,以便得到定位结果,其中,所述待处理数据与所述目标图像相关联,所述定位结果指示了用于采集所述目标图像的图像采集装置的位置信息。
根据本公开的另一方面,提供了一种定位装置,包括:获取模块、确定模块以及发送模块。获取模块,用于响应于接收到目标图像,获取与所述目标图像相关联的地图数据;确定模块,用于针对计算策略指示的多个计算节点,从所述多个计算节点中确定当前计算节点;发送模块,用于基于所述计算策略,将待处理数据和所述地图数据中的至少一个发送给所述当前计算节点进行处理,以便得到定位结果,其中,所述待处理数据与所述目标图像相关联,所述定位结果指示了用于采集所述目标图像的图像采集装置的位置信息。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器和与所述至少一个处理器通信连接的存储器。其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的定位方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述的定位方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的定位方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开一实施例的定位方法的示意图;
图2示意性示出了根据本公开一实施例的定位方法和装置的应用场景;
图3示意性示出了根据本公开一实施例的定位方法的流程图;
图4示意性示出了根据本公开一实施例的计算策略示意图;
图5示意性示出了根据本公开另一实施例的计算策略示意图;
图6示意性示出了根据本公开另一实施例的定位方法的示意图;
图7示意性示出了根据本公开一实施例的定位装置的框图;以及
图8是用来实现本公开实施例的定位方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
图1示意性示出了根据本公开一实施例的定位方法的示意图。
如图1所示,本公开实施例的定位方法100例如由计算节点103执行。计算节点103通过执行定位算法实现定位。定位算法例如包括多个算法模块,多个算法模块例如包括特征提取模块、特征匹配模块、特征删除模块、位置计算模块等等。
示例性地,目标图像101例如由图像采集装置采集得到,图像采集装置包括摄像头、相机等等。地图数据102例如是针对图像采集装置所处位置的地图数据,地图数据102例如是电子地图数据。计算节点103通过将目标图像101和地图数据102进行匹配计算,得到定位结果,定位结果例如指示了图像采集装置的位置。
例如,通过特征提取模块提取目标图像101中的特征,该过程例如通过GPU实现,该过程无需使用地图数据102。特征提取模块所采用的算法例如包括尺度不变特征转换(Scale-Invariant Feature Transform,SIFT)算法,具体可以是PopSIFT算法,PopSIFT算法在CUDA(Compute Unified Device Architecture)中实现SIFT。
在得到目标图像101的特征之后,将目标图像101的特征和地图数据102输入至特征匹配模块中进行匹配计算,以便从地图数据102中确定与目标图像101的特征相匹配的地图特征。该过程例如通过CPU实现,该过程需要使用地图数据102。
在匹配得到地图特征之后,通过特征删除模块删除具有误差的地图特征。该过程例如通过GPU实现,该过程需要使用地图数据102。例如,以地图特征包括3个特征点为例,确定该3个特征点在地图数据102中的三维空间位置,删除该3个特征点中的1个特征点,删除的特征点与另外2个特征点之间的距离(偏差)较大,将剩余的2个特征点作为处理后的地图特征。特征删除模块所采用的算法例如包括随机游走(random walk)算法。
在得到处理后的地图特征之后,由位置计算模块基于处理后的地图特征进行计算得到定位结果。该过程例如通过CPU实现,该过程需要使用地图数据102。例如,处理后的地图特征包括特征点,基于地图数据102确定特征点在地图中位置来确定图像采集装置的位置,将图像采集装置的位置作为定位结果。
在一示例中,有些算法模块在执行过程中无需使用地图数据102,例如特征提取模块。在定位计算的过程中,通常需要将地图数据102加载到计算节点103的内存中,因此存在内存不足的情况。例如在执行特征提取模块时需要耗费较大内存,而执行特征提取模块无需使用地图数据102,此时如果将地图数据102加载到计算节点103的内存中,将导致内存可能不够用。
有鉴于此,本公开的实施例提供了一种定位方法。定位方法包括:响应于接收到目标图像,获取与目标图像相关联的地图数据。然后,针对计算策略指示的多个计算节点,从多个计算节点中确定当前计算节点。接下来,基于计算策略,将待处理数据和地图数据中的至少一个发送给当前计算节点进行处理,以便得到定位结果,待处理数据与目标图像相关联,定位结果指示了用于采集目标图像的图像采集装置的位置信息。
图2示意性示出了根据本公开一实施例的定位方法和装置的应用场景。需要注意的是,图2所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
如图2所示,根据该实施例的应用场景200可以包括目标图像201、地图数据202以及多个计算节点203、204、205、206。
例如,当位于某一商场的图像采集装置采集到目标图像201之后,获取针对该商场的地图数据202,该地图数据202包括该商场各楼层的位置。通过将目标图像201和地图数据202进行匹配,得到的定位结果表征了图像采集装置处于商场中具体楼层的具***置。
在基于定位算法处理目标图像和地图数据时,可以通过多个计算节点203、204、205、206来完成。可以将定位算法划分为多个算法模块,并由不同的计算节点执行不同的算法模块。有些算法模块无需使用地图数据,因此无需将地图数据发送给执行该算法模块的计算节点,即无需将地图数据加载到该计算节点的内存中。可以理解,根据计算节点执行的算法模块来确定是否将地图数据加载到内存中,实现了降低计算节点的内存占用率,至少部分解决了计算节点的计算资源不足的问题。
本公开实施例提供了一种定位方法,下面结合图1的示意图和图2的应用场景,参考图3~图6来描述根据本公开示例性实施方式的定位方法。
图3示意性示出了根据本公开一实施例的定位方法的流程图。
如图3所示,本公开实施例的定位方法300例如可以包括操作S310~操作S330。
在操作S310,响应于接收到目标图像,获取与目标图像相关联的地图数据。
在操作S320,针对计算策略指示的多个计算节点,从多个计算节点中确定当前计算节点。
在操作S330,基于计算策略,将待处理数据和地图数据中的至少一个发送给当前计算节点进行处理,以便得到定位结果。
示例性地,目标图像具有属性信息,该属性信息例如指示了用于采集目标图像的图像采集装置所处的区域,所处的区域例如包括商场、道路等。当处于商场的图像采集装置采集到一帧目标图像之后,获取与目标图像相关联的地图数据。该地图数据例如为针对商场的地图数据,该地图数据例如包括该商场各楼层的位置。
示例性地,计算策略例如指示了由多少个计算节点来进行定位计算、每个计算节点执行的算法模块、每个计算节点在执行相应的算法模块时是否需要地图数据等等。以4个计算节点为例,第一个计算节点的输出结果作为第二个计算节点的输入,第二个计算节点的输出结果作为第三个计算节点的输入,第三个计算节点的输出结果作为第四个计算节点的输入,第四个计算节点的输出结果为定位结果。
在执行定位计算时,从多个计算节点中确定当前计算节点,例如首先确定第一个计算节点作为当前计算节点,然后将待处理数据和地图数据中的至少一个发送给当前计算节点进行处理。在第一个计算节点完成数据处理之后,确定第二个计算节点作为当前计算节点,然后将待处理数据和地图数据中的至少一个发送给当前计算节点进行处理。同理,依次确定第三个计算节点和第四个计算节点作为当前计算节点。待处理数据与目标图像相关联,例如待处理数据为目标图像本身,或者待处理图像为处理目标图像得到的处理结果。
当多个计算节点完成数据处理之后得到定位结果,该定位结果指示了用于采集目标图像的图像采集装置的位置信息,例如定位结果指示了图像采集装置处于商场中具体楼层的具***置。
根据本公开的实施例,通过多个计算节点来处理目标图像和地图数据,实现了分布式计算功能,提高了定位效率。另外,通过确定当前计算节点在执行数据处理过程中是否需要使用地图数据,以便确定是否需要将地图数据发送给当前计算节点,无需将地图数据发送给所有计算节点,至少降低了部分计算节点的内存占用率,从而解决了计算节点的计算资源不足的问题。
图4示意性示出了根据本公开一实施例的计算策略示意图。
如图4所示,与目标图像401相关联的待处理数据包括以下至少一项:目标图像401、目标图像401的特征数据、特征数据与地图数据402的匹配结果、针对匹配结果的处理结果。
示例性地,计算策略包括指示信息,指示信息用于指示当前计算节点在进行计算时是否需要地图数据402。当指示信息指示当前计算节点在进行计算时需要地图数据402时,将待处理数据和地图数据402发送给当前计算节点进行处理。当指示信息指示当前计算节点在进行计算时不需要地图数据402时,将待处理数据发送给当前计算节点进行处理。
例如,如果当前计算节点为GPU计算节点403,该GPU计算节点403例如用于执行特征提取算法。GPU计算节点403在计算过程中无需使用地图数据402,此时将目标图像401发送给GPU计算节点403进行处理,得到目标图像401的特征数据。
如果当前计算节点为CPU计算节点404,该CPU计算节点404例如用于执行特征匹配算法。CPU计算节点404在计算过程中需要使用地图数据402,此时将目标图像401的特征数据和地图数据402发送给CPU计算节点404进行处理,得到特征数据与地图数据402的匹配结果。
如果当前计算节点为GPU计算节点405,该GPU计算节点405例如用于执行特征删除算法。GPU计算节点405在计算过程中需要使用地图数据402,此时将特征数据与地图数据402的匹配结果和地图数据402发送给GPU计算节点405进行处理,得到针对匹配结果的处理结果。
如果当前计算节点为CPU计算节点406,该CPU计算节点406例如用于执行位置计算算法。CPU计算节点406在计算过程中需要使用地图数据402,此时将针对匹配结果的处理结果和地图数据402发送给CPU计算节点406进行处理,得到定位结果407。
根据本公开的实施例,根据当前计算节点在执行数据处理过程中是否需要使用地图数据,以便确定是否需要将地图数据发送给当前计算节点,由此无需将地图数据发送给所有计算节点,至少降低了部分计算节点的内存占用率,提高了计算效率。
图5示意性示出了根据本公开另一实施例的计算策略示意图。
如图5所示,计算策略例如包括计算图500,该计算图500仅为一种示例,并非与图1的各个计算模块对应。该计算图500例如为有向无环图。该计算图500指示了由计算节点503~508处理目标图像501和地图数据502,得到定位结果509。每个计算节点的类型可以是CPU计算节点或者GPU计算节点。
示例性地,计算策略(计算图500)指示了多个计算节点503~508彼此之间的关联关系,关联关系以两个计算节点之间的箭头表示。针对每个计算节点,该计算节点具有上一级计算节点和下一级计算节点中的至少一个。例如,计算节点503具有下一级计算节点(计算节点505),计算节点505具有上一级计算节点(计算节点503)和下一级计算节点(计算节点506),计算节点508例如具有上一级计算节点(计算节点506和计算节点507)。
在每次确定当前计算节点时,可以将仅具有下一级计算节点的计算节点作为当前计算节点。例如,确定计算节点503和计算节点504为当前计算节点。具体地,可以通过确定每个计算节点的入度来确定当前计算节点,将入度为零的计算节点作为当前计算节点,入度为零表示该计算节点作为边(箭头)的终点的次数为零,即该计算节点不作为任何边的终点,两个计算节点之间的箭头为边。
如果当前计算节点完成数据处理,将当前计算节点的节点信息从计算策略(计算图500)中删除。例如将计算节点503的节点信息和计算节点504的节点信息删除。从剩余的计算节点中确定下一个当前计算节点,例如将计算节点505确定为下一个当前计算节点,直到遍历所有的计算节点。
可以理解,除了通过删除计算节点信息的方式来确定当前计算节点,还可以标记已经完成数据处理的计算节点,并确定与该计算节点连接的下一级计算节点作为当前计算节点。
在本公开的实施例中,通过删除计算节点信息的方式来确定当前计算节点,使得每次确定的当前计算节点不依赖于其他计算节点的计算结果,保证定位计算的稳定性和鲁棒性。
图6示意性示出了根据本公开另一实施例的定位方法的示意图。
如图6所示,客户端601例如包括图像采集装置,电子设备602例如为主设备(master设备)。电子设备602用于和计算节点603、604、605、606进行数据交互以进行定位计算。本公开实施例的定位方法例如由电子设备602执行。
当电子设备602接收到来自客户端601的目标图像之后,电子设备602基于目标图像中携带的GPS信息确定目标图像所针对的目标区域,目标区域例如包括商场。然后,电子设备602获取针对目标区域的地图数据,该地图数据包括目标区域中各对象的位置信息,例如包括商场中各楼层、各商铺的位置。
在本公开的实施例中,可以将计算策略和地图数据关联存储。当计算策略中的指示信息指示当前计算节点在进行计算时需要地图数据时,可以基于计算策略确定关联存储的地图数据,然后将待处理数据和地图数据发送给当前计算节点进行处理。
例如,首先电子设备602基于计算策略,确定计算节点603作为当前计算节点,电子设备602将需要处理的数据发送给计算节点603进行处理,计算节点603将处理结果反馈给电子设备602。然后,电子设备602基于计算策略确定计算节点604作为当前计算节点,将来自计算节点603的处理结果和其他所需的数据(例如地图数据)发送给计算节点604进行处理,计算节点604将处理结果反馈给电子设备602。再由电子设备602基于计算策略确定计算节点605作为当前计算节点,以此类推直至遍历所有计算节点,以得到定位结果。
示例性地,将计算策略和地图数据关联存储包括将地图数据存储至地图数据对应的配置文件中。
图7示意性示出了根据本公开一实施例的定位装置的框图。
如图7所示,本公开实施例的定位装置700例如包括获取模块710、确定模块720和发送模块730。
获取模块710可以用于响应于接收到目标图像,获取与目标图像相关联的地图数据。根据本公开实施例,获取模块710例如可以执行上文参考图3描述的操作S310,在此不再赘述。
确定模块720可以用于针对计算策略指示的多个计算节点,从多个计算节点中确定当前计算节点。根据本公开实施例,确定模块720例如可以执行上文参考图3描述的操作S320,在此不再赘述。
发送模块730可以用于基于计算策略,将待处理数据和地图数据中的至少一个发送给当前计算节点进行处理,以便得到定位结果,其中,待处理数据与目标图像相关联,定位结果指示了用于采集目标图像的图像采集装置的位置信息。根据本公开实施例,发送模块730例如可以执行上文参考图3描述的操作S330,在此不再赘述。
根据本公开的实施例,计算策略包括指示信息,指示信息用于指示当前计算节点在进行计算时是否需要地图数据;其中,发送模块包括第一发送子模块和第二发送子模块中的至少一个。第一发送子模块,用于响应于指示信息指示当前计算节点在进行计算时需要地图数据,将待处理数据和地图数据发送给当前计算节点进行处理;第二发送子模块,用于响应于指示信息指示当前计算节点在进行计算时不需要地图数据,将待处理数据发送给当前计算节点进行处理。
根据本公开的实施例,装置700还可以包括存储模块,用于将计算策略和地图数据关联存储;其中,第一发送子模块包括:确定单元和发送单元。确定单元,用于响应于指示信息指示当前计算节点在进行计算时需要地图数据,基于计算策略确定关联的地图数据;发送单元,用于将待处理数据和地图数据发送给当前计算节点进行处理。
根据本公开的实施例,计算策略指示了多个计算节点彼此之间的关联关系;针对每个计算节点,该计算节点具有上一级计算节点和下一级计算节点中的至少一个;当前计算节点具有下一级计算节点。
根据本公开的实施例,装置700还可以包括删除模块,用于响应于确定当前计算节点完成数据处理,将当前计算节点的节点信息从计算策略中删除。
根据本公开的实施例,获取模块710包括:确定子模块和获取子模块。确定子模块,用于响应于接收到目标图像,确定目标图像所针对的目标区域;获取子模块,用于获取针对目标区域的地图数据,其中,地图数据包括目标区域中各对象的位置信息。
根据本公开的实施例,待处理数据包括以下至少一项:目标图像、目标图像的特征数据、特征数据与地图数据的匹配结果、针对匹配结果的处理结果。
本公开的技术方案中,所涉及的用户个人信息的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8是用来实现本公开实施例的定位方法的电子设备的框图。
图8示出了可以用来实施本公开实施例的示例电子设备800的示意性框图。电子设备800旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如定位方法。例如,在一些实施例中,定位方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的定位方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行定位方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (17)
1.一种定位方法,包括:
响应于接收到目标图像,获取与所述目标图像相关联的地图数据;
针对计算策略指示的多个计算节点,从所述多个计算节点中确定当前计算节点;以及
基于所述计算策略,将待处理数据和所述地图数据中的至少一个发送给所述当前计算节点进行处理,以便得到定位结果,
其中,所述待处理数据与所述目标图像相关联,所述定位结果指示了用于采集所述目标图像的图像采集装置的位置信息。
2.根据权利要求1所述的方法,其中,所述计算策略包括指示信息,所述指示信息用于指示所述当前计算节点在进行计算时是否需要地图数据;
其中,所述基于所述计算策略,将待处理数据和所述地图数据中的至少一个发送给所述当前计算节点进行处理包括:
响应于所述指示信息指示所述当前计算节点在进行计算时需要所述地图数据,将所述待处理数据和所述地图数据发送给所述当前计算节点进行处理;
响应于所述指示信息指示所述当前计算节点在进行计算时不需要所述地图数据,将所述待处理数据发送给所述当前计算节点进行处理。
3.根据权利要求2所述的方法,还包括:将所述计算策略和所述地图数据关联存储;
其中,所述响应于所述指示信息指示所述当前计算节点在进行计算时需要所述地图数据,将所述待处理数据和所述地图数据发送给所述当前计算节点进行处理包括:
响应于所述指示信息指示当前计算节点在进行计算时需要所述地图数据,基于所述计算策略确定关联的地图数据;以及
将所述待处理数据和所述地图数据发送给所述当前计算节点进行处理。
4.根据权利要求1所述的方法,其中,所述计算策略指示了所述多个计算节点彼此之间的关联关系;针对每个计算节点,该计算节点具有上一级计算节点和下一级计算节点中的至少一个;所述当前计算节点具有下一级计算节点。
5.根据权利要求4所述的方法,还包括:
响应于确定所述当前计算节点完成数据处理,将所述当前计算节点的节点信息从所述计算策略中删除。
6.根据权利要求1-5中任意一项所述的方法,其中,所述响应于接收到目标图像,获取与所述目标图像相关联的地图数据包括:
响应于接收到所述目标图像,确定所述目标图像所针对的目标区域;以及
获取针对所述目标区域的地图数据,其中,所述地图数据包括所述目标区域中各对象的位置信息。
7.根据权利要求1-6中任意一项所述的方法,其中,所述待处理数据包括以下至少一项:
所述目标图像、所述目标图像的特征数据、所述特征数据与地图数据的匹配结果、针对所述匹配结果的处理结果。
8.一种定位装置,包括:
获取模块,用于响应于接收到目标图像,获取与所述目标图像相关联的地图数据;
确定模块,用于针对计算策略指示的多个计算节点,从所述多个计算节点中确定当前计算节点;以及
发送模块,用于基于所述计算策略,将待处理数据和所述地图数据中的至少一个发送给所述当前计算节点进行处理,以便得到定位结果,
其中,所述待处理数据与所述目标图像相关联,所述定位结果指示了用于采集所述目标图像的图像采集装置的位置信息。
9.根据权利要求8所述的装置,其中,所述计算策略包括指示信息,所述指示信息用于指示所述当前计算节点在进行计算时是否需要地图数据;
其中,所述发送模块包括以下至少一个:
第一发送子模块,用于响应于所述指示信息指示所述当前计算节点在进行计算时需要所述地图数据,将所述待处理数据和所述地图数据发送给所述当前计算节点进行处理;
第二发送子模块,用于响应于所述指示信息指示所述当前计算节点在进行计算时不需要所述地图数据,将所述待处理数据发送给所述当前计算节点进行处理。
10.根据权利要求9所述的装置,还包括:存储模块,用于将所述计算策略和所述地图数据关联存储;
其中,所述第一发送子模块包括:
确定单元,用于响应于所述指示信息指示当前计算节点在进行计算时需要所述地图数据,基于所述计算策略确定关联的地图数据;以及
发送单元,用于将所述待处理数据和所述地图数据发送给所述当前计算节点进行处理。
11.根据权利要求8所述的装置,其中,所述计算策略指示了所述多个计算节点彼此之间的关联关系;针对每个计算节点,该计算节点具有上一级计算节点和下一级计算节点中的至少一个;所述当前计算节点具有下一级计算节点。
12.根据权利要求11所述的装置,还包括:
删除模块,用于响应于确定所述当前计算节点完成数据处理,将所述当前计算节点的节点信息从所述计算策略中删除。
13.根据权利要求8-12中任意一项所述的装置,其中,所述获取模块包括:
确定子模块,用于响应于接收到所述目标图像,确定所述目标图像所针对的目标区域;以及
获取子模块,用于获取针对所述目标区域的地图数据,其中,所述地图数据包括所述目标区域中各对象的位置信息。
14.根据权利要求8-13中任意一项所述的装置,其中,所述待处理数据包括以下至少一项:
所述目标图像、所述目标图像的特征数据、所述特征数据与地图数据的匹配结果、针对所述匹配结果的处理结果。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110810494.XA CN113435462B (zh) | 2021-07-16 | 2021-07-16 | 定位方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110810494.XA CN113435462B (zh) | 2021-07-16 | 2021-07-16 | 定位方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113435462A true CN113435462A (zh) | 2021-09-24 |
CN113435462B CN113435462B (zh) | 2022-06-28 |
Family
ID=77760716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110810494.XA Active CN113435462B (zh) | 2021-07-16 | 2021-07-16 | 定位方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113435462B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422940A (zh) * | 2022-01-19 | 2022-04-29 | 北京百度网讯科技有限公司 | 定位方法、装置、电子设备和介质 |
CN114754764A (zh) * | 2022-06-15 | 2022-07-15 | 上海维智卓新信息科技有限公司 | 基于增强现实的导航方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103874193A (zh) * | 2012-12-13 | 2014-06-18 | 中国电信股份有限公司 | 一种移动终端定位的方法及*** |
WO2015057240A1 (en) * | 2013-10-18 | 2015-04-23 | Hitachi Data Systems Engineering UK Limited | Target-driven independent data integrity and redundancy recovery in a shared-nothing distributed storage system |
CN107357639A (zh) * | 2016-05-09 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 一种分布式处理***、数据处理的方法及设备 |
CN108318043A (zh) * | 2017-12-29 | 2018-07-24 | 百度在线网络技术(北京)有限公司 | 用于更新电子地图的方法、装置和计算机可读存储介质 |
CN110361005A (zh) * | 2019-06-26 | 2019-10-22 | 深圳前海达闼云端智能科技有限公司 | 定位方法、定位装置、可读存储介质及电子设备 |
CN110738143A (zh) * | 2019-09-27 | 2020-01-31 | Oppo广东移动通信有限公司 | 定位方法及装置、设备、存储介质 |
CN111401482A (zh) * | 2020-04-29 | 2020-07-10 | Oppo广东移动通信有限公司 | 特征点匹配方法及装置、设备、存储介质 |
CN112284394A (zh) * | 2020-10-23 | 2021-01-29 | 北京三快在线科技有限公司 | 一种地图构建及视觉定位的方法及装置 |
-
2021
- 2021-07-16 CN CN202110810494.XA patent/CN113435462B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103874193A (zh) * | 2012-12-13 | 2014-06-18 | 中国电信股份有限公司 | 一种移动终端定位的方法及*** |
WO2015057240A1 (en) * | 2013-10-18 | 2015-04-23 | Hitachi Data Systems Engineering UK Limited | Target-driven independent data integrity and redundancy recovery in a shared-nothing distributed storage system |
CN107357639A (zh) * | 2016-05-09 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 一种分布式处理***、数据处理的方法及设备 |
CN108318043A (zh) * | 2017-12-29 | 2018-07-24 | 百度在线网络技术(北京)有限公司 | 用于更新电子地图的方法、装置和计算机可读存储介质 |
CN110361005A (zh) * | 2019-06-26 | 2019-10-22 | 深圳前海达闼云端智能科技有限公司 | 定位方法、定位装置、可读存储介质及电子设备 |
CN110738143A (zh) * | 2019-09-27 | 2020-01-31 | Oppo广东移动通信有限公司 | 定位方法及装置、设备、存储介质 |
CN111401482A (zh) * | 2020-04-29 | 2020-07-10 | Oppo广东移动通信有限公司 | 特征点匹配方法及装置、设备、存储介质 |
CN112284394A (zh) * | 2020-10-23 | 2021-01-29 | 北京三快在线科技有限公司 | 一种地图构建及视觉定位的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422940A (zh) * | 2022-01-19 | 2022-04-29 | 北京百度网讯科技有限公司 | 定位方法、装置、电子设备和介质 |
CN114422940B (zh) * | 2022-01-19 | 2024-05-14 | 北京百度网讯科技有限公司 | 定位方法、装置、电子设备和介质 |
CN114754764A (zh) * | 2022-06-15 | 2022-07-15 | 上海维智卓新信息科技有限公司 | 基于增强现实的导航方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113435462B (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109146932B (zh) | 确定图像中目标点的世界坐标的方法、装置和*** | |
CN113095336B (zh) | 关键点检测模型的训练方法和检测目标对象关键点的方法 | |
CN113435462B (zh) | 定位方法、装置、电子设备和介质 | |
CN110675635B (zh) | 相机外参的获取方法、装置、电子设备及存储介质 | |
CN113392794B (zh) | 车辆跨线识别方法、装置、电子设备和存储介质 | |
CN112488060B (zh) | 目标检测方法、装置、设备和介质 | |
CN110766348B (zh) | 一种组合拣货任务的方法和装置 | |
CN113360918A (zh) | 漏洞快速扫描方法、装置、设备以及存储介质 | |
CN114120414A (zh) | 图像处理方法、装置、电子设备和介质 | |
CN112597895A (zh) | 基于偏移量检测的置信度确定方法、路侧设备及云控平台 | |
CN115457152A (zh) | 外参标定方法、装置、电子设备及存储介质 | |
CN113610702A (zh) | 一种建图方法、装置、电子设备及存储介质 | |
CN113627298A (zh) | 目标检测模型的训练方法及检测目标对象的方法、装置 | |
CN114723894B (zh) | 一种三维坐标获取方法、装置及电子设备 | |
CN114674328B (zh) | 地图生成方法、装置、电子设备、存储介质、及车辆 | |
CN115131315A (zh) | 一种图像的变化检测方法、装置、设备及存储介质 | |
CN114064745A (zh) | 一种确定交通提示距离的方法、装置及电子设备 | |
CN115439536A (zh) | 视觉地图更新方法、装置及电子设备 | |
CN110634155A (zh) | 一种基于深度学习的目标检测方法和装置 | |
CN114066980A (zh) | 对象检测方法、装置、电子设备及自动驾驶车辆 | |
CN114549584A (zh) | 信息处理的方法、装置、电子设备及存储介质 | |
CN114429211A (zh) | 用于生成信息的方法、装置、设备、介质和产品 | |
CN113984072A (zh) | 车辆定位方法、装置、设备、存储介质及自动驾驶车辆 | |
CN113654548A (zh) | 定位方法、装置、电子设备及存储介质 | |
CN114119990A (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 |