KR102319237B1 - 핸드크래프트 비용 기반의 다중 뷰 스테레오 정합 방법 - Google Patents

핸드크래프트 비용 기반의 다중 뷰 스테레오 정합 방법 Download PDF

Info

Publication number
KR102319237B1
KR102319237B1 KR1020210027342A KR20210027342A KR102319237B1 KR 102319237 B1 KR102319237 B1 KR 102319237B1 KR 1020210027342 A KR1020210027342 A KR 1020210027342A KR 20210027342 A KR20210027342 A KR 20210027342A KR 102319237 B1 KR102319237 B1 KR 102319237B1
Authority
KR
South Korea
Prior art keywords
image
cost volume
target image
cost
depth
Prior art date
Application number
KR1020210027342A
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 KR1020210027342A priority Critical patent/KR102319237B1/ko
Application granted granted Critical
Publication of KR102319237B1 publication Critical patent/KR102319237B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • 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
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • 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

Landscapes

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

Abstract

핸드크래프트 비용 기반의 다중 뷰 스테레오 정합 방법이 제시된다. 본 발명에서 제안하는 다중 뷰 스테레오 정합 기법은 깊이 영상을 구하고자 하는 대상 영상에 대하여 카메라간 거리(baseline)와 카메라 주축(principal axis)간 각도에 따라 참조 영상들을 선정하는 단계, OpenCL 기반 병렬처리 알고리즘을 수행하여 핸드-크래프트 특징 기반의 비용 볼륨을 구축하는 단계, 마지막으로 CNN 기반의 엔코더-디코더 비용 볼륨 회귀 네트워크로 구축한 비용 볼륨에 대하여 깊이 정보를 추정하는 단계를 포함한다.

Description

핸드크래프트 비용 기반의 다중 뷰 스테레오 정합 방법{Method for Handcrafted Cost-based Multi-view Stereo Matching}
본 발명은 핸드크래프트 비용 기반의 다중 뷰 스테레오 정합 방법에 관한 것이다. 더욱 상세하게는 소수의 입력 영상들로부터 정교한 깊이 정보를 얻는 네트워크에 관한 것이다.
다중 뷰 스테레오 정합 기법은 여러 장의 입력 영상을 통해 정교한 깊이 정보를 얻는 과정으로 컴퓨터 비전 분야에서 활발히 연구되고 있는 문제 중 하나이다. 다중 뷰 스테레오 정합을 통해 얻은 깊이 정보는 포인트 클라우드, 복셀(voxel), 메쉬(mesh) 등의 3차원으로 재구축하는 데 활용되며 증강현실, 가상현실과 자율 주행 자동차 산업 및 컴퓨터 그래픽스 관련 어플리케이션에서 다방면으로 활용되고 있다. 기존 다중 뷰 스테레오 정합 알고리즘은 복잡한 계산을 통해 인접한 다수의 영상 간 특징을 정합함으로써 깊이 정보를 추출하였다. 하지만 이러한 기존 방법들은 계산 비용이 높아서 실시간으로 처리하기 힘들고, 복잡한 과정을 거치며 여러 외부 라이브러리의 의존도가 높아 구현이 어렵다는 문제점이 있다[28, 29, 30, 31]. 또한 기존 방법들은 참조 영상의 수가 적어서 생기는 폐색영역과 반사광을 포함한 각종 잡음으로부터 깊이 정보를 온전히 추출하지 못하는 문제점이 있다. 하지만 최근 CNN 기반의 네트워크를 활용하여 폐색영역이 존재하는 영상들로부터 정교한 깊이 영상 취득에 성공한 연구가 발표되었다 [1, 2, 3]. 스테레오 카메라로부터 취득한 도로 주행 데이터 셋인 KITTI 스테레오 데이터 셋[4]을 학습한 네트워크 기반의 스테레오 정합 연구들과 컴퓨터 그래픽스 합성 데이터 셋을 활용하여 단안 영상으로부터 깊이 정보 및 3차원 복셀을 재구축하는 방법들도 이에 해당한다 [5, 6]. 네트워크 기반의 선행 연구들은 다양한 데이터 셋으로 학습된 심층 신경망이 폐색과 잡음에 강인한 특징 추출을 통해 기존 방법들보다 정교한 깊이 정보를 추출할 수 있음을 보였다.
학습 기반 이전의 다중 뷰 스테레오 정합 기법들[7, 8, 9, 10, 26]은 대상 영상과 참조 영상으로부터 각 화소를 중심으로 사각 영역에 대한 비용을 계산하여 plane-sweep 볼륨을 구축하고, 복잡한 연산으로 이루어진 비용 볼륨 필터링 과정을 거쳐 최종 깊이 영상을 얻었다. COLMAP[7]은 잘 알려진 SFM(structure from motion) 및 MVS(multi-view stereo) 라이브러리로 다양한 특징 점 검출 및 정합 알고리즘으로 카메라 위치를 추정하고, plane-sweep 알고리즘 기반으로 깊이 영상을 얻어 최종적으로 포인트 클라우드 형태의 3차원을 복원한다. Gipuma[9, 10] 역시 MVS 알고리즘의 복잡한 파이프라인을 빠르게 처리하기 위해 GPGPU(General-Purpose computing on Graphics Processing Units) 연산을 적극적으로 활용하였다. 그러나 이러한 기존 기법들은 대부분의 복잡한 수학 연산을 3rd-party 라이브러리에 의존하며, CUDA[27, 33]로 구현되어 PC 환경에서만 구현이 되어있는 것이 한계점이다.
최근 각 컴퓨터 비전 분야에서 네트워크 기반 알고리즘이 그 성능을 입증하면서 다중 뷰 스테레오 정합 문제에서도 기존 알고리즘의 복잡한 과정을 학습 기반의 네트워크로 대체하면서 그 성능을 입증하는 연구가 등장하고 있다 [1, 2, 3, 11, 12]. 학습 기반의 다중 뷰 스테레오 정합 네트워크에 관한 연구는 네트워크가 생성하는 결과물에 따라 3차원 형상 복원 연구와 깊이 정보 추정 연구 두 가지로 나뉜다.
대표적인 3차원 형상 복원 연구인 MVSNet[1]은 입력 영상에 대해 CNN 기반의 특징 추출 네트워크로부터 추출된 특징으로 플랜-스윕(plane-sweep) 볼륨을 구축하고 인코더-디코더(encoder-decoder) 구조의 비용 볼륨 필터링 네트워크와 CNN 기반의 정제(refinement) 네트워크로 최종 깊이 정보를 추정하였다. MVSNet은 코어스-투-파인(coarse-to-fine) 방법으로 추정한 깊이 정보를 활용하여 텍스처 정보를 포함한 포인트클라우드 형태의 3차원 복원을 최종 결과물로 생성하는 데 성공하였다. MVSNet은 비용 볼륨 필터링 네트워크에 대한 후속연구인 R-MVSNet[11]을 통해 네트워크 구조를 3D CNN에서 GRU로 대체하면서 GPU 메모리 사용량을 1/4로 줄여 기존 네트워크의 단점인 메모리 사용량을 개선할 수 있음을 보였다. 또 다른 후속연구인 P-MVSNet[12]은 MVSNet 네트워크로부터 추정한 코어스 깊이(coarse depth) 정보와 카메라 행렬을 활용하여 특성 증강 포인트 클라우드(feature augmented point cloud)를 생성하고 [13]에서 제안한 그래프 기반 CNN인 DGCNN으로 주변 포인트(point)와의 정보를 에지(edge)로 표현하여 잔여 깊이(depth residual)를 학습시키는 포인트플로우(pointflow) 모듈을 제안하였다. P-MVSNet은 위의 과정을 N번 반복하면서 최종적으로 포인트 클라우드(point cloud)와 깊이(depth)를 동시에 취득하였다. 하지만 이러한 기법들은 정교한 깊이 정보 및 3차원 복원을 위해 영상 간 베이스라인(baseline)이 크지 않은 다수의 입력 영상을 여전히 요구하며, 3D CNN을 사용하기 때문에 메모리 소비가 크고 추론 시간이 오래 걸린다는 단점이 존재한다.
소수의 영상으로부터 깊이 정보를 추정하는 다중 뷰 스테레오 정합 연구에는 대표적으로 DeepMVS[2], MVDepthNet[3], 그리고 DPSNet[14]이 있다. 각각의 방법들은 MVSNet처럼 플랜-스윕(plane-sweep) 볼륨을 구축하는 과정으로 시작하여 엔드-투-엔드(end-to-end)로 깊이 정보를 추론하였다. DeepMVS는 대상 영상과 참조 영상을 64 x 64 크기의 패치(patch)로 나누어 각 패치마다 CNN 레이어를 통과하여 얻은 유사도(patch-matching score)를 비용 볼륨으로 구축한 후 인코더-디코더(encoder-decoder) 구조의 네트워크로 비용 볼륨을 필터링하는 방법을 사용하였다. 그리고 각 참조 영상에 대해 필터링된 비용 볼륨으로부터 인터-볼륨 특성 집합(inter-volume feature aggregation) 네트워크를 통해 최종 비용 볼륨을 생성하고, Dense-CRF(fully-connected conditional random field)[15]를 적용하여 깊이 정보를 추정하였다. 이러한 지역적 패치-매칭(patch-matching)을 통한 비용 볼륨 구축 후 전역적으로 최적화하는 방법은 딥러닝 이전 다중 뷰 스테레오 정합 알고리즘에서 주로 사용되던 기법이다. DeepMVS는 기존 방법들에서 사용되던 패치-매칭 기반의 다중 뷰 스테레오 정합 기법을 네트워크에 적용하는 새로운 시도를 보여주었지만 복잡한 네트워크 구조로 인해 추론 시간이 오래 걸리는 단점을 갖는다.
MVDepthNet은 대상 영상과 참조 영상에서 화소 간 절대거리를 비용함수로 사용하여 구축한 플랜-스윕 볼륨과 대상 영상을 입력으로 하여 인코더-디코더 구조의 네트워크에서 변이도(disparity)를 추정하는 방법을 제안하였다. MVDepthNet은 단순한 비용함수와 복잡하지 않은 네트워크 구조 덕분에 소수의 입력 영상에 대해 실시간으로 깊이 정보를 추정할 수 있음을 보였다. 실제로 후속 연구인 GP-MVS[16]에서는 MVDepthNet의 네트워크 구조를 활용하여 모바일 환경에서 실시간 깊이 정보를 추론하는 어플리케이션을 선보였다.
DPSNet은 MVSNet의 비용 볼륨 구축 과정과 동일하게 특징 추출 네트워크로부터 추출한 특징들로 플랜-스윕 볼륨을 구축하고 대상 영상과 비용 볼륨 간의 잔여와 비용 볼륨을 동시에 학습하는 콘텍스트 인지 비용 집합(context-aware cost aggregation) 기법을 제안하였다. DPSNet은 SPP(spatial pyramid pooling)[17] 네트워크로 특징을 추출하여 입력 영상의 크기에 제한받지 않으면서 동일한 해상도의 깊이 영상을 추출할 수 있다는 장점이 있다.
본 발명이 이루고자 하는 기술적 과제는 다중 뷰 스테레오 정합 연구의 트렌드에 따라 소수의 입력 영상들로부터 정교한 깊이 정보를 얻는 CNN 기반의 네트워크를 제공하는데 있다.
일 측면에 있어서, 본 발명에서 제안하는 CNN 기반의 인코더-디코더(encoder-decoder) 구조의 네트워크 다중 뷰 스테레오 정합 방법은 참조 영상 선정부를 통해 깊이 영상을 구하고자 하는 대상 영상에 대하여 카메라간 거리(baseline)와 카메라 주축(principal axis)간 각도에 따라 참조 영상들을 선정하는 단계, 선정된 참조 영상들에 대해 비용 볼륨 생성부를 통해 OpenCL 기반 GPGPU 전처리 파이프라인을 활용하여 핸드-크래프트 특징 기반의 플랜-스윕(plane-sweep) 비용 볼륨을 구축하는 단계 및 깊이 영상 추정부에서 CNN 기반의 인코더-디코더(encoder-decoder)를 포함하는 비용 볼륨 회귀 네트워크를 통해 구축한 비용 볼륨으로부터 변이도를 추정하는 단계를 포함한다.
참조 영상 선정부를 통해 깊이 영상을 구하고자 하는 대상 영상에 대하여 카메라간 거리(baseline)와 카메라 주축(principal axis)간 각도에 따라 참조 영상들을 선정하는 단계는 대상 영상과 참조 영상들 간의 유효 정보를 포함하는 비용 볼륨으로부터 네트워크를 학습시키기 위해 대상 영상과 짝을 이루는 깊이 영상(ground truth)이 미리 정해진 유효 깊이 범위 내의 값 이상을 갖는 대상 영상을 선정하고, 선정된 대상 영상에 대하여 각 변화도가 5도 내지 45도 이내에 있고, 카메라 간 거리(baseline)가 미리 정해진 거리 이상인 영상들만을 참조 영상의 후보군으로 선정하며, 선정된 참조 영상 후보군으로부터 대상 영상과의 유사도 점수(view similarity)에 따라 최종 참조 영상을 선정한다.
선정된 참조 영상들에 대해 비용 볼륨 생성부를 통해 OpenCL 기반 GPGPU 전처리 파이프라인을 활용하여 핸드-크래프트 특징 기반의 플랜-스윕(plane-sweep) 비용 볼륨을 구축하는 단계는 깊이 정보를 취득하려는 대상 영상에 대해 복수의 참조 영상들로부터 각 화소별로 계산된 비용 볼륨을 입력으로 받아 인접 화소 간 깊이 정보 일치도(depth consistency)를 증가시키고, 잡음을 감소시키기 위해 각 화소 중심으로 미리 정해진 사각 영역에서 계산한 NCC 비용으로 비용 볼륨을 구축한다.
또 다른 일 측면에 있어서, 본 발명에서 제안하는 CNN 기반의 인코더-디코더(encoder-decoder) 구조의 네트워크 다중 뷰 스테레오 정합 장치는 깊이 영상을 구하고자 하는 대상 영상에 대하여 카메라간 거리(baseline)와 카메라 주축(principal axis)간 각도에 따라 참조 영상들을 선정하는 참조 영상 선정부, 선정된 참조 영상들에 대해 OpenCL 기반 GPGPU 전처리 파이프라인을 활용하여 핸드-크래프트 특징 기반의 플랜-스윕(plane-sweep) 비용 볼륨을 구축하는 비용 볼륨 생성부 및 CNN 기반의 인코더-디코더(encoder-decoder)를 포함하는 비용 볼륨 회귀 네트워크를 통해 구축한 비용 볼륨으로부터 변이도를 추정하는 깊이 영상 추정부를 포함한다.
본 발명의 실시예들에 따르면 다중 뷰 스테레오 정합 알고리즘은 OpenCL기반의 GPGPU를 활용하여 기존 프레임워크에서 지원하지 않는 핸드-크래프트 특징 기반의 비용 볼륨을 병렬처리하여 빠르게 구축하고, 소수의 입력 영상으로부터 CNN 기반의 인코더-디코더(encoder-decoder) 구조의 비용 볼륨 회귀(regression) 네트워크로 정교한 깊이 영상을 복원할 수 있다.
도 1은 본 발명의 일 실시예에 따른 CNN 기반의 인코더-디코더(encoder-decoder) 구조의 네트워크 다중 뷰 스테레오 정합 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 비용 볼륨 구축 과정을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 플랜-스윕 볼륨 단면과 비용 볼륨 단면을 시각화한 도면이다.
도 4는 본 발명의 일 실시예에 따른 입력 비용 볼륨과 대상 영상으로부터 깊이 정보를 추론하는 네트워크 구조를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 CNN 기반의 인코더-디코더(encoder-decoder) 구조의 네트워크 다중 뷰 스테레오 정합 장치의 구성을 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 참조 영상 선정 결과를 비교하는 도면이다.
다중 뷰 스테레오 정합 기법은 임의의 화각에서 취득한 여러 장의 입력 영상으로부터 카메라 위치 정보를 활용하여 정교한 깊이 정보를 얻는 방법을 뜻한다. 기존 다중 뷰 스테레오 정합 기법은 계산 복잡도가 높은 알고리즘을 사용하였기 때문에 대부분의 연구환경은 고성능 하드웨어로 제한되어 있었다. 또한 기존 다중 뷰 스테레오 정합 기법은 인접 영상 간 가려진영역이 적을 때만 잘 작동하며 영상 내 잡음에 취약한 모습을 보였다.
본 발명에서는 소수의 입력 영상들로부터 정교한 깊이 정보를 얻는 네트워크를 제안한다. 더욱 상세하게는 소수의 입력 영상으로부터 CNN 기반의 인코더-디코더(encoder-decoder) 구조의 네트워크로 정교한 깊이 영상을 복원하는 기법을 제안한다. 제안하는 기법은 비용 볼륨 구축 알고리즘과 대상 영상에 대한 올바른 참조 영상 선정 기법 그리고 비용 볼륨 회귀(regression) 네트워크를 통한 변이도 추정 기법으로 구성되어있다. 본 발명에서는 제안하는 기법들을 통해 OpenCL 기반의 병렬 알고리즘으로 핸드-크래프트 특징 기반의 비용 볼륨을 빠르게 구축하고 다중 영상 데이터 셋을 기반으로 구축한 비용 볼륨을 학습시킨 네트워크를 통해 소수의 영상으로부터 정교한 깊이 정보를 복원한다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 CNN 기반의 인코더-디코더(encoder-decoder) 구조의 네트워크 다중 뷰 스테레오 정합 방법을 설명하기 위한 흐름도이다.
제안하는 다중 뷰 스테레오 정합 방법은 소수의 입력 영상으로부터 CNN 기반의 인코더-디코더(encoder-decoder) 구조의 네트워크로 정교한 깊이 영상을 복원할 수 있다.
제안하는 CNN 기반의 인코더-디코더(encoder-decoder) 구조의 네트워크 다중 뷰 스테레오 정합 방법은 참조 영상 선정부를 통해 깊이 영상을 구하고자 하는 대상 영상에 대하여 카메라간 거리(baseline)와 카메라 주축(principal axis)간 각도에 따라 참조 영상들을 선정하는 단계(110), 선정된 참조 영상들에 대해 비용 볼륨 생성부를 통해 OpenCL 기반 GPGPU 전처리 파이프라인을 활용하여 핸드-크래프트 특징 기반의 플랜-스윕(plane-sweep) 비용 볼륨을 구축하는 단계(120) 및 깊이 영상 추정부에서 CNN 기반의 인코더-디코더(encoder-decoder)를 포함하는 비용 볼륨 회귀 네트워크를 통해 구축한 비용 볼륨으로부터 변이도를 추정하는 단계(130)를 포함한다.
제안하는 기법은 비용 볼륨 구축 알고리즘과 대상 영상에 대한 올바른 참조 영상 선정 기법 그리고 비용 볼륨 회귀(regression) 네트워크를 통한 변이도 추정 기법으로 구성되어있다. 특히 제안하는 비용 볼륨 구축 알고리즘은 OpenCL기반의 독자적인 GPGPU 전처리 파이프라인을 활용하여 핸드-크래프트 특징(hand-crafted feature) 기반의 플랜-스윕(plane-sweep) 볼륨을 빠르게 구축하고 배치학습이 가능하게 하였다. 또한 비용 볼륨 구축 과정에서 제안하는 영상 선정(view-selection) 기법을 통해 올바른 콘텍스트(context)를 포함한 비용 볼륨을 학습하는 방법을 제안한다. 제안하는 네트워크는 대상 영상에 대해 최소 1장의 참조 영상으로부터 0.5m에서 32m까지의 실용적인 범위 내의 깊이 정보를 추정한다.
본 발명에서 제안하는 핸드크레프트 비용(handcrafted cost) 기반의 다중 뷰 스테레오 정합 기법은 [3]에서 제안한 UNet 구조의 비용 볼륨 회귀(cost volume regression) 네트워크를 활용하여 고성능의 PC 환경에서뿐만 아니라 스마트폰과 같은 모바일 환경에서 실제로 활용할 수 있도록 하였다. 특히 제안하는 비용 볼륨 구축 방법은 플랫폼과 프레임워크에 제한받지 않는 독자적인 OpenCL 기반의 병렬 알고리즘으로, 대상 영상에 대한 비용 볼륨 구축 시간을 비약적으로 단축시켰다. 또한 기존 다양한 다중 뷰 스테레오 정합 기법[7, 8, 9, 26]에서 성능이 입증되어 널리 사용된 영역 기반(window-based) NCC 비용 볼륨을 학습할 수 있도록 하여 기존 기법과 네트워크의 시너지를 극대화하였다.
먼저, 단계(110)에서 참조 영상 선정부를 통해 깊이 영상을 구하고자 하는 대상 영상에 대하여 카메라간 거리(baseline)와 카메라 주축(principal axis)간 각도에 따라 참조 영상들을 선정한다. . 대상 영상에 대한 적합한 참조 영상 선정 과정은 아래에서 더욱 상세히 설명한다.
이후, 단계(120)에서 선정된 참조 영상들에 대해 비용 볼륨 생성부를 통해 OpenCL 기반 GPGPU 전처리 파이프라인을 활용하여 핸드-크래프트 특징 기반의 플랜-스윕(plane-sweep) 비용 볼륨을 구축한다.
도 2는 본 발명의 일 실시예에 따른 비용 볼륨 구축 과정을 나타내는 도면이다.
본 발명에서 제안하는 네트워크는 깊이 정보를 취득하려는 대상(Target) 영상에 대해 여러 장의 참조 영상들(Source1, ??, SourceN)로부터 계산된 비용 볼륨을 입력으로 한다. 비용 볼륨은 호모그래피 변환으로 구축한 플랜-스윕(plane-sweep) 볼륨으로부터 계산하였다. 카메라 내부 인자와 위치 정보가 주어졌을 때 참조 영상의 좌표계를 대상 영상의 좌표계로 변환하는 호모그래피 변환행렬 H는 다음과 같이 정의된다:
Figure 112021024297708-pat00001
식(1)
식 (1)에서 di는 탐색범위 0.5m에서 32m까지의 깊이를 DL=64 단계로 나눈 단위 깊이의 i번째를 뜻하고, K는 카메라 내부 인자 행렬, 그리고 Rr,t, tr,t는 참조 영상과 대상 영상간 카메라 외부 인자의 상대적 회전 변환과 평행이동 변환 값을 뜻한다. 대상 영상IT과 참조영상IR간 i번째 단위 깊이 di에서의 비용
Figure 112021024297708-pat00002
는 식(2)과 같이 나타낼 수 있다:
Figure 112021024297708-pat00003
식(2)
식(2)에서 I'R은 호모그래피 행렬 H를 통해 대상 영상 좌표계로 변환된 참조 영상을 의미하고
Figure 112021024297708-pat00004
는 변환된 참조 영상 I'R과 대상 영상 IT간의 비용함수
Figure 112021024297708-pat00005
에따라 각 화소별로 계산한 비용을 의미한다. 마지막으로 변환된 참조영상 I'R에 대한 비용 볼륨 C는 단위 깊이 di에서의 비용
Figure 112021024297708-pat00006
를 적층하여 구축하였다. 기존 학습 기반 다중 뷰 스테레오 정합 기법 중 MVSNet은 대상 영상과 참조 영상에 대해 추출한 특징(feature map) FT, F'R간의 절대거리의 제곱인 L2비용함수를 사용하여 비용 볼륨을 구축하였고, MVDepthNet과 GP-MVS는 단순히 화소별 절대거리를 나타내는 L1비용함수를 사용하여 비용 볼륨을 구축하였다. 제안하는 방법에서는 각 화소 중심으로 5 × 5 사각 영역에서 계산한 NCC 비용으로 비용 볼륨을 구축하였다. 영역 기반의 NCC 비용 계산법은 인접 화소간 깊이 정보 일치도(depth consistency)를 높이며 앞서 소개한 다른 단순한 비용 함수에 비해 잡음과 폐색에 대해 강인하다 [18].
제안하는 방법에서는 비용 볼륨 구축 전 과정에 대해 OpenCL을 활용하여 GPU 병렬 알고리즘을 수행하였다. 특히 추론 시간을 가속하기 위해 OpenCL의 이종 컴퓨팅(heterogeneous computing) 기능을 활용하여 멀티코어 배치학습이 가능하도록 하였다. OpenCL의 명령어 수행 객체인 코맨드 큐(command queue)를 복수로 생성하여 개별 커널 함수를 독립된 테스크(task)로 동시에 수행하면 다중코어 환경에서 각 쓰레드별로 여러 개의 커널 함수를 실행할 수 있다. 제안하는 병렬처리 알고리즘은 역호모그래피 변환(inverse warp) 모듈과 비용 볼륨 구축(NCC cost volume construction) 모듈로 나뉘어있다. 역호모그래피 변환(inverse warp) 모듈은 대상 영상의 좌표계를 참조 영상으로 역 변환하여 얻은 부동소수점 좌표계로부터 이웃 화소 간 보간법을 사용하여 홀(hole)이 존재하지 않도록 역호모그래피 변환된 참조 영상을 얻도록 한다. 표 1의 비교 결과를 통해 제안하는 역호모그래피 변환 모듈이 같은 역할을 하는 PyTorch의 grid_sample 함수보다 plane-sweep 볼륨 구축 속도가 더 빠른 것을 확인할 수 있다(단위: msec).
<표 1>
Figure 112021024297708-pat00007
도 3은 본 발명의 일 실시예에 따른 플랜-스윕 볼륨 단면과 비용 볼륨 단면을 시각화한 도면이다.
비용 볼륨 구축 모듈은 대상 영상과 입력 영상들에 대해 Image2D 메모리 객체로 메모리 읽기 속도를 높이고, float4 벡터 자료구조를 사용하여 모든 채널에 대해 SIMD 연산을 빠르게 수행하였다. 제안하는 병렬처리 알고리즘은 PyTorch와의 호환성을 위해 Python 기반의 pyopencl 프레임워크로 구현하였다. 도 9에 제안하는 OpenCL기반의 비용 볼륨 구축 알고리즘으로 구축한 플랜-스윕 볼륨과 비용 볼륨의 단면을 시각화하여 나타내었다.
다시 도 1을 참조하면, 단계(130)에서 깊이 영상 추정부에서 CNN 기반의 인코더-디코더(encoder-decoder)를 포함하는 비용 볼륨 회귀 네트워크를 통해 구축한 비용 볼륨으로부터 변이도를 추정한다.
도 4는 본 발명의 일 실시예에 따른 입력 비용 볼륨과 대상 영상으로부터 깊이 정보를 추론하는 네트워크 구조를 나타내는 도면이다.
도 4를 참조하면, 입력 비용 볼륨(Final volume) C와 대상(Target) 영상 IT을 입력으로 하여 깊이 영상을 추정(Estimated Depth)하는 네트워크 구조를 나타낸다. 본 발명의 실시예에 따른 CNN 기반의 인코더-디코더 구조로 이루어진 비용 볼륨 회귀 네트워크는 (DL+3)×H×W 크기의 입력 볼륨으로부터 하이-레벨 특징(high-level feature)을 생성하는 5-레벨의 인코더와 각 인코더 레이어에서 생성한 특징으로부터 깊이 정보의 역인 변이도(disparity)를 추정하는 5-레벨의 디코더로 구성되어있다. 인코더 단의 앞의 두 레이어는 (7×7), (5×5) 필터를 사용했으며, 세 번째 레이어부터 디코더 단의 레이어는 전부 (3×3) 필터를 사용하였다. 각 디코더 단은 인코더 단의 첫 번째 CNN 레이어부터 네 번째 CNN 레이어 각각을 거쳐서 나온 특징 맵(feature map)과 전 단계 레이어를 거쳐서 나온 특징 맵을 결합하여 업-샘플링(up-sampling) 이후 CNN 레이어를 통과시키는 구조로 되어있다. 특히 두 번째 디코더부터 마지막 디코더는 총 4번에 걸쳐 대상 영상에 대한 변이도를 추론하며, 추론한 변이도는 다음 레이어로 전달되어 하이-레벨 특징을 유지하도록 설계되었다.
본 발명에서는 DeepMVS[2]와 DPSNet[14]과 동일하게 DeMoN [19]에서 미리 취합한 데이터 셋으로 훈련 및 검증 데이터 셋을 구성하였다. DeMoN 데이터 셋은 RGBD 카메라로 실내에서 취득한 데이터 셋인 SUN3D[20], TUM-RGBD[21]와 실외에서 취득한 MVE[22], 마지막으로 ShapeNet 데이터 셋으로 합성한 합성 데이터 셋 SCENES11[2, 19]으로 구성되어있다. 모든 데이터 셋은 9:1 비율로 학습 데이터 셋과 검증 데이터 셋으로 나누어 각각 92,182개, 10,342개의 시퀀스로 구성하였다. 각 시퀀스는 폴더 형태로 RGB 3채널의 입력 영상들과 카메라 내부 및 외부 인자, 그리고 각 입력 영상에 해당하는 깊이 영상을 포함한다. 실내 데이터 셋인 TUM-RGBD와 SUN3D 데이터 셋은 영상 내의 대부분의 깊이 정보를 제공하는 반면 실외 데이터 셋인 MVE 데이터 셋은 깊이 정보가 취득되지 않은 곳도 상당히 많이 있었다. 본 발명에서는 네트워크 훈련 시 깊이 정보가 전체 깊이 영상 면적의 60% 이상으로 취득된 데이터 셋만 유효 데이터 셋으로 취급하였다. 훈련 및 검증에 사용한 모든 데이터 셋은 평균적으로 0.5m~30m 안의 범위에서 취득된 데이터 셋으로, 목표로 하는 추론 범위에 알맞은 데이터 셋으로 볼 수 있다.
앞서 소개한 모든 데이터 셋에 대해 본 발명에서 제안하는 네트워크는 하나의 대상 영상과 복수의 참조 영상 선정 과정(view selection)이 선행되어야 한다. [23]에 따르면 대상 영상에 대해 잘못 선택된 참조 영상은 비용 볼륨 구축 과정에서 중요한 정보(context)를 누락시킨다. 대상 영상과 참조 영상들 간의 올바른 정보를 포함하는 비용 볼륨으로부터 네트워크를 학습시키기 위해 참조 영상 선정 과정은 필수적이다. 본 발명에서는 대상 영상에 대해 적절한 참조 영상을 선정하는 기법을 다음과 같이 제안한다. 우선 대상 영상은 대상 영상과 짝을 이루는 깊이 영상(ground truth)이 유효 깊이 범위 내의 값을 70% 이상 가질 때만 선택되었다. 참조 영상은 선택한 대상 영상에 대하여 식(3)에서 계산한 각 변화도가 5도 ~ 45도 이내에 있고 식(4)에서 계산한 카메라 간 거리(baseline)가 0.1m 이상인 영상들만 후보군으로 하였다. 식(3)의 대상 영상에 대한 참조 영상과의 상대적 회전변환 행렬인 Rj,i는 두 영상 간 각 회전변환 행렬 Rw,j, Rw,i이 주어졌을 때 Rj,i=R-1 w,jRw,i 에 따라 계산할 수 있다.
Figure 112021024297708-pat00008
식(3)
Figure 112021024297708-pat00009
식(4)
위의 과정을 거쳐 선정한 참조 영상 후보군으로부터 대상 영상과의 유사도(view similarity)에 따라 최종 참조 영상을 선택하기 위해 [24]에서 제안한 식(5)에 따라 각 참조 영상과 대상 영상과의 유사도 점수(view similarity score)를 측정하였다:
Figure 112021024297708-pat00010
식(5)
식(5)에서 Xl m, Xl ref는 대상 영상과 참조 영상의 사각 영역, θl은 단위 깊이, Zl m은 Inverse warp 모듈로 참조 영상을 대상 영상으로 와핑(warping)할 때 유효 범위에서 참 값을 가지는 이진 마스크(binary mask)를 뜻한다.
Figure 112021024297708-pat00011
은 Xl m, Xl ref간의 비용을 나타내며 [7, 24]에 따라 NCC 함수로 비용을 계산하였다. 나머지 상수 변수는 각각
Figure 112021024297708-pat00012
= 1.5,N = 1,A = 1 로 하였고 유효 범위내에서 와핑되지 않는 곳인 Zl m=0 에서는 균일 분포(uniform distribution) μ=0.5를 사용하였다. 식(5)에서 계산한 P는 모든 화소에서 0 부터 1의 확률로 대상 영상과 각 참조 영상 간의 유사도를 나타내며 0.65 이상의 확률을 띄는 화소 개수가 가장 많은 참조 영상 순으로 비용 볼륨 구축 과정에서 참조하였다.
도 5는 본 발명의 일 실시예에 따른 CNN 기반의 인코더-디코더(encoder-decoder) 구조의 네트워크 다중 뷰 스테레오 정합 장치의 구성을 나타내는 도면이다.
제안하는 CNN 기반의 인코더-디코더(encoder-decoder) 구조의 네트워크 다중 뷰 스테레오 정합 장치(500)는 참조 영상 선정부(510), 비용 볼륨 생성부(520) 및 깊이 영상 추정부(530)를 포함한다.
참조 영상 선정부(510), 비용 볼륨 생성부(520) 및 깊이 영상 추정부(530)는 도 1의 단계들(110~130)을 수행하기 위해 구성될 수 있다.
참조 영상 선정부(510)는 깊이 영상을 구하고자 하는 대상 영상에 대하여 카메라간 거리(baseline)와 카메라 주축(principal axis)간 각도에 따라 참조 영상들을 선정한다.
참조 영상 선정부(510)는 대상 영상과 참조 영상들 간의 유효 정보를 포함하는 비용 볼륨으로부터 네트워크를 학습시키기 위해 대상 영상과 짝을 이루는 깊이 영상(ground truth)이 미리 정해진 유효 깊이 범위 내의 값 이상을 갖는 대상 영상을 선정한다. 본 발명의 실시예에 따르면, 선정된 대상 영상에 대하여 각 변화도가 5도 내지 45도 이내에 있고, 카메라 간 거리(baseline)가 미리 정해진 거리 이상인 영상들만을 참조 영상의 후보군으로 선정하며, 선정된 참조 영상 후보군으로부터 대상 영상과의 유사도 점수(view similarity)에 따라 최종 참조 영상을 선정한다.
비용 볼륨 생성부(520)는 선정된 참조 영상들에 대해 OpenCL 기반 GPGPU 전처리 파이프라인을 활용하여 핸드-크래프트 특징 기반의 플랜-스윕(plane-sweep) 비용 볼륨을 구축한다.
비용 볼륨 생성부(520)는 깊이 정보를 취득하려는 대상 영상에 대해 복수의 참조 영상들로부터 인접 화소 간 깊이 정보 일치도(depth consistency)를 증가시키고, 잡음을 감소시키기 위해 각 화소 중심으로 미리 정해진 사각 영역에서 NCC 비용을 계산하여 비용 볼륨을 구축한다.
깊이 영상 추정부(530)는 CNN 기반의 인코더-디코더(encoder-decoder)를 포함하는 비용 볼륨 회귀 네트워크를 통해 구축한 비용 볼륨으로부터 변이도를 추정한다.
도 6은 본 발명의 일 실시예에 따른 참조 영상 선정 결과를 비교하는 도면이다.
도 6(a)는 참조 영상 선정 알고리즘으로 올바른 참조 영상을 선정한 결과이고, 도 6(b)는 단순히 이름 순으로 참조 영상을 나열한 결과이다.
DPSNet, GP-MVS, DeepMVS등 기존 다중 뷰 스테레오 정합 네트워크는 학습 과정에서 참조 영상 선정 과정을 거치지 않고 단순히 주어진 데이터 셋을 이름순으로 정렬하여 대상 영상에 대한 참조 영상을 선정하였다. 도 6은 제안하는 영상 선성 과정을 거쳐서 선택된 참조 영상과 기존 방법들에서 단순 데이터 순으로 선정된 참조 영상을 나타낸다. 도 6의 첫째 줄인 TUM-RGBD 모니터 영상 데이터 셋을 통해 단순히 이름순으로 참조 영상을 선정할 때보다 더 넓은 베이스 라인과 다양한 각도에서 취득된 참조 영상이 선택되는 것을 확인할 수 있다. 또한 도 6의 둘째, 셋째 줄인 MVE 데이터 셋에서는 겹치는 부분이 적은 참조 영상은 선택되지 않는 것을 확인할 수 있다.
제안하는 네트워크는 선행 학습된 모델 없이 [25]에서 제안한 방법으로 가중치를 초기화한 상태에서 학습을 진행하였다. 최적화 알고리즘으로는 Adam optimizer를 기본 매개변수인
Figure 112021024297708-pat00013
=0.9,
Figure 112021024297708-pat00014
=0.999 로 적용하여 PyTorch 프레임워크에서 학습시켰다. 훈련 및 검증 과정에서 깊이 정보를 추론할 대상 영상에 대한 참조 영상은 앞서 소개한 view selection 과정을 거쳐 최소 2장에서 4장까지 선정하여 네트워크를 학습하였다. 빠른 학습을 위해 모든 입력 영상은 기존 640×480 화질에서 480×352 화질로 축소하고 전체 데이터 셋의 평균과 분산으로 정규화(normalization)하였다.
본 발명에서는 K번째 단계의 디코더 단으로부터 추정된 깊이 정보의 역인 변이도
Figure 112021024297708-pat00015
와 그 크기에 따라 스케일링 된 깊이 정보 참값인
Figure 112021024297708-pat00016
간 절대거리의 평균을 식(6)의 손실함수로 계산하여 역전파하였다. 학습 및 검증 과정에서 각 단계의 가중치를 나타내는
Figure 112021024297708-pat00017
는 0.25로 고정하였다.
Figure 112021024297708-pat00018
식(6)
제안하는 방법은 학습 과정에서 OpenCL의 이종 컴퓨팅 기능을 활용하여 총 6개의 CPU 코어에서 배치학습이 가능하도록 하였다. 각 배치(batch)는 대상 영상과 참조 영상으로부터 구축한 비용 볼륨 및 깊이 영상 참 값으로 이루어져 있으며 한 번에 12 배치로 학습하였다. 비용 볼륨구축을 위한 OpenCL 커널 함수의
Figure 112021024297708-pat00019
는 (480, 352)로 설정하였고,
Figure 112021024297708-pat00020
는 (16, 16)으로 설정하여 16배수의 너비 높이에서 최적의 속도로 작동할 수 있도록 하였다. 총 92,182개의 학습 시퀀스에 대해 50 epoch 까지는 학습률(learning rate)을 1e-4로 일관되게 유지하였으며, 50 epoch 이후는 절반으로 줄여서 총 100 epoch 학습하였다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
<참고문헌>
[1] Y. Yao, Z. Luo, S. Li, T. Fang, and L. Quan, "MVSNet: Depth inference for unstructured multi-view stereo," In Proc. of European Conference on Computer Vision, pages 767-783, 2018.
[2] P.-H. Huang, K. Matzen, J. Kopf, N. Ahuja, and J. B. Huang, "DeepMVS: Learning multi-view stereopsis," In Proc. of IEEE Conference on Computer Vison and Pattern Recognition, pages 2821-2830, 2018.
[3] K. Wang and S. Shen, "MVDepthNet: Real-time multiview depth estimation neural network," In Proc. of International Conference on 3D Vision, pages 248-257, 2018.
[4] A. Geiger, P. Lenz, C. Stiller, and R. Urtasun, "Vision meets robotics: The KITTI dataset," The International Journal of Robotics Research, vol. 32, no. 11, pp. 1231-1237, August 2013.
[5] A. X. Chang, T. Funkhouser, L. Guibas, P. Hanrahan, Q. Huang, Z. Li, S. Savarese, M. Savva, S. Song, H. Su, J. Xiao, L. Yi, and F. Yu, "ShapeNet: An information-rich 3d model repository," arXiv preprint arXiv:1512.03012, 2015.
[6] C. B. Choy, D. Xu, J. Gwak, K. Chen, and S. Savarese, "3D-R2N2: A unified approach for single and multi-view 3d object reconstruction," In Proc. of European Conference on Computer Vision, pages 628-644, 2016.
[7] J. L. Schφnberger, E. Zheng, J. M. Frahm, and M. Pollefeys, "Pixelwise view selection for unstructured multi-view stereo," In Proc. of IEEE Conference on Computer Vison and Pattern Recognition, pages 501-518, 2016.
[8] Y. Furukawa and J. Ponce, "Accurate, dense, and robust multiview stereopsis," IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 32, no. 8, pp. 1362-1376, August 2010.
[9] S. Galliani, K. Lasinger, and K. Schindler, "Massively parallel multiview stereopsis by surface normal diffusion" In Proc. of IEEE International Conference on Computer Vision, pages 873-881, 2015.
[10] S. Galliani, K. Lasinger, and K. Schindler, "Gipuma: Massively parallel multi-view stereo reconstruction," Publikationen der Deutschen Gesellschaft fur Photogrammetrie, Fernerkundung und Geoinformation e. V, 25.361-369, 2016.
[11] Y. Yao, Z. Luo, S. Li, T. Shen, T. Fang, and L. Quan, "Recurrent MVSNet for high-resolution multi-view stereo depth inference," In Proc. of IEEE Conference on Computer Vison and Pattern Recognition, pages 5525-5534, 2019.
[12] R. Chen, S. Han, J. Xu, and H. Su, "Point-based multi-view stereo network," In Proc. of IEEE International Conference on Computer Vision, pages 1538-1547, 2019.
[13] Y. Wang, Y. Sun, Z. Liu, S. E. Sarma, M. M. Bronstein, and J. M. Solomon, "Dynamic Graph CNN for learning on point clouds," Acm Trans. on Graphics, vol. 38, no. 5, pp. 1-12, October 2019.
[14] S. Im, H.-G. Jeon, S. Lin, and I. S. Kweon, "DPSNet: End-to-end deep plane sweep stereo," In Proc. of International Conference on Learning Representations, 2019.
[15] P. Krahenbuhl and V. Koltun, "Efficient inference in fully connected crfs with gaussian edge potentials," In Proc. of Advances in Neural Information Processing Systems, pages 109-117, 2011.
[16] Y. Hou, J. Kannala, and A. Solin, "Multi-view stereo by temporal nonparametric fusion," In Proc. of IEEE International Conference on Computer Vision, pages 2651-2660, 2019.
[17] K. He, X. Zhang, S. Ren, and J. Sun, "Spatial pyramid pooling in deep convolutional networks for visual recognition," IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 37, no. 9, pp. 1904-1916, September 2015.
[18] H. Hirschmuller and D. Scharstein, "Evaluation of stereo matching costs on images with radiometric differences," IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 31, no. 9, pp. 1582-1599, September 2008.
[19] B. Ummenhofer, H. Zhou, J. Uhrig, N. Mayer, E. Ilg, A. Dosovitskiy, and T. Brox, "DeMoN: Depth and motion network for learning monocular stereo," In Proc. of IEEE Conference on Computer Vision and Pattern Recognition, pages 5038-5047, 2017.
[20] J. Xiao, A. Owens, and A. Torralba, "SUN3D: A database of big spaces reconstructed using sfm and object labels," In Proc. of IEEE International Conference on Computer Vision, pages 1625-1632, 2013.
[21] J. Sturm, N. Engelhard, F. Endres, W. Burgard, and D. Cremers, "A benchmark for the evaluation of RGB-D SLAM systems," In Proc. of IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 573-580, 2012.
[22] S. Fuhrmann, F. Langguth, and M. Goesele, "MVE-a multi-view reconstruction environment," In Proc. of Eurographics Workshop on Graphics and Cultural Heritage, pages 11-18, 2014.
[23] D. Gallup, J. M. Frahm, P. Mordohai, and M. Pollefeys, "Variable baseline/resolution stereo," In Proc. of IEEE Conference on Computer Vision and Pattern Recognition, pages 1-8, 2008.
[24] E. Zheng, E. Dunn, V. Jojic, and J. M. Frahm, "Patchmatch based joint view selection and depthmap estimation," In Proc. of IEEE Conference on Computer Vision and Pattern Recognition, pages 1510-1517, 2014.
[25] K. He, X. Zhang, S. Ren, and J. Sun, "Delving deep into rectifiers: Surpassing human-level performance on imagenet classification," In Proc. of IEEE Conference on Computer Vision and Pattern Recognition, pages 1026-1034, 2015.
[26] S. Shen, "Accurate multiple view 3D reconstruction using patch-based stereo for large-scale scenes," IEEE Trans. on Image Processing, vol. 22, no. 5, pp. 1901-1914, May 2013.
[27] J. Nickolls, I. Buck, M. Garland, and K. Skadron, "Scalable parallel programming with CUDA," Queue, vol. 6, no. 2, pp. 40-53, April 2008.
[28] S. M. Seitz, B. Curless, J. Diebel, D. Scharstein, and R. Szeliski, "A comparison and evaluation of multiview stereo reconstruction algorithms," In Proc. of IEEE Conference on Computer Vision and Pattern Recognition, vol. 1, pages 519-528, 2006.
[28] A. Ladikos, S. Benhimane, and N. Navab, "Efficient visual hull computation for real-time 3D reconstruction using CUDA," In Proc. of IEEE Conference on Computer Vision and Pattern Recognition, pages 1-8, 2008.
[30] J. Y. Chang, H. Park, I. K. Park, K. M. Lee, and S. U. Lee, "GPU-friendly multiview stereo reconstruction using surfel representation and graph cuts," Computer Vision and Image Understanding, vol. 115, no. 5, pp. 620-634, May 2011.
[31] R. L. Carceroni and K. N. Kutulakos, "Multi-view scene capture by surfel sampling: From video streams to non-rigid 3d motion, shape and reflectance," International Journal of Computer Vision, vol. 49, no. 2, pp. 175-214, January 2002.

