KR20220000945A - 자동차의 카메라 피치를 캘리브레이션하는 방법 및 장치, 그리고, 이를 위한 소멸점 추정 모델을 컨티뉴얼 러닝시키는 방법 - Google Patents

자동차의 카메라 피치를 캘리브레이션하는 방법 및 장치, 그리고, 이를 위한 소멸점 추정 모델을 컨티뉴얼 러닝시키는 방법 Download PDF

Info

Publication number
KR20220000945A
KR20220000945A KR1020217042548A KR20217042548A KR20220000945A KR 20220000945 A KR20220000945 A KR 20220000945A KR 1020217042548 A KR1020217042548 A KR 1020217042548A KR 20217042548 A KR20217042548 A KR 20217042548A KR 20220000945 A KR20220000945 A KR 20220000945A
Authority
KR
South Korea
Prior art keywords
pitch
vehicle
lane
target object
vanishing point
Prior art date
Application number
KR1020217042548A
Other languages
English (en)
Other versions
KR102635090B1 (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 주식회사 스트라드비젼
Publication of KR20220000945A publication Critical patent/KR20220000945A/ko
Application granted granted Critical
Publication of KR102635090B1 publication Critical patent/KR102635090B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R11/00Arrangements for holding or mounting articles, not otherwise provided for
    • B60R11/04Mounting of cameras operative during drive; Arrangement of controls thereof relative to the vehicle
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • 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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/30Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of image processing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/40Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the details of the power supply or the coupling to vehicle components
    • B60R2300/402Image calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/80Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the intended use of the viewing arrangement
    • B60R2300/804Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the intended use of the viewing arrangement for lane monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30256Lane; Road marking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mechanical Engineering (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Image Processing (AREA)

Abstract

자동차의 카메라 피치를 캘리브레이션하는 방법에 관한 것으로, 캘리브레이션 장치가, (a) 카메라로부터의 주행 이미지들을 오브젝트 디텍션 네트워크로 입력하여 오브젝트들을 검출하여 오브젝트 검출 정보들을 생성하고, 차선 디텍션 네트워크로 입력하여 차선들을 검출하여 차선 검출 정보들을 생성하며, (b) 오브젝트 검출 정보들을 프로파일링하여 오브젝트 프로파일링 정보들을 생성하고, 차선 검출 정보들을 프로파일링하여 차선 프로파일링 정보들을 생성하며, 오브젝트 프로파일링 정보들을 오브젝트 기반 피치 추정 모듈에 입력하여 제1 타겟 오브젝트와 제2 타겟 오브젝트를 선정하고 제1 피치와 제2 피치를 생성하며, (iii) 소멸점 검출 정보와 차선 프로파일링 정보들을 차선 기반 피치 추정 모듈로 입력하여 제3 피치와 제4 피치를 생성하고, (c) 제1 피치 내지 제4 피치를 피치 결정 모듈로 입력하여 결정 피치를 생성한다.

Description

자동차의 카메라 피치를 캘리브레이션하는 방법 및 장치, 그리고, 이를 위한 소멸점 추정 모델을 컨티뉴얼 러닝시키는 방법
본 출원은 2020년 4월 24일에 미국특허청에 출원된 미국특허출원 제63/014,884호 및 2020년 12월 17일에 미국특허청에 출원된 미국특허출원 제17/125,087를 기초로 출원되었으며 이에 대해 우선권을 주장하고, 이것의 전체 내용이 참조로서 본 명세서에 포함된다.
본 발명은 자동차의 카메라 피치(pitch)를 소멸점(vanishing point), 오브젝트, 및 차선 정보를 이용하여 캘리브레이션 하는 방법 및 장치, 그리고, 이를 위한 소멸점 추정(estimation) 모델을 컨티뉴얼 러닝(continual learning)시키는 방법에 관한 것이다.
오늘날의 자동차는 IT 기술과 결합해 다양한 기능을 제공하고 있으며, 자동차의 주행 안정성 향성 및 사용자의 편의 확보를 위해 다양한 운전자 보조 시스템(Advanced Driver Assist System, ADAS)을 장착하는 형태로 발전하고 있다.
이때, 운전자 보조 시스템(ADAS)는 첨단 감지 장치와 지능형 영상 장치를 이용하여 적응형 전조등, 전방 충돌 회피, 차선이탈방지, 사각지대 감시, 향상된 후방감시 등의 기능을 수행한다.
이러한 운전자 보조 시스템은 퍼셉션(perception) 모델을 기반으로 카메라, 라이다 센서, 레이더 센서 등의 영상 이미지 검출 장치로부터 전송되는 주행 이미지를 분석하여 자동차의 주변 환경 정보를 검출한다.
그리고, 이러한 주행 이미지를 분석함에 있어서 주행 이미지 내의 오브젝트와 자동차 사이의 거리를 측정하여야 하며, 이를 위하여 카메라의 피치를 연산한 다음, 연산된 피치를 이용하여 실제 주행 환경에서 자동차로부터 오브젝트가 위치하는 거리를 연산한다.
한편, 자동차의 운행 중, 도로 노면의 요홈 등에 자동차의 롤링이 발생하게 되며, 그에 따라 자동차에 고정 설치된 카메라의 피치가 변화되므로 이를 정확히 추정하여야 한다.
그리고, 카메라의 피치를 추정하기 위하여 종래에는, 주행 이미지 내의 소멸점을 이용하여 피치를 추정하거나, 에고 모션(ego-motion), 즉, 카메라의 모션을 이용하여 피치를 추정하고 있다.
주행 이미지의 소멸점을 이용하는 방법은 주행 이미지 내의 소멸점을 검출하고, 카메라의 원점으로부터 소멸점과 주행 이미지의 중앙점이 이루는 각도를 연산함으로써 피치를 추정하는 것으로, 피치 추정을 위한 별도의 포인트가 필요하지 않으며 완전히 자동적으로 수행할 수 있는 장점이 있으나, 주행 이미지 내에서 소멸점을 검출하는 것이 주행 환경에 따라 어려울 수 있으며, 그에 따라 피치 추정의 정확성이 떨어지는 단점이 있다.
그리고, 에고 모션을 이용하는 방법은 주행 이미지의 앞뒤 프레임을 이용하여 각각의 프레임에서의 오브젝트의 이동 상태를 연산함으로써 피치를 추정하는 것으로, 소멸점을 이용하는 방법에 비하여 높은 정확성을 나타내나, 주행 이미지의 앞뒤 프레임을 분석하여야 하므로 소멸점을 이용하는 방법에 비하여 더 많은 연산량을 필요로 하며, 그에 따라 더 많은 컴퓨팅 리소스를 필요로 하는 단점이 있으며, 이에 더하여 주행 환경에 따라 발생하는 불안정한 피처들이나 불규칙적인 조도 변경에 의해 모션을 정확히 검출하지 못하는 단점이 있다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
본 발명은 종래에 비하여 정확하게 자동차의 카메라 피치를 추정할 수 있도록 하는 것을 다른 목적으로 한다.
본 발명은 종래에 비하여 적은 연산량으로 자동차의 카메라 피치를 추정할 수 있도록 하는 것을 또 다른 목적으로 한다.
본 발명은 소멸점을 검출하는 소멸점 추정 모델을 컨티뉴얼 러닝할 수 있도록 하는 것을 또 다른 목적으로 한다.
본 발명의 일 실시예에 따르면, 자동차의 카메라 피치를 캘리브레이션하는 방법에 있어서, (a) 자동차의 운행 중 카메라로부터의 주행 이미지가 획득되면, 캘리브레이션 장치가, 상기 주행 이미지를 오브젝트 디텍션 네트워크와 차선 디텍션 네트워크로 각각 입력하여, 상기 오브젝트 디텍션 네트워크로 하여금 상기 주행 이미지 상의 오브젝트들을 검출하여 오브젝트 검출 정보들을 출력하도록 하며, 상기 차선 디텍션 네트워크로 하여금 상기 주행 이미지 상의 차선들을 검출하여 차선 검출 정보들을 출력하도록 하는 단계; (b) 상기 캘리브레이션 장치가, 상기 오브젝트 검출 정보들을 프로파일링하여 오브젝트들 각각에 대응되는 오브젝트 프로파일링 정보들과 상기 차선 검출 정보들을 프로파일링하여 차선들 각각에 대응되는 차선 프로파일링 정보들을 생성하며, 상기 오브젝트 프로파일링 정보들을 오브젝트 기반 피치 추정 모듈에 입력하여 상기 오브젝트 기반 피치 추정 모듈로 하여금 (i) 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제1 타겟 오브젝트를 선정하도록 하며, 상기 제1 타겟 오브젝트의 제1 헤이트를 이용한 제1 피치 추정을 통해 제1 피치를 생성하도록 하고, (ii) 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제2 타겟 오브젝트를 선정하도록 하며, 상기 제2 타겟 오브젝트의 위드(width)를 이용한 제2 피치 추정을 통해 제2 피치를 생성하도록 하는 프로세스와, 상기 주행 이미지를 분석하여 소멸점을 검출하는 소멸점 추정 네트워크의 소멸점 검출 정보와 상기 차선 프로파일링 정보들을 차선 기반 피치 추정 모듈로 입력하여 상기 차선 기반 피치 추정 모듈로 하여금, (i) 상기 차선 프로파일링 정보들을 이용한 제3 피치 추정을 통해 제3 피치를 생성하도록 하고, (ii) 상기 소멸점 검출 정보를 이용한 제4 피치 추정을 통해 제4 피치를 생성하도록 하는 프로세스를 수행하는 단계; 및 (c) 상기 캘리브레이션 장치가, 상기 제1 피치 내지 상기 제4 피치를 피치 결정 모듈로 입력하여 상기 피치 결정 모듈로 하여금 상기 제1 피치 내지 상기 제4 피치를 앙상블하여 상기 주행 이미지에 대응되는 결정 피치를 출력하도록 하는 단계; 를 포함하는 방법이 제공된다.
일 실시예에 따르면, 상기 (c) 단계에서, 상기 캘리브레이션 장치는, 상기 피치 결정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제3 타겟 오브젝트를 선정하고, 상기 제3 피치를 이용하여 상기 제3 타겟 오브젝트의 제2 헤이트를 연산한 다음 상기 제2 헤이트가 헤이트 스레시홀드 이내인지 여부를 확인하여 상기 제3 피치를 검증하며, (i) 상기 제3 피치가 유효한 경우에는 상기 제3 피치를 상기 결정 피치로 출력하도록 하고, (ii) 상기 제3 피치가 유효하지 아니한 경우에는, 상기 제1 피치에 대응되는 제1 타겟 오브젝트와 상기 제2 피치에 대응되는 제2 타겟 오브젝트를 비교하여, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트가 동일하면 상기 제1 피치 및 상기 제2 피치 중 어느 하나를 상기 결정 피치로 출력하도록 하며, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트가 동일하지 않으면, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트 중 상기 자동차와의 레터럴 디스턴스가 작은 특정 타겟 오브젝트에 대응되는 특정 피치를 상기 결정 피치로 출력하도록 하고, (iii) 상기 주행 이미지로부터 검출된 오브젝트와 차선이 없는 경우에는 상기 제4 피치를 상기 결정 피치로 출력하도록 하는 방법이 제공된다.
일 실시예에 따르면, 상기 캘리브레이션 장치는, 상기 피치 결정 모듈로 하여금, 상기 자동차와의 레터럴 디스턴스가 제1 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않는 제1 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제1 특정 오브젝트를 상기 제3 타겟 오브젝트로 선정하는 방법이 제공된다.
일 실시예에 따르면, 상기 (c) 단계에서, 상기 캘리브레이션 장치는, 상기 피치 결정 모듈로 하여금 상기 결정 피치를 이전 프레임에서의 이전 피치값과 스무딩(smoothing)을 적용하여 상기 결정 피치에 대한 피치 스무딩을 수행하도록 하며, 피치 변화 스레시홀드를 사용하여 프레임 사이의 최대 피치 변화를 제한하는 토어랜스(tolerance) 핸들링을 수행하도록 하는 방법이 제공된다.
일 실시예에 따르면, (d) 상기 캘리브레이션 장치는, 상기 결정 피치와 상기 제4 피치를 참조하여 피치 로스를 획득하고, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 온-비히클 컨티뉴얼 러닝하는 단계; 를 더 포함하는 방법이 제공된다.
일 실시예에 따르면, 상기 캘리브레이션 장치는, (i) 상기 자동차의 운행 중, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 인스턴스-와이즈 인크리멘탈 러닝(instance-wise incremental learning)하여 빠른 적응이 되도록 하며, (ii) 상기 자동차의 주행 완료 이후, 주행 중 샘플링된 데이터를 이용하여 상기 소멸점 추정 네트워크를 균형된(balanced) 컨티뉴얼 러닝하여 상기 빠른 적응에 의해 발생했을 수도 있는 카타스트로픽 포겟팅(catastrophic forgetting) 현상을 회복하도록 하는 방법이 제공된다.
일 실시예에 따르면, 상기 캘리브레이션 장치는, (i) 상기 자동차의 운행 중, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 인스턴스-와이즈 인크리멘탈 러닝하여 빠른 적응이 되도록 하며, (ii) 상기 인스턴스-와이즈 인크리멘탈 러닝에 사용된 샘플링된 데이터를 러닝 서버로 전송하여 상기 러닝 서버로 하여금 상기 샘플링된 데이터를 이용하여 상기 소멸점 추정 네트워크에 대응되는 레퍼런스(reference) 소멸점 추정 네트워크를 서버-사이드 컨티뉴얼 러닝하도록 하고, 상기 서버-사이드 컨티뉴얼 러닝에 의해 업데이트된 파라미터들을 상기 캘리브레이션 장치로 전송하도록 하고, (iii) 상기 자동차의 주행 완료 이후, 상기 러닝 서버로부터 수신된 상기 파라미터들을 이용하여 상기 소멸점 추정 네트워크를 업데이트하는 방법이 제공된다.
일 실시예에 따르면, (e) 상기 캘리브레이션 장치는, (i) 상기 온-디바이스 러닝된 학습된 소멸점 추정 네트워크 모델을 러닝 서버로 전송하여 상기 러닝 서버로 하여금 적어도 하나의 다른 자동차로부터 전송된 적어도 하나의 다른 학습된 소멸점 추정 네트워크 모델과 상기 학습된 소멸점 추정 네트워크 모델을 평가하도록 하여 베스트 소멸점 추정 네트워크 모델을 선정하도록 하며, 상기 베스트 소멸점 추정 네트워크 모델을 상기 캘리브레이션 장치로 전송하도록 하고, (ii) 상기 러닝 서버로부터 전송된 상기 베스트 소멸점 추정 네트워크 모델을 이용하여 상기 소멸점 추정 네트워크를 업데이트하는 단계; 를 더 포함하는 방법이 제공된다.
일 실시예에 따르면, 상기 (b) 단계에서, 상기 캘리브레이션 장치는, 상기 오브젝트 기반 피치 추정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 자동차와의 레터럴 디스턴스 가 제2 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않는 제2 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제2 특정 오브젝트를 상기 제1 타겟 오브젝트로 선정하고, 상기 제1 타겟 오브젝트의 검출 히스토리를 참조하여 상기 제1 타겟 오브젝트의 평균 헤이트를 획득하며, 상기 평균 헤이트가 최소 헤이트 스레시홀드 이상이며 최대 헤이트 스레시홀드 이하일 경우에는 상기 평균 헤이트를 상기 제1 헤이트로 결정하도록 하고, 상기 평균 헤이트가 상기 최소 헤이트 스레시홀드 미만이거나 상기 최대 헤이트 스레시홀드 초과일 경우에는 상기 최소 헤이트 스레시홀드와 상기 최대 헤이트 스레시홀드의 평균값을 상기 제1 헤이트로 결정하도록 하는 방법이 제공된다.
일 실시예에 따르면, 상기 (b) 단계에서, 상기 캘리브레이션 장치는, 상기 오브젝트 기반 피치 추정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 자동차와의 레터럴 디스턴스 가 제3 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않으며, 2D 바운딩 박스와 3D 바운딩 박스의 차이가 박스 차이 스레시홀드 이하이며, 바운딩 박스의 종횡비가 종횡비 스레시홀드 이상인 제3 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제3 특정 오브젝트를 상기 제2 타겟 오브젝트로 선정하는 방법이 제공된다.
일 실시예에 따르면, 상기 (b) 단계에서, 상기 캘리브레이션 장치는, 상기 차선 기반 추정 모듈로 하여금, 상기 차선 프로파일링 정보들을 참조하여 직선이며, 길이 스레시홀드 이상이며, 상기 자동차의 좌표계 상에서 서로 평행인 제1 차선과 제2 차선을 선택하고, 상기 제1 차선과 상기 제2 차선을 이용하여 타겟 소멸점을 검출하도록 하며, 상기 타겟 소멸점을 이용하여 상기 제3 피치 추정하도록 하는 방법이 제공된다.
본 발명의 다른 일 실시예에 따르면, 자동차의 카메라 피치를 캘리브레이션하는 캘리브레이션 장치에 있어서, 자동차의 카메라 피치를 캘리브레이션하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 자동차의 카메라 피치를 캘리브레이션하기 위한 동작을 수행하는 프로세서; 를 포함하며, 상기 프로세서는, (I) 자동차의 운행 중 카메라로부터의 주행 이미지가 획득되면, 상기 주행 이미지를 오브젝트 디텍션 네트워크와 차선 디텍션 네트워크로 각각 입력하여, 상기 오브젝트 디텍션 네트워크로 하여금 상기 주행 이미지 상의 오브젝트들을 검출하여 오브젝트 검출 정보들을 출력하도록 하며, 상기 차선 디텍션 네트워크로 하여금 상기 주행 이미지 상의 차선들을 검출하여 차선 검출 정보들을 출력하도록 하는 프로세스, (II) 상기 오브젝트 검출 정보들을 프로파일링하여 오브젝트들 각각에 대응되는 오브젝트 프로파일링 정보들과 상기 차선 검출 정보들을 프로파일링하여 차선들 각각에 대응되는 차선 프로파일링 정보들을 생성하며, 상기 오브젝트 프로파일링 정보들을 오브젝트 기반 피치 추정 모듈에 입력하여 상기 오브젝트 기반 피치 추정 모듈로 하여금 (i) 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제1 타겟 오브젝트를 선정하도록 하며, 상기 제1 타겟 오브젝트의 제1 헤이트를 이용한 제1 피치 추정을 통해 제1 피치를 생성하도록 하고, (ii) 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제2 타겟 오브젝트를 선정하도록 하며, 상기 제2 타겟 오브젝트의 위드(width)를 이용한 제2 피치 추정을 통해 제2 피치를 생성하도록 하는 프로세스와, 상기 주행 이미지를 분석하여 소멸점을 검출하는 소멸점 추정 네트워크의 소멸점 검출 정보와 상기 차선 프로파일링 정보들을 차선 기반 피치 추정 모듈로 입력하여 상기 차선 기반 피치 추정 모듈로 하여금, (i) 상기 차선 프로파일링 정보들을 이용한 제3 피치 추정을 통해 제3 피치를 생성하도록 하고, (ii) 상기 소멸점 검출 정보를 이용한 제4 피치 추정을 통해 제4 피치를 생성하도록 하는 프로세스를 수행하는 프로세스, 및 (III) 상기 제1 피치 내지 상기 제4 피치를 피치 결정 모듈로 입력하여 상기 피치 결정 모듈로 하여금 상기 제1 피치 내지 상기 제4 피치를 앙상블하여 상기 주행 이미지에 대응되는 결정 피치를 출력하도록 하는 프로세스를 수행하는 캘리브레이션 장치가 제공된다.
일 실시예에 따르면, 상기 프로세서는, 상기 (III) 프로세스에서, 상기 피치 결정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제3 타겟 오브젝트를 선정하고, 상기 제3 피치를 이용하여 상기 제3 타겟 오브젝트의 제2 헤이트를 연산한 다음 상기 제2 헤이트가 헤이트 스레시홀드 이내인지 여부를 확인하여 상기 제3 피치를 검증하며, (i) 상기 제3 피치가 유효한 경우에는 상기 제3 피치를 상기 결정 피치로 출력하도록 하고, (ii) 상기 제3 피치가 유효하지 아니한 경우에는, 상기 제1 피치에 대응되는 제1 타겟 오브젝트와 상기 제2 피치에 대응되는 제2 타겟 오브젝트를 비교하여, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트가 동일하면 상기 제1 피치 및 상기 제2 피치 중 어느 하나를 상기 결정 피치로 출력하도록 하며, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트가 동일하지 않으면, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트 중 상기 자동차와의 레터럴 디스턴스가 작은 특정 타겟 오브젝트에 대응되는 특정 피치를 상기 결정 피치로 출력하도록 하고, (iii) 상기 주행 이미지로부터 검출된 오브젝트와 차선이 없는 경우에는 상기 제4 피치를 상기 결정 피치로 출력하도록 하는 캘리브레이션 장치가 제공된다.
일 실시예에 따르면, 상기 프로세서는, 상기 피치 결정 모듈로 하여금, 상기 자동차와의 레터럴 디스턴스가 제1 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않는 제1 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제1 특정 오브젝트를 상기 제3 타겟 오브젝트로 선정하는 캘리브레이션 장치가 제공된다.
일 실시예에 따르면, 상기 프로세서는, 상기 (III) 프로세스에서, 상기 피치 결정 모듈로 하여금 상기 결정 피치를 이전 프레임에서의 이전 피치값과 스무딩(smoothing)을 적용하여 상기 결정 피치에 대한 피치 스무딩을 수행하도록 하며, 피치 변화 스레시홀드를 사용하여 프레임 사이의 최대 피치 변화를 제한하는 토어랜스(tolerance) 핸들링을 수행하도록 하는 캘리브레이션 장치가 제공된다.
일 실시예에 따르면, 상기 프로세서는, (IV) 상기 결정 피치와 상기 제4 피치를 참조하여 피치 로스를 획득하고, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 온-비히클 컨티뉴얼 러닝하는 프로세스를 더 수행하는 캘리브레이션 장치가 제공된다.
일 실시예에 따르면, 상기 프로세서는, (i) 상기 자동차의 운행 중, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 인스턴스-와이즈 인크리멘탈 러닝(instance-wise incremental learning)하여 빠른 적응이 되도록 하며, (ii) 상기 자동차의 주행 완료 이후, 주행 중 샘플링된 데이터를 이용하여 상기 소멸점 추정 네트워크를 균형된(balanced) 컨티뉴얼 러닝하여 상기 빠른 적응에 의해 발생했을 수도 있는 카타스트로픽 포겟팅(catastrophic forgetting) 현상을 회복하도록 하는 캘리브레이션 장치가 제공된다.
일 실시예에 따르면, 상기 프로세서는, (i) 상기 자동차의 운행 중, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 인스턴스-와이즈 인크리멘탈 러닝하여 빠른 적응이 되도록 하며, (ii) 상기 인스턴스-와이즈 인크리멘탈 러닝에 사용된 샘플링된 데이터를 러닝 서버로 전송하여 상기 러닝 서버로 하여금 상기 샘플링된 데이터를 이용하여 상기 소멸점 추정 네트워크에 대응되는 레퍼런스(reference) 소멸점 추정 네트워크를 서버-사이드 컨티뉴얼 러닝하도록 하고, 상기 서버-사이드 컨티뉴얼 러닝에 의해 업데이트된 파라미터들을 상기 캘리브레이션 장치로 전송하도록 하고, (iii) 상기 자동차의 주행 완료 이후, 상기 러닝 서버로부터 수신된 상기 파라미터들을 이용하여 상기 소멸점 추정 네트워크를 업데이트하는 캘리브레이션 장치가 제공된다.
일 실시예에 따르면, 상기 프로세서는, (V) (i) 상기 온-디바이스 러닝된 학습된 소멸점 추정 네트워크 모델을 러닝 서버로 전송하여 상기 러닝 서버로 하여금 적어도 하나의 다른 자동차로부터 전송된 적어도 하나의 다른 학습된 소멸점 추정 네트워크 모델과 상기 학습된 소멸점 추정 네트워크 모델을 평가하도록 하여 베스트 소멸점 추정 네트워크 모델을 선정하도록 하며, 상기 베스트 소멸점 추정 네트워크 모델을 상기 캘리브레이션 장치로 전송하도록 하고, (ii) 상기 러닝 서버로부터 전송된 상기 베스트 소멸점 추정 네트워크 모델을 이용하여 상기 소멸점 추정 네트워크를 업데이트하는 프로세스를 더 수행하는 캘리브레이션 장치가 제공된다.
일 실시예에 따르면, 상기 프로세서는, 상기 (II) 프로세스에서, 상기 오브젝트 기반 피치 추정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 자동차와의 레터럴 디스턴스 가 제2 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않는 제2 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제2 특정 오브젝트를 상기 제1 타겟 오브젝트로 선정하고, 상기 제1 타겟 오브젝트의 검출 히스토리를 참조하여 상기 제1 타겟 오브젝트의 평균 헤이트를 획득하며, 상기 평균 헤이트가 최소 헤이트 스레시홀드 이상이며 최대 헤이트 스레시홀드 이하일 경우에는 상기 평균 헤이트를 상기 제1 헤이트로 결정하도록 하고, 상기 평균 헤이트가 상기 최소 헤이트 스레시홀드 미만이거나 상기 최대 헤이트 스레시홀드 초과일 경우에는 상기 최소 헤이트 스레시홀드와 상기 최대 헤이트 스레시홀드의 평균값을 상기 제1 헤이트로 결정하도록 하는 캘리브레이션 장치가 제공된다.
일 실시예에 따르면, 상기 프로세서는, 상기 (II) 프로세스에서, 상기 오브젝트 기반 피치 추정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 자동차와의 레터럴 디스턴스 가 제3 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않으며, 2D 바운딩 박스와 3D 바운딩 박스의 차이가 박스 차이 스레시홀드 이하이며, 바운딩 박스의 종횡비가 종횡비 스레시홀드 이상인 제3 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제3 특정 오브젝트를 상기 제2 타겟 오브젝트로 선정하는 캘리브레이션 장치가 제공된다.
일 실시예에 따르면, 상기 프로세서는, 상기 (II) 프로세스에서, 상기 차선 기반 추정 모듈로 하여금, 상기 차선 프로파일링 정보들을 참조하여 직선이며, 길이 스레시홀드 이상이며, 상기 자동차의 좌표계 상에서 서로 평행인 제1 차선과 제2 차선을 선택하고, 상기 제1 차선과 상기 제2 차선을 이용하여 타겟 소멸점을 검출하도록 하며, 상기 타겟 소멸점을 이용하여 상기 제3 피치 추정하도록 하는 캘리브레이션 장치가 제공된다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명은 자동차의 주행 보조 장치를 구성하는 퍼셉션 모듈의 출력을 이용함으로써 종래에 비하여 정확하게 자동차의 카메라 피치를 추정할 수 있게 된다.
본 발명은 자동차의 주행 보조 장치를 구성하는 퍼셉션 모듈의 출력을 이용함으로써 종래에 비하여 적은 연산량으로 자동차의 카메라 피치를 추정할 수 있게 된다.
본 발명은 소멸점을 검출하는 소멸점 추정 모델을 컨티뉴얼 러닝함으로써 소멸점을 정확하게 검출할 수 있게 되며, 그에 따라 자동차의 카메라 피치를 보다 정확하게 추정할 수 있게 된다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 자동차의 카메라 피치를 캘리브레이션하는 캘리브레이션 장치를 개략적으로 도시한 것이며,
도 2는 본 발명의 일 실시예에 따른 자동차의 카메라 피치를 캘리브레이션하는 방법을 개략적으로 도시한 것이며,
도 3a와 도 3b는 본 발명의 일 실시예에 따른 자동차의 카메라 피치를 캘리브레이션하는 방법에서 오브젝트 헤이트를 이용하여 피치를 추정하는 상태를 개략적으로 도시한 것이고,
도 4a와 도 4b는 본 발명의 일 실시예에 따른 자동차의 카메라 피치를 캘리브레이션하는 방법에서 오브젝트 위드를 이용하여 피치를 추정하는 상태를 개략적으로 도시한 것이며,
도 5는 본 발명의 일 실시예에 따른 자동차의 카메라 피치를 캘리브레이션하는 방법에서 주행 이미지 상에서 에고 차선을 선택하는 과정을 개략적으로 도시한 것이며,
도 6은 본 발명의 일 실시예에 따른 자동차의 카메라 피치를 캘리브레이션하는 방법에서 소멸점 추정 네트워크를 개략적으로 도시한 것이며,
도 7은 본 발명의 일 실시예에 따른 자동차의 카메라 피치를 캘리브레이션하는 방법에서 연산된 피치들 중 주행 이미지의 피치를 결정하는 과정을 개략적으로 도시한 것이며,
도 8 내지 도 10은 본 발명의 일 실시예에 따른 자동차의 카메라 피치를 캘리브레이션하는 방법에서 소멸점 추정 네트워크를 컨티뉴얼 러닝하는 상태를 각각 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 자동차의 카메라 피치를 캘리브레이션하는 캘리브레이션 장치를 개략적으로 도시한 것으로, 도 1을 참조하면, 캘리브레이션 장치(1000)는 자동차의 카메라로부터 획득된 주행 이미지에 대한 오브젝트 디텍션 정보와 차선 디텍션 정보를 이용하여 카메라 피치를 추정하기 위한 인스트럭션들이 저장된 메모리(1001)와 메모리(1001)에 저장된 인스트럭션들에 따라 자동차의 카메라 피치를 추정하기 위한 동작을 수행하는 프로세서(1002)를 포함할 수 있다.
구체적으로, 캘리브레이션 장치(1000)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다.
이와 같이 구성된 본 발명의 일 실시예에 따른 캘리브레이션 장치(1000)를 이용하여 자동차의 카메라 피치를 캘리브레이션 하는 방법에 대하여 도 2를 참조하여 설명하면 다음과 같다.
먼저, 자동차, 일 예로, 자율주행 자동차에 설치된 카메라로부터의 주행 이미지가 획득되면, 캘리브레이션 장치(1000)는 주행 이미지를 오브젝트 디텍션 네트워크(1100)와 차선 디텍션 네트워크(1200)로 각각 입력하여, 오브젝트 디텍션 네트워크(1100)로 하여금 주행 이미지 상의 오브젝트들을 검출하여 오브젝트 검출 정보들을 출력하도록 하며, 차선 디텍션 네트워크(1200)로 하여금 주행 이미지 상의 차선들을 검출하여 차선 검출 정보들을 출력하도록 할 수 있다.
이때, 오브젝트 디텍션 네트워크(1100)는 딥 러닝(deep learning)을 사용하는 CNN(convolutional neural network) 기반의 오브젝트 디텍션 네트워크뿐만 아니라 비쥬얼 피처 및 샬로우(shallow) 러닝 기반의 클래시파이어로 구현될 수 있으나, 이에 한정되지 않으며, 주행 이미지로부터 오브젝트들을 검출할 수 있는 다양한 알고리즘이 이용될 수 있다. 그리고, 오브젝트 디텍션 네트워크(1100)의 출력은 2D 바운딩 박스들 또는 3D 바운딩 박스들과 같은 오브젝트 영역 정보와, 바운딩 박스들 각각에 대응하는 오브젝트들의 클래스를 분석한 오브젝트 클래스 정보들을 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니며, 세단, 트럭, 에스유브이(SUV) 등과 같이 자동차의 종류에 관한 정보 등 오브젝트와 관련한 다양한 정보를 포함할 수 있다.
또한, 차선 디텍션 네트워크(1200)는 딥 러닝을 사용하는 CNN 기반의 차선 디텍션 네트워크뿐만 아니라 이미지 프로세싱 및 컴퓨터 비젼 알고리즘으로 구현될 수 있으나, 이에 한정되지 않으며, 주행 이미지로부터 차선들을 검출할 수 있는 다양한 알고리즘이 이용될 수 있으며, 차선 디텍션 네트워크(1200)의 출력은 n차수 다항식 방정식에 의해 나타내어지는 차선 모델일 수 있다.
다음으로, 캘리브레이션 장치(1000)는 오브젝트 디텍션 정보들을 프로파일링하여 오브젝트들 각각에 대응되는 오브젝트 프로파일링 정보들과 차선 검출 정보들을 프로파일링하여 차선들 각각에 대응되는 차선 프로파일링 정보들을 생성할 수 있다.
이때, 오브젝트 프로파일링 정보들은 오브젝트들 각각에 대한 위드(width)들과 헤이트(height)들을 포함할 수 있으나, 본 발명이 이에 한정되지 않으며 오브젝트들 각각에 대한 다양한 정보를 포함할 수 있다.
또한, 차선 프로파일링 정보들은 차선들 각각에 대한 직진성(straightness)들, 길이(length)들, 및 자동차 좌표에서의 기울기들을 포함할 수 있으나, 본 발명이 이에 한정되지 않으며 차선들 각각에 대한 다양한 정보를 포함할 수 있다.
다음으로, 캘리브레이션 장치(1000)는 주행 이미지 또는 차선 검출 정보들을 소멸점 추정 네트워크(1210)로 입력하여 소멸점 추정 네트워크(1210)로 하여금 러닝 연산을 통해 주행 이미지상에서의 소멸점을 검출하고, 소멸점을 트래킹하도록 할 수 있다.
다음으로, 캘리브레이션 장치(1000)는 오브젝트 프로파일링 정보들을 오브젝트 기반 피치 추정 모듈(1110)에 입력하여 오브젝트 기반 피치 추정 모듈(1100)로 하여금 오브젝트 프로파일링 정보들을 참조하여 오브젝트들 중 제1 타겟 오브젝트를 선정하도록 하며, 제1 타겟 오브젝트의 제1 헤이트를 이용한 제1 피치 추정을 통해 제1 피치를 생성하도록 하고, 오브젝트 프로파일링 정보들을 참조하여 오브젝트들 중 제2 타겟 오브젝트를 선정하도록 하며, 제2 타겟 오브젝트의 위드를 이용한 제2 피치 추정을 통해 제2 피치를 생성하도록 하는 프로세스를 수행할 수 있다.
또한, 캘리브레이션 장치(1000)는 주행 이미지 또는 차선 검출 정보를 분석하여 소멸점을 검출하는 소멸점 추정 네트워크(1210)의 소멸점 검출 정보와 차선 프로파일링 정보들을 차선 기반 피치 추정 모듈(1220)로 입력하여 차선 기반 피치 추정 모듈(1220)로 하여금 차선 프로파일링 정보들을 이용한 제3 피치 추정을 통해 제3 피치를 생성하도록 하고, 소멸점 검출 정보를 이용한 제4 피치 추정을 통해 제4 피치를 생성하도록 하는 프로세스를 수행할 수 있다.
오브젝트 기반 피치 추정 모듈(1110)이 제1 피치와 제2 피치를 생성하고, 차선 기반 피치 추정 모듈(1220)이 제3 피치와 제4 피치를 생성하는 과정을 좀 더 상세히 설명하면 다음과 같다.
첫째, 오브젝트 기반 피치 추정 모듈(1110)은 오브젝트 프로파일링 정보들을 참조하여, 주행 이미지 상에서 검출된 오브젝트들 중에서, 자동차와의 레터럴 디스턴스(lateral distance) 가 제2 디스턴스 스레시홀드(threshold) 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않는 제2 후보 오브젝트들을 선정하며, 선정된 제2 후보 오브젝트들 중에서 레터럴 디스턴스가 가장 작은 제2 특정 오브젝트를 제1 타겟 오브젝트로 선정할 수 있다.
이때, 레터럴 디스턴스는 자동차의 차폭 방향과 수직인 방향에서의 자동차와 오브젝트 사이의 거리일 수 있으며, 제2 디스턴스 스레시홀드는 일 예로, 10m 일 수 있으나, 본 발명이 이에 한정되지 않으며, 오브젝트를 용이하게 판별 가능한 임의의 레터럴 디스턴스를 제2 디스턴스 스레시홀드로 설정할 수 있다. 그리고, 바운딩 박스의 절단이 없는 오브젝트는 바운딩 박스가 주행 이미지의 바운더리에 걸쳐지지 않은 오브젝트일 수 있다. 또한, 자동차 클래스인 오브젝트는 세단, 에스유브이, 트럭, 버스 등과 같이 자동차의 종류에 대한 클래스를 가지는 오브젝트일 수 있으며, 겹치지 않는 오브젝트는 바운딩 박스가 다른 오브젝트의 바운딩 박스와 겹침이 없거나, 겹치더라도 바운딩 박스의 바텀(bottom) 좌표가 주행 이미지 하단에 더 가까운 오브젝트일 수 있다.
이후, 오브젝트 기반 피치 추정 모듈(1100)은 제1 타겟 오브젝트의 검출 히스토리를 참조하여 제1 타겟 오브젝트의 평균 헤이트를 획득하며, 평균 헤이트가 최소 헤이트 스레시홀드 이상이며 최대 헤이트 스레시홀드 이하일 경우에는 평균 헤이트를 제1 헤이트로 결정하고, 평균 헤이트가 최소 헤이트 스레시홀드 미만이거나 최대 헤이트 스레시홀드 초과일 경우에는 최소 헤이트 스레시홀드와 최대 헤이트 스레시홀드의 평균값을 제1 헤이트로 결정할 수 있다.
이때, 최소 헤이트 스레시홀드와 최대 헤이트 스레시홀드는 자동차 클래스 별로 설정될 수 있다. 일 예로, 자동차 클래스가 세단, 에스유브이, 또는 비슷한 크기의 자동차에 대해서는 최소 헤이트 스레시홀드를 1.4m로 설정하고, 최대 헤이트 스레시홀드는 1.8m로 설정할 수 있으며, 버스, 트럭 등과 같은 자동차에 대해서는 최소 헤이트 스레시홀드를 2.5m로 설정하고, 최대 헤이트 스레시홀드는 4m로 설정할 수 있다.
그리고, 오브젝트 기반 피치 추정 모듈(1100)은 제1 타겟 오브젝트의 제1 헤이트를 이용하여 바이너리 서치(binary search)에 의해 제1 피치를 생성하거나, 직접 연산을 통해 제1 피치를 생성할 수 있다.
즉, 오브젝트 기반 피치 추정 모듈(1100)은 바이너리 서치에 의해 현재 피치 각도인 P, 피치 서치 레인지(각도)인 α, 제1 타겟 오브젝트의 바운딩 박스인 B, 제1 타겟 오브젝트의 제1 헤이트인 H를 입력으로 하여 새롭게 추정된 피치 각도인 P'를 출력하도록 한다.
이때, min_angle은 P-α, max_angle은 P+α으로 나타내어질 수 있으며, 자동차 좌표계 상에서 제1 타겟 오브젝트의 바운딩 박스 B의 높이를 계산하는 함수를 VCS_H(B)라 할 경우, VCS_H(B)! = H인 상태에서, P'=binary search(B, H, min_angle, max_angle)에 의해 추정될 수 있으며, min_angle과 max_angle은 업데이트될 수 있다. 한편, binary_search(B, H, min_angle, max_angle)는 제1 타겟 오브젝트의 바운딩 박스 B의 높이가 제1 헤이트 H가되도록 피치를 탐색하는 함수일 수 있다.
또한, 도 3a과 도 3b를 참조하면, 오브젝트 기반 피치 추정 모듈(1100)은 도 3a에서와 같은 핀홀(pinhole) 카메라 모델의 삼각형 닮은 비례식을 이용하여, 초점 거리 : 바운딩 박스 헤이트 = Z : 타겟 오브젝트 헤이트(제1 헤이트)에 의해, 타겟 오브젝트의 거리인 Z = (초점 거리) * (타겟 오브젝트 헤이트) / (바운딩 박스 헤이트)를 통해 거리(Z)를 계산하며, 도 3b에서와 같이, 계산된 거리(Z)을 이용한 다음의 수학식에 의해 제1 피치(θ)를 추정할 수 있게 된다.
Figure pct00001
Figure pct00002
Figure pct00003
둘째, 오브젝트 기반 피치 추정 모듈(1100)은 오브젝트 프로파일링 정보들을 참조하여 자동차와의 레터럴 디스턴스가 제3 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않으며, 2D 바운딩 박스와 3D 바운딩 박스의 차이가 박스 차이 스레시홀드 이하이며, 바운딩 박스의 종횡비가 종횡비 스레시홀드 이하인 제3 후보 오브젝트들 중 레터럴 디스턴스가 가장 작은 제3 특정 오브젝트를 제2 타겟 오브젝트로 선정할 수 있다.
이때, 레터럴 디스턴스는 자동차의 차폭 방향과 수직인 방향에서의 자동차와 오브젝트 사이의 거리일 수 있으며, 제3 디스턴스 스레시홀드는 일 예로, 3m 일 수 있으나, 본 발명이 이에 한정되지 않으며, 오브젝트를 용이하게 판별 가능한 임의의 레터럴 거리를 제3 디스턴스 스레시홀드로 설정할 수 있다. 그리고, 바운딩 박스의 절단이 없는 오브젝트는 바운딩 박스가 주행 이미지의 바운더리에 걸쳐지지 않은 오브젝트일 수 있다. 또한, 자동차 클래스인 오브젝트는 세단, 에스유브이, 트럭, 버스 등과 같이 자동차의 종류에 대한 클래스를 가지는 오브젝트일 수 있으며, 겹치지 않는 오브젝트는 바운딩 박스가 다른 오브젝트의 바운딩 박스와 겹침이 없거나, 겹치더라도 바운딩 박스의 바텀 좌표가 주행 이미지 하단에 더 가까운 오브젝트일 수 있다. 또한, 2D 바운딩 박스와 3D 바운딩 박스의 차이가 박스 차이 스레시홀드 이하인 오브젝트는 자동차의 거의 정면에 있는 오브젝트일 수 있으며, 바운딩 박스의 종횡비가 종횡비 스레시홀드 이상인 오브젝트는 측면이 정면으로 보이지 않는 오브젝트일 수 있다. 즉, 교차로 등에서는 측면이 자동차의 정면에 보일 경우 해당 오브젝트의 바운딩 박스는 종횡비가 작으므로 이를 방지하기 위하여 바운딩 박스의 종횡비가 종횡비 스레시홀드 미만인 오브젝트를 선택하지 않도록 하기 위한 것일 수 있다.
이후, 오브젝트 기반 피치 추정 모듈(1100)은 제2 타겟 오브젝트의 자동차 클래스를 참조하여 제2 타겟 오브젝트의 위드를 결정할 수 있다.
이때, 제2 타겟 오브젝트의 위드는 제2 타겟 오브젝트의 자동차 클래스별로 설정된 위드에 의해 결정될 수 있다. 일 예로, 자동차 클래스가 세단. 에스유브이, 또는 비슷한 크기의 자동차에 대해서는 1.8m로 설정될 수 있으며, 버스, 트럭 등과 같은 자동차에 대해서는 1.8m로 설정될 수 있으나, 본 발명이 이에 한정되는 것은 아니며, 자동차 클래스별로 특정 상수로 설정될 수 있다. 이는 같은 자동차 클래스 내에서는 차종에 따른 위드의 차이가 크지 않으므로, 동일한 자동차 클래스에 대해서는 동일한 위드를 가지는 것으로 설정할 수 있다.
그리고, 도 4a와 도 4b를 참조하면, 오브젝트 기반 피치 추정 모듈(1100)은 도 4a에서와 같은 핀홀 카메라 모델의 삼각형 닮은 비례식을 이용하여, 바운딩 박스 위드 : f = 실제 위드 : Z에 의해, 제2 타겟 오브젝트의 거리(Z)를
Figure pct00004
를 통해 연산할 수 있으며, 도 4b에서와 같이, 연산된 제2 타겟 오브젝트의 distance(Z)를 이용한 다음의 수학식에 의해 제2 피치(θ)를 추정할 수 있게 된다.
Figure pct00005
Figure pct00006
Figure pct00007
셋째, 차선 기반 피치 추정 모듈(1220)은 차선 프로파일링 정보들을 참조하여 직선이며, 거리 스레시홀드 이상이며, 자동차의 좌표계 상에서 서로 평행인 제1 차선과 제2 차선을 선택하고, 제1 차선과 제2 차선을 이용하여 타겟 소멸점을 검출하며, 타겟 소멸점을 이용하여 제3 피치를 추정할 수 있다.
일 예로, 차선 기반 피치 추정 모듈(1220)은 주행 이미지 상에서 검출된 차선이 직선인 정도를 나타내는 직진성(straightness), 주행 이미지 상에서 검출된 차선의 길이, 자동차 좌표계 상의 차선의 기울기를 포함하는 차선 프로파일링 정보를 참조하여, 직선이며, 차선의 길이가 거리 스레시홀드 상이며, 자동차 좌표계 상에서 평행한 조건을 만족하는 제1 차선과 제2 차선을 소멸점 검출을 위한 차선으로 선택할 수 있다. 이때, 차선을 주행 이미지 좌표계에서 자동차 좌표계로 변환할 때에는 이전 프레임의 카메라 파라미터를 사용할 수 있다.
그리고, 차선 기반 피치 추정 모듈(1220)은 선택된 제1 차선과 제2 차선의 차선 방정식을 이용하여 교점을 계산하여 소멸점을 검출하며, 검출된 소멸점과 카메라의 센터를 이용하여 제3 피치를 추정할 수 있다.
이때, n개의 차선이 검출되었을 경우에는, 도 5에서와 같은 서치 트리(search tree)를 이용하여 두개의 차선을 선택할 수 있다.
즉, 차선들 중 자동차에 대응되는 에고 차선을 검출하여, 양측 에고 차선이 검출된 경우에는, 직선이며 특정 거리 스레시홀드 이상인 유용성 조건을 만족하는지를 확인하여, 양측 에고 차선이 모두 유용성 조건을 만족하면 두개의 차선이 평행인 기울기 유효검증 조건을 만족하는지를 확인하며, 하나의 차선만이 유용성 조건을 만족하면 유용성 조건을 만족하는 대체 차선을 검출하여 기울기 유효검증 조건을 만족하는지를 확인한다. 그리고, 왼쪽 에고 차선 또는 오른쪽 에고 차선만이 검출된 경우에는, 각각 유용성 조건을 만족하는 대체 차선을 검출하여 기울기 검증 조건을 만족하는지를 확인한다. 이를 통해, 유용성 조건과 기울기 검증 조건을 만족하는 두개의 차선을 선택할 수 있다.
넷째, 차선 기반 피치 추정 모듈(1220)은 소멸점 추정 네트워크(1210)의 소멸점 검출 정보를 이용하여 소멸점 추정 네트워크(1210)에서 검출되는 소멸점을 트래킹하며, 카메라의 제작시 디폴트(default)로 설정된 EOL(end of line) 피치를 참조하여 트래킹된 소멸점을 이용하여 제4 피치를 추정할 수 있다.
이때, 도 6을 참조하면, 소멸점 추정 네트워크(1210)는 주행 이미지로부터 직접 소멸점을 검출하기 위하여 CNN(convolutional neural network)을 이용하거나, 소멸점 GNet(Guided Network for Lane and Road Marking Detection and Recognition)과 같이 멀티 태스크(multi-task) CNN 구조로 차선과 소멸점을 동시에 검출하는 퍼셉션 기반의 네트워크를 사용할 수 있으나, 본 발명은 이에 한정되지 않으며, 독립된 소멸점 검출 네트워크로 구현될 수도 있다.
다음으로, 캘리브레이션 장치(1000)는 제1 피치 내지 제4 피치를 피치 결정 모듈(1300)로 입력하여 피치 결정 모듈(1300)로 하여금 제1 피치 내지 제4 피치를 앙상블(ensemble)하여 주행 이미지에 대응되는 결정 피치를 출력하도록 할 수 있다.
한편, 제1 피치 추정 내지 제4 피치 추정 각각 다음과 같은 장점과 단점을 가지고 있다.
제1 피치 추정은 헤이트가 유지되도록 피치를 조정하기 때문에 안정된 피치 추정이 가능하며, 오브젝트 선택 폭이 넓어 제2 피치 추정보다 넓은 범위에서 운용 가능한 장점이 있으나, 보행자와 같은 사람, 이륜차 등과 같이 헤이트 범위가 너무 넓은 오브젝트에 대해서는 피치 추정을 적용하기 어려운 단점이 있다.
그리고, 제2 피치 추정은 위드가 유지되도록 피치를 조정하기 때문에 안정된 피치 추정이 가능하며, 헤이트는 최소/최대 구간이 있으나, 위드는 자동차 간 변화(variation)가 작아서 상수로 고정할 수 있으므로 제1 피치 추정 보다 더 정확도가 높은 장점이 있으나, 보행자와 같은 사람, 이륜차 등에 대해서는 동작이 불가능하며, 오브젝트 선택의 제약 때문에 제1 피치 추정 보다 좁은 가동 범위에서 운용하여야 하는 단점이 있다.
그리고, 제3 피치 추정은 직선 구간에서 정확하며, 평평한 도로에서 잘 동작하는 장점이 있으나, 커브 길에서 부정확하며, 차선이 있을 때에만 동작 가능한 단점이 있다.
그리고, 제4 피치 추정은 오브젝트와 차선에 관계없이 모든 상황에서 출력이 나오는 장점이 있으나, 정확도 문제로 인하여 피치 변동(variance)을 낮게 유지하기 어려운 단점이 있다.
따라서, 캘리브레이션 장치(1000)는 피치 결정 모듈(1300)로 하여금 제1 피치 추정 내지 제4 피치 추정 각각의 장점을 살리고 단점을 보완할 수 있도록 제1 피치 내지 제4 피치를 앙상블하여 주행 이미지의 매 프레임에서의 피치를 결정할 수 있도록 할 수 있다.
일 예로, 도 7을 참조하면, 피치 결정 모듈(1300)은 오브젝트 프로파일링 정보들을 참조하여 오브젝트들 중 제3 타겟 오브젝트를 선정하고, 제3 피치를 이용하여 제3 타겟 오브젝트의 제2 헤이트를 연산한 다음 제2 헤이트가 헤이트 스레시홀드 이내인지 여부를 확인하여 제3 피치를 검증할 수 있다. 이때, 피치 결정 모듈(1300)은 자동차와의 레터럴 디스턴스가 제1 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않는 제1 후보 오브젝트들 중 레터럴 디스턴스가 가장 작은 제1 특정 오브젝트를 제3 타겟 오브젝트로 선정할 수 있다.
이후, 피치 결정 모듈(1300)은 제3 피치를 검증한 결과, 제3 피치가 유효한 경우에는 제3 피치를 결정 피치로 출력할 수 있다.
하지만, 제3 피치가 유효하지 아니한 경우에는, 피치 결정 모듈(1300)은 제1 피치에 대응되는 제1 타겟 오브젝트와 제2 피치에 대응되는 제2 타겟 오브젝트를 비교하여, 제1 타겟 오브젝트와 제2 타겟 오브젝트가 동일하면 제1 피치 및 제2 피치 중 어느 하나를 결정 피치로 출력하며, 제1 타겟 오브젝트와 제2 타겟 오브젝트가 동일하지 않으면, 제1 타겟 오브젝트와 제2 타겟 오브젝트 중 자동차와의 레터럴 디스턴스가 작은 특정 타겟 오브젝트에 대응되는 특정 피치를 결정 피치로 출력할 수 있다.
또한, 피치 결정 모듈(1300)은 주행 이미지로부터 검출된 오브젝트와 차선이 없는 경우에는 제4 피치를 결정 피치로 출력할 수 있다.
그리고, 피치 결정 모듈(1300)은 결정 피치를 이전 프레임에서의 이전 피치값과 스무딩(smoothing)을 적용하여 결정 피치에 대한 피치 스무딩을 수행하도록 하며, 피치 변화 스레시홀드를 사용하여 프레임 사이의 최대 피치 변화를 제한하는 토어랜스 핸들링(tolerance handing)을 수행할 수 있다.
즉, 피치 결정 모듈(1300)은 피치의 갑작스러운 변화 방지 차원에서 이전 프레임에서의 피치값과 스무딩을 적용하여 결정 피치에 대한 피치 스무딩을 수행하고, 토어랜스 핸들링을 통해 스레시홀드를 사용하여 프레임 사이의 최대 피치 변화를 제한할 수 있다. 그러나, 피치 결정 모듈(1300)은 오브젝트가 존재하지 않다가 처음 등장할 때에는 피치 변화에 대한 제한을 해제할 수 있다. 또한, 오브젝트가 자동차, 즉, 에고 자동차와 다른 도로 평면에 있는 경우에는 토어랜스 핸들링을 수행할 수 있다.
한편, 소멸점 추정 네트워크(1210)는 컨티뉴얼 러닝에 의해 주행 이미지로부터 소멸점을 검출하도록 학습될 수 있다.
이때, 소멸점 추정 네트워크(1210)의 컨티뉴얼 러닝에는, 온-디바이스 컨티뉴얼 러닝, 협동(cooperative) 컨티뉴얼 러닝, 서버-사이드 컨티뉴얼 러닝 등이 이용될 수 있다.
먼저, 도 8을 참조하면, 온-디바이스 컨티뉴얼 러닝은, 캘리브레이션 장치(1000)가 결정 피치와 제4 피치를 참조하여 피치 로스를 획득하고, 피치 로스를 이용하여 소멸점 추정 네트워크(1210)를 온-디바이스 컨티뉴얼 러닝할 수 있다. 이때, 캘리브레이션 장치(1000)가 온-디바이스 컨티뉴얼 러닝을 수행하였으나, 이와는 달리, 별도의 학습 장치를 통해 온-디바이스 컨티뉴얼 러닝을 수행하도록 할 수도 있다.
이때, 캘리브레이션 장치(1000)는, 상기 자동차의 운행 중, 피치 로스를 이용하여 소멸점 추정 네트워크(1210)를 인스턴스-와이즈 인크리멘탈 러닝(instance-wise incremental learning)하여 빠른 적응(fast adaptation)이 되도록 하며, 자동차의 주행 완료 이후, 주행 중 샘플링된 데이터를 이용하여 소멸점 추정 네트워크(1210)를 균형된(balanced) 컨티뉴얼 러닝하여 빠른 적응에 의해 발생했을 수도 있는 카타스트로픽 포겟팅)catastrophic forgetting) 현상을 회복하도록 할 수 있다.
즉, 일반적으로 자동차의 주행 환경 검출에서는 연속된 이미지 시퀀스가 입력으로 사용되기 때문에 특정 프레임에서 소멸점을 잘못 추정한 경우, 그 이후 프레임에서도 잘못된 소멸점이 유지될 확률이 높으므로, 주행 중일 때에는 피치 결정 모듈(1300)에서 출력되는 결정 피치와 제4 피치를 비교하여 피치 로스를 획득하며, 피치 로스가 임계치보다 큰 경우 빠른 적응을 위한 인스턴스-와이즈 인크리멘탈 러닝을 수행하며, 주행 완료 후에는, 주행 중 빠른 적응을 통해 발생하였을 수도 있는 카타스트로픽 포겟팅 현상을 회복하기 위하여, 주행 중 샘플링된 데이터를 이용하여 균형된 컨티뉴얼 러닝을 수행할 수 있다.
또한, 도 9를 참조하면, 협동(cooperative) 컨티뉴얼 러닝은, 캘리브레이션 장치(1000)가 온-비히클 러닝된 학습된 소멸점 추정 네트워크 모델을 러닝 서버로 전송하여 러닝 서버로 하여금 적어도 하나의 다른 자동차로부터 전송된 적어도 하나의 다른 학습된 소멸점 추정 네트워크 모델과 학습된 소멸점 추정 네트워크 모델을 평가하도록 하여 베스트 소멸점 추정 네트워크 모델을 선정하도록 하며, 베스트 소멸점 추정 네트워크 모델을 캘리브레이션 장치(1000)로 전송하도록 하고, 러닝 서버로부터 전송된 베스트 소멸점 추정 네트워크 모델을 이용하여 소멸점 추정 네트워크(1210)를 업데이트할 수 있도록 하는 것이다.
즉, 도 8을 참조하여 설명한 온-디바이스 컨티뉴얼 러닝에 의해 각각의 자동차가 컨티뉴얼 러닝을 수행하고, 러닝 서버로 학습된 모델과 데이터를 전송하면, 러닝 서버는 각각의 자동차들의 모델들을 평가하고 베스트 모델을 선정한 후 선정된 베스트 모델을 각각의 자동차들로 전송함으로써 협동 컨티뉴얼 러닝을 통해 각각의 자동차들이 소멸점 추정 네트워크를 업데이트하도록 할 수 있다.
또한, 도 10을 참조하면, 서버-사이드 컨티뉴얼 러닝은, 캘리브레이션 장치(1000)가 자동차의 운행 중, 피치 로스를 이용하여 소멸점 추정 네트워크(1210)를 인스턴스-와이즈 인크리멘탈 러닝하여 빠른 적응이 되도록 하며, 인스턴스-와이즈 인크리멘탈 러닝에 사용된 샘플링된 데이터를 러닝 서버로 전송하여 러닝 서버로 하여금 샘플링된 데이터를 이용하여 소멸점 추정 네트워크(1210)에 대응되는 레퍼런스(reference) 소멸점 추정 네트워크를 서버-사이드 컨티뉴얼 러닝하도록 하고, 서버-사이드 컨티뉴얼 러닝에 의해 업데이트된 파라미터들을 캘리브레이션 장치(1000)로 전송하도록 하고, 자동차의 주행 완료 이후, 러닝 서버로부터 수신된 파라미터들을 이용하여 소멸점 추정 네트워크(1210)를 업데이트할 수 있도록 하는 것이다.
즉, 각각의 자동차에서는 빠른 적응만 수행하도록 하고, 컨티뉴얼 러닝은 러닝 서버에서 수행한 후 컨티뉴얼 러닝된 소멸점 추정 네트워크 또는 해당 파라미터들을 각각의 자동차로 전달하여 업데이트하도록 할 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (22)

  1. 자동차의 카메라 피치를 캘리브레이션하는 방법에 있어서,
    (a) 자동차의 운행 중 카메라로부터의 주행 이미지가 획득되면, 캘리브레이션 장치가, 상기 주행 이미지를 오브젝트 디텍션 네트워크와 차선 디텍션 네트워크로 각각 입력하여, 상기 오브젝트 디텍션 네트워크로 하여금 상기 주행 이미지 상의 오브젝트들을 검출하여 오브젝트 검출 정보들을 출력하도록 하며, 상기 차선 디텍션 네트워크로 하여금 상기 주행 이미지 상의 차선들을 검출하여 차선 검출 정보들을 출력하도록 하는 단계;
    (b) 상기 캘리브레이션 장치가, 상기 오브젝트 검출 정보들을 프로파일링하여 오브젝트들 각각에 대응되는 오브젝트 프로파일링 정보들과 상기 차선 검출 정보들을 프로파일링하여 차선들 각각에 대응되는 차선 프로파일링 정보들을 생성하며, 상기 오브젝트 프로파일링 정보들을 오브젝트 기반 피치 추정 모듈에 입력하여 상기 오브젝트 기반 피치 추정 모듈로 하여금 (i) 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제1 타겟 오브젝트를 선정하도록 하며, 상기 제1 타겟 오브젝트의 제1 헤이트를 이용한 제1 피치 추정을 통해 제1 피치를 생성하도록 하고, (ii) 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제2 타겟 오브젝트를 선정하도록 하며, 상기 제2 타겟 오브젝트의 위드(width)를 이용한 제2 피치 추정을 통해 제2 피치를 생성하도록 하는 프로세스와, 상기 주행 이미지를 분석하여 소멸점을 검출하는 소멸점 추정 네트워크의 소멸점 검출 정보와 상기 차선 프로파일링 정보들을 차선 기반 피치 추정 모듈로 입력하여 상기 차선 기반 피치 추정 모듈로 하여금, (i) 상기 차선 프로파일링 정보들을 이용한 제3 피치 추정을 통해 제3 피치를 생성하도록 하고, (ii) 상기 소멸점 검출 정보를 이용한 제4 피치 추정을 통해 제4 피치를 생성하도록 하는 프로세스를 수행하는 단계; 및
    (c) 상기 캘리브레이션 장치가, 상기 제1 피치 내지 상기 제4 피치를 피치 결정 모듈로 입력하여 상기 피치 결정 모듈로 하여금 상기 제1 피치 내지 상기 제4 피치를 앙상블하여 상기 주행 이미지에 대응되는 결정 피치를 출력하도록 하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 (c) 단계에서,
    상기 캘리브레이션 장치는, 상기 피치 결정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제3 타겟 오브젝트를 선정하고, 상기 제3 피치를 이용하여 상기 제3 타겟 오브젝트의 제2 헤이트를 연산한 다음 상기 제2 헤이트가 헤이트 스레시홀드 이내인지 여부를 확인하여 상기 제3 피치를 검증하며, (i) 상기 제3 피치가 유효한 경우에는 상기 제3 피치를 상기 결정 피치로 출력하도록 하고, (ii) 상기 제3 피치가 유효하지 아니한 경우에는, 상기 제1 피치에 대응되는 제1 타겟 오브젝트와 상기 제2 피치에 대응되는 제2 타겟 오브젝트를 비교하여, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트가 동일하면 상기 제1 피치 및 상기 제2 피치 중 어느 하나를 상기 결정 피치로 출력하도록 하며, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트가 동일하지 않으면, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트 중 상기 자동차와의 레터럴 디스턴스가 작은 특정 타겟 오브젝트에 대응되는 특정 피치를 상기 결정 피치로 출력하도록 하고, (iii) 상기 주행 이미지로부터 검출된 오브젝트와 차선이 없는 경우에는 상기 제4 피치를 상기 결정 피치로 출력하도록 하는 방법.
  3. 제2항에 있어서,
    상기 캘리브레이션 장치는, 상기 피치 결정 모듈로 하여금, 상기 자동차와의 레터럴 디스턴스가 제1 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않는 제1 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제1 특정 오브젝트를 상기 제3 타겟 오브젝트로 선정하는 방법.
  4. 제1항에 있어서,
    상기 (c) 단계에서,
    상기 캘리브레이션 장치는, 상기 피치 결정 모듈로 하여금 상기 결정 피치를 이전 프레임에서의 이전 피치값과 스무딩(smoothing)을 적용하여 상기 결정 피치에 대한 피치 스무딩을 수행하도록 하며, 피치 변화 스레시홀드를 사용하여 프레임 사이의 최대 피치 변화를 제한하는 토어랜스(tolerance) 핸들링을 수행하도록 하는 방법.
  5. 제1항에 있어서,
    (d) 상기 캘리브레이션 장치는, 상기 결정 피치와 상기 제4 피치를 참조하여 피치 로스를 획득하고, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 온-비히클 컨티뉴얼 러닝하는 단계;
    를 더 포함하는 방법.
  6. 제5항에 있어서,
    상기 캘리브레이션 장치는, (i) 상기 자동차의 운행 중, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 인스턴스-와이즈 인크리멘탈 러닝(instance-wise incremental learning)하여 빠른 적응이 되도록 하며, (ii) 상기 자동차의 주행 완료 이후, 주행 중 샘플링된 데이터를 이용하여 상기 소멸점 추정 네트워크를 균형된(balanced) 컨티뉴얼 러닝하여 상기 빠른 적응에 의해 발생했을 수도 있는 카타스트로픽 포겟팅(catastrophic forgetting) 현상을 회복하도록 하는 방법.
  7. 제5항에 있어서,
    상기 캘리브레이션 장치는, (i) 상기 자동차의 운행 중, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 인스턴스-와이즈 인크리멘탈 러닝하여 빠른 적응이 되도록 하며, (ii) 상기 인스턴스-와이즈 인크리멘탈 러닝에 사용된 샘플링된 데이터를 러닝 서버로 전송하여 상기 러닝 서버로 하여금 상기 샘플링된 데이터를 이용하여 상기 소멸점 추정 네트워크에 대응되는 레퍼런스(reference) 소멸점 추정 네트워크를 서버-사이드 컨티뉴얼 러닝하도록 하고, 상기 서버-사이드 컨티뉴얼 러닝에 의해 업데이트된 파라미터들을 상기 캘리브레이션 장치로 전송하도록 하고, (iii) 상기 자동차의 주행 완료 이후, 상기 러닝 서버로부터 수신된 상기 파라미터들을 이용하여 상기 소멸점 추정 네트워크를 업데이트하는 방법.
  8. 제5항에 있어서,
    (e) 상기 캘리브레이션 장치는, (i) 상기 온-디바이스 러닝된 학습된 소멸점 추정 네트워크 모델을 러닝 서버로 전송하여 상기 러닝 서버로 하여금 적어도 하나의 다른 자동차로부터 전송된 적어도 하나의 다른 학습된 소멸점 추정 네트워크 모델과 상기 학습된 소멸점 추정 네트워크 모델을 평가하도록 하여 베스트 소멸점 추정 네트워크 모델을 선정하도록 하며, 상기 베스트 소멸점 추정 네트워크 모델을 상기 캘리브레이션 장치로 전송하도록 하고, (ii) 상기 러닝 서버로부터 전송된 상기 베스트 소멸점 추정 네트워크 모델을 이용하여 상기 소멸점 추정 네트워크를 업데이트하는 단계;
    를 더 포함하는 방법.
  9. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 캘리브레이션 장치는, 상기 오브젝트 기반 피치 추정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 자동차와의 레터럴 디스턴스 가 제2 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않는 제2 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제2 특정 오브젝트를 상기 제1 타겟 오브젝트로 선정하고, 상기 제1 타겟 오브젝트의 검출 히스토리를 참조하여 상기 제1 타겟 오브젝트의 평균 헤이트를 획득하며, 상기 평균 헤이트가 최소 헤이트 스레시홀드 이상이며 최대 헤이트 스레시홀드 이하일 경우에는 상기 평균 헤이트를 상기 제1 헤이트로 결정하도록 하고, 상기 평균 헤이트가 상기 최소 헤이트 스레시홀드 미만이거나 상기 최대 헤이트 스레시홀드 초과일 경우에는 상기 최소 헤이트 스레시홀드와 상기 최대 헤이트 스레시홀드의 평균값을 상기 제1 헤이트로 결정하도록 하는 방법.
  10. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 캘리브레이션 장치는, 상기 오브젝트 기반 피치 추정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 자동차와의 레터럴 디스턴스 가 제3 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않으며, 2D 바운딩 박스와 3D 바운딩 박스의 차이가 박스 차이 스레시홀드 이하이며, 바운딩 박스의 종횡비가 종횡비 스레시홀드 이상인 제3 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제3 특정 오브젝트를 상기 제2 타겟 오브젝트로 선정하는 방법.
  11. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 캘리브레이션 장치는, 상기 차선 기반 추정 모듈로 하여금, 상기 차선 프로파일링 정보들을 참조하여 직선이며, 길이 스레시홀드 이상이며, 상기 자동차의 좌표계 상에서 서로 평행인 제1 차선과 제2 차선을 선택하고, 상기 제1 차선과 상기 제2 차선을 이용하여 타겟 소멸점을 검출하도록 하며, 상기 타겟 소멸점을 이용하여 상기 제3 피치 추정하도록 하는 방법.
  12. 자동차의 카메라 피치를 캘리브레이션하는 캘리브레이션 장치에 있어서,
    자동차의 카메라 피치를 캘리브레이션하기 위한 인스트럭션들이 저장된 메모리; 및
    상기 메모리에 저장된 상기 인스트럭션들에 따라 자동차의 카메라 피치를 캘리브레이션하기 위한 동작을 수행하는 프로세서;
    를 포함하며,
    상기 프로세서는, (I) 자동차의 운행 중 카메라로부터의 주행 이미지가 획득되면, 상기 주행 이미지를 오브젝트 디텍션 네트워크와 차선 디텍션 네트워크로 각각 입력하여, 상기 오브젝트 디텍션 네트워크로 하여금 상기 주행 이미지 상의 오브젝트들을 검출하여 오브젝트 검출 정보들을 출력하도록 하며, 상기 차선 디텍션 네트워크로 하여금 상기 주행 이미지 상의 차선들을 검출하여 차선 검출 정보들을 출력하도록 하는 프로세스, (II) 상기 오브젝트 검출 정보들을 프로파일링하여 오브젝트들 각각에 대응되는 오브젝트 프로파일링 정보들과 상기 차선 검출 정보들을 프로파일링하여 차선들 각각에 대응되는 차선 프로파일링 정보들을 생성하며, 상기 오브젝트 프로파일링 정보들을 오브젝트 기반 피치 추정 모듈에 입력하여 상기 오브젝트 기반 피치 추정 모듈로 하여금 (i) 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제1 타겟 오브젝트를 선정하도록 하며, 상기 제1 타겟 오브젝트의 제1 헤이트를 이용한 제1 피치 추정을 통해 제1 피치를 생성하도록 하고, (ii) 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제2 타겟 오브젝트를 선정하도록 하며, 상기 제2 타겟 오브젝트의 위드(width)를 이용한 제2 피치 추정을 통해 제2 피치를 생성하도록 하는 프로세스와, 상기 주행 이미지를 분석하여 소멸점을 검출하는 소멸점 추정 네트워크의 소멸점 검출 정보와 상기 차선 프로파일링 정보들을 차선 기반 피치 추정 모듈로 입력하여 상기 차선 기반 피치 추정 모듈로 하여금, (i) 상기 차선 프로파일링 정보들을 이용한 제3 피치 추정을 통해 제3 피치를 생성하도록 하고, (ii) 상기 소멸점 검출 정보를 이용한 제4 피치 추정을 통해 제4 피치를 생성하도록 하는 프로세스를 수행하는 프로세스, 및 (III) 상기 제1 피치 내지 상기 제4 피치를 피치 결정 모듈로 입력하여 상기 피치 결정 모듈로 하여금 상기 제1 피치 내지 상기 제4 피치를 앙상블하여 상기 주행 이미지에 대응되는 결정 피치를 출력하도록 하는 프로세스를 수행하는 캘리브레이션 장치.
  13. 제12항에 있어서,
    상기 프로세서는, 상기 (III) 프로세스에서, 상기 피치 결정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 오브젝트들 중 제3 타겟 오브젝트를 선정하고, 상기 제3 피치를 이용하여 상기 제3 타겟 오브젝트의 제2 헤이트를 연산한 다음 상기 제2 헤이트가 헤이트 스레시홀드 이내인지 여부를 확인하여 상기 제3 피치를 검증하며, (i) 상기 제3 피치가 유효한 경우에는 상기 제3 피치를 상기 결정 피치로 출력하도록 하고, (ii) 상기 제3 피치가 유효하지 아니한 경우에는, 상기 제1 피치에 대응되는 제1 타겟 오브젝트와 상기 제2 피치에 대응되는 제2 타겟 오브젝트를 비교하여, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트가 동일하면 상기 제1 피치 및 상기 제2 피치 중 어느 하나를 상기 결정 피치로 출력하도록 하며, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트가 동일하지 않으면, 상기 제1 타겟 오브젝트와 상기 제2 타겟 오브젝트 중 상기 자동차와의 레터럴 디스턴스가 작은 특정 타겟 오브젝트에 대응되는 특정 피치를 상기 결정 피치로 출력하도록 하고, (iii) 상기 주행 이미지로부터 검출된 오브젝트와 차선이 없는 경우에는 상기 제4 피치를 상기 결정 피치로 출력하도록 하는 캘리브레이션 장치.
  14. 제13항에 있어서,
    상기 프로세서는, 상기 피치 결정 모듈로 하여금, 상기 자동차와의 레터럴 디스턴스가 제1 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않는 제1 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제1 특정 오브젝트를 상기 제3 타겟 오브젝트로 선정하는 캘리브레이션 장치.
  15. 제12항에 있어서,
    상기 프로세서는, 상기 (III) 프로세스에서, 상기 피치 결정 모듈로 하여금 상기 결정 피치를 이전 프레임에서의 이전 피치값과 스무딩(smoothing)을 적용하여 상기 결정 피치에 대한 피치 스무딩을 수행하도록 하며, 피치 변화 스레시홀드를 사용하여 프레임 사이의 최대 피치 변화를 제한하는 토어랜스(tolerance) 핸들링을 수행하도록 하는 캘리브레이션 장치.
  16. 제12항에 있어서,
    상기 프로세서는, (IV) 상기 결정 피치와 상기 제4 피치를 참조하여 피치 로스를 획득하고, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 온-비히클 컨티뉴얼 러닝하는 프로세스를 더 수행하는 캘리브레이션 장치.
  17. 제16항에 있어서,
    상기 프로세서는, (i) 상기 자동차의 운행 중, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 인스턴스-와이즈 인크리멘탈 러닝(instance-wise incremental learning)하여 빠른 적응이 되도록 하며, (ii) 상기 자동차의 주행 완료 이후, 주행 중 샘플링된 데이터를 이용하여 상기 소멸점 추정 네트워크를 균형된(balanced) 컨티뉴얼 러닝하여 상기 빠른 적응에 의해 발생했을 수도 있는 카타스트로픽 포겟팅(catastrophic forgetting) 현상을 회복하도록 하는 캘리브레이션 장치.
  18. 제16항에 있어서,
    상기 프로세서는, (i) 상기 자동차의 운행 중, 상기 피치 로스를 이용하여 상기 소멸점 추정 네트워크를 인스턴스-와이즈 인크리멘탈 러닝하여 빠른 적응이 되도록 하며, (ii) 상기 인스턴스-와이즈 인크리멘탈 러닝에 사용된 샘플링된 데이터를 러닝 서버로 전송하여 상기 러닝 서버로 하여금 상기 샘플링된 데이터를 이용하여 상기 소멸점 추정 네트워크에 대응되는 레퍼런스(reference) 소멸점 추정 네트워크를 서버-사이드 컨티뉴얼 러닝하도록 하고, 상기 서버-사이드 컨티뉴얼 러닝에 의해 업데이트된 파라미터들을 상기 캘리브레이션 장치로 전송하도록 하고, (iii) 상기 자동차의 주행 완료 이후, 상기 러닝 서버로부터 수신된 상기 파라미터들을 이용하여 상기 소멸점 추정 네트워크를 업데이트하는 캘리브레이션 장치.
  19. 제16항에 있어서,
    상기 프로세서는, (V) (i) 상기 온-디바이스 러닝된 학습된 소멸점 추정 네트워크 모델을 러닝 서버로 전송하여 상기 러닝 서버로 하여금 적어도 하나의 다른 자동차로부터 전송된 적어도 하나의 다른 학습된 소멸점 추정 네트워크 모델과 상기 학습된 소멸점 추정 네트워크 모델을 평가하도록 하여 베스트 소멸점 추정 네트워크 모델을 선정하도록 하며, 상기 베스트 소멸점 추정 네트워크 모델을 상기 캘리브레이션 장치로 전송하도록 하고, (ii) 상기 러닝 서버로부터 전송된 상기 베스트 소멸점 추정 네트워크 모델을 이용하여 상기 소멸점 추정 네트워크를 업데이트하는 프로세스를 더 수행하는 캘리브레이션 장치.
  20. 제12항에 있어서,
    상기 프로세서는, 상기 (II) 프로세스에서, 상기 오브젝트 기반 피치 추정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 자동차와의 레터럴 디스턴스 가 제2 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않는 제2 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제2 특정 오브젝트를 상기 제1 타겟 오브젝트로 선정하고, 상기 제1 타겟 오브젝트의 검출 히스토리를 참조하여 상기 제1 타겟 오브젝트의 평균 헤이트를 획득하며, 상기 평균 헤이트가 최소 헤이트 스레시홀드 이상이며 최대 헤이트 스레시홀드 이하일 경우에는 상기 평균 헤이트를 상기 제1 헤이트로 결정하도록 하고, 상기 평균 헤이트가 상기 최소 헤이트 스레시홀드 미만이거나 상기 최대 헤이트 스레시홀드 초과일 경우에는 상기 최소 헤이트 스레시홀드와 상기 최대 헤이트 스레시홀드의 평균값을 상기 제1 헤이트로 결정하도록 하는 캘리브레이션 장치.
  21. 제12항에 있어서,
    상기 프로세서는, 상기 (II) 프로세스에서, 상기 오브젝트 기반 피치 추정 모듈로 하여금, 상기 오브젝트 프로파일링 정보들을 참조하여 상기 자동차와의 레터럴 디스턴스 가 제3 디스턴스 스레시홀드 이하이며, 바운딩 박스의 절단이 없으며, 오브젝트 클래스가 자동차 클래스이며, 겹치지 않으며, 2D 바운딩 박스와 3D 바운딩 박스의 차이가 박스 차이 스레시홀드 이하이며, 바운딩 박스의 종횡비가 종횡비 스레시홀드 이상인 제3 후보 오브젝트들 중 상기 레터럴 디스턴스가 가장 작은 제3 특정 오브젝트를 상기 제2 타겟 오브젝트로 선정하는 캘리브레이션 장치.
  22. 제12항에 있어서,
    상기 프로세서는, 상기 (II) 프로세스에서, 상기 차선 기반 추정 모듈로 하여금, 상기 차선 프로파일링 정보들을 참조하여 직선이며, 길이 스레시홀드 이상이며, 상기 자동차의 좌표계 상에서 서로 평행인 제1 차선과 제2 차선을 선택하고, 상기 제1 차선과 상기 제2 차선을 이용하여 타겟 소멸점을 검출하도록 하며, 상기 타겟 소멸점을 이용하여 상기 제3 피치 추정하도록 하는 캘리브레이션 장치.
