Keywords

1 Introduction

Smartphones have become very common these days and the percentage of the smart phone holders in Japan has risen from 14.6% to 56.8% in 5 years [1]. Due to the advancement in semiconductor and other related technologies, smartphones today are equipped with more various types of sensors and it can be interpreted that there are an increasing number of sensors connected to the Internet in cities. Consequently, mobile sensing, which is a technique to make use of them, has drawn much attention.

Mobile sensing is useful to conduct a measurement of a data in a wide area in a low cost. For example, when one tries to create a heat map of the temperature in one city, in case of mobile sensing, the cost required is less than conventional fixed sensors because s/he doesn’t have to implement all the sensors but has to collect sensor data from smartphone holders.

In this paper, the focus has been set to a sensing system, or broader class of measurement using mobile sensors, which of course includes smartphones. For example, if garbage collecting trucks are equipped with sensors, that would provide with virtually exhaustive coverage of the city [2]. Automobiles can move faster than a human being and so it is expected that they can ensure broader coverage per sensor.

Although the data acquired from a sensing system can be useful as mentioned above in an example of mobile sensing, such data have to be processed in order for the user to utilize because the raw data acquired is merely a collect of measured values in discrete points. For example, if a temperature measurement is conducted, it is not such discrete data, but a heat map of temperature that is of use. In other words, a sensing system requires spatial interpolation, or spatially completing the estimated values at unvisited points.

In spatial interpolation, the accuracy has dependency on the placement of sensors. As is intuitively understood, measuring values at two points close would give lower accuracy of spatial interpolation than at two points apart. Therefore, we propose a placement optimization strategy of sensors in a sensor system. In our proposal, we use a technique called kriging for spatial interpolation and kriging variance for the placement strategy.

The rest of the paper is organized as follows. Section 2 describes the background to this paper; Sect. 3 introduces the problem settings of this study; Sect. 4 gives details of the proposed method; Sect. 5 shows the simulation that we did; Sect. 6 shows the prototyping and the direction of future research; and Sect. 7 is the conclusions.

2 Related Works

Sensing system or especially mobile sensing has attracted a lot of attention and it is an active area of study and development. As mentioned above, previous research has demonstrated some actual implementation of such system and the method of spatial interpolation, but optimal sensors placement strategies are limited.

The sensor system is implemented for a broad area. In [2], garbage collecting trucks in Fujisawa City, Japan are equipped with sensors such as a GPS sensor, thermometer, barometer and so on. Unlike private vehicles, those trucks go around the city in such a route that covers the entire road. Through actual implementation, they checked that most area of the city can be sensed at least once every garbage-collecting day. In [3], they used pictures taken by a camera installed on automobiles to detect damage on the road. In [4], the acoustic noise level of entire Setagaya City, which is about 60 km2, has been sensed in 6 h by 40 people. In [5], the participants walked around city with a mobile radiation detector.

For this kind of measurement, interpolation is important. The authors of [6] used a technique named consensus filter. In consensus filter, for each point that sensor nodes did not visit, the value is estimated by waited sum of the values at neighboring visited points. This method is useful for relatively densely sensed situation but not for sparsely measured case. There are also studies that introduces methods using other background data. In [7], they spatially interpolated the temperature data taking into account other geographical knowledge such as the altitude. In [8], they only used 12 sensors to measure AQI, or air quality index, in the entire LA. Combined with contextual data of geography of each points from OpenStreetMap and used the measured data for learning, their estimation was better than conventional IDW, or inversed distance weight, in cross validation.

There are several works of active sensing with sensing robots such as [9]. They proposed a route optimization for a sensing robot. Here, mutual information of the measurement and interpolation is used to determine the trajectory of a sensing robot. In this work, the focus is set on the case of only one sensing node.

As we have listed above, there are a wide variety of application of sensing system and also a number of interpolation methods but few works have covered the strategy of placing sensors, especially multiple sensors. In this paper, we propose a method to interpolate measured data from multiple sensor nodes and plan the placement of them in the next step to achieve the most optimal placement in terms of the accuracy of the interpolation.

3 Problem Settings

In this paper, we propose a method to plan an optimal sensor placement method to a situation as follows:

One would like to map a value of interest in a certain area, such as temperature in Tokyo. For that purpose, multiple movable sensors are deployed in the area. Each sensor conducts the measurement at the same time and send the data to a server. Then each of them moves to the next sensing position, instructed by the server, and measure the value there again.

Here we assumed the scaler field of the true value of the vale of interest do not change between the time of the first measurement and the second. This is because even though the scaler field does change in the time length, in one step of the move the time is short and the change is negligible in the real scenario. In the real use, the measurement will be conducted sequentially beyond the second time but in this paper, two steps of measurement are discussed for simplicity.

4 Method

4.1 Kriging

Kriging is a geostatical method to interpolate data using spatial autocorrelation. For a system where sensor nodes \( i\,\left( {i = 1, \ldots ,N} \right) \) are deployed in \( \varvec{r}_{i} \) the field and measurement \( z\left( {\varvec{r}_{i} } \right) \) is conducted, semivariance, or the spatial autocorrelation of \( z \) is defined as

$$ \gamma \left( \varvec{h} \right) = \frac{1}{2n}\sum\nolimits_{i = 1}^{n} {\left[ {z\left( {\varvec{r}_{i} + \varvec{h}} \right) - z\left( {\varvec{r}_{i} } \right)} \right]}. $$
(1)

For actual data, since the measured value at an arbitrary point is not always available, semivariance cannot be calculated for all \( \varvec{h} \). It is why variogram, or a plot of \( \gamma \left( \varvec{h} \right) \) versus h, only for known points. By fitting variogram with certain function, we can get the estimated semivariance for arbitrary \( \varvec{h} \). There are several common functions used to fit variogram, such as spherical model, exponential model and so on. In this paper, we used the exponential model in this case, which is represented as follows:

$$ \hat{\gamma }\left( h \right) = p\left[ {1 - \left( {1 - \frac{3h}{r}} \right)e^{-\frac{3h}{r}}} \right] + n $$
(2)

where \( r \) is called range and \( p \) is called sill and \( n \) is called nugget; those three parameters are determined by the fitting.

After getting the estimation of semivariance, we now use this to conduct the interpolation. In kriging, the value is interpolated through weighted sum

$$ \hat{z}\left( r \right) = \sum\nolimits_{i = 1}^{N} {\lambda_{i} \;z\left( {\varvec{r}_{i} } \right)} $$
(3)

where the weights \( \lambda_{i} \) are bound to the normalization

$$ \sum\nolimits_{i = 1}^{N} {\lambda_{i} = 1} . $$
(4)

In order to minimize the estimation error, which is a sum of the gap squared between the estimated value and the weights at each visited point, are determined using semivariance, in such a way as minimizing

$$ \sum\nolimits_{i = 1}^{N} {\lambda_{i} } \;\hat{\gamma }\left( {r_{i} - r_{j} } \right) + \phi = \hat{\gamma }\left( {r_{j} - r} \right),\;\,\forall j. $$
(5)

4.2 Kriging Variance Gradient

Then the kriging variance, or the variance of the estimated value, is expressed as:

$$ \hat{\sigma }_{e}^{2} \left( {\varvec{r}_{0} } \right) \text{ := }\sum\nolimits_{i = 1}^{N} {\hat{\lambda }_{i} } \gamma \left( {\varvec{r}_{i} - \varvec{r}_{0} } \right) + \phi . $$
(6)

From the method above we can obtain the kriging variance at all points including unvisited ones as well as estimated value there. In order for each sensor nodes to move towards the direction so that the next measurement would be the most optimal with regard to minimizing the error for the whole area, we also calculated the gradient \( \varvec{G}\left( \varvec{r} \right) \) of the kriging variance:

$$ \varvec{G}\left( \varvec{r} \right) = \nabla \left[ {\hat{\sigma }_{e}^{2} \left( \varvec{r} \right) } \right]. $$
(7)

4.3 Placement Determination

It is most optimal to move the sensor nodes towards the direction where the kriging variance is the highest. We used the gradient to find such a direction. Therefore, we determined the placement of the sensor i for the next time step \( t +\Delta t \) using the gradient vector \( \varvec{G}\left( \varvec{r} \right) \) at time \( t \) as follows:

$$ \varvec{r}_{i} \left( {t +\Delta t} \right) = \varvec{r}_{i} \left( t \right) +\Delta r\frac{{\varvec{G}\left( \varvec{r} \right)}}{{\left| {\varvec{G}\left( \varvec{r} \right)} \right|}} $$
(8)

