Method, device and electronic device for determining the viewing angle of a target object
By obtaining the POI data of the target object and the occlusion and the observation point position, the viewing angle of the target object relative to the occlusion is calculated, which solves the problem of viewing angle deviation of the panoramic map navigation and guidance, and realizes that the user can accurately observe the target object.
Patent Information
- Application Number
- CN202111163517.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-30
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2041-09-30
AI Technical Summary
The panoramic map has a deviation in the navigation perspective in the navigation scene, which causes the user to be blocked by other blocks when looking at the destination and the target is invisible.
By obtaining the POI data of the target object and the occlusion and the observation point position, determining the tangent line of the target object and the occlusion, and calculating the target viewing angle of the target object relative to the occlusion, to guide the user to observe the target object.
The target viewing angle is achieved as a guiding perspective, ensuring that the user can accurately observe the target object and avoid obstruction of the occlusion. The calculation is simple and the results are accurate.
Smart Images

Figure CN113901343B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to the field of electronic maps, intelligent transportation and autonomous driving technology. Background Art
[0002] Panoramic maps, also known as 360-degree panoramic maps and panoramic surround maps, are maps that simulate three-dimensional images into three-dimensional effects of real objects, and can show the surrounding environment. When panoramic maps are used in navigation scenarios, there is a problem that the navigation guidance perspective is biased, resulting in the user's destination being blocked by other buildings and the target is not visible. Summary of the invention
[0003] The present disclosure provides a method, device and electronic device for determining the viewing angle of a target object.
[0004] According to one aspect of the present disclosure, a method for determining a visible viewing angle of a target object is provided, comprising:
[0005] Obtaining the first point of interest (POI) data of the target object, the second POI data of the occluding object, and the position of the observation point;
[0006] Determine a first tangent line and a second tangent line of the target object passing through the position of the observation point according to the first POI data and the position of the observation point;
[0007] Determine, according to the second POI data and the position of the observation point, a third tangent line and a fourth tangent line of the occluder passing through the position of the observation point;
[0008] A target visible angle of the target object relative to the occluder is determined according to the first tangent, the second tangent, the third tangent, and the fourth tangent.
[0009] According to another aspect of the present disclosure, a device for determining a viewing angle of a target object is provided, comprising:
[0010] An acquisition module, used to acquire the first point of interest (POI) data of the target object, the second POI data of the occluding object, and the position of the observation point;
[0011] A first determination module, used to determine a first tangent line and a second tangent line of the target object passing through the position of the observation point according to the first POI data and the position of the observation point;
[0012] A second determination module, configured to determine a third tangent line and a fourth tangent line of the occluder passing through the position of the observation point according to the second POI data and the position of the observation point;
[0013] The third determination module is used to determine a target visible angle of the target object relative to the obstruction according to the first tangent, the second tangent, the third tangent and the fourth tangent.
[0014] According to another aspect of the present disclosure, there is provided an electronic device, comprising:
[0015] at least one processor; and
[0016] a memory communicatively connected to the at least one processor; wherein,
[0017] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method in any embodiment of the present disclosure.
[0018] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided. The computer instructions are used to enable a computer to execute the method in any embodiment of the present disclosure.
[0019] According to another aspect of the present disclosure, a computer program product is provided, including a computer program / instruction, which implements the method in any embodiment of the present disclosure when the computer program / instruction is executed by a processor.
[0020] The method, device and electronic device for determining the viewing angle of a target object provided by the present disclosure determine the target viewing angle of the target object relative to the occluder based on the first POI data of the target object, the second POI data of the occluder and the position of the observation point. The target viewing angle can be used as a guiding viewing angle to guide the user to observe the target object. The calculation is simple and the result is accurate.
[0021] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.
[0023] Figure 1 A flowchart of a method for determining a visible viewing angle of a target object according to an embodiment of the present disclosure;
[0024] Figure 2 A schematic diagram of a horizontal tangent line of a target object and an obstruction according to an embodiment of the present disclosure;
[0025] Figure 3 Schematic diagram of the visual angle of a target object relative to an obstruction according to an embodiment of the present disclosure
[0026] Figure 4 A schematic diagram of a horizontal tangent line of a target object and an obstruction according to an embodiment of the present disclosure;
[0027] Figure 5 A schematic diagram of a tangent line in a vertical direction between a target object and an obstruction according to an embodiment of the present disclosure;
[0028] Figure 6 A schematic diagram of the horizontal occlusion situation of a target object and an obstruction according to an embodiment of the present disclosure;
[0029] Figure 7 A flowchart of a method for determining a visible viewing angle of a target object according to an embodiment of the present disclosure;
[0030] Figure 8 A schematic diagram of the structure of a device for determining a viewing angle of a target object according to an embodiment of the present disclosure;
[0031] Fig. 9 is a schematic structural diagram of a third determination module according to an embodiment of the present disclosure;
[0032] Fig.10 It is a block diagram of an electronic device used to implement the method for determining the viewing angle of a target object according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0033] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may 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.
[0034] In the technical solution of the present disclosure, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0035] According to an embodiment of the present disclosure, a method for determining a visible angle of a target object is provided. Figure 1 This is a flow chart of a method for determining the visual angle of a target object according to an embodiment of the present disclosure. The method can be applied to a device for determining the visual angle of a target object, and the device can be deployed in a terminal or a server or other processing device. The terminal can be a user equipment (UE, User Equipment), a mobile device, a cellular phone, a cordless phone, a personal digital assistant (PDA, Personal Digital Assistant), a handheld device, a computing device, a vehicle-mounted device, a wearable device, etc. In some possible implementations, the method can also be implemented by a processor calling computer-readable instructions stored in a memory. For example Figure 1 As shown, including:
[0036] Step S101, obtaining the first point of interest (POI) data of the target object, the second POI data of the occluding object and the position of the observation point;
[0037] Among them, target objects and obstructions may include but are not limited to objects with fixed positions such as buildings, or objects with fixed positions over a long period of time. POI data includes name, category, address, coordinates, Area of Interest (AOI) data, etc. Among them, AOI data is used to express regional geographic entities in maps, such as a residential area, a university, an office building, an industrial park, a comprehensive shopping mall, a hospital, a scenic spot or a gymnasium. AOI data includes AOI shape data, that is, the shape of a two-dimensional figure formed by the projection of a three-dimensional object on a two-dimensional plane, the coordinates of each point in the figure, etc.
[0038] The POI data of the target object and the obstruction may be acquired in advance and stored in a preset database, and called from the preset database when needed. The position of the observation point may be a predetermined position, for example, the navigation end position of navigating to a certain destination.
[0039] Step S102, determining a first tangent line and a second tangent line of the target object passing through the position of the observation point according to the first POI data and the position of the observation point;
[0040] The first tangent and the second tangent may be tangents of a two-dimensional figure formed by projecting the target object in a two-dimensional plane. According to the positions of each point in the two-dimensional figure, that is, the AOI shape data in the POI data, multiple tangents of the two-dimensional figure may be determined. For each tangent, all points in the two-dimensional figure are on the same side of the tangent. According to the coordinates of each point in the two-dimensional figure and the position of the observation point, two tangents of the two-dimensional figure passing through the position of the observation point may be determined as the first tangent and the second tangent of the target object. The two-dimensional plane may include but is not limited to a horizontal plane, in which case the two-dimensional figure is a top view of the target object.
[0041] Step S103, determining a third tangent line and a fourth tangent line of the obstruction passing through the position of the observation point according to the second POI data and the position of the observation point;
[0042] The third tangent and the fourth tangent may be tangents of a two-dimensional figure formed by the projection of the obstruction in the two-dimensional plane. According to the positions of each point in the two-dimensional figure, that is, the AOI shape data in the POI data, multiple tangents of the two-dimensional figure may be determined. For each tangent, all points in the two-dimensional figure are on the same side of the tangent. According to the coordinates of each point in the two-dimensional figure and the position of the observation point, two tangents of the two-dimensional figure passing through the position of the observation point may be determined as the third tangent and the fourth tangent of the obstruction. The two-dimensional plane may include but is not limited to a horizontal plane, in which case the two-dimensional figure is a top view of the obstruction.
[0043] Step S104: determining a target visible angle of the target object relative to the obstruction according to the first tangent, the second tangent, the third tangent, and the fourth tangent.
[0044] Among them, the viewing angle of the target object observed at the position of the observation point can be determined according to the first tangent and the second tangent (the viewing angle at this time is the viewing angle when no obstructions are considered), and the viewing angle of the obstruction observed at the position of the observation point can be determined according to the third tangent and the fourth tangent. According to the viewing angle of the target object and the viewing angle of the obstruction, the target viewing angle of the target object relative to the obstruction can be determined, that is, when there is an obstruction, the viewing angle of the target object observed from the position of the observation point.
[0045] The method for determining the viewing angle of a target object provided by the present disclosure determines the target viewing angle of the target object relative to the occluder based on the first POI data of the target object, the second POI data of the occluder and the position of the observation point. The target viewing angle can be used as a guiding viewing angle to guide the user to observe the target object. The calculation is simple and the result is accurate.
[0046] After determining the target visible angle of the target object relative to the obstruction, the target visible angle can be applied to the annotation of the panoramic map, as shown in the following embodiments:
[0047] In a possible implementation, the method further includes:
[0048] In the case that the target visible angle includes the target visible angle in the horizontal direction or the target visible angle in the vertical direction, the POI name in the first POI data of the target object is marked according to the target visible angle in the horizontal direction or the target visible angle in the vertical direction.
[0049] In practical applications, by determining one of the target visual angles in the horizontal direction or the vertical direction, the visible range of the target object relative to the obstruction at the observation point is determined, and the POI name can be marked within the visible range.
[0050] In the disclosed embodiment, POI marking is performed according to the target visual angle in the horizontal direction or the target visual angle in the vertical direction, so that the user can observe the POI name of the target object within the visible range determined by the target visual angle in the horizontal direction or the target visual angle in the vertical direction, thereby avoiding the problem of not being able to find the destination due to obstructions.
[0051] In a possible implementation, the method further includes:
[0052] In a case where the target visible angle includes a target visible angle in a horizontal direction and a target visible angle in a vertical direction, determining the target position according to the target visible angle in the horizontal direction and the target visible angle in the vertical direction;
[0053] The POI name in the first POI data of the target object is marked at the target position.
[0054] In practical applications, a specific target position can be determined based on the target visible angle in the horizontal direction and the target visible angle in the vertical direction. The target position is the position of a point on the three-dimensional model of the target object. The POI name in the first POI data of the target object can be marked on the target position of the target object.
[0055] In the embodiment of the present disclosure, marking the POI name at the target position determined based on the target visual angle in the horizontal direction and the target visual angle in the vertical direction can enable the user to observe the POI name of the target object at the navigation end point, avoiding the problem of not being able to find the destination due to obstructions, and making the marking position of the POI name more accurate.
[0056] In a possible implementation, determining a target visible angle of the target object relative to the occluder according to the first tangent, the second tangent, the third tangent, and the fourth tangent includes:
[0057] determining a first angle between the first tangent line and the second tangent line;
[0058] determining a second angle between the third tangent line and the fourth tangent line;
[0059] A target visible angle of the target object relative to the obstruction is determined according to the first angle and the second angle.
[0060] In practical applications, based on the first tangent and the second tangent, the first angle between the first tangent and the second tangent can be determined, that is, the viewing angle of the target object at the position of the observation point (the viewing angle at this time is the viewing angle when no obstruction is considered); based on the third tangent and the fourth tangent, the second angle between the third tangent and the fourth tangent can be determined, that is, the viewing angle of the obstruction at the position of the observation point. Based on the viewing angle of the target object and the viewing angle of the obstruction, the target viewing angle of the target object relative to the obstruction can be determined, that is, when there is an obstruction, the viewing angle of the target object from the position of the observation point.
[0061] In the disclosed embodiment, the target visible angle of the target object relative to the obstruction is determined based on the angle between two tangent lines passing through the observation point of the target object and the obstruction, which is simple to calculate and accurate in result.
[0062] The specific implementation method of determining the target viewing angle is shown in the following embodiment:
[0063] In a possible implementation, determining a target visible angle of the target object relative to the obstruction according to the first angle and the second angle includes:
[0064] Determine an occlusion angle of the target object relative to the occluder according to the first included angle and the second included angle;
[0065] A target visible angle of the target object relative to the obstruction is determined according to the first included angle and the obstruction angle.
[0066] In practical applications, the intersection of the first angle and the second angle is determined based on the first angle and the second angle. The angle formed by the intersection is the occlusion angle of the target object relative to the occlusion. The first angle minus the occlusion angle is the viewing angle of the target object relative to the occlusion. The target viewing angle is the angle within the viewing angle range. Based on the viewing angle, the target viewing angle of the target object relative to the occlusion can be determined.
[0067] In the disclosed embodiment, the target viewing angle of the target object relative to the occluder can be determined based on the viewing angle of the target object observed at the position of the observation point and the viewing angle of the occluder observed at the position of the observation point. The calculation process is simple and the result is accurate.
[0068] According to different directions of the occlusion angle, different processing methods are used to determine the target visible angle of the target object relative to the occluding object, as shown in the following embodiments:
[0069] In a possible implementation, determining the target viewing angle according to the first angle and the occlusion angle includes:
[0070] When the occlusion angle is a horizontal occlusion angle, determining a horizontal visible angle of the target object relative to the occlusion object according to the first included angle and the horizontal occlusion angle;
[0071] The angle between the angular bisector of the horizontal viewing angle and the true north direction is taken as the target viewing angle in the horizontal direction.
[0072] In practical applications, when the occlusion angle is a horizontal occlusion angle, the occlusion angle is calculated based on the top view of the target object and the occluder, and the angle between the angle bisector of the horizontal viewing angle and the north direction is taken as the horizontal target viewing angle. The target object is observed at the horizontal target viewing angle at the observation point, which is the optimal horizontal viewing angle.
[0073] In the disclosed embodiment, the angle between the angular bisector of the horizontal viewing angle and the true north direction is taken as the target viewing angle in the horizontal direction, so that the best viewing angle in the horizontal direction can be obtained.
[0074] In a possible implementation, determining the target viewing angle according to the first angle and the occlusion angle includes:
[0075] When the occlusion angle is a vertical occlusion angle, determining a vertical visible angle of the target object relative to the occlusion object according to the first included angle and the vertical occlusion angle;
[0076] The angle between the angular bisector of the vertical viewing angle and the ground plane is taken as the target viewing angle in the vertical direction.
[0077] In practical applications, when the occlusion angle is a vertical occlusion angle, the occlusion angle is calculated based on the left view or right view of the target object and the occluder, and the angle between the angle bisector of the vertical viewing angle and the ground plane is taken as the vertical target viewing angle. The target object is observed at the vertical target viewing angle at the observation point, which is the optimal vertical viewing angle.
[0078] In the disclosed embodiment, the angle between the angular bisector of the vertical viewing angle and the ground plane is used as the target viewing angle in the vertical direction, so that the optimal viewing angle in the vertical direction can be obtained.
[0079] In addition, when determining the horizontal tangent of the target object, different processing methods are also included, as shown in the following embodiments:
[0080] In a possible implementation, determining a first tangent line and a second tangent line of a target object passing through the position of the observation point according to the first POI data and the position of the observation point includes:
[0081] A first tangent line and a second tangent line in a horizontal direction of the target object passing through the position of the observation point are determined according to the position coordinates of the boundary points of the surface of interest AOI in the first POI data and the position of the observation point.
[0082] In practical applications, when calculating the tangent of the target object in the horizontal direction, the AOI data in the first POI data of the target object stored in advance is called for calculation, and the AOI data includes the position coordinates of the boundary points of the AOI, that is, the position coordinates of each boundary point of the top view of the target object. The position coordinates of each boundary point are connected with the position of the observation point to obtain a straight line, and multiple straight lines are obtained according to the position coordinates of multiple boundary points and the positions of the observation points. Among them, if all points in the top view of the target object are on the same side of a straight line, then the straight line is a tangent of the target object. There are two straight lines that meet this condition, which are respectively used as the first tangent and the second tangent of the horizontal direction of the target object.
[0083] In the embodiment of the present disclosure, the first tangent line and the second tangent line of the target object in the horizontal direction can be determined as the basis for calculating the target visible angle in the horizontal direction. The calculation process is simple and the result is accurate.
[0084] It can be understood that the calculation of the third tangent and the fourth tangent of the obstruction can also adopt the same processing method as the above embodiment, and the third tangent and the fourth tangent of the obstruction in the horizontal direction passing through the position of the observation point are determined according to the position coordinates of the boundary point of the interest surface AOI in the second POI data and the position of the observation point.
[0085] Figure 2 This is a schematic diagram of horizontal tangents of a target object and an obstruction of an embodiment of the present disclosure. As shown in the figure, the horizontal tangents of the top view of the target object (the "target" shown in the figure) passing through the observation point are L1 and L2 in the figure; the horizontal tangents of the top view of the obstruction (the "obstruction" shown in the figure) passing through the observation point are L3 and L4 in the figure; wherein, the angle between L1 and L2 is the viewing angle of the target object, the angle between L3 and L4 is the viewing angle of the obstruction, the angle β formed by the intersection of the two viewing angles is the occlusion angle, and α is the viewing angle of the target object relative to the obstruction.
[0086] Figure 3 This is a schematic diagram of the viewing angle of the target object relative to an obstruction according to an embodiment of the present invention. As shown in the figure, L1 is a tangent line of the target object; L3 is a tangent line of the obstruction, α is the viewing angle of the target object relative to the obstruction, and the angle between the bisector of α and the north direction is the target viewing angle of the target object in the horizontal direction relative to the obstruction.
[0087] In a possible implementation, determining a first tangent line and a second tangent line of a target object passing through the position of the observation point according to the first POI data and the position of the observation point includes:
[0088] A first tangent line and a second tangent line in a horizontal direction of the target object passing through the position of the observation point are determined according to the vertex position coordinates of the circumscribed rectangle of the AOI in the first POI data and the position of the observation point.
[0089] In practical applications, the outer rectangle can also be determined based on the AOI data of the target object. Each vertex of the outer rectangle is connected to the position of the observation point to obtain four straight lines. Through calculation, it can be known that two of the straight lines meet the tangent conditions. These two straight lines are used as the first tangent and the second tangent of the target object in the horizontal direction.
[0090] In the embodiment of the present disclosure, the first tangent line and the second tangent line of the target object are determined by the vertices of the circumscribed rectangle, which can reduce the amount of calculation compared to calculating the tangent lines through all boundary points of the AOI.
[0091] It can be understood that the calculation of the third tangent and the fourth tangent of the obstruction can also adopt the same processing method as the above embodiment, and the third tangent and the fourth tangent of the obstruction in the horizontal direction passing through the position of the observation point can be determined according to the vertex position coordinates of the circumscribed rectangle of the AOI in the second POI data and the position of the observation point.
[0092] It can be understood that in the above embodiment, the calculation result of determining the tangent line by the position coordinates of the boundary points of the AOI is more accurate than that of determining the tangent line by the vertices of the circumscribed rectangle. However, the calculation amount of the latter is smaller, but there is an error, which is within an acceptable range. Therefore, the corresponding calculation method can be selected according to specific needs.
[0093] Figure 4 This is a schematic diagram of horizontal tangents of a target object and an obstruction of an embodiment of the present disclosure. As shown in the figure, the horizontal tangents of the top view of the target object (the "target" shown in the figure) passing through the observation point are L1 and L2 in the figure, and the circumscribed rectangle of the target object is M1 in the figure; the horizontal tangents of the top view of the obstruction (the "occlusion" shown in the figure) passing through the observation point are L3 and L4 in the figure, and the circumscribed rectangle of the obstruction is M2 in the figure; wherein, the angle between L1 and L2 is the visual angle of the target object, the angle between L3 and L4 is the visual angle of the obstruction, the angle β formed by the intersection of the two visual angles is the occlusion angle, and α is the visual angle of the target object relative to the obstruction.
[0094] In addition, when determining the tangent line in the vertical direction of the target object, the processing method is different from that in the horizontal direction, as shown in the following embodiments:
[0095] In a possible implementation, determining a first tangent line and a second tangent line of a target object passing through the position of the observation point according to the first POI data and the position of the observation point includes:
[0096] Determine a first tangent line in a vertical direction of the target object passing through the position of the observation point according to the position coordinates of the highest point of the target object in the first POI data and the position of the observation point;
[0097] A second tangent line in a vertical direction of the target object passing through the position of the observation point is determined according to the position coordinates of the lowest point of the target object in the first POI data and the position of the observation point.
[0098] In practical applications, the first POI data includes the coordinates of the highest point and the lowest point of the target object. When determining the vertical tangent of the target object, the position coordinates of the highest point and the lowest point of the target object can be connected with the position of the observation point to obtain the first tangent and the second tangent of the target object. The lowest point of the target object can be a point on the ground plane.
[0099] In the disclosed embodiment, the tangent of the target object in the vertical direction can be determined based on the position coordinates of the highest point and the lowest point of the target object. The calculation process is simple and the result is accurate.
[0100] It is understandable that the third tangent and the fourth tangent of the occluder can also be calculated in the same processing manner as in the above embodiment, and the third tangent and the fourth tangent of the occluder in the vertical direction passing through the position of the observation point are determined according to the coordinates of the highest point and the lowest point of the target object in the second POI data and the position of the observation point. The lowest point of the occluder can be a point on the ground plane.
[0101] Figure 5 This is a schematic diagram of tangents in the vertical direction of a target object and an obstruction of an embodiment of the present invention. As shown in the figure, the highest point of the target object is B, and the lowest point is A; the highest point of the obstruction is D, and the lowest point is C. The two tangents in the vertical direction of the target object are the straight line where AE is located and the straight line where BE is located, and the viewing angle of the target object is γ; the two tangents in the vertical direction of the obstruction are the straight line where CE is located and the straight line where DE is located, and the viewing angle is s; the viewing angle of the target object relative to the obstruction is δ, and the angle between the angle bisector of δ and the ground plane is the target viewing angle of the target object in the vertical direction relative to the obstruction.
[0102] In addition, in an actual scene, there may be multiple obstructions. In the case of multiple obstructions, how to determine the target visible angle of the target object relative to the obstructions is specifically described in the following embodiments:
[0103] In a possible implementation, determining a target visible angle of the target object relative to the occluder according to the first tangent, the second tangent, the third tangent, and the fourth tangent includes:
[0104] In the case where there are multiple obstructions, determining a first angle between the first tangent line and the second tangent line;
[0105] Determine a second angle between the third tangent and the fourth tangent of each obstruction;
[0106] A target visible angle of the target object relative to the obstruction is determined according to the intersection of the first angle and each of the second angles.
[0107] In practical applications, when there are multiple occluders, the first angle between the first tangent and the second tangent, that is, the viewing angle of the target object passing through the observation point, is determined based on the first tangent and the second tangent of the target object; for each occluder, the second angle between the third tangent and the fourth tangent, that is, the viewing angle of the occluder passing through the observation point, is determined based on the third tangent and the fourth tangent of the occluder. Since there are multiple occluders, multiple viewing angles are obtained, and the intersection of the multiple viewing angles is calculated. The angle corresponding to the intersection is used as the occlusion angle of all occluders. Based on the first angle and the occlusion angles of all occluders, the target viewing angle of the target object relative to the occluder is determined.
[0108] In the embodiment of the present disclosure, when there are multiple obstructions, the target visible angle of the target object relative to the obstructions can be determined based on the obstruction angles of the multiple obstructions.
[0109] In addition, when calculating the tangent of the target object, the specific occlusion range needs to be considered, as shown in the following embodiment:
[0110] In a possible implementation, determining a first tangent line and a second tangent line of a target object passing through the position of the observation point according to the first POI data and the position of the observation point includes:
[0111] Determine a visible range of the target object relative to the obstruction according to the first POI data, the second POI data and the position of the observation point;
[0112] When the visible range meets a preset condition, a first tangent line and a second tangent line of the target object passing through the position of the observation point are determined according to the first POI data and the position of the observation point.
[0113] In practical applications, the visible range of the target object in the horizontal direction relative to the obstruction can be determined based on the position coordinates of each point of the AOI in the first POI data, the position coordinates of each point of the AOI in the second POI data and the position of the observation point. That is, in the presence of an obstruction, the visible range of the target object in the horizontal direction observed at the position of the observation point, the visible range includes but is not limited to the proportion of the visible part of the target object in the entire target object in the horizontal direction. If the visible range meets the preset conditions, it can also be understood that the visible range is large enough, then the first tangent and the second tangent of the target object in the horizontal direction are calculated, and then the target visible angle of the target object in the horizontal direction relative to the obstruction is calculated. If the visible range does not meet the preset conditions, the target visible angle of the horizontal direction may not be calculated.
[0114] In addition, the visible range of the target object in the vertical direction relative to the occlusion can be determined based on the position coordinates of the highest point and the lowest point of the target object, the position coordinates of the highest point and the lowest point of the occlusion, and the position of the observation point. The visible range includes but is not limited to the height difference of the target object above the occlusion. If the visible range meets the preset conditions, the first tangent and the second tangent of the target object in the vertical direction are calculated, and then the target visible angle of the target object in the vertical direction relative to the occlusion is calculated.
[0115] In the disclosed embodiment, the visible range of the target object relative to the obstruction can be determined to determine whether to calculate the first tangent and the second tangent of the target object, and then calculate the target viewing angle. If the visible range is too small or there is no visible range, no calculation is required.
[0116] Figure 6 FIG. 1 is a schematic diagram of the horizontal occlusion of a target object and an occluding object according to an embodiment of the present disclosure. Figure 6 As shown in the figure, 5 kinds of occlusion situations are shown. For the first, second and third occlusion situations, the visible range is small and it is not suitable for POI name labeling, so the horizontal tangent of the target object relative to the occlusion and the target visual angle are not calculated; for the fourth and fifth occlusion situations, the visible range is large and it is suitable for POI name labeling, so the horizontal tangent of the target object relative to the occlusion and the target visual angle are calculated.
[0117] According to an embodiment of the present disclosure, a method for determining a visible angle of a target object is provided. Figure 7 is a flow chart of a method for determining a target object's visual angle according to an embodiment of the present disclosure. Figure 7 As shown, including:
[0118] Step S701, obtaining first POI data of the target object, second POI data of the blocking object and the position of the observation point;
[0119] Step S702, determining a first tangent line and a second tangent line of the target object passing through the position of the observation point according to the first POI data and the position of the observation point;
[0120] Step S703, determining a third tangent line and a fourth tangent line of the obstruction passing through the position of the observation point according to the second POI data and the position of the observation point;
[0121] Step S704, determining a first angle between the first tangent line and the second tangent line;
[0122] Step S705, determining a second angle between the third tangent line and the fourth tangent line;
[0123] Step S706, determining an occlusion angle of the target object relative to the occluder according to the first angle and the second angle;
[0124] Step S707, determining a target visible angle of the target object relative to the obstruction according to the first included angle and the obstruction angle;
[0125] Step S708, when the target visible angle includes a target visible angle in a horizontal direction and a target visible angle in a vertical direction, determining a target position according to the target visible angle in the horizontal direction and the target visible angle in the vertical direction;
[0126] Step S709: marking the POI name in the first POI data of the target object at the target position.
[0127] The method for determining the viewing angle of a target object provided by the present disclosure determines the target viewing angle of the target object relative to the occluder based on the first POI data of the target object, the second POI data of the occluder and the position of the observation point. The target viewing angle can be used as a guiding viewing angle to guide the user to observe the target object. The calculation is simple and the result is accurate.
[0128] According to an embodiment of the present disclosure, a device for determining a viewing angle of a target object is provided. Figure 8 FIG. 1 is a schematic diagram of a device for determining a viewing angle of a target object according to an embodiment of the present disclosure. Figure 8 As shown, the device comprises:
[0129] An acquisition module 801 is used to acquire the first point of interest POI data of the target object, the second POI data of the blocking object and the position of the observation point;
[0130] A first determining module 802 is used to determine a first tangent line and a second tangent line of the target object passing through the position of the observation point according to the first POI data and the position of the observation point;
[0131] A second determining module 803 is used to determine a third tangent line and a fourth tangent line of the occluder passing through the position of the observation point according to the second POI data and the position of the observation point;
[0132] The third determination module 804 is used to determine a target visible angle of the target object relative to the obstruction according to the first tangent, the second tangent, the third tangent and the fourth tangent.
[0133] In a possible implementation, the device further includes a marking module, which is used to:
[0134] In the case that the target visible angle includes the target visible angle in the horizontal direction or the target visible angle in the vertical direction, the POI name in the first POI data of the target object is marked according to the target visible angle in the horizontal direction or the target visible angle in the vertical direction.
[0135] In a possible implementation, the device further includes a marking module, which is used to:
[0136] In a case where the target visible angle includes a target visible angle in a horizontal direction and a target visible angle in a vertical direction, determining the target position according to the target visible angle in the horizontal direction and the target visible angle in the vertical direction;
[0137] The POI name in the first POI data of the target object is marked at the target position.
[0138] Fig. 9 is a schematic diagram of the structure of the third determination module in one embodiment of the present disclosure. Fig. 9 As shown, in a possible implementation, the third determination module includes a first determination unit 901, a second determination unit 902, and a third determination unit 903;
[0139] A first determining unit 901 is used to determine a first angle between a first tangent line and a second tangent line;
[0140] A second determining unit 902 is used to determine a second angle between the third tangent line and the fourth tangent line;
[0141] The third determining unit 903 is used to determine a target visible angle of the target object relative to the obstruction according to the first angle and the second angle.
[0142] In a possible implementation manner, the third determining unit is specifically configured to:
[0143] Determine an occlusion angle of the target object relative to the occluder according to the first included angle and the second included angle;
[0144] A target visible angle of the target object relative to the obstruction is determined according to the first included angle and the obstruction angle.
[0145] In a possible implementation manner, when the third determination unit determines the target viewing angle according to the first included angle and the occlusion angle, it is configured to:
[0146] When the occlusion angle is a horizontal occlusion angle, determining a horizontal visible angle of the target object relative to the occlusion object according to the first included angle and the horizontal occlusion angle;
[0147] The angle between the angular bisector of the horizontal viewing angle and the true north direction is taken as the target viewing angle in the horizontal direction.
[0148] In a possible implementation manner, when the third determination unit determines the target viewing angle according to the first included angle and the occlusion angle, it is configured to:
[0149] When the occlusion angle is a vertical occlusion angle, determining a vertical visible angle of the target object relative to the occlusion object according to the first included angle and the vertical occlusion angle;
[0150] The angle between the angular bisector of the vertical viewing angle and the ground plane is taken as the target viewing angle in the vertical direction.
[0151] In a possible implementation, the first determining module 802 is configured to:
[0152] A first tangent line and a second tangent line in a horizontal direction of the target object passing through the position of the observation point are determined according to the position coordinates of the boundary points of the surface of interest AOI in the first POI data and the position of the observation point.
[0153] In a possible implementation, the first determining module 802 is configured to:
[0154] A first tangent line and a second tangent line in a horizontal direction of the target object passing through the position of the observation point are determined according to the vertex position coordinates of the circumscribed rectangle of the AOI in the first POI data and the position of the observation point.
[0155] In a possible implementation, the first determining module 802 is configured to:
[0156] Determine a first tangent line in a vertical direction of the target object passing through the position of the observation point according to the position coordinates of the highest point of the target object in the first POI data and the position of the observation point;
[0157] A second tangent line in a vertical direction of the target object passing through the position of the observation point is determined according to the position coordinates of the lowest point of the target object in the first POI data and the position of the observation point.
[0158] In a possible implementation, the third determining module 804 is configured to:
[0159] In the case where there are multiple obstructions, determining a first angle between the first tangent line and the second tangent line;
[0160] Determine a second angle between the third tangent and the fourth tangent of each obstruction;
[0161] A target visible angle of the target object relative to the obstruction is determined according to the intersection of the first angle and each of the second angles.
[0162] In a possible implementation, the first determining module 802 is configured to:
[0163] Determine a visible range of the target object relative to the obstruction according to the first POI data, the second POI data and the position of the observation point;
[0164] When the visible range meets a preset condition, a first tangent line and a second tangent line of the target object passing through the position of the observation point are determined according to the first POI data and the position of the observation point.
[0165] The functions of each unit, module or sub-module in each device of the embodiments of the present disclosure can be found in the corresponding description in the above method embodiments, and will not be repeated here.
[0166] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
[0167] According to another aspect of the present disclosure, a computer program product is provided, including a computer program / instruction, which implements the method in any embodiment of the present disclosure when the computer program / instruction is executed by a processor.
[0168] Fig.10 A schematic block diagram of an electronic device 1000 that can be used to implement a method for determining a visual angle of a target object of an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, 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 required herein.
[0169] like Fig.10As shown, the electronic device 1000 includes a computing unit 1001, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1002 or a computer program loaded from a storage unit 1008 into a random access memory (RAM) 1003. In the RAM 1003, various programs and data required for the operation of the electronic device 1000 can also be stored. The computing unit 1001, the ROM 1002, and the RAM 1003 are connected to each other via a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.
[0170] Multiple components in the electronic device 1000 are connected to the I / O interface 1005, including: an input unit 1006, such as a keyboard, a mouse, etc.; an output unit 1007, such as various types of displays, speakers, etc.; a storage unit 1008, such as a disk, an optical disk, etc.; and a communication unit 1009, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 1009 allows the electronic device 1000 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0171] The computing unit 1001 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 1001 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, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 1001 performs the various methods and processes described above, such as a method for determining the visual angle of a target object. For example, in some embodiments, the image-text matching model training method may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 1008. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 1000 via the ROM 1002 and / or the communication unit 1009. When the computer program is loaded into the RAM 1003 and executed by the computing unit 1001, one or more steps of the method for determining the visual angle of the target object described above may be performed. Alternatively, in other embodiments, the computing unit 1001 may be configured to execute the method for determining the viewing angle of the target object in any other appropriate manner (for example, by means of firmware).
[0172] Various implementations of the systems and techniques described above herein 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 chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations 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 purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0173] The program code for implementing the method 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, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0174] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. 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, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0175] To provide interaction with a user, the systems and techniques described herein can 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 pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0176] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communications network). Examples of communications networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0177] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0178] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0179] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A method for determining a visible angle of a target object, the method comprising: Obtaining the first point of interest (POI) data of the target object, the second POI data of the occluding object, and the position of the observation point; The obstruction is an object that obstructs the target object when the target object is observed from the observation point on the map; the POI data includes AOI shape data, and the shape data is the shape of a two-dimensional figure formed by the projection of a three-dimensional object on a two-dimensional plane; According to the first POI data and the position of the observation point, determine the first tangent and the second tangent of the target object passing through the position of the observation point; the first tangent and the second tangent are tangents of the top view formed by the projection of the target object in the ground plane; according to the second POI data and the position of the observation point, determine the third tangent and the fourth tangent of the occluder passing through the position of the observation point; the third tangent and the fourth tangent are tangents of the top view formed by the projection of the occluder in the ground plane; for each tangent, all points in the top view are on the same side of the tangent; according to the first tangent, the second tangent, the third tangent and the fourth tangent, determine the target visual angle of the target object relative to the occluder, the target visual angle is used to represent the visual range of the target object observed from the position of the observation point; The determining the target visible angle of the target object relative to the obstruction according to the first tangent, the second tangent, the third tangent, and the fourth tangent includes: determining a first angle between the first tangent line and the second tangent line; determining a second angle between the third tangent line and the fourth tangent line; Determining an occlusion angle of the target object relative to the occlusion object according to the first angle and the second angle; In the case where the blocking angle is a horizontal blocking angle, determining a horizontal visible angle of the target object relative to the blocking object according to the first included angle and the horizontal blocking angle; The angle between the angular bisector of the horizontal viewing angle and the true north direction is taken as the target viewing angle in the horizontal direction; In the case where the blocking angle is a vertical blocking angle, determining a vertical visible angle of the target object relative to the blocking object according to the first included angle and the vertical blocking angle; The included angle between the angular bisector of the vertical viewing angle and the ground plane is taken as the target viewing angle in the vertical direction; When determining the horizontal tangent of the target object, determining the first tangent and the second tangent of the target object passing through the position of the observation point according to the first POI data and the position of the observation point includes: In response to reducing the error, determining a first tangent line and a second tangent line in a horizontal direction of the target object passing through the position of the observation point according to the position coordinates of the boundary point of the surface of interest AOI in the first POI data and the position of the observation point; In response to reducing the amount of calculation, a first tangent and a second tangent in the horizontal direction of the target object passing through the position of the observation point are determined according to the vertex position coordinates of the circumscribed rectangle of the AOI in the first POI data and the position of the observation point.
2. The method according to claim 1, further comprising: In a case where the target visible angle includes a horizontal target visible angle or a vertical target visible angle, the POI name in the first POI data of the target object is marked according to the horizontal target visible angle or the vertical target visible angle.
3. The method according to claim 1, further comprising: In a case where the target visible angle includes a target visible angle in a horizontal direction and a target visible angle in a vertical direction, determining a target position according to the target visible angle in the horizontal direction and the target visible angle in the vertical direction; A POI name in the first POI data of the target object is marked at the target position.
4. The method according to claim 1, wherein: The step of determining a first tangent line and a second tangent line of the target object passing through the position of the observation point according to the first POI data and the position of the observation point comprises: Determine a first tangent line in a vertical direction of the target object passing through the position of the observation point according to the position coordinates of the highest point of the target object in the first POI data and the position of the observation point; A second tangent line in a vertical direction of the target object passing through the position of the observation point is determined according to the position coordinates of the lowest point of the target object in the first POI data and the position of the observation point.
5. The method according to claim 1, wherein: The determining the target visible angle of the target object relative to the obstruction according to the first tangent, the second tangent, the third tangent, and the fourth tangent includes: In the case where there are multiple obstructions, determining a first angle between the first tangent line and the second tangent line; Determine a second angle between the third tangent and the fourth tangent of each obstruction; A target visible angle of the target object relative to the obstruction is determined according to the intersection of the first angle and each second angle.
6. The method according to claim 1, wherein: The step of determining a first tangent line and a second tangent line of the target object passing through the position of the observation point according to the first POI data and the position of the observation point comprises: Determining a visible range of the target object relative to the obstruction according to the first POI data, the second POI data and the position of the observation point; When the visible range meets a preset condition, a first tangent line and a second tangent line of the target object passing through the position of the observation point are determined according to the first POI data and the position of the observation point.
7. A device for determining a viewing angle of a target object, the device comprising: An acquisition module, used to acquire the first point of interest (POI) data of the target object, the second POI data of the occluding object, and the position of the observation point; The obstruction is an object that obstructs the target object when the target object is observed from the observation point on the map; the POI data includes AOI shape data, and the shape data is the shape of a two-dimensional figure formed by the projection of a three-dimensional object on a two-dimensional plane; A first determination module is used to determine a first tangent line and a second tangent line of the target object passing through the position of the observation point according to the first POI data and the position of the observation point; the first tangent line and the second tangent line are tangent lines of a top view formed by projecting the target object in a ground plane; A second determination module is used to determine a third tangent line and a fourth tangent line of the obstruction passing through the position of the observation point according to the second POI data and the position of the observation point; the third tangent line and the fourth tangent line are tangent lines of a top view formed by projection of the obstruction in a ground plane; for each tangent line, all points in the top view are on the same side of the tangent line; A third determination module, configured to determine a target viewing angle of the target object relative to the obstruction according to the first tangent, the second tangent, the third tangent, and the fourth tangent, wherein the target viewing angle is used to represent a visible range of the target object observed from the position of the observation point; The third determination module includes a first determination unit, a second determination unit and a third determination unit; The first determining unit is used to determine a first angle between the first tangent line and the second tangent line; The second determining unit is used to determine a second angle between the third tangent line and the fourth tangent line; The third determining unit is used to: Determining an occlusion angle of the target object relative to the occlusion object according to the first angle and the second angle; In the case where the blocking angle is a horizontal blocking angle, determining a horizontal visible angle of the target object relative to the blocking object according to the first included angle and the horizontal blocking angle; The angle between the angular bisector of the horizontal viewing angle and the true north direction is taken as the target viewing angle in the horizontal direction; In the case where the blocking angle is a vertical blocking angle, determining a vertical visible angle of the target object relative to the blocking object according to the first included angle and the vertical blocking angle; The included angle between the angular bisector of the vertical viewing angle and the ground plane is taken as the target viewing angle in the vertical direction; Wherein, when determining the tangent line of the target object in the horizontal direction, the first determining module is used to: In response to selecting to reduce the error, determining a first tangent line and a second tangent line in a horizontal direction of the target object passing through the position of the observation point according to the position coordinates of the boundary point of the surface of interest AOI in the first POI data and the position of the observation point; In response to selecting to reduce the amount of calculation, a first tangent and a second tangent in the horizontal direction of the target object passing through the position of the observation point are determined based on the vertex position coordinates of the circumscribed rectangle of the AOI in the first POI data and the position of the observation point.
8. The apparatus according to claim 7, further comprising a marking module, configured to: In a case where the target visible angle includes a horizontal target visible angle or a vertical target visible angle, the POI name in the first POI data of the target object is marked according to the horizontal target visible angle or the vertical target visible angle.
9. The device according to claim 7, further comprising a marking module, configured to: In a case where the target visible angle includes a target visible angle in a horizontal direction and a target visible angle in a vertical direction, determining a target position according to the target visible angle in the horizontal direction and the target visible angle in the vertical direction; A POI name in the first POI data of the target object is marked at the target position.
10. The device according to claim 7, wherein: The first determining module is used to: Determine a first tangent line in a vertical direction of the target object passing through the position of the observation point according to the position coordinates of the highest point of the target object in the first POI data and the position of the observation point; A second tangent line in a vertical direction of the target object passing through the position of the observation point is determined according to the position coordinates of the lowest point of the target object in the first POI data and the position of the observation point.
11. The device according to claim 7, wherein: The third determining module is used to: In the case where there are multiple obstructions, determining a first angle between the first tangent line and the second tangent line; Determine a second angle between the third tangent and the fourth tangent of each obstruction; A target visible angle of the target object relative to the obstruction is determined according to the intersection of the first angle and each second angle.
12. The device according to any one of claims 7 to 11, wherein: The first determining module is used to: Determining a visible range of the target object relative to the obstruction according to the first POI data, the second POI data and the position of the observation point; When the visible range meets a preset condition, a first tangent line and a second tangent line of the target object passing through the position of the observation point are determined according to the first POI data and the position of the observation point.
13. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 6.
14. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to enable a computer to execute the method according to any one of claims 1 to 6.
15. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
