CN112683262A - Positioning method and device, electronic equipment and storage medium - Google Patents

Positioning method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112683262A
CN112683262A CN202011382582.6A CN202011382582A CN112683262A CN 112683262 A CN112683262 A CN 112683262A CN 202011382582 A CN202011382582 A CN 202011382582A CN 112683262 A CN112683262 A CN 112683262A
Authority
CN
China
Prior art keywords
positioning
positioning result
electronic device
electronic equipment
determining
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
Application number
CN202011382582.6A
Other languages
Chinese (zh)
Inventor
谢卫健
钱权浩
王楠
章国锋
鲍虎军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Shangtang Technology Development Co Ltd
Zhejiang Sensetime Technology Development Co Ltd
Original Assignee
Zhejiang Shangtang Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Shangtang Technology Development Co Ltd filed Critical Zhejiang Shangtang Technology Development Co Ltd
Priority to CN202011382582.6A priority Critical patent/CN112683262A/en
Publication of CN112683262A publication Critical patent/CN112683262A/en
Priority to PCT/CN2021/101040 priority patent/WO2022110777A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • G01C11/06Interpretation of pictures by comparison of two or more pictures of the same area
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; 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/30Map- or contour-matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; 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/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Navigation (AREA)

Abstract

The disclosure relates to a positioning method and apparatus, an electronic device and a storage medium, wherein the method is applied to a second electronic device and includes: under the condition that a positioning request from first electronic equipment is received, determining a current geographical area where the first electronic equipment is located according to a first positioning result in the positioning request, wherein the positioning request comprises an environment image of an environment where the first electronic equipment is located and the first positioning result local to the first electronic equipment; determining a point cloud sub-map corresponding to the current geographic area from a preset point cloud map; performing visual positioning on the first electronic equipment according to the environment image and the point cloud sub-map to obtain a second positioning result of the first electronic equipment; and sending the second positioning result to the first electronic equipment. The embodiment of the disclosure can improve the success rate and the positioning precision of positioning.

Description

Positioning method and device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a positioning method and apparatus, an electronic device, and a storage medium.
Background
When people move indoors and outdoors (such as inside a large shopping mall, on a city road, etc.), the people often need to determine their own position by positioning, go to a destination by navigation, and the like. In the related art, when terminal positioning is realized in a visual positioning manner, positioning is usually performed only by relying on an image uploaded by a user, so that positioning accuracy cannot be guaranteed, and positioning errors are easily caused particularly in application environments such as weak texture, repeated texture, large scenes and the like.
Disclosure of Invention
The present disclosure provides a positioning technical solution.
According to an aspect of the present disclosure, there is provided a positioning method applied to a second electronic device, including:
under the condition that a positioning request from first electronic equipment is received, determining a current geographical area where the first electronic equipment is located according to a first positioning result in the positioning request, wherein the positioning request comprises an environment image of an environment where the first electronic equipment is located and the first positioning result local to the first electronic equipment; determining a point cloud sub-map corresponding to the current geographic area from a preset point cloud map; performing visual positioning on the first electronic equipment according to the environment image and the point cloud sub-map to obtain a second positioning result of the first electronic equipment; and sending the second positioning result to the first electronic equipment.
In a possible implementation manner, the visually positioning the first electronic device according to the environment image and the point cloud sub-map to obtain a second positioning result of the first electronic device includes: performing projection matching on the environment image and the point cloud sub-map, and determining point cloud information matched with the environment image; and determining a second positioning result of the first electronic equipment according to the matched point cloud information.
In a possible implementation manner, the positioning request further includes gravity posture information of the first electronic device, and the visually positioning the first electronic device according to the environment image and the point cloud sub-map to obtain a second positioning result of the first electronic device includes: matching the environment image with the point cloud sub-map to obtain a third positioning result of the first electronic device; and verifying the third positioning result according to the gravity attitude information, and determining the second positioning result, wherein the second positioning result comprises the position information and the attitude information of the first electronic device.
In a possible implementation manner, the verifying the third positioning result according to the gravity posture information and determining the second positioning result includes: determining a first direction of the first electronic device according to the gravity attitude information; determining a second direction of the first electronic device according to the attitude information in the third positioning result; determining a third positioning result satisfying a verification condition as the second positioning result, the verification condition including that an angle difference between the first direction and the second direction in a gravity direction is less than or equal to an angle threshold.
In one possible implementation, the method further includes: and sending positioning failure information to the first electronic equipment under the condition that all the third positioning results do not meet the verification condition.
According to an aspect of the present disclosure, there is provided a positioning method applied to a first electronic device, including: sending a positioning request to second electronic equipment, wherein the positioning request comprises an environment image of an environment where the first electronic equipment is located and a first positioning result local to the first electronic equipment; under the condition that a second positioning result sent by the second electronic equipment is received, judging whether the second positioning result meets a consistency verification condition or not according to at least one first historical positioning result local to the first electronic equipment and at least one second historical positioning result sent by the second electronic equipment; and under the condition that the second positioning result meets the consistency verification condition, positioning and displaying according to the second positioning result.
In a possible implementation manner, the determining, according to at least one first historical positioning result local to the first electronic device and at least one second historical positioning result sent by the second electronic device, whether the second positioning result satisfies a consistency verification condition includes: determining attitude deviation according to first attitude information in the first positioning result, second attitude information in the second positioning result, third attitude information in the first historical positioning result and fourth attitude information in the second historical positioning result; determining that the second positioning result satisfies a consistency verification condition if the attitude deviation is less than or equal to a deviation threshold.
In one possible implementation, before sending the positioning request to the second electronic device, the method further includes: and determining a first positioning result local to the first electronic equipment according to the environment image and the local map of the first electronic equipment, wherein the first positioning result comprises position information and posture information of the first electronic equipment.
In one possible implementation, before sending the positioning request to the second electronic device, the method further includes: determining gravity attitude information of the first electronic device through an Inertial Measurement Unit (IMU) of the first electronic device, wherein the positioning request comprises the gravity attitude information.
In a possible implementation manner, the positioning and displaying according to the second positioning result includes: determining a navigation path of the first electronic equipment according to the second positioning result and the geographic position of the destination; and displaying the augmented reality AR navigation path in a display interface of the first electronic equipment screen according to the navigation path.
In a possible implementation manner, the positioning and displaying according to the second positioning result includes: determining second position and posture information of the AR object in a display interface of a screen of the first electronic equipment according to the second positioning result and the first position and posture information of the AR object; and displaying the AR object in the display interface according to the second position and posture information.
According to an aspect of the present disclosure, there is provided a positioning apparatus applied to a second electronic device, including: the positioning method comprises the steps that under the condition that a positioning request from first electronic equipment is received, the current geographic area where the first electronic equipment is located is determined according to a first positioning result in the positioning request, wherein the positioning request comprises an environment image of the environment where the first electronic equipment is located and the first positioning result local to the first electronic equipment; the sub-map determining module is used for determining a point cloud sub-map corresponding to the current geographic area from a preset point cloud map; the positioning module is used for carrying out visual positioning on the first electronic equipment according to the environment image and the point cloud sub-map to obtain a second positioning result of the first electronic equipment; and the result sending module is used for sending the second positioning result to the first electronic equipment.
In one possible implementation, the positioning module includes: the first matching sub-module is used for performing projection matching on the environment image and the point cloud sub-map and determining point cloud information matched with the environment image; and the result determining module is used for determining a second positioning result of the first electronic equipment according to the matched point cloud information.
In a possible implementation manner, the positioning request further includes gravity posture information of the first electronic device, and the positioning module includes: the second matching sub-module is used for matching the environment image with the point cloud sub-map to obtain a third positioning result of the first electronic device; and the first verification submodule is used for verifying the third positioning result according to the gravity attitude information and determining the second positioning result, and the second positioning result comprises the position information and the attitude information of the first electronic equipment.
In one possible implementation, the first verification sub-module is configured to: determining a first direction of the first electronic device according to the gravity attitude information; determining a second direction of the first electronic device according to the attitude information in the third positioning result; determining a third positioning result satisfying a verification condition as the second positioning result, the verification condition including that an angle difference between the first direction and the second direction in a gravity direction is less than or equal to an angle threshold.
In one possible implementation, the apparatus further includes: and the information sending module is used for sending positioning failure information to the first electronic equipment under the condition that all the third positioning results do not meet the verification condition.
According to an aspect of the present disclosure, there is provided a positioning apparatus applied to a first electronic device, including: the request sending module is used for sending a positioning request to second electronic equipment, wherein the positioning request comprises an environment image of an environment where the first electronic equipment is located and a first positioning result local to the first electronic equipment; the verification module is used for judging whether a second positioning result meets a consistency verification condition or not according to at least one first historical positioning result local to the first electronic equipment and at least one second historical positioning result sent by the second electronic equipment under the condition of receiving the second positioning result sent by the second electronic equipment; and the positioning and displaying module is used for positioning and displaying according to the second positioning result under the condition that the second positioning result meets the consistency verification condition.
In one possible implementation, the verification module includes: a deviation determining submodule, configured to determine a posture deviation according to first posture information in the first positioning result, second posture information in the second positioning result, third posture information in the first historical positioning result, and fourth posture information in the second historical positioning result; and the second verification submodule is used for determining that the second positioning result meets the consistency verification condition under the condition that the attitude deviation is less than or equal to a deviation threshold value.
In a possible implementation manner, before the request sending module, the apparatus further includes: and the local positioning module is used for determining a local first positioning result of the first electronic equipment according to the environment image and the local map of the first electronic equipment.
In a possible implementation manner, before the request sending module, the apparatus further includes: a gravity attitude determination module, configured to determine, through an inertial measurement unit IMU of the first electronic device, gravity attitude information of the first electronic device, where the positioning request includes the gravity attitude information.
In one possible implementation, the positioning and presentation module is configured to: determining a navigation path of the first electronic equipment according to the second positioning result and the geographic position of the destination; and displaying the augmented reality AR navigation path in a display interface of the first electronic equipment screen according to the navigation path.
In one possible implementation, the positioning and presentation module is configured to: determining second position and posture information of the AR object in a display interface of a screen of the first electronic equipment according to the second positioning result and the first position and posture information of the AR object; and displaying the AR object in the display interface according to the second position and posture information.
According to an aspect of the present disclosure, there is provided an electronic device including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to invoke the memory-stored instructions to perform the above-described method.
According to an aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the above-described method.
According to the embodiment of the disclosure, the positioning request sent by the first electronic device can include a local positioning result, the second electronic device determines the current geographic area where the first electronic device is located according to the local positioning result, and performs positioning according to the sub-map of the current geographic area, so that the success rate and the positioning accuracy of positioning are improved, and the probability of mismatching is reduced.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. Other features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure.
Fig. 1 shows a flow chart of a positioning method according to an embodiment of the present disclosure.
Fig. 2 shows a flow chart of a positioning method according to an embodiment of the present disclosure.
Fig. 3 shows a block diagram of a positioning device according to an embodiment of the present disclosure.
Fig. 4 shows a block diagram of a positioning device according to an embodiment of the present disclosure.
Fig. 5 shows a block diagram of an electronic device in accordance with an embodiment of the disclosure.
Fig. 6 illustrates a block diagram of an electronic device in accordance with an embodiment of the disclosure.
Detailed Description
Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers can indicate functionally identical or similar elements. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The word "exemplary" is used exclusively herein to mean "serving as an example, embodiment, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
The term "and/or" herein is merely an association describing an associated object, meaning that three relationships may exist, e.g., a and/or B, may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the term "at least one" herein means any one of a plurality or any combination of at least two of a plurality, for example, including at least one of A, B, C, and may mean including any one or more elements selected from the group consisting of A, B and C.
Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a better understanding of the present disclosure. It will be understood by those skilled in the art that the present disclosure may be practiced without some of these specific details. In some instances, methods, means, elements and circuits that are well known to those skilled in the art have not been described in detail so as not to obscure the present disclosure.
The positioning method according to the embodiment of the disclosure can be applied to indoor and outdoor scenes such as large malls, transportation hubs, hospitals and large exhibition halls, and the positioning accuracy is improved. The positioning method can be implemented by a first electronic device and a second electronic device. The first electronic device may, for example, comprise a terminal device and the second electronic device may, for example, comprise a cloud server.
Fig. 1 shows a flowchart of a positioning method according to an embodiment of the present disclosure, the positioning method being applicable to a second electronic device, as shown in fig. 1, the positioning method including:
in step S11, when a positioning request from a first electronic device is received, determining a current geographic area where the first electronic device is located according to a first positioning result in the positioning request, where the positioning request includes an environment image of an environment where the first electronic device is located and a first positioning result local to the first electronic device;
in step S12, determining a point cloud sub-map corresponding to the current geographic area from a preset point cloud map;
in step S13, visually positioning the first electronic device according to the environmental image and the point cloud sub-map, so as to obtain a second positioning result of the first electronic device;
in step S14, the second positioning result is sent to the first electronic device.
In a possible implementation manner, the second electronic device may be, for example, a cloud server, and stores a point cloud map of an entire geographic area (for example, an internal area of a mall, a city area, and the like) where the first electronic device is located.
In one possible implementation, the first electronic device may be a terminal device, such as a User Equipment (UE), a mobile device, a User terminal, a cellular phone, a cordless phone, a Personal Digital Assistant (PDA), a handheld device, a computing device, a vehicle-mounted device, a wearable device, or the like. The method may be implemented by a processor invoking computer readable instructions stored in a memory.
In a possible implementation manner, when a user holding or wearing the first electronic device needs to determine a position of the user, an environmental image of an environment where the user is located may be acquired by an acquisition component (e.g., a camera) of the first electronic device, for example, an image of a scene faced by the first electronic device is captured. The environmental image may be one or more images, or may be a short video including a plurality of frames of images, which is not limited in this disclosure.
In a possible implementation manner, a set of Simultaneous Localization And Mapping (SLAM) system may be locally operated in the first electronic device. When positioning is carried out, the primary positioning is carried out through the local SLAM system, then the positioning result of the cloud is requested, and the position and posture information of the local SLAM is corrected.
In one possible implementation manner, a local map of the entire geographic area where the first electronic device is located may be stored in the first electronic device, and the accuracy of the local map is lower than that of the point cloud map in the second electronic device. When positioning is performed, the first electronic device may collect an environment image, perform preliminary positioning through the SLAM system according to the environment image and the local map, and obtain a local positioning result (referred to as a first positioning result) of the first electronic device.
In one possible implementation manner, the first positioning result may include position information and posture information of the first electronic device, and the positioning accuracy of the first positioning result may be lower than that of the cloud.
In one possible implementation manner, the first electronic device may send a positioning request to the second electronic device, where the positioning request may include the environment image and the first positioning result. By the method, the positioning result of the local SLAM system can be used as the prior information during cloud positioning, so that the matching efficiency of the second electronic equipment can be improved, and the positioning accuracy is improved.
In a possible implementation manner, in step S11, the second electronic device, upon receiving a positioning request from the first electronic device, may determine, according to the first positioning result, a current geographic area in which the first electronic device is located. That is, the second electronic device may determine the area where the first electronic device is located by using the positioning information (e.g., the attitude pos) locally provided by the first electronic device, so as to perform local minimap positioning and improve the positioning accuracy.
The current geographic area may be an area within a certain range near the local positioning location of the first electronic device, for example, a circular area having a distance from the local positioning location of the first electronic device within a preset distance (for example, 5 to 10 meters), and the specific range of the current geographic area is not limited by the present disclosure.
In one possible implementation, in step S12, a point cloud sub-map corresponding to the current geographic area may be determined from the point cloud maps of the entire geographic area. In step S13, the first electronic device may be visually located according to the environmental image and the point cloud sub-map, so as to obtain a second location result of the first electronic device.
In one possible implementation, the second electronic device may extract feature information of the environmental image. Feature extraction can be performed on the environment image through a pre-trained neural network, for example, to obtain feature information of the environment image. The present disclosure does not limit the specific manner of feature extraction.
In one possible implementation, after obtaining the feature information of the environment image, the second electronic device may match the feature information with the point cloud sub-map, and determine a matching visual positioning result (which may be referred to as a second positioning result). The present disclosure does not limit the specific manner in which the feature information is matched with the point cloud sub-map.
In one possible implementation, the second positioning result includes position information and posture information of the first electronic device. Wherein the location information may include location coordinates of the first electronic device; the attitude information may include an orientation, a pitch angle, etc. of the first electronic device.
In one possible implementation manner, in step S14, the second electronic device may send the second positioning result to the first electronic device so as to correct the position and posture information of the local SLAM of the first electronic device.
According to the embodiment of the disclosure, the positioning request sent by the first electronic device can include a local positioning result, the second electronic device determines the current geographic area where the first electronic device is located according to the local positioning result, and performs positioning according to the sub-map of the current geographic area, so that the success rate and the positioning accuracy of positioning are improved, and the probability of mismatching is reduced.
In one possible implementation, step S13 may include:
performing projection matching on the environment image and the point cloud sub-map, and determining point cloud information matched with the environment image;
and determining a second positioning result of the first electronic equipment according to the matched point cloud information.
For example, the second electronic device may project the three-dimensional point cloud sub-map into a two-dimensional image, and then match the two-dimensional image with the environment image. Therefore, the environmental feature points in the environmental image can be matched with the feature points projected to the radius of the environmental feature points by the point cloud sub-map, so that the probability of mismatching is reduced, and the matching efficiency is improved.
In one possible implementation, after matching, point cloud information matching the environmental image can be determined; and further determining the position and posture information corresponding to the matched point cloud information as a second positioning result of the first electronic equipment, thereby completing the positioning process.
By the method, the probability of mismatching can be reduced, and the matching efficiency is improved.
In one possible implementation, an Inertial Measurement Unit (IMU) is generally disposed in the first electronic device, and is configured to obtain information of a velocity, an acceleration, an angular velocity, and the like of the first electronic device. The first electronic device may determine gravity attitude (attitude) information of the first electronic device, including, for example, an orientation of the first electronic device, according to the IMU, which is not limited by the present disclosure.
In one possible implementation manner, the gravity attitude information of the first electronic device may be included in the positioning request sent by the first electronic device. The gravity attitude information is accurate and can be used as prior information in cloud positioning.
In one possible implementation, step S13 may include:
matching the environment image with the point cloud sub-map to obtain a third positioning result of the first electronic device;
and verifying the third positioning result according to the gravity attitude information, and determining the second positioning result, wherein the second positioning result comprises the position information and the attitude information of the first electronic device.
For example, the second electronic device may match the environment image with a point cloud sub-map of the current geographic area, resulting in a preliminary positioning result (which may be referred to as a third positioning result). The present disclosure does not limit the specific way in which the environment image is matched with the point cloud sub-map.
In one possible implementation manner, according to the gravity posture information in the positioning request, the second electronic device may verify the third positioning result so as to reject the wrong positioning result.
In a possible implementation manner, the step of verifying the third positioning result and determining the second positioning result according to the gravity posture information may include:
determining a first direction of the first electronic device according to the gravity attitude information;
determining a second direction of the first electronic device according to the attitude information in the third positioning result;
determining a third positioning result satisfying a verification condition as the second positioning result, the verification condition including that an angle difference between the first direction and the second direction in a gravity direction is less than or equal to an angle threshold.
For example, according to the gravity attitude information in the positioning request, the first direction R of the first electronic device can be determinedimu(ii) a According to the attitude information in the third positioning result, the second direction R of the first electronic equipment can be determinedcloud(ii) a According to a first direction RimuAnd a second direction RcloudAn angular difference in the direction of gravity between the first direction and the second direction may be determined.
In one possible implementation, the order
Figure BDA0002808879680000071
z is (0,0,1), the angular difference a can be determined by the following equation:
A=acos(dR*z) (1)
where z represents the coordinate axis in the direction of gravity, dR z represents the value of the vector dR in the direction of the z-axis, acos () represents an inverse cosine function.
In a possible implementation manner, if the angle difference a between the first direction and the second direction in the gravity direction is smaller than or equal to a preset angle threshold, the posture of the third positioning result may be considered to be within an error-allowable range, and the third positioning result is a correct positioning result and meets the verification condition. That is, the verification condition includes that the difference in angle between the first direction and the second direction in the direction of gravity is less than or equal to the angle threshold. The present disclosure is not limited to specific values of the angle threshold.
In a case where the third positioning result is one or more, the third positioning result satisfying the verification condition may be determined as the second positioning result. Further, the third positioning result that does not satisfy the verification condition may be considered to be out of the allowable range of the error, and the third positioning result that does not satisfy the verification condition may be deleted as an erroneous positioning result.
By the method, wrong positioning results can be eliminated, and the accuracy of the positioning results is improved.
In one possible implementation manner, the positioning method according to the embodiment of the present disclosure may further include:
and sending positioning failure information to the first electronic equipment under the condition that all the third positioning results do not meet the verification condition.
For example, if all the third positioning results do not satisfy the verification condition, that is, the angle difference a between the first direction and the second direction of each third positioning result in the gravity direction is greater than the preset angle threshold, it may be determined that the posture of each third positioning result exceeds the error allowable range, and the third positioning result is determined to be an erroneous positioning result, and the verification of the third positioning result fails.
In this case, since the third positioning result meeting the verification condition does not exist, it may be considered that the cloud positioning fails, and the positioning failure information may be returned to the first electronic device to wait for the first electronic device to send the positioning request again.
In one possible implementation, the environment image may also be matched again to the point cloud sub-map in order to obtain a new localization result. The present disclosure does not limit the specific processing manner after the verification of the third positioning result fails.
By the method, the positioning failure information can be returned to the terminal when the positioning result meeting the verification condition does not exist, so that the wrong positioning result is prevented from being sent back, and the accuracy of the positioning result is improved.
Fig. 2 shows a flowchart of a positioning method according to an embodiment of the present disclosure, the positioning method being applicable to a first electronic device, as shown in fig. 2, the positioning method including:
in step S21, sending a positioning request to a second electronic device, where the positioning request includes an environment image of an environment where the first electronic device is located and a first positioning result local to the first electronic device;
in step S22, when a second positioning result sent by the second electronic device is received, determining whether the second positioning result meets a consistency verification condition according to at least one first historical positioning result local to the first electronic device and at least one second historical positioning result sent by the second electronic device;
in step S23, if the second positioning result satisfies the consistency verification condition, positioning and displaying are performed according to the second positioning result.
For example, the first electronic device may be a terminal device. The second electronic device may be, for example, a cloud server, and stores a point cloud map of an entire geographic area (e.g., an internal area of a mall, a city area, etc.) where the first electronic device is located.
When a user holding or wearing the first electronic device needs to determine the position of the user, an environmental image of an environment where the user is located may be acquired through an acquisition component (e.g., a camera) of the first electronic device, for example, an image of a scene faced by the first electronic device is taken. The environmental image may be one or more images, or may be a short video including a plurality of frames of images, which is not limited in this disclosure.
In a possible implementation manner, a set of Simultaneous Localization And Mapping (SLAM) system may be locally operated in the first electronic device. When positioning is carried out, the primary positioning is carried out through the local SLAM system, then the positioning result of the cloud is requested, and the position and posture information of the local SLAM is corrected.
In one possible implementation manner, in step S21, the first electronic device may send a positioning request to the second electronic device, where the positioning request may include the environment image and the local first positioning result. By the method, the positioning result of the local SLAM system can be used as the prior information during cloud positioning, so that the matching efficiency of the second electronic equipment can be increased, and the positioning accuracy is improved.
In a possible implementation manner, when the second electronic device receives a positioning request from the first electronic device, the second electronic device may determine, according to a first positioning result (e.g., a Pose position provided by SLAM) in the positioning request, a current geographic area where the first electronic device is located, so as to perform local minimap positioning, and improve positioning accuracy.
The current geographic area may be an area within a certain range near the local positioning location of the first electronic device, for example, a circular area having a distance from the local positioning location of the first electronic device within a preset distance (for example, 5 to 10 meters), and the specific range of the current geographic area is not limited by the present disclosure.
In one possible implementation manner, the second positioning result obtained by positioning the second electronic device may include position information and posture information of the first electronic device. Wherein the location information may include location coordinates of the first electronic device; the attitude information may include an orientation, a pitch angle, etc. of the first electronic device.
In a possible implementation manner, in step S22, after receiving the second positioning result sent by the second electronic device, the first electronic device may perform consistency verification on the second positioning result, so as to verify the accuracy of the second positioning result. The first electronic device may determine whether the current second positioning result meets the consistency verification condition according to at least one local first historical positioning result and at least one second historical positioning result sent by the second electronic device.
In a possible implementation manner, the first historical positioning result may include a first positioning result obtained by the first electronic device performing local positioning before the current positioning request is sent; the second historical positioning result may include a second positioning result that has been received by the first electronic device before the second positioning result of the second electronic device is received this time. For example, if the current positioning is the kth positioning, the first historical positioning result may include all or part of the first positioning results from the 1 st to the k-1 st local positioning, and the second historical positioning result may include all or part of the second positioning results received from the 1 st to the k-1 st local positioning.
In a possible implementation manner, the position difference between the local first historical positioning result and the current first positioning result and the positioning change between the second historical positioning result at the cloud end and the current second positioning result can be respectively calculated; if the difference between the two sets of positioning changes is small, the consistency verification condition can be considered to be met; conversely, if the difference between two sets of positioning changes is large, the consistency-verification condition may be deemed not to be satisfied. The present disclosure does not limit the specific setting of the consistency verification condition.
In a possible implementation manner, in step S23, if the second positioning result satisfies the consistency verification condition, the second positioning result may be used as a final positioning result of the first electronic device, and positioning and displaying may be performed according to the second positioning result. That is, the output result of the VIO (visual-inertial odometer) module of the local SLAM system may be constrained by the second positioning result. And according to the current application scene of the first electronic equipment, rendering corresponding content to be displayed through an output result of the VIO module, and displaying in a display interface.
For example, in an application scene of visual navigation, a navigation path can be determined and displayed in a display interface according to a second positioning result and a destination position, so that a navigation function is realized; under the application scene of virtual object display, the position and the posture of the virtual object to be displayed can be determined according to the second positioning result, and the virtual object can be displayed in the display interface, so that accurate virtual object display is realized. The present disclosure is not limited to the specific content presented in the display interface.
According to the embodiment of the disclosure, a positioning request comprising an environment image and a local positioning result can be sent to the second electronic device, so that the positioning of a high-precision map is realized, and the positioning precision and the success rate are improved; the consistency verification can be carried out on the positioning result returned by the second electronic equipment, so that the wrong positioning result is filtered, and the positioning quality is improved.
In one possible implementation, step S22 may include:
determining attitude deviation according to first attitude information in the first positioning result, second attitude information in the second positioning result, third attitude information in the first historical positioning result and fourth attitude information in the second historical positioning result;
determining that the second positioning result satisfies a consistency verification condition if the attitude deviation is less than or equal to a deviation threshold.
For example, a first attitude change value of the first electronic device in the local positioning can be calculated according to the third attitude information in the local previous first historical positioning result and the first attitude information in the local current first positioning result; and calculating a second attitude change value of the first electronic equipment in the cloud positioning according to fourth attitude information in a second historical positioning result sent by the cloud before and second attitude information in a second positioning result sent by the cloud currently.
In one possible implementation, a pose deviation between pose change values may be determined based on the first pose change value and the second pose change value. For example, in the case of using a history positioning result of a certain positioning, the attitude deviation | ddT | may be calculated by the following formula:
Figure BDA0002808879680000101
wherein the content of the first and second substances,
Figure BDA0002808879680000102
representing first attitude information in a current ith first positioning result;
Figure BDA0002808879680000103
representing third attitude information in the previous jth first historical positioning result; dTslamRepresenting a first attitude change value;
Figure BDA0002808879680000104
second attitude information representing a current ith second positioning result;
Figure BDA0002808879680000105
fourth attitude information in a j-th previous second historical positioning result is represented; dTcloudRepresenting a second attitude change value; the absolute value of ddT represents the attitude deviation, i, j are positive integers and i>j。
In a possible implementation manner, if the attitude deviation is less than or equal to a preset deviation threshold, it may be considered that the second positioning result currently sent by the cloud is within an error allowable range, and is consistent with the motion state of the local SLAM, and meets the consistency verification condition, so that the second positioning result is a correct positioning result. In this case, the corresponding positioning and displaying can be performed according to the second positioning result. The present disclosure is not limited to specific values for the deviation threshold.
In a possible implementation manner, if the attitude deviation is greater than the deviation threshold, it may be considered that the second positioning result currently sent by the cloud exceeds the error allowable range, is inconsistent with the motion state of the local SLAM, does not satisfy the consistency verification condition, and is an erroneous positioning result. In this case, the second positioning result may be deleted, or the output result of the VIO module of the local SLAM system may not be restricted with the second positioning result, and the positioning request may be transmitted to the second electronic device again.
By the method, the consistency verification of the cloud positioning result can be realized, so that the wrong positioning result is filtered, and the positioning quality is improved.
In one possible implementation, before step S21, the method further includes:
and determining a first positioning result local to the first electronic equipment according to the environment image and the local map of the first electronic equipment, wherein the first positioning result comprises position information and posture information of the first electronic equipment.
For example, a local map of the entire geographic area in which the first electronic device is located may be stored in the first electronic device, and the accuracy of the local map is lower than the accuracy of the point cloud map in the second electronic device. When positioning is performed, the first electronic device may collect an environment image, perform preliminary positioning through the SLAM system according to the environment image and the local map, and obtain a local positioning result (referred to as a first positioning result) of the first electronic device.
In one possible implementation manner, the first positioning result may include position information and posture information of the first electronic device, and the positioning accuracy of the first positioning result may be lower than that of the cloud.
In a possible implementation manner, when the first electronic device sends the positioning request to the second electronic device in step S21, the positioning request includes the local first positioning result. By the method, the positioning result of the local SLAM system can be used as the prior information during cloud positioning, so that the second electronic equipment can improve the matching efficiency, improve the positioning accuracy and reject the wrong matching result.
In one possible implementation, before step S21, the method further includes:
determining gravity attitude information of the first electronic device through an Inertial Measurement Unit (IMU) of the first electronic device, wherein the positioning request comprises the gravity attitude information.
For example, an inertial measurement unit IMU is generally disposed in the first electronic device and is used for acquiring information of speed, acceleration, angular velocity, and the like of the first electronic device. The first electronic device may determine gravity attitude (attitude) information of the first electronic device, including, for example, an orientation of the first electronic device, according to the IMU, which is not limited by the present disclosure.
In a possible implementation manner, the positioning request sent by the first electronic device may include the gravity attitude information, the gravity attitude information is relatively accurate and can be used as prior information in cloud positioning, and the cloud may verify the third positioning result so as to reject the wrong positioning result, thereby improving the accuracy of the positioning result.
In one possible implementation, step S23 may include:
determining a navigation path of the first electronic equipment according to the second positioning result and the geographic position of the destination;
and displaying the augmented reality AR navigation path in a display interface of the first electronic equipment screen according to the navigation path.
For example, in an application scenario of AR navigation, a navigation path of the first electronic device may be determined according to the position information and the posture information in the second positioning result and the geographic location of the destination set by the user. The present disclosure does not limit the specific manner of determining the navigation path.
In one possible implementation, according to the navigation path, the AR navigation path may be presented in a live-action image or a panoramic image of the display interface of the first electronic device screen so as to instruct the user to travel along the AR navigation path. The AR navigation path includes, for example, AR arrows along the navigation path. The present disclosure does not limit the specific form of the AR navigation path.
By the method, AR navigation in the live-action image can be realized, the intuitiveness of the navigation route is improved, and the precision of AR navigation route display is improved.
In one possible implementation, step S23 may include:
determining second position and posture information of the AR object in a display interface of a screen of the first electronic equipment according to the second positioning result and the first position and posture information of the AR object;
and displaying the AR object in the display interface according to the second position and posture information.
For example, in an application scene in which the AR object is displayed, the second position and posture information of the AR object in the display interface of the first electronic device screen may be determined according to the position information and posture information in the second positioning result and the first position and posture information of the AR object to be displayed. The present disclosure is not limited to the specific manner of determination.
In one possible implementation, the AR object may be displayed in a live-action image of the display interface according to the second position and posture information. The AR objects to be presented may include, among other things, AR markers, virtual objects, such as virtual landscapes, virtual animals, and the like. The present disclosure does not limit the specific categories of AR objects.
By the method, AR object display in the live-action image can be realized, and AR object display precision is improved.
According to the positioning method disclosed by the embodiment of the invention, the positioning request sent by the terminal to the cloud end comprises the positioning result of the local SLAM, so that the cloud end can determine the current geographic area where the terminal is located according to the local positioning result and perform positioning according to the sub-map of the current geographic area, thereby improving the success rate and the positioning accuracy of positioning and reducing the probability of mismatching; the positioning request further comprises gravity attitude information of the IMU, so that the cloud can verify the cloud positioning result according to the gravity attitude information, the wrong positioning result can be removed, and the accuracy of the positioning result is improved.
According to the positioning method provided by the embodiment of the disclosure, after the terminal receives the positioning result returned by the cloud, the terminal can perform consistency verification on the current positioning result according to the historical positioning result, filter the wrong positioning result, and screen out the qualified positioning result, so that the positioning quality is improved.
The positioning method according to the embodiment of the disclosure can be applied to various application scenes of augmented reality AR, such as scenes of AR cloud, AR navigation and the like; and Location Based Services (LBS) in various application scenarios, to improve the effects of positioning, presentation, and interaction. Particularly, under the conditions of a scene with a large map, a scene with more repeated images, a scene with weak texture/repeated texture and the like, the method can obviously improve the positioning quality and the positioning success rate of the high-precision map.
It is understood that the above-mentioned method embodiments of the present disclosure can be combined with each other to form a combined embodiment without departing from the logic of the principle, which is limited by the space, and the detailed description of the present disclosure is omitted. Those skilled in the art will appreciate that in the above methods of the specific embodiments, the specific order of execution of the steps should be determined by their function and possibly their inherent logic.
In addition, the present disclosure also provides a positioning apparatus, an electronic device, a computer-readable storage medium, and a program, which can be used to implement any one of the positioning methods provided by the present disclosure, and the corresponding technical solutions and descriptions and corresponding descriptions in the method sections are not repeated.
Fig. 3 shows a block diagram of a positioning apparatus according to an embodiment of the present disclosure, which is applied to a second electronic device, as shown in fig. 3, the apparatus including:
a region determining module 31, configured to determine, when a positioning request from a first electronic device is received, a current geographic region where the first electronic device is located according to a first positioning result in the positioning request, where the positioning request includes an environment image of an environment where the first electronic device is located and a first positioning result local to the first electronic device;
a sub-map determining module 32, configured to determine a point cloud sub-map corresponding to the current geographic area from a preset point cloud map;
the positioning module 33 is configured to perform visual positioning on the first electronic device according to the environment image and the point cloud sub-map to obtain a second positioning result of the first electronic device;
a result sending module 34, configured to send the second positioning result to the first electronic device.
In one possible implementation, the positioning module includes: the first matching sub-module is used for performing projection matching on the environment image and the point cloud sub-map and determining point cloud information matched with the environment image; and the result determining module is used for determining a second positioning result of the first electronic equipment according to the matched point cloud information.
In a possible implementation manner, the positioning request further includes gravity posture information of the first electronic device, and the positioning module includes: the second matching sub-module is used for matching the environment image with the point cloud sub-map to obtain a third positioning result of the first electronic device; and the first verification submodule is used for verifying the third positioning result according to the gravity attitude information and determining the second positioning result, and the second positioning result comprises the position information and the attitude information of the first electronic equipment.
In one possible implementation, the first verification sub-module is configured to: determining a first direction of the first electronic device according to the gravity attitude information; determining a second direction of the first electronic device according to the attitude information in the third positioning result; determining a third positioning result satisfying a verification condition as the second positioning result, the verification condition including that an angle difference between the first direction and the second direction in a gravity direction is less than or equal to an angle threshold.
In one possible implementation, the apparatus further includes: and the information sending module is used for sending positioning failure information to the first electronic equipment under the condition that all the third positioning results do not meet the verification condition.
Fig. 4 shows a block diagram of a positioning apparatus according to an embodiment of the present disclosure, which is applied to a first electronic device, as shown in fig. 4, the apparatus includes:
a request sending module 41, configured to send a positioning request to a second electronic device, where the positioning request includes an environment image of an environment where the first electronic device is located and a first positioning result local to the first electronic device;
a verification module 42, configured to, when a second positioning result sent by the second electronic device is received, determine whether the second positioning result meets a consistency verification condition according to at least one first historical positioning result local to the first electronic device and at least one second historical positioning result sent by the second electronic device;
and a positioning and displaying module 43, configured to perform positioning and displaying according to the second positioning result when the second positioning result meets the consistency verification condition.
In one possible implementation, the verification module includes: a deviation determining submodule, configured to determine a posture deviation according to first posture information in the first positioning result, second posture information in the second positioning result, third posture information in the first historical positioning result, and fourth posture information in the second historical positioning result; and the second verification submodule is used for determining that the second positioning result meets the consistency verification condition under the condition that the attitude deviation is less than or equal to a deviation threshold value.
In a possible implementation manner, before the request sending module, the apparatus further includes: and the local positioning module is used for determining a local first positioning result of the first electronic equipment according to the environment image and the local map of the first electronic equipment.
In a possible implementation manner, before the request sending module, the apparatus further includes: a gravity attitude determination module, configured to determine, through an inertial measurement unit IMU of the first electronic device, gravity attitude information of the first electronic device, where the positioning request includes the gravity attitude information.
In one possible implementation, the positioning and presentation module is configured to: determining a navigation path of the first electronic equipment according to the second positioning result and the geographic position of the destination; and displaying the augmented reality AR navigation path in a display interface of the first electronic equipment screen according to the navigation path.
In one possible implementation, the positioning and presentation module is configured to: determining second position and posture information of the AR object in a display interface of a screen of the first electronic equipment according to the second positioning result and the first position and posture information of the AR object; and displaying the AR object in the display interface according to the second position and posture information.
In some embodiments, functions of or modules included in the apparatus provided in the embodiments of the present disclosure may be used to execute the method described in the above method embodiments, and specific implementation thereof may refer to the description of the above method embodiments, and for brevity, will not be described again here.
Embodiments of the present disclosure also provide a computer-readable storage medium having stored thereon computer program instructions, which when executed by a processor, implement the above-mentioned method. The computer readable storage medium may be a non-volatile computer readable storage medium.
An embodiment of the present disclosure further provides an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to invoke the memory-stored instructions to perform the above-described method.
The embodiments of the present disclosure also provide a computer program product, which includes computer readable code, and when the computer readable code runs on a device, a processor in the device executes instructions for implementing the positioning method provided in any of the above embodiments.
The embodiments of the present disclosure also provide another computer program product for storing computer readable instructions, which when executed cause a computer to perform the operations of the positioning method provided in any of the above embodiments.
The electronic device may be provided as a terminal, server, or other form of device.
Fig. 5 illustrates a block diagram of an electronic device 800 in accordance with an embodiment of the disclosure. For example, the electronic device 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, or the like terminal.
Referring to fig. 5, electronic device 800 may include one or more of the following components: processing component 802, memory 804, power component 806, multimedia component 808, audio component 810, input/output (I/O) interface 812, sensor component 814, and communication component 816.
The processing component 802 generally controls overall operation of the electronic device 800, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing components 802 may include one or more processors 820 to execute instructions to perform all or a portion of the steps of the methods described above. Further, the processing component 802 can include one or more modules that facilitate interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
The memory 804 is configured to store various types of data to support operations at the electronic device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 804 may be implemented by any type or combination of volatile or non-volatile memory devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
The power supply component 806 provides power to the various components of the electronic device 800. The power components 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the electronic device 800.
The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front facing camera and/or a rear facing camera. The front camera and/or the rear camera may receive external multimedia data when the electronic device 800 is in an operation mode, such as a shooting mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 810 is configured to output and/or input audio signals. For example, the audio component 810 includes a Microphone (MIC) configured to receive external audio signals when the electronic device 800 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals may further be stored in the memory 804 or transmitted via the communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
The I/O interface 812 provides an interface between the processing component 802 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 814 includes one or more sensors for providing various aspects of state assessment for the electronic device 800. For example, the sensor assembly 814 may detect an open/closed state of the electronic device 800, the relative positioning of components, such as a display and keypad of the electronic device 800, the sensor assembly 814 may also detect a change in the position of the electronic device 800 or a component of the electronic device 800, the presence or absence of user contact with the electronic device 800, orientation or acceleration/deceleration of the electronic device 800, and a change in the temperature of the electronic device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 814 may also include a light sensor, such as a Complementary Metal Oxide Semiconductor (CMOS) or Charge Coupled Device (CCD) image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 may access a wireless network based on a communication standard, such as a wireless network (WiFi), a second generation mobile communication technology (2G) or a third generation mobile communication technology (3G), or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 further includes a Near Field Communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the electronic device 800 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described methods.
In an exemplary embodiment, a non-transitory computer-readable storage medium, such as the memory 804, is also provided that includes computer program instructions executable by the processor 820 of the electronic device 800 to perform the above-described methods.
Fig. 6 illustrates a block diagram of an electronic device 1900 in accordance with an embodiment of the disclosure. For example, the electronic device 1900 may be provided as a server. Referring to fig. 6, electronic device 1900 includes a processing component 1922 further including one or more processors and memory resources, represented by memory 1932, for storing instructions, e.g., applications, executable by processing component 1922. The application programs stored in memory 1932 may include one or more modules that each correspond to a set of instructions. Further, the processing component 1922 is configured to execute instructions to perform the above-described method.
The electronic device 1900 may also include a power component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input/output (I/O) interface 1958. The electronic device 1900 may operate based on an operating system, such as the Microsoft Server operating system (Windows Server), stored in the memory 1932TM) Graphical user interface based exercises, introduced by apple IncMaking system (Mac OS X)TM) Multi-user, multi-process computer operating system (Unix)TM) Free and open native code Unix-like operating System (Linux)TM) Open native code Unix-like operating System (FreeBSD)TM) Or the like.
In an exemplary embodiment, a non-transitory computer readable storage medium, such as the memory 1932, is also provided that includes computer program instructions executable by the processing component 1922 of the electronic device 1900 to perform the above-described methods.
The present disclosure may be systems, methods, and/or computer program products. The computer program product may include a computer-readable storage medium having computer-readable program instructions embodied thereon for causing a processor to implement various aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present disclosure may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, the electronic circuitry that can execute the computer-readable program instructions implements aspects of the present disclosure by utilizing the state information of the computer-readable program instructions to personalize the electronic circuitry, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA).
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The computer program product may be embodied in hardware, software or a combination thereof. In an alternative embodiment, the computer program product is embodied in a computer storage medium, and in another alternative embodiment, the computer program product is embodied in a Software product, such as a Software Development Kit (SDK), or the like.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (15)

1. A positioning method applied to a second electronic device includes:
under the condition that a positioning request from first electronic equipment is received, determining a current geographical area where the first electronic equipment is located according to a first positioning result in the positioning request, wherein the positioning request comprises an environment image of an environment where the first electronic equipment is located and the first positioning result local to the first electronic equipment;
determining a point cloud sub-map corresponding to the current geographic area from a preset point cloud map;
performing visual positioning on the first electronic equipment according to the environment image and the point cloud sub-map to obtain a second positioning result of the first electronic equipment;
and sending the second positioning result to the first electronic equipment.
2. The method of claim 1, wherein visually positioning the first electronic device according to the environment image and the point cloud sub-map to obtain a second positioning result of the first electronic device comprises:
performing projection matching on the environment image and the point cloud sub-map, and determining point cloud information matched with the environment image;
and determining a second positioning result of the first electronic equipment according to the matched point cloud information.
3. The method of claim 1, wherein the positioning request further includes gravity pose information of the first electronic device,
the visual positioning of the first electronic device according to the environment image and the point cloud sub-map to obtain a second positioning result of the first electronic device includes:
matching the environment image with the point cloud sub-map to obtain a third positioning result of the first electronic device;
and verifying the third positioning result according to the gravity attitude information, and determining the second positioning result, wherein the second positioning result comprises the position information and the attitude information of the first electronic device.
4. The method of claim 3, wherein the verifying the third positioning result according to the gravity attitude information and determining the second positioning result comprises:
determining a first direction of the first electronic device according to the gravity attitude information;
determining a second direction of the first electronic device according to the attitude information in the third positioning result;
determining a third positioning result satisfying a verification condition as the second positioning result, the verification condition including that an angle difference between the first direction and the second direction in a gravity direction is less than or equal to an angle threshold.
5. The method of claim 4, further comprising:
and sending positioning failure information to the first electronic equipment under the condition that all the third positioning results do not meet the verification condition.
6. A positioning method applied to a first electronic device includes:
sending a positioning request to second electronic equipment, wherein the positioning request comprises an environment image of an environment where the first electronic equipment is located and a first positioning result local to the first electronic equipment;
under the condition that a second positioning result sent by the second electronic equipment is received, judging whether the second positioning result meets a consistency verification condition or not according to at least one first historical positioning result local to the first electronic equipment and at least one second historical positioning result sent by the second electronic equipment;
and under the condition that the second positioning result meets the consistency verification condition, positioning and displaying according to the second positioning result.
7. The method according to claim 6, wherein the determining whether the second positioning result satisfies a consistency verification condition according to at least one first historical positioning result local to the first electronic device and at least one second historical positioning result sent by the second electronic device comprises:
determining attitude deviation according to first attitude information in the first positioning result, second attitude information in the second positioning result, third attitude information in the first historical positioning result and fourth attitude information in the second historical positioning result;
determining that the second positioning result satisfies a consistency verification condition if the attitude deviation is less than or equal to a deviation threshold.
8. The method of claim 6 or 7, wherein before sending the location request to the second electronic device, the method further comprises:
and determining a first positioning result local to the first electronic equipment according to the environment image and the local map of the first electronic equipment, wherein the first positioning result comprises position information and posture information of the first electronic equipment.
9. The method of any of claims 6-8, wherein prior to sending the location request to the second electronic device, the method further comprises:
determining gravity attitude information of the first electronic device through an Inertial Measurement Unit (IMU) of the first electronic device, wherein the positioning request comprises the gravity attitude information.
10. The method according to any one of claims 6-9, wherein said positioning and displaying according to the second positioning result comprises:
determining a navigation path of the first electronic equipment according to the second positioning result and the geographic position of the destination;
and displaying the augmented reality AR navigation path in a display interface of the first electronic equipment screen according to the navigation path.
11. The method according to any one of claims 6 to 10, wherein the positioning and displaying according to the second positioning result comprises:
determining second position and posture information of the AR object in a display interface of a screen of the first electronic equipment according to the second positioning result and the first position and posture information of the AR object;
and displaying the AR object in the display interface according to the second position and posture information.
12. A positioning device applied to a second electronic device, comprising:
the positioning method comprises the steps that under the condition that a positioning request from first electronic equipment is received, the current geographic area where the first electronic equipment is located is determined according to a first positioning result in the positioning request, wherein the positioning request comprises an environment image of the environment where the first electronic equipment is located and the first positioning result local to the first electronic equipment;
the sub-map determining module is used for determining a point cloud sub-map corresponding to the current geographic area from a preset point cloud map;
the positioning module is used for carrying out visual positioning on the first electronic equipment according to the environment image and the point cloud sub-map to obtain a second positioning result of the first electronic equipment;
and the result sending module is used for sending the second positioning result to the first electronic equipment.
13. A positioning device applied to a first electronic device, comprising:
the request sending module is used for sending a positioning request to second electronic equipment, wherein the positioning request comprises an environment image of an environment where the first electronic equipment is located and a first positioning result local to the first electronic equipment;
the verification module is used for judging whether a second positioning result meets a consistency verification condition or not according to at least one first historical positioning result local to the first electronic equipment and at least one second historical positioning result sent by the second electronic equipment under the condition of receiving the second positioning result sent by the second electronic equipment;
and the positioning and displaying module is used for positioning and displaying according to the second positioning result under the condition that the second positioning result meets the consistency verification condition.
14. An electronic device, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to invoke the memory-stored instructions to perform the method of any of claims 1 to 11.
15. A computer readable storage medium having computer program instructions stored thereon, which when executed by a processor implement the method of any one of claims 1 to 11.
CN202011382582.6A 2020-11-30 2020-11-30 Positioning method and device, electronic equipment and storage medium Pending CN112683262A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011382582.6A CN112683262A (en) 2020-11-30 2020-11-30 Positioning method and device, electronic equipment and storage medium
PCT/CN2021/101040 WO2022110777A1 (en) 2020-11-30 2021-06-18 Positioning method and apparatus, electronic device, storage medium, computer program product, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011382582.6A CN112683262A (en) 2020-11-30 2020-11-30 Positioning method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN112683262A true CN112683262A (en) 2021-04-20

Family

ID=75447042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011382582.6A Pending CN112683262A (en) 2020-11-30 2020-11-30 Positioning method and device, electronic equipment and storage medium

Country Status (2)

Country Link
CN (1) CN112683262A (en)
WO (1) WO2022110777A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022110777A1 (en) * 2020-11-30 2022-06-02 浙江商汤科技开发有限公司 Positioning method and apparatus, electronic device, storage medium, computer program product, and computer program

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101907467A (en) * 2010-08-06 2010-12-08 浙江大学 Method and device for personal location based on motion measurement information
JP2012208033A (en) * 2011-03-30 2012-10-25 Mitsubishi Electric Corp Navigation calculation system
JP2017003395A (en) * 2015-06-09 2017-01-05 富士重工業株式会社 Vehicle positioning system
CN108692720A (en) * 2018-04-09 2018-10-23 京东方科技集团股份有限公司 Localization method, location-server and positioning system
CN110567480A (en) * 2019-09-12 2019-12-13 北京百度网讯科技有限公司 Optimization method, device and equipment for vehicle positioning and storage medium
CN111595349A (en) * 2020-06-28 2020-08-28 浙江商汤科技开发有限公司 Navigation method and device, electronic equipment and storage medium
CN111664866A (en) * 2020-06-04 2020-09-15 浙江商汤科技开发有限公司 Positioning display method and device, positioning method and device and electronic equipment

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184852B (en) * 2015-08-04 2018-01-30 百度在线网络技术(北京)有限公司 A kind of urban road recognition methods and device based on laser point cloud
CN106525025B (en) * 2016-10-28 2019-10-11 武汉大学 A kind of Intelligent Mobile Robot route planning air navigation aid
TWI744610B (en) * 2018-03-01 2021-11-01 宏達國際電子股份有限公司 Scene reconstructing system, scene reconstructing method and non-transitory computer-readable medium
CN108717710B (en) * 2018-05-18 2022-04-22 京东方科技集团股份有限公司 Positioning method, device and system in indoor environment
CN109543634B (en) * 2018-11-29 2021-04-16 达闼科技(北京)有限公司 Data processing method and device in positioning process, electronic equipment and storage medium
CN111192364A (en) * 2020-01-09 2020-05-22 北京科技大学 Low-cost mobile multi-robot vision simultaneous positioning and map creating method
CN111325796B (en) * 2020-02-28 2023-08-18 北京百度网讯科技有限公司 Method and apparatus for determining pose of vision equipment
CN111442722B (en) * 2020-03-26 2022-05-17 达闼机器人股份有限公司 Positioning method, positioning device, storage medium and electronic equipment
CN111402413B (en) * 2020-06-04 2020-12-22 浙江欣奕华智能科技有限公司 Three-dimensional visual positioning method and device, computing equipment and storage medium
CN111815779A (en) * 2020-06-29 2020-10-23 浙江商汤科技开发有限公司 Object display method and device, positioning method and device and electronic equipment
CN112683262A (en) * 2020-11-30 2021-04-20 浙江商汤科技开发有限公司 Positioning method and device, electronic equipment and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101907467A (en) * 2010-08-06 2010-12-08 浙江大学 Method and device for personal location based on motion measurement information
JP2012208033A (en) * 2011-03-30 2012-10-25 Mitsubishi Electric Corp Navigation calculation system
JP2017003395A (en) * 2015-06-09 2017-01-05 富士重工業株式会社 Vehicle positioning system
CN108692720A (en) * 2018-04-09 2018-10-23 京东方科技集团股份有限公司 Localization method, location-server and positioning system
CN110567480A (en) * 2019-09-12 2019-12-13 北京百度网讯科技有限公司 Optimization method, device and equipment for vehicle positioning and storage medium
CN111664866A (en) * 2020-06-04 2020-09-15 浙江商汤科技开发有限公司 Positioning display method and device, positioning method and device and electronic equipment
CN111595349A (en) * 2020-06-28 2020-08-28 浙江商汤科技开发有限公司 Navigation method and device, electronic equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022110777A1 (en) * 2020-11-30 2022-06-02 浙江商汤科技开发有限公司 Positioning method and apparatus, electronic device, storage medium, computer program product, and computer program

Also Published As

Publication number Publication date
WO2022110777A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
CN111664866A (en) Positioning display method and device, positioning method and device and electronic equipment
CN112432637B (en) Positioning method and device, electronic equipment and storage medium
CN111323007B (en) Positioning method and device, electronic equipment and storage medium
CN109584362B (en) Three-dimensional model construction method and device, electronic equipment and storage medium
CN111524185A (en) Positioning method and device, electronic equipment and storage medium
CN112229424B (en) Parameter calibration method and device for visual inertial system, electronic equipment and medium
WO2022134475A1 (en) Point cloud map construction method and apparatus, electronic device, storage medium and program
CN112945207B (en) Target positioning method and device, electronic equipment and storage medium
CN111401230A (en) Attitude estimation method and apparatus, electronic device, and storage medium
CN112433211B (en) Pose determination method and device, electronic equipment and storage medium
CN111860373B (en) Target detection method and device, electronic equipment and storage medium
CN113074726A (en) Pose determination method and device, electronic equipment and storage medium
CN112146645A (en) Method and device for aligning coordinate system, electronic equipment and storage medium
CN112950712B (en) Positioning method and device, electronic equipment and storage medium
CN113989469A (en) AR (augmented reality) scenery spot display method and device, electronic equipment and storage medium
CN114067087A (en) AR display method and apparatus, electronic device and storage medium
CN112837372A (en) Data generation method and device, electronic equipment and storage medium
CN112767541A (en) Three-dimensional reconstruction method and device, electronic equipment and storage medium
CN112307363A (en) Virtual-real fusion display method and device, electronic equipment and storage medium
WO2022110777A1 (en) Positioning method and apparatus, electronic device, storage medium, computer program product, and computer program
CN112432636B (en) Positioning method and device, electronic equipment and storage medium
WO2022237071A1 (en) Locating method and apparatus, and electronic device, storage medium and computer program
CN113611152A (en) Parking lot navigation method and device, electronic equipment and storage medium
CN112461245A (en) Data processing method and device, electronic equipment and storage medium
CN113177561A (en) Multi-user aggregation method and device, electronic equipment and storage medium

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40039786

Country of ref document: HK