KR102104465B1 - 뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치 - Google Patents

뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치 Download PDF

Info

Publication number
KR102104465B1
KR102104465B1 KR1020180166686A KR20180166686A KR102104465B1 KR 102104465 B1 KR102104465 B1 KR 102104465B1 KR 1020180166686 A KR1020180166686 A KR 1020180166686A KR 20180166686 A KR20180166686 A KR 20180166686A KR 102104465 B1 KR102104465 B1 KR 102104465B1
Authority
KR
South Korea
Prior art keywords
neural network
output
maximum amplitude
drowsy driving
weight
Prior art date
Application number
KR1020180166686A
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 KR1020180166686A priority Critical patent/KR102104465B1/ko
Application granted granted Critical
Publication of KR102104465B1 publication Critical patent/KR102104465B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • A61B5/0488
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/389Electromyography [EMG]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/08Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/02Alarms for ensuring the safety of persons
    • G08B21/06Alarms for ensuring the safety of persons indicating a condition of sleep, e.g. anti-dozing alarms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/143Alarm means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명은 뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치에 관한 것이다. 본 발명의 일 실시예에 따른 전자 장치의 동작 방법은 (a) 사용자의 근전도 신호를 측정하는 단계; (b) 상기 측정된 근전도 신호의 중앙 주파수 및 최대 진폭 중 적어도 하나를 산출하는 단계; (c) 상기 산출된 중앙 주파수 및 최대 진폭 중 적어도 하나를 뉴럴 네트워크에 적용하는 단계; 및 (d) 상기 뉴럴 네트워크의 출력값에 따라 졸음운전 알람을 출력하는 단계;를 포함할 수 있다.

Description

뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치{A method and apparatus for preventing drowsiness using neural network}
본 발명은 졸음운전 방지 방법 및 장치에 관한 것으로, 더욱 상세하게는 뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치에 관한 것이다.
자동차의 사고 중, 가장 큰 피해를 발생하는 사고는 주행 중에 발생하게 되며, 통상, 졸음운전, 음주운전, 주의력 분산 등에 의해 야기되는 것이 대부분이다.
졸음운전은 최근 3년간 고속도로 교통사고 사망자 중 30%로 가장 많은 비중을 차지하며, 특히 대형교통사고를 일으키게 된다. 이를 막기 위해 버스 등의 대중교통 수단과 개인 소유 차량에 다양한 시스템을 도입하였거나 도입을 준비 중이다.
이러한 졸음운전 방지 시스템의 대표적인 예는 운전자의 눈 깜빡임 횟수를 측정하여 이용하는 방법, 차량의 이동경로 분석을 이용하는 방법 등이 있다. 이 중 생체신호를 측정한 졸음운전 방지 방법은 다양한 신호 취득이 가능하므로, 향후 보다 정교한 졸음운전 방지 시스템 제작을 위해 많은 연구가 이루어지고 있으나, 사용자에 알맞은 졸음운전 방지 시스템에 대한 연구는 미흡한 실정이다.
[특허문헌 1] 한국공개특허 제10-2018-0081295호
본 발명은 전술한 문제점을 해결하기 위하여 창출된 것으로, 뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치를 제공하는 것을 그 목적으로 한다.
또한, 본 발명은 근전도 신호의 중앙 주파수와 최대 진폭을 뉴럴 네트워크에 적용하여, 뉴럴 네트워크의 출력에 따라 졸음운전 알람을 출력하는 것을 그 목적으로 한다.
또한, 본 발명은 FPGA(field programmable gate array)에서 뉴럴 네트워크의 역전파 알고리즘을 수행하는 것을 그 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상기한 목적들을 달성하기 위하여, 본 발명의 일 실시예에 따른 전자 장치의 동작 방법은 (a) 사용자의 근전도 신호를 측정하는 단계; (b) 상기 측정된 근전도 신호의 중앙 주파수 및 최대 진폭 중 적어도 하나를 산출하는 단계; (c) 상기 산출된 중앙 주파수 및 최대 진폭 중 적어도 하나를 뉴럴 네트워크에 적용하는 단계; 및 (d) 상기 뉴럴 네트워크의 출력값에 따라 졸음운전 알람을 출력하는 단계;를 포함할 수 있다.
실시예에서, 상기 뉴럴 네트워크는, FPGA(field programmable gate array)에서 구현될 수 있다.
실시예에서, 상기 뉴럴 네트워크의 제1 이진(binary) 출력값이 출력되는 경우, 상기 졸음운전 알람이 출력되지 않고, 상기 뉴럴 네트워크의 제2 이진 출력값이 출력되는 경우, 상기 졸음운전 알람이 출력될 수 있다.
실시예에서, 상기 (d) 단계는, 졸음운전을 경고하기 위한 사운드 및 화면 중 적어도 하나를 출력하는 단계;를 포함할 수 있다.
실시예에서, 상기 전자 장치의 동작 방법은 상기 (b) 단계와 (c) 단계 사이에, (e) 상기 추출된 중앙 주파수 및 최대 진폭 중 적어도 하나를 이용하여 상기 뉴럴 네트워크의 역전파(propagation) 알고리즘을 수행하는 단계;를 더 포함할 수 있다.
실시예에서, 상기 (e) 단계는, 상기 뉴럴 네트워크의 피드포워드 출력값과 목표 출력값(desired output)을 비교하여 오차값을 산출하는 단계; 및 상기 오차값에 기반하여 상기 뉴럴 네트워크의 가중치(weight)를 조절하는 단계;를 포함할 수 있다.
실시예에서, 전자 장치는 사용자의 근전도 신호를 측정하는 센서부; 상기 측정된 근전도 신호의 중앙 주파수 및 최대 진폭 중 적어도 하나를 산출하고, 상기 산출된 중앙 주파수 및 최대 진폭 중 적어도 하나를 뉴럴 네트워크에 적용하는 제어부; 및 상기 뉴럴 네트워크의 출력값에 따라 졸음운전 알람을 출력하는 출력부;를 포함할 수 있다.
실시예에서, 상기 뉴럴 네트워크는, FPGA(field programmable gate array)에서 구현될 수 있다.
실시예에서, 상기 뉴럴 네트워크의 제1 이진(binary) 출력값이 출력되는 경우, 상기 졸음운전 알람이 출력되지 않고, 상기 뉴럴 네트워크의 제2 이진 출력값이 출력되는 경우, 상기 졸음운전 알람이 출력될 수 있다.
실시예에서, 상기 출력부는, 졸음운전을 경고하기 위한 사운드 및 화면 중 적어도 하나를 출력할 수 있다.
실시예에서, 상기 제어부는, 상기 추출된 중앙 주파수 및 최대 진폭 중 적어도 하나를 이용하여 상기 뉴럴 네트워크의 역전파(propagation) 알고리즘을 수행할 수 있다.
실시예에서, 상기 제어부는, 상기 뉴럴 네트워크의 피드포워드 출력값과 목표 출력값(desired output)을 비교하여 오차값을 산출하고, 상기 오차값에 기반하여 상기 뉴럴 네트워크의 가중치(weight)를 조절할 수 있다.
상기한 목적들을 달성하기 위한 구체적인 사항들은 첨부된 도면과 함께 상세하게 후술될 실시예들을 참조하면 명확해질 것이다.
그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라, 서로 다른 다양한 형태로 구성될 수 있으며, 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자(이하, "통상의 기술자")에게 발명의 범주를 완전하게 알려주기 위해서 제공되는 것이다.
본 발명의 일 실시예에 의하면, 근전도 신호 중 사용자의 피로도에 가장 민감하게 반응하는 특징 벡터로서 중앙 주파수와 최대 진폭을 뉴럴 네트워크에 적용함으로써, 보다 정확하고 각 사용자에 따라 졸음운전을 판단을 판단하는 시점을 달리하여 각 사용자에게 적합한 졸음운전 알람을 제공할 수 있다.
또한, 본 발명의 일 실시예에 의하면, FPGA에서 뉴럴 네트워크의 역전파 알고리즘을 수행함으로써, 소형화 및 저전력 작동이 필요한 웨어러블 장치에 적용될 수 있다.
본 발명의 효과들은 상술된 효과들로 제한되지 않으며, 본 발명의 기술적 특징들에 의하여 기대되는 잠정적인 효과들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 뉴럴 네트워크를 이용한 졸음운전 방지 절차를 도시한 도면이다.
도 2a 및 2b는 본 발명의 일 실시예에 따른 각 사용자의 근전도 신호의 중앙 주파수 그래프를 도시한다.
도 3a 및 3b는 본 발명의 일 실시예에 따른 각 사용자의 근전도 신호의 최대 진폭 그래프를 도시한다.
도 4는 본 발명의 일 실시예에 따른 졸음운전 알람을 제공하기 위한 전자 장치의 동작 방법을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 졸음운전 알람을 제공하기 위한 뉴럴 네트워크의 시뮬레이션 결과를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 단일 뉴런의 기능적 구성을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 뉴럴 네트워크의 역전파(propagation) 알고리즘의 예를 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 뉴럴 네트워크의 역전파 알고리즘을 수행하기 위한 전자 장치의 동작 방법을 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 역전파 알고리즘의 검증 그래프를 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 전자 장치의 기능적 구성을 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고, 여러 가지 실시예들을 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다.
청구범위에 개시된 발명의 다양한 특징들은 도면 및 상세한 설명을 고려하여 더 잘 이해될 수 있을 것이다. 명세서에 개시된 장치, 방법, 제법 및 다양한 실시예들은 예시를 위해서 제공되는 것이다. 개시된 구조 및 기능상의 특징들은 통상의 기술자로 하여금 다양한 실시예들을 구체적으로 실시할 수 있도록 하기 위한 것이고, 발명의 범위를 제한하기 위한 것이 아니다. 개시된 용어 및 문장들은 개시된 발명의 다양한 특징들을 이해하기 쉽게 설명하기 위한 것이고, 발명의 범위를 제한하기 위한 것이 아니다.
본 발명을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.
이하, 본 발명의 일 실시예에 따른 뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치를 설명한다. 일 실시예에서, 뉴럴 네트워크는 뉴로모픽 시스템(neuromorphic system)을 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 뉴럴 네트워크를 이용한 졸음운전 방지 절차(100)를 도시한 도면이다.
도 1을 참고하면, 뉴럴 네트워크를 이용한 졸음운전 방지 절차(100)는 근전도 신호 측정 과정(110), 특징 추출 과정(120), 뉴럴 네트워크 적용 과정(130) 및 졸음운전 알람 과정(140)을 포함할 수 있다.
근전도 신호 측정 과정(110)에서, 전자 장치는 사용자의 근전도 신호를 측정할 수 있다. 근전도 측정은 신체의 근육 신호를 전기 신호로 바꾸어 측정하는 것이다. 졸음운전 방지를 위한 근전도 신호를 측정하기 위해서는 다양한 위치에서 측정이 가능하지만, 사용자에게 방해가 되지 않도록 전자 장치는 손목에 위치하여 측정을 수행할 수 있다.
졸음운전 판단을 위해 다수의 사용자들에 대하여 운전 전의 근전도 측정이 수행될 수 있고, 시간에 따른 근전도 신호의 변화가 측정될 수 있다. 일 실시예에서, 졸음운전 판단을 위해 영상신호 분석과 사용자 경로의 변화가 함께 분석될 수 있다.
특징 추출 과정(120)에서, 전자 장치는 근전도 신호에 대한 특징 벡터를 추출할 수 있다. 일 실시예에서, 사용자의 피로도에 가장 민감하게 반응하는 근전도 신호에 대한 특징 벡터는 중앙 주파수와 최대 진폭을 포함할 수 있다. 이 경우, 근전도 신호의 중앙 주파수 및 최대 진폭은 뉴럴 네트워크의 입력으로 사용될 수 있다.
이 경우, 도 2a 및 2b를 참고하면, 각 사용자의 시간에 따른 근전도 신호의 중앙 주파수를 확인할 수 있다. 즉, 시간에 따라 근전도 신호의 중앙 주파수가 감소하는 것을 확인할 수 있다. 일 실시예에서, 중앙 주파수의 변화는 근전도 신호의 이산푸리에 변환(fast fourier transform)을 통해 측정될 수 있다. 도 3a 및 3b를 참고하면, 각 사용자의 시간에 따른 근전도 시간의 최대 진폭을 확인할 수 있다. 즉, 시간에 따라 근전도 신호의 최대 진폭이 감소하는 것을 확인할 수 있다.
뉴럴 네트워크 적용 과정(130)에서, 전자 장치는 근전도 신호에 대한 특징 벡터를 뉴럴 네트워크에 적용하여 졸음운전 여부를 판단할 수 있다. 근전도 신호의 중앙주파수는 뉴럴 네트워크의 제1 입력 레이어에 입력되며, 근전도 신호의 최대 진폭은 뉴럴 네트워크의 제2 입력 레이어에 입력될 수 있다. 그러나, 뉴럴 네트워크는 32-비트 고정 소수점 수(fixed point number)를 사용하므로, 값을 줄이기 위해 중앙 주파수의 경우에는 70을 빼준 후 입력으로 전달될 수 있다(즉, 정수 부분 16 비트).
일 실시예에서, 전자 장치는 근전도 신호에 대한 특징 벡터를 이용하여 외부에서 학습(learning)을 수행하며, 이에 따라 가중치(weight)의 업데이트를 수행할 수 있다. 근전도 측정 결과를 보면 사용자에 따라 기본 값도 다르고, 변화량도 다르므로 뉴럴 네트워크가 필요함을 알 수 있다.
졸음운전 알람 과정(140)에서, 전자 장치는 뉴럴 네트워크의 출력에 따라 졸음운전 알람을 출력할 수 있다. 일 실시예에서, 뉴럴 네트워크의 출력이 0인 경우, 졸음운전 상태가 아닌 것으로 판단하여 졸음운전 알람을 출력하지 않을 수 있다. 반면, 뉴럴 네트워크의 출력이 1인 경우, 졸음운전 상태로 판단하여 사용자에게 졸음운전 알람을 출력할 수 있다.
도 4는 본 발명의 일 실시예에 따른 졸음운전 알람을 제공하기 위한 전자 장치의 동작 방법을 도시한 도면이다.
도 4를 참고하면, S401 단계는 사용자의 근전도 신호를 측정하는 단계이다. S403 단계는 근전도 신호의 중앙 주파수 및 최대 진폭 중 적어도 하나를 산출하는 단계이다. 일 실시예에서, 중앙 주파수 및 최대 진폭은 근전도 신호에 대한 특징 벡터를 의미할 수 있다.
일 실시예에서, 추출된 중앙 주파수 및 최대 진폭 중 적어도 하나를 이용하여 뉴럴 네트워크의 역전파(propagation) 알고리즘을 수행할 수 있다. 구체적으로, 뉴럴 네트워크의 피드포워드 출력값과 목표 출력값(desired output)을 비교하여 오차값을 산출하고, 오차값에 기반하여 상기 뉴럴 네트워크의 가중치(weight)를 조절할 수 있다.
S405 단계는 중앙 주파수 및 최대 진폭 중 적어도 하나를 뉴럴 네트워크에 적용하는 단계이다. 일 실시예에서, 뉴럴 네트워크는, FPGA(field programmable gate array)에서 구현될 수 있다.
S407 단계는 뉴럴 네트워크의 출력값에 따라 졸음운전 알람을 출력하는 단계이다. 일 실시예에서, 뉴럴 네트워크의 제1 이진(binary) 출력값이 출력되는 경우, 상기 졸음운전 알람이 출력되지 않고, 상기 뉴럴 네트워크의 제2 이진 출력값이 출력되는 경우, 상기 졸음운전 알람이 출력될 수 있다. 일 실시예에서, 졸음운전을 경고하기 위한 사운드 및 화면 중 적어도 하나를 출력할 수 있다.
도 5는 본 발명의 일 실시예에 따른 졸음운전 알람을 제공하기 위한 뉴럴 네트워크의 시뮬레이션 결과를 도시한 도면이다.
도 5를 참고하면, 검증을 위해 사용자 A와 사용자 B에 대해 학습을 수행한 후 가중치를 뉴럴 네트워크에 적용하였다. 이 경우 사용자 A와 사용자 B의 졸음운전을 판단하는 시점이 달라지며, 사용자에게 적합한 뉴럴 네트워크가 가능해진다.
즉, 종래의 졸음 운전을 예방하기 위한 다양한 방법은 생체 신호를 이용하여 졸음 운전을 판단하지만, 사용자나 사용자의 상황에 따라 다른 결과를 얻을 수 있는 문제점이 있다. 이러한 오류를 줄이기 위해, 본 발명의 일 실시예에 따른 졸음운전 알람 방법은 FPGA(field programmable gate array)를 이용한 뉴럴 네트워크를 사용하여 사용자에 따라 적절한 결과를 얻을 수 있다. 다양한 사용자에게 적용이 가능하며, 운전에 방해가 되지 않는 작은 시스템을 구현하기 위해 뉴럴 네트워크가 이용될 수 있다.
여기서, 본 발명의 일 실시예에 따른 졸음운전 알람 방법은 근전도 측정을 활용하였으며, 중앙 주파수의 변화와 최대 진폭의 변화를 입력으로 사용하였으며, 이를 통해 졸음운전에 대한 판단이 가능함을 확인할 수 있다.
도 6은 본 발명의 일 실시예에 따른 단일 뉴런의 기능적 구성을 도시한 도면이다.
도 6을 참고하면, 신경망(Neural network)의 기본 단위는 뉴런과 시냅스입니다. 일 실시예에서, 가중치가 시냅스에 저장될 수 있다. 단일 뉴런(600)은 곱셈기(multiplier)(610), 덧셈기(adder)(620), 시그모이드(sigmoid)(630) 함수를 활성화 함수로 사용하여 적분-발화(integrate-and-fire) 신경망 모델을 시뮬레이션할 수 있다.
도 7은 본 발명의 일 실시예에 따른 뉴럴 네트워크(700)의 역전파(propagation) 알고리즘의 예를 도시한 도면이다.
도 7을 참고하면, 뉴럴 네트워크(700)는 두 개의 입력 레이어(712, 714), 두 개의 제1 히든 레이어(hidden layer)(722, 724), 두 개의 제2 히든 레이어(732, 734) 및 한 개의 출력 레이어(742)를 포함할 수 있다. 이 경우, 뉴럴 네트워크(700)는 32 비트 데이터를 사용하여 구현될 수 있다. 상위(upper) 1-비트는 부호 비트(sign bit), 정수 부분(integer part)의 다음 15-비트 및 분수 부분(fraction part)의 하위(lower) 16-비트는 부호있는 숫자(signed number)를 나타냅니다.
뉴럴 네트워크(700)의 경우, 역전파(backpropagation) 알고리즘을 구현하기 위해, 상태 변수(state variable)는 "sw"로 선언될 수 있다. "sw"가 0인 경우, 학습하지 않은 피드포워드(feed forward) 섹션이 활성화될 수 있다. 이 경우, 가중치(weight)에는 변화가 없습니다. 그러나, "sw"가 1인 경우, 학습 알고리즘은 목표 출력값(desired output)이 이미 알려진 가중치 업데이트에 대해 수행될 수 있다. 목표 출력값은 32-비트 변수 "results"로 신경망에 공급될 수 있다.
이전 연구와 비교하여 가장 큰 차이점은 미리 저장된 훈련데이터 없이 적절한 입력값을 가진 변수 "results"가 신경망에 계속 공급될 수 있다는 것입니다. 이를 통해, 데이터의 중요성에 따라 훈련 양을 결정할 수 있으며, 많은 수의 입력으로 학습 알고리즘을 활성화할 수 있습니다.
일 실시예에서, 역전파 알고리즘에서, 목표 출력값(Verilog 코드에서의 "results")과 현재 피드포워드 출력값(Verilog 코드에서의 "out") 사이의 오류는 하기 <수학식 1>과 같이 정의될 수 있다.
Figure 112018128696993-pat00001
여기서, E는 오류값, y는 목표출력값, out은 현재 피드포워드 출력값을 의미할 수 있다.
교차 엔트로피 오류(cross-entropy error)와 같은 오류를 정의하는 다른 방법이 있지만, 본 발명의 일 실시예에 따른 뉴런 네트워크(700)에서는 제곱 오류(squared error)가 사용될 수 있다. 역전파 알고리즘의 경우, 오류가 가중치의 변화로 표시되고 가중치 업데이트가 수행될 수 있다. 가중치에 따른 오차의 변화는 미분 방정식으로 나타낼 수 있다. 일 실시예에서, 가중치 업데이트는 하기 <수학식 2>와 같이 정의될 수 있다.
Figure 112018128696993-pat00002
여기서, w1new는 업데이트 후 가중치 w1을, w1old는 업데이트 전 가중치 w1을 의미할 수 있다. 또한, η는 학습률을 나타내고, 학습 속도와 수렴 가능성을 결정할 수 있다.
미분 방정식은 체인 규칙(chain rule)을 사용하여 이전 오류와 관련된 미분 방정식의 형태로 표현될 수 있다. 이러한 이유로 역전파라고 지칭될 수 있다.
출력 레이어(742)에서의 가중치 w9에 따른 오류의 변화량은 하기 <수학식 3>과 같이 정의될 수 있다.
Figure 112018128696993-pat00003
여기서, Vp5는 가중치 w9를 제2 히든 레이어(732)의 출력값 h3에 적용한 값과 가중치 w10을 제2 히든 레이어(734)의 출력값 h4에 적용한 값으로 결정되는 출력 레이어(742)의 입력값을 의미할 수 있다.
제2 히든 레이어(732)에서, w5는 하기 <수학식 4>와 같이 정의될 수 있다.
Figure 112018128696993-pat00004
여기서, Vp3은 가중치 w5를 제1 히든 레이어(722)의 출력값 h1에 적용한 값과 가중치 w6을 제1 히든 레이어(724)의 출력값 h2에 적용한 값으로 결정되는 제2 히든 레이어(732)의 입력값을 의미할 수 있다.
제1 히든 레이어(722)에서, w1은 하기 <수학식 5 >와 같이 정의될 수 있다.
Figure 112018128696993-pat00005
여기서, Vp1은 가중치 w1을 입력 레이어(712)의 입력값 a에 적용한 값과 가중치 w2를 입력 레이어(714)의 입력값 b에 적용한 값으로 결정되는 제1 히든 레이어(722)의 입력값을 의미할 수 있다.
모든 변수의 값은 이미 피드포워드(feed forward)를 통해 신경망에 의해 계산될 수 있으므로, 간단한 곱셈과 덧셈을 통해 이러한 변수로 가중치 업데이트가 가능합니다.
일 실시예에서, 가중치 업데이트를 위한 Verilog 코드는 하기 <표 1>과 같이 나타낼 수 있다.
wire [31:0] cost10, up10;
wire ovr35, ovr36;
fmu m50(io3, b, cost10, ovr35);
fmu m51(learning_rate, cost10, up10, ovr36);
fadd m52(w4_old, ~up10+1, w4_new); //w4 update

