Position Marking Method, Device, Electronic Device and Storage Medium in Panoramic Image
By calculating the pitch angle and horizontal azimuth angle of the points to be marked in the panoramic image, and drawing a spatial straight line to accurately mark the position, the problem of marking the points to be marked in the blind spot in the field of view in the panoramic image is solved, and the precise positioning of the points to be marked in the panoramic image is achieved.
Patent Information
- Application Number
- CN202211426073.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-14
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2042-11-14
AI Technical Summary
In the prior art, it is difficult to accurately mark the position of the points to be marked in the panoramic image, especially when the height and position coordinate accuracy of the acquisition point are insufficient, resulting in the label point being marked in the blind spot of the field of view of the panoramic image, and the user cannot be quickly positioned.
By obtaining the target position parameters of the point to be marked, combining the acquisition point position parameters of the panoramic image, calculating the pitch angle and horizontal azimuth angle, drawing a spatial straight line to determine the position of the point to be marked in the panoramic image, and accurately mark it.
It realizes the precise determination of the position of the points to be marked in the panoramic image to ensure that the marking points do not fall into the blind spot in the field of view, and users can quickly locate based on the annotated panoramic image.
Smart Images

Figure CN115937494B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of data processing, in particular to the technical field of intelligent transportation, and specifically to a method, apparatus, electronic device, storage medium, and computer program product for position annotation in a panoramic view. Background Art
[0002] A panoramic view refers to a way of showing as much of the surrounding environment as possible through a wide-angle representation means. Generally speaking, a panoramic picture is a broad concept, which includes wide-angle views, 360-degree panoramas, etc. Panoramic views have gradually gained the love and wide use of users because of their broad perspectives, which bring a very shocking visual effect. Panoramic pictures can be generated by a shooting device or a mobile device with a shooting function combined with image processing software, and can be well promoted in applications such as social networking, maps, and tourism. Summary of the Invention
[0003] The present disclosure provides a method, apparatus, electronic device, storage medium, and computer program product for position annotation in a panoramic view.
[0004] According to one aspect of the present disclosure, there is provided a method for position annotation in a panoramic view, including:
[0005] Obtaining target position parameters of a point to be annotated, and determining a target panoramic view from panoramic view data according to the target position parameters;
[0006] Determining the position of the point to be annotated in the target panoramic view according to the acquisition point position parameters of the target panoramic view and the target position parameters, and performing annotation.
[0007] According to one aspect of the present disclosure, there is provided a device for position annotation in a panoramic view, including:
[0008] A panoramic view determination module, configured to obtain target position parameters of a point to be annotated, and determine a target panoramic view from panoramic view data according to the target position parameters;
[0009] An annotation module, configured to determine the position of the point to be annotated in the target panoramic view according to the acquisition point position parameters of the target panoramic view and the target position parameters, and perform annotation.
[0010] According to another aspect of the present disclosure, there is provided an electronic device, including:
[0011] At least one processor; and
[0012] A memory communicatively connected to at least one processor; wherein,
[0013] The memory stores instructions executable by at least one processor. The instructions are executed by at least one processor to enable the at least one processor to execute the position annotation method in the panorama of any embodiment of the present disclosure.
[0014] According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to execute the position annotation method in the panorama of any embodiment of the present disclosure.
[0015] According to another aspect of the present disclosure, there is provided a computer program product including a computer program which, when executed by a processor, implements the position annotation method in the panorama of any embodiment of the present disclosure.
[0016] According to the technology of the present disclosure, the position of the point to be annotated in the panorama can be accurately determined, and further, it is convenient for the user to quickly locate based on the position annotation in the panorama.
[0017] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. Description of the Drawings
[0018] The drawings are used to better understand the solution and do not constitute a limitation to the present disclosure. Among them:
[0019] Figure 1 is a schematic flowchart of a position annotation method in a panorama provided by an embodiment of the present disclosure;
[0020] Figure 2a is a schematic flowchart of another position annotation method in a panorama provided by an embodiment of the present disclosure;
[0021] Figure 2b is a schematic diagram of a collection device collecting a target panorama provided by an embodiment of the present disclosure;
[0022] Figure 2c is a position relationship diagram between the horizontal connection line of the collection point and the point to be annotated and the true north direction line provided by an embodiment of the present disclosure;
[0023] Figure 3a is a schematic flowchart of another position annotation method in a panorama provided by an embodiment of the present disclosure;
[0024] Figure 3b is a position schematic diagram of the point to be annotated position and the collection point of the candidate panorama provided by an embodiment of the present disclosure;
[0025] Figure 4 is a schematic structural diagram of a position annotation device in a panorama provided by an embodiment of the present disclosure;
[0026] Figure 5 It is a block diagram of an electronic device for implementing the position marking method in the panoramic view of the embodiments of the present disclosure. Detailed implementation manners
[0027] The following describes exemplary embodiments of the present disclosure with reference to the accompanying drawings. Various details of the embodiments of the present disclosure are included to facilitate understanding, and they should be considered merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0028] Figure 1 It is a schematic flowchart of a position marking method in a panoramic view of an embodiment of the present disclosure. This embodiment is applicable to various scenarios of marking position points in panoramic views. Typically, it is applicable to scenarios such as marking the position of a fork in the road or marking the boarding point position. This method can be executed by a position marking device in a panoramic view. The device is implemented in a software and / or hardware manner and is integrated on an electronic device.
[0029] Specifically, referring to Figure 1 , the position marking method in the panoramic view is as follows:
[0030] S101. Obtain the target position parameter of the point to be marked, and determine the target panoramic view from the panoramic view data according to the target position parameter.
[0031] In this embodiment, the point to be marked is optionally a position point input by the user in a two-dimensional vector map. For example, in a taxi-hailing scenario, the point to be marked can be the boarding position point input by the user; and the target position parameter of the point to be marked is optionally the position coordinate of the point to be marked, such as longitude and latitude coordinates. The panoramic view data can be pre-integrated in a map application and can include multiple panoramic views and the position parameter of the collection point corresponding to each panoramic view. Among them, the collection point position parameter is used to describe the position point (i.e., the collection point) where the collection device is located when collecting the panoramic view. Since the collection device is usually installed on the top of the collection vehicle, the collection point position parameter includes not only the position coordinate of the collection point (such as longitude and latitude coordinates) but also the height of the collection point, and this height is determined by the collection vehicle.
[0032] After obtaining the target position parameters of the point to be labeled input by the user, it is necessary to accurately mark the point to be labeled in the panoramic view. However, due to the height and position coordinate accuracy of the panoramic view acquisition points, there will be a certain distance offset in the position coordinates of the acquisition points. If the panoramic view acquisition point is too close or too far from the point to be labeled, the point to be labeled may be marked in the blind area of the panoramic view during position marking. Therefore, before performing position marking, it is necessary to first determine the target panoramic view at an appropriate distance from the panoramic view data according to the target position parameters of the point to be labeled and in combination with the position coordinates of the panoramic view acquisition points, where the appropriate distance can be set according to experience.
[0033] S102. Determine the position of the point to be labeled in the target panoramic view according to the acquisition point position parameters and the target position parameters of the target panoramic view, and perform marking.
[0034] Optionally, the azimuth information from the acquisition point of the target panoramic view to the point to be labeled can be determined first according to the acquisition point position parameters and the target position parameters of the target panoramic view; where the azimuth information is used to characterize the viewing angle of the point to be labeled in the target panoramic view; and then, according to the azimuth information, determine the position of the point to be labeled in the target panoramic view and perform marking; optionally, adjust the viewing angle of the panoramic view according to the azimuth information, and use the intersection of the line of sight and the target panoramic view as the point to be labeled for marking, so that the position of the point to be labeled in the panoramic view field of view can be accurately determined.
[0035] This embodiment realizes the purpose of deriving the accurate position of the point to be labeled in the panoramic view field of view and performing marking by using the collected panoramic view data, so that the combination of the panoramic view and the marking can more truly reflect the real scene, and the user can quickly locate based on the panoramic view with markings.
[0036] Figure 2a It is a flowchart of another method for position marking in a panoramic view according to an embodiment of the present disclosure. The refinement process of "determine the azimuth information from the acquisition point of the target panoramic view to the point to be labeled according to the acquisition point position parameters and the target position parameters of the target panoramic view; determine the position of the point to be labeled in the target panoramic view according to the azimuth information and perform marking" added in this embodiment can be referred to Figure 2a , the method for position marking in a panoramic view is as follows:
[0037] S201. Obtain the target position parameters of the point to be labeled, and determine the target panoramic view from the panoramic view data according to the target position parameters.
[0038] In this embodiment, to determine the position of the point to be labeled in the target panoramic view, it is necessary to first determine the azimuth information from the acquisition point of the target panoramic view to the point to be labeled according to the acquisition point position parameters of the target panoramic view and the target position parameters. Among them, the acquisition point position parameters include the height and position coordinates of the acquisition point; the target position parameters include the position coordinates of the point to be labeled; the azimuth information includes the pitch angle and horizontal azimuth angle from the acquisition point to the point to be labeled. For the specific determination process, refer to steps S202 - S205. And the process of determining the position of the point to be labeled in the target panoramic view according to the azimuth information and performing the labeling can be referred to steps S206 - S207.
[0039] S202. Determine the horizontal distance between the acquisition point and the point to be labeled according to the position coordinates of the acquisition point and the position coordinates of the point to be labeled.
[0040] In an alternative embodiment, according to the position coordinates of the acquisition point (such as longitude and latitude coordinates) and the position coordinates of the point to be labeled (such as longitude and latitude coordinates), the haversine formula can be used to determine the horizontal distance between the acquisition point and the point to be labeled. Among them, the horizontal distance is used to describe the planar position relationship when the acquisition point and the point to be labeled are on the same horizontal plane.
[0041] S203. Determine the pitch angle from the acquisition point to the point to be labeled according to the height of the acquisition point and the horizontal distance.
[0042] Exemplarily, refer to Figure 2b , which shows a schematic diagram of the acquisition device acquiring the target panoramic view; among them, point A is the acquisition point corresponding to the target panoramic view, that is, the position where the acquisition device is located when acquiring the target panoramic view, point B is the projection point of the acquisition point A on the ground, and point C is the point to be labeled that needs to be labeled. The horizontal distance between the acquisition point and the point to be labeled is the straight-line distance d between point B and point C on the ground. And the distance h between point A and point B is the height of the acquisition point, which is a known value. On this basis, the pitch angle pitch from the acquisition point to the point to be labeled can be calculated according to the following formula: pitch = arctan(d / h).
[0043] S204. Determine the horizontal connection line between the acquisition point and the point to be labeled.
[0044] Among them, the horizontal connection line is used to describe the planar position relationship when the acquisition point and the point to be labeled are on the same horizontal plane.
[0045] S205. Determine the angle between the horizontal connection line and the preset true north direction line, and use the angle as the horizontal azimuth angle from the acquisition point to the point to be labeled.
[0046] Exemplarily, refer to Figure 2c, which shows a positional relationship diagram between the horizontal connection line of the collection point and the point to be labeled, and the true north direction line. Among them, point B is the projection point of collection point A on the ground, and point C is the point to be labeled; then the connection line between point B and point C is the horizontal connection line between the collection point and the point to be labeled. And north_dir is the true north direction line. When determining the angle between the horizontal connection line and the preset true north direction line, the slope k of the horizontal connection line can be determined according to the coordinates of the projection point of the collection point on the ground and the coordinates of the point to be labeled, and the size of the angle heading can be determined according to the value of the slope k; for example, if k≥0, then the angle heading = π / 2 - arctank; conversely, if k<0, then the angle heading = π / 2 + arctank. After obtaining the angle, directly use this angle as the horizontal azimuth angle from the collection point to the point to be labeled (that is, the azimuth angle relative to the true north direction).
[0047] In this way, through S202 - S205, the azimuth information of the point to be labeled in the target panoramic image can be accurately determined, providing a basis for determining the position of the point to be labeled in the target panoramic image according to the steps of S206 - S207 later.
[0048] S206. According to the azimuth information, draw a space straight line starting from the collection point, and determine the intersection point of the space straight line and the target panoramic image.
[0049] S207. Take the intersection point as the position of the point to be labeled in the target panoramic image and make a label.
[0050] In this embodiment, drawing a space straight line starting from the collection point according to the azimuth information means drawing a space straight line starting from the collection point with a pitch angle of pitch = arctan(d / h) and an angle with the true north direction of heading. Exemplarily, see Figure 2b , where the straight line view is the space straight line starting from collection point A, and point C is the intersection point of the space straight line and the target panoramic image. At this time, only take the position of intersection point C as the position of the point to be labeled in the target panoramic image and make a label, for example, using a preset icon template for labeling.
[0051] In this embodiment, by calculating the pitch angle and horizontal azimuth angle from the collection point to the point to be labeled, the azimuth of the point to be labeled in the target panoramic image can be accurately determined; subsequently, according to the azimuth information, by drawing a space straight line and determining the intersection point of the space straight line and the target panoramic image, the position of the point to be labeled in the target panoramic image can be efficiently and accurately determined and then position - labeled, which can ensure the overall efficiency of position - labeling.
[0052] Figure 3a is a schematic flowchart of another method for position - labeling in a panoramic image according to an embodiment of the present disclosure. See Figure 3a , the method for position - labeling in the panoramic image is specifically as follows:
[0053] S301. Obtain the target position parameter of the point to be labeled, and determine the panoramic image recall area according to the target position parameter.
[0054] In this embodiment, the target position parameter can optionally be the position coordinates of the point to be labeled, for example, it can be longitude and latitude coordinates. In this way, a circular area can be drawn with the position coordinates of the point to be labeled as the center and a preset distance as the radius as the panoramic image recall area; among them, the preset distance can be determined according to empirical values. For example, the preset distance can be 50 meters.
[0055] S302. Recall the panoramic images whose acquisition point position parameters are within the panoramic image recall area as candidate panoramic images.
[0056] In this embodiment, each panoramic image in the panoramic image data is associated with an acquisition point position parameter, where the acquisition point position parameter is used to describe the position coordinates and height of the acquisition device when acquiring the panoramic image. In this way, when recalling, it is only necessary to recall the candidate panoramic images whose acquisition point position coordinates are within the panoramic image recall area.
[0057] In an optional implementation manner, a spatial index of the panoramic images can be established in advance. For example, a tree-structured spatial index is established, where each node in the spatial index represents the acquisition point position parameter of a panoramic image. When establishing, when a certain acquisition point position parameter is used as the parent node, all acquisition point position parameters whose distance from this acquisition point is less than a preset threshold are used as the child nodes of this parent node. In this way, after obtaining the target position parameter, all panoramic images within the specified distance area can be quickly recalled through this spatial index. For example, first determine the node with the closest distance in the spatial index, and then select and recall some from the parent node and / or child nodes of this node.
[0058] S303. For any candidate panoramic image, determine the horizontal distance between the acquisition point of the candidate panoramic image and the point to be labeled according to the acquisition point position parameter and the target position parameter of the candidate panoramic image.
[0059] Due to the height and position coordinate accuracy of the panoramic image acquisition points, there will be a certain distance offset in the position coordinates of the acquisition points. If the panoramic image acquisition point is too close or too far from the point to be labeled, the point to be labeled may be marked in the visual blind area of the panoramic image during position labeling, making it impossible for the user to find the point to be labeled through the panoramic image, and thus unable to use the panoramic image and the labeled position for rapid positioning. Therefore, it is necessary to know the distance between the acquisition point of each candidate panoramic image and the point to be labeled. Optionally, for any candidate panoramic image, according to the acquisition point position parameter and the target position parameter of the candidate panoramic image, the haversine formula is used to determine the horizontal distance between the acquisition point of the candidate panoramic image and the point to be labeled. It should be noted here that in order to ensure the efficiency of determining the target panoramic image, after calculating the horizontal distance between the acquisition point of each candidate panoramic image and the point to be labeled, the judgment is carried out according to the steps of S304.
[0060] S304. If the horizontal distance is within the preset distance interval, then use this candidate panoramic image as the target panoramic image.
[0061] In this embodiment, in order to avoid labeling the point to be labeled in the blind area of the target panoramic image, a preset distance interval is determined in advance according to empirical data. For example, the preset distance interval can be [6, 50], and the unit is meters. If the horizontal distance between a certain acquisition point and the point to be labeled calculated is within this interval, then use the candidate panoramic image corresponding to this acquisition point as the target panoramic image. It should be noted that after determining a certain candidate panoramic image as the target panoramic image, the remaining candidate panoramic images do not need to be calculated according to the steps of S303 - S304, so as to ensure the overall efficiency of position labeling.
[0062] S305. According to the acquisition point position parameter of the target panoramic image and the target position parameter, determine the position of the point to be labeled in the target panoramic image and perform the labeling.
[0063] Optionally, first determine the azimuth information from the acquisition point of the target panoramic image to the point to be labeled according to the acquisition point position parameter and the target position parameter of the target panoramic image; according to the azimuth information, determine the position of the point to be labeled in the target panoramic image and perform the labeling. For a more specific implementation process, reference can be made to the above embodiment.
[0064] In the embodiment of the present application, by screening the candidate panoramic images to determine the target panoramic image, the problem that the point to be labeled is labeled in the visual blind area of the target panoramic image can be avoided.
[0065] Further, each panoramic view in this embodiment can be pre-bound to the nearest road according to the acquisition point position parameter. On this basis, in order to reduce the computational amount of step S303, the recalled candidate panoramic views can also be pre-screened. The screening process is as follows: According to the target position parameter, the target road closest to the point to be labeled is determined. Furthermore, according to the positional relationship between the acquisition point position parameter of the candidate panoramic view and the target road, the candidate panoramic views are screened. For example, the candidate panoramic views with the acquisition point position parameter outside the target road are discarded.
[0066] Exemplarily, referring to Figure 3b , which shows a schematic diagram of the positions of the point to be labeled and the acquisition points of the candidate panoramic views. Among them, point A is the point to be labeled, and the other points are the acquisition points of the candidate panoramic views respectively. Through distance calculation, it can be determined that the road closest to the point to be labeled A is road L1. Thus, only the candidate panoramic views corresponding to the four acquisition points on road L1 need to be selected, and the candidate panoramic views corresponding to the other acquisition points are discarded.
[0067] In this embodiment, by screening the candidate panoramic views, the computational amount can be reduced, thereby ensuring the overall efficiency of position labeling.
[0068] Figure 4 is a schematic structural diagram of a position labeling device in a panoramic view according to an embodiment of the present disclosure. This embodiment is applicable to various scenarios of labeling position points in panoramic views. Typically, it is applicable to scenarios such as labeling the position of a fork in the road or labeling the position of a boarding point. Referring to Figure 4 , the device includes:
[0069] A panoramic view determination module 401, configured to obtain a target position parameter of a point to be labeled, and determine a target panoramic view from panoramic view data according to the target position parameter;
[0070] A labeling module 402, configured to determine and label the position of the point to be labeled in the target panoramic view according to the acquisition point position parameter of the target panoramic view and the target position parameter.
[0071] In some embodiments, optionally, the labeling module includes:
[0072] An azimuth determination unit, configured to determine the azimuth information from the acquisition point of the target panoramic view to the point to be labeled according to the acquisition point position parameter of the target panoramic view and the target position parameter;
[0073] A labeling unit, configured to determine and label the position of the point to be labeled in the target panoramic view according to the azimuth information.
[0074] In some embodiments, optionally, the collection point position parameter includes the height and position coordinates of the collection point; the target position parameter includes the position coordinates of the point to be labeled; the orientation information includes the pitch angle and horizontal azimuth angle from the collection point to the point to be labeled.
[0075] In some embodiments, optionally, the orientation determination unit includes:
[0076] A horizontal distance determination subunit, configured to determine the horizontal distance between the collection point and the point to be labeled according to the position coordinates of the collection point and the position coordinates of the point to be labeled;
[0077] A pitch angle determination subunit, configured to determine the pitch angle from the collection point to the point to be labeled according to the height of the collection point and the horizontal distance;
[0078] A connection line subunit, configured to determine the horizontal connection line between the collection point and the point to be labeled;
[0079] A horizontal azimuth angle determination subunit, configured to determine the angle between the horizontal connection line and a preset true north direction line, and use the angle as the horizontal azimuth angle from the collection point to the point to be labeled.
[0080] In some embodiments, optionally, the labeling unit is further configured to:
[0081] Draw a space straight line starting from the collection point according to the orientation information, and determine the intersection point of the space straight line and the target panoramic view;
[0082] Use the intersection point as the position of the point to be labeled in the target panoramic view and perform labeling.
[0083] In some embodiments, optionally, the panoramic view determination module is further configured to:
[0084] Determine a panoramic view recall area according to the target position parameter;
[0085] Recall the panoramic view whose collection point position parameter is within the panoramic view recall area as a candidate panoramic view;
[0086] For any one of the candidate panoramic views, determine the horizontal distance between the collection point of the candidate panoramic view and the point to be labeled according to the collection point position parameter of the candidate panoramic view and the target position parameter;
[0087] If the horizontal distance is within a preset distance range, use the candidate panoramic view as the target panoramic view.
[0088] In some embodiments, optionally, further includes:
[0089] A target road determination module, configured to determine a target road closest to the point to be marked according to the target position parameter;
[0090] A screening module, configured to screen the candidate panoramic images according to the positional relationship between the acquisition point position parameter of the candidate panoramic image and the target road.
[0091] The position annotation device in the panoramic image provided by the embodiments of the present disclosure can execute the position annotation method in the panoramic image provided by any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects for executing the method. The content not described in detail in this embodiment can be referred to the description in any method embodiment of the present disclosure.
[0092] In the technical solution of the present disclosure, the acquisition, storage, and application of the user's personal information involved all comply with the provisions of relevant laws and regulations and do not violate public order and good customs.
[0093] According to the embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0094] Figure 5 FIG. shows a schematic block diagram of an exemplary electronic device 500 that can be used to implement the embodiments of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as, a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, a personal digital processor, a cellular phone, a smart phone, a wearable device, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0095] As Figure 5 shown, the device 500 includes a computing unit 501, which can execute various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 502 or the computer program loaded from the storage unit 508 into the random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the device 500 can also be stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504. The input / output (I / O) interface 505 is also connected to the bus 504.
[0096] Multiple components in device 500 are connected to I / O interface 505, including: an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a disk, an optical disc, etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows device 500 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0097] The computing unit 501 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include but are not limited to a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 executes the various methods and processes described above, such as the position annotation method in the panorama. For example, in some embodiments, the position annotation method in the panorama can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as the storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed onto device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the position annotation method in the panorama described above can be executed. Alternatively, in other embodiments, the computing unit 501 can be configured to execute the position annotation method in the panorama in any other suitable way (e.g., by means of firmware).
[0098] The various embodiments of the systems and technologies described above in this article can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special or general-purpose programmable processor, and can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit the data and instructions to the storage system, the at least one input device, and the at least one output device.
[0099] The program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the program codes cause the functions / operations specified in the flowchart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, as a stand-alone software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0100] In the context of the present disclosure, a machine-readable medium may be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0101] In order to provide interaction with a user, the systems and techniques described herein may be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0102] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected to each other by digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), and the Internet.
[0103] A computer system can include a client and a server. The client and the server are generally far from each other and typically interact through a communication network. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
[0104] It should be understood that various forms of the processes shown above can be used, steps can be reordered, added, or deleted. For example, the steps recited in this disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this is not limited herein.
[0105] The above specific embodiments do not constitute a limitation on the protection scope of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure shall be included within the protection scope of this disclosure.
Claims
1. A method for position annotation in a panoramic view, comprising: Obtaining the target position parameters of the point to be annotated, and determining the target panoramic view from the panoramic view data according to the target position parameters; Determining the azimuth information from the acquisition point of the target panoramic view to the point to be annotated according to the acquisition point position parameters of the target panoramic view and the target position parameters; the acquisition point position parameters include the height and position coordinates of the acquisition point; the target position parameters include the position coordinates of the point to be annotated; the azimuth information includes the pitch angle and horizontal azimuth angle from the acquisition point to the point to be annotated; Determining the position of the point to be annotated in the target panoramic view according to the azimuth information and performing annotation; wherein, determining the azimuth information from the acquisition point of the target panoramic view to the point to be annotated according to the acquisition point position parameters of the target panoramic view and the target position parameters includes: Determining the horizontal distance between the acquisition point and the point to be annotated according to the position coordinates of the acquisition point and the position coordinates of the point to be annotated; Determining the pitch angle from the acquisition point to the point to be annotated according to the height of the acquisition point and the horizontal distance; Determining the horizontal connection line between the acquisition point and the point to be annotated; Determining the angle between the horizontal connection line and the preset true north direction line, and taking the angle as the horizontal azimuth angle from the acquisition point to the point to be annotated; Determining the position of the point to be annotated in the target panoramic view according to the azimuth information and performing annotation includes: Drawing a space straight line starting from the acquisition point according to the azimuth information, and determining the intersection point of the space straight line and the target panoramic view; Taking the intersection point as the position of the point to be annotated in the target panoramic view and performing annotation.
2. The method according to claim 1, wherein, Determining the target panoramic view from the panoramic view data according to the target position parameters includes: Determining the panoramic view recall area according to the target position parameters; Recalling the panoramic view with the acquisition point position parameters within the panoramic view recall area as the candidate panoramic view; For any one of the candidate panoramic views, determining the horizontal distance between the acquisition point of the candidate panoramic view and the point to be annotated according to the acquisition point position parameters of the candidate panoramic view and the target position parameters; If the horizontal distance is within the preset distance interval, taking the candidate panoramic view as the target panoramic view.
3. The method according to claim 2, further comprising: Determining the target road closest to the point to be annotated according to the target position parameters; Screening the candidate panoramic views according to the position relationship between the acquisition point position parameters of the candidate panoramic view and the target road.
4. A position annotation device in a panoramic view, comprising: A panoramic view determination module, configured to obtain the target position parameters of the point to be annotated, and determine the target panoramic view from the panoramic view data according to the target position parameters; A marking module, configured to determine the position of the point to be annotated in the target panoramic view according to the acquisition point position parameters of the target panoramic view and the target position parameters and perform marking; Wherein, the marking module includes: An orientation determination unit, configured to determine the orientation information from the acquisition point of the target panoramic image to the point to be labeled according to the acquisition point position parameters of the target panoramic image and the target position parameters; A labeling unit, configured to determine the position of the point to be labeled in the target panoramic image according to the orientation information and perform labeling; Wherein, the acquisition point position parameters include the height and position coordinates of the acquisition point; the target position parameters include the position coordinates of the point to be labeled; the orientation information includes the pitch angle and horizontal azimuth angle from the acquisition point to the point to be labeled; Wherein, the orientation determination unit includes: A horizontal distance determination subunit, configured to determine the horizontal distance between the acquisition point and the point to be labeled according to the position coordinates of the acquisition point and the position coordinates of the point to be labeled; A pitch angle determination subunit, configured to determine the pitch angle from the acquisition point to the point to be labeled according to the height of the acquisition point and the horizontal distance; A connection line subunit, configured to determine the horizontal connection line between the acquisition point and the point to be labeled; A horizontal azimuth angle determination subunit, configured to determine the angle between the horizontal connection line and a preset true north direction line, and use the angle as the horizontal azimuth angle from the acquisition point to the point to be labeled; Wherein, the labeling unit is further configured to: Draw a space straight line starting from the acquisition point according to the orientation information, and determine the intersection point of the space straight line and the target panoramic image; Use the intersection point as the position of the point to be labeled in the target panoramic image and perform labeling.
5. The device according to claim 4, wherein, The panoramic image determination module is further configured to: Determine a panoramic image recall area according to the target position parameters; Recall the panoramic images whose acquisition point position parameters are within the panoramic image recall area as candidate panoramic images; For any one of the candidate panoramic images, determine the horizontal distance between the acquisition point of the candidate panoramic image and the point to be labeled according to the acquisition point position parameters of the candidate panoramic image and the target position parameters; If the horizontal distance is within a preset distance interval, use the candidate panoramic image as the target panoramic image.
6. The apparatus according to claim 5, further comprising: A target road determination module, configured to determine the target road closest to the point to be labeled according to the target position parameters; A screening module, configured to screen the candidate panoramic images according to the positional relationship between the acquisition point position parameters of the candidate panoramic images and the target road.
7. An electronic device, comprising: At least one processor; And A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the position labeling method in the panoramic image according to any one of claims 1-3.
8. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to execute the position labeling method in the panoramic image according to any one of claims 1-3.
9. A computer program product comprising a computer program which, when executed by a processor, implements the method for labeling a position in a panorama according to any one of claims 1-3.
Citation Information
Patent Citations
Lane positioning method and electronic equipment
CN113191342A
Image adjusting device, image adjusting method, and on-vehicle camera
US20100231717A1