A Crowd-Sourcing Indoor Localization Algorithm via Optical ... - MDPI

4 downloads 119611 Views 6MB Size Report
Mar 19, 2016 - Android operating system smartphone, which has good research and ..... (H60-L01) mobile 4G, 16 G ROM whose sensors parameters are ...
sensors Article

A Crowd-Sourcing Indoor Localization Algorithm via Optical Camera on a Smartphone Assisted by Wi-Fi Fingerprint RSSI Wei Chen, Weiping Wang, Qun Li *, Qiang Chang and Hongtao Hou College of Information Systems and Management, National University of Defense Technology, Changsha 410073, China; [email protected] (W.C.); [email protected] (W.W.); [email protected] (Q.C.); [email protected] (H.H.) * Correspondence: [email protected]; Tel.: +86-731-8457-3558 Academic Editor: Gonzalo Pajares Martinsanz Received: 24 January 2016; Accepted: 16 March 2016; Published: 19 March 2016

Abstract: Indoor positioning based on existing Wi-Fi fingerprints is becoming more and more common. Unfortunately, the Wi-Fi fingerprint is susceptible to multiple path interferences, signal attenuation, and environmental changes, which leads to low accuracy. Meanwhile, with the recent advances in charge-coupled device (CCD) technologies and the processing speed of smartphones, indoor positioning using the optical camera on a smartphone has become an attractive research topic; however, the major challenge is its high computational complexity; as a result, real-time positioning cannot be achieved. In this paper we introduce a crowd-sourcing indoor localization algorithm via an optical camera and orientation sensor on a smartphone to address these issues. First, we use Wi-Fi fingerprint based on the K Weighted Nearest Neighbor (KWNN) algorithm to make a coarse estimation. Second, we adopt a mean-weighted exponent algorithm to fuse optical image features and orientation sensor data as well as KWNN in the smartphone to refine the result. Furthermore, a crowd-sourcing approach is utilized to update and supplement the positioning database. We perform several experiments comparing our approach with other positioning algorithms on a common smartphone to evaluate the performance of the proposed sensor-calibrated algorithm, and the results demonstrate that the proposed algorithm could significantly improve accuracy, stability, and applicability of positioning. Keywords: fingerprint localization; optical camera; image processing; orientation sensor; crowd-sourcing; smartphone

1. Introduction As the demands on location-based services (LBSs) increase, developing positioning systems (PSs) has generated great concern over the last decade; in particular, location information is an important basic feature in LBSs, and it is of great significance to get access to the users’ location information anytime and anywhere; in addition, users are more and more concerned about the performance of PSs, such as accuracy and stability. Outdoors, the Global Navigation Satellite System (GNSS), including GPS, GLONASS, Galileo, and BDS, which works well in most outdoor applications, is a major way to get users’ location information, and the accuracy is adequate for civilian use. Unfortunately, when users are in indoor environments, there exist some limitations, for example, lack of line of sight and multiple paths, both of which will cause satellite signal attenuation, so GNSS is not capable of providing services with sufficient positioning accuracy. At the same time, the widespread use and popularity of mobile devices have spurred extensive demands on indoor LBSs in recent years, which have greatly promoted the rapid development of entertainment, health, business, and other sectors,

Sensors 2016, 16, 410; doi:10.3390/s16030410

www.mdpi.com/journal/sensors

Sensors 2016, 16, 410

2 of 21

for example, users can easily get local information from the LBS when they are arriving at a place that is totally unfamiliar to them; likewise, when consumers want to go shopping in a big mall, when they arrive on-site equipment could send electronic coupons to them for advertising, two applications that without doubt, need to be based on precise indoor location information. To this end, indoor positioning systems have been widely developed, including Assisted GNSS (AGNSS) [1,2], Difference GNSS (DGNSS) [3,4], radio frequency identification (RFID) [5–7], WLANs [8–10], WSNs [11–13], optical sensors [14–16], and cooperative localization [17,18]. On the whole, no system exists that can adapt to the changing environment to meet different demands for localization due to their particular advantages and disadvantages. With their great international popularity and embedded hardware sensors, smartphones have become the ideal personal and mobile navigator used to implement indoor positioning due to their low cost and self-contained properties. Meanwhile, Wi-Fi infrastructures are more and more generalized, indoor positioning systems based on Wi-Fi fingerprint and smartphones are widely applied, which includes the offline acquisition and online positioning stages. In the offline acquisition stage, the radio signal strength of reference points (RPs) is sampled to build a database, which is always time consuming and laborious; in the online positioning stage, the real-time received radio signal strength is used to locate with methods such as K-nearest neighbors (KNN) [19], K-weighted nearest neighbors (KWNN) [20], Bayesian [21,22], or artificial neural network (ANN) [23]. However, a Wi-Fi signal fluctuates because it is influenced by the complex indoor environment, which results in a low accuracy; besides, if the database of the Wi-Fi fingerprint cannot be updated in time, that is, the stored data cannot remain consistent with the actual signal, this will reduce the positioning accuracy. Researchers have compared Wi-Fi fingerprint positioning with data from the built-in microelectronic mechanical systems (MEMSs) in smartphones, e.g., accelerometer, gyroscope, magnetometer, to improve Wi-Fi fingerprint positioning accuracy; these algorithms are well known as pedestrian dead reckoning (PDR) methods [20,24]. However, this technique has two drawbacks: on the one hand, it is only able to provide accurate data for a limited time because of the sensor errors arising from bias and noise, especially for the low-cost inertial sensors found in mobile phones, so the accumulating errors grow rapidly with the walking distance of pedestrians, on the other hand, we have tested a common smartphone and found that those sensors’ output is unstable and low accuracy, which will influence the positioning performance. Other researchers have also proposed positioning approaches combining Wi-Fi fingerprints and image matching [25–28]; these approaches can solve the problems mentioned above, however, a large-scale images database is required for those approaches, and the image processing and matching task is so time consuming that the required instantaneity is hard to guarantee in general. Taking those advantages and disadvantages of stand-alone Wi-Fi fingerprints and stand-alone image matching positioning into account, this paper proposes a crowd-sourcing indoor localization algorithm via an optical camera on a smartphone to improve accuracy and instantaneity. First, we use the Wi-Fi signal fingerprint based on the KWNN algorithm to get the K nearest neighbors to make a coarse estimation, Second, we adopt a mean-weighted exponent algorithm with image features extracted by the Scale-Invariant Feature Transform (SIFT) operator and orientation sensor, whose output will constraint random images choice for a mobile node on a smartphone to refine the results based on a multithread mechanism. Compared with the stand-alone SIFT-based image matching positioning method, the proposed algorithm can reduce the search space of images and reduce the position estimation time. Compared with stand-alone Wi-Fi fingerprint positioning, the proposed algorithm can improve the accuracy, moreover, to prove effect of proposed algorithm further, we compare it with the visual positioning system based on the Speed-up Robust Feature (SURF) and KWNN algorithms used in literature [25]. Equally important, we utilize a crowd-sourcing method to update and supplement the database, which will retain consistency with the actual signal and obviously improve the stability of the positioning system. Experimental results show that the proposed algorithm could significantly overcome the disadvantages of stand-alone Wi-Fi fingerprint and stand-alone

Sensors 2016, 16, 410

3 of 21

SIFT-based image matching positioning, and is more effective than SURF combined with KWNN positioning with respect to accuracy and stability. The proposed algorithm has been realized on an Android operating system smartphone, which has good research and application prospects. The rest of the paper is organized as follows: Section 2 will review recent related works and summarize our contributions. In Section 3, we will present an overview of the proposed sensors-calibrated positioning system, including the offline acquisition and online positioning stages, then the proposed sensors-calibrated algorithm will be introduced in detail in Section 4, and the experimental results and evaluations will be shown in Section 5. Section 6 summarizes the whole paper, then provides our conclusions and an outlook of future work. 2. Related Works Indoor positioning plays an important role in providing the location of people and objects. There are three principles used in indoor positioning: triangulation, scene analysis, and proximity. Triangulation locates the target point’s coordinates by using distances and angles between the target point and three other points with known coordinates, this principle includes Time of Arrival (TOA), Time Difference of Arrival (TDOA), Angle of Arrival (AOA), and Time of Flight (TOF). Scene analysis is a principle of positioning by analyzing the characteristics of the measured values, for example, received signal strength indicator (RSSI) is a popular scene analysis method to realize localization; available signals include Wi-Fi, radio frequency, geomagnetic, visible light, and so on. The proximity principle is mainly used in radio frequency-based positioning systems; in this technique, for a grid of antennas with fixed locations within a building, when a mobile node is detected, the closest antenna or the one receiving the strongest signal is selected to calculate the mobile node’s location [29], for example, cellular localization based on Cell-ID is one of the popular applications. To meet the demanded high accuracy, some researchers have used hardware-based solutions to get a precise distance to locate objects accurately, which is a range-based method. For instance, Seybold [30] calculated the true distances between router and smartphone with a logarithmic-distance path-loss model. Zou [31] applied a weighted path-loss model to RFID signals to implement indoor positioning, on the basis of Zou, Chen [32] adopted a Kalman filter algorithm fusing received strength of Wi-Fi fingerprints, PDR, and landmarks to locate the position indoors. Fidan [33] used a geometric cooperative technique and path-loss model to estimate in real time the time-consuming coefficient of path-loss in ranging sensors, the simulation results indicated that the proposed approach can effectively adapt to uncertainty of the loss factor in signal propagation. Yang [34] and Kotaru [35] measured the phase–distance relationship of the radio signal to locate position, the experimental results show that those methods could reach an accuracy of decimeter level. However, all of the mentioned solutions based on hardware above have some disadvantages and limitations from the aspect of practicability on a smartphone, for example, it is hard to synchronize the clocks between many common measuring devices, and the outputs of sensors on smartphones have low accuracy and stability in general, which will directly influence positioning performance. Finally, high-quality equipment will lead to increased cost, it is obviously not suitable for a smartphone. In contrast, other researchers, including Google, Microsoft, Apple, etc. used software-based solutions to improve positioning performance, whose advantages are more flexibility, high accuracy, low cost, and short development cycle, and have developed some software-based positioning systems. Among those, Wi-Fi fingerprint is a common range-free way with great popularity, and various methods and theories about it have been researched to solve those issues and limitations mentioned in the Introduction. Schussel [36] and Li [37] used the actual signal and Gaussian distribution process to generate some fingerprints to fill the whole database. Through this approach, the positioning problem in different densities and environments was solved. To reduce computational complexity and positioning accuracy on the online stage, clustering theory has been used; Liu [38] proposed a dynamic constraint KNN algorithm by using indoor layout geometry information to cluster, however, the proposed algorithm required the extraction of features of the specific indoor area, so it is hard to

Sensors 2016, 16, 410

4 of 21

