brunch

You can make anything
by writing

C.S.Lewis

by 티맵모빌리티 Dec 17. 2021

졸음운전 감지기능은 이렇게 개발됐습니다

티맵 개발자 SSUL 1편 - 티맵이 신기능을 테스트하는 방법

Chap1. 졸음운전 감지 기능이란?

1-1. 개발 배경

1-2 관련 기술의 발전

Chap2. 관련 Device 기술

2-1. Front Camera

2-2. AI - Face Detection

Chap3. TMAP의 졸음운전 감지기능

3-1. TMAP 적용 화면

3-2. 동작 시나리오

3-3. 얼굴 분석 시 얼굴 Landmark 관련 추출 정보의 변화

마치며 – 향후 전망


Chap1. 졸음운전 감지 기능이란?


오늘은 TMAP에서 사용해볼 수 있는 <졸음운전 감지 기능>에 대해서 소개하려고 합니다.


이번에 TMAP 이 V8.11로 업데이트 되면서 추가된 부분이 있습니다. 바로 새로운 기술을 이용한 실험적인 기능들을 선보이는 ‘TMAP 연구소’ 메뉴인데요(아직 iOS만 가능). 오늘 소개할 졸음운전 감지 기능이 바로 TMAP 연구소의 첫 번째 기능입니다. 운전 중 운전자의 졸음운전을 미리 감지하고 NUGU AI 서비스를 통해 운전자의 주의를 환기시켜 보다 안전한 운전 환경을 제공하고자 하는 기능으로, 사회적으로도 의미 있는 기능이죠. 


1-1. 개발 배경

지난해 한국 도로 공사가 발표한 자료에 따르면, 2015년부터 2019년까지 도로공사가 관리하는 고속도로에서 발생한 교통사고 사망자는 1079명이었습니다. 그 중 사망 원인 1위는 ‘졸음 및 주시 태만’으로 전체의 70% 가까이를 차지했습니다.

출처 : https://www.yna.co.kr/view/AKR20200723118900530

 

출처 : https://www.yna.co.kr/view/AKR20170522152401797
출처 : https://www.yna.co.kr/view/AKR20170522152401797


1-2. 관련 기술의 발전

졸음운전은 날씨와 시간에 따라 영향을 많이 받고 운전자 본인이 인지하지 못하는 상황에서 발생하기 때문에 발생률이 높습니다. 운전자 및 동승자 그리고 주위의 다른 차량에 까지 큰 피해를 끼치게 되는 것은 물론이고요. 그로 인해 큰 사고를 미연에 방지하고자 졸음운전과 관련한 많은 기술과 방법들이 발전해왔습니다. 


카메라를 이용해 눈동자 동공의 움직임이나 눈꺼풀의 위치로 졸음운전 여부를 파악하는 방법부터 운전 중 고개의 떨굼이나 하품의 빈도수, 주행 중인 상황에서 핸들에서 운전자 손의 위치 변화, 기타 다른 장비를 이용한 운전자의 심박 수 변화, 차량 내의 이산화탄소 농도 측정, 주행 방향에서 핸들의 조향 방향 변화 패턴, 주행 속도의 변화 패턴 등까지 다양한 졸음 감지의 기술들이 있습니다. 


1990년대부터 졸음운전 판단 기술에 대한 특허 출원도 활발히 이뤄지고 있으며 현재까지도 매해 많은 기술들이 출시되고 있습니다. 현재는 여러 가지 조건을 복합적으로 파악하여 판단하고 AI 기술을 적용하여 보다 정확한 판단이 가능해졌습니다.


1-2-1. 관련 국내외 기술 동향

아래와 같이 졸음운전 기술들이 실제 국내외 차량에서 적용되고 있습니다. 관련 제품 출시도 활발하고 지속적으로 발전하고 있습니다. 

(출처 : 월간교통 2018년 10월호)



Chap2. 관련 Device 기술


운전자 얼굴 인식을 통한 졸음운전 감지 기능은 90년대부터 관련 특허 및 기술이 개발되었으나, 실제 적용에는 여러가지 장벽이 있었습니다. 해당 기능이 TMAP에 적용되고 상용화가 가능하게 된 배경에는 Device 영상 처리 성능 및 AI 관련 기술의 발전이 있습니다. 


2-1. Front Camera

Android 이용자 중 많은 사용자가 사용하는 삼성 갤럭시 고 사양 단말의 전면 카메라 성능을 보면, 10MP의 해상도로 지원하고 있습니다. Apple iPhone 단말도 iPhone 7 이후부터는  7MP 이상의 해상도로 지원하고 있고요. 


이처럼 전면 카메라의 성능이 좋아지면서 운전자 얼굴 인식의 정확도 및 세부 Landmark 정보의 정확도가 좋아졌습니다. 고사양의 단말일수록 정확도가 증가합니다. 


[Samsung - Galaxy] 

[iPhone - iPhone Camera Features Summary]


2-2. AI - Face Detection

그리고 AI를 통한 얼굴 인식 기능이 점점 발전하고 있는 것도 한몫합니다. 영상을 통한 다중 얼굴 추출, 얼굴 내의 여러 Landmark의 추적이 가능해졌을 뿐만 아니라 추적된 정보의 신뢰도 및 정확도도 점점 좋아지고 있어서 보다 정확한 졸음운전 감지가 가능하기 때문이죠.


1) Google - ML Kit

2) iOS - Vision Framework


Chap3. TMAP의 졸음운전 감지기능


3-1. TMAP 적용 화면

