[go: up one dir, main page]

KR102815456B1 - 영상 처리를 위한 학습 데이터 생성 방법, 영상 처리 방법, 및 그 장치들 - Google Patents

영상 처리를 위한 학습 데이터 생성 방법, 영상 처리 방법, 및 그 장치들 Download PDF

Info

Publication number
KR102815456B1
KR102815456B1 KR1020180109024A KR20180109024A KR102815456B1 KR 102815456 B1 KR102815456 B1 KR 102815456B1 KR 1020180109024 A KR1020180109024 A KR 1020180109024A KR 20180109024 A KR20180109024 A KR 20180109024A KR 102815456 B1 KR102815456 B1 KR 102815456B1
Authority
KR
South Korea
Prior art keywords
domain coordinates
image
coordinates
objects
dynamic
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020180109024A
Other languages
English (en)
Other versions
KR20200030305A (ko
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 KR1020180109024A priority Critical patent/KR102815456B1/ko
Priority to US16/514,661 priority patent/US11670087B2/en
Priority to EP19196552.4A priority patent/EP3624002A3/en
Priority to CN201910861730.3A priority patent/CN110895826B/zh
Publication of KR20200030305A publication Critical patent/KR20200030305A/ko
Application granted granted Critical
Publication of KR102815456B1 publication Critical patent/KR102815456B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • G06V20/38Outdoor scenes
    • G06V20/39Urban scenes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Image Processing (AREA)

Abstract

일 실시예에 따른 영상 처리 방법 및 장치는 차량의 주행 영상으로부터 객체를 검출하고, 차량과 객체 사이의 고도 차이에 관한 정보를 획득하며, 주행 영상 내 객체의 이미지 도메인 좌표와 고도 차이에 관한 정보를 뉴럴 네트워크에 입력하여 객체의 월드 도메인 좌표를 결정한다.

Description

영상 처리를 위한 학습 데이터 생성 방법, 영상 처리 방법, 및 그 장치들{LEARNING DATA GENERATION METHOD FOR IMAGE PROCESSING, IMAGE PROCESSING METHOD, AND APPARATUS THEREOF}
아래 실시예들은 영상 처리를 위한 학습 데이터 생성 방법, 영상 처리 방법, 및 그 장치들에 관한 것이다.
자율 주행(Automatic Driving)을 위한 객체의 인식 및 검출은 차량의 주행 영상을 통해 수행될 수 있다. 이때, 주행 영상의 2D 이미지 도메인 좌표를 3D 월드 도메인 좌표로 재건하는 데에 호모그래피(homography) 연산을 통한 비선형 전환이 이용될 수 있다.
하지만, 호모그래피 연산을 통한 3D 월드 도메인으로의 전환은 부정확할 뿐만 아니라, 차선 검출, 객체 검출, 자차의 위치 추정 시에 큰 오차가 발생할 수 있다. 이러한 오차는 차량 주행 시에 불안정함을 야기하며, 특히 도로의 고도가 서로 상이한 램프 구간 등에서 정확성이 크게 떨어질 수 있다.
일 실시예에 따르면, 영상 처리 방법은 차량의 주행 영상으로부터 객체를 검출하는 단계; 상기 차량과 상기 객체 사이의 고도 차이에 관한 정보를 획득하는 단계; 및 상기 주행 영상 내 상기 객체의 이미지 도메인 좌표와 상기 고도 차이에 관한 정보를 뉴럴 네트워크에 입력하여, 상기 객체의 월드 도메인 좌표를 결정하는 단계를 포함한다.
상기 고도 차이에 관한 정보는 상기 차량의 피치(pitch) 정보; 및 상기 주행 영상 내 소실선(vanishing line) 정보를 포함할 수 있다.
상기 영상 처리 방법은 시간의 흐름에 따라 상기 객체의 이미지 도메인 좌표들을 추적하는 단계; 및 상기 추적된 객체의 이미지 도메인 좌표들을 필터링함으로써, 상기 객체의 이미지 도메인 좌표의 유형을 플로팅 포인트(floating point)로 변환하는 단계를 더 포함할 수 있다.
상기 영상 처리 방법은 상기 주행 영상 내 소실선 정보에 기초하여, 상기 주행 영상 내 객체의 이미지 도메인 좌표를 스케일링 정규화(scaling normalization) 하는 단계를 더 포함할 수 있다.
상기 객체는 이동성을 갖는 동적 객체 및 이동성을 갖지 않는 정적 객체를 포함하고, 상기 뉴럴 네트워크는 상기 동적 객체의 월드 도메인 좌표를 추정하는 제1 뉴럴 네트워크; 및 상기 정적 객체의 월드 도메인 좌표를 추정하는 제2 뉴럴 네트워크 중 적어도 하나를 포함할 수 있다.
상기 객체가 이동성을 갖는 동적 객체인 경우, 상기 동적 객체의 이미지 도메인 좌표를 상기 월드 도메인 좌표로 변환한 결과를 이용하여 상기 동적 객체에 대응하는 라이브 맵(live map)을 생성하는 단계; 및 상기 라이브 맵을 이용하여, 상기 차량의 주행 파라미터를 생성하는 단계를 더 포함할 수 있다.
상기 객체가 이동성을 갖지 않는 정적 객체인 경우, 상기 정적 객체의 이미지 도메인 좌표를 상기 월드 도메인 좌표로 변환한 결과를 이용하여 상기 정적 객체에 대응하는 랜드마크 맵(landmark map)을 생성하는 단계; 및 상기 랜드마크 맵을 이용하여 상기 차량의 위치 및 경로 중 적어도 하나를 결정할 수 있다.
상기 영상 처리 방법은 상기 객체의 월드 도메인 좌표를 상기 객체에 대응하여 출력하는 단계를 더 포함할 수 있다.
상기 영상 처리 방법은 상기 차량에 장착된 카메라로 촬영된 상기 주행 영상을 획득하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 학습 데이터 생성 방법은 주행 영상을 이용하여 동적 객체들을 추적함으로써, 상기 동적 객체들의 이미지 도메인 좌표들을 획득하는 단계; 상기 동적 객체들 중 미리 정해진 매칭 거리(matching distance) 이내에 위치하는 제1 동적 객체의 이미지 도메인 좌표를 제1 월드 도메인 좌표로 변환하는 단계; 거리 센서를 이용하여 주변 객체들을 추적함으로써, 상기 주변 객체들의 제2 월드 도메인 좌표들을 획득하는 단계; 상기 제1 월드 도메인 좌표와 상기 제2 월드 도메인 좌표들을 비교함으로써, 상기 주변 객체들 중 어느 하나와 상기 제1 동적 객체를 매칭하는 단계; 및 상기 제1 동적 객체의 이미지 도메인 좌표 및 상기 매칭된 주변 객체의 제2 월드 도메인 좌표를 포함하는 학습 데이터를 생성하는 단계를 포함한다.
상기 제1 월드 도메인 좌표로 변환하는 단계는 상기 제1 동적 객체의 초기(initial) 이미지 도메인 좌표를 호모그래피(homography) 연산을 통해 상기 제1 월드 도메인 좌표로 변환하는 단계를 포함할 수 있다.
상기 학습 데이터 생성 방법은 상기 제1 동적 객체에 제1 식별자를 부여하는 단계; 및 상기 주변 객체들에 제2 식별자들을 부여하는 단계를 더 포함하고, 상기 주변 객체들 중 어느 하나와 상기 제1 동적 객체를 매칭하는 단계는 상기 주변 객체들 중 어느 하나에 부여된 제2 식별자와 상기 제1 동적 객체에 부여된 제1 식별자를 매칭하는 단계를 포함할 수 있다.
상기 동적 객체들은 주변 차량, 보행자, 동물 중 적어도 하나를 포함할 수 있다.
상기 학습 데이터 생성 방법은 시간의 흐름에 따라 상기 동적 객체들의 이미지 도메인 좌표들을 추적하는 단계; 및 상기 추적된 동적 객체들의 이미지 도메인 좌표들을 필터링함으로써, 상기 동적 객체들의 이미지 도메인 좌표들의 유형을 플로팅 포인트로 변환하는 단계를 더 포함할 수 있다.
상기 학습 데이터 생성 방법은 상기 주행 영상 내 소실선 정보에 기초하여, 상기 영상 내 동적 객체들의 이미지 도메인 좌표들을 스케일링 정규화하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 학습 데이터 생성 방법은 시간의 흐름에 따른 복수의 프레임들을 포함하는 주행 영상으로부터 정적 객체를 추적함으로써, 상기 정적 객체의 이미지 도메인 좌표들을 저장하는 단계; GPS 정보에 기초하여 상기 이미지 도메인 좌표들 중 현재 프레임의 이미지 도메인 좌표를 제1 글로벌 월드 도메인 좌표로 변환하는 단계; 거리 센서의 출력 및 상기 GPS 정보에 기초하여, 주변 객체들의 제2 글로벌 월드 도메인 좌표들을 획득하는 단계; 상기 제1 글로벌 월드 도메인 좌표 및 상기 제2 글로벌 월드 도메인 좌표들을 비교함으로써, 상기 주변 객체들 중 어느 하나와 상기 정적 객체를 매칭하는 단계; 및 학습 데이터들-상기 학습 데이터들 각각은 상기 저장된 이미지 도메인 좌표들 중 어느 하나와 상기 매칭된 주변 객체의 제2 글로벌 월드 도메인 좌표를 포함함-을 생성하는 단계를 포함한다.
상기 학습 데이터 생성 방법은 상기 정적 객체에 제1 식별자를 부여하는 단계; 및 상기 주변 객체들에 제2 식별자들을 부여하는 단계를 더 포함하고, 상기 주변 객체들 중 어느 하나와 상기 정적 객체를 매칭하는 단계는 상기 주변 객체들 중 어느 하나에 부여된 제2 식별자와 상기 정적 객체에 부여된 제1 식별자를 매칭하는 단계를 포함할 수 있다.
상기 정적 객체는 상기 주행 영상에 포함된 건물, 표지판, 신호등, 횡단 보도, 정지선, 주행선 중 적어도 하나를 포함할 수 있다.
상기 학습 데이터 생성 방법은 시간의 흐름에 따라 상기 정적 객체의 이미지 도메인 좌표들을 추적하는 단계; 및 상기 추적된 정적 객체의 이미지 도메인 좌표들을 필터링함으로써, 상기 정적 객체의 이미지 도메인 좌표의 유형을 플로팅 포인트로 변환하는 단계를 더 포함할 수 있다.
상기 학습 데이터 생성 방법은 상기 주행 영상 내 소실선 정보에 기초하여, 상기 영상 내 정적 객체의 이미지 도메인 좌표를 스케일링 정규화하는 단계를 더 포함할 수 있다.
상기 학습 데이터 생성 방법은 상기 거리 센서의 출력 및 상기 GPS 정보를 누적적으로 저장하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 영상 처리 장치는 차량의 주행 영상으로부터 객체를 검출하고, 상기 차량과 상기 객체 사이의 고도 차이에 관한 정보를 획득하며, 상기 주행 영상 내 상기 객체의 이미지 도메인 좌표와 상기 고도 차이에 관한 정보를 뉴럴 네트워크에 입력하여, 상기 객체의 월드 도메인 좌표를 결정하는 프로세서를 포함한다.
상기 고도 차이에 관한 정보는 상기 차량의 피치 정보; 및 상기 주행 영상 내 소실선 정보를 포함할 수 있다.
상기 프로세서는 시간의 흐름에 따라 상기 객체의 이미지 도메인 좌표들을 추적하고, 상기 추적된 객체의 이미지 도메인 좌표들을 필터링함으로써, 상기 객체의 이미지 도메인 좌표의 유형을 플로팅 포인트로 변환할 수 있다.
상기 프로세서는 상기 주행 영상 내 소실선 정보에 기초하여, 상기 주행 영상 내 객체의 이미지 도메인 좌표를 스케일링 정규화할 수 있다.
상기 객체는 이동성을 갖는 동적 객체 및 이동성을 갖지 않는 정적 객체를 포함하고, 상기 뉴럴 네트워크는 상기 동적 객체의 월드 도메인 좌표를 추정하는 제1 뉴럴 네트워크; 및 상기 정적 객체의 월드 도메인 좌표를 추정하는 제2 뉴럴 네트워크 중 적어도 하나를 포함할 수 있다.
상기 프로세서는 상기 객체가 이동성을 갖는 동적 객체인 경우, 상기 동적 객체의 이미지 도메인 좌표를 상기 월드 도메인 좌표로 변환한 결과를 이용하여 상기 동적 객체에 대응하는 라이브 맵을 생성하고, 상기 라이브 맵을 이용하여, 상기 차량의 주행 파라미터를 생성할 수 있다.
상기 프로세서는 상기 객체가 이동성을 갖지 않는 정적 객체인 경우, 상기 정적 객체의 이미지 도메인 좌표를 상기 월드 도메인 좌표로 변환한 결과를 이용하여 상기 정적 객체에 대응하는 랜드마크 맵을 생성하고, 상기 랜드마크 맵을 이용하여 상기 차량의 위치 및 경로 중 적어도 하나를 결정할 수 있다.
상기 프로세서는 상기 객체의 월드 도메인 좌표를 상기 객체에 대응하여 출력할 수 있다.
상기 영상 처리 장치는 상기 차량에 장착되어 상기 주행 영상을 촬영하는 카메라를 더 포함할 수 있다.
일 실시예에 따르면, 학습 데이터 생성 장치는 주행 영상을 이용하여 동적 객체들을 추적함으로써, 상기 동적 객체들의 이미지 도메인 좌표들을 획득하고, 상기 동적 객체들 중 미리 정해진 매칭 거리 이내에 위치하는 제1 동적 객체의 이미지 도메인 좌표를 제1 월드 도메인 좌표로 변환하고, 거리 센서를 이용하여 주변 객체들을 추적함으로써, 상기 주변 객체들의 제2 월드 도메인 좌표들을 획득하고, 상기 제1 월드 도메인 좌표와 상기 제2 월드 도메인 좌표들을 비교함으로써, 상기 주변 객체들 중 어느 하나와 상기 제1 동적 객체를 매칭하며, 상기 제1 동적 객체의 이미지 도메인 좌표 및 상기 매칭된 주변 객체의 제2 월드 도메인 좌표를 포함하는 학습 데이터를 생성하는 프로세서를 포함한다.
일 실시예에 따르면, 학습 데이터 생성 장치는 시간의 흐름에 따른 복수의 프레임들을 포함하는 주행 영상으로부터 정적 객체를 추적함으로써, 상기 정적 객체의 이미지 도메인 좌표들을 저장하고, GPS 정보에 기초하여 상기 이미지 도메인 좌표들 중 현재 프레임의 이미지 도메인 좌표를 제1 글로벌 월드 도메인 좌표로 변환하고, 거리 센서의 출력 및 상기 GPS 정보에 기초하여, 주변 객체들의 제2 글로벌 월드 도메인 좌표들을 획득하고, 상기 제1 글로벌 월드 도메인 좌표 및 상기 제2 글로벌 월드 도메인 좌표들을 비교함으로써, 상기 주변 객체들 중 어느 하나와 상기 정적 객체를 매칭하며, 학습 데이터들-상기 학습 데이터들 각각은 상기 저장된 이미지 도메인 좌표들 중 어느 하나와 상기 매칭된 주변 객체의 제2 글로벌 월드 도메인 좌표를 포함함-을 생성하는 프로세서를 포함한다.
도 1은 일 실시예에 따라 주행 영상의 2D 이미지 도메인 좌표를 3D 월드 도메인 좌표로 재건(reconstruction)하는 방법을 설명하기 위한 도면.
도 2는 일 실시예에 따른 영상 처리 방법을 나타낸 흐름도.
도 3a는 일 실시예에 따른 고도 차이에 관한 정보를 설명하기 위한 도면.
도 3b는 일 실시예에 따른 소실선 정보를 획득하는 방법을 설명하는 도면.
도 4는 일 실시예에 따른 영상 처리 장치의 구성을 설명하기 위한 도면.
도 5는 일 실시예에 따른 뉴럴 네트워크의 구조를 설명하기 위한 도면.
도 6 내지 도 7은 일 실시예에 따른 스케일링 정규화(scaling normalization)를 설명하기 위한 도면.
도 8은 일 실시예에 따른 플로팅 포인트(floating point) 변환을 설명하기 위한 도면.
도 9는 일 실시예에 따른 영상 처리 방법을 나타낸 흐름도.
도 10은 일 실시예에 따라 주행 영상 내 동적 객체들의 좌표들에 기초하여 학습 데이터를 생성하는 방법을 나타낸 흐름도.
도 11은 일 실시예에 따른 동적 객체를 위한 학습 데이터 생성 장치의 구성도.
도 12는 일 실시예에 따라 주행 영상 내 동적 객체를 위한 학습 데이터를 생성하는 방법을 설명하기 위한 도면.
도 13은 일 실시예에 따른 생성 장치에서 누적적으로 학습 데이터를 생성하는 방법을 설명하기 위한 도면.
도 14는 일 실시예에 따라 주행 영상 내 정적 객체들의 좌표들에 기초하여 학습 데이터를 생성하는 방법을 나타낸 흐름도.
도 15는 일 실시예에 따른 정적 객체를 위한 학습 데이터 생성 장치의 구성도.
도 16은 일 실시예에 따라 주행 영상 내 정적 객체를 위한 학습 데이터를 생성하는 방법을 설명하기 위한 도면.
도 17은 일 실시예에 따른 영상 처리 장치의 블록도
본 명세서에 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것이다. 개시된 실시예들은 다양한 다른 형태로 변경되어 실시될 수 있으며 본 명세서의 범위는 개시된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
하기에서 설명될 실시예들은 스마트 차량 등의 증강 현실 내비게이션 (Augmented Reality Navigation) 시스템에서 차선을 표시하거나, 자율 주행 차량의 조향을 돕기 위한 시각 정보를 생성하는 데에 활용될 수 있다. 또한, 실시예들은 차량 내 주행 보조 또는 완전 자율 주행을 위해 설치된 HUD(Head Up Display) 등의 지능 시스템을 포함하는 기기에서 시각 정보(Visual Information)를 해석하여 안전하고 쾌적한 주행을 돕는 데에 사용될 수 있다. 실시예들은 예를 들어, 자율 주행 자동차, 지능형 자동차, 스마트 폰, 및 모바일 기기 등에 적용될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
이하에서 '도로(road)'는 사용자의 차량들이 운행 중인 고속도로, 국도, 지방도, 고속 국도 등을 포함할 수 있다. 도로는 하나 또는 다수 개의 차로(lane)들을 포함할 수 있다. '주행 차로'는 다수 개의 차로들 중 주행 차량이 이용하는(주행 중인) 어느 하나의 차로에 해당할 수 있다. '차로'는 도로 노면 상에 표시된 차선 표시(lane marking)를 통해 서로 구분될 수 있다. 하나의 차로는 차로 좌우에 있는 차선 표시에 의해 구분될 수 있다. '도로 표시(road marking)'는 차량이 운행하는 도로 노면 상에 기재된 표시로서, 중앙선, 유도선 등과 같은 차선 표시, 및 차로 변경선, 좌회전 금지선, 진행 방향 안내선, 횡단 보도 등과 같은 기호, 어린이 보호 구역, 서행 등과 같은 문자 등의 비차선 표시(non-lane marking)를 포함할 수 있다.
도 1은 일 실시예에 따라 주행 영상의 2D 이미지 도메인 좌표를 3D 월드 도메인 좌표로 재건(reconstruction)하는 방법을 설명하기 위한 도면이다. 도 1을 참조하면, 차량의 2D 주행 영상(110) 및 2D 주행 영상(110)에 대응하는 3D 영상(130)이 도시된다. 3D 영상(130)은 월드 도메인 상 탑 뷰 영상으로, 깊이 정보를 포함할 수 있다.
차량은 도로 상황을 인식할 때에 다양한 촬영 장치를 사용하여 차, 사람, 신호등, 표지판, 차선 등을 촬영한다. 차량은 촬영된 영상으로부터 주변 차량, 주행 차로, 차선을 포함하는 도로 표시 등을 검출하여 충돌 회피를 수행하고, 표지판과 신호등을 식별 및/또는 검출함으로써 경로 탐색 및 종횡 방향 제어를 수행할 수 있다. 이하에서 '차량'은 자율 주행(Automatic Driving) 기능, 및/또는 첨단 운전자 지원(Advanced Driver Assistance; ADA) 기능을 포함하는 자차로 이해될 수 있다.
2D 주행 영상(110)은 차량에 장착되어 도로 주행 시에 차량의 전방을 향하도록 구성된 촬영 장치를 통해 촬영될 수 있다. 2D 주행 영상(110)에는 예를 들어, 주변 차량들(111), 차선(113), 가로등(115), 및 횡단 보도(117) 등과 같은 다양한 주변 객체들이 포함될 수 있다.
일 실시예에 따른 영상 처리 장치는 2D 주행 영상(110)에서 검출한 주변 객체들의 이미지 도메인 좌표를 뉴럴 네트워크를 통해 3D 월드 도메인 좌표로 전환할 수 있다. 3D 영상(130)에는 2D 주행 영상(110)과 마찬가지로 주변 차량들(131), 차선(133), 가로등(135), 및 횡단 보도(137) 등이 표시될 수 있다.
영상 처리 장치는 2D 주행 영상(110)의 이미지 도메인에서 검출한 동적 객체를 3D 월드 도메인으로 전환함으로써 차량이 차간 거리를 유지하고 주행하도록 제어할 수 있다. 또한, 영상 처리 장치는 2D 이미지 도메인에서 검출한 정적 객체를 3D 월드 도메인으로 전환하여 자차의 위치를 추정함으로써 차선 유지 주행 및 경로 생성을 수행할 수 있다.
또한, 일 실시예에 따른 영상 처리 장치는 2D 주행 영상(110) 전체를 처리하지 않고, 타겟이 되는 일부 객체(예를 들어, 차량, 도로, 표지판 등)를 추적 및 검출함으로써 뉴럴 네트워크의 부하를 줄일 수 있다.
이하에서는 설명의 편의를 위하여 '2D 이미지 도메인 (좌표)'은 '이미지 도메인 (좌표)'으로 '3D 월드 도메인 (좌표)'은 '월드 도메인 (좌표)'으로 간략하게 표현하기로 한다.
도 2는 일 실시예에 따른 영상 처리 방법을 나타낸 흐름도이다. 도 2를 참조하면, 일 실시예에 따른 영상 처리 장치는 차량의 주행 영상으로부터 객체를 검출한다(210). 주행 영상은 차량의 주행 시에 차량에 장착되어 차량의 전면(font view), 또는 양 측면(side view) 등을 촬영하도록 구성된 촬영 장치를 통해 획득될 수 있다. 또는 주행 영상은 통신 인터페이스(도 17의 통신 인터페이스(1770) 참조)를 통해 영상 처리 장치의 외부로부터 수신한 차량의 전면 및 양 측면 중 적어도 하나의 외부 영상(external image)일 수 있다.
주행 영상은 예를 들어, 도 1에 도시된 2D 주행 영상(110)과 같이 주변 차량, 차선, 연석, 인도, 주변 환경 등을 포함하는 도로 영상, 및/또는 도로 노면 영상 등을 포함할 수 있다. 주행 영상은 컬러 영상 이외에도 적외선 영상, 깊이 영상, 스테레오 영상 등과 같이 다양한 영상들을 포함할 수 있다. 주행 영상은 하나의 프레임(Frame)을 포함할 수도 있고, 복수 개의 프레임들을 포함할 수도 있다.
영상 처리 장치가 검출하는 객체는 자차 이외에 다른 차량, 도로 소실점, 도로 표시, 보행자, 차량, 신호등, 도로 표시, 표지판 사람, 동물, 식물, 건물 등일 수 있으며, 반드시 이에 한정되는 것은 아니다. 객체는 이동성을 갖는 동적 객체 및/또는 이동성을 갖지 않는 정적 객체를 포함할 수 있다. 동적 객체는 예를 들어, 주변 차량, 보행자, 동물 등과 같이 이동성을 갖는 다양한 객체들을 포함할 수 있다. 정적 객체는 예를 들어, 횡단 보도, 정지선, 주행선 등의 다양한 차선들, 도로 표지, 도로 연석, 건물, 표지판, 식물(나무), 돌 및 신호등 등을 이동성을 갖지 않는 다양한 객체들을 포함할 수 있다.
단계(210)에서, 일 실시예에 따른 영상 처리 장치는 예를 들어, 객체를 인식하도록 미리 학습된 컨볼루션 신경망(Convolution Neural Network; CNN) 등을 이용하여 주행 영상으로부터 객체를 검출할 수 있다. 컨볼루션 신경망은 예를 들어, 주행 영상에서 검출하고자 하는 차선 표시 및 비차선 표시의 바운딩 박스와 검출하고자 하는 차선 표시 및 비차선 표시의 종류가 미리 학습된 것일 수 있다.
영상 처리 장치는 차량과 객체 사이의 고도 차이에 관한 정보를 획득한다(220). 고도 차이에 관한 정보는 예를 들어, 차량의 피치(pitch) 정보, 및 주행 영상 내 소실선(vanishing line) 정보를 포함할 수 있다. 차량과 객체 사이의 고도 차이에 관한 정보는 아래의 도 3을 참조하여 구체적으로 설명한다.
영상 처리 장치는 주행 영상 내 객체의 이미지 도메인 좌표와 고도 차이에 관한 정보를 뉴럴 네트워크에 입력하여, 객체의 월드 도메인 좌표를 결정한다(230). 뉴럴 네트워크는 동적 객체 및 정적 객체를 모두 포함하는 객체의 월드 도메인 좌표를 추정하는 뉴럴 네트워크를 포함할 수도 있다. 또는 뉴럴 네트워크는 동적 객체의 월드 도메인 좌표를 추정하는 제1 뉴럴 네트워크, 및 정적 객체의 월드 도메인 좌표를 추정하는 제2 뉴럴 네트워크 중 적어도 하나를 포함할 수 있다. 일 실시예에 따른 영상 처리 장치의 구성 및 동작은 아래의 도 4 내지 도 5를 참조하여 구체적으로 설명한다.
영상 처리 장치는 단계(230)에서 결정된 객체의 월드 도메인 좌표를 객체에 대응하여 출력할 수 있다. 영상 처리 장치는 객체의 월드 도메인 좌표를 객체에 대응하여 명시적(explicitly)으로 출력할 수도 있고, 암시적(implicitly)으로 출력할 수도 있다. '객체의 월드 도메인 좌표를 명시적으로 출력'하는 것은 예를 들어, 객체의 월드 도메인 좌표를 객체에 대응하여 화면(또는 지도) 상에 디스플레이하거나, 및/또는 객체의 월드 도메인 좌표를 오디오로 출력하는 것 등을 포함할 수 있다. 또는 '객체의 월드 도메인 좌표를 암시적으로 출력'하는 것은 예를 들어, 객체의 월드 도메인 좌표를 이용하여 차량을 제어하거나, 차량의 위치를 결정하거나, 또는 경로를 설정 또는 변경하는 것 등을 포함할 수 있다.
실시예에 따라서, 영상 처리 장치는 주행 영상 내 소실선 정보에 기초하여, 주행 영상 내 객체의 이미지 도메인 좌표를 스케일링 정규화(scaling normalization)할 수 있다. 영상 처리 장치가 스케일링 정규화를 수행하는 방법은 아래의 도 6 내지 도 7을 참조하여 구체적으로 설명한다.
또는 실시예에 따라서, 영상 처리 장치는 시간의 흐름에 따라 객체의 이미지 도메인 좌표들을 추적할 수 있다. 영상 처리 장치는 시간의 흐름에 따라 추적된 객체의 이미지 도메인 좌표들을 필터링함으로써, 객체의 이미지 도메인 좌표의 유형을 플로팅 포인트(floating point)로 변환할 수 있다. 영상 처리 장치가 이미지 도메인 좌표의 유형을 플로팅 포인트로 변환하는 방법은 아래의 도 8을 참조하여 구체적으로 설명한다.
실시예에 따라서, 영상 처리 장치는 단계(210)에서 검출된 객체가 이동성을 갖는 동적 객체인지 또는 이동성을 갖지 않는 정적 객체인지를 구분하고, 구분 결과에 따라 서로 다른 동작을 수행할 수도 있다. 영상 처리 장치가 동적 객체와 정적 객체를 구분하여 검출하는 실시예는 아래의 도 9를 참조하여 구체적으로 설명한다.
도 3a는 일 실시예에 따른 고도 차이에 관한 정보를 설명하기 위한 도면이다. 도 3a를 참조하면, 차량의 피치(pitch) 정보(310) 및 소실선(vanishing line) 정보(320)가 도시된다.
차량의 피치 정보(310)는 지면을 기준으로 하는 자차의 기울기 또는 자차의 고도를 나타내는 정보에 해당할 수 있다. 차량의 피치 정보(310)는 예를 들어, IMU 센서, 또는 자이로 센서 등에 의해 측정될 수 있다. 차량의 피치 정보(310)는 'p'로 간략하게 표현할 수 있다.
소실선 정보(320)는 주행 영상의 전방에서 보이는 객체들의 소실선의 고도가 얼마인지 또는 전방 객체들이 어떤 고도의 소실점에 수렴하는지를 나타낼 수 있다. 소실선 정보(320)는 주행 영상 내 소실점의 위치(예를 들어, 소실점의 y좌표)를 포함할 수 있다. 소실선 정보(320)는 예를 들어, 카메라 등과 같은 촬영 장치에 의해 촬영된 주행 영상으로부터 획득될 수 있다.
영상 처리 장치는 주행 영상에서 영상 인식을 통하여 소실선 정보(320)를 획득할 수 있다. 소실선 정보(320)는 'vl'로 간략하게 표현할 수 있다.
도 3b는 일 실시예에 따른 소실선 정보를 획득하는 방법을 설명하는 도면이다.
일 실시예에 따르면, 영상 처리 장치는 주행 가능한 도로(drivable road)의 최고점을 기초로 소실선을 결정할 수 있다. 예를 들어, 도 3b를 참조하면, 영상 처리 장치는 딥 러닝 등 영상 처리를 기반으로 주행 가능한 도로의 영역들(341, 342, 343)을 추출하고, 추출된 주행 가능한 도로의 영역들의 최고점을 기초로 소실선(330)의 y좌표를 결정할 수 있다. 영상의 상단에서 하단으로 갈수록 y좌표가 증가하는 경우, 추출된 영역들의 최고점은 추출된 영역들에 포함된 픽셀들 중 y좌표가 가장 작은 픽셀일 수 있다. 또한, 주행 가능한 도로의 영역들은 인접 차량에 기초하여 추출될 수 있다.
일 실시예에 따르면, 영상 처리 장치는 복수의 차선들을 추출하고, 복수의 차선들의 연장선이 만나는 교점을 소실점으로 결정할 수 있다. 예를 들어, 도 3b를 참조하면, 영상 처리 장치는 딥 러닝 등 영상 처리를 기반으로 두 차선들(351, 352)을 추출하고, 두 차선들(351, 352)을 연장하여 소실점(335)을 결정할 수 있다. 영상 처리 장치는 결정된 소실점(335)의 y좌표를 소실선(330)의 y좌표로 결정할 수 있다.
도 4는 일 실시예에 따른 영상 처리 장치의 구성을 설명하기 위한 도면이고, 도 5는 일 실시예에 따른 뉴럴 네트워크의 구조를 설명하기 위한 도면이다. 도 4 및 도 5를 참조하면, 일 실시예에 따른 영상 처리 장치(400)는 카메라 센서(410), IMU 센서(420) 및 뉴럴 네트워크(430)를 포함할 수 있다.
영상 처리 장치(400)는 카메라 센서(410)에서 촬영된 차량의 주행 영상으로부터 객체를 검출할 수 있다. 영상 처리 장치(400)는 검출한 객체를 추적(415)하여 객체의 이미지 도메인의 점 좌표(ix, iy)를 뉴럴 네트워크(430)로 입력할 수 있다. 또한, 영상 처리 장치(400)는 카메라 센서(410)에서 촬영된 차량의 주행 영상 내 소실선 정보(vl)를 획득하여 뉴럴 네트워크(430)로 입력할 수 있다. 영상 처리 장치(400)는 IMU 센서(420)가 감지한 차량의 피치 정보(p)를 뉴럴 네트워크(430)에 입력할 수 있다.
뉴럴 네트워크(430)는 이미지 도메인의 점 좌표(ix, iy), 현재 차량의 피치 정보(p), 소실선 정보(vl)를 입력받고, 입력된 정보를 기초로 객체의 월드 도메인 좌표를 추정함으로써 이미지 도메인의 점 좌표(ix, iy)에 대응하는 월드 도메인 좌표(Wx, Wy)를 출력할 수 있다. 뉴럴 네트워크(430)는 예를 들어, 도 5에 도시된 것과 같이 풀리-커넥티드 레이어들(fully-connected layers)을 포함할 수 있다.
실시예에 따라서, 뉴럴 네트워크(430)는 동적 객체와 정적 객체를 구분하여 각각의 월드 도메인 좌표를 추정하도록 학습된 것일수도 있고, 동적 객체와 정적 객체를 구분하지 않고 통합된 객체에 대한 월드 도메인 좌표를 추정하도록 학습된 것일 수도 있다.
일 실시예에 따른 뉴럴 네트워크(430)는 차량의 피치 정보와 소실선 정보를 통해 차량과 주변 객체 사이의 고도 차이를 정보화하여 객체의 월드 도메인 좌표를 결정하는 데에 사용할 수 있다.
도 6 내지 도 7은 일 실시예에 따른 스케일링 정규화(scaling normalization)를 설명하기 위한 도면이다. 일 실시예에 따른 영상 처리 장치는 주행 영상 내 소실선 정보에 기초하여, 주행 영상 내 객체의 이미지 도메인 좌표를 스케일링 정규화할 수 있다.
전술한 바와 같이, 소실선 정보는 영상 내 소실점의 위치를 포함할 수 있다. 스케일링 정규화는 예를 들어, 소실점(또는 소실점을 포함하는 일정 영역)의 위치를 기준으로 x축 방향 및 y축 방향에 대하여 각각 수행될 수 있다. x축 방향의 스케일링 정규화 시 소실점의 x좌표가 고려되고, y축 방향의 스케일링 정규화 시 소실점의 y좌표가 고려될 수 있다.
실시예에 따라 영상 처리 장치는 복수의 프레임들에 포함된 소실선 정보를 통합적으로 고려하여 미리 정해진 결과(예를 들어, 평균 소실점 위치 등)에 기초하여, 스케일링 정규화 수행할 수 있다. 또는 영상 처리 장치는 매 프레임마다 소실선 정보를 획득하고, 프레임 별 소실선 정보에 기초하여 동적으로 스케일링 정규화 수행할 수도 있다.
이하에서는 도 6을 참조하여 x축 방향의 스케일링 정규화 방법을 설명하고, 도 7을 참조하여 Y축 방향의 스케일링 정규화 방법을 설명한다. 예를 들어, 도 6의 (a) 및 도 7의 (a)에 도시된 주행 영상은 1920 (가로) X 1200 (세로)의 해상도를 가질 수 있다.
도 6의 (a)의 주행 영상에서 소실점(610)의 X 좌표 부근에 위치하는 원거리 객체는 이미지 도메인 상에서 픽셀 당 실제 거리가 매우 큰 반면, 소실점(610)의 X 좌표에서 멀어질수록 픽셀 당 실제 거리는 작아질 수 있다. 따라서, 일 실시예에서는 소실점(610)의 X 좌표에서 가까운 영역과 소실점(610)의 X 좌표에서 먼 영역 간의 스케일링 비율을 달리 정한 정규화를 통해 원거리 객체의 실제 거리를 보다 정확하게 표현할 수 있다.
보다 구체적으로, 도 6의 (a)와 같이 자차가 주행 영상의 가로축 1920(가로) 픽셀들 중 가운데인 960 픽셀에 위치하고, 소실점(610)의 X 좌표의 위치 또한 960 픽셀이라고 하자. 만약 도 6의 (b)에 도시된 함수(630)과 같이 소실점(610)과의 거리에 무관하게 선형적으로 증가하는 형태로 이미지 도메인 좌표를 표현하는 경우, 원거리 객체의 실제 거리를 표현하는 해상도가 낮아질 수 있다.
따라서, 일 실시예에서는 도 6의 (b)에 도시된 로그 스케일 함수(650)와 같이 소실점(610)에 가깝고 원거리에 해당하는 영역이 보다 상세하게 표현될 수 있도록 소실점(610)에서 가까워질수록 스케일링 팩터의 기울기 값이 커지고, 소실점(610)에 멀어질수록 스케일링 팩터의 기울기 값이 작아지도록 할 수 있다.
일 실시예에 따른 영상 처리 장치는 주행 영상 내 소실선 정보에 기초하여, 주행 영상 내 객체의 이미지 도메인의 X 좌표를 예를 들어, 로그 스케일 함수(650)의 형태로 스케일링 정규화 함으로써 원거리 객체의 실제 거리를 표현하는 해상도를 향상시킬 수 있다.
도 7의 (a)의 주행 영상에서 소실점(710)의 Y 좌표인 600 픽셀을 기준으로 그 위 영역은 하늘에 해당하고, 하늘은 실제 차량의 주행에 중요하게 작용하는 도로 또는 차선과는 무관하므로 객체의 좌표 전환 시에 중요하게 고려되지 않을 수 있다. 일 실시예에서는 소실점(710)의 Y 좌표를 기준으로 0~600 픽셀에 해당하는 영역을 제외한 나머지 영역(600~1200 픽셀)에 포함된 객체의 이미지 도메인 좌표를 스케일링 정규화하여 연산량을 감소시킬 수 있다.
도 7의 (a)의 주행 영상에서 소실점(710)의 Y 좌표인 600 픽셀 부근에서는 이미지 도메인 상에서의 픽셀 당 실제 거리가 매우 큰 반면, 소실점(710)의 Y 좌표인 600 픽셀에서 점차 멀어질수록 픽셀 당 실제 거리가 작아질 수 있다. 만약 이러한 점을 고려하지 않고, 도 7의 (b)에 도시된 함수(730)와 같이 소실점(710)과의 거리에 무관하게 선형적으로 증가하는 형태로 이미지 도메인 좌표를 표현하는 경우, 원거리 객체의 실제 거리를 표현하는 해상도가 낮아질 수 있다.
따라서, 일 실시예에서는 소실점(710)의 Y 좌표에서 가까운 영역과 소실점(710)의 Y좌표에서 먼 영역 간의 스케일링 비율을 달리 정한 정규화를 통해 원거리 객체의 실제 거리를 표현하는 해상도를 향상시킬 수 있다. 일 실시예에서는 예를 들어, 도 7의 (b)에 도시된 로그 스케일 함수(750)와 같이 소실점(710)의 Y 좌표에서 원거리에 해당하는 영역이 보다 상세하게 표현될 수 있도록 소실점(710)에 가까워질수록 스케일링 팩터의 기울기 값이 커지고, 소실점(710)의 Y 좌표에서 멀어질수록 스케일링 팩터의 기울기 값이 작아지도록 할 수 있다.
도 8은 일 실시예에 따른 플로팅 포인트(floating point) 변환을 설명하기 위한 도면이다. 도 8을 참조하면, 시간의 흐름에 따라 추적된 객체의 이미지 도메인 좌표들을 나타낸 도면들(810, 820, 830)이 도시된다.
예를 들어, 도면(810)에 도시된 것과 같이 t = n 시점에 촬영된 주행 영상 내 객체의 이미지 도메인 좌표(ix0, iy0)는 정수(integer) 형태일 수 있다. 영상 처리 장치가 이미지 도메인 좌표를 정규화하는 경우, 정수(integer) 형태의 이미지 도메인 좌표는 이산적으로(discretely) 표현될 수 있다.
일 실시예에서는 시간의 흐름에 따라 객체의 이미지 도메인 좌표들을 추적하고, 추적된 객체의 이미지 도메인 좌표들을 필터링함으로써, 객체의 이미지 도메인 좌표의 유형을 플로팅 포인트로 변환할 수 있다.
예를 들어, 영상 처리 장치는 객체의 이미지 도메인 좌표들을 추적하여 도면(820)에 도시된 것과 같이 t = n+1 시점에 추적된 객체의 이미지 도메인 좌표(ix1, iy1)를 예를 들어, ix1 α x ix1 + (1 - α) x ix0, iy1 α x iy1 + (1 - α) x iy0 와 같이 필터링할 수 있다. 또한, 영상 처리 장치는 도면(830)에 도시된 것과 같이 t = n+2 시점에 추적된 객체의 이미지 도메인 좌표(ix2, iy2)를 예를 들어, ix2 α x ix2 + (1 - α) x ix1, iy2 α x iy2 + (1 - α) x iy1 와 같이 필터링하여 플로팅 포인트 좌표로 변환할 수 있다.
일 실시예에 따른 영상 처리 장치는 플로팅 포인트로 변환된 객체의 이미지 도메인 좌표를 주행 영상 내 소실선 정보에 기초하여 스케일링 정규화한 후 뉴럴 네트워크에 입력할 수 있다.
도 9는 일 실시예에 따른 영상 처리 방법을 나타낸 흐름도이다. 도 9를 참조하면, 일 실시예에 따른 영상 처리 장치는 차량의 주행 영상으로부터 객체를 검출할 수 있다(910). 영상 처리 장치는 검출된 객체가 이동성을 갖는 동적 객체인지 또는 이동성을 갖지 않는 정적 객체인지를 결정할 수 있다(920). 영상 처리 장치는 예를 들어, 다양한 기계 학습 또는 다양한 뉴럴 네트워크 등을 통해 검출된 객체가 동적 객체인지 또는 정적 객체인지를 결정할 수 있다.
단계(920)에서 객체가 동적 객체라고 결정된 경우, 영상 처리 장치는 제1 뉴럴 네트워크(보다 구체적으로, 제1 뉴럴 네트워크가 동적 객체의 이미지 도메인 좌표를 월드 도메인 좌표로 변환한 결과)를 이용하여 동적 객체에 대응하는 라이브 맵(live map)을 생성할 수 있다(930).
영상 처리 장치는 라이브 맵을 이용하여, 차량의 주행 파라미터를 생성할 수 있다(940). 주행 파라미터는 예를 들어, 주행각 제어 파라미터, 가속 제어 파라미터, 감속 제어 파라미터, 및/또는 방향 지시등(turn signal lamp) 제어 파라미터 등을 포함할 수 있다. 영상 처리 장치가 생성한 주행 파라미터는 자차와 다른 차량 간의 충돌 회피에 활용될 수 있다.
단계(920)에서 객체가 정적 객체라고 결정된 경우, 영상 처리 장치는 제2 뉴럴 네트워크(보다 구체적으로, 제2 뉴럴 네트워크가 정적 객체의 이미지 도메인 좌표를 월드 도메인 좌표로 변환한 결과)를 이용하여 정적 객체에 대응하는 랜드마크 맵(landmark map)을 생성할 수 있다(950).
영상 처리 장치는 랜드마크 맵을 이용하여 차량의 위치(localization) 및 경로(global path) 중 적어도 하나를 결정할 수 있다(960).
이하, 영상 처리 장치에서 이용되는 뉴럴 네트워크를 학습하는 방법을 설명한다.
일 실시예에 따른 영상 처리 장치는 호모그래피 연산에 의해 획득한 근거리 데이터를 통해 뉴럴 네트워크(Neural Network; 이하 NN)를 초기 학습할 수 있다. 호모그래피 연산은 한 평면을 다른 평면에 투영(projection) 시켰을 때 투영된 대응점들 사이에서 성립하는 일정한 변환 관계에 의해 다른 평면의 좌표를 결정하는 방법이다. 일반적으로 호모그래피 연산은 근거리에서 신뢰도가 높다. 때문에, 영상 처리 장치는 3D 월드 도메인 상의 근거리에서 매칭된 2D 이미지 도메인의 점 좌표들을 초기 학습 데이터로 이용할 수 있다.
이후, 영상 처리 장치는 학습 데이터의 수집 거리를 점진적으로 늘려가면서 뉴럴 네트워크를 학습할 수 있다 학습 데이터의 수집 거리를 점진적으로 늘려가는 이유는 2D 주행 영상의 이미지 도메인 좌표(2D 이미지 도메인)와 3D 월드 도메인 좌표가 잘못 매칭(matching)되는 것을 방지하기 위함이다.
일 실시예에 따른 영상 처리 장치는 학습 데이터를 누적할 때 2D 주행 영상의 이미지 도메인 상에서 동적 객체 및/또는 정적 객체에 식별자(ID)를 부여해 순차적인 데이터를 수집하고, 수집된 데이터를 거리 센서에서 수집된 데이터와 매칭함으로써 보다 정확한 학습 데이터를 수집할 수 있다.
일 실시예에 따른 영상 처리 장치는 실시간으로 학습 데이터를 누적하고, 누적된 학습 데이터를 이용하여 뉴럴 네트워크를 학습시킴으로써 카메라 센서나 거리 센서의 위치나 자세가 틀어지는 것을 반영하여 2D 이미지 도메인 좌표를 3D 월드 도메인 좌표로 전환하는 자동 보정(Auto-calibration) 또한 수행할 수 있다.
도 10은 일 실시예에 따라 주행 영상 내 동적 객체들의 좌표들에 기초하여 학습 데이터를 생성하는 방법을 나타낸 흐름도이다. 도 10을 참조하면, 일 실시예에 따른 학습 데이터 생성 장치(이하, '생성 장치')는 주행 영상을 이용하여 동적 객체들을 추적함으로써, 동적 객체들의 이미지 도메인 좌표들을 획득한다(1010). 일 실시예에 따른 생성 장치의 구성의 일 예는 아래의 도 11을 참조하여 구체적으로 설명한다.
실시예에 따라서, 생성 장치는 시간의 흐름에 따라 동적 객체들의 이미지 도메인 좌표들을 추적할 수 있다. 생성 장치는 추적된 동적 객체들의 이미지 도메인 좌표들을 필터링함으로써, 동적 객체들의 이미지 도메인 좌표들의 유형을 플로팅 포인트로 변환할 수 있다. 또는 생성 장치는 주행 영상 내 소실선 정보에 기초하여, 영상 내 동적 객체들의 이미지 도메인 좌표들을 스케일링 정규화할 수 있다.
생성 장치는 동적 객체들 중 미리 정해진 매칭 거리(matching distance) 이내에 위치하는 제1 동적 객체의 이미지 도메인 좌표를 제1 월드 도메인 좌표로 변환한다(1020). 단계(1020)에서 생성 장치는 제1 동적 객체의 이미지 도메인 좌표를 호모그래피(homography) 연산을 통해 제1 월드 도메인 좌표로 변환할 수 있다. 매칭 거리는 예를 들어, 15m 또는 30m 일 수 있다. 생성 장치는 제1 동적 객체에 제1 식별자를 부여할 수 있다.
생성 장치는 거리 센서를 이용하여 주변 객체들을 추적함으로써, 주변 객체들의 제2 월드 도메인 좌표들을 획득한다(1030). 거리 센서는 예를 들어, 라이다(Lidar) 센서, 레이더(Radar) 센서 등일 수 있다. 이때, 생성 장치는 주변 객체들에 제2 식별자들을 부여할 수 있다.
생성 장치는 제1 월드 도메인 좌표와 제2 월드 도메인 좌표들을 비교함으로써, 주변 객체들 중 어느 하나와 제1 동적 객체를 매칭한다(1040). 생성 장치는 주변 객체들 중 어느 하나에 부여된 제2 식별자와 제1 동적 객체에 부여된 제1 식별자를 비교하여 매칭할 수 있다.
생성 장치는 제1 동적 객체의 이미지 도메인 좌표 및 매칭된 주변 객체의 제2 월드 도메인 좌표를 포함하는 학습 데이터를 생성한다(1050).
일 실시예에 따른 생성 장치가 학습 데이터를 생성하는 방법은 아래의 도 12 내지 도 13을 참조하여 구체적으로 설명한다.
도 11은 일 실시예에 따른 동적 객체를 위한 학습 데이터 생성 장치의 구성도이다. 도 11을 참조하면, 일 실시예에 따른 생성 장치(1100)는 카메라 센서(1110), 거리 센서(1120), IMU 센서(1130) 및 프로세서(1170)를 포함할 수 있다.
생성 장치(1100)는 카메라 센서(1110)에서 촬영된 차량의 주행 영상으로부터 동적 객체를 검출할 수 있다. 생성 장치(1100)는 주행 영상을 이용하여 동적 객체들을 추적(1140)함으로써 동적 객체들의 이미지 도메인 좌표들을 획득할 수 있다. 이미지 도메인 좌표들 각각은 (ix, iy)의 형식을 가질 수 있다. 아울러, 생성 장치(1100)는 카메라 센서(1110)에 의해 촬영된 주행 영상으로부터 소실점 정보(vl) 또한 획득할 수 있다.
생성 장치(1100)는 동적 객체들 중 미리 정해진 매칭 거리(1160) 이내에 위치하는 제1 동적 객체의 이미지 도메인 좌표(ix, iy)를 제1 월드 도메인 좌표로 변환할 수 있다(1145). 아래에서 상세하게 설명하겠으나, 생성 장치(1100)는 동적 객체들 중 미리 정해진 매칭 거리(1160) 이내에 위치하는 제1 동적 객체의 이미지 도메인 좌표(ix, iy)를 호모그래피(homography) 연산을 통해 제1 월드 도메인 좌표로 변환할 수 있다. 뉴럴 네트워크의 초기 학습이 완료된 이후, 생성 장치(1100)는 이미지 도메인 좌표의 변환에 호모그래피 연산 대신 기 학습된 뉴럴 네트워크를 이용함으로써 매칭 거리(1160)를 증가시킬 수 있다.
이때, 생성 장치(1100)는 제1 동적 객체에 식별자(예를 들어, 제1 식별자)를 부여할 수 있다.
또한, 생성 장치(1100)는 거리 센서(1120)를 이용하여 자차의 주변 객체들을 추적(1150)하여 주변 객체들의 제2 월드 도메인 좌표들을 획득할 수 있다. 제2 월드 도메인 좌표들 각각은 (Wx, Wy)의 형식을 가질 수 있다. 이때, 거리 센서(1120)는 자차의 주변 객체들과의 거리 및 각도를 출력할 수 있다. 생성 장치(1100)는 추적한 주변 객체들에 식별자(예를 들어, 제2 식별자)를 부여할 수 있다.
생성 장치(1100)는 제1 동적 객체의 제1 월드 도메인 좌표와 주변 객체들의 제2 월드 도메인 좌표들을 비교하여 근거리(예를 들어, 매칭 거리 이내)에서 매칭(1173) 시킴으로써 학습 데이터(1177)를 생성할 수 있다.
이때, 생성 장치(1100)는 제1 동적 객체의 이미지 도메인 좌표(ix, iy) 및 주행 영상 내 소실선 정보(vl)는 카메라 센서로부터 획득하고, 주변 객체의 제2 월드 도메인 좌표(Wx, Wy)은 거리 센서(1120)로부터 얻어 학습 데이터를 누적해 갈 수 있다. 이 밖에도, 생성 장치(1100)는 IMU 센서(1130)를 통해 차량의 피치 정보(p)를 획득하여 학습 데이터(1177)를 생성하는 데에 이용할 수 있다.
생성 장치(1100)는 제1 동적 객체의 이미지 도메인 좌표(ix, iy)에 대한 호모그래피 연산을 통해 생성한 학습 데이터에 의해 뉴럴 네트워크를 초기 학습시킨 후, 매칭 거리를 점차 원거리로 늘려가며 학습 데이터를 생성할 수 있다. 예를 들어, 일 실시예에서 초기 학습 이후에는 이미지 도메인 좌표를 제1 월드 도메인 좌표로 변환 시 호모그래피 연산 대신 기 학습된 뉴럴 네트워크를 이용함으로써 매칭 거리를 증가시킬 수 있다. 일 실시예에 따른 생성 장치(1100)가 매칭 거리(1160)를 늘려가며 학습 데이터를 생성하는 방법은 아래의 도 12를 참조하여 구체적으로 설명한다.
도 12는 일 실시예에 따라 주행 영상 내 동적 객체를 위한 학습 데이터를 생성하는 방법을 설명하기 위한 도면이다. 도 12의 (a)를 참조하면, 도로에서 이동 중인 다른 차량(1205)을 촬영한 주행 영상들(1210, 1220, 1230)이 도시된다. 주행 영상(1210)은 다른 차량(1205)이 매칭 거리 이내에 위치하는 t = 0인 시점에서 촬영된 것이고, 주행 영상(1220) 및 주행 영상(1230)는 다른 차량(1205)이 매칭 거리를 초과한 거리에 위치하는 t = 1 인 시점 및 t = 2인 시점에서 촬영된 것이라고 하자.
또한, 도 12의 (b)를 참조하면, t = n, t = n + 1, 및 t = n + 2인 시점 각각에서 카메라 센서를 통해 획득한 동적 객체(예를 들어, 다른 차량(1205))의 이미지 도메인 좌표(ix, iy)와 거리 센서를 통해 획득한 주변 객체들의 제2 월드 도메인 좌표 (Wx, Wy)를 점진적으로 매칭시켜 학습 데이터를 생성하는 과정이 도시된다.
예를 들어, n = 0이라고 하면, 생성 장치는 t = 0 인 시점에서 매칭 거리 이내에 위치하는 다른 차량(1205)의 이미지 도메인 좌표(ix0, iy0)를 호모그래피 연산을 통해 제1 월드 도메인 좌표(Wx0, Wy0)로 변환할 수 있다. 이때, 생성 장치는 다른 차량(1205)에 식별자(ID) a를 부여할 수 있다.
생성 장치는 t = 0 인 시점에서 거리 센서에 의해 획득한 주변 객체들의 제2 월드 도메인 좌표들(Wx*, Wy*)을 획득할 수 있다. 이때, 생성 장치는 주변 객체들에 식별자들을 부여할 수 있다. 예를 들어, 생성 장치는 거리 센서에 의해 획득된 주변 객체들 중 다른 차량(1205)에 식별자 b를 부여할 수 있다.
생성 장치는 주변 객체들의 제2 월드 도메인 좌표들(Wx*, Wy*)과 제1 월드 도메인 좌표(Wx0, Wy0)를 비교하여 제1 월드 도메인 좌표(Wx0, Wy0)에 가장 인접한 어느 하나(예를 들어, 제2 월드 도메인 좌표(Wx0*, Wy0*)를 가지는 주변 객체인 차량)와 다른 차량(1205)를 매칭할 수 있다. 매칭을 통해 생성 장치는 카메라로부터 추적된 ID = a 인 동적 객체와 거리 센서에 의해 추적된 ID = b인 주변 객체를 동일한 것으로 결정하고, (ix0, iy0, Wx0*, Wy0*)와 같은 학습 데이터를 생성할 수 있다.
이때, 매칭 거리 이내인 t = 0 인 시점에서 수행된 매칭은 다른 차량(1205)이 매칭 거리를 초과한 t = 1, t = 2 인 시점에도 동일하게 ID = a = b 로 유지될 수 있다. 생성 장치는 t = 1 인 시점에서 거리 센서에 의해 추적된 ID = b인 주변 객체의 제2 월드 도메인 좌표(Wx1*, Wy0*)와 제1 월드 도메인 좌표(Wx1, Wy1)를 이용하여 (ix1, iy1 , Wx1*, Wy1*)와 같은 학습 데이터를 생성할 수 있다. 생성 장치는 t = 2 인 시점에서도 t = 1 인 시점에서와 마찬가지의 방식으로 (ix2, iy2 , Wx2*, Wy2*)와 같은 학습 데이터를 생성할 수 있다.
도면에 도시하지 않았으나, 실시예에 따라 생성 장치는 카메라의 객체 추적 히스토리와 거리 센서의 객체 추적 히스토리를 각각 저장할 수 있다. 이 경우, 매칭이 이루어진 뒤 각 히스토리를 이용함으로써, 매칭이 이루어지기 전 시점에 대한 학습 데이터도 추가적으로 생성될 수 있다.
도 13은 일 실시예에 따른 생성 장치에서 누적적으로 학습 데이터를 생성하는 방법을 설명하기 위한 도면이다. 도 13을 참조하면, 일 실시예에 따른 생성 장치가 매칭 거리에 따라 서로 다른 변환기를 이용하여 누적적으로 생성하는 학습 데이터들이 도시된다.
일 실시예에 따른 생성 장치는 주행 영상에서 추적한 동적 객체들 중 최초 매칭 거리(예를 들어, 12m) 이내에 위치하는 제1 동적 객체의 이미지 도메인 좌표를 호모그래피 연산기를 통해 제1 월드 도메인 좌표로 변환하고, 이를 기초로 초기 학습 데이터인 학습 데이터 0을 생성할 수 있다. 이후, 생성 장치는 학습 데이터 0에 의해 뉴럴 네트워크를 학습시킨 후, 반복 회수가 1회, 2회로 점차 증가할수록 매칭 거리를 늘려가면서 뉴럴 네트워크에 의해 제1 동적 객체의 이미지 도메인 좌표를 변환시키면서 학습 데이터 1, 2를 누적적으로 생성할 수 있다. 도 12를 참조하여 설명한 것과 같이, 매칭 거리 이내에서 일단 매칭이 이루어진 뒤에는 매칭 거리를 벗어나더라도 학습 데이터가 생성될 수 있다. 따라서, 뉴럴 네트워크는 최초 매칭 거리보다 큰 매칭 거리에서도 변환을 할 수 있도록 학습되며, 이터레이션이 거듭되면서 원거리에서의 매칭 정확도가 점진적으로 증가할 수 있다.
도 14는 일 실시예에 따라 주행 영상 내 정적 객체들의 좌표들에 기초하여 학습 데이터를 생성하는 방법을 나타낸 흐름도이다. 도 14를 참조하면, 일 실시예에 따른 생성 장치(또는 생성 장치의 프로세서)는 시간의 흐름에 따른 복수의 프레임들을 포함하는 주행 영상으로부터 정적 객체를 추적함으로써, 정적 객체의 이미지 도메인 좌표들을 저장한다(1410). 이때, 생성 장치는 추적한 정적 객체에 제1 식별자를 부여할 수 있다. 실시예에 따라서, 단계(1410)에서 생성 장치는 시간의 흐름에 따라 정적 객체의 이미지 도메인 좌표들을 추적할 수 있다. 생성 장치는 추적된 정적 객체의 이미지 도메인 좌표들을 필터링함으로써, 정적 객체의 이미지 도메인 좌표의 유형을 플로팅 포인트로 변환할 수 있다. 또한, 생성 장치는 주행 영상 내 소실선 정보에 기초하여, 영상 내 정적 객체의 이미지 도메인 좌표를 스케일링 정규화할 수 있다.
생성 장치는 GPS 정보에 기초하여 이미지 도메인 좌표들 중 현재 프레임의 이미지 도메인 좌표를 제1 글로벌 월드 도메인 좌표로 변환한다(1420).
생성 장치는 거리 센서의 출력 및 GPS 정보에 기초하여, 주변 객체들의 제2 글로벌 월드 도메인 좌표들을 획득한다(1430). 이때, 생성 장치는 주변 객체들에 제2 식별자들을 부여할 수 있다. 또한, 생성 장치는 거리 센서의 출력 및 GPS 정보를 누적적으로 저장할 수 있다.
생성 장치는 제1 글로벌 월드 도메인 좌표 및 제2 글로벌 월드 도메인 좌표들을 비교함으로써, 주변 객체들 중 어느 하나와 정적 객체를 매칭한다(1440). 생성 장치는 주변 객체들 중 어느 하나에 부여된 제2 식별자와 정적 객체에 부여된 제1 식별자를 매칭할 수 있다.
생성 장치는 학습 데이터들을 생성한다(1450). 이때, 학습 데이터들 각각은 단계(1410)에서 저장된 이미지 도메인 좌표들 중 어느 하나와 매칭된 주변 객체의 제2 글로벌 월드 도메인 좌표를 포함할 수 있다.
도 15는 일 실시예에 따른 정적 객체를 위한 학습 데이터 생성 장치의 구성도이다. 도 15를 참조하면, 일 실시예에 따른 생성 장치(1500)는 카메라 센서(1510), 거리 센서(1520), GPS 센서(1530), IMU 센서(1540) 및 프로세서(1560)를 포함할 수 있다.
생성 장치(1500)는 카메라 센서(1510)에 의해 시간의 흐름에 따른 복수의 프레임들을 포함하는 주행 영상을 촬영할 수 있다. 생성 장치(1500)는 시간의 흐름에 따라 주행 영상으로부터 정적 객체의 이미지 도메인 좌표들을 추적(1550)하여 저장할 수 있다. 이때, 생성 장치(1500)는 정적 객체에 식별자(예를 들어, 제1 식별자)를 부여할 수 있다.
생성 장치(1500)는 추적된 정적 객체의 이미지 도메인 좌표들을 필터링함으로써, 정적 객체의 이미지 도메인 좌표의 유형을 플로팅 포인트로 변환할 수 있다. 생성 장치(1500)는 주행 영상 내 소실선 정보에 기초하여, 플로팅 포인트로 변환된 정적 객체의 이미지 도메인 좌표를 스케일링 정규화할 수 있다.
아울러, 생성 장치(1500)는 카메라 센서(1510)에 의해 촬영된 주행 영상으로부터 소실점 정보(vl) 또한 획득할 수 있다.
생성 장치(1500)는 GPS 센서(1530)에서 감지된 GPS 정보에 기초하여 정적 객체의 이미지 도메인 좌표들 중 현재 프레임의 이미지 도메인 좌표를 제1 글로벌 월드 도메인 좌표로 변환할 수 있다.
생성 장치(1500)는 거리 센서(1520)의 출력(Wx, Wy) 및 GPS 정보에 기초하여, 자차의 주변 객체들의 제2 글로벌 월드 도메인 좌표들을 획득할 수 있다.
생성 장치(1500)는 제1 글로벌 월드 도메인 좌표 및 제2 글로벌 월드 도메인 좌표들을 비교하여 주변 객체들 중 어느 하나에 부여된 제2 식별자와 정적 객체에 부여된 제1 식별자를 매칭(1563)할 수 있다. 이때, 생성 장치(1500)는 주변 객체들 중 어느 하나에 부여된 제2 식별자와 정적 객체에 부여된 제1 식별자를 매칭할 수 있다.
생성 장치(1500)는 앞서 저장된 이미지 도메인 좌표들 중 어느 하나와 매칭된 주변 객체의 제2 글로벌 월드 도메인 좌표를 포함하도록 학습 데이터(1567)를 생성할 수 있다. 이 밖에도, 생성 장치(1500)는 IMU 센서(1130)를 통해 차량의 피치 정보(p)를 획득하여 학습 데이터(1567)를 생성하는 데에 이용할 수 있다.
일 실시예에 따른 생성 장치(1500)가 시간의 흐름에 따라 정적 객체의 이미지 도메인 좌표들을 추적하여 학습 데이터를 생성하는 방법은 아래의 도 16을 참조하여 구체적으로 설명한다.
도 16은 일 실시예에 따라 주행 영상 내 정적 객체를 위한 학습 데이터를 생성하는 방법을 설명하기 위한 도면이다. 도 16을 참조하면, 시간의 흐름에 따른 차량(1605)의 주행 영상들(1610, 1620, 1630) 및 주행 영상들(1610, 1620, 1630)에 대응하여 차량(1605)과 주변 객체(1607)에 대한 GPS 정보를 나타낸 도면들(1615, 1625, 1635)이 도시된다. 주행 영상들(1610, 1620, 1630)에 포함된 정적 객체(1603)와 도면들(1615, 1625, 1635)에 도시된 주변 객체(1607)는 동일한 객체(예를 들어, 가로등)라고 하자. 또한, 주행 영상(1610)은 t = n 인 시점에서 촬영된 것이고, 주행 영상(1620) 및 주행 영상(1630)은 각각 t = n + 1 인 시점 및 t = n + 2인 시점에서 촬영된 것이라고 하자.
일 실시예에 따른 생성 장치는 시간의 흐름에 따른 주행 영상들(1610, 1620, 1630)로부터 정적 객체(1603)를 추적함으로써 정적 객체(1603)의 이미지 도메인 좌표들(ix, iy)을 저장할 수 있다. 아울러, 생성 장치는 시간의 흐름에 따른 거리 센서(예를 들어, Radar/Lidar 센서)의 출력(Wx*, Wy*) 및 GPS 정보(GPSx, GPSy) 또한 누적적으로 저장할 수 있다.
정적 객체(1603)는 이동성을 갖지 않으므로 그 위치가 고정되어 있다. 하지만, 차량(1605)이 정적 객체(1603)로부터 멀리 위치한 경우 이미지 도메인 좌표의 변환이 정확하지 않아, 매칭이 이루어지지 않는다. 따라서, 생성 장치는 차량(1605)의 이동에 따라 촬영된 정적 객체(1603)의 좌표를 누적적으로 저장한 후, 최종적으로 차량(1605)이 정적 객체(1603)에 해당하는 주변 객체(1607)에 충분히 가까워져 매칭이 이루어지면, 누적적으로 촬영된 정적 객체(1603)의 좌표들에 대한 학습 데이터가 한번에 생성될 수 있다.
보다 구체적으로, 생성 장치는 카메라 센서를 통해 획득한 t = n 시점에서의 주행 영상(1630)에서 정적 객체(1603)의 이미지 도메인 좌표들(ix0, iy0)를 획득하여 저장할 수 있다. 생성 장치는 정적 객체(1603)에게 식별자(ID) = 1을 부여할 수 있다.
생성 장치는 t = n 시점에서 주행 영상(1630)의 이미지 도메인 좌표(ix0, iy0)를 제1 월드 도메인 좌표 (wx0, wy0)로 변환할 수 있다. 생성 장치는 GPS 센서에 의해 획득된 GPS 정보(GPSx0, GPSy0)에 기초하여 제1 월드 도메인 좌표 (wx0, wy0)를 제1 글로벌 월드 도메인 좌표 로 변환할 수 있다.
또한, 생성 장치는 t = n 시점에서 거리 센서의 출력(Wx0 *, Wy0 *) 및 GPS 정보(GPSx0, GPSy0)에 기초하여, 주변 객체(1607)의 제2 글로벌 월드 도메인 좌표을 획득할 수 있다.
생성 장치는 t = n 시점에서와 마찬가지 방식으로 t = n +1 시점 및 t = n +2 시점에서 주행 영상(1620) 및 (1650)의 이미지 도메인 좌표 (ix1, iy1), (ix2, iy2)를 제1 글로벌 월드 도메인 좌표 , 로 변환할 수 있다.
또한, 생성 장치는 t = n 시점에서와 마찬가지 방식으로 t = n +1 시점 및 t = n +2 시점에서 도면(1625) 및 (1635)와 같이 거리 센서의 출력((Wx1*, Wy1*), (Wx2*, Wy2*)) 및 GPS 정보((GPSx1, GPSy1), (GPSx2, GPSy2))에 기초하여 정적 객체(1607)의 제2 글로벌 월드 도메인 좌표들(, )을 획득할 수 있다. 생성 장치는 카메라 센서의 출력인 이미지 도메인 좌표들, 거리 센서의 출력들, GPS 정보, 및 정적 객체(1607)의 제2 글로벌 월드 도메인 좌표들을 누적적으로 저장할 수 있다.
t = n 시점에 대응하는 도면(1615)을 살펴보면, 카메라 센서에 의해 획득된 정적 객체(1603)의 제1 글로벌 월드 도메인 좌표 와 거리 센서에 의해 획득된 주변 객체(1607)의 제2 글로벌 월드 도메인 좌표 간에 차이(오차)가 발생함을 볼 수 있다. 이러한 차이(오차)는 시간의 흐름에 따라 차량(1605)과 주변 객체(1607) 간의 거리가 점차 가까워질수록 줄어들어 t = n + 2 시점에서 비로소 사라질 수 있다.
생성 장치는 이와 같이 차량(1605)이 주변 객체(1607)에 가장 근접한 때(또는 차량(1605)이 정적 객체(1603)를 지나쳐갈 때)인 t = n +2 시점에 정적 객체(1603)의 제1 글로벌 월드 도메인 좌표와 제2 글로벌 월드 도메인 좌표를 비교하여 매칭시킬 수 있다. 생성 장치는 식별자(ID) = 1인 정적 객체(1603)와 주변 객체(1607)를 매칭시킬 수 있다. 상기 매칭을 통해, 생성 장치는 식별자(ID) = 1인 정적 객체(1603)에 대한 학습 데이터 세트((ix0, iy0, Wx2*, Wy2*), (ix1, iy1, Wx2*, Wy2*), (ix2, iy2, Wx2*, Wy2*))를 한꺼번에 생성할 수 있다.
도 17은 일 실시예에 따른 영상 처리 장치의 블록도이다. 도 17을 참조하면, 일 실시예에 따른 영상 처리 장치(1700)는 프로세서(1750)를 포함한다. 영상 처리 장치(1700)는 센서들(1730), 메모리(1750), 통신 인터페이스(1770), 및 디스플레이(1790)를 더 포함할 수 있다. 센서들(1730), 프로세서(1750), 메모리(1750), 통신 인터페이스(1770), 및 디스플레이(1790)는 통신 버스(1705)를 통해 서로 통신할 수 있다.
센서들(1730)은 예를 들어, 카메라 센서, 이미지(image) 센서, 비전(vision) 센서, IMU(Inertial Measurement Unit) 센서, 자이로(gyro) 센서, 가속도 센서, GPS(Global Positioning System) 센서, 지자기 센서, 라이다(Lidar) 센서, 레이더(Radar) 센서, 고도 측정 센서 등을 포함할 수 있으며, 반드시 이에 한정되는 것은 아니다. 카메라, 이미지 센서, 및/또는 비전 센서는 차량에 장착되어 차량의 주행 영상을 촬영할 수 있다. IMU 센서, 자이로 센서 및/또는 고도 측정 센서는 차량의 피치 정보를 감지할 수 있다. 라이다 센서, 및/또는 레이더 센서는 객체의 (로컬) 월드 도메인 좌표를 감지할 수 있다. GPS 센서는 차량의 글로벌 월드 도메인 좌표를 감지할 수 있다.
프로세서(1750)는 도 1 내지 도 16을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(1750)는 프로그램을 실행하고, 영상 처리 장치(1700)를 제어할 수 있다. 프로세서(1750)에 의하여 실행되는 프로그램 코드는 메모리(1750)에 저장될 수 있다.
프로세서(1750)는 예를 들어, CPU(Central Processing Unit) 또는 GPU(Graphics Processing Unit)으로 구성될 수 있다.
메모리(1750)는 주행 영상, 및 차량과 객체 사이의 고도 차이에 관한 정보를 저장할 수 있다. 또한, 메모리(1750)는 프로세서(1750)에서 시간의 흐름에 따라 추적된 객체의 이미지 도메인 좌표들을 저장할 수 있다. 또한, 메모리(1750)는 프로세서(1750)에서 동적 객체에 대응하여 생성한 라이브 맵 및/또는 정적 객체에 대응하여 생성한 랜드마크 맵을 저장할 수 있다.
메모리(1750)는 프로세서(1750)에서 결정된 객체의 월드 도메인 좌표를 저장할 수 있다.
메모리(1750)에 저장된 정적 객체의 월드 도메인 좌표는 이후 차량이 동일한 지역을 지나가는 경우에 횡단 보도, 표지판, 차선, 주변 지형 등과 같이 변화하지 않는 정보를 빠르게 파악할 수 있도록 재사용될 수도 있다. 이는 차량이 출, 퇴근 시에 사용되는 경우에 주로 동일한 경로로 이동하는 점을 고려한 것으로서 메모리(1750)에 이미 저장된 정보를 사용함으로써 정적 객체의 월드 도메인 좌표의 결정을 위한 영상 처리 속도를 향상시키는 한편, 프로세서의 처리 부하를 경감시킬 수 있다. 메모리(1750)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.
통신 인터페이스(1770)는 영상 처리 장치(1700)의 외부에서 캡쳐된 주행 영상 또는 영상 처리 장치(1700)의 외부로부터 수신되는 각종 센서들의 정보, 및 맵 정보 등을 수신할 수 있다. 실시예에 따라서, 통신 인터페이스(1770)는 프로세서(1750)에서 결정된 객체의 월드 도메인 좌표를 영상 처리 장치(1700)의 외부 또는 디스플레이(1790)로 전송할 수 있다.
디스플레이(1790)는 객체의 월드 도메인 좌표를 주행 영상과 함께 또는 별도로 표시할 수 있다. 디스플레이(1790)는 객체의 월드 도메인 좌표를 예를 들어, 지도 정보 또는 내비게이션 영상에서의 객체의 위치 형태로 표시할 수도 있고, 객체의 월드 도메인 좌표 형태로 표시할 수도 있다. 예를 들어, 영상 처리 장치(1700)가 차량에 내장(embedded)된 경우, 디스플레이(1790)는 차량에 설치된 헤드 업 디스플레이(HUD)로 구성될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (33)

  1. 차량의 주행 영상으로부터 객체를 검출하는 단계;
    상기 차량과 상기 객체 사이의 고도 차이에 관한 정보를 획득하는 단계; 및
    상기 주행 영상 내 상기 객체의 이미지 도메인 좌표와 상기 고도 차이에 관한 정보를 뉴럴 네트워크에 입력하여, 상기 객체의 월드 도메인 좌표를 결정하는 단계를 포함하고,
    상기 고도 차이에 관한 정보는
    상기 차량의 피치(pitch) 정보; 및
    상기 주행 영상 내 소실선(vanishing line) 정보를 포함하고,
    상기 월드 도메인 좌표를 결정하는 단계는,
    스케일링 계수의 기울기 값이 주행 영상에서 상기 소실선 정보의 소실점을 향해 증가하고, 상기 소실점으로부터 거리가 증가함에 따라 감소하는 로그 함수에 기반하여 상기 객체의 이미지 도메인 좌표에 대하여 스케일링 정규화를 수행하는 단계를 더 포함하는 영상 처리 방법.
  2. 제1항에 있어서,
    시간의 흐름에 따라 상기 객체의 이미지 도메인 좌표들을 추적하는 단계; 및
    상기 추적된 객체의 이미지 도메인 좌표들을 필터링함으로써, 상기 객체의 이미지 도메인 좌표의 유형을 플로팅 포인트(floating point)로 변환하는 단계
    를 더 포함하는, 영상 처리 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 객체는
    이동성을 갖는 동적 객체 및 이동성을 갖지 않는 정적 객체를 포함하고,
    상기 뉴럴 네트워크는
    상기 동적 객체의 월드 도메인 좌표를 추정하는 제1 뉴럴 네트워크; 및
    상기 정적 객체의 월드 도메인 좌표를 추정하는 제2 뉴럴 네트워크
    중 적어도 하나를 포함하는, 영상 처리 방법.
  5. 제1항에 있어서,
    상기 객체가 이동성을 갖는 동적 객체인 경우,
    상기 동적 객체의 이미지 도메인 좌표를 상기 월드 도메인 좌표로 변환한 결과를 이용하여 상기 동적 객체에 대응하는 라이브 맵(live map)을 생성하는 단계; 및
    상기 라이브 맵을 이용하여, 상기 차량의 주행 파라미터를 생성하는 단계
    를 더 포함하는, 영상 처리 방법.
  6. 제1항에 있어서,
    상기 객체가 이동성을 갖지 않는 정적 객체인 경우,
    상기 정적 객체의 이미지 도메인 좌표를 상기 월드 도메인 좌표로 변환한 결과를 이용하여 상기 정적 객체에 대응하는 랜드마크 맵(landmark map)을 생성하는 단계; 및
    상기 랜드마크 맵을 이용하여 상기 차량의 위치 및 경로 중 적어도 하나를 결정하는 단계
    를 더 포함하는, 영상 처리 방법.
  7. 제1항에 있어서,
    상기 객체의 월드 도메인 좌표를 상기 객체에 대응하여 출력하는 단계
    를 더 포함하는, 영상 처리 방법.
  8. 제1항에 있어서,
    상기 차량에 장착된 카메라로 촬영된 상기 주행 영상을 획득하는 단계
    를 더 포함하는, 영상 처리 방법.
  9. 주행 영상을 이용하여 동적 객체들을 추적함으로써, 상기 동적 객체들의 이미지 도메인 좌표들을 획득하는 단계;
    상기 동적 객체들 중 미리 정해진 매칭 거리(matching distance) 이내에 위치하는 제1 동적 객체의 이미지 도메인 좌표를 제1 월드 도메인 좌표로 변환하는 단계;
    거리 센서를 이용하여 주변 객체들을 추적함으로써, 상기 주변 객체들의 제2 월드 도메인 좌표들을 획득하는 단계;
    상기 제1 월드 도메인 좌표와 상기 제2 월드 도메인 좌표들을 비교함으로써, 상기 주변 객체들 중 어느 하나와 상기 제1 동적 객체를 매칭하는 단계; 및
    상기 제1 동적 객체의 이미지 도메인 좌표 및 상기 매칭된 주변 객체의 제2 월드 도메인 좌표를 포함하는 학습 데이터를 생성하는 단계를 포함하고,
    상기 제1 월드 도메인 좌표를 결정하는 단계는,
    스케일링 계수의 기울기 값이 주행 영상에서 소실선 정보의 소실점을 향해 증가하고, 상기 소실점으로부터 거리가 증가함에 따라 감소하는 로그 함수에 기반하여 상기 동적 객체들의 이미지 도메인 좌표에 대하여 스케일링 정규화를 수행하는 단계를 더 포함하는, 학습 데이터 생성 방법.
  10. 제9항에 있어서,
    상기 제1 월드 도메인 좌표로 변환하는 단계는
    상기 제1 동적 객체의 초기(initial) 이미지 도메인 좌표를 호모그래피(homography) 연산을 통해 상기 제1 월드 도메인 좌표로 변환하는 단계
    를 포함하는, 학습 데이터 생성 방법.
  11. 제9항에 있어서,
    상기 제1 동적 객체에 제1 식별자를 부여하는 단계; 및
    상기 주변 객체들에 제2 식별자들을 부여하는 단계
    를 더 포함하고,
    상기 주변 객체들 중 어느 하나와 상기 제1 동적 객체를 매칭하는 단계는
    상기 주변 객체들 중 어느 하나에 부여된 제2 식별자와 상기 제1 동적 객체에 부여된 제1 식별자를 매칭하는 단계
    를 포함하는, 학습 데이터 생성 방법.
  12. 제9항에 있어서,
    상기 동적 객체들은
    주변 차량, 보행자, 동물 중 적어도 하나를 포함하는, 학습 데이터 생성 방법.
  13. 제9항에 있어서,
    시간의 흐름에 따라 상기 동적 객체들의 이미지 도메인 좌표들을 추적하는 단계; 및
    상기 추적된 동적 객체들의 이미지 도메인 좌표들을 필터링함으로써, 상기 동적 객체들의 이미지 도메인 좌표들의 유형을 플로팅 포인트로 변환하는 단계
    를 더 포함하는, 학습 데이터 생성 방법.
  14. 삭제
  15. 시간의 흐름에 따른 복수의 프레임들을 포함하는 주행 영상으로부터 정적 객체를 추적함으로써, 상기 정적 객체의 이미지 도메인 좌표들을 저장하는 단계;
    GPS 정보에 기초하여 상기 이미지 도메인 좌표들 중 현재 프레임의 이미지 도메인 좌표를 제1 글로벌 월드 도메인 좌표로 변환하는 단계;
    거리 센서의 출력 및 상기 GPS 정보에 기초하여, 주변 객체들의 제2 글로벌 월드 도메인 좌표들을 획득하는 단계;
    상기 제1 글로벌 월드 도메인 좌표 및 상기 제2 글로벌 월드 도메인 좌표들을 비교함으로써, 상기 주변 객체들 중 어느 하나와 상기 정적 객체를 매칭하는 단계; 및
    학습 데이터들-상기 학습 데이터들 각각은 상기 저장된 이미지 도메인 좌표들 중 어느 하나와 상기 매칭된 주변 객체의 제2 글로벌 월드 도메인 좌표를 포함함-을 생성하는 단계를 포함하고,
    상기 제1 글로벌 월드 도메인 좌표를 결정하는 단계는,
    스케일링 계수의 기울기 값이 주행 영상에서 소실선 정보의 소실점을 향해 증가하고, 상기 소실점으로부터 거리가 증가함에 따라 감소하는 로그 함수에 기반하여 상기 영상 내 정적 객체의 이미지 도메인 좌표에 대하여 스케일링 정규화를 수행하는 단계를 더 포함하는, 학습 데이터 생성 방법.
  16. 제15항에 있어서,
    상기 정적 객체에 제1 식별자를 부여하는 단계; 및
    상기 주변 객체들에 제2 식별자들을 부여하는 단계
    를 더 포함하고,
    상기 주변 객체들 중 어느 하나와 상기 정적 객체를 매칭하는 단계는
    상기 주변 객체들 중 어느 하나에 부여된 제2 식별자와 상기 정적 객체에 부여된 제1 식별자를 매칭하는 단계
    를 포함하는, 학습 데이터 생성 방법.
  17. 제15항에 있어서,
    상기 정적 객체는
    상기 주행 영상에 포함된 건물, 표지판, 신호등, 횡단 보도, 정지선, 주행선 중 적어도 하나를 포함하는, 학습 데이터 생성 방법.
  18. 제15항에 있어서,
    시간의 흐름에 따라 상기 정적 객체의 이미지 도메인 좌표들을 추적하는 단계; 및
    상기 추적된 정적 객체의 이미지 도메인 좌표들을 필터링함으로써, 상기 정적 객체의 이미지 도메인 좌표의 유형을 플로팅 포인트로 변환하는 단계
    를 더 포함하는, 학습 데이터 생성 방법.
  19. 삭제
  20. 제15항에 있어서,
    상기 거리 센서의 출력 및 상기 GPS 정보를 누적적으로 저장하는 단계
    를 더 포함하는, 학습 데이터 생성 방법.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
KR1020180109024A 2018-09-12 2018-09-12 영상 처리를 위한 학습 데이터 생성 방법, 영상 처리 방법, 및 그 장치들 Active KR102815456B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180109024A KR102815456B1 (ko) 2018-09-12 2018-09-12 영상 처리를 위한 학습 데이터 생성 방법, 영상 처리 방법, 및 그 장치들
US16/514,661 US11670087B2 (en) 2018-09-12 2019-07-17 Training data generating method for image processing, image processing method, and devices thereof
EP19196552.4A EP3624002A3 (en) 2018-09-12 2019-09-10 Training data generating method for image processing, image processing method, and devices thereof
CN201910861730.3A CN110895826B (zh) 2018-09-12 2019-09-12 图像处理的训练数据生成方法、图像处理方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180109024A KR102815456B1 (ko) 2018-09-12 2018-09-12 영상 처리를 위한 학습 데이터 생성 방법, 영상 처리 방법, 및 그 장치들

Publications (2)

Publication Number Publication Date
KR20200030305A KR20200030305A (ko) 2020-03-20
KR102815456B1 true KR102815456B1 (ko) 2025-05-30

Family

ID=67956468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180109024A Active KR102815456B1 (ko) 2018-09-12 2018-09-12 영상 처리를 위한 학습 데이터 생성 방법, 영상 처리 방법, 및 그 장치들

Country Status (4)

Country Link
US (1) US11670087B2 (ko)
EP (1) EP3624002A3 (ko)
KR (1) KR102815456B1 (ko)
CN (1) CN110895826B (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3640767B1 (de) * 2018-10-17 2024-09-11 Siemens Schweiz AG Verfahren zum bestimmen mindestens eines bereichs in mindestens einem eingabemodell für mindestens ein zu platzierendes element
KR102633140B1 (ko) * 2018-10-23 2024-02-05 삼성전자주식회사 주행 정보를 결정하는 방법 및 장치
US11003920B2 (en) * 2018-11-13 2021-05-11 GM Global Technology Operations LLC Detection and planar representation of three dimensional lanes in a road scene
US11094083B2 (en) * 2019-01-25 2021-08-17 Adobe Inc. Utilizing a critical edge detection neural network and a geometric model to determine camera parameters from a single digital image
US11227167B2 (en) 2019-06-28 2022-01-18 Baidu Usa Llc Determining vanishing points based on lane lines
US11120566B2 (en) * 2019-06-28 2021-09-14 Baidu Usa Llc Determining vanishing points based on feature maps
WO2021233357A1 (en) * 2020-05-20 2021-11-25 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Object detection method, system and computer-readable medium
KR20220036199A (ko) * 2020-09-15 2022-03-22 현대자동차주식회사 증강현실 기반의 정보 표시 장치
KR20220037025A (ko) * 2020-09-16 2022-03-24 현대자동차주식회사 차량의 위치 판단 장치 및 방법
CN112325780B (zh) * 2020-10-29 2022-01-25 青岛聚好联科技有限公司 一种基于社区监控的距离测算方法及装置
CN112416000B (zh) * 2020-11-02 2023-09-15 北京信息科技大学 无人驾驶方程式赛车环境感知和导航方法及转向控制方法
US20230136492A1 (en) * 2021-09-10 2023-05-04 Samsung Electronics Co., Ltd. Method and apparatus for estimating position of moving object
DE102021133089A1 (de) * 2021-12-14 2023-06-15 Cariad Se Vorrichtung zur Ermittlung einer Topographie einer Fahrzeugumgebung, Fahrzeug und Verfahren
CN114494054A (zh) * 2022-01-17 2022-05-13 重庆长安汽车股份有限公司 一种夜间车辆检测方法及存储介质
CN114872735B (zh) * 2022-07-10 2022-10-04 成都工业职业技术学院 基于神经网络算法的自动驾驶物流车辆决策方法和装置
CN116182907B (zh) * 2023-03-31 2025-08-19 环鸿电子(昆山)有限公司 惯性测量单元评估方法及其系统
KR20250092759A (ko) * 2023-12-15 2025-06-24 포스코홀딩스 주식회사 단안카메라를 이용한 객체 감지 장치 및 방법
CN118968454B (zh) * 2024-10-15 2025-02-28 清智汽车科技(苏州)有限公司 一种消失线检测方法、装置及计算机设备
CN120735801B (zh) * 2025-09-02 2025-10-31 浪潮电子信息产业股份有限公司 基于世界模型的决策模型优化方法、设备、介质及产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100183192A1 (en) 2009-01-16 2010-07-22 Honda Research Institute Europe Gmbh System and method for object motion detection based on multiple 3d warping and vehicle equipped with such system
US20100321489A1 (en) * 2009-06-23 2010-12-23 Xin Chen Determining Geographic Position Information from a Single Image
US20160019429A1 (en) 2014-07-17 2016-01-21 Tomoko Ishigaki Image processing apparatus, solid object detection method, solid object detection program, and moving object control system

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07222202A (ja) 1994-02-02 1995-08-18 Rohm Co Ltd 立体ビジョンカメラ
KR100257335B1 (ko) 1995-01-28 2000-05-15 이해규 스테레오 시각시스템 및 그의 거리감지방법
AU2490300A (en) * 1999-01-05 2000-07-24 Curagen Corporation Normalization, scaling, and difference finding among data sets
JP4573977B2 (ja) * 1999-09-22 2010-11-04 富士重工業株式会社 監視システムの距離補正装置、および監視システムの消失点補正装置
JP2002008060A (ja) 2000-06-23 2002-01-11 Hitachi Ltd データ処理方法、記録媒体及びデータ処理装置
US8855405B2 (en) * 2003-04-30 2014-10-07 Deere & Company System and method for detecting and analyzing features in an agricultural field for vehicle guidance
ITRM20030345A1 (it) * 2003-07-15 2005-01-16 St Microelectronics Srl Metodo per ricavare una mappa di profondita'
KR100519779B1 (ko) 2004-02-10 2005-10-07 삼성전자주식회사 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및장치
US20060233461A1 (en) * 2005-04-19 2006-10-19 Honeywell International Inc. Systems and methods for transforming 2d image domain data into a 3d dense range map
KR101503904B1 (ko) 2008-07-07 2015-03-19 삼성전자 주식회사 이동 로봇의 지도 구성 장치 및 방법
KR101154018B1 (ko) 2009-09-14 2012-06-08 홍상욱 차량의 미러 각도 자동 조정 시스템 및 방법
KR101544021B1 (ko) 2012-10-29 2015-08-13 경북대학교 산학협력단 3차원 지도 생성 장치 및 3차원 지도 생성 방법
US9070202B2 (en) 2013-03-14 2015-06-30 Nec Laboratories America, Inc. Moving object localization in 3D using a single camera
US9558584B1 (en) 2013-07-29 2017-01-31 Google Inc. 3D position estimation of objects from a monocular camera using a set of known 3D points on an underlying surface
KR102132242B1 (ko) 2013-11-04 2020-07-10 현대모비스 주식회사 스테레오 카메라 보정 시스템
JP6550881B2 (ja) * 2014-07-14 2019-07-31 株式会社リコー 立体物検出装置、立体物検出方法、立体物検出プログラム、及び移動体機器制御システム
JP6203166B2 (ja) 2014-12-15 2017-09-27 ソフトバンク株式会社 画像再生システム、画像再生方法、画像データ送信サーバ、画像データ送信方法、及び、画像データ送信プログラム
KR101689252B1 (ko) * 2015-05-21 2016-12-23 국민대학교산학협력단 광카메라통신(occ)을 이용한 차량 위치 측정방법
US10852744B2 (en) 2016-07-01 2020-12-01 Uatc, Llc Detecting deviations in driving behavior for autonomous vehicles
WO2018052714A2 (en) 2016-09-19 2018-03-22 Nec Laboratories America, Inc. Video to radar
KR101839455B1 (ko) 2016-11-02 2018-03-16 아주대학교산학협력단 스테레오 영상 처리 장치 및 방법
KR102766548B1 (ko) * 2016-11-07 2025-02-12 삼성전자주식회사 3차원의 도로 모델을 생성하는 방법 및 장치
US10482340B2 (en) 2016-12-06 2019-11-19 Samsung Electronics Co., Ltd. System and method for object recognition and ranging by deformation of projected shapes in a multimodal vision and sensing system for autonomous devices
US10509413B2 (en) 2017-09-07 2019-12-17 GM Global Technology Operations LLC Ground reference determination for autonomous vehicle operations
US10592780B2 (en) * 2018-03-30 2020-03-17 White Raven Ltd. Neural network training system
US11966838B2 (en) * 2018-06-19 2024-04-23 Nvidia Corporation Behavior-guided path planning in autonomous machine applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100183192A1 (en) 2009-01-16 2010-07-22 Honda Research Institute Europe Gmbh System and method for object motion detection based on multiple 3d warping and vehicle equipped with such system
US20100321489A1 (en) * 2009-06-23 2010-12-23 Xin Chen Determining Geographic Position Information from a Single Image
US20160019429A1 (en) 2014-07-17 2016-01-21 Tomoko Ishigaki Image processing apparatus, solid object detection method, solid object detection program, and moving object control system

Also Published As

Publication number Publication date
EP3624002A2 (en) 2020-03-18
CN110895826B (zh) 2025-02-28
CN110895826A (zh) 2020-03-20
KR20200030305A (ko) 2020-03-20
US11670087B2 (en) 2023-06-06
US20200082182A1 (en) 2020-03-12
EP3624002A3 (en) 2020-06-10

Similar Documents

Publication Publication Date Title
KR102815456B1 (ko) 영상 처리를 위한 학습 데이터 생성 방법, 영상 처리 방법, 및 그 장치들
CN111091037B (zh) 用于确定驾驶信息的方法和设备
CN116026345B (zh) 用于车辆导航的系统和方法
CN111238494B (zh) 载具、载具定位系统及载具定位方法
KR102541559B1 (ko) 관심 객체를 검출하는 방법 및 장치
KR102595897B1 (ko) 차선 결정 방법 및 장치
KR102541561B1 (ko) 차량의 주행을 위한 정보를 제공하는 방법 및 그 장치들
US11200433B2 (en) Detection and classification systems and methods for autonomous vehicle navigation
EP3361278B1 (en) Autonomous vehicle localization based on walsh kernel projection technique
US9619719B2 (en) Systems and methods for detecting traffic signs
CN105512646B (zh) 一种数据处理方法、装置及终端
CN112740268A (zh) 目标检测方法和装置
US20180260639A1 (en) Systems and methods for detecting traffic signs
KR102218881B1 (ko) 차량 위치 결정 방법 및 시스템
KR102316818B1 (ko) 도로 네트워크를 갱신하는 방법 및 장치
CN116783455A (zh) 用于检测打开的门的系统和方法
WO2020156923A2 (en) Map and method for creating a map
KR20210061069A (ko) 3차원 객체를 표시하는 방법 및 장치
US11461944B2 (en) Region clipping method and recording medium storing region clipping program
KR20190134303A (ko) 영상 인식 장치 및 그 방법
CN111833443B (zh) 自主机器应用中的地标位置重建
TWI754808B (zh) 載具、載具定位系統及載具定位方法
KR20240048748A (ko) 차선 정보를 결정하는 방법 및 장치
CN110727269A (zh) 车辆控制方法及相关产品
KR20250011758A (ko) 카메라 캘리브레이션 방법 및 장치

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20180912

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20210910

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20180912

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20240718

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250228

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250527

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250528

End annual number: 3

Start annual number: 1

PG1601 Publication of registration