KR1020217042548A 2020-04-24 2021-03-19 자동차의 카메라 피치를 캘리브레이션하는 방법 및 장치, 그리고, 이를 위한 소멸점 추정 모델을 컨티뉴얼 러닝시키는 방법 KR102635090B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063014884P 2020-04-24 2020-04-24
US63/014,884 2020-04-24
US17/125,087 US11080544B1 (en) 2020-04-24 2020-12-17 Method and device for calibrating pitch of camera on vehicle and method and device for continual learning of vanishing point estimation model to be used for calibrating the pitch
US17/125,087 2020-12-17
PCT/KR2021/003404 WO2021215672A1 (en) 2020-04-24 2021-03-19 Method and device for calibrating pitch of camera on vehicle and method and device for continual learning of vanishing point estimation model to be used for calibrating the pitch

Publications (2)

Publication Number Publication Date
KR20220000945A true KR20220000945A (ko) 2022-01-04
KR102635090B1 KR102635090B1 (ko) 2024-02-13

Family

ID=77063390

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217042548A KR102635090B1 (ko) 2020-04-24 2021-03-19 자동차의 카메라 피치를 캘리브레이션하는 방법 및 장치, 그리고, 이를 위한 소멸점 추정 모델을 컨티뉴얼 러닝시키는 방법

Country Status (6)

Country Link
US (1) US11080544B1 (ko)
EP (1) EP3901821A1 (ko)
JP (1) JP7371269B2 (ko)
KR (1) KR102635090B1 (ko)
CN (1) CN115243932A (ko)
WO (1) WO2021215672A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113781579B (zh) * 2021-09-10 2022-11-11 浙江大学 一种全景红外相机几何标定方法
US20230136214A1 (en) * 2021-10-29 2023-05-04 Omnitracs, Llc Highly-accurate and self-adjusting imaging sensor auto-calibration for in-vehicle advanced driver assistance system (adas) or other system
CN116563650B (zh) * 2023-07-10 2023-10-13 邦世科技(南京)有限公司 一种基于深度学习的终板炎退变分级方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020014683A1 (en) * 2018-07-13 2020-01-16 Kache.AI Systems and methods for autonomous object detection and vehicle following
US20200018341A1 (en) * 2017-05-25 2020-01-16 Ford Global Technologies, Llc Vehicle seating cushion with snap-fit fasteners to interconnect with snap-fit receivers on a structural support

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4272538B2 (ja) 2004-01-05 2009-06-03 本田技研工業株式会社 移動物体検出装置、移動物体検出方法及び移動物体検出プログラム
US8164628B2 (en) 2006-01-04 2012-04-24 Mobileye Technologies Ltd. Estimating distance to an object using a sequence of images recorded by a monocular camera
US8577083B2 (en) * 2009-11-25 2013-11-05 Honeywell International Inc. Geolocating objects of interest in an area of interest with an imaging system
US9286678B2 (en) * 2011-12-28 2016-03-15 Pelco, Inc. Camera calibration using feature identification
BR112017025107A2 (pt) * 2015-05-26 2018-07-31 Crown Equipment Corporation sistema e método para calibrar um dispositivo de captura de imagem para um veículo de manuseamento de materiais, e, veículo de manuseamento de materiais
KR20180022277A (ko) * 2016-08-24 2018-03-06 김정태 블랙박스영상 기반 차간거리 측정 시스템
JP6944308B2 (ja) * 2017-08-18 2021-10-06 ソニーセミコンダクタソリューションズ株式会社 制御装置、制御システム、および制御方法
US10769793B2 (en) 2018-04-17 2020-09-08 Baidu Usa Llc Method for pitch angle calibration based on 2D bounding box and its 3D distance for autonomous driving vehicles (ADVs)
CN110567469B (zh) 2018-06-05 2021-07-20 北京市商汤科技开发有限公司 视觉定位方法、装置、电子设备及系统
CN110570475A (zh) * 2018-06-05 2019-12-13 上海商汤智能科技有限公司 车载摄像头自标定方法及装置和车辆驾驶方法及装置
JP6956051B2 (ja) * 2018-09-03 2021-10-27 株式会社東芝 画像処理装置、運転支援システム、画像処理方法及びプログラム
KR20200045701A (ko) 2018-10-23 2020-05-06 삼성전자주식회사 소실점 검출을 위한 학습 방법, 소실점 검출 방법 및 장치
CN110412603B (zh) * 2019-07-22 2023-07-04 昆山伟宇慧创智能科技有限公司 一种用于车道偏离计算的标定参数自适应更新方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200018341A1 (en) * 2017-05-25 2020-01-16 Ford Global Technologies, Llc Vehicle seating cushion with snap-fit fasteners to interconnect with snap-fit receivers on a structural support
WO2020014683A1 (en) * 2018-07-13 2020-01-16 Kache.AI Systems and methods for autonomous object detection and vehicle following
US20210018917A1 (en) * 2018-07-13 2021-01-21 Kache.AI System and method for automatically detecting erratic behaviour of another vehicle with a vehicle's autonomous driving system