promote its use. Saha [39] used the relative size of RSSI as a metric for clustering the fingerprint and tried to solve the equipment diversity issue in crowd- sourcing. The proposed algorithm can achieve a higher accuracy, but its processing involving clustering is also complicated. Lee [40] proposed a support vector machine-based clustering approach and used the margin between two canonical hyperplanes for classification; it reserved the fingerprint distribution property and obtained a superior decision boundary, but did not take instantaneity into consideration. In addition, the drawback of a time-consuming and laborious database prebuilding in the offline stage also needs to be overcome, the accuracy will decrease if the database is not being updated in time, thus, some researchers proposed a crowd-sourcing mechanism [41,42] to update and supplement the database. To reduce development cost for the positioning system and increase its practicability, researchers have used smartphones’ built-in sensors to locate cooperatively. Keller [43] focused on the gyroscope and barometer in current smartphone to realize the indoor navigation with storey detection, because of their work, a position in three dimensions could be interpolated by the determination of a change of detected height with the knowledge of the relative motion distance or a prior known gradient of the stairs/ramp. Chen [32] utilized a Kalman filter to fuse Wi-Fi and sensors integrated in a phone as well as landmarks to finish locating; Galván-Tejada [44] adopted microphone, magnetometer, and light sensor to locate cooperatively; Shin [45] used Wi-Fi fingerprint and PDR to develop SmartSLAM, which locates pedestrians and constructs an indoor map at the same time. By using off-the-shelf smartphones and the methods mentioned above, they have realized indoor positioning, however, we have tested the output of sensors in common smartphones and found that the output values have low accuracy; even if we put the phone in a stationary state, the output fluctuated, therefore, we think that its low accuracy and stability will influence the performance of positioning systems. Recent advances in charge-coupled device (CCD) sensor technologies have been applied to positioning and several visual positioning systems have been developed. Considering Wi-Fi fingerprint may have shadow areas where the Wi-Fi signal is weak, Song [46] proposed a new positioning technique by which captured images’ features and their coordinate information are stored to form a fingerprint, then they used the SURF algorithm along with Random Sample Consensus (RANSAC) to realize image similarity comparisons. Their method worked both indoors and outdoors, including the shadow areas where Wi-Fi fingerprint signals are weak. However, the time consumption was not discussed. Kawaji [47] utilized omnidirectional panoramic images and a PCA–SIFT algorithm to locate, with the proposed confidence factor locality sensitive hashing; this could improve the image matching performance and speed up image retrieval, however, the method required omnidirectional image acquisition and a higher performance processor, and could not be implemented on a mobile phone. Considering positioning accuracy, time consumption, automation and scalability, Levchev [28] proposed a simultaneous fingerprinting and mapping system, which used a particle filtering algorithm to fuse data sampled from sensors in smart mobile devices. Its Android application could achieve an average localization error of under 2 m, but its map and database generation process was complex and time-consuming; Further, a so-called Mobile Visual Indoor Positioning System (MoVIPS) using smartphone cameras was proposed by Werner [26] in 2011 and extended in 2014 [27]. MoVIPS used a dead reckoning approach and estimated orientation factors from smartphone compasses to reduce the amount of images, then quantized and clustered the SURF feature points, and used a transformation matrix to improve the distance estimation, a making it therefore faster, more precise and more efficient. Visual positioning systems with image matching theories can improve the accuracy, unfortunately, it is generally necessary to construct an image database to be recognized, and the matching process is always time-consuming; in particular, these algorithms should be improved for use on a smartphone with ideal accuracy and instantaneity. Inspired by the researched literature, we propose our algorithm with the following contributions: (1)

In the preliminary positioning stage, we use a KWNN-based Wi-Fi fingerprint positioning algorithm to make a coarse estimation, then select K images corresponding to K-nearest neighbors as retrievable images to reduce the time spent in retrieving images.

Sensors 2016, 16, 410

(2)

(3) (4)

(5)

5 of 21

After Wi-Fi fingerprint positioning, we introduce an orientation matching factor calculated using a three-dimensional orientation sensor on a smartphone to constrain random images choice for a coarse estimated location, then, we use the SIFT operator to extract image features to calculate the image matching factor on a multithread mechanism. We propose a mean-weighted exponent algorithm to improve accuracy by fusing the KWNN algorithm, orientation matching factor, and image matching factor. We use crowd-sourcing to update the database; users can upload their positioning results to a server, which can aids others’ positioning the next time if the database has not recorded some RPs information in the offline stage. Our algorithm has been realized in an Android operating system smartphone, and is easy to implement and apply. There is no need to use additional hardware assistance and the costs are greatly reduced.

3. Overview of the Proposed Sensors-Calibrated Positioning System We propose a crowd-sourcing indoor localization algorithm via an optical camera and orientation sensor on a smartphone, with the purpose of simplifying indoor localization with high accuracy through the use of a Wi-Fi module and camera as well as the orientation sensor in the smartphone, and it does not need to be assisted by other hardware. The proposed system includes two stages: offline acquisition and online positioning stages. In the offline stage, the smartphone will scan available access points (APs) at different RPs, then record the RP’s coordinates, AP’s MAC address, and its RSSI values, while recording the front image of RPs and output values of the three-dimensional orientation sensor. In this paper, we use a relational database whose format is shown in Table 1 to store those data, and those images will be preprocessed in a server using the SIFT operator and extracting the features vector. Table 1. Storage format of the database. Coordinate

AP Number

AP1

AP2

...

APm

Image

Orientation Sensor Data

(x1 ,y1 )

m1

MACm1 = RSSIm1

MACm1 = RSSIm1

...

MACm1 = RSSIm1

1

{θx 1 ,θy 1 ,θz 1 }

(x2 ,y2 )

m2

MACm2 = RSSIm2

MACm2 = RSSIm2

...

MACm2 = RSSIm2

2

{θx 2 ,θy 2 ,θz 2 }

(x3 ,y3 )

m3

MACm3 = RSSIm3

MACm3 = RSSIm3

...

MACm3 = RSSIm3

3

{θx 3 ,θy 3 ,θz 3 }

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

(xn ,yn )

mn

MACmn = RSSImn

MACmn = RSSImn

...

MACmn = RSSImn

n

{θx n ,θy n ,θz n }

In the online positioning stage, users open the Wi-Fi and scan accessible APs, record the MAC address and RSSI values in the cache of the phone, then users can choose to use Wi-Fi fingerprint positioning based on the KWNN algorithm to perform rough localization. In order to achieve higher accuracy, we use the built-in sensor to calibrate the positioning result of Wi-Fi fingerprint. The framework of this approach is shown in Figure 1. Users can open the camera to take a picture, and the three-dimensional orientation values will be recorded in the cache simultaneously. The features vector are extracted from the captured images and recorded temporarily in the phone cache. The orientation values will be used to calculate the orientation factor, which can restrain random image choices at a position. The temporary features vector and stored features vector corresponding to the K nearest neighbors are used to calculate the image matching factor, then the mean-weighted exponent algorithm will fuse KWNN, orientation matching, and image matching results to improve the accuracy further. At the same time, the users can upload the results and those temporarily stored data including MAC address, RSSI, image feature, and orientation values into a server to update the database and aid better location estimate of others the next time.

Sensors 2016, 16, 410

6 of 21

data including MAC address, RSSI, image feature, and orientation values into a server to update the 6 of 21 database and aid better location estimate of others the next time.

Sensors 2016, 16, 410

K RPs according to KWNN

Stored images with different heading, roll, pitch

Captured orientation data (x , y , z)

heading, roll, pitch

Searching and matching

heading, roll, pitch

Selected images with approximate heading, roll, pitch

Optical camera and orientation sensor in smartphone

Captured optical image

image feature

Searching and matching

image feature

Refine the positioning result

Figure Framework of of positioning positioning calibration Figure 1. 1. Framework calibration using using built-in built-in sensors sensors in in aa smartphone. smartphone.

shows the the recording recording format format of of RPs’ RPs’ coordinates, coordinates, Wi-Fi Wi-Fi fingerprint, fingerprint, captured captured image Table 11 shows sensor. TheThe coordinates are are specified by the sequence number, and and output outputvalues valuesofofthe theorientation orientation sensor. coordinates specified by user when building the database in the offline stage, but when using crowd-sourcing to update, they the user when building the database in the offline stage, but when using crowd-sourcing to update, are calculated by our algorithm. The AP means the total number of available APs they are calculated byproposed our proposed algorithm. Thenumber AP number means the total number of available when users scan Wi-Fi, it is worth noting that the AP number of different RPs are not all equal APs when users scan Wi-Fi, it is worth noting that the AP number of different RPs are not all because of of the the changing changing environment environment at at different different places, places, thus, thus, m m11, m m22,, ..., not all all because ..., mnn in in Table Table 1 are not equal. AP AP11–AP –APmmrecord recordthe the received received APs’ APs’ MAC MAC and and RSSI; RSSI; when when making a coarse estimation, the KWNN algorithm only calculates the distance of RSSI with the same MAC address. Image sequence number is is recorded recorded for for 11 to to n, n, and and the the image image features features are are stored stored in in another another data data table table named named as as the the number correspondingsequence sequencenumber number images. Because of random the random direction whentake users take a corresponding of of images. Because of the direction when users a picture, picture, it namely, is likely users take at pictures at the same but the direction of the image is namely, is likelyit that usersthat take pictures the same place butplace the direction of the image is different, different, so in this paper we use orientation factor to restrain case of randomness. so in this paper we use orientation factor to restrain this case ofthis randomness. 4. Crowd-Sourcing Crowd-SourcingLocalization LocalizationAssisted Assistedby byWi-Fi Wi-Fi Fingerprints Fingerprints 4.1. Wi-Fi Fingerprint 4.1. Wi-Fi Fingerprint Positioning Positioning Based Based on on KWNN KWNN K-weighted is aisversion of theof K-nearest neighbors (KNN) algorithm improved K-weighted nearest nearestneighbors neighbors a version the K-nearest neighbors (KNN) algorithm by introducing a weighted distance factor. If the RPs’ distribution is sparse or non-uniform, improved by introducing a weighted distance factor. If the RPs’ distribution is sparseafter or calculating theafter distances and selecting K nearest neighbors, classification result the of KNN is worse non-uniform, calculating the distances and selectingthe K nearest neighbors, classification than of KWNN. Torres-Sospedra’s [8] extensive experimental showed that Euclidean resultthat of KNN is worse than that of KWNN. Torres-Sospedra’s [8] results extensive experimental results distance is not the optimal choice to describe the similarity between fingerprints. On the contrary, showed that Euclidean distance is not the optimal choice to describe the similarity between the Sorensen On distance function can accuracy than Therefore, in fingerprints. the contrary, the achieve Sorensena better distance function canEuclidean achieve adistance. better accuracy than this paper, we choose the Sorensen function for the KWNN algorithm. The definition of the Sorensen Euclidean distance. Therefore, in this paper, we choose the Sorensen function for the KWNN distance function is: ˇ algorithm. The definition of the Sorensenřdistance function is: pi,nq ˇˇ pi,nq n ˇ ´ RSSIRP ˇ i“1 ˇRSSI MN n ( i ,n ) ( i ,n ) ˇ Lpd,iq “ ř ˇˇi 1 RSSI (1)  RSSI RP MN pi,n q pi,nq ˇ L( d ,i ) in“1 ˇRSSI (1) ` RSSI ˇ n ( i , n ) ( i , n ) MN RP

i1 RSSIMN

 RSSI RP

where i is a sequence of RPs, n denotes the number of APs with the same MAC between mobile node where i is a sequence of RPs, n denotes the number of APs with the same MAC between mobile node and RPs, MN denotes mobile node, RP denotes a reference point, then, the K-nearest distance will be and RPs, MN denotes mobile node, RP denotes a reference point, then, the K-nearest distance will be selected as the nearest neighbors. Finally, the distances corresponding to the K neighbors are used to calculate the normalized weights using [20]:

Sensors 2016, 16, 410

7 of 21

selected as the nearest neighbors. Finally, the distances corresponding to the K neighbors are used to calculate the normalized weights using [20]:

Sensors 2016, 16, 410

7 of 21

1{Lpd,iq ωi “ K1 L ř ,i ) i  K p1{L( dpd,i q q i “1 (1 L ( d ,i ) )

(2)

(2)

i 1

According to the normalized weight and RPs’ coordinates, a coarse estimation using the According to the normalized weight and RPs’ coordinates, a coarse estimation using the KWNN-based Wi-Fi fingerprint can use the following formula [20]: KWNN-based Wi-Fi fingerprint can use the following formula [20]: + # K K Kÿ K ÿ Pi px,Pyq( xKW “ yi ¨ ωi (3) i , yi    xixi¨iω , (3) i , y ) NN KWNN i

i i“1 1





i 1 i“1



In KWNN, KWNN,ititis is well known is a critical parameter willinfluence directlythe influence the well known that that K is aKcritical parameter that will that directly positioning positioning we have explored and are the shown results in areFigure shown2.inEach Figure 2. Each K was accuracy, soaccuracy, we have so explored that and thethat results K was simulated simulated times tothe calculate the mean error of positioning; we can see from 2 that K = 3 is 1000 times 1000 to calculate mean error of positioning; we can see from Figure 2 thatFigure K = 3 is the optimal the optimal set K as 3 which in this will paper, which will choice whosechoice meanwhose error ismean abouterror 1.59 ism,about so we1.59 set m, K asso3 we in this paper, determine the determine numberimages. of retrievable images. number of the retrievable

Figure Figure 2. 2. The The K K value’s value’s impact impact on on positioning. positioning.

4.2. Sensors on on aa Smartphone Smartphone 4.2. Precise Precise Localization Localization Calibrated Calibrated with with Built-in Built-in Sensors At the image image matching matching positioning positioning stage, stage, the the images images and and three-dimensional three-dimensional orientation orientation sensor At the sensor data the user’s user’s smartphone data captured captured via via the smartphone will will be be matched matched with with the the stored stored data data according according to to the the K K nearest neighbors. This process can be described like this: first, we calculate the angle difference nearest neighbors. This process can be described like this: first, we calculate the angle difference between between real-time real-time obtained obtained orientation orientation values values and and stored stored values, values, and and the the results results are are expressed expressed as as orientation matching factors, afterwards, the captured image will be processed to calculate the orientation matching factors, afterwards, the captured image will be processed to calculate the image image matching factor. It is noting worth noting the orientation matching factors are three-dimensional matching factor. It is worth that thethat orientation matching factors are three-dimensional vectors, vectors, but the image factors matching are 1 where × K vectors, K isin the parameter in the but the image matching are 1factors ˆ K vectors, K is the where parameter the KWNN algorithm. KWNN algorithm. Finally, we will utilize the mean-weighted exponent algorithm to correct further Finally, we will utilize the mean-weighted exponent algorithm to correct further the estimated results the estimated results ofMore the Wi-Fi fingerprint. More pertinent details will be introduced of the Wi-Fi fingerprint. pertinent details will be introduced in the following sections. in the following sections. 4.2.1. Three-Dimensional Orientation Matching 4.2.1. Three-Dimensional Orientation Matching The orientation sensor is used to detect motion pose such as azimuth, pitch and roll. We show the 3D model of orientation sensor it is software-based and derives its and three-dimensional The orientation sensor is usedin toFigure detect 3, motion pose such as azimuth, pitch roll. We show floating data from the accelerometer sensor and the geomagnetic field sensor using rotation matrix. the 3D model of orientation sensor in Figure 3, it is software-based and derives its three-dimensional Since thisdata whole process has been packaged API,field we can use it directly. floating from the accelerometer sensor into and the Android geomagnetic sensor using rotation matrix. Since this whole process has been packaged into the Android API, we can use it directly.

Sensors 2016, 16, 410

8 of 21

Sensors 2016, 16, 410 Sensors 2016, 16, 410

8 of 21 8 of 21 Heading

Positive Roll Axis

Heading

Positive Negative Roll Axis

Negative Positive

Pitch Axis

Positive Negative

North Heading

Pitch Axis Negative

North Heading

Figure 3. 3D model of an orientation sensor. Figure 3. 3D model of an orientation sensor.

Figure 3D model of an sensor. We use the orientation sensor in a3.smartphone to orientation improve the image matching performance, so we should its coordinate system shown in Figure 4a, where the z-axis represents azimuth or We useknow the orientation sensor a smartphone to improve the image performance, We use thethe orientation sensorinin a smartphone to improve the imagematching matching performance,so so heading. When phone rotates around the z-axis, the first element in the three-dimensional we should know its coordinate system shown ininFigure 4a, where the z-axis represents azimuth or we should know its coordinate system shown Figure 4a, where the z-axis represents azimuth floating data, whose range is 0–360°, indicates thethe angle betweeninthe geomagnetic field and theor heading. When the phone rotates around the z-axis, first element the three-dimensional floating heading.y-axis, Whensothe phone rotates around z-axis, the first elementthe inheading the three-dimensional phone’s if 0–360 the value is equal 0°, the 90°, 180°, or it means is north,y-axis, east, ˝ , indicates data, whose range is theto angle between the270°, geomagnetic field and the phone’s floating data, whose range is 0–360°, indicates the angle between the geomagnetic field and the south, or west, respectively, and we show this case in Figure 4b. The x-axis represents pitch. When ˝ ˝ ˝ ˝ so if the value is equal to 0 , 90 , 180 , or 270 , it means the heading is north, east, south, or west, phone’s so around if the value is equalthe to second 0°, 90°, element 180°, or 270°, means the headingfloating is north,data, east, the phoney-axis, rotates the case x-axis, in theit three-dimensional respectively, andrespectively, we show this in Figure 4b. case The x-axis represents pitch. When the phone rotates south, or west, and we show this in Figure 4b. The x-axis represents pitch. When whose range is −180° second to +180° indicates thethree-dimensional angle between the geomagnetic field range and the phone’s ˝ to around the x-axis, element in the the data, whose is ´180 the phone rotatesthe around the x-axis, second element infloating the three-dimensional floating data, z-axis, specifically, when the top of the phone is up, the angle changes from 0° to −180°, when ˝ indicates the angle between the geomagnetic field and the phone’s z-axis, specifically, when the +180 the whose range is −180° to +180° indicates the angle between the geomagnetic fieldinand the 4c. phone’s bottom of the phone is up, the value changes from 0° to 180°. This case is shown Figure The ˝ ˝ top of the phone is up, the angle changes from 0 istoup, ´180 whenchanges the bottom of0° the up, the z-axis, specifically, when the top of the phone the ,angle from tophone −180°,iswhen the x-axis represents roll. When phone rotates around the y-axis, the second element in the the ˝ to ˝ . the value changes from 0 180 This case is shown in Figure 4c. The x-axis represents roll. When bottom of the phone is up, the value changes from 0° to 180°. This case is shown in Figure 4c. The three-dimensional float data, whose range is −90° the to three-dimensional +90° indicates the angle between the phone around the When y-axis, the second element float data, whose range x-axisrotates represents roll. the phone specifically, rotates in around the y-axis, the second element in the geomagnetic field and the phone’s x-axis, when the left of the phone is up, the angle ˝ ˝ isthree-dimensional ´90 to +90 indicates the anglewhose between the geomagnetic field and the phone’s x-axis,between specifically, floatwhen data, −90°thetovalue +90° indicates the angle the changes from 0°the to −90°, the right ofrange phoneisisfrom up, from 0° to +90°. This casethe is ˝ to ´90changes ˝ , when the when the left of phone is up, the angle changes 0 right of phone is up, geomagnetic field and the phone’s x-axis, specifically, when the left of the phone is up, the angle shownchanges in Figure 4d.0˝ to +90˝ . This case is shown in Figure 4d. value changes from from 0° to −90°, when the right of phone is up, the value changes from 0° to +90°. This case is shown in Figure 4d.

z North

y

z

y

x

Heading North

z

x

Heading

z

(a)

(b)

Pitch

y

(a)

(b)

Pitch

y

y

y

x Roll

Roll

in (c) a smartphone;

x

 x(d)

(c)

x

heading(d) indication

Figure 4. (a) The coordinate system (b) of a smartphone; (c) pitch Figure 4. (a) The coordinate system in a smartphone; (b) heading indication of a smartphone; indication of a smartphone; (d) roll indication of a smartphone. (c) pitch indication of a smartphone; (d) roll indication of a smartphone. Figure 4. (a) The coordinate system in a smartphone; (b) heading indication of a smartphone; (c) pitch indication of a smartphone; (d) roll indication of a smartphone.

Sensors2016, 2016,16, 16,410 410 Sensors

9 of 9 of 2121

In our algorithm, when the user takes a picture, the output values of the orientation sensor and In our will algorithm, wheninto thethe user takes asimultaneously. picture, the output values of the orientation sensor the image be recorded database The angle difference between real-time and the image will be recorded into the database simultaneously. The angle difference between obtained orientation values and stored values can improve the stability of image matching real-time obtained orientation values values can improve thechoices stability performance, namely, the values areand usedstored to constrain random image forofa image coarsematching estimated performance, namely,angle the values are used to constrain random image forand a coarse estimated location. A smaller difference indicates that the direction of choices the user the pose of the location. A smaller angle difference indicates that the direction of the user and the pose of the smartphone are closer to the corresponding RPs. In this paper, we define the orientation matching smartphone are closer the corresponding In this we defineobtained the orientation matching factor to measure thetocloseness as follows:RPs. assume thatpaper, the real-time three-dimensional factor to measure the closeness as follows: assume that the real-time obtained three-dimensional orientation values are represented as { x, y, z }, the stored values acquired from the K nearest nodes orientation values represented as {θx, θy,difference θ z}, the stored values acquired from K nearest nodes are denoted as { xare }, then, the angle can be calculated using thethe following formula: i , y i , zi are denoted as {}, then, the angle difference can be calculated using the following formula:

i b  (x  xi ) 2  (y  yi ) 2  (z  zi ) 2

(4) (4) ∆θi “ pθx ´ θxi q2 ` pθy ´ θyi q2 ` pθz ´ θzi q2 Finally, the orientation matching factor is the normalized weights of the reciprocal value of the angle differences: Finally, the orientation matching factor is the normalized weights of the reciprocal value of the angle differences: 1   i  K1{∆θi i ζi “ (5) (5) K ř (1 qi ) p1{∆θ i i 1 i “1

wherei = i =1,1,2,2,. .…, where . , K indicates the sequence of RPs in Equations (4) and (5). 4.2.2. 4.2.2.Image ImageFeature FeatureMatching Matchingby byan anOptical OpticalCamera Camera Image matching hashas beenbeen researched for indoor localization for years, image features Imagefeature feature matching researched for indoor localization forand years, and image can be extracted with many algorithms, for example, SIFT, PCA-SIFT, SURF. Niu [25] and Luo features can be extracted with many algorithms, for example, SIFT, PCA-SIFT, SURF. Niu [25][48] and compared SIFT and SURF fromSURF the perspective of time, scale, rotation, blur, illumination and affine. Luo [48] compared SIFT and from the perspective of time, scale, rotation, blur, illumination We have tested in our experiments it proves that is more than three than SIFT, and affine. Wethis have tested this in ourand experiments andSURF it proves that SURF is times more faster than three times however, it is not optimal to handle scale changes, rotation transformation and blur; a performance faster than SIFT, however, it is not optimal to handle scale changes, rotation transformation and blur; comparison of those three changes is three shown in Figure 5. a performance comparison of those changes is shown in Figure 5.

(a)

(b)

(c)

Figure 5. (a) the impact of scale changes on image matching factor; (b) the impact of rotation on image Figure 5. (a) the impact of scale changes on image matching factor; (b) the impact of rotation on matching factor; (c) the impact of blur on image matching factor. image matching factor; (c) the impact of blur on image matching factor.

Considering exists scale, scale,rotation rotationand and blur changes when users photos in Considering that that there there exists blur changes when users take take photos in many many thus, we choose thealgorithm SIFT algorithm proposed Lowe [49] toimage extract image Extracted features. cases,cases, thus, we choose the SIFT proposed by Loweby [49] to extract features. Extracted features can be expressed as N ˆ 128-dimensional feature vectors and stored in a database, features can be expressed as N × 128-dimensional feature vectors and stored in a database, where N where N denotes total number of obtained points. Thecaptured image captured on a smartphone byis denotes the totalthe number of obtained feature feature points. The image on a smartphone by users users is processed the algorithm, same algorithm, thencalculate we calculate oneone by one the Sorensen distances between processed by theby same then we one by the Sorensen distances between the the stored feature vectors and the real-time captured ones, we calculate the ratio by comparing the stored feature vectors and the real-time captured ones, we calculate the ratio by comparing the distance distanceofofthe theclosest closestneighbor neighbortotothat thatofofthe thesecond-closest second-closestneighbor neighborasasthe themetric metricfor forsimilarity similarityofof images. Lowe demonstrated that a metric threshold of “feature distance” between 0.4 and 0.6 optimal images. Lowe demonstrated that a metric threshold of “feature distance” between 0.4 isand 0.6 is when the two matching images change with scaling change and rotation transformation [49], further, optimal when the two matching images change with scaling change and rotation transformation [49],

further, we have found in our many experiments that when the threshold is equal to 0.55, the

Sensors 2016, 16, 410

10 of 21

we have found in our many experiments that when the threshold is equal to 0.55, the positioning mean error is smallest, the result is shown in Section 5.2.1. The process of image matching is as follows: it is based on the condition that we have obtained K images after coarse positioning with the KWNN-based Wi-Fi fingerprint, where K is the number of nearest neighbors. As mentioned above, the amount of database images in the candidate set has been reduced and the randomness of images choice have been restricted with the orientation sensor. To decrease the computational time, K images will be processed in a multithread mechanism. Those K images corresponding to K nearest neighbors in the database can be expressed as IpDB,iq (i = 1, 2, ..., K), and feature vectors are indicated as FpDB,iq (i = 1, 2, ..., K), the image captured by users is represented as Is and its corresponding feature vectors can be donated as Fs, then we use the following formula to calculate the common feature vectors Fc between the captured image and stored images: Fc “ pFpDB,iq X Fsq P r0, minpFpDB,iq , Fsqs

(6)

where i = 1, 2, ..., K. After that, two ratios between those images can be calculated, there are (pFpDB , iq X Fs q{FpDB , iq ) and (pFpDB , iq X Fs q{FS ). Accordingly, we use the two ratios to calculate the image matching factor. This factor can be defined as: ηi ñ arg maxp

FpDB,iq X Fs FpDB,iq

`

FpDB,iq X Fs Fs

q

(7)

where i = 1, 2, 3 denotes the index of the selected images. The image in the database that should be picked up if it maximizes the image matching factor, as we can see, if the two images don’t contain common feature points, the η is 0, if the two images match totally, the η is 2, so the range of η values is between 0.0 ď η ď 2.0, and a larger η indicates a greater similarity between two images. 4.2.3. Precise Localization Using Mean-Weighted Exponent Algorithm In this section we will introduce our fusion method, which we name the mean-weighted exponent algorithm, to calibrate the estimated location through the KWNN algorithm. The reason why we chose an exponent function is due to its nonlinearity, namely, an exponent function has a more significant change rate compared with a linear function. According to the selected K RPs, we have calculated the distance factor ω by KWNN, and the orientation matching factor ξ as well as image matching factor η through the proposed algorithm. With those critical parameters, we fuse them by calculating the sum, which will be used as the power of the exponent function. Similar to the previous principle, the normalized correction factor after fusion is represented as: epωi `ληi `γζi q ξ1i “ (8) K ř p ω ` λη ` γζ q i i i e i “1

where K is the number of nearest neighbors, i = 1, 2, . . . , K, λ and γ denote adjustment parameters. In this paper, we set both λ and γ to 1. Finally, the location of the user improved by the camera and orientation sensor on the smartphone is estimated by utilizing the following formula, similar to Equation (3): # + K K ÿ ÿ Pi px, yqFianl “ xi ¨ ξ1i , yi ¨ ξ1i (9) i “1

i “1

Equally important, after calculating the orientation matching and image matching factors, it should be noted that the orientation matching factors are three-dimensional vectors, but the image matching factors are 1 ˆ K vectors, where K is the parameter in the KWNN algorithm. Then, we first set thresholds to judge the maximum value of those factors, if the maximum values are both greater

Sensors 2016, 16, 410

11 11of of21 21

that maximum value can be used as the final location of the user. In this paper, they are equal to 1.8 than the two thresholds, this indicates that the location of the reference point corresponding to that and 0.8. maximum value can be used as the final location of the user. In this paper, they are equal to 1.8 and 0.8. 4.3. Updating the Database by Crowd-Sourcing 4.3. Updating the Database by Crowd-Sourcing One of the disadvantages of existing Wi-Fi fingerprint positioning is the very high costs in time One of the disadvantages of existing Wi-Fi fingerprint positioning is the very high costs in time and manpower during the offline acquisition and calibration phases. To overcome these limitations, and manpower during the offline acquisition and calibration phases. To overcome these limitations, our proposed algorithm supports users in uploadiang their scanned Wi-Fi data and captured images our proposed algorithm supports users in uploadiang their scanned Wi-Fi data and captured images into a server to update the database, that is, crowd-sourcing, Estelles-Arolas [50] overviewed this into a server to update the database, that is, crowd-sourcing, Estelles-Arolas [50] overviewed this and and defined the idea as “a new online distributed production model in which people collaborate and defined the idea as “a new online distributed production model in which people collaborate and may may be rewarded to complete tasks” [51], in our design, we always assume the users are willing to be rewarded to complete tasks” [51], in our design, we always assume the users are willing to upload upload the right results into the database. Apart from the fact that it can greatly reduce the the right results into the database. Apart from the fact that it can greatly reduce the complexity of complexity of building the database, we can find other advantages from our experiment in that the building the database, we can find other advantages from our experiment in that the accuracy of both accuracy of both the Wi-Fi fingerprint and proposed sensors-calibrated system positioning results the Wi-Fi fingerprint and proposed sensors-calibrated system positioning results are higher and more are higher and more stable as the amount of data in the database increases, as the results in stable as the amount of data in the database increases, as the results in Section 5.2.3 show, so users Section 5.2.3 show, so users contributing to crowd-sourcing can get a more precise and stable results. contributing to crowd-sourcing can get a more precise and stable results. Moreover, it can aid others to Moreover, it can aid others to locate the next time if the database has not recorded some RPs locate the next time if the database has not recorded some RPs information in the offline stage, in this information in the offline stage, in this way, it also decreases the manpower cost. way, it also decreases the manpower cost. 5. Experimental 5. ExperimentalResults Resultsand andEvaluation Evaluation 5.1. Experimental 5.1. Experimental Setup Setup To validate validateour our proposed algorithm, we developed have developed an application on an Android To proposed algorithm, we have an application on an Android smartphone. smartphone. Ourwas experiment wasonperformed the at fourth floor at of theInformation College of System Information Our experiment performed the fourthonfloor the College and 2 containing six fixed APs, the 2 System and Management of NUDT, with an area of around 1250 m Management of NUDT, with an area of around 1250 m containing six fixed APs, the layout of layoutand of floor and RPs installation areinshown 6. During the experiment, scan the signal Wi-Fi floor RPs installation are shown Figurein6.Figure During the experiment, we scanwe the Wi-Fi signal RSSI and record the captured front images and three-dimensional orientation values to build RSSI and record the captured front images and three-dimensional orientation values to build the the database shown in Figure 7. We did our best to try to capture fixed icons, such as signs, house database shown in Figure 7. We did our best to try to capture fixed icons, such as signs, house numbers, numbers, etc. We150 collected 150 RPs’ information the inoffline stage in the firstexperiment, round. In our etc. We collected RPs’ information in the offlinein stage the first round. In our our experiment, our experimental hardware included: a TP-link router, ThinkPad E420 with Win 7 64-bit experimental hardware included: a TP-link router, ThinkPad E420 with Win 7 64-bit operating system, operating system, CPU Intel(R) CPU and 2.10 4GHz 4 cores and G memory.isThe smartphone is a6 Intel(R) i3-2310M 2.10i3-2310M GHz 4 cores G memory. The 4smartphone a Huawei Honor Huawei Honor 6 (H60-L01) mobile 4G, sensors 16 G ROM whose sensors parameters listed in Tableswe 2 (H60-L01) mobile 4G, 16 G ROM whose parameters are listed in Tables 2are and 3 moreover, and 3, moreover, we used a Kingston 8 GB micro SD memory card to store data in the phone. We used a Kingston 8 GB micro SD memory card to store data in the phone. We developed our software developed our software using using Android Developer ToolsAndroid v 21.1.0.Developer Tools v 21.1.0.

