Ⅰ. 서론
시각 장애인의 이동을 돕기 위한 다양한 방법이 개발되어 왔다. 시각 장애인을 위한 전자 지팡이, 시각 장애인용 내비게이션 시스템, RFID 위치 추적 기술로 시각 장애인에게 공간 내 다양한 정보를 제공하는 기술, 시각 장애인용 스마트폰 길 안내 시스템이 제안되기도 했다[1,2,3,4,5].
하지만, 현재 모바일 단말기를 활용하는 대부분의 길안내 시스템은 장애인이 이용하기에 다음과 같은 한계가 있다. 첫째, 시각 의존도가 너무 높아 불편하다. 둘째, 대부분의 모바일 길 안내가 음성 위주이다. 시끄러운 도로에서 음성 안내를 놓치면 길에서 이탈될 가능성이 높고, 이어폰을 끼는 경우 시설에 부딪치는 등 안전 문제가 발생할 수 있다. 셋째, 양손이 자유롭지 않다. 한 손에 지팡이를, 다른 손에 스마트폰을 휴대한 채 길 안내를 받게되면 비상 상황에서 큰 부상을 입을 수 있다. 넷째, 기존의 길 안내 시스템은 안전한 보행 경로보다는 최단 거리의 경로를 제공한다는 문제이다.
이러한 문제점을 해소하고자 본 연구팀은 최근 논문을 통해 다음 기능을 가진 길 안내 시스템을 제안하고 개발하였다[6]. 첫째, 스마트워치[7]의 진동을 활용하여 길을 안내한다. 스마트워치는 손목에 착용하므로 손이 자유롭다. 둘째, 지형지물을 분석하여 가장 안전한 경로를 결정하는 알고리즘을 개발한다. 셋째, 음성 인식을 이용하여 시각 장애인의 불편함을 해소한다. 넷째, 보행과정 전체의 실시간 모니터링 시스템을 개발한다.
본 논문은 이전 연구에서 부족한 부분을 다음과 같이 개선하였다. 첫째, 사용자 개인의 선호를 반영할 수 있도록 안전 우선 경로 알고리즘을 수정한다. 시각 장애인의 대부분은 저시력자들이므로, 시력 정도에 따라 도로 상황에 대한 선호가 다를 수 있다. 사용자로 하여금 길안내 만족도를 평가하여 알고리즘의 파라미터들이 자동 수정되는 기능을 추가하였다. 둘째, 지난 경로의 히스토리 시뮬레이션 기능을 추가하여 경로를 검토할 수 있게 하였다. 셋째, 나침반을 이용하여 분기점 등에서 길의 방향을 잘 찾을 수 있도록 하였다.
Ⅱ. 시스템 구조
스마트워치에서 실행되는 내비게이션 앱을 포함하여 본 논문에서 구현된 전체 시스템은 그림 1과 같다.
그림 1. 시스템 구조
Fig. 1. System View
길안내 서브시스템은 시각 장애인에게 음성인식과 안전한 경로 결정, 진동을 이용한 길 안내를 제공하며, 모니터링 서브시스템은 길안내 서브시스템에서 이루어지고 있는 모든 과정을 외부의 웹브라우저로 출력하는 기능과 시뮬레이션 및 자동 피드백 기능을 제공한다.
내비게이션 앱은 Kakao 음성 인식 기능을 활용하여 시각 장애인의 음성을 텍스트로 변환하며, 히스토리와 알고리즘에 사용되는 개인화 파라미터 등 모든 정보는 Firebase에 저장한다. 지도는 티맵[8]을 이용하며 목적지까지의 4개의 서로 다른 경로를 전달받고. 가장 안전한 경로로 길 안내를 시작한다.
모니터링 서브시스템은 플라스크 프레임워크[9]를 기반으로 하는 웹 애플리케이션이다. 웹 브라우저가 스마트워치에 접속하면 모니터링 서브시스템이 자바스크립트를 포함하는 웹페이지를 전송한다. 웹 브라우저에 다운로드된 자바스크립트 코드는 MQTT 브로커를 경유하여 MQTT[10] 메시지 전송 모듈과 메시지를 주고받으면서 길 찾기, 길 안내 등 목적지로 이동하는 모든 과정에 관한 정보를 전송받는다. 그리고 브라우저를 통해 화면에 출력한다.
III. 길 안내 서브시스템
1. 안전 우선 경로 알고리즘 리뷰
이 절에서는 이전 논문을 통해 소개된 안전 우선 경로 알고리즘[6]을 리뷰한다. 안전 우선 경로 알고리즘은 티맵이 추천한 4개의 경로에 대해 식 (1)과 같이 안전도를 계산하고 이 값이 가장 큰 경로를 선택한다.
Safetyr = Posr - Negr, for route r (1)
여기서 Posr 은 경로 r의 긍정적인 값이며, Negr 은 경로 r의 위험 요소들로 인한 부정적인 값이고, Safetyr은 경로 r의 안전도 값이다. 티맵은 경로를 JSON 형식으로 전달하는데, 이 속에는 길의 지형지물에 대한 다양한 정보를 포함한다. 알고리즘은 다음 3 단계의 연산으로 이루어진다.
[스텝 1] Posr 계산
티맵으로부터 받은 정보를 바탕으로 긍정적인 면에서 표 1과 같이 길을 분류하고 점수를 부여한다. 이 표를 바탕으로 경로 r에 대해 Posr 을 식 (2)와 같이 계산한다.
표 1. 긍정적인 길 타입과 점수
Table 1. Positive Route Types and Scores
Posr = (Σ(PTyperi x Distri))/ΣDistri (2)
여기서, PTyperi는 표 1에 보이는 길 타입 점수이며 Distri 는 미터 단위로 길의 길이이며, ∑Distri 는 경로r의 전체 길이이다. 따라서 0< Posr ≦ 100의 값이다.
[스텝 2] Negr 계산
티맵으로부터 받은 정보를 바탕으로 길에 관한 부정적인 정보를 표 2와 같이 4가지로 분류하고 점수를 부여하였다. 이 표를 바탕으로 각 경로 r에 대해 Negr 을 식 (3)과 같이 계산한다.
Negr = (∑(NTyperi x Freqri))/∑Freqri (3)
표 2. 부정적인 길 타입과 점수
Table 2. Negative Route Types and Scores
여기서, NTyperi는 표 2와 같이 길에 관한 부정적인 점수이며, Freqri 는 길 타입의 발생 빈도이고, ∑Freqri는 전체 발생 빈도의 합이다. 따라서 0 < Negr ≦ 100의 값이다.
[스텝 3] Safetyr 계산
각 경로 r에 대해 Safetyr 을 계산하고 가장 큰 값을 가진 경로 r을 선택한다. 앞의 사례를 이용하면 경로 r의 Safetyr = 91.4 – 21.37 = 70.03 이다.
Safetyr 은 현재 시점에서 티맵의 정보를 바탕으로 결정된다. Safetyr 은 -100 < Safetyr < 100의 범위의 값이며, Safetyr 이 음수인 경우 위험도가 너무 높은 경우이다. 만일 티맵이 제공한 모든 경로에 대해 Safetyr 가 음수이면 사용자에게 위험하니 목적지로 가지 말 것을 권한다.
2. 안전 우선 경로 알고리즘의 개인화
본 논문은 기존의 안전 우선 경로 알고리즘에 개인 성향을 반영하여 알고리즘을 개선하였다. 시각 장애인은 장애 정도가 다양하며, 길의 위험 요소를 대하는 개인의 성향도 다를 수 있기 때문에, 개인의 성향을 반영하도록 안전도 평가 식(1)을 식(4)과 같이 수정하였다.
Safetyr = Wp x Posr - Wn x Negr, for route r (4)
여기서 Wp는 도로 상태에 가중치이고, Wn은 위험 시설에 대한 가중치이며, 이 둘의 합은 2이다. 예를 들면 도로 상태보다 위험시설을 더 기피하는 사용자는 Wp=0.8, Wn=1.2 와 같이 Wn을 높게 주면 부정 점수가 상대적으로 많이 반영된다. 이렇게 되면 위험 시설이 덜한 경로가 더 높은 순위로 결정된다.
3. 경로 안내
가. 진동 안내 리뷰
이 절에서는 이전 논문에서 제안된 경로 안내에 대해 간단히 정리한다. 경로 안내는 진동을 통해 이루어지며 음성을 보조적 수단으로 사용한다. 진동 패턴은 진동 시간과 진동 세기를 기반으로 만들어진다. 진동 세기는 0~255 사이이고 진동 단위는 표 3과 같다. 표 4는 진동 단위로 설계된 진동 패턴과 음성이다. 표 4에서 ↓는 진동 세기가 점차 줄어듬을, ~는 목적이 달성될 때까지 진동이 계속됨을 뜻하고, 빈칸은 0.2초 동안 진동 멈춤을 뜻한다.
표 3. 진동 단위 설계
Table 3. Vibration Unit Design
표 4. 진동 설계
Table 4. Vibration Design
나. 나침반을 이용한 방향 조정
시각 장애인이 길 안내를 받아 이동을 시작하거나 이동 중에 그 자리에서 다른 곳의 소리를 듣는 등 몸의 방향을 튼 경우, ‘직전’ 등과 같은 지시 방향이 보행자를 잘못 인도 할 수 있다. 본 논문에서는 스마트워치의 나침반 센서를 이용하여 몸이 향해 있는 방향과 목표 방향의 각도 차를 구하고, 진동 세기를 다르게 주어 목표 방향으로 몸이 방향을 잡을 수 있도록 하였다. 그림 2는 나침반의 각도와 지시 방향을 보여준다.
그림 2. 나침반의 각도와 지시 방향
Fig. 2. Compass angle and pointing direction
나침반 센서는 워치를 수평으로 들면 작동된다. 사용자가 보는 방향을 0도라고 한다면 목표 방향이 좌측으로 180도 내이면 진동을 한 번씩 주고, 우측으로 180도 내이면 진동을 두 번씩 준다. 사용자가 진동에 따라 방향을 바꿀 때마다 목표 방향의 각도 차를 구해 그 값이 작아질수록 즉 방향이 맞춰질수록 진동의 세기를 점점 커지게 조정하고, 목표 방향에 들어오면 진동을 끊어 방향이 맞았음을 알려준다. 방향 조정 알고리즘은 예민하여 적용해본 결과 실제 사례에서 사용하기 쉽지 않았으며, 방향 조정 알고리즘의 효율성은 떨어지는 것으로 평가되었다. 그래서 음성과 함께 안내하도록 하였다.
IⅤ. 모니터링 시스템
1. 모니터링 서브시스템 리뷰
이 절에서는 이전의 구현된 모니터링 시스템에 대해 간단히 정리한다. 모니터링 웹 화면은 그림 3과 같고 모니터링 시스템은 다음 2개의 모듈로 구현되었다.
그림 3. 내비게이션 앱에 대한 모니터링
Fig. 3. Monitoring of navigation app
첫째, 파이썬으로 작성된 웹 서비스 모듈이다. 웹 브라우저가 스마트워치에 접속하면 웹 애플리케이션이 웹 페이지를 전송한다. 웹 브라우저는 다시 MQTT 메시지 전송에 사용될 자바스크립트 코드를 다운받고 실행시킨다.
둘째, MQTT를 활용한 메시지 전송 모듈이다. 내비게이션 앱의 메시지 전송 모듈과 웹 브라우저 상의 자바스크립트 코드는 Mosquitto 브로커를 이용하여 메시지를 주고받는다. 내비게이션 앱은 초기에는 목적지 정보와 4개의 경로 정보를 보내고, 사용자가 이동하는 동안 분기점과 위험 요소 통과, 경로 이탈, 목적지 도착 등의 메시지를 실시간으로 보낸다.
2. 히스토리 시뮬레이션
본 논문은 기존의 모니터링 서브시스템에 히스토리 시뮬레이션 기능을 추가하였다. 모든 경로 히스토리를 Firebase에 저장하여, 필요할 때 보행 상황을 재현할 수 있게 하였다. 이러한 재현을 통해 이동 과정에서 어떤 어려움이 있었는지 시간을 얼마 걸렸는지 등 경로에 대해 검증할 수 있다. 그림 4는 히스토리 시뮬레이션 사례를 보여준다.
그림 4. 히스토리 시뮬레이션
Fig. 4. History simulation
3. 경로 이탈 로그
사용자가 경로를 이탈하였을 때 워치에서 자동으로 로그를 기록하는 기능을 추가하였다. 모니터링 시스템은 이 로그를 분석하여 경로 이탈 상황을 그림 5와 같이 그래프로 보여준다.
그림 5. 경로 이탈 그래프
Fig. 5. Deviation Graph
4. 알고리즘 파라미터의 자동 피드백
본 논문은 개인별로 안전 우선 알고리즘의 파라미터를 별도로 유지하도록 하였다. 길에 대한 선호나 지형지물에 대한 안전의 기준이 개인마다 다르기 때문이다. 이를 위해 2가지 기능을 추가하였다.
첫째, 식(4)에서 도로 상태를 반영하는 Wp와 위험 시설에 대한 가중치 Wn 을 사용자가 선택할 수 있도록 하였다. 둘째, 사용자에게 지나간 보행 상황에 대한 설문을 통해, 표 1과 표 2의 각 항목들에 값을 조절한다. 그림 6은 사용자가 선호도의 가중치 비율을 조절하는 화면이다.
그림 6. 선호도 가중치 조절
Fig. 6. Preference Weight Adjustment
Ⅴ. 토의 및 결론
본 논문은 시각장애인의 길 안내와 이동을 돕기 위해 스마트워치의 진동을 이용하고 안전한 길을 우선 추천하는 이전 논문을 개선한 내용을 소개하였다. 경로 추천에 사용자 개인의 선호를 반영하는 개인화를 시도하였으며, 지난 경로에 대한 히스토리를 저장하고 이를 재생하여 경로를 검토할 수 있는 시뮬레이션 기능을 추가하였다. 또한 사용자의 경로 선호에 따라 알고리즘의 파라미터를 바꿀수 있는 피드백 기능을 추가하였으며, 스마트워치의 나침반을 이용하여 분기점 등에서 방향을 찾을 수 있도록 하였다. 하지만, 본 논문에서 제안된 안전한 길 우선 알고리즘의 개인화는 현재 이론적인 수준에 머물고 있다. 활용되는 수준에 이르려면, 개인의 선호를 반영하였을 때 경로 추천 효과의 충분한 검증이 필요하다. 효과 검증은 많은 실제 사례들이 필요한 작업으로 계속된 연구가 필요하다.
References
- Se-jong Oh, "A Design of Smart Cane for Visually Impaired Person", Journal of the Korea Academia-Industrial Cooperation Society, 2012, Vol. 9, No. 5, pp. 1260-1265, 2008 https://doi.org/10.5762/KAIS.2008.9.5.1260
- Sumin Jang, et al., "Design and Implementation of a Navigation System for Visually Impaired Persons", The Journal of the Korea Contents Association, Vol.12, No.1, pp. 38-47, 2012 https://doi.org/10.5392/JKCA.2012.12.01.038
- Hyeong Joon Choi, Seung Jin Moon, "Location Information Guide System for the Visually Impaired", Proc. of KICS Summer Conference 2010, pp. 857-858.
- Chang Gi Kim, Lee Sang Do, Jeong Min Seo, "A Navigation System for Visually Impaired Persons Using Smart Phone", KSCI Summer Conference 2014, Vol 22, No.2, pp. 405-406, 2014
- https://ko.lbstech.net/service-g-eye-plus
- Kitae Hwang, Jae Moon Lee, In Hwan Jung, " Smartwatch Navigation System for Visually Impaired", NeuroQuantology, Vol. 20, No. 15, pp. 4202-4209, 2022
- Reza Rawassizadeh, "Wearables: Has the Age of Smartwatches Finally Arrived?", Communications of the ACM, Vol. 58, No. 1, pp. 45-47, 2014 https://doi.org/10.1145/2629633
- https://www.tmap.co.kr/
- https://flask.palletsprojects.com/en/2.2.x/
- Kitae Hwang, "Design and Implementation of Dashboard Author and Viewer for IoT Systems based on MQTT", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 18, No. 5, pp.31-37, 2018. https://doi.org/10.7236/JIIBC.2018.18.5.31