Also Published As

Publication number Publication date
JP2023514163A (ja) 2023-04-05
WO2021215672A1 (en) 2021-10-28
KR102635090B1 (ko) 2024-02-13
EP3901821A1 (en) 2021-10-27
CN115243932A (zh) 2022-10-25
US11080544B1 (en) 2021-08-03
JP7371269B2 (ja) 2023-10-30

Similar Documents

Publication Publication Date Title
JP7371269B2 (ja) 自動車のカメラピッチをキャリブレーションする方法及び装置、並びにそのための消滅点推定モデルをコンティニュアルラーニングさせる方法
US7532109B2 (en) Vehicle obstacle verification system
US20190188498A1 (en) Image Processing Method For Recognizing Ground Marking And System For Detecting Ground Marking
KR101526816B1 (ko) 차선 추정 시스템 및 그 방법
JP3780922B2 (ja) 道路白線認識装置
US9031773B2 (en) Apparatus and method for detecting narrow road in front of vehicle
US11023744B2 (en) Road parameter calculator
US11506502B2 (en) Robust localization
KR101470189B1 (ko) 차량의 주행제어 장치 및 방법
US11648943B2 (en) Apparatus and method for controlling lane following
JP2007220013A (ja) 車両用白線検出装置
CN109753841B (zh) 车道线识别方法和装置
JP2016192177A (ja) 車両検出システム、車両検出装置、車両検出方法、及び車両検出プログラム
JP6115429B2 (ja) 自車位置認識装置
KR101394770B1 (ko) 곡선 차선 모델을 이용한 영상 안정화 방법 및 시스템
CN116476840B (zh) 变道行驶方法、装置、设备及存储介质
JP5682302B2 (ja) 走行道路推定装置、方法およびプログラム
JP7174131B2 (ja) 判定装置、判定方法及び判定用プログラム
KR102161905B1 (ko) 후방 차량 검출 장치 및 방법
Iwata et al. Forward obstacle detection in a lane by stereo vision
JPH08329397A (ja) 車両認識装置及びそれを用いた車両接近報知装置
JP4847303B2 (ja) 障害物検出方法、障害物検出プログラムおよび障害物検出装置
KR102597238B1 (ko) 듀얼 카메라를 이용한 차선 유지 보조 시스템의 시험 평가 장치 및 방법
WO2023037575A1 (ja) 画像処理装置、および、画像処理方法
US20240135569A1 (en) Method for parameterizing a scene

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant