Method and device for determining location of point of interest, electronic device, and storage medium
By acquiring multi-perspective collected data and clustering algorithms, the location of points of interest is automatically determined, which solves the problems of low efficiency and insufficient accuracy in the existing technology of interest point location annotation, and achieves efficient and accurate location of interest points.
Patent Information
- Application Number
- CN202210322038.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-29
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2042-03-29
AI Technical Summary
In the existing technology, the labeling of POI locations relies on manual labor, which is labor-intensive, time-consuming, and the accuracy depends on professional quality, making it difficult to ensure the accuracy and efficiency of POI locations.
By acquiring multiple sets of data from different perspectives and using a variety of clustering algorithms and probability analysis, we can automatically determine multiple candidate locations of points of interest and filter out the target location, thereby improving positioning efficiency and accuracy.
It achieves efficient and accurate positioning of points of interest, reduces reliance on manual labeling, and improves the updating speed and accuracy of the positions of points of interest.
Smart Images

Figure CN114896445B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, in particular to the fields of electronic maps, intelligent transportation, and artificial intelligence, and specifically to a method and device for determining the location of a point of interest, an electronic device, a computer-readable storage medium, and a computer program product. Background Art
[0002] Point of Interest (POI) is any geographical object that can be abstracted as a point in a geographic information system, especially some geographical entities closely related to people's lives, such as schools, banks, restaurants, gas stations, hospitals, supermarkets, etc.
[0003] The points of interest can be displayed on an electronic map according to their locations. Accordingly, users can view the points of interest on the electronic map.
[0004] The approaches described in this section are not necessarily approaches that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any approach described in this section is prior art simply by virtue of its inclusion in this section. Similarly, unless otherwise indicated, the issues raised in this section should not be considered as having been recognized in any prior art. Summary of the Invention
[0005] The present disclosure provides a method and apparatus for determining the location of a point of interest, an electronic device, a computer-readable storage medium, and a computer program product.
[0006] According to one aspect of the present disclosure, a method for determining the location of a point of interest is provided, comprising: acquiring multiple sets of collected data for the same point of interest, each set of the multiple sets of collected data comprising a corresponding collection position and a viewing angle, the viewing angle being the direction from the collection position to the point of interest, the multiple sets of collected data having different viewing angles; determining multiple candidate positions of the point of interest based on the multiple sets of collected data; and determining a target position of the point of interest based on the multiple candidate positions.
[0007] According to one aspect of the present disclosure, a device for determining the position of a point of interest is provided, comprising: an acquisition module configured to acquire multiple sets of collected data for the same point of interest, each set of the multiple sets of collected data comprising a corresponding collection position and a viewing angle, the viewing angle being the direction from the collection position to the point of interest, and the viewing angles of the multiple sets of collected data being different; a first determination module configured to determine multiple candidate positions of the point of interest based on the multiple sets of collected data; and a second determination module configured to determine a target position of the point of interest based on the multiple candidate positions.
[0008] According to one aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor, the memory storing instructions executable by the at least one processor, the instructions being executed by the at least one processor so that the at least one processor can execute the method.
[0009] According to one aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, where the computer instructions are used to cause a computer to execute any of the above methods.
[0010] According to one aspect of the present disclosure, a computer program product is provided, comprising a computer program, which implements the above method when executed by a processor.
[0011] According to one or more embodiments of the present disclosure, the efficiency and accuracy of POI positioning can be improved.
[0012] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying drawings illustrate exemplary embodiments and constitute a part of the specification. Together with the description of the specification, they serve to explain exemplary implementation of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numerals designate similar, but not necessarily identical, elements.
[0014] Figure 1 A schematic diagram illustrating an exemplary system in which the various methods described herein may be implemented according to an embodiment of the present disclosure;
[0015] Figure 2 A flowchart illustrating a method for determining a location of a point of interest according to an embodiment of the present disclosure is shown;
[0016] Figure 3 A schematic diagram illustrating determining multiple candidate locations according to an embodiment of the present disclosure is shown;
[0017] Figure 4 A schematic diagram illustrating determining multiple candidate locations according to other embodiments of the present disclosure is shown;
[0018] Figure 5 A schematic diagram showing how to convert the first probability of a candidate position into the same position coordinate point according to an embodiment of the present disclosure is shown;
[0019] Figure 6A schematic diagram showing a density clustering result according to an embodiment of the present disclosure;
[0020] Figure 7 A structural block diagram showing an apparatus for determining a location of a point of interest according to an embodiment of the present disclosure is shown; and
[0021] Figure 8 A structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0022] The following description of exemplary embodiments of the present disclosure is made 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 appreciated by those skilled in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope 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.
[0023] In this disclosure, unless otherwise specified, the use of terms such as "first" and "second" to describe various elements is not intended to limit the positional relationship, temporal relationship, or importance relationship of these elements. Such terms are only used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of the element, while in some cases, based on the context of the description, they may also refer to different instances.
[0024] The terms used in the descriptions of the various examples described in this disclosure are for the purpose of describing specific examples only and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element may be one or more. In addition, the term "and / or" used in this disclosure encompasses any one and all possible combinations of the listed items.
[0025] In this disclosure, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved are in compliance with relevant laws and regulations and do not violate public order and good morals.
[0026] The accuracy of POI locations on electronic maps directly impacts the quality of the electronic maps and the user experience. Therefore, it is crucial to promptly discover new or changed POIs in the real world, determine their locations, and update them to the electronic maps.
[0027] Related technologies typically require field capture of images of points of interest (POIs) and manual annotation of their coordinates. This process is labor-intensive, time-consuming, and inefficient. Furthermore, the accuracy of POI locations depends entirely on the professionalism of the staff. The quality of location annotation varies widely between different staff members, and even within the same staff member over different time periods, making it difficult to guarantee accurate POI locations.
[0028] To this end, embodiments of the present disclosure provide a method for determining the location of a point of interest, which can improve the efficiency and accuracy of locating the point of interest.
[0029] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0030] Figure 1 FIG2 is a schematic diagram of an exemplary system 100 in which the various methods and apparatuses described herein may be implemented according to an embodiment of the present disclosure. Figure 1 , the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 can be configured to execute one or more applications.
[0031] In an embodiment of the present disclosure, the server 120 may run one or more services or software applications that enable the method for determining the location of a point of interest to be performed.
[0032] In some embodiments, server 120 may also provide other services or software applications that may include non-virtualized environments and virtualized environments. In some embodiments, these services may be provided as web-based services or cloud services, such as provided to users of client devices 101, 102, 103, 104, 105, and / or 106 under a software as a service (SaaS) model.
[0033] exist Figure 1 In the configuration shown, the server 120 may include one or more components that implement the functions performed by the server 120. These components may include software components, hardware components, or a combination thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 may, in turn, utilize one or more client applications to interact with the server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from the system 100. Therefore, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
[0034] The user can use client devices 101, 102, 103, 104, 105 and / or 106 to navigate. The client device can provide an interface that enables the user of the client device to interact with the client device. The client device can also output information to the user via the interface. Figure 1 Only six client devices are depicted, but one skilled in the art will appreciate that the present disclosure can support any number of client devices.
[0035] Client devices 101, 102, 103, 104, 105, and / or 106 may include various types of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptops), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors or other sensing devices, etc. These computer devices may run various types and versions of software applications and operating systems, such as Microsoft Windows, Apple iOS, UNIX-like operating systems, Linux, or Linux-like operating systems; or include various mobile operating systems, such as Microsoft Windows Mobile OS, iOS, Windows Phone, and Android. Portable handheld devices may include cellular phones, smartphones, tablet computers, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Gaming systems may include various handheld gaming devices, internet-enabled gaming devices, etc. Client devices are capable of executing a variety of different applications, such as various internet-related applications, communication applications (such as email applications), and short message service (SMS) applications, and may use various communication protocols.
[0036] The network 110 may be any type of network known to those skilled in the art that can support data communications using any of a variety of available protocols, including but not limited to TCP / IP, SNA, IPX, etc. By way of example only, the one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, Wi-Fi), and / or any combination of these and / or other networks.
[0037] Server 120 may include one or more general-purpose computers, specialized server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain a server's virtual storage device). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.
[0038] The computing units in the server 120 may run one or more operating systems including any of the operating systems described above as well as any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and / or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, and the like.
[0039] In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 may also include one or more applications to display the data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.
[0040] In some embodiments, server 120 may be a distributed system server or a server integrated with blockchain. Server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host equipped with artificial intelligence technology. A cloud server is a host product within the cloud computing service system that addresses the management difficulties and poor scalability of traditional physical hosts and virtual private servers (VPS) services.
[0041] The system 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as music files. The databases 130 may reside in a variety of locations. For example, the database used by the server 120 may be local to the server 120, or may be remote from the server 120 and communicate with the server 120 via a network-based or dedicated connection. The databases 130 may be of different types. In some embodiments, the databases used by the server 120 may be, for example, relational databases. One or more of these databases may store, update, and retrieve data to and from the databases in response to commands.
[0042] In some embodiments, one or more of the databases 130 may also be used by applications to store application data. The databases used by the applications may be different types of databases, such as a key-value store, an object store, or a conventional store backed by a file system.
[0043] Figure 1 The system 100 may be configured and operated in various ways to enable application of the various methods and apparatuses described in accordance with the present disclosure.
[0044] According to some embodiments, the client devices 101-106 may include an electronic map application that can provide various services based on the electronic map. Accordingly, the server 120 may be a server corresponding to the electronic map application. For example, the server 120 may determine the location of the point of interest by executing the method for determining the location of the point of interest of the embodiment of the present disclosure, and then update the point of interest to the electronic map. In this way, users can access the electronic map application on the client devices 101-106 to implement map functions related to points of interest, such as point of interest search and point of interest navigation.
[0045] Figure 2 1 is a flow chart showing a method 200 for determining the location of a point of interest according to an embodiment of the present disclosure. The method 200 is generally performed on a server (e.g. Figure 1 In some embodiments, the method 200 may also be performed on a client device (e.g., Figure 1 The execution of each step of the method 200 may be performed at the client devices 101, 102, 103, 104, 105 and 106 shown in FIG. Figure 1 The server 120 shown in FIG. 1 may also be Figure 1 Client devices 101, 102, 103, 104, 105 and 106 are shown in FIG.
[0046] like Figure 2As shown, the method 200 includes steps S210 - S230 .
[0047] In step S210, multiple sets of collected data for the same point of interest are obtained, each set of collected data includes a corresponding collection position and a viewing angle, where the viewing angle is the direction from the collection position to the point of interest, and the viewing angles of the multiple sets of collected data are different.
[0048] In step S220 , multiple candidate locations of points of interest are determined based on multiple sets of collected data.
[0049] In step S230 , a target position of the point of interest is determined based on the multiple candidate positions.
[0050] According to the embodiments of the present disclosure, the target location of a point of interest can be automatically determined based on multiple sets of data collected from different perspectives, thereby improving the efficiency of point of interest positioning. Furthermore, the multiple sets of data collected from different perspectives can complement and verify each other during the point of interest positioning process, thereby ensuring the accuracy of point of interest positioning.
[0051] In the embodiments of the present disclosure, the acquisition location and viewing angle in each set of collected data correspond to each other. The acquisition location can be any location from which a point of interest can be visually observed, and the viewing angle is the direction from the acquisition location to the point of interest. The viewing angle can be represented by an angle value between 0° and 359°. For example, 0° can represent due north, and the viewing angle gradually increases to 359° in a clockwise direction.
[0052] There are multiple ways to obtain the acquisition position and viewing angle.
[0053] For example, a user can use a handheld positioning device (e.g., a satellite positioning module) and an orientation device (e.g., a compass) to observe a point of interest. When the user directly observes the point of interest, the current position coordinates of the handheld positioning device are the acquisition position, and the direction acquired by the orientation device is the viewing angle.
[0054] For example, a user can use a terminal device to capture an image containing a point of interest. The location of the user when capturing the image (which can be obtained through the satellite positioning module provided in the terminal device) is the capture location. When the user captures the image, the direction sensor provided in the terminal device can be used to obtain the current orientation of the terminal device, that is, the orientation of the camera, and thus the shooting direction. Based on the shooting direction and the position of the point of interest in the image, the corresponding viewing angle can be determined.
[0055] For example, panoramic capture vehicles, user vehicles, and other vehicles can also capture images containing points of interest. The location of the vehicle when capturing the image (which can be obtained through the vehicle's satellite positioning module) is the capture location. When capturing images, the vehicle's orientation, i.e., the orientation of the camera, and therefore the shooting direction, can be determined using the vehicle's orientation and the position of the point of interest in the image. The corresponding viewing angle can be determined based on the shooting direction and the position of the point of interest in the image.
[0056] In the embodiments of the present disclosure, the perspectives of the multiple sets of collected data used to determine the positions of the points of interest are different, thereby being able to provide rich information about the positions of the points of interest, thereby improving the accuracy of positioning the points of interest.
[0057] Furthermore, according to some embodiments, the absolute value of the difference in viewing angle between any two sets of collected data is greater than a disparity threshold. The disparity threshold can be set, for example, to 15°. Large pairwise disparities (greater than the disparity threshold) between the multiple sets of collected data can reduce the correlation and redundancy between different sets of collected data, increase the amount of information, and thus improve the accuracy of POI location.
[0058] There are many implementation methods for “determining multiple candidate locations of a point of interest based on multiple sets of collected data” and “determining a target location of a point of interest based on the multiple candidate locations”.
[0059] According to some embodiments, in a first implementation, multiple first lines of sight corresponding to multiple groups of collected data can be determined, each of the multiple first lines of sight being a line passing through a corresponding collection position and having a corresponding viewing angle; and the intersection of any two first lines of sight among the multiple first lines of sight is used as one candidate position among multiple candidate positions.
[0060] According to the above embodiment, the first sight lines corresponding to each set of collected data can be quickly generated based on the collection position and viewing angle, and the intersection points of multiple first sight lines can be used as candidate positions. In this way, multiple candidate positions can be quickly determined.
[0061] Figure 3 FIG. 4 shows a schematic diagram of determining multiple candidate positions according to the above embodiment. Figure 3 As shown in the figure, the first set of data is collected at point A, with the viewing angle from A to B, and the corresponding first line of sight is ray AB. The second set of data is collected at point C, with the viewing angle from C to D, and the corresponding first line of sight is ray CD. The third set of data is collected at point E, with the viewing angle from E to F, and the corresponding first line of sight is ray EF. Rays AB, CD, and EF intersect to form three intersection points G, H, and I, which are the candidate locations.
[0062] After determining multiple candidate locations according to the above embodiment, the multiple candidate locations can be clustered to obtain clustering results. Based on the clustering results, the target location of the point of interest can be determined. Candidate locations that cannot be clustered with other candidate locations often have large positional deviations. Clustering can filter out candidate locations with large positional deviations, thereby improving the accuracy of point of interest location.
[0063] Specifically, according to some embodiments, a density clustering algorithm such as DBSCAN can be used to cluster multiple candidate locations. If the clustering result includes only one cluster, it indicates that the confidence of the current multiple sets of collected data is relatively high, and the average of the core points in the cluster is used as the target location of the point of interest. The core point refers to the candidate location whose number of candidate locations within a preset neighborhood is greater than or equal to the quantity threshold. If the clustering result includes at least two clusters, it indicates that the confidence of the current multiple sets of data is low and the error is large, so the calculation result can be abandoned and the target location of the point of interest is not recalled.
[0064] According to other embodiments, a partitioning clustering algorithm such as K-means or K-medians can be used to cluster multiple candidate locations, and the mean of the candidate locations in the target cluster is used as the target location of the point of interest. The target cluster refers to the cluster containing the largest number of candidate locations in the clustering results.
[0065] According to some embodiments, in a second implementation, probabilities can be combined to determine multiple candidate locations and a target location. Specifically, based on multiple sets of collected data, multiple candidate locations for a point of interest and first probabilities for each of the multiple candidate locations are determined; and based on the multiple candidate locations and first probabilities for each of the multiple candidate locations, a target location for the point of interest is determined. This can reduce the impact of deviations in the original collected data on the location of the point of interest.
[0066] According to some embodiments, a plurality of candidate positions and their first probabilities may be determined by the following steps:
[0067] For each set of collected data in the multiple sets of collected data: based on the probability density function of the corresponding collection position and the preset position deviation, determine multiple candidate collection positions and the second probability of each of the multiple candidate collection positions; based on the corresponding viewing angle and the multiple candidate collection positions, determine the second line of sight corresponding to each candidate collection position, where the second line of sight is a line passing through the corresponding candidate collection position and having the above-mentioned viewing angle.
[0068] Subsequently, the intersection of any two second sight lines among the multiple second sight lines corresponding to the multiple sets of collected data is used as a candidate position among the multiple candidate positions, and the first probability of the candidate position is the product of the second probabilities corresponding to the two second sight lines.
[0069] It is understood that due to factors such as equipment and environment, there are often deviations in the collection positions. According to the above embodiment, a series of possible collection positions (i.e., candidate collection positions) and their second probabilities can be determined using a preset probability density function of position deviation. Determining the candidate positions of the point of interest based on the candidate collection positions can reduce the candidate position calculation deviation caused by collection position deviation, thereby improving the accuracy of point of interest positioning.
[0070] The deviation between the acquisition position and the true position (i.e., position deviation) usually conforms to the normal distribution N(μ, σ 2 ), that is, the preset probability density function of the position deviation is a normal distribution probability density function. Here, μ is the longitude or latitude coordinate of the corresponding collection location, and σ is a preset constant, which is the standard deviation of the deviations obtained by statistically analyzing the deviations between multiple sample collection locations and the true location (i.e., the true value corresponding to the sample collection location).
[0071] It should be noted that, in the above embodiment, the multiple candidate collection positions include the collection position.
[0072] It should be noted that, in the above embodiment, the second probability can be a probability directly calculated based on a probability density function of a preset position deviation, or it can be a probability obtained by normalizing the probability calculated by the probability density function. For example, the probabilities calculated by the probability density function can be divided by the maximum probability (i.e., the probability corresponding to μ) to normalize the probabilities to a range of 0 to 1. Hereinafter, the probability obtained by normalization will be referred to as the "relative probability."
[0073] Figure 4 A schematic diagram of determining multiple candidate positions according to the above embodiment is shown.
[0074] like Figure 4 As shown, the first set of collected data is collected at point A1, and the viewing angle is from A1 to B1. Based on a preset probability density function of position deviation (e.g., a normal distribution probability density function), the candidate collection locations can be determined to be points A1, A2, and A3. The corresponding second probabilities (relative probabilities) are 1, 0.8, and 0.8, respectively, and the corresponding second lines of sight are rays A1B1, A2B2, and A3B3, respectively.
[0075] The second set of data is collected at point C1, with a viewing angle from C1 to D1. Based on the preset probability density function of positional deviation, candidate collection locations are determined to be points C1, C2, and C3. The corresponding second probabilities (relative probabilities) are 1, 0.8, and 0.8, respectively, and the corresponding second lines of sight are rays C1D1, C2D2, and C3D3.
[0076] The third set of data is collected at point E1, with a viewing angle from E1 to F1. Based on the preset probability density function of positional deviation, candidate collection locations are determined to be points E1, E2, and E3. The corresponding second probabilities (relative probabilities) are 1, 0.8, and 0.8, respectively, and the corresponding second lines of sight are rays E1F1, E2F2, and E3F3.
[0077] The intersection points formed by the intersection of rays A1B1, A2B2, A3B3, C1D1, C2D2, C3D3, E1F1, E2F2, and E3F3 are all candidate locations. The first probability of a candidate location is the product of the second probabilities corresponding to the two rays. For example, candidate location G is formed by the intersection of rays A1B1 and C1D1. The second probabilities corresponding to both rays are 1, so the first probability of candidate location G is 1*1=1. Candidate location H is formed by the intersection of rays C3D3 and E3F3. The second probabilities corresponding to both rays are 0.8, so the first probability of candidate location H is 0.8*0.8=0.64.
[0078] According to some embodiments, after determining multiple candidate positions and their first probabilities, at least one candidate position whose first probability is greater than or equal to a probability threshold can be used as at least one target candidate position; based on the corresponding first probability, the respective weights of the at least one target candidate position are determined; and the weighted sum result of the at least one target candidate position is used as the target position.
[0079] According to the above embodiment, by taking the weighted sum of several candidate positions with the highest probability as the target position of the point of interest, rapid positioning of the point of interest can be achieved.
[0080] According to other embodiments, after determining multiple candidate locations and their first probabilities, the multiple candidate locations can be clustered based on their respective first probabilities to obtain clustering results. The target location of the point of interest can then be determined based on the clustering results. Candidate locations that cannot be clustered with other candidate locations often have significant deviations. Clustering can filter out candidate locations with significant deviations, thereby improving the accuracy of point of interest location.
[0081] Current clustering algorithms are generally unable to cluster data containing probability information. To cluster multiple candidate locations containing a first probability, according to some embodiments, a first number of coordinate points corresponding to each of the multiple candidate locations may be generated, where the first number is the product of the first probability of the candidate location and a predetermined constant; and the multiple coordinate points corresponding to the multiple candidate locations may be clustered.
[0082] According to the above embodiment, based on a preset constant, the first probability of a candidate position can be converted into the number of coordinate points of the same position (first number), thereby facilitating clustering and enabling the clustering result to reflect probability information.
[0083] Figure 5 FIG. 1 shows a schematic diagram of converting the first probability of a candidate position into the same position coordinate point according to an embodiment of the present disclosure. Figure 5 As shown, the first probabilities of candidate positions A, B, C, D, and E are 0.2, 0.4, 0.3, 0.6, and 0.2, respectively. Based on the preset constant 10, the candidate position A with a probability of 0.2 can be converted into 2 (0.2*10) coordinate points A1-A2 at the same position, the candidate position B with a probability of 0.4 can be converted into 4 (0.4*10) coordinate points B1-B4 at the same position, the candidate position C with a probability of 0.3 can be converted into 3 (0.3*10) coordinate points C1-C3 at the same position, the candidate position D with a probability of 0.6 can be converted into 6 (0.6*10) coordinate points D1-D6 at the same position, and the candidate position E with a probability of 0.2 can be converted into 2 (0.2*10) coordinate points E1-E2 at the same position.
[0084] After converting each candidate position into a first number of coordinate points, each coordinate point may be clustered, and the target position of the point of interest may be determined based on the clustering result.
[0085] According to some embodiments, a density clustering algorithm (e.g., DBSCAN) may be used to cluster the coordinate points. In response to determining that the clustering result includes only one cluster, the mean of the core points in the cluster is used as the target location, where a core point is a coordinate point whose number of coordinate points in a preset neighborhood is greater than or equal to a threshold number. In response to determining that the clustering result includes two or more clusters, the current calculation result is discarded and the target location of the point of interest is not recalled.
[0086] According to the above embodiment, the density clustering algorithm (such as DBSCAN) can effectively filter out outliers and find the coordinate points that are most likely to be points of interest (i.e., core points). Determining the target position of the point of interest based on the core points can improve the accuracy of the point of interest positioning.
[0087] Figure 6 FIG. 1 shows a schematic diagram of the density clustering result according to an embodiment of the present disclosure. Figure 6 As shown in the figure, based on the density clustering algorithm, 17 coordinate points (A1-A2, B1-B4, C1-C3, D1-D6, and E1-E2) are clustered into one cluster. Among them, coordinate points B1-B4, C1-C3, and D1-D6 are core points. Accordingly, the mean of coordinate points B1-B4, C1-C3, and D1-D6 is used as the target location of the point of interest.
[0088] According to other embodiments, a partitioning clustering algorithm (such as K-means, K-medians, etc.) can be used to cluster the coordinate points, and the mean of each coordinate point in the target cluster is used as the target position. The target cluster is the cluster with the largest number of coordinate points in the clustering results.
[0089] According to the above embodiments, the partitioning and clustering algorithm generally has high computational efficiency, and thus can quickly determine the target location of the point of interest.
[0090] According to some embodiments, method 200 may further include the following steps: performing point of interest detection on the multiple images to determine a point of interest region in each image. Subsequently, image features of each point of interest region are extracted. Subsequently, based on the distances between the image features of different point of interest regions, at least three target images including the same point of interest are determined, wherein each set of collected data in the multiple sets of collected data corresponds to a target image, and the collection location is the capture location of the corresponding target image.
[0091] According to the above embodiment, by extracting points of interest through target detection technology and performing interest point matching, different images including the same point of interest can be accurately identified, thereby improving the accuracy of the original data used to locate the point of interest, thereby improving the accuracy of the point of interest positioning.
[0092] According to some embodiments, the aforementioned multiple images may be, for example, images containing points of interest captured by a user, a panoramic capture vehicle, or a user's vehicle. The point of interest region may be, for example, a signboard region of the point of interest. Point of interest detection may be achieved, for example, using object detection algorithms such as Faster-RCNN, Yolo-v5, and SSD. The detected point of interest region may be represented, for example, by a rectangular bounding box.
[0093] According to some embodiments, image features of the point of interest region may be extracted, for example, by a neural network.
[0094] According to some embodiments, the distance of image features may be, for example, a Euclidean distance.
[0095] According to some embodiments, for multiple target images including the same POI, the shooting direction of each target image, i.e., the orientation of the camera when capturing the target image, can be further obtained. Based on the shooting direction and the position of the POI region in the target image, the corresponding viewing angle can be determined.
[0096] According to an embodiment of the present disclosure, a device for determining the location of a point of interest is also provided. Figure 7 FIG. 7 shows a structural block diagram of an apparatus 700 for determining a point of interest location according to an embodiment of the present disclosure. Figure 7 As shown, the apparatus 700 includes:
[0097] an acquisition module 710 configured to acquire multiple sets of collected data for the same point of interest, wherein each set of collected data includes a corresponding collection position and a viewing angle, the viewing angle being a direction from the collection position to the point of interest, and the viewing angles of the multiple sets of collected data are different;
[0098] A first determining module 720 is configured to determine a plurality of candidate locations of the point of interest based on the plurality of sets of collected data; and
[0099] The second determining module 730 is configured to determine a target location of the point of interest based on the multiple candidate locations.
[0100] According to the embodiments of the present disclosure, the target location of a point of interest can be automatically determined based on multiple sets of data collected from different perspectives, thereby improving the efficiency of point of interest positioning. Furthermore, the multiple sets of data collected from different perspectives can complement and verify each other during the point of interest positioning process, thereby ensuring the accuracy of point of interest positioning.
[0101] According to some embodiments, the first determination module 720 is further configured to: determine multiple candidate positions of the point of interest and the first probability of each of the multiple candidate positions based on the multiple sets of collected data; and wherein, the second determination module 730 is further configured to: determine the target position of the point of interest based on the multiple candidate positions and the first probability of each of the multiple candidate positions.
[0102] According to some embodiments, the first determination module 720 includes: a first determination unit, configured to: for each group of the multiple groups of acquisition data: determine multiple candidate acquisition positions and the second probability of each of the multiple candidate acquisition positions based on the corresponding acquisition position and the probability density function of the preset position deviation; determine the second line of sight corresponding to each candidate acquisition position based on the corresponding perspective and the multiple candidate acquisition positions, wherein the second line of sight is a line passing through the corresponding candidate acquisition position and having the perspective; and a second determination unit, configured to take the intersection of any two second lines of sight among the multiple second lines of sight corresponding to the multiple groups of acquisition data as one of the multiple candidate positions, wherein the first probability of the candidate position is the product of the second probabilities corresponding to the corresponding two second lines of sight.
[0103] According to some embodiments, the second determination module 730 includes: a clustering unit, configured to cluster the multiple candidate positions based on the first probabilities of each of the multiple candidate positions to obtain a clustering result; and a third determination unit, configured to determine the target position of the point of interest based on the clustering result.
[0104] According to some embodiments, the clustering unit includes: a point acquisition unit, configured to generate a first number of coordinate points corresponding to each candidate position among the multiple candidate positions, wherein the first number is the product of the first probability of the candidate position and a preset constant; and a point clustering unit, configured to cluster the multiple coordinate points corresponding to the multiple candidate positions.
[0105] It should be understood that Figure 7 The modules or units of the apparatus 700 shown in FIG. 7 can be used in conjunction with the reference Figure 2 The steps in the method 200 described above correspond to each other. Therefore, the operations, features and advantages described above for the method 200 are also applicable to the apparatus 700 and the modules and units included therein. For the sake of brevity, some operations, features and advantages are not repeated here.
[0106] Although specific functions are discussed above with reference to specific modules, it should be noted that the functions of the various modules discussed herein may be separated into multiple modules, and / or at least some functions of multiple modules may be combined into a single module. For example, the first determination module 720 and the second determination module 730 described above may be combined into a single module in some embodiments.
[0107] It should also be understood that various techniques may be described herein in the general context of software hardware elements or program modules. Figure 7 The various modules described can be implemented in hardware or in hardware in combination with software and / or firmware. For example, these modules can be implemented as computer program code / instructions, which are configured to be executed in one or more processors and stored in a computer-readable storage medium. Alternatively, these modules can be implemented as hardware logic / circuits. For example, in some embodiments, one or more of modules 710-730 can be implemented together in a system on chip (SoC). SoC can include an integrated circuit chip (which includes a processor (e.g., a central processing unit (CPU), a microcontroller, a microprocessor, a digital signal processor (DSP), etc.), a memory, one or more communication interfaces, and / or one or more components in other circuits), and can optionally execute the received program code and / or include embedded firmware to perform functions.
[0108] According to an embodiment of the present disclosure, an electronic device is also provided, including: at least one processor; and a memory communicatively connected to the at least one processor, the memory storing instructions executable by the at least one processor, the instructions being executed by the at least one processor so that the at least one processor can execute the method for determining the location of a point of interest.
[0109] According to an embodiment of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is further provided, wherein the computer instructions are used to enable a computer to execute the above-mentioned method for determining the location of a point of interest.
[0110] According to an embodiment of the present disclosure, a computer program product is further provided, including a computer program, which implements the above-mentioned method for determining the position of a point of interest when executed by a processor.
[0111] refer to Figure 8 , a block diagram of an electronic device 800 that can serve as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, 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.
[0112] like Figure 8 As shown, electronic device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. Various programs and data required for the operation of device 800 can also be stored in RAM 803. Computing unit 801, ROM 802, and RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to bus 804.
[0113] Multiple components in the electronic device 800 are connected to the I / O interface 805, including: an input unit 806, an output unit 807, a storage unit 808, and a communication unit 809. The input unit 806 can be any type of device that can input information to the device 800. The input unit 806 can receive input digital or character information, and generate key signal input related to user settings and / or function control of the electronic device, and can include but is not limited to a mouse, a keyboard, a touch screen, a trackpad, a trackball, a joystick, a microphone and / or a remote control. The output unit 807 can be any type of device that can present information, and can include but is not limited to a display, a speaker, a video / audio output terminal, a vibrator and / or a printer. The storage unit 808 can include but is not limited to a magnetic disk, an optical disk. The communication unit 809 allows the device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and can include but is not limited to a modem, a network card, an infrared communication device, a wireless communication transceiver and / or a chipset, such as Bluetooth TM devices, 802.11 devices, Wi-Fi devices, WiMAX devices, cellular communication devices, and / or the like.
[0114] The computing unit 801 can be a variety of general-purpose and / or specialized processing components with processing and computing capabilities. Some examples of the computing unit 801 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 that run machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as method 200. For example, in some embodiments, method 200 can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the method 200 described above can be performed. Alternatively, in other embodiments, the computing unit 801 can be configured to perform method 200 in any other appropriate manner (e.g., by means of firmware).
[0115] Various embodiments of the systems and techniques described above 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), system-on-chip systems (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 are executable and / or interpreted on a programmable system that includes 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.
[0116] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can 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.
[0117] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can 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 can 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.
[0118] 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).
[0119] The systems and techniques described herein can 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 having 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 can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0120] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact through a communication network. The client-server relationship arises through computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, a server in a distributed system, or a server integrated with a blockchain.
[0121] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed 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. This is not limited herein.
[0122] Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples, but is only limited by the claims after authorization and their equivalents. Various elements in the embodiments or examples may be omitted or replaced by their equivalents. In addition, the steps may be performed in an order different from that described in this disclosure. Further, the various elements in the embodiments or examples may be combined in various ways. It is important that as technology evolves, many of the elements described herein may be replaced by equivalent elements that appear after this disclosure.
Claims
1. A method for determining the location of a point of interest, comprising: Acquire multiple sets of collected data for the same point of interest, wherein each set of collected data includes a corresponding collection position and a viewing angle, the viewing angle being a direction from the collection position to the point of interest, and the viewing angles of the multiple sets of collected data are different; Determining, based on the multiple sets of collected data, multiple candidate locations of the point of interest and first probabilities of each of the multiple candidate locations based on the multiple sets of collected data, including: For each set of collected data in the multiple sets of collected data: Determining a plurality of candidate acquisition positions and a second probability of each of the plurality of candidate acquisition positions based on a probability density function of the corresponding acquisition positions and a preset position deviation; Determining a second sight line corresponding to each candidate acquisition position based on the corresponding viewing angle and the plurality of candidate acquisition positions, wherein the second sight line is a line passing through the corresponding candidate acquisition position and having the viewing angle; and Using an intersection of any two second sight lines from among the plurality of second sight lines corresponding to the plurality of sets of collected data as a candidate position from among the plurality of candidate positions, wherein a first probability of the candidate position is a product of second probabilities corresponding to the two second sight lines; and Determining the target position of the point of interest based on the multiple candidate positions includes: determining the target position of the point of interest based on the multiple candidate positions and the first probabilities of the multiple candidate positions.
2. The method according to claim 1, wherein Determining multiple candidate locations of the point of interest based on the multiple sets of collected data includes: Determining a plurality of first sight lines corresponding to the plurality of sets of collected data, wherein each of the plurality of first sight lines is a line passing through a corresponding collection position and having a corresponding viewing angle; and An intersection point of any two first sight lines among the multiple first sight lines is used as a candidate position among the multiple candidate positions.
3. The method according to claim 2, wherein Determining a target location of the point of interest based on the multiple candidate locations includes: Clustering the multiple candidate positions to obtain a clustering result; and Based on the clustering result, a target position of the point of interest is determined.
4. The method according to claim 1, wherein Determining the target position of the point of interest based on the multiple candidate positions and the first probabilities of the multiple candidate positions includes: Clustering the plurality of candidate positions based on the respective first probabilities of the plurality of candidate positions to obtain a clustering result; and Based on the clustering result, a target position of the point of interest is determined.
5. The method according to claim 4, wherein Clustering the plurality of candidate positions based on the respective first probabilities of the plurality of candidate positions includes: For each candidate position among the plurality of candidate positions, generating a first number of coordinate points corresponding to the candidate position, wherein the first number is a product of a first probability of the candidate position and a preset constant; and Clustering is performed on the multiple coordinate points corresponding to the multiple candidate positions.
6. The method according to claim 5, wherein: The clustering is density clustering, and wherein, based on the clustering result, determining the target position of the point of interest comprises: In response to determining that the clustering result includes only one cluster, the mean of the core points in the cluster is used as the target position, wherein the core points are coordinate points whose number within a preset neighborhood is greater than or equal to a number threshold.
7. The method according to claim 5, wherein: The clustering is partition clustering, and wherein, based on the clustering result, determining the target position of the point of interest comprises: The mean of the coordinate points in the target cluster is used as the target position, wherein the target cluster is the cluster including the largest number of coordinate points in the clustering result.
8. The method according to claim 1, wherein Determining the target position of the point of interest based on the multiple candidate positions and the first probabilities of the multiple candidate positions includes: taking at least one candidate position having a first probability greater than or equal to a probability threshold as at least one target candidate position; determining a weight of each of the at least one target candidate position based on the corresponding first probability; and A weighted sum of the at least one target candidate position is used as the target position.
9. The method according to any one of claims 1 to 8, wherein An absolute value of a difference in viewing angles between any two sets of collected data among the multiple sets of collected data is greater than a parallax threshold.
10. The method according to any one of claims 1 to 8, further comprising: Perform interest point detection on multiple images to determine the interest point area in each image; Extract image features of each interest point area; as well as Based on the distances of image features of different interest point areas, at least three target images including the same interest point are determined, wherein each set of the multiple sets of collected data corresponds to a target image, and the collection position is the shooting position of the corresponding target image.
11. A device for determining a location of a point of interest, comprising: an acquisition module configured to acquire multiple sets of collected data for the same point of interest, wherein each set of collected data includes a corresponding collection position and a viewing angle, the viewing angle being a direction from the collection position to the point of interest, and the viewing angles of the multiple sets of collected data are different; A first determination module is configured to determine multiple candidate locations of the point of interest based on the multiple sets of collected data, wherein the first determination module is further configured to: determine multiple candidate locations of the point of interest and first probabilities of each of the multiple candidate locations based on the multiple sets of collected data, wherein the first determination module includes: The first determining unit is configured to: for each set of collected data in the multiple sets of collected data: Determining a plurality of candidate acquisition positions and a second probability of each of the plurality of candidate acquisition positions based on a probability density function of the corresponding acquisition positions and a preset position deviation; Determining a second sight line corresponding to each candidate acquisition position based on the corresponding viewing angle and the plurality of candidate acquisition positions, wherein the second sight line is a line passing through the corresponding candidate acquisition position and having the viewing angle; and a second determining unit configured to select an intersection of any two second lines of sight among the plurality of second lines of sight corresponding to the plurality of sets of collected data as a candidate position among the plurality of candidate positions, wherein the first probability of the candidate position is a product of second probabilities corresponding to the two second lines of sight; and The second determination module is configured to determine the target position of the point of interest based on the multiple candidate positions, wherein the second determination module is further configured to determine the target position of the point of interest based on the multiple candidate positions and the first probabilities of each of the multiple candidate positions.
12. The device according to claim 11, wherein The second determining module includes: a clustering unit configured to cluster the plurality of candidate positions based on the respective first probabilities of the plurality of candidate positions to obtain a clustering result; and The third determining unit is configured to determine a target position of the point of interest based on the clustering result.
13. The device according to claim 12, wherein The clustering unit comprises: a point acquisition unit configured to generate, for each candidate position among the plurality of candidate positions, a first number of coordinate points corresponding to the candidate position, wherein the first number is a product of a first probability of the candidate position and a preset constant; and The point clustering unit is configured to cluster the multiple coordinate points corresponding to the multiple candidate positions.
14. An electronic device comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; in 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 10.
15. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to make a computer execute the method according to any one of claims 1-10.
16. A computer program product comprising a computer program, wherein When the computer program is executed by a processor, the method according to any one of claims 1 to 10 is implemented.
Citation Information
Patent Citations
Position determination method and device of interest points, electronic equipment and storage medium
CN112200190A
Radar data processing method, system and device, electronic equipment and storage medium
CN112698281A