where in each step each sensor node moves for the distance \( \Delta r \).

5 Simulation

In order to test the validation of the above method, a simulation was conducted and the mean squared error of estimated values at all points in the area was compared with the random determination.

5.1 Setting of the Simulation

In the simulation, we made a certain scaler field, which is the true value in this simulation, in the area of interest and interpolated the measured values at five sensor nodes. The simulation was conducted in the following settings.

The area of interest has been formed as 40 × 40 square, filled with 0.5 × 0.5 meshes. The five sensors were deployed in the sensing area, or the grey area in Fig. 1, so that it is not located on the edge of the 40 × 40 square, where gradient of kriging variance is not well-defined.

Fig. 1.
figure 1

The field of simulation is 40 × 40 including the margin.

The scaler field we prepared was a sum of three different Gaussian with different means \( \mu \)’s and covariance matrices \( \Sigma \)’s as:

$$ z\left( \varvec{r} \right) = \sum\nolimits_{i = 1}^{3} {\frac{1}{{2\pi \left| {\Sigma _{i} } \right|^{{\frac{1}{2}}} }}} \exp \left[ { - \frac{1}{2}\left( {\varvec{r} -\varvec{\mu}_{i} } \right)^{{ \top }}\Sigma _{i}^{ - 1} \left( {\varvec{r} -\varvec{\mu}_{i} } \right)} \right]. $$
(9)

which is shown in Fig. 2.

Fig. 2.
figure 2

We made 2-D scaler field by summing three different Gaussians.

In the simulation, first we deployed five sensors at random in the sensing area and made a measurement (step 1). We then kriged the measured values to obtain the map of the value in the entire field and also the kriging variance map (Fig. 3).

Fig. 3.
figure 3

In Step 1, we deployed five sensors randomly. In Step 2, we simulated two different scenarios: in Scenario 1, the sensors were moved using kriging variance gradient; in Scenario 2, they were moved to random directions. In Step 2, both data from 5 initial points and 5 new points were used in the kriging.

5.2 Method

Now we have the kriging variance field and so we used that to determine the placement of the sensor nodes for Step 2. We set two different scenarios.

Scenario 1.

It is most optimal to move the sensor nodes towards the direction where the kriging variance gradient is the highest in all the directions. Therefore, we determined the placement of the sensor i for the next time step as follows:

$$ \varvec{r}_{i} \left( {t +\Delta t} \right) = \varvec{r}_{i} \left( t \right) +\Delta r\frac{{\nabla V\left( \varvec{r} \right)}}{{\left| {\nabla V\left( \varvec{r} \right)} \right|}} $$
(10)

where Δr is the step of the movement.

Practically, in this simulation the kriging was done for discrete grid points. Therefore variance calculated only for discretely distributed points and the gradient is not actually calculated through differentiation but computed using second-order accurate central differences with certain sampling distances. Since the resulting gradient has a dependency on sampling distance \( d_{sample} \), we compared the results for different \( d_{sample} \).

Scenario 2.

For comparison, we also simulated the case where the nodes are moved to a random direction. For this the position of the same sensor node at the next time step is expressed as:

$$ \varvec{r}_{i} \left( {t +\Delta t} \right) = \varvec{r}_{i} \left( t \right) + {\varDelta }r\left( {\begin{array}{*{20}c} {\cos \theta } \\ {\sin \theta } \\ \end{array} } \right) $$
(11)

Here, θ is a random value between 0 and 2π (Fig. 4).

Fig. 4.
figure 4

Each sensor node moves by \( \Delta r \) in the direction \( \theta \).

5.3 Evaluation

For the evaluation of these methods, we calculated the sum of error squared at each grid point of the entire area of interest, namely,

$$ {\text{Error}} = \sum\nolimits_{j} {\left[ {z\left( {\varvec{r}_{j} } \right) - \hat{z}\left( {\varvec{r}_{j} } \right)} \right]}^{2} $$
(12)

where \( z\left( {\varvec{r}_{j} } \right) \) and \( \hat{z}\left( {\varvec{r}_{j} } \right) \) are the true value and the interpolated value at the grid point \( j \), respectively and the summation is done through all the grid points.

In order to examine the effect of \( \varDelta r \), we executed the simulation for different \( \varDelta r \). Also, as mentioned above, scenario 2 was performed for different \( d_{sample} . \)

In other words, for each initial random sensor deployment (step 2), (1) scenario 1 was performed for different \( \varDelta r \)’s and (2) scenario 2 was performed for different \( \varDelta r \)’s and different \( d_{\text{sample}} \)’s.

We calculated the error for each scenario with different parameters for 1000 different initial placement of sensors in Step 1. For each error in Scenario 1 was compared with the error in the corresponding simulation in Scenario 2 with regard to \( \varDelta r \) and we counted the number of cases where error in scenario 1 is greater than that in scenario 2 out of 1000 simulations for each \( \varDelta r \) and \( d_{\text{sample}} \).

5.4 Results

Figure 5 shows the true value and the result of kriging at each step. Figures on the left column are the true value or interpolation result of different steps, the true value on the top figure, Step 1 on the second, Step 2 in Scenario 1 on the third, Step 2 in Scenario 2 at the bottom. On the right column are the kriging variance.

Fig. 5.
figure 5

An example of the simulation results. The left figure of the top row is the true value. The second row show is the kriged result (left) and kriging variance with the positions of sensor nodes (yellow dots) and the gradient (arrows). The third row shows the results of Step 2 in Scenario 1 and the forth that in Scenario 2. (Color figure online)

Figure 6 shows the result of the comparison of the error in Scenarios 1 and 2. The x axis indicates Δr and y axis \( d_{\text{sample}} \). The color bar shows the ratio of the cases where Scenario 1 gives less error than 2, over 1000 simulations. The resulting figure indicates that for certain Δr and \( d_{\text{sample}} \), Scenario 1 gives more accurate kriging results than Scenario 2 in more than 50% of the cases. Given 100 trials have been done, if the ratio from the result is greater than 51.6%, the actual ratio will be more than half, with 95% confidence. Therefore, the fact that there are cases that the ratio is over 51.6% shows that this proposed method gave significantly better results than random decision.

Fig. 6.
figure 6

The ratio of the cases where Scenario 1 gives better accuracy than Scenario 2.

The ratio is higher especially when Δr is smaller and \( d_{\text{sample}} \) is greater.

6 Prototype

We also utilized the proposed method to actual measured data from the previous work [10]. Here, some portable devices were prepared and used to make measurement around Shibuya City, Tokyo. They are equipped with multiple sensors including thermometer, hygrometer and air quality sensors such as O3, CO, NO2, PM2.5. The devices were made compactly so that human beings can hold while walking. Participants of the experiments were asked to walk around the city carrying one of those. 12 people took part in the experiment and those series of data were collected.

Among those data, the atmospheric temperature was picked and kriged. The results of the kriging and the variance are shown in Fig. 6. Here, with the proposed method, as shown by arrows, the next suggested movement of sensors was successfully calculated (Fig. 7).

Fig. 7.
figure 7

The result of kriging of the atmospheric temperature data in Shibuya City, Tokyo in 11:00–11:10am on Nov. 14, 2016. The figure on the top is the interpolated map of the temperature and the one below is the kriging variance with gradient shown by arrows. The yellow line in the figure below is the trajectory of each sensor node. (Color figure online)

7 Conclusion

In this paper, we proposed a method of sensor placement in a multiple distributed sensor system in order to achieve better accuracy of interpolation using kriging. Then we demonstrated the method in a simulation and compared with moves with randomly determined direction for validation. As a result, the proposed method was proven to give better accuracy of interpolation in a certain situation, that is, small move step and relatively long sampling distance. We also used actual data from a prototype of a multiple distributed sensor system to execute the proposed method to plan the next step of movement.

As future work, we have three tasks. First one is to extend this method to multiple steps. In this paper we merely focused on two-step measurement. For real usage, it is vital to plan the best trajectory beyond the next move, where it is important not to move different sensors to the same place. This could be realized by introducing a two-body repulsive power among sensors. Second, we have to think about the time dependency of the scaler field of interest. In the simulation above we set a fixed scaler field with regard to time but in the actual world, most values that are measured is not time-invariant. For the last but not least, the method should be carried out for actual sensor placement and movement. By using the prototype mentioned above, it can be achieved.