우선 운전자 졸음 감지를 하기 위해선 아래와 같은 조건이 필요합니다.


동작 조건

휴대폰 거치대와 운전자의 거리가 1m 이하 

휴대폰 전면 카메라가 운전자 방향에 위치(설정 화면에서 얼굴 감지 확인 가능)

iPhone 기준, iOS 13 이상, iPhone 7 이후 단말 지원


운전자와 휴대폰과의 거리가 너무 먼 경우, 정확도가 떨어질 수 있어서 한 팔 정도의 거리에서 동작하도록 하였으며, 차량 내의 거치는 운전자 얼굴을 향하도록 합니다. 다만 차량 내에서 너무 많은 흔들림이 있을 경우 정확도가 약간 떨어질 수 있습니다.


위와 같이 실제 전면 카메라로 운전자 얼굴의 위치가 확인되어야 보다 정확한 졸음 감지가 가능한 만큼, 아래와 같이 TMAP 연구소 설정 페이지에 운전자의 얼굴 감지 여부를 볼 수 있는 화면을 추가하였습니다. 


3-1-1. 설정 화면        

얼굴 감지 성공 시 ‘감지 성공’, 실패 시 ‘감지 실패’ 문구를 노출하여 휴대폰의 적절한 거치 위치를 알려 줍니다. 


3-1-2. 주행 화면  

운전자가 경로 주행을 시작한 후, 졸음운전이 많이 발생하는 ‘장기 직진’이나 ‘장기 정체 구간’을 만나게 되면 졸음 감지 기능이 동작합니다. 장기 직진이나 장기 정체 구간은 아래에서 확인 가능합니다. 


장기 직진 - 다음 안내까지 3km 이상 직진인 경우

장기 정체 - 1km 이상 정체 구간이 10분 이상 소요되는 경우


졸음이 얼굴에 나타나기까지는 어느 정도 시간이 걸리는 데다 저사양 Device의 성능 문제도 있기 때문에 졸음 감지 기능은 5분 주기로 동작하도록 시나리오 되어있습니다. 졸음운전 감지 동작은 아래 상태를 표현하면서 동작합니다.


얼굴 분석 중 : 졸음운전 감지 기능 시작,  운전자의 얼굴을 일정 시간 분석 

졸음 감지 중 : 얼굴 분석 성공 시, 분석된 얼굴 관련 정보를 기반으로 졸음 감지 시작

졸음 감지됨 : 운전자 졸음 감지 시 빨간색으로 표시되고, 일정 시간 지나면 NUGU를 통해 안내 멘트 송출


졸고 있는 운전자에게 시각적 깜빡임은 자칫 놓칠 수 있는데요. TMAP 에는 NUGU AI 서비스가 있어서 상황에 따라 아래와 같은 음성 서비스로 졸린 운전자를 효과적으로 깨울 수 있습니다. 


[NUGU를 통한 주의 환기를 위한 서비스 제공]

사용자가 즐겨 듣는 노래 제공

뉴스 / 팟캐스트 제공

음성 멘트 제공     


3-2. 동작 시나리오

요약하자면, 졸음운전 감지에 대한 시나리오는 아래와 같습니다. 


도로주행 시작 → 장기 직진 / 정체 구간 등장 → 운전자 얼굴 분석 시작 → 분석 성공 시, 관련 얼굴 정보를 기반으로 얼굴 관찰을 통해 졸음 감지 시작 → 졸음 감지 시, NUGU를 통해 음성 서비스 제공


TMAP 동작 샘플 영상: www.youtube.com/embed/c2nejxIBTMM?wmode=opaque

 



3-3. 얼굴 분석 시 얼굴 Landmark 관련 추출 정보의 변화

분석 단계에서 정상 운전과 졸음운전 시의 얼굴 Landmark 정보를 비교하면 아래와 같습니다. 

측정 기간 동안 분포되어 있는 데이터를 모아 군집화하고 상황에 맞게 분류하여 분석 단계에서 졸음을 판단할 수 있는 유의미한 정보를 만들어 내는데요. 해당 정보를 가지고 운전자의 졸음을 감지하게 됩니다. 


[정상 운전 vs 졸음운전 데이터 비교]     

실제 관련 데이터를 보면, 전면 카메라 영상 이미지로부터 확인한 얼굴 인식 데이터는 주위 환경, 빛의 강도나 방향 등에 따라 정보의 정확도가 낮아집니다. 그래서 실제 동작시에는 아래와 같은 여러 상황에 대해 신뢰할 수 있는 정보를 다시 얻을 수 있도록 얼굴분석 단계부터 재시도를 하게 됩니다. 


일정 시간 눈 깜빡임이 없는 경우

최초 분석한 얼굴 영역과 차이가 많이 나는 경우

짧은 시간 졸음 여부를 여러 번 판단하는 경우

졸음 감지 후


마치며 – 향후 전망


점점 Device의 성능이 좋아지고 관련 AI 기능에 대한 정확도도 향상될 것이기 때문에, 그에 맞게 졸음운전 감지 기능의 정확도를 높이는 작업이 이뤄져야 할 것입니다. 또한 졸음운전 발생 데이터가 쌓이다 보면 주로 발생하는 도로 위치나 시간대는 물론이고 졸음운전이 발생하는 상황/패턴까지도 분석이 가능할 것으로 보입니다. 추가적으로 얼굴인식을 통한 운전자의 전방 주시 상태까지 포함된다면 TMAP이 운전자들의 안전한 운전에 크게 기여할 수 있을 것으로 생각합니다. 

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari