KR20240019051A - 주행 환경에 관한 기능을 개선한 차량용 전자 장치및 방법 - Google Patents

주행 환경에 관한 기능을 개선한 차량용 전자 장치및 방법 Download PDF

Info

Publication number
KR20240019051A
KR20240019051A KR1020230101855A KR20230101855A KR20240019051A KR 20240019051 A KR20240019051 A KR 20240019051A KR 1020230101855 A KR1020230101855 A KR 1020230101855A KR 20230101855 A KR20230101855 A KR 20230101855A KR 20240019051 A KR20240019051 A KR 20240019051A
Authority
KR
South Korea
Prior art keywords
vehicle
speed bump
electronic device
processor
information
Prior art date
Application number
KR1020230101855A
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 US18/229,788 priority Critical patent/US20240161514A1/en
Publication of KR20240019051A publication Critical patent/KR20240019051A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • 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/02Estimation 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 ambient conditions
    • B60W40/06Road conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q9/00Arrangement or adaptation of signal devices not provided for in one of main groups B60Q1/00 - B60Q7/00, e.g. haptic signalling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • 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
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/35Road bumpiness, e.g. potholes
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • 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
    • B60W2756/00Output or target parameters relating to data
    • B60W2756/10Involving external transmission of data to or from the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Mechanical Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Transportation (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명의 일 실시예에 따른 차량용 전자장치 제어방법은 차량의 전방 영상을 획득하는 단계; 상기 획득한 전방 영상에서 과속방지턱을 검출하는 단계; 상기 과속방지턱이 검출되면, 상기 차량의 위치 정보를 획득하는 단계; 상기 획득한 차량의 위치 정보를 기반으로 상기 과속 방지턱의 위치 정보를 생성하는 단계; 상기 과속방지턱의 요철 포함 여부를 파악하고, 상기 요철 포함 여부 및 상기 과속방지턱의 위치 중 적어도 하나를 이용하여 과속방지턱 정보를 생성하는 단계; 및 상기 과속방지턱 정보를 차량 서비스 제공 서버에 송신하는 단계;를 포함할 수 있다. 본 발명에 따르면, 차량 전방의 과속방지턱이 요철을 포함하는 경우에만 알람을 제공하여 사용자의 혼란을 최소화할 수 있다.

Description

주행 환경에 관한 기능을 개선한 차량용 전자 장치 및 방법 {ELECTRONIC DEVICE AND METHOD FOR VEHICLE WHICH ENHANCES DRIVING ENVIRONMENT RELATED FUNCTION}
본 발명은 차량용 전자 장치에 관한 것으로서, 보다 상세하게는 주행 환경에 관한 기능을 개선한 차량용 전자 장치 및 방법에 관한 것이다.
차량의 주행 시 가장 중요한 것은 안전 주행 및 교통 사고의 예방이며, 이를 위해 차량의 자세 제어, 차량 구성장치들의 기능 제어 등을 수행하는 다양한 보조장치 및 안전 벨트, 에어백 등의 안전장치가 차량에 장착되어 있다.
뿐만 아니라, 최근에는 블랙박스 등과 같이 차량에 위치하여 차량의 주행 영상 및 각종 센서들로부터 전송되는 데이터를 저장함으로써, 차량의 사고 발생시 차량의 사고 원인을 규명하는 장치들도 차량에 구비되는 추세이다.
스마트폰, 태블릿과 같은 휴대용 단말기들도 블랙박스 또는 네비게이션 어플리케이션 등이 탑재 가능하여 이와 같은 차량용 장치로 활용되고 있는 실정이다.
본 발명이 해결하고자 하는 과제는 과속방지턱의 진위를 파악하여, 운전자에게 효율적인 정보 제공이 가능하게 하는 차량용 전자 장치 및 제어방법을 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 차량용 전자장치 제어방법은 차량의 전방 영상을 획득하는 영상 획득 단계; 상기 획득한 전방 영상에서 과속방지턱을 검출하는 방지턱 검출 단계; 상기 과속 방지턱이 검출되면, 상기 차량의 위치 정보를 획득하는 차량 위치 정보 획득 단계; 상기 획득한 차량의 위치 정보를 기반으로 상기 과속 방지턱의 위치 정보를 생성하는 과속방지턱 위치정보 생성 단계; 상기 과속방지턱의 요철 포함 여부를 파악하고, 상기 요철 포함 여부 및 상기 과속방지턱의 위치 중 적어도 하나를 이용하여 과속방지턱 정보를 생성하는 방지턱 정보 생성 단계; 및 상기 과속방지턱 정보를 차량 서비스 제공 서버에 송신하는 방지턱 정보 송신 단계;를 포함할 수 있다.
본 발명의 일 실시예에 따른 차량용 전자장치는 차량의 전방 영상을 촬영하는 촬영부; 상기 차량의 위치를 파악하는 센서부; 상기 영상을 처리하여 상기 과속방지턱을 검출하고, 상기 차량이 상기 과속방지턱을 지나간 이후, 상기 과속방지턱의 요철 포함 여부를 파악하고, 상기 과속방지턱의 위치 및 상기 요철 포함 여부 중 적어도 하나를 이용하여 과속방지턱 정보를 생성하는 프로세서; 및 상기 과속방지턱 정보를 차량 서비스 제공 서버에 송신하는 통신부;를 포함할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 일 실시예에 따른 차량용 전자 장치 제어방법 및 차량용 전자 장치는 다음과 같은 효과가 하나 혹은 그 이상 있다.
실시예에 따른 차량용 전자 장치 및 제어방법은 과속방지턱의 진위 여부를 파악할 수 있다.
실시예에 따른 차량용 전자 장치 및 제어방법은 차량 전방의 과속방지턱이 요철을 포함하는 경우에만 알람을 제공하여 사용자의 혼란을 최소화할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 차량 서비스 시스템을 나타내는 개념도,
도 2는 일 실시예에 따른 차량용 전자 장치를 나타내는 블록도,
도 3은 일 실시예에 따른 차량 서비스 제공 서버를 나타내는 블록도,
도 4는 일 실시예에 따른 사용자 단말 장치의 블록 구성도,
도 5는 일 실시예에 따른 차량의 자율 주행 시스템을 도시한 블록도,
도 6 및 도 7은 일 실시예에 따른 자율 주행 이동체를 나타내는 블록도,
도 8은 일 실시예에 따른 차량의 자율 주행시스템을 도시한 도면,
도 9는 일 실시예에 따른 학습 데이터의 세트에 기반하여 뉴럴 네트워크를 트레이닝하는 전자 장치의 동작을 설명하기 위한 도면,
도 10은 일 실시예에 따른 전자 장치의 블록도,
도 11은 일 실시예에 따른 차량 서비스 시스템의 개념도,
도 12는 일 실시예에 따른 차량용 전자 장치의 블록도,
도 13은 일 실시예에 따른 차량용 전자 장치 제어방법의 순서도,
도 14는 일 실시예에 따른 차량용 전자 장치 제어방법의 순서도,
도 15 내지 17은 일 실시예에 따른 차량용 전자 장치의 동작에 관한 개념도,
도 18 및 19는 일 실시예에 따른 차량용 전자 장치가 촬영한 영상의 상하 움직임에 관한 파형을 도시한 그래프,
도 20 및 21은 일 실시예에 따른 차량용 전자 장치 제어방법의 순서도이다.
이하, 본 명세서의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 실시 예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 명세서의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 명세서에서 "A 또는 B(A or B)"는 "오직 A", "오직 B" 또는 "A와 B 모두"를 의미할 수 있다. 달리 표현하면, 본 명세서에서 "A 또는 B(A or B)"는 "A 및/또는 B(A and/or B)"으로 해석될 수 있다. 예를 들어, 본 명세서에서 "A, B 또는 C(A, B or C)"는 "오직 A", "오직 B", "오직 C", 또는 "A, B 및 C의 임의의 모든 조합(any combination of A, B and C)"를 의미할 수 있다.
본 명세서에서 사용되는 슬래쉬(/)나 쉼표(comma)는 "및/또는(and/or)"을 의미할 수 있다. 예를 들어, "A/B"는 "A 및/또는 B"를 의미할 수 있다. 이에 따라 "A/B"는 "오직 A", "오직 B", 또는 "A와 B 모두"를 의미할 수 있다. 예를 들어, "A, B, C"는 "A, B 또는 C"를 의미할 수 있다.
본 명세서에서 "A 및 B 중 적어도 하나(at least one of A and B)"는, "오직 A", "오직 B" 또는 "A와 B 모두"를 의미할 수 있다. 또한, 본 명세서에서 "적어도 하나의 A 또는 B(at least one of A or B)"나 "적어도 하나의 A 및/또는 B(at least one of A and/or B)"라는 표현은 "적어도 하나의 A 및 B(at least one of A and B)"와 동일하게 해석될 수 있다.
또한, 본 명세서에서 "적어도 하나의 A, B 및 C(at least one of A, B and C)"는, "오직 A", "오직 B", "오직 C", 또는 "A, B 및 C의 임의의 모든 조합(any combination of A, B and C)"를 의미할 수 있다. 또한, "적어도 하나의 A, B 또는 C(at least one of A, B or C)"나 "적어도 하나의 A, B 및/또는 C(at least one of A, B and/or C)"는 "적어도 하나의 A, B 및 C(at least one of A, B and C)"를 의미할 수 있다.
도 1은 일 실시 예에 따른 차량 서비스 시스템을 나타내는 블록도이다.
본 명세서에서 차량(vehicle)은 이동체(moving body)의 일 예시로서, 차량에 한정되는 것은 아니다. 본 명세서에 따른 이동체(moving body)는 차량, 사람, 자전거, 선박, 열차 등과 같이 이동할 수 있는 다양한 객체를 포함할 수 있다. 이하에서는 설명의 편의를 위하여, 이동체가 차량인 경우를 예로 설명하기로 한다.
또한 본 명세서에서 차량용 전자장치는 차량용 적외선(Infra-Red) 카메라, 차량용 블랙박스(black-box), Car dash cam 또는 Car video recorder 등 다른 명칭으로 불릴 수도 있다.
또한 본 명세서에서 차량 서비스 시스템은 차량 블랙박스 서비스 시스템, 첨단 운전자 보조 시스템(advanced driver assistance systems: ADAS), 교통 관제 시스템, 자율주행 차량 서비스 시스템, 차량 원격 주행 시스템(Teleoperated Driving System), AI 차량 제어 시스템, V2X 서비스 시스템 중 적어도 하나의 차량 관련 서비스 시스템을 포함할 수 있다.
도 1을 참조하면, 차량 서비스 시스템(1000)은 차량용 전자장치(100), 차량 서비스 제공 서버(200) 및 사용자 단말 장치(300)를 포함한다. 차량용 통신 장치(200)는 유/무선 통신 네트워크에 무선으로 접속할 수 있고, 유/무선 통신 네트워크에 접속한 차량 서비스 제공 서버(200), 사용자 단말 장치(300)와 데이터를 교환할 수 있다.
차량용 전자장치(100)는 사용자 단말 장치(300)를 통해 입력된 사용자 제어에 의해 제어될 수 있다. 예컨대 사용자가 사용자 단말 장치(300)에 설치된 실행 가능한 객체를 선택할 경우, 차량용 전자장치(100)는 상기 실행 가능한 객체에 대한 사용자 입력에 의해 발생된 이벤트에 대응하는 동작들을 수행할 수 있다. 여기서 상기 실행 가능한 객체는, 사용자 단말 장치(300)에 설치되어 차량용 전자장치(100)를 원격에서 제어할 수 있는 일종의 애플리케이션이 될 수 있다. 도 2는 일 실시예에 따른 차량용 전자장치를 나타내는 블록도이다.
도 2를 참조하면, 차량용 전자장치(100)는 프로세서(110), 전력 관리 모듈(111), 배터리(112), 디스플레이부(113), 사용자 입력부(114), 센서부(115), 촬영부(116), 메모리(120), 통신부(130), 하나 이상의 안테나(131), 스피커(140) 및 마이크(141) 중 적어도 일부를 포함한다.
프로세서(110)는 차량용 전자장치(100)의 전반적인 동작을 제어하며, 본 명세서에서 설명된 제안된 기능, 절차 및/또는 방법을 구현하도록 구성될 수 있다. 프로세서(110)는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 프로세서는 AP(application processor)일 수 있다. 프로세서(110)는 DSP(digital signal processor), CPU(central processing unit), GPU(graphics processing unit), 모뎀(Modem; modulator and demodulator) 중 적어도 하나를 포함할 수 있다.
프로세서(110)는 전력 관리 모듈(111), 배터리(112), 디스플레이부(113), 사용자 입력부(114), 센서부(115), 촬영부(116), 메모리(120), 통신부(130), 하나 이상의 안테나(131), 스피커(140) 및 마이크(141)의 전부 또는 일부를 제어할 수 있다. 특히, 프로세서(110)는 통신부(130)를 통해 각종 데이터가 수신되면, 수신된 데이터를 가공해서 유저 인터페이스를 생성하고, 생성된 유저 인터페이스를 표시하도록 디스플레이부(113)를 제어할 수 있다. 프로세서(110)의 전부 또는 일부는 차량용 전자장치(100) 내의 다른 구성 요소(예를 들면, 전력 관리 모듈(111), 배터리(112), 디스플레이부(113), 사용자 입력부(114), 센서부(115), 촬영부(116), 메모리(120), 통신부(130), 하나 이상의 안테나(131), 스피커(140) 및 마이크(141))와 전기적으로(electrically) 또는 기능적으로(operably) 결합(coupled with)되거나 연결될(connected to) 수 있다.
프로세서(110)는 촬영부(116)에서 획득한 영상데이터를 처리하는 신호처리 기능과, 영상으로부터 현장 상황에 대한 정보를 얻기 위한 영상분석 기능을 수행할 수 있다. 일례로서, 신호처리 기능은 촬영부(116)로부터 촬영된 영상데이터의 용량을 줄이기 위해 압축하는 기능을 포함한다. 영상 데이터는 각 프레임들이 시간을 축으로 여러 장 모여 있는 형태를 지닌다. 즉, 주어진 시간 동안 연속으로 촬영된 사진이라 볼 수 있다. 이러한 영상의 용량은 압축을 하지 않은 경우 매우 크고, 이를 메모리에 그대로 저장하는 경우 매우 비효율적이므로, 디지털 변환된 영상에 대해 압축이 이행된다. 동영상 압축에는 프레임 간의 상관 관계, 공간적인 상관관계 및 저주파 성분에 민감한 시각의 특성을 이용한 방법 등이 사용된다. 원본 데이터는 압축으로 인해 손실되기 때문에, 차량의 교통사고 상황을 식별할 수 있을 만큼 적절한 비율로 압축될 수 있다. 동영상의 압축 방식으로는 H.264, MPEG4, H.263, H.265/HEVC 등의 다양한 비디오 코덱 중 하나가 사용될 수 있고 차량용 전자장치(100)에서 지원하는 방식으로 영상데이터가 압축된다.
영상분석 기능은 딥러닝(deep learning)에 기반할 수 있으며, 컴퓨터 비전(computer vision) 기법에 의해 구현될 수 있다. 구체적으로, 영상분석 기능은 이미지를 여러 영역 또는 조각으로 분할하여 각기 따로 검사하는 이미지 분할 기능, 이미지 속의 특정 객체를 식별하는 객체 감지 기능, 하나의 이미지에 존재하는 다수의 객체(예: 축구장, 공격수, 수비수, 축구공 등)를 인식하는 고급 객체 감지 모델(XY 좌표를 사용하여 경계상자(bounding box)를 생성하고 그 안의 모든 것을 식별), 이미지 속의 사람 얼굴을 인식할 뿐만 아니라 개인의 신원을 식별하는 안면 인식 기능, 이미지의 내용을 보다 정확히 파악하기 위해 객체 또는 풍경의 바깥쪽 경계를 식별하는 데 사용되는 경계 감지 기능, 이미지에서 반복되는 모양이나 색상, 기타 시각적 표시를 인식하는 패턴 감지 기능, 이미지의 유사성을 대조하여 분류하는 특징 매칭 기능 등을 포함할 수 있다.
이러한 영상분석 기능은 차량용 전자장치(100)의 프로세서(110)가 아닌, 차량 서비스 제공 서버(200)에서 수행될 수도 있다.
전력 관리 모듈(111)은 프로세서(110) 및/또는 통신부(130)에 대한 전력을 관리한다. 배터리(112)는 전력 관리 모듈(111)에 전력을 공급한다.
디스플레이부(113)는 프로세서(110)에 의해 처리된 결과를 출력한다.
디스플레이부(113)는 컨텐츠, 데이터, 또는 신호를 출력할 수 있다. 다양한 실시예들에서, 디스플레이부(113)는 프로세서(110)에 의해 가공된 영상 신호를 표시할 수 있다. 예를 들면, 디스플레이부(113)는 캡쳐(capture) 또는 스틸(still) 이미지를 표시할 수 있다. 다른 예를 들면, 디스플레이부(113)는 동영상 또는 카메라 프리뷰(preview) 이미지를 표시할 수 있다. 또 다른 예를 들면, 디스플레이부(113)는 차량용 전자장치(100)와 상호작용할 수 있도록 GUI(graphical user interface)를 표시할 수 있다. 디스플레이부(113)는 액정 디스플레이(liquid crystal display: LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode: OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 디스플레이부(113)는 터치 입력 등을 수신할 수 있는 센서와 함께 결합됨으로써, 일체형의 터치 스크린(touch screen)으로 구성될(configured with) 수도 있다.
사용자 입력부(114)는 프로세서(110)에 의해 사용될 입력을 수신한다. 사용자 입력부(114)는 디스플레이부(113) 상에 표시될 수 있다. 사용자 입력부(114)는 손가락 및 펜의 터치 또는 호버링(hovering) 입력을 감지(sense)할 수 있다. 사용자 입력부(114)는 회전 가능한 구조체 또는 물리적 버튼을 통해 야기되는 입력을 감지할 수 있다. 사용자 입력부(114)는 다양한 종류의 입력들을 감지하기 위한 센서들을 포함할 수 있다. 사용자 입력부(114)에 수신되는 입력은 다양한 유형들을 가질 수 있다. 예를 들면, 사용자 입력부(114)에 수신되는 입력은 터치 및 릴리즈(touch and release), 드래그 앤 드롭(drag and drop), 롱 터치(long touch), 포스 터치(force touch), 물리적 누름(depression) 등을 포함할 수 있다. 입력부(430)는 수신된 입력 및 수신된 입력과 관련된 데이터를 제어부(450)에게 제공할 수 있다. 다양한 실시예들에서, 사용자 입력부(114)는, 사용자의 음성 명령을 수신할 수 있는 마이크로폰(microphone 또는 트랜스듀서(transducer))를 포함할 수 있다. 다양한 실시예들에서, 사용자 입력부(114)는, 사용자의 모션을 수신할 수 있는 이미지 센서(image sensor) 또는 카메라(camera)를 포함할 수 있다.
센서부(115)는 하나 이상의 센서들을 포함한다. 센서부(115)는 차량에 가해지는 충격을 감지하거나 가속도의 변화량이 일정 이상일 경우를 감지하는 기능을 구비한다. 일부 실시 예에서, 센서부(115)는 높은 동적 범위 카메라들(high dynamic range cameras)과 같은 이미지 센서들일 수 있다. 일부 실시 예에서, 센서부(115)는 비-시각적 센서들(non-visual sensors)을 포함한다. 일부 실시 예에서, 센서부(115)는 이미지 센서 외에도 레이더(RADAR), LiDAR(Light Detection And Ranging), 및/또는 초음파 센서들을 포함할 수 있다. 일부 실시 예에서, 센서부(115)는 충격이나 가속도를 감지하기 위해 가속도 센서, 지자계 센서 등을 포함할 수 있다.
다양한 실시 예에서, 센서부(115)는 차량의 상이한 위치들에, 및/또는 하나 이상의 상이한 방향들을 향하게 부착될 수 있다. 예를 들어, 센서부(115)는 전면(forward-facing), 후면(rear-facing), 측면(side-facing) 등 방향들로 차량의 앞(front), 옆(sides), 뒤(rear), 및/또는 루프(roof)에 부착될 수 있다
촬영부(116)는 차량의 주차, 정차 및 주행 중 적어도 하나의 상황에서 영상을 촬영할 수 있다. 여기서, 촬영 영상은 주차장에 관한 촬영 영상인 주차장 영상을 포함할 수 있다. 주차장 영상은 차량의 주차장 진입 시점으로부터 차량의 주차장 출차 시점까지의 기간 동안 촬영된 영상을 포함할 수 있다. 즉, 주차장 영상은 차량의 주차장 진입 시점으로부터 차량의 주차 시점(ex. 주차 하기 위해 차량 시동 오프(OFF) 시점) 전까지 촬영된 영상, 차량의 주차 기간 동안 촬영된 영상, 차량의 주차 완료 시점(ex. 출차 하기 위해 차량 시동 온(on))부터 차량의 주차장 출차 시점까지의 촬영 영상을 포함할 수 있다. 그리고, 촬영 영상은 차량의 전방, 후방, 측면 및 내부 중 적어도 하나의 영상을 포함할 수 있다. 또한, 촬영부(116)는 운전자의 얼굴 또는 동공을 모니터링할 수 있는 적외선(Infra Red) 카메라를 포함할 수도 있다.
이러한 촬영부(116)는 렌즈부와 촬상 소자를 포함할 수 있다. 렌즈부(lens unit)는 광학 신호를 집광하는 기능을 수행할 수 있고, 렌즈부를 투과한 광학 신호는 촬상 소자의 촬상 영역에 이르러 광학상을 결상한다. 여기서 촬상 소자는 광학 신호를 전기 신호로 변환하는 CCD(Charge Coupled Device), CIS(Complementary Metal Oxide Semiconductor Image Sensor) 또는 고속 이미지 센서 등을 사용할 수 있다. 그리고, 촬영부(116)는 렌즈부 구동부, 조리개, 조리개 구동부, 촬상 소자 제어부 및 이미지 프로세서의 전부 또는 일부를 더 포함할 수 있다.
차량용 전자장치(100)의 동작 모드는 상시 녹화 모드, 이벤트 녹화 모드, 수동 녹화 모드, 주차 녹화 모드를 포함할 수 있다.
상시 녹화 모드는 차량의 시동을 걸고 주행을 시작하면 실행되는 모드로, 차량의 주행이 계속되는 동안 상시 녹화 모드를 유지할 수 있다. 상시 녹화 모드에서 차량용 영상 촬영 장치(100)는 소정 시간 단위(일 예로, 1 ~ 5분)로 녹화를 수행할 수 있다. 본 발명에서 상시 녹화 모드와 상시 모드는 동일한 의미로 사용될 수 있다.
주차 녹화 모드는 차량의 시동이 꺼지거나, 차량의 주행을 위한 배터리 공급이 중단되어 주차 상태에서 작동하는 모드를 의미할 수 있다. 주차 녹화 모드에서 차량용 전자장치(100)는 주차 중 상시 녹화를 수행하는 주차 상시 녹화 모드로 동작할 수 있다. 또한, 주차 녹화 모드에서 차량용 전자장치(100)는 주차 중 충격 이벤트가 감지되면 녹화를 수행하는 주차 이벤트 녹화 모드로 동작할 수 있다. 이 경우, 이벤트 발생 소정 시간 이전부터 소정시간 이후까지의 일정 구간의 녹화(일 예로, 이벤트 발생 10초 전 내지 10초 후 녹화)를 수행할 수 있다. 본 명세서에서 주차 녹화 모드와 주차 모드는 동일한 의미로 사용될 수 있다.
이벤트 녹화 모드는 차량의 주행 중에 각종 이벤트가 발생하면 작동하는 모드를 의미할 수 있다.
수동 녹화 모드는 사용자가 수동으로 녹화를 작동하는 모드를 의미할 수 있다. 수동 녹화 모드에서 차량용 전자장치(100)는 사용자의 수동 녹화 요청 발생 소정시간 이전부터 소정시간 이후까지 시간의 녹화(일 예로, 이벤트 발생 10초 전 내지 10초 후 녹화)를 수행할 수 있다.
메모리(120)는 프로세서(110)와 동작 가능하게 결합되고, 프로세서(110)를 동작시키기 위한 다양한 정보를 저장한다. 메모리(120)는 ROM(read-only memory), RAM(random access memory), 플래시 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 실시예가 소프트웨어로 구현되는 경우, 본 명세서에서 설명된 기술들은 본 명세서에서 설명된 기능을 수행하는 모듈(예컨대, 절차, 기능 등)로 구현될 수 있다. 모듈은 메모리(120)에 저장될 수 있고 프로세서(110)에 의해 실행될 수 있다. 메모리(120)는 프로세서(110) 내부에 구현될 수 있다. 또는, 메모리(120)는 프로세서(110) 외부에 구현될 수 있으며, 기술 분야에서 공지된 다양한 수단을 통해 프로세서(110)에 통신 가능하게 연결될 수 있다.
메모리(120)는 차량용 전자장치(100)의 내부에 구성되거나 차량용 전자장치 (100)에 구비된 포트를 통해 착탈식으로 구성되거나 차량용 전자장치(100)의 외부에 존재할 수 있다. 메모리(120)가 차량용 전자장치(100)의 내부에 구성된 경우, 하드 디스크 드라이브나 플래쉬 메모리 형태로 존재할 수 있다. 메모리(120)가 차량용 전자장치(100)에 착탈식으로 구성된 경우, SD카드, Micro SD카드, USB메모리 등의 형태로 존재할 수 있다. 메모리(120)가 차량용 전자장치(100)의 외부에 구성된 경우 통신부(130)를 통해 다른 기기 또는 데이터베이스 서버에 있는 저장공간에 존재할 수 있다.
통신부(130)는 프로세서(110)와 동작 가능하게 결합되고, 무선 신호를 송신 및/또는 수신한다. 통신부(130)는 전송기와 수신기를 포함한다. 통신부(130)는 무선 주파수 신호를 처리하기 위한 기저 대역 회로를 포함할 수 있다. 송수신부는 무선 신호를 송신 및/또는 수신하도록 하나 이상의 안테나(131)을 제어한다. 통신부(130)는 차량용 전자장치(100)가 타 디바이스와 통신 가능하게 할 수 있고, 여기서, 통신부(130)는 셀룰러 방식의 이동 통신 모듈, Wireless LAN(Local Area Network) 방식 등과 같은 근거리 무선 통신 모듈, 저전력 광역 통신(Low-Power Wide-Area : LPWA) 기술을 이용한 통신 모듈 등 기 공지된 다양한 통신 모듈들의 적어도 하나의 결합으로 제공될 수 있다. 또한, 통신부(130)는 GPS(Global Positioning System) Tracker와 같이 위치 추적 기능도 수행할 수 있다.
스피커(140)는 프로세서(110)에 의해 처리된 소리 관련 결과를 출력한다. 예를 들어 스피커(140)는 주차 이벤트가 발생하였음을 나타내는 오디오 데이터를 출력할 수 있다. 마이크(141)는 프로세서(110)에 의해 사용될 소리 관련 입력을 수신한다. 수신된 소리는 외부 충격에 의한 소리나 차량 내/외부의 상황과 관련된 사람의 음성으로 촬영부(116)에서 촬영된 영상과 함께 당시의 상황을 인식하는 데 도움을 줄 수 있다. 마이크(141)를 통해 수신된 소리는 메모리(120)에 저장될 수 있다.
도 3은 일 실시예에 따른 차량 서비스 제공 서버를 나타내는 블록도이다.
도 3을 참조하면, 차량 서비스 제공 서버(200)는 통신부(202), 프로세서(204) 및 저장부(206)를 포함한다. 차량 서비스 제공 서버(200)의 통신부(202)는 차량용 전자장치(100) 및/또는 사용자 단말 장치(300)와 유/무선 통신 네트워크를 통해 접속되어 데이터를 송수신한다.
도 4는 일 실시예에 따른 사용자 단말 장치의 블록 구성도이다.
도 4를 참조하면, 사용자 단말 장치(300)는 통신부(302), 프로세서(304), 표시부(306) 및 저장부(308)를 포함한다. 통신부(302)는 차량용 전자장치(100) 및/또는 차량 서비스 제공 서버(200)와 유/무선 통신 네트워크를 통해 접속되어 데이터를 송수신한다. 프로세서(304)는 사용자 단말 장치(300)의 전반적인 기능을 제어하며, 본 명세서의 실시예에 따라 사용자로부터 입력된 명령을 통신부(302)를 통해 차량 서비스 시스템(1000)으로 송신한다. 프로세서(304)는 차량 서비스 제공 서버(200)로부터 차량 서비스에 관련된 제어 메시지가 수신되면, 표시부(306)를 통해 사용자에게 표시하도록 제어한다.
도 5는 차량의 자율 주행 시스템(500)을 도시한 블록도이다.
도 5에 따른 차량의 자율 주행 시스템(500)은 센서들(503), 이미지 전처리기(505), 딥 러닝 네트워크(507), 인공 지능(AI) 프로세서(509), 차량 제어 모듈(511), 네트워크 인터페이스(513), 및 통신부(515)를 포함하는 딥러닝 네트워크일 수 있다. 다양한 실시 예에서, 각 요소들은 다양한 인터페이스를 통해 연결될 수 있다. 예를 들어, 센서들(503)에 의해 센싱되어 출력되는 센서 데이터는 이미지 전처리기(505)로 피드(feed)될 수 있다. 이미지 전처리기(505)에 의해 처리된 센서 데이터는 AI 프로세서(509)에서 실행(run)하는 딥 러닝 네트워크(507)에 피드될 수 있다. AI 프로세서(509)에 의해 실행(run)하는 딥 러닝 네트워크(507)의 출력은 차량 제어 모듈(511)에 피드될 수 있다. AI 프로세서(507)에서 실행(run)되는 딥 러닝 네트워크(507)의 중간 결과들은 AI 프로세서(509)로 피드될 수 있다. 다양한 실시 예에서, 네트워크 인터페이스(513)는 차량 내 전자 장치와 통신을 수행함으로써, 차량의 자율 주행을 위한 자율 주행 경로 정보 및/또는 자율 주행 제어 명령들을 내부 블록 구성들로 전달한다. 일 실시예에서, 네트워크 인터페이스(531)는 센서(들)(503)를 통해 획득된 센서 데이터를 외부 서버로 전송하기 위해 이용될 수 있다. 일부 실시 예에서, 자율 주행 제어 시스템(500)은 적절하게(as appropriate) 추가적인 또는 보다 더 적은 구성 요소들을 포함할 수 있다. 예를 들어, 일부 실시 예에서, 이미지 전처리기(505)는 선택적인(optional) 구성요소일 수 있다. 다른 예를 들면, 후처리 구성 요소(미도시)는 출력이 차량 제어 모듈(511)로 제공되기 전에 딥 러닝 네트워크(507)의 출력에서 후처리를 수행하기 위해 자율 주행 제어 시스템(500) 내에 포함될 수 있다.
일부 실시 예에서, 센서들(503)은 하나 이상의 센서들을 포함할 수 있다. 다양한 실시 예에서, 센서들(503)은 차량의 상이한 위치들에 부착될 수 있다. 센서들(503)은 하나 이상의 상이한 방향들을 향할 수 있다. 예를 들어, 센서들(503)은 전면(forward-facing), 후면(rear-facing), 측면(side-facing) 등 방향들을 향하도록 차량의 앞(front), 옆(sides), 뒤(rear), 및/또는 루프(roof)에 부착될 수 있다. 일부 실시 예에서, 센서들(503)은 높은 동적 범위 카메라들(high dynamic range cameras)과 같은 이미지 센서들일 수 있다. 일부 실시 예에서, 센서들(503)은 비-시각적 센서들(non-visual sensors)을 포함한다. 일부 실시 예에서, 센서들(503)은 이미지 센서 외에도 레이더(RADAR), LiDAR(Light Detection And Ranging), 및/또는 초음파 센서들을 포함한다. 일부 실시 예에서, 센서들(503)은 차량 제어 모듈(511)을 갖는 차량에 장착(mounted)되지 않는다. 예를 들어, 센서들(503)은 센서 데이터를 캡쳐하기 위한 딥 러닝 시스템의 부분으로서 포함되고 환경 또는 도로에 부착 및/또는 주변의 차량들에 장착될 수 있다.
일부 실시 예에서, 이미지 전처리기(Image pre-processor)(505)는 센서들(503)의 센서 데이터를 전처리하기 위해 사용될 수 있다. 예를 들어, 이미지 전처리기(505)는 센서 데이터를 전처리하기 위해, 하나 이상의 구성 요소들로 센서 데이터를 스플릿(split)하기 위해, 및/또는 하나 이상의 구성 요소들을 후처리 하기 위해 사용될 수 있다. 일부 실시 예에서, 이미지 전처리기(505)는 그래픽 처리 장치(graphics processing unit; GPU), 중앙 처리 장치(central processing unit; CPU), 이미지 신호 프로세서, 또는 전문화된 이미지 프로세서(specialized image processor)일 수 있다. 다양한 실시 예에서, 이미지 전처리기(505)는 높은 동적 범위 데이터(high dynamic range data)를 처리하기 위한 톤-맵퍼(tone-mapper) 프로세서일 수 있다. 일부 실시 예에서, 이미지 전처리기(505)는 AI 프로세서(509)의 구성 요소일 수 있다.
일부 실시 예에서, 딥 러닝 네트워크(Deep learning network)(507)는 자율 차량을 제어하기 위한 제어 명령들을 구현하기 위한 딥 러닝 네트워크일 수 있다. 예를 들어, 딥 러닝 네트워크(507)는 센서 데이터를 사용하여 트레이닝된 컨볼루션 뉴럴 네트워크(CNN)와 같은 인공 뉴럴 네트워크일 수 있고, 딥 러닝 네트워크(507)의 출력은 차량 제어 모듈(511)로 제공된다.
일부 실시 예에서, 인공 지능(AI) 프로세서(509)는 딥 러닝 네트워크(507)를 실행(run)하기 위한 하드웨어 프로세서일 수 있다. 일부 실시 예에서, AI 프로세서(509)는 센서 데이터에 대하여 컨볼루션 뉴럴 네트워크(CNN)를 통한 추론(Inference)을 수행하기 위한 전문화된 AI 프로세서이다. 일부 실시 예에서, AI 프로세서(509)는 센서 데이터의 비트 깊이(bit depth)를 위해 최적화될 수 있다. 일부 실시 예에서, AI 프로세서(509)는 컨볼루션, 내적, 벡터 및/또는 행렬 연산들을 포함하는 뉴럴 네트워크의 연산들과 같은 딥 러닝 연산들을 위해 최적화될 수 있다. 일부 실시 예에서, AI 프로세서(509)는 병렬 처리를 효과적으로 수행할 수 있는 복수의 그래픽 처리 장치(GPU)들을 통해 구현될 수 있다.
다양한 실시 예에서, AI 프로세서(509)는 AI 프로세서(509)가 실행되는 동안 센서(들)(503)로부터 수신된 센서 데이터에 딥러닝 분석을 수행하고, 차량을 적어도 부분적으로 자율적으로 작동하는 데 사용된 머신 러닝 결과를 결정하도록 유발하는 명령어들을 갖는 AI 프로세서를 제공하도록 구성된 메모리에 입출력 인터페이스를 통해 커플링될 수 있다. 일부 실시 예에서, 차량 제어 모듈(Vehicle Control Module)(511)은 인공 지능(AI) 프로세서(5509)로부터 출력된 차량 제어를 위한 명령들을 처리하고, 차량의 각종 모듈을 제어하기 위해 AI 프로세서(509)의 출력을 각 차량의 모듈을 제어하기 위한 명령어들로 트랜슬레이트(translate)하기 위해 이용될 수 있다. 일부 실시 예에서, 차량 제어 모듈(511)은 자율 주행을 위한 차량을 제어하기 위해 이용된다. 일부 실시 예에서, 차량 제어 모듈(511)은 차량의 스티어링 및/또는 속력을 조정할 수 있다. 예를 들어, 차량 제어 모듈(511)은 감속, 가속, 스티어링, 차선 변경, 차선 유지 등의 차량의 주행을 제어하기 위해 사용될 수 있다. 일부 실시 예에서, 차량 제어 모듈(511)은 브레이크 등들(brake lights), 방향 지시등들(turns signals), 헤드라이트(headlights) 등과 같은 차량 조명(vehicle lighting)을 제어하기 위한 제어 신호들을 생성할 수 있다. 일부 실시 예에서, 차량 제어 모듈(511)은 차량의 사운드 시스템(vehicle's sound system), 차량의 오디오 경고들(vehicle's audio warnings), 차량의 마이크 시스템(vehicle's microphone system), 차량의 경적 시스템(vehicle's horn system) 등과 같은 차량 오디오 관련 시스템들을 제어하기 위해 사용될 수 있다.
일부 실시 예에서, 차량 제어 모듈(511)은 의도된 목적지의 접근 또는 잠재적인 충돌(potential collision)과 같은 주행 이벤트들의 승객들 및/또는 운전자를 알리기 위한 경고 시스템들을 포함하는 통지 시스템들(notification systems)을 제어하기 위해 사용될 수 있다. 일부 실시 예에서, 차량 제어 모듈(511)은 차량의 센서들(503)과 같은 센서들을 조정하기 위해 사용될 수 있다. 예를 들어, 차량 제어 모듈(511)은 센서들(503)의 지향 방향을 수정(modifying the orientation), 센서들(503)의 출력 해상도 및/또는 포맷 유형을 변화, 캡쳐 비율(capture rate)을 증가 또는 감소, 동적 범위(dynamic range)를 조정, 카메라의 초점을 조정할 수 있다. 또한, 차량 제어 모듈(511)은 센서들의 동작을 개별적으로 또는 집단적으로 온/오프 시킬 수 있다.
일부 실시 예에서, 차량 제어 모듈(511)은 필터들의 주파수 범위를 수정하거나, 특징들(features) 및/또는 객체 검출을 위한 엣지 검출 파라미터들(edge detection parameter)을 조정하거나, 비트 깊이 및 채널들을 조정(adjusting channels and bit depth)하는 등과 같은 방식으로 이미지 전처리기(505)의 파라미터들을 변화하기 위해 사용될 수 있다. 다양한 실시 예에서, 차량 제어 모듈(511)은 차량의 자율 주행 및/또는 차량의 운전자-보조(Driver assistance) 기능을 제어하기 사용될 수 있다.
일부 실시 예에서, 네트워크 인터페이스(513)는 자율 주행 제어 시스템(500)의 블록 구성들과 통신부(515)간의 내부 인터페이스를 담당할 수 있다. 구체적으로, 네트워크 인터페이스(513)는 음성 데이터를 포함하는 데이터를 수신 및/또는 발신하기 위한 의사 소통 인터페이스일 수 있다. 다양한 실시 예에서, 네트워크 인터페이스(513)는 통신부(515)를 통해 음성 통화들을 연결하거나 문자 메시지들을 수신 및/또는 발신하거나, 센서 데이터를 전송하거나, 자율 주행 시스템으로 차량의 소프트웨어를 업데이트하거나, 차량의 자율 주행 시스템의 소프트웨어를 업데이트하기 위하여 외부의 서버들과 연결될 수 있다.
다양한 실시 예에서, 통신부(515)는 셀룰러 또는 WiFi 방식의 다양한 무선 인터페이스를 포함할 수 있다. 예를 들어, 네트워크 인터페이스(513)는 통신부(515)를 통해 접속된 외부 서버로부터 센서들(503), 이미지 전처리기(505), 딥 러닝 네트워크(507), AI 프로세서(509), 차량 제어 모듈(511)을 위한 작동 파라미터들 및/또는 명령어들에 대한 업데이트를 수신하기 위해 사용될 수 있다. 예를 들어, 딥 러닝 네트워크(507)의 머신 러닝 모델은 통신부(515)를 사용하여 업데이트될 수 있다. 또 다른 예시에 따르면, 통신부(515)는 이미지 프로세싱 파라미터들과 같은 이미지 전처리기(505)의 작동 파라미터들 및/또는 센서들(503)의 펌웨어를 업데이트하기 위해 이용될 수 있다.
다른 실시 예에서, 통신부(515)는 사고 또는 사고가 발생할 뻔한(near-accident) 이벤트에서 긴급 서비스들(emergency services)과 긴급 연락(emergency contact)을 위한 통신을 활성화시키기 위해 사용될 수 있다. 예를 들어, 충돌 이벤트에서, 통신부(515)는 도움을 위한 긴급 서비스들을 호출하기 위해 사용될 수 있고, 충돌 세부사항들 및 차량의 위치의 긴급 서비스들을 외부로 알리기 위해 사용될 수 있다. 다양한 실시 예에서, 통신부(515)는 예상된 도착 시간 및/또는 목적지 위치를 업데이트 하거나 획득할 수 있다.
일 실시 예에 따르면, 도 5에 도시된 자율 주행 시스템(500)은 차량의 전자 장치로 구성될 수도 있다. 일 실시 예에 따르면, 자율 주행 시스템(500)의 AI 프로세서(509)는 차량의 자율 주행 시에 사용자로부터 자율 주행 해제 이벤트가 발생하면, 자율 주행 해제 이벤트 관련 정보를 딥 러닝 네트워크의 트레이닝 셋 데이터로 입력하도록 제어함으로써 차량의 자율 주행 소프트웨어를 학습 시키도록 제어할 수 있다.
도 6 및 도 7은, 일 실시 예에 따른, 자율 주행 이동체를 나타내는 블록도의 일 예를 도시한다. 도 6을 참조하면, 본 실시예에 따른 자율 주행 이동체(600)는 제어 장치(700), 센싱 모듈(604a, 604b, 604c, 604d), 엔진(606), 및 사용자 인터페이스(608)를 포함할 수 있다.
자율 주행 이동체(600)는 자율 주행 모드 또는 매뉴얼 모드를 구비할 수 있다. 일 예로, 사용자 인터페이스(608)를 통해 수신된 사용자 입력에 따라 매뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 매뉴얼 모드로 전환될 수 있다.
이동체(600)가 자율 주행 모드로 운행되는 경우 자율 주행 이동체(600)는 제어 장치(700)의 제어 하에 운행될 수 있다.
본 실시예에서 제어 장치(700)는 메모리(722)와 프로세서(724)를 포함하는 컨트롤러(720), 센서(710), 통신 장치(730), 오브젝트 검출 장치(740)를 포함할 수 있다.
여기서, 오브젝트 검출 장치(740)는 거리 측정 장치(예, 전자 장치(71))의 전부 또는 일부의 기능을 수행할 수 있다.
즉, 본 실시 예에서, 오브젝트 검출 장치(740)는 이동체(600) 외부에 위치하는 오브젝트를 검출하기 위한 장치로, 오브젝트 검출 장치(740)는 이동체 (600)의 외부에 위치하는 오브젝트를 검출하고, 검출 결과에 따른 오브젝트 정보를 생성할 수 있다.
오브젝트 정보는 오브젝트의 존재 유무에 대한 정보, 오브젝트의 위치 정보, 이동체와 오브젝트와의 거리 정보 및 이동체와 오브젝트와의 상대 속도 정보를 포함할 수 있다.
오브젝트는, 차선, 타 차량, 보행자, 교통 신호, 빛, 도로, 구조물, 과속 방지턱, 지형물, 동물 등을 이동체(600)의 외부에 위치한 다양한 객체를 포함할 수 있다. 여기서, 교통 신호는 교통 신호등, 교통 표지판, 도로 면에 그려진 문양 또는 텍스트를 포함하는 개념일 수 있다. 그리고, 빛은 타 차량에 구비된 램프에서 생성된 빛이거나 가로등에서 생성된 빛이거나 태양광일 수 있다.
그리고, 구조물은 도로 주변에 위치하고, 지면에 고정된 물체일 수 있다. 예를 들면, 구조물은, 가로등, 가로수, 건물, 전봇대, 신호등, 다리를 포함할 수 있다. 지형물은, 산, 언덕, 등을 포함할 수 있다.
이러한 오브젝트 검출 장치(740)는 카메라 모듈을 포함할 수 있다. 컨트롤러(720)는 카메라 모듈에서 촬영되는 외부 이미지로부터 객체 정보를 추출하고 이에 대한 정보를 컨트롤러(720)가 처리하도록 할 수 있다.
또한, 오브젝트 검출 장치(740)는 외부 환경을 인식하기 위한 이미징 장치들이 더욱 포함할 수 있다. LIDAR 외에 RADAR, GPS 장치, 주행 거리 측정 장치(Odometry) 및 기타 컴퓨터 비전 장치, 초음파 센서, 적외선 센서 들이 이용될 수 있으며, 이들의 장치는 필요에 따라 선택 또는 동시에 동작하여 보다 정밀한 감지가 가능하도록 한다.
한편, 본 발명의 일 실시 예에 따른 거리 측정 장치는 자율 주행 이동체(600)와 오브젝트 사이의 거리를 산출하고, 자율 주행 이동체(600)의 제어 장치(700)와 연계하여 산출된 거리를 기초로 이동체의 동작을 제어할 수 있다.
일 예로, 자율 주행 이동체(600)와 오브젝트 간의 거리에 따라 추돌 가능성이 있는 경우, 자율 주행 이동체(600)는 속도를 낮추거나 또는 정지하도록 브레이크를 제어할 수 있다. 다른 예로, 오브젝트가 이동하는 오브젝트인 경우, 자율 주행 이동체(600)는 오브젝트와 소정 거리 이상을 유지하도록 자율 주행 이동체(600)의 주행 속도를 제어할 수 있다.
이러한 본 발명의 일 실시 예에 따른 거리 측정 장치는 자율 주행 이동체 (600)의 제어 장치(700) 내의 일 모듈로 구성될 수 있다. 즉, 제어 장치(700)의 메모리(722)와 프로세서(724)가 본 발명에 따른 추돌 방지 방법을 소프트웨어적으로 구현하도록 할 수 있다.
또한, 센서(710)는 이동체 내부/외부 환경을 센싱 모듈(604a, 604b, 604c, 604d)와 연결되어 각종 센싱 정보를 획득할 수 있다. 여기서, 센서(710)는 자세 센서(예를 들면, 요 센서(yaw sensor), 롤 센서(roll sensor), 피치 센서(pitch sensor), 충돌 센서, 휠 센서(wheel sensor), 속도 센서, 경사 센서, 중량 감지 센서, 헤딩 센서(heading sensor), 자이로 센서(gyro sensor), 포지션 모듈(position module), 이동체 전진/후진 센서, 배터리 센서, 연료 센서, 타이어 센서, 핸들 회전에 의한 스티어링 센서, 이동체 내부 온도 센서, 이동체 내부 습도 센서, 초음파 센서, 조도 센서, 가속 페달 포지션 센서, 브레이크 페달 포지션 센서, 등을 포함할 수 있다.
이에 따라, 센서(710)는 이동체 자세 정보, 이동체 충돌 정보, 이동체 방향 정보, 이동체 위치 정보(GPS 정보), 이동체 각도 정보, 이동체 속도 정보, 이동체 가속도 정보, 이동체 기울기 정보, 이동체 전진/후진 정보, 배터리 정보, 연료 정보, 타이어 정보, 이동체 램프 정보, 이동체 내부 온도 정보, 이동체 내부 습도 정보, 스티어링 휠 회전 각도, 이동체 외부 조도, 가속 페달에 가해지는 압력, 브레이크 페달에 가해지는 압력 등에 대한 센싱 신호를 획득할 수 있다.
또한, 센서(710)는, 그 외, 가속페달센서, 압력센서, 엔진 회전 속도 센서(engine speed sensor), 공기 유량 센서(AFS), 흡기 온도 센서(ATS), 수온 센서(WTS), 스로틀 위치 센서(TPS), TDC 센서, 크랭크각 센서(CAS), 등을 더 포함할 수 있다.
이와 같이, 센서(710)는 센싱 데이터를 기초로 이동체 상태 정보를 생성할 수 있다.
무선 통신 장치(730)는 자율 주행 이동체(600) 간의 무선 통신을 구현하기 위해 구성된다. 예를 들어, 사용자의 모바일 폰, 또는 다른 무선 통신 장치(730), 다른 이동체, 중앙 장치(교통 제어 장치), 서버 등과 자율 주행 이동체(600)이 통신할 수 있도록 한다. 무선 통신 장치(730)는 무선 신호를 접속 무선 프로토콜에 따라 송수신할 수 있다. 무선 통신 프로토콜은 Wi-Fi, Bluetooth, Long-Term Evolution (LTE), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Global Systems for Mobile Communications (GSM)일 수 있으며, 통신 프로토콜은 이에 제한되지 않는다.
또한 본 실시 예에서 자율 주행 이동체(600)은 무선 통신 장치(730)를 통해 이동체 간 통신을 구현하는 것도 가능하다. 즉, 무선 통신 장치(730)는 차량 대 차량 간(V2V) 통신(vehicle-to-vehicle communication)으로 도로 상의 다른 이동체 및 다른 이동체들과 통신을 수행할 수 있다. 자율 주행 이동체(600)는 주행 경고, 교통 정보와 같은 정보를 차량 간 통신으로 통해 송수신할 수 있으며, 다른 이동체 에게 정보를 요청하거나 요청을 수신하는 것도 가능하다. 예를 들어, 무선 통신 장치(730)는 V2V 통신을 단 거리 통신(DSRC, dedicated short-range communication) 장치 또는 C-V2V(Cellular-V2V) 장치로 수행할 수 있다. 또한 차량 간의 통신 외에 차량과 다른 사물(예컨대 보행자가 휴대하는 전자 기기 등) 간의 통신(V2X, Vehicle to Everything communication)도 무선 통신 장치(730)를 통해 구현할 수 있다.
본 실시 예에서 컨트롤러(720)는 이동체(600) 내의 각 유닛의 전반적인 동작을 제어하는 유닛으로, 이동체의 제조사에 의해 제조 시에 구성되거나 또는 제조 후에 자율 주행의 기능 수행을 위해 추가 구성될 수 있다. 또는, 제조 시에 구성된 컨트롤러(720)의 업그레이드를 통해 지속적인 부가 기능 수행을 위한 구성이 포함될 수 있다. 이러한 컨트롤러(720)는 ECU(Electronic Control Unit)로 명명될 수도 있다.
컨트롤러(720)는 연결된 센서(710), 오브젝트 검출 장치(740), 통신 장치(730) 등으로부터 각종 데이터를 수집하고, 수집된 데이터를 기반으로 제어 신호를 이동체 내 다른 구성들로 포함된 센서(710), 엔진(606), 사용자 인터페이스(608), 통신 장치(730), 오브젝트 검출 장치(740)에 전달할 수 있다. 또한, 도시 되지는 않았으나 이동체의 주행과 관련된 가속 장치, 브레이킹 시스템, 조향 장치, 또는 네비게이션 장치에도 제어 신호를 전달할 수 있다.
본 실시예에서, 컨트롤러(720)는 엔진(606)을 제어할 수 있으며 예를 들어 자율 주행 이동체(600)가 주행 중인 도로의 제한 속도를 감지하고 주행 속도가 제한 속도를 초과하지 않도록 엔진(606)을 제어하거나, 제한 속도를 초과하지 않는 범위 내에서 자율 주행 이동체(600)의 주행 속도를 가속하도록 엔진(606)을 제어할 수 있다.
또한, 컨트롤러(720)는 자율 주행 이동체(600)의 주행 중 자율 주행 이동체 (600)가 차선에 근접하거나 차선을 이탈하고 있다면, 이러한 차선 근접 및 이탈이 정상 주행 상황에 따른 것인지 또는 그 외의 주행 상황에 따른 것인지 판단하며, 판단 결과에 따라 이동체의 주행을 제어하도록 엔진(606)을 제어할 수 있다. 구체적으로, 자율 주행 이동체(600)는 이동체가 주행 중인 차로의 양 측에 형성된 차선을 검출할 수 있다. 이 경우, 컨트롤러(720)는 자율 주행 이동체(600)가 차선에 근접하거나 차선을 이탈하고 있는지 여부를 판단하고, 만약, 자율 주행 이동체(600)가 차선에 근접하거나 차선을 이탈하고 있다고 판단되면 이러한 주행이 정확한 주행 상황에 따른 것인지 또는 그 외의 주행 상황에 따른 것인지 판단할 수 있다. 여기서, 정상 주행 상황의 예로, 이동체의 차로 변경이 필요한 상황일 수 있다. 그리고, 그 외의 주행 상황의 예로, 이동체의 차로 변경이 필요하지 않은 상황일 수 있다. 만약, 컨트롤러(720)는 이동체의 차로 변경이 필요하지 않은 상황에서 자율 주행 이동체(600)가 차선에 근접하거나 차선을 이탈하고 있다고 판단되면, 자율 주행 이동체(600)가 차선을 이탈하지 않고 해당 이동체에서 정상적으로 주행하도록 자율 주행 이동체(600)의 주행을 제어할 수 있다.
이동체의 전방에 다른 이동체 또는 방해물이 존재하는 경우에는 주행 이동체를 감속하도록 엔진(606) 또는 브레이킹 시스템을 제어할 수 있으며, 속도 외에도 궤적, 운행 경로, 조향 각을 제어할 수 있다. 또는 컨트롤러(720)는 이동체의 주행 차선, 주행 신호 등 기타 외부 환경의 인식 정보에 따라 필요한 제어 신호를 생성하여 이동체의 주행을 제어할 수 있다.
컨트롤러(720)는 자체적인 제어 신호의 생성 외에 주변 이동체 또는 중앙 서버와의 통신을 수행하고 수신된 정보를 통해 주변 장치들을 제어하기 위한 명령을 전송함으로써, 이동체의 주행을 제어하는 것도 가능하다.
또한, 컨트롤러(720)는 카메라 모듈(750)의 위치가 변경되거나 화각이 변경될 경우, 본 실시예에 따른 정확한 이동체 또는 차선 인식이 어려울 수 있으므로, 이를 방지하기 위해 카메라 모듈(750)의 캘리브레이션(calibration)을 수행하도록 제어하는 제어 신호를 생성할 수도 있다. 따라서, 본 실시예에서는 컨트롤러(720)는 카메라 모듈(750)로 캘리브레이션 제어 신호를 발생시킴으로써, 자율 주행 이동체(600)의 움직임에 따라 발생되는 진동 또는 충격 등에 의해 카메라 모듈(750)의 장착 위치가 변경되더라도, 카메라 모듈(750)의 정상적인 장착 위치, 방향, 화각 등을 지속적으로 유지할 수 있다. 컨트롤러(720)는 미리 저장된 카메라 모듈(720)의 최초 장착 위치, 방향, 화각 정보와 자율 주행 이동체(600)의 주행 중에 측정되는 카메라 모듈(720)의 최초 장착 위치, 방향, 화각 정보 등이 임계 값 이상으로 달라질 경우, 카메라 모듈(720)의 캘리브레이션을 수행하도록 제어 신호를 발생할 수 있다.
본 실시 예에서 컨트롤러(720)는 메모리(722)와 프로세서(724)를 포함할 수 있다. 프로세서(724)는 메모리(722)에 저장된 소프트웨어를 컨트롤러(720)의 제어 신호에 따라 실행시킬 수 있다. 구체적으로 컨트롤러(720)는 본 발명에 따른 차선 검출 방법을 수행하기 위한 데이터 및 명령들은 메모리(722)에 저장하고, 명령들은 여기에 개시된 하나 이상의 방법들을 구현하기 위해 프로세서(724)에 의해 실행될 수 있다.
이때, 메모리(722)는 비 휘발성의 프로세서(724)에서 실행 가능한 기록 매체에 저장될 수 있다. 메모리(722)는 적절한 내 외부 장치를 통해 소프트웨어와 데이터를 저장할 수 있다. 메모리(722)는 RAM(random access memory), ROM(read only memory), 하드디스크, 동글과 연결된 메모리(722) 장치로 구성될 수 있다.
메모리(722)는 운영체제(OS, Operating system), 사용자 어플리케이션, 실행 가능한 명령들을 적어도 저장할 수 있다. 메모리(722)는 어플리케이션 데이터, 배열 데이터 구조들도 저장할 수 있다.
프로세서(724)는 마이크로 프로세서 또는 적절한 전자적 프로세서로 컨트롤러, 마이크로 컨트롤러 또는 스테이트 머신 일 수 있다.
프로세서(724)는 컴퓨팅 장치들의 조합으로 구현될 수 있으며, 컴퓨팅 장치는 디지털 신호 프로세서, 마이크로프로세서 이거나 이들의 적절한 조합으로 구성될 수 있다.
한편, 자율 주행 이동체(600)는 상술한 제어 장치(700)에 대한 사용자의 입력을 위한 사용자 인터페이스(608)를 더 포함할 수 있다. 사용자 인터페이스(608)는 적절한 상호작용으로 사용자가 정보를 입력하도록 할 수 있다. 예를 들어 터치스크린, 키패드, 조작 버튼 등으로 구현될 수 있다. 사용자 인터페이스(608)는 입력 또는 명령을 컨트롤러(720)에 전송하고, 컨트롤러(720)는 입력 또는 명령에 대한 응답으로 이동체의 제어 동작을 수행할 수 있다.
또한, 사용자 인터페이스(608)는 자율 주행 이동체(600) 외부의 장치로 무선 통신 장치(730)를 통해 자율 주행 이동체(600)와 통신을 수행하도록 할 수 있다. 예를 들어 사용자 인터페이스(608)는 모바일 폰, 태블릿, 또는 기타 컴퓨터 장치와 연동 가능하도록 할 수 있다.
나아가, 본 실시예에서 자율 주행 이동체(600)는 엔진(606)을 포함하는 것으로 설명하였으나, 다른 타입의 추진 시스템을 포함하는 것도 가능하다. 예를 들어 이동체는 전기 에너지로 운행될 수 있으며, 수소 에너지 또는 이들을 조합한 하이브리드 시스템을 통해 운행될 수 있다. 따라서 컨트롤러(720)는 자율 주행 이동체(600)의 추진 시스템에 따른 추진 메커니즘을 포함하고, 이에 따른 제어 신호를 각 추진 메커니즘의 구성들에 제공할 수 있다.
이하, 도 7을 참조하여 본 실시예에 따른 본 발명에 따른 제어 장치(700)의 세부 구성에 대하여 보다 상세히 설명한다.
제어 장치(700)는 프로세서(724)를 포함한다. 프로세서(724)는 범용 단일 또는 다중 칩 마이크로프로세서, 전용 마이크로프로세서, 마이크로 제어기, 프로그램가능 게이트 어레이 등일 수도 있다. 프로세서는 중앙 처리 장치(CPU)로 지칭될 수도 있다. 또한 본 실시예에서 프로세서(724)는 복수의 프로세서들의 조합으로 사용되는 것도 가능하다.
제어 장치(700)는 또한 메모리(722)를 포함한다. 메모리(722)는 전자 정보를 저장할 수 있는 임의의 전자 컴포넌트일 수도 있다. 메모리(722) 역시 단일 메모리 외에 메모리(722)들의 조합을 포함할 수 있다.
본 발명에 따른 거리 측정 장치의 거리 측정 방법을 수행하기 위한 데이터 및 명령어(722a)들은 메모리(722)에 저장될 수도 있다. 프로세서(724)가 명령어(722a)들을 실행할 때, 명령어(722a)들과 명령의 수행에 필요한 데이터(722b)의 전부 또는 일부가 프로세서(724)상으로 로딩(724a, 1024b)될 수도 있다.
제어 장치(700)는 신호들의 송신 및 수신을 허용하기 위한 송신기(730a), 수신기(730b) 또는 트랜시버(730c)를 포함할 수도 있다. 하나 이상의 안테나(732a, 732b)들은 송신기(730a), 수신기(730b) 또는 각 트랜시버(730c)에 전기적으로 연결될 수도 있으며 추가적으로 안테나들을 포함할 수도 있다.
제어 장치(700)는 디지털 신호 프로세서(DSP)(770)를 포함할 수도 있다. DSP(770)를 통해 디지털 신호를 이동체가 빠르게 처리할 수 있도록 할 수 있다.
제어 장치(700)는 통신 인터페이스(780)를 포함할 수도 있다. 통신 인터페이스(780)는 다른 장치들을 제어 장치(700)와 연결하기 위한 하나 이상의 포트들 및/또는 통신 모듈 들을 포함할 수도 있다. 통신 인터페이스(780)는 사용자와 제어 장치(700)가 상호 작용할 수 있게 할 수 있다.
제어 장치(700)의 다양한 구성들은 함께 하나 이상의 버스(790)들에 의해 연결될 수도 있고, 버스(790)들은 전력 버스, 제어 신호 버스, 상태 신호 버스, 데이터 버스 등을 포함할 수도 있다. 프로세서(724)의 제어에 따라 구성들은 버스(790)를 통해 상호 정보를 전달하고 목적하는 기능을 수행하도록 할 수 있다.
한편, 다양한 실시 예들에서, 제어 장치(700)는 보안 클라우드와의 통신을 위해 게이트웨이와 관련될 수 있다. 예를 들어, 도 8을 참조하면, 제어 장치(700)는 차량(800)의 구성 요소들(801) 내지 (804) 중 적어도 하나로부터 획득되는 정보를 보안 클라우드(806)에게 제공하기 위한 게이트웨이(805)와 관련될 수 있다. 예를 들면, 게이트웨이(805)는 제어 장치(700) 내에 포함될 수 있다. 다른 예를 들면, 게이트웨이(805)는 제어 장치(700)과 구별되는 차량(800) 내의 별도의 장치로 구성될 수도 있다. 게이트웨이(805)는 서로 다른 네트워크를 갖는 소프트웨어 관리 클라우드(809), 보안 클라우드(806) 및 차 내 보안 소프트웨어(810)에 의해 보안화된 차량(800) 내 네트워크를 통신 가능하도록 연결한다.
예를 들면, 구성 요소(801)은, 센서일 수 있다. 예를 들면, 상기 센서는 차량(800)의 상태 또는 차량(800) 주변의 상태 중 적어도 하나에 대한 정보를 획득하기 위해 이용될 수 있다. 예를 들면, 구성 요소(801)은, 센서 1410을 포함할 수 있다.
예를 들면, 구성 요소(802)는, ECU(electronic control unit)들일 수 있다. 예를 들면, 상기 ECU들은 엔진 제어, 변속기의 제어, 에어백의 제어, 타이어 공기압 관리를 위해 이용될 수 있다.
예를 들면, 구성 요소(803)은, 인스트루먼트 클러스터(instrument cluster)일 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는, 대시 보드(dashboard) 중 운전석 정면에 위치된 패널을 의미할 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는 운전에 필요한 정보를 운전자(또는 탑승자)에게 보여주기 위해 구성될 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는, 엔진의 분당 회전수(RPM, revolutions per minute 또는 rotate per minute)를 지시하기 위한 시각적 요소들, 차량(800)의 속도를 지시하기 위한 시각적 요소들, 잔여 연료량을 지시하기 위한 시각적 요소들, 기어의 상태를 지시하기 위한 시각적 요소들, 또는 구성 요소(801)을 통해 획득된 정보를 지시하기 위한 시각적 요소들 중 적어도 하나를 표시하기 위해, 이용될 수 있다.
예를 들면, 구성 요소(804)는, 텔레매틱스(telematics) 장치일 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 무선 통신 기술과 GPS(global positioning system) 기술을 결합하여 차량(800) 내에서 위치 정보, 안전 운전 등의 다양한 이동통신 서비스를 제공하는 장치를 의미할 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 운전자, 클라우드(예: 보안 클라우드(806)), 및/또는 주변 환경과 차량(800)을 연결하기 위해 이용될 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 5G NR 규격의 기술(예: 5G NR의 V2X 기술)을 위해, 고대역폭과 저지연을 지원하도록, 구성될 수 있다. 옐르 들면, 상기 텔레매틱스 장치는, 차량(800)의 자율 주행을 지원하도록, 구성될 수 있다.
예를 들면, 게이트웨이(805)는, 차량(800) 내 네트워크와 차량 외 네트워크인 소프트웨어 관리 클라우드(809)와 보안 클라우드(806)를 연결하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드(809)는, 차량(800)의 주행 및 관리에 필요한 적어도 하나의 소프트웨어를 갱신하거나 관리하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드(809)는, 차량 내에 설치된 차 내 보안 소프트웨어(in-car security software) (810과 연동될 수 있다. 예를 들면, 차 내 보안 소프트웨어(810)은, 차량(800) 내의 보안 기능을 제공하기 위해 이용될 수 있다. 예를 들면, 차 내 보안 소프트웨어(810)은 차량 내 네트워크의 암호화를 위해 외부의 공인된(authorized) 서버로부터 획득된 암호화 키를 이용하여 차 내 네트워크를 통해 송수신되는 데이터들을 암호화할 수 있다. 다양한 실시 예들에서, 차 내 보안 소프트웨어(810)에 의해 이용되는 상기 암호화 키는, 차량의 식별 정보(차량 번호판, 차 VIN(vehicle identification number)) 또는 사용자 별로 고유하게 부여된 정보(에: 사용자 식별 정보)에 대응하여 생성될 수 있다.
다양한 실시 예들에서, 게이트웨이(805)는, 상기 암호화 키에 기반하여 차 내 보안 소프트웨어(810)에 의해 암호화된 데이터들을, 소프트웨어 관리 클라우드(809) 및/또는 보안 클라우드(806)으로 송신할 수 있다. 소프트웨어 관리 클라우드(809) 및/또는 보안 클라우드(806)는 차 내 보안 소프트웨어(810)의 상기 암호화 키(Encryption Key)에 의해 암호화된 상기 데이터를 해독할 수 있는 해독 키(Decryption Key)를 이용하여 해독함으로써, 상기 데이터가 어떤 차량 또는 어떤 사용자로부터 수신된 데이터인지를 식별할 수 있다. 예를 들면, 상기 해독 키는 상기 암호화 키에 대응되는 고유의 키이기 때문에, 소프트웨어 관리 클라우드(809) 및/또는 보안 클라우드(806)는 상기 해독 키를 통해 해독된 상기 데이터에 기반하여 상기 데이터의 송신 주체(예: 상기 차량 또는 상기 사용자)를 식별할 수 있다.
예를 들면, 게이트웨이(805)는, 차 내 보안 소프트웨어(810)을 지원할 수 있도록 구성되고, 제어 장치(700)와 관련될 수 있다. 예를 들면, 게이트웨이(805)는, 보안 클라우드(806)와 연결된 클라이언트 장치(807)와 제어 장치(700) 사이의 연결을 지원하기 위해, 제어 장치(700)와 관련될 수 있다. 다른 예를 들면, 게이트웨이(805)는, 보안 클라우드(806)와 연결된 써드 파티 클라우드(808)와 제어 장치(700) 사이의 연결을 지원하기 위해, 제어 장치(700)와 관련될 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시 예들에서, 게이트웨이(805)는, 차량(800)의 운영 소프트웨어를 관리하기 위한 소프트웨어 관리 클라우드(809)와 차량(800)을 연결하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드(809)는, 차량(800)의 운영 소프트웨어의 갱신이 요구되는지 여부를 모니터링하고, 차량(800)의 운영 소프트웨어의 갱신이 요구됨을 모니터링하는 것에 기반하여 게이트웨이(805)를 통해 차량(800)의 운영 소프트웨어를 갱신하기 위한 데이터를 제공할 수 있다. 다른 예를 들면, 소프트웨어 관리 클라우드(809)는, 차량(800)의 운영 소프트웨어의 갱신을 요구하는 사용자 요청을 차량(800)으로부터 게이트웨이(805)를 통해 수신하고, 상기 수신에 기반하여 차량(800)의 운영 소프트웨어를 갱신하기 위한 데이터를 제공할 수 있다. 하지만, 이에 제한되지 않는다.
도 9는, 일 실시예에 따른, 학습 데이터의 세트에 기반하여 뉴럴 네트워크를 트레이닝하는 전자 장치(101)의 동작을 설명하기 위한 도면이다.
도 9를 참고하면, 동작(902)에서, 일 실시예에 따른, 전자 장치는 학습 데이터의 세트를 획득할 수 있다. 전자 장치는 지도 학습(supervised learning)을 위한 학습 데이터의 세트를 획득할 수 있다. 학습 데이터는, 입력 데이터 및 상기 입력 데이터에 대응하는 기저 진리(ground truth) 데이터의 페어(pair)를 포함할 수 있다. 기저 진리 데이터는, 상기 기저 진리 데이터의 페어인 입력 데이터를 수신한 뉴럴 네트워크로부터 획득하고자 하는 출력 데이터를 나타낼 수 있다.
예를 들어, 이미지의 인식을 위해 뉴럴 네트워크를 트레이닝하는 경우, 학습 데이터는 이미지 및 상기 이미지에 포함된 하나 이상의 피사체들에 대한 정보를 포함할 수 있다. 상기 정보는, 이미지를 통해 식별가능한 피사체의 분류(category 또는 class))를 포함할 수 있다. 상기 정보는, 이미지 내에서, 피사체에 대응하는 시각적 객체의 위치, 너비, 높이 및/또는 사이즈를 포함할 수 있다. 동작(902)를 통해 식별되는 학습 데이터의 세트는, 복수의 학습 데이터의 페어들을 포함할 수 있다. 이미지의 인식을 위해 뉴럴 네트워크를 트레이닝하는 상기 예시 내에서, 전자 장치에 의해 식별되는 학습 데이터의 세트는, 복수의 이미지들 및 상기 복수의 이미지들 각각에 대응하는 기저 진리 데이터를 포함할 수 있다.
도 9를 참고하면, 동작(904)에서, 일 실시예에 따른, 전자 장치는, 학습 데이터의 세트에 기반하여, 뉴럴 네트워크에 대한 트레이닝을 수행할 수 있다. 뉴럴 네트워크가 지도 학습에 기반하여 트레이닝되는 일 실시예에서, 전자 장치는 학습 데이터에 포함된 입력 데이터를, 상기 뉴럴 네트워크의 입력 레이어에 입력할 수 있다. 상기 입력 레이어를 포함하는 뉴럴 네트워크의 일 예가, 도 10을 참고하여 설명된다. 입력 레이어를 통해 상기 입력 데이터를 수신한 뉴럴 네트워크의 출력 레이어로부터, 전자 장치는 상기 입력 데이터에 대응하는 상기 뉴럴 네트워크의 출력 데이터를 획득할 수 있다.
일 실시예에서, 동작(904)의 트레이닝은, 상기 출력 데이터 및, 상기 학습 데이터에 포함되고, 상기 입력 데이터에 대응하는 기저 진리 데이터 사이의 차이에 기반하여, 수행될 수 있다. 예를 들어, 전자 장치는 경사 하강 알고리즘(gradient descent)에 기반하여, 상기 차이가 감소되도록 상기 뉴럴 네트워크와 관련된 하나 이상의 파라미터들(예, 도 13을 참고하여 후술되는 가중치)을 조절할 수 있다. 상기 하나 이상의 파라미터들을 조절하는 전자 장치의 동작은, 뉴럴 네트워크에 대한 튜닝으로 지칭될 수 있다. 전자 장치는, 출력 데이터에 기반하는 뉴럴 네트워크의 튜닝을, 비용 함수(cost function)와 같이, 뉴럴 네트워크의 성능을 평가하기 위해 정의된 함수를 이용하여 수행할 수 있다. 상술된 출력 데이터 및 기저 진리 데이터 사이의 차이는, 상기 비용 함수의 일 예로 포함될 수 있다.
도 9를 참고하면, 동작(906)에서, 일 실시예에 따른, 전자 장치는 동작(904)에 의해 트레이닝된 뉴럴 네트워크로부터, 유효한 출력 데이터가 출력되는지 여부를 식별할 수 있다. 출력 데이터가 유효하다는 것은, 출력 데이터 및 기저 진리 데이터 사이의 차이(또는 비용 함수)가, 상기 뉴럴 네트워크의 사용을 위해 설정된 조건을 만족함을 의미할 수 있다. 예를 들어, 출력 데이터 및 기저 진리 데이터 사이의 차이의 평균 값 및/또는 최대 값이 지정된 임계 값 이하인 경우, 전자 장치는, 유효한 출력 데이터가 뉴럴 네트워크로부터 출력되는 것으로 결정할 수 있다.
뉴럴 네트워크로부터 유효한 출력 데이터가 출력되지 않는 경우(906-아니오), 전자 장치는 동작(904)에 기반하는 뉴럴 네트워크의 트레이닝을 반복적으로 수행할 수 있다. 실시예가 이에 제한되는 것은 아니며, 전자 장치는 동작들(902, 904)을 반복적으로 수행할 수 있다.
뉴럴 네트워크로부터 유효한 출력 데이터를 획득한 상태에서(906-예), 동작(908)에 기반하여, 일 실시예에 따른, 전자 장치는 트레이닝된 뉴럴 네트워크를 사용할 수 있다. 예를 들어, 전자 장치는 학습 데이터로써 상기 뉴럴 네트워크에 입력되었던 입력 데이터와 구분되는 다른 입력 데이터를, 뉴럴 네트워크로 입력할 수 있다. 상기 다른 입력 데이터를 수신한 뉴럴 네트워크로부터 획득된 출력 데이터를, 전자 장치는 뉴럴 네트워크에 기반하여 상기 다른 입력 데이터에 대한 추론을 수행한 결과로써 이용할 수 있다.
도 10은, 일 실시예에 따른, 전자 장치(101)의 블록도이다.
도 10을 참고하면, 전자 장치(101)의 프로세서(1010)는, 메모리(1020)에 저장된 뉴럴 네트워크(1030)와 관련된 계산들(computations)을 수행할 수 있다. 프로세서(1010)는, CPU(center processing unit), GPU(graphic processing unit) 또는 NPU(neural processing unit) 중 적어도 하나를 포함할 수 있다. NPU는, CPU와 분리된 칩으로 구현되거나, 또는 SoC(system on a chip)의 형태로 CPU와 같은 칩에 집적될(integrated) 수 있다. CPU에 집적된 NPU는, 뉴럴 코어 및/또는 AI(artificial intelligence) 가속기로 지칭될 수 있다.
도 10을 참고하면, 프로세서(1010)는, 메모리(1020)에 저장된 뉴럴 네트워크(1030)를 식별할 수 있다. 뉴럴 네트워크(1030)는, 입력 레이어(Input ayer)(1032), 하나 이상의 히든 레이어들(Hidden layers)(1034)(또는 중간 레이어들(Intermediate layers) 및 출력 레이어(Output layers)(1036)의 결합을 포함할 수 있다. 상술된 레이어들(예, 입력 레이어(1032), 하나 이상의 히든 레이어들(1034) 및 출력 레이어(1036))은, 복수의 노드들을 포함할 수 있다. 히든 레이어들(1034)의 개수는, 실시예에 따라 다를 수 있으며, 복수의 히든 레이어들(1034)을 포함하는 뉴럴 네트워크(1030)가 딥(deep) 뉴럴 네트워크로 지칭될 수 있다. 상기 딥 뉴럴 네트워크를 트레이닝하는 동작이, 딥 러닝(deep learning)으로 지칭될 수 있다.
일 실시예에서, 뉴럴 네트워크(1030)가 피드 포워드 뉴럴 네트워크(feed forward neural network)의 구조를 가지는 경우, 특정 레이어에 포함된 제1 노드는, 상기 특정 레이어 이전의 다른 레이어에 포함된 제2 노드들 전부와 연결될 수 있다. 메모리(1020) 내에서, 뉴럴 네트워크(1030)를 위해 저장된 파라미터들은, 상기 제2 노드들과 상기 제1 노드 사이의 연결들에 할당된(assigned) 가중치(weight)들을 포함할 수 있다. 피드 포워드 뉴럴 네트워크의 구조를 가지는 뉴럴 네트워크(1030)에서, 상기 제1 노드의 값은, 상기 제2 노드들 및 상기 제1 노드를 연결하는 연결들에 할당된 가중치들에 기반하는, 상기 제2 노드들에 할당된 값들의 가중 합(weighted sum)에 대응할 수 있다.
일 실시예에서, 뉴럴 네트워크(1030)가 콘볼루션(convolution) 뉴럴 네트워크의 구조를 가지는 경우, 특정 레이어에 포함된 제1 노드는, 상기 특정 레이어 이전의 다른 레이어에 포함된 제2 노드들 중 일부에 대한 가중 합에 대응할 수 있다. 상기 제1 노드에 대응하는 상기 제2 노드들 중 일부는, 상기 특정 레이어에 대응하는 필터에 의해 식별될 수 있다. 메모리(1020) 내에서, 뉴럴 네트워크(1030)를 위해 저장된 파라미터들은, 상기 필터를 나타내는 가중치들을 포함할 수 있다. 필터는, 상기 제2 노드들 중에서, 상기 제1 노드의 가중합을 계산하는데 이용될 하나 이상의 노드들, 및 상기 하나 이상의 노드들 각각에 대응하는 가중치들을 포함할 수 있다.
일 실시예에 따른, 전자 장치(101)의 프로세서(1010)는, 메모리(1020)에 저장된 학습 데이터 세트(1040)를 이용하여, 뉴럴 네트워크(1030)에 대한 트레이닝을 수행할 수 있다. 학습 데이터 세트(1040)에 기반하여, 프로세서(1010)는 도 9를 참고하여 설명된 동작을 수행하여, 뉴럴 네트워크(1030)를 위해 메모리(1020)에 저장된 하나 이상의 파라미터들을 조절할 수 있다.
일 실시예에 따른, 전자 장치(101)의 프로세서(1010)는, 학습 데이터 세트(1040)에 기반하여 트레이닝된 뉴럴 네트워크(1030)를 이용하여, 객체 탐지, 객체 인식 및/또는 객체 분류를 수행할 수 있다. 프로세서(1010)는, 카메라(1050)를 통해 획득된 이미지(또는 비디오)를, 뉴럴 네트워크(1030)의 입력 레이어(1032)에 입력할 수 있다. 이미지가 입력된 입력 레이어(1032)에 기반하여, 프로세서(1010)는 뉴럴 네트워크(1030)에 포함된 레이어들의 노드들의 값들을 순차적으로 획득하여, 출력 레이어(1036)의 노드들의 값들의 세트(예, 출력 데이터)를 획득할 수 있다. 상기 출력 데이터는, 뉴럴 네트워크(1030)를 이용하여 상기 이미지에 포함된 정보를 추론한 결과로써 이용될 수 있다. 실시예가 이에 제한되는 것은 아니며, 프로세서(1010)는, 통신 회로(1060)를 통해 전자 장치(101)에 연결된 외부 전자 장치로부터 획득된 이미지(또는 비디오)를, 뉴럴 네트워크(1030)에 입력할 수 있다.
일 실시예에서, 이미지를 처리하기 위해 트레이닝된 뉴럴 네트워크(1030)는, 상기 이미지 내에서, 피사체에 대응하는 영역을 식별하거나(객체 탐지), 및/또는 상기 이미지 내에 표현된 피사체의 클래스를 식별(객체 인식 및/또는 객체 분류)하는데 이용될 수 있다. 예를 들어, 전자 장치(101)는 뉴럴 네트워크(1030)를 이용하여, 상기 이미지 내에서, 상기 피사체에 대응하는 영역을, 바운딩 박스와 같은 사각형의 형태에 기반하여 분할(segment)할 수 있다. 예를 들어, 전자 장치(101)는 뉴럴 네트워크(1030)를 이용하여, 복수의 지정된 클래스들 중에서, 상기 피사체에 매칭되는 적어도 하나의 클래스를 식별할 수 있다.
이하 본 발명의 실시 예에 따른 과속방지턱은 물리적인 요철이 포함된 과속방지턱과, 물리적인 요철이 없는 평탄한 도로상에 형성되는 과속방지턱을 포함하는 개념으로 이해하는 것이 바람직하다.
그리고, 설명의 편의를 위해 물리적인 요철이 설치되고, 페인트가 칠해진 과속 방지턱을 "제1 과속 방지턱"으로, 상기 물리적인 요철이 설치되지 않고, 페인트만 칠해진 과속 방지턱을 "제2 과속 방지턱"으로 정의하기로 한다.
일반적으로 평평한 도로를 주행하도록 설계된 차량이 도로를 주행 중에 도로 상에 설치된 과속 방지턱을 통과하게 되면, 차량에게는 물리적인 충격이 발생하게 되며, 이러한 물리적인 충격이 지속적으로 차량에 가해질 경우, 차량의 수명은 크게 단축되게 된다. 따라서, 본 발명에서는 물리적인 요철이 설치된 제1 과속 방지턱과 물리적인 요철이 설치되지 않은 제2 과속 방지턱을 컴퓨터 비전을 통해 식별하고, 식별된 제1 과속 방지턱의 위치 정보와 제2 과속 방지턱의 위치 정보를 지도 데이터와 함께 데이터 베이스로 관리함으로써, 도로를 주행하는 다른 차량들에게 과속 방지턱에 대한 구체적인 정보들을 제공할 수 있다.
도 11은 일 실시예에 따른 차량 서비스 시스템의 개념도이고, 도 12는 일 실시예에 따른 차량용 전자 장치의 블록도이다.
도 11 및 12를 참조하면, 일 실시예에 따른 차량용 전자 장치(100)는 본 발명의 일 실시예에 따른 차량용 전자장치(100)는 차량의 전방 영상을 촬영하는 촬영부(116), 상기 차량의 위치를 파악하는 센서부(115), 상기 영상을 처리하여 상기 차량의 전방 영상에서 과속 방지턱을 검출하고, 상기 차량이 상기 과속 방지턱을 통과한 이후, 상기 과속 방지턱의 요철 포함 여부를 파악하고, 상기 과속 방지턱의 위치 및 상기 요철 포함 여부에 대한 정보 중 적어도 하나를 이용하여 과속방지턱 정보를 생성하는 프로세서(110) 및 상기 과속 방지턱 정보를 차량 서비스 제공 서버에 송신하는 통신부(130)를 포함할 수 있다.
차량용 전자장치(100)는 차량(102)의 전방 영상을 촬영할 수 있다. 차량용 전자장치(100)는 차량(102)의 현재 위치를 파악할 수 있다. 차량용 전자장치(100)는 영상을 처리하여 과속방지턱(400)을 검출할 수 있다. 차량용 전자장치(100)는 차량이 과속방지턱(400)을 통과한 이후 영상의 변화 정도를 파악할 수 있다. 차량용 전자장치(100)는 상기 영상의 변화 정도에 기초하여 과속방지턱의 요철 포함 여부를 파악할 수 있다.
차량용 전자장치(100)는 과속방지턱의 위치 및 요철 포함 여부에 관한 과속방지턱 정보를 생성할 수 있다. 차량용 전자장치(100)는 센서부(115)가 측정한 차량의 위치와 촬영부(116)가 촬영한 영상을 기반으로 과속방지턱(400)의 위치를 파악할 수 있다. 차량용 전자장치(100)는 영상의 변화정도에 기초하여 과속방지턱(400)의 요철 포함 여부를 파악할 수 있다. 차량용 전자장치(100)는 과속방지턱 정보를 차량 서비스 제공 서버(200)에 송신할 수 있다.
차량 서비스 제공 서버(200)는 차량용 전자장치(100)로부터 과속방지턱에 관한 정보를 수신할 수 있다. 차량 서비스 제공 서버(200)는 복수의 차량용 전자장치(100)로부터 수신한 과속방지턱 정보를 통합하여 통합 과속방지턱 정보를 생성할 수 있다. 통합 과속방지턱 정보는 도로 상의 과속방지턱이 요철없이 평탄한 면에 무늬와 색상만 칠해진 가상의 과속방지턱인지, 요철이 포함된 실제 과속방지턱인지 여부를 포함할 수 있다. 차량용 전자장치(100)는 통합 과속방지턱 정보를 수신하여 차량 운전자에게 요철을 포함한 과속방지턱이 전방에 존재하는 경우 알림 서비스를 제공할 수 있다.
차량 서비스 제공 서버(200)는 네비게이션 서비스를 사용하는 사용자 단말장치(300)에 통합 과속방지턱 정보를 송신할 수 있다. 사용자 단말장치(300)는 네비게이션 서비스를 통해 과속방지턱의 요철 포함 여부에 대한 정보를 수신할 수 있으나, 이는 하나의 실시예에 불과하여, 이 실시예에 한정하지 아니한다.
프로세서(110)는 촬영부(116)에 의해 촬영된 영상을 처리/분석할 수 있다. 프로세서(110)는 상기 촬영된 영상을 처리하여 과속방지턱을 검출할 수 있다. 구체적으로, 프로세서(110)는 딥 러닝(Deep learning) 모델을 통해, 촬영부(116)가 획득한 차량의 전방 영상에서 과속 방지턱을 식별할 수 있다. 프로세서(110)는 차량이 과속방지턱을 통과하기 이전의 영상과 통과한 이후의 영상간의 변화 정도를 측정할 수 있다. 프로세서(110)는 상기 영상들 간의 변화 정도에 기초하여 과속방지턱의 요철 포함 여부를 파악할 수 있다.
프로세서(110)는 센서부(115)가 측정한 차량의 위치 및 촬영부(116)가 촬영한 영상을 기반으로 과속방지턱의 위치를 계산할 수 있다. 프로세서(110)는 과속방지턱의 위치 및 요철 포함 여부에 관한 과속방지턱 정보를 생성할 수 있다.
구체적으로, 프로세서(110)는 상기 촬영부(116)가 획득한 영상에서 과속 방지턱이 식별되면, 식별된 과속방지턱의 테두리를 특정하여 경계 상자(bounding box)를 생성할 수 있다. 이때 프로세서(110)는 영상 내 존재하는 과속 방지턱을 검출하기 위해, 영상 내 존재하는 객체(object)를 검출하는 객체 검출(Object Detection) 방식을 사용할 수 있다. 예컨대, 프로세서(110)는 영상 내 과속 방지턱을 검출하기 위해 딥 러닝 기반의 객체 검출 모델을 사용될 수 있다.
구체적으로, 일 실시 예에 따른 딥 러닝 기반의 객체 검출 모델은, R-CNN 계열(R-CNN(Regions with Convolutional Neural Networks features), Fast R-CNN, Faster R-CNN, Mask R-CNN 등)과 같이 Regional Proposal과 Detection이 순차적으로 이루이지는 2단계 검출기(Two-stage Detector) 모델과 YOLO(You Only Look), SSD(Single-Shot Multibox Detector)과 같이 Regional Proposal과 Detection이 동시에 수행되는(즉, Region proposal을 One-stage로 진행하는) 1단계 검출기(One-stage Detector) 모델 등이 사용될 수 있으나, 이에 한정되지는 않는다.
프로세서(110)는 차량의 후드(hood)의 제1 지점(후드에서 차량의 전방 방향으로 가장 먼 지점)에 임의의 지점을 생성할 수 있다. 프로세서(110)는 상기 경계 상자와 상기 포인트 사이의 상관관계를 기반으로 과속방지턱의 위치를 계산할 수 있다.
프로세서(110)는 상기 경계 상자와 상기 포인트 사이의 상관관계를 기반으로 과속방지턱이 요철을 포함하는지 여부를 판단하는 기준이 되는 제1 시각을 특정할 수 있다. 프로세서(110)는 경계상자와 상기 차량 후드의 제1 지점 상에 설정된 가상의 포인트 사이의 거리에 기초하여, 상기 차량이 상기 과속방지턱을 통과하기 직전의 제1 시각을 특정할 수 있다. 예를 들어, 프로세서(110)는 촬영부(116)가 촬영한 영상에서 상기 경계 상자의 차량과 인접한 변과 상기 가상의 포인트가 중첩되는 프레임이 찍힌 시간을 제1 시각으로 특정할 수 있다.
프로세서(110)는 상기 제1 시각 이후 일정 시간 내에 상기 차량의 상하 움직임이 존재하는지 여부를 파악할 수 있다. 프로세서(110)는 촬영부(116)가 촬영한 영상에서 복수의 특징점(feature point)을 추출할 수 있다. 프로세서(110)는 상기 촬영부(116)가 획득한 영상의 각 프레임 마다 복수 개의 특징점들을 추출하고, 각 프레임마다 추출된 복수 개의 특징점들을 서로 매칭할 수 있다.
구체적으로, 프로세서(110)는 영상의 제1 프레임에서 추출된 복수 개의 특징 점들과 제2 프레임에서 추출된 복수 개의 특징점들 간을 비교하고, 제1 프레임의 특징 점들과 제2 프레임의 특징 점들간의 매칭 관계를 계산할 수 있다. 본 발명의 실시 예에 따른 프로세서(110)는 차량이 과속 방지턱에 진입하기 직전에 획득된 영에 해당하는 프레임에서 추출된 특징 점들을 기준 특징 점들(reference feature points)로 설정할 수 있다.
그리고, 프로세서(110)는 상기 촬영부(116)가 획득한 영상의 각 프레임마다 상기 기준 특징 점들에 해당하는 특징 점들의 추적을 수행함으로써, 차량이 과속 방지턱을 통과할 때 상하 방향으로 움직임이 발생했는지를 식별할 수 있다. 구체적으로, 프로세서(110)는 차량이 과속 방지턱에 진입하기 직전의 이미지 프레임(제1 이미지 프레임)내 특징 점들과 차량이 과속 방지턱을 통과한 직후의 이미지 프레임(제1 이미지 프레임)내 특징 점들간의 매칭 관계를 확인함으로써, 차량이 과속 방지턱을 통과하면서 상하 방향으로의 움직임이 발생했는지를 식별할 수 있다. 구체적으로, 프로세서(110)는, 상기 제1 이미지 프레임의 특징 점들과 상기 제2 이미지 프레임의 특징 점들 간의 상하 방향의 이동 범위를 계산하고, 계산된 이동 범위를 근거로 특징 점들의 상하 방향의 움직임 평균 값을 획득할 수 있다. 본 발명에서는 설명의 편의를 위해 제1 이미지 프레임에서 식별된 특징 점들을 제1 특징 점 그룹으로, 제2 이미지 프레임에서 상기 제1 이미지 프레임에서 식별된 특징 점들(제1 특징 점 그룹)에 매칭되는 특징 점들을 제2 특징 점 그룹으로 정의하기로 한다.
프로세서(110)는 프레임이 변화할 때 복수의 기준점의 상하 이동 정도의 평균값을 계산하여, 차량이 과속방지턱을 통과할 때 발생하는 상하 이동 패턴의 존재 여부를 추적할 수 있다. 프로세서(110)는 상기 상하 이동 패턴이 존재하는 경우, 차량이 통과한 과속방지턱이 요철을 포함하는 제1 과속 방지턱임을 식별할 수 있다.
프로세서(110)는 제1 이미지 프레임의 복수 개의 특징 점들인 제1 특징 점 그룹과 제2 이미지 프레임의 제2 특징 점 그룹들 간의 상하 이동 정도의 평균값을 시간의 변화에 따라 나타낸 상하 이동 그래프를 생성할 수 있다.프로세서(110)는 차량의 주행으로 인해 발생한 제1 특징 점 그룹과 제2 특징 점 그룹들에 포함된 각 특징 점마다 상하 이동 정도의 평균 값을 이용하여 상기 생성된 상하 이동 그래프에서 차량의 주행 진동으로 발생된 노이즈가 제거되도록 가공할 수 있다. 예를 들어, 프로세서(110)는 저역 필터(lowpass filter)를 사용하여 상기 제1 특징 점 그룹과 제2 특징 점 그룹간 상하 이동 정도의 평균 값에서 노이즈를 제거할 수 있으나, 이에 한정하지 아니한다.
촬영부(116)는 차량 주변을 촬영할 수 있다. 촬영부(116)는 차량의 주행 방향에 존재하는 과속 방지턱이 포함된 영상을 촬영할 수 있다.
센서부(115)는 차량의 위치를 파악할 수 있다. 센서부(115)는 GPS(Global Positioning System) 위성으로부터 수신되는 GPS 신호를 이용하여 차량의 위치를 측정할 수 있으나, 이에 한정되지 않는다. 센서부(115)는 일정 시간 간격마나 측정된 차량의 위치를 프로세서(110)에 제공할 수 있다.
통신부(130)는 프로세서(110)가 생성한 과속방지턱 정보를 차량 서비스 제공 서버에 송신할 수 있다. 통신부(130)는 차량 서비스 제공 서버로부터 서로 다른 복수의 차량으로부터 수집한 과속방지턱 정보를 통합한 통합 과속방지턱 정보를 수신할 수 있다.
프로세서(110)는 통합 과속방지턱 정보를 기반으로 상기 차량의 전방의 과속 방지턱이 요철을 포함하는 경우, 알람 서비스를 제공할 수 있다. 차량용 전자장치는 알람 서비스를 제공할 수 있는 표시부 또는 스피커를 포함할 수 있으나, 알림 서비스의 형태에 대해서는 한정하지 아니한다.
프로세서(110)는 미리 저장된 지도 데이터를 기준으로, 차량이 과속 방지턱이 존재하는 주변에 위치함을 식별함을 기초로, 과속 방지턱 검출 기능의 정상 동작을 식별할 수 있다. 프로세서(110)는 촬영부(116)가 촬영한 영상에 과속 방지턱이 식별될 경우, 상술한 실시 예를 통해 과속방지턱의 요철 포함 여부를 식별할 수 있다.
프로세서(110)는 기계 학습 기술에 기초하여 생성된 객체 추적 모델을 활용하여 과속방지턱 오검출 여부를 파악할 수 있다. 일 실시 예에서 상기 객체 추적 모델은 중심점 추적 모델(Centroid tracking modeler) 및 SORT(Simple Online and Realtime Tracking) 모델 중 어느 하나일 수 있다.
도 13 및 14는 일 실시예에 따른 차량용 전자 장치 제어방법의 순서도이다.
도 13을 참조하면, 일 실시예에 따른 차량용 전자 장치 제어방법은 차량의 전방 영상을 획득하는 영상 획득 단계(S310), 상기 획득한 전방 영상에서 과속방지턱을 검출하는 과속방지턱 검출 단계(S320), 상기 과속 방지턱이 검출되면, 상기 차량의 위치 정보를 획득하는 차량 위치 정보 획득 단계(S330), 상기 획득한 차량의 위치 정보를 기반으로 상기 과속 방지턱의 위치 정보를 생성하는 과속방지턱 위치정보 생성 단계(S340), 상기 과속방지턱의 요철 포함 여부를 파악하고, 상기 요철 포함 여부 및 상기 과속방지턱의 위치 중 적어도 하나를 이용하여 과속방지턱 정보를 생성하는 과속방지턱 정보 생성 단계(S350) 및 상기 과속방지턱 정보를 차량 서비스 제공 서버에 송신하는 과속방지턱 정보 송신 단계(S360)를 포함할 수 있다.
영상 획득 단계(S310)에서, 촬영부는 차량 전방의 영상을 촬영할 수 있다.
과속방지턱 검출 단계(S320)에서, 프로세서는 촬영부가 촬영한 영상을 처리하여 과속방지턱을 검출할 수 있다.
위치 정보 획득 단계(S330)에서, 프로세서는 차량의 현재 위치를 파악하고, 그를 기반으로 상기 과속방지턱의 위치를 계산할 수 있다. 과속방지턱 위치정보 생성 단계(S340)에서 프로세서는 차량이 과속방지턱을 통과하기 직전 시점에 과속 방지턱의 위치를 특정하여 과속 방지턱 위치 정보를 생성할 수 있다.
과속방지턱 정보 생성 단계(S350)에서, 프로세서는 차량이 상기 과속방지턱을 통과하기 직전의 이미지 프레임의 제1 특징 점 그룹과 상기 과속 방지턱을 통과한 이후의 이미지 프레임에서의 제2 특징 점 그룹들간의 변화 정도를 측정하여 상기 과속방지턱의 요철 포함 여부를 파악할 수 있다. 과속방지턱 정보 생성 단계(S350)에서, 프로세서는 과속방지턱의 테두리와 일치하는 경계상자와 상기 차량의 후드의 일단에 설정된 가상의 포인트 사이의 거리에 기초하여, 상기 차량이 상기 과속방지턱을 통과하기 직전의 제1 시각을 특정할 수 있다.
과속방지턱 정보 생성 단계(S350)에서, 프로세서는 상기 제1 시각 이후 일정 시간 내에 상기 차량의 상하 움직임이 존재하는지 여부를 파악할 수 있다. 과속방지턱 정보 생성 단계(S350)에서, 프로세서는 상기 영상의 제1 프레임 및 제2 프레임에서 복수의 특징점을 추출하고, 상기 제1 프레임의 특징점과 상기 제2 프레임의 특징점을 비교하여 서로 매칭되는 복수의 기준점을 설정할 수 있다.
과속방지턱 정보 생성 단계(S350)에서, 프로세서는 복수의 기준점의 상하 이동 정도의 평균값을 계산하여, 과속방지턱을 통과할 때 발생하는 상하 이동 패턴의 존재 여부를 추적할 수 있다. 과속방지턱 정보 생성 단계(S350)에서, 프로세서는 상기 상하 이동 패턴이 존재하는 경우, 상기 과속방지턱이 요철을 포함한다고 판단할 수 있다. 과속방지턱 정보 생성 단계(S350)에서, 프로세서는 상기 과속방지턱의 위치 및 요철 포함 여부 중 적어도 하나를 포함하는 과속방지턱 정보를 생성할 수 있다.
과속 방지턱 정보 송신 단계(S360)에서 통신부는 상기 과속방지턱 정보를 차량 서비스 제공 서버에 송신할 수 있다.
도 14를 참조하면, 일 실시예에 따른 차량용 전자 장치 제어방법은 차량 서비스 제공 서버로부터 서로 다른 차량들로부터 수집한 과속방지턱 정보를 통합한 통합 과속방지턱 정보를 수신하는 통합 과속방지턱 정보 수신 단계(S370), 통합 과속방지턱 정보를 기반으로 상기 차량의 전방의 과속 방지턱이 요철을 포함하는 제1 과속 방지턱인 경우에만, 알람 서비스를 제공하는 알람 서비스 제공단계(S380) 및 과속방지턱 감지 단계에서 감지한 과속방지턱이 오검출되었는지 여부를 파악하는 오검출 판정 단계를 더 포함할 수 있다.
통합 과속방지턱 정보 수신 단계(S370)에서, 통신부는 차량 서비스 제공 서버로부터 서로 다른 차량들로부터 수집한 과속방지턱 정보를 통합한 통합 과속방지턱 정보를 수신할 수 있다. 알람 서비스 제공단계(S370)에서 프로세서는 통합 과속방지턱 정보를 기반으로 상기 차량의 전방의 과속 방지턱이 요철을 포함하는 경우에, 알람 서비스를 제공할 수 있다. 알람 서비스를 제공하는 방식은 시각적 또는 청각적일 수 있으나, 그 방법에 한정하지 아니한다.
오검출 판정 단계에서 프로세서는 촬영부가 촬영한 영상의 복수의 프레임에 기초하여 과속방지턱 검출이 정상이었는지 여부를 추적할 수 있다. 오검출 판정 단계에서 프로세서는 기계 학습 기술에 기초하여 생성된 객체 추적 모델을 활용하여 과속방지턱 오검출 여부를 파악할 수 있다.
도 15 내지 17은 일 실시예에 따른 차량용 전자 장치의 동작에 관한 개념도이다.
도 15를 참고하면, 차량용 전자장치는 획득된 차량 전방 이미지에서 과속방지턱에 식별하는 경계 상자(bounding box)(400)를 검출할 수 있다(a). 차량용 전자장치는 차량의 후드의 일 지점에 가상의 포인트(P)를 설정할 수 있다. 차량용 전자장치는 경계 상자(400)와 상기 포인트(P)의 거리 변화를 감지하여 과속방지턱의 위치를 파악할 수 있다. 차량용 전자장치는 차량의 위치가 과속방지턱의 위치에 접근하는 과정에서 획득된 영상에 포함된 이미지의 프레임들을 이용하여(based on) 과속 방지턱 검출 기능의 정상여부를 파악할 수 있다(b).
차량용 전자장치는 경계상자(400)와 상기 포인트(P)의 거리 변화를 감지하여 차량이 과속방지턱을 통과하기 직전의 시각을 특정할 수 있다. 과속방지턱을 통과하기 직전의 시각은 상기 경계상자(400)의 차량과 가까운 변과 포인트(P)가 겹치는 시점(C)일 수 있으나, 이에 한정하지 아니한다.
예를 들어, 상기 가상의 포인트의 좌표가 P(x,y)인 경우, 과속방지턱의 경계상자가 상기 가상의 포인트의 좌표 P(x,y)를 넘어가는 시점인 시점 t0을 차량이 과속방지턱을 밟기 직전 시점으로 판단할 수 있다.
도 16을 참조하면, 차량용 전자장치(100)의 화각(field of view) 중 하방향 화각 범위와 후드의 일단이 교차하는 지점에 가상의 포인트(P)를 설정할 수 있으나, 이에 한정하지 아니한다. 가상의 포인트(P)는 차량(102)이 과속방지턱(400)을 통과하기 직전의 시간을 특정하기 위한 하나의 기준일 뿐이다.
가상의 포인트의 좌표 P(x,y)를 지정하는 것은 차량이 전방의 가속방지턱(400)을 역주행이나 갓길로 회피하여 주행하는 경우를 제외하기 위함일 수 있다. t0은 과속방지턱(400)이 차량의 전륜에 닿기까지 여유거리가 존재할 수 있으며, 그 여유 거리는 차량용 전자장치(카메라)의 장착 위치에서의 시야각이나 차량별 오버행(over hang) 길이에 따라 달라질 수 있다.
도 17을 참조하면, 차량용 전자장치는 촬영부가 촬영한 영상의 복수의 프레임을 서로 비교할 수 있다. 차량용 전자장치는 차량이 과속방지턱을 통과하기 직전의 시점인 t0 부터 사전에 정의된 마지막 시점인 tn까지 과속방지턱의 요철 포함 여부를 판별할 수 있다. 차량용 전자장치는 t0 부터 사전에 정의된 마지막 시점인 tn 사이의 영상의 각 프레임을 분석할 수 있다.
차량용 전자장치는 촬영부가 제1 시점에 획득한 차량의 전방 영상에 대한 제1 프레임(imgt-1)(1710)과 제2 시점에 획득한 전방 영상에 대한 제2 프레임(imgt)(1720)을 비교할 수 있다.
도 17에서 참조번호 1750은 제1 프레임(imgt-1)(1710)의 제1 특징 점 그룹들(1710-1)과 제2 프레임(imgt)(1720)의 제2 특징 점 그룹들(1720-1)간의 상호 매칭 관계를 설명하기 위한 도면이다.
구체적으로, 일 실시 예에 따른 차량용 전자 장치는, 제1 프레임(imgt-1)(1710)에서 추출된 제1 특징 점 그룹들(1710-1)과 제2 프레임(imgt)(1720)에서 추출된 제2 특징 점 그룹들(1720-1)간의 변화를 식별함에 근거하여, 차량의 움직임을 식별할 수 있다.
제1 프레임(1710) 및 제2 프레임(1720)는 t0부터 tn 사이의 어떤 시점에 촬영된 프레임일 수 있다. 예를 들어, 제1 프레임(1710)는 t-1 시점의 프레임이고, 제2 프레임(1720)은 t 시점의 프레임일 수 있다.
예를 들어, 차량용 전자장치는 t-1 시점의 이미지 프레임(1710)의 특징 점인 ft-1 과 t 시점의 이미지 프레임(1720)의 특징점인 ft를 추출할 수 있다.
차량용 전자장치는 t-1 시점의 프레임의 특징점인 ft-1 과 t 시점의 프레임의 특징점인 ft를 서로 비교할 수 있다. 예를 들어, 차량용 전자장치는 = 1
Figure pat00001
의 수식에 기초하여 ft-1 과 ft를 매칭할 수 있다. 차량용 전자장치는 ORB(Oriented FAST and Rotated BRIEF)를 테스트에 사용할 수 있으나, 이에 한정하지 아니한다. 차량용 전자장치는 BFMatcher (Brute Force) 알고리즘으로 특징점들을 매칭할 수 있으나, 이에 한정하지 아니한다.
차량용 전자장치는 제1 프레임(1710)에서 복수 개의 특징 점 그룹(1710-1)과 제2 프레임(1720)에서 복수 개의 특징 점 그룹(1720-1) 중 서로 매칭되는 것을 기준 점으로 설정할 수 있다(f).
차량용 전자장치는 상기 영상 내에서 상기 복수의 기준점들의 상하 이동을 파악할 수 있다. 상기 복수의 기준점은 상기 영상의 프레임 별로 프레임 내 위치가 달라질 수 있다. 차량용 전자장치는 프레임 변화에 따른 상기 복수의 기준점의 상하변화를 추적하여 수치화할 수 있다. 차량용 전자장치는 복수의 기준점의 상하변화 정도의 평균값을 산출할 수 있다. 예를 들어, 차량용 전자장치는 의 수식을 활용하여 차량의 상하 움직임 평균값 을 도출할 수 있다. pt는 시점 t의 특징점이고, 는 프레임간 특징점들의 상하 이동 평균 값으로서 차량의 상하 움직임 추정에 사용될 수 있다. 이때 수학식에서 i는 이미지 프레임의 번호를 나타내고, n은 마지막 이미지 프레임의 번호를 나타낸다 .
특징점에 따라 주변 차량이나 사람 등의 움직이는 물체일 수 있고, 영상 상단의 나무 또는 건물이나 영상 하단의 도로면 등 고정 물체일 수도 있으므로 영상 내 모든 매칭된 특징점들의 y축 평균 값을 사용한다.
차량용 전자장치는 복수의 기준점의 상하변화 정도의 평균값의 변화를 그래프화 할 수 있다. 차량용 전자장치는 복수의 기준점의 상하변화 정도의 평균값에서 노이즈를 제거할 수 있다. 예를 들어, 차량용 전자장치는 복수의 기준점의 상하 이동 정도의 평균값의 변화에 저역 필터를 통해 노이즈를 제거하여, 기준점 상하 이동 그래프를 생성할 수 있다. 기준점 상하 이동 그래프는 x축이 시간 y축이 높이일 수 있다. 차량용 전자장치는 의 수식에 기초하여 차량의 주행 진동으로부터 발생된 노이즈를 제거할 수 있으나, 이에 한정하지 아니한다. 는 차량이 과속방지턱을 통과할 때의 높이의 변화를 나타내는 것으로, 로부터 노이즈를 제거한 값이다.
도 18 및 도 19는 일 실시예에 따른 차량용 전자 장치가 촬영한 영상의 상하 움직임에 관한 파형을 도시한 그래프이다.
도 18을 참조하면, (a)는 y축 좌표들의 평균 값 를 나타내며 (b)는 를 나타낸다. 에 비해 노이즈가 줄어들었음을 확인할 수 있다. 도 19를 참조하면, 실제 차량의 주행간 과속방지턱을 통과할 때의 변화를 확인할 수 있다. 차량이 과속 방지턱을 통과할 때 발생하는 상하 이동 패턴은 M자 형태일 수 있다. 이는 과속방지턱이 요철을 포함하는 경우, 차량의 피치(pitch)가 올라갔다가 내려가는 공통적인 형태일 수 있다. 차량용 전자장치는 ht에서 상기와 같은 상하 이동 패턴을 확인하여 요철을 포함하는 과속방지턱인지 여부를 파악할 수 있다. 차량용 전자장치는 상기 M자 형태의 패턴이 확인되는 경우, 검출된 과속방지턱이 요철을 포함하는 실제 과속방지턱이라고 인식할 수 있다. 상기 M자 형태의 상하 이동 패턴이 발견되지 않으면, 과속방지턱이 요철을 포함하지 않는다고 판단할 수 있다. 차량용 전자장치는 과속방지턱의 위치 및 진위여부에 관한 과속방지턱 정보를 생성할 수 있다.
차량용 전자장치는 차량 서비스 제공서버로부터 복수의 차량용 전자장치가 제공한 과속방지턱 정보를 통합한 통합 과속방지턱 정보를 수신할 수 있다. 차량용 전자장치는 통합 과속방지턱 정보를 기반으로 실제 과속방지턱이 차량 전방에 있는 경우, 알림서비스를 제공할 수 있다.
도 20 및 21은 일 실시예에 따른 차량용 전자 장치 제어방법의 순서도이다.
도 20을 참조하면, 차량용 전자장치는 영상을 분석하여 이미지 내에서 과속방지턱을 식별할 수 있다(S501). 차량용 전자장치는 차량의 이동 중에 획득된 이미지 내에서과속 방지턱의 존재 여부를 추적할 수 있다(S502). 차량용 전자장치는 과속 방지턱의 식별이 정상적이었는지 계속적으로 파악할 수 있다. 그리고, 차량용 전자장치는 상기 과속 방지턱의 추적을 통해, 상기 과속 방지턱의 이미지 내에서 식별 여부에 대해서도 확인할 수 있다(S503).
차량용 전자장치는 이미지 내에서 과속 방지턱이 식별되지 않는 시점 t0를 특정하고, 상기 시점의 프레임에서 특징점을 추출할 수 있다(S504). 차량용 전자장치는 차량이 과속방지턱을 밟은 시점부터 복수의 영상의 프레임을 분석하여 특징점을 추출할 수 있다. 예를 들어, 차량용 전자장치는 t0 시점의 프레임과 바로 다음 프레임인 t+1 시점의 프레임을 서로 비교할 수 있다(S505). 차량용 전자장치는 t+1 시점의 프레임에서 특징점을 추출할 수 있다(S506). 차량용 전자장치는 t0 시점의 프레임내 특징 점들과 바로 다음 프레임인 t+1 시점의 프레임내 특 점들을 서로 매칭할 수 있다(S507).
차량용 전자장치는 매칭된 특징점인 기준점들의 상하 이동 평균값을 계산할 수 있다(S508). 차량용 전자장치는 저역 통과 필터(Low Pass Filter)(LPF)를 이용하여 기준점들의 상하 이동 평균값에서 차량 주행 진동으로 인한 노이즈를 제거할 수 있다(S509).
차량용 전자장치는 차량이 과속방지턱을 통과하기 직전의 시각으로부터 일정 시간 내에 상기 차량의 상하 움직임이 존재하는지 여부를 파악할 수 있다. 차량용 전자장치는 기준 점 상하 이동 그래프에서 차량이 과속방지턱을 통과하기 직전의 시각으로부터 일정 시간 내에 과속방지턱을 통과할 때 발생하는 상하 이동 패턴의 존재 여부를 추적할 수 있다(S510). 과속 방지턱을 통과할 때 발생하는 상하 이동 패턴은 M자 형태일 수 있다. 차량용 전자장치는 상기 상하 이동 패턴이 확인된 경우(S511), 과속방지턱이 요철을 포함하는 제1 과속 방지턱임을 식별할 수 있다(S513). 차량용 전자장치는 상기 상하 이동패턴이 정해진 시간 내에(S512), 확인되지 않는 경우, 요철을 포함하지 않는 과속방지턱인 제2 과속 방지턱임을 식별할 수 있다(S514).
도 21을 참조하면, 차량용 전자장치는 촬영한 영상에서 과속방지턱이 발견된 경우, 통합 과속방지턱 정보를 기초로 하여 요철을 포함한 과속방지턱에 한하여 알림 서비스를 제공할 수 있다(S601). 차량용 전자장치는 과속방지턱을 넘는 순간 과속방지턱의 요철 포함 여부 판단을 진행할 수 있다(S602). 차량용 전자장치는 과속방지턱의 요철 포함 여부 판단의 결과값인 과속방지턱 정보를 누적하여 저장할 수 있다(S603). 차량용 전자장치는 누적하여 저장된 과속방지턱 정보를 서버에 송신할 수 있다(S604). 서버에서는 과속방지턱 정보를 통합하여(S605) 차량용 전자장치에 송신할 수 있다(S606). 차량용 전자장치는 서버와의 지속적인 통신을 통해 통합 과속방지턱 정보를 갱신하여 최신화된 정보를 운전자에게 제공할 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
도 11은 일 실시예에 따른 차량 서비스 시스템의 개념도이고, 도 12는 일 실시예에 따른 차량용 전자 장치의 블록도이다.
도 11 및 12를 참조하면, 일 실시예에 따른 차량용 전자 장치(100)는 본 발명의 일 실시예에 따른 차량용 전자장치(100)는 차량의 전방 영상을 촬영하는 촬영부(116), 상기 차량의 위치를 파악하는 센서부(115), 상기 영상을 처리하여 상기 차량의 전방 영상에서 과속 방지턱을 검출하고, 상기 차량이 상기 과속 방지턱을 통과한 이후, 상기 과속 방지턱의 요철 포함 여부를 파악하고, 상기 과속 방지턱의 위치 및 상기 요철 포함 여부에 대한 정보 중 적어도 하나를 이용하여 과속방지턱 정보를 생성하는 프로세서(110) 및 상기 과속 방지턱 정보를 차량 서비스 제공 서버에 송신하는 통신부(130)를 포함할 수 있다.
차량용 전자장치(100)는 차량(102)의 전방 영상을 촬영할 수 있다. 차량용 전자장치(100)는 차량(102)의 현재 위치를 파악할 수 있다. 차량용 전자장치(100)는 영상을 처리하여 과속방지턱(400)을 검출할 수 있다. 차량용 전자장치(100)는 차량이 과속방지턱(400)을 통과한 이후 영상의 변화 정도를 파악할 수 있다. 차량용 전자장치(100)는 상기 영상의 변화 정도에 기초하여 과속방지턱의 요철 포함 여부를 파악할 수 있다.
차량용 전자장치(100)는 과속방지턱의 위치 및 요철 포함 여부에 관한 과속방지턱 정보를 생성할 수 있다. 차량용 전자장치(100)는 센서부(115)가 측정한 차량의 위치와 촬영부(116)가 촬영한 영상을 기반으로 과속방지턱(400)의 위치를 파악할 수 있다. 차량용 전자장치(100)는 영상의 변화정도에 기초하여 과속방지턱(400)의 요철 포함 여부를 파악할 수 있다. 차량용 전자장치(100)는 과속방지턱 정보를 차량 서비스 제공 서버(200)에 송신할 수 있다.
차량 서비스 제공 서버(200)는 차량용 전자장치(100)로부터 과속방지턱에 관한 정보를 수신할 수 있다. 차량 서비스 제공 서버(200)는 복수의 차량용 전자장치(100)로부터 수신한 과속방지턱 정보를 통합하여 통합 과속방지턱 정보를 생성할 수 있다. 통합 과속방지턱 정보는 도로 상의 과속방지턱이 요철없이 평탄한 면에 무늬와 색상만 칠해진 가상의 과속방지턱인지, 요철이 포함된 실제 과속방지턱인지 여부를 포함할 수 있다. 차량용 전자장치(100)는 통합 과속방지턱 정보를 수신하여 차량 운전자에게 요철을 포함한 과속방지턱이 전방에 존재하는 경우 알림 서비스를 제공할 수 있다.
차량 서비스 제공 서버(200)는 네비게이션 서비스를 사용하는 사용자 단말장치(300)에 통합 과속방지턱 정보를 송신할 수 있다. 사용자 단말장치(300)는 네비게이션 서비스를 통해 과속방지턱의 요철 포함 여부에 대한 정보를 수신할 수 있으나, 이는 하나의 실시예에 불과하여, 이 실시예에 한정하지 아니한다.
프로세서(110)는 촬영부(116)에 의해 촬영된 영상을 처리/분석할 수 있다. 프로세서(110)는 상기 촬영된 영상을 처리하여 과속방지턱을 검출할 수 있다. 구체적으로, 프로세서(110)는 딥 러닝(Deep learning) 모델을 통해, 촬영부(116)가 획득한 차량의 전방 영상에서 과속 방지턱을 식별할 수 있다. 프로세서(110)는 차량이 과속방지턱을 통과하기 이전의 영상과 통과한 이후의 영상간의 변화 정도를 측정할 수 있다. 프로세서(110)는 상기 영상들 간의 변화 정도에 기초하여 과속방지턱의 요철 포함 여부를 파악할 수 있다.
프로세서(110)는 센서부(115)가 측정한 차량의 위치 및 촬영부(116)가 촬영한 영상을 기반으로 과속방지턱의 위치를 계산할 수 있다. 프로세서(110)는 과속방지턱의 위치 및 요철 포함 여부에 관한 과속방지턱 정보를 생성할 수 있다.
구체적으로, 프로세서(110)는 상기 촬영부(116)가 획득한 영상에서 과속 방지턱이 식별되면, 식별된 과속방지턱의 테두리를 특정하여 경계 상자(bounding box)를 생성할 수 있다. 이때 프로세서(110)는 영상 내 존재하는 과속 방지턱을 검출하기 위해, 영상 내 존재하는 객체(object)를 검출하는 객체 검출(Object Detection) 방식을 사용할 수 있다. 예컨대, 프로세서(110)는 영상 내 과속 방지턱을 검출하기 위해 딥 러닝 기반의 객체 검출 모델을 사용될 수 있다.
구체적으로, 일 실시 예에 따른 딥 러닝 기반의 객체 검출 모델은, R-CNN 계열(R-CNN(Regions with Convolutional Neural Networks features), Fast R-CNN, Faster R-CNN, Mask R-CNN 등)과 같이 Regional Proposal과 Detection이 순차적으로 이루이지는 2단계 검출기(Two-stage Detector) 모델과 YOLO(You Only Look), SSD(Single-Shot Multibox Detector)과 같이 Regional Proposal과 Detection이 동시에 수행되는(즉, Region proposal을 One-stage로 진행하는) 1단계 검출기(One-stage Detector) 모델 등이 사용될 수 있으나, 이에 한정되지는 않는다.
프로세서(110)는 차량의 후드(hood)의 제1 지점(후드에서 차량의 전방 방향으로 가장 먼 지점)에 임의의 지점을 생성할 수 있다. 프로세서(110)는 상기 경계 상자와 상기 포인트 사이의 상관관계를 기반으로 과속방지턱의 위치를 계산할 수 있다.
프로세서(110)는 상기 경계 상자와 상기 포인트 사이의 상관관계를 기반으로 과속방지턱이 요철을 포함하는지 여부를 판단하는 기준이 되는 제1 시각을 특정할 수 있다. 프로세서(110)는 경계상자와 상기 차량 후드의 제1 지점 상에 설정된 가상의 포인트 사이의 거리에 기초하여, 상기 차량이 상기 과속방지턱을 통과하기 직전의 제1 시각을 특정할 수 있다. 예를 들어, 프로세서(110)는 촬영부(116)가 촬영한 영상에서 상기 경계 상자의 차량과 인접한 변과 상기 가상의 포인트가 중첩되는 프레임이 찍힌 시간을 제1 시각으로 특정할 수 있다.
프로세서(110)는 상기 제1 시각 이후 일정 시간 내에 상기 차량의 상하 움직임이 존재하는지 여부를 파악할 수 있다. 프로세서(110)는 촬영부(116)가 촬영한 영상에서 복수의 특징점(feature point)을 추출할 수 있다. 프로세서(110)는 상기 촬영부(116)가 획득한 영상의 각 프레임 마다 복수 개의 특징점들을 추출하고, 각 프레임마다 추출된 복수 개의 특징점들을 서로 매칭할 수 있다.
구체적으로, 프로세서(110)는 영상의 제1 프레임에서 추출된 복수 개의 특징 점들과 제2 프레임에서 추출된 복수 개의 특징점들 간을 비교하고, 제1 프레임의 특징 점들과 제2 프레임의 특징 점들간의 매칭 관계를 계산할 수 있다. 본 발명의 실시 예에 따른 프로세서(110)는 차량이 과속 방지턱에 진입하기 직전에 획득된 영에 해당하는 프레임에서 추출된 특징 점들을 기준 특징 점들(reference feature points)로 설정할 수 있다.
그리고, 프로세서(110)는 상기 촬영부(116)가 획득한 영상의 각 프레임마다 상기 기준 특징 점들에 해당하는 특징 점들의 추적을 수행함으로써, 차량이 과속 방지턱을 통과할 때 상하 방향으로 움직임이 발생했는지를 식별할 수 있다. 구체적으로, 프로세서(110)는 차량이 과속 방지턱에 진입하기 직전의 이미지 프레임(제1 이미지 프레임)내 특징 점들과 차량이 과속 방지턱을 통과한 직후의 이미지 프레임(제1 이미지 프레임)내 특징 점들간의 매칭 관계를 확인함으로써, 차량이 과속 방지턱을 통과하면서 상하 방향으로의 움직임이 발생했는지를 식별할 수 있다.
구체적으로, 프로세서(110)는, 상기 제1 이미지 프레임의 특징 점들과 상기 제2 이미지 프레임의 특징 점들 간의 상하 방향의 이동 범위를 계산하고, 계산된 이동 범위를 근거로 특징 점들의 상하 방향의 움직임 평균 값을 획득할 수 있다. 본 발명에서는 설명의 편의를 위해 제1 이미지 프레임에서 식별된 특징 점들을 제1 특징 점 그룹으로, 제2 이미지 프레임에서 상기 제1 이미지 프레임에서 식별된 특징 점들(제1 특징 점 그룹)에 매칭되는 특징 점들을 제2 특징 점 그룹으로 정의하기로 한다.
프로세서(110)는 프레임이 변화할 때 복수의 기준점의 상하 이동 정도의 평균값을 계산하여, 차량이 과속방지턱을 통과할 때 발생하는 상하 이동 패턴의 존재 여부를 추적할 수 있다. 프로세서(110)는 상기 상하 이동 패턴이 존재하는 경우, 차량이 통과한 과속방지턱이 요철을 포함하는 제1 과속 방지턱임을 식별할 수 있다.
프로세서(110)는 제1 이미지 프레임의 복수 개의 특징 점들인 제1 특징 점 그룹과 제2 이미지 프레임의 제2 특징 점 그룹들 간의 상하 이동 정도의 평균값을 시간의 변화에 따라 나타낸 상하 이동 그래프를 생성할 수 있다.프로세서(110)는 차량의 주행으로 인해 발생한 제1 특징 점 그룹과 제2 특징 점 그룹들에 포함된 각 특징 점마다 상하 이동 정도의 평균 값을 이용하여 상기 생성된 상하 이동 그래프에서 차량의 주행 진동으로 발생된 노이즈가 제거되도록 가공할 수 있다. 예를 들어, 프로세서(110)는 저역 필터(lowpass filter)를 사용하여 상기 제1 특징 점 그룹과 제2 특징 점 그룹간 상하 이동 정도의 평균 값에서 노이즈를 제거할 수 있으나, 이에 한정하지 아니한다.
촬영부(116)는 차량 주변을 촬영할 수 있다. 촬영부(116)는 차량의 주행 방향에 존재하는 과속 방지턱이 포함된 영상을 촬영할 수 있다.
센서부(115)는 차량의 위치를 파악할 수 있다. 센서부(115)는 GPS(Global Positioning System) 위성으로부터 수신되는 GPS 신호를 이용하여 차량의 위치를 측정할 수 있으나, 이에 한정되지 않는다. 센서부(115)는 일정 시간 간격마나 측정된 차량의 위치를 프로세서(110)에 제공할 수 있다.
통신부(130)는 프로세서(110)가 생성한 과속방지턱 정보를 차량 서비스 제공 서버에 송신할 수 있다. 통신부(130)는 차량 서비스 제공 서버로부터 서로 다른 복수의 차량으로부터 수집한 과속방지턱 정보를 통합한 통합 과속방지턱 정보를 수신할 수 있다.
프로세서(110)는 통합 과속방지턱 정보를 기반으로 상기 차량의 전방의 과속 방지턱이 요철을 포함하는 경우, 알람 서비스를 제공할 수 있다. 차량용 전자장치는 알람 서비스를 제공할 수 있는 표시부 또는 스피커를 포함할 수 있으나, 알림 서비스의 형태에 대해서는 한정하지 아니한다.
프로세서(110)는 미리 저장된 지도 데이터를 기준으로, 차량이 과속 방지턱이 존재하는 주변에 위치함을 식별함을 기초로, 과속 방지턱 검출 기능의 정상 동작을 식별할 수 있다. 프로세서(110)는 촬영부(116)가 촬영한 영상에 과속 방지턱이 식별될 경우, 상술한 실시 예를 통해 과속방지턱의 요철 포함 여부를 식별할 수 있다.
프로세서(110)는 기계 학습 기술에 기초하여 생성된 객체 추적 모델을 활용하여 과속방지턱 오검출 여부를 파악할 수 있다. 일 실시 예에서 상기 객체 추적 모델은 중심점 추적 모델(Centroid tracking modeler) 및 SORT(Simple Online and Realtime Tracking) 모델 중 어느 하나일 수 있다.
도 13 및 14는 일 실시예에 따른 차량용 전자 장치 제어방법의 순서도이다.
도 13을 참조하면, 일 실시예에 따른 차량용 전자 장치 제어방법은 차량의 전방 영상을 획득하는 영상 획득 단계(S310), 상기 획득한 전방 영상에서 과속방지턱을 검출하는 과속방지턱 검출 단계(S320), 상기 과속 방지턱이 검출되면, 상기 차량의 위치 정보를 획득하는 차량 위치 정보 획득 단계(S330), 상기 획득한 차량의 위치 정보를 기반으로 상기 과속 방지턱의 위치 정보를 생성하는 과속방지턱 위치정보 생성 단계(S340), 상기 과속방지턱의 요철 포함 여부를 파악하고, 상기 요철 포함 여부 및 상기 과속방지턱의 위치 중 적어도 하나를 이용하여 과속방지턱 정보를 생성하는 과속방지턱 정보 생성 단계(S350) 및 상기 과속방지턱 정보를 차량 서비스 제공 서버에 송신하는 과속방지턱 정보 송신 단계(S360)를 포함할 수 있다.
영상 획득 단계(S310)에서, 촬영부는 차량 전방의 영상을 촬영할 수 있다.
과속방지턱 검출 단계(S320)에서, 프로세서는 촬영부가 촬영한 영상을 처리하여 과속방지턱을 검출할 수 있다.
위치 정보 획득 단계(S330)에서, 프로세서는 차량의 현재 위치를 파악하고, 그를 기반으로 상기 과속방지턱의 위치를 계산할 수 있다. 과속방지턱 위치정보 생성 단계(S340)에서 프로세서는 차량이 과속방지턱을 통과하기 직전 시점에 과속 방지턱의 위치를 특정하여 과속 방지턱 위치 정보를 생성할 수 있다.
과속방지턱 정보 생성 단계(S350)에서, 프로세서는 차량이 상기 과속방지턱을 통과하기 직전의 이미지 프레임의 제1 특징 점 그룹과 상기 과속 방지턱을 통과한 이후의 이미지 프레임에서의 제2 특징 점 그룹들간의 변화 정도를 측정하여 상기 과속방지턱의 요철 포함 여부를 파악할 수 있다. 과속방지턱 정보 생성 단계(S350)에서, 프로세서는 과속방지턱의 테두리와 일치하는 경계상자와 상기 차량의 후드의 일단에 설정된 가상의 포인트 사이의 거리에 기초하여, 상기 차량이 상기 과속방지턱을 통과하기 직전의 제1 시각을 특정할 수 있다.
과속방지턱 정보 생성 단계(S350)에서, 프로세서는 상기 제1 시각 이후 일정 시간 내에 상기 차량의 상하 움직임이 존재하는지 여부를 파악할 수 있다. 과속방지턱 정보 생성 단계(S350)에서, 프로세서는 상기 영상의 제1 프레임 및 제2 프레임에서 복수의 특징점을 추출하고, 상기 제1 프레임의 특징점과 상기 제2 프레임의 특징점을 비교하여 서로 매칭되는 복수의 기준점을 설정할 수 있다.
과속방지턱 정보 생성 단계(S350)에서, 프로세서는 복수의 기준점의 상하 이동 정도의 평균값을 계산하여, 과속방지턱을 통과할 때 발생하는 상하 이동 패턴의 존재 여부를 추적할 수 있다. 과속방지턱 정보 생성 단계(S350)에서, 프로세서는 상기 상하 이동 패턴이 존재하는 경우, 상기 과속방지턱이 요철을 포함한다고 판단할 수 있다. 과속방지턱 정보 생성 단계(S350)에서, 프로세서는 상기 과속방지턱의 위치 및 요철 포함 여부 중 적어도 하나를 포함하는 과속방지턱 정보를 생성할 수 있다.
과속 방지턱 정보 송신 단계(S360)에서 통신부는 상기 과속방지턱 정보를 차량 서비스 제공 서버에 송신할 수 있다.
도 14를 참조하면, 일 실시예에 따른 차량용 전자 장치 제어방법은 차량 서비스 제공 서버로부터 서로 다른 차량들로부터 수집한 과속방지턱 정보를 통합한 통합 과속방지턱 정보를 수신하는 통합 과속방지턱 정보 수신 단계(S370), 통합 과속방지턱 정보를 기반으로 상기 차량의 전방의 과속 방지턱이 요철을 포함하는 제1 과속 방지턱인 경우에만, 알람 서비스를 제공하는 알람 서비스 제공단계(S380) 및 과속방지턱 감지 단계에서 감지한 과속방지턱이 오검출되었는지 여부를 파악하는 오검출 판정 단계를 더 포함할 수 있다.
통합 과속방지턱 정보 수신 단계(S370)에서, 통신부는 차량 서비스 제공 서버로부터 서로 다른 차량들로부터 수집한 과속방지턱 정보를 통합한 통합 과속방지턱 정보를 수신할 수 있다. 알람 서비스 제공단계(S370)에서 프로세서는 통합 과속방지턱 정보를 기반으로 상기 차량의 전방의 과속 방지턱이 요철을 포함하는 경우에, 알람 서비스를 제공할 수 있다. 알람 서비스를 제공하는 방식은 시각적 또는 청각적일 수 있으나, 그 방법에 한정하지 아니한다.
오검출 판정 단계에서 프로세서는 촬영부가 촬영한 영상의 복수의 프레임에 기초하여 과속방지턱 검출이 정상이었는지 여부를 추적할 수 있다. 오검출 판정 단계에서 프로세서는 기계 학습 기술에 기초하여 생성된 객체 추적 모델을 활용하여 과속방지턱 오검출 여부를 파악할 수 있다.
도 15 내지 17은 일 실시예에 따른 차량용 전자 장치의 동작에 관한 개념도이다.
도 15를 참고하면, 차량용 전자장치는 획득된 차량 전방 이미지에서 과속방지턱에 식별하는 경계 상자(bounding box)(400)를 검출할 수 있다(a). 차량용 전자장치는 차량의 후드의 일 지점에 가상의 포인트(P)를 설정할 수 있다. 차량용 전자장치는 경계 상자(400)와 상기 포인트(P)의 거리 변화를 감지하여 과속방지턱의 위치를 파악할 수 있다. 차량용 전자장치는 차량의 위치가 과속방지턱의 위치에 접근하는 과정에서 획득된 영상에 포함된 이미지의 프레임들을 이용하여(based on) 과속 방지턱 검출 기능의 정상여부를 파악할 수 있다(b).
차량용 전자장치는 경계상자(400)와 상기 포인트(P)의 거리 변화를 감지하여 차량이 과속방지턱을 통과하기 직전의 시각을 특정할 수 있다. 과속방지턱을 통과하기 직전의 시각은 상기 경계상자(400)의 차량과 가까운 변과 포인트(P)가 겹치는 시점(C)일 수 있으나, 이에 한정하지 아니한다.
예를 들어, 상기 가상의 포인트의 좌표가 P(x,y)인 경우, 과속방지턱의 경계상자가 상기 가상의 포인트의 좌표 P(x,y)를 넘어가는 시점인 시점 t0을 차량이 과속방지턱을 밟기 직전 시점으로 판단할 수 있다.
도 16을 참조하면, 차량용 전자장치(100)의 화각(field of view) 중 하방향 화각 범위와 후드의 일단이 교차하는 지점에 가상의 포인트(P)를 설정할 수 있으나, 이에 한정하지 아니한다. 가상의 포인트(P)는 차량(102)이 과속방지턱(400)을 통과하기 직전의 시간을 특정하기 위한 하나의 기준일 뿐이다.
가상의 포인트의 좌표 P(x,y)를 지정하는 것은 차량이 전방의 가속방지턱(400)을 역주행이나 갓길로 회피하여 주행하는 경우를 제외하기 위함일 수 있다. t0은 과속방지턱(400)이 차량의 전륜에 닿기까지 여유거리가 존재할 수 있으며, 그 여유 거리는 차량용 전자장치(카메라)의 장착 위치에서의 시야각이나 차량별 오버행(over hang) 길이에 따라 달라질 수 있다.
도 17을 참조하면, 차량용 전자장치는 촬영부가 촬영한 영상의 복수의 프레임을 서로 비교할 수 있다. 차량용 전자장치는 차량이 과속방지턱을 통과하기 직전의 시점인 t0 부터 사전에 정의된 마지막 시점인 tn까지 과속방지턱의 요철 포함 여부를 판별할 수 있다. 차량용 전자장치는 t0 부터 사전에 정의된 마지막 시점인 tn 사이의 영상의 각 프레임을 분석할 수 있다.
차량용 전자장치는 촬영부가 제1 시점에 획득한 차량의 전방 영상에 대한 제1 프레임(imgt-1)(1710)과 제2 시점에 획득한 전방 영상에 대한 제2 프레임(imgt)(1720)을 비교할 수 있다.
도 17에서 참조번호 1750은 제1 프레임(imgt-1)(1710)의 제1 특징 점 그룹들(1710-1)과 제2 프레임(imgt)(1720)의 제2 특징 점 그룹들(1720-1)간의 상호 매칭 관계를 설명하기 위한 도면이다.
구체적으로, 일 실시 예에 따른 차량용 전자 장치는, 제1 프레임(imgt-1)(1710)에서 추출된 제1 특징 점 그룹들(1710-1)과 제2 프레임(imgt)(1720)에서 추출된 제2 특징 점 그룹들(1720-1)간의 변화를 식별함에 근거하여, 차량의 움직임을 식별할 수 있다.
제1 프레임(1710) 및 제2 프레임(1720)는 t0부터 tn 사이의 어떤 시점에 촬영된 프레임일 수 있다. 예를 들어, 제1 프레임(1710)는 t-1 시점의 프레임이고, 제2 프레임(1720)은 t 시점의 프레임일 수 있다.
예를 들어, 차량용 전자장치는 t-1 시점의 이미지 프레임(1710)의 특징 점인 ft-1 과 t 시점의 이미지 프레임(1720)의 특징점인 ft를 추출할 수 있다.
차량용 전자장치는 t-1 시점의 프레임의 특징점인 ft-1 과 t 시점의 프레임의 특징점인 ft를 서로 비교할 수 있다. 예를 들어, 차량용 전자장치는 의 수식에 기초하여 ft-1 과 ft를 매칭할 수 있다. 차량용 전자장치는 ORB(Oriented FAST and Rotated BRIEF)를 테스트에 사용할 수 있으나, 이에 한정하지 아니한다. 차량용 전자장치는 BFMatcher (Brute Force) 알고리즘으로 특징점들을 매칭할 수 있으나, 이에 한정하지 아니한다.
차량용 전자장치는 제1 프레임(1710)에서 복수 개의 특징 점 그룹(1710-1)과 제2 프레임(1720)에서 복수 개의 특징 점 그룹(1720-1) 중 서로 매칭되는 것을 기준 점으로 설정할 수 있다(f).
차량용 전자장치는 상기 영상 내에서 상기 복수의 기준점들의 상하 이동을 파악할 수 있다. 상기 복수의 기준점은 상기 영상의 프레임 별로 프레임 내 위치가 달라질 수 있다. 차량용 전자장치는 프레임 변화에 따른 상기 복수의 기준점의 상하변화를 추적하여 수치화할 수 있다. 차량용 전자장치는 복수의 기준점의 상하변화 정도의 평균값을 산출할 수 있다. 예를 들어, 차량용 전자장치는 의 수식을 활용하여 차량의 상하 움직임 평균값 을 도출할 수 있다. pt는 시점 t의 특징점이고, 는 프레임간 특징점들의 상하 이동 평균 값으로서 차량의 상하 움직임 추정에 사용될 수 있다. 이때 수학식에서 i는 이미지 프레임의 번호를 나타내고, n은 마지막 이미지 프레임의 번호를 나타낸다 .
특징점에 따라 주변 차량이나 사람 등의 움직이는 물체일 수 있고, 영상 상단의 나무 또는 건물이나 영상 하단의 도로면 등 고정 물체일 수도 있으므로 영상 내 모든 매칭된 특징점들의 축 평균 값을 사용한다.
차량용 전자장치는 복수의 기준점의 상하변화 정도의 평균값의 변화를 그래프화 할 수 있다. 차량용 전자장치는 복수의 기준점의 상하변화 정도의 평균값에서 노이즈를 제거할 수 있다. 예를 들어, 차량용 전자장치는 복수의 기준점의 상하 이동 정도의 평균값의 변화에 저역 필터를 통해 노이즈를 제거하여, 기준점 상하 이동 그래프를 생성할 수 있다. 기준점 상하 이동 그래프는 x축이 시간 y축이 높이일 수 있다. 차량용 전자장치는
Figure pat00017
의 수식에 기초하여 차량의 주행 진동으로부터 발생된 노이즈를 제거할 수 있으나, 이에 한정하지 아니한다. 는 차량이 과속방지턱을 통과할 때의 높이의 변화를 나타내는 것으로, 로부터 노이즈를 제거한 값이다.
도 18 및 도 19는 일 실시예에 따른 차량용 전자 장치가 촬영한 영상의 상하 움직임에 관한 파형을 도시한 그래프이다.
도 18을 참조하면, (a)는 y축 좌표들의 평균 값 를 나타내며 (b)는 를 나타낸다. 에 비해 노이즈가 줄어들었음을 확인할 수 있다. 도 19를 참조하면, 실제 차량의 주행간 과속방지턱을 통과할 때의 ht의 변화를 확인할 수 있다. 차량이 과속 방지턱을 통과할 때 발생하는 상하 이동 패턴은 M자 형태일 수 있다. 이는 과속방지턱이 요철을 포함하는 경우, 차량의 피치(pitch)가 올라갔다가 내려가는 공통적인 형태일 수 있다. 차량용 전자장치는 ht에서 상기와 같은 상하 이동 패턴을 확인하여 요철을 포함하는 과속방지턱인지 여부를 파악할 수 있다. 차량용 전자장치는 상기 M자 형태의 패턴이 확인되는 경우, 검출된 과속방지턱이 요철을 포함하는 실제 과속방지턱이라고 인식할 수 있다. 상기 M자 형태의 상하 이동 패턴이 발견되지 않으면, 과속방지턱이 요철을 포함하지 않는다고 판단할 수 있다. 차량용 전자장치는 과속방지턱의 위치 및 진위여부에 관한 과속방지턱 정보를 생성할 수 있다.
차량용 전자장치는 차량 서비스 제공서버로부터 복수의 차량용 전자장치가 제공한 과속방지턱 정보를 통합한 통합 과속방지턱 정보를 수신할 수 있다. 차량용 전자장치는 통합 과속방지턱 정보를 기반으로 실제 과속방지턱이 차량 전방에 있는 경우, 알림서비스를 제공할 수 있다.
도 20 및 21은 일 실시예에 따른 차량용 전자 장치 제어방법의 순서도이다.
도 20을 참조하면, 차량용 전자장치는 영상을 분석하여 이미지 내에서 과속방지턱을 식별할 수 있다(S501). 차량용 전자장치는 차량의 이동 중에 획득된 이미지 내에서과속 방지턱의 존재 여부를 추적할 수 있다(S502). 차량용 전자장치는 과속 방지턱의 식별이 정상적이었는지 계속적으로 파악할 수 있다. 그리고, 차량용 전자장치는 상기 과속 방지턱의 추적을 통해, 상기 과속 방지턱의 이미지 내에서 식별 여부에 대해서도 확인할 수 있다(S503).
차량용 전자장치는 이미지 내에서 과속 방지턱이 식별되지 않는 시점 t0를 특정하고, 상기 시점의 프레임에서 특징점을 추출할 수 있다(S504). 차량용 전자장치는 차량이 과속방지턱을 밟은 시점부터 복수의 영상의 프레임을 분석하여 특징점을 추출할 수 있다. 예를 들어, 차량용 전자장치는 t0 시점의 프레임과 바로 다음 프레임인 t+1 시점의 프레임을 서로 비교할 수 있다(S505). 차량용 전자장치는 t+1 시점의 프레임에서 특징점을 추출할 수 있다(S506). 차량용 전자장치는 t0 시점의 프레임내 특징 점들과 바로 다음 프레임인 t+1 시점의 프레임내 특 점들을 서로 매칭할 수 있다(S507).
차량용 전자장치는 매칭된 특징점인 기준점들의 상하 이동 평균값을 계산할 수 있다(S508). 차량용 전자장치는 저역 통과 필터(Low Pass Filter)(LPF)를 이용하여 기준점들의 상하 이동 평균값에서 차량 주행 진동으로 인한 노이즈를 제거할 수 있다(S509).
차량용 전자장치는 차량이 과속방지턱을 통과하기 직전의 시각으로부터 일정 시간 내에 상기 차량의 상하 움직임이 존재하는지 여부를 파악할 수 있다. 차량용 전자장치는 기준 점 상하 이동 그래프에서 차량이 과속방지턱을 통과하기 직전의 시각으로부터 일정 시간 내에 과속방지턱을 통과할 때 발생하는 상하 이동 패턴의 존재 여부를 추적할 수 있다(S510). 과속 방지턱을 통과할 때 발생하는 상하 이동 패턴은 M자 형태일 수 있다. 차량용 전자장치는 상기 상하 이동 패턴이 확인된 경우(S511), 과속방지턱이 요철을 포함하는 제1 과속 방지턱임을 식별할 수 있다(S513). 차량용 전자장치는 상기 상하 이동패턴이 정해진 시간 내에(S512), 확인되지 않는 경우, 요철을 포함하지 않는 과속방지턱인 제2 과속 방지턱임을 식별할 수 있다(S514).
도 21을 참조하면, 차량용 전자장치는 촬영한 영상에서 과속방지턱이 발견된 경우, 통합 과속방지턱 정보를 기초로 하여 요철을 포함한 과속방지턱에 한하여 알림 서비스를 제공할 수 있다(S601). 차량용 전자장치는 과속방지턱을 넘는 순간 과속방지턱의 요철 포함 여부 판단을 진행할 수 있다(S602). 차량용 전자장치는 과속방지턱의 요철 포함 여부 판단의 결과값인 과속방지턱 정보를 누적하여 저장할 수 있다(S603). 차량용 전자장치는 누적하여 저장된 과속방지턱 정보를 서버에 송신할 수 있다(S604). 서버에서는 과속방지턱 정보를 통합하여(S605) 차량용 전자장치에 송신할 수 있다(S606). 차량용 전자장치는 서버와의 지속적인 통신을 통해 통합 과속방지턱 정보를 갱신하여 최신화된 정보를 운전자에게 제공할 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 차량용 전자장치 200: 차량 서비스 제공 서버
300: 사용자 단말장치 110: 프로세서
115: 센서부 116: 촬영부
130: 통신부

Claims (20)

  1. 차량의 전방 영상을 획득하는 단계;
    상기 획득한 전방 영상에서 과속방지턱을 검출하는 단계;
    상기 과속방지턱이 검출되면, 상기 차량의 위치 정보를 획득하는 단계;
    상기 획득한 차량의 위치 정보를 기반으로 상기 과속방지턱의 위치 정보를 생성하는 단계;
    상기 과속방지턱의 요철 포함 여부를 파악하고, 상기 요철 포함 여부 및 상기 과속방지턱의 위치 중 적어도 하나를 이용하여 과속방지턱 정보를 생성하는 단계; 및
    상기 과속방지턱 정보를 차량 서비스 제공 서버에 송신하는 단계를 포함하는 차량용 전자장치 제어방법.
  2. 제 1 항에 있어서,
    상기 과속방지턱 정보를 생성하는 단계에서,
    상기 과속방지턱의 테두리와 일치하는 경계상자와 상기 차량의 본네트의 전방 끝단에 설정된 가상의 포인트 사이의 거리에 기초하여, 상기 차량이 상기 과속방지턱을 통과하기 직전의 제1 시각을 특정하는 차량용 전자장치 제어방법.
  3. 제 2 항에 있어서,
    상기 과속방지턱 정보를 생성하는 단계에서,
    상기 제1 시각 이후 일정 시간 내에 상기 차량의 상하 움직임이 존재하는지 여부를 파악하는 차량용 전자장치 제어방법.
  4. 제 1 항에 있어서,
    상기 과속방지턱 정보를 생성하는 단계에서,
    상기 영상의 제1 프레임 및 제2 프레임에서 복수의 특징점을 추출하고, 상기 제1 프레임의 특징점과 상기 제2 프레임의 특징점을 비교하여 서로 매칭되는 복수의 기준점을 설정하는 차량용 전자장치 제어방법.
  5. 제 4 항에 있어서,
    상기 과속방지턱 정보를 생성하는 단계에서,
    상기 복수의 기준점의 상하 이동 정도의 평균값을 계산하여, 상기 차량이 상기 과속방지턱을 통과할 때 발생하는 상하 이동 패턴의 존재 여부를 추적하고,
    상기 상하 이동 패턴이 존재하는 경우, 상기 과속 방지턱이 상기 요철을 포함한다고 판단하는 차량용 전자장치 제어방법.
  6. 제 1 항에 있어서,
    서로 다른 차량들로부터 수집된 과속방지턱 정보를 통합한 통합 과속방지턱 정보를 상기 차량 서비스 제공 서버로부터 수신하는 단계를 더 포함하는 차량용 전자장치 제어방법.
  7. 제 6 항에 있어서,
    상기 통합 과속방지턱 정보를 기반으로 상기 차량의 전방의 과속 방지턱이 상기 요철을 포함하는 경우에, 알람 서비스를 제공하는 단계를 더 포함하는 차량용 전자장치 제어방법.
  8. 제 1 항에 있어서,
    상기 과속방지턱을 감지하는 단계에서 감지된 과속방지턱이 오검출되었는지 여부를 판정하는 단계를 더 포함하는 차량용 전자장치 제어방법.
  9. 차량의 전방 영상을 촬영하는 촬영부;
    상기 차량의 위치를 파악하는 센서부;
    상기 영상을 처리하여 상기 과속방지턱을 검출하고, 상기 차량이 상기 과속방지턱을 통과한 이후 상기 과속방지턱의 요철 포함 여부를 파악하고, 상기 과속방지턱의 위치 및 상기 요철 포함 여부 중 적어도 하나를 이용하여 과속방지턱 정보를 생성하는 프로세서; 및
    상기 과속방지턱 정보를 차량 서비스 제공 서버에 송신하는 통신부를 포함하는 차량용 전자장치.
  10. 제 9 항에 있어서,
    상기 프로세서는 상기 과속방지턱의 테두리와 일치하는 경계상자와 상기 차량의 본네트의 전방 끝단에 설정된 가상의 포인트 사이의 거리에 기초하여, 상기 차량이 상기 과속방지턱을 통과하기 직전의 제1 시각을 특정하는 차량용 전자장치.
  11. 제 10 항에 있어서,
    상기 프로세서는 상기 제1 시각 이후 일정 시간 내에 상기 차량의 상하 움직임이 존재하는지 여부를 파악하는 차량용 전자장치.
  12. 제 9 항에 있어서,
    상기 프로세서는 상기 영상의 제1 프레임 및 제2 프레임에서 복수의 특징점을 추출하고, 상기 제1 프레임의 특징점과 상기 제2 프레임의 특징점을 비교하여 서로 매칭되는 복수의 기준점을 설정하는 차량용 전자장치.
  13. 제 12 항에 있어서,
    상기 프로세서는 상기 복수의 기준점의 상하 이동 정도의 평균값을 계산하여, 상기 차량이 상기 과속방지턱을 통과할 때 발생하는 상하 이동 패턴의 존재 여부를 추적하고,
    상기 상하 이동 패턴이 존재하는 경우, 상기 과속 방지턱이 상기 요철을 포함한다고 판단하는 차량용 전자장치.
  14. 제 12 항에 있어서,
    상기 통신부는 상기 차량 서비스 제공 서버로부터 서로 다른 복수의 차량으로부터 수집한 과속방지턱 정보를 통합한 통합 과속방지턱 정보를 수신하는 차량용 전자장치.
  15. 제 14 항에 있어서,
    상기 프로세서는 상기 통합 과속방지턱 정보를 기반으로 상기 차량의 전방의 과속 방지턱이 상기 요철을 포함하는 경우에, 알람 서비스를 제공하는 차량용 전자장치.
  16. 제 9 항에 있어서,
    상기 프로세서는 상기 센서부가 측정한 차량 위치 및 상기 촬영부가 촬영한 영상을 기반으로 상기 과속방지턱의 위치를 계산하는 차량용 전자장치.
  17. 제 9 항에 있어서,
    상기 프로세서는 상기 차량이 상기 과속방지턱에 접근하는 동안, 과속방지턱 검출의 정상 여부를 파악하는 차량용 전자장치.
  18. 제 17 항에 있어서,
    상기 프로세서는 기계 학습 기술에 기초하여 생성된 객체 추적 모델을 활용하여 상기 과속방지턱의 오검출 여부를 파악하는 차량용 전자장치.
  19. 제 18 항에 있어서,
    상기 객체 추적 모델은 도심 트래커(Centroid tracker) 및 SORT(Simple Online and Realtime Tracking) 중 어느 하나인 차량용 전자장치.
  20. 제 18 항에 있어서,
    상기 프로세서는 상기 영상을 처리하여 상기 과속방지턱을 검출하는데 있어서 기계 학습 기술에 기초하여 생성된 객체 검출 모델을 활용할 수 있으며,
    상기 객체 검출 모델은 SSD(single shot multibox detector) 및 YOLO(you only look once) 중 적어도 어느 하나인 차량용 전자장치.
KR1020230101855A 2022-08-03 2023-08-03 주행 환경에 관한 기능을 개선한 차량용 전자 장치및 방법 KR20240019051A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/229,788 US20240161514A1 (en) 2022-08-03 2023-08-03 Electronic device and method for vehicle which enhances driving environment related function

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220096688 2022-08-03
KR20220096688 2022-08-03

Publications (1)

Publication Number Publication Date
KR20240019051A true KR20240019051A (ko) 2024-02-14

Family

ID=89896913

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230101855A KR20240019051A (ko) 2022-08-03 2023-08-03 주행 환경에 관한 기능을 개선한 차량용 전자 장치및 방법

Country Status (2)

Country Link
US (1) US20240161514A1 (ko)
KR (1) KR20240019051A (ko)

Also Published As

Publication number Publication date
US20240161514A1 (en) 2024-05-16

Similar Documents

Publication Publication Date Title
US11077850B2 (en) Systems and methods for determining individualized driving behaviors of vehicles
US10877485B1 (en) Handling intersection navigation without traffic lights using computer vision
US9712791B2 (en) Around view provision apparatus and vehicle including the same
CN105270179B (zh) 车辆驾驶辅助装置及车辆
KR102043060B1 (ko) 자율 주행 장치 및 이를 구비한 차량
JP2019175451A (ja) 交通状況のリアルタイム検出
US20200409387A1 (en) Image processing apparatus, image processing method, and program
JP2020115322A (ja) 車両位置推定のためのシステムおよび方法
JP7143857B2 (ja) 情報処理装置、情報処理方法、プログラム、及び、移動体
JP7180670B2 (ja) 制御装置、制御方法、並びにプログラム
JPWO2019077999A1 (ja) 撮像装置、画像処理装置、及び、画像処理方法
US11496707B1 (en) Fleet dashcam system for event-based scenario generation
WO2020031812A1 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び移動体
WO2021241189A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2019045364A (ja) 情報処理装置、自己位置推定方法、及び、プログラム
KR20210104184A (ko) 차량용 전자 장치 및 차량용 전자 장치의 동작 방법
KR20240019051A (ko) 주행 환경에 관한 기능을 개선한 차량용 전자 장치및 방법
US20220200701A1 (en) System and method for determining actions of a vehicle by visible light communication
US11932242B1 (en) Fleet dashcam system for autonomous vehicle operation
US20240161513A1 (en) Electronic Device and method for Vehicle which Enhances Parking Related Function Based on Artificial Intelligence
US20240157959A1 (en) Vehicle electronic device and method for providing notification related to parking environment based on image reading
KR20220048959A (ko) 이동체 추돌 방지 장치, 추돌 방지 방법 및 전자 장치
US20240161604A1 (en) Electronic Device and Method for Processing Data in an Intelligent Transport System
WO2020203241A1 (ja) 情報処理方法、プログラム、及び、情報処理装置
WO2020090320A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム