KR20220142590A - 차량 외관의 검출을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체 - Google Patents

차량 외관의 검출을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
KR20220142590A
KR20220142590A KR1020210048514A KR20210048514A KR20220142590A KR 20220142590 A KR20220142590 A KR 20220142590A KR 1020210048514 A KR1020210048514 A KR 1020210048514A KR 20210048514 A KR20210048514 A KR 20210048514A KR 20220142590 A KR20220142590 A KR 20220142590A
Authority
KR
South Korea
Prior art keywords
visual object
vehicle
video sequence
electronic device
computer vision
Prior art date
Application number
KR1020210048514A
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 KR1020210048514A priority Critical patent/KR20220142590A/ko
Priority to US17/715,145 priority patent/US20220335728A1/en
Publication of KR20220142590A publication Critical patent/KR20220142590A/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
    • 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
    • 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
    • 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
    • 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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • 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/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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • 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
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • 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
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • 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
    • 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
    • B60W2420/42
    • 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
    • B60W2554/00Input parameters relating to objects
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/20Static objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Landscapes

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

Abstract

다양한 실시예들에 따른, 전자 장치는, 디스플레이와, 입력 회로와, 인스트럭션들을 저장하도록 구성된 적어도 하나의 메모리와, 상기 인스트럭션들을 실행할 시, 제1 이미지를 획득하고, 상기 제1 이미지로부터 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 포함하는 영역을 잘라내는(crop) 것에 응답하여, 상기 영역에 대한 속성(attribute)을 입력하기 위한 필드들(차종을 상기 속성으로 입력하기 위한 제1 필드 및 상기 잠재적 차량 외관에 대응하는 피사체와 상기 제1 이미지를 획득한 카메라 사이의 위치 관계를 상기 속성으로 입력하기 위한 제2 필드를 포함함)을 상기 디스플레이를 통해 표시하고, 상기 필드들을 표시하는 동안, 상기 제1 필드 및 상기 제2 필드를 포함하는 상기 필드들 각각에 대한 사용자 입력을 상기 입력 회로를 통해 수신함으로써, 상기 속성에 대한 정보를 획득하고, 상기 정보의 획득에 응답하여, 상기 영역으로 구성된 제2 이미지를, 상기 정보와 연계로, 차량 검출(vehicle detection)을 위한 컴퓨터 비젼(computer vision) 모델의 트레이닝을 위한 데이터 세트 내에, 저장하도록, 구성되는 적어도 하나의 프로세서를 포함할 수 있다.

Description