Claims (6)

  1. 참조 영상 선정부를 통해 깊이 영상을 구하고자 하는 대상 영상에 대하여 카메라간 거리(baseline)와 카메라 주축(principal axis)간 각도에 따라 참조 영상들을 선정하는 단계;
    선정된 참조 영상들에 대해 비용 볼륨 생성부를 통해 OpenCL 기반 GPGPU 전처리 파이프라인을 활용하여 핸드-크래프트 특징 기반의 플랜-스윕(plane-sweep) 비용 볼륨을 구축하는 단계; 및
    깊이 영상 추정부에서 CNN 기반의 인코더-디코더(encoder-decoder)를 포함하는 비용 볼륨 회귀 네트워크를 통해 구축한 비용 볼륨으로부터 변이도를 추정하는 단계
    를 포함하고,
    선정된 참조 영상들에 대해 비용 볼륨 생성부를 통해 OpenCL 기반 GPGPU 전처리 파이프라인을 활용하여 핸드-크래프트 특징 기반의 플랜-스윕(plane-sweep) 비용 볼륨을 구축하는 단계는,
    깊이 정보를 취득하려는 대상 영상에 대해 복수의 참조 영상들로부터 인접 화소 간 깊이 정보 일치도(depth consistency)를 증가시키고, 잡음을 감소시키기 위해 각 화소 중심으로 미리 정해진 사각 영역에서 NCC 비용을 계산하여 비용 볼륨을 구축하는
    다중 뷰 스테레오 정합 방법.
  2. 제1항에 있어서,
    참조 영상 선정부를 통해 깊이 영상을 구하고자 하는 대상 영상에 대하여 카메라간 거리(baseline)와 카메라 주축(principal axis)간 각도에 따라 참조 영상들을 선정하는 단계는,
    대상 영상과 참조 영상들 간의 유효 정보를 포함하는 비용 볼륨으로부터 네트워크를 학습시키기 위해 대상 영상과 짝을 이루는 깊이 영상(ground truth)이 미리 정해진 유효 깊이 범위 내의 값 이상을 갖는 대상 영상을 선정하고,
    선정된 대상 영상에 대하여 각 변화도가 5도 내지 45도 이내에 있고, 카메라 간 거리(baseline)가 미리 정해진 거리 이상인 영상들만을 참조 영상의 후보군으로 선정하며, 선정된 참조 영상 후보군으로부터 대상 영상과의 유사도 점수(view similarity)에 따라 최종 참조 영상을 선정하는
    다중 뷰 스테레오 정합 방법.
  3. 삭제
  4. 깊이 영상을 구하고자 하는 대상 영상에 대하여 카메라간 거리(baseline)와 카메라 주축(principal axis)간 각도에 따라 참조 영상들을 선정하는 참조 영상 선정부;
    선정된 참조 영상들에 대해 OpenCL 기반 GPGPU 전처리 파이프라인을 활용하여 핸드-크래프트 특징 기반의 플랜-스윕(plane-sweep) 비용 볼륨을 구축하는 비용 볼륨 생성부; 및
    CNN 기반의 인코더-디코더(encoder-decoder)를 포함하는 비용 볼륨 회귀 네트워크를 통해 구축한 비용 볼륨으로부터 변이도를 추정하는 깊이 영상 추정부
    를 포함하고,
    비용 볼륨 생성부는,
    깊이 정보를 취득하려는 대상 영상에 대해 복수의 참조 영상들로부터 인접 화소 간 깊이 정보 일치도(depth consistency)를 증가시키고, 잡음을 감소시키기 위해 각 화소 중심으로 미리 정해진 사각 영역에서 NCC 비용을 계산하여 비용 볼륨을 구축하는
    다중 뷰 스테레오 정합 장치.
  5. 제4항에 있어서,
    참조 영상 선정부는,
    대상 영상과 참조 영상들 간의 유효 정보를 포함하는 비용 볼륨으로부터 네트워크를 학습시키기 위해 대상 영상과 짝을 이루는 깊이 영상(ground truth)이 미리 정해진 유효 깊이 범위 내의 값 이상을 갖는 대상 영상을 선정하고,
    선정된 대상 영상에 대하여 각 변화도가 5도 내지 45도 이내에 있고, 카메라 간 거리(baseline)가 미리 정해진 거리 이상인 영상들만을 참조 영상의 후보군으로 선정하며, 선정된 참조 영상 후보군으로부터 대상 영상과의 유사도 점수(view similarity)에 따라 최종 참조 영상을 선정하는
    다중 뷰 스테레오 정합 장치.
  6. 삭제