always @(posedge clk) begin
if ((sw == 1’b1) & (stored_output_error > 32’h0000_0100)) begin
w10_old <= w10_new;
w9_old <= w9_new;
w8_old <= w8_new;
w7_old <= w7_new;
w6_old <= w6_new;
w5_old <= w5_new;
w4_old <= w4_new;
w3_old <= w3_new;
w2_old <= w2_new;
w1_old <= w1_new;
end
end
도 8은 본 발명의 일 실시예에 따른 뉴럴 네트워크의 역전파 알고리즘을 수행하기 위한 전자 장치의 동작 방법을 도시한 도면이다.
도 8을 참고하면, S801 단계는 중앙 주파수 및 최대 진폭 중 적어도 하나로부터 산출된 뉴럴 네트워크의 피드포워드 출력값과 목표 출력값을 비교하여 오차값을 산출하는 단계이다.
일 실시예에서, 뉴럴 네트워크의 피드포워드 출력값은 근전도 신호의 중앙 주파수 및 최대 진폭을 이용하여 뉴럴 네트워크의 피드포워드(feedforward) 알고리즘을 수행하여 산출된 출력값을 의미할 수 있다.
S803 단계는 오차값에 기반하여 뉴럴 네트워크의 가중치를 조절할 수 있다. 일 실시예에서, 오차값을 각 가중치로 미분한 값과 기존 가중치의 차이(difference)를 이용하여 업데이트된 가중치를 산출할 수 있다.
일 실시예에서, 업데이트된 가중치를 이용하여 피드포워드 알고리즘을 수행하여 오차값을 재산출하고, 재산출된 오차값이 임계오차값보다 작아질 때까지 역전파 알고리즘을 반복적으로 수행할 수 있다.
도 9는 본 발명의 일 실시예에 따른 역전파 알고리즘의 검증 그래프를 도시한 도면이다.
도 9를 참고하면, 검증(verification)은 OR 게이트 연산을 사용하여 수행될 수 있다. 즉, 훈련 세트 [0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]에 대한 [a, b, results]은 뉴럴 네트워크의 학습을 위한 입력 및 결과에 입력될 수 있다. 도 9를 통해 OR 게이트를 약 5000회 실행한 결과를 확인할 수 있다.
FPGA를 이용한 역전파 알고리즘은 웨어러블 디바이스의 적용(application)을 위해 구현될 수 있다. 이 설계를 통해 뉴럴 네트워크가 쉽게 구현되고, OR 게이트 연산을 통해 동작 가능성이 검증될 수 있다. FPGA를 이용한 신경망의 적용 가능성과 FPGA 내에서 학습 알고리즘의 구현 가능성이 웨어러블 디바이스에서 확인될 수 있다.
뉴럴 네트워크는 특수 칩을 포함하여 다양한 방식으로 구현될 수 있다. 이러한 시스템 중에서도, 소형화 및 저전력 작동은 웨어러블 장치에 요구될 수 있다. 이러한 관점에서, 적합한 구현 방법은 FPGA(field programmable gate array)를 사용하는 디지털 회로 설계이다. 이러한 시스템을 구현하기 위해서는, 성능 향상을 위해 뉴럴 네트워크에서 많은 부분을 차지하는 학습 알고리즘이 FPGA 내에서 구현될 수 있다. 본 발명의 일 실시예에 따라, FPGA를 이용하여 다양한 학습 알고리즘 중 역전파 알고리즘이 구현되었으며, 이 신경망은 OR 게이트 연산을 통해 검증될 수 있다.
도 10은 본 발명의 일 실시예에 따른 전자 장치(1000)의 기능적 구성을 도시한 도면이다.
도 10을 참고하면, 전자 장치(1000)는 센서부(1010), 제어부(1020) 및 출력부(1030)를 포함할 수 있다.
센서부(1010)는 사용자의 근전도 신호를 검출할 수 있다. 일 실시예에서, 센서부(1010)는 사용자의 근육 부분에 부착되는 일회용 근전도 패치를 포함하여 이루어질 수 있다. 여기서, 일회용 근전도 패치에는 바이폴라 스냅 전극이 사용될 수 있다. 예를 들어, 일회용 근전도 패치는 접지 채널을 포함하여 적어도 하나의 채널의 근전도 신호를 수집할 수 있도록 구현될 수 있다.
제어부(1020)는 근전도 신호의 중앙 주파수 및 최대 진폭 중 적어도 하나를 산출하고, 산출된 중앙 주파수 및 최대 진폭 중 적어도 하나를 뉴럴 네트워크에 적용할 수 있다. 일 실시예에서, 제어부(1020)는 추출된 중앙 주파수 및 최대 진폭 중 적어도 하나를 이용하여 상기 뉴럴 네트워크의 역전파 알고리즘을 수행할 수 있다.
일 실시예에서, 제어부(1020)는 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 또한, 제어부(330)는 CP(communication processor)라 지칭될 수 있다. 일 실시예에서, 제어부(1020)는 FPGA를 포함할 수 있다. 일 실시예에서, 제어부(1020)는 전자 장치(1000)의 적어도 하나의 다른 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다.
출력부(1030)는 졸음운전을 경고하는 이미지 및 동영상을 출력할 수 있는 디스플레이와 졸음운전을 경고하는 사운드를 출력하는 스피커를 포함할 수 있다. 예를 들어, 디스플레이는 액정 디스플레이(liquid crystal display, LCD), 발광 다이오드(light emitting diode, LED) 디스플레이, 유기 발광 다이오드(organic light emitting diode, OLED) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical system, MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다.
도 10에서, 전자 장치(1000)는 센서부(1010), 제어부(1020) 및 출력부(1030)를 포함하는데, 본 발명의 다양한 실시 예들에서 전자 장치(1000)는 도 10에 도시된 구성들이 필수적인 것은 아니어서, 도 10에 도시된 구성들보다 많은 구성들을 가지거나, 또는 그보다 적은 구성들을 가지는 것으로 구현될 수 있다.
이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로, 통상의 기술자라면 본 발명의 본질적인 특성이 벗어나지 않는 범위에서 다양한 변경 및 수정이 가능할 것이다.
따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술적 사상을 한정하기 위한 것이 아니라, 설명하기 위한 것이고, 이러한 실시예들에 의하여 본 발명의 범위가 한정되는 것은 아니다.
본 발명의 보호범위는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 이해되어야 한다.
100: 졸음운전 방지 절차
110: 근전도 신호 측정 과정
120: 특징 추출 과정
130: 뉴럴 네트워크 적용 과정
140: 졸음운전 알람 과정
600: 단일 뉴런
610: 곱셈기
620: 덧셈기
630: 시그모이드
700: 뉴럴 네트워크
712 및 714: 입력 레이어
722 및 724: 제1 히든 레이어
732 및 734: 제2 히든 레이어
742: 출력 레이어
1000: 전자 장치
1010: 센서부
1020: 제어부
1030: 출력부