차량 외관의 검출을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체{ELECTRONIC DEVICE, METHOD, AND COMPUTER READABLE STORAGE MEDIUM FOR DETECTION OF VEHICLE APPEARANCE}
아래의 설명들은 차량 외관의 검출을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체에 관한 것이다.
자율 주행이란, 운전자 또는 승객의 사용자 입력 없이, 차량을 주행하는 것을 의미한다. 이러한 자율 주행은, 운전자 또는 승객이 주행 환경을 모니터링하는 레벨들과 차량과 관련된 자율 주행 시스템이 주행 환경을 모니터링하는 레벨들로 분류될 수 있다. 예를 들면, 운전자 또는 승객이 주행 환경을 모니터링하는 레벨들은, 차량 내에서 조향 지원 시스템 또는 가속/감속 지원 시스템이 실행되지만, 운전자가 차량의 동적 주행에 대한 모든 기능을 수행하는 단계에 해당하는 레벨 1(운전자 지원 레벨, drive assistance level) 및 차량 내에서 조향 지원 시스템 또는 가속/감속 지원 시스템이 실행되지만, 주행 환경의 모니터링은 운전자의 조작에 의해 수행되는 레벨 2(부분 자동화 레벨, partial automation level)를 포함한다. 예를 들면, 차량과 관련된 자율 주행 시스템이 주행 환경을 모니터링하는 레벨들은, 상기 자율 주행 시스템이 주행과 관련된 조작의 모든 측면을 제어하지만, 상기 자율 주행 시스템이 운전자의 개입을 요청하면 상기 운전자가 상기 차량을 제어하여야 하는 레벨 3(조건부 자동화 레벨, conditional automation level), 차량과 관련된 자율 주행 시스템이 주행에 대한 핵심 제어, 주행 환경 모니터링, 및 비상(emergency) 시의 대처 등을 모두 수행하지만, 운전자가 부분적으로 개입하는 것을 요구하는 레벨 4(고도 자동화 레벨, high automation level), 및 모든 도로 조건과 환경에서 차량과 관련된 자율 주행 시스템이 항상 주행을 수행하는 레벨 5(완전 자동화 레벨, full automation)을 포함한다.
자율 주행이 가능한 차량은, 필수적으로 상기 차량 주변의 상태에 대한 정보를 획득하는 것을 요구한다. 예를 들면, 자율 주행이 가능한 차량은 차량 주변의 상태에 대한 정보로 상기 차량 주변에 다른 차량이 위치되는지 여부에 대한 정보를 획득할 수 있다. 예를 들면, 상기 차량은, 이미지로부터 차량 외관을 검출함으로써 상기 차량 주변에 상기 다른 차량이 위치되는지 여부를 식별할 수 있다.
본 문서에서 이루고자 하는 기술적 과제는 상술한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 실시예들에 따른, 전자 장치는, 디스플레이와, 입력 회로와, 인스트럭션들을 저장하도록 구성된 적어도 하나의 메모리와, 상기 인스트럭션들을 실행할 시, 제1 이미지를 획득하고, 상기 제1 이미지로부터 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 포함하는 영역을 잘라내는(crop) 것에 응답하여, 상기 영역에 대한 속성(attribute)을 입력하기 위한 필드들(차종을 상기 속성으로 입력하기 위한 제1 필드 및 상기 잠재적 차량 외관에 대응하는 피사체와 상기 제1 이미지를 획득한 카메라 사이의 위치 관계를 상기 속성으로 입력하기 위한 제2 필드를 포함함)을 상기 디스플레이를 통해 표시하고, 상기 필드들을 표시하는 동안, 상기 제1 필드 및 상기 제2 필드를 포함하는 상기 필드들 각각에 대한 사용자 입력을 상기 입력 회로를 통해 수신함으로써, 상기 속성에 대한 정보를 획득하고, 상기 정보의 획득에 응답하여, 상기 영역으로 구성된 제2 이미지를, 상기 정보와 연계로, 차량 검출(vehicle detection)을 위한 컴퓨터 비젼(computer vision) 모델의 트레이닝을 위한 데이터 세트 내에, 저장하도록, 구성되는 적어도 하나의 프로세서를 포함할 수 있다.
다양한 실시예들에 따른, 디스플레이 및 입력 회로를 가지는 전자 장치를 동작하기 위한 방법은, 제1 이미지를 획득하는 동작과, 상기 제1 이미지로부터 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 포함하는 영역을 잘라내는(crop) 것에 응답하여, 상기 영역에 대한 속성(attribute)을 입력하기 위한 필드들(차종을 상기 속성으로 입력하기 위한 제1 필드 및 상기 잠재적 차량 외관에 대응하는 피사체와 상기 제1 이미지를 획득한 카메라 사이의 위치 관계를 상기 속성으로 입력하기 위한 제2 필드를 포함함)을 상기 디스플레이를 통해 표시하는 동작과, 상기 필드들을 표시하는 동안, 상기 제1 필드 및 상기 제2 필드를 포함하는 상기 필드들 각각에 대한 사용자 입력을 상기 입력 회로를 통해 수신함으로써, 상기 속성에 대한 정보를 획득하는 동작과, 상기 정보의 획득에 응답하여, 상기 영역으로 구성된 제2 이미지를, 상기 정보와 연계로, 차량 검출(vehicle detection)을 위한 컴퓨터 비젼(computer vision) 모델의 트레이닝을 위한 데이터 세트 내에, 저장하는 동작을 포함할 수 있다.
다양한 실시예들에 따른 컴퓨터 판독가능 저장 매체(computer readable storage medium)는, 디스플레이 및 입력 회로를 가지는 전자 장치의 적어도 하나의 프로세서에 의해 실행될 시, 제1 이미지를 획득하고, 상기 제1 이미지로부터 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 포함하는 영역을 잘라내는(crop) 것에 응답하여, 상기 영역에 대한 속성(attribute)을 입력하기 위한 필드들(차종을 상기 속성으로 입력하기 위한 제1 필드 및 상기 잠재적 차량 외관에 대응하는 피사체와 상기 제1 이미지를 획득한 카메라 사이의 위치 관계를 상기 속성으로 입력하기 위한 제2 필드를 포함함)을 상기 디스플레이를 통해 표시하고, 상기 필드들을 표시하는 동안, 상기 제1 필드 및 상기 제2 필드를 포함하는 상기 필드들 각각에 대한 사용자 입력을 상기 입력 회로를 통해 수신함으로써, 상기 속성에 대한 정보를 획득하고, 상기 정보의 획득에 응답하여, 상기 영역으로 구성된 제2 이미지를, 상기 정보와 연계로, 차량 검출(vehicle detection)을 위한 컴퓨터 비젼(computer vision) 모델의 트레이닝을 위한 데이터 세트 내에, 저장하도록, 상기 전자 장치를 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다.
다양한 실시예들에 따른, 차량 내의 전자 장치는, 트레이닝된(trained) 컴퓨터 비젼 모델 및 인스트럭션들을 포함하는 메모리와, 상기 인스트럭션들을 실행할 시, 상기 차량과 관련된 카메라를 통해, 비디오 시퀀스(video sequence)를 획득하고, 획득되는 상기 비디오 시퀀스 내에서 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 검출하는 것에 응답하여, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 지정된 시간 동안 유지되는지 여부를 식별하고, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 시각적 객체가 차량 외관에 대응하는지 여부를 상기 트레이닝된 컴퓨터 비젼 모델를 이용하여 결정하고, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지되지 않음을 식별하는 것에 응답하여, 상기 시각적 객체가 차량 외관에 대응하는지 여부를 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 결정하는 것을 우회하도록, 구성되는 적어도 하나의 프로세서를 포함할 수 있다.
다양한 실시예들에 따른, 트레잉된 컴퓨터 비젼 모델을 포함하는 차량 내의 전자 장치를 동작하기 위한 방법은, 상기 차량과 관련된 카메라를 통해, 비디오 시퀀스(video sequence)를 획득하는 동작과, 획득되는 상기 비디오 시퀀스 내에서 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 검출하는 것에 응답하여, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 지정된 시간 동안 유지되는지 여부를 식별하는 동작과, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 시각적 객체가 차량 외관에 대응하는지 여부를 상기 트레이닝된 컴퓨터 비젼 모델를 이용하여 결정하는 동작과, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지되지 않음을 식별하는 것에 응답하여, 상기 시각적 객체가 차량 외관에 대응하는지 여부를 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 결정하는 것을 우회하는 동작을 포함할 수 있다.
다양한 실시예들에 따른, 컴퓨터 판독가능 저장 매체는, 트레이닝된 컴퓨터 비젼 모델을 포함하는 차량 내의 전자 장치의 적어도 하나의 프로세서에 의해 실행될 시, 상기 차량과 관련된 카메라를 통해, 비디오 시퀀스(video sequence)를 획득하고, 획득되는 상기 비디오 시퀀스 내에서 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 검출하는 것에 응답하여, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 지정된 시간 동안 유지되는지 여부를 식별하고, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 시각적 객체가 차량 외관에 대응하는지 여부를 상기 트레이닝된 컴퓨터 비젼 모델를 이용하여 결정하고, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지되지 않음을 식별하는 것에 응답하여, 상기 시각적 객체가 차량 외관에 대응하는지 여부를 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 결정하는 것을 우회하도록, 상기 전자 장치를 야기하는 인스트럭션들을 포함하는 하나 이상의 프로그램들을 저장할 수 있다.
다양한 실시예들에 따른 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체는, 잠재적 차량 외관(potential vehicle appearance)에 대한 속성에 대한 정보를 사용자 입력에 기반하여 획득하고, 상기 획득된 정보를 컴퓨터 비젼 모델의 트레이닝을 위한 데이터 세트로 저장함으로써, 상기 컴퓨터 비젼 모델의 트레이닝의 효율성을 강화할 수 있다.
다양한 실시예들에 따른 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체는, 지정된 시간 동안 잠재적 차량 외관에 대응하는 시각적 객체가 비디오 시퀀스 내에서 유지되는지 여부를 식별함으로써, 차량 주변의 객체가 차량 외관에 대응하는지 여부를 검출하기 위한 동작의 효율성을 강화할 수 있다.
본 개시에서 얻을 수 있는 효과는 상술한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 차량의 적어도 일부를 통해 노출된 카메라를 통해 획득되는 이미지의 예를 도시한다.
도 2는 다양한 실시예들에 따른 전자 장치들을 포함하는 환경의 예를 도시한다.
도 3은 다양한 실시예들에 따라 컴퓨터 비젼 모델의 트레이닝을 위한 데이터 세트를 저장하는 방법을 도시하는 흐름도이다.
도 4는 다양한 실시예들에 따른 전자 장치의 디스플레이 상에 표시되는 사용자 인터페이스의 예를 도시한다.
도 5는 다양한 실시예들에 따라 로드 뷰로부터 제1 이미지를 획득하는 방법을 도시하는 흐름도이다.
도 6은 다양한 실시예들에 따라 제1 이미지로부터 잠재적 차량 외관에 대응하는 시각적 객체를 포함하는 영역을 잘라내는 방법을 도시하는 흐름도이다.
도 7은 다양한 실시예들에 따라 제1 이미지로부터 잠재적 차량 외관에 대응하는 시각적 객체를 포함하는 영역을 잘라내는 방법의 예를 도시한다.
도 8a 내지 도 8d는 다양한 실시예들에 따라 제1 이미지로부터 잘라내어진 이미지들의 예를 도시한다.
도 9는 다양한 실시예들에 따라 컴퓨터 비젼 모델을 트레이닝하는 방법을 도시하는 흐름도이다.
도 10은 다양한 실시예들에 따라 비디오 시퀀스의 적어도 일부 내에 포함된 시각적 객체가 차량 외관에 대응하는지 여부를 컴퓨터 비젼 모델을 이용하여 결정하는 방법을 도시하는 흐름도이다.
도 11a는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스에 기반하여 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 방법을 도시하는 흐름도이다.
도 11b는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스의 예를 도시한다.
도 12a는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스에 기반하여 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 다른 방법을 도시하는 흐름도이다.
도 12b는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스의 다른 예를 도시한다.
도 13a는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스에 기반하여 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 또 다른 방법을 도시하는 흐름도이다.
도 13b는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스의 또 다른 예를 도시한다.
도 14는 다양한 실시예들에 따라 추출된 특징점들에 대한 데이터에 기반하여 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 방법을 도시하는 흐름도이다.
도 15a는 다양한 실시예들에 따라 시각적 객체의 자세를 변환한 새로운 비디오 시퀀스에 기반하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 방법을 도시하는 흐름도이다.
도 15b는 다양한 실시예들에 따라 시각적 객체의 자세를 변환하는 예를 도시한다.
도 16은 다양한 실시예들에 따라 시각적 객체의 밝기를 변환한 새로운 비디오 시퀀스에 기반하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 방법을 도시하는 흐름도이다.
도 17은 다양한 실시예들에 따라 시각적 객체의 색상을 변환한 새로운 비디오 시퀀스에 기반하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 방법을 도시하는 흐름도이다.
도 18a는 다양한 실시예들에 따라 비디오 시퀀스 내의 시각적 객체가 차량 외관에 대응한다는 결정에 기반하여 정보를 표시하는 방법을 도시하는 흐름도이다.
도 18b는 다양한 실시예들에 따라 전자 장치 240의 디스플레이 상에서 표시되는 정보의 예를 도시한다.
도 18c는 다양한 실시예들에 따른 차량 검출에 기반하여 자율 주행을 위한 신호를 송신하는 방법의 예를 도시한다.
도 19는 다양한 실시예들에 따른 전자 장치들의 간소화된 블록도(simplified block diagram)이다.
도 20은 다양한 실시예들에 따른 전자 장치를 포함하는 차량의 예를 도시한다.
도 21은 다양한 실시예들에 따른 전자 장치의 기능적 구성의 예를 도시한다.
도 22는 다양한 실시예들에 따른 전자 장치와 관련된 게이트웨이의 예를 도시한다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 설명된다.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
도 1은 차량의 적어도 일부를 통해 노출된 카메라를 통해 획득되는 이미지의 예를 도시한다.
도 1을 참조하면, 이미지 100은, 차량의 적어도 일부를 통해 노출된 카메라를 통해 획득될 수 있다. 예를 들면, 상기 카메라는, 상기 카메라의 광축(또는 FOV(field of view)이 상기 차량의 전방을 향하도록, 상기 차량 내에서 배치될 수 있다. 일부 실시예들에서, 상기 카메라는, 상기 차량의 출고 시, 상기 차량 내에 임베디드될 수 있다. 다른 일부 실시예들에서, 상기 카메라는, 상기 차량의 출고 후, 상기 차량 내에 임베디드될 수 있다. 또 다른 일부 실시예들에서, 상기 카메라는, 상기 차량의 출고 후, 상기 차량에 탈착가능하게 부착될 수 있다. 예를 들면, 상기 카메라는, 상기 차량의 출고 후, 상기 차량에 탈착가능하게 부착된 대쉬 캠(dash cam)일 수 있다. 다른 예를 들면, 상기 카메라는, 스마트 폰, 태블릿 PC과 같이 차량에 거치 가능한 사용자의 모바일 기기(mobile device)의 카메라일 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 이미지 100은, 상기 차량의 전방에 대한 정보를 포함할 수 있다. 예를 들면, 이미지 100은, 상기 차량의 전방에 위치된, 차량 외관에 대응하는 시각적 객체 110을 포함할 수 있다. 다른 예를 들면, 이미지 100은, 상기 차량의 전방에 위치된 사람 외관(human appearance)에 대응하는 시각적 객체 120을 포함할 수 있다. 또 다른 예를 들면, 이미지 100은, 상기 차량의 전방에 위치된 신호등 외관에 대응하는 시각적 객체 130을 포함할 수 있다. 또 다른 예를 들면, 이미지 100은, 상기 차량의 주변에 위치된 차선 외관에 대응하는 시각적 객체 140을 포함할 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 상기 카메라를 통해 획득된 이미지 100은, 상기 차량 내에 포함된 전자 장치 또는 상기 차량과 관련된 전자 장치에게, 제공될 수 있다. 다양한 실시예들에서, 상기 차량 내에 포함된 상기 전자 장치 또는 상기 차량과 관련된 상기 전자 장치에 의해 획득된 이미지 100은, 이미지 100으로부터 정보를 추출하기 위해, 상기 전자 장치와 관련된 컴퓨터 비젼 모델에게 제공될 수 있다. 실시예들에 따라, 이미지 100은, 상기 전자 장치에 의해 처리된 후, 상기 컴퓨터 비젼 모델에게 제공될 수도 있다. 하지만, 이에 제한되지 않는다.
도 2는 다양한 실시예들에 따른 전자 장치들을 포함하는 환경의 예를 도시한다.
도 2를 참조하면, 환경 200은, 전자 장치 210, 전자 장치 220, 및 전자 장치 240을 포함할 수 있다.
다양한 실시예들에서, 전자 장치 210은, 전자 장치 220에 의해 트레이닝되는 컴퓨터 비젼 모델 225를 위한 데이터 세트(data set)를 획득하기 위해, 이용될 수 있다.
예를 들면, 전자 장치 210은, 차량 외관에 대응하는 시각적 객체를 포함하는 이미지를 획득할 수 있다. 전자 장치 210은, 상기 획득된 이미지 내에 포함된 상기 시각적 객체 또는 상기 시각적 객체를 포함하는 영역에 대한 속성에 대한 정보를, 사용자 입력에 기반하여, 획득할 수 있다. 전자 장치 210은, 상기 획득된 이미지의 적어도 일부를 상기 속성에 대한 정보와 연계로, 상기 데이터 세트 내에 저장할 수 있다. 전자 장치 210은, 상기 데이터 세트를 전자 장치 220에게 제공할 수 있다.
다양한 실시예들에서, 전자 장치 220은, 컴퓨터 비젼 모델 225를 트레이닝하기 위해 이용될 수 있다.
예를 들면, 전자 장치 220은, 전자 장치 210으로부터 상기 데이터 세트를 획득할 수 있다. 전자 장치 220은, 상기 데이터 세트를 컴퓨터 비젼 모델 225에게 제공할 수 있다. 예를 들면, 컴퓨터 비젼 모델 225는, 차량 230 내에 포함된 전자 장치 240에게 차량 230과 관련된 카메라 227을 통해 획득된 이미지 내에서 차량 외관에 대응하는 시각적 객체가 있는지 여부에 대한 정보를 제공하기 위해, 전자 장치 220에 의해 트레이닝되는 모델일 수 있다. 예를 들면, 컴퓨터 비젼 모델 225는, 상기 트레이닝을 위해, 전자 장치 220 내에 저장될 수 있다. 다른 예를 들면, 컴퓨터 비젼 모델 225는, 상기 트레이닝을 위해, 전자 장치 220와 통신 연결될 수 있다. 하지만, 이에 제한되지 않는다.
한편, 컴퓨터 비젼 모델 225는, 상기 데이터 세트를 전자 장치 220으로부터 획득할 수 있다. 컴퓨터 비젼 모델 225는, 상기 데이터 세트에 기반하여, 트레이닝을 수행할 수 있다. 예를 들면, 컴퓨터 비젼 모델 225는, 상기 데이터 세트 내의 이미지(또는 이미지의 일부) 및 상기 데이터 세트 내의 상기 이미지(또는 상기 이미지의 일부)와 연계된 상기 속성에 대한 정보에 기반하여, 트레이닝을 수행할 수 있다. 컴퓨터 비젼 모델 225는, 상기 트레이닝을 수행하는 동안, 상기 이미지(또는 상기 이미지의 일부)로부터 특징점들을 추출하고, 상기 추출된 특징점들과 상기 속성에 대한 정보 사이의 관계 정보를 획득할 수 있다. 예를 들면, 상기 특징점들의 추출은, grayscale intensity, RGB(red, green, blue) color information, HSV(hue, saturation, value) color information, YIQ color information, edge information (grayscale, binary, eroded binary) 등에 기반하여 수행될 수 있다.
다양한 실시예들에서, 컴퓨터 비젼 모델 225는, 상기 관계 정보에 기반하여 이미지 내에 차량 외관에 대응하는 시각적 객체가 포함되는지 여부를 결정할 수 있다. 상기 결정의 신뢰도가 기준 신뢰도 이상에 도달하는 경우, 전자 장치 220에 의해 트레이닝된 컴퓨터 비젼 모델 225은, 전자 장치 240과 관련될 수 있다. 예를 들면, 전자 장치 220에 의해 트레이닝된 컴퓨터 비젼 모델 225는, 전자 장치 240 내에 포함될 수 있다. 다른 예를 들면, 전자 장치 220에 의해 트레이닝된 컴퓨터 비젼 모델 225는, 전자 장치 220과 구별되는 장치로 차량 230 내에 위치되고, 전자 장치 240와 무선 또는 유선으로(by wireless or by wire) 연결될 수 있다. 또 다른 예를 들면, 전자 장치 220에 의해 트레이닝된 컴퓨터 비젼 모델 225는, 전자 장치 220과 구별되는 장치로 차량 230 외부에 위치되고, 전자 장치 240과 무선 또는 유선으로 연결될 수 있다. 하지만, 이에 제한되지 않는다.
예를 들면, 전자 장치 240과 관련된 컴퓨터 비젼 모델 225는, 카메라 227를 통해 획득된 이미지 내에 차량 외관에 대응하는 시각적 객체가 포함되는지 여부를 결정할 수 있다.
다양한 실시예들에서, 전자 장치 240는, 차량 230 내에 포함된 전자 장치일 수 있다. 다양한 실시예들에서, 전자 장치 240는, 차량 230의 출고 전에 차량 230 내에 임베디드될 수 있다. 다양한 실시예들에서, 전자 장치 240는, 차량 230의 출고 후 별도의 공정을 통해 차량 230 내에 임베디드될 수도 있다. 다양한 실시예들에서, 전자 장치 240는, 차량 230의 출고 후, 탈착가능하게 차량 230에 부착될 수도 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 전자 장치 240는, 전자 장치 240와 관련된 카메라 227를 통해 획득된 이미지 내에서 차량 외관에 대응하는 시각적 객체가 포함되는지 여부를 결정하기 위해 이용될 수 있다. 예를 들면, 전자 장치 240는, 전자 장치 220에 의해 트레이닝된 컴퓨터 비젼 모델 225을 이용하여, 카메라 227의 FOV 내에 위치된 차량 250에 대응하는 시각적 객체가 카메라 227을 통해 획득된 이미지 내에 포함됨을 결정할 수 있다.
도 2는 카메라 227의 위치가 차량의 전면에 위치하는 예를 도시하고 있으나, 이는 설명의 편의를 위한 것이다. 실시예들에 따라, 카메라 227의 위치는 변경될 수 있다. 예를 들면, 카메라 227은 차량의 대쉬 보드(Dash board) 또는 전면 유리창(wind shied) 상부 또는 룸 미러(room mirror)에 위치될 수 있다. 다른 예를 들면, 카메라 227은, 차량의 리어의 적절한 위치에 위치될 수도 있다.
도 3은 다양한 실시예들에 따라 컴퓨터 비젼 모델의 트레이닝을 위한 데이터 세트를 저장하는 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 210 또는 전자 장치 210의 프로세서에 의해 실행될 수 있다.
도 4는 다양한 실시예들에 따른 전자 장치의 디스플레이 상에 표시되는 사용자 인터페이스의 예를 도시한다.
도 3을 참조하면, 동작 301에서, 전자 장치 210은, 제1 이미지를 획득할 수 있다. 예를 들면, 전자 장치 210은, 외부 전자 장치로부터 상기 외부 전자 장치에 의해 획득된 상기 제1 이미지에 대한 정보를 수신함으로써 상기 제1 이미지를 획득할 수 있다. 다른 예를 들면, 전자 장치 210은, 전자 장치 210의 카메라 또는 전자 장치 210와 연결된 외부 카메라로부터, 상기 제1 이미지를 획득할 수 있다.
동작 303에서, 전자 장치 210은, 상기 제1 이미지를 획득하는 것에 기반하여, 상기 제1 이미지로부터 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 포함하는 영역을 잘라낼(crop) 수 있다. 다양한 실시예들에서, 상기 잠재적 차량 외관에 대응하는 상기 시각적 객체는, 전자 장치 210이, 상기 제1 이미지의 분석에 기반하여, 차량 외관에 대응한다고 식별한 시각적 객체일 수 있다. 예를 들면, 상기 제1 이미지 내의 상기 시각적 객체는, 전자 장치 210의 분석에 기반하여 식별된 시각적 객체로, 차량과 구별되는(distinct from) 다른 피사체에 대응할 수 있기 때문에, 본 문서 내에서 잠재적 차량 외관에 대응한다로 본 문서에서 표현될 수 있다.
한편, 실시예들에 따라, 전자 장치 210은, 상기 제1 이미지를 전자 장치 210의 디스플레이를 통해 표시하고, 전자 장치 210의 상기 디스플레이를 통해 표시된 제1 이미지를 바라보는 사용자로부터 상기 제1 이미지 내에서 상기 잠재적 차량 외관에 대응하는 상기 시각적 객체를 포함하는 상기 영역을 정의하는 사용자 입력을 수신하고, 상기 수신된 사용자 입력에 기반하여, 상기 제1 이미지로부터 상기 잠재적 차량 외관에 대응하는 상기 시각적 객체를 포함하는 상기 영역을 잘라낼 수도 있다. 하지만, 이에 제한되지 않는다. 한편, 상기 사용자 입력은, 상기 사용자가 상기 영역을 직접 그리는(drawing) 수기 입력 또는 상기 시각적 객체를 선택하는 탭 입력을 포함할 수 있다.
한편, 다양한 실시예들에서, 전자 장치 210은, 상기 제1 이미지로부터 잘라내어지는 상기 영역을 지시하기 위한 정보를 전자 장치 210의 상기 디스플레이를 통해 표시할 수도 있다. 예를 들어, 도 4를 참조하면, 전자 장치 210은, 전자 장치 210의 상기 디스플레이를 통해, 사용자 인터페이스 400을 상태 401에서 표시할 수 있다. 예를 들면, 전자 장치 201은, 상기 영역을 잘라내는 것에 응답하여, 상태 401 내에 있을 수 있다. 예를 들면, 상태 401에서, 사용자 인터페이스 400은, 상기 데이터 세트를 저장하기 위해 이용되는 어플리케이션으로부터 제공될 수 있다. 예를 들면, 상태 401에서, 사용자 인터페이스 400은, 제1 이미지 405를 포함할 수 있다. 상태 401에서, 사용자 인터페이스 내에 표시된 제1 이미지 405는, 상기 제1 이미지로부터 잘라내어지는 상기 영역을 지시하기(indicate) 위한 정보 410을 포함할 수 있다. 예를 들면, 상태 401에서, 정보 410은, 제1 이미지 405 상에 중첩될 수 있다. 상태 401에서, 제1 이미지 상에 중첩된 정보 410의 형상 또는 색상은, 정보 410 내의 시각적 객체가 차량 외관에 대응할 확률에 기반하여, 변경될 수 있다. 예를 들면, 상기 확률은, 전자 장치 210에 의해 산출된 확률일 수 있다. 예를 들어, 제1 이미지 405 내의 제1 시각적 객체가 차량 외관에 대응할 확률이 70%이고 제1 이미지 405 내의 제2 시각적 객체가 차량 외관에 대응할 확률이 25%인 경우, 상기 제1 시각적 객체를 포함하는 영역을 지시하기 위한 정보 410의 형상 또는 색상은, 상기 제2 시각적 객체를 포함하는 영역을 지시하기 위한 정보 410의 형상 또는 색상과 구별될 수 있다. 예를 들면, 상기 제1 시각적 객체를 포함하는 영역을 지시하기 위한 정보 410은, 상기 제2 시각적 객체를 포함하는 영역을 지시하기 위한 정보 410보다, 강조될 수 있다. 하지만, 이에 제한되지 않는다.
동작 305에서, 전자 장치 210은, 상기 영역을 잘라내는 것에 응답하여, 상기 영역에 대한 속성(attributes)을 입력하기 위한 필드들을 전자 장치 210의 상기 디스플레이를 통해 표시할 수 있다.
다양한 실시예들에서, 상기 필드들은, 상기 영역 내의 상기 시각적 객체에 대응하는 차량 외관의 차종을 상기 속성으로 입력하기 위한 제1 필드를 포함할 수 있다. 예를 들면, 상기 차종은, 세단(sedan), SUV(sport utility vehicle), RV(recreational vehicle), 해치백(hatchback), 트럭, 버스 등으로 구분될 수 있다. 이러한 경우, 상기 제1 필드는, 상기 차종을 입력하기 위한 입력 필드를 포함할 수 있다.
다양한 실시예들에서, 상기 필드들은, 상기 영역 내의 상기 차량 외관에 대응하는 피사체와 상기 제1 이미지를 획득한 카메라 사이의 위치 관계를 상기 속성으로 입력하기 위한 제2 필드를 더 포함할 수 있다.
예를 들면, 상기 위치 관계는, 상기 피사체와 상기 카메라 사이의 거리를 포함할 수 있다. 예를 들면, 상기 거리는, 근거리 및 원거리로 구분될 수 있다. 이러한 경우, 상기 제2 필드는, 상기 카메라와 상기 피사체 사이의 상기 거리가 지정된 거리 이상인 원거리임을 입력하기 위한 입력 필드 및 상기 카메라와 상기 피사체 사이의 상기 거리가 상기 지정된 거리 미만인 근거리임을 입력하기 위한 입력 필드를 포함할 수 있다. 다른 예를 들면, 상기 거리는 근거리, 중거리, 및 원거리로 구분될 수 있다. 이러한 경우, 상기 제2 필드는, 상기 카메라와 상기 피사체 사이의 상기 거리가 제1 지정된 거리 미만인 근거리임을 입력하기 위한 입력 필드, 상기 카메라와 상기 피사체 사이의 거리가 상기 제1 지정된 거리 이상이고 제2 지정된 거리 미만인 중거리임을 입력하기 위한 입력 필드, 및 상기 카메라와 상기 피사체 사이의 거리가 상기 제2 지정된 거리 이상인 원거리임을 입력하기 위한 입력 필드를 포함할 수 있다.
다른 예를 들면, 상기 위치 관계는, 상기 카메라의 렌즈의 광축과 상기 렌즈의 중심점과 상기 피사체의 일 지점을 잇는 직선 사이의 각도를 포함할 수 있다. 예를 들면, 상기 각도는, 본 문서에서, "상기 광축과 상기 피사체 사이의 각도"로 표현될 수도 있다. 예를 들면, 상기 제2 필드는, 상기 광축을 기준으로 좌측면에 상기 피사체가 위치됨, 상기 광축을 기준으로 우측면에 상기 피사체가 위치됨, 및 상기 광축을 기준으로 정면에 상기 피사체가 위치됨을 입력하기 위해, 상기 각도가 제1 지정된 범위 내인지, 상기 제1 지정된 범위와 구별되는 제2 지정된 범위 내인지, 또는 상기 제1 지정된 범위 및 상기 제2 지정된 범위와 구별되는 제3 지정된 범위 내인지 여부를 입력하기 위한 입력 필드를 더 포함할 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 상기 필드들은, 상기 제1 이미지를 획득할 시의 조도 또는 상기 제1 이미지 내의 상기 영역의 밝기를 상기 속성으로 입력하기 위한 제3 필드를 더 포함할 수 있다. 예를 들면, 상기 제3 필드는, 상기 밝기 또는 상기 조도를 지시하기 위한 값을 명시적으로 입력하기 위한 입력 필드를 포함할 수 있다. 다른 예를 들면, 상기 제3 필드는, 상기 밝기 또는 상기 조도를 묵시적으로 지시하기 위한 정보를 입력하기 위한 입력 필드를 포함할 수 있다. 예를 들면, 상기 밝기 또는 상기 조도를 묵시적으로 지시하기 위한 상기 정보는, 상기 제1 이미지를 획득할 시의 날씨에 대한 정보로 표현되거나, 상기 제1 이미지를 획득한 시각이 주간인지 야간인지 여부에 대한 정보로 표현될 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 상기 필드들은, 상기 시각적 객체의(또는 상기 피사체의) 색상을 상기 속성으로 입력하기 위한 제4 필드를 더 포함할 수 있다. 예를 들면, 상기 제4 필드는, 상기 색상을 지시하기 위한 적어도 하나의 값을 명시적으로 입력하기 위한 입력 필드를 포함할 수 있다. 다른 예를 들면, 상기 제4 필드는, 상기 제1 이미지를 바라보는 사용자에 의해 인지된 직관적인 색상(예: 레드(red), 오렌지(orange), 엘로우(yellow), 그린(green), 블루(blue), 네이비(navy), 퍼플(purple) 등)을 상기 속성으로 입력하기 위한 입력 필드를 포함할 수도 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 상기 필드들은, 상기 시각적 객체가 상기 피사체의 일부가 상기 피사체와 상기 카메라 사이에 위치된 객체(object)에 의해 가려진 상태를 보여주고(represent) 있는지 여부를 상기 속성으로 입력하기 위한 제5 필드를 더 포함할 수 있다.
다양한 실시예들에서, 상기 필드들은, 상기 제1 이미지 내의 상기 시각적 객체가 상기 피사체의 일부만을 보여주고 있는지 여부를 상기 속성으로 입력하기 위한 제6 필드를 더 포함할 수 있다. 예를 들어, 상기 피사체가 상기 제1 이미지를 획득하기 위해 이용되는 카메라의 FOV(field of view)에 의해 커버되는 영역의 엣지(edge)에 위치함으로써 상기 피사체의 일부만이 상기 FOV 내에 포함되는 경우, 상기 제6 필드는, 상기 제1 이미지 내의 상기 시각적 객체가 상기 피사체의 일부만을 보여줌을 상기 속성으로 입력하기 위해 이용될 수 있다. 예를 들면, 상기 제6 필드는, 차량 230이 제1 레인(lane)을 따라(across) 자율 주행하는 동안 상기 제1 레인 옆에 위치된 제2 레인으로부터 상기 제1 레인으로 컷인(cut in)하는 다른 차량을 검출할 수 있도록 컴퓨터 비젼 모델 225를 트레이닝하기 위해, 이용될 수 있다. 다시 말해, 상기 제6 필드는, 카메라 227의 FOV의 엣지(edge)로부터 새롭게 진입하는 상기 다른 차량을 검출하도록 컴퓨터 비젼 모델 225를 트레이닝하기 위해, 이용될 수 있다.
예를 들어, 도 4를 참조하면, 전자 장치 210은, 상태 401에서 표시된 정보 410에 대한 사용자 입력에 응답하여, 상태 401을 상태 415로 전환할 수 있다. 예를 들면, 정보 410에 대한 상기 사용자 입력은, 상태 401에서 표시된 정보 410을 선택하기 위한 입력을 포함할 수 있다. 상태 415에서, 전자 장치 210은, 사용자 인터페이스 400 내에서 필드들 420을 표시할 수 있다. 실시예들에 따라, 필드들 420은, 제1 이미지 405의 적어도 일부 위에 중첩될 수 있다. 예를 들어, 필드들 420이 제1 이미지 405의 일부 위에 중첩되는 경우, 필드들 420이 표시되는 위치는 상기 사용자 입력에 의해 선택된 정보 410의 위치에 따라 변경될 수 있다. 예를 들면, 필드들 420은, 상기 사용자 입력에 의해 선택된 정보 410이 가려지지 않는 위치에서, 제1 이미지 405의 일부 위에 중첩으로 표시될 수 있다. 하지만, 이에 제한되지 않는다. 필드들 420은, 상기 제1 필드 내지 상기 제6 필드 중 적어도 일부를 포함할 수 있다.
동작 307에서, 전자 장치 210은, 상기 표시된 필드들에 대한 사용자 입력을 수신함으로써, 상기 속성에 대한 정보를 획득할 수 있다. 다양한 실시예들에서, 상기 속성에 대한 정보는, 상기 영역 내의 상기 시각적 객체가 무엇인지를 컴퓨터 비젼 모델 225에게 제공하기 위해, 상기 사용자 입력에 의해 획득될 수 있다.
실시예들에 따라, 동작 307에서의 상기 속성에 대한 정보 중 일부는, 컴퓨터 비젼 모델 225의 트레이닝의 정도에 따라, 사용자 입력 없이 컴퓨터 비젼 모델 225의 처리에 의해 획득될 수 있다. 예를 들어, 컴퓨터 비젼 모델 225가 상기 속성에 대한 정보 중 일부를 기준 신뢰도 이상의 신뢰도로 추정할 수 있는 경우, 상기 속성에 대한 정보 중 일부는, 상기 사용자 입력 없이 컴퓨터 비젼 모델 225에 의해 획득될 수 있다. 이러한 경우, 도 4의 필드들 420 내의 일부는, 사용자 입력 없이 입력된 상태로 표시될 수 있다. 하지만, 이에 제한되지 않는다.
동작 309에서, 전자 장치 210은, 상기 잘라낸 영역으로 구성된 제2 이미지를, 획득된 상기 속성에 대한 정보와 연계로, 데이터 세트 내에 저장할 수 있다. 예를 들면, 상기 데이터 세트는, 차량 검출을 위한 컴퓨터 비젼 모델 225의 트레이닝을 위한 데이터 세트일 수 있다. 예를 들어, 도 4를 참조하면, 전자 장치 210은, 필드들 420 내의 실행가능한 객체 425에 대한 사용자 입력을 수신하는 것에 응답하여, 상기 제2 이미지를 상기 속성에 대한 정보와 연계로 상기 데이터 세트 내에 저장할 수 있다. 예를 들면, 상기 제2 이미지는, 제1 이미지 405와 달리, 정보 410에 의해 지시되는 영역만으로 구성될 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 210은, 차량 검출을 위한 컴퓨터 비젼 모델 225의 트레이닝을 위한 데이터 세트를 획득할 수 있다. 다양한 실시예들에 따른 전자 장치 210은, 상기 데이터 세트의 획득을 위해, 사용자 인터페이스를 디스플레이 상에서 표시할 수 있다. 다시 말해, 다양한 실시예들에 따른 전자 장치 210은, 상기 사용자 인터페이스를 표시함으로써, 컴퓨터 비젼 모델 225의 트레이닝을 위한 사용자 입력의 간소화 및 직관성을 제공할 수 있다.
다양한 실시예들에 따른 전자 장치 210에 의해 표시되는 상기 사용자 인터페이스는, 전자 장치 210에 의해 잘라내어진, 잠재적 차량 외관에 대응하는 시각적 객체를 포함하는 영역에 대한 속성에 대한 정보를 입력하기 위한 상기 필드들을 제공할 수 있다. 예를 들면, 전자 장치 210은, 상기 속성에 대한 정보를 입력하기 위해, 상술한 필드들을 제공함으로써, 컴퓨터 비젼 모델 225가 효율적으로 트레이닝을 수행하기 위한 데이터 세트를 제공할 수 있다. 다시 말해, 다양한 실시예들에 따른 전자 장치 210은, 컴퓨터 비젼 모델 225의 트레이닝의 자원 효율성을 강화할 수 있다.
도 5는 다양한 실시예들에 따라 로드 뷰로부터 제1 이미지를 획득하는 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 210 또는 전자 장치 210의 프로세서에 의해 실행될 수 있다.
도 5의 동작 501 내지 동작 507은 도 3의 동작 301과 관련될 수 있다.
도 5를 참조하면, 동작 501에서, 전자 장치 210은, 전자 장치 210 내에 설치된 어플리케이션에 의해 제공되는 전자 지도에서 로드 뷰를 포함하는 이미지를 제공하는 기능을 실행할 수 있다. 예를 들면, 상기 로드 뷰를 포함하는 이미지는, 상기 전자 지도 상의 위치에 대응하는 실제 위치의 모습을 카메라를 통해 획득한 이미지로, 상기 전자 지도와 연계로 제공되는 이미지일 수 있다. 예를 들면, 상기 로드 뷰를 포함하는 이미지는, 파노라마 이미지로 구성될 수 있다.
동작 503에서, 전자 장치 210은, 상기 로드 뷰를 포함하는 이미지를 제공하는 기능을 실행한 후, 사용자 입력 없이 전자 지도 내에서 상기 로드 뷰가 제공될 위치를 변경함으로써 상기 로드 뷰를 포함하는 이미지를 호출할 수 있다. 예를 들면, 전자 장치 210은, 상기 전자 지도 내에서 선택된 위치를, 제1 위치로부터 제2 위치로, 사용자 입력 없이 변경함으로써, 상기 제2 위치에 대한 로드 뷰를 포함하는 이미지를 호출할 수 있다. 예를 들면, 전자 장치 210은, 상기 전자 지도를 제공하는 어플리케이션을 통해 사용자 입력 없이 상기 전자 지도 내에서 선택되는 위치를 상기 제1 위치로부터 상기 제2 위치로 변경함으로써, 상기 제2 위치에 대한 로드 뷰를 포함하는 상기 이미지를 호출할 수 있다.
동작 505에서, 전자 장치 210은, 상기 호출된 이미지 내에 잠재적 차량 외관이 포함되는지 여부를 식별할 수 있다. 예를 들면, 전자 장치 210은, 상기 이미지를 호출하는 것에 응답하여, 상기 이미지 내에 잠재적 차량 외관이 포함되는지 여부를 식별할 수 있다. 전자 장치 210은, 상기 이미지 내에 잠재적 차량 외관이 포함됨을 식별하는 것에 응답하여, 동작 507을 실행하고, 그렇지 않으면 동작 503을 재차 실행할 수 있다.
동작 507에서, 전자 장치 210은, 상기 이미지 내에 잠재적 차량 외관이 포함됨을 식별하는 것에 응답하여, 상기 호출된 이미지를 상기 제1 이미지로 획득할 수 있다. 다시 말해, 전자 장치 210은, 상기 호출된 이미지를 도 3의 동작 301에서 획득되는 상기 제1 이미지로 획득할 수 있다.
한편, 도 5에 도시하지 않았으나, 실시예들에 따라, 전자 장치 210은, 동작 505에서, 호출된 이미지 내에 잠재적 차량 외관이 포함되지 않음을 식별하는 것에 기반하여, 상기 호출된 이미지에 의해 제공되는 로드 뷰의 오리엔테이션을 변경할 수 있다. 예를 들면, 상기 로드 뷰를 포함하는 이미지를 제공하는 상기 어플리케이션은, 상기 로드 뷰의 오리엔테이션(orientation)을 변경하기 위한 기능을 포함할 수 있다. 예를 들면, 상기 로드 뷰의 오리엔테이션을 변경하는 기능은, 고정된 위치에서 상기 로드 뷰에 의해 제공되는 씬(scene)을 변경하는 기능을 의미할 수 있다.
다양한 실시예들에서, 전자 장치 210은, 상기 어플리케이션을 이용하여 사용자 입력 없이 상기 기능을 실행함으로써, 상기 로드 뷰의 오리엔테이션을 변경하고, 상기 변경된 오리엔테이션을 가지는 로드 뷰를 포함하는 상기 이미지 내에 잠재적 차량 외관이 포함되는지 여부를 식별할 수 있다. 전자 장치 210은, 상기 변경된 오리엔테이션을 가지는 상기 로드 뷰를 포함하는 상기 이미지 내에 잠재적 차량 외관이 포함됨을 식별하는 것에 기반하여, 상기 변경된 오리엔테이션을 가지는 상기 로드 뷰를 포함하는 상기 이미지를 상기 제1 이미지로 획득할 수 있다. 한편, 전자 장치 210은, 상기 변경된 오리엔테이션을 가지는 상기 로드 뷰를 포함하는 상기 이미지 내에 잠재적 차량 외관이 포함되지 않음을 식별하는 것에 기반하여, 동작 503을 실행할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 210은, 전자 지도의 편의성을 강화하기 위해 제공되는 로드 뷰를 포함하는 이미지로부터 컴퓨터 비젼 모델 225의 트레이닝을 위한 데이터 세트를 구성하기 위한 상기 제1 이미지를 획득할 수 있다. 상기 제1 이미지의 획득은 사용자 입력 없이 실행되기 때문에, 다양한 실시예들에 따른 전자 장치 210은, 상기 제1 이미지의 획득에 대한 편의성을 강화할 수 있다.
도 6은 다양한 실시예들에 따라 제1 이미지로부터 잠재적 차량 외관에 대응하는 시각적 객체를 포함하는 영역을 잘라내는 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 210 또는 전자 장치 210의 프로세서에 의해 실행될 수 있다.
도 6의 동작 601 내지 동작 609는 도 3의 동작 303과 관련될 수 있다.
도 7은 다양한 실시예들에 따라 제1 이미지로부터 잠재적 차량 외관에 대응하는 시각적 객체를 포함하는 영역을 잘라내는 방법의 예를 도시한다.
도 8a 내지 도 8d는 다양한 실시예들에 따라 제1 이미지로부터 잘라내어진 이미지들의 예를 도시한다.
도 6을 참조하면, 동작 601에서, 전자 장치 210은, 상기 제1 이미지 내에 잠재적 차량 외관에 대응하는 시각적 객체가 포함됨을 인식할 수 있다. 예를 들면, 전자 장치 210은, 상기 제1 이미지의 분석에 기반하여, 상기 제1 이미지 내에 잠재적 차량 외관에 대응하는 상기 시각적 객체가 포함됨을 인식할 수 있다.
동작 603에서, 전자 장치 210은, 상기 인식에 기반하여, 상기 시각적 객체를 포함하는 제1 영역을 식별할 수 있다. 예를 들면, 상기 제1 영역의 폭(width)은, 도 3의 동작 303의 설명을 통해 기술된 상기 영역보다 넓을 수 있다. 예를 들면, 상기 제1 영역의 높이(height)는, 도 3의 동작 303의 설명을 통해 기술된 상기 영역보다 길 수 있다. 도 6 및 도 7은 상기 제1 영역의 폭만이 도 3의 동작 303의 설명을 통해 기술된 상기 영역보다 넓은 예를 도시하고 있으나, 이는 설명의 편의를 위한 것이다. 예를 들면, 도 6 및 도 7의 설명을 통해 기술될 방법은, 영역의 높이에 대하여도 적용될 수 있다.
예를 들어, 도 7을 참조하면, 동작 603에서, 전자 장치 210은, 상태 701과 같이, 상기 제1 이미지로부터 제1 영역 710을 식별할 수 있다. 상태 710에서 제1 영역 710은, 잠재적 차량 외관에 대응하는 시각적 객체 715를 포함할 수 있다. 시각적 객체 715는, 적어도 하나의 테일 램프(tail lamp)를 포함하는 차량의 리어(rear)를 보여줄 수 있다.
동작 605에서, 전자 장치 210은, 상기 제1 영역에 대하여 Sobel 연산을 실행함으로써, 상기 제1 영역의 수직 중심선을 기준으로 상기 제1 영역의 좌측 부분에 대한 제1 수직 엣지들을 검출하고, 상기 제1 영역의 수직 중심선을 기준으로 상기 제1 영역의 우측 부분에 대한 제2 수직 엣지들을 검출할 수 있다. 예를 들어, 도 7을 참조하면, 전자 장치 210은, 상태 720과 같이, 제1 영역 710의 수직 중심선 718을 기준으로 제1 영역 710의 좌측 부분에 대한 제1 수직 엣지들 및 제1 영역 710의 수직 중심선 718을 기준으로 제1 영역 710의 우측 부분에 대한 제2 수직 엣지들을 검출할 수 있다.
동작 607에서, 전자 장치 210은, 상기 제1 수직 엣지들 및 상기 제2 수직 엣지들에 기반하여 상기 제1 영역으로부터 잘라낼 영역을 식별할 수 있다. 예를 들면, 전자 장치 210은, 상기 제1 수직 엣지들에 대한 수직 히스토그램 누적 값들 중 최대값에 대응하는 부분을 좌측 경계로 가지고, 상기 제2 수직 엣지들에 대한 수직 히스토그램 누적 값들 중 최대 값에 대응하는 부분을 우측 경계로 가지는 상기 영역을 상기 제1 영역으로부터 식별할 수 있다. 예를 들어, 도 7을 참조하면, 전자 장치 210은, 상태 730과 같이, 상기 제1 수직 엣지들에 대한 수직 히스토그램 누적 값들 중 최대값 732에 대응하는 부분을 좌측 경계로 가지고 상기 제2 수직 엣지들에 대한 수직 히스토그램 누적 값들 중 최대값 734에 대응하는 부분을 우측 경계로 가지는 영역을 제1 영역 710으로부터 식별할 수 있다.
동작 609에서, 전자 장치 210은, 상기 제1 이미지로부터 상기 식별된 영역을 잘라낼 수 있다. 예를 들어, 도 7을 참조하면, 전자 장치 210은, 상태 740과 같이, 제1 영역 710으로부터 최대값 732에 대응하는 부분을 좌측 경계로 가지고 최대값 734에 대응하는 부분을 우측 경계로 가지는 영역 745를 상기 제1 이미지로부터 잘라낼 수 있다.
다양한 실시예들에서, 동작 609에서 상기 제1 이미지로부터 잘라내어진 영역은, 카메라와 피사체 사이의 위치 관계에 따라, 다양하게 분류될 수 있다. 예를 들어, 도 8a를 참조하면, 상기 영역은, 상기 카메라와 상기 피사체(차량의 리어) 사이의 거리가 지정된 거리 미만인 상태의 시각적 객체를 포함하는 이미지들의 세트 800으로 분류될 수 있다. 다른 예를 들어, 도 8b를 참조하면, 상기 영역은, 상기 카메라와 상기 피사체 사이의 거리가 상기 지정된 거리 이상인 상태의 시각적 객체를 포함하는 이미지들의 세트 810으로 분류될 수 있다. 또 다른 예를 들어, 도 8c를 참조하면, 상기 영역은, 상기 카메라의 광축을 기준으로 좌측면에 위치되는 피사체(차량의 리어)에 대응하는 시각적 객체를 포함하는 이미지들의 세트 820으로 분류될 수 있다. 또 다른 예를 들어, 도 8d를 참조하면, 상기 영역은, 상기 카메라의 광축을 기준으로 우측면에 위치되는 피사체(차량의 리어)에 대응하는 시각적 객체를 포함하는 이미지들의 세트 830으로 분류될 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 210은, 컴퓨터 비젼 모델 225가 잠재적 차량 외관에 대응하는 시각적 객체를 기준으로 트레이닝을 수행할 수 있도록, 제1 이미지로부터 상기 시각적 객체로 구성된 영역을 식별하거나 잘라낼 수 있다. 또한, 다양한 실시예들에 따른 전자 장치 210은, 상기 시각적 객체에 대응하는 피사체와 카메라 사이의 위치 관계에 따라 상기 식별된 영역으로 구성된 이미지를 분류함으로써, 컴퓨터 비젼 모델 225의 트레이닝의 효율성을 강화할 수 있다.
도 9는 다양한 실시예들에 따라 컴퓨터 비젼 모델을 트레이닝하는 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 220 또는 전자 장치 220의 프로세서에 의해 실행될 수 있다.
도 9를 참조하면, 동작 901에서, 전자 장치 220은, 지정된 정보에 기반하여, 데이터 세트로부터 특징점들을 추출할 수 있다. 예를 들면, 상기 데이터 세트는, 전자 장치 210에 의해 구성되고 전자 장치 210으로부터 전자 장치 220에게 제공된 데이터 세트일 수 있다. 예를 들면, 상기 데이터 세트는, 도 3 내지 도 8d의 설명을 통해 정의된 데이터 세트일 수 있다. 예를 들면, 전자 장치 220은, 상기 데이터 세트 내의 이미지(예: 상기 제2 이미지)로부터 상기 특징점들을 추출할 수 있다.
다양한 실시예들에서, 상기 지정된 정보는, 상기 특징점들을 추출하기 위해 이용되는 정보로, grayscale intensity, RGB(red, green, blue) color information, HSV(hue, saturation, value) color information, YIQ color information, edge information (grayscale, binary, eroded binary) 등을 포함할 수 있다.
동작 903에서, 전자 장치 220은, 상기 추출된 특징점들을 이용하여 컴퓨터 비젼 모델 225를 트레이닝할 수 있다. 예를 들면, 전자 장치 220은, 상기 추출된 특징점들에 기반하여 차량 검출을 위한 분류를 수행하고, 컴퓨터 비젼 모델 225의 트레이닝을 통해 상기 분류를 강화함으로써 상기 차량 검출을 위한 분류기를 획득할 수 있다. 상기 분류기는, 전자 장치 240에게 제공될 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 220는, 전자 장치 210으로부터 획득된 상기 데이터 세트를 이용하여 컴퓨터 비젼 모델 225를 트레이닝할 수 있다. 전자 장치 220에 의해 트레이닝된 컴퓨터 비젼 모델 225은, 차량 내의 전자 장치 240에 의해 차량 검출을 위해 이용될 수 있다. 다시 말해, 다양한 실시예들에 따른 전자 장치 220은, 컴퓨터 비젼 모델 225를 트레이닝함으로써, 주행 중인 차량 주변의 환경에 대한 정보를 제공하는 것을 보조할(assist) 수 있다.
도 10은 다양한 실시예들에 따라 비디오 시퀀스의 적어도 일부 내에 포함된 시각적 객체가 차량 외관에 대응하는지 여부를 컴퓨터 비젼 모델을 이용하여 결정하는 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 240 또느 전자 장치 240의 프로세서에 의해 실행될 수 있다.
도 10을 참조하면, 동작 1010에서, 이동되고 있는 차량 내의 전자 장치 240은 상기 차량과 관련된 카메라를 통해, 비디오 시퀀스를 획득할 수 있다. 예를 들면, 상기 카메라는, 상기 차량의 전방을 향해 배치된 카메라로, 도 2에 도시된 카메라 227을 포함할 수 있다.
다양한 실시예들에서, 상기 비디오 시퀀스는, 복수의 이미지 프레임들로 구성될(configured with) 수 있다. 예를 들면, 상기 복수의 이미지 프레임들은, 제1 이미지 프레임, 상기 제1 이미지 프레임 바로 다음의 제2 이미지 프레임, 및 상기 제2 이미지 프레임 바로 다음의 제3 이미지 프레임을 포함할 수 있다.
동작 1012에서, 전자 장치 240은, 획득되는 상기 비디오 시퀀스 내에서 잠재적 차량 외관에 대응하는 시각적 객체를 검출할 수 있다. 예를 들면, 전자 장치 240은, 컴퓨터 비젼 모델 225를 비활성화한 상태에서, 상기 비디오 시퀀스에 대한 분석에 기반하여 상기 비디오 시퀀스 내에서 상기 시각적 객체를 검출할 수 있다. 예를 들면, 전자 장치 240는, 상기 차량이 이동되는 동안 라이브로 획득되는 상기 비디오 시퀀스 내의 복수의 이미지 프레임들 각각을 분석함으로써, 상기 시각적 객체를 검출할 수 있다. 예를 들면, 전자 장치 240는, 상기 제1 이미지 프레임 내에서 검출되지 않았던 상기 시각적 객체를 상기 제2 이미지 프레임 내에서 검출할 수 있다.
동작 1014에서, 전자 장치 240은, 상기 검출된 시각적 객체가 상기 비디오 시퀀스 내에서 지정된 시간 동안 유지되는지 여부를 식별할 수 있다. 예를 들면, 전자 장치 240은, 상기 제2 이미지 프레임 내에서 상기 시각적 객체를 검출한 타이밍으로부터 상기 지정된 시간 동안 상기 시각적 객체가 상기 비디오 시퀀스 내에서 유지되는지 여부를 식별할 수 있다. 예를 들면, 전자 장치 240은, 상기 제2 이미지 프레임 바로 다음의 상기 제3 이미지 프레임으로부터 제N 이미지 프레임(N은 4 이상의 자연수로 상기 지정된 시간의 길이에 따라 설정됨)까지, 상기 시각적 객체가 지속적으로 존재하는지(또는 유지되는지) 여부를 식별할 수 있다. 예를 들면, 상기 차량 주변에 위치되고 지면(ground)에 고정된 외부 객체에 대응하는 시각적 객체는, 상기 차량의 이동에 의해 상기 지정된 시간이 경과되기 전에, 상기 비디오 시퀀스로부터 사라질 수 있기 때문에, 전자 장치 240은, 상기 지정된 시간 동안 상기 시각적 객체가 상기 비디오 시퀀스 내에서 유지되는지 여부를 식별할 수 있다. 다른 예를 들면, 상기 차량의 이동 속도보다 현저히 느린 속도로 이동하는 외부 객체에 대응하는 시각적 객체는 이동되는 상기 차량에서 고려하는 것이 요구되지 않는 객체일 수 있기 때문에, 전자 장치 240은, 상기 지정된 시간 동안 상기 시각적 객체가 상기 비디오 시퀀스 내에서 유지되는지 여부를 식별할 수 있다.
한편, 상기 지정된 시간은, 고정된 값으로 설정될 수도 있고, 상기 차량의 이동 속도에 따라 변경되는 값으로 설정될 수도 있다.
한편, 다양한 실시예들에서, 전자 장치 240은, 상기 검출된 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 경우, 동작 1018을 실행하고, 그렇지 않으면 동작 1016을 실행할 수 있다.
동작 1016에서, 전자 장치 240은, 상기 검출된 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지되지 않음을 식별하는 것에 기반하여, 상기 시각적 객체가 상기 차량 외관에 대응하는지 여부를 컴퓨터 비젼 모델 225를 이용하여 결정하는 것을 우회할 수 있다.
다양한 실시예들에 따른 전자 장치 240은, 동작 1016을 통해, 컴퓨터 비젼 모델 225의 이용의 효율성을 강화할 수 있다. 예를 들면, 컴퓨터 비젼 모델 225을 이용한 차량 검출의 신뢰도는 컴퓨터 비젼 모델 225의 이용 없이 실행되는 차량 검출의 신뢰도보다 높을 수 있으나, 컴퓨터 비젼 모델 225을 이용한 차량 검출의 연산량은, 동작 1012에서 컴퓨터 비젼 모델 225의 이용 없이 실행되는 차량 검출의 연산량보다, 클 수 있다. 이를 고려하여, 전자 장치 240은, 전자 장치 240의 로드(load)의 감소 또는 컴퓨터 비젼 모델 225의 로드의 감소를 위해, 동작 1016을 실행할 수 있다.
동작 1018에서, 전자 장치 240은, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 기반하여, 상기 지정된 시간 동안 상기 비디오 시퀀스 내에서 유지된 상기 시각적 객체가 차량 외관에 대응하는지 여부를 컴퓨터 비젼 모델 225를 이용하여 결정할 수 있다. 예를 들면, 전자 장치 240은, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 기반하여, 비활성화된 컴퓨터 비젼 모델 225를 활성화하고, 활성화된 컴퓨터 비젼 모델 225를 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다. 예를 들면, 전자 장치 240은, 상기 시각적 객체를 포함하는 상기 비디오 시퀀스의 적어도 일부에 기반하여 획득된 정보를 활성화된 컴퓨터 비젼 모델 225에게 제공하고, 상기 정보를 획득한 컴퓨터 비젼 모델 225를 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다. 상기 시각적 객체가 차량 외관에 대응함을 컴퓨터 비젼 모델 225를 이용하여 결정하는 경우, 전자 장치 240은 동작 1020을 실행하고, 그렇지 않으면 동작 1022를 실행할 수 있다.
동작 1020에서, 전자 장치 240은, 상기 시각적 객체가 차량 외관에 대응한다는 결정에 기반하여, 상기 차량 내의 기능을 실행하기 위한 동작을 수행할 수 있다. 다양한 실시예들에서, 동작 1020에서 실행되는 상기 기능은, 상기 시각적 객체에 대응하는 다른 (another) 차량과 관련하여, 전자 장치 240를 포함하는 상기 차량 내에서 실행하는 것이 요구되는 기능일 수 있다. 예를 들어, 상기 차량이 자율 주행에 기반하여 이동되고 있는 경우, 상기 기능은 상기 차량의 속도를 상기 다른 차량과 상기 차량의 거리에 기반하여 감소하는 것일 수 있다. 다른 예를 들어, 이동되는 상기 차량 주변의 환경에 대한 정보가 제공되고 있는 경우, 상기 기능은 상기 다른 차량의 출현에 따라 상기 정보를 변경하거나 추가하는 것일 수 있다. 하지만, 이에 제한되지 않는다.
동작 1022에서, 전자 장치 240은, 상기 시각적 객체가 차량 외관에 대응하지 않거나 상기 시각적 객체가 차량 외관과 다름을 결정하는 것에 기반하여, 상기 차량 내에서 제공되고 있는 기능을 유지할 수 있다. 예를 들면, 전자 장치 240은, 이동되고 있는 상기 차량 주변에 다른 차량이 존재함을 전제로 실행되는, 동작 1020을 통해 기술된 기능의 실행을 방지하고, 상기 차량 내에서 제공되고 있는 기능을 유지할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 240은, 컴퓨터 비젼 모델 225의 이용을, 지정된 시간 동안 시각적 객체가 유지되는지 여부에 따라 결정함으로써, 차량 검출을 위한 연산량을 감소시킬 수 있다. 또한, 다양한 실시예들에 따른 전자 장치 240은, 컴퓨터 비젼 모델 225의 이용 없이 수행되는 차량 검출, 상기 시각적 객체가 지정된 시간 동안 비디오 시퀀스 내에서 유지되는지 여부의 식별, 및 컴퓨터 비젼 모델 225의 이용을 통한 차량 검출을 통해, 높은 신뢰도를 가지는 서비스를 제공할 수 있다.
도 11a는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스에 기반하여 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 240 또는 전자 장치 240의 프로세서에 의해 실행될 수 있다.
도 11a의 동작 1101 내지 1107은 도 10의 동작 1018과 관련될 수 있다.
도 11b는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스의 예를 도시한다.
도 11a를 참조하면, 동작 1101에서, 전자 장치 240은 비디오 시퀀스로부터 잠재적 차량 외관에 대응하는 시각적 객체의 국소(local) 움직임 벡터들을 획득할 수 있다. 예를 들면, 상기 시각적 객체의 국소 움직임 벡터들은, 상기 시각적 객체의 지정된 부분의 움직임을 지시하기 위한 벡터들일 수 있다. 예를 들면, 상기 시각적 객체의 지정된 부분은, 움직임이 자주 발생하는 차량의 휠(또는 타이어)에 대응하는 부분일 수 있다. 예를 들어, 도 11b를 참조하면, 비디오 시퀀스의 일부 1110 내의 이미지 프레임 1112-1 내지 1112-3에서, 상기 시각적 객체의 지정된 부분은, 차량의 제1 휠에 대응하는 부분 1114-1 및 차량의 제2 휠에 대응하는 부분 1114-2일 수 있다. 전자 장치 240은, 비디오 시퀀스의 일부 1110 내의 이미지 프레임 1112-1로부터 부분 1114-1 및 부분 1114-2의 움직임을 지시하기 위한 제1 국소 움직임 벡터들을 획득하고, 비디오 시퀀스의 일부 1110 내의 이미지 프레임 1112-2로부터 부분 1114-1 및 부분 1114-2의 움직임을 지시하기 위한 제2 국소 움직임 벡터들을 획득하고, 비디오 시퀀스의 일부 1110 내의 이미지 프레임 1112-3으로부터 부분 1114-1 및 부분 1114-2의 움직임을 지시하기 위한 제3 국소 움직임 벡터들을 획득할 수 있다.
동작 1103에서, 전자 장치 240은, 상기 획득된 국소 움직임 벡터들에 기반하여 추정된 상기 시각적 객체의 움직임에 기반하여 상기 비디오 시퀀스로부터 새로운 비디오 시퀀스를 획득할 수 있다. 예를 들어, 도 11b를 참조하면, 전자 장치 240은, 상기 제1 국소 움직임 벡터들, 상기 제2 국소 움직임 벡터들, 및 상기 제3 국소 움직임 벡터들에 기반하여, 상기 시각적 객체의 전역 움직임(global movement) 벡터들을 획득하고, 상기 전역 움직임 벡터들에 기반하여 상기 시각적 객체의 전역 움직임을 추정하고, 상기 추정된 전역 움직임에 기반하여 비디오 시퀀스의 일부 1110로부터 새로운 비디오 시퀀스의 일부 1120을 획득할 수 있다.
예를 들면, 카메라가 비디오 시퀀스를 획득하는 동안, 카메라(예: 카메라 227)의 자세는 전자 장치 240를 포함하는 차량의 이동에 따라 변경될 수 있다. 이러한 카메라의 자세의 변경은 상기 비디오 시퀀스에 반영(reflect)되기 때문에, 상기 비디오 시퀀스 내의 상기 시각적 객체의 움직임은 상기 시각적 객체에 대응하는 피사체의 움직임 뿐 아니라 상기 카메라의 자세의 변경을 포함할 수 있다. 예를 들어, 비디오 시퀀스의 일부 1110를 획득하는 동안 상기 시각적 객체에 대응하는 피사체가 상하 이동 및 좌우 이동 없이 상기 카메라로부터 멀어지는 방향으로 이동하였다 하더라도, 상기 시각적 객체는 상기 카메라의 자세의 변경에 의해 상하 이동되거나 좌우 이동된 것으로 비디오 시퀀스의 일부 1110 내에서 표현될 수 있다. 예를 들면, 상기 피사체의 좌우 이동이 이미지 프레임 1112-1 및 이미지 프레임 1112-2에 대응하는 시간 구간 동안 없었다 하더라도, 상기 시각적 객체는, 상기 카메라의 자세의 변경으로 인하여, 이미지 프레임 1112-1에서 왼쪽 가장자리(periphery)로부터 D1만큼 이격되고 이미지 프레임 1112-2에서 상기 왼쪽 가장자리로부터 D2만큼 이격될 수 있다. 다른 예를 들면, 상기 피사체의 상하 이동이 이미지 프레임 1112-2 및 이미지 프레임 112-3에 대응하는 시간 구간 동안 없었다 하더라도, 상기 시각적 객체는, 상기 카메라의 자세의 변경으로 인하여, 이미지 프레임 1112-2에서 아래쪽 가장자리로부터 D3만큼 이격되고 이미지 프레임 1112-3에서 상기 아래쪽 가장자리로부터 D4만큼 이격될 수 있다.
다양한 실시예들에 따른 전자 장치 240는, 상기 카메라의 자세의 변경에 의해 상기 시각적 객체의 움직임이 오인식되는 것을 방지하기 위해, 비디오 시퀀스의 일부 1110 내의 상기 시각적 객체의 국소 움직임 벡터들에 기반하여 상기 시각적 객체의 전역 움직임 벡터들을 획득하고, 상기 전역 움직임 벡터들에 기반하여 상기 카메라의 움직임이 보상된 새로운 비디오 시퀀스의 일부 1120을 획득할 수 있다. 예를 들면, 새로운 비디오 시퀀스의 일부 1120 내의 이미지 프레임 1122-2에서의 상기 시각적 객체는, 이미지 프레임 1122-1에서와 동일하게 상기 왼쪽 가장자리로부터 D1만큼 이격될 수 있다. 다른 예를 들면, 새로운 비디오 시퀀스의 일부 1120 내의 이미지 프레임 1122-3에서의 상기 시각적 객체는, 이미지 프레임 1122-2에서와 동일하게 상기 아래쪽 가장자리로부터 D3만큼 이격될 수 있다. 다시 말해, 비디오 시퀀스의 일부 1110로부터 변환된 새로운 비디오 시퀀스의 일부 1120는, 상하 이동 및 좌우 이동 없이, 상기 카메라로부터 멀어지는 방향으로 이동하는 피사체에 대응하는 시각적 객체를 포함할 수 있다.
동작 1105에서, 전자 장치 240은, 상기 획득된 새로운 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다.
동작 1107에서, 전자 장치 240은, 상기 새로운 비디오 시퀀스를 획득한 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 상기 비디오 시퀀스 내에서 검출된 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 240은, 상기 비디오 시퀀스 내의 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하기 위해, 카메라의 자세의 변경이 반영된 비디오 시퀀스를 카메라의 자세의 변경을 보상한 새로운 비디오 시퀀스로 변환하고, 상기 새로운 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다. 다양한 실시예들에 따른 전자 장치 240은, 이러한 동작을 통해, 상기 결정의 신뢰성을 강화할 수 있다.
도 12a는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스에 기반하여 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 다른 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 240 또는 전자 장치 240의 프로세서에 의해 실행될 수 있다.
도 12a의 동작 1201 내지 1207은 도 10의 동작 1018과 관련될 수 있다.
도 12b는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스의 다른 예를 도시한다.
도 12a를 참조하면, 동작 1201에서, 전자 장치 240은, 비디오 시퀀스를 획득한 카메라로부터 상기 카메라의 움직임에 대한 데이터를 획득할 수 있다. 예를 들면, 전자 장치 240은, 상기 비디오 시퀀스를 획득하는 동안의 상기 카메라의 좌우 움직임 또는 상기 카메라의 상하 움직임 중 적어도 하나에 대한 데이터를 획득할 수 있다. 예를 들어, 도 12b를 참조하면, 상태 1220과 같이, 과속 방지턱 1221을 지나는 차량 230의 움직임으로 인하여, 상기 비디오 시퀀스를 획득하는 동안, 카메라 227에서 움직임 1222가 야기될 수 있다. 차량 250은 상하 이동 없이 카메라 227로부터 멀어지는 방향으로 이동됨에도 불구하고, 차량 250에 대응하는 상기 비디오 시퀀스 내의 시각적 객체는, 카메라 227의 움직임 1222으로 인하여, 상하로 이동될 수 있다. 다양한 실시예들에 따른 전자 장치 240은, 상기 시각적 객체의 상하 이동을 보상하기 위해, 카메라 227의 움직임 1222에 대한 데이터를 획득할 수 있다.
도 12a는 상기 카메라로부터 상기 카메라의 움직임에 대한 데이터를 획득하는 예를 도시하고 있으나, 이는 설명의 편의를 위한 것이다. 전자 장치 240은 상기 카메라로부터 상기 카메라의 움직임에 대한 데이터를 획득하는 대신, 차량 230의 움직임에 대한 데이터를 획득할 수도 있다.
동작 1203에서, 전자 장치 240은, 상기 획득된 데이터에 기반하여 상기 비디오 시퀀스로부터 상기 카메라의 움직임이 보상된 새로운 비디오 시퀀스를 획득할 수 있다. 상기 새로운 비디오 시퀀스는, 상기 비디오 시퀀스와 달리, 상기 시각적 객체의 움직임만을 포함할 수 있다.
동작 1205에서, 전자 장치 240은, 상기 새로운 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다.
동작 1207에서, 전자 장치 240은, 상기 새로운 비디오 시퀀스를 획득한 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 상기 비디오 시퀀스 내에서 검출된 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 240은, 상기 비디오 시퀀스 내의 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하기 위해, 카메라의 움직임이 반영된 비디오 시퀀스를 카메라의 움직임을 보상한 새로운 비디오 시퀀스로 변환하고, 상기 새로운 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다. 다양한 실시예들에 따른 전자 장치 240은, 이러한 동작을 통해, 상기 결정의 신뢰성을 강화할 수 있다.
도 13a는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스에 기반하여 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 또 다른 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 240 또는 전자 장치 240의 프로세서에 의해 실행될 수 있다.
도 13a의 동작 1301 내지 1309는 도 10의 동작 1018과 관련될 수 있다.
도 13b는 다양한 실시예들에 따라 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스의 또 다른 예를 도시한다.
도 13a를 참조하면, 동작 1301에서, 전자 장치 240은 비디오 시퀀스로부터 시각적 객체의 배경에 대응하는 영역을 식별할 수 있다. 예를 들면, 전자 장치 240은, 상기 비디오 시퀀스 내의 복수의 이미지 프레임들 각각으로부터 상기 시각적 객체를 제외한 상기 배경에 대응하는 영역을 식별할 수 있다. 예를 들어, 도 13b를 참조하면, 전자 장치 240은, 비디오 시퀀스의 일부 1310 내의 이미지 프레임 1312-1 내지 1312-3에서, 상기 시각적 객체의 배경에 대응하는 영역 1314-1 내지 영역 1314-3을 각각 식별할 수 있다.
동작 1303에서, 전자 장치 240은, 상기 식별된 영역의 움직임에 대한 데이터를 획득할 수 있다. 예를 들어, 도 13b를 참조하면, 영역 1314-1, 영역 1314-2, 및 영역 1314-3은, 비디오 시퀀스의 일부 1310를 획득하는 동안 야기된 카메라의 움직임으로 인하여, 서로 다른 위치에서 상기 시각적 객체와 구별되는, 고정된 피사체에 대응하는 시각적 객체 1315를 포함할 수 있다. 전자 장치 240은, 시각적 객체 1315의 움직임에 기반하여, 영역 1314-1, 영역 1314-2, 및 영역 1314-3의 움직임에 대한 데이터를 획득할 수 있다. 상기 획득된 데이터는, 비디오 시퀀스의 일부 1310를 획득한 상기 카메라의 움직임에 대한 데이터에 대응할 수 있다.
동작 1305에서, 전자 장치 240은 상기 획득된 데이터에 기반하여 상기 비디오 시퀀스로부터 상기 카메라의 움직임이 보상된 새로운 비디오 시퀀스를 획득할 수 있다. 예를 들어, 도 13b를 참조하면, 전자 장치 240은, 상기 획득된 데이터에 기반하여 비디오 시퀀스의 일부 1310로부터 상기 카메라의 움직임이 보상된 새로운 비디오 시퀀스의 일부 1320을 획득할 수 있다. 새로운 비디오 시퀀스의 일부 1320 내의 이미지 프레임 1322-1 내지 이미지 프레임 1322-3에서의 시각적 객체 1315의 위치는, 가변된 위치를 가지는, 비디오 시퀀스의 일부 1310 내의 이미지 프레임 1312-1 내지 이미지 프레임 1312-3에서의 시각적 객체 1315와 달리, 고정될 수 있다.
동작 1307에서, 전자 장치 240은, 상기 새로운 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다.
동작 1309에서, 전자 장치 240은, 상기 새로운 비디오 시퀀스를 획득한 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 상기 비디오 시퀀스 내에서 검출된 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 240은, 상기 비디오 시퀀스 내의 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하기 위해, 카메라의 자세의 변경이 반영된 비디오 시퀀스를 카메라의 자세의 변경을 보상한 새로운 비디오 시퀀스로 변환하고, 상기 새로운 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다. 다양한 실시예들에 따른 전자 장치 240은, 이러한 동작을 통해, 상기 결정의 신뢰성을 강화할 수 있다.
한편 다양한 실시예들에 따른 전자 장치 240은 차량의 무선 통신 회로를 통해 상기 고정된 피사체(예: 도로 내의 인프라스트럭쳐(infrastructure), 가로등, 과속 방지 턱, 고속도로 톨 게이트, 터널, 중앙 분리대, 가로수, 신호등, 횡단보도, 교량, 육교 등)에 대응하는 시각적 객체(예: 시각적 객체 1315)에 대한 정보를 컴퓨터 비젼 모델 225와 관련된 전자 장치(예: 서버)에게 송신할 수 있다. 예를 들면, 상기 시각적 객체에 대한 상기 정보를 송신하기 위해, OTA(over the air) 기법이 전자 장치 240 내에서 이용될 수 있다. 다양한 실시예들에서, 상기 고정된 피사체에 대응하는 상기 시각적 객체에 대한 정보는 상기 고정된 피사체의 위치 정보와 연계로 송신될 수 있다. 다양한 실시예들에서, 컴퓨터 비젼 모델 225와 관련된 상기 전자 장치에 의해 수신된 상기 시각적 객체에 대한 정보는, 상기 고정된 피사체의 위치 정보와 연계로 저장될 수 있다. 상기 위치 정보와 연계로 상기 전자 장치 내에 저장된 상기 시각적 객체에 대한 정보는, 자율 주행과 관련된 지도 정보를 업데이트하기 위해 이용될 수 있다. 예를 들어, 상기 고정된 피사체가 상기 지도 정보 내에 포함되지 않은 경우, 전자 장치 240은, 상기 시각적 객체에 대한 정보 및 상기 시각적 객체에 대응하는 상기 고정된 피사체의 위치 정보를 상기 전자 장치에게 제공하고, 상기 전자 장치는 상기 시각적 객체에 대한 정보를 상기 위치 정보와 연계로 저장하고, 상기 위치 정보와 연계로 저장된 상기 시각적 객체에 대한 정보를 상기 지도 정보 내에 새롭게 삽입함으로써, 상기 지도 정보를 업데이트할 수 있다. 다양한 실시예들에서, 상기 업데이트된 지도 정보는, 전자 장치 240를 포함하는 차량 230과 구별되는 다른 차량을 위해 이용될 수 있다. 예를 들어, 상기 지도 정보의 업데이트 후 상기 다른 차량과 관련된 카메라를 통해 상기 시각적 객체를 포함하는 이미지가 획득되는 경우, 상기 다른 차량과 관련된 전자 장치는, 상기 업데이트된 지도 정보에 기반하여, 상기 획득된 이미지 내에서 상기 시각적 객체가 무엇인지 인식하기 위한 동작 없이, 상기 이미지 내의 상기 시각적 객체가 상기 고정된 피사체임을 식별할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 컴퓨터 비젼 모델 225와 관련된 상기 전자 장치는, 카메라 227을 통해 획득된 이미지 내에서 새롭게 등장한, 고정된 피사체에 대한 시각적 객체가 존재하는 경우, 상기 시각적 객체에 대한 정보의 송신에 기반하여 상기 지도 정보를 업데이트함으로써, 상기 시각적 객체를 인식하기 위한 연산량을 감소시킬 뿐 아니라, 자율 주행과 관련된 자원의 효율성을 강화할 수 있다.
도 14는 다양한 실시예들에 따라 추출된 특징점들에 대한 데이터에 기반하여 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 240 또는 전자 장치 240의 프로세서에 의해 실행될 수 있다.
도 14의 동작 1401 내지 1405는 도 10의 동작 1018과 관련될 수 있다.
도 14를 참조하면, 동작 1401에서, 전자 장치 240은, 비디오 시퀀스로부터 특징점들을 추출할 수 있다. 예를 들면, 전자 장치 240은, 도 9의 전자 장치 220의 동작과 동일하거나 유사한 방식으로, 상기 비디오 시퀀스로부터 상기 특징점들을 추출할 수 있다.
동작 1403에서, 전자 장치 240은, 상기 추출된 특징점들에 대한 데이터를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다.
동작 1405에서, 전자 장치 240은, 상기 데이터를 획득한 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다.
도 14의 동작 1401 내지 동작 1405는, 도 11a, 도 12a, 및 도 13a의 설명을 통해 예시된 방법과 병렬적으로 적용가능하고, 도 15a, 도 16, 및 도 17의 설명을 통해 후술될 방법과 병렬적으로 적용가능하다. 예를 들면, 전자 장치 240은, 비디오 시퀀스로부터 변환된 새로운 비디오 시퀀스를 획득하고, 상기 새로운 비디오 시퀀스로부터 동작 1401과 같이 특징점들을 추출하고, 상기 추출된 특징점들에 대한 데이터를 동작 1403과 같이, 트레이닝된 컴퓨터 비젼 모델 225에게 제공하고, 동작 1405와 같이, 상기 데이터를 획득한 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다.
도 15a는 다양한 실시예들에 따라 시각적 객체의 자세를 변환한 새로운 비디오 시퀀스에 기반하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 240 또는 전자 장치 240의 프로세서에 의해 실행될 수 있다.
도 15a의 동작 1501 내지 1515는 도 10의 동작 1018과 관련될 수 있다.
도 15b는 다양한 실시예들에 따라 시각적 객체의 자세를 변환하는 예를 도시한다.
도 15a를 참조하면, 동작 1501에서, 전자 장치 240은 비디오 시퀀스 내에서 검출된 상기 시각적 객체의 자세의 분석에 기반하여, 상기 비디오 시퀀스를 획득한 카메라의 렌즈의 광축과 상기 시각적 객체에 대응하는 피사체 사이의 각도를 획득하거나, 산출할 수 있다. 예를 들면, 상기 획득된 각도는, 상기 광축과 상기 카메라의 렌즈의 중심점과 상기 피사체의 일 지점을 잇는 직선 사이의 각도를 의미할 수 있다. 예를 들어, 도 15b를 참조하면, 상태 1520에서와 같이, 전자 장치 240은, 상기 시각적 객체의 자세의 분석에 기반하여, 상기 비디오 시퀀스를 획득한 카메라의 렌즈의 광축 1521과 상기 렌즈의 중심점과 피사체의 일 지점을 잇는 직선 1522 사이의 각도 1523을 획득할 수 있다.
동작 1503에서, 전자 장치 240은, 상기 각도가 지정된 범위 내인지 여부를 식별할 수 있다. 예를 들면, 상기 지정된 범위는, 상기 시각적 객체가 상기 카메라의 정면에 위치된 피사체에 대응하는지 여부를 식별하기 위해, 전자 장치 240 내에서 구성된 파라미터일 수 있다. 다양한 실시예들에서, 상기 지정된 범위는, 트레이닝된 컴퓨터 비젼 모델 225의 신뢰도에 따라 변경될 수 있다. 예를 들어, 상기 각도가 30도 미만일 시 트레이닝된 컴퓨터 비젼 모델 225의 차량 검출이 정확할 확률이 X%이고, 상기 각도가 30도 이상일 시 트레이닝된 컴퓨터 비젼 모델 225의 차량 검출이 정확할 확률이 X%보다 낮은 Y%인 경우, 상기 지정된 범위는 0도 내지 30도의 범위로 설정될 수 있다. 다른 예를 들어, 상기 각도가 45도 미만일 시 트레이닝된 컴퓨터 비젼 모델 225의 차량 검출이 정확할 확률이 Z%이고, 상기 각도가 45도 이상일 시 트레이닝된 컴퓨터 비젼 모델 225의 차량 검출이 정확할 확률이 Z%보다 낮은 W%인 경우, 상기 지정된 범위는 0도 내지 45도의 범위로 설정될 수 있다. 하지만, 이에 제한되지 않는다.
전자 장치 240은, 상기 각도가 상기 지정된 범위 내인 경우, 동작 1505를 실행하고, 그렇지 않으면 동작 1509를 실행할 수 있다.
동작 1505에서, 전자 장치 240은, 상기 각도가 상기 지정된 범위 내라는 식별에 기반하여, 상기 카메라를 통해 획득된 상기 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다.
동작 1507에서, 전자 장치 240은, 상기 비디오 시퀀스를 획득한 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 상기 비디오 시퀀스 내에서 검출된 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다.
동작 1509에서, 전자 장치 240은, 상기 각도가 상기 지정된 범위 밖이라는 식별에 기반하여, 상기 광축과 피사체 사이의 각도가 상기 지정된 범위 내인 상태에서의 피사체에 대응하도록 상기 시각적 객체를 변환할 수 있다. 예를 들어, 도 15b를 참조하면, 전자 장치 240은, 상기 각도가 상기 지정된 범위 밖인 상태에서 획득된 비디오 시퀀스 1530 내의 시각적 객체 1535-1를 상기 각도가 상기 지정된 범위 내인 상태에서의 피사체에 대응하는 시각적 객체 1535-2로 변환할 수 있다.
동작 1511에서, 전자 장치 240은, 상기 변환된 시각적 객체를 포함하는 새로운 비디오 시퀀스를 획득할 수 있다. 예를 들어, 도 15b를 참조하면, 전자 장치 240은, 시각적 객체 1535-2를 포함하는 새로운 비디오 시퀀스 1540를 획득할 수 있다.
동작 1513에서, 전자 장치 240은, 상기 새로운 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다.
동작 1515에서, 전자 장치 240은, 상기 새로운 비디오 시퀀스를 획득한 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 상기 비디오 시퀀스 내에서 검출된 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 240은, 상기 비디오 시퀀스 내의 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하기 위해, 시각적 객체의 자세를 변환하고, 변환된 자세의 시각적 객체를 포함하는 새로운 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다. 다양한 실시예들에 따른 전자 장치 240은, 이러한 동작을 통해, 트레이닝된 컴퓨터 비젼 모델 225의 상기 결정의 신뢰성을 강화할 수 있다.
도 16은 다양한 실시예들에 따라 시각적 객체의 밝기를 변환한 새로운 비디오 시퀀스에 기반하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 240 또는 전자 장치 240의 프로세서에 의해 실행될 수 있다.
도 16의 동작 1601 내지 1613는 도 10의 동작 1018과 관련될 수 있다.
도 16을 참조하면, 동작 1601에서, 전자 장치 240은, 비디오 시퀀스 내에서 검출된 상기 시각적 객체의 밝기가 지정된 범위 내인지 여부를 식별할 수 있다. 다양한 실시예들에서, 상기 지정된 범위는, 트레이닝된 컴퓨터 비젼 모델 225의 신뢰도에 따라 변경될 수 있다. 예를 들어, 상기 밝기를 지시하기 위한 값이 A 내지 B일 시의 트레이닝된 컴퓨터 비젼 모델 225의 차량 검출의 정확성이 상기 밝기를 지시하기 위한 값이 B 내지 C일 시의 트레이닝된 컴퓨터 비젼 모델 225의 차량 검추르이 정확성보다 높은 경우, 상기 지정된 범위는 A 내지 B로 설정될 수 있다. 하지만, 이에 제한되지 않는다.
전자 장치 240은, 상기 밝기가 상기 지정된 범위 내에 있는 경우, 동작 1603을 실행하고, 그렇지 않으면 동작 1607을 실행할 수 있다.
동작 1603에서, 전자 장치 240은, 상기 밝기가 상기 지정된 범위 내라는 식별에 기반하여, 상기 카메라를 통해 획득된 상기 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다.
동작 1605에서, 전자 장치 240은, 상기 비디오 시퀀스를 획득한 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 상기 비디오 시퀀스 내에서 검출된 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다.
동작 1607에서, 전자 장치 240은, 상기 밝기가 상기 지정된 범위 밖이라는 식별에 기반하여, 상기 시각적 객체의 밝기를 기준 밝기로 변환할 수 있다. 예를 들면, 상기 기준 밝기는 트레이닝된 컴퓨터 비젼 모델 225가 차량을 가장 정확하게 검출할 수 있는 밝기로 설정될 수 있다.
동작 1609에서, 전자 장치 240은, 상기 기준 밝기로 변환된 상기 시각적 객체를 포함하는 새로운 비디오 시퀀스를 획득할 수 있다.
동작 1611에서, 전자 장치 240은, 상기 새로운 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다.
동작 1613에서, 전자 장치 240은, 상기 새로운 비디오 시퀀스를 획득한 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 상기 비디오 시퀀스 내에서 검출된 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 240은, 상기 비디오 시퀀스 내의 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하기 위해, 상기 시각적 객체의 밝기를 변환하고, 상기 변환된 밝기를 가지는 시각적 객체를 포함하는 새로운 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다. 다양한 실시예들에 따른 전자 장치 240은, 이러한 동작을 통해, 트레이닝된 컴퓨터 비젼 모델 225의 상기 결정의 신뢰성을 강화할 수 있다.
도 17은 다양한 실시예들에 따라 시각적 객체의 색상을 변환한 새로운 비디오 시퀀스에 기반하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하는 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 240 또는 전자 장치 240의 프로세서에 의해 실행될 수 있다.
도 17의 동작 1701 내지 1713는 도 10의 동작 1018과 관련될 수 있다.
도 17을 참조하면, 동작 1701에서, 전자 장치 240은 비디오 시퀀스 내에서 검출된 시각적 객체의 지정된 부분의 색상이 기준 색상에 대응하는지 여부를 식별할 수 있다. 예를 들면, 상기 지정된 부분은, 차량의 리어로부터 적어도 하나의 테일 램프, 번호판, 및 타이어를 제외한 부분일 수 있다. 다시 말해, 상기 지정된 부분은, 차량의 리어의 익스테리어(exterior) 부분에 대응할 수 있다. 다양한 실시예들에서, 상기 기준 색상은, 트레이닝된 컴퓨터 비젼 모델 225의 차량 검출의 성능에 기반하여 결정될 수 있다. 예를 들면, 상기 기준 색상은, 트레이닝된 컴퓨터 비젼 모델 225의 차량 검출의 정확성이 가장 높은 색상에 대응할 수 있다. 하지만, 이에 제한되지 않는다.
한편, 전자 장치 240은, 상기 시각적 객체의 상기 지정된 부분의 색상이 상기 기준 색상에 대응하는 경우, 동작 1703을 실행하고, 그렇지 않으면 동작 1707을 실행할 수 있다.
동작 1703에서, 전자 장치 240은, 상기 지정된 부분의 색상이 상기 기준 색상에 대응한다는 식별에 기반하여, 카메라를 통해 획득된 상기 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다.
동작 1705에서, 전자 장치 240은, 상기 비디오 시퀀스를 획득한 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다.
동작 1707에서, 전자 장치 240은, 상기 지정된 부분의 색상이 상기 기준 색상과 구별된다는 식별에 기반하여, 상기 시각적 객체의 상기 지정된 부분의 색상을 상기 기준 색상으로 변환할 수 있다.
동작 1709에서, 전자 장치 240은, 상기 기준 색상으로 변환된 상기 지정된 부분을 가지는 상기 시각적 객체를 포함하는 새로운 비디오 시퀀스를 획득할 수 있다.
동작 1711에서, 전자 장치 240은, 상기 새로운 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다.
동작 1713에서, 전자 장치 240은, 상기 새로운 비디오 시퀀스를 획득한 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 상기 비디오 시퀀스 내에서 검출된 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 240은, 상기 비디오 시퀀스 내의 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하기 위해, 상기 시각적 객체의 지정된 부분의 색상을 변환하고, 상기 변환된 색상의 지정된 부분을 가지는 시각적 객체를 포함하는 새로운 비디오 시퀀스를 트레이닝된 컴퓨터 비젼 모델 225에게 제공할 수 있다. 다양한 실시예들에 따른 전자 장치 240은, 이러한 동작을 통해, 트레이닝된 컴퓨터 비젼 모델 225의 상기 결정의 신뢰성을 강화할 수 있다.
도 18a는 다양한 실시예들에 따라 비디오 시퀀스 내의 시각적 객체가 차량 외관에 대응한다는 결정에 기반하여 정보를 표시하는 방법을 도시하는 흐름도이다. 이러한 방법은, 도 2에 도시된 전자 장치 240 또는 전자 장치 240의 프로세서에 의해 실행될 수 있다.
도 18b는 다양한 실시예들에 따라 전자 장치 240의 디스플레이 상에서 표시되는 정보의 예를 도시한다.
도 18c는 다양한 실시예들에 따른 차량 검출에 기반하여 자율 주행을 위한 신호를 송신하는 방법의 예를 도시한다.
도 18a를 참조하면, 동작 1801에서, 전자 장치 240은 비디오 시퀀스 내의 시각적 객체가 차량 외관에 대응함을 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 결정할 수 있다.
동작 1803에서, 전자 장치 240은, 상기 시각적 객체가 차량 외관에 대응함을 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 결정하는 것에 응답하여, 상기 시각적 객체에 대응하는 피사체와 전자 장치 240를 포함하는 상기 차량 사이의 거리를 식별할 수 있다. 예를 들면, 전자 장치 240은, 상기 비디오 시퀀스를 획득한 카메라의 위치, 상기 비디오 시퀀스를 획득할 시의 배율, 및 상기 시각적 객체의 크기에 기반하여, 상기 거리를 식별할 수 있다. 실시예들에 따라, 상기 거리는, 전자 장치 240를 포함하는 상기 차량의 라이다 센서를 통해 식별될 수도 있다. 하지만, 이에 제한되지 않는다.
동작 1805에서, 전자 장치 240은, 상기 식별에 응답하여, 상기 식별된 거리에 대한 데이터를 상기 차량과 관련된 정보 위에 중첩으로 표시할 수 있다. 예를 들어, 도 18b를 참조하면, 전자 장치 240은, 상기 차량의 전방에 대한 정보를 포함하는 화면 1810을 표시하는 상태에서, 동작 1801 내지 동작 1803을 실행할 수 있다. 전자 장치 240은, 동작 1803의 실행에 응답하여, 상기 거리에 대한 데이터 1815를 화면 1810 내의 상기 정보 위에 중첩으로 표시할 수 있다. 예를 들면, 전자 장치 240은, 상기 시각적 객체와 상기 차량 사이의 거리가 안전 거리에 해당하는지 여부를 제공하기 위해, 데이터 1815를 화면 1810 내의 상기 정보 위에 중첩으로 표시할 수 있다. 데이터 1815는 화면 1810 내의 상기 정보 위에 중첩으로 표시되기 때문에, 운전자는 직관적으로 현재 상기 차량의 주행 상태의 안전성을 인지할 수 있다. 한편, 실시예들에 따라, 전자 장치 240은, 화면 1810 내에 데이터 1815로부터 추가로 처리된 알림 1820을 더 표시할 수 있다. 다시 말해, 전자 장치 240은, 차량 검출에 기반하여, 상기 차량의 주행에 도움을 주는 다양한 데이터를 제공할 수 있다.
상술한 바와 같이, 다양한 실시예들에 따른 전자 장치 240은, 차량 검출에 기반하여 다양한 정보를 상기 차량 내에서 제공하고 다양한 기능들을 상기 차량 내에서 제공함으로써, 상기 차량의 주행의 안전성을 강화할 수 있다.
한편, 도 18a 및 18b는 전자 장치 240을 포함하는 차량의 전방에 다른 차량이 위치되는 경우를 도시하고 있으나, 본 문서의 실시예가 이에 한정되는 것은 아님에 유의하여야 한다. 다양한 실시예들에서, 전자 장치 240은, 컴퓨터 비젼 모델 225를 이용하여 차량을 검출함으로써, 자율 주행 서비스를 제공할 수 있다. 예를 들어, 도 18c를 참조하면, 전자 장치 240은, 카메라 227을 통해 이미지 1830을 획득할 수 있다. 다양한 실시예들에서, 전자 장치 240은, 도 10 내지 도 17의 설명을 통해 예시된 방법을 통해, 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 이미지 1830으로부터 차량 외관에 대응하는 시각적 객체 1835를 검출할 수 있다. 예를 들면, 이미지 1830으로부터 검출된 시각적 객체 1835는, 차량 230이 자율 주행 중인 레인(lane) 1840 옆의 레인 1845로부터 레인 1840으로 컷인하는(cut in) 다른 차량에 대응할 수 있다. 다양한 실시예들에서, 전자 장치 240은, 시각적 객체 1835를 검출하는 것에 응답하여, 시각적 객체 1835를 추적할 수 있다. 다양한 실시예들에서, 전자 장치 240은, 상기 추적에 기반하여 시각적 객체 1835에 대응하는 다른 차량이 차량 230의 전방에서 레인 1845로부터 레인 1840으로 이동될 것임을 추정할 수 있다. 예를 들면, 전자 장치 240은, 시각적 객체 1835의 추적을 위해, 이미지 1830 내에서의 시각적 객체 1835의 위치 및 이미지 1830 다음의 이미지 1850 내에서의 시각적 객체 1835의 위치를 식별하고, 이미지 1830 내에서의 시각적 객체 1835의 위치 및 이미지 1850 내에서의 시각적 객체 1835의 위치 사이의 변화에 기반하여, 시각적 객체 1835에 대응하는 상기 다른 차량이 차량 230의 전방에서 레인 1845로부터 레인 1840으로 이동될 것임을 추정할 수 있다. 다양한 실시예들에서, 전자 장치 240은, 상기 추정에 기반하여, 차량 230이 상기 다른 차량과 충돌하지 않도록 또는 차량 230이 상기 다른 차량을 회피하도록, 자율 주행 중인 차량 230의 속도를 감소시키기 위한 신호를 차량 230에게 제공할 수 있다. 대안적으로, 전자 장치 240은, 상기 추정에 기반하여, 차량 230이 상기 다른 차량과 충돌하지 않도록 또는 차량 230이 상기 다른 차량을 회피하도록, 자율 주행 중인 상기 다른 차량의 속도를 증가시키기 위한 신호를 상기 다른 차량에게 제공할 수도 있다. 실시예들에 따라, 상기 다른 차량의 속도를 증가시키기 위한 신호는, 차량 230을 통해 상기 다른 차량에게 제공될 수도 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 전자 장치 240은, 차량 230의 속도를 감소시키기 위한 상기 신호를 차량 230에게 제공하거나 상기 다른 차량의 속도를 증가시키기 위한 상기 신호를 상기 다른 차량에게 제공한 후, 카메라 227을 통해 이미지 1855를 획득할 수 있다. 다양한 실시예들에서, 전자 장치 240은, 이미지 1855 내의 시각적 객체 1935에 대응하는, 차량 230 전방에 위치된 상기 다른 차량과 차량 230 사이의 거리를 식별하고, 상기 식별된 거리에 기반하여, 차량 230이 상기 다른 차량과 충돌하지 않도록, 자율 주행 중인 차량 230 및/또는 자율 주행 중인 상기 다른 차량의 속도를 제어하기 위한 적어도 하나의 신호를 차량 230에게 제공하거나 차량 230을 통해 상기 다른 차량에게 제공할 수 있다.
도 10 내지 도 18c의 설명은, 전자 장치 240이 트레이닝된 컴퓨터 비젼 모델 225를 이용하여 다른 차량을 검출하고 상기 다른 차량의 검출에 기반하여 적어도 하나의 동작을 실행하는 예를 도시하고 있다. 전자 장치 240은, 도 10 내지 도 18c의 설명을 통해 기술된 동작들을 실행하는 동안, 컴퓨터 비젼 모델 225을 지속적으로 트레이닝할 수도 있다. 예를 들면, 전자 장치 240은, 도 10 내지 도 18c의 설명을 통해 기술된 동작들을 실행하는 동안, 차량 230 주변의 적어도 하나의 다른 차량과 관련된 전자 장치로부터 상기 적어도 하나의 다른 차량에 대한 정보를 수신하고, 상기 수신된 정보를 컴퓨터 비젼 모델 225에게 제공함으로써 컴퓨터 비젼 모델 225를 트레이닝할 수 있다. 다시 말해, 전자 장치 240은, 전자 장치 240과 컴퓨터 비젼 모델 225가 관련된 후 컴퓨터 비젼 모델 225를 다른 차량의 검출을 위해 이용하는 동안, 컴퓨터 비젼 모델 225의 트레이닝을 지속적으로 실행하기 위한 동작들을 수행할 수 있다.
도 19는 다양한 실시예들에 따른 전자 장치들의 간소화된 블록도(simplified block diagram)이다.
도 19를 참조하면, 전자 장치 1900은 전자 장치 210, 전자 장치 220, 또는 전자 장치 240의 일 예일 수 있다. 전자 장치 1900은 프로세서 1902, 메모리 1904, 저장 장치 1906, 고속(high-speed) 컨트롤러 1908(예: 노스브릿지(northbridge), MCH(Main Controller Hub)), 및 저속(low-speed) 컨트롤러 1912(예: 사우스브릿지(southbridge), ICH(I/O controller hub))를 포함할 수 있다. 전자 장치 1900 내에서, 프로세서 1902, 메모리 1904, 저장 장치 1906, 고속 컨트롤러 1908, 및 저속 컨트롤러 1912 각각은, 다양한 버스(bus)들을 이용하여 상호연결될(interconnected) 수 있다.
예를 들면, 프로세서 1902는 고속 컨트롤러 1908에 연결된 디스플레이 1916과 같은 외부 입출력 장치 상에 GUI(graphical user interface)에 대한 그래픽 정보를 표시하기 위해 전자 장치 1900 내에서 실행을 위한 인스트럭션들을 처리할 수 있다. 상기 인스트럭션들은 메모리 1904 또는 저장 장치 1906 내에 포함될 수 있다. 상기 인스트럭션들은, 프로세서 1902에 의해 실행될 시, 상술한 하나 이상의 동작들을 수행하도록, 전자 장치 1900을 야기할(cause) 수 있다. 실시예들에 따라, 프로세서 1902는 통신 프로세서 및 GPU(graphical processing unit)를 포함하는 복수의 프로세서들로 구성될 수도 있다.
예를 들면, 메모리 1904는 전자 장치 1900 내에 정보를 저장할 수 있다. 예를 들면, 메모리 1904는 휘발성 메모리 유닛 또는 유닛들일 수 있다. 다른 예를 들면, 메모리 1904는 비휘발성 메모리 유닛 또는 유닛들일 수 있다. 또 다른 예를 들면, 메모리 1904는 자기 또는 광학 디스크와 같이, 다른 형태의 컴퓨터 판독가능 매체일 수 있다.
예를 들면, 저장 장치 1906은 전자 장치 1900에게 대용량(mass) 저장 공간을 제공할 수 있다. 예를 들면, 저장 장치 1906은 하드 디스크 장치, 광학 디스크 장치, 플래시 메모리, 솔리드 스테이트 메모리 장치, 또는 SAN(storage area network) 내의 장치들의 어레이(array)와 같은, 컴퓨터 판독가능 매체일 수 있다.
예를 들면, 고속 컨트롤러 1908은 전자 장치 1900을 위한 대역폭-집약적(bandwidth-intensive) 동작들을 관리하는 반면, 저속 컨트롤러 1912는 전자 장치 1900을 위한 낮은(low) 대역폭 집약적 동작들을 관리할 수 있다. 예를 들면, 고속 컨트롤러 1908은 메모리 1904와 결합되고(coupled to) GPU 또는 가속기(accelerator)를 통해 디스플레이 1916와 결합되는 반면, 저속 컨트롤러 1912는 저장 장치 1906과 결합되고 외부 전자 장치(예: 키보드, 트랜스듀서(transducer), 스캐너, 또는 네트워크 장치(예: 스위치 또는 라우터))와의 통신을 위한 다양한 통신 포트들(예: USB(universal serial bus), 블루투스, 이더넷(ethernet), 무선 이더넷)과 결합될 수 있다.
상술한 바와 같은, 다양한 실시예들에 따른 전자 장치(예: 전자 장치 210)는, 디스플레이와, 입력 회로와, 인스트럭션들을 저장하는 메모리와, 상기 인스트럭션들을 실행할 시, 제1 이미지를 획득하고, 상기 제1 이미지로부터 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 포함하는 영역을 잘라내는(crop) 것에 응답하여, 상기 영역에 대한 속성(attribute)을 입력하기 위한 필드들(여기서, 상기 필드들은, 차종을 상기 속성으로 입력하기 위한 제1 필드 및 상기 잠재적 차량 외관에 대응하는 피사체와 상기 제1 이미지를 획득한 카메라 사이의 위치 관계를 상기 속성으로 입력하기 위한 제2 필드를 포함함)을 상기 디스플레이를 통해 표시하고, 상기 필드들을 표시하는 동안, 상기 제1 필드 및 상기 제2 필드를 포함하는 상기 필드들 각각에 대한 사용자 입력을 상기 입력 회로를 통해 수신함으로써, 상기 속성에 대한 정보를 획득하고, 상기 정보의 획득에 응답하여, 상기 영역으로 구성된 제2 이미지를, 상기 정보와 연계로, 차량 검출(vehicle detection)을 위한 컴퓨터 비젼(computer vision) 모델의 트레이닝을 위한 데이터 세트 내에, 저장하도록, 구성되는 프로세서를 포함할 수 있다.
다양한 실시예들에서, 상기 표시된 필드들은, 상기 카메라를 통해 상기 제1 이미지를 획득할 시의 조도를 상기 속성으로 입력하기 위한 제3 필드를 더 포함할 수 있다.
다양한 실시예들에서, 상기 표시된 필드들은, 상기 피사체의 색상을 상기 속성으로 입력하기 위한 제4 필드를 더 포함할 수 있다.
다양한 실시예들에서, 상기 표시된 필드들은, 상기 시각적 객체가 상기 피사체의 일부가 상기 피사체와 상기 카메라 사이에 위치된 객체(object)에 의해 가려진 상태를 보여주고(represent) 있는지 여부를 상기 속성으로 입력하기 위한 제5 필드를 더 포함할 수 있다.
다양한 실시예들에서, 상기 표시된 필드들은, 상기 제1 이미지 내의 상기 시각적 객체가 상기 피사체의 일부만을 보여주고 있는지 여부를 상기 속성으로 입력하기 위한 제6 필드를 더 포함할 수 있다.
다양한 실시예들에서, 상기 제2 필드는, 상기 카메라와 상기 피사체 사이의 거리가 지정된 거리 이상인지 또는 미만인지 여부를 입력하기 위한 입력 필드를 포함할 수 있다.
다양한 실시예들에서, 상기 제2 필드는, 상기 카메라의 렌즈의 광축과 상기 피사체 사이의 각도가 제1 지정된 범위 내인지, 상기 제1 지정된 범위와 구별되는 제2 지정된 범위 내인지, 또는 상기 제1 지정된 범위 및 상기 제2 지정된 범위와 구별되는 제3 지정된 범위 내인지 여부를 입력하기 위한 입력 필드를 더 포함할 수 있다.
다양한 실시예들에서, 상기 프로세서는, 상기 인스트럭션들을 실행할 시, 상기 제1 이미지를 획득하는 것에 응답하여, 상기 제1 이미지 내에 상기 시각적 객체가 포함됨을 인식하고, 상기 인식에 응답하여, 상기 시각적 객체를 포함하는 제1 영역(여기서, 상기 제1 영역의 폭(width)은, 상기 영역의 폭보다 넓음)을 식별하고, 상기 제1 영역에 대하여 Sobel 연산을 실행함으로써, 상기 제1 영역의 수직 중심선을 기준으로 상기 제1 영역의 좌측 부분에 대한 제1 수직 엣지(vertical edge)들 및 상기 수직 중심선을 기준으로 상기 제1 영역의 우측 부분에 대한 제2 수직 엣지들을 검출하고, 상기 제1 수직 엣지들에 대한 수직 히스토그램 누적 값들 중 최대 값에 대응하는 부분을 좌측 경계로 가지고, 상기 제2 수직 엣지들에 대한 수직 히스토그램 누적 값들 중 최대값에 대응하는 부분을 우측 경계로 가지는, 상기 영역을, 상기 제1 영역으로부터 식별하고, 상기 제1 이미지로부터 상기 영역을 잘라내도록(crop), 더 구성될 수 있다.
다양한 실시예들에서, 상기 컴퓨터 비젼 모델은, 이동되고 있는 차량의 카메라를 통해 획득되는 이미지 내에서 차량 외관에 대응하는 시각적 객체를 검출하기 위해, 상기 데이터 세트를 이용하여 트레이닝될 수 있다.
다양한 실시예들에서, 상기 제1 이미지 내의 상기 시각적 객체는, 적어도 하나의 테일 램프(tail lamp)를 포함하는 차량의 리어(rear)를 보여줄 수 있다.
상술한 바와 같은, 이동되고 있는 차량 내의 전자 장치(예: 전자 장치 240)는, 트레이닝된(trained) 컴퓨터 비젼 모델 및 인스트럭션들을 포함하는 메모리와, 적어도 하나의 프로세서를 포함할 수 있고, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시, 상기 차량과 관련된 카메라를 통해, 비디오 시퀀스(video sequence)를 획득하고, 획득되는 상기 비디오 시퀀스 내에서 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 검출하는 것에 응답하여, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 지정된 시간 동안 유지되는지 여부를 식별하고, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 시각적 객체가 차량 외관에 대응하는지 여부를 상기 트레이닝된 컴퓨터 비젼 모델를 이용하여 결정하고, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지되지 않음을 식별하는 것에 응답하여, 상기 시각적 객체가 차량 외관에 대응하는지 여부를 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 결정하는 것을 우회하도록, 구성될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 비디오 시퀀스로부터 상기 시각적 객체의 국소 움직임(local movement) 벡터들을 획득하고, 상기 국소 움직임 벡터들에 기반하여, 상기 시각적 객체의 전역 움직임(global movement) 벡터들을 획득하고, 상기 전역 움직임 벡터들에 기반하여 추정된 상기 시각적 객체의 움직임에 기반하여, 상기 비디오 시퀀스로부터 상기 카메라의 움직임이 보상된 새로운 비디오 시퀀스를 획득하고, 상기 새로운 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록, 구성될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 카메라로부터 상기 카메라의 움직임에 대한 데이터를 획득하고, 상기 데이터에 기반하여, 상기 비디오 시퀀스로부터 상기 카메라의 움직임이 보상된 새로운 비디오 시퀀스를 획득하고, 상기 새로운 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록, 구성될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 비디오 시퀀스로부터 상기 시각적 객체의 배경에 대응하는 영역을 식별하고, 상기 식별된 영역의 움직임에 대한 데이터를 획득하고, 상기 데이터에 기반하여, 상기 비디오 시퀀스로부터 상기 카메라의 움직임이 보상된 새로운 비디오 시퀀스를 획득하고, 상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록, 구성될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 비디오 시퀀스로부터 특징점들을 추출하고, 상기 추출된 특징점들에 대한 데이터를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 데이터를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록, 구성될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 시각적 객체의 자세의 분석에 기반하여, 상기 카메라의 렌즈의 광축과 상기 시각적 객체에 대응하는 피사체 사이의 각도를 획득하고, 상기 각도가 지정된 각도 내인지 여부를 식별하고, 상기 각도가 상기 지정된 범위 내임을 식별하는 것에 기반하여, 상기 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하고, 상기 각도가 상기 지정된 범위 밖임을 식별하는 것에 기반하여, 상기 각도가 상기 지정된 범위 내인 상태에서의 피사체에 대응하도록 상기 시각적 객체를 변환하고, 상기 변환된 시각적 객체를 포함하는 새로운 비디오 시퀀스를 획득하고, 상기 새로운 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 변환된 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록, 구성될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 시각적 객체의 밝기가 지정된 범위 내인지 여부를 식별하고, 상기 밝기가 상기 지정된 범위 내임을 식별하는 것에 응답하여, 상기 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하고, 상기 밝기가 상기 지정된 범위 밖임을 식별하는 것에 응답하여, 상기 밝기를 기준 밝기로 변환한 상기 시각적 객체를 포함하는 새로운 비디오 시퀀스를 획득하고, 상기 새로운 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록, 구성될 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 시각적 객체의 지정된 부분의 색상이 기준 색상에 대응하는지 여부를 식별하고, 상기 시각적 객체의 상기 지정된 부분의 상기 색상이 상기 기준 색상에 대응함을 식별하는 것에 기반하여, 상기 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하고, 상기 시각적 객체의 상기 지정된 부분의 상기 색상이 상기 기준 색상과 다름을 식별하는 것에 기반하여, 상기 시각적 객체의 상기 지정된 부분의 색상을 상기 기준 색상으로 변환하고, 상기 기준 색상으로 변환된 상기 지정된 부분을 가지는 상기 시각적 객체를 포함하는 새로운 비디오 시퀀스를 획득하고, 상기 새로운 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 기준 색상으로 변환된 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록, 구성될 수 있다.
다양한 실시예들에서, 상기 전자 장치는, 디스플레이를 더 포함할 수 있고, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시, 상기 시각적 객체가 차량 외관에 대응함을 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 결정하는 것에 응답하여, 상기 시각적 객체에 대응하는 피사체와 상기 전자 장치를 포함하는 상기 차량 사이의 거리를 식별하고, 상기 디스플레이를 통해 표시된, 상기 전자 장치를 포함하는 상기 차량과 관련된 정보 위에 중첩으로, 상기 식별된 거리에 대한 데이터를 표시하도록, 더 구성될 수 있다.
다양한 실시예들에서, 상기 전자 장치는, 통신 회로를 더 포함할 수 있고, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시, 상기 시각적 객체가 차량 외관에 대응함을 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 결정하는 것에 응답하여, 상기 시각적 객체가 차량이라는 인식에 기반하여, 상기 전자 장치를 포함하는 차량 내의 기능을 실행하기 위한 신호를 상기 통신 회로를 통해 송신하도록, 더 구성될 수 있다.
도 20은 다양한 실시예들에 따른 전자 장치를 포함하는 차량의 예를 도시한다. 예를 들면, 상기 차량은 도 2 내에 도시된 차량 230일 수 있다.
도 21은 다양한 실시예들에 따른 전자 장치의 기능적 구성의 예를 도시한다. 이러한 기능적 구성은, 도 2 내에 도시된 전자 장치 240 내에 포함될 수 있다.
도 22는 다양한 실시예들에 따른 전자 장치와 관련된 게이트웨이의 예를 도시한다. 이러한 게이트웨이는, 도 2 내에 도시된 전자 장치 240와 관련될 수 있다.
도 20 및 도 21을 참조하면, 다양한 실시예들에 따른 제어 장치 2100(예: 도 2의 전자 장치 240)은 차량 2000(예: 차량 230)에 장착될 수 있다.
다양한 실시예들에서, 제어 장치 2100은 메모리 2122와 프로세서 2124를 포함하는 컨트롤러 2120, 센서 2130을 포함할 수 있다.
다양한 실시예들에 따르면, 컨트롤러 2120은 차량의 제조사에 의해 제조 시 구성되거나 또는 제조 후에 자율 주행의 기능 수행을 위해 추가 구성될 수 있다. 또는 제조 시 구성된 컨트롤러 2120의 업그레이드를 통해 지속적인 부가 기능 수행을 위한 구성이 포함될 수 있다.
컨트롤러 2120은 제어 신호를 차량 내 다른 구성들로 포함된 센서 2110, 엔진 2006, 사용자 인터페이스 2008, 무선 통신 장치 2130, LIDAR 2140, 및 카메라 모듈 2150에 전달할 수 있다. 또한, 도시되지는 않았으나, 컨트롤러 2120은 차량의 주행과 관련되는 가속 장치, 브레이킹 시스템, 조향 장치, 또는 네비게이션 장치에도 제어 신호를 전달할 수 있다.
다양한 실시예들에서, 컨트롤러 2120은 엔진 2006을 제어할 수 있으며 예를 들어 자율 주행 차량 2000이 주행 중인 도로의 제한 속도를 감지하고 주행 속도가 제한 속도를 초과하지 않도록 엔진 2006을 제어하거나, 제한 속도를 초과하지 않는 범위 내에서 자율 주행 차량 2000의 주행 속도를 가속하도록 엔진 2006을 제어할 수 있다. 또한 부가적으로 차량 외부의 환경을 센싱 모듈 2004a, 2004b, 2004c, 2004d이 감지하여 센서 2110로 전달하면 컨트롤러 2120은 이를 수신하여 엔진 2006 또는 조향 장치(미도시)를 제어하는 신호를 생성하여 차량의 주행을 제어할 수 있다.
컨트롤러 2120은 차량의 전방에 다른 차량 또는 방해물이 존재하는 경우에는 주행 차량을 감속하도록 엔진 2006 또는 브레이킹 시스템을 제어할 수 있으며, 속도 외에도 궤적, 운행 경로, 조향 각을 제어할 수 있다. 또는 컨트롤러 2120은 차량의 주행 차선, 주행 신호 등 기타 외부 환경의 인식 정보에 따라 필요한 제어 신호를 생성하여 차량의 주행을 제어할 수 있다.
컨트롤러 2120은 자체적인 제어 신호의 생성 외에 주변 차량 또는 중앙 서버와의 통신을 수행하고 수신된 정보를 통해 주변 장치들을 제어하기 위한 명령을 전송함으로써, 차량의 주행을 제어하는 것도 가능하다.
또한, 컨트롤러 2120은 카메라 모듈 2150의 위치가 변경되거나 화각이 변경될 경우, 정확한 차량 또는 차선 인식이 어려울 수 있으므로, 이를 방지하기 위해 카메라 모듈 2150의 캘리브레이션(calibration)을 수행하도록 제어하는 제어 신호를 생성할 수도 있다. 다시 말해, 컨트롤러 2120은 카메라 모듈 2150에게 캘리브레이션 제어 신호를 발생시킴으로써, 자율주행차량 2000의 움직임에 따라 발생되는 진동 또는 충격 등에 의해 카메라 모듈 2150의 장착 위치가 변경되더라도, 카메라 모듈 2150의 정상적인 장착 위치, 방향, 화각 등을 지속적으로 유지할 수 있다. 컨트롤러 2120은 미리 저장된 카메라 모듈 2120의 최초 장착 위치, 방향, 화각 정보와 자율주행차량 2000의 주행 중에 측정되는 카메라 모듈 2120의 최초 장착 위치, 방향, 화각 정보 등이 임계 값 이상으로 달라질 경우, 카메라 모듈 2120의 캘리브레이션을 수행하도록 제어 신호를 발생할 수 있다.
다양한 실시예들에 따르면, 컨트롤러 2120은 메모리 2122와 프로세서 2124를 포함할 수 있다. 프로세서 2124는 메모리 2122에 저장된 소프트웨어를 컨트롤러 2120의 제어 신호에 따라 실행시킬 수 있다. 구체적으로, 컨트롤러 2120은 다양한 실시예들에 따른 오디오 데이터를 스크램블링하기 위한 데이터 및 명령들은 메모리 2122에 저장하고, 명령들은 여기에 개시된 하나 이상의 방법들을 구현하기 위해 프로세서 2124에 의해 실행될 수 있다.
다양한 실시예들에서, 메모리 2122는 프로세서 2124에서 실행 가능한 기록 매체에 저장될 수 있다. 메모리 2122는 적절한 내 외부 장치를 통해 소프트웨어와 데이터를 저장할 수 있다. 메모리 2122는 RAM(random access memory), ROM(read only memory), 하드디스크, 동글과 연결된 장치로 구성될 수 있다.
메모리 2122는 운영체제(OS, Operating system), 사용자 어플리케이션, 실행 가능한 명령들을 적어도 저장할 수 있다. 메모리 2122는 어플리케이션 데이터, 배열 데이터 구조들도 저장할 수 있다.
프로세서 2124는 마이크로 프로세서 또는 적절한 전자적 프로세서로 컨트롤러, 마이크로 컨트롤러 또는 스테이트 머신 일 수 있다.
프로세서 2124는 컴퓨팅 장치들의 조합으로 구현될 수 있으며, 컴퓨팅 장치는 디지털 신호 프로세서, 마이크로프로세서 이거나 이들의 적절한 조합으로 구성될 수 있다.
또한, 다양한 실시예들에 따르면, 제어 장치 2100은 적어도 하나 이상의 센서 2110으로 자율 주행 차량 2000의 내외부의 특징을 모니터링하고 상태를 감지할 수 있다.
센서 2110은 적어도 하나 이상의 센싱 모듈 2004(예: 센서 2004a, 센서 2004b, 센서 2004c, 및 센서 2004d)로 구성될 수 있으며, 센싱 모듈 2004는, 감지 목적에 따라 자율 주행 차량 2000의 특정 위치에 구현될 수 있다. 예를 들면, 센싱 모듈 2004는, 자율 주행 차량 2000의 하부, 후단, 전단, 상단, 또는 측단에 위치할 수 있으며, 차량의 내부 부품 또는 타이어 등에도 위치될 수 있다.
이를 통해 센싱 모듈 2004는 차량의 내부 정보로서 엔진 2006, 타이어, 조향각, 속도, 차량의 무게 등 주행과 관련된 정보들을 감지할 수 있다. 또한, 적어도 하나 이상의 센싱모듈 2004는 가속도 센서, 자이로스코프, 이미지 센서, RADAR, 초음파 센서, LiDAR 센서 등으로 구성될 수 있으며, 자율 주행 차량 2000의 움직임 정보를 감지할 수 있다.
센싱모듈 2004는 외부 정보로서 자율 주행 차량 2000이 위치하는 도로의 상태 정보, 주변 차량 정보, 날씨 등 외부 환경 상태에 대한 특정 데이터를 수신하고, 이에 따른 차량의 파라미터를 감지하는 것도 가능하다. 감지된 정보는 일시적 또는 장기적으로 목적에 따라 메모리 2122에 저장할 수 있다.
다양한 실시예들에 따르면, 센서 2110은 자율 주행 차량 2000의 내 외부에서 발생되는 정보를 수집하기 위한 센싱 모듈 2004들의 정보를 통합하여 수집할 수 있다.
제어 장치 2100은 무선 통신 장치 2130을 더 포함할 수 있다.
무선 통신 장치 2130은 자율 주행 차량 2000 간의 무선 통신을 구현하기 위해 구성된다. 예를 들어, 사용자의 모바일 폰, 또는 다른 무선 통신 장치 2130, 다른 차량, 중앙 장치(교통 제어 장치), 서버 등과 자율 주행 차량 2000이 통신할 수 있도록 한다. 무선 통신 장치 2130은 무선 신호를 접속 무선 프로토콜에 따라 송수신할 수 있다. 무선 통신 프로토콜은 Wi-Fi, Bluetooth, Long-Term Evolution (LTE), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Global Systems for Mobile Communications (GSM)일 수 있으며, 통신 프로토콜은 이에 제한되지 않는다.
또한 다양한 실시예들에 따르면, 자율 주행 차량 2000은 무선 통신 장치 2130을 통해 차량 간 통신을 구현하는 것도 가능하다. 즉, 무선 통신 장치 2130은 차량 대 차량 간(V2V) 통신(vehicle-to-vehicle communication, 또는 V2X)으로 도로 상의 다른 차량 및 다른 차량들과 통신을 수행할 수 있다. 자율 주행 차량 2000은 주행 경고, 교통 정보와 같은 정보를 챠량 간 통신으로 통해 송수신할 수 있으며, 다른 차량에게 정보를 요청하거나 요청을 수신하는 것도 가능하다. 예를 들어, 무선 통신 장치(2130)는 V2V 통신을 지정 단 거리 통신(DSRC, dedicated short-range communication) 장치 또는 C-V2V(Celluar-V2V) 장치로 수행할 수 있다. 또한 차량 간의 통신 외에 차량과 다른 사물(예컨대 보행자가 휴대하는 전자 기기 등) 간의 통신(V2X, Vehicle to Everything communication)도 무선 통신 장치 2130을 통해 구현할 수 있다.
또한, 제어 장치 2100은 LIDAR 장치 2140을 포함할 수 있다. LIDAR 장치 2140은 LIDAR 센서를 통해 센싱된 데이터를 이용하여 자율 주행 차량 2000 주변의 객체를 동작 중에 탐지할 수 있다. LIDAR 장치 2140은 탐지된 정보를 컨트롤러 2120으로 전송하고, 컨트롤러 2120은 탐지 정보에 따라 자율 주행 차량 2000을 동작시킬 수 있다. 예를 들어 컨트롤러 2120은 탐지 정보에 저속 주행하는 전방 차량이 있는 경우 엔진 2006을 통해 차량이 속도를 줄이도록 명령할 수 있다. 또는 차량이 진입하는 커브의 곡률에 따라 진입 속도를 줄이도록 명령할 수 있다.
제어 장치 2100은 카메라 모듈 2150을 더 포함할 수 있다. 컨트롤러 2120은 카메라 모듈 2150에서 촬영되는 외부 이미지로부터 객체 정보를 추출하고 이에 대한 정보를 컨트롤러 2120이 처리하도록 할 수 있다.
또한, 제어 장치 2100은 외부 환경을 인식하기 위한 이미징 장치들이 더욱 포함할 수 있다. LIDAR 2140 외에 RADAR, GPS 장치, 주행 거리 측정 장치(Odometry) 및 기타 컴퓨터 비전 장치들이 이용될 수 있으며, 이들의 장치는 필요에 따라 선택 또는 동시에 동작하여 보다 정밀한 감지가 가능하도록 한다.
자율 주행 차량 2000은 상술한 제어 장치 2100에 대한 사용자의 입력을 위한 사용자 인터페이스 2008을 더 포함할 수 있다. 사용자 인터페이스 2008은 적절한 상호작용으로 사용자가 정보를 입력하도록 할 수 있다. 예를 들어 터치스크린, 키패드, 조작 버튼 등으로 구현될 수 있다. 사용자 인터페이스 2008은 입력 또는 명령을 컨트롤러 2120에 전송하고, 컨트롤러 2120은 입력 또는 명령에 대한 응답으로 차량의 제어 동작을 수행할 수 있다.
또한, 사용자 인터페이스 2008은 자율 주행 차량 2000 외부의 장치로 무선 통신 장치 2130를 통해 자율 주행 차량 2000과 통신을 수행하도록 할 수 있다. 예를 들어 사용자 인터페이스 2008는 모바일 폰, 태블릿, 또는 기타 컴퓨터 장치와 연동 가능하도록 할 수 있다.
나아가, 다양한 실시예들에 따르면, 자율 주행 차량 2000은 엔진 2006을 포함하는 것으로 설명하였으나, 다른 타입의 추진 시스템을 포함하는 것도 가능하다. 예를 들어 차량은 전기 에너지로 운행될 수 있으며, 수소 에너지 또는 이들을 조합한 하이브리드 시스템을 통해 운행될 수 있다. 따라서 컨트롤러 2120은 자율 주행 차량 2000의 추진 시스템에 따른 추진 메커니즘을 포함하고, 이에 따른 제어 신호를 각 추진 메커니즘의 구성들에 제공할 수 있다.
이하, 도 21을 참조하여 다양한 실시예들에 따른 오디오 데이터를 스크램블링하기 위한 제어 장치 2100의 세부 구성에 대하여 보다 상세히 설명한다.
제어 장치 2100은 프로세서 2124를 포함한다. 프로세서 2124는 범용 단일 또는 다중 칩 마이크로프로세서, 전용 마이크로프로세서, 마이크로제어기, 프로그램가능 게이트 어레이 등일 수도 있다. 프로세서는 중앙 처리 장치(CPU)로 지칭될 수도 있다. 또한 다양한 실시예들에 따르면, 프로세서 2124는 복수의 프로세서들의 조합으로 사용되는 것도 가능하다.
제어 장치 2100은 또한 메모리 2122를 포함한다. 메모리 2122는 전자 정보를 저장할 수 있는 임의의 전자 컴포넌트일 수도 있다. 메모리 2122 역시 단일 메모리 외에 메모리 2122들의 조합을 포함할 수 있다.
다양한 실시예들에 따르면, 오디오 데이터를 스크램블링하기 위한 데이터 및 명령어 2122a들은 메모리 2122에 저장될 수도 있다. 프로세서 2124가 명령어 2122a들을 실행할 때, 명령어 2122a들과 명령의 수행에 필요한 데이터 2122b의 전부 또는 일부가 프로세서 2124 상으로 로딩(예: 명령어 2124a, 데이터 2124b)될 수도 있다.
제어 장치 2100는 신호들의 송신 및 수신을 허용하기 위한 송신기 2130a, 수신기 2130b 또는 트랜시버 2130c를 포함할 수도 있다. 하나 이상의 안테나 2132a, 2132b들은 송신기 2130a, 수신기 2130b 또는 각 트랜시버 2130c에 전기적으로 연결될 수도 있으며 추가적으로 안테나들을 포함할 수도 있다.
제어 장치 2100은 디지털 신호 프로세서(DSP) 2170을 포함할 수도 있다. DSP 2170을 통해 디지털 신호를 차량이 빠르게 처리할 수 있도록 할 수 있다.
제어 장치 2100은 통신 인터페이스 2180을 포함할 수도 있다. 통신 인터페이스 2180은 다른 장치들을 제어 장치 2100과 연결하기 위한 하나 이상의 포트들 및/또는 통신 모듈 들을 포함할 수도 있다. 통신 인터페이스 2180은 사용자와 제어 장치 2100이 상호작용할 수 있게 할 수 있다.
제어 장치 2100의 다양한 구성들은 함께 하나 이상의 버스 2190들에 의해 연결될 수도 있고, 버스 2190들은 전력 버스, 제어 신호 버스, 상태 신호 버스, 데이터 버스 등을 포함할 수도 있다. 프로세서 2124의 제어에 따라 구성들은 버스 2190을 통해 상호 정보를 전달하고 목적하는 기능을 수행하도록 할 수 있다.
한편, 다양한 실시예들에서, 제어 장치 2100은 보안 클라우드와의 통신을 위해 게이트웨이와 관련될 수 있다. 예를 들어, 도 22를 참조하면, 제어 장치 2100은 차량 2200(예: 차량 230)의 구성 요소들 2201 내지 2204 중 적어도 하나로부터 획득되는 정보를 보안 클라우드 2206에게 제공하기 위한 게이트웨이 2205와 관련될 수 있다. 예를 들면, 게이트웨이 2205는 제어 장치 2100 내에 포함될 수 있다. 다른 예를 들면, 게이트웨이 2205는 제어 장치 2100과 구별되는 차량 2200 내의 별도의 장치로 구성될 수도 있다. 게이트웨이 2205는 서로 다른 네트워크를 갖는 소프트웨어 관리 클라우드 2209, 보안 클라우드 2206 및 차 내 보안 소프트웨어 2210에 의해 보안화된 차량 2200 내 네트워크를 통신 가능하도록 연결한다.
예를 들면, 구성 요소 2201은, 센서일 수 있다. 예를 들면, 상기 센서는 차량 2200의 상태 또는 차량 2200 주변의 상태 중 적어도 하나에 대한 정보를 획득하기 위해 이용될 수 있다. 예를 들면, 구성 요소 2201은, 센서 2110을 포함할 수 있다.
예를 들면, 구성 요소 2202는, ECU(electronic control unit)들일 수 있다. 예를 들면, 상기 ECU들은 엔진 제어, 변속기의 제어, 에어백의 제어, 타이어 공기압 관리를 위해 이용될 수 있다.
예를 들면, 구성 요소 2203은, 인스트루먼트 클러스터(instrument cluster)일 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는, 대시 보드(dashboard) 중 운전석 정면에 위치된 패널을 의미할 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는 운전에 필요한 정보를 운전자(또는 탑승자)에게 보여주기 위해 구성될 수 있다. 예를 들면, 상기 인스트루먼트 클러스터는, 엔진의 분당 회전수(RPM, revolutions per minute 또는 rotate per minute)를 지시하기 위한 시각적 요소들, 차량 2200의 속도를 지시하기 위한 시각적 요소들, 잔여 연료량을 지시하기 위한 시각적 요소들, 기어의 상태를 지시하기 위한 시각적 요소들, 또는 구성 요소 2201을 통해 획득된 정보를 지시하기 위한 시각적 요소들 중 적어도 하나를 표시하기 위해, 이용될 수 있다.
예를 들면, 구성 요소 2204는, 텔레매틱스(telematics) 장치일 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 무선 통신 기술과 GPS(global positioning system) 기술을 결합하여 차량 2200 내에서 위치 정보, 안전 운전 등의 다양한 이동통신 서비스를 제공하는 장치를 의미할 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 운전자, 클라우드(예: 보안 클라우드 2206), 및/또는 주변 환경과 차량 2200을 연결하기 위해 이용될 수 있다. 예를 들면, 상기 텔레매틱스 장치는, 5G NR 규격의 기술(예: 5G NR의 V2X 기술)을 위해, 고대역폭과 저지연을 지원하도록, 구성될 수 있다. 옐르 들면, 상기 텔레매틱스 장치는, 차량 2200의 자율 주행을 지원하도록, 구성될 수 있다.
예를 들면, 게이트웨이 2205는, 차량 2200 내 네트워크와 차량 외 네트워크인 소프트웨어 관리 클라우드 2209와 보안 클라우드 2206을 연결하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드 2209는, 차량 2200의 주행 및 관리에 필요한 적어도 하나의 소프트웨어를 갱신하거나 관리하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드 2209는, 차량 내에 설치된 차 내 보안 소프트웨어(in-car security software) 2210과 연동될 수 있다. 예를 들면, 차 내 보안 소프트웨어 2210은, 차량 2200 내의 보안 기능을 제공하기 위해 이용될 수 있다. 예를 들면, 차 내 보안 소프트웨어 2210은 차량 내 네트워크의 암호화를 위해 외부의 공인된(authorized) 서버로부터 획득된 암호화 키를 이용하여 차 내 네트워크를 통해 송수신되는 데이터들을 암호화할 수 있다. 다양한 실시예들에서, 차 내 보안 소프트웨어 2210에 의해 이용되는 상기 암호화 키는, 차량의 식별 정보(차량 번호판, 차 VIN(vehicle identification number)) 또는 사용자 별로 고유하게 부여된 정보(에: 사용자 식별 정보)에 대응하여 생성될 수 있다.
다양한 실시예들에서, 게이트웨이 2205는, 상기 암호화 키에 기반하여 차 내 보안 소프트웨어 2210에 의해 암호화된 데이터들을, 소프트웨어 관리 클라우드 2209 및/또는 보안 클라우드 2206으로 송신할 수 있다. 소프트웨어 관리 클라우드 2209 및/또는 보안 클라우드 2206는 차 내 보안 소프트웨어 2210의 상기 암호화 키(Encryption Key)에 의해 암호화된 상기 데이터를 해독할 수 있는 해독 키(Decryption Key)를 이용하여 해독함으로써, 상기 데이터가 어떤 차량 또는 어떤 사용자로부터 수신된 데이터인지를 식별할 수 있다. 예를 들면, 상기 해독 키는 상기 암호화 키에 대응되는 고유의 키이기 때문에, 소프트웨어 관리 클라우드 2209 및/또는 보안 클라우드 2206는 상기 해독 키를 통해 해독된 상기 데이터에 기반하여 상기 데이터의 송신 주체(예: 상기 차량 또는 상기 사용자)를 식별할 수 있다.
예를 들면, 게이트웨이 2205는, 차 내 보안 소프트웨어 2210을 지원할 수 있도록 구성되고, 제어 장치 2100과 관련될 수 있다. 예를 들면, 게이트웨이 2205는, 보안 클라우드 2206와 연결된 클라이언트 장치 2207와 제어 장치 2100 사이의 연결을 지원하기 위해, 제어 장치 2100과 관련될 수 있다. 다른 예를 들면, 게이트웨이 2205는, 보안 클라우드 2206과 연결된 써드 파티 클라우드 2208와 제어 장치 2100 사이의 연결을 지원하기 위해, 제어 장치 2100과 관련될 수 있다. 하지만, 이에 제한되지 않는다.
다양한 실시예들에서, 게이트웨이 2205는, 차량 2200의 운영 소프트웨어를 관리하기 위한 소프트웨어 관리 클라우드 2209와 차량 2200을 연결하기 위해 이용될 수 있다. 예를 들면, 소프트웨어 관리 클라우드 2209는, 차량 2200의 운영 소프트웨어의 갱신이 요구되는지 여부를 모니터링하고, 차량 2200의 운영 소프트웨어의 갱신이 요구됨을 모니터링하는 것에 기반하여 게이트웨이 2205를 통해 차량 2200의 운영 소프트웨어를 갱신하기 위한 데이터를 제공할 수 있다. 다른 예를 들면, 소프트웨어 관리 클라우드 2209는, 차량 2200의 운영 소프트웨어의 갱신을 요구하는 사용자 요청을 차량 2200으로부터 게이트웨이 2205를 통해 수신하고, 상기 수신에 기반하여 차량 2200의 운영 소프트웨어를 갱신하기 위한 데이터를 제공할 수 있다. 하지만, 이에 제한되지 않는다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체(computer readable storage medium)에 있어서,
    상기 하나 이상의 프로그램들은, 디스플레이 및 입력 회로를 가지는 전자 장치의 적어도 하나의 프로세서에 의해 실행될 시,
    제1 이미지를 획득하고;
    상기 제1 이미지로부터 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 포함하는 영역을 잘라내는(crop) 것에 응답하여, 상기 영역에 대한 속성(attribute)을 입력하기 위한 필드들을 상기 디스플레이를 통해 표시하고, 여기서, 상기 필드들은, 차종을 상기 속성으로 입력하기 위한 제1 필드 및 상기 잠재적 차량 외관에 대응하는 피사체와 상기 제1 이미지를 획득한 카메라 사이의 위치 관계를 상기 속성으로 입력하기 위한 제2 필드를 포함함;
    상기 필드들을 표시하는 동안, 상기 제1 필드 및 상기 제2 필드를 포함하는 상기 필드들 각각에 대한 사용자 입력을 상기 입력 회로를 통해 수신함으로써, 상기 속성에 대한 정보를 획득하고; 및
    상기 정보의 획득에 응답하여, 상기 영역으로 구성된 제2 이미지를, 상기 정보와 연계로, 차량 검출(vehicle detection)을 위한 컴퓨터 비젼(computer vision) 모델의 트레이닝을 위한 데이터 세트 내에, 저장하도록,
    상기 전자 장치를 야기하는 인스트럭션들을 포함하는 컴퓨터 판독가능 저장 매체.
  2. 청구항 1에 있어서, 상기 표시된 필드들은,
    상기 카메라를 통해 상기 제1 이미지를 획득할 시의 조도를 상기 속성으로 입력하기 위한 제3 필드를 더 포함하는 컴퓨터 판독가능 저장 매체.
  3. 청구항 2에 있어서, 상기 표시된 필드들은,
    상기 피사체의 색상을 상기 속성으로 입력하기 위한 제4 필드를 더 포함하는 컴퓨터 판독가능 저장 매체.
  4. 청구항 3에 있어서, 상기 표시된 필드들은,
    상기 시각적 객체가 상기 피사체의 일부가 상기 피사체와 상기 카메라 사이에 위치된 객체(object)에 의해 가려진 상태를 보여주고(represent) 있는지 여부를 상기 속성으로 입력하기 위한 제5 필드를 더 포함하는 컴퓨터 판독가능 저장 매체.
  5. 청구항 4에 있어서, 상기 표시된 필드들은,
    상기 제1 이미지 내의 상기 시각적 객체가 상기 피사체의 일부만을 보여주고 있는지 여부를 상기 속성으로 입력하기 위한 제6 필드를 더 포함하는 컴퓨터 판독가능 저장 매체.
  6. 청구항 1에 있어서, 상기 제2 필드는,
    상기 카메라와 상기 피사체 사이의 거리가 지정된 거리 이상인지 또는 미만인지 여부를 입력하기 위한 입력 필드를 포함하는 컴퓨터 판독가능 저장 매체.
  7. 청구항 6에 있어서, 상기 제2 필드는,
    상기 카메라의 렌즈의 광축과 상기 피사체 사이의 각도가 제1 지정된 범위 내인지, 상기 제1 지정된 범위와 구별되는 제2 지정된 범위 내인지, 또는 상기 제1 지정된 범위 및 상기 제2 지정된 범위와 구별되는 제3 지정된 범위 내인지 여부를 입력하기 위한 입력 필드를 더 포함하는 컴퓨터 판독가능 저장 매체.
  8. 청구항 1에 있어서, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 상기 적어도 하나의 프로세서에 의해 실행될 시,
    상기 제1 이미지를 획득하는 것에 응답하여, 상기 제1 이미지 내에 상기 시각적 객체가 포함됨을 인식하고;
    상기 인식에 응답하여, 상기 시각적 객체를 포함하는 제1 영역을 식별하고, 여기서, 상기 제1 영역의 폭(width)은, 상기 영역의 폭보다 넓음;
    상기 제1 영역에 대하여 Sobel 연산을 실행함으로써, 상기 제1 영역의 수직 중심선을 기준으로 상기 제1 영역의 좌측 부분에 대한 제1 수직 엣지(vertical edge)들 및 상기 수직 중심선을 기준으로 상기 제1 영역의 우측 부분에 대한 제2 수직 엣지들을 검출하고;
    상기 제1 수직 엣지들에 대한 수직 히스토그램 누적 값들 중 최대 값에 대응하는 부분을 좌측 경계로 가지고, 상기 제2 수직 엣지들에 대한 수직 히스토그램 누적 값들 중 최대값에 대응하는 부분을 우측 경계로 가지는, 상기 영역을, 상기 제1 영역으로부터 식별하고; 및
    상기 제1 이미지로부터 상기 영역을 잘라내도록(crop),
    상기 전자 장치를 야기하는 인스트럭션들을 포함하는 컴퓨터 판독가능 저장 매체.
  9. 청구항 1에 있어서, 상기 컴퓨터 비젼 모델은,
    이동되고 있는 차량의 카메라를 통해 획득되는 이미지 내에서 차량 외관에 대응하는 시각적 객체를 검출하기 위해, 상기 데이터 세트를 이용하여 트레이닝되는 컴퓨터 판독가능 저장 매체.
  10. 청구항 1에 있어서, 상기 제1 이미지 내의 상기 시각적 객체는,
    적어도 하나의 테일 램프(tail lamp)를 포함하는 차량의 리어(rear)를 보여주는 컴퓨터 판독가능 저장 매체.
  11. 이동되고 있는 차량 내의 전자 장치에 있어서,
    트레이닝된(trained) 컴퓨터 비젼 모델 및 인스트럭션들을 포함하는 메모리; 및
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시,
    상기 차량과 관련된 카메라를 통해, 비디오 시퀀스(video sequence)를 획득하고,
    획득되는 상기 비디오 시퀀스 내에서 잠재적 차량 외관(potential vehicle appearance)에 대응하는 시각적 객체를 검출하는 것에 응답하여, 상기 시각적 객체가 상기 비디오 시퀀스 내에서 지정된 시간 동안 유지되는지 여부를 식별하고,
    상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 시각적 객체가 차량 외관에 대응하는지 여부를 상기 트레이닝된 컴퓨터 비젼 모델를 이용하여 결정하고,
    상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지되지 않음을 식별하는 것에 응답하여, 상기 시각적 객체가 차량 외관에 대응하는지 여부를 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 결정하는 것을 우회하도록,
    구성되는 전자 장치.
  12. 청구항 11에 있어서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시,
    상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 비디오 시퀀스로부터 상기 시각적 객체의 국소 움직임(local movement) 벡터들을 획득하고,
    상기 국소 움직임 벡터들에 기반하여, 상기 시각적 객체의 전역 움직임(global movement) 벡터들을 획득하고,
    상기 전역 움직임 벡터들에 기반하여 추정된 상기 시각적 객체의 움직임에 기반하여, 상기 비디오 시퀀스로부터 상기 카메라의 움직임이 보상된 새로운 비디오 시퀀스를 획득하고,
    상기 새로운 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고,
    상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록,
    구성되는 전자 장치.
  13. 청구항 11에 있어서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시,
    상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 카메라로부터 상기 카메라의 움직임에 대한 데이터를 획득하고,
    상기 데이터에 기반하여, 상기 비디오 시퀀스로부터 상기 카메라의 움직임이 보상된 새로운 비디오 시퀀스를 획득하고,
    상기 새로운 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고,
    상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록,
    구성되는 전자 장치.
  14. 청구항 11에 있어서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시,
    상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 비디오 시퀀스로부터 상기 시각적 객체의 배경에 대응하는 영역을 식별하고,
    상기 식별된 영역의 움직임에 대한 데이터를 획득하고,
    상기 데이터에 기반하여, 상기 비디오 시퀀스로부터 상기 카메라의 움직임이 보상된 새로운 비디오 시퀀스를 획득하고,
    상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록,
    구성되는 전자 장치.
  15. 청구항 11에 있어서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시,
    상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 비디오 시퀀스로부터 특징점들을 추출하고,
    상기 추출된 특징점들에 대한 데이터를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고,
    상기 데이터를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록,
    구성되는 전자 장치.
  16. 청구항 11에 있어서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시,
    상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 시각적 객체의 자세의 분석에 기반하여, 상기 카메라의 렌즈의 광축과 상기 시각적 객체에 대응하는 피사체 사이의 각도를 획득하고,
    상기 각도가 지정된 각도 내인지 여부를 식별하고,
    상기 각도가 상기 지정된 범위 내임을 식별하는 것에 기반하여, 상기 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하고,
    상기 각도가 상기 지정된 범위 밖임을 식별하는 것에 기반하여, 상기 각도가 상기 지정된 범위 내인 상태에서의 피사체에 대응하도록 상기 시각적 객체를 변환하고, 상기 변환된 시각적 객체를 포함하는 새로운 비디오 시퀀스를 획득하고, 상기 새로운 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 변환된 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록,
    구성되는 전자 장치.
  17. 청구항 11에 있어서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시,
    상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 시각적 객체의 밝기가 지정된 범위 내인지 여부를 식별하고,
    상기 밝기가 상기 지정된 범위 내임을 식별하는 것에 응답하여, 상기 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하고,
    상기 밝기가 상기 지정된 범위 밖임을 식별하는 것에 응답하여, 상기 밝기를 기준 밝기로 변환한 상기 시각적 객체를 포함하는 새로운 비디오 시퀀스를 획득하고, 상기 새로운 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록,
    구성되는 전자 장치.
  18. 청구항 11에 있어서, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시,
    상기 시각적 객체가 상기 비디오 시퀀스 내에서 상기 지정된 시간 동안 유지됨을 식별하는 것에 응답하여, 상기 시각적 객체의 지정된 부분의 색상이 기준 색상에 대응하는지 여부를 식별하고,
    상기 시각적 객체의 상기 지정된 부분의 상기 색상이 상기 기준 색상에 대응함을 식별하는 것에 기반하여, 상기 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하고,
    상기 시각적 객체의 상기 지정된 부분의 상기 색상이 상기 기준 색상과 다름을 식별하는 것에 기반하여, 상기 시각적 객체의 상기 지정된 부분의 색상을 상기 기준 색상으로 변환하고, 상기 기준 색상으로 변환된 상기 지정된 부분을 가지는 상기 시각적 객체를 포함하는 새로운 비디오 시퀀스를 획득하고, 상기 새로운 비디오 시퀀스를 상기 트레이닝된 컴퓨터 비젼 모델에게 제공하고, 상기 새로운 비디오 시퀀스를 획득한 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 상기 기준 색상으로 변환된 상기 시각적 객체가 차량 외관에 대응하는지 여부를 결정하도록,
    구성되는 전자 장치.
  19. 청구항 11에 있어서,
    디스플레이를 더 포함하고,
    상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시,
    상기 시각적 객체가 차량 외관에 대응함을 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 결정하는 것에 응답하여, 상기 시각적 객체에 대응하는 피사체와 상기 전자 장치를 포함하는 상기 차량 사이의 거리를 식별하고,
    상기 디스플레이를 통해 표시된, 상기 전자 장치를 포함하는 상기 차량과 관련된 정보 위에 중첩으로, 상기 식별된 거리에 대한 데이터를 표시하도록,
    더 구성되는 전자 장치.
  20. 청구항 11에 있어서,
    통신 회로를 더 포함하고,
    상기 적어도 하나의 프로세서는, 상기 인스트럭션들을 실행할 시,
    상기 시각적 객체가 차량 외관에 대응함을 상기 트레이닝된 컴퓨터 비젼 모델을 이용하여 결정하는 것에 응답하여, 상기 시각적 객체가 차량이라는 인식에 기반하여, 상기 전자 장치를 포함하는 차량 내의 기능을 실행하기 위한 신호를 상기 통신 회로를 통해 송신하도록,
    더 구성되는 전자 장치.
KR1020210048514A 2021-04-14 2021-04-14 차량 외관의 검출을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체 KR20220142590A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210048514A KR20220142590A (ko) 2021-04-14 2021-04-14 차량 외관의 검출을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체
US17/715,145 US20220335728A1 (en) 2021-04-14 2022-04-07 Electronic device, method, and computer readable storage medium for detection of vehicle appearance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210048514A KR20220142590A (ko) 2021-04-14 2021-04-14 차량 외관의 검출을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체

Publications (1)

Publication Number Publication Date
KR20220142590A true KR20220142590A (ko) 2022-10-24

Family

ID=83602692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210048514A KR20220142590A (ko) 2021-04-14 2021-04-14 차량 외관의 검출을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체

Country Status (2)

Country Link
US (1) US20220335728A1 (ko)
KR (1) KR20220142590A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102663516B1 (ko) 2023-08-09 2024-05-07 (주)고백기술 3d 영상에 의한 외관 관리 시스템 및 이에 의한 관리 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108885436B (zh) * 2016-01-15 2021-12-14 美国iRobot公司 自主监视机器人系统
CN115719465B (zh) * 2022-11-24 2023-11-03 北京百度网讯科技有限公司 车辆检测方法、装置、设备、存储介质以及程序产品

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102663516B1 (ko) 2023-08-09 2024-05-07 (주)고백기술 3d 영상에 의한 외관 관리 시스템 및 이에 의한 관리 방법

Also Published As

Publication number Publication date
US20220335728A1 (en) 2022-10-20

Similar Documents

Publication Publication Date Title
JP6428876B2 (ja) 車載拡張現実システム向けの遮蔽調整システム
US10924679B2 (en) Display device for vehicle and control method thereof
CN111284487B (zh) 车道线显示方法以及执行该方法的电子设备
US11363235B2 (en) Imaging apparatus, image processing apparatus, and image processing method
US20220335728A1 (en) Electronic device, method, and computer readable storage medium for detection of vehicle appearance
KR20180037414A (ko) 자동주차 보조장치 및 이를 포함하는 차량
CN110390240B (zh) 自动驾驶车辆中的车道后处理
CN112543876B (zh) 用于自动驾驶车辆中的传感器同步性数据分析的系统
US11908104B2 (en) Weighted normalized automatic white balancing
JP7027737B2 (ja) 画像処理装置、および画像処理方法、並びにプログラム
US11514790B2 (en) Collaborative perception for autonomous vehicles
CN113212498A (zh) 车间距离测量方法、车间距离测量装置、电子设备、计算机程序以及计算机可读记录介质
JPWO2019082669A1 (ja) 情報処理装置、情報処理方法、プログラム、及び、移動体
WO2020031812A1 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び移動体
CN112238862A (zh) 用于自主驾驶平台的开放和安全监视系统
KR20240047408A (ko) 비전 기반 시스템을 위한 검출된 오브젝트 경로 예측
KR101972352B1 (ko) 자동주차 보조장치 및 이를 포함하는 차량
CN111862226B (zh) 用于车辆中的摄像机校准和图像预处理的硬件设计
US11435191B2 (en) Method and device for determining a highly precise position and for operating an automated vehicle
US20220315033A1 (en) Apparatus and method for providing extended function to vehicle
KR20200070100A (ko) 차량 검출 방법 및 이를 수행하는 전자 기기
US20240056694A1 (en) Imaging device, image processing method, and image processing program
CN115996869A (zh) 信息处理装置、信息处理方法、信息处理系统和程序
CN112567427A (zh) 图像处理装置、图像处理方法和程序
US20240005632A1 (en) Method for reconstructing 3d information from 2d image and method and apparatus for measuring distance between vehicles using thereof

Legal Events

Date Code Title Description
A201 Request for examination