KR20210112672A - 객체를 검출하기 위한 프로세서 및 객체 검출 방법 - Google Patents

객체를 검출하기 위한 프로세서 및 객체 검출 방법 Download PDF

Info

Publication number
KR20210112672A
KR20210112672A KR1020200027976A KR20200027976A KR20210112672A KR 20210112672 A KR20210112672 A KR 20210112672A KR 1020200027976 A KR1020200027976 A KR 1020200027976A KR 20200027976 A KR20200027976 A KR 20200027976A KR 20210112672 A KR20210112672 A KR 20210112672A
Authority
KR
South Korea
Prior art keywords
image
data
vehicle
processor
driving
Prior art date
Application number
KR1020200027976A
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 KR1020200027976A priority Critical patent/KR20210112672A/ko
Priority to US17/039,259 priority patent/US11756314B2/en
Priority to CN202110155793.4A priority patent/CN113361312A/zh
Publication of KR20210112672A publication Critical patent/KR20210112672A/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/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • G06K9/00624
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • 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/10Estimation 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 vehicle motion
    • B60W40/105Speed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06K9/00798
    • G06K9/3233
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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
    • 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
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • B60W10/06Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of combustion engines
    • 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
    • B60W2510/00Input parameters relating to a particular sub-units
    • B60W2510/06Combustion engines, Gas turbines
    • B60W2510/0638Engine speed
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/28Wheel speed
    • 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/18Steering angle
    • 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/53Road markings, e.g. lane marker or crosswalk
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/06Combustion engines, Gas turbines
    • B60W2710/0644Engine speed
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/20Steering systems
    • B60W2710/207Steering angle of wheels
    • G06K2209/23
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 개시의 기술적 사상에 따른 객체를 검출하는 프로세서는 주행 영상을 연속적으로 획득하고, 상기 주행 영상을 탑 뷰(Top-view) 영상으로 변환하도록 구성된 변환기, 조향 각 및 차량 속력에 기초하여 수평 변화치 및 수직 변화치를 포함하는 변화치를 생성하도록 구성된 움직임 추출기, 복수의 차선들에 기초하여 상기 탑 뷰 영상을 보정함으로써 제1 데이터를 생성하고, 상기 변화치에 기초하여 상기 제1 데이터를 보정함으로써 제2 데이터를 생성하도록 구성된 보상기, 상기 제2 데이터의 제1 프레임 및 제2 프레임을 차 연산함으로써 제3 데이터를 생성하도록 구성된 연산기 및 제3 데이터를 군집화하여 군집화된 객체를 추출하도록 구성된 군집화기를 포함할 수 있다.

Description

객체를 검출하기 위한 프로세서 및 객체 검출 방법{PROCESSOR FOR DETECTING OBJECTS, AND OBJECTS DETECTING METHOD}
본 개시의 기술적 사상은, 차량의 주행 영상을 처리하고 차량의 주행을 제어하는 방법에 관한 것이다.
최근 전자 기술 및 자동차 산업의 융합으로 인해 자동차의 스마트화가 진행되고 있다. 이로 인해, 자동차는 단순한 기계적 장치를 넘어서서 높은 연산량을 처리하는 전자 장치로 진화하고 있다. 최근, 기계 학습에 기초한 기술이 적용된 객체룰 검출하기 위한 방법이 자동차의 주행 보조 기술 또는 주행 제어 기술에 적용되고 있다. 주행에서 객체 검출의 중요성이 증대되고 있고, 검출된 객체의 신뢰도를 증진시킬 필요가 있다.
본 개시의 기술적 사상은, 주행 영상을 보정하여 객체를 검출하고 기계 학습에 기초하여 검출된 객체를 검증하는 프로세서 및 그 객체 검출 방법을 제공하는데 있다.
본 개시의 기술적 사상에 따른 객체를 검출하기 위한 프로세서는 주행 영상을 연속적으로 획득하고, 상기 주행 영상을 탑 뷰(Top-view) 영상으로 변환하도록 구성된 변환기, 조향 각 및 차량 속력에 기초하여 수평 변화치 및 수직 변화치를 포함하는 변화치를 생성하도록 구성된 움직임 추출기, 복수의 차선들에 기초하여 상기 탑 뷰 영상을 보정함으로써 제1 데이터를 생성하고, 상기 변화치에 기초하여 상기 제1 데이터를 보정함으로써 제2 데이터를 생성하도록 구성된 보상기, 상기 제2 데이터의 제1 프레임 및 제2 프레임을 차 연산함으로써 제3 데이터를 생성하도록 구성된 연산기 및 제3 데이터를 군집화하여 군집화된 객체를 추출하도록 구성된 군집화기를 포함할 수 있다.
본 개시의 기술적 사상에 따른 객체를 검출하는 방법은 차량의 주행 영상을 탑 뷰(Top-View) 영상으로 변환하는 단계, 상기 탑 뷰 영상에서 검출된 복수의 차선들에 기초하여 상기 탑 뷰 영상을 보정한 제1 데이터를 생성하는 단계, 조향 각 및 차량 속력에 기초하여 상기 제1 데이터를 보정한 제2 데이터를 생성하는 단계 및 상기 제1 데이터 및 상기 제2 데이터에 기초하여 제3 데이터를 생성하는 단계를 포함할 수 있다.
본 발명의 기술적 사상에 따른 객체를 검출하는 프로세서는 주행 영상에서 획득된 차선 및 조향 각, 차량 속력 등 차량의 움직임에 기초하여 영상을 보정함으로써 객체 검출의 정확도를 높일 수 있다.
또한, 본 발명의 기술적 사상에 따른 프로세서는 움직임 기반 방식으로 주행 영상에서 검출된 객체를 딥-러닝 기술이 적용된 인공 신경망 장치에서 형태 기반 방식으로 검출된 객체와 비교함으로써 검출된 객체의 신뢰도를 높일 수 있다.
도 1은 예시적 실시예에 따라 객체를 검출하는 전자 장치를 도시하는 블록도이다.
도 2는 예시적 실시예에 따라 객체를 검출하는 차량을 도시하는 도면이다.
도 3은 예시적 실시예에 따라 객체를 검출하기 위한 프로세서와 이미지 센서, NPU 및 전자 제어 장치를 포함하는 프로세싱 장치를 도시하는 블록도이다.
도 4는 예시적 실시예에 따라 객체를 검출하는 프로세서를 보다 상세히 도시한 블록도이다.
도 5는 예시적 실시예에 따라 프로세서에 포함된 변환기의 동작을 주행 영상으로 예시한 도면이다.
도 6은 예시적 실시예에 따라 프로세서에 포함된 움직임 추출기의 동작을 주행 영상으로 예시한 도면이다.
도 7은 예시적 실시예에 따라 프로세서에 포함된 보상기를 도시한 블록도이다.
도 8은 예시적 실시예에 따라 보상기의 동작을 주행 영상으로 예시한 도면이다.
도 9는 예시적 실시예에 따라 프로세서에 포함된 연산기를 도시한 블록도이다.
도 10 및 도 11은 예시적 실시예에 따라 연산기의 동작을 주행 영상으로 예시한 도면이다.
도 12는 예시적 실시예에 따라 프로세서에 포함된 군집화기의 동작을 주행 영상으로 예시한 도면이다.
도 13은 예시적 실시예에 따라 전자 제어 장치를 도시한 블록도이다.
도 14는 예시적 실시예에 따라 프로세서에서 처리되는 주행 영상과 변환된 영상, 보정된 영상 및 차 영상을 도시한 도면이다.
도 15는 예시적 실시예에 따라 프로세서에서 처리되는 작업을 파이프라이닝한 도면이다.
도 16은 예시적 실시예에 따라 객체를 검출하는 프로세서의 동작 방법을 설명하기 위한 흐름도이다.
도 17, 도 18 및 도 19는 예시적 실시예에 따라 객체를 검출하는 프로세서의 동작 방법을 설명하기 위한 흐름도이다.
이하, 첨부한 도면을 참조하여 본 개시의 실시 예에 대해 상세히 설명한다. 도 1은 객체를 검출하는 전자 장치를 도시하는 블록도이다.
도 1에 따르면, 본 발명의 기술적 사상에 따른 객체를 검출하기 위한 전자 장치(1)는 센서들(2000)에 의해 획득된 주행 영상에서 차선을 탐지하고, 전자 제어 장치(Electronic Control Unit; 이하, ECU)(4000)로부터 조향 각 및 차량 속력을 획득할 수 있다. 전자 장치(1)는 주행 영상을 변환할 수 있고, 변환된 영상을 차선, 조향 각 및 차량 속력에 기초해 보정할 수 있으며, 보정된 영상의 적어도 두 개의 프레임을 비교함으로써 객체를 검출할 수 있다. 일 실시예에서 전자 장치(1)는 차선, 조향 각 및 차량 속력에 기초하여 영상을 보정함으로써 객체 검출의 정확도를 상승시킬 수 있다. 일 실시예에서 전자 장치(1)는 센서들(2000)에 의해 획득된 주행 영상에서 움직임 기반 방식으로 객체를 검출하고, 움직임 기반 방식으로 검출된 객체를, 딥-러닝(Deep-learning) 기술이 적용된 인공 신경망 처리 장치(Neural Processing Unit;이하, NPU)(3000)에서 형태 기반 방식으로 검출된 객체와 비교할 수 있다.
도 1을 참조하면, 전자 장치(1)는 CPU(Central Processing Unit)(1000), 센서들(2000), NPU(Neural Processing Unit)(3000), ECU(Electronic Control Unit)(4000), 스토리지(5000), RAM(Random Access Memory)(6000), 통신 모듈(70000) 및 이들의 통신을 수행하는 버스를 포함할 수 있다. 센서들(2000)에는 이미지 센서(2100)가 포함될 수 있다. 또한, 전자 장치(1)는 입출력 모듈, 보안 모듈, 전력 제어 장치 등을 더 포함할 수 있으며, 또한 다양한 종류의 제어 장치를 더 포함할 수 있다.
CPU(1000)는 전자 장치(1)의 전반적인 동작을 제어한다. CPU(1000)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. CPU(1000)는 스토리지(5000)에 저장된 프로그램들 및/또는 데이터를 처리 또는 실행할 수 있다. 예를 들어, CPU(1000)는 스토리지(5000)에 저장된 프로그램들을 실행함으로서, NPU(3000) 및 ECU(4000)의 기능을 제어할 수 있다.
센서들(2000)은 객체에 관한 정보를 획득할 수 있다. 예를 들어, 센서들(2000)은 차량의 전방에 부착되어 주행 영상을 촬상하거나, 차량의 전방에 위치한 객체와의 거리 등을 측정할 수 있다. 센서들(2000)이 부착되는 위치는 이에 한정되지 않고, 다양한 위치에 부착되어 객체의 관한 정보를 획득하려는 소기의 목적을 달성할 수 있다.
본 개시의 일 실시예에 따르면, 센서들(2000)은 이미지 센서(2100)를 포함할 수 있고, 이미지 센서(2100)는 객체를 포함하는 이미지를 생성하고, 이미지 데이터(이미지 프레임)으로 변환할 수 있다. 일 실시예예에서, 센서들(2000)은 객체와의 거리를 센싱할 수 있다. 이 경우, 센서들(2000)은 적어도 하나의 거리 센서를 포함할 수 있다. 거리 센서는 예컨대, 라이다(LIght Detection And Ranging; 이하, LIDAR) 센서, 레이더(RAdio Detection And Ranging) 센서, ToF(Time of Flight) 센서, 초음파 센서, 적외선 센서 등 다양한 종류의 센싱 장치 중 적어도 하나를 포함할 수 있다. 한편, 라이다 센서 및 레이더 센서는 유효 측정 거리에 따라 구분될 수 있으며, 예컨대, 라이다 센서는 롱 라이다 센서, 숏 라이다 센서로 구분될 수 있으며, 레이더 센서는 롱 레이더 센서, 숏 레이더 센서로 구분될 수 있다. 다만, 본 개시에 따른 센서들(2000)은 이에 제한되지 않으며, 센서들(2000)은 지자기 센서(Magnetic sensor), 위치 센서(예컨대, GPS), 가속력 센서(Acceleration sensor), 기압 센서, 온/습도 센서, 근접 센서 및 자이로스코프 센서 중 적어도 하나를 포함할 수도 있다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
이미지 센서(2100)는 이미지 또는 광 센싱 기능을 갖는 전자 기기 또는 전자 장치에 탑재될 수 있다. 예를 들어, 이미지 센서(2100)는 카메라, 스마트폰, 웨어러블 기기, 사물 인터넷(Internet of Things; IoT) 기기, 태블릿 PC(Personal Computer), PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 네비게이션(navigation), 드론(drone), 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS) 등과 같은 전자 장치에 탑재될 수 있다. 또한 이미지 센서(2000)는 차량, 가구, 제조 설비, 도어, 각종 계측 기기 등에 부품으로서 구비되는 전자 기기에 탑재될 수 있다. 이미지 센서(2100)는 CMOS(Complementary metal-oxide-semiconductor) 이미지 센서일 수 있다.
NPU(3000)는 입력 데이터를 수신하고 인공 신경망을 이용하여 연산을 수행하며, 연산 결과를 기초로 출력 데이터를 제공할 수 있다. NPU(3000)는 동시다발적인 행렬 연산에 최적화된 프로세서일 수 있고, 여러 개의 연산을 실시간으로 처리할 수 있으며, 축적된 데이터를 기반으로 스스로 학습하여 최적의 값을 도출해낼 수 있다. 일 실시예에서, NPU(3000)는 딥-러닝 방식의 알고리즘을 수행하기 위해 특화된 프로세서일 수 있다. 예를 들어, NPU(3000)는 CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network 등 다양한 종류의 네트워크에 기초한 연산 처리가 가능하다. 다만, 이에 한정되지는 않으며 인간의 신경망을 모사한 다양한 종류의 연산 처리가 가능하다.
스토리지(5000)는 데이터를 저장하기 위한 저장 장소로서, OS(Operating System), 각종 프로그램들, 및 각종 데이터를 저장할 수 있다. 일 실시예에서, 스토리지(5000)는 CPU(1000), NPU(3000) 및 ECU(4000)에서 처리된 데이터를 저장하는 저장 공간일 수 있다. 스토리지(5000)는 휘발성 메모리(volatile memory) 및 불휘발성 메모리(nonvolatile memory) 중 적어도 하나를 포함할 수 있다. 예를 들어, 불휘발성 메모리는 ROM (Read Only Memory), 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등을 포함할 수 있고, 휘발성 메모리는 SRAM(Static RAM), DRAM(Dynamic RAM)을 포함할 수 있으나, 상기 나열된 예시에 제한되지 않는다. 실시예에 있어서, 스토리지(5000)는 HDD(Hard Disk Drive), SSD(Solid State Drive) 등을 포함할 수 있다.
ECU(4000)는 차량의 동작 전반 또는 동작의 일부를 제어하도록 마련되는 전자 제어 장치일 수 있다. ECU(4000)는, CAN(Controller Area Network) 다중화 버스(CAN multiplexing bus)를 통해 연소 기관의 작동, 하나 이상의 전기 모터의 작동, 그리고 반-자동 기어 박스(semi-automatic gearbox(SAGB)) 또는 자동 기어 박스(automatic gearbox(AGB)), 그 밖의 운전자의 제어에 따른 차량의 파라미터들에 따라 차량 작동을 제어할 수 있다
ECU(4000)는 차량의 엔진, 조향 제어 장치의 엑츄에이터, 변속 제어 시스템, 잠김 방지 브레이크 시스템(Anti-lock Brake System), 에어백 제어 시스템 등을 컴퓨터로 전자적으로 제어할 수 있고, 엔진의 회전 속력 또는 휠 센서에서 측정된 바퀴 속력에 기반하여 차량의 속력을 전자 장치(1)에 제공할 수 있으며, 조향 제어 장치로부터 차량의 조향 각을 전자 장치(1)에 제공할 수 있다.
ECU(4000)는 CPU(1000)와 별도로 차량에 구비되는 것으로 도면에 도시되었으나, 이에 한정되지 않고 ECU(4000)의 차량 제어 기능은 CPU(1000) 내부에 포함된 채로 함께 수행될 수 있으며, 이 경우, CPU(1000)는 적어도 두 개의 프로세서 코어들(Multi-core)을 구비한 것으로 이해될 수 있다.
RAM(6000)은 프로그램들, 데이터, 또는 명령들(instructions)을 일시적으로 저장할 수 있다. 예를 들어, 스토리지(5000)에 저장된 프로그램들 및/또는 데이터는 CPU(1000)의 제어 또는 부팅 코드에 따라 RAM(6000)에 일시적으로 저장될 수 있다. 예를 들어, RAM(6000)은 DRAM (Dynamic RAM), SRAM (Static RAM), SDRAM (Synchronous DRAM) 등을 포함할 수 있다.다.
통신 모듈(7000)은 데이터를 전자 장치(1)의 외부로 전송하거나, 외부로부터의 데이터를 수신할 수 있다. 예컨대, 통신 모듈(7000)은 전자 장치(1)의 외부 대상과 통신을 수행할 수 있다. 이 경우 통신 모듈(7000)은 V2X(Vehicle to Everthing) 방식으로 통신을 수행할 수 있다. 예컨대, 통신 모듈(7000)은 V2V(Vehicle to Vehicle), V2I(Vehicle to Infra), V2P(Vehile to Pedestrian) 및 V2N(Vehicle to Nomadic Devices) 방식으로 통신을 수행할 수 있다. 그러나 이에 제한되지 않으며, 통신 모듈(7000)은 공지된 다양한 통신 방식에 의해 데이터를 전송 및 수신할 수 있다. 예컨대, 통신 모듈(7000)은 예를 들면, 3G, LTE, 5G, Wi-Fi, 블루투스, BLE(Bluetooth Low Energy), Zigbee, NFC(Near Field Communication), 초음파를 통한 통신 방법 등에 의해 통신을 수행할 수 있으며, 근거리 통신, 원거리 통신을 모두 포함할 수 있다.
버스는 프로세서들(예를 들어, CPU(1000), NPU(3000) 및 ECU(4000)), 센서들(2000), 스토리지(5000), RAM(6000), 통신 모듈(7000) 서로간의 데이터를 송수신하는 데이터 전송 경로일 수 있다. 일 실시예에서, CPU(1000), NPU(3000), ECU(4000), 센서들(2000), 스토리지(5000), RAM(6000), 통신 모듈(7000) 중 적어도 두 개는 상호간에 직접 통신이 가능할 수 있다.
딥-러닝(Deep-learning) 기술이 적용된 객체룰 검출하는 방법이 자동차의 주행 보조 기술에 적용됨에 따라 딥-러닝 기술을 통해 이미지 센서로부터 검출된 객체 중 관심 객체가 정확히 추출 되었는지를 검증하고, 추출 신뢰성을 증진시키는 기술이 요구된다. 본 발명의 기술적 사상에 따른 객체를 검출하는 전자 장치(1)는 이미지 센서(2100)를 통해 이미지 센서(2000)가 촬상한 주행 영상에서 획득된 차선 및 ECU(4000)를 통해 획득된 조향 각, 차량 속력에 기초하여 영상을 보정함으로써 관심 객체가 정확히 추출 되었는지를 검증할 수 있고, 객체 검출의 정확도를 높일 수 있다. 또한, 본 발명의 기술적 사상에 따른 전자 장치(1)는 움직임 기반 방식으로 검출된 객체를 딥-러닝 기술이 적용된 NPU(3000)에서 형태 기반 방식으로 검출된 객체와 비교함으로써 검출된 객체의 신뢰도를 높일 수 있다.
도 1에서, ECU(4000)는 CPU(1000)와 별도의 구성인 것으로 도시되었으나, 이에 제한되지 않고 CPU(1000)의 내부에 존재할 수 있다.
도 2는 예시적 실시예에 따라 객체를 검출하는 차량을 도시하는 도면이다.
도 2를 참조하면, 차량(2)은 CPU(1000a), 이미지 센서(2100a), 유저 인터페이스(2200), LIDAR(LIght Detection And Ranging) 센서(2300), RADAR(RAdio Detection And Ranging) 센서(2400), NPU(3000a), ECU(4000a)를 포함할 수 있고, ECU(3000)는 스티어링 휠(8000) 및 엔진(9000)으로부터 차량의 조향 각 및 차량의 속력을 제공받을 수 있다. CPU(1000a), 이미지 센서(2100a), 유저 인터페이스(2200), LIDAR 센서(2300), RADAR 센서(2400), NPU(3000a), ECU(4000a) 중 도 1과 중복되는 설명은 생략하기로 한다. 일 실시예에서, 객체란 차량의 전방, 후방, 측방 등 차량의 근처에서 센싱되는 특정 물체일 수 있고, 관심 객체란 차량의 주행에 영향을 줄 수 있는 물체를 의미할 수 있다.
본 개시의 예시적 실시예에 따르면, 차량(2)은 센서들(도 1의 2000)을 통해 획득한 외부 환경에 관한 정보를 이용하여 객체를 검출할 수 있다. 차량(2)은 센서들(예를 들어, 도 1의 2000)로서 이미지 센서(2100a), LIDAR 센서(2300), RADAR 센서(2400)를 포함할 수 있다. 센서들(도 1, 2000)은 객체를 촬상하고, 객체와의 거리를 측정하여 프로세서들(예를 들어, CPU(1000a), NPU(3000a) 및 ECU(4000a))로 전송할 수 있다. CPU(1000a) 및 NPU(3000a)는 촬영된 이미지에 기초하여 객체(예를 들어, 다른 차량)를 검출하고 ECU(4000a)을 제어하는 신호 내지 명령을 발행할 수 있다. 일 실시예에서, CPU(1000a)는 LIDAR 센서(2300) 및 RADAR 센서(2400)에 등 거리 센서에서 출력된 뎁스 정보에 기초하여 객체를 검출할 수도 있다.
본 개시의 기술적 사상에 따른 차량(2)은 이미지 센서(2100a)를 통해 주행 영상을 획득하고, 주행 영상을 차량의 상면에서 바라본 영상인 탑 뷰(Top-view) 영상으로 변환하고, 차선, 차량 속력 및 조향 각에 기초하여 보정함으로써 관심 객체를 검출할 수 있다. 관심 객체는 차량의 주변에 있는 주변 차량일 수 있고, 관심 객체가 검출되면 차량과의 주변 차량과의 상대 속력의 변화가 존재한다는 의미로 해석할 수 있다. 따라서, 프로세서들(CPU 및 NPU)은 주변 차량과의 일정한 거리를 유지하거나, 차량과 주변 차량이 임계 거리 이하인 경우 또는 주변 차량의 끼어들기 상황(cut-in objec)시 회피 기동을 수행하기 위한 일련의 처리를 수행할 수 있다.
이미지 센서(2100a)는 차량 주변 환경을 촬상할 수 있다. 차량(2)은 차량 주변을 360도 전 방향으로 촬상하기 위해 적어도 두 개의 이미지 센서들을 포함할 수 있다. 일 실시예에서 이미지 센서(2100a)에는 광각 렌즈가 구비될 수도 있다. 일 실시예에서, 차량의 전면, 후면, 좌측면, 우측면 네 개의 이미지 센서들이 차량(2)에 포함될 수 있으며, 이에 제한되지 않고 단일 이미지 센서(2100a)로 차량 주변 환경을 촬상할 수도 있다. 이미지 센서(2100a)는 차량 주변 환경을 연속적으로 촬상함으로써 차량(2)에 차량 주변 환경에 대한 정보를 연속적으로 제공할 수 있다.
이미지 센서(2100a)에서 센싱된 이미지는 CPU(1000a) 및/또는 NPU(3000a)에서 처리될 수 있다. CPU(1000a)는 센싱된 이미지를 움직임 기반 방식으로 처리함으로써 객체를 검출할 수 있고, NPU(3000a)는 센싱된 이미지를 형태 기반 방식으로 처리함으로써 객체를 검출할 수 있다. 이미지 센서(2100a)는 차량의 전면에 부착되어 차량 전방의 외부 환경을 센싱할 수 있으나, 이에 한정되지는 않고 차량의 다양한 면에 부착되어 외부 환경을 센싱할 수 있다.
LIDAR 센서(2300)는 레이저 펄스를 발사하고, 대상 물체에서 레이저가 반사되는 것을 다시 수신하여 물체까지의 거리를 측정할 수 있다. LIDAR 센서(2300)는 일반적으로 레이저, 스캐너, 수신기, 위치 확인 시스템을 포함할 수 있다. 레이저에는 대체로 600~1000nm(namo meter) 파장대의 빛이 사용되나, 용도에 따라 다를 수 있다. 스캐너는 센싱되는 주변 환경을 스캔하여 주변 환경에 대한 정보를 신속하게 획득할 수 있고, 복수 개의 거울을 이용한 여러 형태의 스캐너가 존재할 수 있다. 수신기는 대상 물체에 반사된 레이저 펄스를 수신하고, 레이저 펄스에서 광자를 감지하고 증폭할 수 있다. 위치 확인 시스템은 3차원 영상을 구현하기 위해 수신기가 구비된 장치의 위치 좌표와 방향을 확인할 수 있다.
RADAR 센서(2400)는 전자기파를 발사하고, 대상 물체에서 전자기파가 반사되는 것을 다시 수신하여 물체까지의 거리를 측정하거나, 물체를 식별하고, 물체의 위치 및 이동 속력 등을 측정할 수 있다. RADAR 센서(2400)는 송신부와 수신부를 포함할 수 있다. 송신부는 전자기파를 발생시키고 출력할 수 있고, 수신부는 대상 물체에서 반사되는 반향파를 수신하여 신호를 처리할 수 있다. RADAR 센서(2300)에는 송신 및 수신이 하나의 안테나를 통해 이루어질 수 있으나, 이에 제한되는 것은 아니다. RADAR 센서(2400)에 쓰이는 전자기파의 주파수 대역은 전파 대역(Radio wave) 또는 마이크로파 대역(Micro wave)이나, 목적에 따라 변경될 수 있다. 일 실시예에서, LIDAR 센서(2300) 및 RADAR 센서(2400)는 차량과 관심 객체간의 상대적 위치 관계의 판단을 보조하기 위해 차량에 부착될 수 있다. 일 실시예에서, 도 2에 도시된 바와 상이하게, LIDAR 센서(2300) 및 RADAR 센서(2400)가 생략될 수 있다.
유저 인터페이스(2100)는 차량의 계기판, 주행 정보를 나타내는 디스플레이, 네이게이션, 공조 장치 등 운전석 또는 조수석 등에 포함된 다양한 전자 장치 및 기계 장치를 포함할 수 있다.
CPU(1000a)는 이미지 센서(2100a)로부터 주행 영상을 프레임마다 연속적으로 획득하고, 주행 영상을 후-처리(Post-processing)하여 객체를 검출 할 수 있다. CPU(1000a)는 주행 영상을 차량의 상면에서 바라본 영상인 탑 뷰(Top-view) 영상((예를 들어, 하늘에서 바라본 도로 및 차량)으로 변환할 수 있다.
CPU(1000a)는 탑 뷰 영상에서 복수 개의 차선들을 감지하고, 차선들 각각이 서로 평행하도록 보정하는 차선 보정을 수행할 수 있다. 차선들 각각이 서로 평행하도록 차선 보정이 수행됨으로써, 탑 뷰 영상의 복수의 프레임들 모두는 차체와 노면의 접점인 바닥면이 평평한 상태로 판단될 수 있다. 또한, 차선 보정을 통해 차량이 노면과 접촉하면서 발생하는 진동 및 차체의 흔들림이 탑 뷰 영상에서 제거될 수 있다.
CPU(1000a)는 ECU(4000a)로부터 조향 각 및 차량 속력을 획득할 수 있다. 조향 각(Steering Angle)은 운전자의 스티어링 휠(Steering Wheel)(8000) 조작에 의해 결정되고, 조향 제어 장치의 동작을 관장하는 ECU(4000a)에서 처리되어 CPU(1000a)에 제공될 수 있다. 차량 속력은 운전자의 페달링(예를 들어, 엑셀러레이터의 작동), 엔진(9000)의 회전 속력, 휠 센서에서 측정된 바퀴 속력 중 적어도 어느 하나에 기초하여 측정될 수 있고, 차량의 속력을 관장하는 ECU(4000a)에서 처리되어 CPU(1000a)에 제공될 수 있다. CPU(1000a)는 차량의 현재 속력 및 조향 각에 기초하여 차량의 움직임 요소를 탑 뷰 영상에서 제거할 수 있다. 일 실시예에서, 차량의 주행에 따라 발생하는 주행 영상의 변동을 제거하기 위해 탑 뷰 이미지의 수직 및 수평 이동 요소를 제거함으로써, 차량과 주변 차량과의 상대적 움직임 요소만 남겨둘 수 있다. 또한, CPU(1000a)는 차량과 주변 차량과의 상대적 위치 관계를 판단하고, 정해진 주행 계획에 따라 주변 차량과의 일정한 거리를 유지하기 위한 정속 주행을 위해 엔진(9000)의 회전 수를 유지하는 명령을 발행할 수 있고, 차량과 주변 차량이 임계 거리 이하인 경우, 또는 주변 차량의 끼어들기 상황(cut-in objec)시 회피 기동을 수행하기 위해 스티어링 휠(8000)을 좌우로 조절하여 조향 각을 변경하는 명령을 발행할 수 있다. 도 2에서는 스티어링 휠(8000) 및 엔진(9000)이 조향 각 및 차량 속력과 관련된 구성으로 개시되었으나, 이에 국한되지 않고 다양한 차량의 부품들을 통해 조향 각 및 차량 속력이 결정될 수 있다.
CPU(1000a)는 주행 영상에서 움직임 기반 방식의 객체 검출을 수행할 수 있다. 움직임 기반 방식은 시간의 흐름에 따라 객체의 움직임 정도를 검출하여 상대적인 움직임을 판단하는 방법이다. 주행 영상은 이미지 센서(2100a)를 통해 프레임마다 연속적으로 획득될 수 있다. 예를 들어, 각 프레임은 60fps(frame per second)의 속력으로 촬상될 수 있고, 그에 따라 CPU(1000a)는 1/60초 마다 획득된 이미지 프레임간의 움직임을 시간에 흐름에 따라 검출 할 수 있다. 움직임 기반 방식에는 객체의 움직임 벡터의 분포를 의미하는 옵티컬 플로우(Optical Flow) 등이 포함될 수 있다.
CPU(1000a)는 이미지 센서(2100a) 외에도, LIDAR 센서(2300) 및 RADAR 센서(2400)로부터 획득되는 객체와의 거리를 보조적으로 활용하여 차량의 주행 상태를 안정적으로 유지할 수 있다. 또한, CPU(1000a)는 운전자의 유저 인터페이스(2100) 조작에 따라 차량 내외부의 상태를 조절하는 명령을 발행할 수 있다.
NPU(3000A)는 동시다발적인 행렬 연산에 최적화되어 여러 개의 연산을 실시간으로 처리할 수 있고, 축적된 데이터를 기반으로 스스로 학습하여 현재 주행 파라미터에서의 극대값(local-maximum)을 도출해낼 수 있다. 일 실시예에서, NPU(3000a)는 딥-러닝 방식의 알고리즘을 수행하기 위해 특화된 프로세서일 수 있다.
NPU(3000a)는 이미지 센서(2100a)로부터 주행 영상을 수신할 수 있고, 주행 영상을 기초하여 형태 기반의 객체 검출을 수행할 수 있다. NPU(3000a)는 복수의 객체들이 가지는 특징(feature)을 추출하고, 축적된 데이터를 기반으로 스스로 학습함으로써 주행 영상에서 복수의 객체들 각각을 구분할 수 있다. 예를 들어, NPU(3000a)는 축적된 데이터를 학습 자료로 삼아 결정된 특징을 바탕으로, 단일 주행 영상에서도 차량, 보행자, 신호등, 차선 등 주행 시의 판단 기준이 되는 객체들을 추출할 수 있다.
본 개시의 기술적 사상에 따르면, CPU(1000a) 및 NPU(3000a)를 포함하는 차량(2)은 NPU(3000a)를 통해 형태 기반 객체 검출을 수행함으로써, 주행 영상에서 차량 보행자, 차선 등 관심 객체를 추출할 수 있고, CPU(1000a)를 통해, 주행 영상을 변환하고 보정하고 서로 다른 프레임에 대한 연산을 수행함으로써 관심 객체와 관련된 차이값 맵을 생성할 수 있다. 차이값 맵(Difference Count Map)이란 상이한 시간에 생성된 두 영상에 포함된 픽셀들 중 대응되는 픽셀 사이의 차이값을 나타내는 영상을 의미하는 것으로 이해될 수 있다. 일 실시예에서, 차이값 맵을 통해 시간의 흐름에 따른 영상에서의 변화량이 탐지될 수 있다.
차량(2)은 NPU(3000a)를 통해 추출된 관심 객체를 CPU(1000a)를 통해 생성된 차이값 맵과 비교할 수 있고, 관심 객체가 차이값 맵에 포함되는 지를 확인할 수 있다. 차량(2)은 NPU(3000a)를 통해 추출된 관심 객체가 차이값 맵에 포함되지 않는 경우, 관심 객체 목록에서 제거할 제거 후보에 등록할 수 있다. 또한, 차량(2)은 차이값 맵에 존재하는 영역에 대응되는 영역이 NPU(3000a)을 통해 추출된 관심 객체에 존재하지 않는 경우, 관심 객체가 없는 영역에 대응하는 차이값 맵의 영역을 새로운 관심 객체로 추가할 추가 후보 목록에 등록할 수 있다. 다시 말해, CPU(1000a)는 NPU(3000a)에서 검출된 객체를 검증하고, 객체 검출의 정확도를 향상시킬 수 있다.
ECU(4000a)는 CPU(1000a) 및 NPU(3000a)에서 발행된 명령에 기초하여 스티어링 휠(8000) 및 엔진(9000)의 상태를 조절할 수 있다. 일 실시예에서, ECU(4000a)는 CPU(1000a) 및 NPU(3000a)에서 발행된 명령에 따라 차량을 가속 또는 감속할 수 있고, 가/감속을 위해 엔진(9000)에 엔진 회전 속력을 증가/감소 시키는 신호를 제공할 수 있다. 또한 ECU(4000a)는 정해진 주행 계획에 따라 주변 차량과의 거리가 임계 거리 이하인 경우, 또는 주변 차량의 끼어들기 상황(cut-in objec)시 회피 기동을 위해 스티어링 휠(8000)을 좌우로 변경할 수 있다.
일 실시예에서, 도 2에 도시된 것과 달리, ECU(4000a)는 CPU(1000a)의 내부에 존재할 수 있다. 일 실시예에서 CPU(1001)는 ECU(3001)이 수행하는 기능을 포함하여 총괄적으로 차량(2)의 작동을 제어할 수 있다. CPU(1000a)는 적어도 두 개의 프로세서 코어들(Multi-core)을 포함할 수 있다.
도 3은 객체를 검출하기 위한 프로세서와 이미지 센서, NPU 및 전자 제어 장치를 포함하는 프로세싱 장치를 도시하는 블록도이다. 도 1 내지 도 2가 함께 참조되고, 중복되는 설명은 생략된다.
도 3에 따르면, 프로세싱 장치(3)는 객체를 검출하기 위한 프로세서(10), 이미지 센서(20), NPU(30) 및 ECU(40)를 포함할 수 있고, 프로세서(10)는 보상기(140)를 포함할 수 있다.
객체란 차량의 전방, 후방, 측방 등 차량의 근처에서 센싱되는 특정 물체일 수 있고, 관심 객체란 차량의 주행에 영향을 줄 수 있는 물체를 의미할 수 있다. 예를 들어, 객체에는 보행자, 도로, 표지판, 주변 차량, 신호등, 차선, 가로등, 하늘 등 이미지 센서(20)에 의해 센싱되는 모든 물체일 수 있고, 관심 객체(Object of Interest; 이하, OOI)는 주변 차량, 보행자, 차선일 수 있으나 이에 한정되지 않는다. 관심 객체(OOI)는 화면의 물체를 검출하려는 목적으로 구획된 이미지 데이터 범위인 관심 영역(Region of Interest; ROI) 내에서 추출될 수 도 있다.
프로세서(10)는 이미지 센서(20)로부터 주행 영상(IDTA)을 프레임마다 연속적으로 수신할 수 있고, NPU(30)로부터 추출된 관심 객체(OOI)를 수신할 수 있다. 또한, 프로세서(10)는 ECU(40)로부터 차량의 조향 각(STR) 및 차량 속력(SPD)을 수신할 수 있다.
프로세서(10)는 주행 영상을 후-처리(Post-processing)하여 객체를 검출하고, 검출된 객체에 기초하여 이미 추출된 관심 객체(OOI)를 검증할 수 있다. 일 실시예에서, 프로세서(10)는 이미지 센서(20)로부터 수신한 주행 영상(IDTA)을 탑 뷰 영상으로 변환할 수 있고, 변환된 영상에서 차선(Lane)을 직접 탐지하거나, NPU(30)로부터 수신한 관심 객체(OOI) 정보에 기초하여 차선을 인식할 수 있다. 프로세서(10)에 포함된 보상기(140)는 주행 영상(IDTA)에 기초하여 차선들 각각이 서로 평행하도록 보정하는 차선 보정을 수행할 수 있고, 조향 각(STR) 및 차량 속력(SPD)에 기초하여 차량의 움직임 요소를 제거하는 움직임 보정을 수행할 수 있다. 변환된 영상에 차선 보정 및 움직임 보정이 수행됨으로써, 보정된 영상은 노면과 차량간의 마찰에 따른 진동 및 차량 자체의 움직임으로 인한 변화량이 제거된 영상일 수 있다. 따라서 프로세서(10)는 보정된 영상의 t 시점의 프레임과 t-1 시점의 프레임에 대한 연산을 수행한 결과로 차이값 맵을 생성함으로써 객체를 검출하고, 검출된 객체를 수신한 관심 객체(OOI)와 비교하고 그 결과로 검증 신호(VOOI)를 생성할 수 있다.
검증 신호(VOOI)는 NPU(30)로부터 수신한 관심 객체(OOI)를 프로세서(10)를 통해 생성된 차이값 맵과 비교한 결과 생성될 수 있다. 일 실시예에서, 프로세서(10)는 NPU(30)를 통해 추출된 관심 객체(OOI)가 차이값 맵에 포함되지 않는 경우, 관심 객체(OOI)가 잘못 추출된 것임을 지시하는 의미의 검증 신호(VOOI)를 생성할 수 있다. 또한, 프로세서(10)는 차이값 맵에 존재하는 영역에 대응되는 영역이 관심 객체(OOI)에 존재하지 않는 경우, 관심 객체(OOI)가 없는 영역에 대응하는 차이값 맵의 영역이 새로운 관심 객체(OOI)임을 지시하는 의미의 검증 신호(VOOI)를 생성할 수 있다. NPU(30)는 검증 신호(VOOI)에 응답하여 관심 객체 목록에서 관심 객체를 제거하거나 추가할 수 있고, ECU(40)는 검증 신호(VOOI)에 응답하여 차량의 속력(SPD)을 증가시키거나 감소시키기 위한 신호를 엔진에 제공하거나, 조향 각(STR)을 변경하는 신호를 스티어링 휠에 제공할 수 있다. 요컨대, 프로세서(10)는 차량과 주변 차량과의 상대적 위치 관계를 판단하고, 판단 결과 및 정해진 주행 계획에 따라 주변 차량과의 일정한 거리를 유지하거나 회피 기동을 수행하기 위한 명령을 NPU(30) 및 ECU(40)에 발행할 수 있다.
일 실시예에서, 프로세서(10)는 주행 영상(IDTA)에서 시간의 흐름에 따라 객체의 움직임 정도를 검출하여 상대적인 움직임을 판단하는 움직임 기반 방식의 객체 검출을 수행할 수 있다. 또한, 프로세서(10)는 LIDAR 센서(도 2의 2300) 및 RADAR(도 3의 2400) 센서로부터 획득되는 객체와의 거리를 보조적으로 활용하여 차량의 주행 상태를 판단할 수 있다. 프로세서(10)는 도 1의 CPU(1000) 또는 도 2의 CPU(1000a)로 구현될 수 있다.
본 발명의 기술적 사상에 따른 객체를 검출하는 프로세서(10)는 주행 영상(IDTA)에서 획득된 차선 및 조향 각(STR), 차량 속력(SPD) 등 차량의 움직임에 기초하여 영상을 보정함으로써 객체 검출의 정확도를 높일 수 있다. 또한, 프로세서(10)는 움직임 기반 방식으로 주행 영상에서 객체를 검출하고, 딥-러닝 기술이 적용된 인공 신경망 장치에서 형태 기반 방식으로 검출된 관심 객체(OOI)와 비교함으로써 검출된 객체의 신뢰도를 높일 수 있다.
도 3의 이미지 센서(20)는 도 1의 이미지 센서(2100) 또는 도 2의 이미지 센서(2100)와 대응되고, 도 3의 NPU(30)는 도 1의 NPU(3000) 또는 도 2의 NPU(3000a)와 대응되는 바, 중복되는 설명은 생략된다.
NPU(30)는 이미지 센서(20)에서 센싱한 주행 영상(IDTA)에 대해 형태 기반 방식으로 처리하여 복수의 객체 중 관심 객체(OOI)를 추출할 수 있다. 일 실시예에서, 이미지 센서(21)는 주행 영상(IDTA)을 NPU(22)에 제공할 수 있고, NPU(22)는 주행 영상(IDTA)에서 복수의 객체를 찾고, 각 객체들이 가지는 특징을 추출하고, 축적된 데이터를 기반으로 스스로 학습하는 딥 러닝 기술을 통해 주행 영상에서 복수의 객체 각각이 무엇인지를 구분할 수 있다. 예를 들어, NPU(22)는 단일 주행 영상만으로도 차량, 보행자, 차선, 신호등 등 주행 시 판단 기준이 될 수 있는 객체를 추출하고, 분류할 수 있다. 일 실시예에서 이미지 센서(21)와 NPU(22)는 객체를 탐지하고, 그 중 프로세싱 장치(3)가 필요로 하는 관심 객체(OOI)를 제공할 수 있다.
도 3에서는 설명의 편의를 위해 ECU(40)와 프로세서(10)가 서로 분리된 독립적인 구성으로 표현되었으나, 프로세서(10)는 도 2에서 설명한 바와 같이 ECU(40)의 기능을 수행할 수 있다.
도 4는 객체를 검출하는 프로세서를 보다 상세히 도시한 블록도이다. 도 1 내지 도 3가 참조되고, 중복되는 설명은 생략된다.
본 개시의 기술적 사상에 따른 프로세서(10)는 변환기(110), CAN 인터페이스(120), 움직임 추출기(130), 보상기(140), 계산기(150), 군집화기(160), 메모리(170) 및 검증기(180)를 포함할 수 있다. 일 실시예에서 상기 구성요소들은 논리 합성에 의해 설계된 하드웨어 블록일 수 있다. 일 실시예에서 상기 구성요소들은 코어에 의하여 실행되는 명령어를 포함하고, 메모리에 저장된 소프트 웨어 블록일 수 있다. 일 실시예에서 상기 구성요소들은 하드웨어 블록 및 소프트웨어 블록의 조합일 수 있다.
변환기(110)는 주행 영상(IDTA)을 수신하여 탑 뷰 영상(TDTA)으로 변환할 수 있다. 주행 영상(IDTA)은 이미지 센서(도 3의 20)에 의해 프레임마다 연속적으로 제공될 수 있고, 변환기(110)는 주행 영상(IDTA)의 모든 프레임을 차량의 상면에서 바라본 탑 뷰 영상(TDTA)로 변환할 수 있다. 변환기(110)는 변환된 시점 t-1 프레임의 탑 뷰 영상(TDTAt-1)을 메모리(170)에 저장할 수 있다. 또한 변환기(110)는 변환된 시점 t 프레임의 탑 뷰 영상(TDTAt)을 보상기(140)에 제공할 수 있다. 다시 말해, 탑 뷰 영상(TDTA)의 모든 프레임은 메모리(170)에 저장될 수 있고, 탑 뷰 영상(TDTA)의 모든 프레임은 보상기(140)에 제공될 수 있다.
CAN 인터페이스(120)는 CAN 다중화버스를 통해 신호가 전달되는 인터페이스일 수 있다. CAN 통신은 차량 내에서 호스트 컴퓨터 없이 마이크로 컨트롤러나 장치들이 서로 통신하기 위해 설계된 통신 규격으로, 다수의 컨트롤러들을 병렬로 연결하여 각각의 컨트롤러들간에 서로 정보 교환이 이루어질 수 있는 통신 방법이다. CAN 인터페이스(120)는 차량 속력(SPD)과 조향 각(STR)을 ECU(도 4의 30)로부터 수신하고, 프로세서(10) 내의 움직임 추출기(130)로 전달, 일 실시예에서 인터페이싱할 수 있다.
움직임 추출기(130)는 CAN 인터페이스(120)로부터 수신한 차량 속력(SPD) 및/또는 조향 각(STR)에 기초하여 수평 변화치(dy) 및 수직 변화치(dx)를 계산할 수 있다. 일 실시예에서, 움직임 추출기(130)는 차량 속력(SPD) 및 조향 각(STR)을 수신하고, 변환기(110)에서 변환하는 탑 뷰 영상(TDTA)의 크기와 해상도에 대응되도록 차량 속력(SPD)과 조향 각(STR)을 비례적으로 변환할 수 있다. 예를 들어, 탑 뷰 영상(TDTA)의 가로 및 세로 길이가 각각 800 픽셀 및 600 픽셀이고, 차량 속력이 60km/h, 조향 각이 30도 인 경우, 움직임 추출기(130)는 수평 변화치(dy)를 조향각 30도에 대응되는 20 픽셀, 수직 변화치(dx)를 차량 속력 60km/h에 대응되는 30 픽셀로 변환할 수 있다. 수평 변화치(dy) 및 수직 변화치(dx)는 차량의 움직임 요소를 제거하기 위한 값으로, 후술될 보상기(140)에서 보정하는 데에 이용될 수 있다. 일 실시예에서, 표기 y는 영상의 수평 방향, 표기 x는 영상의 수직 방향(영상의 세로 방향)으로 이해될 수 있다. 본 예시는 설명의 편의를 위해 개시된 것이고, 변환 비율은 이에 제한되지 않고 프로세서(10)의 처리 방법 및 탑 뷰 영상(TDTA)의 크기에 따라 다양할 수 있다.
보상기(140)는 탑 뷰 영상(TDTA)에 기초하여 차선들 각각이 서로 평행하도록 보정하는 차선 보정을 수행할 수 있고, 수평 변화치(dy) 및 수직 변화치(dx)에 기초하여 차량의 움직임 요소를 제거하는 움직임 보정을 수행하고, 그 결과로 보정된 영상(CDTA)을 생성할 수 있다. 탑 뷰 영상(TDTA)에 차선 보정 및 움직임 보정이 수행됨으로써, 보정된 영상(CDTA)은 노면과 차량간의 마찰에 따른 흔들림이 제거된 영상일 수 있고, 또한 차량 자체의 움직임으로 인한 변화량이 제거된 영상일 수 있다.
보상기(140)는 메모리(170)에서 탑 뷰 영상(TDTA)를 로딩할 수 있다. 보상기(140)는 메모리에서 로딩된 탑 뷰 영상(TDTAt-1)과, 변환기(110)에서 수신된 탑 뷰 영상(TDTAt) 모두에 기초하여 움직임 보정을 수행할 수 있다. 보정 방법에 관하여는 도 8 및 도 9에서 후술한다.
계산기(150)는 보정된 영상(CDTA)을 수신하고, 인접한 시간에 대한 보정된 영상 프레임들에 대해 연산을 수행하고, 그 결과로 차 영상(DIFF)을 생성할 수 있다. 계산기(150)에서 생성된 차 영상(DIFF)은 객체 검출과 관련된 영상일 수 있다. 예를 들어, 주행 영상(IDTA)이 60fps로 촬상된 것이라면, 차 영상(DIFF)은 1/60초 마다 촬상된 영상이 보정됨에 기초하여 생성된 것일 수 있고, 다시 말해 차 영상(DIFF)은 1/60초 사이의 영상에서의 변화를 검출한 영상일 수 있다. 생성된 차 영상(DIFF)는 군집화기(160)로 전송될 수 있다.
군집화기(160)는 촬영 속도에 반비례하는 시간 사이의 영상의 변화에 기초하여 검출된 객체를 군집화하고 군집화된 객체(OBJ)를 추출할 수 있다.. 군집화기(160)는 차 영상(DIFF)으로부터 검출된 픽셀 값이 분포된 정도에 따라 적어도 하나의 집합으로 픽셀 값을 그룹핑할 수 있고, 그룹핑된 픽셀 값은 객체의 변화량을 의미할 수 있다. 일 실시예에서, 영상에서 근거리에 위치한 픽셀들을 또는 서로 유사하거나 관련있다고 판단되는 픽셀들이 그룹화될 수 있고, 그 결과로서 군집화된 객체(OBJ)가 추출될 수 있다.
군집화기(160)는 검출된 객체를 군집화하기 위해 다양한 클러스터링 방식을 이용할 수 있다. 예를 들어, 군집화기(160)는 K-평균 군집화(K-means Clustering), 계층적 군집화(Hierarchical Clustering), K-medoids, Clara 등의 다양한 알고리즘을 이용하여 검출된 픽셀 값들을 군집화할 수 있고, 이에 제한되지 않는다.
메모리(170)는 관심 객체(OOI) 및 변환기(110)에서 전송된 변환된 영상(TDTAt-1)을 저장할 수 있고, 저장된 변환된 영상(TDTAt)을 보상기(140)에 제공할 수 있고, 관심 객체(OOI)를 검증기(180)에 제공할 수도 있다.
검증기(180)는 NPU에서 추출된 관심 객체(OOI)를, 프로세서(10)에서 군집화한 객체와 비교함으로써, 관심 객체(OOI)가 정확히 추출되었는지 검증할 수 있다. 일 실시예에서, 검증기(180)는 움직임 기반 방식으로 검출된 객체를, 형태 기반 방식으로 검출된 관심 객체(OOI)와 비교함으로써 검출된 객체의 신뢰도를 높일 수 있다. 비교기는 검증 결과에 따라 검증 신호(VOOI)를 생성할 수 있다.
도 5는 프로세서에 포함된 변환기의 동작을 주행 영상으로 예시한 도면이다. 이하 도면에서, 도 1, 도 2 및 도 4가 함께 참조된다.
영상(111)은 이미지 센서(도 2, 2100a)에서 센싱되는 주행 영상(IDTA)이다. 이미지 센서(도2, 2100a)는 차량의 전방에 부착되어, 차선 및 주변 차량을 탐지할 수 있다. 영상(111)은 3차원 공간이 센싱된 2차원 평면이므로, 직선 형태의 차선은 영상의 가운데에서 만나 도로 소실점을 구성할 수 있고, 그에 따라 가까운 곳은 크게, 먼 곳은 작게 보일 수 있다.
영상(112)은 주행 영상(IDTA)을 차량의 상면에서 바라본 탑 뷰 영상(TDTA)로 변환한 영상이다. 변환기(110)에 의해, 주행 영상(111)은 탑 뷰 영상(112)로 변환될 수 있다.
변환기(110)에서는 호모그래피(Homography) 변환이 수행될 수 있다. 호모그래피 변환은 이미지 센서와 차량의 바닥면과의 관계를 정의한 호모그래피 행렬 H에 의해 수행될 수 있다. 호모그래피 변환은 고정 변환(Rigid Transformation), 크기 변환(Similarity Transformation), 아핀 변환(Affine Transformation), 투영 변환(Projective Transformation)을 통해 수행될 수 있다.
도 6은 프로세서에 포함된 움직임 추출기의 동작을 주행 영상으로 예시한 도면이다. 도 2 및 도 4가 함께 참조된다.
움직임 추출기(130)는 차량 속력(SPD) 및 조향 각(STR)을 CAN 인터페이스(120)로부터 수신하고, 변환기(110)에서 변환하는 탑 뷰 영상(TDTA)의 크기와 해상도에 대응되도록 차량 속력(SPD)과 조향 각(STR)을 비례적으로 변환할 수 있다.
도 6에서 도시된 차량(131)은 도 4의 프로세서(10)를 포함하는 차량으로 도로 위에 표현되었다. t-1 시점에서 차량(131)은 탑 뷰 영상(TDTA)의 관점에서 영상의 가운데에 위치할 수 있다. t-1 시점과 t 시점 사이에, 차량은 가속할 수 있고, 스티어링 휠이 좌측으로 틀어질 수 있다. 그 결과, 차량의 전면에 부착된 이미지 센서(도 2의 2000)로부터 센싱된 주행 영상은 변환기(110)에서 탑 뷰 영상(TDTA)으로 변환될 수 있고, t 시점에서 차량(132)은 t-1 시점의 차량(131)보다 수평 변화치(dy)만큼 좌측으로 이동하고, 수직 변화치(dx)만큼 상단으로 이동한 채로 관측될 수 있다. 일 실시예에서, 움직임 추출기(130)는 조향 각(STR) 및 차량 속력(SPD)으로부터 탑 뷰 영상(TDTA)의 크기 및 해상도에 대응되는 수직 변화치(dx) 및 수평 변화치(dy)를 계산할 수 있다.
도 7은 프로세서에 포함된 보상기를 도시한 블록도이다. 도 1, 도 2 및 도 4가 함께 참조되고, 중복되는 설명은 생략된다.
보상기(140)는 t-1 시점의 탑 뷰 영상(TDTAt-1), t 시점의 탑 뷰 영상(TDTAt) , 수평 변화치(dy) 및 수직 변화치(dx)를 수신하고, t-1 시점의 보정된 영상(CDTAt-1) 및 t 시점의 보정된 영상(CDTAt)을 생성할 수 있다.
보상기(140)는 t 시점의 탑 뷰 영상(TDTAt)에 기초하여 차선들 각각이 서로 평행하도록 보정하는 차선 보정(Lane Compensation)을 수행할 수 있고, t-1 시점의 탑 뷰 영상(TDTAt-1)에서 수평 변화치(dy) 및 수직 변화치(dx)를 보정함으로써 차량의 움직임 요소를 제거하는 움직임 보정을 수행할 수 있다. 탑 뷰 영상(TDTA)에 차선 보정 및 움직임 보정이 수행됨으로써, 보정된 영상(CDTA)은 노면과 차량간의 마찰에 따른 흔들림이 제거된 영상일 수 있고, 또한 차량 자체의 움직임으로 인한 변화량이 제거된 영상일 수 있음은 전술한 바와 같다.
다시 말해, 보상기(140)는 t 시점의 탑 뷰 영상(TDTAt)에 대해 차선 보정을 수행할 수 있고, 그와 동시에 보상기(140)는 메모리(170)에서 t-1 시점의 탑 뷰 영상(TDTAt-1)을 로딩하고, 수평 및 수직 변화치(dy, dx)를 제거하여 탑 뷰 영상(TDTAt-1)에 대한 움직임 보정을 수행할 수 있다.
도 8은 보상기의 동작을 주행 영상으로 예시한 도면이다. 도 4 및 도 7이 함께 참조된다.
탑 뷰 영상(TDTA)에서, 프로세서(10)를 포함하는 차량(141)을 기준으로 전방에 차량(142) 및 차량 (143)이 검출될 수 있다. 일 실시예에서, 차량(141)은 차량의 주변 상황을 관측하고 객체를 검출하는 차량일 수 있다. 현재 시점(t-1)으로부터 다음 주행 영상(TDTA)이 촬상되는 시점(t) 사이 동안에, 차량(141)의 조향 각(STR)은 좌측으로 틀어지고, 차량 속력(SPD)은 증가한다. 그 결과로서, 움직임 추출기(130)는 차량(141)이 탑 뷰 영상(TDTA)에서 좌방 및 상방으로, 수평 변화치(dy) 및 수직 변화치(dx)만큼 이동하게 됨을 계산할 수 있다.
탑 뷰 영상(TDTA)이 보정된 결과로서 보정된 영상(CDTA)에서, 차량(144)을 기준으로 전방에 차량(145) 및 차량(146)은 수평 변화치(dy) 및 수직 변화치(dx)만큼이 제거된 채 관측될 수 있고, 그에 따라 차량(145) 및 차량(146)은 우측 하단으로 평행이동 한 채로 관측될 수 있다.
도 8에서는 설명의 편의를 위해 차선이 서로 평행한 것으로 도시되었으나, 실제 주행 영상(IDTA)에 대해 차선 보정이 수행될 수 있다.
도 9는 프로세서에 포함된 연산기를 도시한 블록도이다. 도 2, 도 4 및 도 7을 함께 참조하고, 중복되는 설명은 생략된다.
계산기(150)는 보정된 영상(CDTA)의 인접한 프레임 간 연산을 통해 차 영상(DIFF)을 생성할 수 있다. 일 실시예에서, 계산기(150)는 보정된 영상의 t 프레임(CDTAt)과 보정된 영상의 t-1 프레임(CDTAt-1)간의 차 연산을 통해 차 영상(DIFFt)을 생성할 수 있다. 예를 들어, 주행 영상(IDTA)이 60fps로 촬상된 경우, 차 영상(DIFFt)은 보정된 영상(TDTA)의 1/60초 동안의 차이를 검출하는 영상일 수 있다. 도 9에서는 시점 t의 보정된 영상(CDTAt)에서 시점 t-1의 보정된 영상(CDTAt-1)이 차 연산 되는 것으로 도시되었으나, 이에 국한되지 않고 시점 t-1의 보정된 영상(CDTAt-1)이 시점 t의 보정된 영상(CDTAt)에서 차 연산 될 수도 있다.
도 10 및 도 11은 연산기의 동작을 주행 영상으로 예시한 도면이다. 도 2, 도 4, 도 7 및 도 9을 함께 참조하고, 중복되는 설명은 생략된다.
도 10은 시점 t의 보정된 영상(CDTAt)과 시점 t-1의 보정된 영상(CDTAt-1)을 도시한 도면이다. 시점 t-1의 보정된 영상(CDTAt-1)에 따르면, 객체를 검출하는 프로세서(10)를 포함하는 차량(151)의 전방에 차량(152) 및 차량(153)이 관측될 수 있다. 시점 t-1에서 시점 t 사이에, 차량(151)은 가속하고 스티어링 휠을 좌측으로 회전한다고 가정하면, 차량(152) 및 차량(153)은 각각 수직 변화치(dx) 및 수평 변화치(dy)가 제거된 결과로서 도 10 좌측 도면의 화살표와 같이 우측 후방으로 평행 이동될 것이다. 시점 t의 보정된 영상(CDTAt)에 따르면, 차량(151)의 시점 t-1과 시점 t 사이의 가속 및 스티어링 휠의 좌측 회전의 결과에 따라 전방의 차량(154) 및 차량(155)은 우측 후방으로 평행 이동된다. 또한, t-1 시점에서 보이지 않았던 새로운 차량(156)이 추가적으로 관측될 수 있다.
도 12에 따르면, 계산기(150)는 시점 t의 보정된 영상(CDTAt)에서 시점 t-1의 보정된 영상(CDTAt-1)이 차 연산을 할 수 있고, 차량(151)과의 상대 속도가 발생한 영역을 표시할 수 있다. 예를 들어, 주행 영상(IDTA)이 60fps로 촬상된 경우, 차 영상(DIFFt)은 보정된 영상(TDTA)의 1/60초 동안의 차량의 상대 속도 변화를 나타낼 수 있다.
도 9 내지 도 11에 따르면, 프레임마다 촬영된 보정된 영상에 대해 차 연산이 수행될 수 있다. 일 실시예에서, 차량(151)과 주변 차량의 상대 속도가 순간적으로 0인 경우에는 차 영상이 생성되지 않을 수 있다. 차량(151)은 객체를 NPU(도 3, 30)에서 이미 검출할 수 있고, 프로세서(도 3, 10)에서 검출된 관심 객체(OOI)를 검증하므로, 차량(151)의 객체에 기초한 주행은 문제되지 않는다.
도 12는 프로세서에 포함된 군집화기의 동작을 주행 영상으로 예시한 도면이다.
군집화기(160)는 차 영상(DIFF)으로부터 검출된 픽셀 값이 분포된 정도에 따라 적어도 하나의 집합으로 픽셀 값을 그룹핑할 수 있고, 그룹핑된 픽셀 값은 객체의 변화량을 의미할 수 있다. 일 실시예에서, 영상에서 근거리에 위치한 픽셀들을 또는 서로 유사하거나 관련있다고 판단되는 픽셀들이 그룹화될 수 있다. 도 13을 참조하면, 상대적으로 근거리에 위치한 픽셀들이 그룹핑됨으로써, 군집화기(160)는 군집화된 객체(OBJ)(161), 군집화된 객체(OBJ)(162), 군집화된 객체(OBJ)(163)를 탐지할 수 있다. 군집화된 객체들(OBJs)(161-163)은 물체의 완전한 형상을 표현하지는 않으나, 촬영 속도의 역수에 해당하는 시간동안 변화된 양을 의미할 수 있다. 따라서 차량이 상대적으로 정지한 것으로 해석할 수 있는 상대 속도 해석에 의할 때, 차량의 주변에서 상대 속도를 가지고 변화하는 객체가 차영상(DIFF)을 통해 검출될 수 있고, 군집화기(161)를 통해 상대적인 변화가 존재함을 파악할 수 있다.
도 13은 전자 제어 장치를 도시한 블록도이다. 도 2, 도 3은 함께 참조되고 중복되는 설명은 생략된다.
ECU(40)는 차량의 동작 전반 또는 동작의 일부를 제어할 수 있고, CAN 다중화 버스를 통해 엔진 및 스티어링 휠과 통신할 수 있다. ECU(40)는 스티어링 휠(50)의 회전 각도 또는 바퀴의 회전에 기초하여 차량의 직선 주행 위치에서 핸들을 꺾은 각을 의미하는 조향 각(STR) 정보를 생성할 수 있다.
ECU(40)는 엔진의 회전 속도, 휠 센서에 측정된 바퀴 속도, 운전자의 페달링 중 적어도 하나에 기초하여 차량 속력을 측정할 수 있다. 속력 확인부(320)는 차량의 실제 속력이 얼만큼인지를 의미하는 차량 속력(SPD) 정보를 생성할 수 있다.
ECU(40)는 이전 프레임에 대한 검증 신호(VOOI)를 수신함으로써, 관심 객체(예를 들어, 주변 차량)와의 거리에 따라 속력 및 조향 각을 조절할 수 있다. 예를 들어, ECU(40)는 전방의 차량과의 충돌을 방지하기 위해 엔진(60)에 속도를 유지하거나, 감속하기 위한 신호를 전송할 수 있고, 전방 차량과의 충돌로부터의 회피 기동을 위해 스티어링 휠(50)에 신호를 전달할 수 있다.
도 14는 프로세서에서 처리되는 주행 영상과 변환된 영상, 보정된 영상 및 차 영상을 도시한 도면이다. 도 2, 도 3, 도 4, 도 7이 함께 참조되고, 중복되는 설명은 생략된다.
이미지 센서(도 3, 20)의 t-1 시점 및 t 시점에서 각각 주행 영상(IDTAt-1, IDTAt)이 생성될 수 있다. t 프레임에서의 주행 영상(IDTAt)에서 t-1 프레임에서의 주행 영상(IDTAt-1)을 제하면 주행 차 영상(IDIFFt)이 생성될 수 있다. 주행 차 영상(IDIFFt)에는 차량의 이동에 따른 모든 주변 환경의 변화가 검출되므로, 차량과 주변 차량과의 관계에 대한 정보가 상대적으로 왜곡될 수 있다.
도 3의 프로세싱 장치(3) 또는 도 4의 프로세서(10)에 따르면, 주행 영상(IDTA)을 변환한 탑 뷰 영상(TDTA) 및 탑 뷰 영상(TDTA)을 보정한 보정된 영상(CDTA)이 생성될 수 있다. t 프레임에서의 보정된 영상(CDTAt)에서 t-1 프레임에서의 보정된 영상(CDTAt-1)을 제하면 차 영상(DIFFt)이 생성될 수 있다. 차 영상(DIFFt)은 주행 차 영상(IDIFFt)에 비해, 차량과 주변 차량과의 관계에 대한 정보가 강조될 수 있고, 그에 따라 프로세서(10)는 차량과 주변 차량과의 상대 속도가 발생한 영역을 추출할 수 있다.
도 15는 프로세서에서 처리되는 작업을 파이프라이닝한 도면이다. 도 2, 도 4, 도 7가 함께 참조되고, 중복되는 설명은 생략된다.
첫 번째 프레임에서, 이미지 센서(도 2, 2000)는 주행 영상을 촬상(capture; 이하, CPT)하고, 변환기(110)는 탑 뷰 변환(CVT)하고, 움직임 추출기(130)는 움직임을 추출(EXTR)하고, 보상기(140)는 차선 보정(LANE_C)을 수행할 수 있다.
두 번째 프레임에서, 이미지 센서(도 2, 2000)는 주행 영상을 촬상(capture; 이하, CAP)하고, 변환기(110)는 탑 뷰 변환(CVT)하고, 움직임 추출기(130)는 움직임을 추출(EXTR)하고, 보상기(140)는 차선 보정(LANE_C)을 수행하고, 나아가 움직임 보정(MOVE_C)을 수행할 수 있다. 계산기(150)는 차선 보정(LANE_C)된 두 번째 프레임의 보정된 영상(CDTA2)에서, 첫 번째 프레임에서 차선 보정(LANE_C)되고, 움직임 보정(MOVE_C)된 보정된 영상(CDTA1)을 제함으로써, 차 영상를 생성(DIFF2)할 수 있다. 차 영상(DIFF2)에서 서로 인접한 픽셀들은 군집화(GRP)될 수 있다.
세 번째 프레임에서, 이미지 센서(도 2, 2000)는 주행 영상을 촬상(capture; 이하, CAP)하고, 변환기(110)는 탑 뷰 변환(CVT)하고, 움직임 추출기(130)는 움직임을 추출(EXTR)하고, 보상기(140)는 차선 보정(LANE_C)을 수행하고, 나아가 움직임 보정(MOVE_C)을 수행할 수 있다. 계산기(150)는 차선 보정(LANE_C)된 세 번째 프레임의 보정된 영상(CDTA3)에서, 두 번째 프레임에서 차선 보정(LANE_C)되고, 움직임 보정(MOVE_C)된 보정된 영상(CDTA2)을 제함으로써, 차 영상를 생성(DIFF3)할 수 있다. 차 영상(DIFF3)에서 서로 인접한 픽셀들은 군집화(GRP)될 수 있음은 마찬가지이다.
같은 방식으로, 복수 개의 프레임에 대해 촬상(CPT), 변환(CVT), 움직임 추출(EXTR), 차선 보정(LANE_C), 움직임 보정(MOVE_C), 차 연산(DIFF), 및 군집화(GRP)는 순차적으로 파이프라이닝될 수 있다.
도 15에서는 촬상(CPT), 탑 뷰 변환(CVT), 추출(EXTR), 차선 보정(LANE_C), 움직임 보정(MOVE_C), 차 영상 생성(DIFF), 군집화(GRP)는 단위 시간(unit time)으로 모두 표현되었으며, 모두 같은 단위 시간동안 수행되는 것으로 도시되었으나 이는 설명의 편의를 위함이고 각 동작들은 서로 상이한 시간동안 수행될 수 있다. 도 15에서의 가로축은 동작 순서를 의미할 수 있다. 일 실시예에서, 프로세서(10)는 프레임마다 서로 다른 동작을 수행할 수 있다.
도 16은 객체를 검출하는 프로세서의 동작 방법을 설명하기 위한 흐름도이다. 도 2, 도 3, 도 4, 도 7이 함께 참조된다.
도 17을 참조하면, 프로세서(10)는, 이미지 센서(20)로부터 주행 영상(IDTA)을 검출할 수 있고 NPU(30)으로부터 관심 객체(OOI)를 검출할 수 있다(S110). 또한, 프로세서(10)는 ECU(40)로부터 조향 각(STR) 및 차량 속력(SPD)을 획득할 수 있다(S120). 그 후, 프로세서(10)는 주행 영상(IDTA)을 탑 뷰 영상(TDTA)로 변환할 수 있다(S130). 프로세서(10)의 보상기(140)는 탑 뷰 영상(TDTA)에서 검출된 차선을 평행하게 보정하는 차선 보정을 수행함으로써, 탑 뷰 영상(TDTA)에서의 차량 흔들림 요소를 제거할 수 있고, 그 결과로 차선 보정된 영상이 생성될 수 있다(S140). 일 실시예에서 차선 보정된 영상은 제1 데이터로 지칭될 수 있다. 이어서, 조향 각(STR) 및 차량 속력(SPD)에 기초하여 차선 보정된 영상(제1 데이터)에 대해 움직임 보정이 수행될 수 있고, 그에 따라 차량의 상대 속도는 0이 될 수 있다. 결과로서, 보정된 영상(CDTA)가 생성될 수 있다. 보정된 영상(CDTA)은 제2 데이터로 지칭될 수 있다. 보정된 영상(CDTA)(제2 데이터)으로의 보정을 통해 차량의 주변에서 관측되는 주변 차량의 변화는 검출될 수 있다(S150).
보정된 영상(CDTA)(제2 데이터)을 프레임 별로 차 연산한 결과 차 영상(DIFF)이 생성될 수 있다(S160). 차 영상(DIFF)은 제3 데이터로 지칭될 수 있다. 일 실시예에서, 프로세서(도 3, 10)는 NPU(도 3, 30)에서 검출된 관심 객체(OOI)가 정확히 추출되었는지 검증할 수 있다(S170).
도 17, 도 18 및 도 19는 예시적 실시예에 따라 객체를 검출하기 위한 프로세서의 동작 방법을 설명하기 위한 흐름도이다. 도 2, 도 3, 도 4, 도 7이 함께 참조된다.
도 17은 차선 보정을 구체적으로 설명하는 흐름도이다. 주행 영상(IDTA)이 탑 뷰 영상(TDTA)로 변환된 이후(From S130), 프로세서(10)는 탑 뷰 영상(TDTA)에서 차선을 검출할 수 있다(S141). 프로세서(10)는 탑 뷰 영상(TDTA)의 복수의 차선들을 검출하고, 차선들 서로가 평행하도록 보정할 수 있다(S142). 그 결과로서, 차선 보정된 영상이 생성될 수 있고, 차선 보정된 영상(제1 데이터)은 차량과 노면의 마찰로부터 발생하는 차량의 흔들림이 제거된 영상일 수 있다(S143). 그 후, 제2 데이터가 생성된다(To S150).
도 18은 움직임 보정을 구체적으로 설명하는 흐름도이다. 차선 보정된 영상이 생성된 이후(From S140), 프로세서(10)의 움직임 추출기(130)는 조향 각(STR)에 기초하여 차선 보정된 영상의 수평 변화치(dy)를 계산할 수 있고(S151), 차량 속력(SPD)에 기초하여 수직 변화치(dx)를 계산할 수 있다(S152). 프로세서(10)의 보상기(15)는 차선 보정된 영상에서 계산된 수평 변화치(dy) 및 수직 변화치(dx)를 제거할 수 있다(S153)(움직임 보정). 제거 결과 보정된 영상(CDTA)이 생성될 수 있다. 움직임 보정은 차량의 상대 속도를 0으로 설정할 수 있는 바, 주변 차량의 상대 속도 변화에 민감할 수 있다. 그 후, 제3 데이터가 생성된다(To S150).
도 19는 관심 객체(OOI)를 검증하는 단계를 구체적으로 설명하는 흐름도이다. 제3 데이터가 생성된 후(From S160), 프로세서(10)에서 검출되고 군집화된 객체에, NPU(30)에 의해 추출된 관심 객체(OOI)가 포함되는지 확인한다(S171). 프로세서(10)에서 검출된 객체에 NPU(30)에 의해 추출된 관심 객체(OOI)가 포함된다면(S172), 관심 객체 목록을 추가하거나 제거하는 별도의 동작은 필요하지 않고, 프로세서(10)에서 검출된 객체에 NPU(30)에 의해 추출된 관심 객체(OOI)가 포함되지 않는다면, 관심 객체(OOI)가 포함되지 않는 영역에 대응되는 추출 영역을 새로운 관심 객체의 후보로 등록할 수 있다(S173).
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 주행 영상을 연속적으로 획득하고, 상기 주행 영상을 탑 뷰(Top-view) 영상으로 변환하도록 구성된 변환기;
    조향 각 및 차량 속력에 기초하여 수평 변화치 및 수직 변화치를 포함하는 변화치를 생성하도록 구성된 움직임 추출기;
    복수의 차선들에 기초하여 상기 탑 뷰 영상을 보정함으로써 제1 데이터를 생성하고, 상기 변화치에 기초하여 상기 제1 데이터를 보정함으로써 제2 데이터를 생성하도록 구성된 보상기;
    상기 제2 데이터의 제1 프레임 및 제2 프레임을 차 연산함으로써 제3 데이터를 생성하도록 구성된 연산기; 및
    제3 데이터를 군집화하여 군집화된 객체를 추출하도록 구성된 군집화기를 포함하는 객체를 검출하는 프로세서.
  2. 제1항에 있어서,
    상기 보상기는,
    상기 탑 뷰 영상에서 상기 복수의 차선들이 서로 평행하도록 보정함으로써 상기 제1 데이터를 생성하는 것을 특징으로 하는 프로세서.
  3. 제2항에 있어서,
    상기 보상기는,
    상기 제1 데이터에서 상기 수평 변화치 및 상기 수직 변화치를 제거함으로써 상기 제2 데이터를 생성하는 것을 특징으로 하는 프로세서.
  4. 제1항에 있어서
    상기 탑 뷰 영상의 프레임들을 저장하도록 구성된 메모리를 더 포함하고,
    상기 보상기는,
    상기 메모리에서 로딩된 상기 탑 뷰 영상의 n번째(n은 자연수) 프레임에서 상기 변화치를 제거하고, 변환기로부터 제공된 상기 탑 뷰 영상의 n+1번째 프레임에서 검출된 복수의 차선들을 서로 평행하게 보정하는 것을 특징으로 하는 프로세서.
  5. 제1항에 있어서,
    인공 신경망 처리 장치로부터 제공된 관심 객체를 상기 군집화된 객체와 비교함으로써 상기 관심 객체를 검증하도록 구성된 검증기를 더 포함하는 프로세서.
  6. 제5항에 있어서,
    상기 검증기는,
    상기 군집화된 객체가 상기 관심 객체가 포함되는지 여부를 나타내는 검증 신호를 생성하도록 구성되고,
    상기 검증 신호는,
    상기 인공 신경망 처리 장치가, 상기 관심 객체에 상기 군집화된 객체가 포함되지 않을 때, 상기 군집화된 객체를 새로운 관심 객체로 추가하도록 구성된 것을 특징으로 하는 프로세서.
  7. 객체를 검출하는 방법에 있어서,
    차량의 주행 영상을 탑 뷰(Top-View) 영상으로 변환하는 단계;
    상기 탑 뷰 영상에서 검출된 복수의 차선들에 기초하여 상기 탑 뷰 영상을 보정한 제1 데이터를 생성하는 단계;
    조향 각 및 차량 속력에 기초하여 상기 제1 데이터를 보정한 제2 데이터를 생성하는 단계; 및
    상기 제1 데이터 및 상기 제2 데이터에 기초하여 제3 데이터를 생성하는 단계를 포함하는 객체를 검출하는 방법.
  8. 제7항에 있어서,
    상기 제1 데이터를 생성하는 단계는,
    상기 탑 뷰 영상에서 상기 복수의 차선들을 검출하는 단계; 및
    상기 복수의 차선들이 서로 평행하도록 보정하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제7항에 있어서,
    상기 제2 데이터를 생성하는 단계는,
    상기 조향 각에 기초하여 상기 제1 데이터에서의 수평 변화치를 계산하는 단계;
    상기 차량 속력에 기초하여 상기 제1 데이터에서의 수직 변화치를 계산하는 단계; 및
    상기 제1 데이터에서 상기 수평 변화치 및 상기 수직 변화치를 제거하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제7항에 있어서,
    상기 제3 데이터를 생성하는 단계는,
    n(n은 자연수)번째 프레임에 관한 상기 제2 데이터와 n+1번째 프레임에 관한 상기 제1 데이터에 대해 차 연산을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1020200027976A 2020-03-05 2020-03-05 객체를 검출하기 위한 프로세서 및 객체 검출 방법 KR20210112672A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200027976A KR20210112672A (ko) 2020-03-05 2020-03-05 객체를 검출하기 위한 프로세서 및 객체 검출 방법
US17/039,259 US11756314B2 (en) 2020-03-05 2020-09-30 Processors configured to detect objects and methods of detecting objects
CN202110155793.4A CN113361312A (zh) 2020-03-05 2021-02-04 检测对象的电子装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200027976A KR20210112672A (ko) 2020-03-05 2020-03-05 객체를 검출하기 위한 프로세서 및 객체 검출 방법

Publications (1)

Publication Number Publication Date
KR20210112672A true KR20210112672A (ko) 2021-09-15

Family

ID=77524606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200027976A KR20210112672A (ko) 2020-03-05 2020-03-05 객체를 검출하기 위한 프로세서 및 객체 검출 방법

Country Status (3)

Country Link
US (1) US11756314B2 (ko)
KR (1) KR20210112672A (ko)
CN (1) CN113361312A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928134B1 (en) * 2022-08-31 2024-03-12 Intuit, Inc. Medoid-based data compression

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7435483B2 (ja) * 2021-01-12 2024-02-21 トヨタ自動車株式会社 地図生成装置、地図生成方法及び地図生成用コンピュータプログラム
US11961392B2 (en) * 2021-03-04 2024-04-16 The University Of North Carolina At Charlotte Worker-in-the-loop real time safety system for short-duration highway workzones

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7688999B2 (en) 2004-12-08 2010-03-30 Electronics And Telecommunications Research Institute Target detecting system and method
KR100685134B1 (ko) 2004-12-15 2007-02-22 삼성테크윈 주식회사 카메라 기반의 감시 방법 및 시스템
JP2007317128A (ja) 2006-05-29 2007-12-06 Auto Network Gijutsu Kenkyusho:Kk 移動距離検出装置及び移動距離検出方法
JP2008219063A (ja) * 2007-02-28 2008-09-18 Sanyo Electric Co Ltd 車両周辺監視装置及び方法
JP5395373B2 (ja) 2008-07-07 2014-01-22 アルパイン株式会社 周辺監視装置
JP5031801B2 (ja) * 2009-07-28 2012-09-26 日立オートモティブシステムズ株式会社 車載用画像表示装置
WO2012127815A1 (ja) 2011-03-22 2012-09-27 パナソニック株式会社 移動体検出装置および移動体検出方法
US8903127B2 (en) * 2011-09-16 2014-12-02 Harman International (China) Holdings Co., Ltd. Egomotion estimation system and method
KR101573576B1 (ko) 2013-10-08 2015-12-01 현대자동차주식회사 Avm 시스템의 이미지 처리 방법
KR102375411B1 (ko) * 2015-05-11 2022-03-18 삼성전자주식회사 차량 주변 영상 제공 방법 및 장치
KR102267256B1 (ko) 2015-10-02 2021-06-22 현대자동차주식회사 장애물 검출 방법, 장치 및 그를 컴퓨터 판독 가능한 기록매체
US11087486B2 (en) * 2016-05-18 2021-08-10 Panasonic Intellectual Property Management Co., Ltd. Lane specification method and lane specification device
WO2018081581A1 (en) * 2016-10-28 2018-05-03 Axon Enterprise, Inc. Systems and methods for supplementing captured data
JP6773540B2 (ja) 2016-12-07 2020-10-21 クラリオン株式会社 車載用画像処理装置
KR102421855B1 (ko) * 2017-09-28 2022-07-18 삼성전자주식회사 주행 차로를 식별하는 방법 및 장치
KR102541561B1 (ko) * 2018-02-12 2023-06-08 삼성전자주식회사 차량의 주행을 위한 정보를 제공하는 방법 및 그 장치들

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928134B1 (en) * 2022-08-31 2024-03-12 Intuit, Inc. Medoid-based data compression

Also Published As

Publication number Publication date
CN113361312A (zh) 2021-09-07
US11756314B2 (en) 2023-09-12
US20210279482A1 (en) 2021-09-09

Similar Documents

Publication Publication Date Title
US11803981B2 (en) Vehicle environment modeling with cameras
US10649463B2 (en) Navigating a vehicle based on a detected barrier
CN112292711B (zh) 关联lidar数据和图像数据
US11436743B2 (en) Systems and methods for semi-supervised depth estimation according to an arbitrary camera
US10489686B2 (en) Object detection for an autonomous vehicle
EP3598074B1 (en) Controlling host vehicle based on the detection of a vehicle moving towards the host vehicle's lane.
JP7239703B2 (ja) 領域外コンテキストを用いたオブジェクト分類
US11250288B2 (en) Information processing apparatus and information processing method using correlation between attributes
KR102059311B1 (ko) 모바일 디바이스에서의 slam
CN110796692A (zh) 用于同时定位与建图的端到端深度生成模型
US11042999B2 (en) Advanced driver assist systems and methods of detecting objects in the same
WO2019026832A1 (en) GENERATING AN ENVIRONMENT CARD AROUND A MOBILE OBJECT WITH GREAT PRECISION
US20200372265A1 (en) Advanced driver assist system, method of calibrating the same, and method of detecting object in the same
US20170359561A1 (en) Disparity mapping for an autonomous vehicle
WO2020106928A1 (en) Intensity and depth measurements in time-of-flight sensors
US11756314B2 (en) Processors configured to detect objects and methods of detecting objects
KR20200071960A (ko) 카메라 및 라이다 센서 융합을 이용한 객체 검출 방법 및 그를 위한 장치
CN114746894A (zh) 图像处理装置、图像处理方法以及图像处理程序
US20240056694A1 (en) Imaging device, image processing method, and image processing program
US20220237921A1 (en) Outside environment recognition device
US11182623B2 (en) Flexible hardware design for camera calibration and image pre-procesing in autonomous driving vehicles
JP2019032751A (ja) カメラ運動推定装置、カメラ運動推定方法及びプログラム
US20220237899A1 (en) Outside environment recognition device
US11830254B2 (en) Outside environment recognition device
Herman et al. Single Camera Object Detection for Self-Driving Vehicle: A Review

Legal Events

Date Code Title Description
A201 Request for examination