Claims (12)

  1. (a) 사용자의 근전도 신호를 측정하는 단계;
    (b) 상기 측정된 근전도 신호의 시간에 따른 중앙 주파수 및 최대 진폭 중 적어도 하나를 산출하는 단계;
    (c) 상기 산출된 중앙 주파수 및 최대 진폭 중 적어도 하나를 이용하여 뉴럴 네트워크의 역전파(propagation) 알고리즘을 수행함으로써, 상기 뉴럴 네트워크의 가중치(weight)를 조절하는 단계; 및
    (d) 상기 뉴럴 네트워크의 가중치에 기반하여 상기 사용자 따른 졸음운전 알람을 출력하는 단계;
    를 포함하는,
    전자 장치의 동작 방법.
  2. 제1항에 있어서,
    상기 뉴럴 네트워크는, FPGA(field programmable gate array)에서 구현되는,
    전자 장치의 동작 방법.
  3. 제1항에 있어서,
    상기 뉴럴 네트워크의 제1 이진(binary) 출력값이 출력되는 경우, 상기 졸음운전 알람이 출력되지 않고,
    상기 뉴럴 네트워크의 제2 이진 출력값이 출력되는 경우, 상기 졸음운전 알람이 출력되는,
    전자 장치의 동작 방법.
  4. 제1항에 있어서,
    상기 (d) 단계는,
    졸음운전을 경고하기 위한 사운드 및 화면 중 적어도 하나를 출력하는 단계;
    를 포함하는,
    전자 장치의 동작 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 (c) 단계는,
    상기 중앙 주파수 및 최대 진폭 중 적어도 하나로부터 산출된 상기 뉴럴 네트워크의 피드포워드 출력값과 목표 출력값(desired output)을 비교하여 오차값을 산출하는 단계; 및
    상기 오차값에 기반하여 상기 뉴럴 네트워크의 가중치(weight)를 조절하는 단계;
    를 포함하는,
    전자 장치의 동작 방법.
  7. 사용자의 근전도 신호를 측정하는 센서부;
    상기 측정된 근전도 신호의 시간에 따른 중앙 주파수 및 최대 진폭 중 적어도 하나를 산출하고,
    상기 산출된 중앙 주파수 및 최대 진폭 중 적어도 하나를 이용하여 뉴럴 네트워크의 역전파(propagation) 알고리즘을 수행함으로써, 상기 뉴럴 네트워크의 가중치(weight)를 조절하는 제어부; 및
    상기 뉴럴 네트워크의 가중치에 기반하여 상기 사용자에 따른 졸음운전 알람을 출력하는 출력부;
    를 포함하는,
    전자 장치.
  8. 제7항에 있어서,
    상기 뉴럴 네트워크는, FPGA(field programmable gate array)에서 구현되는,
    전자 장치.
  9. 제7항에 있어서,
    상기 뉴럴 네트워크의 제1 이진(binary) 출력값이 출력되는 경우, 상기 졸음운전 알람이 출력되지 않고,
    상기 뉴럴 네트워크의 제2 이진 출력값이 출력되는 경우, 상기 졸음운전 알람이 출력되는,
    전자 장치.
  10. 제7항에 있어서,
    상기 출력부는,
    졸음운전을 경고하기 위한 사운드 및 화면 중 적어도 하나를 출력하는,
    전자 장치.
  11. 삭제
  12. 제7항에 있어서,
    상기 제어부는,
    상기 중앙 주파수 및 최대 진폭 중 적어도 하나로부터 산출된 상기 뉴럴 네트워크의 피드포워드 출력값과 목표 출력값(desired output)을 비교하여 오차값을 산출하고,
    상기 오차값에 기반하여 상기 뉴럴 네트워크의 가중치(weight)를 조절하는,
    전자 장치.
KR1020180166686A 2018-12-20 2018-12-20 뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치 KR102104465B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180166686A KR102104465B1 (ko) 2018-12-20 2018-12-20 뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180166686A KR102104465B1 (ko) 2018-12-20 2018-12-20 뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102104465B1 true KR102104465B1 (ko) 2020-04-24

Family

ID=70466063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180166686A KR102104465B1 (ko) 2018-12-20 2018-12-20 뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102104465B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112120697A (zh) * 2020-09-25 2020-12-25 福州大学 一种基于表面肌电信号的肌肉疲劳提前预测与分类方法
KR102232491B1 (ko) * 2020-09-01 2021-03-30 주식회사 햅코리아 표면 근전도 센서를 이용한 개인 맞춤형 졸음 판단 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020128751A1 (en) * 2001-01-21 2002-09-12 Johan Engstrom System and method for real-time recognition of driving patters
KR20180081295A (ko) 2017-01-06 2018-07-16 현대자동차주식회사 졸음운전 경고 시스템 및 경고 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020128751A1 (en) * 2001-01-21 2002-09-12 Johan Engstrom System and method for real-time recognition of driving patters
KR20180081295A (ko) 2017-01-06 2018-07-16 현대자동차주식회사 졸음운전 경고 시스템 및 경고 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Arkhom Songkroh. An Intelligent Hybrid Approach for Detection of Drowsy Driving Risk in Real Environments. 2017 14th ECTI-CON, 태국: ECTI Association, 2017.06.30., p.876-881. 1부.* *
홍수용 외 3인. 등장성운동 시 근전도 신호의 중앙주파수 분석을 통한 근피로지수 검출에 관한 연구. 서울: J. Biomed. Eng. Res., 2003., Vol. 24, No. 3, 175-181. 1부.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102232491B1 (ko) * 2020-09-01 2021-03-30 주식회사 햅코리아 표면 근전도 센서를 이용한 개인 맞춤형 졸음 판단 방법
CN112120697A (zh) * 2020-09-25 2020-12-25 福州大学 一种基于表面肌电信号的肌肉疲劳提前预测与分类方法

Similar Documents

Publication Publication Date Title
Peker et al. A novel method for automated diagnosis of epilepsy using complex-valued classifiers
KR101967415B1 (ko) 글로벌 모델로부터의 로컬화된 학습
Noreen Optimal decision rules for some common psychophysical paradigms
KR101738422B1 (ko) 다종 센서 기반 시각 신경 회로 장치 및 이를 이용한 객체 탐색 시스템, 방법
Rout et al. An efficient error-minimized random vector functional link network for epileptic seizure classification using VMD
Behnam et al. Real-time seizure prediction using RLS filtering and interpolated histogram feature based on hybrid optimization algorithm of Bayesian classifier and Hunting search
Gupta et al. Modified support vector machine for detecting stress level using EEG signals
Schachter et al. Dendritic spikes amplify the synaptic signal to enhance detection of motion in a simulation of the direction-selective ganglion cell
KR102104465B1 (ko) 뉴럴 네트워크를 이용한 졸음운전 방지 방법 및 장치
Hashemi et al. Real time driver’s drowsiness detection by processing the EEG signals stimulated with external flickering light
Solis-Escalante et al. Analysis of sensorimotor rhythms for the implementation of a brain switch for healthy subjects
Rivera et al. Radar-based fall detection exploiting time-frequency features
Resalat et al. A study of various feature extraction methods on a motor imagery based brain computer interface system
US11301750B2 (en) Simplification of neural models that include arborized projections
US20200242342A1 (en) Method and apparatus for gesture recognition
WO2018145308A1 (en) Filter reusing mechanism for constructing robust deep convolutional neural network
Kuenzel et al. Inhibitory properties underlying non-monotonic input-output relationship in low-frequency spherical bushy neurons of the gerbil
Carpenter Normal and abnormal signal patterns in nerve cells
Wasmuht et al. Interneuronal correlations at longer time scales predict decision signals for bistable structure-from-motion perception
KR20130137916A (ko) 복수의 뉴런 회로들을 이용하여 음원의 방향을 추정하는 뉴로모픽 신호 처리 장치 및 그 장치를 이용한 방법
Thio et al. Relative contributions of different neural sources to the EEG
Lankarany et al. Simultaneous bayesian estimation of excitatory and inhibitory synaptic conductances by exploiting multiple recorded trials
Jones et al. Do biological constraints impair dendritic computation?
Adi et al. Analysis and Detection of Cholesterol by Wavelets based and ANN Classification
Subbarao et al. Detection of Retinal Degeneration via High-Resolution Fundus Images using Deep Neural Networks

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant