KR20220157329A - 가변 초점 카메라의 깊이 추정 방법 - Google Patents

가변 초점 카메라의 깊이 추정 방법 Download PDF

Info

Publication number
KR20220157329A
KR20220157329A KR1020220062283A KR20220062283A KR20220157329A KR 20220157329 A KR20220157329 A KR 20220157329A KR 1020220062283 A KR1020220062283 A KR 1020220062283A KR 20220062283 A KR20220062283 A KR 20220062283A KR 20220157329 A KR20220157329 A KR 20220157329A
Authority
KR
South Korea
Prior art keywords
image
focus
image features
dimensional
images
Prior art date
Application number
KR1020220062283A
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 웁틱스, 에스.엘.
Publication of KR20220157329A publication Critical patent/KR20220157329A/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • 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/571Depth or shape recovery from multiple images from focus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • 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
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning
    • 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/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)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Automatic Focus Adjustment (AREA)
  • Studio Devices (AREA)
  • Measurement Of Optical Distance (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명은 서로 다른 초점 위치에서 카메라에 의해 촬영된 복수의 이미지로부터 깊이 정보를 추출하기 위한 컴퓨터로 구현된 방법으로, 미리 결정된 초점 스케줄에 따라 서로 다른 초점 위치에서 카메라로 장면의 이미지 시퀀스를 캡처하고, 기계 학습 알고리즘을 통해 처리하여 2차원 깊이 맵을 생성한다.

Description

가변 초점 카메라의 깊이 추정 방법 { METHOD FOR DEPTH ESTIMATION FOR A VARIABLE FOCUS CAMERA }
본 발명은 청구항 1의 전제부에 명시된 유형의 방법, 청구항 13의 전제부에 명시된 컴퓨터 시스템 및 청구항 15의 전제부에 명시된 저장 매체에 관한 것이다.
3차원 장면에서 2차원 이미지를 캡처할 때 즉, 실제 물리적 3차원 공간의 장면에서 이미지를 캡처할 때, 3차원 장면이 2차원 이미지에 투영되면서 깊이 정보가 손실된다.
예를 들어, 캡처된 2차원 이미지에서 배경 특징과 전경 특징을 구분하거나 객체를 구분하기 위하여 이 손실된 공간 깊이 정보의 적어도 일부분을 복구하는 것이 컴퓨터 비전 또는 로봇 비전, 특히 자율 로봇 시스템에서 중요하고 도전적인 작업이다.
기존 기술은 스테레오 카메라 및/또는 복잡한 광학 마이크로렌즈 어레이 등전용의 복잡한 특정 하드웨어의 사용 및/또는 모션의 구조 기술 및/또는 초점의 깊이 기술 등 캡처된 이미지에 대하여 복잡하고 컴퓨터 리소스 집약적인 처리를 필요로 한다.
특히, 모션의 구조 기술 및/또는 초점의 깊이 기술과 같은 현재 기술은 동적 장면에서 깊이 정보를 추출하거나 복구하려고 시도할 때 예를 들어, 이미지 스트림으로부터 깊이 정보를 추출하려고 시도할 때, 장면의 이미지 스트림이 캡처되는 동안 캡처된 장면에서 객체의 모션 또는 특징이 발생하는 경우 열악한 결과를 산출한다.
본 발명은 실제 3차원 장면에서 카메라/이미지 캡처링 장치에 의해 캡처된 2차원 이미지로부터 깊이 정보를 추출/추정/복구하기 위한 개선된 수단을 제공하는 것을 목적으로 한다.
특히, 예를 들어, 본 발명은 특히 역동적인 장면에서 캡처된 이미지의 경우 장면으로부터 캡처된 복수의 이미지로부터 깊이 정보를 추정하는 프로세스의 속도를 높이고 추정된 깊이 정보의 정확도를 개선하는 것을 목적으로 한다.
본 발명에 따르면, 상기 목적은 독립항에 따른 컴퓨터 구현 방법, 컴퓨터 시스템 및 컴퓨터 저장 매체에 의해 달성된다.
유리한 실시 예 및 추가 개발은 종속항의 청구 대상이다.
예를 들어, 서로 다른 초점 위치에서 카메라에 의해 촬영된 복수의 이미지로부터 깊이 정보를 추출하기 위한 컴퓨터 구현 가능한 방법은 다음 단계 중 하나, 일부 또는 전부를 포함할 수 있다.
- 카메라의 초점 위치들의 시간 순서를 지정하는 미리 결정된 초점 스케줄에 따라 서로 다른 초점 위치에서 카메라로 장면의 이미지 시퀀스를 캡처하는 단계
- 합성곱 신경망을 포함하거나 합성곱 신경망인 기계 학습 알고리즘에 의해 미리 결정된 수의 캡처된 이미지의 이미지 특징을 추출하고 상기 추출된 이미지 특징을 저장하는 단계
- 상기 미리 결정된 수의 캡처된 이미지로부터 이미지 특징을 추출 및 저장한 후, 상기 기계 학습 알고리즘에 의해 이미지 특징이 아직 추출되지 않은 캡처된 이미지(캡처된 이미지는 현재 처리된 이미지를 나타냄)를 처리하는 단계
- 상기 처리하는 단계에 포함되는 단계로, 상기 기계 학습 알고리즘에 의해 현재 처리된 이미지로부터 이미지 특징을 추출하고 추출된 이미지 특징을 저장하는 단계
- 상기 처리하는 단계에 포함되는 단계로, 이전에 캡처된 이미지로부터 저장된 이미지 특징을 현재 처리된 이미지의 이미지 특징과 정렬하는(aligning) 단계
- 상기 처리하는 단계에 포함되는 단계로, 현재 처리된 이미지의 이미지 특징에 정렬된 처리된 이미지 중 적어도 일부의 이미지 특징을 나타내는 적어도 하나의 다차원 텐서를 생성하는 단계
- 미리 결정된 초점 스케쥴에 명시된 초점 위치와 적어도 하나의 생성된 다차원 텐서를 사용하여 2차원 깊이 맵을 생성하는 단계
여기에서, 처리된 이미지의 적어도 일부의 표현은 처리 완료된, 즉 이미지 특징이 추출되고 저장된 미리 결정된 수의 캡처된 이미지의 부분 집합을 지칭하거나 처리된 미리 결정된 수의 캡처된 이미지 모두를 포함하는 집합을 지칭할 수 있다. 또한, 모든 처리된 이미지의 표현은 처리된 미리 결정된 수의 캡처된 이미지 모두를 포함하는 집합을 지칭하거나 처리된 미리 결정된 수의 캡처된 이미지와 현재 처리된 이미지를 모두 포함하는 집합을 지칭할 수 있다.
예를 들어, k가 현재 처리된 이미지를 포함할 수 있는 캡처된 이미지의 미리 결정된 수를 나타내는 자연수이면 처리된 이미지의 적어도 일부의 표현은 자연수 s를 지칭할 수 있고, 이때 s는 k보다 작거나 같으며 s는 2이상이다. 바람직하게는 s는 k와 동일할 수 있다.
여기서 장면은 실제 물리적인 3차원 공간에서의 장면으로 이해될 수 있다.
여기서, 이미지 또는 이미지 프레임은 폭 차원과 높이 차원을 갖는 2차원으로 픽셀화된 디지털 이미지 또는 이미지 프레임으로 이해될 수 있다.
여기서, 복수의 이미지 또는 이미지 프레임은 비디오 스트림의 이미지/이미지 프레임일 수 있다.
여기서 이미지 특징은 예를 들어 캡처된 이미지 내의 객체 또는 피사체의 형상, 윤곽, 색상과 같이 캡처된 이미지의 객체 또는 피사체의 특성 또는 속성으로 이해할 수 있다. 이미지 특징은 또한 객체 또는 피사체가 초점이 맞춰져 있는지 또는 초점이 흐려져 있는지를 명시하는 정보를 의미할 수 있다. 즉, 이미지 특징은 포커스/디포커스 정보를 포함할 수 있다.
상기 미리 결정된 초점 스케줄은 카메라가 특정 시간에 특정 초점 위치에서 이미지를 캡처하는 순서를 지정할 수 있다. 다시 말해서, 초점 스케줄은 카메라에서 사용할 초점 위치의 미리 정의된 리스트를 지정할 수 있으며 카메라로 장면의 이미지 시퀀스를 캡처할 때 이 리스트를 순회하는 방법을 지정할 수 있다.
상기 미리 결정된 초점 스케줄은 상이한 초점 위치 및/또는 동일한 초점 위치를 포함할 수 있는 복수의 초점 위치를 포함할 수 있다. 달리 말하면, 초점 스케줄은 카메라의 동일한 초점 위치가 이미지를 캡처하기 위해 다른 시점에서 사용될 수 있음을 명시할 수 있다.
카메라는 정의된 초점 위치에서 이미지를 캡처하기 위해 시간순으로 상기 예시적인 초점 스케줄을 순회할 수 있다.
여기서, 카메라는 픽셀화된 2차원 디지털 이미지를 캡처할 수 있는 이미지 캡처 시스템으로 이해될 수 있습니다. 또한, 상기 예시적인 카메라는 이미지의 스트림, 즉 비디오 스트림 이미지를 캡처할 수 있음을 이해해야 한다. 특히, 여기서 카메라는 광학 카메라인 것으로 이해될 수 있다.
예시적인 카메라는 일반적인 디지털 카메라, 예를 들어 스마트폰의 카메라일 수 있다. 또한 카메라는 서로 다른 초점 위치에서 이미지를 캡처하도록, 즉 미리 결정된 초점 스케줄을 순회하도록 구성될 수 있다.
예를 들어, 카메라는 이미지 검출 평면 즉, 이미지 센서 평면에서 캡처된 광이 수렴되는 위치를 제어하기 위한 광학 요소 즉, 하나 이상의 렌즈를 포함할 수 있다. 즉, 카메라는 가변 초점 카메라가 될 수 있다.
앞에서 언급된 예시적인 방법 단계는 모든 캡처된 이미지 또는 원하는 수의 캡처된 이미지가 처리될 때까지 반복적으로 또는 루프로 수행될 수 있다.
본 발명에 의하면, 복수의 이미지로부터 깊이 정보를 추출하기 위한 성능이 개선된다.
또한, 본 발명에 의하면, 복수의 이미지로부터 깊이 정보를 추출하기 위해 복잡한 수학적 연산이 필요 없다.
또한, 본 발명에 의하면, 동적 장면에 대하여도 더 강력하고 더 정확한 절대 깊이 정보 추출을 제공한다.
또한, 본 발명에 의하면, 통상의 초점 깊이 기술과 달리 서로에 대하여 문제를 일으키는 이미지/이미지 프레임을 직접 등록할 필요가 없다.
또한, 본 발명에 의하면, 장면 내의 움직임 및/또는 카메라 움직임 즉, 카메라 지지대의 흔들림으로 인해 촬영된 이미지 사이에 발생할 수 있는 카메라 움직임에 대해 더 잘 대처할 수 있다.
또한, 본 발명에 의하면, 더 나은 초점이 맞추어진 이미지를 생성하기 위해 추출된 깊이 정보, 즉 생성된 2차원 깊이 맵을 사용하는 것 외에도, 컴퓨터 및 로봇 비전 분야에도 적용될 수 있다.
도 1은 깊이 정보를 추출하는 방법 및 수단의 예시적인 개략도이다.
도 2a는 합성공 신경망의 예시적인 2차원 인코더이다.
도 2b는 예시적인 2차원 합성곱 블록이다.
도 2c는 예시적인 2차원 잔차 합성곱 블록이다.
도 2d는 예시적인 2차원 다중 스케일 특징 집계 블록이다.
도 2e는 예시적인 2차원 공간 피라미드 풀링 블록이다.
도 3a는 합성곱 신경망의 예시적인 3차원 디코더이다.
도 3b는 예시적인 3차원 잔차 합성곱 블록이다.
도 3c는 예시적인 3차원 다중 스케일 특징 집계 블록이다.
도 3d는 예시적인 3차원 공간 피라미드 풀링 블록이다.
도 4a는 예시적인 메모리 블록이다.
도 4b는 예시적인 특징 정렬 블록이다.
도 4c는 예시적인 특징 정렬 헤드이다.
도 5는 깊이 정보를 추출하는 방법의 예시적인 절차도이다.
도 6은 기계 학습 알고리즘 학습의 예시적인 개략도이다.
서로 다른 초점 위치에서 카메라에 의해 촬영된 복수의 이미지로부터 깊이 정보를 추출하기 위한 본 발명에 명시된 예시적인 방법은 현재의 최첨단 초점으로부터 깊이를 구하는 알고리즘보다 다양한 초점으로 촬영된 이미지로부터 깊이 정보를 더 빠르고 정확하게 추출할 수 있다.
본 명세서에 기재된 방법 단계에 따라 상이한 위치에 포커싱된 이미지로부터의 깊이 정보 추출의 속도 향상은 실시간으로, 즉 카메라 사용자에게 눈에 띄는 지연 없이 실시간으로 이미지 스트림으로부터 깊이 정보의 추출을 허용한다.
예를 들어, 카메라가 비디오 스트림을 캡처하는 동안 캡처된 비디오 스트림의 이미지에서 깊이 정보를 동시에 추출할 수 있다. 예를 들어, 깊이 정보는 이미지당 18ms 미만의 속도로 추출될 수 있으며, 이에 의해 예를 들어 초당 적어도 30프레임 이상의 이미지 프레임 레이트를 갖는 비디오 스트림에 대해 여기에 설명된 방법의 적용을 허용한다.
또한, 예를 들어 카메라의 사용자가 장면의 사진을 찍기 위해 커밋(commit)하기 전에 카메라는 사용자가 캡처하려는 이미지에 대한 초점 설정의 최적화 및/또는 사용자가 캡처하려는 장면의 올-인-포커스 이미지 생성을 위한 장면에 대한 깊이 정보를 추출하기 위해 미리 결정된 초점 스케줄에 따라 초점을 변경하여 해당 장면의 복수의 이미지를 자동으로 캡처할 수 있다.
복수의 이미지로부터 깊이 정보를 추출하기 위한 본 명세서에 명시된 방법의 개선된 성능은 특히 현재 이미지 또는 현재 입력 이미지를 처리하는 동안 이전에 캡처된 이미지/과거의 적어도 일부 또는 전체의 정보가 이미지가 저장, 재사용 및 고려되므로 추가 계산이 필요하지 않는다는 사실에 기인한다.
또한, 복수의 이미지로부터 깊이 정보를 추출하기 위한 본 명세서에 명시된 방법은 복잡한 수학적 연산을 필요로 하지 않지만, 예를 들어, 오히려 병렬적으로 수행될 수 있는 덧셈 및 곱셈과 같은 계산 또는 기본 수학적 연산에 의존하므로 일반 CPU(Central Processor Unit)보다 빠르게 병렬 기본 계산을 수행할 수 있는 GPU(Graphical Processor Unit)에 의해 수행되는 것이 이상적이다.
더욱이, 복수의 이미지로부터 깊이 정보를 추출하기 위한 본 명세서에 명시된 예시적인 방법은 특히 동적 장면의 경우 즉, 복수의 이미지를 캡처하는 동안 객체 및/또는 피사체의 동작이 발생하는 장면의 이미지로부터 더 강력하고 더 정확한 절대 깊이 정보 추출을 제공한다.
본 명세서에 명시된 예시적인 방법의 개선된 견고성 및 정확성은 특히 캡처된 이미지의 처리가 전체로서의 이미지 또는 이미지 프레임의 레벨이 아닌 특징 레벨에서만 수행된다는 사실에 기인한다.
본 명세서에 명시된 방법은 통상의 초점 깊이 기술에서 요구되고 특히 장면의 객체 또는 피사체가 캡처된 이미지 사이에서 움직일 때 문제를 일으키는 서로에 대해 이미지/이미지 프레임을 직접 등록할 필요가 없다. 상기 움직임(들)은 이미지 정렬을 위한 현재 기술에 대하여 실패를 유발할 수 있다.
현재 기술과 대조적으로, 본 명세서에 명시된 방법은 특징 레벨에서 정렬 즉, 과거/이전에 캡처된 이미지의 과거/이전에 캡처된 특징을 현재 처리된 이미지/현재 처리된 입력 이미지의 이미지 특징과 정렬하여 간접적인 캡처된 이미지 간의 암시적 등록/정렬을 수행하는 것을 허용한다. 따라서, 본 발명의 방법은 장면 내의 움직임 및/또는 카메라 움직임 즉, 카메라 지지대의 흔들림으로 인해 촬영된 이미지 사이에 발생할 수 있는 카메라 움직임에 대해 더 잘 대처할 수 있다.
더 나은 초점이 맞추어진 이미지를 생성하기 위해 추출된 깊이 정보, 즉 생성된 2차원 깊이 맵을 사용하는 것 외에도, 본 발명에 명시된 방법 단계 및 수단은 컴퓨터 및 로봇 비전 분야에도 적용될 수 있다.
예를 들어, 본 발명에 명시된 방법은 로봇 또는 자동차 특히 자율 주행 기능을 개선하기 위한 자율 로봇 또는 자동차의 시각적 객체 인식을 개선하는 데 사용될 수 있다.
본 발명에 명시된 방법은 이미지의 분류를 개선 즉, 이미지 또는 객체 감지 알고리즘의 정확도와 성능을 개선하고/하거나 추출된 깊이 정보를 사용하여 이미지/비디오 분석 시스템을 개선하는 데 사용될 수 있다.
또한, 추출된 깊이 정보, 즉 생성된 2차원 깊이 맵은 디스플레이에 대한 입력 특히, 예를 들어 복수의 2차원 이미지로 캡처된 장면으로 3차원 이미지를 생성하기 위해 3차원 디스플레이에 대한 입력으로 사용될 수 있다.
더욱이, 본 발명에 명시된 방법 및 본 발명에 명시된 합성곱 신경망을 포함하는 기계 학습 알고리즘은 임의의 유형의 카메라 사용과 독립적이다. 즉, 본 발명은 임의의 유형의 이미지 및 카메라와 함께 작동한다. 특정 카메라 하드웨어나 렌즈가 요구되지 않는다.
합성곱 신경망은 다른 카메라와 초점 구성으로 학습할 수 있으므로 알려지지 않은 장면/알려지지 않은 샘플에 대하여 본 발명의 방법을 더 잘 일반화할 수 있다.
본 발명에 명시된 예시적인 방법 단계에서, 이미지 특징은 폭 차원(W), 높이 차원(H) 및 채널 차원(C)를 포함하는 3차원 특징 텐서로서 합성곱 신경망의 레이어에 의해 추출될 수 있으며, 상기 채널 차원은 합성곱 신경망의 하나 이상의 레이어에 의해 이미지로부터 추출된 특징 맵의 수를 명시할 수 있고, 추출된 이미지 특징의 저장은 추출된 이미지 특징을 3차원 특징 텐서의 리스트로서 저장하는 것을 포함할 수 있다.
예시적인 특징 텐서 즉, 현재 처리된 이미지의 특징 텐서(F)는
Figure pat00001
의 요소일 수 있다(
Figure pat00002
, C, W 및 H는 앞의 설명을 참고).
여기에서, 이미지로부터 추출된 특징 맵은 합성곱 신경망의 하나 이상의 레이어에 의해 검출된/추출된 이미지에 대한 특징 또는 양상 또는 속성 또는 특성의 폭 차원(W) 및 높이 차원(H)을 갖는 2차원 표현으로 이해될 수 있다. 특히, 특징 맵은 합성곱 신경망의 하나 이상의 레이어에 의해 이미지에 대하여 특정한 특징 또는 양상 또는 속성 또는 특성이 감지되거나 추출된 위치의 2차원 표현으로 이해될 수 있다.
상기 특징 맵의 폭 및 높이 차원은 특징 맵이 추출된 이미지의 폭 차원과 높이 차원과 같거나 다를 수 있다(예를 들어, 더 작을 수 있다).
상기 예시적인 특징 맵은 상기 예시적인 3차원 특징 텐서(들)의 조각(slice)이거나 조각을 나타내는 것으로 이해될 수 있다.
여기에서, 이미지의 특징 또는 이미지 특징이라는 용어는 따라서 이미지의 표현 또는 다른 차원 공간 즉, 특징이 추출된 이미지의 차원 공간보다 더 높은 차원 공간에서의 이미지의 한 양태의 표현으로 이해될 수 있다.
따라서, 합성곱 신경망을 포함하는 기계 학습 알고리즘에 의해 이미지로부터 이미지 특징을 추출하는 본 명세서에 명시된 절차는 이미지를 이미지 특징으로 변환하는 것으로 이해될 수 있다.
추출된 이미지 특징을 텐서로 나타내면 특징 텐서가 합성곱 신경망에 의해 더 쉽게 처리될 수 있으므로 추출된 이미지 특징의 계산 처리가 용이하다.
합성곱 신경망에 의한 이미지 특징 추출은 합성곱 레이어, 배치 정규화(BN), ReLu(Rectified Linear Activation Functions), 리샘플링 즉, 업샘플링(Up), 형상 변환(reshaping) 또는 풀링(pooling), 연결(Concat) 및 건너뛰기(skip) 연산을 포함하는 시퀀스에 의해 수행될 수 있다.
여기서, 배치 정규화(BN)는 추정 평균 E(x), 일명 실행 평균과 분산 Var(x)과, 스케일 파라미터와 쉬프트 파라미터를 사용하는 정규화 연산을 의미할 수 있으며, 여기서 상기 스케일 파라미터와 상기 시프트 파라미터는 학습되는 동안 합성곱 신경망에 의해 학습되었을 수 있다.
따라서 배치 정규화(BN)는 예를 들어 다음과 같이 표현할 수 있다.
Figure pat00003
여기서, ReLu 활성화 함수는 음수 값을 0으로 설정하고 0을 포함한 양수 값을 변경하지 않고 그대로 두는 합성곱 신경망의 활성화 함수로 이해될 수 있다.
따라서 ReLu 활성화 함수는 예를 들어 다음과 같이 표현할 수 있다.
Figure pat00004
여기서, 업샘플링(Up, UP, Up-sample) 연산은 이미지 또는 이미지 특징 또는 이미지 특징 텐서 또는 특징 맵의 폭 및/또는 높이 차원(들)을 증가시키는 연산을 의미할 수 있으며, 증가 연산은 업샘플링된 값을 얻기 위해 원본 이미지 또는 원본 이미지 특징 텐서 또는 원본 특징 맵의 값을 보간하거나 외삽하는 것을 기반으로 하거나 포함한다.
여기서, 형상 변환(reshaping) 연산은 텐서의 총 요소(element) 수를 유지하면서 형상 즉, 차원들, 텐서의 형상(shape), 즉 이미지 또는 이미지 특징 또는 특징 맵 또는 이미지 특징 텐서의 형상(shape)을 수정하는 작업을 의미할 수 있다. 예를 들어, 형상이 [10, 3, 9, 2]인 텐서는 동일한 총 요소 수(540)를 유지하는 형상이 [10, 3, 18], [30, 18], [30, 1, 18] 또는 [540]인 텐서로 형상 변환될 수 있다.
여기서, 풀링 연산(Pool, Pooling, Spatial Pyramid Pooling)은 업샘플링 연산과 유사하지만 이미지 또는 이미지 특징 또는 이미지 특징 텐서 또는 특징 맵의 폭 및/또는 높이 차원(들)을 다운샘플링 하는 연산으로 이해될 수 있다. 예를 들어, 풀링 연산은 최대 또는 평균 함수 연산을 픽셀 즉, 이미지 또는 이미지 특징 또는 특징 맵 또는 이미지 특징 텐서의 픽셀의 부분 집합에 적용할 수 있다. 픽셀의 부분 집합은 하나의 픽셀을 생성하기 위한 미리 결정된 스트라이드를 갖는 미리 결정된 커널/필터의 크기에 대응한다.
예를 들어, 커널 크기가 2이고 스트라이드가 2인 최대 풀링 연산은 입력을 다운샘플링 즉, 이미지 또는 이미지 특징 또는 이미지 특징 텐서 또는 특징 맵을 [2, 2] 형상의 픽셀 부분 집합을 사용하여 절반으로 변환한다. 여기서 다운샘플 팩터는 지정된 스트라이드에 해당한다.
선택한 커널 및 스트라이드 크기는 예시일 뿐이다. 예를 들어 경험적으로 결정된 다른 커널 및 스트라이드 크기도 선택할 수 있다.
여기서, 연결 연산은 둘 이상의 텐서를 병합 즉, 특정 차원을 따라 이미지 또는 이미지 특징 또는 이미지 특징 텐서 또는 특징 맵의 텐서를 병합하는 연산을 의미할 수 있다. 이 연산은 병합할/연결할 모든 텐서가 연결 차원을 제외하고 모든 차원에서 동일한 모양을 가질 것을 요구한다.
예를 들어, 형상이 [10, 3, 9]인 텐서 t1과 형상이 [4, 3, 9]인 텐서 t2가 첫 번째 차원을 따라 연결되면 모양이 [14, 3, 9]인 텐서가 생성된다.
여기서, 건너뛰기(스킵) 연산은, 특정 연산(예, 덧셈 연산)을 이용하여 합성곱 신경망의 연산의 비연속적인 레이어 또는 비연속적인 시퀀스를 연결하는 연산을 의미할 수 있다.
예를 들어, x1은 입력 x0을 사용하는 레이어 1 연산의 출력으로 하고(x1=layer1(x0)), x2은 입력 x1을 사용하여 레이어 2 연산의 출력으로 하고(x2=layer2(x1)), x3은 입력 x2를 사용하는 레이어 3의 연산 출력으로 하고(x3=layer3(x2)), 레이어 2는 레이어 1에 연속적이며 레이어 3은 레이어 2에 연속적이라고 한다.
그러면 예시적인 건너뛰기 연산은 덧셈 연산 x3+x1으로서 계층 2를 건너뛰는 것으로 정의될 수 있다.
여기서, 합성곱 레이어(convolutional layer or convolution layer)는 이미지 또는 이미지 특징 또는 이미지 특징 텐서 또는 특징 맵에 대한 합성곱 연산을 의미할 수 있다.
합성곱 신경망의 가능한 예시적인 연산 또는 레이어는 다차원을 따라(along)/다차원에 걸쳐(over)/다차원으로 수행될 수 있다. 연산의 차원은 합성곱 신경망 내에서 연산이 일어나는 위치에 의존할 수 있다.
예를 들어, 합성곱 신경망에 의한 이미지 특징의 추출은 특히 이미지 또는 이미지 특징 또는 이미지 특징 텐서 또는 특징 맵의 높이 차원(H)와 폭 차원(W)에 대하여 작동/작용하는 연산 또는 레이어를 포함할 수 있고, 추출된 이미지 특징에 대한 추가적인 처리(예, 이미지 특징의 정렬)는 초점 위치 차원과 같은 추가 차원에 작용하는 합성곱 신경망의 연산 또는 레이어를 포함할 수 있다.
이미지 특징의 추출을 위해 구성된 예시적인 합성곱 신경망 아키텍처의 예시적인 특정 구성이 아래에서 추가로 제공될 것이다.
이전에 캡처된 이미지들로부터 저장된 이미지 특징들을 현재 처리된 이미지의 이미지 특징들에 정렬하는 상기 언급된 정렬은 이전에 캡처된 이미지로부터 저장된 이미지 특징과 현재 처리된 이미지로부터의 이미지 특징 모두에 4차원 인코딩을 적용하는 것을 포함할 수 있고, 여기서 이미지 특징은 텐서로 표시된다.
예를 들어, 상기 4차원 인코딩은 시간, 공간 및 초점 위치 정보를 이전에 캡처된 이미지로부터 이미지 특징과 현재 처리된 이미지로부터 이미지 특징에 임베딩하는 것을 포함할 수 있다.
예를 들어, 4차원 인코딩 E는 다음 두 식에 따라 구성될 수 있다.
Figure pat00005
Figure pat00006
α는 보정 상수이고, 바람직하게는 α는 채널 수 또는 채널 차원 크기인 C보다 크다. x, y는 공간 픽셀 좌표이다. t는 시간, 즉 시간적 위치/시점/타임 스탬프/이미지 특징이 추출된 캡처된 이미지의 시간 인덱스(t ∈[0,K-1]이고, K는 이전에 캡처된 이미지의 수 즉, 캡처된 이미지의 미리 결정된 수이다. d(d ∈[0,N-1])는 인코딩할 주어진 이미지의 초점 평면 위치/초점 위치/초점 위치 인덱스이고 N은 총 이미지 수 즉, 초점 스케줄의 이미지의 수 또는 초점 스케줄의 이미지 수와 초점 스케줄의 이미지에서 파생된 이미지 수의 합, 여기서 상기 파생된 이미지는 초점 스케줄에 따라 캡처된 이미지의 보간 또는 외삽에 의해 파생될 수 있다. i(i ∈[0,C/2])는 인코딩(들)을 위한 채널을 짝수 및 홀수 채널로 나누는 데 사용되는 인덱스이다.
예시적인 인코딩
Figure pat00007
,
Figure pat00008
로 구성된 상기 예시적인 인코딩 E는 현재 처리된 이미지
Figure pat00009
의 이미지 특징/특징 텐서와 이전에 캡처한 이미지로부터의 이미지 특징/특징 텐서 각각 즉, 과거 K개의 이미지
Figure pat00010
로부터의 이미지 특징/특징 텐서 각각의 덧셈을 통해
Figure pat00011
Figure pat00012
를 다음과 같이 구하기 위해 적용된다.
Figure pat00013
Figure pat00014
여기서 c ∈[1,C]는 채널 인덱스이고
Figure pat00015
는 과거 K개의 이미지/이전에 캡처된 이미지의 이미지 특징/특징 텐서의 인코딩, 즉 k ∈[1,K]는 과거 K개/이전에 캡처된/저장된 이미지의 이미지 특징/특징 텐서에 대한 인덱스를 나타낸다.
본 발명에 명시된 예는 비선형이고 삼각 함수 사용을 기반으로 하는 예시적인 4차원 인코딩을 명시하며, 4차원 인코딩은 현재 처리된 이미지의 이미지 특징과 이전에 캡처한 이미지로부터 저장된 이미지 특징 각각의 덧셈을 통해 적용된다. 그러나 다른 4차원 인코딩 또한 사용될 수 있다.
인코딩된 특징 텐서 EF 및 EPF를 정렬하고 현재 처리된 이미지의 이미지 특징에 정렬된 이전에 처리된 모든 이미지 즉, K개의 처리된 이미지의 이미지 특징을 나타내는 적어도 하나의 다차원 텐서를 생성하기 위하여, 다음과 같은 예시적인 단계가 수행될 수 있다.
인코딩된 특징 텐서에 대한 유사성 연산은 다음 예시적인 유사도 점수(들)에 기초하여 합성곱 신경망에 의해 수행될 수 있다.
Figure pat00016
EF'는 합성곱 신경망을 통해 EF를 형상 변환(reshaping)하여 얻은 2차원 행렬이다. i, j는 행렬 요소를 나타낸다. EPF'는 합성곱 신경망을 통해 EPF를 형상 변환하여 얻은 3차원 텐서이고, k, i', j는 3차원 텐서의 요소를 나타내며 k는 과거 K개/이전에 캡처된/저장된 이미지의 이미지 특징 텐서의 인덱스이다. 여기서 인덱스 i 및 i'는 예를 들어 [0, (H*W)-1]의 범위를 가지며 인덱스 j는 [0, C -1]의 범위를 가질 수 있으며, H, W는 특징 텐서의 높이 차원 및 폭 차원이고 C는 채널 수이다.
완전성을 위해 그리고 앞서 지적한 바와 같이, EPF는 또한 현재 처리된 이미지의 추출된 특징을 포함할 수 있다. 즉 현재 처리된 이미지의 특징 텐서를 포함할 수 있다. 그러나 현재 처리된 이미지의 특징 텐서는 자신과 완전히 유사해야 하므로 현재 처리 중인 이미지의 특징 텐서를 EPF에 포함해도 유사도 점수에는 영향을 미치지 않는다.
그러나, EPF에 현재 처리된 이미지의 특징 텐서를 포함하는 것은 특히 예를 들어, 합성곱 신경망의 학습 중에 합성곱 신경망의 유효성과 견고성을 확인하는 데 특히 유용할 수 있다.
따라서,
Figure pat00017
은 현재 처리된 이미지의 이미지 특징과 K개의 과거 이미지 각각에 대한 이미지 특징 간의 유사도 점수로 이해될 수 있다.
상기 유사도 점수는 다음과 같이 확률
Figure pat00018
으로 변환될 수 있다.
Figure pat00019
Figure pat00020
은 다음과 같은 속성의 정규화된 유사도 점수이다.
Figure pat00021
다음과 갈이 상기 예시적인 정규화된 유사도 점수는
Figure pat00022
를 획득하기 위해 과거 K개의 이미지의 형상 변환되어 인코딩된 특징 텐서
Figure pat00023
와 곱해질 수 있다.
Figure pat00024
Figure pat00025
Figure pat00026
로 형상 변환될 수 있다. 그런 다음 AF는 동일한 초점 위치에 해당하는 특징들을 그룹화하기 위해 첫 번째 차원에 대하여 그룹화될 수 있으므로
Figure pat00027
이고 K는 과거 K개/이전에 캡처된/저장된 이미지(현재 처리된 이미지도 포함할 수 있음)의 총 수 또는 과거 K개/이전에 캡처된/저장된 이미지의 모든 초점 위치(현재 처리된 이미지의 초점 위치를 포함할 수 있음)의 수이고 N은 총 K개의 초점 위치 중 고유한 초점 위치의 수인
Figure pat00028
를 얻을 수 있다.
그런 다음, 정보는 감소 합계 연산에 의해 다음과 같이 병합될 수 있다.
Figure pat00029
Figure pat00030
는 현재 처리된 이미지의 이미지 특징에 정렬된 모든 처리된 이미지의 이미지 특징을 나타내는 적어도 하나 이상의 다차원 텐서에 대한 예이다. 여기서 n은 [0, N-1] 범위의 인덱스이고 m은 [0, M-1] 범위의 인덱스이며, N은 고유한 초점 위치의 수이고 M은 앞에서 정의된 것과 같다.
이전에 지적한 바와 같이, 이전에 캡처된 이미지의 모든 저장된 또는 모든 처리된 이미지 특성을 현재 처리된 이미지의 이미지 특성과 정렬하는 대신 현재 처리된 이미지의 이미지 특징으로 처리된 미리 결정된 수의 캡처된/과거 K개 이미지의 일부의 이미지 특성만 정렬하는 것도 가능하다. 다시 말해,
Figure pat00031
는 예를 들어 현재 처리된 이미지의 이미지 특징에 정렬된 이전에 처리된 이미지 특징의 일부만을 나타낼 수 있다. 즉, 위에서 식별된 지수 범위는 예시일 뿐이다.
미리 결정된 초점 스케줄에 명시된 초점 위치와 생성된 적어도 하나의 다차원 텐서를 이용하여 2차원 깊이 맵을 생성하는 단계는 기계 학습 알고리즘에 의해 획득된 적어도 하나의 다차원 텐서
Figure pat00032
를 사용하여 적어도 하나의 다차원 확률 맵
Figure pat00033
을 생성하는 단계와 미리 결정된 초점 스케줄에 지정된 초점 위치를 사용하여 상기 적어도 하나의 다차원 초점 확률 맵을 실제 물리적 거리에 리매핑하는 단계를 더 포함할 수 있다.
상기 다차원 초점 확률 맵 fpm은 특히 예를 들어 다음 단계를 통해 합성곱 신경망에 의해 획득될 수 있다.
필요한 경우 처리된 캡처된 이미지의 원본 공간 해상도로
Figure pat00034
의 선택적 업샘플링하는 단계
채널 수를 1로 줄이기 위한 합성곱하는 단계
다차원 초점 확률 맵을 얻기 위해 softmax 연산으로 정규화하는 단계
여기서, 합성곱 신경망에 의한 소프트맥스 연산은 예를 들어 다음과 같이 정의될 수 있다.
Figure pat00035
Figure pat00036
Figure pat00037
이다.
상기 획득된 예시적인 적어도 하나의 다차원 초점 확률 맵
Figure pat00038
은 폭 차원(W), 높이 차원(H) 및 초점 위치 차원(N)을 갖는 3차원 텐서이고, 상기 초점 위치 차원은 초점 위치의 수 즉, 예를 들어 초점 스케쥴의 상이한 초점 위치 또는 초점 스케쥴 및 합성/유도된 이미지에 대한 합성/유도된 초점 위치로부터 상이한 초점 위치의 수를 명시하고, 상기 합성/유도된 이미지는 보간 또는 외삽을 통해 캡처된 이미지로부터 유도된다.
여기서, 폭 및 높이 차원의 크기는 입력 이미지의 폭 및 높이 차원의 크기와 같을 수 있으며, 상기 입력 이미지는 미리 결정된 수의 캡처된 이미지 또는 현재 처리된 이미지 또는 합성 이미지 중 하나이다.
미리 결정된 초점 스케줄에 명시된 초점 위치를 사용하여 실제 물리적 거리에 대한 적어도 하나의 다차원 초점 확률 맵 fpm을 재매핑하는 단계는 캡처된 장면에 대한 절대 깊이 정보가 있는 2차원 깊이 맵을 얻기 위해 적어도 하나의 다차원 초점 확률 맵의 각 픽셀과 초점 일정에서 알려진 초점 위치의 내적을 계산하는 단계를 포함할 수 있다.
앞에서 설명된 예시적인 단계는 상이한 이미지 특징 스케일에 대해 수행될 수 있다. 즉, 미리 결정된 수의 캡처된 이미지의 이미지 특징을 추출하고 현재 처리된 이미지의 이미지 특징을 추출하는 단계는 기계 학습 알고리즘에 의해 상이한 스케일에서 이미지 특징을 추출하는 단계를 더 포함할 수 있다. 이때, 상기 스케일은 입력 이미지의 높이의 비율 및/또는 입력 이미지의 폭의 비율로서 정의되며, 상기 입력 이미지는 미리 결정된 수의 캡처된 이미지의 이미지 또는 현재 처리된 이미지이다.
또한, 미리 결정된 수의 캡처된 이미지에서 추출된 이미지 특징/특징 텐서 및 현재 처리된 이미지에서 추출된 이미지 특징/특징 텐서는 예를 들어, 컴퓨터 판독 가능한 메모리의 원형 버퍼에 저장되며, 원형 버퍼는 적어도 미리 결정된 수의 캡처된 이미지로부터 추출된 이미지 특징을 저장할 수 있다.
이것은 효율적인 메모리 관리와 메모리 오버플로를 피하면서 이미지 스트림 즉, 비디오 스트림의 효율적인 처리를 가능하게 한다.
여기서 미리 결정된 수의 캡처된 이미지는 초점 스케줄에 의해 명시된 서로 다른 초점 위치의 수 이상일 수 있다.
본 발명에 명시된 예시적인 합성곱 신경망은 실제 물리적 세계로부터의 복수의 상이한 장면에 대한 상이한 초점 위치에 초점을 맞춘 복수의 이미지를 포함하는 학습 샘플에 대해 학습된 합성곱 신경망일 수 있으며, 여기서 장면은 정적 또는 동적이며, 여기서 합성곱 신경망 파라미터는 손실 함수를 사용하여 합성곱 신경망에 의해 생성되어 추정된 깊이 맵을 해당 알려진 정답 깊이 맵, 즉 절대값이 알려진 깊이 맵과 비교함으로써 최적화된다.
손실 함수는 예상되는 알려진 정답 깊이 맵과 관련하여 추정된/예측된 깊이 맵이 얼마나 다른지를 측정한 것입니다. 합성곱 신경망의 학습은 손실 함수가 원하는/지정된 최소값에 도달하고 합성곱 신경망의 최적 모델 파라미터가 결정될 때까지 실행된다. 손실 함수의 최소화는 경사 하강 알고리즘을 사용하는 것과 같은 최적화 기술에 의해 달성될 수 있다. 그러나 다른 최적화 기술(예, 시뮬레이션된 어닐링, 유전 알고리즘 또는 마코프 체인 몬테 카를로(Markov-chain-Monte-Carlo) 알고리즘)이 손실 함수를 최소화하고 학습으로부터 합성곱 신경망의 최적의 모델 파라미터(예: 합성곱 레이어의 최적의 가중치, 최고의 스케일 또는 시프트 파라미터 값)를 결정하기 위해 적용될 수 있다.
본 발명에 예시적으로 명시된 방법 및 방법 단계는 컴퓨터 메모리와, 하나 이상의 프로세서를 포함하는 컴퓨터 시스템에서 구현될 수 있다. 프로세서는 예를 들어 중앙 처리 장치(CPU) 및/또는 그래픽 처리 장치(GPU)이고, 컴퓨터 메모리는 하나 이상의 프로세서가 다른 초점 위치에서 카메라로 찍은 복수의 이미지로부터 깊이 정보를 추출하기 위해 본 발명에 명시된 방법 또는 방법 단계를 수행하도록 지시하는 명령을 저장할 수 있다.
본 발명에 명시된 방법 단계는 알려진 초점 깊이 기술과 비교하여 이미지의 더 빠른 처리를 가능하게 하기 때문에 이미지 및 이미지 스트림의 실시간 처리는 스마트폰과 같은 휴대용 장치의 프로세서에서도 달성될 수 있다.
따라서, 상기 컴퓨팅 시스템은 다른 초점 위치로 장면의 이미지를 캡처하도록 구성된 카메라를 포함하는 휴대용 모바일 장치(예, 스마트폰) 가 될 수 있다.
또한, 컴퓨터 시스템에 의해 실행될 때 본 발명에 명시된 바와 같이 상이한 초점 위치에서 카메라에 의해 촬영된 복수의 이미지로부터 깊이 정보를 추출하는 방법을 수행할 수 있는 컴퓨터 실행가능 명령어는 컴퓨터 판독 가능한 저장 매체(예, 비휘발성 컴퓨터 저장 매체)에 저장될 수 있다.
위에서 언급한 미리 결정된 수의 캡처된 이미지는 예를 들어 미리 결정된 초점 스케줄의 초점 위치의 수보다 작거나, 크거나 같을 수 있고/있거나. 미리 결정된 초점 스케줄에서 다른, 즉 고유한 초점 위치의 수 이상일 수 있다. 특히, 캡처된 이미지의 미리 결정된 수는 미리 결정된 초점 스케줄에서 초점 위치의 수의 자연수 배수일 수 있다.
도 1은 이미지로부터 깊이 정보를 추출하기 위한 방법 및 수단의 일반적인 개요를 예시적으로 도시한다.
장면의 이미지 스트림(700)은 합성곱 신경망을 포함하는 기계 학습 모델/기계 학습 알고리즘(720)에 입력/피드된다. 상기 이미지 스트림은 가변 초점을 가진 카메라에 의해 초점 스케줄(710)에 따라 서로 다른 초점 위치에서 이미지를 캡처함으로써 촬영된다.
합성곱 신경망을 포함하는 기계 학습 알고리즘은 장면의 2차원 깊이 맵(750)을 획득하기 위해 초점 스케줄(710)의 알려진 초점 위치를 사용하여 절대 거리로 재매핑(740)될 수 있는 장면의 초점 확률 맵(730)을 출력한다.
도 2a는 상이한 초점 위치에서 카메라에 의해 캡처된 이미지(101)로부터 이미지 특징을 추출하는 데 사용될 수 있고 예시적으로 추출된 특징 또는 특징 텐서(115, 116, 117, 118) 출력하는 예시적으로 가능한 합성곱 신경망 아키텍처의 예시적인 부분을 도시한다.
도 2a에서 예시적으로 가능한 합성곱 신경망 아키텍처의 예시적인 부분은 입력 이미지(101)의 특징을 모든 채널 차원(C)에 대해 폭(W) 및 높이(H)의 2차원 특징 맵으로 인코딩하는 2차원(2D) 인코더(100)를 나타내는 것으로 이해될 수 있다.
다르게 기술된 이미지 특징은 폭 차원(W), 높이 차원(H) 및 채널 차원ㄹ를 포함하는 3차원 특징 텐서(115, 116, 117, 118)로 추출되며, 여기서 상기 채널 차원은 합성곱 신경망의 표시된 부분의 하나 이상의 레이어 또는 블록(102, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114)에 의해 이미지로부터 추출된 특징 맵의 수를 나타낸다.
도시된 예시적인 경우에, 입력 이미지(101)로부터의 특징은 4개의 상이한 스케일 즉, 다른 공간 크기 및/또는 다른 채널 차원으로 추출된다.
예를 들어, 3차원 출력 특징 텐서/추출된 특징 텐서(115)는 채널 차원 C=16, H/8, W/8의 형상일 수 있고, 특징 텐서(116)는 C=16, H/16, W/16의 형상일 수 있고, 특징 텐서(117)는 C=16, H/32, W/32의 형상일 수 있고, 특징 텐서(118)는 C=32, H/64, W/64의 형상일 수 있다. 이때 H 및 W는 입력 이미지(101)의 높이 및 폭 차원의 크기이다.
상이한 스케일의 수 및 선택은 예시일 뿐이며 단일 스케일만을 사용하는 것도 가능하다. 또한 채널의 수는 예시일 뿐이며, 예를 들어 경험적으로 결정/정의될 수 있다.
다음으로, 2차원(2D) 연산 또는 레이어 또는 블록, 예를 들어 2D 합성곱 블록 또는 2D 잔차 합성곱 블록 또는 2D 공간 피라미드 풀링 블록 또는 2D 다중 스케일 특징 집계 블록은 특징 텐서의 높이 및 폭 차원 즉, 특징 맵의 높이 및 폭 차원에서 작동/작용하는 것으로 이해될 수 있다. 상기 높이 및 폭 차원은 입력 이미지(101)의 높이 및 폭 차원의 크기와 동일하거나 다를 수 있다.
4개의 상이한 스케일에서 특징의 예시적인 추출 단계는 2차원 합성곱 블록(102)과 4개의 2차원 잔차 합성곱 블록(103, 104, 105, 106)을 포함하는 시퀀스에 의해 달성된다. 상기 예시적인 2차원 잔차 합성곱 블록(103, 104, 105, 106)은 각각 2차원 합성곱 레이어(Conv), 배치 정규화(BN), ReLu, 합산(Sum) 및 주어진 잔차 합성곱 블록의 입력과 출력 사이의 스킵 연결 시퀀스를 포함한다. 2차원 잔차 합성곱 블록에 대한 예시적인 구성이 도 2c에서 제공된다.
상기 2차원 합성곱 블록(102)은 예를 들어, 2차원 합성곱 계층(Conv), 배치 정규화(BN), ReLu 및 풀링 레이어(풀)의 시퀀스를 포함할 수 있다. 2차원 합성곱 블록에 대한 예시적인 구성이 도 2b에서 제공된다.
마지막 잔차 합성곱 블록(106)이 적용된 후, 2차원 공간 피라미드 풀링 블록(107)이 적용된다. 이러한 2차원 공간 피라미드 풀링 블록에 대한 예시적인 구성이 도 2e에서 제공된다.
2차원 공간 피라미드 풀링 블록(107)의 출력은 2차원 다중 스케일 특징 집계 블록(108, 109, 110)을 사용하여 처음 3개의 2차원 잔차 합성곱 블록(103, 104, 105)으로부터의 중간 출력과 순차적으로 병합된다.
2차원 다중 스케일 특징 집계 블록에 대한 예시적인 구성이 도 2d에서 제공된다.
마지막 단계로 각 스케일에 대해 2차원 합성곱 레이어(Conv)의 스퀀스(111a, 112a, 113a, 114a), 배치 정규화(BN, 111b, 112b, 113b) 및 ReLu(111c, 112c, 113c, 114c)는 예시적인 4개의 특징 스케일에 대한 추출된 특징/특징 텐서(115, 116, 117, 118)를 얻기 위해 적용될 수 있다.
도 2b의 예시는 3개의 시퀀스(119, 120, 121)를 포함하는 도 2a의 2차원 합성곱 블록(102)에 대한 가능한 예시적인 구성을 나타내며, 여기서 각 시퀀스는 2차원 합성곱 레이어(Conv), 배치 정규화(BN), ReLu를 포함한다. 마지막 시퀀스(121) 이후에 풀링 계층(Pool)이 적용되어 합성곱 블록(102)의 출력을 얻는다.
예시적인 도 2c는 2개의 브랜치(128, 129)를 포함하는 도 2a의 2차원 잔차 합성곱 블록(103, 104, 105, 106)에 대한 가능한 예시적인 구성을 도시한다.
예시적인 브랜치(128)는 2차원 합성곱 레이어(Conv), 배치 정규화(BN) 및 ReLu를 포함하는 제1 시퀀스(123) 및 배치 정규화(BN) 및 ReLu를 포함하는 제2 시퀀스(124)를 포함한다.
예시적인 브랜치(129)는 2차원 합성곱 레이어(Conv) 및 배치 정규화(BN) 의 단일 시퀀스만을 포함한다.
상기 예시적인 2개의 브랜치의 출력은 합산(Sum) 연산(125)을 사용하여 병합되고 2차원 잔차 합성곱 블록의 출력은 ReLu 연산(126) 후에 획득된다.
도 2d의 예시는 도 2a의 2차원 다중 스케일 특징 집계 블록(108, 109, 110)에 대한 가능한 예시적인 구성을 도시한다.
상기 예시적인 2차원 멀티스케일 특징 집합 블록은 2차원 합성곱 레이어(Conv), 배치 정규화(BN) 및 ReLu를 포함하는 시퀀스(131)가 뒤따르고, 그 뒤를 연결(ConCat) 연산(132)과 2차원 합성곱 레이어(Conv), 배치 정규화(BN) 및 ReLu를 포함하는 최종 시퀀스(133)가 따르는 업샘플링 연산(UP, 130)을 포함할 수 있다.
예시적인 도 2e는 도 2a의 2차원 공간 피라미드 풀링 블록(107)에 대한 가능한 예시적인 구성을 도시한다. 예시적인 2차원 공간 피라미드 풀링 블록에 대한 입력은 5개의 브랜치(134, 135, 136, 137, 138)로 들어가며, 여기서 4개의 병렬 브랜치(134, 135, 136, 137)는 각각 풀링 레이어(Pool), 합성곱 레이어(Conv)와 업샘플링의 시퀀스를 포함하고, 상기 4개의 병렬 브랜치(134, 135, 136, 137)의 출력이 2차원 공간 피라미드 풀링 블록의 입력에 대응하는 제5 브랜치(138)와 합산 연산(Sum, 139)를 통해 2차원 공간 피라미드 풀링 블록의 출력을 생성하기 위해 병합된다. 즉 브랜치(138)는 4개의 병렬 브랜치(134, 135, 136, 137)의 연산을 건너뛴다.
도 3a는 도 2a에 도시된 예시적인 인코더(100)의 출력(들)(115, 116, 117, 118)을 따를 수 있는 예시적인 가능한 합성곱 신경망 아키텍처의 예시적인 부분을 도시한다. 즉, 추출된 특징/특징 텐서(116, 117, 118)는 도 3a에 도시된 예시적인 3차원 디코더(200)에 대한 입력(들)이 된다.
예를 들어, 예시적인 C=16, H/8, W/8 형상의 3차원 출력 특징 텐서/추출된 특징 텐서(115)는 디코더(200)에 대한 입력(204)이 될 수 있고, C=16, H/8, W/8 형상의 특징 텐서(116)는 디코더(200)에 대한 입력(203)이 될 수 있고, C=16, H/32, W/32 형상의 특징 텐서(117)는 디코더(200)에 대한 입력(202)이 될 수 있고, C=32, H/64, W/64 형상의 특징 텐서(118)는 디코더(200)에 대한 입력(201)이 될 수 있다.
예시적인 디코더(200)는 3개의 다른 중간 초점 확률 맵(280, 290, 300)과 함께 최종 3차원 초점 확률 맵(310)을 출력한다. 3개의 다른 중간 초점 확률 맵(280, 290, 300) 모두는 예를 들어 초점 스케줄에서 상이한 초점의 수인 N을 갖는 형상(N, H, W)을 가지며, H 및 W는 도 2a의 입력 이미지(101)의 높이 및 폭 차원 크기에 대응한다.
하지만, N은 초점 스케줄에 지정되지 않았지만 합성곱 신경망에 의해 합성된 추가 초점 위치를 나타내는 것으로 볼 수 있다. 이러한 합성/생성된 초점 위치는 추가적으로 추가 초점 확률 맵을 획득하고 따라서 획득 가능한 깊이 해상도를 증가시키는 데 사용될 수 있다.
각각의 입력 특징/특징 텐서(201, 202, 203, 204)는 먼저 과거 이미지/이전에 캡처된 이미지 및 이전에 처리된 이미지의 저장된 특징이 추출되는 전용 메모리 블록(240, 250, 260, 270)을 통과하고 현재 처리된 이미지(예, 입력 이미지(101))의 특징에 정렬되어 (C, N, H, W) 형상의 다차원 텐서를 생성한다. 여기서 C는 특징 맵의 채널 수이고, N은 초점 스케줄에서 서로 다른 초점 거리의 수이고, H 및 W는 추출된 기능의 공간 해상도, 즉 특징 맵의 높이 및 폭 차원을 지칭한다. 상기 다차원 텐서는 주어진 스케일에 대해 현재 처리된 이미지에 대해 추출된 이미지 특징에 정렬된 이전에 처리된 이미지로부터 추출된 이미지 특징을 나타낸다.
메모리 블록의 예가 도 4a에 도시되어 있다.
다음에서, 3차원(3D) 연산 또는 레이어 또는 블록, 예를 들어 3D 잔차 합성곱 블록 또는 3D 공간 피라미드 풀링 블록 또는 3D 다중 스케일 특징 집계 블록은 특징 텐서의 높이 및 폭 차원 즉, 특징맵의 높이 및 폭 차원 뿐만 아니라 초점 위치의 차원에서도 작용/작동하는 것으로 이해될 수 있다. 상기 높이 및 폭 차원은 입력 이미지(101)의 높이 및 폭 차원의 크기와 동일하거나 크기가 다를 수 있다.
메모리 블록(240, 250, 260, 270)을 통과한 후, 하나 이상의 3차원(3D) 잔차 합성곱 블록(320, 350, 380, 410)이 적용될 수 있다. 도 3a에서는 주어진 특징 스케일에 대해 단 하나의 3차원(3D) 잔차 합성곱 블록이 표시되어 있지만 하나 이상(예, 다섯)이 될 수 있다.
3차원(3D) 잔차 합성곱 블록의 예가 도 3b에 도시되어 있다.
잔차 합성곱 블록(320, 350, 380, 410)은 각각 3차원(3D) 공간 피라미드 풀링 블록(330, 360, 390, 420)이 뒤따른다.
3차원(3D) 공간 피라미드 풀링 블록의 예가 도 3d에 도시되어 있다.
피라미드 풀링 블록(330, 360, 390)의 출력은 예시적으로 두 가지 분기를 따른다.
- 하나의 분기(430, 440, 450)에서 입력 이미지(101)의 크기/원본 공간 해상도에 대해 업샘플링(UP)이 발생한 다음, 합성곱 레이어(Conv), 배치 정규화(BN) 및 ReLu의 시퀀스가 뒤따르고 채널 수를 하나로 줄이기 위한 추가 합성곱 레이어(Conv)와 추가 배치 정규화(BN) 연산과 중간 초점 확률 맵(280, 290, 300)을 얻기 위한 최종 softmax 연산이 뒤따른다.
- 또 다른 분기(431, 441, 451)는 3차원 공간 피라미드 풀링 블록의 출력을 메모리 블록(250, 260, 270)의 출력과 병합하는 3차원(3D) 다중 스케일 집계 블록(340, 370, 400)을 포함한다. 구체적으로, 도시된 예시적인 아키텍처에서, 메모리 블록(250)의 출력은 3차원 공간 피라미드 풀링 블록(330)의 출력과 병합되고, 메모리 블록(260)의 출력은 3차원 공간 피라미드 풀링 블록(360)의 출력과 병합되고, 메모리 블록(270)의 출력은 3차원 공간 피라미드 풀링 블록(390)의 출력과 병합된다.
3차원(3D) 다중 스케일 집계 블록의 예가 도 3c에 도시되어 있다.
모든 스케일의 특징이 집계되고 마지막 3차원 잔차 합성곱 블록(410) 및 마지막 3차원 공간 피라미드 풀링 블록(360)을 통과한 후, 합성곱 레이어(Conv), 배치 정규화(BN) 및 ReLu, 추가 컨볼루션 계층(Conv) 및 추가 배치 정규화(BN) 및 최종 Softmax 연산을 포함하는 마지막 시퀀스(460)를 적용하여 최종 초점 확률 맵(310)을 얻을 수 있다.
합성곱 신경망에 의해 출력된 최종 초점 확률 맵(310) fpm을 사용하여 2차원 깊이 맵
Figure pat00039
Figure pat00040
를 통해 얻을 수 있다. 이때, i, j는 높이 및 폭 차원에 대한 자연수 인덱스이고
Figure pat00041
은 초점 스케줄의 고유한 초점 위치를 포함할 수 있는 고유한 초점 위치와 합성곱 신경망에 의해 합성/생성될 수 있는 가능한 추가의 고유한 초점 위치이다. n은 자연수 인덱스이다.
도 3b는 예시적인 합성공 신경망 아키텍처의 도 3a의 예시적인 3차원 디코더(200)에서 사용될 수 있는 3차원 잔차 합성곱 블록(들)(320, 250, 380, 410)에 대한 예시적인 구성을 도시한다.
3차원 잔차 합성곱 블록은 2개의 브랜치(501, 502)를 포함할 수 있다.
예시적인 브랜치(501)는 3차원 합성곱 레이어(Conv), 배치 정규화(BN) 및 ReLu를 포함하는 제1 시퀀스(503)와 배치 정규화(BN) 및 ReLu를 포함하는 제2 시퀀스(504)를 포함한다.
예시적인 브랜치(502)는 3차원 합성곱 레이어(Conv) 및 배치 정규화(BN) 연산의 단일 시퀀스만을 포함한다.
상기 예시적인 2개의 브랜치의 출력은 합산(Sum) 연산(506)을 사용하여 병합되고 3차원 잔차 합성곱 블록의 출력은 최종 ReLu 연산(507) 후에 획득된다.
도 3c는 도 3a의 3차원 다중 스케일 특징 집계 블록(들)(340, 370, 400)에 대한 가능한 예시적인 구성을 도시한다.
상기 예시적인 3차원 다중 스케일 특징 집계 블록은 3차원 합성곱 레이어(Conv), 배치 정규화(BN) 및 ReLu를 포함하는 시퀀스(509)가 뒤따르고, 그 뒤를 연결(Concat) 연산(510)과 3차원 합성곱 레이어(Conv), 배치 정규화(BN) 및 ReLu 연산을 포함하는 최종 시퀀스(511)가 따르는 업샘플링 연산(UP, 508)을 포함할 수 있다.
앞에서 설명한 가능한 합성 초점 위치가 3차원 다중 스케일 특징 집계 블록 내부에서 생성될 수 있다고 생각할 수 있다. 예를 들어, 합성 초점 위치는 연결 연산(ConCat, 510) 전에 3차원 업샘플링 연산을 사용하여 생성될 수 있다.
예시적인 도 3d는 도 3a의 3차원 공간 피라미드 풀링 블록(들)(330, 360, 390, 420)에 대한 가능한 예시적인 구성을 도시한다.
예시적인 3차원 공간 피라미드 풀링 블록에 대한 입력은 5개의 브랜치(512, 513, 514, 515, 516)로 들러가며, 여기서 4개의 병렬 브랜치(512, 513, 514, 515)는 각각 풀링 레이어(Pool), 합성곱 레이어(Conv)와 업샘플링의 시퀀스를 포함하고, 상기 4개의 병렬 브랜치(512, 513, 514, 515)의 출력이 3차원 공간 피라미드 풀링 블록의 입력에 대응하는 제5 브랜치(516)와 합산 연산(Sum, 517)을 통해 3차원 공간 피라미드 풀링 블록의 출력을 생성하기 위해 병합된다. 즉, 브랜치(516)는 4개의 병렬 브랜치(512, 513, 514, 515)의 연산을 건너뛴다.
도 4a는 도 3a의 디코더(200)의 메모리 블록(들)(240, 250, 260, 270)에 대한 가능한 예시적인 구성을 도시한다.
메모리 블록은 저장 풀(4010)로 표시된 메모리를 포함할 수 있으며, 미리 결정된 수 K개의 이전에 캡처된/이전에 처리된 이미지로부터 추출된 이미지 특징/특징 텐서가 저장될 수 있다.
과거 이미지 특징 저장 풀(4010)은 예를 들어 마지막 K개의 이미지 각각에 대하여 캡처된 이미지로부터 도 2a에 도시된 2D 인코더에 의해 추출된 특징/특징 텐서를 저장할 수 있으며, 이때 K는 예를 들어, 초점 위치의 수인 N의 자연수 배수이다.
주어진 스케일에 대하여 현재 처리된 이미지의 (C, H, W) 형상의 3차원 텐서인 이미지 특징(4000) 또한 저장 풀(4010)에 저장될 수 있다. 이때, C는 채널 차원, H는 높이 차원, W는 폭 차원이다.
메모리 블록은 저장 풀(4010)에 저장된 특징/특징 텐서 즉, 상기 K개의 이전에 캡처된/이전에 처리된 이미지에서 추출된 특징/특징 텐서와 함께 현재 처리된 이미지에서 추출된 특징/특징 텐서를 입력으로 취할 수 있는 특징 정렬 블록(4020)을 더 포함할 수 있고, 시간순으로 정렬된 마지막 초점 위치, 즉 현재 처리된 이미지의 초점 위치에 정렬된 각 초점 위치/각 초점 평면의 이미지 특징을 나타내는 (C,N,H,W) 형상의 4차원 텐서(4020)를 출력할 수 있다.
현재 처리 중인 이미지/이미지 특징/이미지 특징 텐서/특징 맵에 대하여 C는 다시 채널 차원이고, N은 초점 위치 차원이고, H는 높이 차원이고, W는 폭 차원을 의미한다.
도 4b는 전술한 예시적인 특징 정렬 블록(4020)의 구성의 예시적인 개요를 도시한다.
예시적인 특징 정렬 블록(4020)은 2개의 입력, 현재 처리된 이미지로부터의 3차원 이미지 특징/3차원 특징 텐서(4040)와 과거 이미지 특징 저장 풀(4010)에 저장된 미리 결정된 K개의 이전에 캡처된/이전에 처리된 이미지로부터 추출된 이미지 특징을 나타내는 4차원 텐서(4050)를 갖는다.
예시적인 특징 정렬 블록(4020)은 적어도 하나의 특징 정렬 헤드(4060)와 특징 조합 연산자(4070) 즉, 현재 처리된 이미지의 이미지 특징 즉 시간순으로 정렬된 마지막 초점 위치, 즉 현재 처리된 이미지의 초점 위치에 정렬된 각 초점 위치/각 초점 평면의 이미지 특징을 나타내는 (C,N,H, W) 형상의 4차원 텐서(4030, 4080)에 정렬된 모든 처리된 이미지의 이미지 특징을 나타내는 다차원 텐서를 출력으로 생성하기 위한 합산 연산자를 더 포함한다.
특징 정렬 헤드(들)(4060)는 상기 언급된 입력을 상이한 해상도의 패치 즉, 입력된 특징에 비하여 높이 hp 및 너비 wp에서 크기가 다른 패치 분할한다. 예를 들어, 분할되는 패치는 크기가 1x1인 패치(입력된 특징이 변경 없이 유지됨을 의미)에서 HxW(입력된 전체 특징 텐서가 하나의 패치로 처리됨을 의미)까지 범위를 가진다.
도 4c는 도 3a에 도시된 합성곱 신경망 아키텍처의 예시적인 디코더(200)에서 사용될 수 있는 특징 정렬 블록(4020)으로부터의 특징 정렬 헤드(4060)와 같은 예시적인 특징 정렬 헤드의 예시적인 구성을 도시한다.
현재 이미지 특징/특징 텐서(4090)의 입력, 즉 현재 처리된 이미지에서 추출된 이미지 특징의 입력은 브랜치(4091)를 통해 (첫 번째) 4차원 인코딩 블록(4110)으로 공급되고, 인코딩 블록은 이전에 표시된 대로 그리고 아래에서 다시 자세히 설명하는 것처럼 현재 처리된 이미지로부터 추출된 이미지 특징(4090)에 시간, 공간 및 초점 위치 정보를 삽입한다.
과거 이미지 특징(4100), 의 입력, 이전에 캡처된 이미지로부터 추출된 특징 즉, 미리 결정된 수 K개의 미리 캡처된/이전에 처리된 이미지로부터 추출된 이미지 특징은 이전에 캡처된 이미지로부터 추출된 특징에 시간, 공간 및 초점 위치 정보를 삽입하는 별도의 (두 번째) 4차원 인코딩 블록(4190)으로 브랜치(4101)를 통해 공급된다.
예를 들어, 이전에 표시된 바와 같이 4차원 인코딩 E는 다음 두 식에 따라 구성될 수 있다.
Figure pat00042
Figure pat00043
α는 보정 상수이고, 바람직하게는 α는 채널 수 또는 채널 차원 크기인 C보다 크다. x, y는 공간 픽셀 좌표이다. t는 시간, 즉 시간적 위치/시점/타임 스탬프/이미지 특징이 추출된 캡처된 이미지의 시간 인덱스(t ∈[0,K-1]이고, K는 이전에 캡처된 이미지의 수 즉, 캡처된 이미지의 미리 결정된 수이다. d(d ∈[0,N-1])는 인코딩할 주어진 이미지의 초점 평면 위치/초점 위치/초점 위치 인덱스이고 N은 총 이미지 수 즉, 초점 스케줄의 이미지의 수 또는 초점 스케줄의 이미지 수와 초점 스케줄의 이미지에서 파생된 이미지 수의 합, 여기서 상기 파생된 이미지는 초점 스케줄에 따라 캡처된 이미지의 보간 또는 외삽에 의해 파생될 수 있다. i(i ∈[0,C/2])는 인코딩(들)을 위한 채널을 짝수 및 홀수 채널로 나누는 데 사용되는 인덱스이다.
예시적인 인코딩
Figure pat00044
,
Figure pat00045
로 구성된 상기 예시적인 인코딩 E는 또한 주어진 패치 폭 wp 및 패치 높이 hp 해상도를 고려할 수 있다. 즉,
Figure pat00046
이다.
상기 예시적인 인코딩은 다음과 같이
Figure pat00047
Figure pat00048
획득하기 위해 현재 처리된 이미지
Figure pat00049
의 이미지 특징/특징 텐서(4090)와 이전에 캡처된 이미지로부터의 이미지 특징/특징 텐서(4100) 각각 즉, 과거 K개 이미지
Figure pat00050
로부터의 이미지 특징/특징 텐서 각각을 더함으로써 적용될 수 있다.
4차원 인코딩 블록(4110)은 다음을 통해
Figure pat00051
를 구할 수 있고,
Figure pat00052
4차원 인코딩 블록(4190)은 다음을 통해
Figure pat00053
를 구할 수 있다.
Figure pat00054
이때,
Figure pat00055
는 과거/이전에 캡처된 K개 이미지의 이미지 특징/특징 텐서의 인코딩을 나타낸다.
4차원 인코딩 블록(4110)에 의해 현재 영상 특징의 4차원 인코딩 후, 배치 정규화(BN)와 2차원 합성곱 레이어(Conv)를 갖는 시퀀스(4121)가 4차원 인코딩 블록(4110)의 출력 브랜치(4120)를 따라
Figure pat00056
를 획득하기 위해 EF에 적용된다.
유사하게, 4차원 인코딩 블록(4190)에 의해 과거 이미지 특징의 4차원 인코딩 후, 배치 정규화(BN)와 2차원 합성곱 레이어(Conv)를 갖는 시퀀스(4131)는 4차원 인코딩 블록(4190)의 출력 브랜치(4130)를 따라
Figure pat00057
를 획득하기 위해 EPF 에 적용된다.
여기에서, 위 첨자 쿼리 및 키는 아래에서 더 설명되는 바와 같이 검색 시스템의 개념에 대한 예시적인 참조 역할을 할 뿐이다.
상기 출력 브랜치(4120, 4130)로부터의 출력은 패치 별 유사도 블록(4150)에 입력으로서 공급된다.
첫 번재ㅐ 유사도 블록(4150)은 3차원 텐서
Figure pat00058
를 2차원 행렬
Figure pat00059
로 형상 변환하고 4차원 텐서
Figure pat00060
Figure pat00061
로 형상 변환한다.
그런 다음, 형상 변환된
Figure pat00062
Figure pat00063
의 K개 특징 텐서 각각 간의 유사도가 계산된다. 이 유사도 연산은 예를 들어 다음과 같이
Figure pat00064
Figure pat00065
를 사용하여 패치 별 유사도 블록(4150)에 의해 계산될 수 있다.
Figure pat00066
여기서,
Figure pat00067
를 현재 처리된 이미지의 이미지 특징과 K개의 과거/이전에 캡처된 이미지 각각에 대한 이미지 특징 간의 유사도 점수로 사용한다.
특히,
Figure pat00068
는 현재 처리된 영상의 특징 텐서의 패치 i가 K개 과거/이전에 캡처된 이미지의 특징 텐서의 패치 j와 얼마나 유사한지를 설명하는 것으로 이해될 수 있다.
EF' 및 EPF'는 [(H*W)/(wp*hp),wp*hp*C]의 형상을 갖는다. 이때, wp와 hp각각 패치 너비 및 높이이다. 예를 들어 패치 크기가 [1,1]이라고 가정하면 형상은 [H*W, C]가 된다. 결과적으로 인덱스 i와 인덱스 i'의 범위는 [0, (H*W)-1]이고 인덱스 j는 [0, C -1] 범위이다.
그런 다음, 유사도 점수는 패치별 유사도 블록(4150)에 의해 확률로 다음과 같이 변환된다.
Figure pat00069
여기서,
Figure pat00070
Figure pat00071
인 정규화된 유사도 점수이다.
상기 정규화된 유사도 점수 Sim'은 현재 처리된 이미지로부터 추출된 이미지 특징과 이전에 캡처된 이미지로부터 추출되고 저장된 이미지 특징 즉, 이미지 특징 추출되고 저장된 미리 정해진 수의 캡처된 이미지 즉, 과거 K개의 이미지로부터 추출되고 저장된 이미지 특징을 처리하는 두번째 4차원(4D) 인코딩 블록(4190)을 뒤따르는 브랜치(4130)로부터 수신한 이미지 특징을 처리하는 첫번째 4차원(4D) 인코딩 블록(4110)을 뒤따르는 브랜치(4120)로부터 수신된 입력을 처리한 후 패치별 유사도 블록(4150)의 출력(4151)을 나타낸다.
완전성을 위해, 여기에 명시된 유사도 점수는 단지 예시적이며 또한 다른 유사성 함수가 이전에 처리되고 저장된 이미지 특징과 현재 처리된 이미지 특징 간의 유사성 정도를 도출하는 데 사용될 수 있다. 위에서 설명된 예시적인 유클리드 유사도 대신 다른 유사도 함수, 예를 들어 코사인 유사도 또는 행렬 곱셈을 사용하는 유사도 연산 또는 두 샘플을 비교할 수 있는 임의의 다른 함수가 적용될 수 있다.
두번째 4차원(4D) 인코딩 블록(4190)의 다른(제2, 하위) 브랜치(4140)는 2차원 합성곱 레이어(Conv)와 배치 정규화(BN)를 포함하는 첫번째 시퀀스(4141)를 포함하고, 형상 변환 연산/레이어(Reshape, 4142)에 의해
Figure pat00072
로 형상 변환되는 출력
Figure pat00073
를 제공한다.
상기 브랜치(4140)는 행렬 곱셈 연산/레이어(Matmul, 4143)를 더 포함하며, Matmul은
Figure pat00074
를 구하기 위해 패치별 유사도 블록(4150)으로부터의 정규화된 유사도 점수 Sim'를
Figure pat00075
에 곱한다.
Figure pat00076
그런 다음 AF'는
Figure pat00077
로 추가 형상 변환된다. 이때, H 및 W는 입력 이미지(101), 즉 현재 처리된 이미지의 높이 및 폭 차원 크기에 해당한다.
여기에서 위 첨자 v, v'는 브랜치(4140)의
Figure pat00078
Figure pat00079
와, 브랜치(4130)의
Figure pat00080
와 브랜치(4120)의
Figure pat00081
와 구별하는 역할을 한다.
이 형상 변환은 행렬 곱셈 연산/레이어(Matmul, 4143)의 일부이거나 추가의 개별 형상 변환 연산/레이어(미도시)에서 수행될 수 있다.
그런 다음, AF는 블록/연산/계층(4160)에 의해 제1 차원 K를 따라 동일한 초점 위치에 상응하는 특징으로 그룹화되어
Figure pat00082
이 획득된다. 이때,
Figure pat00083
이다.
상기 그룹화 후, 추출된 특징으로부터의 모든 정보는 감소 합 연산/레이어(Reduce sum, 4170)를 통해 다음과 같이 병합된다.
Figure pat00084
여기에서
Figure pat00085
는 처리된 모든 이미지의 이미지 특징 즉, 현재 처리된 이미지의 이미지 특징에 맞춰 정렬된 모든 처리된 초점 위치의 이미지 특징을 나타내는 하나 이상의 다차원 텐서를 위한 예이다. 이다. 앞서 언급했듯이 처리된 모든 이미지의 모든 이미지 특징을 나타내는 것이 아닌 다차원 텐서를 생성하는 것도 가능하지만, 적어도 처리된 이미지/이전에 캡처된/과거 이미지 중 적어도 일부의 이미지 특징은 현재 처리된 이미지의 이미지 특징에 맞춰 정렬된다.
여기에 설명된 예시적인 메모리 블록 및 특징 정렬 헤드는 이미지 특징이 키-값 쌍 구조로 저장될 수 있는 검색 시스템의 데이터 구조 모델을 형성하는 것으로 이해될 수 있으며, 이전에 처리되고 저장된 이미지 특징을 현재 처리된 이미지의 이미지 특징에 정렬하기 위해 키-값 쌍 구조를 쿼리할 수 있다.
예를 들어, 상기 키-값 쌍 구조의 값은 하위 브랜치(4140)를 따라 2차원 합성곱 레이어(Conv)와 배치 정규화(BN)포함하는 시퀀스(4141)를 적용한 후 이전에 처리되고 저장된 이미지의 이미지 특징의 4차원 텐서
Figure pat00086
의 내용/에 의해 표현되는 것으로 이해될 수 있다. 즉,
Figure pat00087
의 내용/에 의해 표현되는 것으로 이해될 수 있다. 키는 4D 위치 인코딩 블록(4190)을 뒤따르는 2차원 합성곱 레이어(Conv)와 배치 정규화(BN)을 포함하는 시퀀스(4131)를 상위 브랜치(4140)을 따라 적용한 후 이전에 처리되고 저장된 이미지의 이미지 특징의 4차원 텐서
Figure pat00088
의 내용/에 의해 표현되는 것으로 이해될 수 있다.
쿼리는 3차원 텐서
Figure pat00089
의 키 즉, 현재 처리된 이미지로부터의 이미지 특징을 처리하는 4차원 인코딩 블록(4110)의 출력 브랜치(4120)를 따라
Figure pat00090
의 내용/로 표현되는 것으로 이해될 수 있다.
달리 말하면, 4차원 텐서
Figure pat00091
는 쿼리와 가장 잘 일치하는 키 집합으로부터 특정 값이나 콘텐츠 또는 키를 가져오기 위하여 쿼리
Figure pat00092
에 매핑된 검색 시스템의 키 집합을 나타낸다.
완전성을 위해, 브랜치(4130, 4140)에 적용된 합성곱 레이어의 가중치는 다를 수 있다. 상기 가중치는 특히, 예를 들어, 합성곱 네트워크이 학습되는 동안 학습/최적화될 수 있다.
도 5는 상이한 초점 위치에서 카메라에 의해 촬영된 복수의 이미지로부터 깊이 정보를 추출하기 위한 방법(800)에 대한 예시적인 흐름도를 도시한 것으로. 다음 단계 중 하나, 일부 또는 모두를 포함할 수 있다.
- 카메라의 초점 위치의 시간 순서를 지정하는 미리 결정된 초점 스케줄에 따라 서로 다른 초점 위치에서 카메라로 장면의 이미지 시퀀스를 캡처하는 단계(801), 이때 상기 초점 스케줄은 고유한 초점 위치 및/고유하지 않은 즉, 중복된 초점 위치의 어떠한 조합을 포함할 수 있다.
- 합성곱 신경망을 포함하는 기계 학습 알고리즘에 의해, 미리 결정된 수의 캡처된 이미지의 이미지 특징을 추출하고, 상기 추출된 이미지 특징을 저장하는 단계(802), 상기 합성곱 신경망은 예를 들어, 도 2a, 2b, 2c, 2d, 2e, 3a, 3b, 3c, 3d, 4a, 4b, 4c에 도시된 예시적 구성을 포함하고, 상기 저장은 예를 들어, 메모리 블록(240, 250, 260, 270) 내부 예를 들어, 특징 스토리지 풀(4010)에 상기 특징들을 저장하는 것을 포함할 수 있다.
- 상기 미리 결정된 수의 캡처된 이미지로부터 이미지 특징을 추출하고 저장한 후, 기계 학습 알고리즘에 의해 이미지 특징이 아직 추출되지 않은 캡처된 이미지를 처리하는 단계(803), 상기 캡처된 이미지는 현재 처리된 이미지 즉, 입력 이미지(101)를 나타낸다.
- 상기 처리하는 단계는 기계 학습 알고리즘에 의해 현재 처리된 이미지로부터 이미지 특징을 추출하고 추출된 이미지 특징을 저장하는 단계(804)를 포함한다.
- 상기 처리하는 단계는 이전에 캡처된 이미지로부터 저장된 이미지 특징을 현재 처리된 이미지의 이미지 특징과 정렬하는 단계(805)를 더 포함하며, 예를 들어, 상기 정렬은 도 3a, 도 4a, 도 4b, 도 4c에 예시적으로 도시된 바와 같이 메모리 블록의 특징 정렬 헤드에 의해 수행된다.
- 상기 처리하는 단계는 현재 처리된 이미지의 이미지 특징에 정렬된 모든 처리된 이미지의 이미지 특징을 나타내는 적어도 하나의 다차원 텐서를 생성하는 단계(806)를 더 포함하고, 앞서 설명한 것과 같이
Figure pat00093
는 상기 텐서의 예시이다.
- 미리 결정된 초점 스케줄에 지정된 초점 위치와 생성된 적어도 하나의 다차원 텐서를 사용하여 2차원 깊이 맵을 생성하는 단계(807).
도 6은 전술한 예시와 같은 아키텍처를 갖는 합성곱 신경망을 포함하는 기계 학습 알고리즘(630)을 위한 가능한 학습 프로토콜의 개략적인 예를 도시한다.
여기에서 실제 물리적 세계로부터의 복수의 상이한 장면에 대한 초점 스케쥴(620)에 따라 상이한 초점 위치에 초점을 맞춘 복수의 캡처된 이미지/캡처된 이미지의 시퀀스(600)를 포함하는 학습 샘플은 미리 결정된 수의 캡처된 이미지가 처리된 후, 각 이미지에 대해 하나씩 초점 확률 맵의 시퀀스(640)를 얻기 위해, 이전에 명시된 단계에 따라 처리될 수 있다
캡처된 이미지는 동일한 카메라 또는 다른 카메라로 촬영되었을 수 있다. 다시 말해서, 여기에 명시된 방법은 카메라의 유형과 무관하다. 즉, 특정 유형의 카메라의 사용으로 제한되지 않는다.
학습 샘플 이미지의 시퀀스(600)에서 캡처된 장면은 정적이거나 동적일 수 있다. 즉, 예를 들어 장면에서 객체나 피사체의 움직임 및/또는 예를 들어 카메라가 사용자의 손에 들려있기 때문에 또는 카메라의 위치가 바뀌기 때문에 발생하는 진동에 의한 카메라의 움직임으로 인하여 이미지 사이에 움직임이 있을 수 있다.
획득된 초점 확률 맵은 알려진 초점 스케쥴(620)로부터의 초점 위치를 사용하여 실제 거리로 재매핑(670)된다.
결과는 예측된/추정된 깊이 맵의 시퀀스이며, 이 맵은 정답 깊이 맵(610)의 시퀀스, 즉 알려진/기대된 깊이 맵과 함께 손실 함수(660)에 대한 입력으로 사용된다.
손실 함수(660)는 추정된/예측된 깊이 맵이 알려진 정답 깊이 맵과 관련하여 얼마나 다른지에 대한 척도이다.
합성곱 신경망을 포함하는 기계 학습 알고리즘(630)의 학습은 손실 함수가 원하는/지정된 최소값에 도달하고 합성곱 신경망의 최적 모델 파라미터가 결정될 때까지 실행된다.
손실 함수의 최소화는 경사 하강 알고리즘을 사용하는 것과 같은 최적화 기술에 의해 달성될 수 있다.
그러나 다른 최적화 기술 예를 들어, 시뮬레이션된 어닐링, 유전 알고리즘 또는 마코프 체인 몬테카를로(Markov-chain-Monte-Carlo) 알고리즘이 손실 함수를 최소화하고 학습에서 기계 학습 알고리즘/합성곱 신경망의 최상의 모델 파라미터를 결정하기 위해 적용될 수 있다.
학습을 더욱 최적화하기 위해 시각적 신호(visual cues)를 사용하여 의미상 정확한 깊이 맵을 더 잘 도출할 수 있다. 예를 들어, 합성곱 신경망은 객체가 다른 객체를 가리는 경우 가린 객체가 가려진 객체보다 카메라에 더 가깝다는 것을 인식하도록 학습될 수 있다.
700 : 이미지 스트림(image stream, plurality of images)
710 : 초점 스케줄
720 : 합성곱 신경망을 포함하는 기계 학습 알고리즘
730 : 초점 확률 맵
740 : 실제 물리적 거리에 재매핑
750 : 추정된/추출된 깊이 맵
100 : 합성곱 신경망의 2차원 인코더
101 : 입력 이미지(input image / currently processed image)
102 : 2차원 합성곱 블록/레이어
103, 104, 105, 106 : 2차원 잔차 합성곱 블록/레이어
107 : 2차원 공간 피라미드 블록/레이어
108, 109, 110 : 2차원 다중 스케일 특징 집계 블록/레이어
111, 112, 113, 114 : 합성곱 신경망의 블록/레이어 시퀀스
111a, 112a, 113a, 114a : 합성곱 블록/레이어/연산
111b, 112b, 113b, 114b : 배치 정규화 블록/레이어/연산
111c, 112c, 113c, 114c : ReLU 블록/레이어/연산
115, 116, 117, 118 : 출력된/추출된 특징/특징 텐서
119, 120, 121 : 2D 합성곱 블록/레이어 시퀀스
122 : 2D 합성곱 풀링 블록/레이어
123 : 2차원 합성곱 레이어, 배치 정규화, ReLU 시퀀스
124, 127 : 2차원 합성곱 레이어, 배치 정규화 시퀀스
125 : 합산 레이어/블록/연산
126 : ReLU 연산
128, 129 : 2D 잔차 합성곱 블록/레이어 브랜치
130 : 업샘플링 레이어/블록/연산
131, 133 : 2D 합성곱 레이어, 배치 정규화, ReLU 시퀀스
132 : 연결 레이어/블록/연산
134, 135, 136, 137, 138 : 2D 공간 피라미드 풀링 블록/레이어 브랜치
139 : 합산 레이어/블록/연산
200 : 디코더
201, 202, 203, 204 : 입력 특징/특징 텐서
240, 250, 260, 270 : 메모리 블록
340, 370, 400 : 3D 다중 스케일 특징 집계 블록/레이어
320, 350, 380, 410 : 3D 잔차 합성곱 블록/레이어
330, 360, 390, 420 : 3D 공간 피라미드 풀링 블록/레이어
430, 431, 440, 441, 450, 451, 461 : 3D 공간 피라미드 풀링 블록/레이어 출력 브랜치
280, 290, 300 : 중간 초점 확률 맵
310 : 최종 초점 확률 맵
501, 502 : 3D 잔차 합성곱 블록/레이어 브랜치
503 : 2D 합성곱 레이어, 배치 정규화, ReLU 시퀀스
504, 505 : 2D 합성곱 레이어, 배치 정규화 시퀀스
506 : 합산 레이어/블록/연산
507 : ReLU 연산
508 : 업샘플링 레이어/블록/연산
509, 511 : 2D 합성곱 레이어, 배치 정규화, ReLU 시퀀스
510 : 결합 레이어/블록/연산
512, 513, 514, 515, 516 : 3D 공간 피라미드 풀링 블록/레이어 브랜치
518 : 합산 레이어/블록/연산
4000 : 현재 처리된 이미지의 이미지 특징
4010 : 이미지 특징을 저장하는 컴퓨터 판독 가능한 메모리/이전에 처리된 이미지의 특징/특징 스토리지 풀
4020 : 특징 정렬 블록
4030 : 각 초점 위치의 이미지 특징/시간순으로 정렬된 마지막 초점 위치, 즉 현재 초점 위치에 정렬된 각 초점 평면의 이미지 특징
4040 : 현재 처리된 이미지의 이미지 특징
4050 : 이전에 처리된 이미지의 이미지 특징
4060 : 특징 정렬 헤드
4070 : 특징 조합 블록/레이어/연산
4080 : 각 초점 위치의 이미지 특징/시간순으로 정렬된 마지막 초점 위치, 즉 현재 초점 위치에 정렬된 각 초점 평면의 이미지 특징
4090 : 현재 처리된 이미지의 이미지 특징
4100 : 이전에 처리된 이미지의 이미지 특징
4110, 4190 : 4D 위치 인코딩 블록/레이어/연산
4121, 4131, 4141 : 2D 합성곱 레이어, 배치 정규화 시퀀스
4120 : 4D 위치 인코딩 블록(4110) 브랜치
4130, 4140 : 4D 위치 인코딩 블록(4190) 브랜치
4142 : 형상 변환 레이어/블록/연산
4143 : 행렬 곱셈 레이어/블록/연산
4150 : 패치별 유사도 블록/레이어/연산
4160 : 초점 위치 그룹화 블록/레이어/연산
4170 : 감소 합산 연산/레이어
4180 : 각 초점 위치의 이미지 특징/시간순으로 정렬된 마지막 초점 위치, 즉 현재 초점 위치에 정렬된 각 초점 평면의 이미지 특징
600 : 학습 샘플의 이미지 시퀀스
610 : 알려진/기대된/정답 깊이 맵 시퀀스
620 : 초점 스케줄
630 : 합성곱 신경만을 포함하는 기계 학습 알고리즘
640 : 획득된 초점 확률 맵 시퀀스
660 : 손실 함수
670 : 추정된/예측된 깊이 맵을 얻기 위한 실제 물리적 거리에 대한 재매핑 연산

Claims (15)

  1. 서로 다른 초점 위치에서 카메라에 의해 촬영된 복수의 이미지로부터 깊이 정보를 추출하기 위한 컴퓨터로 구현된 방법(800)에 있어서,
    카메라의 초점 위치들의 시간 순서를 지정하는 미리 결정된 초점 스케줄에 따라 서로 다른 초점 위치에서 카메라로 장면의 이미지 시퀀스를 캡처하는 단계(801);
    합성곱 신경망을 포함하는 기계 학습 알고리즘에 의해 미리 결정된 수의 캡처된 이미지의 이미지 특징을 추출하고 상기 추출된 이미지 특징을 저장하는 단계(802),
    상기 미리 결정된 수의 캡처된 이미지로부터 이미지 특징을 추출 및 저장한 후, 상기 기계 학습 알고리즘에 의해 이미지 특징이 아직 추출되지 않은 캡처된 이미지를 처리하는 단계(803) - 상기 캡처된 이미지는 현재 처리된 이미지를 나타냄;
    미리 결정된 초점 스케줄에 명시된 초점 위치들과 적어도 하나의 생성된 다차원 텐서를 사용하여 2차원 깊이 맵을 생성하는 단계(807);
    를 포함하되,
    상기 처리하는 단계는 상기 기계 학습 알고리즘에 의해 현재 처리된 이미지로부터 이미지 특징을 추출하고 추출된 이미지 특징을 저장하는 단계(804)를 포함하고,
    상기 처리하는 단계는 이전에 캡처된 이미지로부터 저장된 이미지 특징을 현재 처리된 이미지의 이미지 특징과 정렬하는(aligning) 단계(805)와, 현재 처리된 이미지의 이미지 특징에 정렬된 처리된 이미지 중 적어도 일부의 이미지 특징을 나타내는 적어도 하나의 다차원 텐서를 생성하는 단계(806)를 더 포함하는, 깊이 정보 추출 방법.
  2. 제 1 항에 있어서,
    이미지 특징은 폭 차원(W), 높이 차원(H)과 채널 차원(C)을 포함하는 3차원 특징 텐서로 추출되되 상기 채널 차원은 합성곱 신경망의 하나 이상의 레이어를 통해 이미지로부터 추출된 특징 맵(feature maps)의 수를 명시하고,
    추출된 이미지 특징을 저장하는 단계는 추출된 이미지 특징을 3차원 특징 텐서의 리스트로 저장하는 단계를 포함하는, 깊이 정보 추출 방법.
  3. 제 1 항 내지 제 2 항 중 어느 하나의 항에 있어서,
    이전에 캡처된 이미지로부터 저장된 이미지 특징을 현재 처리된 이미지의 이미지 특징과 정렬하는 단계는 이전에 캡쳐된 이미지로부터 저장된 이미지 특징과 현재 처리된 이미지의 이미지 특징에 4차원 인코딩을 적용하는 단계를 포함하고,
    상기 4차원 인코딩은 시간 정보, 공간 정보 및 초점 위치 정보를 이전에 캡처된 이미지의 이미지 특징과 현재 처리된 이미지의 이미지 특징에 임베딩하는 단계를 포함하는, 깊이 정보 추출 방법.
  4. 제 1 항 내지 제 3 항 중 어느 하나의 항에 있어서,
    4차원 인코딩은 비선형 및/또는 4차원 인코딩은 현재 처리된 이미지의 이미지 특징과 이전에 캡쳐된 이미지로부터 저장된 이미지 특징 각각에 추가하는 것을 통해 적용되는, 깊이 정보 추출 방법.
  5. 제 1 항 내지 제 4 항 중 어느 하나의 항에 있어서,
    4차원 인코딩은 삼각함수를 사용하는 것에 기초하는, 깊이 정보 추출 방법.
  6. 제 1 항 내지 제 5 항 중 어느 하나의 항에 있어서,
    미리 결정된 초점 스케줄에 명시된 초점 위치와 적어도 하나의 생성된 다차원 텐서를 사용하는 2차원 깊이 맵을 생성하는 단계는 기계 학습 알고리즘에 의해 적어도 하나의 다차원 초점 확률 맵을 생성하는 단계와, 상기 적어도 하나의 다차원 초점 확률 맵을 미리 결정된 초점 스케줄에 명시된 초점 위치를 사용하여 실제 물리적 거리에 재매핑(remapping)하는 단계를 포함하는, 깊이 정보 추출 방법.
  7. 제 1 항 내지 제 6 항 중 어느 하나의 항에 있어서,
    적어도 하나의 다차원 초점 확률 맵은 폭 차원(W), 높이 차원(H)과 초점 위치 차원(N)을 갖는 3차원 텐서이고, 상기 초점 위치 차원은 초점 위치의 수를 명시하고,
    폭과 높이 차원의 크기는 입력 이미지의 폭과 높이 차원의 크기와 동일하고,
    상기 입력 이미지는 미리 결정된 수의 캡처된 이미지 중의 하나의 이미지 또는 현재 처리된 이미지인, 깊이 정보 추출 방법.
  8. 제 1 항 내지 제 7 항 중 어느 하나의 항에 있어서,
    미리 결정된 초점 스케줄에 명시된 초점 위치를 사용하여 실제 물리적 거리에 대한 적어도 하나의 다차원 초점 확률 맵을 재매핑하는 단계는 적어도 하나의 다차원 초점 확률 맵의 각 픽셀과 초점 스케줄 내의 초점 위치 사이의 내적(dot product)을 계산하는 단계를 포함하는, 깊이 정보 추출 방법.
  9. 제 1 항 내지 제 8 항 중 어느 하나의 항에 있어서,
    현재 처리된 이미지의 이미지 특징에 정렬된 모든 처리된 이미지의 이미지 특징을 나타내는 적어도 하나의 생성된 다차원 텐서는 폭 차원(W)과, 높이 차원(H)과, 채널 차원(C)과, 초점 위치 차원(N)을 포함하는 4차원 텐서이되 상기 채널 차원은 합성곱 신경망의 하나 이상의 레이어에 의해 처리된 이미지로부터 추출된 특징 맵의 수를 명시하고, 상기 초점 위치 차원은 초점 위치의 수를 명시하는, 깊이 정보 추출 방법.
  10. 제 1 항 내지 제 9 항 중 어느 하나의 항에 있어서,
    미리 결정된 수의 캡처된 이미지의 이미지 특징을 추출하는 단계와 현재 처리된 이미지의 이미지 특징을 추출하는 단계는 기계 학습 알고리즘에 의해 상이한 스케일의 이미지 특징을 추출하는 단계를 더 포함하고, 상기 스케일은 입력 이미지의 높이의 비율 및/또는 입력 이미지의 폭의 비율로 정의되며, 상기 입력 이미지는 미리 결정된 수의 캡처된 이미지 중의 하나의 이미지 또는 현재 처리된 이미지 인, 깊이 정보 추출 방법.
  11. 제 1 항 내지 제 10 항 중 어느 하나의 항에 있어서,
    미리 결정된 수의 캡처된 이미지로부터 추출된 이미지 특징과 현재 처리된 이미지로부터 추출된 이미지 특징은 원형 버퍼인 컴퓨터 판독 가능한 메모리에 저장되되 원형 버퍼는 미리 결정된 수의 캡처된 이미지의 이미지 특징을 저장할 수 있고 및/또는 적어도 캡처된 이미지의 미리 결정된 수는 적어도 초점 스케줄에 명시된 서로 다른 초점 위치의 수보다 크거나 같은, 깊이 정보 추출 방법.
  12. 제 1 항 내지 제 11 항 중 어느 하나의 항에 있어서,
    합성곱 신경망은 복수의 상이한 장면에 대하여 상이한 초점 위치에 초점을 맞춘 복수의 이미지를 포함하는 학습 샘플에 대해 학습된 합성곱 신경망이고, 상기 장면은 정적 또는 동적이며, 합성곱 신경망 파라미터는 손실 함수를 사용하여 합성곱 신경망에 의해 생성된 추정된 깊이 맵과 대응하는 알려진 정답 깊이 맵을 비교함으로써 최적화되는, 깊이 정보 추출 방법.
  13. 컴퓨터 메모리;
    하나 이상의 프로세서(CPU 및/또는 GPU);
    를 포함하되,
    컴퓨터 메모리는 서로 다른 초점 위치에서 카메라에 의해 촬영된 복수의 이미지로부터 깊이 정보를 추출하는 제 1 항 내지 제 12 항 중 어느 하나의 방법을 수행하도록 하나 이상의 프로세서에 지시하는 명령을 저장하는, 컴퓨팅 시스템.
  14. 제 13 항에 있어서,
    상기 컴퓨팅 시스템은 서로 다른 초점 위치로 장면의 이미지를 캡처하도록 구성된 카메라를 포함하는 휴대형 모바일 장치(예, 스마트폰)인, 컴퓨팅 시스템.
  15. 컴퓨터 시스템에 의해 실행될 때 서로 다른 초점 위치에서 카메라에 의해 촬영된 복수의 이미지로부터 깊이 정보를 추출하는 제 1 항 내지 제 12 항 중 어느 하나의 방법을 수행하는 컴퓨터 실행 가능 명령을 저장하기 위한 컴퓨터로 판독 가능한 저장 매체.
KR1020220062283A 2021-05-20 2022-05-20 가변 초점 카메라의 깊이 추정 방법 KR20220157329A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21382458.4A EP4092572A1 (en) 2021-05-20 2021-05-20 Method for depth estimation for a variable focus camera
EP21382458.4 2021-05-20

Publications (1)

Publication Number Publication Date
KR20220157329A true KR20220157329A (ko) 2022-11-29

Family

ID=76197385

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220062283A KR20220157329A (ko) 2021-05-20 2022-05-20 가변 초점 카메라의 깊이 추정 방법

Country Status (9)

Country Link
US (1) US20220383525A1 (ko)
EP (1) EP4092572A1 (ko)
JP (1) JP7449977B2 (ko)
KR (1) KR20220157329A (ko)
CN (1) CN115375532A (ko)
AU (1) AU2022203080B2 (ko)
CA (1) CA3157444A1 (ko)
CL (1) CL2022001304A1 (ko)
TW (1) TWI791405B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109561257B (zh) * 2019-01-18 2020-09-18 深圳看到科技有限公司 画面对焦方法、装置、终端及对应的存储介质
US20220388162A1 (en) * 2021-06-08 2022-12-08 Fanuc Corporation Grasp learning using modularized neural networks
US11809521B2 (en) * 2021-06-08 2023-11-07 Fanuc Corporation Network modularization to learn high dimensional robot tasks
US11983920B2 (en) * 2021-12-20 2024-05-14 International Business Machines Corporation Unified framework for multigrid neural network architecture
CN116386027B (zh) * 2023-04-03 2023-10-24 南方海洋科学与工程广东省实验室(珠海) 一种基于人工智能算法的海洋三维旋涡识别系统及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9530213B2 (en) * 2013-01-02 2016-12-27 California Institute Of Technology Single-sensor system for extracting depth information from image blur
TWI554103B (zh) * 2014-11-13 2016-10-11 聚晶半導體股份有限公司 影像擷取裝置及其數位變焦方法
TWI640199B (zh) * 2016-06-24 2018-11-01 聚晶半導體股份有限公司 影像擷取裝置及其攝影構圖的方法
US10755428B2 (en) * 2017-04-17 2020-08-25 The United States Of America, As Represented By The Secretary Of The Navy Apparatuses and methods for machine vision system including creation of a point cloud model and/or three dimensional model
CN109803090B (zh) * 2019-01-25 2021-09-28 睿魔智能科技(深圳)有限公司 无人拍摄自动变焦方法及系统、无人摄像机及存储介质
CN110400341B (zh) * 2019-07-03 2021-09-21 北京华捷艾米科技有限公司 一种3d结构光深度相机和移动终端
CN112102388B (zh) * 2020-09-18 2024-03-26 中国矿业大学 基于巡检机器人单目图像获取深度图像的方法及装置

Also Published As

Publication number Publication date
EP4092572A1 (en) 2022-11-23
AU2022203080B2 (en) 2024-02-22
CA3157444A1 (en) 2022-11-20
AU2022203080A1 (en) 2022-12-08
JP7449977B2 (ja) 2024-03-14
TW202247100A (zh) 2022-12-01
CN115375532A (zh) 2022-11-22
CL2022001304A1 (es) 2023-01-13
JP2022179397A (ja) 2022-12-02
TWI791405B (zh) 2023-02-01
US20220383525A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
KR20220157329A (ko) 가변 초점 카메라의 깊이 추정 방법
US10353271B2 (en) Depth estimation method for monocular image based on multi-scale CNN and continuous CRF
US9418458B2 (en) Graph image representation from convolutional neural networks
AU2019268184B2 (en) Precise and robust camera calibration
CN110473137A (zh) 图像处理方法和装置
EP1975879A2 (en) Computer implemented method for tracking object in sequence of frames of video
KR102167808B1 (ko) Ar에 적용 가능한 의미적인 분할 방법 및 시스템
WO2024021194A1 (zh) 激光雷达点云分割方法、装置、设备及存储介质
US20240153240A1 (en) Image processing method, apparatus, computing device, and medium
US11694301B2 (en) Learning model architecture for image data semantic segmentation
WO2021083126A1 (zh) 目标检测、智能行驶方法、装置、设备及存储介质
CN114119999B (zh) 基于深度学习的迭代6d位姿估计方法及装置
KR102449031B1 (ko) 딥러닝을 이용한 실내 위치 측위 방법
JP7336653B2 (ja) ディープラーニングを利用した屋内位置測位方法
CN115097935A (zh) 一种手部定位方法和vr设备
CN116152334A (zh) 图像处理方法及相关设备
Chen et al. Improvement of AnyNet-based end-to-end phased binocular stereo matching network
Vaquero et al. SiamMT: Real-time arbitrary multi-object tracking
KR102495005B1 (ko) 딥러닝을 이용한 실내 위치 측위 방법
Tran et al. Fast parallel blur detection of digital images
Silva et al. Tracking 3D Deformable Objects in Real Time.
Zhang Deep learning multi-modal fusion based 3D object detection
KR20220147828A (ko) 단안 이미지를 이용한 뎁스 맵 생성 장치 및 방법
CN116630845A (zh) 结合层级编码器和并行注意力机制的目标跟踪方法
CN115908809A (zh) 一种基于尺度分治的目标检测方法及系统