KR20220160850A - 소실점을 추정하는 방법 및 장치 - Google Patents

소실점을 추정하는 방법 및 장치 Download PDF

Info

Publication number
KR20220160850A
KR20220160850A KR1020210069004A KR20210069004A KR20220160850A KR 20220160850 A KR20220160850 A KR 20220160850A KR 1020210069004 A KR1020210069004 A KR 1020210069004A KR 20210069004 A KR20210069004 A KR 20210069004A KR 20220160850 A KR20220160850 A KR 20220160850A
Authority
KR
South Korea
Prior art keywords
objects
vanishing point
estimating
target vehicle
vanishing
Prior art date
Application number
KR1020210069004A
Other languages
English (en)
Inventor
이병주
신세호
정성현
최진혁
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020210069004A priority Critical patent/KR20220160850A/ko
Priority to US17/525,183 priority patent/US20220383529A1/en
Publication of KR20220160850A publication Critical patent/KR20220160850A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • 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; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06K9/6267
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

일 실시예에 따른 소실점을 추정하는 방법은 타겟 차량을 포함하는 객체들의 현재 시점의 영상을 획득하고, 현재 시점의 영상으로부터 객체들을 검출하고, 객체들과 현재 시점에 앞선 이전 시점의 영상들로부터 추정한 객체들의 현재 위치 좌표들을 연관시킴으로써 월드 좌표계에서의 객체들의 위치를 추적하고, 객체들의 위치에 기초하여 객체들 별로 추정한 소실점을 출력한다.

Description

소실점을 추정하는 방법 및 장치{METHOD AND APPARATUS OF ESTIMATING VANISHING POINT}
아래 실시예들은 소실점을 추정하는 방법 및 장치에 관한 것이다.
예를 들어, 자동차에 탑재된 카메라를 통해 촬영된 영상을 보정하거나 영상 내 객체를 추적하고자 하는 경우, 영상 내에서 파악되는 소실점(vanishing point)을 이용하는 것이 일반적이다. 소실점은 영상을 촬영하는 카메라의 화각(Field of View; FOV) 내에서 검출되는 차선과 같은 다수의 직선들에 의해 추정될 수 있다. 예를 들어, 전방을 향하는 차선이 사라지는 교차로에서는 소실점을 측정할 충분한 수의 직선을 찾기 어렵다. 또한, 평지의 직선 도로의 차선과 언덕길 직선 도로의 차선은 그 소실점에 차이가 있으며, 자동차에 탑재된 카메라를 통해 촬영된 영상에서도 소실점에 차이가 발생할 수 있다. 이 밖에도, 실제 차량은 주행 시 서스펜션(suspension)의 영향으로 차량이 기울어지거나 지면이 평탄하지 않을 수 있어 소실점에 차이가 발생할 수 있다. 이러한 객체 별 위치에 따른 소실점의 차이를 고려하지 않는 경우, 객체의 정확한 추적이 어려울 수 있다.
일 실시예에 따르면, 소실점을 추정하는 방법은 타겟 차량을 포함하는 객체들의 현재 시점의 영상을 획득하는 단계; 상기 현재 시점의 영상으로부터 상기 객체들을 검출하는 단계; 상기 객체들과 상기 현재 시점에 앞선 이전 시점의 영상들로부터 추정한 상기 객체들의 현재 위치 좌표들을 연관(association)시킴으로써 월드 좌표계(world coordinate)에서의 상기 객체들의 위치를 추적하는 단계; 상기 객체들의 위치에 기초하여, 상기 객체들 별로 소실점을 추정하는 단계; 및 상기 객체들 별로 추정한 소실점을 출력하는 단계를 포함한다.
상기 객체들을 검출하는 단계는 상기 타겟 차량의 유형을 분류하는 단계; 및 상기 분류된 유형을 기초로, 상기 현재 시점의 영상으로부터 상기 타겟 차량을 검출하는 단계를 포함할 수 있다.
상기 타겟 차량을 검출하는 단계는 상기 분류된 유형에 따라 상기 타겟 차량의 후면에 대응하는 바운딩 박스를 획득하는 단계; 및 상기 바운딩 박스를 이용하여 상기 타겟 차량을 검출하는 단계를 포함할 수 있다.
상기 바운딩 박스를 획득하는 단계는 상기 분류된 유형에 대응하여 미리 저장된 차량의 차폭 정보를 호출하는 단계; 및 상기 차폭 정보에 기초하여, 상기 타겟 차량의 차폭에 대응하는 바운딩 박스를 생성하는 단계를 포함할 수 있다.
상기 객체들의 위치를 추적하는 단계는 칼만 필터(Kalman filter)를 이용하여 상기 추정한 현재 위치 좌표들에 대응하는 제2 바운딩 박스들의 위치를 예측하는 단계; 상기 객체들에 대응하는 제1 바운딩 박스들과 상기 제2 바운딩 박스들을 매칭(matching)시키는 단계; 및 상기 매칭 결과에 기초하여, 상기 월드 좌표계에서의 상기 객체들의 위치를 추적하는 단계를 포함할 수 있다.
상기 칼만 필터는 상기 현재 시점의 영상에서의 상기 타겟 차량의 차폭과 상기 차폭의 중심으로부터의 좌우 방향의 이격 거리를 포함하는 관측 값(measurement)을 기초로, 상기 타겟 차량의 현재 위치 좌표, 및 상기 타겟 차량의 x 방향의 속도 및 y 방향의 속도를 예측함으로써 상기 타겟 차량의 현재 위치 좌표에 대응하는 제2 바운딩 박스의 위치를 결정할 수 있다.
상기 소실점을 추정하는 단계는 상기 객체들 중 해당하는 객체에 대응하는 제1 바운딩 박스의 위치와 상기 객체들을 촬영한 카메라의 높이, 이미지 플레인(image plane) 상에서 상기 해당하는 객체에 대응하는 제3 바운딩 박스의 위치 간의 관계에 기초하여, 상기 해당하는 객체의 소실점을 추정하는 단계를 포함할 수 있다.
상기 소실점을 출력하는 단계는 상기 객체들 별로 추정한 소실점에 의해 상기 객체들을 상기 현재 시점의 영상에 투영(projection)하여 표시하는 단계를 더 포함할 수 있다.
상기 소실점을 추정하는 방법은 상기 객체들 별로 추정한 소실점에 기초하여, 상기 객체들 별 소실점과 상기 객체들 각각 사이의 거리를 산출하는 단계; 및 상기 산출한 거리를 출력하는 단계를 더 포함할 수 있다.
상기 소실점을 추정하는 방법은 상기 객체들 별로 추정한 소실점에 기초하여, 상기 객체들 각각에 대응하는 주행 보조 정보를 생성하는 단계를 더 포함할 수 있다.
상기 주행 보조 정보를 생성하는 단계는 상기 객체들 별로 추정한 소실점에 기초하여, 상기 객체들 별 소실점과 상기 객체들 각각 사이의 거리를 산출하는 단계; 및 상기 거리에 기초하여, 상기 객체들 각각의 주행 차선 및 주행 차로를 포함하는 주행 보조 정보를 생성하는 단계를 포함할 수 있다.
일 실시예에 따르면, 소실점을 추정하는 장치는 타겟 차량을 포함하는 객체들의 현재 시점의 영상을 캡쳐하는 센서; 상기 현재 시점의 영상으로부터 상기 객체들을 검출하고, 상기 객체들과 상기 현재 시점에 앞선 이전 시점의 영상들로부터 추정한 상기 객체들의 현재 위치 좌표들을 연관시킴으로써 월드 좌표계에서의 상기 객체들의 위치를 추적하며, 상기 객체들의 위치에 기초하여 상기 객체들 별로 소실점을 추정하는 프로세서; 및 상기 객체들 별로 추정한 소실점을 출력하는 디스플레이를 포함한다.
상기 프로세서는 상기 타겟 차량의 유형을 분류하고, 상기 분류된 유형을 기초로 상기 현재 시점의 영상으로부터 상기 타겟 차량을 검출할 수 있다.
상기 프로세서는 상기 분류된 유형에 따라 상기 객체들 각각의 후면에 대응하는 바운딩 박스를 획득하고, 상기 바운딩 박스를 이용하여 상기 타겟 차량을 검출할 수 있다.
상기 프로세서는 상기 분류된 유형에 대응하여 미리 저장된 차량의 차폭 정보를 호출하고, 상기 차폭 정보에 기초하여 상기 타겟 차량의 차폭에 대응하는 바운딩 박스를 생성할 수 있다.
상기 프로세서는 칼만 필터를 이용하여 상기 추정한 현재 위치 좌표들에 대응하는 제2 바운딩 박스들의 위치를 예측하고, 상기 객체들에 대응하는 제1 바운딩 박스들과 상기 제2 바운딩 박스들을 매칭시키며, 상기 매칭 결과에 기초하여 상기 월드 좌표계에서의 상기 객체들의 위치를 추적할 수 있다.
상기 칼만 필터는 상기 현재 시점의 영상에서의 상기 타겟 차량의 차폭과 상기 차폭의 중심으로부터의 좌우 방향의 이격 거리를 포함하는 관측 값을 기초로, 상기 타겟 차량의 현재 위치 좌표, 및 상기 타겟 차량의 x 방향의 속도 및 y 방향의 속도를 예측함으로써 상기 타겟 차량의 현재 위치 좌표에 대응하는 제2 바운딩 박스의 위치를 결정할 수 있다.
상기 프로세서는 상기 객체들 중 해당하는 객체에 대응하는 제1 바운딩 박스의 위치와 상기 객체들을 촬영한 카메라의 높이, 이미지 플레인 상에서 상기 해당하는 객체에 대응하는 제3 바운딩 박스의 위치 간의 관계에 기초하여, 상기 해당하는 객체의 소실점을 추정할 수 있다.
상기 프로세서는 상기 객체들 별로 추정한 소실점에 의해 상기 객체들을 상기 현재 시점의 영상에 투영하고, 상기 디스플레이는 상기 투영된 상기 객체들을 표시할 수 있다.
도 1은 소실점의 차이로 인해 발생하는 객체 추적 결과의 오차를 설명하기 위한 도면.
도 2는 일 실시예에 따른 소실점을 추정하는 장치를 포함하는 호스트 차량을 도시한 도면.
도 3은 일 실시예에 따른 차량 좌표계를 도시한 도면.
도 4는 일 실시예에 따른 소실점을 추정하는 방법을 나타낸 흐름도.
도 5는 일 실시예에 따라 객체들의 위치를 추적하는 방법을 설명하기 위한 도면.
도 6은 일 실시예에 따라 추정한 소실점을 사용하여 객체들을 추적한 결과를 도시한 도면.
도 7 및 도 8은 실시예들에 따른 소실점을 추정하는 장치의 블록도.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 소실점의 차이로 인해 발생하는 객체 추적 결과의 오차를 설명하기 위한 도면이다. 도 1의 (a)를 참조하면, 지면의 경사도에 따른 소실점의 차이를 나타낸 도면이 도시된다. 도 1의 (b)를 참조하면, 도로의 기울기가 있음에도 불구하고 일관된 하나의 소실점을 사용하여 객체들을 추적한 결과가 된다.
예를 들어, 지면이 평탄하지 않아 경사가 존재하는 경우에는 객체들의 위치에 따라 소실점의 변화가 발생할 수 있다. 도 1의 (a)에서 제1 경사도를 갖는 지면(101)에 대응하는 제1 소실점(103)의 위치와 제2 경사도를 갖는 지면(105)에 대응하는 제2 소실점(107)의 위치는 서로 상이한 것을 볼 수 있다. 차량들의 주행하는 도로의 기울기가 상이한 경우, 각 차량의 위치에 대응하는 소실점의 위치 또한 상이할 수 있다.
예를 들어, 일괄된 하나의 소실점을 사용하여 도 1의 (b)에 도시된 객체들(예를 들어, 차량들(110, 120, 130, 140))을 추적했다고 하자.
객체들의 위치에 따른 소실점의 차이를 무시하고 월드 좌표계의 추적 결과를 후술하는 이미지 플레인(image plane)으로 투사하여 객체들을 표시한 경우, 차량들(110, 120, 130, 140) 각각을 검출하는 바운딩 박스들(115, 125, 135, 145)이 잘못된 위치로 투사될 수 있다.
잘못된 위치로 투사된 바운딩 박스들(115, 125, 135, 145)로 인해 차량들(110, 120, 130, 140)까지의 거리 추정의 정확도가 감소되거나 또는 차량들(110, 120, 130, 140)의 정확한 추적이 어려울 수 있다.
도 2는 일 실시예에 따른 소실점을 추정하는 장치를 포함하는 호스트 차량을 도시한 도면이다. 도 2를 참조하면, 호스트 차량(host vehicle)'(200)의 측면이 도시된다.
'호스트 차량'(200)은 일 실시예에 따른 소실점 추정 장치(230)가 내장된 차량에 해당할 수 있다. 호스트 차량(200)은 에고-비히클(ego-vehicle), 셀프-비히클(self-vehicle), 자율주행 차량(autonomous driving vehicle)을 포함한 다양한 용어들로 지칭될 수 있다. 호스트 차량(200)은 예를 들어, 차량 제어부(210) 및 소실점 추정 장치(230)를 포함할 수 있다.
차량 제어부(210)는 호스트 차량(200)의 전반적인 주행을 제어할 수 있다. 예를 들어, 차량 제어부(210)는 소실점 추정 장치(230)로부터 수신된 소실점 정보 및/또는 주행 보조 정보를 수신하고, 이에 기반하여 영상을 처리하거나, 또는 속도, 조향각 등과 같은 호스트 차량(200)의 주행을 제어할 수 있다.
소실점 추정 장치(230)는 카메라(camera)(232) 및 이미지 시그널 프로세서(Image Signal Processor; 이하, 'ISP')(235)를 포함할 수 있다. 카메라(232)는 예를 들어, 도 7의 카메라 장치(710) 또는 도 8의 센서(810)에 해당할 수 있다. 또한, ISP(235)는 예를 들어, 도 8의 프로세서(830)에 해당할 수 있다.
카메라(232)는 호스트 차량(200) 또는 소실점 추정 장치(230)에 내장되어, 호스트 차량(200)의 외부 영상을 캡쳐(capture)할 수 있다. 카메라(232)는 예를 들어, 호스트 차량(200)의 전방, 좌우 등과 같이 여러 방향의 외부 환경에 대한 빛을 전기적 에너지로 변환하여 영상을 생성하고, 생성된 영상을 ISP(235)에게 전달할 수 있다.
또는 카메라(232)는 소실점 추정 장치(230) 이외의 다른 전자 장치에 내장되거나 또는 별도의 전자 장치로 구현될 수도 있다. 전자 장치는 예를 들어, PC(personal computer), IoT(Internet of Things) 장치, 또는 휴대용 전자 기기로 구현될 수 있다. 휴대용 전자 기기는, 예를 들어, 랩탑 컴퓨터, 이동 전화기, 스마트폰, 태블릿 PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라, 디지털 비디오 카메라, 오디오 장치, PMP(portable multimedia player), PND(personal navigation device), MP3 플레이어, 휴대용 게임 콘솔(handheld game console), e-북(e-book), 웨어러블 기기 등일 수 있으며, 반드시 이에 한정되지는 않는다.
ISP(235)는 카메라(232)로부터 획득한 영상에 기초하여, 호스트 차량(200)의 주변 차량들을 인식하고, 주변 차량들의 위치를 추적하여 주변 차량들 별로 소실점을 추정할 수 있다. 호스트 차량(200)의 주변 차량(들)은 타겟 차량(들)이라 지칭할 수 있다. '타겟 차량(target vehicle)'은 호스트 차량(200)을 제외한 나머지 차량들 중 적어도 하나의 차량을 지칭할 수 있다. 타겟 차량은 일 실시예에 따른 소실점 추정 장치(230)에 포함되는 카메라(232)에 의해 캡쳐되고, 소실점 추정의 대상이 되는 차량을 지칭할 수 있다.
예를 들어, ISP(235)는 카메라(232)로부터 획득한 영상에 포함된 다수의 객체들 중에서 타겟 차량을 인식하고, 인식된 타겟 차량을 검출하는 바운딩 박스(bounding box)를 생성할 수 있다. 또한, 아래에서 후술하겠지만, ISP(235)는 바운딩 박스에 포함되는 타겟 차량의 후면(뒷면)의 하단 중앙점의 위치를 추적할 수도 있다.
이하, 본 명세서에서 사용되는 용어들은 다음과 같이 정의될 수 있다.
'전폭(full width)'은 차량의 좌우 길이를 지칭할 수 있다. 전폭은 차량을 후면 방향에서 응시하였을 때, 차량의 수평 길이에 해당할 수 있다. '전고(full height)'는 차량의 상하 길이(또는 높이)를 지칭할 수 있다. 전고는 차량과 접촉하는 지면(ground)으로부터 차량의 상부 커버(cover)까지의 수직 길이에 해당할 수 있다. 일 예로, 소실점 추정 장치(230)의 카메라(232)가 호스트 차량(200)의 상부 커버에 배치될 수 있으며, 이 경우, 카메라(232)의 고도(height)는 전고에 대응될 수 있다.
도 3은 일 실시예에 따른 차량 좌표계를 도시한 도면이다. 도 3을 참조하면, 일 실시예에 따른 월드 좌표계(world coordinate) 상에서의 추적 결과가 표시되는 차량 좌표계(300)가 도시된다. 월드 좌표계 상의 추적 결과는 차량 좌표계(300)에서 점(point)으로 표시될 수 있다. 월드 좌표계 상에서의 객체들의 추적 결과는 추적 대상인 타겟 차량의 후면에 대한 차량 좌표계(300)에서의 위치에 해당할 수 있다.
'월드 좌표계'는 소실점 추정 장치의 카메라 외부 환경에 대응하는 실제 세계(real world)를 표현하기 위한 좌표계를 지칭할 수 있다. 다양한 실시예들에 따라, 소실점 추정 장치의 카메라를 원점(origin)으로 설정하는 경우, 월드 좌표계는 카메라 좌표계(camera coordinate)로 지칭될 수도 있다.
카메라 좌표계 또는 소실점 추정 장치의 카메라(232)를 원점으로 하는 월드 좌표계는 x축, y축 및 z축을 가질 수 있다. 예를 들어, x축은 카메라(232)가 응시하는 정면(front) 방향에 대응될 수 있고, y축은 카메라(232)의 정면을 기준으로 왼쪽(left) 방향에 대응될 수 있고, z축은 카메라(232)의 정면을 기준으로 위쪽(upper) 방향에 대응될 수 있다.
도 4는 일 실시예에 따른 소실점을 추정하는 방법을 나타낸 흐름도이다. 도 4를 참조하면, 일 실시예에 따른 소실점을 추정하는 장치(이하, '소실점 추정 장치')가 단계(410) 내지 단계(450)을 통해 객체들 별로 소실점을 추정하여 출력하는 과정이 도시된다. 일 실시예에서는 설명의 편의를 위하여 호스트 차량의 전방에 위치하는 타겟 차량을 촬영하는 경우를 일 예를 설명하지만, 호스트 차량의 후방에 위치하는 타겟 차량에 대해서도 동일한 방법이 적용될 수 있다.
단계(410)에서, 소실점 추정 장치는 타겟 차량을 포함하는 객체들의 현재 시점의 영상을 획득한다. 소실점 추정 장치는 카메라 또는 센서를 이용하여 전방의 타겟 차량을 포함하는 객체들을 촬영하여 현재 시점의 전방 차량 영상을 획득할 수 있다. 카메라를 통해 획득되는 타겟 차량의 영상은 카메라와 타겟 차량의 거리에 따라 그 크기가 변화될 수 있다.
단계(420)에서, 소실점 추정 장치는 단계(410)에서 획득한 현재 시점의 영상으로부터 객체들을 검출한다. 소실점 추정 장치는 영상으로부터 타겟 차량(들)의 유형을 분류할 수 있다. 소실점 추정 장치는 예를 들어, 영상에 포함된 타겟 차량의 영상 특징을 이용하여 타겟 차량의 유형 또는 차종이 승용차인지 또는 트럭인지를 분류할 수 있다. 소실점 추정 장치는 분류된 유형을 기초로 현재 시점의 영상으로부터 타겟 차량을 검출할 수 있다.
단계(420)에서, 소실점 추정 장치는 분류된 유형에 따라 타겟 차량의 후면에 대응하는 바운딩 박스(예를 들어, 도 5a의 바운딩 박스(515) 참조)를 획득할 수 있다. 보다 구체적으로 소실점 추정 장치는 분류된 유형에 대응하여 미리 저장된 차량의 차폭 정보를 호출할 수 있다. 차량의 차폭은 차종에 따라서 최소 1600 mm에서 최대 2500 mm 사이의 범위에 있을 수 있다. 예를 들어, 타겟 차량의 유형이 승용차인 경우, 전폭은 약 1800 mm일 수 있다. 또한, 타겟 차량의 유형이 트럭인 경우, 전폭은 약 2500 mm 일 수 있다. 소실점 추정 장치는 차폭 정보에 기초하여, 타겟 차량의 차폭에 대응하는 바운딩 박스를 생성할 수 있다. 바운딩 박스는 예를 들어, 기계학습, 딥러닝을 포함하는 인공지능 알고리즘에 의해 생성될 수 있다. 소실점 추정 장치는 바운딩 박스를 이용하여 타겟 차량, 보다 구체적으로 타겟 차량의 후면을 검출할 수 있다. 단계(420)의 검출 결과는 예를 들어, 아래의 도 5a와 같이 나타날 수 있다.
단계(430)에서, 소실점 추정 장치는 단계(420)에서 검출한 객체들과 현재 시점에 앞선 이전 시점의 영상들로부터 추정한 객체들의 현재 위치 좌표들을 연관(association)시킴으로써 월드 좌표계에서의 객체들의 위치를 추적한다. 여기서, '연관'은 현재 시점의 영상으로부터 검출된 객체를 이전 시점의 영상들로부터 추정한 객체와 매칭(matching)시키는 과정으로 이해될 수 있다.
소실점 추정 장치는 예를 들어, 칼만 필터(Kalman filter)를 이용하여 추정한 현재 위치 좌표들에 대응하는 제2 바운딩 박스들의 위치를 예측할 수 있다. 여기서, '칼만 필터'는 누적된 과거의 데이터와 새로운 측정값을 사용하여 현 상태의 최적의 값을 추적 또는 추정하는데 사용되는 알고리즘에 해당한다. 칼만 필터는 상태 예측(state prediction)과 관측 값(measurement)의 업데이트를 반복적으로 수행하여 해당 객체의 현재 위치를 예측할 수 있다.
일 실시예에서 칼만 필터는 현재 시점의 영상에서의 타겟 차량의 차폭과 차폭의 중심으로부터의 좌우 방향의 이격 거리를 포함하는 관측 값을 기초로, 타겟 차량의 현재 위치와 속도(예를 들어, 타겟 차량의 현재 위치 좌표
Figure pat00001
와 타겟 차량의 X 방향의 속도 및 Y 방향 속도)를 예측함으로써 타겟 차량의 현재 위치 좌표를 추정할 수 있다. 소실점 추정 장치는 칼만 필터를 이용하여 추정한 타겟 차량의 현재 위치 좌표에 대응하는 제2 바운딩 박스의 위치를 예측할 수 있다. 이때, 추정한 타겟 차량의 현재 위치 좌표는 제2 바운딩 박스의 하단 중심점의 위치에 해당할 수 있다. 소실점 추정 장치는 예를 들어, 해당 차량의 유형으로부터 전고 및/또는 전폭을 파악하고, 제2 바운딩 박스의 하단 중심점의 위치에 전고 및/또는 전폭을 반영하여 제2 바운딩 박스를 생성할 수 있다.
단계(430)에서, 소실점 추정 장치는 객체들에 대응하는 제1 바운딩 박스들과 제2 바운딩 박스들을 매칭(matching)시킬 수 있다. 소실점 추정 장치는 매칭 결과에 기초하여, 월드 좌표계에서의 객체들의 위치를 추적할 수 있다. 단계(430)에서 소실점 추정 장치가 월드 좌표계에서의 객체들의 위치를 추적한 결과는 예를 들어, 아래의 도 5b와 같이 나타날 수 있다.
단계(440)에서, 소실점 추정 장치는 단계(430)에서 추적한 객체들의 위치에 기초하여, 객체들 별로 소실점을 추정한다. 소실점 추정 장치는 객체들 중 해당하는 객체에 대응하는 제1 바운딩 박스의 위치와 객체들을 촬영한 카메라의 높이, 이미지 플레인 상에서 해당하는 객체에 대응하는 제3 바운딩 박스의 위치 간의 관계에 기초하여, 해당하는 객체의 소실점을 추정할 수 있다. 여기서, '이미지 플레인'은 실제 세계가 소실점 추정 장치의 카메라를 통해 투영(projection)되는 2차원의 영역을 지칭할 수 있다. 이미지 플레인은 2차원의 영역이므로 픽셀 단위로 구별되는 좌표계(coordinate)를 가질 수 있다. 이미지 플레인의 좌표계는 '이미지 좌표계(image coordinate)'로 지칭될 수 있다. 예를 들어, 이미지 플레인의 좌측 상단을 원점(origin)으로 설정하는 경우, 우측 방향은 x축으로, 아래 방향은 y축으로 표현될 수 있다. 소실점 추정 장치는 월드 좌표계 상의 추적 결과를 예를 들어, 아래 도 5c에 도시된 이미지 플레인(530)에 투영할 수 있다.
보다 구체적으로, 소실점 추정 장치는 객체들 중 해당하는 객체에 대응하는 바운딩 박스의 하단 중앙의 위치와, 객체들을 촬영한 카메라의 높이(hc), 이미지 플레인 상에서 해당하는 객체에 대응하는 바운딩 박스의 바텀 에지(bottom edge)의 위치 간의 관계에 기초하여, 해당하는 객체의 소실점을 추정할 수 있다. 소실점 추정 장치가 객체들 별로 소실점을 추정하는 방법은 아래의 도 5를 참조하여 보다 구체적으로 설명한다.
단계(450)에서, 소실점 추정 장치는 단계(440)에서 객체들 별로 추정한 소실점을 출력한다. 소실점 추정 장치는 객체들 별로 추정한 소실점에 의해 객체들을 현재 시점의 영상에 투영(projection)하여 표시할 수 있다.
실시예에 따라서, 소실점 추정 장치는 객체들 별로 추정한 소실점에 기초하여, 객체들 별 소실점과 객체들 각각 사이의 거리를 산출하고, 산출한 거리를 출력할 수도 있다.
또는 소실점 추정 장치는 객체들 별로 추정한 소실점에 기초하여, 객체들 각각에 대응하는 주행 보조 정보(예를 들어, 주행 차로, 주행 차선, 도로 노면 표지 등)를 생성할 수 있다. 소실점 추정 장치는 객체들 별로 추정한 소실점에 기초하여, 객체들 별 소실점과 객체들 각각 사이의 거리를 산출할 수 있다. 소실점 추정 장치는 산출한 거리에 기초하여, 객체들 각각의 주행 차선 및 주행 차로를 포함하는 주행 보조 정보를 생성할 수도 있다.
도 5는 일 실시예에 따라 객체들의 위치를 추적하는 방법을 설명하기 위한 도면이다. 도 5a를 참조하면, 일 실시예에 따른 바운딩 박스들의 검출 결과가 도시된다. 도5b를 참조하면, 도 5a의 영상으로 검출된 객체에 대응하는 월드 좌표계 상의 추적 결과가 도시된다. 도 5c를 참조하면, 일 실시예에 따른 월드 좌표계 상의 추적 결과를 이미지 플레인으로 투사한 결과가 도시된다.
소실점 추정 장치가 임베딩된 호스트 차량(200)은 카메라(232)를 통해 획득된 현재 시점의 영상에 기반하여 도 5a에 도시된 타겟 차량(510)의 유형을 분류하고, 분류된 유형에 따라 타겟 차량(510)의 후면에 대응하는 바운딩 박스(515)를 생성할 수 있다. 소실점 추정 장치는 바운딩 박스(515)에 의해 타겟 차량(510)의 차량 후면 하단의 중앙의 좌표
Figure pat00002
를 구할 수 있다.
또한, 소실점 추정 장치는 타겟 차량(510)이 자신(호스트 차량(200))과 동일한 차선에서 주행 중인지 또는 이웃하는 차선에서 주행 중인지 여부를 결정할 수 있다. 예를 들어, 타겟 차량(510)이 호스트 차량(200)의 전방 좌측에서 주행 중인 경우, 바운딩 박스(515)는 카메라(232)를 통해 획득된 영상의 우측에 생성될 수 있다. 이와 달리, 타겟 차량(510)이 호스트 차량(200)의 전방 우측에서 주행중인 경우, 바운딩 박스(515)는 카메라(232)를 통해 획득된 영상의 좌측에 생성될 수 있다. 또는, 타겟 차량(510)이 호스트 차량(200)과 동일한 차선의 전방에서 주행 중인 경우, 바운딩 박스는 카메라(232)에 의해 획득된 영상의 센터 근방에 생성될 수 있다. 따라서, 소실점 추정 장치는 카메라(232)에 의해 획득된 영상 내의 바운딩 박스(515)와 카메라를 통해 획득된 영상의 x축 센터의 위치를 비교함으로써 타겟 차량(510)이 호스트 차량(200)과 동일한 차선의 전방에서 주행 중인지 여부를 판단할 수 있다.
이때, 도 5a의 영상에서 바운딩 박스(515)를 통해 검출된 객체(예를 들어, 타겟 차량(510))의 월드 좌표계 상의 추적 결과는 도 5b와 같이 나타날 수 있다. 타겟 차량(510)의 월드 좌표계 상의 추적 결과는 차량 좌표계에서의 점으로 표시될 수 있다.
도 5a에 표시된 타겟 차량(510)의 차량 후면 하단의 중앙의 좌표
Figure pat00003
는 예를 들어, 도 5b의 월드 좌표계(또는 차량 좌표계)에서 위치 좌표
Figure pat00004
(520)와 같이 표현될 수 있다.
소실점 추정 장치는 예를 들어, 타겟 차량(510)에 대응하는 소실점의 위치
Figure pat00005
, 카메라(232)의 높이
Figure pat00006
, 초점 거리(Focal length)
Figure pat00007
, 및 차량 좌표계에서의 타겟 차량(510)의 위치 좌표
Figure pat00008
(520)로부터 도 5a에 도시된 영상에서의 타겟 차량(510) 후면의 하단 중앙점
Figure pat00009
의 y좌표인
Figure pat00010
(517)을 얻을 수 있다. 이러한 관계는 아래의 수학식 1과 같이 표현될 수 있다.
Figure pat00011
도 5a에 도시된 영상에서의 타겟 차량(510) 후면의 하단 중앙점
Figure pat00012
는 타겟 차량(510)의 후면에 대한 바운딩 박스(515)의 하단 중앙 좌표
Figure pat00013
와 동일하므로
Figure pat00014
와 같은 관계가 성립할 수 있다. 이에 따라, 소실점 추정 장치는 아래의 수학식 2를 통해 도 5c에 도시된 소실점(540)의 y 축 방향의 위치
Figure pat00015
를 얻을 수 있다.
Figure pat00016
소실점(540)의 y 축 성분의 크기는 카메라(보다 구체적으로는 카메라 렌즈)(232)의 높이
Figure pat00017
에 따라 결정될 수 있다.
소실점 추정 장치는 전술한 과정을 통해 영상으로부터 직선을 찾지 않고도 소실점(540)의 위치를 구하여 도로가 기울어진 경우에도 아래의 도 6과 같이 정확하게 객체들 별로 소실점을 추정할 수 있다.
도 5b의 월드 좌표계 상의 추적 결과를 이미지 플레인(530)으로 투사하는 과정을 도 5c를 참조하여 보다 구체적으로 설명한다.
타겟 차량(510)의 형상은 카메라(232)의 렌즈를 통해 이미지 센서(미도시)에 입사될 수 있다. 카메라(232)의 렌즈는 이미지 센서와 물리적으로 이격될 수 있으며, 이격된 거리는 초점 거리
Figure pat00018
에 대응될 수 있다. 카메라(232)의 렌즈는 타겟 차량(510)이 위치하는 지면으로부터 높이
Figure pat00019
만큼 일정 거리가 이격되어 배치될 수 있다. 예를 들어, 카메라(232)가 호스트 차량(도 2의 호스트 차량(200))의 상부 커버상에 배치되는 경우, 이격되는 일정 거리는 호스트 차량의 전고에 대응될 수 있다. 실시예에 따라서, 카메라(232)가 호스트 차량(200)의 내부에 배치되는 경우, 일정 거리는 전고보다 작은 값에 대응될 수 있다.
이미지 센서는 카메라(232)의 렌즈를 통해 입사되는 빛(550)을 수신하고, 이미지 플레인(530)을 생성할 수 있다. 이때, 카메라(232)의 렌즈를 통해 입사되는 빛(550)은 소실점(540)을 형성할 수 있다.
예를 들어, 카메라(232)가 핀홀(pinhole) 카메라인 경우, 이미지 플레인(530)에는 타겟 차량(510)의 상하 반전된 이미지가 투영될 수 있다. 상하 반전된 이미지는 타겟 차량(510)에 대한 바운딩 박스(515)로 표시될 수 있다.
카메라(232)의 위치를 월드 좌표계의 원점(origin)으로 설정하는 경우, 타겟 차량(510)은 카메라(232)의 렌즈로부터 X축으로 초기 직선 거리 X만큼 선행할 수 있다. 초기 직선 거리 X은 예를 들어, 아래의 수학식 3에 의해 구할 수 있다.
Figure pat00020
여기서,
Figure pat00021
는 카메라의 고유 파라미터(intrinsic parameter)로서, 전술한 초점 거리
Figure pat00022
에 상응할 수 있다.
Figure pat00023
는 이미지 플레인(530) 상에서 소실점(540)과 바운딩 박스(515)의 바텀 엣지 간에 픽셀 거리, 다시 말해,
Figure pat00024
에 상응할 수 있다.
소실점 추정 장치는 예를 들어, 차선 및 기타 랜드마크(landmark)가 없고 차량만이 검출된 상황에서, 전술한 과정을 통해 영상으로부터 소실점을 추정할 수 있다.
도 6은 일 실시예에 따라 추정한 소실점을 사용하여 객체들을 추적한 결과를 도시한 도면이다. 도 6을 참조하면, 일 실시예에 따라 도로가 기울어진 경우에 전술한 소실점을 추정하는 방법에 통해 추정한 소실점을 사용해 투사된 추적 결과가 도시된다.
소실점 추정 장치는 전술한 과정을 통해 객체들(예를 들어, 차량들(110, 120, 130, 140)) 별로 소실점을 추정하고, 추정한 소실점에 의해 차량들(110, 120, 130, 140) 각각의 후면에 대응하는 정 위치에 바운딩 박스(610, 620, 630, 640)를 생성함으로써 차량들(110, 120, 130, 140) 15)의 추적 정확도를 향상시킬 수 있다.
도 7은 일 실시예에 따른 소실점을 추정하는 장치의 동작 과정을 설명하기 위한 블록도이다. 도 7을 참조하면, 일 실시예에 따른 소실점을 추정하는 장치('추정 장치')(700)는 카메라 장치(camera device)(710), 객체 검출 모듈(Object detection module)(720), 연관 모듈(Association module)(730), 추적 모듈(Tracking module)(740), 소실점 추정 모듈(Vanishing Point Estimation module)(750), 및 투영 모듈(Projection module)(760)을 포함할 수 있다.
카메라 장치(710)는 영상을 캡쳐할 수 있다. 이때, 영상은 타겟 차량을 포함하는 객체들을 포함하는 현재 시점의 영상일 수 있다.
객체 검출 모듈(720)은 카메라 장치(710)에 의해 캡쳐한 영상에 포함된 객체(들)를 검출할 수 있다.
연관 모듈(730)은 객체 검출 모듈(720)에 의해 검출된 객체와 추적 모듈(740)에서 적한 객체를 연관, 다시 말해 매칭시킬 수 있다.
추적 모듈(740)은 현재 시점에 앞선 이전 시점의 영상들로부터 객체들의 현재 위치 좌표들을 추정함으로써 객체들을 추적할 수 있다. 추적 모듈(740)은 월드 좌표계에서의 추적 결과를 출력할 수 있다.
소실점 추정 모듈(750)은 연관 모듈(730)에서 매칭된 결과, 다시 말해, 영상으로부터 검출된 객체와 객체들의 추정된 현재 위치 좌표들을 매칭한 결과에 따른 객체들의 위치에 기초하여 객체들 별로 소실점을 추정할 수 있다.
투영 모듈(760)은 소실점 추정 모듈(750)에 의해 추정된 객체들 별 소실점을 카메라 장치(710)에 의해 캡쳐한 영상에 투영하여 표시할 수 있다.
도 8은 다른 실시예에 따른 소실점을 추정하는 장치의 블록도이다. 도 8을 참조하면, 일 실시예에 따른 소실점 추정 장치(800)는 센서(810), 프로세서(830), 디스플레이(850), 통신 인터페이스(870), 및 메모리(890)를 포함할 수 있다. 센서(810), 프로세서(830), 디스플레이(850), 통신 인터페이스(870), 및 메모리(890)는 통신 버스(805)를 통해 서로 통신할 수 있다.
센서(810)는 타겟 차량을 포함하는 객체들의 현재 시점의 영상을 캡쳐한다. 센서(810)는 예를 들어, 카메라 센서, 이미지 센서 또는 비젼 센서일 수 있으며, 반드시 이에 한정되지는 않는다.
프로세서(830)는 현재 시점의 영상으로부터 객체들을 검출한다. 프로세서(830)는 객체들과 현재 시점에 앞선 이전 시점의 영상들로부터 추정한 객체들의 현재 위치 좌표들을 연관시킴으로써 월드 좌표계에서의 객체들의 위치를 추적한다. 프로세서(830)는 객체들의 위치에 기초하여 객체들 별로 소실점을 추정한다.
또한, 프로세서(830)는 도 1 내지 도 7을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(830)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 추정 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 추정 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(830)는 프로그램을 실행하고, 소실점 추정 장치(800)를 제어할 수 있다. 프로세서(830)에 의하여 실행되는 프로그램 코드는 메모리(890)에 저장될 수 있다.
디스플레이(850)는 프로세서(830)가 객체들 별로 추정한 소실점을 표시한다.
통신 인터페이스(870)는 프로세서(830)가 객체들 별로 추정한 소실점을 소실점 추정 장치(800)의 외부로 출력할 수 있다.
메모리(890)는 센서(810)로부터 캡쳐한 현재 시점의 영상 및/또는 프로세서(830)가 현재 시점의 영상으로부터 검출한 객체들을 저장할 수 있다. 또한, 메모리(890)는 프로세서(830)가 이전 시점의 영상들로부터 추정한 객체들의 현재 위치 좌표들 및/또는 프로세서(830)가 추적한 월드 좌표계에서의 객체들의 위치를 저장할 수 있다.
메모리(890)는 상술한 프로세서(830)에서의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(890)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(890)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(890)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, 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 (20)

  1. 타겟 차량을 포함하는 객체들의 현재 시점의 영상을 획득하는 단계;
    상기 현재 시점의 영상으로부터 상기 객체들을 검출하는 단계;
    상기 객체들과 상기 현재 시점에 앞선 이전 시점의 영상들로부터 추정한 상기 객체들의 현재 위치 좌표들을 연관(association)시킴으로써 월드 좌표계(world coordinate)에서의 상기 객체들의 위치를 추적하는 단계;
    상기 객체들의 위치에 기초하여, 상기 객체들 별로 소실점을 추정하는 단계; 및
    상기 객체들 별로 추정한 소실점을 출력하는 단계
    를 포함하는, 소실점을 추정하는 방법.
  2. 제1항에 있어서,
    상기 객체들을 검출하는 단계는
    상기 타겟 차량의 유형을 분류하는 단계; 및
    상기 분류된 유형을 기초로, 상기 현재 시점의 영상으로부터 상기 타겟 차량을 검출하는 단계
    를 포함하는, 소실점을 추정하는 방법.
  3. 제2항에 있어서,
    상기 타겟 차량을 검출하는 단계는
    상기 분류된 유형에 따라 상기 타겟 차량의 후면에 대응하는 바운딩 박스를 획득하는 단계; 및
    상기 바운딩 박스를 이용하여 상기 타겟 차량을 검출하는 단계
    를 포함하는, 소실점을 추정하는 방법.
  4. 제3항에 있어서,
    상기 바운딩 박스를 획득하는 단계는
    상기 분류된 유형에 대응하여 미리 저장된 차량의 차폭 정보를 호출하는 단계; 및
    상기 차폭 정보에 기초하여, 상기 타겟 차량의 차폭에 대응하는 바운딩 박스를 생성하는 단계
    를 포함하는, 소실점을 추정하는 방법.
  5. 제1항에 있어서,
    상기 객체들의 위치를 추적하는 단계는
    칼만 필터(Kalman filter)를 이용하여 상기 추정한 현재 위치 좌표들에 대응하는 제2 바운딩 박스들의 위치를 예측하는 단계;
    상기 객체들에 대응하는 제1 바운딩 박스들과 상기 제2 바운딩 박스들을 매칭(matching)시키는 단계; 및
    상기 매칭 결과에 기초하여, 상기 월드 좌표계에서의 상기 객체들의 위치를 추적하는 단계
    를 포함하는, 소실점을 추정하는 방법.
  6. 제5항에 있어서,
    상기 칼만 필터는
    상기 현재 시점의 영상에서의 상기 타겟 차량의 차폭과 상기 차폭의 중심으로부터의 좌우 방향의 이격 거리를 포함하는 관측 값(measurement)을 기초로, 상기 타겟 차량의 현재 위치 좌표, 및 상기 타겟 차량의 x 방향의 속도 및 y 방향의 속도를 예측함으로써 상기 타겟 차량의 현재 위치 좌표에 대응하는 제2 바운딩 박스의 위치를 결정하는,
    소실점을 추정하는 방법.
  7. 제1항에 있어서,
    상기 소실점을 추정하는 단계는
    상기 객체들 중 해당하는 객체에 대응하는 제1 바운딩 박스의 위치와 상기 객체들을 촬영한 카메라의 높이, 이미지 플레인(image plane) 상에서 상기 해당하는 객체에 대응하는 제3 바운딩 박스의 위치 간의 관계에 기초하여, 상기 해당하는 객체의 소실점을 추정하는 단계
    를 포함하는, 소실점을 추정하는 방법.
  8. 제1항에 있어서,
    상기 소실점을 출력하는 단계는
    상기 객체들 별로 추정한 소실점에 의해 상기 객체들을 상기 현재 시점의 영상에 투영(projection)하여 표시하는 단계
    를 더 포함하는, 소실점을 추정하는 방법.
  9. 제1항에 있어서,
    상기 객체들 별로 추정한 소실점에 기초하여, 상기 객체들 별 소실점과 상기 객체들 각각 사이의 거리를 산출하는 단계; 및
    상기 산출한 거리를 출력하는 단계
    를 더 포함하는, 소실점을 추정하는 방법.
  10. 제1항에 있어서,
    상기 객체들 별로 추정한 소실점에 기초하여, 상기 객체들 각각에 대응하는 주행 보조 정보를 생성하는 단계
    를 더 포함하는, 소실점을 추정하는 방법.
  11. 제10항에 있어서,
    상기 주행 보조 정보를 생성하는 단계는
    상기 객체들 별로 추정한 소실점에 기초하여, 상기 객체들 별 소실점과 상기 객체들 각각 사이의 거리를 산출하는 단계; 및
    상기 거리에 기초하여, 상기 객체들 각각의 주행 차선 및 주행 차로를 포함하는 주행 보조 정보를 생성하는 단계
    를 포함하는, 소실점을 추정하는 방법.
  12. 하드웨어와 결합되어 제1항 내지 제11항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  13. 타겟 차량을 포함하는 객체들의 현재 시점의 영상을 캡쳐하는 센서;
    상기 현재 시점의 영상으로부터 상기 객체들을 검출하고, 상기 객체들과 상기 현재 시점에 앞선 이전 시점의 영상들로부터 추정한 상기 객체들의 현재 위치 좌표들을 연관시킴으로써 월드 좌표계에서의 상기 객체들의 위치를 추적하며, 상기 객체들의 위치에 기초하여 상기 객체들 별로 소실점을 추정하는 프로세서; 및
    상기 객체들 별로 추정한 소실점을 출력하는 디스플레이
    를 포함하는, 소실점을 추정하는 장치.
  14. 제13항에 있어서,
    상기 프로세서는
    상기 타겟 차량의 유형을 분류하고, 상기 분류된 유형을 기초로 상기 현재 시점의 영상으로부터 상기 타겟 차량을 검출하는,
    소실점을 추정하는 장치.
  15. 제14항에 있어서,
    상기 프로세서는
    상기 분류된 유형에 따라 상기 타겟 차량의 후면에 대응하는 바운딩 박스를 획득하고, 상기 바운딩 박스를 이용하여 상기 타겟 차량을 검출하는,
    소실점을 추정하는 장치.
  16. 제15항에 있어서,
    상기 프로세서는
    상기 분류된 유형에 대응하여 미리 저장된 차량의 차폭 정보를 호출하고, 상기 차폭 정보에 기초하여 상기 타겟 차량의 차폭에 대응하는 바운딩 박스를 생성하는,
    소실점을 추정하는 장치.
  17. 제13항에 있어서,
    상기 프로세서는
    칼만 필터를 이용하여 상기 추정한 현재 위치 좌표들에 대응하는 제2 바운딩 박스들의 위치를 예측하고, 상기 객체들에 대응하는 제1 바운딩 박스들과 상기 제2 바운딩 박스들을 매칭시키며, 상기 매칭 결과에 기초하여 상기 월드 좌표계에서의 상기 객체들의 위치를 추적하는,
    소실점을 추정하는 장치.
  18. 제17항에 있어서,
    상기 칼만 필터는
    상기 현재 시점의 영상에서의 상기 타겟 차량의 차폭과 상기 차폭의 중심으로부터의 좌우 방향의 이격 거리를 포함하는 관측 값을 기초로, 상기 타겟 차량의 현재 위치 좌표, 및 상기 타겟 차량의 x 방향의 속도 및 y 방향의 속도를 예측함으로써 상기 타겟 차량의 현재 위치 좌표에 대응하는 제2 바운딩 박스의 위치를 결정하는,
    소실점을 추정하는 장치.
  19. 제13항에 있어서,
    상기 프로세서는
    상기 객체들 중 해당하는 객체에 대응하는 제1 바운딩 박스의 위치와 상기 객체들을 촬영한 카메라의 높이, 이미지 플레인 상에서 상기 해당하는 객체에 대응하는 제3 바운딩 박스의 위치 간의 관계에 기초하여, 상기 해당하는 객체의 소실점을 추정하는,
    소실점을 추정하는 장치.
  20. 제13항에 있어서,
    상기 프로세서는
    상기 객체들 별로 추정한 소실점에 의해 상기 객체들을 상기 현재 시점의 영상에 투영(projection)하고,
    상기 디스플레이는
    상기 투영된 상기 객체들을 표시하는,
    소실점을 추정하는 장치.
KR1020210069004A 2021-05-28 2021-05-28 소실점을 추정하는 방법 및 장치 KR20220160850A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210069004A KR20220160850A (ko) 2021-05-28 2021-05-28 소실점을 추정하는 방법 및 장치
US17/525,183 US20220383529A1 (en) 2021-05-28 2021-11-12 Method and apparatus with vanishing point estimation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210069004A KR20220160850A (ko) 2021-05-28 2021-05-28 소실점을 추정하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220160850A true KR20220160850A (ko) 2022-12-06

Family

ID=84194193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210069004A KR20220160850A (ko) 2021-05-28 2021-05-28 소실점을 추정하는 방법 및 장치

Country Status (2)

Country Link
US (1) US20220383529A1 (ko)
KR (1) KR20220160850A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024135926A1 (ko) * 2022-12-21 2024-06-27 주식회사 세미콘네트웍스 한대의 카메라로 차량의 거리 및 속도를 측정한 자율 주행 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8355539B2 (en) * 2007-09-07 2013-01-15 Sri International Radar guided vision system for vehicle validation and vehicle motion characterization
US8699754B2 (en) * 2008-04-24 2014-04-15 GM Global Technology Operations LLC Clear path detection through road modeling
JP2013097675A (ja) * 2011-11-02 2013-05-20 Honda Elesys Co Ltd 勾配推定装置、勾配推定方法、及び勾配推定プログラム
US9256791B2 (en) * 2012-12-04 2016-02-09 Mobileye Vision Technologies Ltd. Road vertical contour detection
US9761008B2 (en) * 2014-05-08 2017-09-12 The Trustees Of The University Of Pennsylvania Methods, systems, and computer readable media for visual odometry using rigid structures identified by antipodal transform
US11615623B2 (en) * 2018-02-19 2023-03-28 Nortek Security & Control Llc Object detection in edge devices for barrier operation and parcel delivery
US10565728B2 (en) * 2018-06-01 2020-02-18 Tusimple, Inc. Smoothness constraint for camera pose estimation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024135926A1 (ko) * 2022-12-21 2024-06-27 주식회사 세미콘네트웍스 한대의 카메라로 차량의 거리 및 속도를 측정한 자율 주행 시스템

Also Published As

Publication number Publication date
US20220383529A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
JP7052663B2 (ja) 物体検出装置、物体検出方法及び物体検出用コンピュータプログラム
EP3229041B1 (en) Object detection using radar and vision defined image detection zone
CN110807350B (zh) 用于面向扫描匹配的视觉slam的***和方法
CN111024040B (zh) 距离估计方法和设备
KR101470240B1 (ko) 주차 영역 검출 장치 및 그 방법
JP2020064046A (ja) 車両位置決定方法及び車両位置決定装置
JP6107081B2 (ja) 画像処理装置、画像処理方法及びプログラム
EP3159126A1 (en) Device and method for recognizing location of mobile robot by means of edge-based readjustment
US20160203629A1 (en) Information display apparatus, and method for displaying information
KR101880185B1 (ko) 이동체 포즈 추정을 위한 전자 장치 및 그의 이동체 포즈 추정 방법
WO2014033936A1 (ja) 画像処理装置、画像処理方法および画像処理プログラム
KR20210017525A (ko) 거리 추정 장치 및 이의 동작 방법
KR102006291B1 (ko) 전자 장치의 이동체 포즈 추정 방법
JP2020064056A (ja) 位置推定装置及び方法
KR101573576B1 (ko) Avm 시스템의 이미지 처리 방법
EP3324359B1 (en) Image processing device and image processing method
JP6552448B2 (ja) 車両位置検出装置、車両位置検出方法及び車両位置検出用コンピュータプログラム
KR102331000B1 (ko) 자율주행차량의 관심 대상 신호등을 특정하기 위한 방법 및 이를 이용한 컴퓨팅 장치
US11971257B2 (en) Method and apparatus with localization
Satzoda et al. On enhancing lane estimation using contextual cues
JP2020057358A (ja) ポーズ情報を取得する方法及び装置
JP2021033510A (ja) 運転支援装置
JP5396585B2 (ja) 地物特定方法
JP2016148956A (ja) 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム
KR20220160850A (ko) 소실점을 추정하는 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination