KR20230139666A - 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법 - Google Patents

졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20230139666A
KR20230139666A KR1020220038281A KR20220038281A KR20230139666A KR 20230139666 A KR20230139666 A KR 20230139666A KR 1020220038281 A KR1020220038281 A KR 1020220038281A KR 20220038281 A KR20220038281 A KR 20220038281A KR 20230139666 A KR20230139666 A KR 20230139666A
Authority
KR
South Korea
Prior art keywords
drowsy driving
data
deep learning
driving
drowsy
Prior art date
Application number
KR1020220038281A
Other languages
English (en)
Inventor
백윤주
조용훈
이상화
전용수
Original Assignee
부산대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 부산대학교 산학협력단 filed Critical 부산대학교 산학협력단
Priority to KR1020220038281A priority Critical patent/KR20230139666A/ko
Publication of KR20230139666A publication Critical patent/KR20230139666A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Abstract

본 발명은 앙상블 딥러닝 구조를 사용하여 긴 졸음운전 추론 결과와 짧은 졸음운전 추론 결과를 복합적으로 활용하여 졸음운전 인식 정확도를 높인 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법에 관한 것으로, 데이터 수집 과정에서 발생하는 일반운전과 졸음운전 데이터 사이의 불균형 문제를 최소화하기 위한 전처리 과정을 수행하는 데이터 전처리부;상기 데이터 전처리부에서 전처리된 데이터들의 통계적 특징과 시계열 특징들에 대해 유의미성을 검증하여 각 졸음운전 유형 별로 의미 있는 특징들을 선택하는 특징 추출 및 중요도 분석부;특징 추출 및 중요도 분석부에서의 특징 추출 및 중요도 분석을 통하여 분류된 각 유형 별 졸음운전 감지를 위한 다수의 서브네트워크들로 구성된 앙상블 딥러닝 모델을 통해 졸음운전을 감지하는 앙상블 딥러닝 졸음운전 감지부;를 포함하는 것이다.

Description

졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법{Devices and Methods for Recognizing Drowsy Driving based on Classification of Drowsy Driving Types and Ensemble Deep Learning}
본 발명은 졸음운전 인식에 관한 것으로, 구체적으로 앙상블 딥러닝 구조를 사용하여 긴 졸음운전 추론 결과와 짧은 졸음운전 추론 결과를 복합적으로 활용하여 졸음운전 인식 정확도를 높인 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법에 관한 것이다.
운전자와 도로 안전을 위협하는 위험운전행동은 졸음운전, 음주운전, 과속, 급회전 등으로 분류할 수 있다. 특히 졸음운전은 지난 10년간 고속도로 교통사고의 대표적 원인으로 국내 기준 매년 약 2,500건 이상의 사고가 발생하고 있다.
운전자의 졸음으로 인한 사고를 줄이기 위해 운전자와 차량으로부터 획득할 수 있는 다양한 데이터를 활용하여 졸음운전 감지 기술이 연구되고 있다. 졸음운전 감지 시 활용하는 데이터에 따라 세 가지 접근방법으로 분류할 수 있다.
먼저, 운전자의 생체정보를 활용하는 기술은 운전자의 신체 상태 변화를 직접적으로 관찰할 수 있기 때문에 평균적으로 뛰어난 성능을 보인다. 주로 운전자의 뇌전도, 심전도, 안전도 등의 생체 데이터로부터 다양한 통계적 특징을 추출하고 이들의 변화를 관찰하여 졸음운전을 감지한다.
하지만, 생체정보 수집을 위한 추가적인 장치를 운전자가 부착해야 하며, 수집 장치의 낮은 착용성이나 높은 구매 비용이 실용성을 크게 떨어뜨린다.
그리고 운전자의 얼굴과 행동을 촬영한 영상 데이터를 활용하는 기술 역시 운전자 상태에 따른 행동을 직접적으로 관찰할 수 있는 방법이다.
차량 내 설치된 카메라를 통하여 운전자 영상 데이터를 수집하고 영상처리 기술을 적용하여 운전자 상태를 표현하는 정보를 획득한다. 이 때문에 영상처리 결과에 영향을 줄 수 있는 운전자의 이목구비를 가리는 복장, 카메라 렌즈의 오염 등과 같은 환경 요소에 취약하다. 그리고 차량 내부 조도 환경도 인식 성능에 영향을 미친다. 특히 어두운 환경에서 촬영되었거나 운전자가 선글라스 등을 착용한 경우에 성능이 감소한다.
그리고 차량 센서 데이터를 활용하는 기술은 일반적으로 조향각, 조향 속도, 속도, 가속도 등의 데이터를 사용하여 졸음운전 시 나타나는 운전자의 차량 조작 패턴과 차량의 움직임 변화를 분석한다. 데이터의 수집을 위해 inertial measurement unit(IMU) 센서 등의 외부 센서를 설치하거나 차량 진단 시스템을 활용하여 차량 내부 데이터를 수집하는 장치 등을 활용할 수 있다.
외부 센서를 활용하는 경우 높은 해상도의 데이터를 획득할 수 있지만, 주행 중 진동과 같은 물리적 잡음에 취약하다.
이에 비해 차량 진단 시스템을 활용하는 경우에는 낮은 해상도의 신뢰성 있는 데이터를 획득할 수 있다. 이러한 장치들은 가격이 저렴할 뿐만 아니라 설치가 용이하다는 장점이 존재한다.
하지만, 운전자의 운전 습관이나 도로 형태와 상황에 따른 차량의 움직임과 졸음운전으로 인한 차량 움직임 변화를 구분하는 것은 매우 어려워 기존 연구들의 감지 성능은 낮은 수준에 머물고 있다.
또한, 최근 졸음운전 감지 기술에 딥러닝을 비롯한 인공지능 기술을 적용한 연구들이 증가하고 있다. 딥러닝을 적용한 많은 연구들은 높은 감지 성능을 위해 깊고 큰 모델을 사용한다.
하지만, 실제 차량에서의 적용을 고려해보면, 졸음운전 감지용 임베디드 장치의 연산 성능과 메모리 공간의 제약으로 이러한 모델들은 사용이 어렵다.
이에 온디바이스 AI 기술을 적용하여 제한된 연산 성능과 메모리 공간을 고려한 졸음운전 감지 기법의 연구 및 개발이 요구되고 있다.
대한민국 등록특허 제10-1865590호 대한민국 공개특허 제10-2019-0033752호 대한민국 등록특허 제10-2314864호
본 발명은 종래 기술의 졸음운전 인식 기수의 문제점을 해결하기 위한 것으로, 앙상블 딥러닝 구조를 사용하여 긴 졸음운전 추론 결과와 짧은 졸음운전 추론 결과를 복합적으로 활용하여 졸음운전 인식 정확도를 높인 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 각 서브네트워크의 입력으로 감속 페달 압력, 가속 페달 압력, 조향각 및 조향 속도를 포함한 차량 내 다양한 차량 센서 데이터를 사용하고, 긴 졸음운전과 짧은 졸음운전의 종류별로 학습된 복수 개의 서브네트워크를 기반으로 졸음운전 여부를 정확하게 판별할 수 있도록 한 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 실제 차량에서 쉽게 획득 가능한 차량 센서 데이터를 활용하는 고성능의 졸음운전 감지를 위한 복합적인 앙상블 딥러닝 모델을 구축하여 사용하고, 임베디드 장치에서 온디바이스 졸음운전 감지를 위한 온보딩 방법으로 졸음운전 여부를 정확하게 판별할 수 있도록 한 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 졸음운전을 긴 졸음운전과 짧은 졸음운전의 두 가지 형태로 분류하는 방법에 최적화된 복합적인 앙상블 딥러닝 모델을 구축하여 졸음운전 형태에 따라 달라지는 데이터의 특성을 고려한 졸음운전 유무 판별이 가능하도록 한 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치는 데이터 수집 과정에서 발생하는 일반운전과 졸음운전 데이터 사이의 불균형 문제를 최소화하기 위한 전처리 과정을 수행하는 데이터 전처리부;상기 데이터 전처리부에서 전처리된 데이터들의 통계적 특징과 시계열 특징들에 대해 유의미성을 검증하여 각 졸음운전 유형 별로 의미 있는 특징들을 선택하는 특징 추출 및 중요도 분석부;특징 추출 및 중요도 분석부에서의 특징 추출 및 중요도 분석을 통하여 분류된 각 유형 별 졸음운전 감지를 위한 다수의 서브네트워크들로 구성된 앙상블 딥러닝 모델을 통해 졸음운전을 감지하는 앙상블 딥러닝 졸음운전 감지부;를 포함하는 것을 특징으로 한다.
여기서, 구축된 앙상블 딥러닝 모델이 실제 차량 내 임베디드 장치에서 동작할 수 있도록 온디바이스 졸음운전 감지를 위한 온보딩 기법을 적용하는 것을 특징으로 한다.
그리고 온디바이스 졸음운전 감지를 위한 온보딩은, 실제 차량 환경에서 수집되는 저해상도 센서 데이터를 제안하는 업샘플링 기법을 통해 고해상도 데이터로 변환하는 업샘플링 및, 임베디드 장치에서 각 특징들의 연산 시간과 감지 성능을 고려한 스코어링 모델과 계산된 각 특징들의 스코어를 기준으로 특징을 선택하는 특징 선택 및, 앙상블 딥러닝 모델 내 서브네트워크들을 졸음운전의 형태에 따라 그룹으로 분류하고, 이후 각 그룹을 지식 증류 기법을 이용해 경량화 서브네트워크를 생성하고 이들로 구성된 경량화 된 딥러닝 모델을 생성하는 모델 압축에 의해 이루어지는 것을 특징으로 한다.
그리고 특징 추출 및 중요도 분석부는 졸음 지속시간 기반의 졸음운전 형태 분류를 하고, 운전자가 차량의 조작 능력을 장시간 상실하여 차량의 움직임이 주변 도로상황에 관계없이 단순해져 차선을 이탈하거나 전방 차량과의 거리를 유지하지 못하는 형태로 차량 움직임이 관측되는 긴 졸음운전과, 운전자가 단시간 동안 조작 능력을 상실하고 회복하는 과정에서 차량의 움직임이 급격하게 변화되어 지그재그 형태의 움직임과 급가속, 급정거하는 형태의 움직임이 관측되는 짧은 졸음운전으로 분류하는 것을 특징으로 한다.
그리고 데이터 전처리부에서의 전처리 단계는, 입력 데이터를 졸음운전 감지 시 사용되는 세그먼트로 변환하기 위한 것으로, 데이터 변환(data conversion) 과정, 정규화(normalization) 과정, 불균형 데이터 처리(imbalance handling) 과정을 포함하는 것을 특징으로 한다.
그리고 불균형 데이터 처리는 생성된 세그먼트 중 일반운전 데이터를 포함한 세그먼트를 삭제하여 일반운전과 졸음운전 데이터의 비율을 조절하는 것으로, 불균형 데이터 처리는 주행 데이터 내 졸음운전 데이터와 인접한 k 개의 데이터를 마스킹하고, 이후 마스킹 되지 않은 데이터들을 대상으로 언더 샘플링을 시행하여 운전자의 상태가 변화할 때 나타나는 시간적 특징(temporal feature)을 보존하고, 이후 수집한 데이터 셋의 불균형을 재확인하고, 여전히 불균형이 심각한 경우 동일한 방법으로 언더샘플링을 재수행하고, 슬라이딩 윈도우(sliding window) 기법을 적용하여 고정된 크기의 세그멘트를 생성하는 것을 특징으로 한다.
다른 목적을 달성하기 위한 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 방법은 데이터 수집 과정에서 발생하는 일반운전과 졸음운전 데이터 사이의 불균형 문제를 최소화하기 위한 전처리 과정을 수행하는 데이터 전처리 단계;상기 데이터 전처리 단계에서 전처리된 데이터들의 통계적 특징과 시계열 특징들에 대해 유의미성을 검증하여 각 졸음운전 유형 별로 의미 있는 특징들을 선택하는 특징 추출 및 중요도 분석 단계;특징 추출 및 중요도 분석 단계에서의 특징 추출 및 중요도 분석을 통하여 분류된 각 유형 별 졸음운전 감지를 위한 다수의 서브네트워크들로 구성된 앙상블 딥러닝 모델을 통해 졸음운전을 감지하는 앙상블 딥러닝 졸음운전 감지 단계;를 포함하는 것을 특징으로 한다.
여기서, 특징 추출 및 중요도 분석 단계에서 졸음 지속시간 기반의 졸음운전 형태 분류를 하고, 운전자가 차량의 조작 능력을 장시간 상실하여 차량의 움직임이 주변 도로상황에 관계없이 단순해져 차선을 이탈하거나 전방 차량과의 거리를 유지하지 못하는 형태로 차량 움직임이 관측되는 긴 졸음운전과, 운전자가 단시간 동안 조작 능력을 상실하고 회복하는 과정에서 차량의 움직임이 급격하게 변화되어 지그재그 형태의 움직임과 급가속, 급정거하는 형태의 움직임이 관측되는 짧은 졸음운전으로 분류하는 것을 특징으로 한다.
그리고 데이터 전처리 단계는, 입력 데이터를 졸음운전 감지 시 사용되는 세그먼트로 변환하기 위한 것으로, 데이터 변환(data conversion) 과정, 정규화(normalization) 과정, 불균형 데이터 처리(imbalance handling) 과정을 포함하는 것을 특징으로 한다.
그리고 불균형 데이터 처리는 생성된 세그먼트 중 일반운전 데이터를 포함한 세그먼트를 삭제하여 일반운전과 졸음운전 데이터의 비율을 조절하는 것으로, 불균형 데이터 처리는 주행 데이터 내 졸음운전 데이터와 인접한 k 개의 데이터를 마스킹하고, 이후 마스킹 되지 않은 데이터들을 대상으로 언더 샘플링을 시행하여 운전자의 상태가 변화할 때 나타나는 시간적 특징(temporal feature)을 보존하고, 이후 수집한 데이터 셋의 불균형을 재확인하고, 여전히 불균형이 심각한 경우 동일한 방법으로 언더샘플링을 재수행하고, 슬라이딩 윈도우(sliding window) 기법을 적용하여 고정된 크기의 세그멘트를 생성하는 것을 특징으로 한다.
그리고 앙상블 딥러닝 졸음운전 감지 단계에서 앙상블 딥러닝 모델은, 짧은 졸음운전 감지를 위한 서브네트워크 n개(S=n), 긴 졸음운전 감지를 위한 서브네트 워크 m개(L=m)인 네트워크이고, 앙상블 딥러닝 모델은 차량 센서 데이터가 포함된 세그먼트와 추출된 통계적 특징을 입력으로 사용하고, 전처리 단계를 통해 생성된 각 세그먼트에는 조향각, 조향속도, 감속 페달 압력, 가속 페달 압력의 데이터가 샘플링 레이트(SR)와 윈도우 크기(w)의 곱만큼 포함되는 것을 특징으로 한다.
그리고 앙상블 딥러닝 모델은 각 세그먼트를 모양의 채널 2D 매트릭스로 변환하고 이들을 서브네트워크로 전달하고, 여기서, 는 졸음운전 추론에 사용할 센서 데이터의 개수이며, 이 수치는 사용될 센서 데이터의 수에 따라 가변적인 것을 특징으로 한다.
그리고 입력 세그먼트에서 2D 매트릭스로의 변환을 통해 모델 내 각 서브네트워크에서 추출되는 convolutional 특징이 인접한 데이터뿐만 아니라 주기적인 데이터의 정보를 포함하고, 이후 각 서브네트워크에게 2D 매트릭스와 통계적 특징을 전달하고, 서브네트워크 별로 일반운전과 졸음운전의 확률을 각각 획득하는 것을 특징으로 한다.
그리고 짧은 졸음운전 감지를 위한 서브네트워크 n개의 감지 결과를 (2, n) 모양의 출력 벡터로 변환하고, 긴 졸음운전 감지를 위한 서브네트워크 m개의 감지 결과를 (2, m) 모양의 출력 벡터로 변환하고, 이후 두 벡터를 연결(concatenate)하여 (2, n+m) 형태의 벡터를 생성하고, 벡터 내 원소들의 산술 평균을 구하는 average 레이어를 통해 서브네트워크들의 추론 결과를 종합하여 입력된 데이터의 졸음운전 유무를 판단하는 것을 특징으로 한다.
이상에서 설명한 바와 같은 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법은 다음과 같은 효과가 있다.
첫째, 앙상블 딥러닝 구조를 사용하여 긴 졸음운전 추론 결과와 짧은 졸음운전 추론 결과를 복합적으로 활용하여 졸음운전 인식 정확도를 높인다.
둘째, 각 서브네트워크의 입력으로 감속 페달 압력, 가속 페달 압력, 조향각 및 조향 속도를 포함한 차량 내 다양한 차량 센서 데이터를 사용하고, 긴 졸음운전과 짧은 졸음운전의 종류별로 학습된 복수 개의 서브네트워크를 기반으로 졸음운전 여부를 정확하게 판별할 수 있도록 한다.
셋째, 실제 차량에서 쉽게 획득 가능한 차량 센서 데이터를 활용하는 고성능의 졸음운전 감지를 위한 복합적인 앙상블 딥러닝 모델을 구축하여 사용하고, 임베디드 장치에서 온디바이스 졸음운전 감지를 위한 온보딩 방법으로 졸음운전 여부를 정확하게 판별할 수 있도록 한다.
넷째, 졸음운전을 긴 졸음운전과 짧은 졸음운전의 두 가지 형태로 분류하는 방법에 최적화된 복합적인 앙상블 딥러닝 모델을 구축하여 졸음운전 형태에 따라 달라지는 데이터의 특성을 고려한 졸음운전 유무 판별이 가능하도록 한다.
도 1은 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치의 전체 구성도
도 2는 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 구성 블록도
도 3은 시계열 센서 데이터를 입력으로 데이터 특징 추출을 하는 딥러닝 모델의 일 예를 나타낸 구성도
도 4a와 도 4b는 긴 졸음 운전과 짧은 졸음 운전으로 인한 차량 움직임의 일 예를 나타낸 사진
도 5는 졸음 운전 형태에 따른 차량 움직임을 나타낸 구성도
도 6a와 도 6b는 대표적인 짧은 졸음운전 패턴 및 긴 졸음운전 패턴을 나타낸 그래프
도 7은 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 앙상블 딥러닝 모델의 일 예를 나타낸 구조도
도 8은 본 발명에 따른 졸음운전 서브네트워크 학습 방법을 나타낸 플로우 차트
도 9는 기준시간을 기반으로 하는 졸음운전 분류를 위한 히스토그램
도 10은 졸음운전 지속시간에 대한 히스토그램
도 11은 졸음운전 형태 분류를 위한 세부 동작과정을 나타낸 플로우 차트
도 12는 졸음운전 인식을 위한 앙상블 딥러닝 동작 과정을 나타낸 플로우 차트
이하, 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법의 바람직한 실시 예에 관하여 상세히 설명하면 다음과 같다.
본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법의 특징 및 이점들은 이하에서의 각 실시 예에 대한 상세한 설명을 통해 명백해질 것이다.
도 1은 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치의 전체 구성도이고, 도 2는 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 구성 블록도이다.
본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법은 앙상블 딥러닝 구조를 사용하여 긴 졸음운전 추론 결과와 짧은 졸음운전 추론 결과를 복합적으로 활용하여 졸음운전 인식 정확도를 높인 것이다.
이를 위하여, 본 발명은 각 서브네트워크의 입력으로 감속 페달 압력, 가속 페달 압력, 조향각 및 조향 속도를 포함한 차량 내 다양한 차량 센서 데이터를 사용하고, 긴 졸음운전과 짧은 졸음운전의 종류별로 학습된 복수 개의 서브네트워크를 기반으로 졸음운전 여부를 정확하게 판별할 수 있도록 하는 구성을 포함할 수 있다.
본 발명은 실제 차량에서 쉽게 획득 가능한 차량 센서 데이터를 활용하는 고성능의 졸음운전 감지를 위한 복합적인 앙상블 딥러닝 모델을 구축하여 사용하고, 임베디드 장치에서 온디바이스 졸음운전 감지를 위한 온보딩 방법으로 졸음운전 여부를 정확하게 판별하기 위한 구성을 포함할 수 있다.
본 발명은 졸음운전을 긴 졸음운전과 짧은 졸음운전의 두 가지 형태로 분류하는 방법에 최적화된 복합적인 앙상블 딥러닝 모델을 구축하여 졸음운전 형태에 따라 달라지는 데이터의 특성을 고려한 졸음운전 유무 판별이 가능하도록 하는 구성을 포함할 수 있다.
많은 연구들에서 졸음운전의 형태를 고려하지 않고 일반운전과 졸음운전의 차이에 집중한 것과 달리 본 발명에서는 졸음 지속시간에 따라 졸음운전을 긴 졸음운전과 짧은 졸음운전의 두 가지 형태로 구분한다.
본 발명에서 제안하는 앙상블 딥러닝 기반의 졸음운전 감지에서는 각 형태의 졸음운전을 감지할 수 있는 형태로 구성된다.
먼저, 도 1에서와 같이, 전처리 과정을 통해 데이터 수집 과정에서 발생하는 일반운전과 졸음운전 데이터 사이의 불균형 문제를 최소화 한다.
이후 잘 알려진 통계적 특징과 시계열 특징들에 대해 유의미성을 검증하고 각 졸음운전이 유형 별로 의미 있는 특징들을 선택한다.
마지막으로 각 유형 별 졸음운전 감지에 특화된 서브네트워크를 제안하고, 다수의 서브네트워크로 구성된 앙상블 딥러닝 모델을 통해 졸음운전을 감지한다.
이후 제안하는 앙상블 딥러닝 모델이 실제 차량 내 임베디드 장치에서 동작할 수 있도록 온디바이스 졸음운전 감지를 위한 온보딩 기법을 제안한다.
제안하는 온보딩 기법은 업샘플링 기법, 최소 특징 선택 기법, 모델 압축 기법의 세 단계로 구성된다. 실제 차량 환경에서 수집되는 저해상도 센서 데이터를 제안하는 업샘플링 기법을 통해 고해상도 데이터로 변환한다.
최소 특징 선택 기법에서는 임베디드 장치에서 각 특징들의 연산 시간과 감지 성능을 고려한 스코어링 모델과 계산된 각 특징들의 스코어를 기준으로 특징을 선택한다.
마지막으로 모델 압축 기법에서는 앙상블 딥러닝 모델 내 서브네트워크들을 특화된 졸음운전의 형태에 따라 그룹으로 분류한다. 이후 각 그룹을 지식 증류 기법을 이용해 경량화 서브네트워크를 생성하고 이들로 구성된 경량화 된 딥러닝 모델을 생성한다.
본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법에서 사용되는 차량 내부 데이터 종류와 특징에 관하여 설명하면 다음과 같다.
차량 내부 데이터는 차량 제어와 상태를 나타내는 차량 내 포함된 센서 데이터를 의미한다. 차량 진단 시스템을 활용하여 다양한 차량 내부 데이터를 수집할 수 있다.
차량 내부 데이터는 크게 차량 상태 데이터와 차량 조작 데이터로 분류할 수 있다.
차량 상태 데이터는 차량의 속도, 가속도, 회전 속도 등의 차량의 물리적 움직임을 나타내는 데이터와 주행거리, RPM, 현재 기어 단수, 연료 잔량 등의 차량 부품의 동작과 상태를 나타내는 데이터로 분류할 수 있다. 이들 중 속도, RPM, 연료 잔량 등의 일부 데이터는 차량 진단 시스템 외에 차량 내 계기판이나 외부 센서를 통해서도 측정할 수 있다.
반면 차량 조작 데이터는 운전자의 차량 조작을 직접적으로 나타내는 데이터로 운전자가 차량의 운행을 위해 조작하는 물리적 인터페이스들의 상태 값이다.
예를 들어 스티어링 휠의 회전한 각도(조향각), 가속 페달의 압력(눌린 정도), 브레이크 페달의 압력, 방향 지시등의 점등 여부 등이 존재한다. 차량 상태 데이터와는 달리 외부 센서를 이용해서 획득하는 것이 매우 제한적이며, 차량 조작 데이터를 수집하기 위해 운전 시뮬레이션을 활용하기도 한다.
차량 조작 데이터는 주행 중 운전자 조작 상태를 직접적으로 반영하는 데이터의 특성 때문에 일반적으로 운전 의도 인식, 운전 습관 분석 등과 같은 운전자의 행동이나 상태를 관찰하는 응용에 주로 활용되며 졸음운전 감지나 주행 중 주의 분산 등의 응용에도 활용된다.
본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치는 도 2에서와 같이, 데이터 수집 과정에서 발생하는 일반운전과 졸음운전 데이터 사이의 불균형 문제를 최소화하기 위한 전처리 과정을 수행하는 데이터 전처리부(10)와, 데이터 전처리부(10)에서 전처리된 데이터들의 통계적 특징과 시계열 특징들에 대해 유의미성을 검증하여 각 졸음운전 유형 별로 의미 있는 특징들을 선택하는 특징 추출 및 중요도 분석부(20)와, 특징 추출 및 중요도 분석부(20)에서의 특징 추출 및 중요도 분석을 통하여 분류된 각 유형 별 졸음운전 감지를 위한 다수의 서브네트워크들로 구성된 앙상블 딥러닝 모델을 통해 졸음운전을 감지하는 앙상블 딥러닝 졸음운전 감지부(30)를 포함한다.
여기서, 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치는 구축된 앙상블 딥러닝 모델이 실제 차량 내 임베디드 장치에서 동작할 수 있도록 온디바이스 졸음운전 감지를 위한 온보딩 기법을 적용한다.
온디바이스 졸음운전 감지를 위한 온보딩은 실제 차량 환경에서 수집되는 저해상도 센서 데이터를 제안하는 업샘플링 기법을 통해 고해상도 데이터로 변환하는 업샘플링 및, 임베디드 장치에서 각 특징들의 연산 시간과 감지 성능을 고려한 스코어링 모델과 계산된 각 특징들의 스코어를 기준으로 특징을 선택하는 특징 선택 및, 앙상블 딥러닝 모델 내 서브네트워크들을 졸음운전의 형태에 따라 그룹으로 분류하고, 이후 각 그룹을 지식 증류 기법을 이용해 경량화 서브네트워크를 생성하고 이들로 구성된 경량화 된 딥러닝 모델을 생성하는 모델 압축에 의해 이루어질 수 있고, 이로 제한되지 않는다.
데이터 전처리부(10)에서의 전처리 단계는 입력 데이터를 졸음운전 감지 시 사용되는 세그먼트로 변환하기 위한 것으로, 데이터 변환(data conversion) 과정, 정규화(normalization) 과정, 불균형 데이터 처리(imbalance handling) 과정 등으로 구성되어 있다.
먼저 데이터 변환 과정에서는 입력 데이터 중 조향각 데이터로부터 조향 속도 데이터를 계산한다.
이후 입력 데이터인 조향각, 가속 페달 압력, 감속 페달 압력 데이터와 계산한 조향속도 데이터를 정규화 시킨다. 데이터의 정규화를 위해 min-max 정규화 알고리즘을 사용하여 데이터를 (0, 1) 범위로 스케일링 한다.
불균형 데이터 처리는 생성된 세그먼트 중 일반운전 데이터를 포함한 세그먼트를 삭제하여 일반운전과 졸음운전 데이터의 비율을 조절하는 것이다.
일반적으로 주행 데이터를 수집 시 졸음운전 데이터 보다 일반운전 데이터가 높은 비율을 차지하는 데이터 불균형이 발생한다. 이러한 데이터 불균형은 검출 모델의 학습 효율을 떨어뜨릴 뿐만 아니라 소수 데이터의 검출 성능을 떨어뜨린다고 알려져 있다.
본 발명에서 불균형 데이터 처리는 주행 데이터 내 졸음운전 데이터와 인접한 k 개의 데이터를 마스킹한다. 이후 마스킹 되지 않은 데이터들을 대상으로 언더 샘플링을 시행한다.
이를 통해 운전자의 상태가 변화할 때 나타나는 시간적 특징(temporal feature)을 보존할 수 있다. 이후 수집한 데이터 셋의 불균형을 재확인하고, 여전히 불균형이 심각한 경우 동일한 방법으로 언더샘플링을 재수행한다.
마지막으로 잘 알려진 슬라이딩 윈도우(sliding window) 기법을 적용하여 고정된 크기의 세그멘트를 생성한다.
도 3은 시계열 센서 데이터를 입력으로 데이터 특징 추출을 하는 딥러닝 모델의 일 예를 나타낸 구성도이다.
본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치에서 졸음운전 감지를 위해 활용하는 감속 페달 압력, 가속 페달 압력, 조향각 및 조향 속도와 같은 차량 센서 데이터는 도 3에서와 같이, 시계열적 특성을 가지며, 이를 분석하여 차량의 움직임을 추론할 수 있다.
이러한 시계열 특성을 추출하기 위해 일반적으로 딥러닝 모델을 활용한다.
딥러닝 모델은 기계학습 모델의 하나로서 도 3에서와 같이 입력과 출력 사이에 여러 개의 레이어들로 구성되어 있다.
딥러닝은 차량 센서 데이터에 대해 졸음 여부를 추론하는 분류 모델로서 활용할 수 있다. 입력과 출력의 쌍으로 구성된 데이터세트에 대한 딥러닝의 학습 과정에서 각 레이어의 특징은 입력과 출력의 관계를 잘 표현하도록 학습된다.
즉 운전자 졸음운전 인식을 위한 딥러닝의 학습 과정은 차량의 센서 데이터 입력 별로 졸음운전 인식에 최적화되도록 각 레이어의 특징이 조정되는 과정이다.
딥러닝 모델을 통해서 입력 별로 출력을 얻을 수 있을 뿐만 아니라 입력 별로 서로 다른 특징을 얻을 수 있다. 이러한 입력 별 각 레이어의 특징은 딥러닝 모델의 특징을 분석하는데 활용할 수 있다.
본 발명에 따른 졸음 지속시간 기반의 졸음운전 형태 분류에 관하여 구체적으로 설명하면 다음과 같다.
도 4a와 도 4b는 긴 졸음 운전과 짧은 졸음 운전으로 인한 차량 움직임의 일 예를 나타낸 사진이고, 도 5는 졸음 운전 형태에 따른 차량 움직임을 나타낸 구성도이다.
그리고 도 6a와 도 6b는 대표적인 짧은 졸음운전 패턴 및 긴 졸음운전 패턴을 나타낸 그래프이다.
본 발명에서는 도 5에서와 같이, 졸음운전 시 발생되는 차량의 움직임을 크게 두 가지로 분류한다.
첫 번째는 운전자가 차량의 조작 능력을 장시간 상실하여 차량의 움직임이 주변 도로상황에 관계없이 단순해지는 경우이다. 이 경우 차선을 이탈하거나 전방 차량과의 거리를 유지하지 못하는 등의 형태로 차량 움직임이 관측된다.
두 번째는 운전자가 단시간 동안 조작 능력을 상실하고 회복하는 과정에서 차량의 움직임이 급격하게 변화하는 경우이다. 이 경우 지그재그 형태의 움직임과 급가속, 급정거하는 형태의 움직임이 관측된다.
첫 번째, 긴 졸음운전(long duration of drowsy driving, LD)은 수초 이상의 상대적으로 긴 시간 동안 깨어나지 않고 졸음 상태로 운전하는 경우를 의미한다. 차량 센서 데이터의 변화량이 적어져 차량이 일정한 방향으로 움직이거나 지속적 가속 등 단조로운 움직임 패턴을 보인다.
두 번째, 짧은 졸음운전(short duration of drowsy driving, SD)은 긴 졸음운전과 반대로 수초 미만의 짧은 시간 동안 깨어나지 않고 졸음 상태로 운전하는 경우를 의미한다.
짧은 졸음운전 상태와 일반운전 상태를 반복하는 경우가 많다. 이 때문에 차량 센서 데이터의 변화량이 많고 차량의 움직임이 크게 변화하는 패턴을 보인다.
본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 앙상블 딥러닝 모델에 관하여 구체적으로 설명하면 다음과 같다.
도 7은 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 앙상블 딥러닝 모델의 일 예를 나타낸 구조도이다.
본 발명에서는 두 가지 졸음형태인 긴 졸음운전과 짧은 졸음운전 감지에 특화된 두 종류의 서브네트워크를 가지는 앙상블 딥러닝 모델을 제안한다.
제안하는 네트워크는 짧은 졸음운전 감지에 특화된 서브네트워크의 개수 파라미터(S)와 긴 졸음운전 감지에 특화된 서브네트워크의 개수 파라미터(L)를 조절해 네트워크의 구조와 크기를 변화시킬 수 있다.
도 7에 나타낸 모델은 짧은 졸음운전 감지에 특화된 서브네트워크 n개(S=n), 긴 졸음운전 감지에 특화된 서브네트 워크 m개(L=m)인 네트워크이다.
도 7의 모델은 차량 센서 데이터가 포함된 세그먼트와 추출된 통계적 특징을 입력으로 사용한다.
전처리 단계를 통해 생성된 각 세그먼트에는 조향각, 조향속도, 감속 페달 압력, 가속 페달 압력 등의 데이터가 샘플링 레이트(SR)와 윈도우 크기(w)의 곱만큼 포함되어 있다.
본 발명에서 제안하는 모델은 각 세그먼트를 모양의 채널 2D 매트릭스로 변환하고 이들을 서브네트워크로 전달한다.
여기서, 는 졸음운전 추론에 사용할 센서 데이터의 개수이며, 이 수치는 사용될 센서 데이터의 수에 따라 가변적이다.
도 7은 입력 세그먼트에서 2D 매트릭스로의 변환 과정을 보여준다. 이러한 변환을 통해 모델 내 각 서브네트워크에서 추출되는 convolutional 특징이 인접한 데이터뿐만 아니라 주기적인 데이터의 정보를 포함할 수 있는 장점이 존재한다.
이후 각 서브네트워크에게 2D 매트릭스와 통계적 특징을 전달하고, 서브네트워크 별로 일반운전과 졸음운전의 확률을 각각 획득한다.
결과적으로 짧은 졸음운전 감지에 특화된 서브네트워크 n개의 감지 결과를 (2, n) 모양의 출력 벡터로 변환하고, 긴 졸음운전 감지에 특화된 서브네트워크 m개의 감지 결과를 (2, m) 모양의 출력 벡터로 변환한다.
이후 두 벡터를 연결(concatenate)하여 (2, n+m) 형태의 벡터를 생성하고, 벡터 내 원소들의 산술 평균을 구하는 average 레이어를 통해 서브네트워크들의 추론 결과를 종합하여 입력된 데이터의 졸음운전 유무를 판단한다.
이와 같은 모델의 학습은 두 단계로 나뉘어 진행된다.
먼저 각 형태의 데이터를 이용해 서브네트워크를 학습시킨다.
긴 졸음운전 데이터를 활용하여 긴 졸음운전 감지에 특화된 서브네트워크들을 각각 사전 학습(pre-training)을 시켜 m개의 다른 네트워크를 생성한다.
반대의 경우도 동일하게 짧은 졸음운전 감지를 위한 n개의 서브네트워크들에 대해 짧은 졸음운전 데이터를 이용해 사전 학습을 수행한다. 이를 통해 긴 졸음운전과 짧은 졸음운전에 특화된 네트워크들을 생성할 수 있다.
이후 앙상블 딥러닝을 전체 학습용 데이터 셋에 대해 학습을 시킨다.
이와 같이 학습을 진행할 경우 학습 데이터만 과도하게 학습하여 실제 데이터에 대해서 오차가 증가하게 되는 과적합의 우려가 존재하지만 긴 졸음운전 데이터와 짧은 졸음운전 데이터의 특징이 다르고 충분히 많은 데이터를 통해 억제할 수 있다. 또한 각 서브네트워크에 dropout 레이어를 추가해 과적합을 억제할 수 있다.
본 발명에 따른 앙상블 딥러닝 기법 기반 서브네트워크 학습의 상세 예시는 다음과 같다.
도 8은 본 발명에 따른 졸음운전 서브네트워크 학습 방법을 나타낸 플로우 차트이다.
본 발명에서 제안하는 앙상블 딥러닝 기반 졸음운전 분류 방법의 구현을 위해 복수 개의 서브네트워크를 학습시킬 필요가 있다.
각 서브네트워크의 입력으로는 감속 페달 압력, 가속 페달 압력, 조향각 및 조향 속도를 포함한 차량 내 다양한 센서 데이터가 있으며, 차량 센서 데이터가 수집되어(S801) 입력되면, 데이터 특징 분석에 의해(S802) 긴 졸음운전과 짧은 졸음운전으로 나누어 분류한다.(S803)
긴 졸음운전과 짧은 졸음운전으로 나누어진 데이터는 하나의 서브네트워크를 학습시키는데 교차되어 사용되지 않는다.
즉, 긴 졸음운전 서브네트워크는 긴 졸음운전 데이터만을 입력으로 사용하여 학습되고(S804 ~ S806), 짧은 졸음운전 서브네트워크는 짧은 졸음운전 데이터만을 입력으로 사용하여 학습된다.(S814 ~ S816)
결과적으로 서브네트워크는 긴 졸음운전에 대해 학습된 서브네트워크와 짧은 졸음운전에 대해 학습된 서브네트워크로 나눠진다.
긴 졸음운전과 짧은 졸음운전 분류 방법의 상세 예시는 다음과 같다.
도 9는 기준시간을 기반으로 하는 졸음운전 분류를 위한 히스토그램이고, 도 10은 졸음운전 지속시간에 대한 히스토그램이다.
본 발명에서 긴 졸음운전과 짧은 졸음운전의 분류를 위해 기준이 되는 특정 시간을 선택하는 방법이 필요하다.
졸음운전 분류 방법에서는 두 졸음운전을 분류할 기준이 되는 시간이 중요하다. 두 개의 을 나눈 뒤 각 간 관계(correlation)를 계산한다.
졸음 지속시간을 기준으로 졸음운전 데이터를 분류하였을 때, t초 간격으로 나눠진 시간별로 데이터의 을 생성할 수 있다.
t초 간격으로 나눠진 데이터의 은 히스토그램 형태로 나타낼 수 있으며, 도 10에서와 같은 형태다.
을 나누는 기준인 t는 데이터의 분포 특성에 맞춰 설정하며 작성된 히스토그램의 예시는 도 10에서와 같다.
긴 졸음운전과 짧을 졸음운전을 나누는 시간을 특정하기 위해 전체 을 두 개의 으로 정의하는 과정이 필요하다.
두 개의 로 나타내며, 각 은 여러 개의 으로 이루어진다.
예를 들어, 가 시간 를 기준으로 보다 짧은 졸음 시간을 가지는 의 집합이고 보다 긴 졸음 시간을 가지는 k개의 의 집합이라고 가정할 때, 이를 수식으로 표현하면 수학식 1 및 수학식 2에서와 같다.
여기서, 는 짧은 졸음운전, 은 긴 졸음운전, 는 졸음운전을 나누는 기준 시간이다.
그리고 각 대표하는 값은 으로 정의되고, 각 을 대표하는 값은 로 정의될 수 있다.
구체적으로, 두 을 나누는 기준이 되는 시간 는 0부터 시작하여 t초 간격으로 나눠진 모든 시간대가 될 수 있다. 특정 시간 를 선정하기 위해 를 기준으로 생성된 간의 관계(correlation)를 계산한다.
계산된 관계(correlation) 값이 가장 큰 시간 가 기준 시간으로, 보다 작은 시간대를 포함하는 을 짧은 졸음운전, 보다 긴 시간대를 포함하는 을 긴 졸음운전으로 정의한다.
서브네트워크 학습 시 사용되는 학습 데이터는 위와 같은 과정을 통해 긴 졸음운전과 짧은 졸음운전으로 분류할 수 있으며, 각 서브네트워크는 에 속한 들의 특징들을 학습하여 높은 정확도로 긴 졸음운전과 짧은 졸음운전을 인식할 수 있다.
졸음운전을 나누는 기준 시간 를 선택하기 위한 동작은 다음과 같다.
도 11은 졸음운전 형태 분류를 위한 세부 동작과정을 나타낸 플로우 차트이다.
도 11에서 는 최대 졸음운전 지속시간, 는 두 값의 최대치를 저장하는 변수, 는 기준 시간을 저장하는 변수이다.
그리고 졸음운전 인식을 위한 앙상블 딥러닝 동작 과정을 구체적으로 설명하면 다음과 같다.
도 12는 졸음운전 인식을 위한 앙상블 딥러닝 동작 과정을 나타낸 플로우 차트이다.
일반적인 딥러닝 기반 졸음운전 인식 방법의 경우 별도의 서브네트워크를 학습시키지 않고 졸음운전을 추론한다. 해당 방법의 경우 높은 정확도를 달성하기 어렵고, 오인식률 또한 높다는 한계가 존재한다.
이러한 한계는 긴 졸음운전과 짧은 졸음운전이 가지는 데이터의 특성을 분석하지 않았다는 점에서 기인한다고 볼 수 있다. 긴 졸음운전과 짧은 졸음운전의 운전 형태는 명확한 차이가 존재하며, 이를 분류하여 학습하지 않을 경우 딥러닝에서 졸음운전을 명확하게 구분해내기 어렵다. 때문에 딥러닝을 통한 졸음운전 여부를 추론하기 위해서 긴 졸음운전과 짧은 졸음운전을 구분하여 학습할 필요가 있다.
따라서, 졸음운전의 종류별로 학습된 복수 개의 서브네트워크를 기반으로 졸음운전 여부를 판별할 수 있는, 각 서브네트워크의 결과를 분석하여 졸음운전 여부를 판별할 수 있는 복합적인 앙상블 딥러닝 모델의 필요성이 대두된다.
본 발명에서 앙상블 딥러닝 기반 졸음운전 분류 방법의 절차는 도 12에서와 같다.
먼저 운행 중인 차량으로부터 감속 페달 압력, 가속 페달 압력, 조향각 및 조향 속도를 포함한 차량 내 다양한 센서 데이터를 수집한다.
수집된 데이터는 서브네트워크의 입력으로 사용되기 위해 형태를 1D 매트릭스에서 d채널 2D 매트릭스로 변경한다.
수집되는 센서 데이터는 d 종으로, 만약 감속 페달 압력, 가속 페달 압력, 조향각과 조향 속도를 졸음운전 추론을 위한 센서 데이터로 활용했다면 센서의 가짓수인 4가 된다.
결과적으로 차량 센서 데이터는 1D 매트릭스에서 형태인 4개의 채널을 가진 2D 매트릭스 데이터로 변환된다.
변환된 데이터는 사전에 학습된 각 서브네트워크의 입력으로 사용된다.
긴 졸음운전의 서브네트워크 개수는 n개이며 짧은 졸음운전의 서브네트워크 개수는 m개이다.
긴 졸음운전과 짧은 졸음운전 서브네트워크들은 졸음운전 형태를 잘 인식하기 위해 긴 졸음운전과 짧은 졸음운전에 최적화된 하이퍼파라미터로 튜닝하여 학습한다.
이를 통해 딥러닝 학습 과정에서 발생할 수 있는 과적합 문제를 해결한다.
각 서브네트워크의 결과는 (2,1) 형태로써 입력 데이터가 졸음운전의 패턴을 보이는지, 보이지 않는지를 판별한다.
긴 졸음운전 서브네트워크들의 결과는 (2,n) 형태이며 짧은 졸음운전 서브네트워크들의 결과는 (2,m) 형태이다.
서브네트워크들의 결과는 average 레이어의 입력으로 사용되며, average 레이어에서는 서브네트워크들의 결과를 분석하여 졸음운전 유무를 판별한다.
앙상블 딥러닝 구조를 사용한다면, 긴 졸음운전 추론 결과와 짧은 졸음운전 추론 결과를 복합적으로 활용하여 졸음운전을 인식한다는 점에서 졸음운전 형태에 따라 달라지는 데이터의 특성을 고려한 졸음운전 유무 판별이 가능하다.
즉, 앙상블 딥러닝 구조는 본 발명에서 제안하는 졸음운전을 두 가지 형태로 분류하는 방법에 최적화되어있다고 할 수 있다.
이상에서 설명한 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법을 제한된 환경에서 동작할 수 있도록 하기 위하여 다음과 같은 온보딩 방법이 사용될 수 있다.
온보딩 기법의 BT 업샘플링 기법은 interpolation 기법과 convolution 연산을 혼합한 형태의 업샘플링 기법이다.
이를 통해 저해상도 차량 센서 데이터로부터 높은 품질의 고해상도 센서 데이터를 생성할 수 있다. 또한 제안하는 온보딩 기법은 졸음운전 감지 기법의 경량화를 위한 두 가지 기법을 포함한다.
최소 특징 선택 기법에서는 계산 소요시간과 유의미성을 고려한 스코어링 함수를 통해 특징들을 평가하고 선택한다.
앙상블 딥러닝 모델 압축 기법에서는 지식 증류 기반의 딥러닝 모델 압축 기법을 통해 앙상블 딥러닝 모델을 압축한다.
제안하는 온보딩 기법의 주요 특징은 다음과 같다.
저해상도의 차량 내부 데이터를 고려한 업샘플링으로 차량 진단 시스템을 통해 획득할 수 있는 저해상도의 차량 내부 데이터를 업샘플링 기법을 통해 고해상도 데이터로 변환한다.
연산량 감소를 위한 특징 선택으로, 각 특징 별 계산소요 시간과 유의 확률을 활용한 선택 모델을 통해 추론용 임베디드 장치의 연산 성능에 따른 최적화된 특징을 선택할 수 있다.
메모리 사용량 절약을 위한 모델 압축으로, 앙상블 딥러닝 네트워크 모델에 적합한 지식 증류 기반의 모델 압축 기법을 통해 네트워크 크기와 추론 시간을 감소시킨다.
이상에서 설명한 본 발명에 따른 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법은 앙상블 딥러닝 구조를 사용하여 긴 졸음운전 추론 결과와 짧은 졸음운전 추론 결과를 복합적으로 활용하여 졸음운전 인식 정확도를 높인 것이다.
본 발명은 각 서브네트워크의 입력으로 감속 페달 압력, 가속 페달 압력, 조향각 및 조향 속도를 포함한 차량 내 다양한 차량 센서 데이터를 사용하고, 긴 졸음운전과 짧은 졸음운전의 종류별로 학습된 복수 개의 서브네트워크를 기반으로 졸음운전 여부를 정확하게 판별할 수 있도록 한 것이다.
이상에서의 설명에서와 같이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명이 구현되어 있음을 이해할 수 있을 것이다.
그러므로 명시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 전술한 설명이 아니라 특허청구 범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10. 데이터 전처리부
20. 특징 추출 및 중요도 분석부
30. 앙상블 딥러닝 졸음운전 감지부

Claims (14)

  1. 데이터 수집 과정에서 발생하는 일반운전과 졸음운전 데이터 사이의 불균형 문제를 최소화하기 위한 전처리 과정을 수행하는 데이터 전처리부;
    상기 데이터 전처리부에서 전처리된 데이터들의 통계적 특징과 시계열 특징들에 대해 유의미성을 검증하여 각 졸음운전 유형 별로 의미 있는 특징들을 선택하는 특징 추출 및 중요도 분석부;
    특징 추출 및 중요도 분석부에서의 특징 추출 및 중요도 분석을 통하여 분류된 각 유형 별 졸음운전 감지를 위한 다수의 서브네트워크들로 구성된 앙상블 딥러닝 모델을 통해 졸음운전을 감지하는 앙상블 딥러닝 졸음운전 감지부;를 포함하는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치.
  2. 제 1 항에 있어서, 구축된 앙상블 딥러닝 모델이 실제 차량 내 임베디드 장치에서 동작할 수 있도록 온디바이스 졸음운전 감지를 위한 온보딩 기법을 적용하는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치.
  3. 제 2 항에 있어서, 온디바이스 졸음운전 감지를 위한 온보딩은,
    실제 차량 환경에서 수집되는 저해상도 센서 데이터를 제안하는 업샘플링 기법을 통해 고해상도 데이터로 변환하는 업샘플링 및,
    임베디드 장치에서 각 특징들의 연산 시간과 감지 성능을 고려한 스코어링 모델과 계산된 각 특징들의 스코어를 기준으로 특징을 선택하는 특징 선택 및,
    앙상블 딥러닝 모델 내 서브네트워크들을 졸음운전의 형태에 따라 그룹으로 분류하고, 이후 각 그룹을 지식 증류 기법을 이용해 경량화 서브네트워크를 생성하고 이들로 구성된 경량화 된 딥러닝 모델을 생성하는 모델 압축에 의해 이루어지는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치.
  4. 제 1 항에 있어서, 특징 추출 및 중요도 분석부는 졸음 지속시간 기반의 졸음운전 형태 분류를 하고,
    운전자가 차량의 조작 능력을 장시간 상실하여 차량의 움직임이 주변 도로상황에 관계없이 단순해져 차선을 이탈하거나 전방 차량과의 거리를 유지하지 못하는 형태로 차량 움직임이 관측되는 긴 졸음운전과,
    운전자가 단시간 동안 조작 능력을 상실하고 회복하는 과정에서 차량의 움직임이 급격하게 변화되어 지그재그 형태의 움직임과 급가속, 급정거하는 형태의 움직임이 관측되는 짧은 졸음운전으로 분류하는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치.
  5. 제 1 항에 있어서, 데이터 전처리부에서의 전처리 단계는,
    입력 데이터를 졸음운전 감지 시 사용되는 세그먼트로 변환하기 위한 것으로, 데이터 변환(data conversion) 과정, 정규화(normalization) 과정, 불균형 데이터 처리(imbalance handling) 과정을 포함하는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치.
  6. 제 5 항에 있어서, 불균형 데이터 처리는 생성된 세그먼트 중 일반운전 데이터를 포함한 세그먼트를 삭제하여 일반운전과 졸음운전 데이터의 비율을 조절하는 것으로,
    불균형 데이터 처리는 주행 데이터 내 졸음운전 데이터와 인접한 k 개의 데이터를 마스킹하고, 이후 마스킹 되지 않은 데이터들을 대상으로 언더 샘플링을 시행하여 운전자의 상태가 변화할 때 나타나는 시간적 특징(temporal feature)을 보존하고,
    이후 수집한 데이터 셋의 불균형을 재확인하고, 여전히 불균형이 심각한 경우 동일한 방법으로 언더샘플링을 재수행하고, 슬라이딩 윈도우(sliding window) 기법을 적용하여 고정된 크기의 세그멘트를 생성하는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치.
  7. 데이터 수집 과정에서 발생하는 일반운전과 졸음운전 데이터 사이의 불균형 문제를 최소화하기 위한 전처리 과정을 수행하는 데이터 전처리 단계;
    상기 데이터 전처리 단계에서 전처리된 데이터들의 통계적 특징과 시계열 특징들에 대해 유의미성을 검증하여 각 졸음운전 유형 별로 의미 있는 특징들을 선택하는 특징 추출 및 중요도 분석 단계;
    특징 추출 및 중요도 분석 단계에서의 특징 추출 및 중요도 분석을 통하여 분류된 각 유형 별 졸음운전 감지를 위한 다수의 서브네트워크들로 구성된 앙상블 딥러닝 모델을 통해 졸음운전을 감지하는 앙상블 딥러닝 졸음운전 감지 단계;를 포함하는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 방법.
  8. 제 7 항에 있어서, 특징 추출 및 중요도 분석 단계에서 졸음 지속시간 기반의 졸음운전 형태 분류를 하고,
    운전자가 차량의 조작 능력을 장시간 상실하여 차량의 움직임이 주변 도로상황에 관계없이 단순해져 차선을 이탈하거나 전방 차량과의 거리를 유지하지 못하는 형태로 차량 움직임이 관측되는 긴 졸음운전과,
    운전자가 단시간 동안 조작 능력을 상실하고 회복하는 과정에서 차량의 움직임이 급격하게 변화되어 지그재그 형태의 움직임과 급가속, 급정거하는 형태의 움직임이 관측되는 짧은 졸음운전으로 분류하는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 방법.
  9. 제 7 항에 있어서, 데이터 전처리 단계는,
    입력 데이터를 졸음운전 감지 시 사용되는 세그먼트로 변환하기 위한 것으로, 데이터 변환(data conversion) 과정, 정규화(normalization) 과정, 불균형 데이터 처리(imbalance handling) 과정을 포함하는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 방법.
  10. 제 9 항에 있어서, 불균형 데이터 처리는 생성된 세그먼트 중 일반운전 데이터를 포함한 세그먼트를 삭제하여 일반운전과 졸음운전 데이터의 비율을 조절하는 것으로,
    불균형 데이터 처리는 주행 데이터 내 졸음운전 데이터와 인접한 k 개의 데이터를 마스킹하고, 이후 마스킹 되지 않은 데이터들을 대상으로 언더 샘플링을 시행하여 운전자의 상태가 변화할 때 나타나는 시간적 특징(temporal feature)을 보존하고,
    이후 수집한 데이터 셋의 불균형을 재확인하고, 여전히 불균형이 심각한 경우 동일한 방법으로 언더샘플링을 재수행하고, 슬라이딩 윈도우(sliding window) 기법을 적용하여 고정된 크기의 세그멘트를 생성하는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 방법.
  11. 제 7 항에 있어서, 앙상블 딥러닝 졸음운전 감지 단계에서 앙상블 딥러닝 모델은,
    짧은 졸음운전 감지를 위한 서브네트워크 n개(S=n), 긴 졸음운전 감지를 위한 서브네트 워크 m개(L=m)인 네트워크이고,
    앙상블 딥러닝 모델은 차량 센서 데이터가 포함된 세그먼트와 추출된 통계적 특징을 입력으로 사용하고, 전처리 단계를 통해 생성된 각 세그먼트에는 조향각, 조향속도, 감속 페달 압력, 가속 페달 압력의 데이터가 샘플링 레이트(SR)와 윈도우 크기(w)의 곱만큼 포함되는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 방법.
  12. 제 11 항에 있어서, 앙상블 딥러닝 모델은 각 세그먼트를 모양의 채널 2D 매트릭스로 변환하고 이들을 서브네트워크로 전달하고,
    여기서, 는 졸음운전 추론에 사용할 센서 데이터의 개수이며, 이 수치는 사용될 센서 데이터의 수에 따라 가변적인 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 방법.
  13. 제 12 항에 있어서, 입력 세그먼트에서 2D 매트릭스로의 변환을 통해 모델 내 각 서브네트워크에서 추출되는 convolutional 특징이 인접한 데이터뿐만 아니라 주기적인 데이터의 정보를 포함하고,
    이후 각 서브네트워크에게 2D 매트릭스와 통계적 특징을 전달하고, 서브네트워크 별로 일반운전과 졸음운전의 확률을 각각 획득하는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 방법.
  14. 제 13 항에 있어서, 짧은 졸음운전 감지를 위한 서브네트워크 n개의 감지 결과를 (2, n) 모양의 출력 벡터로 변환하고, 긴 졸음운전 감지를 위한 서브네트워크 m개의 감지 결과를 (2, m) 모양의 출력 벡터로 변환하고,
    이후 두 벡터를 연결(concatenate)하여 (2, n+m) 형태의 벡터를 생성하고, 벡터 내 원소들의 산술 평균을 구하는 average 레이어를 통해 서브네트워크들의 추론 결과를 종합하여 입력된 데이터의 졸음운전 유무를 판단하는 것을 특징으로 하는 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 방법.