KR1020210027342A 2021-03-02 2021-03-02 핸드크래프트 비용 기반의 다중 뷰 스테레오 정합 방법 KR102319237B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210027342A KR102319237B1 (ko) 2021-03-02 2021-03-02 핸드크래프트 비용 기반의 다중 뷰 스테레오 정합 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210027342A KR102319237B1 (ko) 2021-03-02 2021-03-02 핸드크래프트 비용 기반의 다중 뷰 스테레오 정합 방법

Publications (1)

Publication Number Publication Date
KR102319237B1 true KR102319237B1 (ko) 2021-10-29

Family

ID=78231193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210027342A KR102319237B1 (ko) 2021-03-02 2021-03-02 핸드크래프트 비용 기반의 다중 뷰 스테레오 정합 방법

Country Status (1)

Country Link
KR (1) KR102319237B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010113389A1 (ja) * 2009-03-31 2010-10-07 パナソニック株式会社 ステレオ画像処理装置およびステレオ画像処理方法
KR20130070341A (ko) * 2011-12-19 2013-06-27 광주과학기술원 영상의 스테레오 정합 방법 및 장치
JP2019526878A (ja) * 2016-09-12 2019-09-19 ナイアンティック, インコーポレイテッドNiantic,Inc. 統計モデルを用いた画像データからの深度予測

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010113389A1 (ja) * 2009-03-31 2010-10-07 パナソニック株式会社 ステレオ画像処理装置およびステレオ画像処理方法
KR20130070341A (ko) * 2011-12-19 2013-06-27 광주과학기술원 영상의 스테레오 정합 방법 및 장치
JP2019526878A (ja) * 2016-09-12 2019-09-19 ナイアンティック, インコーポレイテッドNiantic,Inc. 統計モデルを用いた画像データからの深度予測

Similar Documents

Publication Publication Date Title
CN108416840B (zh) 一种基于单目相机的三维场景稠密重建方法
Behl et al. Pointflownet: Learning representations for rigid motion estimation from point clouds
CN111814683B (zh) 一种基于语义先验和深度学习特征的鲁棒视觉slam方法
Guerry et al. Snapnet-r: Consistent 3d multi-view semantic labeling for robotics
CN110163974B (zh) 一种基于无向图学习模型的单图像面片重建方法
US20190220992A1 (en) Object pose estimating method and apparatus
Hepp et al. Learn-to-score: Efficient 3d scene exploration by predicting view utility
Panek et al. Meshloc: Mesh-based visual localization
Chen et al. 3d point cloud processing and learning for autonomous driving
US11948310B2 (en) Systems and methods for jointly training a machine-learning-based monocular optical flow, depth, and scene flow estimator
Sun et al. Ssl-net: Point-cloud generation network with self-supervised learning
Phalak et al. Scan2plan: Efficient floorplan generation from 3d scans of indoor scenes
Gao et al. Pose refinement with joint optimization of visual points and lines
CN111709984A (zh) 位姿深度预测方法、视觉里程计方法、装置、设备及介质
Jia et al. Depth measurement based on a convolutional neural network and structured light
Weilharter et al. Atlas-mvsnet: Attention layers for feature extraction and cost volume regularization in multi-view stereo
KR102319237B1 (ko) 핸드크래프트 비용 기반의 다중 뷰 스테레오 정합 방법
Kniaz et al. Deep learning a single photo voxel model prediction from real and synthetic images
Zhang et al. Glorie-slam: Globally optimized rgb-only implicit encoding point cloud slam
Tanner et al. DENSER cities: A system for dense efficient reconstructions of cities
Lin et al. A-SATMVSNet: An attention-aware multi-view stereo matching network based on satellite imagery
Fonder et al. M4Depth: Monocular depth estimation for autonomous vehicles in unseen environments
Li et al. A monocular SLAM system based on ResNet depth estimation
Song et al. Implicit neural refinement based multi-view stereo network with adaptive correlation
Cui et al. 3D reconstruction with spherical cameras

Legal Events

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