CN113672756A - 一种视觉定位方法及电子设备 - Google Patents
一种视觉定位方法及电子设备 Download PDFInfo
- Publication number
- CN113672756A CN113672756A CN202010580807.2A CN202010580807A CN113672756A CN 113672756 A CN113672756 A CN 113672756A CN 202010580807 A CN202010580807 A CN 202010580807A CN 113672756 A CN113672756 A CN 113672756A
- Authority
- CN
- China
- Prior art keywords
- image
- visual positioning
- camera
- server
- electronic device
- 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
- 230000000007 visual effect Effects 0.000 title claims abstract description 220
- 238000000034 method Methods 0.000 title claims abstract description 117
- 230000008569 process Effects 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 37
- 230000006854 communication Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 19
- 230000011218 segmentation Effects 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 7
- 230000009286 beneficial effect Effects 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 30
- 239000011159 matrix material Substances 0.000 description 29
- 238000013461 design Methods 0.000 description 21
- 238000007726 management method Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 14
- 230000001976 improved effect Effects 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010295 mobile communication Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000005484 gravity Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000005433 ionosphere Substances 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/587—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
一种视觉定位方法及电子设备,涉及视觉定位技术领域,可以应用于具有摄像头的电子设备方法。该方法具体包括:检测到用于触发视觉定位流程的第一事件,判断摄像头采集的第一图像中轮廓线的种类数是否大于或等于第一阈值;若是,则向服务器发送第一视觉定位请求,第一视觉定位请求包括第一图像和第一地理位置,第一地理位置为在采集第一图像时电子设备测量的自身所在的地理位置;最后接收来自服务器响应于第一视觉定位请求发送的第一视觉定位结果,第一视觉定位结果包括第二地理位置。这种技术方案与基于电磁波信号定位相比,有助于提高定位精度。
Description
本申请中要求在2020年5月14日提交中国专利局、申请号为202010405196.8、申请名称为“一种大场景下基于图片语义信息的视觉定位方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机视觉领域,特别涉及一种视觉定位方法及电子设备。
背景技术
目前,手机、平板电脑等电子设备可以为用户提供地图、导航、虚实结合等服务,而这些服务是依赖于定位技术实现的。现有技术中,电子设备通常是基于电磁波信号(例如卫星信号或基站信号)进行定位的。以基站信号为例。电子设备基于基站信号进行定位的原理是:电子设备根据电磁波信号从基站传输到自身的时间,确定自身与基站之间的距离,然后根据自身与基站之间的距离和基站所在的位置,计算自身所在的位置(即电子设备所在的位置)。但是,电磁波信号的传输容易受建筑物、大气电离层等干扰,从而导致根据电磁波信号从基站传输到电子设备的时间确定的距离和基站与电子设备之间的实际距离偏差较大,严重影响电子设备的定位精度。
发明内容
本申请提供了一种视觉定位方法及电子设备,有助于提高电子设备的定位精度。
第一方面,为本申请实施例提供的一种视觉定位方法,应用于电子设备,所述电子设备包括摄像头,所述方法具体包括:检测到第一事件,所述第一事件用于触发视觉定位流程;然后,判断所述摄像头采集的第一图像中轮廓线的种类数是否大于或等于第一阈值;若所述第一图像中轮廓线的种类数大于或等于所述第一阈值,向服务器发送第一视觉定位请求,所述第一视觉定位请求包括所述第一图像和第一地理位置,所述第一地理位置为所述电子设备在所述摄像头采集所述第一图像时测量的自身所在的地理位置;最后,接收来自所述服务器响应于所述第一视觉定位请求发送的第一视觉定位结果,所述第一视觉定位结果包括第二地理位置,所述第二地理位置为所述摄像头采集所述第一图像时所述电子设备所在的地理位置,且所述第二地理位置的精度高于所述第一地理位置的精度。
本申请实施例中,由于电子设备能够向服务器发送第一视觉定位请求,且第一视觉定位请求中包括第一图像和第一地理位置,从而有助于使得服务器根据第一图像对电子设备进行视觉定位,与基于电磁波信号定位相比,有助于提高定位精度。而且,由于电子设备是在第一图像中的轮廓线的种类数大于或等于第一阈值时向服务器发送第一视觉定位请求的,有助于提高服务器基于第一图像定位成功的可能性。
在一种可能的设计中,所述第一视觉定位请求还包括第一相机参数和/或第一设备姿态,所述第一相机参数为所述摄像头采集所述第一图像时使用的相机参数,所述第一设备姿态用于指示所述电子设备在所述摄像头采集所述第一图像时测量的自身的高度角、俯仰角和横滚角中的至少一个。从而有助于提高服务器基于第一图像定位时的精度。
在一种可能的设计中,电子设备在判定所述电子设备的俯仰角在第一角度范围内,且所述电子设备的横滚角在第二角度范围内的情况下,再判断所述摄像头采集的第一图像中轮廓线的种类数是否大于或等于第一阈值。从而有助于提高摄像头采集的第一图像中轮廓线的种类数大于或等于第一阈值的可能性。
在一种可能的设计中,所述第一视觉定位结果还包括:第二设备姿态,所述第二设备姿态用于指示所述摄像头采集所述第一图像时所述电子设备的高度角、俯仰角和横滚角中的至少一个,且所述第二设备姿态的精度高于所述第一设备姿态的精度。从而有助于电子设备获取到精度较高的设备姿态。
在一种可能的设计中,电子设备在接收到来自所述服务器响应于所述第一视觉定位请求发送的第二视觉定位结果,所述第二视觉定位结果用于指示基于所述第一图像定位失败的情况下,当所述摄像头采集的第二图像中与所述第一图像的重复内容所占的比例小于或等于第二阈值、以及所述第二图像中轮廓线的种类数大于或等于所述第一阈值时,向所述服务器发送第二视觉定位请求,所述第二视觉定位请求包括所述第二图像和第三地理位置,所述第三地理位置为所述电子设备在所述摄像头采集所述第二图像时测量的自身所在的地理位置。从而有助于提高服务器基于第二图像定位成功的可能性。
在一种可能的设计中,若所述第一图像中轮廓线的种类数小于所述第一阈值,向用户提示调整所述摄像头的拍摄角度。从而有助于用户与电子设备之间的交互,使得用户能够获知当前摄像头采集的第一图像不满足视觉定位要求。
第二方面,为本申请实施例提供的一种视觉定位方法,具体包括:服务器接收来自电子设备的第一视觉定位请求,所述第一视觉定位请求包括第一图像和第一地理位置;然后,所述服务器提取第一图像的图像特征;以及根据所述第一地理位置,从全景地图中采集360全景图像的M个候选地理位置中选择Q个候选地理位置,所述Q个候选地理位置中每个候选地理位置与所述第一地理位置之间的距离小于或等于第一阈值,所述Q小于或等于M,且M、Q为正整数;所述服务器从所述Q个候选地理位置中确定第二地理位置,所述第二地理位置在所述Q个候选地理位置中360全景图像与所述第一图像的图像特征的相似度最高,并向所述电子设备返回第一视觉定位结果,所述第一视觉定位结果包括所述第二地理位置。
本申请实施例中,由于服务器能够根据来自电子设备的第一图像和第一地理位置进行定位,与基于电磁波信号相比,有助于提高定位精度。
在一种可能的设计中,所述第一图像的图像特征包括所述第一图像中N个特征点的轮廓线指示、以及所述N个特征点在第一坐标系中的朝向角和高度角,所述N为正整数,所述第一坐标系为在所述全景地图中的候选地理位置上采集的360全景图像的参考坐标系,所述轮廓线指示用于指示特征点所在的轮廓线的种类。从而有助于简化实现方式,提高定位精度。
在一种可能的设计中,所述第一视觉定位请求还包括第一设备姿态;
所述服务器可以基于下列方式提取第一图像的图像特征:
所述服务器对所述第一图像进行语义分割,得到所述第一图像的语义图,并根据所述第一图像的语义图,获取所述第一图像中N个特征点的轮廓线指示、以及所述N个特征点在第二坐标系中的朝向角和高度角;所述第二坐标系为所述第一图像的参考坐标系;然后,所述服务器根据所述第一设备姿态和所述N个特征点在所述第二坐标系中朝向角和高度角,获取所述N个特征点在所述第一坐标系中的朝向角和高度角。
通过将第一图像和在全景地图中候选地理位置上采集的360全景图像统一到同一参考坐标系中,有助于提高定位的可靠性。
在一种可能的设计中,所述第一视觉定位请求还包括第一相机参数,所述第一相机参数为采集所述第一图像所使用的相机参数;
所述服务器可以基于下列方式对所述第一图像进行语义分割,得到所述第一图像的语义图:
所述服务器对所述第一图像进行图像处理得到中间图像,并对所述中间图像进行语义分割,得到所述第一图像的语义图;所述中间图像的相机参数为第二相机参数;或者,
所述服务器对所述第一图像进行语义分割,得到中间图像的语义图,并对所述中间图像的语义图进行图像处理,得到所述第一图像的语义图,所述第一图像的语义图的相机参数为所述第二相机参数;
其中,所述第二相机参数为在所述全景地图中的候选地理位置上采集的360全景图像时使用的相机参数。
通过上述技术方案,有助于进一步提高定位的可靠性。
在一种可能的设计中,在所述第二地理位置上采集的360全景图像的图像特征与所述第一图像的图像特征的相似度满足下列表达式:
其中,(x,y,h)为所述第二地理位置,offset为朝向角偏移量集合中的一个朝向角的偏移量,Loss(x,y,h,offset)用于表征在所述第二地理位置上采集的360全景图像的图像特征与所述第一图像的图像特征的相似度,Wi为所述第一图像中第i种轮廓线的权重值,Y(i)为所述第一图像中第i种轮廓线上所有特征点的朝向角的集合,j为所述第一图像中第i种轮廓线上的一个特征点的朝向角,PI(i,j)为所述第一图像中第i种轮廓线上朝向角为j时特征点的高度角,r为所述第一图像中轮廓线的种类总数,PM(x,y,h)(i,j+offset)为在所述第二地理位置上采集的360全景图像中第i种轮廓线上朝向角为j+offset的特征点的高度角。从而有助于简化实现方式。
在一种可能的设计中,所述服务器判定所述第一图像中轮廓线的种类数大于或等于第一阈值后,再从全景地图中采集360全景图像的M个候选地理位置中选择Q个候选地理位置。有助于提高基于第一图像定位成功的可能性。
在一种可能的设计中,在所述第二地理位置上采集的360全景图像的图像特征与所述第一图像的图像特征的最高相似度在视觉定位精度要求的图像特征相似度范围内。从而有助于提高定位精度。
在一种可能的设计中,当在所述第二地理位置上采集的360全景图像的图像特征与所述第一图像的图像特征的最高相似度不在所述视觉定位精度要求的图像特征相似度范围内时,所述服务器向所述电子设备返回第二视觉定位结果,所述第二视觉定位结果用于指示基于所述第一图像定位失败。
第三方面,为本申请实施例提供的一种电子设备,所述电子设备包括摄像头、一个或多个处理器、存储器、以及一个或多个计算机程序;其中,所述摄像头用于采集图像;所述计算机程序被存储在所述存储器中,当所述处理器运行时调用所述计算机程序,使得所述电子设备执行第一方面以及第一方面任一可能设计的方法。
第四方面,为本申请实施例的一种服务器,所述服务器包括一个或多个处理器、存储器以及计算机程序;其中,所述计算机程序被存储在所述存储器中;当所述处理器运行时调用所述计算机程序时,使得所述服务器执行第二方面以及第二方面任一可能设计的方法。
第五方面,为本申请实施例提供的一种芯片,所述芯片与电子设备中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的计算机程序,实现本申请实施例上述各方面以及各方面提供的任一可能设计的方法。
第六方面,为本申请实施例提供的一种计算机存储介质,该计算机存储介质存储有计算机程序,当所述计算机程序在电子设备上运行时,使得电子设备执行上述各方面以及各方面任意一种可能的设计的方法。
第七方面,为本申请实施例提供的一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行上述各方面以及各方面任意一种可能的设计的方法。
第八方面,为本申请实施例提供的一种通信系统,包括电子设备和服务器。其中,所述电子设备用于执行第一方面以及第一方面任一可能设计的方法;所述服务器用于执行第二方面以及第二方面任一可能设计的方法。
另外,第三方面至第八方面中任一种可能设计方式所带来的技术效果可参见方法部分不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例的一种电子设备的结构示意图;
图2为本申请实施例的一种系统架构图;
图3为本申请实施例的一种图像的示意图;
图4为本申请实施例的手机的俯仰角、横滚角和朝向角的示意图;
图5为本申请实施例的一种图像的示意图;
图6为本申请实施例的特征点的高度角和朝向角的示意图;
图7为本申请实施例的一种获取全景地图中候选地理位置上360全景图像的图像特征的方法的流程示意图;
图8为本申请实施例的一种大场景3D模型的示意图;
图9为本申请实施例的一种视觉定位方法的流程示意图;
图10为本申请实施例的另一视觉定位方法的流程示意图;
图11为本申请实施例的一种电子设备的结构示意图;
图12为本申请实施例的一种服务器的结果示意图。
具体实施方式
电子设备可以为用户提供地图、导航、虚实结合等服务,而这些服务是依赖于定位技术实现的。其中,电子设备的定位越精确,电子设备为用户提供的依赖于定位技术的服务越可靠,用户使用电子设备上依赖于定位技术实现的服务的体验越好。但是,现有技术中,电子设备通常是基于卫星信号(如GPS信号)、基站信号、Wi-Fi信号或者蓝牙信号等电磁波信号进行定位的,这种方式容易受环境(例如建筑物、大气电离层等)影响,定位精度较低。而且,这种基于电磁波信号定位的方式只能获得精度较低的设备地理位置,无法获得设备姿态,无法适用于特定的应用程序(例如增强现实(augmented reality,AR)应用程序。因此,现有的定位方式无法满足电子设备的定位需求。
有鉴于此,本申请实施例提供了一种视觉定位方法,能够结合图像实现电子设备的定位,不但有助于提高定位精度,而且还能够得到精度较高的设备姿态,从而能够满足电子设备的定位需求,进而提高用户体验。
应理解,本申请中,除非另有说明,“/”表示或的意思。例如,A/B可以表示A或B。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B三种情况。另外,本申请中,“多个”是指两个或多于两个。例如,a、b或c中的至少一个,可以表示:a,b,c,a和b,a和c,b和c,或a、b和c七种情况。
在本申请中,“示例的”、“在一些实施例中”、“在另一些实施例中”等用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
需要指出的是,本申请中涉及的“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本申请实施例可以应用于虚实结合的场景,例如在真实环境中增加虚拟元素,实现超现实的感官体验。此外,本申请实施例还可以应用于自动驾驶、车载导航等场景,对此不作限定。例如,本申请实施例可以应用于其它依赖于定位的应用场景。
应理解,本申请实施例的电子设备可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等,本申请实施例对电子设备的具体类型不作任何限制。
示例的,如图1所示,为本申请实施例的一种电子设备的结构示意图。如图1所示,电子设备可以包括处理器110、外部存储器接口120、内部存储器121、通用串行总线(universal serial bus,USB)接口130、充电管理模块140、电源管理模块141、电池142、天线1、天线2、移动通信模块150、无线通信模块160、音频模块170、扬声器170A、受话器170B、麦克风170C、耳机接口170D、传感器模块180、按键190、马达191、指示器192、摄像头193、显示屏194、以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A、陀螺仪传感器180B、气压传感器180C、磁传感器180D、加速度传感器180E、距离传感器180F、接近光传感器180G、指纹传感器180H、温度传感器180J、触摸传感器180K、环境光传感器180L、骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如:处理器110可以包括应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processingunit,GPU)、图像信号处理器(image signal processor,ISP)、控制器、视频编解码器、数字信号处理器(digital signal processor,DSP)、基带处理器、和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,或者,两个或更多个不同的处理单元也可以集成在一个器件中。
控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成读取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口、集成电路内置音频(inter-integrated circuitsound,I2S)接口、脉冲编码调制(pulse code modulation,PCM)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口、移动产业处理器接口(mobile industry processor interface,MIPI)、通用输入输出(general-purposeinput/output,GPIO)接口、用户标识模块(subscriber identity module,SIM)接口、和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K、充电器、闪光灯、摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样、量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194、摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193、显示屏194、无线通信模块160、音频模块170、传感器模块180等。GPIO接口还可以被配置为I2C接口、I2S接口、UART接口、MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口、Micro USB接口、USB Type C接口等。USB接口130可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。USB接口130还可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142、充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110、内部存储器121、外部存储器、显示屏194、摄像头193和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量、电池循环次数、电池健康状态(漏电、阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器、开关、功率放大器、低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波、放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如Wi-Fi网络)、蓝牙(bluetooth,BT)、全球导航卫星系统(global navigation satellite system,GNSS)、调频(frequency modulation,FM)、近距离无线通信技术(near field communication,NFC)、红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频、放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM)、通用分组无线服务(general packet radio service,GPRS)、码分多址接入(code divisionmultiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、时分码分多址(time-division code division multiple access,TD-SCDMA)、长期演进(long term evolution,LTE)、BT、GNSS、WLAN、NFC、FM和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS)、全球导航卫星系统(globalnavigation satellite system,GLONASS)、北斗卫星导航系统(beidou navigationsatellite system,BDS)、准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备通过GPU、显示屏194以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像、视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emittingdiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED)、柔性发光二极管(flex light-emittingdiode,FLED)、Miniled、MicroLed、Micro-oLed、量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备可以通过ISP、摄像头193、视频编解码器、GPU、显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光、色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB、YUV等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1、MPEG2、MPEG3、MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别、人脸识别、语音识别、文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据、电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、通用闪存存储器(universal flash storage,UFS)等。
电子设备可以通过音频模块170、扬声器170A、受话器170B、麦克风170C、耳机接口170D、以及应用处理器等实现音频功能。例如音乐播放、录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备可以设置至少一个麦克风170C。在另一些实施例中,电子设备可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备还可以设置三个、四个或更多麦克风170C,实现采集声音信号、降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口、美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器、电感式压力传感器、电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备根据压力传感器180A检测所述触摸操作强度。电子设备也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以简称为陀螺仪,可以用于确定电子设备的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备围绕三个轴(即,x、y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备的抖动,实现防抖。陀螺仪传感器180B还可以用于导航、体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备通过气压传感器180C测得的气压值计算海拔高度、辅助定位和导航。
磁传感器180D又可以称之为磁力计,包括霍尔传感器。电子设备可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备是翻盖机时,电子设备可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E又可以称之为加速度计,可检测电子设备在各个方向上(一般为三轴)加速度的大小。当电子设备静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换、计步器等应用。
距离传感器180F,用于测量距离。电子设备可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备通过发光二极管向外发射红外光。电子设备使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备附近有物体。当检测到不充分的反射光时,电子设备可以确定电子设备附近没有物体。电子设备可以利用接近光传感器180G检测用户手持电子设备贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备对电池142加热,以避免低温导致电子设备异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键、音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照、音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒、接收信息、闹钟、游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态、电量变化,也可以用于指示消息、未接来电、通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡、Micro SIM卡、SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备中,不能和电子设备分离。
以下实施例将以具有图1所示结构的手机为例,对本申请实施例的视觉定位方法进行详细介绍。
图2示出了本申请实施例的一种系统架构图。如图2所示,本申请实施例的系统架构包括手机和服务器。需要说明的是,本申请实施例中,服务器可以为云服务器,也可以为本地服务器等,对此不作限定。
具体的,手机用于触发视觉定位流程,向服务器发送视觉定位请求。其中,视觉定位请求中包括摄像头采集的第i帧图像、相机参数、设备低精度姿态和设备低精度地理位置。i为正整数。服务器用于在接收到来自手机的视觉定位请求后,执行视觉定位方法,向手机返回视觉定位结果。
摄像头采集的第i帧图像可以为手机触发视觉定位流程后,摄像头采集的一帧图像。应理解,本申请实施例中,摄像头采集的第i帧图像又可以称之为摄像头采集的第i帧图片。考虑到数据传输成本,图像的格式可以为jpeg。当然,本申请实施例中,摄像头采集的第i帧图像的格式也可以为tif、bmp等,对此不作限定。
本申请实施例中,手机可以在需要定位的场景下触发视觉定位流程。示例的,手机可以在检测到第一事件,触发视觉定位流程。例如,手机可以响应于打开第一应用程序的操作,触发视觉定位流程。第一应用程序可以为支持视觉定位功能的应用程序,例如河图(cyberverse)、相机等。示例的,打开第一应用程序的操作可以为点击第一应用程序的图标的操作、语音指令操作、快捷手势操作或者其它操作等,本申请实施例对此不作限定。和/或,手机在第一应用程序启动后,周期性和/或通过事件触发视觉定位流程。
比如,手机在显示屏上显示第一应用程序的界面时,检测到手机当前所在的地理位置与最近一次视觉定位的地理位置之间的距离满足视觉定位要求时,触发视觉定位流程。在该种情况下,手机当前所在的地理位置可以手机根据电磁波信号(例如GPS信号或基站信号等)确定的,也可以是根据基于位置的服务(location based services,LBS)确定的,对此不作限定。例如,手机可以在当前所在的地理位置与最近一次视觉定位的地理位置之间的距离达到某一阈值时,判定手机当前所在的地理位置与最近一次视觉定位的地理位置之间的距离满足视觉定位要求。
再例如,手机还可以在运行第一应用程序时,周期性触发视觉定位流程。需要说明的是,触发视觉定位流程的周期可以是手机出厂之前预先设置好的,也可以是用户根据自身需要设置的,对此不作限定。
再例如,在手机支持局部定位系统(例如同步定位与建图(simultaneouslocalization and mapping,SLAM)系统)的情况下,在局部定位系统初始化完成后,触发视觉定位流程。比如,手机响应于打开支持局部定位系统的应用程序的操作,触发局部定位系统初始化,或者,手机在支持局部定位系统的应用程序处于启动状态时,无法获取到设备定位信息(例如设备地理位置和/或设备姿态受到干扰导致丢失),重新触发局部定位系统初始化。
当然,上述仅为触发视觉定位流程的举例说明,并不构成对触发视觉定位流程的限定,本申请实施例不限定手机触发视觉定位流程的方式。
进一步的,在一些实施例中,摄像头采集的第i帧图像可以为手机触发视觉定位流程后,摄像头采集的一帧内容丰富度满足视觉定位要求的图像。从而有助于提高服务器视觉定位成功的概率,降低手机向服务器发送视觉定位请求的次数,从而减小服务器的运算压力。
示例的,以摄像头当前采集的图像为摄像头采集的第i帧图像为例。手机可以通过二分类网络模型,判断摄像头采集的第i帧图像的内容丰富度是否满足视觉定位要求。其中,二分类网络模型可以是通过对多帧已知的满足视觉定位要求的图像、以及多帧已知的不满足视觉定位要求的图像进行图像训练得到的。当然,本申请实施例中,手机也可以通过其它方式判断摄像头采集的第i帧图像的内容丰富度是否满足视觉定位要求,对此不作限定。
需要说明的是,内容丰富度满足视觉定位要求的图像指的是语义类型较为丰富的图像、或者轮廓线的种类数较多的图像。其中,语义类型可以包括建筑、山峰、道路、天空、河流等。轮廓线指的是图像中不同语义类型之间的交界线。以摄像头采集的第i帧图像为如图3所示的图像为例,在这种情况下,摄像头采集的第i帧图像中涉及的语义类型包括建筑和天空。图3所示的图像中的轮廓线包括天空和建筑之间的交界线。
具体的,手机将摄像头采集的第i帧图像作为二分类网络模型的输入,并根据二分类网络模型的输出,判断摄像头采集的第i帧图像是否满足视觉定位要求。在另一些实施例中,手机根据二分类网络模型的输出,判定摄像头采集的第i帧图像的内容丰富度不满足视觉定位要求时,可以向用户提示调整摄像头的拍摄角度,以便于摄像头采集到内容丰富度满足视觉定位要求的图像。例如,手机可以通过扬声器向用户播放语音提示信息、和/或通过显示屏向用户显示提示信息来向用户提示调整摄像头的拍摄角度。
进一步的,在又一些实施例中,手机可以先判断自身当前的姿态是否满足图像采集要求。若自身当前的姿态满足图像采集要求,手机再判断摄像头当前采集的图像的内容丰富度是否满足视觉定位要求。在手机当前的姿态满足图像采集要求的情况下,从而有助于提高摄像头采集的图像的内容丰富度满足视觉定位要求的概率。而且,与图像的内容丰富度满足视觉定位要求的判定相比,姿态满足图像采集要求的判定计算资源消耗更低,更容易实现,从而有助于降低对手机处理能力的要求。
示例的,手机可以基于下列方式判断自身当前的姿态是否满足图像采集要求:
手机根据姿态传感器(如陀螺仪传感器、磁传感器、加速度传感器和/或重力传感器中的一个或多个)的信息,获取当前自身的俯仰角(pitch角)和横滚角(roll角)。然后,手机判断当前自身的俯仰角是否在第一角度范围内,以及判断当前自身的横滚角是否在第二角度范围内。若手机当前自身的俯仰角在第一角度范围内、且当前自身横滚角在第二角度范围内,则手机判定自身当前的姿态符合图像要求,从而有助于使得手机通过摄像头采集的图像包含丰富的语义类型(如建筑、天空、地面等),提高视觉定位的成功的概率和可靠性,减少手机向服务器发送无效视觉定位请求的次数,减小服务器的压力。在另一些实施例中,若手机当前自身的俯仰角不在第一角度范围内、和/或当前自身横滚角不在第二角度范围内,则手机判定自身当前的姿态不符合图像要求,向用户提示调整手机的姿态。例如,手机可以通过扬声器播放语音提示信息、和/或在显示屏上显示提示信息来向用户提示调整手机的姿态,以使得手机的姿态符合图像采集要求。
需要说明的是,本申请实施例中,第一角度范围和第二角度范围可以是手机在出厂之前预先设置好的,也可以是用户根据自身需求设置的等,本申请实施例对第一角度范围和第二角度范围的设置方式对此不作限定。比如,手机处于竖屏状态下,第一角度范围可以为-20°~40°,第二角度范围为75°~105°。再比如,手机处于横屏状态下,第一角度范围可以为-20°~40°,第二角度范围为-15°~15°。
进一步的,在一些实施例中,在服务器向手机返回的视觉定位结果指示视觉定位失败的情况下,手机可以向用户提示调整摄像头的拍摄角度和/或手机的姿态,并在摄像头采集到满足视觉定位要求的第j帧图像后,再次向服务器发送视觉定位请求,该视觉定位请求中包括的摄像头采集的第j帧图像、相机参数、设备低精度姿态和设备低精度地理位置。
在这种情况下,手机可以在用户调整摄像头的拍摄角度和/或手机的姿态后,先判断自身当前的姿态是否满足图像采集要求。若自身当前的姿态满足图像采集要求,则在判断摄像头当前采集的图像是否满足视觉定位要求。若摄像头当前采集的图像满足视觉定位要求,则再次向服务器发送视觉定位请求。
以摄像头当前采集的图像为摄像头采集的第j帧图像、且手机向服务器发送的视觉定位请求中包括摄像头采集的第i帧图像时,接收到来自服务器返回的视觉定位结果用于指示基于第i帧图像定位失败为例,示例的,手机可以通过下列方式判断摄像头采集的第j帧图像是否满足视觉定位要求:
手机判断摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例、和摄像头采集的第j帧图像的内容丰富度是否满足视觉定位要求。若摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例、和摄像头采集的第j帧图像的内容丰富度均满足视觉定位要求,则手机判定摄像头采集的第j帧图像满足视觉定位要求,从而有助于避免手机向服务器发送过多的无效视觉定位请求,减小服务器的压力。
若摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例不满足视觉定位要求、和/或摄像头采集的第j帧图像的内容丰富度不满足视觉定位要求,则手机判定摄像头采集的第j帧图像不满足视觉定位要求。
示例的,手机可以基于下列方式判断摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例是否满足视觉定位要求:
手机根据摄像头采集第j帧图像时设备低精度姿态和摄像头采集第i帧图像时设备低精度姿态,判断手机姿态的变化是否在视觉定位要求的范围内,和/或,手机根据摄像头采集第j帧图像时设备低精度地理位置和摄像头采集第i帧图像时设备低精度地理位置,判断手机位置的变化是否在视觉定位要求的范围内。在手机姿态的变化和/或手机位置的变化均在视觉定位要求的范围内,则手机判定摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例满足视觉定位要求。
进一步的,在一些实施例中,当手机姿态的变化不在视觉定位要求的范围内、和/或手机位置的变化不在视觉定位要求的范围内时,手机判定摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例不满足视觉定位要求。
例如,针对手机姿态的变化视觉定位要求的范围为不小于40°,针对手机距离的变化视觉定位要求的范围为不小于10米,则手机在俯仰角的大小变化为20°,手机距离的变化为8米时,手机判定摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例不满足视觉定位要求。
又示例的,手机还可以通过对摄像头采集的第i帧图像以及第j帧图像进行图像内容分析,获取摄像头采集的第j帧图像中与第i帧图像重复内容所占的比例。然后,手机再判断摄像头采集的第j帧图像中与第i帧图像重复内容所占的比例是否满足视觉定位要求。
上述仅为手机判断摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例是否满足视觉定位要求的具体实现方式的举例说明,并不构成对本申请实施例的限定,本申请实施例中还可以通过其它方式判断摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例是否满足视觉定位要求。
其中,手机可以先判断摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例是否满足视觉定位要求,在摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例满足视觉定位要求时,再判断摄像头采集的第j帧图像的内容丰富度是否满足视觉定位要求。或者,手机也可以先判断摄像头采集的第j帧图像的内容丰富度是否满足视觉定位要求,在第j帧图像的内容丰富度满足视觉定位要求时,再判断摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例是否满足视觉定位要求。又或者,手机可以同时判断摄像头采集的第j帧图像中与摄像头采集的第i帧图像重复内容所占的比例、和第j帧图像的内容丰富度是否满足视觉定位要求。本申请实施例对此不作限定。
下面以视觉定位请求包括摄像头采集的第i帧图像、相机参数、设备低精度姿态和设备低精度地理位置为例,对相机参数、设备低精度姿态和设备低精度地理位置进行说明。
相机参数为摄像头采集第i帧图像时使用的相机参数,可以包括相机内参数、曝光参数等。本申请实施例中相机内参数可以理解为与相机自身特性相关的参数,例如焦距、像素等。特别的,在摄像头的镜头为畸变较大的特殊镜头时,例如鱼眼镜头,相机内参数还包括畸变矫正参数。而对于畸变较小的镜头来说,相机内参数可以不包括畸变矫正参数。需要说明的是,相机参数可以是用户根据自身需要设置的,或者,相机参数是手机在出厂之前设置好的,或者,相机参数还可以是手机结合不同的功能设置(例如防抖动功能或自动变焦功能)自动调节的。又或者,相机参数中的部分参数是用户根据自身需求设置的,另外一部分参数可以是手机在出厂之前设置好的。
设备低精度姿态为手机在摄像头采集第i帧图像时测量的自身的姿态。具体的,设备低精度姿态用于指示手机在摄像头采集第i帧图像时的俯仰角、横滚角和朝向角中的至少一个。示例的,手机的俯仰角、手机的横滚角以及手机的朝向角可以是以世界坐标系为参考的。例如,如图4所示,手机的俯仰角为手机绕世界坐标系中的X轴旋转的角度,用于表示设备拍摄时的上下朝向,即摄像头朝上或朝下拍摄,手机的横滚角为手机绕世界坐标系中的Z轴旋转的角度,用于表示设备拍摄时左右倾斜的程度,手机的朝向角为手机绕世界坐标系中的Y轴旋转的角度,用于表示拍摄的朝向。
例如,设备低精度姿态可以是手机通过测量自身的姿态传感器(如陀螺仪传感器、磁传感器、加速度传感器和/或重力传感器中的一个或多个)的信息得到的。比如,手机通过测量摄像头采集第i帧图像时重力传感器的信息和磁传感器的信息,得到的手机的朝向角即为摄像头采集第i帧图像时手机的朝向角。通常磁传感器误差较大,在30度以内。又比如,手机通过测量摄像头采集第i帧图像时根据重力传感器的信息,得到的手机的俯仰角和横滚角,即为摄像头采集第i帧图像时手机的俯仰角和横滚角,通常误差在2度以内。
又例如,设备低精度姿态还可以是根据手机的同步定位与建图(simultaneouslocalization and mapping,SLAM)系统上局部地图的位姿信息得到的。需要说明的是,上述仅为手机获取设备低精度姿态的举例说明,本申请实施例中手机还可以通过其它方式获取设备低精度姿态。
设备低精度地理位置为手机在摄像头采集第i帧图像时测量得到的自身所在的地理位置,可以包括经度、纬度和高度,其精度范围通常在40m以内。例如,设备低精度地理位置可以是手机根据电磁波信号(例如GPS信号、或基站信号)确定的。又例如,设备低精度地理位置还可以是手机根据基于位置的服务(location based services,LBS)确定的。需要说明的是,上述仅为手机获取设备低精度地理位置的举例说明,本申请实施例中手机还可以通过其它方式获取设备低精度地理位置。
下面以视觉定位请求中包括摄像头采集的第i帧图像、相机参数、设备低精度姿态和设备低精度地理位置为例,对服务器执行视觉定位方法进行具体介绍。
首先,在服务器中预先存储全景地图中的M个候选地理位置、以及分别在该M个候选地理位置上以第一相机参数采集的360全景图像的图像特征。本申请实施例中,全景地图又可以称之为大场景地图。M为正整数。以M个候选地理位置中的一个候选地理位置上采集的360全景图像为例,该360全景图像的图像特征可以包括360全景图像中多个特征点的参数信息。每个特征点的参数信息可以包括特征点的朝向角、特征点的高度角和特征点所在的轮廓线的种类。其中,轮廓线可以用于表征360全景图像中不同的语义类型的内容之间的交界线,可以是连续的,也可以是不连续的。例如,以图5所示的图像为例,深灰色区域的内容的语义类型为建筑,深灰色区域的内容上方浅灰色区域的内容的语义类型为天空,深灰色区域的内容的下方的黑色区域的内容为地面,图5所示的图像包括两种类型的轮廓线,分别为建筑与天空之间的轮廓线,以及建筑与地面之间的轮廓线。
需要说明的是,360全景图像的参考坐标系可以为世界坐标系,在这种情况下,360全景图像的特征点的朝向角和高度角是以世界坐标系为参考的。以特定点为P点为例。如图6所示,世界坐标系中的原点O为观测点(拍照设备)所在的位置,世界坐标系中Z轴可以为南北方向,指向北方,X轴可以为东西方向,指向东方,Y轴为高度方向。P′点为P点在水平地面的投影。其中,由X轴、原点O和Y轴组成的平面为水平地面,OP方向为拍摄方向,OP与OP′之间的夹角为P点的高度角,OP′与Z轴之间的夹角δ为P点的朝向角。
示例的,特征点的朝向角和高度角可以使用整数型按照一定角分辨率表示(例如10/degree),从而有助于减小特征点的参数信息的数据量,本申请实施例中一个特征点的参数信息的大小可以仅为1kb。
例如,本申请实施例中候选地理位置、以及在候选地理位置上采集的360全景图像的图像特征可以以表1的格式存储:
表1
当然,上述仅为候选地理位置、以及在候选地理位置上采集的360全景图像的图像特征的存储格式的举例说明,本申请实施例对此并不做限定。
示例的,如图7所示,为本申请实施例中一种获取全景地图中候选地理位置以及在候选地理位置上采集的360全景图像的图像特征的方法的流程示意图,具体包括以下步骤:
701、构建大场景3D模型。示例的,大场景3D模型的精细等级可以为lod2(基础模型),也可以为lod1(体块模型)。
在一些实施例中,根据目标图片构建大场景3D模型。其中,目标图片为通过卫星或无人机等在高空针对地球上的某一个或多个地区拍摄的图像,可以是从第三方获取的。具体的,根据目标图片构建大场景3D模型的实现方式可以参见现有技术,在此不再赘述。
702、在大场景3D模型中用户可到达的区域放置虚拟拍照设备(例如虚拟相机),并记录每个虚拟拍照设备的地理位置、以及每个虚拟拍照设备采集360全景图像所使用的第一相机参数。其中,相邻两个虚拟拍照设备之间的间隔为固定值(例如1米)。需要说明的是,相邻两个虚拟拍照设备之间的间隔、第一相机参数可以是研发人员根据实际需要设置的。后续为便于计算,虚拟拍照设备是以俯仰角为0,横滚角为0的姿态放置的。
示例的,用户可到达的区域可以为道路、沙滩、山峰、河流等用户可以到达的区域。
例如,在如图8所示的大场景3D模型中,每个点表示一个虚拟拍照设备,相邻的两个点之间的间隔均为1米。
703,提取每个虚拟拍照设备以第一相机参数采集的360全景图像的图像特征。示例的,360全景图像的图像特征包括360全景图像中多个特征点的参数信息,每个特征点的参数信息可以包括特征点的朝向角、特征点的高度角和特征点所在的轮廓线的种类。需要说明的是,步骤703中涉及的特征点的朝向角、高度角可以是以世界坐标系为参考的,以便于后续视觉定位使用。
其中,上述360全景图像中特征点的朝向角在0°~360°的范围内,高度角在-40°~70°的范围内。
在一些实施例中,可以基于下列方式提取每个虚拟拍摄设备以第一相机参数采集的360全景图像的图像特征:
首先,获取在每个虚拟拍照设备以第一相机参数采集的360全景图像的语义图。360全景图像的语义图的分辨率是研发人员根据实际需要设置的,例如360全景图像的语义图的分辨率为0.1度/pix。例如,图5所示的图像为本申请实施例的一个360全景图像的语义图。然后,根据语义图,获取360全景图像的图像特征。其中,需要说明的是,360全景图像的语义图的分辨率为提取360全景图像的图像特征所使用的分辨率。
上述仅为一个获取全景地图中候选地理位置以及在候选地理位置上采集的360全景图像的图像特征获取方式的举例说明,本申请实施例并不限定获取全景地图中候选地理位置以及在候选地理位置上采集的360全景图像的图像特征的获取方式,例如,本申请实施例中的获取全景地图中候选地理位置以及在候选地理位置上采集的360全景图像的图像特征还可以通过人工采集方式获取的。
需要说明的是,图7所示的获取全景地图中候选地理位置以及在候选地理位置上采集的360全景图像的图像特征的方法可以在某一个或多个计算设备(例如计算机或服务器)上执行的。示例的,在用于执行图7所示的方法的计算设备可以为用于执行本申请实施例的视觉定位方法的服务器,也可以不为用于执行本申请实施例的视觉定位方法的服务器。应理解,在用于执行图7所示的方法的计算设备不是用于执行本申请实施例的视觉定位方法的服务器的情况下,计算设备在得到全景地图中候选地理位置以及在候选地理位置上采集的360全景图像的图像特征后,还需要将全景地图中候选地理位置、在候选地理位置上采集的360全景图像的图像特征以及获取360全景图像和图像特征所使用的相关参数(例如第一相机参数、360全景图像的语义图的分辨率等)上传到用于执行本申请实施例的视觉定位方法的服务器中,以便于服务器进行视觉定位。
示例的,如图9所示,为本申请实施例的一种视觉定位方法,具体包括以下步骤:
901、服务器接收来自手机的视觉定位请求。视觉定位请求中包括第一图像、第二相机参数、设备低精度姿态和设备低精度地理位置。其中,第一图像为手机的摄像头采集的一帧图像,第二相机参数为手机的摄像头采集第一图像时使用的参数,设备低精度姿态和设备低精度地理位置是手机的摄像头采集第一图像时测量的。
具体的,关于第二相机参数、设备低精度姿态和设备低精度地理位置可以参见上述手机侧关于相机参数、设备低精度姿态和设备低精度地理位置的介绍,在此不再赘述。
902、服务器根据第一相机参数和第二相机参数,获取第一图像的语义图。示例的,第一图像的语义图的分辨率为第一分辨率。第一分辨率是预先配置在服务器中的,为提取在全景地图中候选地理位置上采集的360全景图像的图像特征所使用的分辨率。例如,在采用图7所示的方法提取在全景地图中候选地理位置上采集的360全景图像的图像特征的情况下,提取在全景地图中候选地理位置上采集的360全景图像的图像特征所使用的分辨率为0.1度/pix,则第一分辨率为0.1度/pix。
需要说明的是,第一相机参数为在全景地图中候选地理位置上采集的360全景图像所使用的相机参数。在一些实施例中,第二相机参数不同于第一相机参数的情况下,服务器可以基于下列方式获取第一图像的语义图:
首先,服务器根据第一相机参数和第二相机参数,对第一图像进行图像处理,将第一图像转换为第二图像,第二图像的相机参数为第二相机参数。然后,服务器对第二图像进行语义分割处理,得到第一图像的语义图。从而有助于与在全景地图中候选地理位置上采集的360全景图像所使用的相机参数达到统一,提高视觉定位的可靠性。示例的,第二图像的语义分割处理所使用的算法可以为deeplab系列的语义分割算法,也可以为其它算法(例如RefineNet,PSPNet,CASENET)等,本申请实施例对此不作限定。或者,服务器先对第一图像进行语义分割处理,得到一个图像的语义图,然后在根据第一相机参数和第二相机参数,将对第一图像进行语音分割处理得到图像的语义图进行图像处理,得到第一图像的语义图,从而达到与在全景地图中候选地理位置上采集的360全景图像所使用的相机参数达到统一。
另外,可以理解的是,在第一相机参数与第二相机参数相同的情况下,服务器可以对第一图像进行语义分割处理,得到第一图像的语义图,而无需进行图像转换。
903、服务器根据第一图像的语义图,提取第一图像的图像特征。示例的,第一图像的图像特征包括多个特征点的参数信息,每个特征点的参数信息包括第一图像的特征点的朝向角、高度角和该特征点所在的轮廓线的种类。例如,特征点所在的轮廓线的种类可以通过轮廓线指示表征。轮廓线指示可以为一个数值,也可以为字符等,对此不作限定。
需要说明的是,第一图像中属于不同轮廓线类型的特征点的个数可以是相同的,也可以是不同的。
示例的,第一图像的参考坐标系为手机坐标系,因此,第一图像的特征点的朝向角、高度角是以手机坐标系为参考的,即从第一图像中提取的特征点的朝向角和高度角为特征点在手机坐标系中的朝向角和高度角。这里的手机坐标系可以理解为手机内局部定位系统(例如SLAM系统)的坐标系,或者,手机坐标系也可以理解为以手机上的某一位置(例如质心、摄像头所在的位置)为原点、以手机的显示屏的长边为X轴(或Y轴)、短边为Y轴(或X轴),垂直于显示屏所在平面的轴为Z轴的坐标系。
进一步的,在一些实施例中,服务器可以先根据第一图像的语义图,判断第一图像中的轮廓线的种类数是否大于或等于R。若第一图像中的轮廓线的种类数大于或等于R的情况下,服务器再根据第一图像的语义图,获取第一图像的图像特征,从而有助于提高视觉定位成功的概率。在另一些实施例中,在第一图像中的轮廓线的种类数小于R的情况下,服务器向手机返回视觉定位结果,该视觉定位结果用于指示基于图像定位失败。需要说明的是,R的取值可以是预配置在服务器中的。例如,服务器可以根据某一策略或算法调整R的取值,以使得R的取值更能满足视觉定位的需求。
904、服务器根据设备低精度姿态和第一图像的特征点在手机坐标系中的朝向角和高度角,转换为将第一图像的特征点在世界坐标系中的朝向角和高度角。
905、服务器根据设备低精度地理位置,从全景地图中的M个候选地理位置选择Q个候选地理位置。其中,Q个候选地理位置中每个候选地理位置与设备低精度地理位置之间的距离小于或等于第一阈值。第一阈值的取值可以是一个经验值,预先配置在服务器中的,也可以是根据手机获取设备低精度地理位置的精度确定的等,对此不作限定。例如,手机获取设备低精度地理位置的精度为30米,第一阈值的取值可以大于或等于30米。
需要说明是,步骤905与步骤902、903和904没有必然的先后关系,但是步骤905在步骤901之后,在步骤906之前;步骤902~904也在步骤901之后,在步骤906之前。例如,步骤905在步骤902之前。再例如,步骤905与步骤902同时执行。
906、服务器根据在Q个候选地理位置分别采集的360全景图像的图像特征和第一图像的图像特征,从Q个候选地理位置中确定第一地理位置。其中,第一地理位置在Q个候选地理位置中360全景图像与第一图像的图像特征的相似度最高。
以在Q个候选地理位置中的候选地理位置k采集的360全景图像的图像特征与第一图像的图像特征的相似度为例,对图像特征的相似度进行介绍。
示例的,图像特征的相似度满足以下表达式(1):
其中,Loss(x,y,h,offset)用于指示在候选地理位置k采集的360全景图像的图像特征与第一图像的图像特征的相似度,(x,y,h)为候选地理位置k,可以分别为经度、维度和高度,offset为一个朝向角的偏移量,可以取遍朝向角偏移量集合中所有的值,朝向角偏移量集合是预先配置在服务器中的,也可以通过当前已有的计算结果进行实时调整。Wi为第一图像中第i种轮廓线的权重值,是预先配置在服务器中的。Y(i)为第一图像中第i种轮廓线上所有特征点的朝向角集合,j为第一图像中第i种轮廓线上的一个特征点的朝向角。PI(i,j)为第一图像中第i种轮廓线上朝向角为j时特征点的高度角,r为第一图像中轮廓线的种类总数,PM(x,y,h)(i,j+offset)为在候选地理位置k采集的360全景图像中第i种轮廓线上朝向角为j+offset时特征点的高度角。
需要说明的是,上述是通过Loss评价或指示不同图像的图像特征的相似度的,仅为一种图像特征的相似度的计算方式的举例说明,并不构成对图像特征的相似度计算方式的限定。应理解,在实际实现时,对于图像特征的相似度的表达式可以有很多细节上的调整与优化,该表达式(1)只是一种举例说明,表示大致思路,并不构成对本申请实施例图像特征的相似度计算方式的限定。还需要说明的是,在通过Loss评价或指示图像特征的相似度的情况下,Loss的取值越小,图像特征的相似度越高,反之,图像特征的相似度越低。
此外,本申请实施例中,除了可以通过Loss评价图像特征的相似度以外,还可以通过图像的交并比(intersection over union,IOU)评价或指示图像特征的相似度。例如,服务器可以根据手机上报的图像、设备低精度位置、设备低精度姿态和在全景地图中的候选地理位置上采集的360全景图像,计算手机上报的图像与在全景地图中的候选地理位置上采集的360全景图像的IOU。
示例的,服务器可以针对在Q个候选地理位置上采集的360全景图像的图像特征分别遍历朝向角偏移量集合中所有的值,计算与第一图像的图像特征的相似度,然后,根据上述计算得到的与第一图像的图像特征的相似度,从Q个候选地理位置中确定第一地理位置。
或者,服务器可以先从Q个候选地理位置中选择Y个候选地理位置。其中,Y个候选地理位置中相邻地理位置之间间隔第二阈值,并针对在Y个候选地理位置上采集的360全景图像的图像特征分别遍历朝向角偏移量集合中所有的值,计算与第一图像的图像特征的相似度。然后,服务器根据上述计算得到的与第一图像的图像特征的相似度,从Y个候选地理位置中确定第二地理位置。其中,第二地理位置在Y个候选地理位置中360全景图像与第一图像的图像特征的相似度最高。服务器再根据第二地理位置,从Q个候选地理位置中选择Z个候选地理位置,该Z个候选地理位置中每个地理位置与第二地理位置之间的间隔小于或等于第三阈值。具体的,第二阈值大于第三阈值,且第二阈值和第三阈值是预先配置在服务器中的,例如第二阈值的取值为10米,第三阈值的取值可以为5米。服务器针对在这Z个候选地理位置上采集的360全景图像的图像特征,分别遍历朝向角偏移量集合中所有的值,计算与第一图像的图像特征的相似度。最后,服务器根据在Z个候选地理位置上采集的全景地图与第一图像的图像特征的相似度,从Z个候选地理位置中确定第一地理位置,第一地理位置在Z个候选地理中360全景图像与第一图像的图像特征的相似度最高。需要说明的是,第一地理位置在Q个候选地理中360全景图像与第一图像的图像特征的相似度也是最高的,即该第一地理位置为上述步骤906中的第一地理位置。从而有助于减少服务器的视觉定位的计算数据量。
907、服务器向手机返回视觉定位结果,视觉定位结果包括步骤906中确定的第一地理位置。
进一步的,在一些实施例中,服务器先判断在Q个候选地理位置上采集的360全景图像与第一图像的图像特征的最高相似度是否在第一范围内,若图像特征的最高相似度在第一范围内,则向手机返回视觉定位结果,视觉定位结果包括步骤906中确定的第一地理位置。在另一些实施例中,若图像特征的最高相似度不在第一范围内,则向手机返回视觉定位结果,该视觉定位结果用于指示视觉定位失败。从而有助于提高视觉定位精度。需要说明的是,第一范围可以是预先配置在服务器中的,可以为视觉定位精度要求的图像特征相似度范围。
在本申请的另一些实施例中,服务器还可以根据在全景地图中的候选地理位置上采集的360全景图像的图像特征和手机上报的设备低精度姿态,确定手机的设备高精度姿态,该设备高精度姿态可以用于指示手机的朝向角、横滚角和俯仰角中的至少一个。例如,设备高精度姿态可以包括手机的朝向角、横滚角和俯仰角中的至少一个,也可以为旋转矩阵Rx等。其中,旋转矩阵Rx可以参见下述相关介绍。
示例的,服务器还可以根据确定第一地理位置时所使用的offset和设备低精度姿态,确定手机的朝向角。例如,设备低精度姿态包括手机的朝向角为α,确定第一地理位置时所使用的offset为δ,则服务器根据设备低精度姿态和确定第一地理位置时所使用的offset,确定的手机的朝向角为α+δ。
示例的,服务器可以根据在全景地图中的候选地理位置上采集的360全景图像的图像特征和手机上报的设备低精度姿态,以及结合确定第一地理位置时所使用的offset,基于SVD分解算法,确定手机的横滚角和俯仰角。
例如,对于手机的俯仰角和横滚角可以基于下列方式确定:
首先,服务器根据确定第一地理位置时所使用的offset和第一图像中各个特征点的朝向角,确定第一图像中各个特征点调整后的朝向角。
其次,服务器从在全景地图中的M个候选地理位置上采集的360全景图像的图像特征中查找与第一图像中各个特征点调整后的朝向角相同时360全景图像的特征点的高度角。
然后,服务器对第一图像中各个特征点的调整后的朝向角、和高度角进行归一化处理,得到第一矩阵,第一矩阵中每列参数为指示第一图像中的一个特征点归一化后的坐标;以及对在M个候选地理位置上采集的360全景图像的图像特征中查找到的特征点的朝向角和高度角进行归一化处理,得到第二矩阵,第二矩阵中每列参数为指示360全景图像中的一个特征点归一化后的坐标;其中,第一矩阵和第二矩阵相同位置的参数所指示的特征点的朝向角是相同的。例如,本申请实施例中可以根据特征点的朝向角和高度角,将特征点映射到单位球面上,而单位球面上该特征点的投影点在世界坐标系下的3D坐标即为该特征点归一化后的坐标。当然,本申请实施例还可以通过其它方式得到特征点归一化后的坐标,对此不作限定。
最后,服务器根据第一矩阵和第二矩阵,基于SVD分解算法,得到旋转矩阵Rx。其中,旋转矩阵Rx左乘第一矩阵得到的矩阵与第二矩阵最接近。
以第一矩阵为PI、第二矩阵为PM为例,PI和PM均为3行n列的矩阵,其中n为第一图像中特征点的总个数。首先,基于SVD分解算法,得到使得满足||PM-RX1*PI||最小时Rx1的取值。然后,将RX1*PI转换为第一图像中各个特征点的高度角和朝向角。并在M个候选地理位置上采集的360全景图像的图像特征中,查找与由RX1*PI转换为的第一图像中各个特征点的朝向角相同的特征点的高度角,对在M个候选地理位置上采集的360全景图像的图像特征中查找到的特征点的朝向角和高度角进行归一化处理,得到矩阵PM1。继续基于SVD分解算法,得到满足||PM1-RX2*RX1*PI||最小时Rx2的取值,以此类推,基于SVD分解算法,得到满足||PMi-RXi*......*RX2*RX1*PI||最小时Rxi的取值。其中,PMi可以参见PM1的得到方式,在此不再赘述。当i的取值等于第四阈值、或者Rxi近似为单位矩阵时,Rx即为RXi*......*RX2*RX1。应理解,在Rxi近似为单位矩阵情况下,RXi*......*RX2*RX1*PI与PMi基本上重合。示例的,本申请实施例中当矩阵除对角线上以外的值近似为0,判定该矩阵近似为单位矩阵。其中,在矩阵除对角线上以外的值的绝对值小于或等于第五阈值(例如,0.0001)的情况下,判定矩阵除对角线上以外的值近似为0。
进一步的,服务器可以根据旋转矩阵Rx和设备低精度姿态,确定设备高精度姿态,即调整后的手机的俯仰角、横滚角和朝向角。示例的,手机的朝向角的调整方式可以参见上述根据offset调整手机的朝向角的介绍。示例的,对于手机的俯仰角和横滚角来说,服务器可以将旋转矩阵Rx转换为欧拉角,根据旋转矩阵Rx转化为的欧拉角,调整设备低精度姿态中手机的俯仰角和横滚角。
需要说明的是,图9仅为一个举例说明,不构成对本申请实施例视觉定位方法的限定。
当然,可以理解的是,本申请实施例中,在手机上预配置有全景地图中M个候选地理位置上采集的360全景图像的图像特征的情况下,手机可以在触发视觉定位流程后,执行图9所示的视觉定位方法中的步骤902~步骤906,即手机将步骤906中确定的第一地理位置作为摄像头采集第一图像时自身的所在的地理位置。
通过上述视觉定位方法,有助于手机能够获得精确度较高的地理位置,经大量采用上述方法得到的视觉定位结果的试验证明,在有效场景中,99%地理位置定位误差小于5米,90%地理位置定位误差小于3米,75%地理位置定位误差达小于2米,相对于现有技术,大大提高了地理位置的定位精度。而且采用本申请实施例的视觉定位方法,还能够获得精确度较高的设备姿态,经大量采用上述方法得到的视觉定位结果的试验证明,手机俯仰角和横滚角的误差在1°以内,99%朝向角误差在3度以内,90%朝向角的误差在1°以内,相对于现有技术,大大提高了设备姿态的获取精度。
需要说明的是,在另一些实施例中,服务器还可以结合多帧图像进行视觉定位。例如,手机在触发视觉定位流程后,向服务器上报第i帧图像之前,向服务器上报了第j帧图像,但是服务器根据第j帧图像定位失败,则服务器在接收到手机上报的第i帧图像后,可以根据采集第i帧图像时设备低精度地理位置和设备低精度姿态、以及采集第j帧图像设备低精度地理位置和设备低精度姿态,判定第i帧图像和第j帧图像中的内容的位置变化差异较小时,将第i帧图像和第j帧图像拼接为一帧图像,根据拼接后的图像进行视觉定位。从而有助于增加图像中的信息量,提高视觉定位精度和成功率。具体方法可以参见图9所示的视觉定位方法,在此不再赘述。在服务器判定第i帧图像和第j帧图像中的内容的位置变化差异较大时,根据第i帧图像进行视觉定位。当然,上述方法可以应用于三帧或更多帧图像的视觉定位中,在三帧或更多帧图像用于视觉定位的情况下,可以从多帧图像中轮廓线类型较多(即语义类型较丰富)的一帧或多帧(在挑选的多帧图像中如果满足图像的内容的位置变化较小),可以对挑选的多帧图像进行拼接得到一帧图像,然后根据拼接的图像进行视觉定位。
进一步的,在结合多帧进行视觉定位的情况下,服务器从多帧图像中挑选一帧或多帧图像后,得到第一图像,并提取第一图像的图像特征。然后,服务器根据第一图像与在Q个候选地理位置上采集的360全景图像的图像特征的相似度,并从Q个候选地理位置中,选出图像特征的相似度按照从高到低的顺序排列在前N位的候选地理位置。其中,第一图像为多帧图像中挑选的一帧图像或挑选的多帧图像拼接后的图像。关于Q个候选地理位置信息可以参见图9中的相关介绍,在此不再赘述。根据多帧图像中除第一图像以外的图像的图像特征,对选出的N个候选地理位置中每个候选地理位置打分,将N个候选地理位置信息分最高的候选地理位置作为向手机反馈的视觉定位结果中包括的第一地理位置。
以下以第一图像和第二图像、且N的取值为2为例。服务器根据第一图像与在Q个候选地理位置上采集的360全景图像的图像特征的相似度,从Q个候选地理位置中确定地理位置1和地理位置2。其中,地理位置1在Q个候选地理位置中360全景图像与第一图像的图像特征的相似度最高,地理位置2在Q个候选地理位置中360全景图像与第一图像的图像特征的相似度次高。服务器确定第二图像与在Q个候选地理位置中地理位置3上采集的360全景图像的图像特征的相似度、以及确定第二图像与在Q个候选地理位置中地理位置4上采集的360全景图像的图像特征的相似度。地理位置3是根据采集第一图像和第二图像的相对地理位置关系和地理位置1确定的,地理位置4是根据采集第一图像和第二图像的相对地理位置关系和地理位置2确定的。服务器针对地理位置1的得分F1=K11*L11+K21*L21,L11用于指示第一图像与在地理位置1上采集的360全景图像的图像特征的最高相似度,L21用于指示第二图像与在地理位置3上采集的360全景图像的图像特征的最高相似度,K11、K12可以为权重系数,可以与图像特征的相似度有关,也可以是预定义的。例如,图像特征的相似度在范围1内时,对应的权重系数为K11,图像特征的相似度在范围2内时,对应的权重系数为K21。类似的,服务器针对地理位置2的得分F2=K12*L12+K22*L22,L12用于指示第一图像与在地理位置2上采集的360全景图像的图像特征的最高相似度,L22用于指示第二图像与在地理位置4上采集的360全景图像的图像特征的最高相似度,K12、K22可以为权重系数。当F1小于F2时,服务器向手机返回的视觉定位结果中包括的第一位置信息为地理位置2,这样有助于进一步提高视觉定位的准确性。
当然,上述仅为一个针对地理位置打分的举例说明,并不构成对本申请实施例对地理位置打分方式的限定。本申请实施例中还可以通过其它方式对地理位置进行打分。
还需要说明的是,在图9所示的视觉定位方法中,当手机中的摄像头采集图像所使用的相机参数、与在全景地图中候选地理位置上采集360全景图像所使用的相机参数相同时,视觉定位请求中也可以不包括相机参数,服务器也无需根据相机参数进行图像处理。另外,当视觉定位请求中包括的第一图像的参考坐标系、与在全景地图中候选地理位置上采集360全景图像的参考坐标系相同,视觉定位请求中也可以不包括设备低精度姿态,服务器也无需根据对第一图像中的特征点的高度角和朝向角进行坐标系转换。
基于上述各个实施例,本申请实施例提供了一种视觉定位方法,可以如图10所示,具体包括以下步骤:
1001、电子设备检测到第一事件。第一事件用于触发视觉定位流程。
1002、电子设备判定摄像头采集的第i帧图像的内容丰富度满足视觉定位要求,向服务器发送第一视觉定位请求。第一视觉定位请求中包括第i帧图像和第一地理位置,第一地理位置为电子设备在摄像头采集第i帧图像时测量得到的。
1003、服务器在接收到来自电子设备的第一视觉定位请求后,提取第i帧图像的图像特征,以及根据第一地理位置,从全景地图的M个候选地理位置中选择Q个候选地理位置。该Q个候选地理位置中每个候选地理位置与第一地理位置之间的距离小于或等于第一阈值,所述Q小于或等于M,且M、Q为正整数。
1004、服务器从Q个候选地理位置中确定第二地理位置。第二地理位置在Q个候选地理位置中360全景图像与第i帧图像的图像特征的相似度最高。
1005、服务器向电子设备返回第一视觉定位结果。第一视觉定位结果包括第二地理位置。
在一些实施例中,第一视觉定位请求还可以包括摄像头采集第i帧图像时的相机参数和/或设备低精度姿态。在第一视觉定位请求包括摄像头采集第i帧图像时的设备低精度姿态情况下,第一视觉定位结果还可以包括设备高精度姿态,设备高精度姿态用于指示摄像头采集第i帧图像时的电子设备的高度角、俯仰角和朝向角中的至少一个。
在另一些实施例中,服务器根据第一地理位置,未从全景地图的M个候选地理位置中选择出一个候选地理位置、或者Q个候选地理位置中360全景图像与第一图像的图像特征的相似度最高也在视觉定位精度要求的图像特征相似度范围内,则向电子设备返回第二视觉定位结果,第二视觉定位结果用于指示基于第i帧图像定位失败。
关于图10所示的视觉定位方法中的具体实现可以参见上述实施例中的相关介绍,在此不再赘述。
上述各实施例可以单独使用,也可以相互结合使用,以实现不同的技术效果。
上述本申请提供的实施例中,从电子设备、服务器作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,电子设备或服务器可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
如图11所示,本申请实施例公开了一种电子设备1100,该电子设备1100可以包括:摄像头1101、一个或多个处理器1102、存储器1103以及一个或多个计算机程序。示例的,上述各器件可以通过一个或多个通信总线连接。其中该一个或多个计算机程序被存储在上述存储器1103中并被配置为被该一个或多个处理器1102执行,实现本申请实施例图10所示的视觉定位方法电子设备侧所实现的功能。
在一些实施例中,电子设备1100还可以包括显示屏1104和/或麦克风1105,显示屏1104用于显示调整摄像头1101的拍摄角度和/或调整设备姿态的提示信息,麦克风1105用于调整摄像头1101的拍摄角度和/或调整设备姿态的提示信息。
如图12所示,为本申请实施例公开的一种服务器1200,该服务器1200包括:一个或多个处理器1201、存储器1202和一个或多个计算机程序。其中该一个或多个计算机程序被存储在上述存储器1202中并被配置为被该一个或多个处理器1201执行,实现本申请实施例图9或图10所示的视觉定位方法服务器侧所实现的功能。
另外,本申请实施例还公开了一种通信系统,包括电子设备1100和服务器1200。
上述各个实施例中涉及处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的指令,结合其硬件完成上述方法的步骤。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内,因此本申请的保护范围应以权利要求的保护范围为准。
Claims (19)
1.一种视觉定位方法,其特征在于,应用于电子设备,所述电子设备包括摄像头,所述方法包括:
检测到第一事件,所述第一事件用于触发视觉定位流程;
判断所述摄像头采集的第一图像中轮廓线的种类数是否大于或等于第一阈值;
若所述第一图像中轮廓线的种类数大于或等于所述第一阈值,向服务器发送第一视觉定位请求,所述第一视觉定位请求包括所述第一图像和第一地理位置,所述第一地理位置为所述电子设备在所述摄像头采集所述第一图像时测量的自身所在的地理位置;
接收来自所述服务器响应于所述第一视觉定位请求发送的第一视觉定位结果,所述第一视觉定位结果包括第二地理位置,所述第二地理位置为所述摄像头采集所述第一图像时所述电子设备所在的地理位置,且所述第二地理位置的精度高于所述第一地理位置的精度。
2.如权利要求1所述的方法,其特征在于,所述第一视觉定位请求还包括第一相机参数和/或第一设备姿态,所述第一相机参数为所述摄像头采集所述第一图像时使用的相机参数,所述第一设备姿态用于指示所述电子设备在所述摄像头采集所述第一图像时测量的自身的高度角、俯仰角和横滚角中的至少一个。
3.如权利要求1或2所述的方法,其特征在于,所述判断所述摄像头采集的第一图像中轮廓线的种类数是否大于或等于第一阈值之前,还包括:
判定所述电子设备的俯仰角在第一角度范围内,且所述电子设备的横滚角在第二角度范围内。
4.如权利要求1至3任一所述的方法,其特征在于,所述第一视觉定位结果还包括:第二设备姿态,所述第二设备姿态用于指示所述摄像头采集所述第一图像时所述电子设备的高度角、俯仰角和横滚角中的至少一个,且所述第二设备姿态的精度高于所述第一设备姿态的精度。
5.如权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
接收到来自所述服务器响应于所述第一视觉定位请求发送的第二视觉定位结果,所述第二视觉定位结果用于指示基于所述第一图像定位失败;
当所述摄像头采集的第二图像中与所述第一图像的重复内容所占的比例小于或等于第二阈值、以及所述第二图像中轮廓线的种类数大于或等于所述第一阈值时,向所述服务器发送第二视觉定位请求,所述第二视觉定位请求包括所述第二图像和第三地理位置,所述第三地理位置为所述电子设备在所述摄像头采集所述第二图像时测量的自身所在的地理位置。
6.如权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
若所述第一图像中轮廓线的种类数小于所述第一阈值,向用户提示调整所述摄像头的拍摄角度。
7.一种视觉定位方法,其特征在于,所述方法包括:
服务器接收来自电子设备的第一视觉定位请求,所述第一视觉定位请求包括第一图像和第一地理位置;
所述服务器提取第一图像的图像特征;
所述服务器根据所述第一地理位置,从全景地图中采集360全景图像的M个候选地理位置中选择Q个候选地理位置,所述Q个候选地理位置中每个候选地理位置与所述第一地理位置之间的距离小于或等于第一阈值,所述Q小于或等于M,且M、Q为正整数;
所述服务器从所述Q个候选地理位置中确定第二地理位置,所述第二地理位置在所述Q个候选地理位置中360全景图像与所述第一图像的图像特征的相似度最高;
所述服务器向所述电子设备返回第一视觉定位结果,所述第一视觉定位结果包括所述第二地理位置。
8.如权利要求7所述的方法,其特征在于,所述第一图像的图像特征包括所述第一图像中N个特征点的轮廓线指示、以及所述N个特征点在第一坐标系中的朝向角和高度角,所述N为正整数,所述第一坐标系为在所述全景地图中的候选地理位置上采集的360全景图像的参考坐标系,所述轮廓线指示用于指示特征点所在的轮廓线的种类。
9.如权利要求8所述的方法,其特征在于,所述第一视觉定位请求还包括第一设备姿态;
所述服务器提取第一图像的图像特征,包括:
所述服务器对所述第一图像进行语义分割,得到所述第一图像的语义图,并根据所述第一图像的语义图,获取所述第一图像中N个特征点的轮廓线指示、以及所述N个特征点在第二坐标系中的朝向角和高度角;所述第二坐标系为所述第一图像的参考坐标系;
所述服务器根据所述第一设备姿态和所述N个特征点在所述第二坐标系中朝向角和高度角,获取所述N个特征点在所述第一坐标系中的朝向角和高度角。
10.如权利要求9所述的方法,其特征在于,所述第一视觉定位请求还包括第一相机参数,所述第一相机参数为采集所述第一图像所使用的相机参数;
所述服务器对所述第一图像进行语义分割,得到所述第一图像的语义图,包括:
所述服务器对所述第一图像进行图像处理得到中间图像,并对所述中间图像进行语义分割,得到所述第一图像的语义图;所述中间图像的相机参数为第二相机参数;或者,
所述服务器对所述第一图像进行语义分割,得到中间图像的语义图,并对所述中间图像的语义图进行图像处理,得到所述第一图像的语义图,所述第一图像的语义图的相机参数为所述第二相机参数;
其中,所述第二相机参数为在所述全景地图中的候选地理位置上采集的360全景图像时使用的相机参数。
11.如权利要求8至10任一所述的方法,其特征在于,在所述第二地理位置上采集的360全景图像的图像特征与所述第一图像的图像特征的相似度满足下列表达式:
其中,(x,y,h)为所述第二地理位置,offset为朝向角偏移量集合中的一个朝向角的偏移量,Loss(x,y,h,offset)用于表征在所述第二地理位置上采集的360全景图像的图像特征与所述第一图像的图像特征的相似度,Wi为所述第一图像中第i种轮廓线的权重值,Y(i)为所述第一图像中第i种轮廓线上所有特征点的朝向角的集合,j为所述第一图像中第i种轮廓线上的一个特征点的朝向角,PI(i,j)为所述第一图像中第i种轮廓线上朝向角为j时特征点的高度角,r为所述第一图像中轮廓线的种类总数,PM(x,y,h)(i,j+offset)为在所述第二地理位置上采集的360全景图像中第i种轮廓线上朝向角为j+offset的特征点的高度角。
12.如权利要求7至11任一所述的方法,其特征在于,所述服务器从全景地图中采集360全景图像的M个候选地理位置中选择Q个候选地理位置之前,所述方法还包括:
所述服务器判定所述第一图像中轮廓线的种类数大于或等于第一阈值。
13.如权利要求7至12任一所述的方法,其特征在于,在所述第二地理位置上采集的360全景图像的图像特征与所述第一图像的图像特征的最高相似度在视觉定位精度要求的图像特征相似度范围内。
14.如权利要求13所述的方法,其特征在于,所述方法还包括:
当在所述第二地理位置上采集的360全景图像的图像特征与所述第一图像的图像特征的最高相似度不在所述视觉定位精度要求的图像特征相似度范围内时,所述服务器向所述电子设备返回第二视觉定位结果,所述第二视觉定位结果用于指示基于所述第一图像定位失败。
15.一种电子设备,其特征在于,所述电子设备包括摄像头、一个或多个处理器、存储器、以及一个或多个计算机程序;
其中,所述摄像头用于采集图像;
所述计算机程序被存储在所述存储器中,当所述处理器运行时调用所述计算机程序,使得所述电子设备执行如利要求1至6任一所述的方法。
16.一种服务器,其特征在于,所述服务器包括一个或多个处理器、存储器以及计算机程序;
其中,所述计算机程序被存储在所述存储器中;当所述处理器运行时调用所述计算机程序,使得所述服务器执行如权利要求7至14任一所述的方法。
17.一种芯片,其特征在于,所述芯片与电子设备中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的计算机程序,实现如权利要求1至6任一所述的方法、和/或者如权利要求7至14任一所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在所述电子设备上运行时,使得所述电子设备执行如权利要求1至6任一所述的方法、和/或如权利要求7至14任一所述的方法。
19.一种通信系统,其特征在于,包括电子设备和服务器,其中,所述电子设备用于执行如权利要求1至6任一所述的方法;所述服务器用于执行如权利要求7至14任一所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020104051968 | 2020-05-14 | ||
CN202010405196 | 2020-05-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672756A true CN113672756A (zh) | 2021-11-19 |
Family
ID=78537923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010580807.2A Pending CN113672756A (zh) | 2020-05-14 | 2020-06-23 | 一种视觉定位方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672756A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114998684A (zh) * | 2022-05-20 | 2022-09-02 | 北京百度网讯科技有限公司 | 地理与视觉跨模态预训练模型的训练方法、定位调整方法 |
CN115294204A (zh) * | 2022-10-10 | 2022-11-04 | 浙江光珀智能科技有限公司 | 一种户外目标定位方法及系统 |
WO2023131089A1 (zh) * | 2022-01-06 | 2023-07-13 | 华为技术有限公司 | 一种增强现实系统、增强现实场景定位方法及设备 |
CN117506884A (zh) * | 2023-01-06 | 2024-02-06 | 奇勃(深圳)科技有限公司 | 机器人的视觉识别定位方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103398717A (zh) * | 2013-08-22 | 2013-11-20 | 成都理想境界科技有限公司 | 全景地图数据库采集系统及基于视觉的定位、导航方法 |
WO2017161588A1 (zh) * | 2016-03-25 | 2017-09-28 | 华为技术有限公司 | 一种定位方法及装置 |
WO2019140745A1 (zh) * | 2018-01-16 | 2019-07-25 | 广东省智能制造研究所 | 机器人定位方法及装置 |
CN110866079A (zh) * | 2019-11-11 | 2020-03-06 | 桂林理工大学 | 一种智慧景区实景语义地图的生成与辅助定位方法 |
US20200097770A1 (en) * | 2018-09-26 | 2020-03-26 | Apple Inc. | Localization For Mobile Devices |
CN110919644A (zh) * | 2019-06-11 | 2020-03-27 | 远形时空科技(北京)有限公司 | 一种利用摄像头设备和机器人进行定位交互的方法及系统 |
CN111046125A (zh) * | 2019-12-16 | 2020-04-21 | 视辰信息科技(上海)有限公司 | 一种视觉定位方法、系统及计算机可读存储介质 |
-
2020
- 2020-06-23 CN CN202010580807.2A patent/CN113672756A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103398717A (zh) * | 2013-08-22 | 2013-11-20 | 成都理想境界科技有限公司 | 全景地图数据库采集系统及基于视觉的定位、导航方法 |
WO2017161588A1 (zh) * | 2016-03-25 | 2017-09-28 | 华为技术有限公司 | 一种定位方法及装置 |
WO2019140745A1 (zh) * | 2018-01-16 | 2019-07-25 | 广东省智能制造研究所 | 机器人定位方法及装置 |
US20200097770A1 (en) * | 2018-09-26 | 2020-03-26 | Apple Inc. | Localization For Mobile Devices |
CN110919644A (zh) * | 2019-06-11 | 2020-03-27 | 远形时空科技(北京)有限公司 | 一种利用摄像头设备和机器人进行定位交互的方法及系统 |
CN110866079A (zh) * | 2019-11-11 | 2020-03-06 | 桂林理工大学 | 一种智慧景区实景语义地图的生成与辅助定位方法 |
CN111046125A (zh) * | 2019-12-16 | 2020-04-21 | 视辰信息科技(上海)有限公司 | 一种视觉定位方法、系统及计算机可读存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023131089A1 (zh) * | 2022-01-06 | 2023-07-13 | 华为技术有限公司 | 一种增强现实系统、增强现实场景定位方法及设备 |
CN114998684A (zh) * | 2022-05-20 | 2022-09-02 | 北京百度网讯科技有限公司 | 地理与视觉跨模态预训练模型的训练方法、定位调整方法 |
CN115294204A (zh) * | 2022-10-10 | 2022-11-04 | 浙江光珀智能科技有限公司 | 一种户外目标定位方法及系统 |
CN117506884A (zh) * | 2023-01-06 | 2024-02-06 | 奇勃(深圳)科技有限公司 | 机器人的视觉识别定位方法、装置、设备及存储介质 |
CN117506884B (zh) * | 2023-01-06 | 2024-08-30 | 奇勃(深圳)科技有限公司 | 机器人的视觉识别定位方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110445978B (zh) | 一种拍摄方法及设备 | |
CN110012154A (zh) | 一种具有折叠屏的电子设备的控制方法及电子设备 | |
CN113672756A (zh) | 一种视觉定位方法及电子设备 | |
CN110458902B (zh) | 3d光照估计方法及电子设备 | |
CN114365482A (zh) | 一种基于Dual Camera+TOF的大光圈虚化方法 | |
CN111741284A (zh) | 图像处理的装置和方法 | |
CN116723256A (zh) | 一种具有折叠屏的电子设备的显示方法 | |
WO2021175097A1 (zh) | 一种非视距物体的成像方法和电子设备 | |
CN112584037B (zh) | 保存图像的方法及电子设备 | |
CN112087649B (zh) | 一种设备搜寻方法以及电子设备 | |
CN114466308A (zh) | 一种定位方法和电子设备 | |
WO2022062884A1 (zh) | 文字输入方法、电子设备及计算机可读存储介质 | |
CN115150542B (zh) | 一种视频防抖方法及相关设备 | |
CN114880251A (zh) | 存储单元的访问方法、访问装置和终端设备 | |
CN113468929A (zh) | 运动状态识别方法、装置、电子设备和存储介质 | |
WO2022022466A1 (zh) | 一种确定文件存储位置的方法、装置及终端 | |
CN114079855A (zh) | 一种低功耗定位方法及相关装置 | |
CN114812381B (zh) | 电子设备的定位方法及电子设备 | |
CN114302063B (zh) | 一种拍摄方法及设备 | |
CN115762108A (zh) | 遥控方法、遥控设备和被控制设备 | |
CN110807411B (zh) | 一种月亮识别方法及电子设备 | |
CN115701113A (zh) | 拍摄方法、拍摄参数训练方法、电子设备及存储介质 | |
WO2023011602A1 (zh) | 一种卫星通信系统中传输控制方法及相关装置 | |
CN118623873A (zh) | 一种位姿优化方法及电子设备 | |
CN117714894A (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 |