KR1020220038281A 2022-03-28 2022-03-28 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법 KR20230139666A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220038281A KR20230139666A (ko) 2022-03-28 2022-03-28 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220038281A KR20230139666A (ko) 2022-03-28 2022-03-28 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20230139666A true KR20230139666A (ko) 2023-10-05

Family

ID=88294201

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220038281A KR20230139666A (ko) 2022-03-28 2022-03-28 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20230139666A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117644870A (zh) * 2024-01-30 2024-03-05 吉林大学 一种基于情景感知的驾驶焦虑检测与车辆控制方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101865590B1 (ko) 2016-12-23 2018-07-16 성균관대학교 산학협력단 졸음운전감지를 위한 차량주행정보 처리 방법 및 이를 이용한 졸음운전감지 장치
KR20190033752A (ko) 2017-09-22 2019-04-01 성균관대학교산학협력단 차량의 주행 데이터를 이용하여 운전자의 이상상태를 판단하기 위한 시스템
KR102314864B1 (ko) 2021-03-29 2021-10-19 주식회사 리트빅 차량운전 상태정보를 이용한 에지 딥러닝 기반의 차량 안전운전 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101865590B1 (ko) 2016-12-23 2018-07-16 성균관대학교 산학협력단 졸음운전감지를 위한 차량주행정보 처리 방법 및 이를 이용한 졸음운전감지 장치
KR20190033752A (ko) 2017-09-22 2019-04-01 성균관대학교산학협력단 차량의 주행 데이터를 이용하여 운전자의 이상상태를 판단하기 위한 시스템
KR102314864B1 (ko) 2021-03-29 2021-10-19 주식회사 리트빅 차량운전 상태정보를 이용한 에지 딥러닝 기반의 차량 안전운전 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117644870A (zh) * 2024-01-30 2024-03-05 吉林大学 一种基于情景感知的驾驶焦虑检测与车辆控制方法及系统
CN117644870B (zh) * 2024-01-30 2024-03-26 吉林大学 一种基于情景感知的驾驶焦虑检测与车辆控制方法及系统

Similar Documents

Publication Publication Date Title
CN107492251B (zh) 一种基于机器学习与深度学习的驾驶员身份识别与驾驶状态监测方法
Omerustaoglu et al. Distracted driver detection by combining in-vehicle and image data using deep learning
Van Ly et al. Driver classification and driving style recognition using inertial sensors
Zhao et al. Driver fatigue detection based on convolutional neural networks using EM-CNN
JP6003810B2 (ja) 車両用基準値生成装置
Khodairy et al. Driving behavior classification based on oversampled signals of smartphone embedded sensors using an optimized stacked-LSTM neural networks
Eren et al. Estimating driving behavior by a smartphone
González et al. Learning roadway surface disruption patterns using the bag of words representation
CN110866427A (zh) 一种车辆行为检测方法及装置
Sajid et al. An efficient deep learning framework for distracted driver detection
CN107320115B (zh) 一种自适应的精神疲劳评估装置及方法
CN111242015B (zh) 一种基于运动轮廓语义图预测行车危险场景的方法
Xie et al. CNN-based driving maneuver classification using multi-sliding window fusion
Tamanani et al. Estimation of driver vigilance status using real-time facial expression and deep learning
Dipu et al. Real-time driver drowsiness detection using deep learning
KR20230139666A (ko) 졸음운전 형태 분류 및 앙상블 딥러닝 기반의 졸음운전 인식을 위한 장치 및 방법
CN109720353B (zh) 一种基于智能手机的驾驶行为检测方法
Biju et al. Drowsy driver detection using two stage convolutional neural networks
Harkous et al. Application of hidden Markov model on car sensors for detecting drunk drivers
KR102180800B1 (ko) 차량의 주행상태 판단장치 및 그 판단방법
KR102188970B1 (ko) 경량 다층 랜덤 포레스트 기반의 얼굴 표정 인식 방법 및 장치
Attal et al. Riding patterns recognition for Powered two-wheelers users' behaviors analysis
CN107358678A (zh) 一种驾驶事件检测和识别方法
CN115937828A (zh) 一种疲劳驾驶检测方法、装置及车辆
KR102570295B1 (ko) 차량 및 그 제어 방법