KR20210049581A - 이동체의 전방향에 대한 거리 취득 장치 및 방법 - Google Patents

이동체의 전방향에 대한 거리 취득 장치 및 방법 Download PDF

Info

Publication number
KR20210049581A
KR20210049581A KR1020190134052A KR20190134052A KR20210049581A KR 20210049581 A KR20210049581 A KR 20210049581A KR 1020190134052 A KR1020190134052 A KR 1020190134052A KR 20190134052 A KR20190134052 A KR 20190134052A KR 20210049581 A KR20210049581 A KR 20210049581A
Authority
KR
South Korea
Prior art keywords
cameras
moving object
processor
image
generating
Prior art date
Application number
KR1020190134052A
Other languages
English (en)
Other versions
KR102295809B1 (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 KR1020190134052A priority Critical patent/KR102295809B1/ko
Priority to US16/741,701 priority patent/US11307595B2/en
Publication of KR20210049581A publication Critical patent/KR20210049581A/ko
Application granted granted Critical
Publication of KR102295809B1 publication Critical patent/KR102295809B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • G06T7/596Depth or shape recovery from multiple images from stereo images from three or more stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/30Conjoint control of vehicle sub-units of different type or different function including control of auxiliary equipment, e.g. air-conditioning compressors or oil pumps
    • 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
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/02Systems for determining distance or velocity not using reflection or reradiation using radio waves
    • G01S11/04Systems for determining distance or velocity not using reflection or reradiation using radio waves using angle measurements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • 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
    • G06T2207/10021Stereoscopic video; Stereoscopic 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/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/30264Parking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Combustion & Propulsion (AREA)
  • Chemical & Material Sciences (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Electromagnetism (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)
  • Image Processing (AREA)

Abstract

이동체용 비전 장치가 개시된다. 본 이동체용 비전 장치는 상호 이격 배치되며, 이동체의 이동 방향에 대한 사선 방향으로 배치되는 복수의 카메라, 및 복수의 카메라 각각에서 촬상된 이미지를 수신하고, 수신된 복수의 이미지를 스테레오 정합하여 이동체 전방향에 대한 거리 정보를 생성하는 프로세서를 포함한다.

Description

이동체의 전방향에 대한 거리 취득 장치 및 방법{APPARATUS FOR ACQUISITION DISTANCE FOR ALL DIRECTIONS OF VEHICLE}
본 개시는 이동체의 전방향에 대한 거리 취득 장치 및 방법에 관한 것으로, 구체적으로, 이동체 코너 면에 위치하는 4개의 촬상 장치에서 촬상된 이미지를 이용하여 이동체의 전방향에 대한 거리 정보를 취득할 수 있는 거리 취득 장치 및 방법에 관한 것이다.
최근 자율 주행 등이 부각되면서, 차량 주변의 환경 정보를 확인할 수 있는 다양한 기술들이 이용되고 있다. 그 중에서도 가장 중요한 정보는 주변에 위치하는 객체와의 거리를 확인하는 것이다.
이를 위하여, 종래에는 LiDAR, RADAR 센서를 이용하거나, 일반 스테레오 카메라를 이용하였다. 그러나 LiDAR, RADAR 센서를 이용하는 방식은, 가격, 소모 전력량 등이 일반 카메라에 비하여 매우 놓고, 레이저를 쏘아 거리를 측정하므로 센서 간에 간섭이 있을 수 있다. 또한, 기계가 회전하면서 동작하므로 기계적으로 불안정하며 측정 해상도도 카메라에 비해 낮은 문제점이 있다.
그리고 일반적인 스테레오 카메라 방식은 차량의 전방향의 거리를 추정하기 위해서는 너무 많은 카메라(예를 들어, 12대)가 필요하고, 각 쌍으로부터 거리 추정을 할 때 쌍 사이에 인접 영역에 대한 정보 전파가 어렵고 경계면에서 비연속성 문제가 있었다.
따라서 본 개시는 상술한 바와 같은 문제점을 해결하기 위한 고안된 것으로, 이동체 코너 면에 위치하는 4개의 촬상 장치에서 촬상된 이미지를 이용하여 이동체의 전방향에 대한 거리 정보를 취득할 수 있는 거리 취득 장치 및 방법을 제공하는 데 있다.
따라서 본 개시는 상술한 바와 같은 문제점을 해결하기 위한 고안된 것으로, 본 개시의 일 실시 예에 따른 이동체용 비전 장치는 상호 이격 배치되며, 상기 이동체의 이동 방향에 대한 사선 방향으로 배치되는 복수의 카메라, 및 상기 복수의 카메라 각각에서 촬상된 이미지를 수신하고, 수신된 복수의 이미지를 스테레오 정합하여 상기 이동체 전방향에 대한 거리 정보를 생성하는 프로세서를 포함한다.
이 경우, 상기 복수의 카메라는 200도 이상의 화각을 갖는 4개의 카메라일 수 있다.
이 경우, 상기 이동체는 차량이고, 상기 4개의 카메라는 상기 차량의 루프의 각 코너 영역에 상기 이동체의 이동 방향에 대한 사선 방향으로 배치될 수 있다.
한편, 상기 프로세서는, 상기 수신된 복수의 이미지 각각을 가상의 3차원 도형에 투영하고, 투영된 영상을 이용하여 스테레오 정합을 수행할 수 있다.
이 경우, 본 비전 장치는 상기 복수의 카메라 각각에 대한 자세 정보를 저장하는 메모리를 더 포함하고, 상기 프로세서는, 상기 저장된 자세 정보를 이용하여 상기 복수의 이미지 각각을 상기 가상의 3차원 도형에 투영할 수 있다.
이 경우, 상기 프로세서는 기설정된 주기 단위로 상기 복수의 카메라 각각의 자세 정보를 산출하여, 상기 저장된 자세 정보를 업데이트할 수 있다.
한편, 상기 가상의 3차원 도형은, 구형, 정육면체, 직육면체 또는 원기둥 중 하나일 수 있다.
한편, 상기 프로세서는 상기 수신된 복수의 이미지 각각에 대한 특징 맵을 생성하고, 생성된 복수의 특징 맵 각각을 가상의 3차원 도형에 투영할 수 있다.
이 경우, 상기 프로세서는 상기 3차원 도형에 투영된 복수의 특징 맵을 병합하여 상기 이동체 전방향에 대한 공간 지도를 생성하고, 상기 생성된 공간 지도를 이용하여 상기 이동체 전방향에 대한 거리 지도(Depth map)을 생성할 수 있다.
한편, 상기 프로세서는 상기 거리 정보에 기초하여 상기 이동체의 6 자유도 자세를 산출할 수 있다.
한편, 상기 프로세서는 상기 복수의 카메라 간에 화각이 겹치는 영역은 평면 모델에 투영하고, 화각이 겹치지 않는 영역은 원통 모델에 투영하여 상기 수신된 이미지에 대한 이미지 처리를 수행할 수 있다.
한편, 본 개시의 일 실시 예에 따른 거리 정보를 생성하는 방법은 상호 이격 배치되며, 이동체의 이동 방향에 대한 사선 방향으로 배치되는 복수의 카메라 각각으로부터 이미지를 수신하는 단계, 및 수신된 복수의 이미지를 스테레오 정합하여 상기 이동체 전방향에 대한 거리 정보를 생성하는 단계를 포함한다.
이 경우, 상기 거리 정보를 생성하는 단계는 상기 수신된 복수의 이미지 각각을 가상의 3차원 도형에 투영하는 단계, 및 투영된 영상을 이용하여 스테레오 정합을 수행하는 단계를 포함할 수 있다.
이 경우, 상기 투영하는 단계는 상기 복수의 카메라 각각에 대한 기저장된 자세 정보를 이용하여 상기 복수의 이미지 각각을 상기 가상의 3차원 도형에 투영할 수 있다.
한편, 상기 거리 정보를 생성하는 단계는 상기 수신된 복수의 이미지 각각에 대한 특징 맵을 생성하는 단계를 더 포함하고, 상기 투영하는 단계는, 생성된 복수의 특징 맵 각각을 가상의 3차원 도형에 투영할 수 있다.
이 경우, 상기 스테레오 정합을 수행하는 단계는 상기 3차원 도형에 투영된 복수의 특징 맵을 병합하여 상기 이동체 전방향에 대한 공간 지도를 생성하는 단계, 및 하고, 상기 생성된 공간 지도를 이용하여 상기 이동체 전방향에 대한 거리 지도(Depth map)을 생성하는 단계를 포함할 수 있다.
한편, 본 방법은 상기 거리 정보에 기초하여 상기 이동체의 6 자유도 자세를 산출하는 단계를 더 포함할 수 있다.
한편, 본 방법은 상기 복수의 카메라 간에 화각이 겹치는 영역은 평면 모델에 투영하고, 화각이 겹치지 않는 영역은 원통 모델에 투영하여 상기 수신된 이미지에 대한 이미지 처리를 단계를 더 포함할 수 있다.
본 개시는 이상과 같은 목적을 달성하기 위한 것으로, 본 개시에 따른 비전 장치 및 방법은 4대의 카메라만을 이용하여 이동체의 전방향에 대한 거리 정보 생성이 가능하다. 그리고 비전 장치 및 방법은 다중 광각 영상의 왜곡을 카메라 간의 기하학적 관계와 렌즈 왜곡 파라미터를 동시에 이용하여 보정하는바, 카메라 간의 영상 대응 쌍을 효과적으로 추정할 수 있다. 또한, 비전 장치 및 방법은 카메라의 촬상 방향에 대한 오차를 실시간으로 보상할 수 있어, 성능 저하를 방지할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 비전 장치의 간단한 구성을 나타낸 블럭도,
도 2는 본 개시의 일 실시 예에 따른 비전 장치의 구체적인 구성을 나타낸 블럭도,
도 3은 본 개시의 복수의 카메라가 차량에 배치된 경우의 예를 도시한 도면,
도 4는 본 개시의 복수의 카메라의 촬상 범위를 설명하기 위한 도면,
도 5는 본 개시의 일 실시 예에 따라 캘리브레이션 방법을 설명하기 위한 도면,
도 6은 본 개시의 일 실시 예에 따라 스테레오 매핑 방법을 설명하기 위한 도면,
도 7은 본 개시의 일 실시 예에 따라 인공지능 신경망을 이용한 거리 추정 방법을 설명하기 위한 도면,
도 8 은 본 개시의 일 실시 예에 따라 어안 영상 투영 모델을 설명하기 위한 도면,
도 9는 본 개시의 일 실시 예에 따른 어안 영상 투영 모델을 이용한 경우의 스테레오 영상의 예를 도시한 도면,
도 10은 본 개시의 일 실시 예에 따른 자세 추정 알고리즘을 설명하기 위한 도면, 그리고,
도 11은 본 개시의 일 실시 예에 따른 거리 정보를 생성하는 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시에 대해서 자세하게 설명한다. 본 명세서에서 언급되는 전송 또는 전달이라 함은, 데이터나 정보 또는 신호의 전송 등을 의미할 수 있으며, 필요에 따라서 암호화/복호화가 적용될 수 있다.
또한, 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, 반드시 A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다. 또한, 본 명세서에서 도시 및 언급되는 각 장치들은 서로 독립적인 장치로 구현될 수도 있지만, 반드시 이에 한정되는 것은 아니며 하나의 장치 안에 포함되는 여러 부품들로 구현될 수도 있다.
본 개시의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 개시의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다.
그리고 본 명세서에서 "A 또는 B"라고 기재한 것은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서는 본 개시의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 개시의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
후술하는 본 새시의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 발명에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.
이하에서는 첨부된 도면을 이용하여 본 개시의 다양한 실시 예들에 대하여 구체적으로 설명한다.
도 1은 본 개시의 일 실시 예에 따른 비전 장치의 간단한 구성을 나타낸 블럭도이다.
도 1을 참조하면, 비전 장치(100)는 복수의 카메라(110) 및 프로세서(120)를 포함할 수 있다. 여기서 비전 장치(100)는 이동체 주변 환경을 감지하는 비전 기반의 장치로, 이동체의 전방향에 대한 거리 정보를 갖는 거리 지도(Depth map)를 생성할 수 있다. 또한, 비전 장치(100)는 이동체의 주행 시스템과 결합되어 주행 보조 시스템, 어라운드 뷰 장치, 자율 주행 시스템 등일 수도 있다.
여기서 이동체는 승용차 등과 같은 자동차나, 드론 등의 이동 물체일 수 있다.
복수의 카메라(110)는 이동체의 이동 방향에 대한 사선 방향으로 배치될 수 있다. 이러한 카메라는 4대로 구성될 수 있으며, 각 카메라는 시야각이 200도 이상인 어안 렌즈 카메라일 수 있다. 여기서 사선 방향은 이동 방향(예를 들어, 전면)에 대해서 좌측으로 대략 45도(또는 -45도, 225도, -225도) 사선 방향일 수 있다. 상술한 수치는 예시에 불가하며, 카메라의 개수 및 각 카메라의 화각에 따라 다양한 값이 이용될 수 있다.
이와 같이 카메라 각각은 넓은 시야각을 갖는바, 4대의 카메라를 이용하여 이동체의 전방향(전방, 양 측면, 후면)에 대한 이미지 생성이 가능하다. 또한, 각 방향에 대해서 두 대의 카메라가 동일한 영역을 오버랩하여 촬상하는바, 거리 추정이 가능하다. 복수의 카메라의 구체적인 배치 구조 및 그에 따른 효과에 대해서는 도 3 및 도 4를 참조하여 후술한다.
프로세서(120)는 비전 장치(100) 내의 각 구성을 제어한다. 예를 들어, 프로세서(120)는 후술하는 메모리(140)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 비전 장치(100)의 동작을 전반적으로 제어할 수 있다. 이러한 프로세서(120)는 하나의 CPU로 구성될 수 있으며, CPU, GPU, ASIC 등 다양한 장치의 조합으로 구현될 수 있다.
프로세서(120)는 복수의 카메라(110) 각각에서 촬상된 이미지를 수신할 수 있다. 예를 들어, 복수의 카메라(110)에서 출력되는 영상은 직접 프로세서(120)에 전달될 수도 있으며, 별도의 장치(예를 들어, 중계기 등)를 통하여 전달될 수도 있다. 한편, 구현시에 각 영상은 유선 통신 방식뿐만 아니라, 무선 통신 방식으로도 프로세서(120)에 전달될 수도 있다.
그리고 프로세서(120)는 수신된 이미지에 대한 이미지 처리를 수행할 수 있다. 예를 들어, 본 개시에서 사용하는 카메라는 어안 렌즈 카메라이며, 어안 렌즈 카메라는 일반적인 카메라와 다른 왜곡 특성을 갖는다. 이러한 점에서, 후술하는 대응 쌍 추정 등을 더욱 빠르게 수행할 수 있도록, 프로세서(120)는 수신된 이미지에 대해서 어안 렌즈 특유의 왜곡을 보상하는 이미지 처리를 우선적으로 수행할 수 있다.
예를 들어, 프로세서(120)는 복수의 카메라 간에 화각이 겹치는 영역은 평면 모델에 투영하고, 화각이 겹치지 않는 영역은 원통 모델에 투영하여 수신된 이미지에 대한 이미지 처리를 수행할 수 있다.
이때, 프로세서(120)는 평면 모델과 원통 모델을 부드럽게 이어지는 하이브리드 투명 모델을 이용하여 원통 모델에 투영된 이미지와 평면 모델에 투영된 이미지를 결합할 수 있다.
그리고 프로세서(120)는 수신된 복수의 이미지를 스테레오 정합하여 이동체 전방향에 대한 거리 정보를 생성할 수 있다.
이때, 프로세서(120)는 선행적으로 입력된 복수의 이미지(또는 이미지 처리된 이미지)에서 특징 맵을 생성할 수 있다. 예를 들어, 프로세서(120)는 합성 뉴럴 네트워크에 이미지를 입력하여, 복수의 특징 맵을 추출할 수 있다. 특징 맵을 이용하는 경우, 스테레오 매핑 과정에서의 연산량을 줄일 수 있는 효과가 있다.
그리고 프로세서(120)는 복수의 이미지(또는 복수의 특징 맵)를 가상의 3차원 도형에 투영할 수 있다. 예를 들어, 프로세서(120)는 복수의 카메라(110) 각각에 대한 자세 정보를 이용하여 복수의 이미지 각각을 가상의 3차원 도형에 투영할 수 있다.
여기서 자세 정보는 해당 카메라의 촬상 방향에 대한 정보이다. 이러한 자세 정보를 생성하는 구체적인 방법은 도 5를 참조하여 후술한다. 그리고 3차원 도형은 구형, 정육면체, 직육면체 또는 원기둥 중 하나일 수 있다. 구형에 이미지를 투영하는 동작 예에 대해서는 도 6을 참조하여 후술한다.
그리고 프로세서(120)는 3차원 도형에 투영된 복수의 이미지 각각을 병합하여 이동체 전방향에 대한 공간 지도를 생성할 수 있다. 예를 들어, 3차원 도형에 투영된 특징 맵 각각을 병합하여 3차원 전방향 영역에 대한 물리적인 공간 정보를 포함하도록 변환할 수 있다. 또는 복수의 이미지를 구형 스윕 알고리즘(spherical sweep algorithm)을 이용하여 비용 맵(Cost map)을 산출할 수 있다.
그리고 프로세서(120)는 생성된 공간 지도(또는 비용 맵)를 이용하여 이동체 전방향에 대한 거리 지도(Depth map)를 생성할 수 있다. 예를 들어, 프로세서(120)는 ( , , n)-wise 3D convolution와 공간 지도를 이용하여 이동체의 전방향에 대한 거리 지도를 생성할 수 있다.
그리고 프로세서(120)는 이동체의 자세를 산출할 수 있다. 구체적인 자세 산출 동작은 도 10을 참조하여 후술한다.
또한, 프로세서(120)는 생성된 거리 지도를 이용하여 사용자에게 필요한 알람을 주거나, 주행 경로를 변경하는 등의 작업을 수행할 수도 있다.
한편, 이상에서는 비전 장치를 구성하는 간단한 구성에 대해서만 도시하고 설명하였지만, 구현시에는 다양한 구성이 추가로 구비될 수 있다. 이에 대해서는 도 2를 참조하여 이하에서 설명한다.
도 2는 본 개시의 일 실시 예에 따른 비전 장치의 구체적인 구성을 나타낸 블럭도이다.
도 2를 참조하면, 비전 장치(100)는 복수의 카메라(110), 프로세서(120), 통신 장치(130), 메모리(140) 및 디스플레이(150)를 포함할 수 있다.
복수의 카메라(110)에 대해서는 도 1과 관련하여 설명하였는바, 중복 설명은 생략한다. 그리고 프로세서(120)에 대해서도 도 1과 관련하여 설명하였는바, 도 1에서 설명한 내용은 중복 기재하지 않고, 도 2에 추가된 구성과 관련된 내용만 이하에서 설명한다.
통신 장치(130)는 비전 장치(100) 내부의 각 구성을 연결할 수 있다. 예를 들어, 통신 장치(130)는 복수의 카메라 각각과 유선 또는 무선 방식으로 연결될 수 있으며, 각 카메라로부터 이미지(또는 영상)를 수신하고, 수신된 이미지를 프로세서(120)에 제공할 수 있다.
그리고 통신 장치(130)는 외부 장치와 연결하기 위해 형성되고, 근거리 통신망(LAN: Local Area Network) 및 인터넷망을 통해 비전 장치(100)에 접속되는 형태뿐만 아니라 USB(Universal Serial Bus) 포트, 무선 통신망을 통하여 접속되는 형태도 가능하다.
예를 들어, 통신 장치(130)는 GPS 위성, 기지국, 지도 서버 등에 연결될 수 있으며, GPS 위성이 발신하는 GPS 신호를 수신하여 프로세서(120)에 제공할 수 있다.
그리고 통신 장치(130)는 생성한 거리 정보(구체적으로, 거리 지도)를 외부 장치(예를 들어, 이동체)에 제공할 수 있다.
메모리(140)는 비전 장치(100)에 관한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 예를 들어, 메모리(140)에는 본 개시의 다양한 실시 예에 따라 비전 장치(100)가 동작하기 위한 각종 프로그램(또는 소프트웨어)이 저장될 수 있다.
그리고 메모리(140)는 복수의 카메라에서 촬상된 이미지를 저장할 수 있으며, 이미지 처리된 이미지를 저장할 수도 있다. 또한, 메모리(140)는 프로세서(120)에서 생성한 이동체의 전 방향에 대한 거리 정보 즉, 거리 지도를 저장할 수 있다.
그리고 메모리(140)는 복수의 카메라 각각에 대한 자세 정보를 저장할 수 있다. 또한, 메모리(140)는 산출된 이동체의 자세 정보를 저장할 수 있다.
디스플레이(150)는 비전 장치(100)에서 제공되는 각종 정보를 표시할 수 있다. 이러한 디스플레이(250)는 LCD(Liquid Crystal Display), CRT(Cathode Ray Tube), OLED(Organic Light Emitting Diodes) 등과 같은 모니터일 수 있다.
이러한 디스플레이(150)는 이동체의 전방향에 대한 거리 정보를 표시하거나, 이동체의 전방향에 대한 이미지(어라운드뷰)를 표시할 수 있다. 또한, 디스플레이(150)는 이동체 주변에 특정 물체와의 거리가 급격히 가까워져 알람이 필요한 경우, 알람을 표시하는 등의 동작을 수행할 수도 잇다.
프로세서(120)는 메모리(140)에 저장된 자세 정보를 이용하여 스테레오 매핑을 수행할 때, 저장된 자세 정보를 이용하여 구면에 투영할 수 있다. 그리고 프로세서(120)는 주기적으로 각 카메라의 자세 정보를 산출하고, 산출된 자세 정보를 기초로 기저장된 자세 정보를 업데이트할 수 있다.
그리고 프로세서(120)는 생성된 거리 정보(즉, 거리 맵) 등의 정보를 메모리(140)에 저장할 수 있다.
이상과 같이 본 개시의 일 실시 예에 따른 비전 장치는 4대의 카메라만을 이용하여 이동체의 전방향에 대한 거리 정보 생성이 가능하다. 그리고 비전 장치는 다중 광각 영상의 왜곡을 카메라 간의 기하학적 관계와 렌즈 왜곡 파라미터를 동시에 이용하여 보정하는바, 카메라 간의 영상 대응 쌍을 효과적으로 추정할 수 있다. 또한, 비전 장치는 카메라의 촬상 방향에 대한 오차를 실시간으로 보상할 수 있어, 성능 저하를 방지할 수 있다.
한편, 도 1 및 도 2를 도시하고 설명함에 있어서, 본 비전 장치(100)가 이동체와 구분된 장치인 것으로 도시하고 설명하였지만, 구현시에 비전 장치(100)는 이동체의 일 구성이거나, 자율 주행 시스템 내의 일부 구성일 수 있다.
도 3은 본 개시의 복수의 카메라가 차량에 배치된 경우의 예를 도시한 도면이고, 도 4는 본 개시의 복수의 카메라의 촬상 범위를 설명하기 위한 도면이다.
도 3 및 도 4를 참조하면, 복수의 카메라(110)는 4대의 카메라를 포함한다. 이러한 복수의 카메라는 차량의 루프의 각 코너에 배치될 수 있다.
예를 들어, 제1 카메라(110-1)는 차량 루프의 전면 영역 중 우측에 배치되어, 전면 및 우측(즉, 사선 방향)을 촬상방향으로 차량의 전면 및 우측을 촬상할 수 있다.
그리고 제2 카메라(110-2)는 차량 루프의 전면 영역 중 좌측에 배치될 수 있다. 이러한 제2 카메라(110-2)는 전면 및 좌측을 촬상방향으로 하여 차량의 전면 및 좌측 방향을 촬상할 수 있다.
이와 같이 차량의 전면 방향에 대해서 제1 카메라(110-1) 및 제2 카메라(110-2)가 상호 오버랩하여 촬상을 수행하는바, 차량 전면 방향에 위치하는 물체에 대한 거리 추정이 가능하다.
그리고 제3 카메라(110-3)는 차량 루프의 후면 영역 중 좌측에 배치되어, 후면 및 좌측을 촬상방향으로 하여 차량의 좌측 및 후면 영역을 촬상할 수 있다.
이와 같이 차량의 좌측에 대해서 제2 카메라(110-2) 및 제3 카메라(110-3)가 상호 오버랩하여 촬상을 수행하는바, 차량 좌측에 위치하는 물체에 대한 거리 추정이 가능하다.
그리고 제4 카메라(110-4)는 차량 루프의 후면 영역 중 뒤쪽에 배치되어, 후면 및 우측 방향을 중심축으로 하여 차량의 후면 및 우측을 촬상할 수 있다.
이와 같이 차량의 후면 방향에 대해서 제3 카메라(110-3) 및 제4 카메라(110-4)가 상호 오버랩하여 촬상을 수행하는바, 차량 후면 방향에 위치하는 물체에 대한 거리 추정이 가능하다.
또한, 차량의 우측에 대해서 제4 카메라(110-4) 및 제1 카메라(110-1)가 상호 오버랩하여 촬상을 수행하는바, 차량 우측에 위치하는 물체에 대한 거리 추정이 가능하다.
또한, 상술한 제1 내지 제4 카메라는 200도 이상의 넓은 화각을 갖고, 적어도 100mm(바람직하게는 80~100mm) 갖는바, 차량의 전면/좌측면/우측면/후면 각각에 대해서 상호 이격된 2대의 카메라가 촬상을 수행할 수 있다. 도시된 예에서는 각 카메라는 220도의 화각을 가지나, 해당 화각에 본 개시가 한정되는 것은 아니다.
이상과 같이 본 개시에서는 4개의 카메라가 220도의 화각을 갖는바, 비전 시스템은 전체적으로 수평 방향에 대해서 360 화각(FOV)을 갖고, 수직 방향에 대해서 180 화각을 가질 수 있다.
한편, 도시된 예에서는 복수의 카메라가 차량의 루프에 배치되는 것으로 도시하고 설명하였지만, 구현시에는 차량의 필러(예를 들어, A필러, C 필러)에 배치될 수도 있다. 또는 복수의 카메라 중 2개는 보닛(bonnet)이나 사이드미러에 배치될 수도 있다. 또한, 이상에서는 차량이 승용차인 것으로 도시하고 설명하였지만, 구현시에는 화물차 또는 다양한 산업용 차량이 이용될 수 있으며, 이러한 경우, 각 차량에서 해당 차량의 전방향을 측정하기 적합한 영역에 배치될 수 있다.
또한, 바퀴로 동작하는 이동체뿐만 아니라, 캐터필러로 동작하는 이동체나 프로펠러로 동작하는 드론 등의 무인 항공기에도 적용될 수 있다.
한편, 도 4 및 도 5를 도시함에 있어서, 4대의 카메라를 이용하여 비전 장치를 구성하였지만, 구현시에는 5대 이상의 카메라를 이용하여 비전 장치를 구성할 수도 있다. 또한, 이상에서는 일반적인 가시광선 대의 이미지를 생성하는 카메라를 이용하였지만, 구현시에 각 카메라는 가시광선 영역뿐만 아니라, 적외선 영역에 대한 촬상도 가능하여 야간에는 적외선 이미지를 이용하여 상술한 동작을 수행할 수도 있다.
이상과 같이 본 개시에 따른 비전 시스템은 물체까지의 거리에 비해 카메라 사이의 간격이 매우 넓다. 그리고 장착된 카메라가 초광각의 시야각(ultra-wide FOV)을 갖는 특성이 있다. 따라서, 이와 같은 환경에서 장착된 카메라에서 촬상된 이미지를 이용하여 거리를 측정하기 위해서는 우선적으로 설치된 카메라의 3차원 자세를 정확하게 추정할 필요가 있다.
이하에서는 도 5를 참조하여 본 개시에 따른 자체 추정 방법을 설명한다.
도 5는 본 개시의 일 실시 예에 따라 캘리브레이션 방법을 설명하기 위한 도면이다.
렌즈 왜곡은 다항식으로 모델링될 수 있다. 그리고 투영 함수(
Figure pat00001
)가 3차원 좌표(X)에서 정규화된 이미지 플랜 상에 2차원 좌표(x)로 매핑한다면, 이를 수학식 1과 같이 표현할 수 있다.
[수학식 1]
Figure pat00002
여기서, x는 2차원 좌표, X는 3차원 좌표,
Figure pat00003
는 어안 렌즈의 고유 매개 변수이다.
정규화된 이미지 좌표(x)는 아핀 변환(affine transformation)(A(x))에 의하여 픽셀 좌표로 변환될 수 있다.
카메라 캘리브레이션 시에 체커 보드가 이용될 수 있다. 예를 들어, 각 카메라에 대해서 렌즈 초기 파라미터 및 채커 보드와의 상대적 위치를 산출하고, 이러한 상대적 위치를 이용하여 리그를 초기화하고 모든 외적 및 내적 매개변수를 최적화하는 동작을 수행할 수 있다.
큰 체커 보드가 충분한 겹침을 보장하기 위하여 사용될 수 있다. 여기서 외부 파라미터는
Figure pat00004
로 표현될 수 있다. 그리고, r은 축 각도 회전이고, t는 변환 백터(
Figure pat00005
)이다.
그리고 강성 변환 행렬(
Figure pat00006
)은
Figure pat00007
로 주어질 수 있다. 여기서,
Figure pat00008
는 r에 대응되는 3 x 3 회전 행렬일 수 있다.
i 번 째 카메라의 체커 보드 이미지로부터, 렌즈 내부 파라미터는
Figure pat00009
,
Figure pat00010
이고, 체커 보드에 대한 카메라의 상대적 위치는
Figure pat00011
로 표현할 수 있다. 여기서 k는 캡처 인덱스이다.
카메라 i에서부터 j까지의 상대적인 위치는 동시에 촬영된 한 쌍의 이미지(i, k), (j, k)의 쌍으로부터
Figure pat00012
로 계산될 수 있다. 여기서
Figure pat00013
는 조성(composition) 연산이고,
Figure pat00014
는 인버스 연산이다.
외부 보정에 대해서, 모든 카메라 포즈(
Figure pat00015
), 채커 보드의 포즈(
Figure pat00016
)가 도 5의 중간에 도시된 바와 같이, 제2 카메라 좌표 시스템에서 초기화될 수 있다. 구현시에는 제2 카메라 이외에 다른 카메라를 먼저 초기화할 수도 있다.
그리고 수학식 2와 같이, 체커 보드 영상의 코너 좌표에 대한 영상 간의 재투영 오차(re-projection error)를 최소화하도록 캘리브레이션을 수행할 수 있다.
[수학식 2]
Figure pat00017
여기서, {(i, k)}는 i번째 카메라에서 체커 보드 위치(k)의 관측치 세트이다. 그리고,
Figure pat00018
는 체커 보드 내의 코너 위치(
Figure pat00019
)의 좌표이다. 그리고,
Figure pat00020
는 i 번째 이미지 내의
Figure pat00021
의 픽셀 좌표이다. 이와 같은 최적화에 Ceres solver가 이용될 수 있다.
이러한 점을 참조하면, 먼저, 체크 무늬(또는 격자 무늬)를 갖는 체커 보드를 두 카메라 사이에 배치하여 촬상을 수행할 수 있다(510). 여기서 체크 보드는 기설정된 크기를 가질 수 있으며, 복수의 체크 무늬를 가질 수 있다.
이와 같이 두 카메라가 하나의 체커 보드를 동시에 촬상한 경우, 프로세서(120)는 각 카메라의 출력 영상에서 체커 보드가 위치하는 영역을 감지하고, 감지된 체커 보드 영역을 기초로 두 카메라의 자세를 추정하거나 두 카메라에 대한 캘리브레이션을 수행할 수 있다(520). 예를 들어, 제2 카메라(110-2)를 기준으로 제1 카메라(110-1)를 캘리브레이션하고, 순차적으로 제2 카메라(110-2)를 기준으로 제3 카메라(110-3)를 캘리브레이션하고, 마지막으로 제4 카메라(110-4)를 캘리브레이션 할 수 있다.
한편, 구현시에는 4 방위(전면, 좌측, 우측, 뒤쪽)중 적어도 3곳 이상에 체커 보드를 배치하여 동시에 4개의 카메라에 대한 캘리브레이션을 수행할 수도 있다. 이때, 프로세서(120)는 상술한 바와 같이, 체커 보드 영상의 코너 좌표에 대한 영상 간의 재투영 오차(re-projection error)를 최소화하도록 캘리브레이션을 수행할 수 있다.
그리고 캘리 브레이션이 완료되면, 복수의 카메라 각각에 대한 자세 정보(530)를 산출할 수 있다. 예를 들어, 체커 보드를 차량을 기준으로 하여 기설정된 위치에 위치한 경우(예를 들어, 차량의 정면에서 3m 방향, 바닥에서 1m 높이)에 위치한 경우, 상술한 과정에서 각 카메라의 자세를 보다 정확하게 추정할 수 있다.
도 6은 본 개시의 일 실시 예에 따라 스테레오 매핑 방법을 설명하기 위한 도면이다.
한편, 차량 주변의 전방향에 대한 거리 추정을 위하여, 다양한 스테레오 매핑 방법을 이용할 수 있다. 예를 들어, plane-sweep 알고리즘, local sphere-sweep 알고리즘, global(spherical)-sweep 알고리즘이 이용될 수 있다.
상술한 바와 같이 본 개시에 비전 시스템에서는 상호 이격된 복수의 카메라를 이용한다는 점에서, global(spherical)-sweep 알고리즘이 가장 적합하다. 이러한 점에서, 이하에서는 global(spherical)-sweep 알고리즘에 대해서 설명한다.
한편, 구현시에는 global(spherical)-sweep 알고리즘뿐만 아니라, 상술한 plane-sweep 알고리즘, local sphere-sweep 알고리즘을 사용할 수도 있으며, 상술한 알고리즘을 변형하여 이용할 수도 있다.
도 6을 참조하면, 앞선 과정에서 추정된 카메라 자세를 기초로, 카메라가 장착된 리그의 중심을 원점으로 설정하고, 일정 단위로 샘플링된 거리를 반지름으로 하는 가상의 구면(630)을 설정할 수 있다. 구체적으로, 스윕(sweep)의 중심은 어느 곳이든 가능하지만, 구형 이미지의 왜곡을 최소화하기 위하여, 원점에 대한 리그를 중심으로 선택하고, xy평면을 카메라 중심에 가깝게 정렬할 수 있다.
이와 같은 구형 좌표 시스템에서,
Figure pat00022
Figure pat00023
Figure pat00024
에 대응될 수 있다. 리그 좌표 시스템에서 카메라 외부 파라미터를
Figure pat00025
로 변환한다면, 투영 함수는
Figure pat00026
와 같이 표현할 수 있다.
따라서, 각 카메라(110)에서 촬상된 영상(610-1, 610-2)을 상술한 가상의 구면에 투영하고(620-1, 620-2), 투영된 영상을 스테레오 정합하여 전방향에 대한 거리를 추정할 수 있다.
구체적으로, 뒤틀린 구형 이미지(S) 내의 각 픽셀은
Figure pat00027
로 표현될 수 있다. 이러한 구형 이미지(S)는
Figure pat00028
해상도를 가지며,
Figure pat00029
내지
Figure pat00030
까지의
Figure pat00031
변화량을 가질 수 있다.
Figure pat00032
Figure pat00033
에서
Figure pat00034
범위를 갖지만, 천장 또는 바닥은 관심 분야가 아닌바, 작은 범위를 이용할 수 있다. N 구는 인버스 깊이가 균일하도록 샘플링되고, 예를 들어, 최소 깊이가
Figure pat00035
일 때, n번째 구까지의 인버스 깊이는
Figure pat00036
Figure pat00037
일 수 있다. 즉, 구의 반지름은
Figure pat00038
(n은 0이 아님)일 수 있다.
도 6의 630을 참조하면, 구 이미지의 픽셀 값은 다음과 같은 수학식 3과 같이 표현될 수 있다.
[수학식 3]
Figure pat00039
여기서, Ii는 i번째 카메라에서 캡처된 이미지이다. n이 0일 때,
Figure pat00040
이 사용될 수 있다. 한편, 투영된 픽셀이 입력 영상의 가시 영역에 없다면, 추가적인 처리가 수행되지 않을 수 있다.
한편, 도 6에서는 구면을 이용하였지만, 전방향을 커버할 수 있다면 투영되는 3차원 도형은 주변 환경에 따라 정육면체, 직육면체, 원기둥 등 다양한 형태가 이용될 수 있다.
한편, 스테레오 정합은 서로 이격된 위치에서 촬상된 두 개의 이미지를 이용한다. 보통의 화각을 갖는 카메라에서 촬상된 이미지를 이용하는 경우에는 영상을 좌 또는 우로 단순히 이동(ID-shift)시킴으로써 스테레오 정합을 수행할 수 있다.
이와 같은 방식을 차량의 전방향에 대한 거리를 추정하는데 이용한다면, 최소 12대(카메라의 화각이 60도인 경우, 2*6대)의 카메라가 필요하다. 또한, 각 쌍으로부터 거리 추정을 할 때 쌍 사이에 인접 영역에 대한 정보 전파가 어렵고, 경계면에서 비연속성 문제가 발생한다.
따라서, 본 개시에서는 넓은 광각을 갖는 렌즈를 이용하되, 이동체의 코너 영역에 사선 방향으로 배치함으로써 적은 수의 카메라로 차량의 전방향에 대한 거리를 추정한다.
도 7은 본 개시의 일 실시 예에 따라 인공지능 신경망을 이용한 거리 추정 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 본 개시에 따른 거리 추정 방법은 1) 단항 특징 추출(unary feature extraction), 2) 구형 스윕(Spherical sweeping), 3) 비용 볼륨 계산(Cost volume computation)으로 구성된다. 한편, 도 7의 동작에 대한 네트워크 아크텍쳐는 다음과 같은 표 1과 같다.
[표 1]
Figure pat00041
먼저, 단항 특징 추출 단계(720)는, 각 카메라에서 취득한 입력 영상(710)에서 특징 맵을 추출할 수 있다. 예를 들어, 4개의 카메라 각각에서 취득된 4개의 입력 영상(710) 각각을 컨볼루션 신경망(2D CNN(Convolution Neural Network))에 넣어 특징 맵을 추출할 수 있다.
특징 맵을 이용함으로써, 카메라에서 생성한 이미지를 그대로 이용하는 것보다 적은 연산량으로 투영, 매칭 등의 동작을 수행할 수 있다. 한편, 시스템의 리소스가 상당히 높은 경우에는 특징 맵을 생성하는 과정은 생략될 수 있다.
구형 스윕(Spherical sweeping) 단계(730)는, 4개의 특징 맵을 2-c-iii의 global (spherical)-sweep 과정을 통해 구면에 투영한다(730). 구체적으로, 도 6에서 설명한 바와 같은 방식을 이용하여 특징 맵을 구면에 투영할 수 있다. 한편, 도 7에서는 특징 맵을 투영한다는 점에서, 수학식 3은 수학식 4로 표현될 수 있다.
[수학식 4]
Figure pat00042
그리고 비용 볼륨 계산(Cost volume computation) 단계(740)는 3차원 전방향 영역에 대한 물리적인 공간 정보를 포함하도록 변환하고, 병합 결과를 3D encoder-decoder에 반영하여 거리 지도을 생성할 수 있다.
구체적으로, 구형 특징 맵은 3x3x3 합성을 통하여 4D 초기 비용 볼륨으로 통합될 수 있다. 그리고 3D 인코더-디코더 아크텍처를 이용하여 비용을 세분화하고 정규화할 수 있다.
마지막으로, 인버스 깊이 인덱스(
Figure pat00043
)는 아래와 같은 수학식 5로 계산될 수 있다.
[수학식 5]
Figure pat00044
여기서, C는 (H x W x N)에 대한 정규화된 비용 볼륨이다.
엔드 투 엔드 방식으로 네트워크를 학습시키기 위하여, 입력 이미지와 수학식 6과 같은 그라운드 트루 인버스 뎁스 인덱스(ground truth inverse depth index)를 이용할 수 있다.
[수학식 6]
Figure pat00045
여기서,
Figure pat00046
는 그라운드 트루 인버스 뎁스이고,
Figure pat00047
는 최소 인버스 뎁스이고,
Figure pat00048
는 최대 인버스 깊이이다. 그리고 그라운드 트루(ground truth) 및 예측되는 인덱스 사이의 절대 오차 손실을 다음과 같이 정의할 수 있다.
[수학식 7]
Figure pat00049
도 8 은 본 개시의 일 실시 예에 따라 어안 영상 투영 모델을 설명하기 위한 도면이다. 도 9는 본 개시의 일 실시 예에 따른 어안 영상 투영 모델을 이용한 경우의 스테레오 영상의 예를 도시한 도면이다.
종래의 어안 이미지는 동일한 물체이나 왜곡으로 인해 상이하게 투영되므로, 영상의 유사성을 통해 대응 쌍을 찾는 기존 컴퓨터 비전 알고리즘의 현저한 성능 저하을 초래한다. 이러한 한계는 대응 쌍을 기반으로 움직임을 추정하는 본 개시의 기술 성능에 영향을 미친다.
따라서, 본 개시는 서로 다른 카메라 간의 자세 정보를 통해 서로 다른 어안 이미지의 왜곡을 효과적으로 바로잡는 영상 투영 모델을 이용하여 기존의 영상 유사도 기반 대응쌍 추정 알고리즘의 성능 저항을 방지할 수 있다.
예를 들어, 모든 카메라의 3차원 위치를 가장 잘 설명하는 하나의 평면(rig-plane)(810)을 최소자승법을 통해 결정할 수 있다.
이후에 서로 다른 인접 카메라 간(inter-view)을 연결하는 선에 평행하고, rig-plane)에 수직인 평면식(820)을 구하고, 카메라 간의 화각이 겹치는 부분은 해당 평면 모델에 투영하여 왜곡을 보정하고, 화각이 겹치지 않는 부분은 원통 모델에 투영하여 왜곡을 개선할 수 있다. 예를 들어, 도 9에 도시된 바와 같이 하단의 두 이미지를 상술한 방식으로 왜곡 개선하여 도 9의 상단과 같은 보정 이미지를 생성할 수 있다.
그리고 평면 모델과 원통 모델을 부드럽게 이어주는 하이브리드 투영 모델을 이용할 수 있다.
기존의 자세 추정 방식은 단안 카메라 영상 내의 2차원 점과 실제 3차원 점의 대응 쌍을 알고있는 경우에 동작 가능하다. 그러나 본 개시는 다중 카메라 시스템에 적용된다는 점에서, 본 개시의 비전 시스템에 적용되는 자체 추정 알고리즘에 대해서 도 10을 참조하여 이하에 설명한다.
도 10은 본 개시의 일 실시 예에 따른 자세 추정 알고리즘을 설명하기 위한 도면이다.
도 10을 참조하면, 다중 카메라 시스템에서 2차원 영상 점과 실제 3차원 점의 대응 쌍 3개를 아는 경우, 이들의 확률적 분포를 고려하여 자세를 추정할 수 있다.
이하에서는 관측점이 많은 카메라에서 뽑은 3개의 대응 쌍이 사용되었을 때 구해진 카메라 자세가 관측 값이 적은 값에 비해 더 정확할 것이라는 가정한다.
이 경우, 각 카메라를 임의로 선택하고, 해당 카메라에서 관측된 대응 쌍을 선택하는 과정에서 관측값이 많은 카메라를 확률적으로 더 많이 선택할 수 있다.
이로써 구해진 자세를 모든 카메라의 관측 대응 쌍에 적용하여 기하학적 정합성을 확인하고, 임계치 이하의 오차를 가지는 대응 쌍의 개수가 가장 많을 경우, 이때 자세를 최적으로 설정할 수 있다.
그리고 반복을 종료한 이후, 최적으로 설정된 자세를 자세 추정 결과를 사용할 수 있다.
한편, 본 개시에 따른 비전 시스템은 차량과 같은 이동체에 설치되어 동작한다. 따라서, 차량의 떨림과 같은 물리적 요인으로 인해 카메라의 자세는 변경될 수 있다. 그러나, 상술한 바와 같이 카메라의 자세 정보가 이용된다는 점에서, 변경된 자세를 반영하지 않는 경우 최종 결과에는 오차가 반영될 수 밖에 없다.
따라서, 이러한 카메라 자세의 변경에 따른 오차을 반영하기 위하여, 본 개시에서는 카메라의 자세 및 환경 지도에 더불어, 카메라 간의 상대적 자세, 즉, 외부 파라미터 역시 동시에 최적화하여 전체 시스템의 안정성을 확보한다.
예를 들어, 모든 관측 값을 사용하여 카메라 자세 및 3차원 점 그리고, 카메라 외부 파라미터를 기하학적 오차를 최소화하는 방향으로 최적화한 후, 이중 기준 임계치 3배 이상의 관측값을 선별할 수 있다.
이후에 선별된 관측 값을 이용하여 상술한 최적화 방법을 다시 진행하고, 이중 기준 임계치 1.5배 이하의 관측값을 선별할 수 있다.
다시 선별된 관측 값을 이용하여 상술한 최적화 과정을 진행하고, 기준 임계치 이하의 관측 값을 선별하고 최적화된 카메라 자세, 3차원 점, 외부 파라미터를 최종 산출물로 사용하여 전체 시스템에 재사용할 수 있다.
비전 시스템이 실제 차량에 적용되는 경우, 차량의 급격한 움직임, 도로 상태에 따른 차량의 떨림 등으로 발생하는 다중 카메라 간 물리적인 관계에 오차가 발생할 수 있다.
그러나 본 개시는 상술한 바와 같이 카메라 자세를 실시간으로 확인하여 보정할 수 있는바, 운행 진행에 따라 성능이 저하되는 것을 방지할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 거리 정보를 생성하는 방법을 설명하기 위한 흐름도이다.
도 11을 참조하면, 상호 이격 배치되며, 이동체의 이동 방향에 대한 사선 위치에 배치되는 복수의 카메라 각각으로부터 이미지를 수신한다(S1110).
그리고 수신된 복수의 이미지를 스테레오 정합하여 이동체 전방향에 대한 거리 정보를 생성한다(S1120). 예를 들어, 수신된 복수의 이미지 각각을 가상의 3차원 도형에 투영하고, 투영된 영상을 이용하여 스테레오 정합을 수행할 수 있다. 구체적인 스테레오 정합 방법에 대해서는 앞서 설명하였는자 중복 설명은 생략한다.
이와 같이 생성된 거리 정보를 이용하여 이동체 주변의 거리를 추정할 수 있다(S1130). 예를 들어, 추정된 거리를 이용하여 물체의 접근을 감지하거나, 위험 사항 여부 등을 확인할 수 있다.
이상과 같이 본 개시에 따른 거리 정보를 생성하는 방법은 4대의 카메라만을 이용하여 이동체의 전방향에 대한 거리 정보 생성이 가능하다. 한편, 본 개시의 일 실시 예에 따른 거리 정보를 생성하는 방법은 각 단계들을 수행하기 위한 프로그램 코드 형태로 구현되어, 기록 매체에 저장되고 배포될 수도 있다. 이 경우, 기록 매체가 탑재된 장치는 상술한 암호화 또는 암호문 처리 등의 동작들을 수행할 수 있다.
이러한 기록 매체는, ROM, RAM, 메모리 칩, 메모리 카드, 외장형 하드, 하드, CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 다양한 유형의 컴퓨터 판독 가능 매체가 될 수 있다.
이상 첨부 도면을 참고하여 본 개시에 대해서 설명하였지만 본 개시의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시 예 및/또는 도면에 제한되는 것으로 해석되어서는 안 된다. 그리고 특허청구범위에 기재된 개시의, 당업자에게 자명한 개량, 변경 및 수정도 본 개시의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
100: 이동체 110: 카메라
120: 프로세서 130: 통신 장치
140: 메모리 150: 디스플레이

