Ⅰ. 서론
GPS 신호가 수신되지 않는 실내에서의 위치 추정 기술에 대한 연구가 활발하게 진행되고 있다. 관성 센서를 이용한 Pedestrian Dead Reckoning(PDR) 방식, 전파 신호의 수신 세기나 수신 시간 차이를 삼각 측량으로 위치를 추정하는 방식, 카메라 영상 데이터를 컴퓨터 비전 기술에 적용하여 이동 위치를 추적하는 방식 등 매우 다양한 방식이 있다[1~2]. 한 편, 기존에 많이 설치되어 있는 무선랜 공유기들의 신호 세기를 여러 장소에서 미리 측정하여 Database(DB)를 만들고, 위치를 추정하려는 장소에서 측정된 무선랜 공유기 신호 세기들과 비교하여 위치를 추정하는 WiFi fingerprint 방식이 있다. 이 방식은 사전에 이미 구축된 무선랜 인프라를 활용하므로 인프라 구축 비용이 거의 없다는 장점이 있으며, 추정된 위치는 지구 좌표계 값이므로 위치 추정 오차가 누적되지 않고 절대 좌표를 추정할 수 있으므로, 바로 지도에 현재의 위치를 표시할 수 있다는 큰 장점을 가지고 있다. 따라서 이 방식에 대한 연구가 매우 활발하게 진행되고 있다[3~5].
DB에 저장된 WiFi fingerprint 데이터와 임의의 위치에서 측정된 WiFi 신호 세기 데이터를 비교하여, 위치를 추정하는 기술에는 K-Nearest Neighbour(KNN) 방식이 많이 사용되었다. 이 방식은 동일한 무선랜의 수신 신호 세기의 크기 차이를 계산하고 모든 측정된 무선랜에 대해서 합산하여 그 Euclidean 거리를 비교하는 방식이다.
그런데 [5]에서는 Euclidean 거리 값의 패턴을 분석하여, 패턴에 따라서 K 값을 자동으로 변경하는 알고리즘이 연구되었고, 기존의 고정된 K 값 방식보다 위치 정확도가 향상되었다.
한 편, WiFi fingerprint 방식에 신경망을 적용하여 위치를 추정하는 연구가 최근에 매우 활발하다[6~9]. WiFi 수신 신호 세기(Received Signal Strength: RSS) 측정 데이터를 컨볼루션 신경망(Convoultional Neural Network: CNN)에 직접 입력하여 학습시킬 뿐만 아니라, 측정 데이터에 포함된 잡음이나 outlier 등의 오차 성분을 제거하기 위해서 오토인코더를 먼저 적용하는 등의 다양한 연구가 진행되고 있다.
KNN이나 CNN 등은 데이터를 학습시켜서 원하는 값을 추정하는 기계 학습의 한 종류로, 기계 학습의 특성상 학습 데이터의 사전 처리가 매우 중요하다.
본 논문에서는 WiFi RSS 원시 데이터 대신에, 데이터를 사전 처리하여 가공하고, 이 데이터들을 각각의 사전 측정 위치(Reference Point: RP)에서의 WiFi RSS의 Euclidean 거리 맵 데이터를 구성하여, KNN와 CNN에 적용하는 기술을 적용하였다.
Ⅱ. WiFi 데이터의 사전 처리
1. WiFi fingerprint 데이터의 측정
WiFi fingerprint DB를 구축하기 위해서 먼저 건물 내에 등간격으로 가상적인 그리드를 설정하고 그 교차점이 RP가 되며, 그 지점에서 스마트폰이나 무선랜 수신기로 주변의 모든 무선랜 공유기에 대한 RSS를 일정 시간 간격을 두고 20회씩 측정한다. 그림 1은 전형적인 4개의 무선랜 공유기의 RSS 측정값으로 무선랜 신호는 페이딩때문에 RSS의 변화가 크며 특히 수신 레벨이 낮은 경우에는 더욱 심하다. 또한 –100dBm의 수신 감도보다 작은 경우에는 RSS를 측정할 수 없다.
그림 1. 4개의 무선랜 공유기(AP)의 RSS 측정값의 변화
Fig. 1. Variation of the RSS measurements from four Wireless Lan APs
본 논문에서는 실험 결과의 일관성을 위해 장소 A와 장소 B 두 군데에서 측정을 수행하였다. 그림 2는 장소 A에서의 RP의 측정 좌표이며 2 m 간격으로 측정되었고, 작은 원은 위치 추정 성능을 분석하기 위한 test point(TP)의 위치이다.
그림 2. WiFi fingerprint 측정 RP 좌표와 TP(원) 위치
Fig. 2. RP coordinates and TP position for WiFi fingerprint measurements
2. WiFi 데이터의 사전 처리 방법
[10]에서와 같이 기계 학습에서 데이터 과학자들이 가장 많이 시간을 투입하는 항목이 데이터의 사전 처리이다. 이 방법에 따라 기계 학습의 성능이 크게 차이나기 때문이다. 따라서 본 논문에 적용된 WiFi fingerprint 데이터의 사전 처리 방법에 대해서 설명한다.
각각의 RP에서 측정된 무선랜 공유기들의 신호 세기 데이터의 형태는 그림 4와 같다. RP에 따라서 측정이 전혀 안 되는 무선랜 공유기들도 있고, 샘플링 시간에 따라서 측정이 되기도 하고 안되기도 하는 경우도 있다. 수신기의 수신 감도보다 수신 신호가 작아서 측정이 안되는 경우 결측치가 된다. 한 번이라도 측정이 되는 무선랜 공유기의 경우 결측치는 –100dBm으로 표시한다. 여기서 AP는 무선랜 공유기를 말한다.
그림 3. 데이터 과학자가 시간을 소모하는 비율
Fig. 3. What data scientists spend the most time doing.
그림 4. 각각의 RP에서 측정된 무선랜 공유기의 수신 신호 세기 데이터 예제(N.D.는 전혀 측정되지 않은 경우)
Fig. 4. Example of received signal strength data of wireless LAN router measured at each RP.(N.D. is not measured at all.)
측정된 무선랜 수신 신호 세기의 데이터를 기계 학습에 적용하려면 두 가지 문제가 있다. 즉, 결측치를 처리하는 방법과 수신 신호의 세기가 작아 측정 데이터의 분산이 큰 경우에 사전 처리 방법을 해결해야 한다.
기존의 KNN을 이용한 WiFi fingerprint 방식에서는 각각의 RP에서 Euclidean 거리를 구할 때에 신호가 수신된 무선랜 공유기만을 고려하였고, 순간적으로 측정되지 않은 결측치에 대해서는 무조건 –100dBm으로 가정하였다.
그러나 이런 경우 WiFi 측정 지역의 경계 지점에서는 측정되는 무선랜 공유기의 개수가 적어 데이터 처리의 정확성이 떨어지는 문제가 있다.
따라서 본 논문에서는 이 문제를 해결하는 방법으로 결측치에 대해서 적절한 값으로 대체하는 방법을 제안한다. 즉, 그림 4의 예제인 경우에는 결측치가 N.D.로 표시되었는데, 이를 그림 5와 같이 결측치를 사전 처리한다. 그 이유는 그림 6에서처럼, 결측치를 대신할 값으로 여러 가지 값을 대입해 보고 위치 추정 오차를 고려하여 가장 최적인 값인 –110dBm을 선택하였다.
그림 5. 사전 처리된 WiFi 측정 데이터
Fig. 5. Preprocessed WiFi measured data
그림 6. 결측치에 대한 대체값에 따른 위치 추정 오차
Fig. 6. Position estimation error according to the replacement value instead of missing value.
다음으로는 분산이 큰 측정값을 사전 처리한다. 그림 4의 RP1에서, AP3에서 측정된 값을 보면 변동이 매우 큰 것을 확인할 수 있다. 측정된 샘플값의 표준 편차가 5 이상인 경우는 측정값이 불안정하다고 분류한다. 이 경우에는 대부분 수신 신호의 세기가 작아서 –100dBm의 결측치인 경우가 많다. 이 측정 데이터들이 위치 추정 오차의 원인이 되므로, 본 논문에서는 임의의 무선랜 공유기의 측정값에서 결측치의 비율이 70% 이상이면, 모든 측정값들을 –100dBm으로 대체하고, 70% 이하이면 결측치를 제외한 나머지 값들의 평균으로 결측치를 대체하는 방법을 제안하였다.
여기서, 70%라는 비율은 그림 7에서와 같이 결측치 비율이 높아질수록 샘플 중 측정된 값이 비교적 미약해 사실상 의미를 부여하기 힘들다는 점과, 결측치 비율이 낮아질수록 샘플 중 측정된 값이 비교적 뚜렷해 그 값의 의미를 부여할 수 있다는 점을 고려하여 최적의 값으로 정한 비율이다.
그림 7. 결측치의 비율에 따른 표준 편차
Fig. 7. Standard deviation according to the rate of missing values
Ⅲ. KNN에 적용 결과
1. KNN 알고리즘
WiFi fingerprint 방식에 KNN 기술을 적용하기 위해서는 먼저 무선랜 공유기들의 RSS 데이터를 측정 및 저장해야 한다. 식 (1)은 해당 RSS 데이터, T에 대한 정의식이다[11].
T = {Ti = (Li, RSSi)|i = 1,2, ....., M}, (1)
Li + {(x, y)|x, y ∈ R2},
RSSi = {APji|j = 1,2, ....., N},
APji = {APjsi|s = 1,2, ....., S}
여기서 Li는 사전 측정 지점의 좌표이고, RSSi는 해당 지점에서의 무선랜 공유기의 수신 신호세기, M은 측정 지점의 총 수, x 및 y는 측정 지점의 상대 좌표 (단위: 미터), APji는 측정 지점 i에서 신호가 수신되는 무선랜 공유기 j이고 총 개수는 N개이며, APjsi는 위치 i에서 무선랜 공유기 j로부터 수신된 RSS를 s번째로 샘플링한 값이고 총 개수는 S개이다.
K개의 Euclidean 거리가 작은 위치 좌표들을 평균하여 최종 위치를 추정하며, K 값은 보통 5정도를 사용한다. 다음 식(2)는 Euclidean 거리를 계산하는 식이다..
\(\begin{aligned}Dist_{i u}=\frac{1}{N} \sqrt{\sum_{j=1}^{N}\left(A P_{j}^{i}-A P_{j}^{u}\right)^{2}}\\\end{aligned}\) (2)
다음 식 (3)으로 가중치를 고려하여 K 개의 위치 좌표들을 평균한 최종 추정 위치 \(\begin{aligned}\hat{L}_{u}\\\end{aligned}\)를 계산한다.
\(\begin{aligned}\hat{L}_{u}=\frac{\sum_{i=0}^{K} \frac{1}{\text { Dist }_{i}+\epsilon} L_{i}}{\sum_{i=0}^{K} \frac{1}{\text { Dist }_{i}+\epsilon}}\\\end{aligned}\) (3)
여기서 𝜖은 분모가 0이 되지 않도록 작은 수이다.
2. 실험 결과
다음 표 1은 WiFi 측정 데이터를 KNN에 적용하여 두 군데의 시험 장소에서의 위치를 추정한 결과이다. 본 논문에서 제안한 무선랜 공유기 신호의 수신 세기 데이터를 사전 처리한 경우와 처리하지 않은 경우를 비교하였다.
표 1. KNN 방식에 대한 데이터 사전 처리에 따른 위치 추정 오차 (단위: m)
Table 1. The Estimated position error according to the data preprocessing using KNN (unit: m)
데이터 사전 처리를 하지 않은 경우에는 위치 오차가 각각 1.6 m와 1.4 m이고, 데이터 사전 처리를 한 경우에는 위치 오차가 각각 1.03 m와 0.77 m로 약 33%의 성능 향상이 확인되었다. KNN 방식 중에서는 성능이 우수한 [5]의 Adaptive KNN 방식과 비교해 보아도, 약 17%의 정확도가 향상되었다. KNN 방식의 간단한 알고리즘에도 불구하고, WiFi 수신 신호 크기 데이터의 적절한 사전 처리에 의하여 위치 추정 정확도가 크게 향상되엇다.
Ⅳ. CNN에 적용 결과
1. CNN 모델
CNN은 2차원 영상 자료를 입력값으로 갖는 주로 영상 분류나 인식에 주로 사용되는 신경망 기반 deep learning 방법이다. 실내 위치 추정을 위해 deep learning 방법을 사용한 연구에 대한 조사를 [6]에서 수행하였는데, 여기서 측정된 RSS 데이터에 CNN을 적용하는 다양한 방법을 소개하였다. CNN을 적용하기 위해서는 RSS 데이터를 2차원 영상 데이터로 변환이 필요하다. 그래서 [7]은 256개의 AP를 사용하여 RP에서 측정된 256개의 RSS 신호를 16×16 영상 데이터로 단순 변환하였으며, [8]에서는 Auto-Encoder(AE)를 사용하여 RSS 신호에서 중요 특징을 추출하여 일차원 CNN을 사용하였고, [9]에서는 RSS 신호의 특징을 추출하기 위하여 continuous wavelet transformation을 통하여 얻은 값을 CNN 입력값으로 사용하였다.
이와 같이 실내 위치 추정에 CNN을 적용하기 위해서는 측정된 RSS 데이터의 적절한 2차원 변환 방법이 필요하다. 이 논문에서는 RSS 데이터의 CNN 입력값으로 변환을 위해 장소 A와 장소 B에서 격자형 위치의 RP에서 주변의 RSS 신호를 측정하여 영상 좌표와 일치 하도록 입력값을 수집하였다. 장소 A에서는 2m 간격의 격자형 위치를 RP로 사용하였고, 장소 B에서는 1m 간격으로 격자형 위치를 RP로 정하였다. 2차원 영상 데이터 변환을 위해 각 각의 RP와의 거리를 AP에서 수신된 RSS의 차이를 이용하여 거리를 구하고, 구한 거리의 역수를 사용하여 유사도로 변환하였으며, 이렇게 변환된 2차원 데이터를 CNN의 입력값으로 사용한다. RSS 신호의 수집 방법과 장소의 제약으로 인해 적용된 CNN 모델은 2개의 Convolution 층을 갖는 그림 8의 형태를 갖는다.
그림 8. CNN 모델 구조
Fig. 8. CNN model architecture
2. 실험 결과
다음 표 2는 WiFi 측정 데이터를 CNN에 적용하여 6개의 시험 지점에서의 위치를 추정한 결과이다. 본 논문에서 제안한 무선랜 공유기 신호의 수신 세기 데이터를 사전 처리한 경우와 처리하지 않은 경우를 비교하였다.
표 2. CNN 방식에 대한 데이터 사전 처리에 따른 위치 추정 오차 (단위: m)
Table 2. The Estimated position error according to the data preprocessing using CNN (unit: m)
CNN 방식의 경우에도 데이터 사전 처리를 한 경우에 안 한 경우보다 약 16%의 성능 향상이 확인되었다. 그러나 CNN의 복잡한 구조와 많은 계산량에도 불구하고, KNN 방식보다는 위치 추정 오차가 크게 나타났다. 그 원인은 절대적인 데이터의 량, 예측변수의 개수 등 여러 변수에 따른 것이라 예측되며, CNN 구조에서는 최적화 과정이 더 필요하다.
Ⅴ. 결론
본 논문에서는 WiFi fingerprint 방식에서 측정된 무선랜 공유기 신호 데이터를 사전 처리하는 기술을 제안하였고, 사전 처리된 학습 데이터를 KNN과 CNN에 적용한 결과를 제시하였다. CNN보다 사전 처리된 학습 데이터를 사용한 KNN에서 훨씬 정확하게 위치를 추정하였고, 기존의 AKNN 방식보다 정확도가 크게 향상되었다. 기계학습에서 학습시키는 데이터의 사전 처리가 중요한 것을 다시 확인하였고, 향후에는 체계적으로 데이터를 사전 처리하는 연구가 필요하다.
References
- Zhenghua Chen, Han Zou, Hao Jiang, Qingchang Zhu, Yeng Chai Soh, and Lihua Xie, "Fusion of WiFi, Smartphone Sensors and Landmarks using the Kalman Filter for Indoor Localization", Sensors, Vol. 15, No. 1, pp. 715-732, 2015. https://doi.org/10.3390/s150100715
- Jongtaek Oh and Sojung Yoon, "A Study on Estimating Smartphone Camera Position", The Journal of the Institute of Internet, Broadcasting & Communication, Vol. 21, No. 6, pp. 99-104, 2021.
- Nattapong Swangmuang and Prashant Krishnamurthy, "An Effective Location Fingerprinting Model for Wireless Indoor Localization", Pervasive and Mobile Computing, Vol. 4, pp. 836-850, 2008. https://doi.org/10.1016/j.pmcj.2008.04.005
- Ville Honkavirta, Tommi Perala, Simo Ali-Loytty, and Robert Piche, "A Comparative Survey of WLAN Location Fingerprinting Methods", 6th Workshop on Positioning, Navigation and Communication, pp. 243-251, Hannover, Germany, March 2009. doi:10.1109/WPNC.2009.4907834
- Jongtaek Oh and Jisu Kim, "Adaptive K-nearest neighbour algorithm for WiFi fingerprint positioning", ICT Express, Vol. 2018, No. 4, pp. 91-94, April 2018.
- Xu Feng, Khuong An Nguyen, and Zhiyuan Luo, "A survey of deep learning approaches for WIFI-based indoor positioning", Journal of Information and Telecommunication, Volume 6, Issue-2, 2022.
- Sinha, R. S., & Hwang, S. H., "Comparison of CNN applications for RSSI-based fingerprint indoor localization", Electronics, 8(9), 989, 2019.
- Song, X., Fan, X., Xiang, C., Ye, Q., Liu, L., Wang, Z., He, X., Yang, N., & Fang, G., "A novel convolutional neural network based indoor localization framework with WiFi fingerprinting", IEEE Access, 7(1), 110698-110709, 2019. https://doi.org/10.1109/ACCESS.2019.2933921
- Ssekidde, P., Steven Eyobu, O., Han, D. S., & Oyana, T. J., "Augmented CWT features for deep learning-based indoor localization using WiFi RSSI data", Applied Sciences, 11(4), 1806, 2021.
- Houda Sarih, Ayeley Tchangani, Kamal Medjaher, and Eric Pere, "Data preparation and preprocessing for broadcast systems monitoring in PHM framework", Int. Conf. Cont. Dec. Inf. Tech., April 2019.
- S. Zekavat and R. Buehrer, Handbook of position location: Theory, practice, and Advances, IEEE Press, 2012.