11 m

29 m

24.4 m

AP6 1.2 m

AP5

AP1

21.2 m

AP4

8m AP3

AP2

43 m

Figure Figure 6. 6. Layout and RPs.

Sensors 2016, 16, 410

12 of 21

Sensors 2016, 16, 410

12 of 21

Sensors 2016, 16, 410

12 of 21

(a)

(b)

Figure 7. Scanning WiFi fingerprint (a) and capturing images (b).

Figure 7. Scanning WiFi fingerprint (a) and capturing images (b). Table 2. Parameters Huawei Honor 6. (a) for the 3D orientation sensor in the(b)

Table 2. Parameters for the 3D orientation sensor in the Huawei Honor 6.

Heading Pitch Roll Scanning WiFi fingerprint (a) and capturing images (b). SupplierFigure 7.Resolution Range Accuracy Range Accuracy Range Accuracy Heading Pitch Roll STmicroelectronics 0.01° 0~360° 0.1° −90°~+90° 0.1° −180°~+180° 0.1° Name Inemo Supplier Resolution Range Accuracy Range Accuracy Range Accuracy Name

Table 2. Parameters for the 3D orientation sensor in the Huawei Honor 6.

Inemo

´180˝ ~+180˝ 0.1˝ Roll Supplier Resolution Range Accuracy Range Accuracy Range Accuracy Type Orientation Length View Angle Size−180°~+180° STmicroelectronics 0.01° for0~360° 0.1° −90°~+90° 0.1° Honor 0.1° Table 3. Parameters theFocal optical camera in the Huawei 6.

STmicroelectronics

Name Inemo

0.01˝

0~360˝

0.1˝

´90˝ ~+90˝

0.1˝

Table 3. Parameters for theHeading optical camera in the Pitch Huawei Honor 6.

BSI CMOS

90°

3.79 mm

63°

1920 × 1080

TableOrientation 3. Parameters for the optical camera in the Huawei Honor 6. Type Focal Length View Angle Size The simple interface of the app and positioning result are displayed in Figure 8. The red point ˝ ˝ Type Orientation Focal Length View Angle Size BSI CMOS 90and a prompt message 3.79 mm 1920 ˆ 1080 represents the current location, is at the top. 63 BSI CMOS

90°

3.79 mm

63°

1920 × 1080

The simple interface of of thethe app resultare aredisplayed displayed Figure 8. The red point The simple interface appand andpositioning positioning result in in Figure 8. The red point represents the current location, and a prompt at the thetop. top. represents the current location, and a promptmessage message is at

Figure 8. Display interface and positioning result.

Figure Displayinterface interface and result. Figure 8. 8.Display andpositioning positioning result.

Sensors Sensors2016, 2016,16, 16,410 410

1313ofof2121

Four buttons are shown in the bottom, from left to right, their function is: exit, Wi-Fi positioning, Four buttons are shown in the bottom, from left to right, their function is: exit, Wi-Fi positioning, image matching positioning, and upload data to the server. Clicking the Wi-Fi positioning button image matching positioning, and upload data to the server. Clicking the Wi-Fi positioning button uses the KWNN algorithm to estimate the position for users, After the KWNN algorithm uses the KWNN algorithm to estimate the position for users, After the KWNN algorithm implements implements the positioning, clicking the image matching positioning opens the camera the positioning, clicking the image matching positioning opens the camera automatically and further automatically and further corrects the roughly estimated result using our proposed algorithm. corrects the roughly estimated result using our proposed algorithm. Clicking the upload data button Clicking the upload data button uploads the data and the refined localization in the phone cache into uploads the data and the refined localization in the phone cache into the database. Clicking exit exits the database. Clicking exit exits our positioning application software. Initially, the user can point to a our positioning application software. Initially, the user can point to a location on the map and upload location on the map and upload the current data into the server to build a database. the current data into the server to build a database. 5.2. Experimental Results and Performance Evaluation 5.2. Experimental Results and Performance Evaluation 5.2.1.Image ImageMatching MatchingEvaluation Evaluation 5.2.1. Anexperiment experimentisisconducted conductedin inthe themeeting meetingroom roomshown shownin inFigure Figure9,9,in inwhich whichwe wedisplay displaythe the An captured image image and and matched matched images images (a), (a), (b), (b), and and (c) (c) through through KWNN, KWNN, as aswell wellas ascorresponding corresponding captured orientation vectors. The red pentagram indicates the current position and its captured image, orientation vectors. The red pentagram indicates the current position and its captured image, scanned scanned APs’ RSSI value are {−63,−44,−85,−94,−89,−86}, the other three RSSI values stored in the APs’ RSSI value are {´63,´44,´85,´94,´89,´86}, the other three RSSI values stored in the database database are {−67,−46,−90,−80,−81,−86}, {−73,−38,−85,−80,−83,−80}, and and {−75,−45,−88,−82,−88,−81}. The are {´67,´46,´90,´80,´81,´86}, {´73,´38,´85,´80,´83,´80}, {´75,´45,´88,´82,´88,´81}. captured orientation sensor data is {25.62,−70.69,−1.69}, the other three stored in the database are The captured orientation sensor data is {25.62,´70.69,´1.69}, the other three stored in the database are {29.18,−65.32,−3.98}, {68.61,−84.61,−0.51} and {347.52,−81.46,0.2}. In our experiment, we compressed {29.18,´65.32,´3.98}, {68.61,´84.61,´0.51} and {347.52,´81.46,0.2}. In our experiment, we compressed allimages imageswith withthe thesize sizeofof1034 1034ˆ× 731, 731, the the image image captured capturedby bythe theuser userat atthe theonline onlinestage stageisisprocessed processed all with the SIFT operator and the number of extracted features Fs = 714. We list the other three images’ with the SIFT operator and the number of extracted features Fs = 714. We list the other three images’ featuresand and common features in 4, Table 4, meanwhile, we those calculate using the features common features in Table meanwhile, we calculate factorsthose usingfactors the methodology methodology described in Section 4. described in Section 4. Matched Image (c) Orientation Vector: {347.52,-81.46,0.2}

Matched Image (b) Orientation Vector: {68.61,-84.61,-0.51}

Matched Image (a) Orientation Vector: {29.18,-65.32,-3.98}

Captured Image Orientation Vector: {25.62,-70.69,-1.69}

Figure9.9.Comparison Comparisonof ofimage imageand andorientation orientationmatching. matching. Figure

Sensors 2016, 16, 410

14 of 21

Sensors 2016, 16, 410

14 of 21

Table 4. 4. Feature Feature number number and and matching matching factors. Table factors. indexindex (a) (b) (c)

(a) (b) (c)

F( DB ,i ) F (DB,i)

FFcc

659659 643643 628628

647 647 563 563 489 489



i ηi

1.888 1.888 1.664 1.664 1.464 1.464



i

ζi

0.853 0.853 0.128 0.128 0.018 0.018

It isiswell wellknown known that Lowe demonstrated a metric threshold for Euclidean that Lowe demonstrated that athat metric threshold for Euclidean distance distance between between 0.4 isand 0.6 is [49,52]. optimal In [49,52]. In this the probability density functions formatches correct 0.4 and 0.6 optimal this case the case probability density functions for correct matches are obviously higher than for incorrect matches. In our experiment, we have explored the are obviously higher than for incorrect matches. In our experiment, we have explored the metric metric threshold’s the positioning accuracy of SURF and SIFT algorithm, it worth noting threshold’s impactimpact on theon positioning accuracy of SURF and SIFT algorithm, it worth noting that that “Wi-Fi+SURF” the method using Wi-Fi fingerprint make a coarse and estimation and “Wi-Fi+SURF” meansmeans the method using Wi-Fi fingerprint to make ato coarse estimation SURF-based SURF-based image matching algorithm to refine the positioning results, used in [25], image matching algorithm to refine the positioning results, which was usedwhich in [25],was “Wi-Fi+SURF” is “Wi-Fi+SURF” is the proposed algorithm our paper. The results are 10, shown in Figure 10, where we the proposed algorithm in our paper. Thein results are shown in Figure where we selected 150 RPs selected 150 RPs and in the database, located each group 200 timesthresholds. with different thresholds. As we in the database, located eachand group 200 times with different As we can see clearly, can see clearly, mean error lowest whenisthe is set 0.55 both of the two algorithm, the mean error the is lowest whenisthe threshold setthreshold to 0.55 both ofto the two algorithm, however, the however, mean error increaseswhen significantly whenisthe threshold is greater than 0.75, the accuracy mean errorthe increases significantly the threshold greater than 0.75, the accuracy becomes worse, becomes worse, we set the when threshold tofeature 0.55 when using feature vectorand to realize match consequently, weconsequently, set the threshold to 0.55 using vector to match images images and in realize positioning positioning the online stage. in the online stage.

Figure Figure 10. 10. Different Different thresholds’ thresholds’ impact impact on on positioning positioning accuracy. accuracy.

5.2.2. 5.2.2. Positioning Positioning Evaluation Evaluation To validate the the accuracy accuracy and algorithm with To validate and correctness correctness of of the the proposed proposed algorithm with calibrated calibrated sensors, sensors, we we have performed an experiment with 150 RPs in the database. The Cumulative Distribution have performed an experiment with 150 RPs in the database. The Cumulative Distribution Function Function (CDF) androot root mean square (RMSE) the stand-alone KWNN-based Wi-Fi fingerprint (CDF) and mean square errorerror (RMSE) of the of stand-alone KWNN-based Wi-Fi fingerprint algorithm, algorithm, stand-alone SIFT-based positioning algorithm, SURF combined with Wi-Fi positioning stand-alone SIFT-based positioning algorithm, SURF combined with Wi-Fi positioning algorithm and algorithm and proposed sensors-calibrated algorithm are shown Figure 11.we Incount Figurethe 11a, we proposed sensors-calibrated algorithm are shown in Figure 11. In in Figure 11a, errors count errors of 200 positioning events can see that positioning could be greatly of 200the positioning events and we can seeand thatwe positioning accuracy couldaccuracy be greatly improved by improved by the sensors-calibrated algorithm compared with other approaches, for example, the the sensors-calibrated algorithm compared with other approaches, for example, the error probability error probability of the KWNN-based m is 2about 12%, under m is distribution of thedistribution KWNN-based algorithm under 1algorithm m is aboutunder 12%, 1under m is about 53.5%,2these about these results demonstrate accuracy of algorithm the KWNN-based algorithm not high results53.5%, demonstrate that the accuracy ofthat thethe KWNN-based is not high enough.isHowever, enough. However, with correction of optical image and orientation sensor matching, this probability with correction of optical image and orientation sensor matching, this probability distribution increases distribution increases to 43%,2the 2 m is about 80%. Thealgorithm stand-alone to 43%, the probability under m isprobability about 80%.under The stand-alone SIFT-based alsoSIFT-based has a high algorithm also has a high error probability distribution, and these results demonstrate that the error probability distribution, and these results demonstrate that the accuracy of the KWNN-based accuracy of the KWNN-based algorithm is improved by visual positioning algorithm obviously algorithm is improved by visual positioning algorithm obviously (i.e., the sensors-calibrated algorithm). (i.e., the sensors-calibrated algorithm). Significantly, correctness of the of KWNN directly impacts Significantly, the correctness of the KWNN directly the impacts the accuracy the sensors-calibrated the accuracy of the sensors-calibrated algorithm. The RMSEs of different algorithms shown in algorithm. The RMSEs of different algorithms are shown in Figure 11b, where the are RMSE of the Figure 11b, where the RMSE of the sensors-calibrated algorithm is between 1.2 m and 1.5 m, less than the RMSE of the other three positioning algorithms. The stand-alone SIFT-based and

Sensors 2016, 16, 410

15 of 21

Sensors 2016, 16, 410 Sensors 2016, 16, 410

15 of 21 15 of 21

sensors-calibrated algorithm is between 1.2 m and 1.5 m, less than the RMSE of the other three “SURF+Wi-Fi” method close results, stand-alone is positioning algorithms. The stand-alone andthe “SURF+Wi-Fi” method have algorithm close RMSE “SURF+Wi-Fi” method have have close RMSE RMSE SIFT-based results, while while the stand-alone KWNN-based KWNN-based algorithm is worse, ranging from 2.1 to 2.4. We can conclude that our proposed sensors-calibrated algorithm results, while the stand-alone algorithm is worse, ranging from 2.1 to 2.4.algorithm We can worse, ranging from 2.1 to 2.4.KWNN-based We can conclude that our proposed sensors-calibrated has performance than the estimated results are the true location conclude our proposed sensors-calibrated algorithm has better than others and has better betterthat performance than the others others and and the the estimated resultsperformance are closer closer to to thethe true location after calibration. the results are closer to the true location after calibration. afterestimated calibration.

(a) (a)

(b) (b)

Figure Figure 11. 11. Performance Performance comparison comparison of of our our sensors-calibrated sensors-calibrated algorithm algorithm with with other other approaches. approaches. Figure 11. Performance comparison of our sensors-calibrated algorithm with other approaches.

5.2.3. 5.2.3. Performance Performance of of Crowd-Sourcing Crowd-Sourcing for for Positioning Positioning 5.2.3. Performance of Crowd-Sourcing for Positioning We use the error CDF and accuracy We use the error CDF and accuracy as as the the standard standard to to evaluate evaluate the the performance performance of of We use the error CDF and accuracy as the standard to evaluate the performance of crowd-sourcing. crowd-sourcing. In our small-scale experiment, five people participated in uploading data on the crowd-sourcing. In our small-scale experiment, five people participated in uploading data on the In our small-scale experiment, five people participated in uploading data on the fourth floor at the fourth fourth floor floor at at the the College College of of Information Information System System and and Management Management of of NUDT. NUDT. We We assume assume users users College of Information Systempositioning and Management of NUDT. We assume users participate actively, participate actively, uploading results freely and honestly, that is, there is no unreliable participate actively, uploading positioning results freely and honestly, that is, there is no unreliable uploading positioning results freely and honestly,compare that is, thereperformance is no unreliablethe data in the experiment. data data in in the the experiment. experiment. In In this this section, section, we we select select compare the the performance of of the stand-alone stand-alone KWNN KWNN In this section, weproposed select compare the performance ofitems the stand-alone KWNN algorithm and our algorithm and our algorithm. The number of in the database is set algorithm and our proposed algorithm. The number of items in the database is set to to 50, 50, 100, 100, 150, 150, 200, 200, proposed algorithm. The number of items ininthe database is size set tothrough 50, 100,crowd-sourcing. 150, 200, 250, 300,The andresults 350 to 250, 300, and 350 to simulate the increase the database 250, 300, and 350 to simulate the increase in the database size through crowd-sourcing. The results simulate the increase in the database size through crowd-sourcing. The results are shown in Figure 12. are are shown shown in in Figures Figures 12. 12.

(a) (a)

(b) (b)

Figure Figure 12. Performance comparison comparison of of crowd-sourcing. 12. Performance crowd-sourcing.

Figure 12a,b show the error CDF of the KWNN-based and the proposed sensors-calibrated Figure 12a,b 12a,b show show the the error error CDF CDF of of the the KWNN-based KWNN-based and and the the proposed proposed sensors-calibrated sensors-calibrated Figure algorithm, respectively. From Figure 12 we can conclude that: algorithm, respectively. respectively. From From Figure Figure 12 12 we we can can conclude concludethat: that: algorithm, (1) (1) As As the the number number of of RPs RPs in in the the database database increases, increases, the the accuracy accuracy of of the the KWNN-based KWNN-based and and our our (1) As the number of RPsalgorithm in the database increases, the accuracy of the KWNN-based and our sensors-calibrated are both improved. sensors-calibrated algorithm are both improved. sensors-calibrated algorithm are both has improved. performance. For example, when the number (2) (2) The The sensors-calibrated sensors-calibrated algorithm algorithm has aa better better performance. For example, when the number of RPs is equal to 350, the mean error under of RPs is equal to 350, the mean error under 11 m m of of KWNN-based KWNN-based algorithm algorithm is is about about 20%, 20%,

Sensors 2016, 16, 410

16 of 21

(2) algorithm has a better performance. For example, when the number SensorsThe 2016,sensors-calibrated 16, 410 16 of of 21 RPs is equal to 350, the mean error under 1 m of KWNN-based algorithm is about 20%, but, the mean error of the proposed is aboutalgorithm 46%, an obvious improvement. but, theunder mean1 m error under 1 m algorithm of the proposed is about 46%, an obvious (3) For the same database, if the estimated results of the KWNN-based algorithm are more precise improvement. and For more willifchoose better nearest so finally, the accuracy our (3) thestable, same which database, the estimated results neighbors, of the KWNN-based algorithm areofmore sensors-calibrated algorithm will bewill better. precise and more stable, which choose better nearest neighbors, so finally, the accuracy of our sensors-calibrated algorithm will be better. The RMSE and mean error of the stand-alone KWNN-based Wi-Fi fingerprint algorithm, The RMSE and mean error of algorithm, the stand-alone KWNN-based stand-alone SIFT-based positioning SURF combined with Wi-Fi Wi-Fi fingerprint positioning algorithm, algorithm stand-alone positioning algorithm, SURFincombined positioning algorithm and proposedSIFT-based sensors-calibrated algorithm are shown Figure 13, with whereWi-Fi the mean error indicates the and proposed sensors-calibrated algorithm are shown in Figure 13, where the mean error indicates closeness between the average value of a number of measurements and an accepted reference value, the closeness between the average value of a number of measurements and an accepted reference namely, trueness. value, namely, trueness.

(a)

(b)

Figure 13. RMSE and mean error comparison of crowd-sourcing with different algorithms. Figure 13. RMSE and mean error comparison of crowd-sourcing with different algorithms.

The RMSE indicates a measure of the system’s combined trueness and precision, namely, The a measure of the200 system’s trueness and precision, namely, accuracy. accuracy.RMSE Each indicates group was performed times.combined Figure 13a compares the RMSE of these four Each group was performed 200 times. Figure 13a compares the RMSE of these four algorithms, algorithms, Figure 13b compares the mean errors of these four algorithms. We can conclude the Figure 13b from compares the mean errorsas ofthe these four algorithms. We can the conclude from the following the shown results: number of RPs increases, RMSEthe of following the KWNN-based shown results: as the from number the RMSE the KWNN-based algorithm algorithm decreases algorithm decreases 2.8ofmRPs to increases, 1.6 m, reducing by of 42.9%. The sensors-calibrated from 2.8 m to 1.6 m, reducing by 42.9%. The sensors-calibrated algorithm decreases from 2.7 m to decreases from 2.7 m to 1.02 m, reducing by 62%, stand-alone SIFT image matching algorithm and 1.02 m, reducing by 62%, stand-alone SIFT image matching algorithm and SURF combinated with SURF combinated with Wi-Fi algorithm decrease 54.2% and 57.9%, respectively. Wi-FiThe algorithm 54.2% and 57.9%,algorithm respectively. RMSE decrease of the sensors-calibrated is less than that of the other three algorithms, The RMSE of the sensors-calibrated algorithm is lessalgorithm than thatisofcloser the other three algorithms, which means the position from the sensors-calibrated to the true location, which means the position from the sensors-calibrated algorithm is closer to the true location, while the while the stand-alone SIFT-based algorithm and SURF combined with Wi-Fi algorithm results stand-alone SIFT-based algorithm and SURF combined with Wi-Fi algorithm results are approximate. are approximate. From From Figure Figure 13b, 13b, we we can can see see that that the the mean mean error error of of visual visual positioning positioning algorithm algorithm is is less less than than that of KWNN-based Wi-Fi fingerprint positioning, and with the coarse estimation by stand-alone that of KWNN-based Wi-Fi fingerprint positioning, and with the coarse estimation by stand-alone KWNN-based sensors-calibrated algorithm is less thanthan thosethose of theofother three KWNN-based algorithm, algorithm,the theproposed proposed sensors-calibrated algorithm is less the other algorithms as the number of RPs increases, and the rate of increase of the proposed algorithm is larger three algorithms as the number of RPs increases, and the rate of increase of the proposed than that ofisthe others, which the sensors-calibrated algorithm has a better performance. algorithm larger than that indicates of the others, which indicates the sensors-calibrated algorithm has a We can use data variance to evaluate the stability of positioning. Positioning variance comparisons better performance. of theWe different algorithms are shown in Figure As weofcan see, whenPositioning the numbervariance of RPs can use data variance to evaluate the 14. stability positioning. increase, the variance of the four algorithms decreases, however, the positioning variance of the comparisons of the different algorithms are shown in Figure 14. As we can see, when the number of proposed sensors-calibrated algorithm is less than the variance of other algorithms, stand-alone RPs increase, the variance of the four algorithms decreases, however, the positioning variance of SIFT-based algorithm and SURF combined Wi-Fi algorithm are approximate, therefore, the results the proposed sensors-calibrated algorithmwith is less than the variance of other algorithms, stand-alone demonstrate that the proposed algorithm is more stable than KWNN. SIFT-based algorithm and SURF combined with Wi-Fi algorithm are approximate, therefore, the results demonstrate that the proposed algorithm is more stable than KWNN.

Sensors 2016, 16, 410 Sensors 2016, 16, 410

17 of 21 17 of 21

Figure Figure 14. 14. Positioning Positioning variance variance comparison. comparison.

5.2.4. Consume for for Positioning Positioning 5.2.4. Performance Performance Comparison Comparison of of Time Time Consume Time consumption is important aspect Time consumption is an an important aspect for for positioning positioning systems, systems, and and it’s it’s well well known known that that the the SURF algorithm is faster than the SIFT algorithm. In our proposed sensors-calibrated algorithm, SURF algorithm is faster than the SIFT algorithm. In our proposed sensors-calibrated algorithm, we we use multithreadmechanism mechanismto to extract features of K the K stored images corresponding the K use aa multithread extract features of the stored images corresponding to the Ktonearest nearest neighbors bySIFT using the SIFT operator, soalgorithm’s the proposed neighbors in parallelinbyparallel using the operator, so the proposed timealgorithm’s consumptiontime for consumption for estimating positions of is not worse than SURF, but the time consumption of a estimating positions of is not worse than SURF, but the time consumption of a stand-alone SIFT-based stand-alone three times that of our proposed algorithm is SIFT-based almost threealgorithm times thatisofalmost our proposed sensors-calibrated algorithm,sensors-calibrated and the position algorithm, and the position estimation time increases greatly as the image database increases in size, estimation time increases greatly as the image database increases in size, thus, we show the results of thus, we show the results of stand-alone KWNN-based, SURF combined with Wi-Fi algorithm stand-alone KWNN-based, SURF combined with Wi-Fi algorithm and the proposed algorithm and (i.e., the proposed algorithm SURF+Wi-Fi) in Table 5. (i.e., SURF+Wi-Fi) in Table 5. As we can see, the time consumption of the KWNN-based algorithm is the least; the average is 23.79 ms. As we put more on the time consumption of image matching positioning after Tableemphasis 5. Time-consuming comparison of different algorithms. coarse estimation by the KWNN-based algorithm, with the help of the multithread mechanism, the 1 our proposed 2 3 6 same 7time, the8 time averageMethod time consumed by algorithm is4 1716.205ms. At the consumption of the image so the 24.18 results KWNN-based/ms 18.33matching 16.14 approach 22.57 based 25.44on SURF 28.16 is 1808.03 27.29 ms, 28.19 SURF + Wi-Fi/ms 1834.23 1898.58 1777.30 positioning 1747.72 1716.91 1747.72 1908.65 demonstrate that high computational cost of1833.12 image matching have been reduced greatly Proposed/ms 1739.45 1734.18 1731.09 1699.88 1702.02 1691.47 1688.45 1743.09 by our sensors-calibrated algorithm. Table Time-consuming of different algorithms. As we can see, the time5. consumption ofcomparison the KWNN-based algorithm is the least; the average is 23.79Method ms. As we put more emphasis on the 1 2 3 time consumption 4 5 of image 6 matching 7 positioning 8 after coarse estimation by the KWNN-based algorithm, with the help of the multithread KWNN-based/ms 18.33 16.14 22.57 25.44 28.16 27.29 28.19 mechanism, 24.18 theSURF average time consumed our proposed algorithm is 1716.20 At the same time,1908.65 the time + Wi-Fi/ms 1834.23by 1898.58 1833.12 1777.30 1747.72ms.1716.91 1747.72 consumption of the image matching approach based 1699.88 on SURF is1702.02 1808.03 ms, so the results Proposed/ms 1739.45 1734.18 1731.09 1691.47 1688.45demonstrate 1743.09 that high computational cost of image matching positioning have been reduced greatly by our sensors-calibrated algorithm. 6. Conclusions

6. Conclusions Aiming at solving the imprecise and time-consuming outcomes in Wi-Fi fingerprint and image matching positioning, respectively, in this paper we propose a crowd-sourcing indoor localization Aiming at solving the imprecise and time-consuming outcomes in Wi-Fi fingerprint and image algorithm via the optical camera and orientation sensor in a smartphone. Real-case experimental matching positioning, respectively, in this paper we propose a crowd-sourcing indoor localization results of different methods demonstrate that the sensors-calibrated algorithm has a better accuracy algorithm via the optical camera and orientation sensor in a smartphone. Real-case experimental and stability performance, compared with three other algorithms (i.e., stand-alone KWNN-based results of different methods demonstrate that the sensors-calibrated algorithm has a better accuracy positioning, stand-alone SIFT image matching positioning and SURF combined with and stability performance, compared with three other algorithms (i.e., stand-alone KWNN-based Wi-Fi positioning). In summary, the proposed sensors-calibrated crowd-sourcing indoor positioning, stand-alone SIFT image matching positioning and SURF combined with Wi-Fi positioning). localization algorithm via the optical camera and orientation sensor on a smartphone has three innovative aspects:

Sensors 2016, 16, 410

18 of 21

In summary, the proposed sensors-calibrated crowd-sourcing indoor localization algorithm via the optical camera and orientation sensor on a smartphone has three innovative aspects: (1)

(2)

(3)

We explore the impact of SIFT and SURF thresholds on positioning when we choose the SIFT operator to extract image features. We conclude from our experiments that the positioning error is the least when the threshold is set as 0.55 in both the SIFT and SURF algorithms. We propose a mean-weighted exponent algorithm to fuse the output of the built-in sensors in a smartphone. Small scale real-case scenarios results demonstrate that the proposed algorithm has a better performance because of its nonlinearity to calibrate the positioning accuracy. We use crowd-sourcing to update and supplement the database. We also explored its influence on positioning. The experimental results show that the accuracy and stability of both algorithms have been improved, and the sensors-calibrated algorithm is obviously better than other three algorithms in this paper. Compared with the other positioning systems, the proposed system has the following advantages:

(1)

(2)

(3)

Higher performance. We apply the mean-weighted exponent algorithm to calculate the correction factors based on the output of the camera and orientation sensor. These factors will improve the performance of positioning system greatly in accuracy, stability, and applicability. Easier usage. All required hardware is widely available in common smartphones. It is unnecessary to use deploy additional installations and users can use their smartphones for positioning in two modes: if high accuracy is unnecessary, they can choose Wi-Fi fingerprint positioning, otherwise, they can open the camera to improve the positioning results through the proposed sensors-calibrated algorithm. Lower cost. The proposed algorithm can be implemented on a smartphone. Firstly, we use the smartphone to locate, and on the other hand, we adopt crowd-sourcing via the smartphone to update the database. Equally important, we do not need to preset tags for image identification in the indoor scenario. However, if we do preset tags for image identification, it will be better for our algorithm.

For indoor positioning systems, it is ideal to achieve the optimal performance with the simplest equipment or method; however, there are many issues to be solved. Our proposed algorithm still has some shortcomings; fortunately, those shortcomings will be addressed in our future work: Firstly, we should consider combining other built-in sensors in the smartphone. We have performed experiments under the assumption that the light is stable in indoor environments. In practice, the light might change as the weather changes. Smartphone cameras are sensitive to lighting and susceptible to this lowering the quality of the images. We will handle this aspect in the future by combining other sensors or other methods such as MoVIPS [26,27]. Secondly, the influence of equipment diversity should be considered. It is well known that the same built-in sensors in different smartphones have different performances, such as accuracy and stability, which will influence the positioning performance. We have tested the output value of the orientation sensor on the Huawei Honor 6 mobile phone and Motorola Moto X Pro mobile phone. The stability of the sensors in these two devices is obviously different. For simplification, we have done all experiments with the same brand of smartphone. Exploring the influence of equipment diversity for positioning will be a part of our future work. Finally, the crowd-sourcing selection mechanism should also be considered. Crowd-sourcing is a suitable method to build a database for positioning. On the one hand, it can reduce the time needed to build the database. On the other hand, it can improve positioning performance as demonstrated by our experiments. However, the thing we should take into account is how can we filter out the unreliable data from all the uploaded data. At the same time, we will explore the quality control and management of crowd-sourcing to select better and more useful data to realize localization.

Sensors 2016, 16, 410

19 of 21

Acknowledgments: The authors wish to thank the reviewers and editors for the careful review and the effort in processing this paper. This study was financially supported by the National Nature Science Foundation of China (71031007) and (61273198). Author Contributions: The work presented in this paper correspond to a collaborative development by all authors. Weiping Wang read and revised the manuscript for many times, and gave the comprehensive guidance. Qun Li and Hongtao Hou helped us design the system and revised our manuscript. Qiang Chang programmed and wrote the manuscript. Wei Chen programmed, performed the experiment, analyzed data and wrote the manuscript. Conflicts of Interest: The authors declare no conflict of interest.

References 1.

2.

3. 4.

5.

6.

7.

8.

9.

10. 11.

12.

13.

14.

Monnerat, M.; Couty, R.; Vincent, N.; Huez, O.; Chatre, E. The assisted GNSS, technology and applications. In Proceedings of the 17th International Technical Meeting of the Satellite Division of the Institute of Navigation, Long Beach, CA, USA, 21–24 September 2004; pp. 2479–2488. Deng, Z.; Zou, D.; Huang, J.; Chen, X.; Yu, Y.P. The assisted GNSS boomed up location based services. In Proceedings of the 5th International Conference on Wireless Communications, Networking and Mobile Computing, Beijing, China, 24–26 September 2009; pp. 1–4. Wang, J.; Xu, G. Move Difference Relative Positioning Method Based on GNSS. Modern Navig. 2015, 3, 250–255. Chen, R.; Chu, T.; Li, J.; Li, X.; Chen, Y. DGNSS-C: A differential solution for enhancing smartphone GNSS performance. In Proceedings of the 27th International Technical Meeting of the Satellite Division of the Institute of Navigation, Tampa, FL, USA, 8–12 September 2014; pp. 490–497. Xu, C.; Firner, B.; Zhang, Y.; Howard, R.; Li, J.; Lin, X. Improving RF-Based Device-Free Passive Localization in Cluttered Indoor Environments Through Probabilistic Classification Methods. In Proceedings of the 11th International Conference on Information Processing in Sensor Networks, Beijing, China, 16–20 April 2012; pp. 209–220. Schmitt, S.; Adler, S.; Kyas, M. The Effects of Human Body Shadowing in RF-based Indoor Localization. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Busan, Korea, 27–30 October 2014; pp. 307–313. Pelka, M.; Bollmeyer, C.; Hellbruck, H. Accurate Radio Distance Estimation by Phase Measurements with Multiple Frequencies. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Busan, Korea, 27–30 October 2014; pp. 142–151. Torres-Sospedra, J.; Montoliu, R.; Martinez-Uso, A.; Avariento, J.P. UJIIndoorLoc: A New Multi-building and Multi-floor Database for WLAN Fingerprint-based Indoor Localization Problems. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Busan, Korea, 27–30 October 2014; pp. 261–270. Zhou, M.; Zhan, Q.; Xu, K.; Tian, Z.; Wang, Y.; He, W. PRIMAL: Page Rank-Based Indoor Mapping and Localization Using Gene-Sequenced Unlabeled WLAN Received Signal Strength. Sensors 2015, 15, 24791–24817. [CrossRef] [PubMed] Ma, L.; Xu, Y. Received Signal Strength Recovery in Green WLAN Indoor Positioning System Using Singular Value Thresholding. Sensors 2015, 15, 1292–1311. [CrossRef] [PubMed] Zhang, S.; Xing, T. Open WSN indoor localization platform design. In Proceedings of the 2nd International Symposium on Instrumentation and Measurement, Sensor Network and Automation, Toronto, ON, Canada, 23–24 December 2013; pp. 845–848. Laoudias, C.; Michaelides, M.P.; Panayiotou, C. Fault Tolerant Target Localization and Tracking in Binary WSNs using Sensor Health State Estimation. In Proceedings of International Conference on Communications, Budapest, Hungary, 9–13 June 2013; pp. 1469–1473. Pak, J.M.; Ahn, C.K.; Shmaliy, Y.S.; Lim, M.T. Improving Reliability of Particle Filter-Based Localization in Wireless Sensor Networks via Hybrid Particle/FIR Filtering. IEEE Trans. Ind. Inform. 2015, 11, 1089–1098. [CrossRef] Lim, H.; Sudipta, S.N.; Cohen, M.F.; Uyttendaele, M.; Kim, H.J. Real-time monocular image-based 6-DoF localization. Int. J. Robot. Res. 2015, 34, 476–492. [CrossRef]

Sensors 2016, 16, 410

15.

16. 17. 18. 19. 20.

21.

22.

23.

24. 25. 26.

27.

28.

29. 30. 31.

32. 33. 34.

35.

20 of 21

Ifthekhar, M.S.; Saha, N.; Jang, Y.M. Neural Network Based Indoor Positioning Technique in Optical Camera Communication System. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Busan, Korea, 27–30 October 2014; pp. 431–435. Yang, S.H.; Kim, H.S.; Son, Y.H.; Han, S.K. Three-Dimensional Visible Light Indoor Localization Using AOA and RSS with Multiple Optical Receivers. J. Lightwave Technol. 2014, 32, 2480–2485. [CrossRef] Taniuchi, D.; Liu, X.; Nakai, D.; Maekawa, T. Spring Model Based Collaborative Indoor Position Estimation with Neighbor Mobile Devices. IEEE J. Sel. Top. Signal Process. 2015, 9, 268–277. [CrossRef] Chang, Q.; Hou, H.T.; Zeng, X.H.; Li, Q.; Wang, W.P. A Survey of GNSS based Cooperative Positioning. J. Astronaut. 2014, 35, 13–20. Zhao, Y.; Liu, K.H.; Ma, Y.T.; Li, Z. An improved k-NN algorithm for localization in multipath environments. J. Wirel. Commun. Netw. 2014, 1, 1–10. Chang, Q.; Velde, S.V.D.; Wang, W.; Li, Q.; Hou, H.T. Wi-Fi fingerprint positioning updated by pedestrian dead reckoning for mobile phone indoor localization. In China Satellite Navigation Conference (CSNC) 2015 Proceedings: Volume III; Springer: Berlin, Germany, 2015. Wang, D.; Zhou, Y.; Wei, Y. A Bayesian Compressed Sensing Approach to Robust Object Localization in Wireless Sensor Networks. In Proceedings of the International Conference on Mobile Services, Anchorage, AK, USA, 27 June–2 July 2014; pp. 24–30. Hejc, G.; Seitz, J.; Vaupel, T. Bayesian Sensor Fusion of Wi-Fi Signal Strengths and GNSS Code and Carrier Phases for Positioning in Urban Environments. In Proceedings of the International Conference on Position Location and Navigation Symposium, Monterey, CA, USA, 5–8 May 2014; pp. 1026–1032. Soltani, M.M.; Motamedi, A.; Hammad, A. Enhancing Cluster-based RFID Tag Localization Using Artificial Neural Networks and Virtual Reference Tags. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Montbeliard-Belfort, France, 28–31 October 2013; pp. 93–105. Chiang, K.W.; Liao, J.K.; Tsai, G.J.; Chang, H.W. The Performance Analysis of the Map-Aided Fuzzy Decision Tree Based on the Pedestrian Dead Reckoning Algorithm in an Indoor Environment. Sensors 2016, 16, 34. Niu, J.; Ramana, K.V.; Wang, B.; Rodrigued, J.J.P.C. A Robust Method for Indoor Localization using WiFi and Surf based on image fingerprint registration. Ad-HOC Mob. Wirel. Netw. 2014, 8487, 346–359. Werner, M.; Kessel, M.; Marouane, C. Indoor Positioning Using Smartphone Camera. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Guimarães, Portugal, 21–23 September 2011; pp. 1–6. Marouane, C.; Maier, M.; Feld, S.; Werner, M. Visual Positioning Systems—An Extension to MoVIPS. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Guimaraes, Portugal, 21–23 September 2011; pp. 95–104. Levchev, P.; Krishnan, M.N.; Yu, C.; Menke, J. Simultaneous Fingerprinting and Mapping for Multimodal Image and WiFi Indoor Positioning. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Busan, Korea, 27–30 October 2014; pp. 442–450. Gu, Y.; Anthony, L.; Niemegeers, I. A Survey of Indoor Positioning Systems for Wireless Personal Networks. IEEE Commun. Surv. Tutor. 2009, 11, 13–32. [CrossRef] Seybold, J.S. Introduction to RF Propagation; John Wiley & Sons: Hoboken, NJ, USA, 2005. Zou, H.; Wang, H.; Xie, L.; Jia, Q.S. An RFID indoor positioning system by using weighted path loss and extreme learning machine. In Proceedings of the International Conference on Cyber-Physical Systems, Networks, and Applications, Taipei, Taiwan, 19–20 August 2013; pp. 66–71. Chen, Z.; Zou, H.; Jiang, H.; Zhu, Q.; Soh, Y.C.; Xie, L. Fusion of WiFi, Smartphone Sensors and Landmarks Using the Kalman Filter for Indoor Localization. Sensors 2015, 15, 715–732. [PubMed] Fidan, B.; Uamy, I. Adaptive Environmental Source Localization and Tracking with Unknown Permittivity and Path Loss Coefficients. Sensors 2015, 15, 31125–31141. [CrossRef] [PubMed] Yang, L.; Chen, Y.; Li, X.Y.; Xiao, C.; Li, M.; Liu, Y.H. Tagoram: Real-Time Tracking of Mobile RFID Tags to High Precision Using COTS Devices. In Proceedings of the Annual International Conference on Mobile Computing and Networking, Maui, HI, USA, 7–11 September 2014; pp. 237–248. Kotaru, M.; Joshi, K.; Bharadia, D.; Katti, S. SpotFi: Decimeter Level Localization Using WiFi. In Proceedings of the Annual Conference of the Special Interest Group on Data Communication, London, UK, 7–21 August 2015; pp. 269–282.

Sensors 2016, 16, 410

36.

37.

38. 39.

40.

41.

42. 43.

44.

45. 46.

47.

48. 49. 50. 51.

52.

21 of 21

Schussel, M.; Pregizer, F. Coverage Gaps in Fingerprinting Based Indoor Positioning: The Use of Hybrid Gaussian Processes. In Proceedings of the International Conference on Indoor Positioning & Indoor Navigation, Banff, AB, Canada, 13–16 October 2015; pp. 1–9. Li, L.; Shen, G.; Zhao, C.; Moscibroda, T.; Lin, J.H.; Zhao, F. Experiencing and Handling the Diversity in Data Density and Environmental Locality in an Indoor Positioning Service. In Proceedings of International Conference on Mobile Computing & Networking, Maui, HI, USA, 7–11 September 2014; pp. 459–470. Liu, C.; Wang, J. A Constrained KNN Indoor Positioning Model Based on a Geometric Clustering Fingerprinting Technique. Geomat. Inf. Sci. Wuhan Univ. 2014, 39, 1287–1292. Saha, A.; Sadhukhan, P. A Novel Clustering Strategy for Fingerprinting based Localization System to Reduce the Searching Time. In Proceedings of the 2nd International Conference on Recent Trends in Information Systems, Kolkata, India, 9–11 July 2015; pp. 538–543. Lee, C.W.; Lin, T.N.; Fang, S.H.; Chou, Y.C. A Novel Clustering-Based Approach of Indoor Location Fingerprinting. In Proceedings of the 24th International Symposium on Personal, Indoor and Mobile Radio Communications: Mobile and Wireless Networks, London, UK, 8–11 September 2013; pp. 3191–3196. Philipp, D.; Baier, P.; Dibak, C.; Durr, F.; Rothermel, K.; Becker, S.; Peter, M.; Fritsch, D. MapGENIE: Grammar-enhanced Indoor Map Construction from crowd-sourcing Data. In Proceedings of the 12th International Conference on Pervasive Computing and Communication, Budapest, Spain, 24–28 March 2014; pp. 139–147. Zhou, M.; Wong, K.S.; Tian, Z.; Luo, X. Personal Mobility Map Construction for crowd-sourcing Wi-Fi Based Indoor Mapping. IEEE Commun. Lett. 2014, 18, 1427–1430. Keller, F.; Willemsen, T.; Sternberg, H. Calibration of smartphones for the use in indoor navigation. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Sydney, NSW, Australia, 13–15 November 2012; pp. 1–8. Galván-Tejada, C.E.; García-Vázquez, J.P.; Galvan-Tejada, J.I.; Delgado-Contreras, J.R.; Brena, R.F. Infrastructure-Less Indoor Localization Using the Microphone, Magnetometer and Light Sensor of a Smartphone. Sensors 2015, 15, 20355–20372. [PubMed] Shin, H.; Chon, Y.; Cha, H. Unsupervised Construction of Indoor Floor Plan Using Smartphone. IEEE Trans. Syst. Man Cybern. Part C. 2012, 42, 889–898. [CrossRef] Song, J.; Hur, S.; Park, Y. Fingerprint-Based User Positioning Method Using Image Data of Single Camera. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Banff, AB, Canada, 13–16 October 2015. Kawaji, H.; Hatada, K.; Yamasaki, T.; Aizawa, K. Image-based Indoor Positioning System: Fast Image Matching using Omnidirectional Panoramic Images. In Proceedings of the ACM Workshop on Multimodal Pervasive Video Analysis, Florence, Italy, 29 October 2010; pp. 1–4. Luo, J.; Oubong, G. A Comparison of SIFT, PCA-SIFT and SURF. Int. J. Image Process. 2009, 3, 143–151. Lowe, D.G. Distinctive Image Features from Scale-invariant Keypoints. Int. J. Comput. Vis. 2004, 60, 91–110. [CrossRef] Estellés-Arolas, E. Towards an Integrated Crowd-sourcing Definition. J. Inf. Sci. 2012, 38, 189–200. [CrossRef] Vukovic, M.; Lopez, M.; Laredo, J. Peoplecloud for the Globally Integrated Enterprise. In Proceedings of the International Conference on Service Oriented Computing, San Francisco, CA, USA, 7–10 December 2010; pp. 109–114. Qian, S.; Zhu, J. Improved SIFT-based Bidirectional Image Matching Algorithm. Mech. Sci. Technol. Aerosp. Eng. 2007, 26, 1179–1182. © 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons by Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).