KR102559936B1 - 단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치 - Google Patents

단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치 Download PDF

Info

Publication number
KR102559936B1
KR102559936B1 KR1020220013584A KR20220013584A KR102559936B1 KR 102559936 B1 KR102559936 B1 KR 102559936B1 KR 1020220013584 A KR1020220013584 A KR 1020220013584A KR 20220013584 A KR20220013584 A KR 20220013584A KR 102559936 B1 KR102559936 B1 KR 102559936B1
Authority
KR
South Korea
Prior art keywords
camera
image data
information
camera parameter
depth information
Prior art date
Application number
KR1020220013584A
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 KR1020220013584A priority Critical patent/KR102559936B1/ko
Application granted granted Critical
Publication of KR102559936B1 publication Critical patent/KR102559936B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • 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/10028Range image; Depth image; 3D point clouds
    • 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]

Landscapes

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

Abstract

본 개시는 단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치에 관한 것이다. 본 개시의 일 예시에 따른 방법은, 하나 이상의 단안 카메라를 통해 영상 데이터를 수집하고, 영상 데이터 및 하나 이상의 단안 카메라의 카메라 파라미터 정보를 수신하여 깊이 정보를 추정할 수 있다. 또한 방법은, 인코더를 통하여 영상 데이터를 고수준의 특징으로 변환하고 카메라 파라미터 정보를 카메라 파라미터 특징으로 변환하고, 디코더를 통하여 고수준의 특징 및 카메라 파라미터 특징으로부터 깊이 맵을 생성함으로써 깊이 정보를 추정할 수 있다.

Description

단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치{METHOD AND APPARATUS OF ESTIMATING DEPTH INFORMATION USING MONOCULAR CAMERA}
본 발명은 단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치에 관한 것이다.
로봇 비전(robot vision), 휴먼 컴퓨터 인터페이스(human computer interface), 지능형 시각 감시(intelligent visual surveillance), 3D 이미지 획득(3D image acquisition) 등과 같이 다양한 분야에서 이용되는 3D 깊이 정보의 추정 방법에 대해 활발한 연구가 이루어지고 있다. 특히 자율주행(autonomous driving) 시스템에서, 수집된 영상 데이터 상에서 검출된 객체와 차량과의 거리를 비롯하여 다양한 주행 환경을 인지하고 판단함으로써 차량을 제어하기 위해 정확성이 높은 깊이 추정에 대한 연구가 요구되고 있다.
깊이 정보를 추정하는 방법은 적외선, 초음파, 레이저, 빛의 산란 특성 등의 신호를 이용하는 방법과 영상을 분석하는 방식이 있다. 적외선, 초음파를 이용하여 거리를 추정하는 방식은 객체의 상태에 따라 반사되어 돌아오는 신호가 영향을 받을 수 있다는 단점이 있다. 레이저 등의 신호를 이용하는 것은 정확도가 높지만 고가의 추가적인 장치를 이용하여야 한다는 단점이 있다.
반면, 카메라를 이용하여 깊이 정보를 추정하는 것은 별도의 추가적인 장치를 필요로 하지 않는다. 또한, 깊이 정보는 스테레오 카메라를 이용한 시차 계산을 바탕으로 생성될 수 있으나, 정확한 깊이 추정을 위해 두대의 카메라에 대한 정교한 보정(calibration) 작업이 필요하며, 시차(disparity) 계산에 많은 시간이 소요된다는 문제점이 있다. 따라서 단안 카메라로부터 깊이 정보를 정확하게 추정하는 방법에 대한 연구의 필요성이 대두되고 있다.
단안 카메라를 통해 수집된 데이터 세트를 활용한 자가 지도 학습을 통해 깊이 정보 추정 모델을 학습시킬 수 있다. 하지만 종래의 기술에 따르면 학습된 깊이 정보 추정 모델은 학습에 이용된 카메라의 카메라 파라미터에 의존적이고, 이에 따라 특정 카메라 파라미터 내지 특정 카메라 구조에 과적합(overfitting)되는 문제가 발생한다. 즉, 모델의 일반화 성능이 저하되고 다중 카메라 구조에 적용 시 깊이 추정 정확도가 감소할 수 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명은 단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치를 제공하는데 있다. 본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은, 단안 카메라를 이용하여 깊이 정보를 추정하는 방법에 있어서, 하나 이상의 단안 카메라를 통해 영상 데이터를 수집하는 단계; 및 상기 영상 데이터 및 상기 하나 이상의 단안 카메라의 카메라 파라미터 정보를 수신하여 깊이 정보를 추정하는 단계; 를 포함하되, 상기 깊이 정보를 추정하는 단계는, 인코더를 통하여, 상기 영상 데이터를 고수준(high-level)의 특징(feature)으로 변환하고, 상기 카메라 파라미터 정보를 카메라 파라미터 특징으로 변환을 수행하는 단계; 및 디코더를 통하여, 상기 고수준의 특징 및 상기 카메라 파라미터 특징으로부터 깊이 맵을 생성하는 단계; 를 포함하는, 방법을 제공할 수 있다.
본 개시의 제 2 측면은, 단안 카메라를 이용하여 깊이 정보를 추정하는 장치에 있어서, 하나 이상의 단안 카메라를 통해 영상 데이터를 수집하는 데이터 수집부; 및 상기 영상 데이터 및 상기 하나 이상의 단안 카메라의 카메라 파라미터 정보를 수신하여 깊이 정보를 추정하는 깊이 정보 추정부; 를 포함하되, 상기 깊이 정보 추정부는, 상기 영상 데이터를 고수준의 특징으로 변환하고, 상기 카메라 파라미터 정보를 카메라 파라미터 특징으로 변환하는 인코더; 및 상기 고수준의 특징 및 상기 카메라 파라미터 특징으로부터 깊이 맵을 생성하는 디코더를 포함하는, 장치를 제공할 수 있다.
본 개시의 제 3 측면은, 제 1 측면의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 장치 및 상기 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허 청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
전술한 본 개시의 과제 해결 수단에 의하면, 입력 영상뿐만 아니라 카메라 정보를 나타내는 카메라 파라미터를 심층 신경망 모델의 학습에 반영함으로써, 단안 카메라를 이용한 심층 신경망 기반의 깊이 추정 모델의 일반화 성능을 향상시킬 수 있다.
또한, 다양한 주행 상황에서의 데이터를 수집하고 이를 바탕으로 지속적인 심층 신경망 모델 학습 및 개선을 수행할 수 있고, 다양한 도로 환경에서 안정적인 객체 위치 파악 결과를 획득할 수 있다.
도 1 내지 도 3은 일 실시예에 따른 자율 주행 방식을 설명하기 위한 도면들이다.
도 4는 일 실시예에 따른 영상 데이터에 포함되는 복수의 객체들 예시를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 심층 신경망 모델의 예시적인 블록도이다.
도 6a 및 6b는 본 발명의 심층 신경망 모델의 아키텍처의 예시인 U-Net 구조를 설명하기 위한 예시적인 도면이다.
도 7a 및 도 7b는 일 실시예에 따른 다중 카메라 구조의 영상 데이터 취득 구조물을 설명하기 위한 예시적인 도면이다.
도 8은 성능 평가 장치의 동작을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 단안 카메라를 이용하여 깊이 정보를 추정하는 방법의 흐름도이다.
도 10은 일 실시예에 따른 단안 카메라를 이용하여 깊이 정보를 추정하는 장치의 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하에서, '차량'은 자동차, 버스, 오토바이, 킥보드 또는 트럭과 같이 기관을 가지고 사람이나 물건을 이동시키기 위해 이용되는 모든 종류의 운송 수단을 의미할 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 자율 주행 장치는, 차량에 장착되어 자율 주행 차량(10)을 구현할 수 있다. 자율 주행 차량(10)에 장착되는 자율 주행 장치는, 주변의 상황 정보를 수집하기 위한 다양한 센서(카메라를 포함함)들을 포함할 수 있다. 일례로, 자율 주행 장치는 자율 주행 차량(10)의 전면에 장착된 이미지 센서 및/또는 이벤트 센서를 통해, 전방에서 운행 중인 선행 차량(20)의 움직임을 감지할 수 있다. 자율 주행 장치는 자율 주행 차량(10)의 전면은 물론, 옆 차로에서 운행중인 다른 주행 차량(30)과, 자율 주행 차량(10) 주변의 보행자 등을 감지하기 위한 센서들을 더 포함할 수 있다.
자율 주행 차량 주변의 상황 정보를 수집하기 위한 센서들 중 적어도 하나는, 도 1에 도시한 바와 같이 소정의 화각(FoV)을 가질 수 있다. 일례로, 자율 주행 차량(10)의 전면에 장착된 센서가 도 1에 도시한 바와 같은 화각(FoV)을 갖는 경우에, 센서의 중앙에서 검출되는 정보가 상대적으로 높은 중요도를 가질 수 있다. 이는, 센서의 중앙에서 검출되는 정보에, 선행 차량(20)의 움직임에 대응하는 정보가 대부분 포함되어 있기 때문일 수 있다.
자율 주행 장치는, 자율 주행 차량(10)의 센서들이 수집한 정보를 실시간으로 처리하여 자율 주행 차량(10)의 움직임을 제어하는 한편, 센서들이 수집한 정보 중에 적어도 일부는 메모리 장치에 저장할 수 있다.
도 2를 참조하면, 자율 주행 장치(40)는 센서부(41), 프로세서(46), 메모리 시스템(47), 및 차체 제어 모듈(48) 등을 포함할 수 있다. 센서부(41)는 복수의 센서(카메라를 포함함)(42-45)를 포함하며, 복수의 센서들(42-45)은 이미지 센서, 이벤트 센서, 조도 센서, GPS 장치, 가속도 센서 등을 포함할 수 있다.
센서들(42-45)이 수집한 데이터는 프로세서(46)로 전달될 수 있다. 프로세서(46)는 센서들(42-45)이 수집한 데이터를 메모리 시스템(47)에 저장하고, 센서들(42-45)이 수집한 데이터에 기초하여 차체 제어 모듈(48)을 제어하여 차량의 움직임을 결정할 수 있다. 메모리 시스템(47)은 둘 이상의 메모리 장치들과, 메모리 장치들을 제어하기 위한 시스템 컨트롤러를 포함할 수 있다. 메모리 장치들 각각은 하나의 반도체 칩으로 제공될 수 있다.
메모리 시스템(47)의 시스템 컨트롤러 외에, 메모리 시스템(47)에 포함되는 메모리 장치들 각각은 메모리 컨트롤러를 포함할 수 있으며, 메모리 컨트롤러는 신경망과 같은 인공지능(AI) 연산 회로를 포함할 수 있다. 메모리 컨트롤러는 센서들(42-45) 또는 프로세서(46)로부터 수신한 데이터에 소정의 가중치를 부여하여 연산 데이터를 생성하고, 연산 데이터를 메모리 칩에 저장할 수 있다.
도 3은 자율 주행 장치가 탑재된 자율 주행 차량의 센서(카메라를 포함함)가 획득한 영상 데이터의 예시를 나타낸 도면이다. 도 3을 참조하면, 영상 데이터(50)는 자율 주행 차량의 전면에 장착된 센서가 획득한 데이터일 수 있다. 따라서 영상 데이터(50)에는 자율 주행 차량의 전면부(51), 자율 주행 차량과 같은 차로의 선행 차량(52), 자율 주행 차량 주변의 주행 차량(53) 및 배경(54) 등이 포함될 수 있다.
도 3에 도시한 실시예에 따른 영상 데이터(50)에서, 자율 주행 차량의 전면부(51)와 배경(54)이 나타나는 영역의 데이터는 자율 주행 차량의 운행에 영향을 미칠 가능성이 거의 없는 데이터일 수 있다. 다시 말해, 자율 주행 차량의 전면부(51)와 배경(54)은 상대적으로 낮은 중요도를 갖는 데이터로 간주될 수 있다.
반면, 선행 차량(52)과의 거리, 및 주행 차량(53)의 차로 변경 움직임 등은 자율 주행 차량의 안전한 운행에 있어서 매우 중요한 요소일 수 있다. 따라서, 영상 데이터(50)에서 선행 차량(52) 및 주행 차량(53) 등이 포함되는 영역의 데이터는 자율 주행 차량의 운행에 있어서 상대적으로 높은 중요도를 가질 수 있다.
자율 주행 장치의 메모리 장치는, 센서로부터 수신한 영상 데이터(50)의 영역별로 가중치를 다르게 부여하여 저장할 수 있다. 일례로, 선행 차량(52)과 주행 차량(53) 등이 포함되는 영역의 데이터에는 높은 가중치를 부여하고, 자율 주행 차량의 전면부(51)와 배경(54)이 나타나는 영역의 데이터에는 낮은 가중치를 부여할 수 있다.
도 4는 일 실시예에 따른 영상 데이터에 포함되는 복수의 객체들 예시를 설명하기 위한 도면이다.
하나 이상의 단안 카메라를 통해 수집된 영상 데이터는 깊이 추정을 위한 심층 신경망 모델의 학습을 위해 사용될 수 있다. 수집된 영상 데이터에는 복수의 객체가 포함될 수 있다.
객체에 관한 정보는 객체 종류 정보 및 객체 속성 정보를 포함한다. 여기에서, 객체 종류 정보는 객체의 종류를 나타내는 인덱스 정보이며, 큰 범위인 그룹과 세부 범위인 클래스로 구성된다. 그리고, 객체 속성 정보는 객체의 현재 상태에 대한 속성 정보를 나타내는 것이며, 움직임 정보, 회전 정보, 교통 정보, 색상 정보, 및 가시성 정보를 포함한다.
일 실시예에서, 객체 종류 정보에 포함되는 그룹 및 클래스는 아래의 표 1과 같을 수 있으나, 이에 제한되지 않는다.
또한, 객체 속성 정보에 포함되는 정보에는 Action, Rotate, Traffic info, color, Visibility 정보가 포함될 수 있다.
Action 정보는 객체의 움직임 정보를 표현하며 정차, 주차, 이동 등으로 정의될 수 있다. 차량의 경우 정차, 주차, 이동이 객체 속성 정보로 결정될 수 있고, 신호등과 같이 움직일 수 없는 객체의 경우 디폴트 값인 정지로 객체 속성 정보가 결정될 수 있다.
Rotate 정보는 객체의 회전 정보를 표현하며 정면, 후면, 수평(horizontal), 수직(vertical), 측면 등으로 정의될 수 있다. 차량의 경우 정면, 후면, 측면으로 객체 속성 정보가 정해질 수 있고, 가로 또는 세로 방향의 신호등은 각각 수평 또는 수직으로 객체 속성 정보가 정해질 수 있다.
Traffic info는 객체의 교통정보를 의미하며, 교통표지판의 지시, 주의, 규제, 보조 표지 등으로 정의될 수 있다. Color는 객체의 색상 정보를 의미하며 객체의 색상, 신호등 및 교통표지판의 색상을 표현할 수 있다.
도 4를 참조하면, 수집된 영상 데이터에 포함된 객체들은 신호등, 표지판, 현재 주행 차로, 로드 마킹, 횡단보도, 방지턱, 교차로 등일 수 있으나, 이에 제한되지 않는다.
도 5는 일 실시예에 따른 심층 신경망 모델의 예시적인 블록도이다.
인코더(510)의 입력이 되는 영상 데이터는 하나 이상의 단안 카메라를 통해 수집된 영상 데이터일 수 있다. 심층 신경망 모델(500)은 영상 데이터에 대해 깊이 정보를 추정하며, 영상 데이터를 기초로 학습된다. 영상 데이터는 RGB 데이터일 수 있다. 영상 데이터는 인코더(510)로 전송된다.
카메라 파라미터 정보는 영상 데이터를 수집한 카메라의 정보를 의미하는 파라미터이다. 카메라 파라미터 정보는 초점 거리 또는 주점 중 적어도 하나를 포함할 수 있다. 카메라 파라미터 정보는 영상 데이터와 함께 인코더(510)에 입력되며, 카메라 파라미터 정보는 카메라 인식 레이어를 통하여 입력 데이터와 함께 심층 신경망 모델에 의해 학습될 수 있다. 카메라 파라미터 정보는 인코더(510)로 전송된다.
인코더(510)는 전송된 영상 데이터를 고수준(high-level)의 특징(feature)으로 변환한다. 인코더(510)는 여러 기계 학습 알고리즘 및 기술을 이용하여 고수준의 특징을 추출할 수 있다.
일 실시예에서, 인코더(510)는 합성곱 신경망을 포함할 수 있다. 합성곱 신경망은 합성곱 연산을 통해 이미지의 특징을 추출할 수 있다. 일 예시에서, 합성곱 신경망은 하나 이상의 합성곱 레이어를 가질 수 있다. 본 인코더(510)의 예시에서, 이미지의 특징의 차원은 하나 이상의 합성곱 레이어를 통해 추출되며 크기가 감소한다. 예를 들어, 10^6 정도의 픽셀을 갖는 영상 데이터는 첫 번째 레이어 이후에 10^5 정도의 특징 세트로 축소된다. 인코더(510)의 마지막 레이어 이후에는 10^4 정도 또는 이보다 작은 특징 세트로 축소될 수 있다. 이는 단순한 예시의 목적으로 제공되며, 본 발명을 한정하려는 것이 아니다. 즉, 인코더(510)는 다양한 수의 계층을 가질 수 있으며, 픽셀 및 특징의 수는 상이할 수 있다.
인코더(510)는 또한, 전송된 카메라 파라미터 정보를 카메라 파라미터 특징으로 변환한다. 카메라 파라미터 특징은 후술할 카메라 인식 레이어에 매핑될 수 있다.
고수준의 특징 및 카메라 파라미터 특징은 디코더(520)로 전송된다.
디코더(520)는 전송된 고수준의 특징 및 카메라 파라미터 특징으로부터 깊이 맵을 생성한다. 디코더(520)는 여러 기계 학습 알고리즘 및 기술을 이용하여 깊이 맵을 생성할 수 있다.
일 실시예에서, 디코더(520)는 합성곱 신경망을 포함할 수 있다. 합성곱 신경망은 합성곱 연산을 통해 이미지의 특징을 추출할 수 있다. 일 예시에서, 합성곱 신경망은 하나 이상의 합성곱 레이어를 가질 수 있다. 본 디코더(520)의 예시에서, 이미지의 특징의 차원은 하나 이상의 합성곱 레이어를 통해 추출되며 커진다. 예를 들어, 10^4 정도의 이미지 특징은 합성곱 레이어를 통해 점차 확대되며 마지막 레이어 이후에는 영상 데이터와 동일 또는 유사한 픽셀, 즉 10^6 정도의 픽셀을 갖는 깊이 맵이 생성될 수 있다. 이는 단순한 예시의 목적으로 제공되며, 본 발명을 한정하려는 것이 아니다. 즉, 디코더(520)는 다양한 수의 계층을 가질 수 있으며, 픽셀 및 특징의 수는 상이할 수 있다.
디코더(520)에 의해 출력된 깊이 맵은 영상 데이터에 대한 정보가 내재된 고수준의 특징과 카메라 파라미터 정보가 내재된 카메라 파라미터 특징으로부터 생성되므로, 이러한 깊이 맵을 통해 영상 데이터뿐만 아니라 영상 데이터를 수집한 카메라의 카메라 파라미터 정보까지 심층 신경망 모델을 학습시킬 수 있고, 이로써 특정 카메라에 의존적이거나 과적합되지 않고, 일반화 성능이 개선된 심층 신경망 모델을 구성할 수 있다.
깊이 맵은 관찰 시점으로부터 물체 표면까지의 거리에 대한 정보가 담긴 영상 또는 이미지이다. 깊이 맵은 영상 데이터와 동일한 크기를 가질 수 있으며, 픽셀 수준의 깊이 정보를 나타낼 수 있다. 깊이 정보를 추정하기 위한 심층 신경망 모델(500)은 입력된 영상 데이터를 기초로 깊이 맵을 출력하며, 이 깊이 맵을 이용하여 자동화된 시스템을 통해 학습될 수 있다.
전술한 바와 같이, 카메라 파라미터 특징은 카메라 인식 레이어(530)에 매핑될 수 있다. 본 발명에서, 심층 신경망 모델이 카메라 파라미터 정보를 학습할 수 있도록 카메라 인식 레이어(530)가 설계될 수 있다.
구체적으로, 영상 데이터를 수집한 카메라의 정보를 이용하여 카메라 파라미터 정보가 미리 계산되고, 인코더에 영상 데이터와 함께 입력된다. 일 실시예에서, 카메라 파라미터 정보는 아래의 행렬 및 수학식으로 나타낼 수 있으며, 여기서 cx와 cy는 주점, f는 초점 거리, fov는 화각, w와 h는 센서 크기의 폭과 높이를 나타낸다.
카메라 파라미터 정보는 인코더에 의해 카메라 파라미터 특징으로 변환, 즉 특징 맵화된다. 카메라 파라미터 특징은 카메라 인식 레이어(530)에 매핑될 수 있다. 카메라 인식 레이어(530)는 인코더(510) 및 디코더(520) 사이의 모든 수준에 대해 추가된다. 카메라 인식 레이어(530)는 디코더(520) 측의 특징 맵의 잔여 연결 부분에 배치되고 결합(concatenate)되도록 설계될 수 있다.
도 6a 및 6b는 본 발명의 심층 신경망 모델의 아키텍처의 예시인 U-Net 구조를 설명하기 위한 예시적인 도면이다.
본 발명의 심층 신경망 모델의 인코더-디코더 아키텍처는 U-Net 구조일 수 있다.
도 6a는 예시적인 U-Net 구조를 도시한다. 도시된 바와 같이, U-Net 구조에서, 입력은 인코더 측(Contracting Path)의 레이어들을 거치면서 다운 샘플링(downsampling)되어 특징 맵의 크기가 감소하고, 채널의 수가 증가한다. 디코더 측(Expanding Path)에서는 레이어들을 거치면서 업 샘플링(upsampling)되어 특징 맵의 크기가 증가하고, 채널의 수가 감소한다. 디코더 측의 이러한 과정에서, up-conv를 수행한 후의 특징 맵에는 잔여 연결 부분이 발생한다. 심층 신경망 모델의 아키텍처로 U-Net 구조를 채택하는 경우, 카메라 인식 레이어를 디코더 측의 특징 맵의 잔여 연결 부분에 배치하고 결합(concatenate)시키는 것이 가능하다. 도 6b는 U-Net 구조의 심층 신경망 모델에서 카메라 인식 레이어가 잔여 연결에 결합되는 것을 설명하기 위한 예시적인 도면이다.
심층 신경망 모델의 아키텍처로 U-Net 구조를 채택하는 경우, 더 빠른 속도로 학습이 가능할 수 있고, 업 샘플링 연산으로 출력 해상도를 보완할 수 있다. 또한, 카메라 인식 레이어를 디코더 측의 특징 맵의 잔여 연결 부분에 결합시켜 심층 신경망 모델이 카메라 파라미터 정보를 학습하도록 할 수 있다.
도 7a 및 도 7b는 일 실시예에 따른 다중 카메라 구조의 영상 데이터 취득 구조물을 설명하기 위한 예시적인 도면이다.
다중 카메라 구조의 영상 데이터 취득 구조물은 하나 이상의 카메라를 포함할 수 있다. 다중 카메라 구조의 영상 데이터 취득 구조물 내의 하나 이상의 카메라는 차량의 전방위에 대한 영상 데이터를 취득할 수 있도록 배향되어 배치될 수 있다. 다중 카메라 구조는 같은 방향으로 배향된 2개 이상의 카메라가 쌍을 이루는 스테레오 구조 카메라 쌍으로 구성되어 영상을 취득할 수 있다.
도 7a는 일 실시예에 따른 다중 카메라 구조의 영상 데이터 취득 구조물을 도시한다.
도시된 바와 같이, 다중 카메라 구조의 영상 데이터 취득 구조물은 60° 화각(FOV)의 카메라와, 120° 화각의 카메라들로 구성될 수 있다. 도시된 바와 같이, 2개의 동일한 화각의 카메라로 구성된 스테레오 구조 카메라 쌍들이 전방향에 대한 영상 데이터를 취득할 수 있도록 배향되며, 차량의 주행 방향으로 배향된 추가적인 카메라가 배치되어 있다. 다만, 이는 단순한 예시의 목적으로 제공되며, 본 발명을 한정하려는 것이 아니다. 다중 카메라 구조의 영상 데이터 취득 구조물 내의 카메라의 화각, 수, 배향 또는 배치 등은 상이할 수 있다.
도 7b는 일 실시예에 따른 도 7a의 다중 카메라 구조의 영상 데이터 취득 구조물이 차량에 탑재된 모습을 도시한다. 이러한 구조를 통해 차량이 주행 중인 상태에서 다양한 주행 상황에서 손쉽게 데이터를 수집할 수 있다.
도 8은 성능 평가 장치의 동작을 설명하기 위한 도면이다.
성능 평가 장치(800)는 심층 신경망 모델(810)과 데이터 취득 장치(820)로부터 데이터를 수신하고 이를 처리하여, 심층 신경망 모델(810)과 데이터 취득 장치(820)를 제어할 수 있다. 심층 신경망 모델(810)은 본 명세서에서 언급한 심층 신경망 모델을 포함하며, 데이터 취득 장치(820)는 본 명세서에서 언급한 카메라를 포함하는 데이터를 수집하는 기타 장치를 포함한다.
성능 평가 장치(800)는 자동화된 프로세스를 통해 깊이 추정 심층 신경망 모델(810)을 지속적으로 학습시킨다. 성능 평가 장치(800)는 심층 신경망 모델(810)을 학습시켜 성능 개선시키기 위해 심층 신경망 모델(810)의 성능을 평가한다. 성능 평가 장치(800)는 성능 평가를 위해 필요한 영상 데이터를 카메라 장치(820)로부터 수신하고 비교 학습 데이터를 생성한다. 성능 평가 장치(800)는 깊이 추정 정보인 깊이 맵과 비교 학습 데이터의 비교에 기초하여 오차 값을 계산한다. 오차 값이 작은 경우, 심층 신경망 모델(810)의 성능이 높은 것으로 평가될 수 있고, 오차 값이 큰 경우, 성능이 낮은 것으로 평가될 수 있다. 오차 값은 평균 제곱근 오차를 기반으로 구해질 수 있고, 평균 제곱근 오차는 픽셀 단위로 계산될 수 있다.
심층 신경망 모델(810)을 학습시키는 데 손실 함수가 사용된다. 즉, 손실 함수는 심층 신경망 모델(810)의 파라미터들을 조정하는 데 사용될 수 있다. 성능 평가 장치(800)는 심층 신경망 모델(810)의 파라미터 조정을 통하여 심층 신경망 모델(810)을 학습시킨다.
일 실시예에서, 성능 평가 장치(800)는 측광 재구성 손실(photometric reconstruction loss) 함수를 활용하여 심층 신경망 모델(810)을 학습시킬 수 있다.
성능 평가 장치(800)는 측광 재구성 손실(또는 전체 손실)이 최소화되도록 심층 신경망 모델(810)의 파라미터를 조정하여 심층 신경망 모델(810)을 학습시킬 수 있다.
전술한 바와 같이, 성능 평가 장치(800)는 깊이 추정 모델을 학습시키기 위해 필요한 영상 데이터를 카메라 장치(820)로부터 수신하고 비교 학습 데이터를 생성한다. 비교 학습 데이터는 깊이 정보를 추정할 수 있는 여러 알고리즘 및 기술을 사용하여 생성될 수 있다.
일 실시예에서, 비교 학습 데이터는 스테레오 매칭(stereo matching) 기반의 깊이 정보 추정에 의해 생성될 수 있다. 카메라 장치(820)는 스테레오 구조 카메라 쌍을 포함하는 다중 카메라 구조를 가질 수 있다(예컨대, 도 7a의 다중 카메라 구조의 영상 데이터 취득 구조물). 스테레오 구조 카메라 쌍의 좌측 및 우측 카메라로 취득된 영상은 시차(disparity)를 가지고 있다. 성능 평가 장치(800)는 카메라 장치(820)로부터 스테레오 영상 데이터를 수신하여, 스테레오 카메라 캘리브레이션(calibration), 이미지 렉티피케이션(rectification) 과정을 거쳐 시차를 계산할 수 있고, 이러한 시차를 통해 깊이 정보를 추정하여 비교 학습 데이터를 생성할 수 있다. 성능 평가 장치(800)는 비교 학습 데이터와 심층 신경망 모델(810)이 생성한 깊이 맵의 비교에 기초하여 오차 값을 계산하여 성능을 평가하고 심층 신경망 모델(810)을 학습시킨다. 일 실시예에서, 성능 평가 장치(800)는 비교 학습 데이터와 심층 신경망 모델(810)이 생성한 깊이 맵을 픽셀 수준으로 비교할 수 있다.
일 실시예에서, 비교 학습 데이터는 RADAR 기반의 위치 데이터일 수 있다. 카메라 장치(820)는 RADAR 장치를 포함할 수 있고 이를 통해 성능 평가 장치(800)는 비교 학습 데이터로서 RADAR 기반의 위치 데이터를 취득할 수 있다. 이러한 비교 학습 데이터는 RADAR를 통해 취득된 3차원 타겟 객체의 위치 정보를 포함할 수 있다. 성능 평가 장치(800)는 심층 신경망 모델(810)이 생성한 깊이 맵에 다중 카메라 구조의 영상 데이터 취득 구조물 정보 및 객체 검출의 결과를 매핑하여, 객체 단위의 깊이 정보를 생성할 수 있다. 성능 평가 장치(800)는 비교 학습 데이터와 이 객체 단위의 깊이 정보의 비교에 기초하여 오차 값을 계산하여 성능을 평가하고 심층 신경망 모델(810)을 학습시킨다.
성능 평가 장치(800)는 심층 신경망 모델(810)의 성능을 평가함에 있어서 심층 신경망 모델(810)의 취약 데이터 판단 정보를 생성할 수 있다. 취약 데이터 판단 정보는 심층 신경망 모델(810)을 효과적으로 학습시키는 데 도움이 된다.
일 실시예에서, 성능 평가 장치(800)가 취약 데이터를 판단할 때 클러스터링(clustering, 군집화) 기반으로 수행할 수 있다. 성능 평가 장치(800)는 수집된 영상 데이터를 클러스터링 기반으로 분류할 수 있다. 다시 말해, 수집된 영상 데이터에 대해 클러스터링 연산 처리를 통해 특정 정보를 기초로 클러스터링함으로써 복수의 군집 영역(clustering area)을 생성할 수 있다. 예를 들어, 영상 데이터에서 검출된 도로 마킹(예컨대, 횡단보도, 직선 차로 등)를 기초로 클러스터링할 수 있을 것이다. 이후, 성능 평가 장치(800)가 수집된 영상 데이터에 대해 계산한 오차 값에 기초하여 각 군집 영역에 대한 가중치를 연산할 수 있다. 예를 들어, 각 군집 영역의 데이터에 관한 오차 값들의 평균에 따라 가중치를 부여할 수 있을 것이다. 이후, 높은 가중치가 부여된 군집 영역을 바탕으로 취약 데이터 판단 정보가 생성될 수 있다. 예를 들어, 횡단보도가 포함된 영상 데이터를 심층 신경망 모델(810)의 취약 데이터라고 판단하는 정보를 생성할 수 있다.
성능 평가 장치(800)는 생성한 취약 데이터 판단 정보를 토대로, 심층 신경망 모델(810)이 취약 부분에 관해 개선 및 보완 학습할 수 있도록, 데이터 취득 장치(820)를 제어할 수 있다. 예를 들어, 데이터 취득 장치(820)가 높은 가중치가 부여된 군집 영역에 대한 추가적, 지속적인 데이터를 확보하도록 제어할 수 있다.
일 예시에서, 클러스터링 기반 분류를 함에 있어서, K-means 알고리즘 및 이의 변형, 계층형 클러스터링(hierarchical clustering) 알고리즘 등을 사용할 수 있다.
도 9는 일 실시예에 따른 단안 카메라를 이용하여 깊이 정보를 추정하는 방법의 흐름도이다.
도 9에 도시된, 단안 카메라를 이용한 깊이 정보 추정 및 지속적인 학습 방법은, 앞서 설명된 도면들에서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 도면들에서 설명된 내용들은 도 9의 방법에도 적용될 수 있다.
도 9를 참조하면, 단계 910에서 영상 데이터가 카메라를 통해 수집된다.
단계 920에서 인코더를 통하여 영상 데이터가 고수준의 특징으로 변환되고, 카메라 파라미터 정보가 카메라 파라미터 특징으로 변환될 수 있다.
단계 930에서 디코더를 통하여 고수준의 특징 및 카메라 파라미터 특징으로부터 깊이 맵이 생성될 수 있다.
일 실시예에서, 인코더 및 디코더는 합성곱 신경망을 포함할 수 있다.
일 실시예에서, 카메라 파라미터 특징은 심층 신경망 모델이 카메라 파라미터 정보를 학습할 수 있도록 설계된 카메라 인식 레이어로 매핑될 수 있다. 일 실시예에서, 카메라 인식 레이어는 디코더 측의 특징 맵의 잔여 연결 부분에 배치되고 결합될 수 있다.
일 실시예에서, 단계 930 이후에 깊이 정보를 평가하여 심층 신경망 모델의 성능 개선을 위한 취약 데이터를 판단하는 정보를 생성하여 성능을 평가할 수 있다.
일 실시예에서, 카메라 파라미터 정보는 초점 거리 및 주점 중 적어도 하나를 포함할 수 있다.
일 실시예에서, 영상 데이터를 취득하는 카메라는 다중 카메라 구조의 영상 데이터 취득 구조물을 형성할 수 있다. 일 실시예에서, 다중 카메라 구조에는 전방위에 대한 영상 데이터를 수집할 수 있도록 복수의 카메라가 배향될 수 있고, 일 실시예에서, 복수의 카메라의 각각의 카메라는 스테레오 구조의 카메라일 수 있다. 또한, 일 실시예에서 상이한 방위에 대해 배향된 카메라는 서로 상이한 화각을 가질 수 있다.
일 실시예에서, 수집된 영상 데이터는 클러스터링 기반으로 분류될 수 있다.
일 실시예에서, 추정된 깊이 정보에 기초하여 근접 객체를 식별하여 차량을 제어할 수 있다.
도 10은 일 실시예에 따른 단안 카메라를 이용하여 깊이 정보를 추정하는 장치의 블록도이다.
도 10을 참조하면, 데이터 수집 장치(1000)는 데이터 수집부(1010), 깊이 정보 추정부(1020) 및 성능 평가부(1030)를 포함할 수 있다. 도 10의 데이터 수집 장치(1000)에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 10에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다. 또한, 일 실시예에서 성능 평가부(1030)가 포함되지 않을 수 있다.
데이터 수집부(1010)는 카메라를 통해 영상 데이터를 수집할 수 있다. 심층 신경망의 깊이 추정을 위해, 수집된 영상 데이터를 깊이 정보 추정부(1020)에 전송할 수 있다.
깊이 정보 추정부(1020)는 영상 데이터를 고수준의 특징으로 변환하고, 카메라 파라미터 정보를 카메라 파라미터 특징으로 변환하는 인코더와 고수준의 특징 및 카메라 파라미터 특징으로부터 깊이 맵을 생성하는 디코더를 포함할 수 있다.
성능 평가부(1030)는 깊이 정보를 평가하여 심층 신경망 모델의 성능 개선을 위한 취약 데이터를 판단하는 정보를 생성하여 성능을 평가할 수 있다.
데이터 수집 장치(1000)는 구현 방식에 따라 데이터 수집부(1010), 깊이 정보 추정부(1020) 및 성능 평가부(1030) 내 또는 외에 저장 디바이스 및/또는 프로세서와 같은 구성을 포함할 수 있다.
저장 디바이스는 데이터 수집 장치(1000)에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 예컨대, 수집된 영상 데이터, 비교 학습 데이터, 손실 함수 등을 저장할 수 있다.
저장 디바이스는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
프로세서는 구현 방식에 따라 데이터 수집부(1010), 깊이 정보 추정부(1020), 성능 평가부(1030) 또는 데이터 수집 장치(1000) 전반에 걸쳐, 동작을 제어할 수 있다.
프로세서는 도 1 내지 도 10에서 상술한 단안 카메라를 이용하여 깊이 정보를 추정하는 장치의 동작 중 적어도 일부를 제어할 수 있다.
프로세서는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
일 실시예로, 데이터 수집 장치(1000)의 적어도 일부는 이동성을 가지는 전자 장치일 수 있다. 예를 들어, 데이터 수집 장치(1000)의 적어도 일부는 스마트폰, 태블릿 PC, PC, 스마트 TV, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 네비게이션, 카메라가 탑재된 디바이스 및 기타 모바일 전자 장치로 구현될 수 있다. 또한, 데이터 수집 장치(1000)의 적어도 일부는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 장치로 구현될 수 있다.
다른 실시예로, 데이터 수집 장치(1000)의 적어도 일부는 차량 내에 임베디드되는 전자 장치일 수 있다. 예를 들어, 데이터 수집 장치(1000)의 적어도 일부는 생산 과정 이후 튜닝(tuning)을 통해 차량 내에 삽입되는 전자 장치일 수 있다.
또 다른 실시예로, 데이터 수집 장치(1000)의 적어도 일부는 차량 외부에 위치하는 서버일 수 있다. 서버는 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 서버는 차량에 탑재된 장치들로부터 차량의 이동 경로를 결정하기 위해 필요한 데이터를 수신하고, 수신한 데이터에 기초하여 차량의 이동 경로를 결정할 수 있다.
또 다른 실시예로, 데이터 수집 장치(1000)에서 수행되는 프로세스는 이동성을 가지는 전자 장치, 차량 내에 임베디드 되는 전자 장치 및 차량 외부에 위치하는 서버 중 적어도 일부에 의해 수행될 수 있다.
본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
일 실시예에 따르면, 본 개시의 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (15)

  1. 단안 카메라를 이용하여 깊이 정보를 추정하는 방법에 있어서,
    하나 이상의 단안 카메라를 통해 영상 데이터를 수집하는 단계; 및
    상기 영상 데이터 및 상기 하나 이상의 단안 카메라의 카메라 파라미터 정보를 수신하여 깊이 정보를 추정하는 단계;
    를 포함하되,
    상기 깊이 정보를 추정하는 단계는,
    인코더를 통하여, 상기 영상 데이터를 고수준(high-level)의 특징(feature)으로 변환하고, 상기 카메라 파라미터 정보를 카메라 파라미터 특징으로 변환을 수행하는 단계; 및
    디코더를 통하여, 상기 고수준의 특징 및 상기 카메라 파라미터 특징으로부터 깊이 맵을 생성하는 단계;
    를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 인코더 및 상기 디코더는 합성곱 신경망(CNN)을 포함하고,
    상기 카메라 파라미터 특징은 상기 카메라 파라미터 정보가 학습될 수 있도록 설계된 카메라 인식 레이어로 매핑되며,
    상기 카메라 인식 레이어는 상기 디코더 측의 특징 맵의 잔여 연결(residual connection) 부분에 배치되고 결합(concatenate)되는, 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 방법은,
    상기 깊이 정보를 평가하여, 성능 개선을 위한 취약 데이터를 판단하는 정보를 생성하여 성능을 평가하는 단계;
    를 더 포함하는, 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 카메라 파라미터 정보는 초점 거리 및 주점 중 적어도 하나를 포함하는, 방법.
  5. 제 3 항에 있어서,
    상기 하나 이상의 단안 카메라는 다중 카메라 구조의 영상 데이터 취득 구조물을 형성하고,
    상기 다중 카메라 구조는, 전방위에 대한 영상 데이터를 수집할 수 있도록 배향된 복수의 카메라를 포함하고,
    상기 복수의 카메라의 각각의 카메라는 스테레오 구조의 카메라인, 방법.
  6. 제 5 항에 있어서,
    상기 성능을 평가하는 단계는,
    상기 영상 데이터를 수집하는 단계에서 수집된 영상 데이터를 클러스터링 기반으로 분류하는 단계를 포함하는, 방법.
  7. 제 3 항에 있어서,
    상기 방법은,
    상기 깊이 정보에 기초하여 근접 객체를 식별하여 차량을 제어하는 단계;
    를 더 포함하는 방법.
  8. 단안 카메라를 이용하여 깊이 정보를 추정하는 장치에 있어서,
    하나 이상의 단안 카메라를 통해 영상 데이터를 수집하는 데이터 수집부; 및
    상기 영상 데이터 및 상기 하나 이상의 단안 카메라의 카메라 파라미터 정보를 수신하여 깊이 정보를 추정하는 깊이 정보 추정부;
    를 포함하되,
    상기 깊이 정보 추정부는,
    상기 영상 데이터를 고수준의 특징으로 변환하고, 상기 카메라 파라미터 정보를 카메라 파라미터 특징으로 변환하는 인코더; 및
    상기 고수준의 특징 및 상기 카메라 파라미터 특징으로부터 깊이 맵을 생성하는 디코더를 포함하는, 장치.
  9. 제 8 항에 있어서,
    상기 인코더 및 상기 디코더는 합성곱 신경망을 포함하고,
    상기 카메라 파라미터 특징은 상기 카메라 파라미터 정보가 학습될 수 있도록 설계된 카메라 인식 레이어로 매핑되고,
    상기 카메라 인식 레이어는 상기 디코더 측의 특징 맵의 잔여 연결 부분에 배치되고 결합되는, 장치.
  10. 제 8 항 또는 제 9 항에 있어서,
    상기 깊이 정보를 평가하여, 성능 개선을 위한 취약 데이터를 판단하는 정보를 생성하여 성능을 평가하는 성능 평가부;
    를 더 포함하는, 장치.
  11. 제 8 항 또는 제 9 항에 있어서,
    상기 카메라 파라미터 정보는 초점 거리 및 주점 중 적어도 하나를 포함하는, 장치.
  12. 제 10 항에 있어서,
    상기 하나 이상의 단안 카메라는 다중 카메라 구조의 영상 데이터 취득 구조물을 형성하고,
    상기 다중 카메라 구조는, 상기 데이터 수집부가 전방위에 대한 영상 데이터를 수집할 수 있도록 배향된 복수의 카메라를 포함하고,
    상기 복수의 카메라의 각각의 카메라는 스테레오 구조의 카메라인, 장치.
  13. 제 12 항에 있어서,
    상기 성능 평가부는,
    상기 데이터 수집부에 의해 수집된 영상 데이터를 클러스터링 기반으로 분류하여 성능을 평가하는, 장치.
  14. 제 10 항에 있어서,
    상기 깊이 정보에 기초하여 근접 객체를 식별하여 차량을 제어하는 차량 제어부;
    를 더 포함하는, 장치.
  15. 제 1 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020220013584A 2022-01-28 2022-01-28 단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치 KR102559936B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220013584A KR102559936B1 (ko) 2022-01-28 2022-01-28 단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220013584A KR102559936B1 (ko) 2022-01-28 2022-01-28 단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102559936B1 true KR102559936B1 (ko) 2023-07-27

Family

ID=87433123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220013584A KR102559936B1 (ko) 2022-01-28 2022-01-28 단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102559936B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190213481A1 (en) * 2016-09-12 2019-07-11 Niantic, Inc. Predicting depth from image data using a statistical model
KR20200146040A (ko) * 2018-05-17 2020-12-31 나이앤틱, 인크. 깊이 추정 시스템의 자가 감독 훈련
KR20210068810A (ko) * 2019-12-02 2021-06-10 한국전자기술연구원 내시경 영상에 대한 깊이 추정 방법 및 장치
KR20210138788A (ko) * 2020-04-28 2021-11-19 선전 센스타임 테크놀로지 컴퍼니 리미티드 시나리오 깊이와 카메라 움직임 예측 방법 및 장치, 기기, 매체와 프로그램
KR20220008208A (ko) * 2020-07-13 2022-01-20 네이버 주식회사 깊이 및 모션 추정을 위한 자기 지도 어텐션 학습

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190213481A1 (en) * 2016-09-12 2019-07-11 Niantic, Inc. Predicting depth from image data using a statistical model
KR20200146040A (ko) * 2018-05-17 2020-12-31 나이앤틱, 인크. 깊이 추정 시스템의 자가 감독 훈련
KR20210068810A (ko) * 2019-12-02 2021-06-10 한국전자기술연구원 내시경 영상에 대한 깊이 추정 방법 및 장치
KR20210138788A (ko) * 2020-04-28 2021-11-19 선전 센스타임 테크놀로지 컴퍼니 리미티드 시나리오 깊이와 카메라 움직임 예측 방법 및 장치, 기기, 매체와 프로그램
KR20220008208A (ko) * 2020-07-13 2022-01-20 네이버 주식회사 깊이 및 모션 추정을 위한 자기 지도 어텐션 학습

Similar Documents

Publication Publication Date Title
CN112417967B (zh) 障碍物检测方法、装置、计算机设备和存储介质
US11769052B2 (en) Distance estimation to objects and free-space boundaries in autonomous machine applications
US10915793B2 (en) Method and system for converting point cloud data for use with 2D convolutional neural networks
US11908171B2 (en) Enhanced object detection for autonomous vehicles based on field view
CN112292711B (zh) 关联lidar数据和图像数据
Possatti et al. Traffic light recognition using deep learning and prior maps for autonomous cars
US9767368B2 (en) Method and system for adaptive ray based scene analysis of semantic traffic spaces and vehicle equipped with such system
Sivaraman et al. Looking at vehicles on the road: A survey of vision-based vehicle detection, tracking, and behavior analysis
Zhou et al. Self‐supervised learning to visually detect terrain surfaces for autonomous robots operating in forested terrain
WO2019230339A1 (ja) 物体識別装置、移動体用システム、物体識別方法、物体識別モデルの学習方法及び物体識別モデルの学習装置
US20230213643A1 (en) Camera-radar sensor fusion using local attention mechanism
CN114495064A (zh) 一种基于单目深度估计的车辆周围障碍物预警方法
CN112149460A (zh) 一种障碍物检测方法及装置
CN117015792A (zh) 有凹图像放大用于自动驾驶生成物体检测标签的系统和方法
US20220129685A1 (en) System and Method for Determining Object Characteristics in Real-time
KR102414632B1 (ko) 다중 관측정보를 이용한 고정객체의 위치 결정 방법
CN114118247A (zh) 一种基于多传感器融合的无锚框3d目标检测方法
CN117372991A (zh) 基于多视角多模态融合的自动驾驶方法及系统
KR20230120615A (ko) 보행자의 위치를 결정하는 방법 및 장치
KR102559936B1 (ko) 단안 카메라를 이용하여 깊이 정보를 추정하는 방법 및 장치
US20240151855A1 (en) Lidar-based object tracking
Bruno et al. A comparison of traffic signs detection methods in 2d and 3d images for the benefit of the navigation of autonomous vehicles
KR102368262B1 (ko) 다중 관측정보를 이용한 신호등 배치정보 추정 방법
JP2022142790A (ja) マルチタスクネットワークのための評価プロセス
Katare et al. Autonomous embedded system enabled 3-D object detector:(With point cloud and camera)

Legal Events

Date Code Title Description
GRNT Written decision to grant