Claims (18)

  1. 이동체용 비전 장치에 있어서,
    상호 이격 배치되며, 상기 이동체의 이동 방향에 대한 사선 방향으로 배치되는 복수의 카메라; 및
    상기 복수의 카메라 각각에서 촬상된 이미지를 수신하고, 수신된 복수의 이미지를 스테레오 정합하여 상기 이동체 전방향에 대한 거리 정보를 생성하는 프로세서;를 포함하는 비전 장치.
  2. 제1항에 있어서,
    상기 복수의 카메라는,
    200도 이상의 화각을 갖는 4개의 카메라인 비전 장치.
  3. 제2항에 있어서,
    상기 이동체는 차량이고,
    상기 4개의 카메라는 상기 차량의 루프의 각 코너 영역에 상기 이동체의 이동 방향에 대한 사선 방향으로 배치되는 비전 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 수신된 복수의 이미지 각각을 가상의 3차원 도형에 투영하고, 투영된 영상을 이용하여 스테레오 정합을 수행하는 비전 장치.
  5. 제4항에 있어서,
    상기 복수의 카메라 각각에 대한 자세 정보를 저장하는 메모리;를 더 포함하고,
    상기 프로세서는,
    상기 저장된 자세 정보를 이용하여 상기 복수의 이미지 각각을 상기 가상의 3차원 도형에 투영하는 비전 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    기설정된 주기 단위로 상기 복수의 카메라 각각의 자세 정보를 산출하여, 상기 저장된 자세 정보를 업데이트하는 비전 장치.
  7. 제4항에 있어서,
    상기 가상의 3차원 도형은,
    구형, 정육면체, 직육면체 또는 원기둥 중 하나인 비전 장치.
  8. 제4항에 있어서,
    상기 프로세서는,
    상기 수신된 복수의 이미지 각각에 대한 특징 맵을 생성하고, 생성된 복수의 특징 맵 각각을 가상의 3차원 도형에 투영하는 비전 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 3차원 도형에 투영된 복수의 특징 맵을 병합하여 상기 이동체 전방향에 대한 공간 지도를 생성하고, 상기 생성된 공간 지도를 이용하여 상기 이동체 전방향에 대한 거리 지도(Depth map)을 생성하는 비전 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    상기 거리 정보에 기초하여 상기 이동체의 6 자유도 자세를 산출하는 비전 장치.
  11. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 카메라 간에 화각이 겹치는 영역은 평면 모델에 투영하고, 화각이 겹치지 않는 영역은 원통 모델에 투영하여 상기 수신된 이미지에 대한 이미지 처리를 수행하는 비전 장치.
  12. 거리 정보를 생성하는 방법에 있어서,
    상호 이격 배치되며, 이동체의 이동 방향에 대한 사선 방향으로 배치되는 복수의 카메라 각각으로부터 이미지를 수신하는 단계; 및
    수신된 복수의 이미지를 스테레오 정합하여 상기 이동체 전방향에 대한 거리 정보를 생성하는 단계;를 포함하는 방법.
  13. 제12항에 있어서,
    상기 거리 정보를 생성하는 단계는,
    상기 수신된 복수의 이미지 각각을 가상의 3차원 도형에 투영하는 단계; 및
    투영된 영상을 이용하여 스테레오 정합을 수행하는 단계;를 포함하는 방법.
  14. 제13항에 있어서,
    상기 투영하는 단계는,
    상기 복수의 카메라 각각에 대한 기저장된 자세 정보를 이용하여 상기 복수의 이미지 각각을 상기 가상의 3차원 도형에 투영하는 방법.
  15. 제13항에 있어서,
    상기 거리 정보를 생성하는 단계는,
    상기 수신된 복수의 이미지 각각에 대한 특징 맵을 생성하는 단계;를 더 포함하고,
    상기 투영하는 단계는,
    생성된 복수의 특징 맵 각각을 가상의 3차원 도형에 투영하는 방법.
  16. 제15항에 있어서,
    상기 스테레오 정합을 수행하는 단계는,
    상기 3차원 도형에 투영된 복수의 특징 맵을 병합하여 상기 이동체 전방향에 대한 공간 지도를 생성하는 단계; 및
    하고, 상기 생성된 공간 지도를 이용하여 상기 이동체 전방향에 대한 거리 지도(Depth map)을 생성하는 단계;를 포함하는 방법.
  17. 제12항에 있어서,
    상기 거리 정보에 기초하여 상기 이동체의 6 자유도 자세를 산출하는 단계;를 더 포함하는 방법.
  18. 제12항에 있어서,
    상기 복수의 카메라 간에 화각이 겹치는 영역은 평면 모델에 투영하고, 화각이 겹치지 않는 영역은 원통 모델에 투영하여 상기 수신된 이미지에 대한 이미지 처리를 단계;를 더 포함하는 방법.
KR1020190134052A 2019-10-25 2019-10-25 이동체의 전방향에 대한 거리 취득 장치 및 방법 KR102295809B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190134052A KR102295809B1 (ko) 2019-10-25 2019-10-25 이동체의 전방향에 대한 거리 취득 장치 및 방법
US16/741,701 US11307595B2 (en) 2019-10-25 2020-01-13 Apparatus for acquisition of distance for all directions of moving body and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190134052A KR102295809B1 (ko) 2019-10-25 2019-10-25 이동체의 전방향에 대한 거리 취득 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210049581A true KR20210049581A (ko) 2021-05-06
KR102295809B1 KR102295809B1 (ko) 2021-09-01

Family

ID=75585945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190134052A KR102295809B1 (ko) 2019-10-25 2019-10-25 이동체의 전방향에 대한 거리 취득 장치 및 방법

Country Status (2)

Country Link
US (1) US11307595B2 (ko)
KR (1) KR102295809B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102361133B1 (ko) * 2021-09-23 2022-02-14 주식회사 멀티플아이 이동체의 전방향에 위치한 적어도 하나의 물체에 대한 거리를 획득하는 방법 및 이를 이용한 비전 장치
KR102372298B1 (ko) * 2021-07-26 2022-03-10 주식회사 멀티플아이 이동체의 전방향에 위치한 적어도 하나의 물체에 대한 거리를 획득하는 방법 및 이를 이용한 비전 장치
KR20220170589A (ko) * 2021-06-23 2022-12-30 주식회사 쓰리아이 깊이 맵 이미지 생성 방법 및 그를 위한 컴퓨팅 장치
WO2024075953A1 (ko) * 2022-10-07 2024-04-11 주식회사 클로봇 다중 카메라 기반의 이동 로봇의 맵 이미지 및 물체 위치를 획득하기 위한 시스템 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7279685B2 (ja) * 2020-04-23 2023-05-23 トヨタ自動車株式会社 情報処理システム
WO2022016274A1 (en) 2020-07-21 2022-01-27 Leddartech Inc. Beam-steering devices and methods for lidar applications
US11402510B2 (en) * 2020-07-21 2022-08-02 Leddartech Inc. Systems and methods for wide-angle LiDAR using non-uniform magnification optics
US11567179B2 (en) 2020-07-21 2023-01-31 Leddartech Inc. Beam-steering device particularly for LIDAR systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170017700A (ko) * 2015-08-07 2017-02-15 삼성전자주식회사 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법
US20190295282A1 (en) * 2018-03-21 2019-09-26 Nvidia Corporation Stereo depth estimation using deep neural networks

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5366264B2 (ja) 2010-08-03 2013-12-11 アルプス電気株式会社 ステレオカメラシステム及び該システムを備える車両
WO2013130082A1 (en) 2012-03-01 2013-09-06 Geo Semiconductor Inc. Method and system for adaptive perspective correction of ultra wide-angle lens images
JP2016114445A (ja) 2014-12-15 2016-06-23 日本放送協会 3次元位置算出装置およびそのプログラム、ならびに、cg合成装置
KR101949358B1 (ko) 2016-04-04 2019-02-18 엘지전자 주식회사 차량용 어라운드뷰 제공 장치 및 이를 구비한 차량
DE102016213495A1 (de) 2016-07-22 2018-01-25 Robert Bosch Gmbh Fahrassistenzverfahren, Fahrassistenzsystem und Fahrzeug
US10467768B2 (en) * 2017-04-07 2019-11-05 Intel Corporation Optical flow estimation using 4-dimensional cost volume processing
KR102628508B1 (ko) * 2017-05-04 2024-01-24 한국전자통신연구원 영상 처리 장치 및 방법
US10194114B1 (en) 2018-06-22 2019-01-29 Polycom, Inc. Split screen display without distortion
KR101939349B1 (ko) 2018-07-09 2019-04-11 장현민 기계학습모델을 이용하여 자동차용 어라운드 뷰 영상을 제공하는 방법
US11237572B2 (en) * 2018-12-27 2022-02-01 Intel Corporation Collision avoidance system, depth imaging system, vehicle, map generator and methods thereof
US10839543B2 (en) * 2019-02-26 2020-11-17 Baidu Usa Llc Systems and methods for depth estimation using convolutional spatial propagation networks
KR20210025942A (ko) * 2019-08-28 2021-03-10 성균관대학교산학협력단 종단간 컨볼루셔널 뉴럴 네트워크를 이용한 스테레오 매칭 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170017700A (ko) * 2015-08-07 2017-02-15 삼성전자주식회사 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법
US20190295282A1 (en) * 2018-03-21 2019-09-26 Nvidia Corporation Stereo depth estimation using deep neural networks

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Lionel Heng 등. Projection AutoVision: Localization and 3D Scene Perception for an Autonomous Vehicle with a Multi-camera System, arXiv:1809.05477v1.(2018.09.14.)* *
Ren Komatsu 등. Octave Deep Plane-Sweeping Network: Reducing Spatial Redundancy for Learning-Based Plane-Sweeping Stereo, IEEE Access.(2019.10.14.)* *
Sebastien Roy 등. Cylindrical Rectification to Minimize Epipolar Distortion, CVPR.(1997.06.17.)* *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220170589A (ko) * 2021-06-23 2022-12-30 주식회사 쓰리아이 깊이 맵 이미지 생성 방법 및 그를 위한 컴퓨팅 장치
KR102372298B1 (ko) * 2021-07-26 2022-03-10 주식회사 멀티플아이 이동체의 전방향에 위치한 적어도 하나의 물체에 대한 거리를 획득하는 방법 및 이를 이용한 비전 장치
WO2023008791A1 (ko) * 2021-07-26 2023-02-02 주식회사 멀티플아이 근접 영역 감지를 수행하여 이동체의 전방향에 위치한 적어도 하나의 물체에 대한 거리를 획득하는 방법 및 이를 이용한 이미지 처리 장치
US11645773B2 (en) 2021-07-26 2023-05-09 Multipleye Co., Ltd. Method for acquiring distance from moving body to at least one object located in any direction of moving body by performing near region sensing and image processing device using the same
KR102361133B1 (ko) * 2021-09-23 2022-02-14 주식회사 멀티플아이 이동체의 전방향에 위치한 적어도 하나의 물체에 대한 거리를 획득하는 방법 및 이를 이용한 비전 장치
WO2023048380A1 (ko) * 2021-09-23 2023-03-30 주식회사 멀티플아이 카메라뷰 뎁스맵을 활용하여 이동체의 전방향에 위치한 적어도 하나의 물체에 대한 거리를 획득하는 방법 및 이를 이용한 이미지 처리 장치
US11704825B2 (en) 2021-09-23 2023-07-18 Multipleye Co., Ltd. Method for acquiring distance from moving body to at least one object located in any direction of moving body by utilizing camera-view depth map and image processing device using the same
WO2024075953A1 (ko) * 2022-10-07 2024-04-11 주식회사 클로봇 다중 카메라 기반의 이동 로봇의 맵 이미지 및 물체 위치를 획득하기 위한 시스템 및 방법

Also Published As

Publication number Publication date
KR102295809B1 (ko) 2021-09-01
US20210124367A1 (en) 2021-04-29
US11307595B2 (en) 2022-04-19

Similar Documents

Publication Publication Date Title
KR102295809B1 (ko) 이동체의 전방향에 대한 거리 취득 장치 및 방법
JP7054803B2 (ja) カメラパラメタセット算出装置、カメラパラメタセット算出方法及びプログラム
CN110264520B (zh) 车载传感器与车辆位姿关系标定方法、装置、设备和介质
CN109360245B (zh) 无人驾驶车辆多相机系统的外参数标定方法
US20120287232A1 (en) Surround View System Camera Automatic Calibration
US8744169B2 (en) Voting strategy for visual ego-motion from stereo
JP5991952B2 (ja) 周囲状況に対するカメラの姿勢を求めるための方法
JP6767998B2 (ja) 画像の線からのカメラの外部パラメータ推定
US10645365B2 (en) Camera parameter set calculation apparatus, camera parameter set calculation method, and recording medium
JP5455124B2 (ja) カメラ姿勢パラメータ推定装置
CN110244282B (zh) 一种多相机系统和激光雷达联合系统及其联合标定方法
CA2967174C (en) Localising portable apparatus
US20080050042A1 (en) Hardware-in-the-loop simulation system and method for computer vision
JP2013187862A (ja) 画像データ処理装置、画像データ処理方法および画像データ処理用のプログラム
JP2006252473A (ja) 障害物検出装置、キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム
CN112074875A (zh) 构造3d特征图的组优化深度信息方法和系统
US11488354B2 (en) Information processing apparatus and information processing method
US11645773B2 (en) Method for acquiring distance from moving body to at least one object located in any direction of moving body by performing near region sensing and image processing device using the same
KR20220113781A (ko) 환경의 지형을 측정하는 방법
KR102361133B1 (ko) 이동체의 전방향에 위치한 적어도 하나의 물체에 대한 거리를 획득하는 방법 및 이를 이용한 비전 장치
CN111833443A (zh) 自主机器应用中的地标位置重建
CN115222815A (zh) 障碍物距离检测方法、装置、计算机设备和存储介质
WO2022133986A1 (en) Accuracy estimation method and system
US20240112363A1 (en) Position estimation system, position estimation method, and program
CA3213141A1 (en) Method and system for detecting a line above ground from a helicopter

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant