(19)
(11)EP 4 036 759 A1

(12)EUROPEAN PATENT APPLICATION
published in accordance with Art. 153(4) EPC

(43)Date of publication:
03.08.2022 Bulletin 2022/31

(21)Application number: 20885817.5

(22)Date of filing:  06.07.2020
(51)International Patent Classification (IPC): 
G06F 16/9537(2019.01)
G06F 16/908(2019.01)
(52)Cooperative Patent Classification (CPC):
G06F 16/9537; G06K 9/62; G06F 16/908; G06V 10/24
(86)International application number:
PCT/CN2020/100475
(87)International publication number:
WO 2021/088393 (14.05.2021 Gazette  2021/19)
(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR
Designated Extension States:
BA ME
Designated Validation States:
KH MA MD TN

(30)Priority: 08.11.2019 CN 201911089900
27.02.2020 CN 202010124987

(71)Applicant: Huawei Technologies Co., Ltd.
Longgang District, Shenzhen, Guangdong 518129 (CN)

(72)Inventors:
  • LIU, Jinxue
    Shenzhen, Guangdong 518129 (CN)
  • CAO, Jun
    Shenzhen, Guangdong 518129 (CN)
  • LI, Ruihua
    Shenzhen, Guangdong 518129 (CN)
  • GE, Jiange
    Shenzhen, Guangdong 518129 (CN)
  • CHEN, Yuanlin
    Shenzhen, Guangdong 518129 (CN)

(74)Representative: MERH-IP Matias Erny Reichl Hoffmann Patentanwälte PartG mbB 
Paul-Heyse-Strasse 29
80336 München
80336 München (DE)

  


(54)POSE DETERMINATION METHOD, APPARATUS AND SYSTEM


(57) A method, an apparatus, and a system for determining a pose are provided. The method includes: receiving a to-be-queried image sent by a terminal and N text fields included in the to-be-queried image, where N is greater than or equal to 1, the to-be-queried image is obtained based on an image captured by the terminal at a first position, and a scene at the first position includes a scene in the to-be-queried image; determining a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields; determining an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and sending the initial pose to the terminal. According to the method, a candidate reference image is queried based on a text field, and an initial pose of a terminal is obtained based on a candidate reference image with relatively high accuracy. Therefore, the obtained pose is more accurate.




Description


[0001] This application claims priority to Chinese Patent Application No. 201911089900.7, filed on November 8, 2019 and entitled "METHOD, APPARATUS, AND SYSTEM FOR DETERMINING POSE", and Chinese Patent Application No. 202010124987.3, filed on February 27, 2020 and entitled "METHOD, APPARATUS, AND SYSTEM FOR DETERMINING POSE", both of which are incorporated herein by reference in their entireties.

TECHNICAL FIELD



[0002] The present disclosure relates to the field of electronic technologies, and in particular, to a method, an apparatus, and a system for determining a pose.

BACKGROUND



[0003] With development of science and technology, a computer vision technology is applied more extensively. An initial pose of a terminal can be determined by using the computer vision technology. The initial pose includes a location and a posture of the terminal in a target venue.

[0004] A specific implementation of determining the initial pose of the terminal is as follows: The terminal shoots a to-be-queried image at a current position in the target venue, and uploads the to-be-queried image to a server. The server stores a plurality of environmental images shot at each position in the target venue and three-dimensional location information of a physical point that is in actual space and corresponding to each pixel in each environmental image. After receiving the to-be-queried image sent by the terminal, the server searches the stored environmental images of the target venue for a target environmental image that matches the to-be-queried image. The server further extracts an image key point in the to-be-queried image, and determines, from pixels in the target environmental image, a target pixel that matches the image key point in the to-be-queried image. Based on the stored three-dimensional location information of the physical point that is in the actual space and corresponding to each pixel in each environmental image, and the target pixel that is in the target environmental image and matches the image key point in the to-be-queried image, the server determines three-dimensional location information of a physical point that is in the actual space and corresponding to the image key point in the to-be-queried image. Finally, the server can perform pose solving processing by using a pose solving algorithm based on location information of the image key point in the to-be-queried image and the three-dimensional location information of the corresponding physical point in the actual space, to obtain the initial pose of the terminal. The server sends the determined initial pose to the terminal, and the terminal performs navigation or other processing based on the initial pose.

[0005] Theoretically, in the foregoing process, if a shooting position of the target environmental image that matches the to-be-queried image and is found by the server is closer to a shooting position of the to-be-queried image, the initial position pose finally determined is more accurate. Certainly, in addition to the foregoing shooting position, there are many factors that can affect accuracy of the initial position, and those factors are not considered herein.

[0006] In a process of implementing this disclosure, the inventor finds at least the following problems:

[0007] Because more similar environments exist at different positions in some venues, there are more similar environmental images among different environmental images shot at different positions in these venues. For example, there are more similar environmental images among environmental images of underground garages. If the target venue is an underground garage, in a process of searching for the target environmental image matching the to-be-queried image, due to interference of more similar environmental images, the server is likely to find an environmental image that is not actually shot near the shooting position of the to-be-queried image, as the target environmental image. However, accuracy of the initial pose determined based on this target environmental image is low.

SUMMARY



[0008] To overcome the problem in the related art, this disclosure provides the following technical solutions.

[0009] According to a first aspect of embodiments of this disclosure, a signal processing method is provided, where the method includes:

obtaining, by a terminal, a to-be-queried image at a first position, where a scene at the first position includes a scene in the to-be-queried image, and the to-be-queried image has a text;

determining N text fields included in the to-be-queried image, where N is greater than or equal to 1;

sending the N text fields and the to-be-queried image to a server; and

receiving an initial pose that is of the terminal at the first position and is returned by the server, where the initial pose is determined and obtained by the server based on the N text fields and the to-be-queried image.



[0010] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate.

[0011] In a possible implementation, the obtaining, by a terminal, a to-be-queried image at a first position includes:

shooting a first initial image;

when the first initial image has no text, displaying first prompt information or playing first prompt information by voice, where the first prompt information is used to indicate that no text is detected in the first initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and

when the terminal shoots, at the first position, a second initial image having a text, determining the second initial image as the to-be-queried image.



[0012] In the foregoing manner, each time after a user performs an operation, the terminal may evaluate and properly guide the operation of the user based on preset logic, so as to guide the user to shoot a to-be-queried image with relatively high image quality. Accuracy of the initial pose of the terminal determined based on the to-be-queried image having relatively high image quality is relatively high.

[0013] In a possible implementation, the obtaining, by a terminal, a to-be-queried image at a first position includes:

shooting a third initial image;

determining, by performing text detection processing on the third initial image, a text region image included in the third initial image;

when the text region image included in the third initial image does not meet a preferred image condition, displaying second prompt information or playing second prompt information by voice, where the second prompt information is used to indicate that the text region image included in the third initial image does not meet the preferred image condition, and prompt a user to move the terminal in a direction in which a real text is located; and

when the terminal shoots, at the first position, a fourth initial image including a text region image that meets the preferred image condition, determining the fourth initial image as the to-be-queried image, where

the preferred image condition includes one or more of the following conditions:

a size of the text region image is greater than or equal to a size threshold;

definition of the text region image is higher than or equal to a definition threshold; and

texture complexity of the text region image is less than or equal to a complexity threshold.



[0014] In the foregoing manner, each time after a user performs an operation, the terminal may evaluate and properly guide the operation of the user based on preset logic, so as to guide the user to shoot a to-be-queried image with relatively high image quality. Accuracy of the initial pose of the terminal determined based on the to-be-queried image having relatively high image quality is relatively high.

[0015] In a possible implementation, the obtaining, by a terminal, a to-be-queried image at a first position includes:

shooting a fifth initial image;

determining N text fields included in the fifth initial image;

obtaining M text fields included in a reference query image, where a time interval between a time of capturing the reference query image and a time of capturing the fifth initial image is less than a duration threshold, and M is greater than or equal to 1;

when any text field included in the fifth initial image is inconsistent with each of the M text fields, displaying third prompt information or playing third prompt information by voice, where the third prompt information is used to indicate that an incorrect text field is recognized in the fifth initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and

when the terminal shoots, at the first position, a sixth initial image including text fields that all belong to the M text fields, determining the sixth initial image as the to-be-queried image.



[0016] In the foregoing manner, each time after a user performs an operation, the terminal may evaluate and properly guide the operation of the user based on preset logic, so as to guide the user to shoot a to-be-queried image with relatively high image quality. Accuracy of the initial pose of the terminal determined based on the to-be-queried image having relatively high image quality is relatively high.

[0017] In a possible implementation, the obtaining, by a terminal, a to-be-queried image at a first position includes:

capturing, by the terminal, a first image of a current scene at the first position, where the first image includes a text;

performing text detection processing on the first image to obtain at least one text region image; and

using the at least one text region image included in the first image as the to-be-queried image.



[0018] After the first image that includes the text region image meeting a preset condition is shot by performing a guide operation on the user, tailoring or matting processing may be performed on the first image, so as to obtain the text region image in the first image from the first image. When the to-be-queried image is subsequently sent to the server, only the text region image obtained by tailoring or matting processing needs to be sent, and the entire first image does not need to be sent.

[0019] In a possible implementation, the method further includes:

determining a location region of the text region image in the to-be-queried image; and

sending the location region to the server; and that the initial pose is determined and obtained by the server based on the N text fields and the to-be-queried image includes: the initial pose is determined and obtained by the server based on the location region of the text region image in the to-be-queried image, the N text fields, and the to-be-queried image.



[0020] The terminal sends a complete environmental image, and the server determines that the initial pose uses a text region image. Therefore, the terminal may further send the location region of the text region image in the environmental image to the server, and the server determines the initial pose of the terminal based on the location region.

[0021] In a possible implementation, the method further includes:

obtaining location information of the terminal; and

sending the location information to the server; and that the initial pose is determined and obtained by the server based on the N text fields and the to-be-queried image includes: the initial pose is determined and obtained by the server based on the N text fields, the to-be-queried image, and the location information.



[0022] When the candidate reference images are a plurality of images, a target reference image may be filtered out from the candidate reference images based on the location information, and accuracy of the initial pose determined based on the target reference image is higher.

[0023] In a possible implementation, after the receiving an initial pose returned by the server, the method further includes:

obtaining a pose change of the terminal; and

determining a real-time pose based on the initial pose and the pose change of the terminal.



[0024] By using a simultaneous localization and mapping (simultaneous localization and mapping, slam) tracking technology, computing overheads can be reduced, and the terminal only needs to send the to-be-queried image and N text fields to the server once. The server needs to return the initial pose of the terminal only once based on the to-be-queried image and the N text fields, and subsequently, the real-time pose may be determined based on the initial pose and based on the slam tracking technology.

[0025] In a possible implementation, after the receiving an initial pose returned by the server, the method further includes:

obtaining a preview stream of the current scene;

determining, based on the real-time pose, preset media content included in a digital map corresponding to the scene in the preview stream; and

rendering the media content in the preview stream.



[0026] If the terminal is a mobile phone, an AR wearable device, or the like, a virtual scene may be constructed based on a real-time pose. First, the terminal may obtain the preview stream of the current scene. For example, the user may photograph a preview stream of a current environment in a shopping mall. Then, the terminal may determine the real-time pose according to the method mentioned above. Subsequently, the terminal may obtain a digital map, where the digital map records three-dimensional coordinates of each position in a world coordinate system, and corresponding preset media content exists at the preset three-dimensional coordinate position. The terminal may determine, in the digital map, target three-dimensional coordinates corresponding to the real-time pose, and if the corresponding preset media content exists at the target three-dimensional coordinate, obtain the preset media content. For example, when the user photographs a target store, the terminal recognizes a real-time pose, determines that a current camera is photographing a target store, and may obtain preset media content corresponding to the target store, where the preset media content corresponding to the target store may be description information of the target store, for example, which goods are worth buying in the target store. Based on this, the terminal may render the media content in the preview stream. In this case, the user may view, in a preset region near an image corresponding to the target store in the mobile phone, the preset media content corresponding to the target store. After viewing the preset media content corresponding to the target store, the user may have a general understanding of the target store.

[0027] In a possible implementation, the determining N text fields included in the to-be-queried image includes:

determining all text fields in the to-be-queried image;

inputting each text field into a pre-trained text classifier to obtain a text type corresponding to each text field; and

determining a text field whose text type is a preset salient type in all the text fields, as N text fields.



[0028] Filtering processing may be performed on all the text fields detected in the to-be-queried image to further extract a text field belonging to the salient type, where the text field of the salient type is a field with identification and can clearly or uniquely identify an environment. The execution logic may also be set to be completed by the server. Accuracy of the initial pose determined based on the text field of the salient type is higher.

[0029] According to a second aspect, an embodiment of the present disclosure provides a method for determining a pose, where the method includes:

receiving a to-be-queried image sent by a terminal and N text fields included in the to-be-queried image, where N is greater than or equal to 1, the to-be-queried image is obtained based on an image captured by the terminal at a first position, and a scene at the first position includes a scene in the to-be-queried image;

determining a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields;

determining an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and

sending the initial pose to the terminal.



[0030] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate.

[0031] In a possible implementation, the to-be-queried image is an environmental image shot by the terminal, the reference image is a pre-shot environmental image, and the candidate reference image is a candidate environmental image in the pre-shot environmental image.

[0032] In a possible implementation, the to-be-queried image is a text region image recognized in an environmental image shot by the terminal, and the reference image is a text region image recognized in a pre-shot environmental image, the candidate reference image is a text region image recognized in the candidate environmental image, and the candidate environmental image is a candidate environmental image in the pre-shot environmental image.

[0033] In a possible implementation, when the to-be-queried image is a text region image recognized in an environmental image shot by the terminal, the determining an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image includes:

performing image enhancement processing on the to-be-queried image to obtain a to-be-queried image after image enhancement processing; and

determining an initial pose of the terminal at the first position based on the to-be-queried image after image enhancement processing and the candidate reference image.



[0034] After image enhancement processing is performed on the to-be-queried image, accuracy of extracting a local image feature in the to-be-queried image may be improved, and accuracy of the initial pose determined based on the local image feature in the to-be-queried image and the candidate reference image is also relatively high.

[0035] In a possible implementation, the determining an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image includes:

determining a target reference image in the candidate reference image, where the scene at the first position includes a scene in the target reference image; and

determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image.



[0036] Because some of candidate reference images are still interfering images, that is, the candidate reference images are not necessarily images pre-shot near the first position at which the to-be-queried image is shot, but the text field corresponding to the candidate reference image is just consistent with the text field corresponding to the to-be-queried image, the interfering image is also used as a candidate reference image to determine the initial pose of the terminal, which affects accuracy of the initial pose. Therefore, filtering processing may be performed on the candidate reference image to determine the target reference image.

[0037] In a possible implementation, the determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image includes:

determining a 2D-2D correspondence between the to-be-queried image and the target reference image; and

determining the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.



[0038] The 2D-2D correspondence may include a 2D-2D correspondence between an environmental image shot by the terminal and a pre-shot target environmental image, and a 2D-2D correspondence between a text region image recognized in the environmental image shot by the terminal and a text region image recognized in the pre-shot target environmental image.

[0039] In a possible implementation, the determining a 2D-2D correspondence between the to-be-queried image and the target reference image includes:
determining an image key point in the target reference image that respectively corresponds to each image key point in the to-be-queried image, to obtain a 2D-2D correspondence between the to-be-queried image and the target reference image.

[0040] In a possible implementation, 2D-3D of the target reference image includes three-dimensional location information of a physical point that is in actual space and corresponding to each image key point in the target reference image, and the determining the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image includes:
determining the initial pose of the terminal based on the 2D-2D correspondence and the three-dimensional location information of the physical point that is in actual space and corresponding to each image key point in the target reference image.

[0041] In a possible implementation, the method further includes:

receiving a location region of a text region image in the to-be-queried image sent by the terminal; and

the determining a 2D-2D correspondence between the to-be-queried image and the target reference image includes:

determining, based on the location region, a target text region image included in the to-be-queried image;

obtaining a text region image included in the target reference image; and

determining a 2D-2D correspondence between the target text region image and the text region image included in the target reference image.



[0042] The 2D-2D correspondence may include a 2D-2D correspondence between the target text region image recognized in the environmental image shot by the terminal and the text region image recognized in the pre-shot target environmental image.

[0043] In a possible implementation, the determining a target reference image in the candidate reference image includes:

determining an image similarity between each candidate reference image and the to-be-queried image; and

determining a candidate reference image whose image similarity is greater than or equal to a preset similarity threshold as the target reference image.



[0044] Candidate reference images may be filtered based on the image similarity.

[0045] In a possible implementation, the determining a target reference image in the candidate reference image includes:

obtaining a global image feature of each candidate reference image;

determining a global image feature of the to-be-queried image;

determining a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and

determining a candidate reference image whose distance is less than or equal to a preset distance threshold as the target reference image.



[0046] Candidate reference images may be filtered based on the global image feature.

[0047] In a possible implementation, the determining a target reference image in the candidate reference image includes:

receiving location information sent by the terminal;

obtaining a shooting position corresponding to each candidate reference image; and

determining, in each candidate reference image, a target reference image whose shooting position matches the location information.



[0048] The location information sent by the terminal may be used to assist in screening the candidate reference image.

[0049] In a possible implementation, when N is greater than 1, the determining a target reference image in the candidate reference image includes:
determining, in each candidate reference image, a target reference image including the N text fields.

[0050] In a process of determining candidate reference images corresponding to a plurality of text fields, each text field may be obtained one by one. Each time one text field is obtained, a candidate reference image corresponding to the currently obtained text field is determined. In this way, the candidate reference image corresponding to each text field can be determined one by one. To further screen the candidate reference images, a target reference image that includes a plurality of text fields in the to-be-queried image may be determined from each candidate reference image. If a same target reference image includes a plurality of text fields included in the to-be-queried image, it indicates that a probability that a shooting position of the target reference image and a shooting position of the to-be-queried image are close is very high, and accuracy of the initial pose determined based on the target reference image is also relatively high.

[0051] In a possible implementation, the determining a target reference image in the candidate reference image includes:
when there is only one candidate reference image, determining the candidate reference image as the target reference image.

[0052] In a possible implementation, the determining a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields includes:

inputting the N text fields included in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field included in the to-be-queried image;

determining a text field whose text type is a preset salient type; and

searching, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.



[0053] Filtering processing may be performed on all the text fields detected in the to-be-queried image to further extract a text field belonging to the salient type, where the text field of the salient type is a field with identification and can clearly or uniquely identify an environment. The execution logic may also be set on the terminal for completion. Accuracy of the initial pose determined based on the text field of the salient type is higher.

[0054] According to a third aspect, an embodiment of the present disclosure provides a method for determining a pose, where the method includes:

obtaining, by a terminal, a to-be-queried image at a first position, where a scene at the first position includes a scene in the to-be-queried image;

sending the to-be-queried image to a server, so that the server determines N text fields included in the to-be-queried image and determines an initial pose of the terminal at the first position based on the N text fields and the to-be-queried image, where N is greater than or equal to 1; and

receiving an initial pose that is of the terminal at the first position and is returned by the server.



[0055] In a possible implementation, the method further includes:

obtaining location information of the terminal; and

sending the location information to the server; and

the determining an initial pose of the terminal at the first position based on the N text fields and the to-be-queried image includes:
determining the initial pose of the terminal at the first position based on the N text fields, the to-be-queried image, and the location information.



[0056] In a possible implementation, after the receiving an initial pose returned by the server, the method further includes:

obtaining a pose change of the terminal; and

determining a real-time pose based on the initial pose and the pose change of the terminal.



[0057] In a possible implementation, after the receiving an initial pose returned by the server, the method further includes:

obtaining a preview stream of the current scene;

determining, based on the real-time pose, preset media content included in a digital map corresponding to the scene in the preview stream; and

rendering the media content in the preview stream.



[0058] According to a fourth aspect, an embodiment of the present disclosure provides a method for determining a pose, where the method includes:

receiving a to-be-queried image sent by a terminal, where the to-be-queried image is obtained based on an image captured by the terminal at a first position; and a scene at the first position includes a scene in the to-be-queried image;

determining N text fields included in the to-be-queried image, where N is greater than or equal to 1;

determining a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields;

determining an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and

sending the initial pose to the terminal.



[0059] In a possible implementation, the determining an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image includes:

determining a target reference image in the candidate reference image, where the scene at the first position includes a scene in the target reference image; and

determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image.



[0060] In a possible implementation, the determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image includes:

determining a 2D-2D correspondence between the to-be-queried image and the target reference image; and

determining the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.



[0061] In a possible implementation, the method further includes:

determining a target text region image included in the to-be-queried image;

obtaining a text region image included in the target reference image; and

determining a 2D-2D correspondence between the target text region image and the text region image included in the target reference image.



[0062] In a possible implementation, the determining a target reference image in the candidate reference image includes:

determining an image similarity between each candidate reference image and the to-be-queried image; and

determining a candidate reference image whose image similarity is greater than or equal to a preset similarity threshold as the target reference image.



[0063] In a possible implementation, the determining a target reference image in the candidate reference image includes:

obtaining a global image feature of each candidate reference image;

determining a global image feature of the to-be-queried image;

determining a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and

determining a candidate reference image whose distance is less than or equal to a preset distance threshold as the target reference image.



[0064] In a possible implementation, the determining a target reference image in the candidate reference image includes:

receiving location information sent by the terminal;

obtaining a shooting position corresponding to each candidate reference image; and

determining, in each candidate reference image, a target reference image whose shooting position matches the location information.



[0065] In a possible implementation, when N is greater than 1, the determining a target reference image in the candidate reference image includes:
determining, in each candidate reference image, a target reference image including the N text fields.

[0066] In a possible implementation, the determining a target reference image in the candidate reference image includes:
when there is only one candidate reference image, determining the candidate reference image as the target reference image.

[0067] In a possible implementation, the determining a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields includes:

inputting the N text fields included in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field included in the to-be-queried image;

determining a text field whose text type is a preset salient type; and

searching, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.



[0068] According to a fifth aspect, an embodiment of the present disclosure provides an apparatus for determining a pose, where the apparatus includes at least one module, and the at least one module is configured to implement the method for determining a pose that is provided by the foregoing first aspect.

[0069] According to a sixth aspect, an embodiment of the present disclosure provides an apparatus for determining a pose, where the apparatus includes at least one module, and the at least one module is configured to implement the method for determining a pose that is provided by the foregoing second aspect.

[0070] According to a seventh aspect, an embodiment of the present disclosure provides an apparatus for determining a pose, where the apparatus includes at least one module, and the at least one module is configured to implement the method for determining a pose that is provided by the foregoing third aspect.

[0071] According to an eighth aspect, an embodiment of the present disclosure provides an apparatus for determining a pose, where the apparatus includes at least one module, and the at least one module is configured to implement the method for determining a pose that is provided by the foregoing fourth aspect.

[0072] According to a ninth aspect, an embodiment of the present disclosure provides a terminal, where the terminal includes a processor, a memory, a transceiver, a camera, and a bus, where the processor, the memory, the transceiver, and the camera are connected by using the bus; the camera is configured to shoot an image; the transceiver is configured to receive and send data; the memory is configured to store a computer program; the processor is configured to control the memory, the transceiver, and the camera; the processor is configured to execute an instruction stored in the memory; and the processor implements, by executing the instruction, the method for determining a pose that is provided by the foregoing first or third aspect.

[0073] According to a tenth aspect, an embodiment of the present disclosure provides a server, where the server includes a processor, a memory, a transceiver, and a bus, where the processor, the memory, and the transceiver are connected by using the bus; the transceiver is configured to receive and send data; the processor is configured to execute an instruction stored in the memory; and the processor implements, by executing the instruction, the method for determining a pose that is provided by the foregoing second or fourth aspect.

[0074] According to an eleventh aspect, an embodiment of the present disclosure provides a system for determining a pose, where the system may include a terminal and a server, where the terminal may implement the method of the foregoing first aspect, and the server may implement the method of the foregoing second aspect.

[0075] According to a twelfth aspect, an embodiment of the present disclosure provides a system for determining a pose, where the system may include a terminal and a server, where the terminal may implement the method of the foregoing third aspect, and the server may implement the method of the foregoing fourth aspect.

[0076] According to a thirteenth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, where the computer-readable storage medium includes instructions, and when the computer-readable storage medium is run on a terminal, the terminal is enabled to perform the method of the first aspect or the third aspect.

[0077] According to a nineteenth aspect of the embodiments of this disclosure, a computer program product including an instruction is provided. When the computer program product runs on a BFIR, the BFIR is enabled to perform the method according to the third aspect.

[0078] According to a fifteenth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, where the computer-readable storage medium includes instructions, and when the computer-readable storage medium is run on a server, the server is enabled to perform the method of the second aspect or the fourth aspect.

[0079] According to a seventeenth aspect of the embodiments of this disclosure, a computer program product including an instruction is provided. When the computer program product runs on a controller, the controller is enabled to perform the method in the second aspect.

[0080] According to a seventeenth aspect, an embodiment of the present disclosure provides a method for determining a pose, where the method includes:

obtaining pre-captured reference images;

determining a text field included in each reference image; and

storing a correspondence between the text field and each reference image.



[0081] In a possible implementation, the determining a text field included in each reference image includes:
for each reference image, determining, by performing text detection processing on the reference image, a text region image included in the reference image; and determining a text field included in the text region image.

[0082] In a possible implementation, the method further includes:

determining a 2D-3D correspondence of each text region image based on a 2D point of the text region image included in each reference image and a pre-obtained 2D-3D correspondence of each reference image; and

storing the 2D-3D correspondence of each text region image.



[0083] The technical solutions provided in the embodiments of this disclosure may include the following beneficial effects.

[0084] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate.

[0085] It should be understood that the foregoing general descriptions and the following detailed descriptions are merely illustrative and explanative, and are not intended to limit the present disclosure.

BRIEF DESCRIPTION OF DRAWINGS



[0086] The accompanying drawings herein are incorporated in the specification, become a part of the specification, show embodiments that are in accordance with this disclosure, and are used with the specification to explain a principle of this disclosure. In the accompanying drawings:

FIG. 1 is a schematic structural diagram of a BFIR according to an example embodiment; and

FIG. 2 is a schematic structural diagram of application program framework layers according to an example embodiment;

FIG. 3 is a schematic structural diagram of a RAN server according to an example of an embodiment;

FIG. 4 is a schematic structural diagram of a system for determining a pose according to an example embodiment;

FIG. 5 is a schematic structural diagram of a system for determining a pose according to an example embodiment;

FIG. 6 is a schematic flowchart of a method for determining a pose according to an example embodiment;

FIG. 7 is a schematic flowchart of a method for determining a pose according to an example embodiment;

FIG. 8 is a schematic flowchart of a path planning method according to an example embodiment;

FIG. 9 is a schematic diagram of a user guidance interface according to an example embodiment;

FIG. 10 is a schematic diagram of a user guidance interface according to an example embodiment;

FIG. 11 is a schematic diagram of a user guidance interface according to an example embodiment;

FIG. 12 is a schematic diagram of an underground garage according to an example embodiment;

FIG. 13 is a schematic diagram of an implementation environment according to an example embodiment;

FIG. 14 is a schematic flowchart of a method for determining a pose according to an example embodiment;

FIG. 15 is a schematic structural diagram of a system for determining a pose according to an example embodiment;

FIG. 16 is a schematic flowchart of a method for determining a pose according to an example embodiment;

FIG. 17 is a schematic flowchart of a method for determining a pose according to an example embodiment;

FIG. 18 is a schematic flowchart of a method for determining a pose according to an example embodiment;

FIG. 19 is a schematic flowchart of a method for determining a pose according to an example embodiment;

FIG. 20 is a schematic flowchart of a method for determining a pose according to an example embodiment;

FIG. 21 is a schematic flowchart of a method for determining a pose according to an example embodiment;

FIG. 22 is a schematic flowchart of a method for determining a pose according to an example embodiment;

FIG. 23 is a schematic flowchart of an offline calibration method according to an example embodiment;

FIG. 24 is a schematic flowchart of an offline calibration method according to an example embodiment;

FIG. 25 is a schematic structural diagram of an apparatus for determining a pose according to an example embodiment;

FIG. 26 is a schematic structural diagram of an apparatus for determining a pose according to an example embodiment;

FIG. 27 is a schematic structural diagram of an apparatus for determining a pose according to an example embodiment; and

FIG. 28 is a schematic structural diagram of an apparatus for determining a pose according to an example embodiment.



[0087] The foregoing accompanying drawings show specific embodiments of this disclosure, and more detailed descriptions are provided in the following. The accompanying drawings and text descriptions are not intended to limit the scope of the idea of this disclosure in any manner, but are intended to describe the concept of this disclosure to a person skilled in the art with reference to particular embodiments.

DESCRIPTION OF EMBODIMENTS



[0088] Example embodiments are described in detail herein, and examples thereof are shown in accompanying drawings. When the following description relates to the accompanying drawings, unless otherwise specified, same numbers in different accompanying drawings represent same or similar elements. Implementations described in the following example embodiments do not represent all implementations consistent with the present disclosure. On the contrary, they are only examples of apparatuses and methods that are described in the appended claims in detail and that are consistent with some aspects of the present disclosure.

[0089] Words such as "initial", "first", "second", "Nth", "target", and "candidate" used in the following embodiments are only used to distinguish between different nouns, and the foregoing words or similar words constitute no limitation on the embodiments of the present disclosure. The words "first", "second" or similar words are only used to distinguish between different nouns and do not constitute a restriction of order.

[0090] FIG. 1 is a schematic structural diagram of a terminal 100.

[0091] The terminal 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (universal serial bus, USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communications module 150, a wireless communications module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headset jack 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display 194, a subscriber identity module (subscriber identification module, SIM) card interface 195, and the like. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, abarometric pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, an optical proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, and the like.

[0092] It can be understood that the structure shown in this embodiment of the present invention does not constitute a specific limitation on the terminal 100. In some other embodiments of this application, the terminal 100 may include more or fewer components than those shown in the figure, or combine some components, or split some components, or have different component arrangements. The components shown in the figure may be implemented by hardware, software, or a combination of software and hardware.

[0093] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processing unit (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural network processing unit (neural-network processing unit, NPU). Different processing units may be independent components, or may be integrated into one or more processors.

[0094] The controller may generate an operation control signal based on instruction operation code and a time sequence signal, to complete control of instruction fetching and instruction execution.

[0095] A memory may be further disposed in the processor 110, and is configured to store instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data just used or cyclically used by the processor 110. If the processor 110 needs to use the instructions or the data again, the processor 110 may directly invoke the instructions or the data from the memory, to avoid repeated access and reduce a waiting time of the processor 110, thereby improving system efficiency.

[0096] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (inter-integrated circuit, I2C) interface, an inter-integrated circuit sound (inter-integrated circuit sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver/transmitter (universal asynchronous receiver/transmitter, UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose input/output (general-purpose input/output, GPIO) interface, a subscriber identity module (subscriber identity module, SIM) interface, a universal serial bus (universal serial bus, USB) interface, and/or the like.

[0097] The I2C interface is a two-way synchronization serial bus, and includes one serial data line (serial data line, SDA) and one serial clock line (derail clock line, SCL). In some embodiments, the processor 110 may include a plurality of groups of I2C buses. The processor 110 may be separately coupled to the touch sensor 180K, a charger, a flashlight, the camera 193, and the like through different I2C bus interfaces. For example, the processor 110 may be coupled to the touch sensor 180K through an I2C interface, so that the processor 110 communicates with the touch sensor 180K through the I2C bus interface, to implement a touch function of the terminal 100.

[0098] The I2S interface may be configured to perform audio communication. In some embodiments, the processor 110 may include a plurality of groups of I2S buses. The processor 110 may be coupled to the audio module 170 through the I2S bus, to implement communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 may transmit an audio signal to the wireless communications module 160 through the I2S interface, to implement a function of answering a call through a Bluetooth headset.

[0099] The PCM interface may also be configured to: perform audio communication, and sample, quantize, and code an analog signal. In some embodiments, the audio module 170 may be coupled to the wireless communications module 160 through a PCM bus interface. In some embodiments, the audio module 170 may alternatively transmit an audio signal to the wireless communications module 160 through the PCM interface, to implement a function of answering a call through a Bluetooth headset. Both the I2S interface and the PCM interface may be configured to perform audio communication.

[0100] The UART interface is a universal serial data bus, and is configured to perform asynchronous communication. The bus may be a two-way communications bus, and converts to-be-transmitted data between serial communication and parallel communication. In some embodiments, the UART interface is usually configured to connect the processor 110 to the wireless communications module 160. For example, the processor 110 communicates with a Bluetooth module in the wireless communications module 160 through the UART interface, to implement a Bluetooth function. In some embodiments, the audio module 170 may transmit an audio signal to the wireless communications module 160 through the UART interface, to implement a function of playing music through the Bluetooth headset.

[0101] The MIPI interface may be configured to connect the processor 110 to a peripheral component such as the display 194 or the camera 193. The MIPI interface includes a camera serial interface (camera serial interface, CSI), a display serial interface (display serial interface, DSI), or the like. In some embodiments, the processor 110 and the camera 193 communicate through the CSI interface, to implement a photographing function of the terminal 100. The processor 110 and the display screen 194 communicate through the DSI interface, to implement a display function of the terminal 100.

[0102] The GPIO interface may be configured by using software. The GPIO interface may be configured as a control signal, or may be configured as a data signal. In some embodiments, the GPIO interface may be configured to connect the processor 110 to the camera 193, the display 194, the wireless communications module 160, the audio module 170, the sensor module 180, or the like. The GPIO interface may be further configured as the I2C interface, the I2S interface, the UART interface, the MIPI interface, or the like.

[0103] The USB interface 130 is an interface that conforms to a USB standard specification, and may be specifically a mini USB interface, a micro USB interface, a USB Type C interface, or the like. The USB interface 130 may be configured to connect to a charger to charge the terminal 100, and may also be used for data transmission between the terminal 100 and a peripheral device. may also be configured to connect to a headset to play audio through the headset. Alternatively, the port may be used to connect to another electronic device, for example, an AR device.

[0104] It can be understood that an interface connection relationship between the modules shown in this embodiment of the present invention is merely an example for description, and does not constitute a limitation on the structure of the terminal 100. In some other embodiments of this application, the terminal 100 may alternatively use an interface connection manner different from that in this embodiment, or a combination of a plurality of interface connection manners.

[0105] The charging management module 140 is configured to receive a charging input from the charger. The charger may be a wireless charger or a wired charger. In some embodiments of wired charging, the charging management module 140 may receive a charging input of the wired charger through the USB interface 130. In some embodiments of wireless charging, the charging management module 140 may receive a wireless charging input by using a wireless charging coil of the terminal 100. The charging management module 140 may further supply power to the electronic device by using the power management module 141 while charging the battery 142.

[0106] The power management module 141 is configured to connect to the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives an input of the battery 142 and/or an input of the charging management module 140, and supplies power to the processor 110, the internal memory 121, the display 194, the camera 193, the wireless communication module 160, and the like. The power management module 141 may be further configured to monitor parameters such as a battery capacity, a quantity of battery cycles, and a battery health status (electric leakage or impedance). In some other embodiments, the power management module 141 may alternatively be disposed in the processor 110. In some other embodiments, the power management module 141 and the charging management module 140 may alternatively be disposed in a same device.

[0107] A wireless communication function of the terminal 100 may be implemented by using the antenna 1, the antenna 2, the mobile communications module 150, the wireless communications module 160, the modem processor, the baseband processor, and the like.

[0108] The antenna 1 and the antenna 2 are configured to transmit and receive electromagnetic wave signals. Each antenna in the terminal 100 may be configured to cover one or more communication frequency bands. Different antennas may be further multiplexed, to improve antenna utilization. For example, the antenna 1 may be multiplexed as a diversity antenna in a wireless local area network. In some other embodiments, an antenna may be used in combination with a tuning switch.

[0109] The mobile communications module 150 may provide a solution, applied to the terminal 100, to wireless communication including 2G, 3G, 4G, 5G, and the like. The mobile communications module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (low noise amplifier, LNA), and the like. The mobile communications module 150 may receive an electromagnetic wave through the antenna 1, perform processing such as filtering and amplification on the received electromagnetic wave, and transfer a processed electromagnetic wave to the modem processor for demodulation. The mobile communications module 150 may further amplify a signal modulated by the modem processor, and convert the signal into an electromagnetic wave for radiation through the antenna 1. In some embodiments, at least some function modules in the mobile communications module 150 may be disposed in the processor 110. In some embodiments, at least some function modules in the mobile communications module 150 and at least some modules in the processor 110 may be disposed in a same device.

[0110] The modem processor may include a modulator and a demodulator. The modulator is configured to modulate a to-be-sent low frequency baseband signal into a medium and high frequency signal. The demodulator is configured to demodulate a received electromagnetic wave signal into a low frequency baseband signal. Then, the demodulator transmits the low frequency baseband signal obtained through demodulation to the baseband processor for processing. The baseband processor processes the low-frequency baseband signal, and then transfers a processed signal to the application processor. The application processor outputs a sound signal through an audio device (which is not limited to the speaker 170A, the receiver 170B, or the like), or displays an image or a video through the display 194. In some embodiments, the modem processor may be an independent device. In some other embodiments, the modem processor may be independent of the processor 110, and is disposed in the same device as the mobile communications module 150 or another function module.

[0111] The wireless communications module 160 may provide a solution, applied to the terminal 100, to wireless communication including a wireless local area network (wireless local area networks, WLAN) (for example, a wireless fidelity (wireless fidelity, Wi-Fi) network), Bluetooth (Bluetooth, BT), a global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), a near field communication (near field communication, NFC) technology, an infrared (infrared, IR) technology, or the like. The wireless communications module 160 may be one or more components that integrate at least one communications processing module. The wireless communications module 160 receives an electromagnetic wave through the antenna 2, performs frequency modulation and filtering processing on the electromagnetic wave signal, and sends a processed signal to the processor 110. The wireless communications module 160 may further receive a to-be-sent signal from the processor 110, perform frequency modulation and amplification on the signal, and convert the signal into an electromagnetic wave for radiation through the antenna 2.

[0112] In some embodiments, in the terminal 100, the antenna 1 is coupled to the mobile communications module 150, and the antenna 2 is coupled to the wireless communications module 160, so that the terminal 100 can communicate with a network and another device by using a wireless communications technology. The wireless communications technology may include a global system for mobile communications (global system for mobile communications, GSM), a general packet radio service (general packet radio service, GPRS), code division multiple access (code division multiple access, CDMA), wideband code division multiple access (wideband code division multiple access, WCDMA), time-division code division multiple access (time-division code division multiple access, TD-SCDMA), long term evolution (long term evolution, LTE), BT, a GNSS, a WLAN, NFC, FM, an IR technology, and/or the like. The GNSS may include a global positioning system (global positioning system, GPS), a global navigation satellite system (global navigation satellite system, GLONASS), a BeiDou navigation satellite system (beidou navigation satellite system, BDS), a quasi-zenith satellite system (quasi-zenith satellite system, QZSS), and/or a satellite based augmentation system (satellite based augmentation systems, SBAS).

[0113] The terminal 100 implements a display function through the GPU, the display 194, the application processor, and the like. The GPU is a microprocessor for image processing, and is connected to the display 194 and the application processor. The GPU is configured to perform mathematical and geometric calculation, and render an image. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.

[0114] The display 194 is configured to display an image, a video, and the like. The display 194 includes a display panel. The display panel may be a liquid crystal display (liquid crystal display, LCD), an organic light-emitting diode (organic light-emitting diode, OLED), an active-matrix organic light emitting diode (active-matrix organic light emitting diode, AMOLED), a flex light-emitting diode (flex light-emitting diode, FLED), a mini LED, a micro LED, a micro-OLED, quantum dot light emitting diodes (quantum dot light emitting diodes, QLED), or the like. In some embodiments, the terminal 100 may include one or N displays 194, where N is a positive integer greater than 1.

[0115] The terminal 100 may implement a photographing function through the ISP, the camera 193, the video codec, the GPU, the display 194, the application processor, and the like.

[0116] The ISP is configured to process data fed back by the camera 193. For example, during photographing, a shutter is pressed, light is transmitted to a photosensitive element of the camera through a lens, an optical signal is converted into an electrical signal, and the photosensitive element of the camera transmits the electrical signal to the ISP for processing, to convert the electrical signal into a visible image. The ISP may further perform algorithm optimization on noise, brightness, and complexion of the image. The ISP may further optimize parameters such as exposure and a color temperature of a photographing scenario. In some embodiments, the ISP may be disposed in the camera 193.

[0117] The camera 193 is configured to capture a static image or a video. An optical image of an object is generated through the lens, and is projected onto the photosensitive element. The photosensitive element may be a charge coupled device (charge coupled device, CCD) or a complementary metal-oxide-semiconductor (complementary metal-oxide-semiconductor, CMOS) phototransistor. The photosensitive element converts an optical signal into an electrical signal, and then transmits the electrical signal to the ISP for converting the electrical signal into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard format such as RGB or YUV. In some embodiments, the terminal 100 may include one or N cameras 193, where N is a positive integer greater than 1.

[0118] The digital signal processor is configured to process a digital signal, and may process another digital signal in addition to the digital image signal. For example, when the terminal 100 selects a frequency, the digital signal processor is configured to perform Fourier transform and the like on frequency energy.

[0119] The video codec is configured to compress or decompress a digital video. The terminal 100 may support one or more video codecs. Therefore, the terminal 100 may play or record videos in a plurality of coding formats, for example, moving picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, and MPEG4.

[0120] The NPU is a neural network (neural-network, NN) computing processor that rapidly processes input information by referring to a structure of a biological neural network, for example, by referring to a transfer mode between human brain neurons, and can further perform self-learning continuously. The NPU can implement applications such as intelligent cognition of the terminal 100, such as image recognition, facial recognition, speech recognition, and text understanding.

[0121] The external memory interface 120 may be configured to connect to an external memory card, for example, a micro SD card, to extend a storage capability of the terminal 100. The external storage card communicates with the processor 110 through the external memory interface 120, to implement a data storage function. For example, files such as music and videos are stored in the external storage card.

[0122] The internal memory 121 may be configured to store computer-executable program code. The executable program code includes instructions. The internal memory 121 may include a program storage area and a data storage area. The program storage area may store an operating system, an application required by at least one function (for example, a sound playing function or an image playing function), and the like. The data storage area may store data (such as audio data and a phone book) and the like created when the terminal 100 is used. In addition, the internal memory 121 may include a high-speed random access memory, and may further include a nonvolatile memory, for example, at least one magnetic disk storage device, a flash memory, and a universal flash storage (universal flash storage, UFS). The processor 110 runs the instructions stored in the internal memory 121 and/or the instructions stored in the memory disposed in the processor, to perform various function applications of the terminal 100 and data processing.

[0123] The terminal 100 may implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headset jack 170D, the application processor, and the like.

[0124] The audio module 170 is configured to convert digital audio information into an analog audio signal output, and is also configured to convert an analog audio input into a digital audio signal. The audio module 170 may be further configured to code and decode an audio signal. In some embodiments, the audio module 170 may be disposed in the processor 110, or some function modules of the audio module 170 are disposed in the processor 110.

[0125] The speaker 170A, also referred to as a "horn", is configured to convert an audio electrical signal into a sound signal. The terminal 100 may be used to listen to music or answer a call in a hands-free mode over the speaker 170A.

[0126] The receiver 170B, also referred to as an "earpiece", is configured to convert an audio electrical signal into a sound signal. When a call is answered or a voice message is listened to by using the terminal 100, the receiver 170B may be put close to a human ear to listen to a voice.

[0127] The microphone 170C, also referred to as a "mike" or a "microphone", is configured to convert a sound signal into an electrical signal. When making a call or sending voice information, a user may make a sound by moving a human mouth close to the microphone 170C to input a sound signal to the microphone 170C. At least one microphone 170C may be disposed in the terminal 100. In some other embodiments, two microphones 170C may be disposed in the terminal 100, to collect a sound signal and implement a noise reduction function. In some other embodiments, three, four, or more microphones 170C may alternatively be disposed in the terminal 100, to collect a sound signal, implement noise reduction, and identify a sound source, so as to implement a directional recording function and the like.

[0128] The headset jack 170D is configured to connect to a wired headset. The headset jack 170D may be a USB port 130, or may be a 3.5 mm open mobile terminal platform (open mobile terminal platform, OMTP) standard interface or cellular telecommunications industry association of the USA (cellular telecommunications industry association of the USA, CTIA) standard interface.

[0129] The pressure sensor 180A is configured to sense a pressure signal, and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be disposed on the display 194. There are many types of pressure sensors 180A, such as a resistive pressure sensor, an inductive pressure sensor, and a capacitive pressure sensor. The capacitive pressure sensor may include at least two parallel plates made of conductive materials. When a force is applied to the pressure sensor 180A, capacitance between electrodes changes. The terminal 100 determines pressure intensity based on a capacitance change. When a touch operation is performed on the display screen 194, the terminal 100 detects intensity of the touch operation by using the pressure sensor 180A. The terminal 100 may also calculate a touch position based on a detection signal of the pressure sensor 180A. In some embodiments, touch operations that are performed at a same touch location but have different touch operation intensity may correspond to different operation instructions. For example, when a touch operation whose touch operation intensity is less than a first pressure threshold is performed on an application icon "Messages", an instruction for viewing an SMS message is executed. When a touch operation whose touch operation intensity is greater than or equal to the first pressure threshold is performed on an application icon "Messages", an instruction for creating an SMS message is executed.

[0130] The gyro sensor 180B may be configured to determine a motion posture of the terminal 100. In some embodiments, an angular velocity of the terminal 100 around three axes (namely, x, y, and z axes) may be determined by using the gyro sensor 180B. The gyroscope sensor 180B may be configured to implement image stabilization during shooting. For example, when a shutter is pressed, the gyro sensor 180B detects a shaking angle of the terminal 100, calculates, based on the angle, a distance that a lens module needs to compensate, and allows the lens to cancel shaking of the terminal 100 through reverse motion, to implement image stabilization. The gyroscope sensor 180B may be further used in a navigation scenario and a motion-sensing game scenario.

[0131] The barometric pressure sensor 180C is configured to measure barometric pressure. In some embodiments, the terminal 100 calculates an altitude by using a barometric pressure value obtained through measurement by the barometric pressure sensor 180C, to assist in positioning and navigation.

[0132] The magnetic sensor 180D includes a Hall effect sensor. The terminal 100 may detect opening and closing of a flip carrying case by using the magnetic sensor 180D. In some embodiments, when the terminal 100 is a flip phone, the terminal 100 may detect opening and closing of a flip cover by using the magnetic sensor 180D. Further, a feature such as automatic unlocking upon opening of the flip cover is set based on a detected opening or closing state of the leather case or a detected opening or closing state of the flip cover.

[0133] The acceleration sensor 180E may detect magnitude of accelerations in various directions (usually on three axes) of the terminal 100, When the terminal 100 is still, a value and a direction of gravity may be detected. The acceleration sensor 180E may be further configured to recognize a posture of the electronic device, and is used in screen switching between a landscape mode and a portrait mode, a pedometer, or another application.

[0134] The distance sensor 180F is configured to measure a distance. The terminal 100 may measure a distance by using infrared or laser. In some embodiments, in a photographing scenario, the terminal 100 may measure a distance by using the distance sensor 180F, to implement fast focusing.

[0135] The optical proximity sensor 180G may include, for example, a light-emitting diode (LED) and an optical detector such as a photodiode. The light-emitting diode may be an infrared light-emitting diode. The terminal 100 emits infrared light by using the light emitting diode. The terminal 100 uses the photodiode to detect reflected infrared light from a nearby object. When sufficient reflected light is detected, it may be determined that there is an object near the terminal 100. When insufficient reflected light is detected, the terminal 100 may determine that there is no object near the terminal 100. The terminal 100 may detect, by using the optical proximity sensor 180G, that the user holds the terminal 100 close to an ear to make or answer a call, and therefore automatically turn off the screen to save power. The optical proximity sensor 180G may also be used in a leather case mode or a pocket mode to automatically unlock or lock the screen.

[0136] The ambient light sensor 180L is configured to sense ambient light brightness. The terminal 100 may adaptively adjust brightness of the display screen 194 based on the sensed ambient light intensity. The ambient light sensor 180L may also be configured to automatically adjust a white balance during photographing. The ambient light sensor 180L may further cooperate with the optical proximity sensor 180G in detecting whether the terminal 100 is in a pocket, to prevent an accidental touch.

[0137] The fingerprint sensor 180H is configured to collect a fingerprint. The terminal 100 may use a collected fingerprint feature to implement fingerprint unlock, application access lock, fingerprint photographing, fingerprint call answering, and the like.

[0138] The temperature sensor 180J is configured to detect a temperature. In some embodiments, the terminal 100 executes a temperature processing policy based on a temperature detected by the temperature sensor 180J. For example, when a temperature reported by the temperature sensor 180J exceeds a threshold, the terminal 100 lowers performance of a processor close to the temperature sensor 180J, to reduce power consumption and implement thermal protection. In some other embodiments, when a temperature is less than another threshold, the terminal 100 heats the battery 142 to prevent abnormal shutdown of the terminal 100 caused by the low temperature. In some other embodiments, when a temperature is less than still another threshold, the terminal 100 boosts an output voltage of the battery 142 to prevent abnormal shutdown caused by the low temperature.

[0139] The touch sensor 180K is also referred to as a "touch control device". The touch sensor 180K may be disposed on the display 194, and the touch sensor 180K and the display 194 constitute a touchscreen, which is also referred to as a "touch screen". The touch sensor 180K is configured to detect a touch operation performed on or near the touch sensor 180K. The touch sensor may transfer the detected touch operation to the application processor, to determine a type of a touch event. Visual output related to the touch operation may be provided on the display 194. In some other embodiments, the touch sensor 180K may be alternatively disposed on a surface of the terminal 100, in a position different from that of the display screen 194.

[0140] The bone conduction sensor 180M may obtain a vibration signal. In some embodiments, the bone conduction sensor 180M may obtain a vibration signal of a vibration bone of a human vocal-cord part. The bone conduction sensor 180M may also be in contact with a human pulse, to receive a blood pressure beating signal. In some embodiments, the bone conduction sensor 180M may alternatively be disposed in a headset to form a bone conduction headset. The audio module 170 may obtain a voice signal through parsing based on the vibration signal that is of the vibration bone of the vocal-cord part and that is obtained by the bone conduction sensor 180M, to implement a voice function. The application processor may parse heart rate information based on the blood pressure beating signal obtained by the bone conduction sensor 180M, to implement a heart rate detection function.

[0141] The button 190 includes a power button, a volume button, and the like. The button 190 may be a mechanical button, or may be a touch button. The terminal 100 may receive a key input, and generate a key signal input related to user setting and function control of the terminal 100.

[0142] The motor 191 may generate a vibration prompt. The motor 191 may be configured to provide an incoming call vibration prompt and a touch vibration feedback. For example, touch operations performed on different applications (for example, shooting and audio playing) may correspond to different vibration feedback effects. The motor 191 may also correspond to different vibration feedback effects for touch operations performed on different areas of the display 194. Different application scenarios (for example, a time reminder, information receiving, an alarm clock, and a game) may also correspond to different vibration feedback effects. A touch vibration feedback effect may be further customized.

[0143] The indicator 192 may be an indicator light, and may be configured to indicate a charging status and a power change, or may be configured to indicate a message, a missed call, a notification, and the like.

[0144] The SIM card interface 195 is configured to connect to a SIM card. The SIM card may be inserted into the SIM card interface 195 or detached from the SIM card interface 195, to implement contact with or separation from the terminal 100. The terminal 100 may support one or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support a nano-SIM card, a micro-SIM card, a SIM card, and the like. A plurality of cards may be simultaneously inserted into a same SIM card interface 195. The plurality of cards may be of a same type or of different types. The SIM card interface 195 may be compatible with different types of SIM cards. The SIM card interface 195 may also be compatible with an external storage card. The terminal 100 interacts with a network by using the SIM card, to implement functions such as conversation and data communication. In some embodiments, the terminal 100 uses an eSIM, namely, an embedded SIM card. The eSIM card may be embedded into the terminal 100, and cannot be separated from the terminal 100.

[0145] A software system of the terminal 100 may use a layered architecture, an event-driven architecture, a microkernel architecture, a micro service architecture, or a cloud architecture. In an embodiment of the present invention, an Android system with a layered architecture is used as an example to describe a software structure of the terminal 100.

[0146] FIG. 2 is a structural block diagram of a software of the terminal 100 according to the embodiment of the present invention.

[0147] In a layered architecture, software is divided into several layers, and each layer has a clear role and task. The layers communicate with each other through a software interface. In some embodiments, an Android system is divided into four layers: an application layer, an application framework layer, an Android runtime (Android runtime) and system library, and a kernel layer from top to bottom.

[0148] The application layer may include a series of application packages.

[0149] As shown in FIG. 2, the application package may include applications such as "camera", "gallery", "calendar", "phone", "maps", "navigation", "WLAN", "Bluetooth", "music", "videos", and "messages".

[0150] The application framework layer provides an application programming interface (application programming interface, API) and a programming framework for an application at the application layer. The application framework layer includes some predefined functions.

[0151] As shown in FIG. 2, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.

[0152] The window manager is configured to manage a window program. The window manager may obtain a size of a display, determine whether there is a status bar, perform screen locking, take a screenshot, and the like.

[0153] The content provider is configured to: store and obtain data, and enable the data to be accessed by an application. The data may include a video, an image, audio, calls that are made and received, a browsing history and bookmarks, a phone book, and the like.

[0154] The view system includes visual controls, such as a control for displaying a text and a control for displaying an image. The view system may be configured to construct an application. A display interface may include one or more views. For example, a display interface including a message notification icon may include a text display view and a picture display view.

[0155] The phone manager is configured to provide a communication function of the terminal 100, for example, management of a call status (including answering or declining a call).

[0156] The resource manager provides various resources for an application, such as a localized character string, an icon, a picture, a layout file, and a video file.

[0157] The notification manager enables an application to display notification information in a status bar, and may be configured to convey a notification type message, where the displayed notification information may automatically disappear after a short pause and require no user interaction. For example, the notification manager is configured to notify download completion, provide a message notification, and the like. The notification manager may alternatively be a notification that appears in a top status bar of the system in a form of a graph or a scroll bar text, for example, a notification of an application running on the background or a notification that appears on a screen in a form of a dialog window. For example, text information is displayed in the status bar, an alert sound is played, the electronic device vibrates, or the indicator light blinks.

[0158] The Android runtime includes a kernel library and a virtual machine. The Android runtime is responsible for scheduling and management of the Android system.

[0159] The kernel library includes two parts: a function that needs to be invoked in Java language and a kernel library of Android.

[0160] The application layer and the application framework layer run on the virtual machine. The virtual machine executes Java files at the application layer and the application framework layer as binary files. The virtual machine is configured to implement functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.

[0161] The system library may include a plurality of function modules, for example, a surface manager (surface manager), a media library (Media Libraries), a three-dimensional graphics processing library (for example, OpenGL ES), and a 2D graphics engine (for example, SGL).

[0162] The surface manager is configured to manage a display subsystem and provide fusion of 2D and 3D layers for a plurality of applications.

[0163] The media library supports playback and recording in a plurality of commonly used audio and video formats, static image files, and the like. The media library may support a plurality of audio and video coding formats, MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.

[0164] The three-dimensional graphics processing library is configured to implement three-dimensional graphics drawing, image rendering, composition, layer processing, and the like.

[0165] The 2D graphics engine is a drawing engine for 2D drawing.

[0166] The kernel layer is a layer between hardware and software. The kernel layer includes at least a display driver, a camera driver, an audio driver, and a sensor driver.

[0167] The following describes an example of a working procedure of software and hardware of the terminal 100 with reference to a capture photographing scenario.

[0168] When the touch sensor 180K receives a touch operation, a corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into an original input event (including information such as touch coordinates and a timestamp of the touch operation). The original input event is stored at the kernel layer. The application framework layer obtains the original input event from the kernel layer, and identifies a control corresponding to the input event. An example in which the touch operation is a touch/tap operation and a control corresponding to the tap operation is a control of a camera application icon is used. A camera application invokes an interface of the application framework layer, so that the camera application is started. Then, a camera driver is started by invoking the kernel layer, and a static image or a video is captured by using the camera 193.

[0169] The method for determining a pose provided in this embodiment of the present disclosure may be implemented with reference to a component disposed in the terminal 100. For example, communication with the server may be implemented by using components such as the antenna 1, the antenna 2, the mobile communications module 150, and the wireless communications module 160, for example, transmitting the to-be-queried image and the N text fields, and receiving an initial pose returned by the server. The audio module 170, the speaker 170A, and the headset jack 170D may perform voice playing of some prompt information to the user. Some prompt information to the user may be displayed by using the display screen 194. The to-be-queried image, the environmental image, the initial image, and the like may be shot by using the camera 193. The gyroscope sensor 180B may assist in determining a motion posture of the terminal and the like. The function of determining the initial pose of the terminal 100 may be implemented by using the component disposed in the terminal 100 and the method provided in the embodiment of this disclosure. The foregoing is merely an example, but is not limited.

[0170] Another exemplary embodiment of the present disclosure provides a server 300.

[0171] The server 300 may include a processor 310 and a transceiver 320. The transceiver 320 may be connected to the processor 310, as shown in FIG. 3. The transceiver 320 may include a receiver and a transmitter, and may be configured to receive or send a message or data. The transceiver 320 may be a network adapter. The source server may further include an acceleration component (which may be referred to as an accelerator). When the acceleration component is a network acceleration component, the acceleration component may be a network interface card. The processor 310 may be a control center of the authentication server, and be connected to all parts, such as the transceiver 320, of the entire authentication server by using various interfaces and lines. In this disclosure, the processor 310 may be a central processing unit (central processing unit, CPU). Optionally, the processor 310 may include one or more processing units. The processor 310 may alternatively be a digital signal processor, an application-specific integrated circuit, a field programmable gate array, another programmable logic device, or the like. The source server may further include a memory 330. The memory 330 may be configured to store a software program and a module, and the processor 310 performs various function applications and data processing of the source server by reading software code and the module stored in the memory.

[0172] An exemplary embodiment of the present disclosure provides a system for determining a pose. As shown in FIG. 4, the system may include a terminal and a server. The terminal may be a mobile terminal, a human-computer interaction device, or an in-vehicle visual perception device, such as a mobile phone, a floor sweeper, an intelligent robot, a self-driving car, an intelligent monitor, or an augmented reality (augmented reality, AR) wearable device. Correspondingly, the method provided in this embodiment of the present disclosure may be applied to application fields such as human-computer interaction, in-vehicle visual perception, augmented reality, intelligent surveillance, self driving, and garage car search.

[0173] In a process of moving the terminal, an image shooting component in the terminal may capture a video stream of a target venue in real time, and the terminal may further extract a to-be-queried image from the video stream. The to-be-queried image may be considered as a video frame in a video stream, or may be considered as a text region image extracted from a video frame, or the like. The terminal may send the to-be-queried image to a server, and the server determines an initial pose of the terminal based on the to-be-queried image. Subsequently, the server may further send the determined initial pose to the terminal, and the terminal may determine, based on the received initial pose, a position and a posture that are located in the target venue, and perform processing such as navigation, route planning, and obstacle avoidance.

[0174] A process of determining the initial pose of the terminal may be considered as an online positioning process. Before online positioning is performed, offline calibration may be performed first. An environmental image shot at each position in the target venue can be captured by an off-line calibration process, and a three-dimensional (3 dimensions, 3D) point cloud of the target venue is established based on the captured environmental image. The 3D point cloud includes three-dimensional location information of a physical point that is in actual space and corresponding to each pixel in each environmental image.

[0175] As shown in FIG. 5, modules involved in the online positioning process include an image extracting module 501, a text box detecting module 502, a text field recognizing module 503, a text region image enhancement module 504, a feature extraction module 505, an image retrieval module 506, a text region image feature matching module 507, a 2D-3D point matching module 508, and a pose estimation module 509. Modules involved in the offline calibration process include an offline text box detection module 510, an offline text field recognition module 511, a text index creation module 512, an offline text region image enhancement module 513, an offline feature extraction module 514, a 2D-3D point correspondence calibration module 515, and a correspondence registration and loading module 516. Modules used in the online positioning process or the offline calibration process may be added or reduced according to an actual use requirement. Functions of the foregoing modules are different. A method for determining a pose described later may be implemented in the foregoing modules.

[0176] In the processing flow of the method in the embodiment described below, a sequence of processing steps is not limited, and the sequence of the steps may be freely changed or executed in parallel without violating a natural law. Steps between different embodiments may also be freely combined without violating the laws of nature.

[0177] An example embodiment of the present disclosure provides a method for determining a pose. The method may be applied to a terminal. As shown in FIG. 6, a processing procedure of the method may include the following steps.

[0178] Step S601: A terminal obtains a to-be-queried image at a first position.

[0179] The to-be-queried image has a text. A scene at the first position includes a scene in the to-be-queried image.

[0180] Step S602: Determine N text fields included in the to-be-queried image.

[0181] A value of the NSE is greater than or equal to 1.

[0182] Step S603: Send the N text fields and the to-be-queried image to a server, so that the server determines, based on the N text fields and the to-be-queried image, an initial pose of the terminal at the first positio.

[0183] Step S604. Receive the initial pose returned by the server.

[0184] In a possible implementation, the step in which the terminal obtains the to-be-queried image at the first position may include: shooting a first initial image; when the first initial image has no text, displaying first prompt information or playing first prompt information by voice, where the first prompt information is used to indicate that no text is detected in the first initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and when the terminal shoots, at the first position, a second initial image having a text, determining the second initial image as the to-be-queried image.

[0185] In a possible implementation, the step in which the terminal obtains the to-be-queried image at the first position may include: shooting a third initial image; determining, by performing text detection processing on the third initial image, a text region image included in the third initial image; when the text region image included in the third initial image does not meet a preferred image condition, displaying second prompt information or playing second prompt information by voice, where the second prompt information is used to indicate that the text region image included in the third initial image does not meet the preferred image condition, and prompt a user to move the terminal in a direction in which a real text is located; and when the terminal shoots, at the first position, a fourth initial image including a text region image that meets the preferred image condition, determining the fourth initial image as the to-be-queried image.

[0186] The preferred image condition includes one or more of the following conditions:

a size of the text region image is greater than or equal to a size threshold;

definition of the text region image is higher than or equal to a definition threshold; and

texture complexity of the text region image is less than or equal to a complexity threshold.



[0187] In a possible implementation, the step in which the terminal obtains the to-be-queried image at the first position may include: shooting a fifth initial image; determining N text fields included in the fifth initial image; obtaining M text fields included in a reference query image, where a time interval between a time of capturing the reference query image and a time of capturing the fifth initial image is less than a duration threshold, and M is greater than or equal to 1; when any text field included in the fifth initial image is inconsistent with each of the M text fields, displaying third prompt information or playing third prompt information by voice, where the third prompt information is used to indicate that an incorrect text field is recognized in the fifth initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and when the terminal shoots, at the first position, a sixth initial image including text fields that all belong to the M text fields, determining the sixth initial image as the to-be-queried image.

[0188] In a possible implementation, the step of obtaining the to-be-queried image may include: capturing a first image of a current scene at the first position, where the first image includes a text; performing text detection processing on the first image to obtain at least one text region image; and using the at least one text region image included in the first image as the to-be-queried image.

[0189] In a possible implementation, the method provided by the embodiment of the present disclosure may further include: determining a location region of the text region image in the to-be-queried image; and sending the location region to the server; and that the server determines the initial pose of the terminal at the first position based on the N text fields and the to-be-queried image includes: the server determines the initial pose of the terminal at the first position based on the location region of the text region image in the to-be-queried image, the N text fields, and the to-be-queried image.

[0190] In a possible implementation, the method provided by the embodiment of the present disclosure may further include: obtaining location information of the terminal; and sending the location information to the server; and that the server determines the initial pose of the terminal based on the N text fields and the to-be-queried image includes: the server determines the initial pose of the terminal based on the location information, the N text fields, and the to-be-queried image.

[0191] In a possible implementation, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: determining a real-time pose based on the initial pose and the pose change of the terminal.

[0192] In a possible implementation, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: obtaining a preview stream of the current scene; determining, based on the real-time pose, preset media content included in a digital map corresponding to the scene in the preview stream; and rendering the media content in the preview stream.

[0193] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate.

[0194] An example embodiment of the present disclosure provides a method for determining a pose. The method may be applied to a server. As shown in FIG. 7, a processing procedure of the method may include the following steps.

[0195] Step S701: Receive a to-be-queried image sent by a terminal and N text fields included in the to-be-queried image.

[0196] A value of the NSE is greater than or equal to 1. The to-be-queried image is obtained based on an image captured by the terminal at a first position, and a scene at the first position includes a scene in the to-be-queried image.

[0197] Step S702: Determine a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields.

[0198] Step S703: Determine an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image.

[0199] Step S704: Send the determined initial pose to the terminal.

[0200] In a possible implementation, the step of determining the initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image may include: determining a target reference image in the candidate reference image, where the scene at the first position includes a scene in the target reference image; and determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image.

[0201] In a possible implementation, the step of determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image may include: determining a 2D-2D correspondence between the to-be-queried image and the target reference image; and determining the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.

[0202] In a possible implementation, the method provided by the embodiment of the present disclosure may further include: receiving a location region of a text region image in the to-be-queried image sent by the terminal; and the step of determining the 2D-2D correspondence between the to-be-queried image and the target reference image may include: determining, based on the location region, a target text region image included in the to-be-queried image; obtaining a text region image included in the target reference image; and determining a 2D-2D correspondence between the target text region image and the text region image included in the target reference image.

[0203] In a possible implementation, the step of determining the target reference image in the candidate reference image may include: determining an image similarity between each candidate reference image and the to-be-queried image; and determining, in each candidate reference image, a first preset quantity of target reference images with a highest image similarity.

[0204] In a possible implementation, the step of determining the target reference image in the candidate reference image may include: obtaining a global image feature of each candidate reference image; determining a global image feature of the to-be-queried image; determining a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and determining, in each candidate reference image, a second preset quantity of target reference images with a shortest distance.

[0205] In a possible implementation, the step of determining the target reference image in the candidate reference image may include: receiving location information sent by the terminal; obtaining a shooting position corresponding to each candidate reference image; and determining, in each candidate reference image, a target reference image whose shooting position matches the location information.

[0206] In a possible implementation, when N is greater than 1, the step of determining the target reference image in the candidate reference image may include: determining, in each candidate reference image, a target reference image including the N text fields.

[0207] In a possible implementation, the step of determining the target reference image in the candidate reference image may include: when there is only one candidate reference image, determining the candidate reference image as the target reference image.

[0208] In a possible implementation, the step of determining the candidate reference image based on the prestored correspondence between the reference image and the text field and based on the N text fields may include: inputting the N text fields included in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field included in the to-be-queried image; determining a text field whose text type is a preset salient type; and searching, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.

[0209] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate.

[0210] An example embodiment of the present disclosure provides a method for determining a pose. The method may be applied to a terminal, and is implemented in cooperation with a server. As shown in FIG. 8, a processing procedure of the method may include the following steps.

[0211] Step S801: Guide a user to shoot a to-be-queried image at a first position.

[0212] A scene at the first position includes a scene in the to-be-queried image.

[0213] In implementation, the first position may include any geographic location or spatial location. The scene may be a scene or an environment in which a terminal device is used, for example, a room or a field. Alternatively, the scene may be all or a part of a scene that can be captured by an image shooting component of the terminal within a preset position range, and the scene may further include an environmental background, a physical object in the environment, and the like. A specific scope and a size of a scene are freely defined according to an actual requirement, and are not limited in this disclosed embodiment. The scene at the first position may be a specific scene around the first position, and may include a specific preset geographic range or a field of view range. The to-be-queried image may be an image captured by the terminal at the first position, a scene in the image is consistent with a physical scene, and a scene in the to-be-queried image may be a part or all of a scene corresponding to the first position. The first position is not limited to a specific precise location, and an actual location is allowed to have a certain precision error.

[0214] If the to-be-queried image is shot by the user by using the terminal, some means may be used to ensure image quality of the shot to-be-queried image, and the user may be guided for shooting by using a user interface (user interface, UI). In this embodiment of the present disclosure, three manners of guiding a user to shoot a to-be-queried image are provided.

[0215] Optionally, step S801 may include: shooting a first initial image; when the first initial image has no text, displaying first prompt information or playing first prompt information by voice, where the first prompt information is used to indicate that no text is detected in the first initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and when the terminal shoots, at the first position, a second initial image having a text, determining the second initial image as the to-be-queried image.

[0216] In implementation, when the user comes to a target venue, for example, a shopping mall, if the user comes to the shopping mall for the first time, and wants to view some information introduction of the shopping mall by using a mobile phone, the user may take out the mobile phone, and stand at a second position and turn on a camera to target an environment of the shopping mall for shooting. In this case, the terminal may obtain the first initial image, and may detect whether the first initial image has a text. When the first initial image has no text, as shown in FIG. 9, the terminal may pop up a prompt box or directly play the first prompt information by voice, for example, may display "no text is detected in the current image, please change the position or adjust the shooting angle and try again". After receiving the prompt, the user moves the mobile phone to a position at which the real text is located. In the moving process, the terminal continuously shoots an initial image until the user moves to a proper first position. The terminal detects the text in the second initial image, and may determine the second initial image as a to-be-queried image, and send the second initial image to the server. In this case, the terminal may further pop up a prompt box to prompt the user that the text has been detected and that information query processing is being performed based on the shot image.

[0217] Optionally, step S801 may include: shooting a third initial image; determining, by performing text detection processing on the third initial image, a text region image included in the third initial image; when the text region image included in the third initial image does not meet a preferred image condition, displaying second prompt information or playing second prompt information by voice, where the second prompt information is used to indicate that the text region image included in the third initial image does not meet the preferred image condition, and prompt a user to move the terminal in a direction in which a real text is located; and when a fourth initial image including a text region image that meets the preferred image condition is shot at the first position, determining the fourth initial image as the to-be-queried image.

[0218] The preferred image condition may include one or more of the following conditions: a size of the text region image is greater than or equal to a size threshold; definition of the text region image is higher than or equal to a definition threshold; and texture complexity of the text region image is less than or equal to a complexity threshold.

[0219] In implementation, the terminal may detect the text region image in the third initial image, and determine a size of the text region image. If the size of the text region image is relatively small, it indicates that the text region image may not be very clear, and further, the current image does not meet requirements. The terminal may also directly determine the definition of the text region image. If the definition is less than the definition threshold, it indicates that the text region image may not be very clear, and further, the current image does not meet requirements. The terminal may further determine the texture complexity of the text region image. If the texture complexity of the text region image is relatively high, it indicates that there are a lot of texture features in the text region image, which may cause interference to a text field in the text region image subsequently recognized, and further, the current image does not meet requirements. Another preferred image condition may be properly set based on an actual requirement on the basis of the preferred image condition provided in this embodiment of the disclosure. When the text region image in the third initial image does not meet one or more of the preferred image conditions, the initial image is shot again.

[0220] In an actual application, when the user comes to a target venue, for example, a shopping mall, if the user comes to the shopping mall for the first time, and wants to view some information introduction of the shopping mall by using a mobile phone, the user may take out the mobile phone, and stand at a second position and turn on a camera to target an environment of the shopping mall for shooting. In this case, the terminal may obtain the third initial image, and may detect whether the text region image included in the third initial image meets the preferred image condition. When the size of the text region image included in the third initial image is less than the size threshold, as shown in FIG. 10, the terminal may pop up a prompt box or directly play the second prompt information by voice, for example, may display "a text box detected in the current image is relatively small, please approach a location where the real text is". After receiving the prompt, the user moves the mobile phone to a position at which the real text is located. In the moving process, the terminal continuously shoots an initial image until the user moves to a proper first position. A size of a text region image detected by the terminal in the fourth initial image is greater than a size threshold. The fourth initial image may be determined as a to-be-queried image, and sent to the server. In this case, the terminal may further pop up a prompt box, to prompt the user that the current image meets the requirements, and information query processing is being performed based on the shot image. When definition and texture complexity of the text region image included in the third initial image do not meet requirements, a prompt may also be provided to the user in the foregoing manner, so as to guide the user to shoot a to-be-queried image with higher image quality.

[0221] Optionally, step S801 may include: shooting a fifth initial image; determining N text fields included in the fifth initial image; obtaining M text fields included in a reference query image, where a time interval between a time of capturing the reference query image and a time of capturing the fifth initial image is less than a duration threshold, and M is greater than or equal to 1; when any text field included in the fifth initial image is inconsistent with each of the M text fields, displaying third prompt information or playing third prompt information by voice, where the third prompt information is used to indicate that an incorrect text field is recognized in the fifth initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and when text fields included in a sixth initial image that is shot at the first position all belong to the M text fields, determining the sixth initial image as the to-be-queried image.

[0222] In implementation, if the fifth initial image includes one text field, whether the one text field exists may be searched in the M text fields included in the reference query image. If the one text field exists in the M text fields included in the reference query image, it indicates that the one text field recognized in the fifth initial image is a correct text field. If the fifth initial image includes at least two text fields, each text field included in the fifth initial image may be obtained in sequence, and each time one text field is obtained, whether the currently obtained text field exists in the M text fields included in the reference query image is searched for. If the currently obtained text field exists in the M text fields included in the reference query image, it indicates that the currently obtained text field is a correct text field. However, the fifth initial image includes at least two text fields. Therefore, the foregoing determination needs to be performed for a plurality of times. As long as any text field included in the fifth initial image does not exist in the M text fields included in the reference query image, the initial image may be shot again.

[0223] In an actual application, when the user comes to a target venue, for example, a shopping mall, if the user comes to the shopping mall for the first time, and wants to view some information introduction of the shopping mall by using a mobile phone, the user may take out the mobile phone, and stand at a second position and turn on a camera to target an environment of the shopping mall for shooting. In this case, the terminal may obtain the fifth initial image, and the terminal may detect the N text region images in the fifth initial image, and separately recognize a text field included in each text region image. Then, the terminal may further determine, based on an up-down video frame of the fifth initial image in the video stream, accuracy of the text field recognized from the fifth initial image. A time interval between the up-down video frame and the fifth initial image is less than a duration threshold. For example, an example in which only one text field is detected in the image is used for description. Text fields recognized in a previous video and a next video frame of the fifth initial image are both "A35", but a text field recognized in the fifth initial image is "A36". In this case, it indicates that the text field recognized in the fifth initial image may be an incorrect text field. Further, as shown in FIG. 11, a prompt box may be popped up or the third prompt information may be directly played by voice, for example, "an incorrect text may be recognized, please change the position or adjust the shooting angle". After receiving the prompt, the user moves the mobile phone to a position at which the real text is located. In the moving process, the terminal continuously shoots an initial image until the user moves to a proper first position each text field recognized in the sixth initial image belongs to a text field that can be recognized in the up-down video frame, the terminal may determine the sixth initial image as the to-be-queried image, and send the to-be-queried image to the server. In this case, the terminal may further pop up a prompt box to prompt the user that a correct text has been detected and that information query processing is being performed based on the shot image.

[0224] In the foregoing manner, each time after a user performs an operation, the terminal may evaluate and properly guide the operation of the user based on preset logic, so as to guide the user to shoot a to-be-queried image with relatively high image quality. The user may be guided in a UI guidance manner to shoot a scene that is more conducive to text recognition, and a final recognition result is verified by using a text field recognition result of the up-down video frame, so that text recognition is more accurate, and search accuracy is further improved.

[0225] The foregoing provided three manners may be used independently, or any two or all of the three manners may be used in combination. In addition, another manner of guiding the user to shoot a to-be-queried image with high image quality may be used together.

[0226] In addition to the foregoing manner, if the to-be-queried image is automatically shot by the terminal, in a process of moving the terminal, the image shooting component in the terminal may shoot a video stream of the target venue in real time, and extract the to-be-queried image from the video stream. The to-be-queried image may be a video frame in a video stream. Alternatively, the terminal may shoot the environmental image of the target venue whenever a preset photographing period is reached, and use a complete environmental image as the to-be-queried image.

[0227] If the to-be-queried image is automatically shot by the terminal and is a video frame in the video stream, in a process of shooting a video, frame extraction may be performed to complete determining of the initial pose. For example, the terminal may shoot 60 video frames per second. To reduce a calculation amount generated in a process of determining the initial pose, 60 video frames may be sampled at a fixed interval to obtain, for example, 30 video frames, and the initial pose of the terminal is determined based on the 30 video frames. Each time one video frame is obtained, the method provided in this embodiment of the present disclosure may be performed once, to determine an initial pose of the terminal at a moment when the terminal captures the corresponding video frame.

[0228] To-be-queried images obtained by the terminal by shooting at different postures are different. The initial pose of the terminal may be determined based on features of the shot to-be-queried image. The pose mentioned in this application may be a global pose, the global pose includes a current initial position and a posture of the terminal, the posture may also be a rotation angle, the position may be represented by coordinates of the terminal in a world coordinate system, and the pose may be represented by a rotation angle of the terminal relative to the world coordinate system. The world coordinate system may be a coordinate system in a preset actual space, and east and north directions in an actual space may be respectively used as an x axis and a y axis of the coordinate system, and a straight line perpendicular to a horizontal plane enclosed by the x axis and the y axis and passing through a preset origin is used as the z axis, to establish the world coordinate system.

[0229] Step S802: Determine N text fields included in the to-be-queried image.

[0230] A value of the NSE is greater than or equal to 1.

[0231] In implementation, after the to-be-queried image is obtained, the N text fields included in the to-be-queried image may be recognized based on an optical character recognition (optical character recognition, OCR) technology. Specifically, the N text region images may be determined in the to-be-queried image by using text detection processing, and a text included in each text region image is separately recognized, to obtain the N text fields. The text field may be one character or a plurality of characters, for example, the text field may be "A", "3", or "5", or the text field may be "A35". "A", "3", and "5" represent one character respectively, and "A35" represents three characters. One or more characters may be used as a text field. In a possible implementation, a character included in a continuous region image part in the to-be-queried image may be used as a text field. The text field may be stored in the terminal in a form of a string.

[0232] In a process of recognizing the text field included in the to-be-queried image, the terminal may first perform text detection processing on the to-be-queried image, and output position coordinates of a text box corresponding to a text region image included in the to-be-queried image. In this embodiment of the present disclosure, text detection processing may be performed based on a target detection algorithm of deep learning (single shot box multi detector, SSD). A plurality of text boxes may be detected in a to-be-queried image, and each text box corresponds to one text field.

[0233] It is assumed that the target venue is an underground garage, and a parking region identifier may be disposed on a pillar of the underground garage. As shown in FIG. 12, a current parking region identifier "A35" is disposed on a pillar of the underground garage. When the terminal captures a to-be-queried image in the current parking region, the captured to-be-queried image may probably include the current parking region identifier "A35". When performing text detection processing on the to-be-queried image that includes the current parking region identifier "A35", the terminal may output position coordinates of the text box corresponding to the "A35" region image. Alternatively, as shown in FIG. 13, when the terminal captures a to-be-queried image in a corridor of a building, the captured to-be-queried image may probably include a current floor identifier "3B" or "3E". When performing text detection processing on the to-be-queried image that includes the current floor identifier "3B" or "3E", the terminal may output position coordinates of the text box corresponding to the "3B" or "3E" region image.

[0234] In this embodiment of the present disclosure, as shown in FIG. 14, after the position coordinates of the text box corresponding to the text region image included in the to-be-queried image are determined, the text region image may be intercepted from the to-be-queried image based on the position coordinates of the text box. Convolutional neural network (convolutional neural networks, CNN) feature extraction is performed on the text region image, and then the extracted CNN features are input into a recurrent neural network (long short term memory, LSTM) for encoding processing, and then classification operation processing is performed on the encoded CNN features. Finally, the text field in the text region image, such as "A35", may be output.

[0235] Optionally, filtering processing may be performed on the N text fields detected in the to-be-queried image to further extract a text field belonging to the salient type, where the text field of the salient type is a field with identification and can clearly or uniquely identify an environment. The terminal may input the N text fields included in the to-be-queried image into a pre-trained text classifier, to obtain a text type of each text field included in the to-be-queried image, and determine a text field whose text type is a preset salient type. The execution logic may also be set to be completed by the server, that is, the terminal sends all text fields to the server, and the server filters out a text field of the salient type from the N text fields based on similar logic. If the terminal filters out the text field of the salient type from the N text fields, what the terminal finally sends to the server includes the to-be-queried image and the text field of the salient type.

[0236] In implementation, a large number of text fields may be included in the target venue. Some text fields help recognize the current environment, and some text fields may interfere with the process of recognizing the current environment. A text field that helps recognize the current environment may be used as the text field of the salient type. A capture rule of an effective text field may be formulated in advance, and in an application, a text field having an identifier in a target venue may be selected as a positive sample, At the same time, the text field having no identifier in the target venue may be selected as a negative sample, and the classifier is trained based on the positive sample and the negative sample.

[0237] After the N text fields are extracted from the to-be-queried image, the N text fields may be respectively input into the trained classifier, and if a value output by the classifier is close to or equal to 1, the current text field may be considered as a text field of the salient type. If the output value is close to or equal to 0, the current text field may be considered as a text field of a non-salient type. Basis on the text field of the salient type and the to-be-queried image is more advantageous for improving precision of the determined initial pose.

[0238] Step S803: Send N text fields and the to-be-queried image to the server.

[0239] In implementation, the server may determine the initial pose of the terminal based on the N text fields and the to-be-queried image that are sent by the terminal, and then return the initial pose of the terminal to the terminal. A specific manner in which the server determines the initial pose of the terminal based on the N text fields and the to-be-queried image that are sent by the terminal is described subsequently.

[0240] Step S804: Receive the initial pose of the terminal at the first position that is returned by the server.

[0241] In implementation, the terminal may perform processing such as navigation, route planning, and obstacle avoidance based on the received initial pose at the first position. The initial pose at the first position is determined by the server in real time based on the to-be-queried image and the text field that are sent by the terminal. It should be noted that, in this disclosed embodiment, data sent by the terminal to the server, data received by the terminal from the server, data sent by the server to the terminal, and data received by the server from the terminal may all be carried in information transmitted between the terminal and the server. A message sent between the server and the terminal is in a form of information, and may carry indication information used to indicate some specific content. For example, when the terminal sends the N text fields and the to-be-queried image to the server, the terminal may add the N text fields and the to-be-queried image to the indication information and send the indication information to the server.

[0242] Optionally, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: obtaining a pose change of the terminal; and determining a real-time pose based on the initial pose and the pose change of the terminal.

[0243] In implementation, if the initial pose is determined by using a to-be-queried image in a video, the pose change of the terminal may be determined subsequently by using an instantaneous localization and map construction (simultaneous localization and mapping, slam) tracking technology. The real-time pose is determined based on the initial pose and the pose change of the terminal. By using the slam tracking technology, computing overheads can be reduced. The terminal only needs to send the to-be-queried image and the N text fields to the server for one time, and the server only needs to return the initial pose of the terminal based on the to-be-queried image and the N text fields. Subsequently, the initial pose may be determined based on the slam tracking technology on a basis of the initial pose. The real-time pose may be a pose of the terminal in any geographic location that belongs to a target venue, such as a first position, a second location, or a third location. The terminal can perform processing such as navigation, route planning, and obstacle avoidance based on the real-time pose.

[0244] Optionally, in addition to that the processing such as navigation, route planning, and obstacle avoidance may be performed based on the real-time pose, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: obtaining a preview stream of the current scene; determining, based on the real-time pose, preset media content included in a digital map corresponding to the scene in the preview stream; and rendering the media content in the preview stream.

[0245] In implementation, if the terminal is a mobile phone, an AR wearable device, or the like, a virtual scene may be constructed based on a real-time pose. First, the terminal may obtain the preview stream of the current scene. For example, the user may photograph a preview stream of a current environment in a shopping mall. Then, the terminal may determine the real-time pose according to the method mentioned above. Subsequently, the terminal may obtain a digital map, where the digital map records three-dimensional coordinates of each position in a world coordinate system, and corresponding preset media content exists at the preset three-dimensional coordinate position. The terminal may determine, in the digital map, target three-dimensional coordinates corresponding to the real-time pose, and if the corresponding preset media content exists at the target three-dimensional coordinate, obtain the preset media content. For example, when the user photographs a target store, the terminal recognizes a real-time pose, determines that a current camera is photographing a target store, and may obtain preset media content corresponding to the target store, where the preset media content corresponding to the target store may be description information of the target store, for example, which goods are worth buying in the target store. Based on this, the terminal may render the media content in the preview stream. In this case, the user may view, in a preset region near an image corresponding to the target store in the mobile phone, the preset media content corresponding to the target store. After viewing the preset media content corresponding to the target store, the user may have a general understanding of the target store.

[0246] Different digital maps may be set for different venues. In this way, when the user moves to anothervenue, preset media content corresponding to the real-time pose may also be obtained based on the manner of rendering media content provided in this embodiment of the disclosure, and the media content is rendered in the preview stream.

[0247] The following describes a specific manner in which the server determines the initial pose of the terminal based on the N text fields and the to-be-queried image that are sent by the terminal.

[0248] The server may receive the to-be-queried image sent by the terminal and the N text fields included in the to-be-queried image; determine a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields; determine the initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and send the determined initial pose to the terminal. A value of the NSE is greater than or equal to 1. The to-be-queried image is obtained based on an image captured by the terminal at a first position, and a scene at the first position includes a scene in the to-be-queried image.

[0249] In implementation, because a relatively large amount of calculation is involved in the process of determining the initial pose, and in addition, execution needs to be performed based on a relatively large storage space, a process of actually determining the initial pose of the terminal based on the N text fields and the to-be-queried image may be performed by the server.

[0250] Through the offline calibration process, the server may pre-establish a database, where the database may store reference images shot at each position in the target venue; and through the offline calibration process, the server may further obtain a pre-established 2D-3D correspondence. The 2D-3D correspondence includes a large number of 3D points and corresponding 2D points in the reference image, each 3D point corresponds to a physical point in the target venue, and each 3D point corresponds to three-dimensional location information of a corresponding physical point that is in actual space. In addition, the server may recognize the text field in each reference image in advance, and store a correspondence between each reference image and the text field. When the to-be-queried image is a complete environmental image shot by the terminal, the reference image may be a complete environmental image pre-shot at each location in the target venue.

[0251] To improve a search speed of a search text field, a search index (global index) may be further established based on the text field in the database, and a correspondence between each reference image, the text field, and the search index is stored.

[0252] After receiving the to-be-queried image and the N text fields included in the to-be-queried image that are sent by the terminal, the server may perform, based on the search index, retrieval processing on the N text fields included in the to-be-queried image, to determine candidate reference images corresponding to the N text fields. The candidate reference image may be a target environmental image in pre-shot environmental images. In a process of determining the candidate reference images corresponding to the N text fields, each text field may be obtained one by one. Each time one text field is obtained, a candidate reference image corresponding to the currently obtained text field is determined. In this way, the candidate reference image corresponding to each text field can be determined one by one.

[0253] For an image that is in the candidate reference image and that includes two or more text fields that are all the same as the text field in the to-be-queried image, the candidate reference image of this type may be determined twice or more times based on the foregoing determining manner. That is, the first candidate reference image may be determined by using the first text field in the to-be-queried image, and the first candidate reference image may also be determined by using the second text field in the to-be-queried image. Therefore, the first candidate reference image includes both the first text field and the second text field. Therefore, a deduplication operation may be performed in all determined candidate reference images, to remove candidate reference images that are determined multiple times. After determining the candidate reference image, the server may determine the initial pose of the terminal based on the to-be-queried image and the candidate reference image, and send the determined initial pose to the terminal.

[0254] Optionally, the foregoing describes a case in which the terminal sends only one to-be-queried image and the N text fields to the server. If the terminal sends a plurality of to-be-queried images and N text fields corresponding to each to-be-queried image to the server, one initial pose of the terminal may be determined one by one based on each to-be-queried image and the corresponding N text fields, and finally a plurality of initial poses may be obtained. A target initial pose is determined in a plurality of initial poses based on probability statistics, and the target initial pose is sent to the terminal. In the plurality of initial poses, the step of determining the target initial pose based on probability statistics may include: determining a target initial pose that repeatedly occurs most frequently in the plurality of initial poses.

[0255] Optionally, the step of determining the initial pose of the terminal based on the to-be-queried image and the candidate reference image may include: determining a target reference image in the candidate reference image, where the scene at the first position includes a scene in the target reference image; and determining the initial pose of the terminal based on the to-be-queried image and the target reference image.

[0256] In implementation, because some of candidate reference images are still interfering images, that is, the candidate reference images are not necessarily images pre-shot near the first position at which the to-be-queried image is shot, but the text field corresponding to the candidate reference image is just consistent with the text field corresponding to the to-be-queried image, the interfering image is also used as a candidate reference image to determine the initial pose of the terminal, which affects accuracy of the initial pose. Therefore, filtering processing may be performed on the candidate reference image to determine the target reference image. Four manners of performing screening processing on candidate reference images are described in the method provided in the embodiments of this disclosure, and details are described later. When there is only one candidate reference image, the candidate reference image may be directly determined as the target reference image. After the target reference image is determined, the initial pose of the terminal may be determined based on the to-be-queried image and the target reference image.

[0257] Optionally, the step of determining the initial pose of the terminal based on the to-be-queried image and the target reference image may include: determining a 2D-2D correspondence between the to-be-queried image and the target reference image; and determining the initial pose of the terminal based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.

[0258] In implementation, in an off-line calibration process, the server may pre-extract the local image feature of each reference image, and store a correspondence between the environmental image, the local image feature, and the foregoing text field. The local image feature may include image key points, for example, pixels having features in other images such as corner points. The server may determine, based on a correspondence between the reference image and the local image feature, the local image feature corresponding to the target reference image. After receiving the to-be-queried image sent by the terminal, the server may extract a local image feature of the to-be-queried image, and perform feature matching between the local image feature of the to-be-queried image and the local image feature corresponding to the target reference image. That is, the image key point corresponding to the to-be-queried image is matched with the image key point corresponding to the target reference image, where the image key point is a 2D point, and a 2D-2D correspondence between the to-be-queried image and the target reference image may be obtained. The 2D-2D correspondence between the to-be-queried image and the target reference image may include a 2D-2D correspondence between target environmental images in the complete environmental image shot by the terminal and in the pre-shot complete environmental image.

[0259] For example, the to-be-queried image has three image key points (including A1, B1, and CI), and the target reference image has five image key points (including A2, B2, C2, D2, and E2). Three groups of correspondences are determined by means of feature matching: A1-B2, B 1-E2, and C1-A2. Certainly, in an actual application, a process of performing feature matching is much more complex, and a quantity of image key points involved is also more. Herein, only several image key points are used as an example for description. It should be noted that, theoretically, an image key point corresponding to the matched to-be-queried image and an image key point corresponding to the target environmental image should correspond to a same physical point.

[0260] In the offline calibration process, the server may establish a 3D point cloud of the target venue based on a reference image shot at each location in the target venue, where each pixel in each reference image corresponds to a 3D point in the 3D point cloud, which may be recorded as an initial 2D-3D correspondence. After determining the image key point of each reference image, the server may determine a 3D point corresponding to each image key point in the target reference image in the 3D point cloud based on the initial 2D-3D correspondence, which may be recorded as a 2D-3D correspondence of the target reference image. The 2D-3D correspondence of the target reference image may be a 2D-3D correspondence of the target reference image corresponding to the first position at which the terminal is located when capturing the to-be-queried image. In the online positioning process, the server may determine a 2D-2D correspondence between the to-be-queried image and the target reference image, that is, a correspondence between an image key point of the to-be-queried image and an image key point of the target environmental image. Then, the server may determine, based on the 2D-2D correspondence between the to-be-queried image and the target reference image and the 2D-3D correspondence of the target reference image, a 3D point corresponding to the image key point of the to-be-queried image in the 3D point cloud.

[0261] After the 3D point corresponding to the image key point of the to-be-queried image in the 3D point cloud is determined, the 3D point corresponding to the image key point of the to-be-queried image in the 3D point cloud, the location information of each image key point of the to-be-queried image, and the three-dimensional location information of each corresponding 3D point may be input into a pose estimation module. The pose estimation module may solve the pose of the terminal and output the initial pose of the terminal.

[0262] The following describes four manners of performing screening processing on candidate reference images in the method provided in the embodiments of this disclosure.

[0263] Optionally, the step of determining the target reference image in the candidate reference image may include: determining an image similarity between each candidate reference image and the to-be-queried image; and determining a candidate reference image whose image similarity is greater than or equal to a preset similarity threshold as the target reference image.

[0264] In implementation, the server may calculate, based on a preset image similarity algorithm, the image similarity between each candidate reference image and the to-be-queried image, and then may determine, in each candidate reference image, an image whose image similarity is greater than a preset similarity threshold as the target reference image. There may be one or more determined target reference images. Alternatively, the candidate reference images may be sorted in descending order of image similarities, and a preset quantity of top images that are sorted are determined as the target reference images. The image similarity algorithm may include a K-nearest neighbor algorithm, and the like. The preset similarity threshold may be set to a value based on experience, or may be set to a relatively reasonable value based on experience.

[0265] Optionally, the step of determining the target reference image in the candidate reference image may include: obtaining a global image feature of each candidate reference image; determining a global image feature of the to-be-queried image; determining a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and determining a candidate reference image whose distance is less than or equal to a preset distance threshold as the target reference image.

[0266] In implementation, the server may determine, based on a prestored correspondence between a reference image and a global image feature, a global image feature corresponding to each candidate reference image, and may also extract a global image feature corresponding to the to-be-queried image, where the global image feature may be data represented in a vector form. Therefore, a distance between the global image feature corresponding to each candidate reference image and the global image feature corresponding to the to-be-queried image may be calculated. The distance may be a distance of a type such as a Euclidean distance. After the distance is calculated, a candidate reference image whose distance is less than or equal to a preset distance threshold may be determined as the target reference image. The preset distance threshold may be set to a value based on experience, or may be set to a relatively reasonable value based on experience. Alternatively, after the distance is calculated, the candidate reference images may be sorted in ascending order of distances, and a preset quantity of top candidate reference images that are sorted are selected as the target reference images.

[0267] As shown in FIG. 14, in the method provided in the embodiment of this disclosure, a VGG (a network structure proposed by Visual Geometry Group) network may be used to implement extraction of a global image feature, and an environmental image may be input to the VGG network, and the VGG network may perform CNN feature extraction on the environmental image. The VGG network includes a plurality of network layers, and an output of the penultimate full connection layer among the plurality of network layers may be selected as the extracted CNN feature, and then L2 paradigm normalization processing is performed on the extracted CNN feature, to obtain a feature obtained after 4096 dimension normalization processing. This feature is a global image feature of the environmental image. In an actual application, the global image feature of the environmental image may be further extracted in another manner, which is not limited in this embodiment of the present disclosure.

[0268] As shown in FIG. 15, the system provided in the embodiment of this disclosure may include: a video stream input module 1501, an image extraction module 1502, a text box detection module 1503, a text recognition module 1504, a global feature extraction module 1505, a local feature extraction module 1506, an image retrieval modules 1507, a 2D-2D feature matching module 1508, a 2D-3D matching module 1509, and a pose estimation module 1510. The video stream input module 1501 may be configured to obtain a video stream, the image extraction module 1502 may be configured to extract a video frame from the video stream, the text box detection module 1503 may be configured to detect a text region image in the video frame, and the text recognition module 1504 may be configured to determine a text field in the text region image. The global feature extraction module 1505 may be configured to extract a global image feature of the video frame, and the local feature extraction module 1506 may be configured to extract a local image feature of the video frame, such as an image key point. The operation processing in the global feature extraction module 1505 and the local feature extraction module 1506 may be performed in parallel. The image retrieval module 1507 may be configured to search for the target reference image based on the text field and the global image feature of the video frame, and the 2D-2D feature matching module 1508 may be configured to determine a 2D-2D correspondence between a video frame and a target reference image based on the local image feature of the video frame and the local image feature of the target reference image. The 2D-3D matching module 1509 may be configured to determine the 2D-3D correspondence of the video frame based on the 2D-2D correspondence between the video frame and the target reference image. The pose estimation module 1510 may be configured to determine an initial pose based on a 2D-3D correspondence of the video frame.

[0269] The video stream input module 1501, the image extraction module 1502, the text box detection module 1503, and the text recognition module 1504 may be deployed on a terminal in the system. The global feature extraction module 1505, the local feature extraction module 1506, the image retrieval module 1507, the 2D-2D feature matching module 1508, the 2D-3D matching module 1509, and the pose estimation module 1510 may be deployed on a server in the system. The video stream input module 1501 and the image extraction module 1502 may be implemented by using an obtaining module 1701 of a terminal-side apparatus, and the text box detection module 1503 and the text recognition module 1504 may be implemented by using a determining module 1702 of the terminal-side apparatus. The global feature extraction module 1505, the local feature extraction module 1506, the image retrieval module 1507, the 2D-2D feature matching module 1508, the 2D-3D matching module 1509, and the pose estimation module 1510 may be implemented by using a determining module 1802 of a server-side apparatus.

[0270] Optionally, candidate reference images may be further filtered based on location information of the terminal. The method provided in this embodiment of the present disclosure may further include: the terminal obtains location information of the terminal; and sends location information to the server. Correspondingly, the step of determining the target reference image in the candidate reference image may include: receiving location information sent by the terminal; obtaining a shooting position corresponding to each candidate reference image; and determining, in each candidate reference image, a target reference image whose shooting position matches the location information.

[0271] In implementation, the server may divide the target venue based on a preset unit area, for example, may divide the target venue in a unit of 100 m × 100 m, to obtain a plurality of subregions. In a process of subregion division, boundaries of adjacent subregions may overlap to a certain extent. The server may calibrate a subregion to which each reference image belongs. In an online positioning process, the terminal may first capture current location information of the terminal based on a global positioning system (global positioning system, GPS) or a location based service (location based service, LBS), and send the location information to the server. The server may determine a target subregion to which the positioning belongs. Then, in each candidate reference image, a target reference image whose shooting position also belongs to the target subregion, that is, a target reference image whose shooting position matches the location information, may be determined.

[0272] For example, three floors of two adjacent buildings all have a "301" identifier, but there is a certain distance between the two adjacent buildings. Even if the identifier are duplicate, the location of the terminal may be first defined within a certain range by positioning. Then, within a certain range, the target reference image matching the identifier "301" is searched for.

[0273] Optionally, when the quantity of text fields included in the to-be-queried image is greater than 1, the step of determining a target reference image in the candidate reference image may include: determining, in each candidate reference image, a target reference image including the N text fields.

[0274] In implementation, in a process of determining candidate reference images corresponding to a plurality of text fields, each text field may be obtained one by one. Each time one text field is obtained, a candidate reference image corresponding to the currently obtained text field is determined. In this way, the candidate reference image corresponding to each text field can be determined one by one. To further screen the candidate reference images, a target reference image that includes a plurality of text fields in the to-be-queried image may be determined from each candidate reference image. If a same target reference image includes a plurality of text fields included in the to-be-queried image, it indicates that a probability that a shooting position of the target reference image and a shooting position of the to-be-queried image are close is very high, and accuracy of the initial pose determined based on the target reference image is also relatively high.

[0275] Optionally, the step of determining the candidate reference image based on the prestored correspondence between the reference image and the text field and based on the N text fields may include: inputting the N text fields included in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field included in the to-be-queried image; determining a text field whose text type is a preset salient type; and searching, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.

[0276] In implementation, a process of filtering the N text fields may be set on a terminal or a server. A large number of text fields may be included in the target venue. Some text fields help recognize the current environment, and some text fields may interfere with the process of recognizing the current environment. A text field that helps recognize the current environment may be used as the text field of the salient type. An effective text field capture rule may be formulated in advance. In an application, a text field with identification in the target venue may be selected as a positive sample, and a text field without identification in the target venue may also be selected as a negative sample. The classifier is trained based on the positive sample and the negative sample.

[0277] Segmentation precision of an algorithm and template for recognizing the text field (such as an AI segmentation template) may be determined according to a requirement of the user, that is, several characters are segmented into one text field. One character may be used as one text field, all characters included in continuous image regions may be used as one text field, or all characters included in a region may be used as one text field.

[0278] After the N text fields are extracted from the to-be-queried image, the N text fields may be respectively input into the trained classifier, and if a value output by the classifier is close to or equal to 1, the current text field may be considered as a text field of the salient type. If the output value is close to or equal to 0, the current text field may be considered as a text field of a non-salient type. Basis on the text field of the salient type and the to-be-queried image is more advantageous for improving precision of the determined initial pose.

[0279] Optionally, the step of determining the initial pose of the terminal based on the to-be-queried image and the target reference image may include: for each target reference image, determining an initial correspondence between an image key point in the to-be-queried image and an image key point in the target reference image, performing geometric verification processing on each pair of image key points in the initial correspondence, eliminating image key points that are incorrectly matched in the initial correspondence, to obtain a target correspondence, and if the target correspondence includes an image key point greater than or equal to a preset threshold, it indicates that the target reference image and the to-be-queried image are images captured in a same environment, and determining an initial pose of the terminal based on the to-be-queried image and the target reference image.

[0280] In implementation, an initial correspondence between an image key point in the to-be-queried image and an image key point in the target reference image may be determined, where the initial correspondence includes a plurality of pairs of image key points. Then, geometric verification processing may be performed on each pair of image key points, and image key points that are incorrectly matched in the initial correspondence are excluded. For example, 150 pairs of image key points are included in the initial correspondence, and 30 pairs of image key points may be eliminated through geometric verification processing. The 30 pairs of image key points are not image key points that actually match each other, and the target correspondence may be obtained. Finally, whether the target correspondence includes an image key point greater than or equal to a preset threshold may be determined. In this embodiment of the present disclosure, for example, the preset threshold is 100. After 30 pairs of image key points are excluded from 150 pairs of image key points, 120 pairs of remaining image key points are greater than the preset threshold 100 pairs. Therefore, the target reference image to which the 120 pairs of remaining image key points belong and the to-be-queried image are images captured in a same environment. If the target correspondence includes image key points whose quantity of pairs is less than the preset threshold, it indicates that the target reference image and the to-be-queried image are not environmental images captured in a same environment, and further, the initial pose may not be determined by using the target reference image.

[0281] According to the embodiment of this disclosure, in some scenes with weak textures or high texture similarities (for example, a corridor or a wall occupying a large area of the to-be-required image), a candidate reference image matching the to-be-queried image may be queried based on the text fields included in the to-be-queried image and the text fields included in different reference images. Even if textures in the to-be-queried image are relatively weak or there are fewer textures, a candidate reference image with relatively high accuracy can still be queried based on the text field. The initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate. Retrieval and precise positioning are performed based on text field retrieval and in a manner of feature matching of text region images can utilize text semantic information in a scene, thereby improving a success rate of positioning in some regions with similar textures or repeated texturess. In addition, because the 2D-3D correspondence of the reference image of the text region image is utilized, positioning accuracy is higher.

[0282] According to the embodiment of the present disclosure, a text field may be fused into a visual feature without perception. Therefore, a recall rate and precision of image retrieval are higher, and the process is not perceived by the user, a positioning process is also more intelligent, and user experience is better.

[0283] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate.

[0284] Based on the same inventive concept as that of the foregoing embodiment of this disclosure, an example embodiment of the present disclosure provides a method for determining a pose. The method may be applied to a terminal, and is implemented in cooperation with a server. As shown in FIG. 16, a processing procedure of the method may include the following steps.

[0285] Step S1601: Guide a user to shoot, at a first position, a first image that includes a text region image meeting a preset condition.

[0286] A scene at the first position includes a scene in the to-be-queried image.

[0287] In implementation, the first position may include any geographic location or spatial location. The scene may be a scene or an environment in which a terminal device is used, for example, a room or a field. Alternatively, the scene may be all or a part of a scene that can be captured by an image shooting component of the terminal within a preset position range, and the scene may further include an environmental background, a physical object in the environment, and the like. A specific scope and a size of a scene are freely defined according to an actual requirement, and are not limited in this disclosed embodiment. The scene at the first position may be a specific scene around the first position, and may include a specific preset geographic range or a field of view range. The to-be-queried image may be an image captured by the terminal at the first position, a scene in the image is consistent with a physical scene, and a scene in the to-be-queried image may be a part or all of a scene corresponding to the first position. The first position is not limited to a specific precise location, and an actual location is allowed to have a certain precision error.

[0288] If the first image is shot by the user by using the terminal, some means may be adopted to ensure image quality of the text region image included in the shot first image, and the user may be guided for shooting by using a user interface. The first image may be an entire environmental image shot by the terminal, and the text region image may be extracted from the first image. Three manners of guiding a user to obtain a high-quality text region image are provided in the embodiment of the present disclosure.

[0289] Optionally, step S1601 may include: shooting a first initial image; when the first initial image has no text, displaying first prompt information or playing first prompt information by voice, where the first prompt information is used to indicate that no text is detected in the first initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and when the terminal shoots, at the first position, a second initial image having a text, determining the text region image included in the second initial image as the to-be-queried image.

[0290] In implementation, when the user comes to a target venue, for example, a shopping mall, if the user comes to the shopping mall for the first time, and wants to view some information introduction of the shopping mall by using a mobile phone, the user may take out the mobile phone, and stand at a second position and turn on a camera to target an environment of the shopping mall for shooting. In this case, the terminal may obtain the first initial image, and may detect whether the first initial image has a text. When the first initial image has no text, as shown in FIG. 9, the terminal may pop up a prompt box or directly play the first prompt information by voice, for example, may display "no text is detected in the current image, please change the position or adjust the shooting angle and try again". After receiving the prompt, the user moves the mobile phone to a position at which the real text is located. In the moving process, the terminal continuously shoots an initial image until the user moves to a proper first position. The terminal detects the text in the second initial image, and may determine the text region image included in the second initial image as a to-be-queried image, and send the text region image to the server. In this case, the terminal may further pop up a prompt box to prompt the user that the text has been detected and that information query processing is being performed based on the shot image.

[0291] If no text exists in the first initial image, it indicates that no text region image exists in the first initial image either. Therefore, the first initial image does not meet requirements.

[0292] Optionally, step S1601 may include: shooting a third initial image; determining, by performing text detection processing on the third initial image, a text region image included in the third initial image; when the text region image included in the third initial image does not meet a preferred image condition, displaying second prompt information or playing second prompt information by voice, where the second prompt information is used to indicate that the text region image included in the third initial image does not meet the preferred image condition, and prompt a user to move the terminal in a direction in which a real text is located; and when a fourth initial image including a text region image that meets the preferred image condition is shot at the first position, determining the text region image included in the fourth initial image as the to-be-queried image.

[0293] The preferred image condition may include one or more of the following conditions: a size of the text region image is greater than or equal to a size threshold; definition of the text region image is higher than or equal to a definition threshold; and texture complexity of the text region image is less than or equal to a complexity threshold.

[0294] In implementation, the terminal may detect the text region image in the third initial image, and determine a size of the text region image. If the size of the text region image is relatively small, it indicates that the text region image may not be very clear, and further, the current image does not meet requirements. The terminal may also directly determine the definition of the text region image. If the definition is less than the definition threshold, it indicates that the text region image may not be very clear, and further, the current image does not meet requirements. The terminal may further determine the texture complexity of the text region image. If the texture complexity of the text region image is relatively high, it indicates that there are a lot of texture features in the text region image, which may cause interference to a text field in the text region image subsequently recognized, and further, the current image does not meet requirements. Another preferred image condition may be properly set based on an actual requirement on the basis of the preferred image condition provided in this embodiment of the disclosure. When the text region image in the third initial image does not meet one or more of the preferred image conditions, the initial image is shot again.

[0295] In an actual application, when the user comes to a target venue, for example, a shopping mall, if the user comes to the shopping mall for the first time, and wants to view some information introduction of the shopping mall by using a mobile phone, the user may take out the mobile phone, and stand at a second position and turn on a camera to target an environment of the shopping mall for shooting. In this case, the terminal may obtain the third initial image, and may detect whether the text region image included in the third initial image meets the preferred image condition. When the size of the text region image included in the third initial image is less than the size threshold, as shown in FIG. 10, the terminal may pop up a prompt box or directly play the second prompt information by voice, for example, may display "a text box detected in the current image is relatively small, please approach a location where the real text is". After receiving the prompt, the user moves the mobile phone to a position at which the real text is located. In the moving process, the terminal continuously shoots an initial image until the user moves to a proper first position. A size of a text region image detected by the terminal in the fourth initial image is greater than a size threshold. The text region image included in the fourth initial image may be determined as a to-be-queried image, and sent to the server. In this case, the terminal may further pop up a prompt box, to prompt the user that the current image meets the requirements, and information query processing is being performed based on the shot image. When definition and texture complexity of the text region image included in the third initial image do not meet requirements, a prompt may also be provided to the user in the foregoing manner, so as to guide the user to shoot a to-be-queried image with higher image quality.

[0296] Optionally, step S1601 may include: shooting a fifth initial image; determining N text fields included in the fifth initial image; obtaining M text fields included in a reference query image, where a time interval between a time of capturing the reference query image and a time of capturing the fifth initial image is less than a duration threshold, and M is greater than or equal to 1; when any text field included in the fifth initial image is inconsistent with each of the M text fields, displaying third prompt information or playing third prompt information by voice, where the third prompt information is used to indicate that an incorrect text field is recognized in the fifth initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and when text fields included in a sixth initial image that is shot at the first position all belong to the M text fields, determining the text region image included in the sixth initial image as the to-be-queried image.

[0297] In implementation, if the fifth initial image includes one text field, whether the one text field exists may be searched in the M text fields included in the reference query image. If the one text field exists in the M text fields included in the reference query image, it indicates that the one text field recognized in the fifth initial image is a correct text field. If the fifth initial image includes at least two text fields, each text field included in the fifth initial image may be obtained in sequence, and each time one text field is obtained, whether the currently obtained text field exists in the M text fields included in the reference query image is searched for. If the currently obtained text field exists in the M text fields included in the reference query image, it indicates that the currently obtained text field is a correct text field. However, the fifth initial image includes at least two text fields. Therefore, the foregoing determination needs to be performed for a plurality of times. As long as any text field included in the fifth initial image does not exist in the M text fields included in the reference query image, the initial image may be shot again.

[0298] In an actual application, when the user comes to a target venue, for example, a shopping mall, if the user comes to the shopping mall for the first time, and wants to view some information introduction of the shopping mall by using a mobile phone, the user may take out the mobile phone, and stand at a second position and turn on a camera to target an environment of the shopping mall for shooting. In this case, the terminal may obtain the fifth initial image, and the terminal may detect the N text region images in the fifth initial image, and separately recognize a text field included in each text region image. Then, the terminal may further determine, based on an up-down video frame of the fifth initial image in the video stream, accuracy of the text field recognized from the fifth initial image. A time interval between the up-down video frame and the fifth initial image is less than a duration threshold. For example, an example in which only one text field is detected in the image is used for description. Text fields recognized in a previous video and a next video frame of the fifth initial image are both "A35", but a text field recognized in the fifth initial image is "A36". In this case, it indicates that the text field recognized in the fifth initial image may be an incorrect text field. Further, as shown in FIG. 11, a prompt box may be popped up or the third prompt information may be directly played by voice, for example, "an incorrect text may be recognized, please change the position or adjust the shooting angle". After receiving the prompt, the user moves the mobile phone to a position at which the real text is located. In the moving process, the terminal continuously shoots an initial image until the user moves to a proper first positiohen each text field recognized in the sixth initial image belongs to a text field that can be recognized in the up-down video frame, the terminal may determine the text region image included in the sixth initial image as the to-be-queried image, and send the to-be-queried image to the server. In this case, the terminal may further pop up a prompt box to prompt the user that a correct text has been detected and that information query processing is being performed based on the shot image.

[0299] When the sixth initial image includes N text region images, each text region image corresponds to one text field. When each text field included in the sixth initial image belongs to a text field that can be recognized in the up-down video frame, all the N text region images may be determined as to-be-queried images, and sent to the server. Alternatively, when target text fields included in the sixth initial image belong to text fields that can be recognized in the up-down video frame, text region images respectively corresponding to the target text fields may be determined as to-be-queried images, and sent to the server. Incorrect text fields included in the sixth initial image do not belong to the text field that can be recognized in the up-down video frame, and text region images corresponding to the incorrect text fields may not be sent to the server.

[0300] In the foregoing manner, each time after a user performs an operation, the terminal may evaluate and properly guide the operation of the user based on preset logic, so as to guide the user to shoot a to-be-queried image with relatively high image quality. The foregoing provided three manners may be used independently, or any two or all of the three manners may be used in combination. In addition, another manner of guiding the user to shoot a to-be-queried image with high image quality may be used together.

[0301] In addition to the foregoing manner, if the to-be-queried image is automatically shot by the terminal, in a process of moving the terminal, the image shooting component in the terminal may shoot a video stream of the target venue in real time, extract one frame of image from the video stream, determine a text region image in one frame of image as a to-be-queried image, where the to-be-queried image may be a text region image in a video frame in a video stream. Alternatively, the terminal may shoot the environmental image of the target venue whenever a preset photographing period is reached, and use a text region image in the environmental image as the to-be-queried image.

[0302] To-be-queried images obtained by the terminal at different postures are different. The initial pose of the terminal may be determined based on features of the obtained to-be-queried image. The initial pose includes a current initial location and a posture of the terminal.

[0303] Step S1602: Perform text detection processing on the first image to obtain at least one text region image, and determine the at least one text region image included in the first image as the to-be-queried image.

[0304] In implementation, after the first image that includes the text region image meeting a preset condition is shot by performing a guide operation on the user, tailoring or matting processing may be performed on the first image, so as to obtain the text region image in the first image from the first image. When the to-be-queried image is subsequently sent to the server, only the text region image obtained by tailoring or matting processing needs to be sent, and the entire first image does not need to be sent.

[0305] Step S1603: Determine N text fields included in the to-be-queried image.

[0306] A value of the NSE is greater than or equal to 1.

[0307] In implementation, the to-be-queried image may be a text region image recognized in the environmental image shot by the terminal, and there may be a plurality of text region images. Therefore, the to-be-queried image may be a plurality of text region images, and each text region image corresponds to one text field. Therefore, the to-be-queried image may include a plurality of text fields. Certainly, if the to-be-queried image is a text region image, the to-be-queried image may also include only one text field.

[0308] The text field may be one character or a plurality of characters, for example, the text field may be "A", "3", or "5", or the text field may be "A35". "A", "3", and "5" represent one character respectively, and "A35" represents three characters. One or more characters may be used as a text field. In a possible implementation, a text region image is an image with continuous pictures, and a character included in the text region image may be used as a text field. The text field may be stored in the terminal in a form of a string.

[0309] Optionally, filtering processing may be performed on the N text fields detected in the to-be-queried image to further extract a text field belonging to the salient type, where the text field of the salient type is a field with identification and can clearly or uniquely identify an environment. The terminal may input the N text fields included in the to-be-queried image into a pre-trained text classifier, to obtain a text type of each text field included in the to-be-queried image, and determine a text field whose text type is a preset salient type. The execution logic may also be set to be completed by the server, that is, the terminal sends all text fields to the server, and the server filters out a text field of the salient type from the N text fields based on similar logic. If the terminal filters out the text field of the salient type from the N text fields, what the terminal finally sends to the server includes the text field of the salient type and the corresponding text region field.

[0310] Basis on the text field of the salient type and the corresponding text region image is more advantageous for improving precision of the determined initial pose.

[0311] Step S1604: Send N text fields and the to-be-queried image to the server.

[0312] In implementation, the server may determine the initial pose of the terminal at the first position based on the N text fields and the to-be-queried image that are sent by the terminal, and then return the initial pose of the terminal to the terminal.

[0313] Step S1605: Receive the initial pose of the terminal at the first position that is returned by the server.

[0314] In implementation, the terminal may perform processing such as navigation, route planning, and obstacle avoidance based on the received initial pose at the first position. The initial pose at the first position is determined by the server in real time based on the to-be-queried image and the text field that are sent by the terminal.

[0315] Optionally, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: obtaining a pose change of the terminal; and determining a real-time pose based on the initial pose and the pose change of the terminal.

[0316] In implementation, if the initial pose is determined by using a to-be-queried image in a video, the pose change of the terminal may be determined subsequently by using an instantaneous localization and map construction (simultaneous localization and mapping, slam) tracking technology. The real-time pose is determined based on the initial pose and the pose change of the terminal.

[0317] Optionally, in addition to that the processing such as navigation, route planning, and obstacle avoidance may be performed based on the real-time pose, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: obtaining a preview stream of the current scene; determining, based on the real-time pose, preset media content included in a digital map corresponding to the scene in the preview stream; and rendering the media content in the preview stream.

[0318] In implementation, if the terminal is a mobile phone, an AR wearable device, or the like, a virtual scene may be constructed based on a real-time pose. First, the terminal may obtain the preview stream of the current scene. For example, the user may photograph a preview stream of a current environment in a shopping mall. Then, the terminal may determine the real-time pose according to the method mentioned above. Subsequently, the terminal may obtain a digital map, where the digital map records three-dimensional coordinates of each position in a world coordinate system, and corresponding preset media content exists at the preset three-dimensional coordinate position. The terminal may determine, in the digital map, target three-dimensional coordinates corresponding to the real-time pose, and if the corresponding preset media content exists at the target three-dimensional coordinate, obtain the preset media content. For example, when the user photographs a target store, the terminal recognizes a real-time pose, determines that a current camera is photographing a target store, and may obtain preset media content corresponding to the target store, where the preset media content corresponding to the target store may be description information of the target store, for example, which goods are worth buying in the target store. Based on this, the terminal may render the media content in the preview stream. In this case, the user may view, in a preset region near an image corresponding to the target store in the mobile phone, the preset media content corresponding to the target store. After viewing the preset media content corresponding to the target store, the user may have a general understanding of the target store.

[0319] Different digital maps may be set for different venues. In this way, when the user moves to another venue, preset media content corresponding to the real-time pose may also be obtained based on the manner of rendering media content provided in this embodiment of the disclosure, and the media content is rendered in the preview stream.

[0320] The following describes a specific manner in which the server determines the initial pose of the terminal based on the N text fields and the to-be-queried image that are sent by the terminal.

[0321] The server may receive the to-be-queried image sent by the terminal and the N text fields included in the to-be-queried image; determine a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields; determine the initial pose of the terminal based on the to-be-queried image and the candidate reference image; and send the determined initial pose to the terminal. A value of the NSE is greater than or equal to 1. The to-be-queried image is obtained based on an image captured by the terminal at a first position, and a scene at the first position includes a scene in the to-be-queried image.

[0322] In implementation, through the offline calibration process, the server may pre-establish a database, where the database may store an environmental image pre-shot at each position in the target venue, and through the offline calibration process, the server may further pre-determine a text region image from each pre-shot environmental image, and obtain a pre-established 2D-3D correspondence, where the 2D-3D correspondence includes a large number of 3D points and 2D points in the corresponding environmental image. Each 3D point corresponds to a physical point near a position of the real text in the target venue. Each 3D point corresponds to three-dimensional location information of a corresponding physical point that is in actual space. In addition, the server may pre-recognize a text field in the text region image in each pre-shot environmental image, and store a correspondence between each text region image and the text field. When the to-be-queried image is a text region image in a complete environmental image shot by the terminal, the reference image may be a text region image recognized in the pre-shot environmental image.

[0323] To improve a search speed of a search text field, a search index (global index) may be further established based on the text field in the database, and a correspondence between each pre-recognized text region image, the text field, and the search index is stored.

[0324] After receiving the to-be-queried image and the N text fields included in the to-be-queried image that are sent by the terminal, the server may perform, based on the search index, retrieval processing on the N text fields included in the to-be-queried image, to determine candidate reference images corresponding to the N text fields. The candidate reference image may be a text region image recognized in the candidate environmental image, and the candidate environmental image may be an image in a pre-shot environmental image. In a process of determining the candidate reference images corresponding to the N text fields, each text field may be obtained one by one. Each time one text field is obtained, a candidate reference image corresponding to the currently obtained text field is determined. In this way, the candidate reference image corresponding to each text field can be determined one by one.

[0325] Optionally, the step of determining the initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image may include: determining a target reference image in the candidate reference image, where the scene at the first position includes a scene in the target reference image; and determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image.

[0326] In implementation, because some of candidate reference images are still interfering images, that is, the candidate reference images are not necessarily images pre-shot near the first position at which the to-be-queried image is shot, but the text field corresponding to the candidate reference image is just consistent with the text field corresponding to the to-be-queried image, the interfering image is also used as a candidate reference image to determine the initial pose of the terminal, which affects accuracy of the initial pose. Therefore, filtering processing may be performed on the candidate reference image to determine the target reference image. Three manners of performing screening processing on candidate reference images are described in the method provided in the embodiments of this disclosure, and details are described later. When there is only one candidate reference image, the candidate reference image may be directly determined as the target reference image. After the target reference image is determined, the initial pose of the terminal may be determined based on the to-be-queried image and the target reference image.

[0327] Optionally, the step of determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image may include: determining a 2D-2D correspondence between the to-be-queried image and the target reference image; and determining the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.

[0328] In implementation, the 2D-2D correspondence between the to-be-queried image and the target reference image may include a 2D-2D correspondence between a text region image in a complete environmental image shot by the terminal and a target text region image recognized in a target environmental image in a pre-shot environmental image. The 2D-3D correspondence of the target reference image may include a 2D-3D correspondence of the target text region image.

[0329] After the 2D-2D correspondence between the to-be-queried image and the target reference image is determined, the 2D-2D correspondence and the 2D-3D correspondence of the target reference image may be input into the pose estimation module, and the pose estimation module may solve the initial pose of the terminal, and output the initial posture of the terminal.

[0330] Optionally, before the 2D-2D correspondence between the to-be-queried image and the target reference image is determined, image enhancement processing may be further performed on the to-be-queried image to obtain the to-be-queried image obtained after the image enhancement processing, and then a 2D-2D correspondence between the to-be-queried image after the image enhancement processing and the target reference image is determined.

[0331] In implementation, image enhancement processing is performed on the to-be-queried image, so that the determined 2D-2D correspondence between the to-be-queried image and the target reference image is more accurate. The 2D-2D correspondence between the to-be-queried image and the target reference image may include a correspondence between image key points of the to-be-queried image and the target reference image. After image enhancement processing is performed on the to-be-queried image, the determined image key points of the to-be-queried image are more accurate. Further, the determined 2D-2D correspondence between the to-be-queried image and the target reference image is more accurate.

[0332] The following describes three manners of performing screening processing on candidate reference images in the method provided in the embodiments of this disclosure.

[0333] Optionally, the step of determining the target reference image in the candidate reference image may include: determining an image similarity between each candidate reference image and the to-be-queried image; and determining a candidate reference image whose image similarity is greater than or equal to a preset similarity threshold as the target reference image.

[0334] In implementation, the server may calculate, based on a preset image similarity algorithm, image similarities between recognized candidate text region images in the candidate environmental images in each pre-shot environmental image and text region images in the environmental images shot by the terminal, and subsequently, determine an image whose image similarity is greater than a preset similarity threshold as the target text region image in each candidate text region image. There may be one or more determined target text region images. Alternatively, the candidate text region images may be sorted in descending order of image similarities, and a preset quantity of top images that are sorted are determined as the target text region images. The image similarity algorithm may include a K-nearest neighbor algorithm, and the like. The preset similarity threshold may be set to a value based on experience, or may be set to a relatively reasonable value based on experience.

[0335] Optionally, the step of determining the target reference image in the candidate reference image may include: obtaining a global image feature of each candidate reference image; determining a global image feature of the to-be-queried image; determining a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and determining a candidate reference image whose distance is less than or equal to a preset distance threshold as the target reference image.

[0336] In implementation, the server may determine, based on a prestored correspondence between the text region image recognized in the environmental image and the global image feature, the global image feature corresponding to the candidate text region image recognized in each candidate environmental image, and may further extract the global image feature corresponding to the environmental image shot by the terminal, where the global image feature may be data represented in a vector form. Therefore, a distance between the global image feature corresponding to each candidate text region image and the global image feature corresponding to the environmental image shot by the terminal may be calculated. The distance may be a distance of a type such as a Euclidean distance. After the distance is calculated, a candidate text region image whose distance is less than or equal to a preset distance threshold may be determined as the target text region image. The preset distance threshold may be set to a value based on experience, or may be set to a relatively reasonable value based on experience. Alternatively, after the distance is calculated, the candidate text region images may be sorted in ascending order of distances, and a preset quantity of top candidate text region images that are sorted are selected as the target text region images.

[0337] Optionally, candidate reference images may be further filtered based on location information of the terminal. The method provided in this embodiment of the present disclosure may further include: the terminal obtains location information of the terminal; and sends location information to the server. Correspondingly, the step of determining the target reference image in the candidate reference image may include: receiving location information sent by the terminal; obtaining a shooting posorresponding to each candidate reference image; and determining, in each candidate reference image, a target reference image whose shooting matches the location information.

[0338] Optionally, the step of determining the candidate reference image based on the prestored correspondence between the reference image and the text field and based on the N text fields may include: inputting the N text fields included in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field included in the to-be-queried image; determining a text field whose text type is a preset salient type; and searching, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.

[0339] In implementation, a process of filtering the N text fields may be set on a terminal or a server. A large number of text fields may be included in the target venue. Some text fields help recognize the current environment, and some text fields may interfere with the process of recognizing the current environment. A text field that helps recognize the current environment may be used as the text field of the salient type. Basis on the text field of the salient type and the to-be-queried image is more advantageous for improving precision of the determined initial pose.

[0340] Optionally, the step of determining the initial pose of the terminal based on the to-be-queried image and the target reference image may include: for each target reference image, determining an initial correspondence between an image key point in the to-be-queried image and an image key point in the target reference image, performing geometric verification processing on each pair of image key points in the initial correspondence, eliminating image key points that are incorrectly matched in the initial correspondence, to obtain a target correspondence, and if the target correspondence includes an image key point greater than or equal to a preset threshold, it indicates that the target reference image and the to-be-queried image are images captured in a same environment, and determining an initial pose of the terminal based on the to-be-queried image and the target reference image.

[0341] In implementation, an initial correspondence between an image key point in the to-be-queried image and an image key point in the target reference image may be determined, where the initial correspondence includes a plurality of pairs of image key points. Then geometric verification processing may be performed on each pair of image key points to eliminate an image key point with incorrect matching in the initial correspondence.

[0342] Processing performed by some terminals and processing performed by the server in this embodiment of the present disclosure have similarities with processing performed by some terminals and processing performed by the server in the foregoing embodiment of this disclosure, and parts that may be shared are not described in detail in this embodiment of the present disclosure. For details, refer to descriptions of processing by the terminal and processing by the server in the foregoing embodiment of this disclosure.

[0343] According to the embodiment of this disclosure, in some scenes with weak textures or high texture similarities (for example, a corridor or a wall occupying a large area of the to-be-required image), a candidate reference image matching the to-be-queried image may be queried based on the text fields included in the to-be-queried image and the text fields included in different reference images. Even if textures in the to-be-queried image are relatively weak or there are fewer textures, a candidate reference image with relatively high accuracy can still be queried based on the text field. The initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate. Retrieval and precise positioning are performed based on text field retrieval and in a manner of feature matching of text region images can utilize text semantic information in a scene, thereby improving a success rate of positioning in some regions with similar textures or repeated texturess. In addition, because the 2D-3D correspondence of the reference image of the text region image is utilized, positioning accuracy is higher.

[0344] According to the embodiment of the present disclosure, a text field may be fused into a visual feature without perception. Therefore, a recall rate and precision of image retrieval are higher, and the process is not perceived by the user, a positioning process is also more intelligent, and user experience is better.

[0345] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy more accurate.

[0346] An example embodiment of the present disclosure provides a method for determining a pose. The method may be applied to a terminal, and is implemented in cooperation with a server. As shown in FIG. 17, a processing procedure of the method may include the following steps.

[0347] Step S1701: Guide a user to shoot a to-be-queried image at a first position.

[0348] A scene at the first position includes a scene in the to-be-queried image.

[0349] In implementation, the first position may include any geographic location or spatial location. The scene may be a scene or an environment in which a terminal device is used, for example, a room or a field. Alternatively, the scene may be all or a part of a scene that can be captured by an image shooting component of the terminal within a preset position range, and the scene may further include an environmental background, a physical object in the environment, and the like. A specific scope and a size of a scene are freely defined according to an actual requirement, and are not limited in this disclosed embodiment. The scene at the first position may be a specific scene around the first position, and may include a specific preset geographic range or a field of view range. The to-be-queried image may be an image captured by the terminal at the first position, a scene in the image is consistent with a physical scene, and a scene in the to-be-queried image may be a part or all of a scene corresponding to the first position. The first position is not limited to a specific precise location, and an actual location is allowed to have a certain precision error.

[0350] If the to-be-queried image is shot by the user by using the terminal, some means may be used to ensure image quality of the shot to-be-queried image, and the user may be guided for shooting by using a user interface. In this embodiment of the present disclosure, three manners of guiding a user to shoot a to-be-queried image are provided.

[0351] Optionally, step S1701 may include: shooting a first initial image; when the first initial image has no text, displaying first prompt information or playing first prompt information by voice, where the first prompt information is used to indicate that no text is detected in the first initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and when the terminal shoots, at the first position, a second initial image having a text, determining the second initial image as the to-be-queried image.

[0352] In implementation, when the user comes to a target venue, for example, a shopping mall, if the user comes to the shopping mall for the first time, and wants to view some information introduction of the shopping mall by using a mobile phone, the user may take out the mobile phone, and stand at a second position and turn on a camera to target an environment of the shopping mall for shooting. In this case, the terminal may obtain the first initial image, and may detect whether the first initial image has a text. When the first initial image has no text, as shown in FIG. 9, the terminal may pop up a prompt box or directly play the first prompt information by voice, for example, may display "no text is detected in the current image, please change the position or adjust the shooting angle and try again". After receiving the prompt, the user moves the mobile phone to a position at which the real text is located. In the moving process, the terminal continuously shoots an initial image until the user moves to a proper first position. The terminal detects the text in the second initial image, and may determine the second initial image as a to-be-queried image, and send the second initial image to the server. In this case, the terminal may further pop up a prompt box to prompt the user that the text has been detected and that information query processing is being performed based on the shot image.

[0353] Optionally, step S1701 may include: shooting a third initial image; determining, by performing text detection processing on the third initial image, a text region image included in the third initial image; when the text region image included in the third initial image does not meet a preferred image condition, displaying second prompt information or playing second prompt information by voice, where the second prompt information is used to indicate that the text region image included in the third initial image does not meet the preferred image condition, and prompt a user to move the terminal in a direction in which a real text is located; and when a fourth initial image including a text region image that meets the preferred image condition is shot at the first position, determining the fourth initial image as the to-be-queried image.

[0354] The preferred image condition may include one or more of the following conditions: a size of the text region image is greater than or equal to a size threshold; definition of the text region image is higher than or equal to a definition threshold; and texture complexity of the text region image is less than or equal to a complexity threshold.

[0355] In implementation, the terminal may detect the text region image in the third initial image, and determine a size of the text region image. If the size of the text region image is relatively small, it indicates that the text region image may not be very clear, and further, the current image does not meet requirements. The terminal may also directly determine the definition of the text region image. If the definition is less than the definition threshold, it indicates that the text region image may not be very clear, and further, the current image does not meet requirements. The terminal may further determine the texture complexity of the text region image. If the texture complexity of the text region image is relatively high, it indicates that there are a lot of texture features in the text region image, which may cause interference to a text field in the text region image subsequently recognized, and further, the current image does not meet requirements. Another preferred image condition may be properly set based on an actual requirement on the basis of the preferred image condition provided in this embodiment of the disclosure. When the text region image in the third initial image does not meet one or more of the preferred image conditions, the initial image is shot again.

[0356] In an actual application, when the user comes to a target venue, for example, a shopping mall, if the user comes to the shopping mall for the first time, and wants to view some information introduction of the shopping mall by using a mobile phone, the user may take out the mobile phone, and stand at a second position and turn on a camera to target an environment of the shopping mall for shooting. In this case, the terminal may obtain the third initial image, and may detect whether the text region image included in the third initial image meets the preferred image condition. When the size of the text region image included in the third initial image is less than the size threshold, as shown in FIG. 10, the terminal may pop up a prompt box or directly play the second prompt information by voice, for example, may display "a text box detected in the current image is relatively small, please approach a location where the real text is". After receiving the prompt, the user moves the mobile phone to a position at which the real text is located. In the moving process, the terminal continuously shoots an initial image until the user moves to a proper first position. A size of a text region image detected by the terminal in the fourth initial image is greater than a size threshold. The fourth initial image may be determined as a to-be-queried image, and sent to the server. In this case, the terminal may further pop up a prompt box, to prompt the user that the current image meets the requirements, and information query processing is being performed based on the shot image. When definition and texture complexity of the text region image included in the third initial image do not meet requirements, a prompt may also be provided to the user in the foregoing manner, so as to guide the user to shoot a to-be-queried image with higher image quality.

[0357] Optionally, step S1701 may include: shooting a fifth initial image; determining N text fields included in the fifth initial image; obtaining M text fields included in a reference query image, where a time interval between a time of capturing the reference query image and a time of capturing the fifth initial image is less than a duration threshold, and M is greater than or equal to 1; when any text field included in the fifth initial image is inconsistent with each of the M text fields, displaying third prompt information or playing third prompt information by voice, where the third prompt information is used to indicate that an incorrect text field is recognized in the fifth initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and when text fields included in a sixth initial image that is shot at the first position all belong to the M text fields, determining the sixth initial image as the to-be-queried image.

[0358] In implementation, if the fifth initial image includes one text field, whether the one text field exists may be searched in the M text fields included in the reference query image. If the one text field exists in the M text fields included in the reference query image, it indicates that the one text field recognized in the fifth initial image is a correct text field. If the fifth initial image includes at least two text fields, each text field included in the fifth initial image may be obtained in sequence, and each time one text field is obtained, whether the currently obtained text field exists in the M text fields included in the reference query image is searched for. If the currently obtained text field exists in the M text fields included in the reference query image, it indicates that the currently obtained text field is a correct text field. However, the fifth initial image includes at least two text fields. Therefore, the foregoing determination needs to be performed for a plurality of times. As long as any text field included in the fifth initial image does not exist in the M text fields included in the reference query image, the initial image may be shot again.

[0359] In an actual application, when the user comes to a target venue, for example, a shopping mall, if the user comes to the shopping mall for the first time, and wants to view some information introduction of the shopping mall by using a mobile phone, the user may take out the mobile phone, and stand at a second position and turn on a camera to target an environment of the shopping mall for shooting. In this case, the terminal may obtain the fifth initial image, and the terminal may detect the N text region images in the fifth initial image, and separately recognize a text field included in each text region image. Then, the terminal may further determine, based on an up-down video frame of the fifth initial image in the video stream, accuracy of the text field recognized from the fifth initial image. A time interval between the up-down video frame and the fifth initial image is less than a duration threshold. For example, an example in which only one text field is detected in the image is used for description. Text fields recognized in a previous video and a next video frame of the fifth initial image are both "A35", but a text field recognized in the fifth initial image is "A36". In this case, it indicates that the text field recognized in the fifth initial image may be an incorrect text field. Further, as shown in FIG. 11, a prompt box may be popped up or the third prompt information may be directly played by voice, for example, "an incorrect text may be recognized, please change the position or adjust the shooting angle". After receiving the prompt, the user moves the mobile phone to a position at which the real text is located. In the moving process, the terminal continuously shoots an initial image until the user moves to a proper first posich text field recognized in the sixth initial image belongs to a text field that can be recognized in the up-down video frame, the terminal may determine the sixth initial image as the to-be-queried image, and send the to-be-queried image to the server. In this case, the terminal may further pop up a prompt box to prompt the user that a correct text has been detected and that information query processing is being performed based on the shot image.

[0360] In the foregoing manner, each time after a user performs an operation, the terminal may evaluate and properly guide the operation of the user based on preset logic, so as to guide the user to shoot a to-be-queried image with relatively high image quality. The foregoing provided three manners may be used independently, or any two or all of the three manners may be used in combination. In addition, another manner of guiding the user to shoot a to-be-queried image with high image quality may be used together.

[0361] In addition to the foregoing manner, if the to-be-queried image is automatically shot by the terminal, in a process of moving the terminal, the image shooting component in the terminal may shoot a video stream of the target venue in real time, and extract the to-be-queried image from the video stream. The to-be-queried image may be a video frame in a video stream. Alternatively, the terminal may shoot the environmental image of the target venue whenever a preset photographing period is reached, and use a complete environmental image as the to-be-queried image.

[0362] To-be-queried images obtained by the terminal by shooting at different postures are different. The initial pose of the terminal may be determined based on features of the shot to-be-queried image. The initial pose includes a current initial location and a posture of the terminal.

[0363] Step S1702: Determine N text region images included in the to-be-queried image.

[0364] A value of the NSE is greater than or equal to 1.

[0365] In implementation, after the to-be-queried image is obtained, the N text region images may be determined in the to-be-queried image by performing text detection processing.

[0366] Step S1703: Recognize a text field included in each text region image.

[0367] In implementation, a text included in each text region image may be recognized separately, to obtain N text fields. The text field may be one character or a plurality of characters, for example, the text field may be "A", "3", or "5", or the text field may be "A35". "A", "3", and "5" represent one character respectively, and "A35" represents three characters. One or more characters may be used as a text field. In a possible implementation, a character included in a continuous region image part in the to-be-queried image may be used as a text field. The text field may be stored in the terminal in a form of a string.

[0368] Optionally, filtering processing may be performed on the N text fields detected in the to-be-queried image to further extract a text field belonging to the salient type, where the text field of the salient type is a field with identification and can clearly or uniquely identify an environment. The terminal may input the N text fields included in the to-be-queried image into a pre-trained text classifier, to obtain a text type of each text field included in the to-be-queried image, and determine a text field whose text type is a preset salient type. The execution logic may also be set to be completed by the server, that is, the terminal sends all text fields to the server, and the server filters out a text field of the salient type from the N text fields based on similar logic. If the terminal filters out the text field of the salient type from the N text fields, what the terminal finally sends to the server includes the to-be-queried image and the text field of the salient type.

[0369] In implementation, basis on the text field of the salient type and the to-be-queried image is more advantageous for improving precision of the determined initial pose.

[0370] Step S1704: Obtain a location region of the text region image in the to-be-queried image, and send N text fields, the to-be-queried image, and the location region to the server.

[0371] In implementation, the location region may be location coordinates of a text box corresponding to the text region image. If the text box is a square text box, the location region may be location coordinates of four vertex angles of the text box, or may be location coordinates of two diagonal angles. If the text box is circular, the location region may be location coordinates of a center of the circle and a radius of the circle.

[0372] The server may determine the initial pose of the terminal based on the N text fields, the to-be-queried image, and the location region that are sent by the terminal, and then return the initial pose of the terminal to the terminal. A specific manner in which the server determines the initial pose of the terminal based on the N text fields, the to-be-queried image, and the location region that are sent by the terminal is described subsequently.

[0373] Step S1705: Receive the initial pose of the terminal at the first position that is returned by the server.

[0374] In implementation, the terminal may perform processing such as navigation, route planning, and obstacle avoidance based on the received initial pose at the first position. The initial pose at the first position is determined by the server in real time based on the N text fields, the to-be-queried image, and the location region that are sent by the terminal.

[0375] Optionally, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: determining a real-time pose based on the initial pose and the pose change of the terminal.

[0376] In implementation, if the initial pose is determined by using a to-be-queried image in a video, the pose change of the terminal may be determined subsequently by using an instantaneous localization and slam tracking technology. The real-time pose is determined based on the initial pose and the pose change of the terminal.

[0377] Optionally, in addition to that the processing such as navigation, route planning, and obstacle avoidance may be performed based on the real-time pose, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: obtaining a preview stream of the current scene; determining, based on the real-time pose, preset media content included in a digital map corresponding to the scene in the preview stream; and rendering the media content in the preview stream.

[0378] In implementation, if the terminal is a mobile phone, an AR wearable device, or the like, a virtual scene may be constructed based on a real-time pose. First, the terminal may obtain the preview stream of the current scene. For example, the user may photograph a preview stream of a current environment in a shopping mall. Then, the terminal may determine the real-time pose according to the method mentioned above. Subsequently, the terminal may obtain a digital map, where the digital map records three-dimensional coordinates of each position in a world coordinate system, and corresponding preset media content exists at the preset three-dimensional coordinate position. The terminal may determine, in the digital map, target three-dimensional coordinates corresponding to the real-time pose, and if the corresponding preset media content exists at the target three-dimensional coordinate, obtain the preset media content. For example, when the user photographs a target store, the terminal recognizes a real-time pose, determines that a current camera is photographing a target store, and may obtain preset media content corresponding to the target store, where the preset media content corresponding to the target store may be description information of the target store, for example, which goods are worth buying in the target store. Based on this, the terminal may render the media content in the preview stream. In this case, the user may view, in a preset region near an image corresponding to the target store in the mobile phone, the preset media content corresponding to the target store. After viewing the preset media content corresponding to the target store, the user may have a general understanding of the target store.

[0379] Different digital maps may be set for different venues. In this way, when the user moves to another venue, preset media content corresponding to the real-time pose may also be obtained based on the manner of rendering media content provided in this embodiment of the disclosure, and the media content is rendered in the preview stream.

[0380] The following describes a specific manner in which the server determines the initial pose of the terminal based on the N text fields, the to-be-queried image, and the location region that are sent by the terminal.

[0381] The server may receive the N text fields, the to-be-queried image, and the location region that are sent by the terminal, and determine a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields. The server may further determine, based on the location region, a target text region image in the to-be-queried image. In this case, the to-be-queried image may be a complete environmental image shot by the terminal. A text region image included in the candidate reference image is obtained. In this case, the candidate reference image may be a candidate environmental image in a pre-shot complete environmental image. Then, the initial pose of the terminal may be determined based on the target text region image and the text region image included in the candidate reference image, and the determined initial pose is sent to the terminal. A value of the NSE is greater than or equal to 1. The to-be-queried image is obtained based on an image captured by the terminal at a first position, and a scene at the first position includes a scene in the to-be-queried image.

[0382] In implementation, through the offline calibration process, the server may pre-establish a database, where the database may store an environmental image pre-shot at each position in the target venue, and through the offline calibration process, the server may further pre-determine a text region image from each pre-shot environmental image, and obtain a pre-established 2D-3D correspondence, where the 2D-3D correspondence includes a large number of 3D points and corresponding 2D points in the environmental image. Each 3D point corresponds to a physical point near a position of the real text in the target venue. Each 3D point corresponds to three-dimensional location information of a corresponding physical point that is in actual space. In addition, the server may pre-recognize a text field in the text region image in each pre-shot environmental image, and store a correspondence between each text region image and the text field.

[0383] To improve a search speed of a search text field, a search index may be further established based on the text field in the database, and a correspondence between each pre-recognized text region image, the text field, and the search index is stored.

[0384] The server may perform, based on the search index, retrieval processing on the N text fields sent by the terminal, to determine candidate reference images corresponding to the N text fields. In a process of determining the candidate reference images corresponding to the N text fields, each text field may be obtained one by one. Each time one text field is obtained, a candidate reference image corresponding to the currently obtained text field is determined. In this way, the candidate reference image corresponding to each text field can be determined one by one. Then, a text region image included in the candidate reference image may be obtained, and an initial posture of the terminal at the first position is determined based on the text region image and the target text region image included in the candidate reference image.

[0385] Optionally, the step of determining the initial pose of the terminal at the first position based on the target text region image and the text region image in the candidate reference image may include: determining a target reference image in the candidate reference image, where the scene at the first position includes a scene in the target reference image; and determining the initial pose of the terminal at the first position based on the target text region image and the text region image in the target reference image.

[0386] In implementation, filtering processing may be performed on the candidate reference image to determine the target reference image. Three manners of performing screening processing on candidate reference images are described in the method provided in the embodiments of this disclosure, and details are described later. When there is only one candidate reference image, the candidate reference image may be directly determined as the target reference image. After the target reference image is determined, the initial pose of the terminal may be determined based on the to-be-queried image and the target reference image.

[0387] Optionally, the step of determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image may include: determining a 2D-2D correspondence between the to-be-queried image and the target reference image; and determining the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.

[0388] In implementation, the 2D-2D correspondence between the to-be-queried image and the target reference image may include a 2D-2D correspondence between the target text region image and the text region image included in the target reference image. The 2D-3D correspondence of the target reference image may include a 2D-3D correspondence of a text region image included in the target reference image.

[0389] After the 2D-2D correspondence between the target text region image and the text region image included in the target reference image is determined, the 2D-2D correspondence and the 2D-3D correspondence of the text region image included in the target reference image may be input to the pose estimation module. The pose estimation module may solve the initial pose of the terminal, and output the initial pose of the terminal at the first position.

[0390] Optionally, before the 2D-2D correspondence between the target text region image and the text region image included in the target reference image is determined, image enhancement processing may be further performed on the target text region image to obtain the target text region image obtained after the image enhancement processing. Then, a 2D-2D correspondence between the target text region image after the image enhancement processing and the text region image included in the target reference image is determined.

[0391] The following describes four manners of performing screening processing on candidate reference images in the method provided in the embodiments of this disclosure.

[0392] Optionally, the step of determining the target reference image in the candidate reference image may include: determining an image similarity between each candidate reference image and the to-be-queried image; and determining a candidate reference image whose image similarity is greater than or equal to a preset similarity threshold as the target reference image.

[0393] Optionally, the step of determining the target reference image in the candidate reference image may include: obtaining a global image feature of each candidate reference image; determining a global image feature of the to-be-queried image; determining a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and determining a candidate reference image whose distance is less than or equal to a preset distance threshold as the target reference image.

[0394] Optionally, candidate reference images may be further filtered based on location information of the terminal. The method provided in this embodiment of the present disclosure may further include: the terminal obtains location information of the terminal; and sends location information to the server. Correspondingly, the step of determining the target reference image in the candidate reference image may include: receiving location information sent by the terminal; obtaining a shooting positioonding to each candidate reference image; and determining, in each candidate reference image, a target reference image whose shooting positatches the location information.

[0395] Optionally, when the quantity of text fields included in the to-be-queried image is greater than 1, the step of determining a target reference image in the candidate reference image may include: determining, in each candidate reference image, a target reference image including the N text fields.

[0396] Optionally, the step of determining the candidate reference image based on the prestored correspondence between the reference image and the text field and based on the N text fields may include: inputting the N text fields included in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field included in the to-be-queried image; determining a text field whose text type is a preset salient type; and searching, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.

[0397] Optionally, the step of determining the initial pose of the terminal based on the target text region image and the text region image included in the target reference image may include: for the text region image included in each target reference image, determining an initial correspondence between an image key point in the target text region image and an image key point in the text region image included in the current target reference image, performing geometric verification processing on each pair of image key points in the initial correspondence, eliminating image key points that are incorrectly matched in the initial correspondence, to obtain a target correspondence, and if the target correspondence includes an image key point greater than or equal to a preset threshold, it indicates that the target reference image and the to-be-queried image are images captured near the first position, and determining an initial pose of the terminal based on the to-be-queried image and the target reference image.

[0398] Based on the foregoing content, FIG. 18 is a schematic flowchart of a method for determining a pose according to an embodiment of the present disclosure. A procedure of the method for determining a pose may include:

[0399] Step S1801: Capture a video stream.

[0400] Step S1802: Extract a to-be-queried image from the video stream.

[0401] Step S1803: Perform text detection processing on the to-be-queried image.

[0402] Step S1804: Determine whether a text box is detected.

[0403] Step S1805: If the text box is not detected, guide the user to perform photographing by using a better photographing manner.

[0404] Step S1806: If a text box is detected, recognize a character in the text box.

[0405] Step S1807: Determine, by using a character corresponding to an up-down video frame of the to-be-queried image, whether a character corresponding to the to-be-queried image is correctly recognized. If not, the process proceeds to step S1805.

[0406] Step S1808: If a character recognition result corresponding to the to-be-queried image is correct, perform image enhancement processing on the text region image.

[0407] Step S1809: Extract an image key point of the text region image after the image enhancement processing.

[0408] Step S1810: If the character recognition result corresponding to the to-be-queried image is correct, perform image retrieval based on the character recognition result to obtain a target environmental image.

[0409] Step S1811: Perform key point matching based on the image key point of the text region image after the image enhancement processing and the image key point of the text region image of the target environmental image.

[0410] Step S1812: Establish a target 2D-3D correspondence based on the key point matching result.

[0411] Step S1813: Perform pose estimation processing based on the target 2D-3D correspondence.

[0412] Processing performed by some terminals and processing performed by the server in this embodiment of the present disclosure have similarities with processing performed by some terminals and processing performed by the server in the foregoing embodiment of this disclosure, and parts that may be shared are not described in detail in this embodiment of the present disclosure. For details, refer to descriptions of processing by the terminal and processing by the server in the foregoing embodiment of this disclosure. It should be noted that processing of the steps in S1801 to S1813 may be performed by the terminal or by the server, and there are various possible interaction combinations thereof, which are not listed one by one herein. In any one of the foregoing possible interaction combinations, when the foregoing steps are implemented based on the conception of the present invention, a person skilled in the art can construct a communication process between the server and the terminal, for example, which necessary information exchanged and transmitted between the server and the terminal. This is not exhaustive or repeated in the present invention.

[0413] According to the embodiment of this disclosure, in some scenes with weak textures or high texture similarities (for example, a corridor or a wall occupying a large area of the to-be-required image), a candidate reference image matching the to-be-queried image may be queried based on the text fields included in the to-be-queried image and the text fields included in different reference images. Even if textures in the to-be-queried image are relatively weak or there are fewer textures, a candidate reference image with relatively high accuracn still be queried based on the text field. The initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate. Retrieval and precise positioning are performed based on text field retrieval and in a manner of feature matching of text region images can utilize text semantic information in a scene, thereby improving a success rate of positioning in some regions with similar textures or repeated texturess. In addition, because the 2D-3D correspondence of the reference image of the text region image is utilized, positioning accuracy is higher.

[0414] According to the embodiment of the present disclosure, a text field may be fused into a visual feature without perception. Therefore, a recall rate and precision of image retrieval are higher, and the process is not perceived by the user, a positioning process is also more intelligent, and user experience is better.

[0415] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy more accurate.

[0416] An example embodiment of the present disclosure provides a method for determining a pose. The method may be applied to a terminal. As shown in FIG. 19, a processing procedure of the method may include the following steps.

[0417] Step S1901: A terminal obtains a to-be-queried image at a first position.

[0418] A scene at the first position includes a scene in the to-be-queried image.

[0419] Step S1902: Send the to-be-queried image to a server, so that the server determines N text fields included in the to-be-queried image, and determines an initial pose of the terminal at the first position based on the N text fields and the to-be-queried image.

[0420] A value of the NSE is greater than or equal to 1.

[0421] Step S1903: Receive the initial pose that is of the terminal at the first position and is returned by the server.

[0422] In a possible implementation, the method further includes: obtaining location information of the terminal; and sending the location information to the server; and the determining an initial pose of the terminal at the first position based on the N text fields and the to-be-queried image includes: determining the initial pose of the terminal at the first position based on the N text fields, the to-be-queried image, and the location information.

[0423] In a possible implementation, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: determining a real-time pose based on the initial pose and the pose change of the terminal.

[0424] In a possible implementation, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: obtaining a preview stream of the current scene; determining, based on the real-time pose, preset media content included in a digital map corresponding to the scene in the preview stream; and rendering the media content in the preview stream.

[0425] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy more accurate.

[0426] An example embodiment of the present disclosure provides a method for determining a pose. The method may be applied to a server, and is implemented in cooperation with a terminal. As shown in FIG. 20, a processing procedure of the method may include the following steps.

[0427] Step S2001: Receive a to-be-queried image sent by a terminal.

[0428] The to-be-queried image is obtained based on an image captured by the terminal at a first position, and a scene at the first position includes a scene in the to-be-queried image.

[0429] The first position may include any geographic location or spatial location. The scene may be a scene or an environment in which a terminal device is used, for example, a room or a field. Alternatively, the scene may be all or a part of a scene that can be captured by an image shooting component of the terminal within a preset position range, and the scene may further include an environmental background, a physical object in the environment, and the like. A specific scope and a size of a scene are freely defined according to an actual requirement, and are not limited in this disclosed embodiment. The scene at the first position may be a specific scene around the first position, and may include a specific preset geographic range or a field of view range. The to-be-queried image may be an image captured by the terminal at the first position, a scene in the image is consistent with a physical scene, and a scene in the to-be-queried image may be a part or all of a scene corresponding to the first position. The first position is not limited to a specific precise location, and an actual location is allowed to have a certain precision error.

[0430] In implementation, a user may shoot the to-be-queried image by using the terminal, and send the to-be-queried image to a server, so that the server may receive the to-be-queried image sent by the terminal.

[0431] To ensure quality of the to-be-queried image received by the server, some means may be used to ensure image quality of the shot to-be-queried image. For example, prompt information may be displayed in the user interface, where the prompt information is used to prompt the user that a to-be-queried image that includes a text needs to be shot.

[0432] Optionally, if the terminal has a text detection function, three manners of guiding the user to shoot the to-be-queried image provided in the foregoing step S801 may be further used, so as to ensure quality of the to-be-queried image.

[0433] In addition, when shooting the to-be-queried image, the terminal may further obtain location information of the terminal, and send the location information of the terminal to the server. In this case, the server may receive the location information sent by the terminal.

[0434] Step S2002: Determine N text fields included in the to-be-queried image.

[0435] N is greater than or equal to 1.

[0436] In implementation, after the to-be-queried image is obtained, the N text fields included in the to-be-queried image may be recognized based on an OCR technology. Specifically, the N text region images may be determined in the to-be-queried image by using text detection processing, and a text included in each text region image is separately recognized, to obtain the N text fields. The text field may be one character or a plurality of characters, for example, the text field may be "A", "3", or "5", or the text field may be "A35". "A", "3", and "5" represent one character respectively, and "A35" represents three characters. One or more characters may be used as a text field. In a possible implementation, a character included in a continuous region image part in the to-be-queried image may be used as a text field. The text field may be stored in the server in a form of a string.

[0437] In a process of recognizing the text field included in the to-be-queried image, the server may first perform text detection processing on the to-be-queried image, and output position coordinates of a text box corresponding to a text region image included in the to-be-queried image. In this embodiment of the present disclosure, text detection processing may be performed based on a target detection algorithm of deep learning (Single Shot Box Multi Detector, SSD). A plurality of text boxes may be detected in a to-be-queried image, and each text box corresponds to one text field.

[0438] It is assumed that the target venue is an underground garage, and a parking region identifier may be disposed on a pillar of the underground garage. As shown in FIG. 12, a current parking region identifier "A35" is disposed on a pillar of the underground garage. When the terminal captures a to-be-queried image in the current parking region, the captured to-be-queried image may probably include the current parking region identifier "A35". When performing text detection processing on the to-be-queried image that includes the current parking region identifier "A35", the server may output position coordinates of the text box corresponding to the "A35" region image. Alternatively, as shown in FIG. 13, when the terminal captures a to-be-queried image in a corridor of a building, the captured to-be-queried image may probably include a current floor identifier "3B" or "3E". When performing text detection processing on the to-be-queried image that includes the current floor identifier "3B" or "3E", the server may output position coordinates of the text box corresponding to the "3B" or "3E" region image.

[0439] In this embodiment of the present disclosure, as shown in FIG. 14, after the position coordinates of the text box corresponding to the text region image included in the to-be-queried image are determined, the text region image may be intercepted from the to-be-queried image based on the position coordinates of the text box. Convolutional neural network (Convolutional Neural Networks, CNN) feature extraction is performed on the text region image, and then the extracted CNN features are input into a recurrent neural network (Long Short Term Memory, LSTM) for encoding processing, and then classification operation processing is performed on the encoded CNN features. Finally, the text field in the text region image, such as "A35", may be output.

[0440] Optionally, filtering processing may be performed on the N text fields detected in the to-be-queried image to further extract a text field belonging to the salient type, where the text field of the salient type is a field with identification and can clearly or uniquely identify an environment. The server may input the N text fields included in the to-be-queried image into a pre-trained text classifier, to obtain a text type of each text field included in the to-be-queried image, and determine a text field whose text type is a preset salient type.

[0441] In implementation, a large number of text fields may be included in the target venue. Some text fields help recognize the current environment, and some text fields may interfere with the process of recognizing the current environment. A text field that helps recognize the current environment may be used as the text field of the salient type. A capture rule of an effective text field may be formulated in advance, and in an application, a text field having an identifier in a target venue may be selected as a positive sample, for example, a parking region identifier "A32" or "B405" in an underground garage. At the same time, the text field having no identifier in the target venue may be selected as a negative sample, and the classifier is trained based on the positive sample and the negative sample.

[0442] After the N text fields are extracted from the to-be-queried image, the N text fields may be respectively input into the trained classifier, and if a value output by the classifier is close to or equal to 1, the current text field may be considered as a text field of the salient type. If the output value is close to or equal to 0, the current text field may be considered as a text field of a non-salient type. Basis on the text field of the salient type and the to-be-queried image is more advantageous for improving precision of the determined initial pose.

[0443] Step S2003: Determine a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields.

[0444] In implementation, through the offline calibration process, the server may pre-establish a database, where the database may store reference images shot at each position in the target venue; and through the offline calibration process, the server may further obtain a pre-established 2D-3D correspondence. The 2D-3D correspondence includes a large number of 3D points and corresponding 2D points in the reference image, each 3D point corresponds to a physical point in the target venue, and each 3D point corresponds to three-dimensional location information of a corresponding physical point that is in actual space. In addition, the server may recognize the text field in each reference image in advance, and store a correspondence between each reference image and the text field. When the to-be-queried image is a complete environmental image shot by the terminal, the reference image may be a complete environmental image pre-shot at each location in the target venue.

[0445] To improve a search speed of a search text field, a search index (global index) may be further established based on the text field in the database, and a correspondence between each reference image, the text field, and the search index is stored.

[0446] After determining the N text fields in the to-be-queried image, the server may perform, based on the search index, retrieval processing on the N text fields included in the to-be-queried image, to determine candidate reference images corresponding to the N text fields. The candidate reference image may be a target environmental image in pre-shot environmental images. In a process of determining the candidate reference images corresponding to the N text fields, each text field may be obtained one by one. Each time one text field is obtained, a candidate reference image corresponding to the currently obtained text field is determined. In this way, the candidate reference image corresponding to each text field can be determined one by one.

[0447] For an image that is in the candidate reference image and that includes two or more text fields that are all the same as the text field in the to-be-queried image, the candidate reference image of this type may be determined twice or more times based on the foregoing determining manner. That is, the first candidate reference image may be determined by using the first text field in the to-be-queried image, and the first candidate reference image may also be determined by using the second text field in the to-be-queried image. Therefore, the first candidate reference image includes both the first text field and the second text field. Therefore, a deduplication operation may be performed in all determined candidate reference images, to remove candidate reference images that are determined multiple times. After determining the candidate reference image, the server may determine the initial pose of the terminal based on the to-be-queried image and the candidate reference image, and send the determined initial pose to the terminal.

[0448] Optionally, a case in which the terminal sends only one to-be-queried image to the server is described above. If the terminal sends a plurality of to-be-queried images to the server, an initial pose of the terminal may be determined based on each to-be-queried image one by one, and finally a plurality of initial poses may be obtained. A target initial pose is determined in a plurality of initial poses based on probability statistics, and the target initial pose is sent to the terminal. In the plurality of initial poses, the step of determining the target initial pose based on probability statistics may include: determining a target initial pose that repeatedly occurs most frequently in the plurality of initial poses.

[0449] Optionally, the step of determining the initial pose of the terminal based on the to-be-queried image and the candidate reference image may include: determining a target reference image in the candidate reference image, where the scene at the first position includes a scene in the target reference image; and determining the initial pose of the terminal based on the to-be-queried image and the target reference image.

[0450] In implementation, because some of candidate reference images are still interfering images, that is, the candidate reference images are not necessarily images pre-shot near the first position at which the to-be-queried image is shot, but the text field corresponding to the candidate reference image is just consistent with the text field corresponding to the to-be-queried image, the interfering image is also used as a candidate reference image to determine the initial pose of the terminal, which affects accuracy of the initial pose. Therefore, filtering processing may be performed on the candidate reference image to determine the target reference image. Four manners of performing screening processing on candidate reference images are described in the method provided in the embodiments of this disclosure, and details are described later. When there is only one candidate reference image, the candidate reference image may be directly determined as the target reference image. After the target reference image is determined, the initial pose of the terminal may be determined based on the to-be-queried image and the target reference image.

[0451] Optionally, the step of determining the initial pose of the terminal based on the to-be-queried image and the target reference image may include: determining a 2D-2D correspondence between the to-be-queried image and the target reference image; and determining the initial pose of the terminal based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.

[0452] In implementation, in an off-line calibration process, the server may pre-extract the local image feature of each reference image, and store a correspondence between the environmental image, the local image feature, and the foregoing text field. The local image feature may include image key points, for example, pixels having features in other images such as corner points. The server may determine, based on a correspondence between the reference image and the local image feature, the local image feature corresponding to the target reference image. After receiving the to-be-queried image sent by the terminal, the server may extract a local image feature of the to-be-queried image, and perform feature matching between the local image feature of the to-be-queried image and the local image feature corresponding to the target reference image. That is, the image key point corresponding to the to-be-queried image is matched with the image key point corresponding to the target reference image, where the image key point is a 2D point, and a 2D-2D correspondence between the to-be-queried image and the target reference image may be obtained. The 2D-2D correspondence between the to-be-queried image and the target reference image may include a 2D-2D correspondence between target environmental images in the complete environmental image shot by the terminal and in the pre-shot complete environmental image.

[0453] For example, the to-be-queried image has three image key points (including A1, B1, and C1), and the target reference image has five image key points (including A2, B2, C2, D2, and E2). Three groups of correspondences are determined by means of feature matching: A1-B2, B 1-E2, and C1-A2. Certainly, in an actual application, a process of performing feature matching is much more complex, and a quantity of image key points involved is also more. Herein, only several image key points are used as an example for description. It should be noted that, theoretically, an image key point corresponding to the matched to-be-queried image and an image key point corresponding to the target environmental image should correspond to a same physical point.

[0454] In the offline calibration process, the server may establish a 3D point cloud of the target venue based on a reference image shot at each location in the target venue, where each pixel in each reference image corresponds to a 3D point in the 3D point cloud, which may be recorded as an initial 2D-3D correspondence. After determining the image key point of each reference image, the server may determine a 3D point corresponding to each image key point in the target reference image in the 3D point cloud based on the initial 2D-3D correspondence, which may be recorded as a 2D-3D correspondence of the target reference image. The 2D-3D correspondence of the target reference image may be a 2D-3D correspondence of the target reference image corresponding to t at which the terminal is located when capturing the to-be-queried image. In the online positioning process, the server may determine a 2D-2D correspondence between the to-be-queried image and the target reference image, that is, a correspondence between an image key point of the to-be-queried image and an image key point of the target environmental image. Then, the server may determine, based on the 2D-2D correspondence between the to-be-queried image and the target reference image and the 2D-3D correspondence of the target reference image, a 3D point corresponding to the image key point of the to-be-queried image in the 3D point cloud.

[0455] After the 3D point corresponding to the image key point of the to-be-queried image in the 3D point cloud is determined, the 3D point corresponding to the image key point of the to-be-queried image in the 3D point cloud, the location information of each image key point of the to-be-queried image, and the three-dimensional location information of each corresponding 3D point may be input into a pose estimation module. The pose estimation module may solve the pose of the terminal and output the initial pose of the terminal.

[0456] The following describes four manners of performing screening processing on candidate reference images in the method provided in the embodiments of this disclosure.

[0457] Optionally, the step of determining the target reference image in the candidate reference image may include: determining an image similarity between each candidate reference image and the to-be-queried image; and determining a candidate reference image whose image similarity is greater than or equal to a preset similarity threshold as the target reference image.

[0458] In implementation, the server may calculate, based on a preset image similarity algorithm, the image similarity between each candidate reference image and the to-be-queried image, and then may determine, in each candidate reference image, an image whose image similarity is greater than a preset similarity threshold as the target reference image. There may be one or more determined target reference images. Alternatively, the candidate reference images may be sorted in descending order of image similarities, and a preset quantity of top images that are sorted are determined as the target reference images. The image similarity algorithm may include a K-nearest neighbor algorithm, and the like. The preset similarity threshold may be set to a value based on experience, or may be set to a relatively reasonable value based on experience.

[0459] Optionally, the step of determining the target reference image in the candidate reference image may include: obtaining a global image feature of each candidate reference image; determining a global image feature of the to-be-queried image; determining a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and determining a candidate reference image whose distance is less than or equal to a preset distance threshold as the target reference image.

[0460] In implementation, the server may determine, based on a prestored correspondence between a reference image and a global image feature, a global image feature corresponding to each candidate reference image, and may also extract a global image feature corresponding to the to-be-queried image, where the global image feature may be data represented in a vector form. Therefore, a distance between the global image feature corresponding to each candidate reference image and the global image feature corresponding to the to-be-queried image may be calculated. The distance may be a distance of a type such as a Euclidean distance. After the distance is calculated, a candidate reference image whose distance is less than or equal to a preset distance threshold may be determined as the target reference image. The preset distance threshold may be set to a value based on experience, or may be set to a relatively reasonable value based on experience. Alternatively, after the distance is calculated, the candidate reference images may be sorted in ascending order of distances, and a preset quantity of top candidate reference images that are sorted are selected as the target reference images.

[0461] As shown in FIG. 14, in the method provided in the embodiment of this disclosure, a VGG network may be used to implement extraction of a global image feature, and an environmental image may be input to the VGG network, and the VGG network may perform CNN feature extraction on the environmental image. The VGG network includes a plurality of network layers, and an output of the penultimate full connection layer among the plurality of network layers may be selected as the extracted CNN feature, and then L2 paradigm normalization processing is performed on the extracted CNN feature, to obtain a feature obtained after 4096 dimension normalization processing. This feature is a global image feature of the environmental image. In an actual application, the global image feature of the environmental image may be further extracted in another manner, which is not limited in this embodiment of the present disclosure.

[0462] As shown in FIG. 15, the system provided in the embodiment of this disclosure may include: a video stream input module 1501, an image extraction module 1502, a text box detection module 1503, a text recognition module 1504, a global feature extraction module 1505, a local feature extraction module 1506, an image retrieval module 1507, a 2D-2D feature matching module 1508, a 2D-3D matching module 1509, and a pose estimation module 1510. The video stream input module 1501 may be configured to obtain a video stream, the image extraction module 1502 may be configured to extract a video frame from the video stream, the text box detection module 1503 may be configured to detect a text region image in the video frame, and the text recognition module 1504 may be configured to determine a text field in the text region image. The global feature extraction module 1505 may be configured to extract a global image feature of the video frame, and the local feature extraction module 1506 may be configured to extract a local image feature of the video frame, such as an image key point. The operation processing in the global feature extraction module 1505 and the local feature extraction module 1506 may be performed in parallel. The image retrieval module 1507 may be configured to search for the target reference image based on the text field and the global image feature of the video frame, and the 2D-2D feature matching module 1508 may be configured to determine a 2D-2D correspondence between a video frame and a target reference image based on the local image feature of the video frame and the local image feature of the target reference image. The 2D-3D matching module 1509 may be configured to determine the 2D-3D correspondence of the video frame based on the 2D-2D correspondence between the video frame and the target reference image. The pose estimation module 1510 may be configured to determine an initial pose based on a 2D-3D correspondence of the video frame.

[0463] The video stream input module 1501 and the image extraction module 1502 may be deployed on a terminal in the system. The text box detection module 1503, the text recognition module 1504, the global feature extraction module 1505, the local feature extraction module 1506, the image retrieval module 1507, the 2D-2D feature matching module 1508, the 2D-3D matching module 1509, and the pose estimation module 1510 may be deployed on a server in the system. The video stream input module 1501 and the image extraction module 1502 may be implemented by using an obtaining module 2701 of a terminal-side apparatus. The text box detection module 1503, the text recognition module 1504, the global feature extraction module 1505, the local feature extraction module 1506, the image retrieval module 1507, the 2D-2D feature matching module 1508, the 2D-3D matching module 1509, and the pose estimation module 1510 may be implemented by using a determining module 2802 of a server-side apparatus.

[0464] Optionally, candidate reference images may be further filtered based on location information of the terminal. The method provided in this embodiment of the present disclosure may further include: receiving location information sent by the terminal; obtaining a shooting position corresponding to each candidate reference image; and determining, in each candidate reference image, a target reference image whose shooting position matches the location information.

[0465] In implementation, the server may divide the target venue based on a preset unit area, for example, may divide the target venue in a unit of 100 m 100 m, to obtain a plurality of subregions. In a process of subregion division, boundaries of adjacent subregions may overlap to a certain extent. The server may calibrate a subregion to which each reference image belongs. In an online positioning process, the terminal may first capture current location information of the terminal based on a global positioning system (GPS) or a location based service (LBS), and send the location information to the server. The server may determine a target subregion to which the positioning belongs. Then, in each candidate reference image, a target reference image whose shooting position also belongs to the target subregion, that is, a target reference image whose shooting position matches the location information, may be determined.

[0466] For example, three floors of two adjacent buildings all have a "301" identifier, but there is a certain distance between the two adjacent buildings. Even if the identifier are duplicate, the location of the terminal may be first defined within a certain range by positioning. Then, within a certain range, the target reference image matching the identifier "301" is searched for.

[0467] Optionally, when the quantity of text fields included in the to-be-queried image is greater than 1, the step of determining a target reference image in the candidate reference image may include: determining, in each candidate reference image, a target reference image including the N text fields.

[0468] In implementation, in a process of determining candidate reference images corresponding to a plurality of text fields, each text field may be obtained one by one. Each time one text field is obtained, a candidate reference image corresponding to the currently obtained text field is determined. In this way, the candidate reference image corresponding to each text field can be determined one by one. To further screen the candidate reference images, a target reference image that includes a plurality of text fields in the to-be-queried image may be determined from each candidate reference image. If a same target reference image includes a plurality of text fields included in the to-be-queried image, it indicates that a probability that a shooting position of the target reference image and a shooting position of the to-be-queried image are close is very high, and accuracy of the initial pose determined based on the target reference image is also relatively high.

[0469] Optionally, the step of determining the candidate reference image based on the prestored correspondence between the reference image and the text field and based on the N text fields may include: inputting the N text fields included in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field included in the to-be-queried image; determining a text field whose text type is a preset salient type; and searching, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.

[0470] In implementation, a large number of text fields may be included in the target venue. Some text fields help recognize the current environment, and some text fields may interfere with the process of recognizing the current environment. A text field that helps recognize the current environment may be used as the text field of the salient type. An effective text field capture rule may be formulated in advance. In an application, a text field with identification in the target venue may be selected as a positive sample, and a text field without identification in the target venue may also be selected as a negative sample. The classifier is trained based on the positive sample and the negative sample.

[0471] Segmentation precision of an algorithm and template for recognizing the text field (such as an AI segmentation template) may be determined according to a requirement of the user, that is, several characters are segmented into one text field. One character may be used as one text field, all characters included in continuous image regions may be used as one text field, or all characters included in a may be used as one text field.

[0472] After the N text fields are extracted from the to-be-queried image, the N text fields may be respectively input into the trained classifier, and if a value output by the classifier is close to or equal to 1, the current text field may be considered as a text field of the salient type. If the output value is close to or equal to 0, the current text field may be considered as a text field of a non-salient type. Basis on the text field of the salient type and the to-be-queried image is more advantageous for improving precision of the determined initial pose.

[0473] Step S2004: Determine an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image.

[0474] In implementation, for each target reference image, an initial correspondence between an image key point in the to-be-queried image and an image key point in the target reference image may be determined; geometric verification processing is performed on each pair of image key points in the initial correspondence; image key points that are incorrectly matched in the initial correspondence are eliminated, to obtain a target correspondence; and if the target correspondence includes an image key point greater than or equal to a preset threshold, it indicates that the target reference image and the to-be-queried image are images captured in a same environment, and an initial pose of the terminal is determined based on the to-be-queried image and the target reference image.

[0475] In implementation, an initial correspondence between an image key point in the to-be-queried image and an image key point in the target reference image may be determined, where the initial correspondence includes a plurality of pairs of image key points. Then, geometric verification processing may be performed on each pair of image key points, and image key points that are incorrectly matched in the initial correspondence are excluded. For example, 150 pairs of image key points are included in the initial correspondence, and 30 pairs of image key points may be eliminated through geometric verification processing. The 30 pairs of image key points are not image key points that actually match each other, and the target correspondence may be obtained. Finally, whether the target correspondence includes an image key point greater than or equal to a preset threshold may be determined. In this embodiment of the present disclosure, for example, the preset threshold is 100. After 30 pairs of image key points are excluded from 150 pairs of image key points, 120 pairs of remaining image key points are greater than the preset threshold 100 pairs. Therefore, the target reference image to which the 120 pairs of remaining image key points belong and the to-be-queried image are images captured in a same environment. If the target correspondence includes image key points whose quantity of pairs is less than the preset threshold, it indicates that the target reference image and the to-be-queried image are not environmental images captured in a same environment, and further, the initial pose may not be determined by using the target reference image.

[0476] Step S2005: Send an initial pose to the terminal.

[0477] In implementation, the terminal receives the initial pose sent by the server.

[0478] After receiving the initial pose, the terminal may perform processing, such as navigation, route planning, and obstacle avoidance, based on the received initial pose.

[0479] Optionally, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: the terminal determines a real-time pose based on the initial pose and the pose change of the terminal.

[0480] In implementation, if the initial pose is determined by using a to-be-queried image in a video, the pose change of the terminal may be determined subsequently by using an instantaneous localization and slam tracking technology. The real-time pose is determined based on the initial pose and the pose change of the terminal.

[0481] Optionally, in addition to that the processing such as navigation, route planning, and obstacle avoidance may be performed based on the real-time pose, after the receiving the initial pose returned by the server, the method provided by the embodiment of the present disclosure may further include: the terminal obtains a preview stream of the current scene; determines, based on the real-time pose, preset media content included in a digital map corresponding to the scene in the preview stream; and renders the media content in the preview stream.

[0482] In implementation, if the terminal is a mobile phone, an AR wearable device, or the like, a virtual scene may be constructed based on a real-time pose. First, the terminal may obtain the preview stream of the current scene. For example, the user may photograph a preview stream of a current environment in a shopping mall. Then, the terminal may determine the real-time pose according to the method mentioned above. Subsequently, the terminal may obtain a digital map, where the digital map records three-dimensional coordinates of each position in a world coordinate system, and corresponding preset media content exists at the preset three-dimensional coordinate position. The terminal may determine, in the digital map, target three-dimensional coordinates corresponding to the real-time pose, and if the corresponding preset media content exists at the target three-dimensional coordinate, obtain the preset media content. For example, when the user photographs a target store, the terminal recognizes a real-time pose, determines that a current camera is photographing a target store, and may obtain preset media content corresponding to the target store, where the preset media content corresponding to the target store may be description information of the target store, for example, which goods are worth buying in the target store. Based on this, the terminal may render the media content in the preview stream. In this case, the user may view, in a preset region near an image corresponding to the target store in the mobile phone, the preset media content corresponding to the target store. After viewing the preset media content corresponding to the target store, the user may have a general understanding of the target store.

[0483] Different digital maps may be set for different venues. In this way, when the user moves to another venue, preset media content corresponding to the real-time pose may also be obtained based on the manner of rendering media content provided in this embodiment of the disclosure, and the media content is rendered in the preview stream.

[0484] According to the embodiment of this disclosure, in some scenes with weak textures or high texture similarities (for example, a corridor or a wall occupying a large area of the to-be-required image), a candidate reference image matching the to-be-queried image may be queried based on the text fields included in the to-be-queried image and the text fields included in different reference images. Even if textures in the to-be-queried image are relatively weak or there are fewer textures, a candidate reference image with relatively high accurac can still be queried based on the text field. The initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate. Retrieval and precise positioning are performed based on text field retrieval and in a manner of feature matching of text region images can utilize text semantic information in a scene, thereby improving a success rate of positioning in some regions with similar textures or repeated texturess. In addition, because the 2D-3D correspondence of the reference image of the text region image is utilized, positioning accuracy is higher.

[0485] According to the embodiment of the present disclosure, a text field may be fused into a visual feature without perception. Therefore, a recall rate and precision of image retrieval are higher, and the process is not perceived by the user, a positioning process is also more intelligent, and user experience is better.

[0486] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracys more accurate.

[0487] It should be additionally noted that, for the method for determining a pose shown in FIG. 19 and FIG. 20, because the terminal may not perform processing of determining the N text fields included in the to-be-queried image, the terminal may not send a prompt signal in real time to prompt the user to shoot the to-be-queried image that includes a text. In this way, the to-be-queried image sent to the server may not include a text. In this case, the server cannot detect a text field in the to-be-queried image. In this case, the candidate reference image cannot be determined based on the text field. In this case, the candidate reference image may be determined according to some methods in a related technology. For example, a global feature in the to-be-queried image may be extracted, and the candidate reference image may be determined by using the global feature.

[0488] When the to-be-queried image does not include a text, the method for determining a subsequent reference image of the to-be-queried image may include the following solutions:

[0489] In a possible implementation, a global image feature of each candidate reference image is obtained; a global image feature of the to-be-queried image is determined; a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image is determined; and a reference image whose distance is the shortest as the target candidate reference image.

[0490] In a possible implementation, an image similarity between each reference image and the to-be-queried image is determined; and a candidate reference image whose distance is the longest as the target candidate reference image.

[0491] In a possible implementation, location information sent by the terminal is received; a shooting position corresponding to each candidate reference image is obtained; and in each candidate reference image, a target reference image whose shooting position matches the location information is determined.

[0492] Based on the foregoing content, FIG. 21 is a schematic flowchart of a method for determining a pose according to an embodiment of the present disclosure. A procedure of the method for determining a pose may include:

[0493] Step S2101: Capture a video stream.

[0494] Step S2102: Extract a to-be-queried image from the video stream.

[0495] Step S2103: Perform text detection processing on the to-be-queried image.

[0496] Step S2104: Determine whether a text box is detected.

[0497] Step S2105: If no text box is detected, perform image retrieval based on the global feature of the to-be-queried image, to obtain a target environmental image.

[0498] Step S2106: If a text box is detected, recognize a character in the text box.

[0499] Step S2107: Determine, by using a character corresponding to an up-down video frame of the to-be-queried image, whether a character corresponding to the to-be-queried image is correctly recognized. If not, the process proceeds to step S2105.

[0500] Step S2108: If a character recognition result corresponding to the to-be-queried image is correct, perform image enhancement processing on the text region image.

[0501] Step S2109: Extract an image key point of the text region image after the image enhancement processing.

[0502] Step S2110: If the character recognition result corresponding to the to-be-queried image is correct, perform image retrieval based on the character recognition result to obtain a target environmental image.

[0503] Step S2111: Perform key point matching based on the image key point of the text region image after the image enhancement processing and the image key point of the text region image of the target environmental image. Alternatively, key point matching is performed based on the image key end of the target environmental image and the image key point of the to-be-queried image that are determined in step S2105.

[0504] Step S2112: Establish a target 2D-3D correspondence based on the key point matching result.

[0505] Step S2113: Perform pose estimation processing based on the target 2D-3D correspondence.

[0506] Processing performed by some terminals and processing performed by the server in this embodiment of the present disclosure have similarities with processing performed by some terminals and processing performed by the server in the foregoing embodiment of this disclosure, and parts that may be shared are not described in detail in this embodiment of the present disclosure. For details, refer to descriptions of processing by the terminal and processing by the server in the foregoing embodiment of this disclosure. It should be noted that processing of the steps in S2101 to S2113 may be performed by the terminal or by the server, and there are various possible interaction combinations thereof, which are not listed one by one herein. In any one of the foregoing possible interaction combinations, when the foregoing steps are implemented based on the conception of the present invention, a person skilled in the art can construct a communication process between the server and the terminal, for example, necessary information to beexchanged and transmitted between the server and the terminal. This is not exhaustive or repeated in the present invention.

[0507] According to the embodiment of this disclosure, in some scenes with weak textures or high texture similarities (for example, a corridor or a wall occupying a large area of the to-be-required image), a candidate reference image matching the to-be-queried image may be queried based on the text fields included in the to-be-queried image and the text fields included in different reference images. Even if textures in the to-be-queried image are relatively weak or there are fewer textures, a candidate reference image with relatively high accurac still be queried based on the text field. The initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate. Retrieval and precise positioning are performed based on text field retrieval and in a manner of feature matching of text region images can utilize text semantic information in a scene, thereby improving a success rate of positioning in some regions with similar textures or repeated texturess. In addition, because the 2D-3D correspondence of the reference image of the text region image is utilized, positioning accuracy is higher.

[0508] According to the embodiment of the present disclosure, a text field may be fused into a visual feature without perception. Therefore, a recall rate and precision of image retrieval are higher, and the process is not perceived by the user, a positioning process is also more intelligent, and user experience is better.

[0509] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy is more accurate.

[0510] In conclusion, the method for determining a pose provided in this embodiment of this application may be classified into two types. A difference between the two types lies in that one type is that the terminal determines the N text fields included in the to-be-queried image, and sends the to-be-queried image and the text field to the server. The other type is that the terminal sends the to-be-queried image to the server, and the server determines the N text fields included in the to-be-queried image. The following describes the two types of methods for determining the pose in an integrated manner, and may be described as follows:

[0511] FIG. 22 is a schematic flowchart of a method for determining a pose according to an embodiment of the present disclosure. A procedure of the method for determining a pose may include:

[0512] Step S2201: Obtain a to-be-queried image at a first position.

[0513] Step S2202: Determine N text fields included in the to-be-queried image.

[0514] Step S2203: Determine a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields.

[0515] Step S2204: Determine an initial posture of the terminal at the first position based on the to-be-queried image and the candidate reference image.

[0516] It should be noted that step S2202 may be performed by the terminal, or may be performed by the server.

[0517] When step S2202 is performed by the terminal, after the N text fields are determined, the N text fields and the to-be-queried image further need to be sent to the server. For specific processing, refer to related content in steps S1702 to S1703, S1603, and S802.

[0518] When step S2203 is performed by the server, the terminal sends the to-be-queried image to the server, and then the server performs processing of determining N text fields from the to-be-queried image. For specific processing, refer to related content in step S2002.

[0519] An exemplary embodiment of the present disclosure provides a method of offline calibration that may be performed before the actual online positioning process to determine some correspondences that need to be used in the online positioning process. The method may be applied to a server. As shown in FIG. 23, a processing procedure of the method may include the following steps.

[0520] Step S2301: Obtain pre-captured reference images.

[0521] Step S2302: Determine a text field included in each reference image.

[0522] Step S2303: Store a correspondence between the text field and each reference image.

[0523] The foregoing processing steps have been described in corresponding processing steps in the online positioning process described in the foregoing embodiments, and details are not described herein again. For details, refer to content described in the foregoing embodiments.

[0524] An example embodiment of this disclosure provides a signal processing method. As shown in FIG. 24, a processing procedure of the method may include the following steps.

[0525] Step S2401: Obtain a plurality of pre-captured reference images, perform text detection processing on each reference image, and determine a text region image included in each reference image.

[0526] The plurality of pre-captured reference images may be environmental images shot at each position in a target venue. Each time the venue is changed, an offline calibration process can be performed.

[0527] Step S2402: Recognize a text field included in each text region image.

[0528] Step S2403: Establish a search index based on each text field, and register the search index into a database.

[0529] Step S2404: Perform image enhancement processing on each text region image.

[0530] Step S2405: Extract an image key point of the text region image after the image enhancement processing.

[0531] Step S2406: Obtain a 3D point cloud, calibrate a correspondence between an extracted image key point and a 3D point in the 3D point cloud, and register the calibrated correspondence into a database.

[0532] Optionally, the method provided in this embodiment of the present disclosure may further include: determining a 2D-3D correspondence of each text region image based on a 2D point of the text region image included in each reference image and a pre-obtained 2D-3D correspondence of each reference image; and storing the 2D-3D correspondence of each text region image.

[0533] In implementation, the server may obtain a pre-established 2D-3D correspondence of each reference image, where the 2D-3D correspondence includes a large number of 3D points and corresponding 2D points in the reference image. Each 3D point corresponds to a physical point in the target venue, and each 3D point corresponds to three-dimensional location information of a corresponding physical point in actual space. After the text region image is determined from each reference image, the 2D points of each text region image can be obtained. Based on the 2D points of each text region image and the 2D-3D correspondence of the reference image to which each text region image belongs, a 2D-3D correspondence of each text region image may be determined. After the 2D-3D correspondence of each text region image is established, the correspondence may be stored in a database of the server.

[0534] The server may pre-establish three-dimensional location information of a physical point corresponding to each pixel in the reference image in actual space, and record the information as a 2D-3D correspondence.

[0535] A method of automatic calibration based on an OCR region (text image region) and 3D point cloud (a 2D-3D correspondence of each reference image) is provided. The method can automatically calibrate and register a 2D-3D correspondence between a text box region in an image library and each existing reference image offline, and provide a data basis for subs equent precise positioning. The offline calibration manner provides a solid data basis for a subsequent online positioning process.

[0536] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracys more accurate.

[0537] Another exemplary embodiment of the present disclosure provides an apparatus for determining a pose. As shown in FIG. 25, the apparatus includes:

an obtaining module 2501, configured to obtain a to-be-queried image at a first position, where a scene at the first position includes a scene in the to-be-queried image, and the to-be-queried image has a text; and specifically, the obtaining function in step S601 and other implicit steps may be implemented;

a determining module 2502, configured to determine N text fields included in the to-be-queried image, where N is greater than or equal to 1; and specifically, the determining function in step S602 and other implicit steps may be implemented;

a sending module 2503, configured to send the N text fields and the to-be-queried image to a server; and specifically, the sending function in step S603 and other implicit steps may be implemented; and

a receiving module 2504, configured to receive an initial pose that is of a terminal at the first position and is returned by the server, where the initial pose is determined and obtained by the server based on the N text fields and the to-be-queried image; and specifically, the receiving function in step S604 and other implicit steps may be implemented.



[0538] In a possible implementation, the obtaining module 2501 is configured to:

shoot a first initial image;

when the first initial image has no text, display first prompt information or play first prompt information by voice, where the first prompt information is used to indicate that no text is detected in the first initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and

when shooting, at the first position, a second initial image having a text, determine the second initial image as the to-be-queried image.



[0539] In a possible implementation, the obtaining module 2501 is configured to:

shoot a third initial image;

determine, by performing text detection processing on the third initial image, a text region image included in the third initial image;

when the text region image included in the third initial image does not meet a preferred image condition, display second prompt information or play second prompt information by voice, where the second prompt information is used to indicate that the text region image included in the third initial image does not meet the preferred image condition, and prompt a user to move the terminal in a direction in which a real text is located; and

when shooting, at the first position, a fourth initial image including a text region image that meets the preferred image condition, determine the fourth initial image as the to-be-queried image, where

the preferred image condition includes one or more of the following conditions:

a size of the text region image is greater than or equal to a size threshold;

definition of the text region image is higher than or equal to a definition threshold; and

texture complexity of the text region image is less than or equal to a complexity threshold.



[0540] In a possible implementation, the obtaining module 2501 is configured to:

shoot a fifth initial image;

determine N text fields included in the fifth initial image;

obtain M text fields included in a reference query image, where a time interval between a time of capturing the reference query image and a time of capturing the fifth initial image is less than a duration threshold, and M is greater than or equal to 1;

when any text field included in the fifth initial image is inconsistent with each of the M text fields, display third prompt information or play third prompt information by voice, where the third prompt information is used to indicate that an incorrect text field is recognized in the fifth initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and

when shooting, at the first positiixth initial image including text fields that all belong to the M text fields, determine the sixth initial image as the to-be-queried image.



[0541] In a possible implementation, the obtaining module 2501 is configured to:

capture a first image of a current scene at the first position, where the first image includes a text;

perform text detection processing on the first image to obtain at least one text region image; and

use the at least one text region image included in the first image as the to-be-queried image.



[0542] In a possible implementation, the determining module 2502 is further configured to determine a location region of the text region image in the to-be-queried image; and
the sending module 2503 is further configured to send the location region to the server; and that the initial pose is determined and obtained by the server based on the N text fields and the to-be-queried image includes: the initial pose is determined and obtained by the server based on the location region of the text region image in the to-be-queried image, the N text fields, and the to-be-queried image.

[0543] In a possible implementation, the obtaining module 2501 is further configured to obtain location information of the terminal; and
the sending module 2503 is further configured to send the location information to the server; and that the initial pose is determined and obtained by the server based on the N text fields and the to-be-queried image includes:
the initial pose is determined and obtained by the server based on the N text fields, the to-be-queried image, and the location information.

[0544] In a possible implementation, the obtaining module 2501 is further configured to obtain a pose change of the terminal; and
the determining module 2502 is further configured to determine a real-time pose based on the initial pose and the pose change of the terminal.

[0545] In a possible implementation, the obtaining module 2501 is further configured to obtain a preview stream of the current scene;

the determining module 2502 is further configured to determine, based on the real-time pose, preset media content included in a digital map corresponding to the scene in the preview stream; and

the apparatus further includes:
a rendering module, configured to render the media content in the preview stream.



[0546] It should be noted that the obtaining module 2501, the determining module 2502, the sending module 2503, and the receiving module 2504 may be implemented by a processor, or may be implemented by a processor in cooperation with a transceiver.

[0547] Another exemplary embodiment of the present disclosure provides an apparatus for determining a pose. As shown in FIG. 26, the apparatus includes:

a receiving module 2601, configured to receive a to-be-queried image sent by a terminal and N text fields included in the to-be-queried image, where N is greater than or equal to 1, the to-be-queried image is obtained based on an image captured by the terminal at a first position, and a scene at the first position includes a scene in the to-be-queried image; and specifically, the receiving function in step S701 and other implicit steps may be implemented;

a determining module 2602, configured to determine a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields; and specifically, the determining function in step S702 and other implicit steps may be implemented; where

the determining module 2602 is configured to determine an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and specifically, the determining function in step S702 and other implicit steps may be implemented; and

a sending module 2603, configured to send the determined initial pose to the terminal; and specifically, the sending function in step S704 and other implicit steps may be implemented.



[0548] In a possible implementation, the determining module 2602 is configured to:

determine a target reference image in the candidate reference image, where the scene at the first position includes a scene in the target reference image; and

determine the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image.



[0549] In a possible implementation, the determining module 2602 is configured to:

determine a 2D-2D correspondence between the to-be-queried image and the target reference image; and

determine the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.



[0550] In a possible implementation, the receiving module 2601 is further configured to receive a location region of a text region image in the to-be-queried image sent by the terminal;

the determining module 2602 is configured to determine, based on the location region, a target text region image included in the to-be-queried image;

the apparatus further includes:

an obtaining module, configured to obtain a text region image included in the target reference image; and

the determining module 2602 is configured to determine a 2D-2D correspondence between the target text region image and the text region image included in the target reference image.



[0551] In a possible implementation, the determining module 2602 is configured to:

determine an image similarity between each candidate reference image and the to-be-queried image; and

determine, in each candidate reference image, a first preset quantity of target reference images with a highest image similarity.



[0552] In a possible implementation, the determining module 2602 is configured to:

obtain a global image feature of each candidate reference image;

determine a global image feature of the to-be-queried image;

determine a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and

determine, in each candidate reference image, a second preset quantity of target reference images with a shortest distance.



[0553] In a possible implementation, the determining module 2602 is configured to:

receive location information sent by the terminal;

obtain a shooting position corresponding to each candidate reference image; and

determine, in each candidate reference image, a target reference image whose shooting position matches the location information.



[0554] In a possible implementation, when N is greater than 1, the determining module 2602 is configured to:
determine, in each candidate reference image, a target reference image including the N text fields.

[0555] In a possible implementation, the determining module 2602 is configured to:
when there is only one candidate reference image, determine the candidate reference image as the target reference image.

[0556] In a possible implementation, the determining module 2602 is configured to:

input the N text fields included in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field included in the to-be-queried image;

determine a text field whose text type is a preset salient type; and

search, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.



[0557] It should be noted that the receiving module 2601, the determining module 2602, and the sending module 2603 may be implemented by a processor, or may be implemented by a processor in cooperation with a memory and a transceiver.

[0558] For the apparatus in the foregoing embodiment, a specific manner of performing an operation by each module is described in detail in the embodiments related to the method, and details are not described herein again.

[0559] Another exemplary embodiment of the present disclosure provides an apparatus for determining a pose. As shown in FIG. 27, the apparatus includes:

an obtaining module 2701, configured to obtain a to-be-queried image at a first position, where a scene at the first position includes a scene in the to-be-queried image; and specifically, the obtaining function in step S1901 and other implicit steps may be implemented;

a sending module 2702, configured to send the to-be-queried image to a server, so that the server determines N text fields included in the to-be-queried image and determines an initial pose of a terminal at the first position based on the N text fields and the to-be-queried image, where N is greater than or equal to 1; and specifically, the sending function in step S1902 and other implicit steps may be implemented; and

a receiving module 2703, configured to receive an initial pose that is of the terminal at the first position and is returned by the server; and specifically, the receiving function in step S1903 and other implicit steps may be implemented.



[0560] In a possible implementation, the obtaining module 2701 is further configured to obtain location information of the terminal; and
the sending module 2702 is further configured to send the location information to the server; and the determining an initial pose of the terminal at the first position based on the N text fields and the to-be-queried image includes: determining the initial pose of the terminal at the first position based on the N text fields, the to-be-queried image, and the location information.

[0561] In a possible implementation, the obtaining module 2701 is further configured to obtain a pose change of the terminal; and
the apparatus further includes a determining module, configured to determine a real-time pose based on the initial pose and the pose change of the terminal.

[0562] In a possible implementation, the obtaining module 2701 is further configured to obtain a preview stream of the current scene;

the determining module is further configured to determine, based on the real-time pose, preset media content included in a digital map corresponding to the scene in the preview stream; and

the apparatus further includes:
a rendering module, configured to render the media content in the preview stream.



[0563] It should be noted that the obtaining module 2701, the sending module 2702, and the receiving module 2703 may be implemented by a processor, or may be implemented by a processor in cooperation with a transceiver.

[0564] Another exemplary embodiment of the present disclosure provides an apparatus for determining a pose. As shown in FIG. 28, the apparatus includes:

a receiving module 2801, configured to receive a to-be-queried image sent by a terminal, where the to-be-queried image is obtained based on an image captured by the terminal at a first position; and a scene at the first position includes a scene in the to-be-queried image; and specifically, the receiving function in step S2001 and other implicit steps may be implemented;

a determining module 2802, configured to determine N text fields included in the to-be-queried image, where N is greater than or equal to 1; and specifically, the determining function in step S2002 and other implicit steps may be implemented; where

the determining module 2802 is further configured to determine a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields; and specifically, the determining function in step S2003 and other implicit steps may be implemented;

the determining module 2802 is further configured to determine an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and specifically, the determining function in step S2004 and other implicit steps may be implemented; and

a sending module 2803, configured to send the initial pose to the terminal. Specifically, a sending function in step 304 and other implicit steps may be implemented.



[0565] In a possible implementation, the determining module 2802 is configured to:

determine a target reference image in the candidate reference image, where the scene at the first position includes a scene in the target reference image; and

determine the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image.



[0566] In a possible implementation, the determining module 2802 is configured to:

determine a 2D-2D correspondence between the to-be-queried image and the target reference image; and

determine the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.



[0567] In a possible implementation, the determining module 2802 is further configured to determine a target text region image included in the to-be-queried image;
the apparatus further includes:

an obtaining module, configured to obtain a text region image included in the target reference image; and

the determining module 2802 is configured to determine a 2D-2D correspondence between the target text region image and the text region image included in the target reference image.



[0568] In a possible implementation, the determining module 2802 is configured to:

determine an image similarity between each candidate reference image and the to-be-queried image; and

determine, in each candidate reference image, a first preset quantity of target reference images with a highest image similarity.



[0569] In a possible implementation, the determining module 2802 is configured to:

obtain a global image feature of each candidate reference image;

determine a global image feature of the to-be-queried image;

determine a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and

determine, in each candidate reference image, a second preset quantity of target reference images with a shortest distance.



[0570] In a possible implementation, the determining module 2802 is configured to:

receive location information sent by the terminal;

obtain a shooting position corresponding to each candidate reference image; and

determine, in each candidate reference image, a target reference image whose shooting position matches the location information.



[0571] In a possible implementation, when N is greater than 1, the determining module 2802 is configured to:
determine, in each candidate reference image, a target reference image including the N text fields.

[0572] In a possible implementation, the determining module 2802 is configured to:
when there is only one candidate reference image, determine the candidate reference image as the target reference image.

[0573] In a possible implementation, the determining module 2802 is configured to:

input the N text fields included in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field included in the to-be-queried image;

determine a text field whose text type is a preset salient type; and

search, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.



[0574] It should be noted that the receiving module 2801, the determining module 2802, and the sending module 2803 may be implemented by a processor, or may be implemented by a processor in cooperation with a memory and a transceiver.

[0575] For the apparatus in the foregoing embodiment, a specific manner of performing an operation by each module is described in detail in the embodiments related to the method, and details are not described herein again.

[0576] According to the embodiment of the present disclosure, even if there are a relatively large quantity of similar environments at different positions of target venues, and there are a relatively large quantity of similar images in different images shot at different positions of the venues, based on a text field included in the to-be-queried image and a text field included in different reference images, a candidate reference image that matches the to-be-queried image may be queried. Even if there is interference of a relatively large quantity of similar images, accuracy of the candidate reference image queried based on the text field is relatively high, and an initial pose of the terminal obtained by performing pose solving processing based on the candidate reference image with relatively high accuracy more accurate.

[0577] It should be noted that, when the object recognition apparatus provided in the foregoing embodiment recognizes an object, division of the foregoing function modules is merely used as an example for description. In actual application, the foregoing functions may be allocated to different function modules and implemented according to a requirement. In other words, an internal structure of the apparatus may be divided into different function modules to implement all or some of the functions described above. In addition, the positioning apparatus provided in the foregoing embodiment is based on a same inventive concept as the positioning method embodiment. For a specific implementation process of the positioning apparatus, refer to the method embodiment, and details are not described herein again.

[0578] Another exemplary embodiment of the present disclosure provides an apparatus for determining a pose. The apparatus includes:

an obtaining module, configured to obtain pre-captured reference images;

a determining module, configured to determine a text field included in each reference image; and

a storage module, configured to store a correspondence between the text field and each reference image.



[0579] In a possible implementation, the determining module is configured to:
for each reference image, determine, by performing text detection processing on the reference image, a text region image included in the reference image; and determine a text field included in the text region image.

[0580] In a possible implementation, the determining module is further configured to determine a 2D-3D correspondence of each text region image based on a 2D point of the text region image included in each reference image and a pre-obtained 2D-3D correspondence of each reference image; and
the storage module is further configured to store the 2D-3D correspondence of each text region image.

[0581] For the apparatus in the foregoing embodiment, a specific manner of performing an operation by each module is described in detail in the embodiments related to the method, and details are not described herein again.

[0582] Still another exemplary embodiment of the present disclosure provides a system for determining a pose. The system includes a terminal and a server, where

[0583] The terminal is configured to: obtain a to-be-queried image at a first position, where a scene at the first position includes a scene in the to-be-queried image, and the to-be-queried image has a text; determine N text fields included in the to-be-queried image, where N is greater than or equal to 1; send the N text fields and the to-be-queried image to the server; and receive an initial pose returned by the server; and

[0584] The server is configured to: receive the to-be-queried image sent by the terminal and the N text fields included in the to-be-queried image, where N is greater than or equal to 1, the to-be-queried image is obtained based on an image captured by the terminal at a first position, and a scene at the first position includes a scene in the to-be-queried image; determine a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields; determine the initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and send the determined initial pose to the terminal.

[0585] Still another exemplary embodiment of the present disclosure provides a system for determining a pose. The system includes a terminal and a server, where

[0586] The terminal is configured to: obtain a to-be-queried image at a first position, where a scene at the first position includes a scene in the to-be-queried image; send the to-be-queried image to a server; and receive an initial pose that is of the terminal at the first position and is returned by the server; and

[0587] The server is configured to: receive the to-be-queried image sent by the terminal; determine N text fields included in the to-be-queried image, where N is greater than or equal to 1; determine a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields; determine the initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and send the initial pose to the terminal.

[0588] For the system in the foregoing embodiment, a specific manner of performing an operation by each device has been described in detail in the embodiment related to the method. Details are not described herein again.

[0589] A person skilled in the art can easily figure out another implementation solution of the disclosure after considering the specification and practicing the disclosure that is disclosed herein. This application is intended to cover any variations, functions, or adaptive changes of the disclosure. These variations, functions, or adaptive changes comply with general principles of the disclosure, and include common knowledge or a commonly used technical means in the technical field that is not disclosed in the disclosure. The specification and the embodiments are merely considered as examples, and the actual scope and the spirit of this application are pointed out by the following claims.

[0590] It should be understood that this disclosure is not limited to the accurate structures that are described in the foregoing and that are shown in the accompanying drawings, and modifications and changes may be made without departing from the scope of the disclosure. The scope of this disclosure is subject only to the appended claims.


Claims

1. A position relationship determining method, wherein the method comprises:

obtaining, by a terminal, a to-be-queried image at a first position, wherein a scene at the first position comprises a scene in the to-be-queried image, and the to-be-queried image has a text;

determining N text fields comprised in the to-be-queried image, wherein N is greater than or equal to 1;

sending the N text fields and the to-be-queried image to a server; and

receiving an initial pose that is of the terminal at the first position and is returned by the server, wherein the initial pose is determined by the server based on the N text fields and the to-be-queried image.


 
2. The method according to claim 1, wherein the obtaining, by a terminal, a to-be-queried image at a first position comprises:

shooting a first initial image;

when the first initial image has no text, displaying first prompt information or playing first prompt information by voice, wherein the first prompt information is used to indicate that no text is detected in the first initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and

when the terminal shoots, at the first position, a second initial image having a text, determining the second initial image as the to-be-queried image.


 
3. The method according to claim 1, wherein the obtaining, by a terminal, a to-be-queried image at a first position comprises:

shooting a third initial image;

determining, by performing text detection processing on the third initial image, a text region image comprised in the third initial image;

when the text region image comprised in the third initial image does not meet a preferred image condition, displaying second prompt information or playing second prompt information by voice, wherein the second prompt information is used to indicate that the text region image comprised in the third initial image does not meet the preferred image condition, and prompt a user to move the terminal in a direction in which a real text is located; and

when the terminal shoots, at the first position, a fourth initial image comprising a text region image that meets the preferred image condition, determining the fourth initial image as the to-be-queried image, wherein

the preferred image condition comprises one or more of the following conditions:

a size of the text region image is greater than or equal to a size threshold;

definition of the text region image is higher than or equal to a definition threshold; and

texture complexity of the text region image is less than or equal to a complexity threshold.


 
4. The method according to claim 1, wherein the obtaining, by a terminal, a to-be-queried image at a first position comprises:

shooting a fifth initial image;

determining N text fields comprised in the fifth initial image;

obtaining M text fields comprised in a reference query image, wherein a time interval between a time of capturing the reference query image and a time of capturing the fifth initial image is less than a duration threshold, and M is greater than or equal to 1;

when any text field comprised in the fifth initial image is inconsistent with each of the M text fields, displaying third prompt information or playing third prompt information by voice, wherein the third prompt information is used to indicate that an incorrect text field is recognized in the fifth initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and

when the terminal shoots, at the first position, a sixth initial image comprising text fields that all belong to the M text fields, determining the sixth initial image as the to-be-queried image.


 
5. The method according to claim 1, wherein the obtaining, by a terminal, a to-be-queried image at a first position comprises:

capturing, by the terminal, a first image of a current scene at the first position, wherein the first image comprises a text;

performing text detection processing on the first image to obtain at least one text region image; and

using the at least one text region image comprised in the first image as the to-be-queried image.


 
6. The method according to any one of claims 1 to 4, wherein the method further comprises:

determining a location region of the text region image in the to-be-queried image; and

sending the location region to the server; and that the initial pose is determined by the server based on the N text fields and the to-be-queried image comprises: the initial pose is determined and obtained by the server based on the location region of the text region image in the to-be-queried image, the N text fields, and the to-be-queried image.


 
7. The method according to any one of claims 1 to 6, wherein the method further comprises:

obtaining location information of the terminal; and

sending the location information to the server; and that the initial pose is determined by the server based on the N text fields and the to-be-queried image comprises: the initial pose is determined and obtained by the server based on the N text fields, the to-be-queried image, and the location information.


 
8. The method according to any one of claims 1 to 7, wherein after the receiving an initial pose returned by the server, the method further comprises:

obtaining a pose change of the terminal; and

determining a real-time pose based on the initial pose and the pose change of the terminal.


 
9. The method according to claim 8, wherein after the receiving an initial pose returned by the server, the method further comprises:

obtaining a preview stream of the current scene;

determining, based on the real-time pose, preset media content comprised in a digital map corresponding to the scene in the preview stream; and

rendering the media content in the preview stream.


 
10. A method for determining a master AP, wherein the method comprises:

receiving a to-be-queried image sent by a terminal and N text fields comprised in the to-be-queried image, wherein N is greater than or equal to 1, the to-be-queried image is obtained based on an image captured by the terminal at a first position, and a scene at the first position comprises a scene in the to-be-queried image;

determining a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields;

determining an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and

sending the initial pose to the terminal.


 
11. The method according to claim 10, wherein the determining an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image comprises:

determining a target reference image in the candidate reference image, wherein the scene at the first position comprises a scene in the target reference image; and

determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image.


 
12. The method according to claim 11, wherein the determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image comprises:

determining a 2D-2D correspondence between the to-be-queried image and the target reference image; and

determining the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.


 
13. The method according to claim 12, wherein the method further comprises:

receiving a location region of a text region image in the to-be-queried image sent by the terminal; and

the determining a 2D-2D correspondence between the to-be-queried image and the target reference image comprises:

determining, based on the location region, a target text region image comprised in the to-be-queried image;

obtaining a text region image comprised in the target reference image; and

determining a 2D-2D correspondence between the target text region image and the text region image comprised in the target reference image.


 
14. The method according to any one of claims 11 to 13, wherein the determining a target reference image in the candidate reference image comprises:

determining an image similarity between each candidate reference image and the to-be-queried image; and

determining a candidate reference image whose image similarity is greater than or equal to a preset similarity threshold as the target reference image.


 
15. The method according to any one of claims 11 to 13, wherein the determining a target reference image in the candidate reference image comprises:

obtaining a global image feature of each candidate reference image;

determining a global image feature of the to-be-queried image;

determining a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and

determining a candidate reference image whose distance is less than or equal to a preset distance threshold as the target reference image.


 
16. The method according to any one of claims 11 to 13, wherein the determining a target reference image in the candidate reference image comprises:

receiving location information sent by the terminal;

obtaining a shooting position corresponding to each candidate reference image; and

determining, in each candidate reference image, a target reference image whose shooting position matches the location information.


 
17. The method according to any one of claims 11 to 13, wherein when N is greater than 1, the determining a target reference image in the candidate reference image comprises:
determining, in each candidate reference image, a target reference image comprising the N text fields.
 
18. The method according to any one of claims 11 to 13, wherein the determining a target reference image in the candidate reference image comprises:
when there is only one candidate reference image, determining the candidate reference image as the target reference image.
 
19. The method according to any one of claims 10 to 18, wherein the determining a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields comprises:

inputting the N text fields comprised in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field comprised in the to-be-queried image;

determining a text field whose text type is a preset salient type; and

searching, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.


 
20. An apparatus for determining a pose, wherein the apparatus comprises:

an obtaining module, configured to obtain a to-be-queried image at a first position, wherein a scene at the first position comprises a scene in the to-be-queried image, and the to-be-queried image has a text;

a determining module, configured to determine N text fields comprised in the to-be-queried image, wherein N is greater than or equal to 1;

a sending module, configured to send the N text fields and the to-be-queried image to a server; and

a receiving module, configured to receive an initial pose that is of a terminal at the first position and is returned by the server, wherein the initial pose is determined by the server based on the N text fields and the to-be-queried image.


 
21. The apparatus according to claim 20, wherein the obtaining module is configured to:

shoot a first initial image;

when the first initial image has no text, display first prompt information or play first prompt information by voice, wherein the first prompt information is used to indicate that no text is detected in the first initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and

when shooting, at the first position, a second initial image having a text, determine the second initial image as the to-be-queried image.


 
22. The apparatus according to claim 20, wherein the obtaining module is configured to:

shoot a third initial image;

determine, by performing text detection processing on the third initial image, a text region image comprised in the third initial image;

when the text region image comprised in the third initial image does not meet a preferred image condition, display second prompt information or play second prompt information by voice, wherein the second prompt information is used to indicate that the text region image comprised in the third initial image does not meet the preferred image condition, and prompt a user to move the terminal in a direction in which a real text is located; and

when shooting, at the first position, a fourth initial image comprising a text region image that meets the preferred image condition, determine the fourth initial image as the to-be-queried image, wherein

the preferred image condition comprises one or more of the following conditions:

a size of the text region image is greater than or equal to a size threshold;

definition of the text region image is higher than or equal to a definition threshold; and

texture complexity of the text region image is less than or equal to a complexity threshold.


 
23. The apparatus according to claim 20, wherein the obtaining module is configured to:

shoot a fifth initial image;

determine N text fields comprised in the fifth initial image;

obtain M text fields comprised in a reference query image, wherein a time interval between a time of capturing the reference query image and a time of capturing the fifth initial image is less than a duration threshold, and M is greater than or equal to 1;

when any text field comprised in the fifth initial image is inconsistent with each of the M text fields, display third prompt information or play third prompt information by voice, wherein the third prompt information is used to indicate that an incorrect text field is recognized in the fifth initial image, and prompt a user to move a position of the terminal or adjust a shooting angle of the terminal; and

when shooting, at the first pa sixth initial image comprising text fields that all belong to the M text fields, determine the sixth initial image as the to-be-queried image.


 
24. The apparatus according to claim 20, wherein the obtaining module is configured to:

capture a first image of a current scene at the first position, wherein the first image comprises a text;

perform text detection processing on the first image to obtain at least one text region image; and

use the at least one text region image comprised in the first image as the to-be-queried image.


 
25. The apparatus according to any one of claims 20 to 23, wherein the determining module is further configured to determine a location region of the text region image in the to-be-queried image; and
the sending module is configured to send the location region to the server; and that the initial pose is determined by the server based on the N text fields and the to-be-queried image comprises: the initial pose is determined and obtained by the server based on the location region of the text region image in the to-be-queried image, the N text fields, and the to-be-queried image.
 
26. The apparatus according to any one of claims 20 to 25, wherein the obtaining module is further configured to obtain location information of the terminal; and
the sending module is further configured to send the location information to the server; and that the initial pose is determined by the server based on the N text fields and the to-be-queried image comprises: the initial pose is determined and obtained by the server based on the N text fields, the to-be-queried image, and the location information.
 
27. The apparatus according to any one of claims 20 to 26, wherein the obtaining module is further configured to obtain a pose change of the terminal; and
the determining module is further configured to determine a real-time pose based on the initial pose and the pose change of the terminal.
 
28. The apparatus according to claim 27, wherein the obtaining module is further configured to obtain a preview stream of the current scene;

the determining module is further configured to determine, based on the real-time pose, preset media content comprised in a digital map corresponding to the scene in the preview stream; and

the apparatus further comprises:
a rendering module, configured to render the media content in the preview stream.


 
29. An apparatus for determining a pose, wherein the apparatus comprises:

a receiving module, configured to receive a to-be-queried image sent by a terminal and N text fields comprised in the to-be-queried image, wherein N is greater than or equal to 1, the to-be-queried image is obtained based on an image captured by the terminal at a first position, and a scene at the first position comprises a scene in the to-be-queried image;

a determining module, configured to determin a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields, wherein

the determining module is configured to determine an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and

a sending module, configured to send the initial pose to the terminal.


 
30. The apparatus according to claim 29, wherein the determining module is configured to:

determine a target reference image in the candidate reference image, wherein the scene at the first position comprises a scene in the target reference image; and

determine the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image.


 
31. The apparatus according to claim 30, wherein the determining module is configured to:

determine a 2D-2D correspondence between the to-be-queried image and the target reference image; and

determine the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.


 
32. The apparatus according to claim 31, wherein the receiving module is further configured to receive a location region of a text region image in the to-be-queried image sent by the terminal;

the determining module is configured to determine, based on the location region, a target text region image comprised in the to-be-queried image;

the apparatus further comprises:

an obtaining module, configured to obtain a text region image comprised in the target reference image; and

the determining module is configured to determine a 2D-2D correspondence between the target text region image and the text region image comprised in the target reference image.


 
33. The apparatus according to any one of claims 30 to 32, wherein the determining module is further configured to:

determine an image similarity between each candidate reference image and the to-be-queried image; and

determine, in each candidate reference image, a first preset quantity of target reference images with a highest image similarity.


 
34. The apparatus according to any one of claims 30 to 32, wherein the determining module is configured to:

obtain a global image feature of each candidate reference image;

determine a global image feature of the to-be-queried image;

determine a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and

determine, in each candidate reference image, a second preset quantity of target reference images with a shortest distance.


 
35. The apparatus according to any one of claims 30 to 32, wherein the determining module is configured to:

receive location information sent by the terminal;

obtain a shooting position corresponding to each candidate reference image; and

determine, in each candidate reference image, a target reference image whose shooting position matches the location information.


 
36. The apparatus according to any one of claims 30 to 32, wherein when N is greater than 1, the determining module is configured to:
determine, in each candidate reference image, a target reference image comprising the N text fields.
 
37. The apparatus according to any one of claims 30 to 37, wherein the determining module is configured to:
when there is only one candidate reference image, determine the candidate reference image as the target reference image.
 
38. The apparatus according to any one of claims 29 to 37, wherein the determining module is configured to:

input the N text fields comprised in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field comprised in the to-be-queried image;

determine a text field whose text type is a preset salient type; and

search, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.


 
39. A system for determining a pose, wherein the system comprises a terminal and a server, wherein

the terminal is configured to: obtain a to-be-queried image at a first position, wherein a scene at the first position comprises a scene in the to-be-queried image, and the to-be-queried image has a text; determine N text fields comprised in the to-be-queried image, wherein N is greater than or equal to 1; send the N text fields and the to-be-queried image to the server; and receive an initial pose returned by the server; and

the server is configured to: receive the to-be-queried image sent by the terminal and the N text fields comprised in the to-be-queried image; determine a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields; determine the initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and send the initial pose to the terminal.


 
40. A method for determining a master AP, wherein the method comprises:

obtaining, by a terminal, a to-be-queried image at a first position, wherein a scene at the first position comprises a scene in the to-be-queried image;

sending the to-be-queried image to a server, so that the server determines N text fields comprised in the to-be-queried image and determines an initial pose of the terminal at the first position based on the N text fields and the to-be-queried image, wherein N is greater than or equal to 1; and

receiving an initial pose that is of the terminal at the first position and is returned by the server.


 
41. The method according to claim 40, further comprising:

obtaining location information of the terminal; and

sending the location information to the server; and

the determining an initial pose of the terminal at the first position based on the N text fields and the to-be-queried image comprises:
determining the initial pose of the terminal at the first position based on the N text fields, the to-be-queried image, and the location information.


 
42. The method according to claim 40 or 41, wherein after the receiving an initial pose returned by the server, the method further comprises:

obtaining a pose change of the terminal; and

determining a real-time pose based on the initial pose and the pose change of the terminal.


 
43. The method according to claim 42, wherein after the receiving an initial pose returned by the server, the method further comprises:

obtaining a preview stream of the current scene;

determining, based on the real-time pose, preset media content comprised in a digital map corresponding to the scene in the preview stream; and

rendering the media content in the preview stream.


 
44. A method for determining a master AP, wherein the method comprises:

receiving a to-be-queried image sent by a terminal, wherein the to-be-queried image is obtained based on an image captured by the terminal at a first position; and, and a scene at the first position comprises a scene in the to-be-queried image;

determining N text fields comprised in the to-be-queried image, wherein N is greater than or equal to 1;

determining a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields;

determining an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and

sending the initial pose to the terminal.


 
45. The method according to claim 44, wherein the determining an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image comprises:

determining a target reference image in the candidate reference image, wherein the scene at the first position comprises a scene in the target reference image; and

determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image.


 
46. The method according to claim 45, wherein the determining the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image comprises:

determining a 2D-2D correspondence between the to-be-queried image and the target reference image; and

determining the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.


 
47. The method according to claim 46, wherein the method further comprises:

determining a target text region image comprised in the to-be-queried image;

obtaining a text region image comprised in the target reference image; and

determining a 2D-2D correspondence between the target text region image and the text region image comprised in the target reference image.


 
48. The method according to any one of claims 45 to 47, wherein the determining a target reference image in the candidate reference image comprises:

determining an image similarity between each candidate reference image and the to-be-queried image; and

determining a candidate reference image whose image similarity is greater than or equal to a preset similarity threshold as the target reference image.


 
49. The method according to any one of claims 45 to 47, wherein the determining a target reference image in the candidate reference image comprises:

obtaining a global image feature of each candidate reference image;

determining a global image feature of the to-be-queried image;

determining a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and

determining a candidate reference image whose distance is less than or equal to a preset distance threshold as the target reference image.


 
50. The method according to any one of claims 45 to 47, wherein the determining a target reference image in the candidate reference image comprises:

receiving location information sent by the terminal;

obtaining a shooting position corresponding to each candidate reference image; and

determining, in each candidate reference image, a target reference image whose shooting position matches the location information.


 
51. The method according to any one of claims 45 to 47, wherein when N is greater than 1, the determining a target reference image in the candidate reference image comprises:
determining, in each candidate reference image, a target reference image comprising the N text fields.
 
52. The method according to any one of claims 45 to 47, wherein the determining a target reference image in the candidate reference image comprises:
when there is only one candidate reference image, determining the candidate reference image as the target reference image.
 
53. The method according to any one of claims 48 to 52, wherein the determining a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields comprises:

inputting the N text fields comprised in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field comprised in the to-be-queried image;

determining a text field whose text type is a preset salient type; and

searching, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.


 
54. An apparatus for determining a pose, wherein the apparatus comprises:

an obtaining module, configured to obtain a to-be-queried image at a first position, wherein a scene at the first position comprises a scene in the to-be-queried image;

a sending module, configured to send the to-be-queried image to a server, so that the server determines N text fields comprised in the to-be-queried image and determines an initial pose of the terminal at the first position based on the N text fields and the to-be-queried image, wherein N is greater than or equal to 1; and

a receiving module, configured to receive an initial pose that is of the terminal at the first position and is returned by the server.


 
55. The apparatus according to claim 54, wherein the obtaining module is further configured to obtain location information of the terminal; and
the sending module is further configured to send the location information to the server; and the determining an initial pose of the terminal at the first position based on the N text fields and the to-be-queried image comprises:
determining the initial pose of the terminal at the first position based on the N text fields, the to-be-queried image, and the location information.
 
56. The apparatus according to claim 54 or 55, wherein the obtaining module is further configured to obtain a pose change of the terminal; and
the apparatus further comprises a determining module, configured to determine a real-time pose based on the initial pose and the pose change of the terminal.
 
57. The apparatus according to claim 56, wherein the obtaining module is further configured to obtain a preview stream of the current scene;

the determining module is further configured to determine, based on the real-time pose, preset media content comprised in a digital map corresponding to the scene in the preview stream; and

the apparatus further comprises:
a rendering module, configured to render the media content in the preview stream.


 
58. An apparatus for determining a pose, wherein the apparatus comprises:

a receiving module, configured to receive a to-be-queried image sent by a terminal, wherein the to-be-queried image is obtained based on an image captured by the terminal at a first position; and, and a scene at the first position comprises a scene in the to-be-queried image;

a determining module, configured to determine N text fields comprised in the to-be-queried image, wherein N is greater than or equal to 1, wherein

the determining module is further configured to determin a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields;

the determining module is further configured to determine an initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and

a sending module, configured to send the initial pose to the terminal.


 
59. The apparatus according to claim 58, wherein the determining module is configured to:

determine a target reference image in the candidate reference image, wherein the scene at the first position comprises a scene in the target reference image; and

determine the initial pose of the terminal at the first position based on the to-be-queried image and the target reference image.


 
60. The apparatus according to claim 59, wherein the determining module is configured to:

determine a 2D-2D correspondence between the to-be-queried image and the target reference image; and

determine the initial pose of the terminal at the first position based on the 2D-2D correspondence and a preset 2D-3D correspondence of the target reference image.


 
61. The apparatus according to claim 60, wherein the determining module is further configured to determine a target text region image comprised in the to-be-queried image;
the apparatus further comprises:

an obtaining module, configured to obtain a text region image comprised in the target reference image; and

the determining module is configured to determine a 2D-2D correspondence between the target text region image and the text region image comprised in the target reference image.


 
62. The apparatus according to any one of claims 59 to 61, wherein the receiving module is further configured to:

determine an image similarity between each candidate reference image and the to-be-queried image; and

determine, in each candidate reference image, a first preset quantity of target reference images with a highest image similarity.


 
63. The apparatus according to any one of claims 59 to 61, wherein the determining module is configured to:

obtain a global image feature of each candidate reference image;

determine a global image feature of the to-be-queried image;

determine a distance between the global image feature of each candidate reference image and the global image feature of the to-be-queried image; and

determine, in each candidate reference image, a second preset quantity of target reference images with a shortest distance.


 
64. The apparatus according to any one of claims 59 to 61, wherein the determining module is configured to:

receive location information sent by the terminal;

obtain a shooting position corresponding to each candidate reference image; and

determine, in each candidate reference image, a target reference image whose shooting position matches the location information.


 
65. The apparatus according to any one of claims 59 to 61, wherein when N is greater than 1, the determining module is configured to:
determine, in each candidate reference image, a target reference image comprising the N text fields.
 
66. The apparatus according to any one of claims 59 to 61, wherein the determining module is configured to:
when there is only one candidate reference image, determine the candidate reference image as the target reference image.
 
67. The apparatus according to any one of claims 58 to 66, wherein the determining module is configured to:

input the N text fields comprised in the to-be-queried image into a pre-trained text classifier to obtain a text type of each text field comprised in the to-be-queried image;

determine a text field whose text type is a preset salient type; and

search, based on a prestored correspondence between a reference image and a text field, for a candidate reference image corresponding to the text field of the salient type.


 
68. A system for determining a pose, wherein the system comprises a terminal and a server, wherein

the terminal is configured to: obtain a to-be-queried image at a first position, wherein a scene at the first position comprises a scene in the to-be-queried image; send the to-be-queried image to a server; and receive an initial pose that is of the terminal at the first position and is returned by the server; and

the server is configured to: receive the to-be-queried image sent by the terminal; determine N text fields comprised in the to-be-queried image, wherein N is greater than or equal to 1; determin a candidate reference image based on a prestored correspondence between a reference image and a text field and based on the N text fields; determine the initial pose of the terminal at the first position based on the to-be-queried image and the candidate reference image; and send the initial pose to the terminal.


 
69. A terminal, wherein the terminal comprises a processor, a memory, a transceiver, a camera, and a bus, wherein

the processor, the memory, the transceiver, and the camera are connected by using the bus;

the camera is configured to shoot an image;

the transceiver is configured to receive and send data.

the memory is configured to store a computer program; and

the processor is configured to control the memory, the transceiver, and the camera, and execute the program stored in the memory, to implement steps of the method according to any one of claims 1 to 9 and claims 40 to 43.


 
70. A server, wherein the terminal comprises a processor, a memory, a transceiver, and a bus, wherein

the processor, the memory, and the transceiver are connected by using the bus;

the transceiver is configured to receive and send data.

the memory is configured to store a computer program; and

the processor is configured to execute the program stored in the memory, to implement steps of the method according to any one of claims 10 to 19 and claims 44 to 53.


 
71. A computer-readable storage medium, wherein the computer-readable storage medium comprises instructions, and when the computer-readable storage medium is run on a device, the device is enabled to perform the method according to any one of claims 1 to 9.
 
72. A computer program product comprising instructions, wherein when the computer program product is run on a device, the device is enabled to perform the method according to any one of claims 1 to 9.
 
73. A computer readable storage medium comprising an instruction, wherein when the computer readable storage medium runs on a source server, the source server is enabled to perform the method according to any one of claims 10 to 5.
 
74. A computer program product comprising an instruction, wherein when the computer program product runs on a source server, the source server is enabled to perform the method according to any one of claims 10 to 5.
 
75. A method for determining a master AP, wherein the method comprises:

obtaining pre-captured reference images;

determining a text field comprised in each reference image; and

storing a correspondence between the text field and each reference image.


 
76. The method according to claim 75, wherein the determining a text field comprised in each reference image comprises:
for each reference image, determining, by performing text detection processing on the reference image, a text region image comprised in the reference image; and determining a text field comprised in the text region image.
 
77. The method according to claim 76, wherein the method further comprises:

determining a 2D-3D correspondence of each text region image based on a 2D point of the text region image comprised in each reference image and a pre-obtained 2D-3D correspondence of each reference image; and

storing the 2D-3D correspondence of each text region image.


 




Drawing


















































































Search report










Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description