Method, system, and computer program (evaluation of device placement)
The method addresses the challenge of optimizing beacon placement in indoor positioning systems by using a geometric mean-based evaluation metric, enhancing accuracy and reducing computational costs.
Patent Information
- Application Number
- JP2021170617
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-10-27
- Filing Date
- 2021-10-19
- Publication Date
- 2025-07-09
- Estimated Expiration
- 2041-10-19
AI Technical Summary
Existing beacon-based indoor positioning systems face challenges in scaling up due to the need for specialized knowledge in device placement, making it difficult to balance computational cost and evaluation accuracy.
A computer-implemented method and system for evaluating beacon placement using a positioning error estimation system that calculates an evaluation metric based on the probability distribution of estimated positions, approximated by a geometric mean, to determine optimal device placement.
Accurately evaluates beacon placement while balancing computational cost and evaluation accuracy, providing a more precise positioning error estimation than existing methods, even under sparse beacon distributions.
Smart Images

Figure 0007705201000017 
Figure 0007705201000018 
Figure 0007705201000019
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to assistive technologies for placing a set of devices, and more particularly to a method for evaluating the placement of a set of devices in an environment.
Background Art
[0002] To provide a navigation application that can be used in an indoor environment, various indoor positioning (localization, or positioning) technologies have been considered. Among these positioning technologies, a technology based on measuring the wireless signal strength of Wi-Fi (trademark) or Bluetooth (trademark) Low Energy (BLE), so-called RSS (Received Signal Strength), is one of the most promising methods because of its relatively low infrastructure cost, no need for special hardware, and potentially high accuracy.
Prior Art Documents
Non-Patent Documents
[0003]
Non-Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] An object of the present invention is to provide a technology capable of evaluating the placement of devices.
Means for Solving the Problems
[0005] According to an embodiment, a method, a system, and a computer program product are disclosed.
[0006] According to an embodiment of the present disclosure, a computer-implemented method for evaluating the arrangement of a set of devices in an environment is provided. The method includes selecting at least a plurality of neighboring positions for a target position in the environment. The method also includes calculating, for each of the at least a plurality of neighboring positions, the probability of the estimated position conditioned on the target position by using an observation model for obtaining a set of observed values when the positions are given under a certain arrangement. The calculation can be performed approximately. The method further includes calculating an evaluation metric by using the probabilities calculated for each of the at least a plurality of neighboring positions.
[0007] A computer system and a computer program product related to one or more aspects of the present disclosure are also described and claimed herein.
[0008] According to an embodiment of the present disclosure, a computer-implemented method for evaluating the arrangement of a set of devices in an environment is provided. The method is based on the estimated position
Number
Number
Number
[0009] Additional features and advantages are realized by the techniques of the present disclosure. Other embodiments and aspects of the present disclosure are described in detail herein and are considered a part of the claimed invention.
Brief Description of the Drawings
[0010] The drawings included in this application are incorporated herein and constitute a part of this specification. These show embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure. The drawings are merely illustrative of specific embodiments and do not limit the present disclosure.
[0011]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
[0012] Although the present disclosure is adaptable to various modifications and alternative forms, specific details thereof are shown by way of example in the drawings and will be described in detail. However, it should be understood that the intention is not to limit the present disclosure to the specific embodiments described. Conversely, it is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure.
DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, the present disclosure will be described with respect to specific embodiments. However, it will be understood by those skilled in the art that the embodiments described below are only mentioned by way of example and are not intended to limit the scope of the present disclosure.
[0014] To provide a navigation application that can be used in an indoor environment, various indoor positioning technologies are being considered. Among such positioning technologies, a technology based on measuring the radio signal strength of Wi-Fi (trademark) or Bluetooth (trademark) Low Energy (BLE), so-called RSS (Received Signal Strength), is one of the most promising methods because of its relatively low infrastructure cost, no need for special hardware, and potentially high accuracy.
[0015] BLE-based positioning technology may require additional installation of signal-emitting devices such as beacons. However, since designing the device placement may require specialized knowledge about indoor positioning methods, scaling up a beacon-based positioning system remains a difficult task.
[0016] Therefore, a new technology that can evaluate the device placement while balancing the computational cost and the evaluation accuracy will be needed.
[0017] One or more embodiments according to the present disclosure are directed to a computer-implemented method, a computer system, and a computer program product for evaluating the placement of a set of devices in a target environment. The placement of the set of devices (beacon placement) for indoor positioning is determined, and the positioning error with respect to a target position in the target environment or space is also determined. The location where the beacon is to be installed is calculated as an evaluation metric for evaluating the placement.
[0018] First, with reference to FIGS. 1-3, a computer system for evaluating beacon placement for indoor positioning according to some embodiments of the present disclosure will be described. Next, with reference to FIGS. 4-7, a computer-implemented method for evaluating beacon placement for indoor positioning according to some embodiments of the present disclosure will be described. Next, with reference to FIGS. 8-11, an experimental study on a novel beacon placement evaluation according to some embodiments of the present disclosure will be described. Finally, with reference to FIG. 12, the hardware configuration of a computer system according to one or more embodiments of the present disclosure will be described.
[0019] System Configuration Hereinafter, with reference to FIG. 1, a block diagram of a beacon placement evaluation system including a positioning error estimation system according to some embodiments of the present disclosure will be described.
[0020] As shown in FIG. 1, the system 100 can include a positioning error estimation system 110 for performing positioning error estimation and a radio wave propagation model 150 used in combination with the positioning error estimation system 110.
[0021] The positioning error estimation system 110 can be configured to receive input data describing the conditions for positioning error estimation and output the results of positioning error estimation under given conditions.
[0022] The conditions for positioning error estimation can include the target environment and the arrangement 102 of a set of beacons in the target environment, and can include one or more parameters for positioning error estimation.
[0023] The beacons whose configurations are evaluated can be BLE or Wi-Fi (trademark) beacons used for indoor positioning based on RSS (Received Signal Strength) measurement. In some embodiments, each beacon is a signal emitting device that can transmit or emit its identifier all at once through radio waves, is fixed at a specific location, and can cover a specific area. A beacon can generally be defined as a device that transmits a signal by physical phenomena such as radio waves, sound waves, light, etc. Note that the "access points" used in Wi-Fi-based indoor positioning can also be included in the scope of the term "beacon".
[0024] In beacon-based indoor positioning, a receiver can receive radio waves emitted from beacons arranged at specific locations within a target environment and estimate its own position based on the RSS obtained from the beacons. The receiver can be any device, and examples of receivers include, but are not limited to, smartphones, tablet computers, smart suitcases, robots, etc.
[0025] In some embodiments, the target environment in which a set of beacons is arranged may be given in the form of 2D (two-dimensional) data. A target area where radio waves propagate and the receiver can move can be defined as the geometric shape within the target environment. The target area can include, for example, passages and indoor spaces within a building in the case of indoor positioning. The number and locations of the beacons can be defined within the target environment. In some embodiments, one or more obstacles (such as walls, windows, etc.) that attenuate, reflect, or diffract radio waves or a combination thereof may also be arranged within the target environment.
[0026] In some embodiments, the position (or location) and the distance between two positions can be given in two-dimensional coordinates (e.g., (x, y), (latitude, longitude)). However, two dimensions are just an example, and in some embodiments, three-dimensional coordinates (e.g., (x, y, z), (latitude, longitude, level / altitude)) can also be envisioned.
[0027] Regarding the parameters, the granularity of the positioning error estimation (e.g., grid size / resolution, etc.) can be given. Also, the parameters of the radio wave propagation model can be given under the conditions of the positioning error estimation.
[0028] The radio wave propagation model 150 provides a characterization of radio wave propagation and can predict RSS as a function of the distance (or range) between the beacon and the receiver. In some embodiments, the radio wave propagation model 150 can also consider the azimuth angle with respect to a reference direction instead of or in addition to the distance. The radio wave propagation model 150 can provide to the positioning error estimation system 110 an observation model (or probability distribution) for the observation of the RSS vector (or set of RSS values) conditioned on the position, e.g., a model for how strong the intensities observed from a plurality of beacons are at a given position.
[0029] As an example of a radio wave propagation model, there is the LDPL (Log-Distance Path Loss) model that predicts the path loss encountered by a signal over a certain distance within the target environment, but it is not limited thereto. The aforementioned conditions can include the path loss at the reference distance when using the LDPL model. Other examples of radio wave propagation models include the ITU (International Telecommunication Union) model for indoor attenuation, models for outdoor attenuation such as the ITU terrain model, and models for free space attenuation such as free space path loss.
[0030] For a given condition, the result 104 provided by the positioning error estimation system 110 can include, but is not limited to, the positioning error estimated for any position, a map of the positioning error distribution across the entire target environment, graphical representations such as a histogram of the statistical analysis of the estimated positioning error, statistical measures of the estimated positioning error (e.g., mean, median, quantiles, etc.), or a combination thereof.
[0031] In a specific usage example, the operator can input 102 candidates for beacon placement into the positioning error estimation system 110, obtain the evaluation result 104 for the candidates, and further use this to update the candidates for beacon placement for subsequent estimations. The operator can design the beacon placement in an interactive manner by checking the positioning error distribution calculated for the candidates for beacon placement.
[0032] In other specific usage examples, the operator can, for example, list a plurality of candidates for beacon placement in advance by conducting a site survey, and then select an optimal subset from the candidates based on the statistical measures of the positioning error calculated for the plurality of candidates for beacon placement. The operator can optimize the beacon placement so as to optimize the statistical measure (e.g., minimize the mean of the positioning error) by changing conditions such as the location of the beacon.
[0033] FIG. 2 includes further details regarding the positioning error estimation system according to some embodiments of the present disclosure. FIG. 2 shows a detailed block diagram of the positioning error estimation system 110. The positioning error estimation system 110 shown in FIG. 2 can include a near point selection module 112, a probability distribution calculation module 114, an error estimation module 116, and a result generation module 118.
[0034] Positioning and positioning error Before explaining each of the modules 112 - 118 that make up the positioning error estimation system 110, a method for estimating the position of a receiver and a method for evaluating the positioning error for a given beacon placement will be explained.
[0035] Estimating the position of the receiver from the RSS vector obtained from the beacon can be said to be an operation of tracing back the causal relationship of observing the RSS vector at any given position. Here, an observation model can be defined that represents the relationship of observing the RSS vector r (=(r1,...,rM)T) at position x (=(x,y)T) under a given arrangement Xb(=(xb1,....,xbM)). Note that M can be the number of beacons arranged in the target environment. Since the value of the received signal strength observed at a given position varies due to various factors, the observation model can be appropriately represented by the conditional probability distribution p(r|x) of observing the RSS vector r given a position x. The position x of the receiver can be estimated as the probability p(x|r) of the position x when the RSS vector r is observed, based on the conditional probability distribution p(r|x). The RSS vector r can be a set of observed values in some embodiments.
[0036] For a given observation model p(r|x), the positioning error can be evaluated as the variance or the square root of the variance of the probability distribution p(x^|x) of the estimated position x^ given the true position x. The probability distribution p(x^|x) can be calculated as follows as the arithmetic expectation value of the posterior probability distribution p(x^|r) of the estimated position x^ given the RSS vector r, with respect to the RSS vector r predicted at the true position x.
Equation
[0037] In the formula, a parameter with a hat (^) accent represents the estimated value of a specific parameter, and can be denoted as "b^" in the text of this specification. Note that here "b" represents a specific parameter and "^" represents a hat.
[0038] Since it is difficult to calculate the expected value on the right side of the above formula (1), in some embodiments, the positioning error can be approximately calculated based on an alternative function \(\widetilde{p}_0(\hat{x}|x)\) that approximates the probability distribution \(p(\hat{x}|x)\) as follows.
Number
[0039] Here, the arithmetic expectation (average) \(E_p(r|x)\) in formula (1) can be approximated by the geometric expectation (average) \(G_p(r|x)\), and further multiplied by a normalization constant so that the function \(\widetilde{p}_0(\hat{x}|x)\) satisfies the normalization condition. \(X\) in the second formula can be a random variable. In the formula, the function with a tilde (~) accent can be represented as an approximation function, and can be denoted as "\(\widetilde{f}\)" in the text of this specification. Note that \(f\) represents a function. Also, note that \(\hat{\xi}\) can be used as an alternative for normalizing the estimated position \(\hat{x}\).
[0040] As described above, the alternative function \(\widetilde{p}_0(\hat{x}|x)\) can be obtained by replacing the arithmetic expectation (average) \(E_p(r|x)\) of formula (1) with the geometric expectation (average) \(G_p(r|x)\). The geometric expectation (average) \(G_p(r|x)\) can be normalized by a normalization constant (the denominator of formula (2)) so that the function \(\widetilde{p}_0(\hat{x}|x)\) satisfies the normalization condition, whereby the alternative function \(\widetilde{p}_0(\hat{x}|x)\) can be treated as a probability.
[0041] Since the function \(\widetilde{p}_0(\hat{x}|x)\) only contains the arithmetic expectation \(E_p(r|x)[\log p(r|\hat{x})]\) of the log-likelihood that can be evaluated analytically, it can be easily calculated.
[0042] As a scalar metric for evaluating the positioning error for any position \(x\), the mean squared error \(E[(\hat{x} - x)^2]\) 2 can be approximately evaluated using the function \(\widetilde{p}_0(\hat{x}|x)\). In particular, the mean squared error \(E[(\hat{x} - x)^2]\) 2 is calculated by numerical integration as follows.
Number
[0043] A set of discrete points can be defined within the target environment for numerical integration. \(x^{(j)}\) represents the \(j\)th discrete point within the region where the function \(p_0(x|x)\) is expected to be large, and \(N_x\) represents a subset of the discrete points within that region.
[0044] It should be noted that the MSE (Mean Squared Error) can be used as the evaluation metric for the above formula (3). However, other error metrics such as MAE (Mean Absolute Error), RMSE (Root Mean Squared Error), RMSPE (Root Mean Square Percentage Error), and MAPE (Mean Absolute Percentage Error) can also be assumed. Note that MSE can correspond to the variance of the probability distribution \(p(x|x)\), and RMSE corresponds to the square root of the variance of the probability distribution \(p(x|x)\).
[0045] Derivation of the alternative function \(p(x|x)\) The approximation of the probability distribution \(p(x|x)\) will be described in more detail below. The probability distribution \(p(x|x)\) of the estimated position \(x\) given the true position \(x\) can be evaluated as follows as the expected value of the posterior probability distribution \(p(x|r)\) for at least one set of RSS vectors \(r\).
Number
[0046] Let \(p_q(x|x)\) be the approximate probability density function. In the formula, the expected value \(E_p(r|x)[p(x|r)]\) is the generalized mean
Number
Number
[0047] When q = 1, the approximate probability density function p~1(x^|x) corresponds to the original probability density function p(x^|x).
[0048] As an alternative function to approximate the original probability density function p(x^|x), as follows, instead of the arithmetic mean (q = 1), a geometric mean (obtained by taking the limit when q approaches zero (q→0)) can be used.
Number
[0049] As described above, since the approximate probability distribution p~0(x^|x) only contains the term Ep(r|x)[log p(r|x^)] that can be analytically evaluated and calculated in a manner based on the given observation model p(r|x), it can be calculated more easily compared to the original probability density function p(x^|x).
[0050] Exemplary form of the observation model P(r|x) The observation model p(r|x) can be given as the product of the probabilities p(ri|x) for a plurality of beacons (i = {1,..., M}). When the radio wave propagation model is the LDPL model, the specific form of the observation model p(r|x) can be given as follows.
Number
[0051] FIG. 3 shows an overview of the radio wave propagation model 150 used in combination with the positioning error estimation system 110. As shown in the graph 210 of FIG. 3, as the distance di between the position x of the receiver 202 and the location xbi of the beacon (i) 204 increases, the intensity (RSS) of the received radio wave signal may decrease. In some embodiments, it is assumed that the RSS of each beacon can follow a normal distribution N(r; mi(x), σ2) having an average mi(x) and a standard deviation σ. However, other distributions can also be assumed for the RSS.
[0052] Note that the LDPL model is an example of a radio wave propagation model, and it is also possible to use a more sophisticated radio wave propagation model or simulator. In some embodiments, instead of or in addition to the distance di(x), a radio wave propagation model that takes into account the azimuth angle qi of the direction of the receiver 202 as seen from the beacon (i) 204 with respect to the reference direction can also be used. The radio wave propagation model can, in some embodiments, correspond to a signal propagation model.
[0053] Details of the modules of the positioning error estimation system Returning to FIG. 2, the modules 112 - 118 of the positioning error estimation system 110 will be described in more detail.
[0054] The neighborhood point selection module 112 may be configured to select at least a number of neighborhood positions x^(j) for each target position x(i) in the target environment where the function p~0(x^(j)|x(i)) may be expected to be large. In some embodiments, a set of discrete points may be defined in the target environment. Each of the neighborhood positions x^(j) and the target position x(i) may be given as one of the discrete points in the set. The set of neighborhood positions x^(j) for the target position x(i) may be represented as Nx(i). An index j may be added to the set of neighborhood positions Nx(i) if the discrete point x^(j) satisfies a predefined condition among all the discrete points defined in the target environment. The index may be a metric for judging the quality of the placement, for example, a metric for measuring the effectiveness of the placement.
[0055] In some embodiments, the multiple neighboring locations can be selected by finding locations within a range defined by an RSS vector r(x(i)) predicted at the target location x(i) in a manner based on the observation model p(r|x). The predetermined conditions for selecting the neighboring locations are described in more detail below.
[0056] The probability distribution calculation module 114 can be configured to approximately calculate, for each target position x(i), a probability distribution p~0(x^(j)|x(i)) of an estimated position x^(j) conditioned on the target position x(i) over neighboring positions x^(j) (j is included in Nx(i)) by using the observation model p(r|x) provided by the radio wave propagation model 150.
[0057] In some embodiments, the probability \(p_{\sim0}(\hat{x}^{(j)}|x^{(i)})\) of the estimated position \(\hat{x}^{(j)}\) conditioned on the target position \(x^{(i)}\) can be calculated by computing the geometric mean \(G_p(r|x^{(i)})\). The geometric mean \(G_p(r|x^{(i)})\) is calculated by computing the arithmetic expected value (average) \(E_p(r|x^{(i)})[\log p(r|\hat{x}^{(j)})]\) of the log-likelihood of the estimated position \(\hat{x}^{(j)}\) with respect to the RSS vector \(r(x^{(i)})\) predicted at the target position \(x^{(i)}\), and then computing the exponential function \(\exp[E_p(r|x^{(i)})[\log p(r|\hat{x}^{(j)})]]\) of the expected value. The geometric mean \(G_p(r|x^{(i)})\) can be normalized by a normalization constant calculated from the expected value \(E_p(r|x^{(i)})[\log p(r|\hat{x}^{(j)})]\) calculated for a set of neighboring positions \(\hat{x}^{(j)}\) (\(j\) is included in \(N_{x^{(i)}}\)). As described above, the geometric mean \(G_p(r|x^{(i)})\) normalized by the normalization constant can approximate the probability distribution \(p(\hat{x}|x^{(i)})\) of the estimated position \(\hat{x}\) conditioned on the target position \(x^{(i)}\). The geometric mean \(G_p(r|x^{(i)})\) may be suitable when the observation model \(p(r|x)\) is given in the form of a product of probabilities \(p(r_i|x)\) of normal distributions for the beacons (\(i = \{1,\ldots,M\}\)).
[0058] In some embodiments, the probability \(p_{\sim q}(\hat{x}^{(j)}|x^{(i)})\) of the estimated position \(\hat{x}^{(j)}\) conditioned on the target position \(x^{(i)}\) can be calculated by computing a special case \(M_qp(r|x^{(i)})[p(\hat{x}^{(j)}|r)]\) of the generalized mean of the likelihood of the estimated position \(\hat{x}^{(j)}\) with respect to the RSS vector \(r(x^{(i)})\) predicted at the target position \(x^{(i)}\), and this can be normalized by a normalization constant. When taking the limit as \(q\) approaches zero (\(q\rightarrow0\)), this special case can become the geometric mean \(G_p(r|x^{(i)})\), and the probability \(p_{\sim q}(\hat{x}^{(j)}|x^{(i)})\) can be equivalent to that in some embodiments. Depending on the details of the observation model \(p(r|x)\), other special cases of the generalized mean \(M_qp(r|x^{(i)})\) can also be envisioned.
[0059] The error estimation module 116 can be configured to calculate an evaluation metric for each target position x^(i) by using the probability distribution p~0(x^(j)|x(i)) calculated over the neighboring positions x^(j) (where j is included in Nx(i)). In some embodiments, the evaluation metric for evaluating the positioning error can be defined as the variance of the probability distribution p~0(x^(j)|x(i)) as follows. [Number]
[0060] The target position x(i) can be changed within the set X (={x(1), x(2),..., x(N)}) of discrete points. In this way, an evaluation metric can be obtained for each of the target positions within the set X (={x(1), x(2),..., x(N)}). The result generation module 118 can be configured to generate and output at least one selected from the group consisting of the positioning error estimated for any position x(i), a map of the positioning error distribution over the entire target environment X (={x(1), x(2),..., x(N)}), a graphical representation such as a histogram of the statistical analysis of the estimated positioning error, a statistic of the estimated positioning error (e.g., mean, median, quantile, etc.), or a combination thereof.
[0061] In some embodiments, the error estimation module 116 can be further configured to generate indicators of weaknesses or improvement plans or both for a given beacon arrangement based on the aforementioned results by performing rule-based analysis, machine learning, etc.
[0062] In some embodiments, the positioning error estimation system 110 and the radio wave propagation model 150 described with reference to FIG. 1, and the modules 112-118 of the positioning error estimation system 110 described with reference to FIG. 2 can be implemented as software modules including program instructions or data structures or both, which are used in combination with hardware components such as processors and memories, can be implemented as hardware modules including electronic circuits, or can be implemented as a combination thereof.
[0063] The modules 112-118 may be implemented on a single computer device such as a personal computer and a server machine, or may be implemented on a plurality of devices in a distributed manner, such as a computer cluster of computer devices, a client-server system, a cloud computing system, and an edge computing system.
[0064] Hereinafter, with reference to FIGS. 4-6, a novel process for estimating a positioning error for a given beacon arrangement according to some embodiments of the present disclosure will be described. FIG. 4 is a flowchart showing a novel process for estimating a positioning error. The process shown in FIG. 4 can be executed by a processing circuit such as a processing unit of a computer system implementing the positioning error estimation system 110 shown in FIG. 1 and its modules 112-118 shown in FIG. 2.
[0065] The process shown in FIG. 4 can start at step S100, for example, in response to receiving a positioning error estimation request from an operator.
[0066] In step S101, the processing unit can acquire input data of the beacon arrangement and the target environment in which the beacon is installed. The request received in step S100 can specify the conditions for positioning error estimation, including the beacon arrangement and the target environment. In step S102, the processing unit can set discrete points X(={x(1), x(2),..., x(N)}) in the target environment.
[0067] Figure 5 shows an overview of the discrete points and beacon arrangements set within the target environment. Figure 5 can illustrate the case of using a square grid or lattice. In Figure 5, a set of vertical lines 222 and a set of horizontal lines 224 can be defined within the target environment 220. The vertical lines 222 and the horizontal lines 224 can each have a predetermined interval. The grid points 226 can be defined as the intersections of the vertical lines 222 and the horizontal lines 224. In Figure 5, a set of beacons (i = 1,....M) 204.1, 204.2, 204.3, 204.4, 204.5 to 204.n are arranged within the target environment, the beacon arrangement is represented by Xb (= (xb1,...., xbM)), and the location xbi of the beacon (i) is given by the two-dimensional coordinates (xbi, ybi)T.
[0068] In some embodiments, the region of the position x within the target environment can be discretized into equally spaced grid points, particularly a square lattice. However, the way of discretizing the region of x within the target environment may not be limited to a square lattice. In some embodiments, equally spaced grid points such as a hexagonal lattice other than a square lattice, and discrete points with non-uniform intervals can also be assumed.
[0069] Returning to Figure 4, for each discrete point x(i) in the set X, the processing unit can execute the loop from step S103 to step S108. The discrete point of interest being processed in the current loop can be called the target point (position) x(i).
[0070] In step S104, the processing unit can select a neighboring point (position) x(j) (j is included in Nx(i)) for the target point x(i), and the RSS vector r(x(j)) predicted at this neighboring point x(j) can be within a predetermined range with respect to the target point x(i). The predetermined range can be determined by the RSS vector r(x(i)) predicted at the target point x(i) by using the radio wave propagation model 150.
[0071] In some embodiments, the j-th point x(j) that satisfies the following condition: r(x^((i)))-3σ≦r(x^((j)))≦r(x^((i)))+3σ is identified as a neighboring point, and its index j is added to the set Nx(i) of indices of the neighborhood of x(i). For all components of the RSS vector, a subset of elements that satisfy the above conditions can be extracted from the set X.
[0072] Note that the extraction of the subset from the set X can be made optional. However, in order to balance the computational cost with respect to the number of beacons, it may be preferable to perform the extraction of the subset. As the number of beacons increases, the computational cost typically tends to increase, but the accuracy also improves. Therefore, the number of neighboring points that need to be evaluated is reduced. Thus, by extracting the neighboring point x(j) from the set X of discrete points, the increase in computational cost associated with the increase in the number of beacons can be suppressed.
[0073] FIG. 6 shows a method of extracting neighboring points x(j) around a target point x(i)228 within a target environment 220. As shown in FIG. 6, neighboring points x(j)229 included in a predetermined range 230 given by the target point x(i) can be extracted to generate a subset (Nx(i)). Note that the grid of the target point x(i) and the grid of the neighboring point x(j) may be shared in some embodiments. However, in some embodiments, as shown in FIG. 7, the grid for the neighboring point x(j) may be different from the grid for the target point x(i).
[0074] FIG. 7 shows a method of extracting neighboring points around a target point within a target environment 250 according to some embodiments. A first set 252 of vertical lines and a first set 254 of horizontal lines are defined within the target environment 250. As shown in FIG. 7, a second set 262 of vertical lines and a second set 264 of horizontal lines are also defined. Grid points 256 for the target point x(i) are defined as the intersections of the first vertical line 252 and the first horizontal line 254. Grid points 260 for the neighboring points x(j) are defined as the intersections of the second vertical line 262 and the second horizontal line 264. In the embodiment shown in FIG. 7, the grid for the neighboring points x(j) can be made denser than the grid for the target point x(i).
[0075] Returning to FIG. 4, in step S105, the processing unit can calculate the arithmetic expected value Ep(r|x(i))[log p(r|x^(j))] of the log-likelihood for each neighboring point x^(j) (where j is included in Nx(i)) based on the radio propagation model 150. The expected value Ep(r|x(i))[log p(r|x^(j))] of the log-likelihood for each neighboring point x^(j) before normalization can be set to an array f(x(j);x(i)) stored in the memory space.
[0076] In step S106, for each of the neighboring points x^(j) (where j is included in the subset Nx(i)), the processing unit can calculate an approximate probability p~0(x^(j)|x(i)) of the estimated position x^(j) conditioned on the target position x(i) by performing normalization as follows.
Equation
[0077] It should be noted that normalization can be performed so that the function p~0(x^(j)|x(i)) satisfies the normalization condition, whereby the function p~0(x^(j)|x(i)) can be treated as a probability. However, in some embodiments, normalization can be omitted. The distribution of f(x(j);x(i)) can generally be obtained such that it is high near the target position x(i) and low as the distance from the target position x(i) increases. The probability p~0(x^(j)|x(i)) can be calculated in some way considering the shape (spread or narrowing, curvature, etc.) of the distribution f(x(j);x(i)) around the target position x(i).
[0078] In step S107, the processing unit can calculate the evaluation metric by using the approximate probability distribution p~0(x^(j)|x(i)). MSE(x(i)) can be calculated as follows.
Number
[0079] Another evaluation metric, RMSE(x(i)), can be calculated as follows.
Number
[0080] When the process from step S104 to step S107 is executed for all discrete points x(i) in the set X, the process can exit the loop and proceed to step S109.
[0081] In step S109, the processing unit can generate a result based on the evaluation metric calculated for the discrete points x(i) in the set X. In step S110, the processing unit outputs the generated result, and in step S111, the process can end.
[0082] According to the above-described embodiments, as will also be shown in the experimental research section described later, it is possible to provide a novel technique capable of evaluating the device placement while taking a balance between the calculation cost and the evaluation accuracy.
[0083] Regarding the evaluation of beacon placement, in some appropriate cases, related techniques for quantifying the positioning accuracy by using the lower bound of the positioning error (Cramér-Rao Lower Bound), which is defined by a radio wave propagation model such as the LDPL model and the geometric placement of the receiver and the beacon, may be used. The lower bound of the covariance of the unbiased estimator of the position x^ (Cramér-Rao Lower Bound) can be given by the inverse of the FIM (Fisher Information Matrix) J(x). For example, the trace (J(x)^-1), which is the lower bound of the mean square error, can be used as a metric for evaluating the positioning accuracy.
[0084] However, this related technique can only be applied to the evaluation of the positioning accuracy when the position can be accurately estimated from the observed RSS values, and it is difficult to evaluate the positioning accuracy when the positioning accuracy is low, so it is not suitable for the design of beacon placement. Specifically, this related technique is considered to be effective only when the probability density function of the estimated position can be approximated by a normal distribution. When it is difficult to approximate the probability density of the estimated position by a normal distribution, a fatal error will occur. Therefore, it may be difficult to accurately evaluate the positioning accuracy under the conditions where the beacons are sparsely distributed or the receiver is very close to the beacon.
[0085] In contrast, the novel positioning error estimation according to one or more embodiments of the present disclosure can provide a method for evaluating the positioning accuracy more accurately than the related techniques that quantify the positioning accuracy using the lower bound of the positioning error at a reasonable calculation cost.
[0086] In the foregoing embodiments, the computer-implemented method, computer system, and computer program product for evaluating beacon placement can be used for indoor positioning when the positioning error for a target position is calculated as an evaluation metric. However, the novel placement evaluation technique can be applied to the evaluation of base station placement used for outdoor positioning. Further, the novel placement evaluation technique can also be applied to the evaluation of the placement of a set of signal emitting devices that emit signals in the form of physical phenomena other than radio waves (e.g., sound waves, ultrasonic waves, electromagnetic waves, etc.). The novel placement evaluation technique can be applied to evaluation metrics for applications other than positioning error.
[0087] Experimental study Code a program that implements the positioning estimation system shown in FIGS. 1 and 2 and the process described in FIG. 4 according to some embodiments and execute it under given conditions.
[0088] Experiment I Define a target environment where 25 beacons are randomly placed in a 40 m × 40 m area. The interval between two adjacent grids can be 1 m in both the vertical and horizontal dimensions. The grid can be shared by both the target position x(i) and the neighboring position x^(j) around the target position x(i).
[0089] Instead of the true positioning error, the root mean square error (RMSE) can be calculated as a scalar evaluation metric for each grid point by Monte Carlo simulation. More specifically, for each iteration, generate an RSS vector y(l) for a given position x from the observation model p(y|x) using normally distributed random numbers, and find the maximum likelihood estimate (MLE) x^(l)MLE of that position for the generated RSS vector y(l). By repeating this iteration NMC times, the RMSE can be calculated for each position x, which is denoted as RMSEMC(x).
[0090] As Comparative Example 1, an estimated value of RMSECE1(x) can be calculated for each position x by a related art method (referred to as the related method) that quantifies the positioning accuracy based on the lower bound of the positioning error (Non-Patent Document 1).
[0091] As Example 1, an estimated value of RMSEE1(x) can be calculated for each position x by the above-described novel positioning error estimation (referred to as the proposed method).
[0092] The calculation time can be measured on a computer equipped with an Intel (registered trademark) Core (trademark) i7-6820HQ CPU (2.70 GHz) for both Comparative Example 1 and Example 1. Also, the correlation coefficient with RMSEMC(x) can be estimated by Monte Carlo simulation, and the estimated value of the positioning error can be calculated for both RMSECE1(x) of Comparative Example 1 and RMSEE1(x) of Example 1. For Example 1 and Comparative Example 1, the correlation coefficient and the calculation time can be summarized in Table 1.
Table 1
[0093] FIG. 8 shows a map 300 of the distribution of the positioning error RMSEMC(x) calculated by Monte Carlo simulation for a target environment in a 40 m × 40 m area where 25 beacons are randomly arranged. In map 300, the positions of the beacons can be indicated by black circles, and the grayscale value represents RMSEMC.
[0094] Figure 9 shows a first plot 310 representing the correlation of RMSECE1 calculated by a related method with respect to RMSEMC calculated by Monte Carlo simulation in the environment shown in Figure 8. Further, Figure 9 shows a second plot 320 representing the correlation of RMSEE1 calculated by the proposed method with respect to RMSEMC in the environment shown in Figure 8. The correlation coefficient can represent the evaluation accuracy of the positioning error estimation. The larger the value of the correlation coefficient, the higher the evaluation accuracy can be indicated, showing a better positioning error estimation. In the plot of Figure 9, ideally, the positioning error can be estimated as a reasonable value since the points are plotted on the diagonal line.
[0095] As shown in Table 1 and Figure 9, it can be demonstrated that the proposed method can estimate the positioning error distribution at a practically sufficient speed and with higher accuracy than other methods. It should be noted that the reason why the calculation time of the related method (Comparative Example 1) can be shortened is that in the related method, after approximating the probability density of the estimated position with a normal distribution, the positioning error is evaluated analytically.
[0096] Experiment II A target environment was defined in a 30 m × 30 m area where 9 beacons were randomly placed. The grid interval was 1 m, and the grid was shared for both the target position x(i) and the neighboring position x^(j).
[0097] The baseline RMSEMC can be calculated by Monte Carlo simulation. For Comparative Example 2, the estimated value of RMSECE2(x) can be calculated by a related method. For Example 2, the estimated value of RMSEE2(x) can be calculated for each position x by the proposed method.
[0098] Figure 10 shows a map 330 of the distribution of the positioning error RMSEMC(x) calculated by Monte Carlo simulation for a target environment in a 30 m × 30 m area where 9 beacons are randomly placed.
[0099] In FIG. 11, the first plot 340 represents the correlation of RMSECE2 of a related method with respect to RMSEMC in the environment shown in FIG. 10. The second plot 350 can represent the correlation of RMSEE2 of the proposed method with respect to RMSEMC in the environment shown in FIG. 10. As shown in FIG. 11, even in an environment where beacons are sparsely distributed, the proposed method can estimate the positioning error distribution more accurately than the related method. In contrast, the performance of the related method clearly degrades under sparse conditions.
[0100] Although the advantages obtained with respect to one or more specific embodiments according to the present disclosure have been described, it should be understood that some embodiments may not have these potential advantages and that these potential advantages are not necessarily required in all embodiments.
[0101] Furthermore, in some embodiments of the present disclosure, additionally, the method can include a computer-implemented method of evaluating the placement of a set of devices in an environment. An evaluation metric can be calculated based on a function of the estimated position conditioned on the target position. The evaluation metric can be output. The evaluation metric can be calculated using a probability distribution, and the probability distribution is calculated as the arithmetic mean of the probability distribution of the estimated position conditioned on the set of observed values with respect to the set of observed values predicted at the target position, approximated by a function, and the function is obtained by replacing the arithmetic mean with a geometric mean.
[0102] Furthermore, in some embodiments, the geometric mean can be normalized with a normalization constant so that the function satisfies the normalization condition.
[0103] Computer Hardware Components Referring now to FIG. 12, a schematic of an example of a computer system 10 that can be used in the positioning error estimation system 110 is shown. The computer system 10 shown in FIG. 12 can be implemented as a computer system. The computer system 10 is merely an example of a suitable processing device and is not intended to imply any limitation as to the scope of use or functionality of the disclosed embodiments described in the present invention. Nevertheless, the computer system 10 can implement, execute, or both, any of the functions described above.
[0104] The computer system 10 can operate with a number of other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, or configurations, or combinations thereof, that may be suitable for use with the computer system 10, include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, in-vehicle devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments including any of the above systems or devices.
[0105] The computer system 10 can be described in the general context of computer system-executable instructions, such as program modules, executed by a computer system. Generally, program modules can include routines, programs, objects, components, logic, data structures, etc., that perform particular tasks or implement particular abstract data types.
[0106] As shown in FIG. 12, computer system 10 can be shown in the form of a general-purpose computing device. The components of computer system 10 can include, but are not limited to, a processor (or processing unit) 12, a bus including a memory bus or memory controller, and a memory 16 coupled to processor 12 by a processor or local bus using any of a variety of bus architectures.
[0107] Computer system 10 typically includes various computer system readable media. Such media can be any available media accessible by computer system 10 and can include both volatile and nonvolatile media, as well as removable and non-removable media.
[0108] Memory 16 can include computer system readable media in the form of volatile memory, such as random access memory (RAM). Computer system 10 can further include other removable / non-removable, volatile / nonvolatile computer system storage media. By way of example only, a storage system 18 can be provided for reading from and writing to a non-removable nonvolatile magnetic medium. Storage system 18 can include at least one program product having a set (e.g., at least one) of program modules configured to execute the functions of embodiments of the present disclosure.
[0109] By way of example and not limitation, a program / utility having a set (at least one) of program modules, as well as an operating system, one or more application programs, other program modules, and program data can be stored within storage system 18. Each of the operating system, one or more application programs, other program modules, and program data, or some combination thereof, can include an implementation of a networking environment. The program modules generally execute the functions and / or methods of the disclosed embodiments described herein, or both.
[0110] The computer system 10 can also communicate with one or more peripheral devices 24 such as a keyboard, a pointing device, a car navigation system, an audio system, etc., a display 26, one or more devices that enable a user to interact with the computer system 10, or any device that enables the computer system 10 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.), or a combination thereof. Such communication can be carried out via the input / output (I / O) interface 22. Furthermore, the computer system 10 can also communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), or a public network (e.g., the Internet), or a combination thereof, via the network adapter 20. As shown, the network adapter 20 communicates with other components of the computer system 10 via a bus. Although not shown, it should be understood that other hardware components or software components or both can be used with the computer system 10. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archive storage systems.
[0111] Implementation of Computer Program Aspects of the present disclosure are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0112] These computer-readable program instructions can be provided to a computer, or to a processor of another programmable data processing apparatus, to manufacture a machine, whereby the instructions, which are executed by the processor of the computer or of the other programmable data processing apparatus, can create means for implementing the functions / operations specified in one or more blocks of a flowchart and / or a block diagram. These computer program instructions can also be stored in a computer-readable medium that can direct a computer, a programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer-readable medium contain instructions for implementing the aspects of the functions / operations specified in one or more blocks of a flowchart and / or a block diagram.
[0113] The computer program instructions can also be loaded onto a computer, another programmable data processing apparatus, or another device to cause a series of operational steps to be performed on the computer, another programmable data processing apparatus, or another device to generate a computer-implemented process, whereby the instructions that are executed on the computer, another programmable apparatus, or another device can perform the functions / operations specified in one or more blocks of a flowchart and / or a block diagram.
[0114] The flowcharts and block diagrams in the drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to embodiments of the present invention. In this regard, each block in the flowchart or block diagram can represent a module, segment, or portion of a module that includes one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions shown in the blocks may be performed in an order different from that shown in the figures. For example, two blocks shown in succession may, depending on the functions involved, actually be performed in one step, simultaneously, substantially simultaneously, partially or fully in a temporally overlapping manner, or these blocks may sometimes be performed in reverse order. It should also be noted that each block of the block diagram or flowchart diagram, or a combination of blocks in the block diagram or flowchart diagram, or both, can be implemented by a dedicated hardware-based system that performs the specified function or operation, or a combination of dedicated hardware and computer instructions.
[0115] The descriptions of the various embodiments of the present disclosure are presented for illustrative purposes, but they are not intended to be exhaustive or to limit the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to explain the principles of the embodiments, actual applications, or technological improvements over technologies found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.
[0116] The descriptions of the various embodiments of the present disclosure are presented for illustrative purposes, but they are not intended to be exhaustive or to limit the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to explain the principles of the embodiments, actual applications, or technological improvements over the technologies found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for evaluating the placement of a set of beacons in an environment by computer information processing, comprising: selecting at least a plurality of neighboring positions for a target position given as one of the discrete points within a set of discrete points defined in the environment; calculating the probability of an estimated position conditional on the target position for each of the plurality of neighboring positions by using an observation model for obtaining a received signal strength (RSS) vector when the position is given under a certain placement; calculating an evaluation metric by using the probability calculated for each of the at least plurality of neighboring positions; wherein the probability is calculated by calculating the expected value of the log-likelihood of the estimated position with respect to the RSS vector predicted at the target position and calculating the geometric mean by calculating the exponential function of the expected value; a method.
2. The method according to claim 1, wherein the geometric mean is normalized by a normalization constant.
3. The method according to claim 2, wherein the normalization constant is calculated based on the expected values calculated for the at least plurality of neighboring positions.
4. The method according to claim 2, wherein the geometric mean normalized by the normalization constant approximates the probability distribution of the estimated position conditional on the target position, and the evaluation metric is calculated for the target position based on the variance of the probability distribution.
5. The method according to any one of claims 1 to 4, wherein the observation model is calculated based on a signal propagation model.
6. The method according to any one of claims 1 to 5, wherein the at least plurality of neighboring positions are selected by finding positions within a range defined by the RSS vector predicted at the target position in a manner based on a signal propagation model.
7. The method further comprises: changing the target position within the set of discrete points; outputting a positioning error distribution map over the entire environment in a manner based on the evaluation metric calculated for the discrete points; The method according to any one of claims 1 to 6.
8. The method further comprises: changing the target position within the set of discrete points; Output an index representing the quality of the arrangement of the set of beacons in a manner based on the statistics of the evaluation metrics calculated for the discrete points The method according to any one of claims 1 to 7, further comprising
9. The method is Placing the beacon in the environment based on the evaluation metric The method according to any one of claims 1 to 8, further comprising
10. A system for evaluating the arrangement of a set of beacons in an environment by executing program instructions, comprising A memory for storing the program instructions A processing circuit in communication with the memory for executing the program instructions, the processing circuit being configured to Select at least a plurality of neighboring positions for a target position given as one of the discrete points within the set of discrete points defined in the environment Calculate the probability of the estimated position conditioned on the target position for each of the at least plurality of neighboring positions as the estimated position by using an observation model for obtaining a received signal strength (RSS) vector when the position is given under a certain arrangement Calculate an evaluation metric by using the probability calculated for each of the at least plurality of neighboring positions A processing circuit configured to perform Including The probability is calculated by calculating a geometric mean, and the geometric mean is calculated by calculating an expected value of the log-likelihood of the estimated position with respect to the predicted RSS vector at the target position and calculating an exponential function of the expected value System
11. The system according to claim 10, wherein the geometric mean is normalized by a normalization constant, and the normalization constant is calculated based on the expected value calculated for the at least plurality of neighboring positions
12. The system according to claim 10 or claim 11, wherein the at least plurality of neighboring positions are selected by finding positions within a range defined by the RSS vector predicted at the target position in a manner based on a signal propagation model
13. The processing circuit is Changing the target position within the set of discrete points Providing at least one selected from the group consisting of an evaluation metric for a given position, a positioning error distribution map over the entire environment, and an index representing the quality of the arrangement of the set of beacons, in a manner based on the evaluation metric calculated for the discrete points configured to perform The system according to any one of claims 10 to 12
14. A computer program for evaluating the arrangement of a set of beacons in an environment, the computer program comprising selecting at least a plurality of neighboring positions for a target position given as one of the discrete points within a set of discrete points defined in the environment calculating the probability of the estimated position conditioned on the target position for each of the at least plurality of neighboring positions as an estimated position, by using an observation model for obtaining a received signal strength (RSS) vector when the position is given under a certain arrangement calculating an evaluation metric by using the probability calculated for each of the at least plurality of neighboring positions including instructions configured to perform A computer program, wherein the probability is calculated by calculating a geometric mean, and the geometric mean is calculated by calculating an expected value of the log-likelihood of the estimated position with respect to the predicted RSS vector at the target position, and calculating an exponential function of the expected value
15. A computer-readable storage medium storing the computer program instructions according to claim 14
Citation Information
Patent Citations
Methods for optimizing and streamlining ap placement on floorplans
JP2016502652A
System and method for optimizing placement and number of radio frequency beacon for better indoor localization, computer-implemented method, program, and computerized system
JP2019184572A
Infrastructure for location discovery
US20100246485A1
System and method for automating beacon location map generation using sensor fusion and simultaneous localization and mapping
US20180321353A1
Beacon placement suggestion based on target region
US9860706B2