KR20230117034A - 깊이 이미지 완성 방법 및 장치 - Google Patents
깊이 이미지 완성 방법 및 장치 Download PDFInfo
- Publication number
- KR20230117034A KR20230117034A KR1020220178638A KR20220178638A KR20230117034A KR 20230117034 A KR20230117034 A KR 20230117034A KR 1020220178638 A KR1020220178638 A KR 1020220178638A KR 20220178638 A KR20220178638 A KR 20220178638A KR 20230117034 A KR20230117034 A KR 20230117034A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- feature
- depth
- depth image
- feature image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 238000013528 artificial neural network Methods 0.000 claims abstract description 113
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 247
- 238000012545 processing Methods 0.000 claims description 30
- 230000004927 fusion Effects 0.000 claims description 27
- 238000012549 training Methods 0.000 claims description 18
- 238000007781 pre-processing Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 description 31
- 230000008569 process Effects 0.000 description 25
- 238000010606 normalization Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 230000004913 activation Effects 0.000 description 12
- 238000007500 overflow downdraw method Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 10
- 239000013598 vector Substances 0.000 description 6
- 238000000280 densification Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011049 filling Methods 0.000 description 3
- 230000001976 improved effect Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000013434 data augmentation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000004185 liver Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
- G06T7/337—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
본 개시는 깊이 이미지 완성 모델을 이용한 깊이 이미지 완성 방법에 관한 것으로, 원본 컬러 이미지와 상기 원본 컬러 이미지에 대응하는 원본 깊이 이미지를 획득하는 단계, 상기 원본 컬러 이미지를 기반으로 상기 제1 심층 신경망을 사용하여 제1 깊이 이미지를 획득하는 단계, 상기 원본 깊이 이미지를 기반으로 상기 제2 심층 신경망을 사용하여 제2 깊이 이미지를 획득하는 단계 및 상기 제1 깊이 이미지와 상기 제2 깊이 이미지를 융합하여 최종 깊이 이미지를 생성하는 단계를 포함할 수 있다.
Description
이하의 일 실시 예들은 이미지 처리 분야에 관한 것으로, 특히 깊이 이미지 완성 방법 및 장치에 관한 것이다.
깊이 복구라고도 하는 깊이 이미지 완성은 물리적 센서에서 생성된 저품질의 깊이 이미지를 복구하는 것을 목표로 한다. 깊이 이미지 완성은 자율 로봇, 자율 주행, 3D 재구성 및 증강 현실 등 분야에서 매우 중요한 기술이다. 또한 깊이 이미지의 품질 또한 현재의 3D 기반 얼굴 인식 기술에 큰 영향을 미친다. 그러나 현재 소비자 수준의 깊이 카메라는 화질이 좋지 않거나 깊이 이미지의 희소(sparse) 또는 깊이 이미지의 홀(hole)의 존재 등과 같은 깊이 값이 누락되는 문제가 존재한다. 이러한 현존 문제에 있어 현재의 깊이 이미지 완성 알고리즘은 크게 두 가지로 분류되는데, 하나는 필터링을 기반으로 하는 전통적인 방법이고, 다른 하나는 회귀 모델을 구축하여 깊이 값을 채우는 딥 러닝 방법이다.
전통적인 방법은 주로 이미지 필터링 및 Markov 랜덤 필드 등을 기반으로 깊이 이미지를 확장 및 채우고, 가장자리 텍스처 등 정보의 도움으로 제한하여 누락 없이 완전한 깊이 이미지를 얻는다. 이러한 방법의 결과는 일반적으로 깊이 텍스처 구조가 혼란스럽고 가장자리가 명확하지 않은 문제가 있다. 동시에 많은 수의 수동 설계 특징이 필요하기 때문에 이러한 방법은 일반적으로 새로운 작업 및 새로운 데이터 세트로 마이그레이션하기 어려우며 이는 기존 방법의 한계이기도 하다.
딥 러닝에 기반의 깊이 이미지 완성 방법은 회귀 모델을 구축하여 원본 깊이 이미지에서 전체 깊이 이미지로의 매핑을 설정한다. RGB 이미지의 정보를 사용할 것인지 여부에 따라, 이러한 방법은 RGB 이미지에 의해 안내되는 깊이 완성과 깊이 이미지에서 직접 회귀하는 깊이 완성의 두 가지 범주로 나눌 수 있다. 깊이 이미지에서 직접 회귀하는 방법은 일반적으로 EDN(Encoder-Decoder Network), GAN(Generic Adversary Network) 등 방법을 사용하여 해당 회귀 모델을 설정한다. 이와 같은 단일 회귀 모델을 설정하는 방법은 컬러 이미지 복구 분야에서 분명한 성과를 거두었지만, 깊이 복구에는 정확한 깊이 정보를 필요로 하므로, 이러한 방법은 단순한 보간이나 인접한 픽셀의 복사로 인해 출력 깊이 이미지가 흐려지고 가장자리가 불분명해지는 문제가 자주 발생한다. RGB-guided 깊이 완성 방법을 이용하여 특징 추출과 특징 융합을 통해 RGB 이미지에 있는 정보를 마이닝하고, 이를 이용하여 깊이 완성 과정을 안내한다. 단일 깊이 이미지에서 직접 회귀하는 방법과 비교하여 RGB 가이드 방법은 일정 수준의 정확도 향상을 달성한다. 그러나 컬러 이미지 정보를 추출하고 두 종류의 이미지 정보를 융합하는 기존의 방법은 너무 단순하여, 생성된 깊이 이미지의 원래 깊이 구조나 텍스처 정보가 파괴되고, 누락된 넓은 영역의 깊이 이미지에 대한 처리 또한 어렵다.
기존 딥 러닝 기반의 방법의 문제점은 주로 다음과 같은 측면이 있다.
1. 더 나은 완성 효과를 얻기 위해 많은 방법이 이미지 특징의 수동 추출을 사용하고 깊이 정보의 중간 표현을 늘린다. 예를 들어, 표면 법선(Surface Normal), 오클루전 에지(Occlusion Boundary) 등은 2단계 네트워크 구조 중 각 단계 네트워크 예측의 어려움을 줄이기 위해 컬러 맵에서 깊이 맵으로의 중간 표현으로 제안되고, 최종적으로 글로벌 최적화 전략을 통해 완성된 깊이 이미지를 얻는다. 또 다른 예를 들어, 독립적인 브랜치 네트워크는 깊이 맵의 중간 특징의 표현을 학습하도록 설계되고, 그런 다음 중간 특징을 RGB 이미지 및 원본 깊이 이미지와 스플라이싱하여 깊이를 예측한다. 해당 유형의 방법의 단점은 깊이 완성의 효과가 수동으로 추출한 특징 또는 중간 표현 생성의 품질과 이러한 특징의 융합 전략에 크게 좌우된다는 것이다. 그 결과 깊이 완성 결과가 고르지 못하고 원하는 효과를 얻기 어렵다.
2. 깊이 이미지 특징과 컬러 이미지 특징을 융합하기 위해 기존의 대부분의 방법은 요소별 추가 또는 채널별 스플라이싱 방법을 채택하여 두 특징을 융합한다. 그러나 네트워크 처리 과정에서 원본 이미지의 부족으로 인해 컨볼루션, 다운 샘플링 등 작업 후에 두 모달의 특징은 다양한 변형 및 변위를 겪게 된다. 이러한 변경으로 인해 컬러 특징과 깊이 특징의 키 포인트 위치가 완전히 일치하지 않게 되고, 따라서 단순한 추가 또는 스플라이싱을 사용하면 컬러 특징과 깊이 특징 사이에 정보 혼동이 발생하여 네트워크가 두 특징의 대응 관계에 있어 효과적으로 학습할 수 없게 된다. 예를 들어, 깊이 특징과 컬러 특징을 스플라이싱한 다음, 간단한 코덱을 사용하여 희소 깊이의 밀도를 높인다. 완성된 깊이 맵은 흐릿하고 에지 손실 또한 크다. 또 다른 예로 피라미드 네트워크를 사용하여 깊이 이미지와 RGB 이미지의 다단계 특징을 추출하고 디코더의 입력 부분에 융합한다. 획득된 깊이 이미지는 텍스처 복원이 적고 구조가 불완전한 문제가 있다.
3. 동적 필터링 및 유도 필터링 기반 방법은 구현 복잡도가 높고 계산량이 많아 구현 과정에서 높은 지연이 발생하게 된다. 이러한 방법은 아직 연구 단계에 있어 실제 현장에 적용하기 어렵다.
본 발명은 깊이 이미지 완성 방법 및 장치를 제공하는 것을 목적으로 한다.
일 실시 예에 따른 제1 심층 신경망과 제2 심층 신경망을 포함하는 깊이 이미지 완성 모델을 이용한 깊이 이미지 완성 방법에 있어서, 원본 컬러 이미지와 상기 원본 컬러 이미지에 대응하는 원본 깊이 이미지를 획득하는 단계; 상기 원본 컬러 이미지를 기반으로 상기 제1 심층 신경망을 사용하여 제1 깊이 이미지를 획득하는 단계; 상기 원본 깊이 이미지를 기반으로 상기 제2 심층 신경망을 사용하여 제2 깊이 이미지를 획득하는 단계; 및 상기 제1 깊이 이미지와 상기 제2 깊이 이미지를 융합하여 최종 깊이 이미지를 생성하는 단계를 포함하고, 상기 제1 심층 신경망은 캐스케이드된 제1 N 계층 잔차 블록을 포함하는 제1 인코더 네트워크; 및 캐스케이드된 제2 N 계층 잔차 블록을 포함하는 제1 디코더 네트워크를 포함하고, 상기 제2 심층 신경망은 캐스케이드된 제3 N 계층 잔차 블록을 포함하는 제2 인코더 네트워크; 및 캐스케이드된 제4 N 계층 잔차 블록을 포함하는 제2 디코더 네트워크를 포함할 수 있다.
이때, 상기 제1 깊이 이미지를 획득하는 단계 및 상기 제2 깊이 이미지를 획득하는 단계는, 상기 제1 N 계층 잔차 블록 각각에서 출력된 제1 부호화 특징 이미지와 상기 제1 N 계층 잔차 블록 각각에 대응하는 상기 제3 N 계층 잔차 블록 각각에서 출력된 제2 부호화 특징 이미지에 대해 채널 셔플을 수행하는 단계; 상기 채널 셔플된 제1 부호화 특징 이미지를 다음 차례의 상기 제1 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제1 N 계층 잔차 블록이 존재하지 않으면 상기 채널 셔플된 제1 부호화 특징 이미지를 상기 제1 인코더 네트워크로 출력하는 단계; 및 상기 채널 셔플된 제2 부호화 특징 이미지를 다음 차례의 상기 제3 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제3 N 계층 잔차 블록이 존재하지 않으면 상기 채널 셔플된 제2 부호화 특징 이미지를 상기 제2 인코더 네트워크로 출력하는 단계를 포함할 수 있다.
이때, 상기 채널 셔플은, 상기 제1 N 계층 잔차 블록 각각에서 출력된 상기 제1 부호화 특징 이미지와 상기 제1 N 계층 잔차 블록 각각에 대응하는 상기 제3 N 계층 잔차 블록 각각에서 출력된 상기 제2 부호화 특징 이미지의 소정 채널 개수의 채널 특징 이미지를 각각 교환할 수 있다.
이때, 상기 제1 심층 신경망은 상기 제2 N 계층 잔차 블록 이전에 제1 확장 컨볼루션부를 더 포함하고, 상기 제2 심층 신경망은 상기 제4 N 계층 잔차 블록 이전에 제2 확장 컨볼루션부를 더 포함하고, 상기 제1 깊이 이미지를 획득하는 단계 및 상기 제2 깊이 이미지를 획득하는 단계는, 상기 제1 인코더 네트워크의 마지막에 위치한 상기 제1 N 계층 잔차 블록에서 출력한 제1 부호화 특징 이미지가 상기 제1 확장 컨볼루션부에 입력되면, 상기 제1 확장 컨볼루션부에서 제1 홀 특징 이미지를 상기 제1 디코더 네트워크의 첫 번째에 위치한 상기 제2 N 계층 잔차 블록에 입력하는 단계; 및 상기 제2 인코더 네트워크의 마지막에 위치한 상기 제3 N 계층 잔차 블록에서 출력한 제2 부호화 특징 이미지가 상기 제2 확장 컨볼루션부에 입력되면, 상기 제2 확장 컨볼루션부에서 제2 홀 특징 이미지를 상기 제2 디코더 네트워크의 첫 번째에 위치한 상기 제4 N 계층 잔차 블록에 입력하는 단계를 포함할 수 있다.
이때, 상기 제2 확장 컨볼루션부에서 제2 홀 특징 이미지를 상기 제2 디코더 네트워크의 첫 번째에 위치한 상기 제4 N 계층 잔차 블록에 입력하는 단계는, 상기 제2 확장 컨볼루션부에서 출력한 상기 제2 홀 특징 이미지를 상기 제2 디코더 네트워크의 첫 번째에 위치한 상기 제4 N 계층 잔차 블록에 입력하기 전에, 상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지를 기반으로, 상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지에 대해 특징 정렬하는 단계; 및 특징 정렬이 처리된 상기 제2 홀 특징 이미지를 상기 제2 디코더 네트워크의 첫 번째에 위치한 상기 제4 N 계층 잔차 블록에 입력하는 단계를 포함할 수 있다.
이때, 상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지에 대해 특징 정렬하는 단계는, 상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지를 스플라이싱하여 제3 스플라이싱 특징 이미지를 획득하는 단계; 상기 제3 스플라이싱 특징 이미지에 기초하여 상기 제1 홀 특징 이미지의 픽셀 위치 오프셋을 획득하는 단계; 상기 제1 홀 특징 이미지의 픽셀 위치 오프셋에 기초하여 상기 제1 홀 특징 이미지의 픽셀 위치를 보정하여 상기 보정된 제1 홀 특징 이미지를 획득하는 단계; 상기 제2 홀 특징 이미지와 상기 보정된 제1 홀 특징 이미지를 스플라이싱하여 제4 스플라이싱 특징 이미지를 획득하는 단계; 및 상기 제4 스플라이싱 특징 이미지에 대해 컨볼루션 처리하여, 상기 특징 정렬 처리된 제2 홀 특징 이미지를 획득하는 단계를 포함할 수 있다.
이때, 상기 제2 깊이 이미지를 획득하는 단계는, 상기 제2 N 계층 잔차 블록 각각에서 출력되는 제1 복호화 특징 이미지와 상기 제2 N 계층 잔차 블록 각각과 대응하는 상기 제4 N 계층 잔차 블록에서 출력되는 제2 복호화 특징 이미지를 기반으로, 상기 제1 복호화 특징 이미지 및 상기 제2 복호화 특징 이미지에 대해 특징 정렬을 수행하는 단계; 및 특징 정렬이 처리된 제2 복호화 특징 이미지를 다음 차례의 상기 제4 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제4 N 계층 잔차 블록이 존재하지 않으면 상기 제2 디코더 네트워크에서 출력하는 단계를 포함할 수 있다.
이때, 상기 제1 복호화 특징 이미지 및 상기 제2 복호화 특징 이미지에 대해 특징 정렬을 수행하는 단계는, 상기 제2 N 계층 잔차 블록 각각에서 출력되는 제1 복호화 특징 이미지와 상기 제2 N 계층 잔차 블록 각각과 대응하는 상기 제4 N 계층 잔차 블록에서 출력되는 제2 복호화 특징 이미지를 스플라이싱하여 제1 스플라이싱 특징 이미지를 획득하는 단계; 상기 제1 스플라이싱 특징 이미지에 기초하여 제1 복호화 특징 이미지의 픽셀 위치 오프셋을 획득하는 단계; 상기 제1 복호화 특징 이미지의 픽셀 위치 오프셋을 기반으로 상기 제1 복호화 특징 이미지의 픽셀 위치를 보정하여 보정된 제1 복호화 특징 이미지를 획득하는 단계; 상기 제2 복호화 특징 이미지와 상기 보정된 제1 복호화 특징 이미지를 스플라이싱하여 제2 스플라이싱 특징 이미지를 획득하는 단계; 및 상기 제2 스플라이싱 특징 이미지에 대해 컨볼루션 처리하여, 상기 특징 정렬 처리된 제2 복호화 특징 이미지를 획득하는 단계를 포함할 수 있다.
이때, 상기 제2 심층 신경망은 SE 블록을 더 포함하고, 상기 특징 정렬이 처리된 제2 복호화 특징 이미지를 다음 차례의 상기 제4 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제4 N 계층 잔차 블록이 존재하지 않으면 상기 제2 디코더 네트워크에서 출력하는 단계는, 상기 특징 정렬이 처리된 제2 복호화 특징 이미지를 다음 차례의 상기 제4 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제4 N 계층 잔차 블록이 존재하지 않으면 상기 제2 디코더 네트워크에서 출력하기 전에, 상기 SE 블록을 통해 상기 특징 정렬이 처리된 제2 복호화 특징 이미지와 상기 제4 N 계층 잔차 블록에 대응하는 상기 제3 N 계층 잔차 블록으로부터 입력된 제2 부호화 특징 이미지를 융합하여 융합된 특징 이미지를 획득하는 단계; 및 상기 융합된 특징 이미지를 다음 차례의 상기 제4 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제4 N 계층 잔차 블록이 존재하지 않으면 상기 제2 디코더 네트워크에서 출력하는 단계를 포함할 수 있다.
이때, 상기 제1 심층 신경망은 제1 전처리부를 더 포함하고, 상기 제2 심층 신경망은 제2 전처리부를 더 포함하고, 상기 제1 깊이 이미지를 획득하는 단계 및 상기 제2 깊이 이미지를 획득하는 단계는, 상기 원본 컬러 이미지를 상기 제1 전처리부에 입력하여 컬러 특징 이미지를 획득하는 단계; 상기 원본 깊이 이미지를 상기 제2 전처리부에 입력하여 깊이 특징 이미지를 획득하는 단계; 및 상기 컬러 특징 이미지와 상기 깊이 특징 이미지에 대해 채널 셔플을 수행하고, 채널 셔플 후의 컬러 특징 이미지를 상기 제1 인코더 네트워크로 입력하고, 채널 셔플 후의 깊이 특징 이미지를 상기 제2 인코더 네트워크로 입력하는 단계를 포함할 수 있다.
이때, 상기 제1 심층 신경망은 제1 깊이 예측부를 더 포함하고, 상기 제2 심층 신경망은 제2 깊이 예측부를 더 포함하고, 상기 제1 깊이 이미지를 획득하는 단계는, 상기 제1 디코더 네트워크에서 출력된 제1 복호화 특징 이미지를 상기 제1 깊이 예측부에 입력하여 상기 제1 깊이 이미지를 획득하는 단계를 포함하고, 상기 제2 깊이 이미지를 획득하는 단계는, 상기 제2 디코더 네트워크에서 출력된 제2 복호화 특징 이미지를 상기 제2 깊이 예측부에 입력하여 상기 제2 깊이 이미지를 획득하는 단계를 포함할 수 있다.
이때, 깊이 이미지 완성 방법은, 상기 깊이 이미지 완성 모델은 어텐션 처리부를 더 포함하고, 상기 제1 깊이 이미지와 상기 제2 깊이 이미지를 융합하여 최종 깊이 이미지를 생성하는 단계는, 상기 어텐션 처리부를 이용하여 상기 제1 깊이 이미지의 제1 픽셀 가중치 맵 및 상기 제2 깊이 이미지의 제2 픽셀 가중치 맵을 획득하는 단계; 및 상기 제1 픽셀 가중치 맵과 상기 제2 픽셀 가중치 맵을 기반으로 상기 제1 깊이 이미지 및 상기 제2 깊이 이미지에 가중치를 부여하고 합산하여 상기 최종 깊이 이미지를 획득하는 단계를 포함할 수 있다.
이때, 상기 제2 인코더 네트워크의 상기 제3 N 계층 잔차 블록과 상기 제2 디코더 네트워크의 상기 제4 N 계층 잔차 블록은, 게이트 컨볼루션을 사용하여 구현될 수 있다.
이때, 깊이 이미지 완성 방법은, 손실 함수를 사용하여 상기 깊이 이미지 완성 모델을 훈련하여 상기 깊이 이미지 완성 모델을 획득하는 단계를 더 포함하고, 상기 손실 함수는 상기 제1 깊이 이미지와 실제 깊이 이미지 간의 제1 평균 제곱 오차 손실, 상기 제2 깊이 이미지와 실제 깊이 이미지 간의 제2 평균 제곱 오차 손실 및 상기 최종 깊이 이미지와 실제 깊이 이미지 간의 제3 평균 제곱 오차 손실을 기반으로 상기 손실 함수를 획득하거나, 또는 상기 제1 평균 제곱 오차 손실, 상기 제2 평균 제곱 오차 손실, 상기 제3 평균 제곱 오차 손실 및 상기 최종 깊이 이미지와 실제 깊이 이미지 간의 구조적 손실을 기반으로 상기 손실 함수를 획득하고, 상기 구조적 손실은 1에서 구조적 유사성을 차감한 값일 수 있다.
이때, 상기 원본 컬러 이미지와 상기 원본 컬러 이미지에 대응하는 상기 원본 깊이 이미지를 획득하는 단계는, 상기 대응하는 원본 깊이 이미지가 존재하지 않는 경우, 픽셀 값이 0인 깊이 이미지를 대응하는 원본 깊이 이미지로 획득하는 단계를 포함할 수 있다.
일 실시 예에 따른 깊이 이미지 완성 장치는, 제1 심층 신경망과 제2 심층 신경망을 포함하는 깊이 이미지 완성 모델을 이용한 깊이 이미지 완성 장치에 있어서, 원본 컬러 이미지와 상기 원본 컬러 이미지에 대응하는 원본 깊이 이미지를 획득하는 이미지 획득부; 상기 원본 컬러 이미지를 기반으로 제1 깊이 이미지를 획득하는 상기 제1 심층 신경망; 상기 원본 깊이 이미지를 기반으로 제2 깊이 이미지를 획득하는 상기 제2 심층 신경망; 및 상기 제1 깊이 이미지와 상기 제2 깊이 이미지를 융합하여 최종 깊이 이미지를 생성하는 융합부를 포함하고, 상기 제1 심층 신경망은, 캐스케이드된 제1 N 계층 잔차 블록을 포함하는 제1 인코더 네트워크; 및 캐스케이드된 제2 N 계층 잔차 블록을 포함하는 제1 디코더 네트워크를 포함하고, 상기 제2 심층 신경망은, 캐스케이드된 제3 N 계층 잔차 블록을 포함하는 제2 인코더 네트워크; 및 캐스케이드된 제4 N 계층 잔차 블록을 포함하는 제2 디코더 네트워크를 포함할 수 있다.
이때, 상기 제1 심층 신경망과 상기 제2 심층 신경망은, 상기 제1 N 계층 잔차 블록 각각에서 출력된 제1 부호화 특징 이미지와 상기 제1 N 계층 잔차 블록 각각에 대응하는 상기 제3 N 계층 잔차 블록 각각에서 출력된 제2 부호화 특징 이미지에 대해 채널 셔플을 수행하고, 상기 채널 셔플된 제1 부호화 특징 이미지를 다음 차례의 상기 제1 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제1 N 계층 잔차 블록이 존재하지 않으면 상기 제1 인코더 네트워크에서 출력하고, 상기 채널 셔플된 제2 부호화 특징 이미지를 다음 차례의 상기 제3 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제3 N 계층 잔차 블록이 존재하지 않으면 상기 제2 인코더 네트워크에서 출력할 수 있다.
이때, 상기 제1 심층 신경망은, 상기 제2 N 계층 잔차 블록 이전에 제1 확장 컨볼루션부를 더 포함하고, 상기 제1 확장 컨볼루션부는, 상기 제1 인코더 네트워크의 마지막에 위치한 상기 제1 N 계층 잔차 블록에서 출력한 제1 부호화 특징 이미지가 입력되면, 제1 홀 특징 이미지를 상기 제1 디코더 네트워크의 첫 번째에 위치한 상기 제2 N 계층 잔차 블록에 입력하고, 상기 제2 심층 신경망은, 상기 제4 N 계층 잔차 블록 이전에 제2 확장 컨볼루션부 및 특징 정렬부를 더 포함하고, 상기 제2 확장 컨볼루션부는, 상기 제2 인코더 네트워크의 마지막에 위치한 상기 제3 N 계층 잔차 블록에서 출력한 제2 부호화 특징 이미지가 입력되면, 제2 홀 특징 이미지를 출력하고, 상기 특징 정렬부는, 상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지를 기반으로, 상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지에 대해 특징 정렬하고, 특징 정렬이 처리된 상기 제2 홀 특징 이미지를 상기 제2 디코더 네트워크의 첫 번째에 위치한 상기 제4 N 계층 잔차 블록에 입력할 수 있다.
이때, 상기 제2 디코더 네트워크는, 상기 제2 N 계층 잔차 블록 각각에서 출력되는 제1 복호화 특징 이미지와 상기 제2 N 계층 잔차 블록 각각과 대응하는 상기 제4 N 계층 잔차 블록에서 출력되는 제2 복호화 특징 이미지를 기반으로, 상기 제1 복호화 특징 이미지 및 상기 제2 복호화 특징 이미지에 대해 특징 정렬을 수행하는 특징 정렬부; 및 특징 정렬이 처리된 제2 복호화 특징 이미지와 상기 제4 N 계층 잔차 블록에 대응하는 상기 제3 N 계층 잔차 블록으로부터 입력된 제2 부호화 특징 이미지를 융합하여 융합된 특징 이미지를 획득하고, 상기 융합된 특징 이미지를 다음 차례의 상기 제4 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제4 N 계층 잔차 블록이 존재하지 않으면 상기 제2 디코더 네트워크에서 출력하는 SE 블록을 더 포함할 수 있다.
이때, 상기 융합부는, 어텐션 처리부를 더 포함하고, 상기 어텐션 처리부를 이용하여 상기 제1 깊이 이미지의 제1 픽셀 가중치 맵 및 상기 제2 깊이 이미지의 제2 픽셀 가중치 맵을 획득하고, 상기 제1 픽셀 가중치 맵과 상기 제2 픽셀 가중치 맵을 기반으로 상기 제1 깊이 이미지 및 상기 제2 깊이 이미지에 가중치를 부여하고 합산하여 상기 최종 깊이 이미지를 획득할 수 있다.
도 1은 일 실시예에 따른 깊이 이미지 완성 모델의 예를 도시한 도면이다.
도 2는 일 실시예에 따른 채널 셔플의 예를 도시한 도면이다.
도 3은 일 실시예에 따른 특징 정렬의 예를 도시한 도면이다.
도 4는 일 실시예에 따른 SE 블록 융합 방법의 예를 도시한 도면이다.
도 5는 일 실시예에 따른 어텐션 메커니즘 기반의 융합 방법을 도시한 도면이.
도 6은 일 실시예에 따른 손실 함수의 예를 도시한 도면이다.
도 7은 일 실시예에 따른 깊이 이미지 완성 방법의 흐름을 도시한 흐름도이다.
도 8은 일 실시예에 따른 깊이 이미지 완성 장치의 구성을 도시한 도면이다.
도 2는 일 실시예에 따른 채널 셔플의 예를 도시한 도면이다.
도 3은 일 실시예에 따른 특징 정렬의 예를 도시한 도면이다.
도 4는 일 실시예에 따른 SE 블록 융합 방법의 예를 도시한 도면이다.
도 5는 일 실시예에 따른 어텐션 메커니즘 기반의 융합 방법을 도시한 도면이.
도 6은 일 실시예에 따른 손실 함수의 예를 도시한 도면이다.
도 7은 일 실시예에 따른 깊이 이미지 완성 방법의 흐름을 도시한 흐름도이다.
도 8은 일 실시예에 따른 깊이 이미지 완성 장치의 구성을 도시한 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
본 개시는 이중 영역 융합 기반의 프로그레시브 장면 깊이 완성 방법을 제공한다. 구체적으로, 해당 방법에서 사용되는 깊이 이미지 완성 모델은 두 개의 브랜치 네트워크, 즉, 컬러 이미지 브랜치 네트워크와 깊이 이미지 브랜치 네트워크를 포함할 수 있다. 컬러 브랜치 네트워크와 깊이 브랜치 네트워크는 각각 원본 컬러 이미지와 원본 깊이 이미지를 사용하여 깊이를 추정하고, 각각 두 개의 깊이 이미지를 얻고, 그런 다음 두 깊이 이미지를 융합하여 최종 완성된 깊이 이미지를 얻는다. 이 과정에서 본 개시는 특징 영역과 이미지 영역에서 각각 컬러 정보와 깊이 정보를 완전 융합하고, RGB 정보와 깊이 정보를 완전 융합하여 깊이 이미지 완성의 품질을 높인다.
구체적으로, 특징 영역의 융합은 채널과 공간의 두 가지 차원으로 나눌 수 있다. 먼저 공간 차원에서 특징 정렬부(Feature Alignment)는 컬러 특징과 깊이 특징을 정렬하고, 깊이 특징을 기반으로 대응하는 컬러 특징의 오프셋(offset)을 생성하고, 생성된 오프셋을 사용하여 변형 가능한 컨볼루션에서 컬러 특징을 보정할 수 있고, 융합 과정에서 특징 변형 또는 오프셋으로 인해 발생하는 키 포인트 정보의 불일치 문제를 줄이고, 이를 통해 네트워크의 다중 모달 융합 능력을 향상시킨다. 또한, 채널 차원에서 먼저 컬러 특징과 깊이 특징의 채널을 채널 셔플(Channel Shuffle) 방법을 통해 스크램블 및 재구성하여 두 특징이 완전히 교환되도록 하여, 다중 모달(modal) 정보의 융합 효과를 촉진한다. 또한, 이미지 영역의 융합은 어텐션 메커니즘을 사용하여 컬러 브랜치 네트워크와 깊이 브랜치 네트워크에서 출력되는 두 개의 깊이 이미지를 융합할 수 있고, 이를 통해 깊이 이미지의 융합 효과를 높이고 깊이 이미지 완성 모델의 성능을 향상시킨다.
또한, 본 개시는 공간 차원에서 또한 확장 컨볼루션(Dilated Convolution)을 통해 네트워크의 수용 필드(Receptive Field)를 확장함으로써 네트워크가 더 멀리 있는 정보를 캡쳐할 수 있으므로, 이를 통해 네트워크의 판단 능력을 향상시킨다. 또한, 본 개시는 채널 차원에서 SE 블록(Squeeze-Excitation Block, SE Block)을 사용하여 어텐션 메커니즘에 의해 이미지 채널에서 채널을 융합함으로써 네트워크가 2개의 모달 특징(modal feature)의 가중치를 적응적으로 학습할 수 있도록 할 수 있으므로, 이를 통해 2개 특징을 더 잘 융합할 수 있다.
또한, 생성된 깊이 이미지가 원래의 깊이 정보를 잘 유지할 수 있도록 네트워크가 이미지의 유효 픽셀과 무효 픽셀을 구분할 수 있도록 하기 위해, 깊이 브랜치 네트워크는 게이트 컨볼루션(Gated-Convolution) 방법을 사용하여 마스크 정보를 전송한다. 여기서, 게이트 컨볼루션의 게이트 작업은 유효 픽셀과 무효 픽셀의 위치를 효과적으로 식별할 수 있고, 유효 픽셀의 가중치는 무효 픽셀의 가중치보다 높다.
또한, 최종 생성된 깊이 이미지의 상세 정보를 풍부하게 하고 에지 품질을 향상시키기 위하여, 본 개시의 깊이 이미지 완성 모델의 훈련은 구조 유사성 SSIM(Structural Similarity Index Measure)과 관련된 구조 손실 모니터링으로 보완될 수 있다.
또한, 본 개시의 깊이 이미지 완성 모델은 중간 특징의 사용을 피하고 중간 특징의 불량 품질의 리스크를 효과적으로 피하면서 종단간 훈련될 수 있다. 또한, 본 개시의 깊이 이미지 완성 모델은 컨볼루션 커널과 필터 커널을 동적으로 조정하는 전략을 피할 수 있으며, 필터 클래스를 동적으로 안내하는 방법보다 동작 속도가 확실히 빠르다. 또한, 본 개시에서 제안하는 깊이 이미지 완성 방법은 LiDAR 및 ToF(Time of Flight)와 같은 3D 센서의 영상 품질을 효과적으로 향상시킬 수 있어, 이러한 3D 센서를 탑재한 장비(자율주행 자동차, 휴대폰 등)가 3D 모델링 및 탐지를 보다 잘 수행할 수 있도록 한다. 이러한 방법은 깊이 홀 필링(hole-filling) 및 희소 깊이(sparse depth) 치밀화 작업 모두에서 좋은 결과를 얻을 수 있다.
이하, 도 1 내지 도 8을 참조하여 본 개시의 일 실시예에 따른 깊이 이미지 완성 방법 및 장치에 대하여 상세히 설명한다.
도 1은 일 실시예에 따른 깊이 이미지 완성 모델의 예를 도시한 도면이다.
도 1을 참조하면, 깊이 이미지 완성 모델(100)은 제1 심층 신경망(즉, 컬러 브랜치 네트워크)(110), 제2 심층 신경망(즉, 깊이 브랜치 네트워크)(120) 및 융합부(130)를 포함할 수 있다.
제1 심층 신경망(110)은 원본 컬러 이미지(예, RGB 이미지)를 기반으로 깊이 추정을 수행하여 깊이 이미지를 획득하는데 사용된다. 따라서, 제1 심층 신경망(110)의 입력은 원본 컬러 이미지(101)가 될 수 있고 출력은 제1 깊이 이미지(119)가 될 수 있다. 제2 심층 신경망(120)은 원본 깊이 이미지를 기반으로 깊이 추정을 수행하여 깊이 이미지를 획득하는데 사용된다. 따라서, 제2 심층 신경망(120)의 입력은 원본 깊이 이미지(102)가 될 수 있고 출력은 제2 깊이 이미지(129)가 될 수 있다. 제1 심층 신경망(110)과 제2 심층 신경망(120)에서는 채널 수준의 특징 융합(예, 채널 셔플 등)과 공간 수준의 특징 융합(예, 특징 정렬 등)의 인터랙티브 작업 수행하고, 이를 통해 컬러 정보와 깊이 정보가 완전히 융합될 수 있도록 하는 것이 필요하다. 융합부(130)은 제1 심층 신경망(110)이 출력한 제1 깊이 이미지(119)와 제2 심층 신경망(120)이 출력한 제2 깊이 이미지(129)를 융합하여 최종 완성된 깊이 이미지인 최종 깊이 이미지(130)를 생성하는데 사용될 수 있다. 여기서 원본 컬러 이미지(101)와 원본 깊이 이미지(102)는 매칭 및 보정된 컬러 카메라와 깊이 카메라로 동일한 위치에서 동일한 장면을 동시에 촬영한 후 획득한 두 이미지를 정합하여 얻거나, 또는 필요에 따라 로컬 메모리 또는 로컬 데이터베이스에서 얻거나, 또는 입력 장치 또는 전송 매체를 통해 외부 데이터 소스(예, 인터넷, 서버, 데이터베이스 등)에서 수신되거나 한다. 원본 컬러 이미지(101)와 원본 깊이 이미지(102)는 서로 대응하는 이미지로, 예를 들어, 센서가 획득한 원본 컬러 이미지(101)와 원본 깊이 이미지(102)는 이미지 정합을 통해 동일한 좌표계에 투영될 수 있으므로 두 이미지 픽셀이 일대일로 대응될 수 있다.
본 개시의 일 실시예에 따르면, 제1 심층 신경망(110)의 주요 구조는 잔차 블록이 적층된 Encoder-Decoder Network로 구성될 수 있다. 잔차 구조는 네트워크의 하위 수준 특징을 상위 수준으로 전송하는 효과를 효과적으로 보장할 수 있으므로, 네트워크는 하위 수준 특징의 텍스처 정보와 구조 정보를 유지할 수 있다. 예를 들어, 제1 심층 신경망(110)은 캐스케이드된 N 계층(예를 들어, 4 계층) 잔차 블록(N-layer residual block)으로 구성된 제1 인코더 네트워크(140) 및 캐스케이드된 N 계층 잔차 블록을 포함하는 제1 디코더 네트워크(150)를 포함할 수 있다. 여기서 N은 1보다 큰 정수이다. 또한, 제1 심층 신경망(110)은 또한 코덱 네트워크(예를 들어, 제1 인코더 네트워크(140) 및 제1 디코더 네트워크(150)) 이전의 제1 전처리부(111)과 코덱 네트워크(예를 들어, 제1 인코더 네트워크(140) 및 제1 디코더 네트워크(150)) 이후의 제1 깊이 예측부(114)을 더 포함할 수 있다. 또한, 제1 심층 신경망(110)은 N 계층 잔차 블록 이전의 제1 확장 컨볼루션부(115)을 더 포함할 수 있다.
제2 심층 신경망(120)의 구조는 기본적으로 제1 심층 신경망(110)과 동일하며, 그 주요 구조 또한 잔차 블록이 적층된 코덱 네트워크로 구성될 수 있다. 예를 들어, 제2 심층 신경망은 캐스케이드된 N 계층 잔차 블록으로 구성된 제2 인코더 네트워크(160) 및 캐스케이드된 N 계층 잔차 블록을 포함하는 제2 디코더 네트워크(170)를 포함할 수 있다. 또한, 제2 심층 신경망(120)도 코덱 네트워크(예를 들어, 제2 인코더 네트워크(160) 및 제2 디코더 네트워크(170)) 이전의 제2 전처리부(121) 및 코덱 네트워크(예를 들어, 제2 인코더 네트워크(160) 및 제2 디코더 네트워크(170)) 이후의 제2 깊이 예측부(124)을 더 포함할 수 있다. 또한, 제2 심층 신경망(120)은 N 계층 잔차 블록 이전의 제2 확장 컨볼루션부(125)을 더 포함할 수 있다. 제2 전처리부(121), 제2 인코더 네트워크(160), 제2 디코더 네트워크(170) 및 제2 깊이 예측부(124)의 각 네트워크는 제1 심층 신경망(110)의 해당 네트워크와 동일한 기능을 수행할 수 있다.
제2 심층 신경망(120)과 제1 심층 신경망(110)의 차이점은 주로 다음과 같다. (1) 제2 심층 신경망(120)은 확장 컨볼루션부(125)과 제2 디코더 네트워크(170)의 각 잔차 블록 후에, 특징 정렬부(180, 181, 182, 183, 184)를 더 포함할 수 있고, 이는 깊이 브랜치 특징을 기준으로 대응하는 컬러 브랜치 특징의 오프셋을 생성하고, 생성된 오프셋을 기반으로 변형 가능한 컨볼루션을 사용하여 컬러 브랜치 특징을 보정하고, 정렬된 컬러 브랜치 특징과 깊이 브랜치 특징을 융합하는데 사용될 수 있다. 또한 특징 정렬부(180, 181, 182, 183, 184) 후에, 융합된 특징을 깊이 브랜치 인코더 네트워크의 대응 계층의 특징과 적응적으로 융합하기 위한 SE 블록(191, 192, 193, 194)도 더 포함할 수 있다. (2) 제2 인코더 네트워크(160) 및 제2 디코더 네트워크(170)의 각 잔차 블록은 모두 게이트 컨볼루션을 채택하고, 즉, 각 컨볼루션 계층 뒤에 게이트(Gate) 작업이 추가될 수 있다.
이하, 제1 심층 신경망(110) 및 제2 심층 신경망(120)에서의 부호화 단계의 동작에 대해 구체적으로 설명한다. 부호화 단계는 전처리 동작 및 부호화 동작을 포함할 수 있다.
제1 전처리부(111)은 입력된 원본 컬러 이미지(101)를 심층 신경망 처리에 적합한 컬러 특징 이미지로 변환하는데 사용될 수 있다. 예를 들어, 제1 전처리부(111)은 적어도 하나의 컨볼루션 계층으로 구성될 수 있다. 제1 전처리부(111)은 크기를 변경하지 않고 원본 컬러 이미지(101)에 대해서만 컨볼루션 처리를 수행할 수 있다. 마찬가지로, 제2 전처리부(121)은 입력된 원본 깊이 이미지(102)를 심층 신경망 처리에 적합한 깊이 특징 이미지로 변환하는데 사용될 수 있다. 예를 들어, 제2 전처리부(121)은 적어도 하나의 컨볼루션 계층으로 구성될 수 있다. 제2 전처리부(121)은 크기를 변경하지 않고 원본 깊이 이미지(102)에 대해서만 컨볼루션 처리를 수행할 수 있다.
제1 인코더 네트워크(140)는 캐스케이드된 N 계층 잔차 블록(여기서, 잔차 블록은 잔차 구조를 갖는 부호화부임)을 통해 컬러 특징 이미지를 특징 부호화할 수 있으며, 여기서 N은 1보다 큰 정수이다. 제1 인코더 네트워크(140)의 각 계층의 부호화부(141, 142, 143, 144)는 캐스케이드된 복수의 잔차 블록(residual block)을 포함할 수 있고, 각 잔차 블록은 입력된 특징 이미지에 대해 적어도 한 번의 컨볼루션 처리를 수행하고, 마지막 잔차 블록은 입력된 특징 이미지에 대해 적어도 한 번의 컨볼루션 처리 및 한 번의 다운 샘플링 처리를 수행할 수 있다. 여기서, 본 개시는 N의 값, 잔차 블록의 수, 잔차 블록이 수행하는 컨볼루션의 횟수를 제한하지 않는다. 도 1에 도시된 바와 같이, 제1 인코더 네트워크(140)는 4개의 부호화부(141, 142, 143, 144)를 포함할 수 있고, 각 부호화부(141, 142, 143, 144)는 2개의 잔차 블록을 포함할 수 있으며, 각 잔차 블록은 2개의 컨볼루션 계층을 포함할 수 있고, 마지막 잔차 블록은 2개의 컨볼루션 계층과 하나의 다운 샘플링 계층(예를 들어, 다운 샘플링 계수는 1/2임)을 포함할 수 있다. 따라서, 제1 인코더 네트워크(140)가 출력하는 특징 이미지의 해상도는 입력된 특징 이미지의 1/16이 될 수 있다. 따라서, 입력된 원본 컬러 이미지(101)의 해상도는 16의 정수배, 예를 들어 304Х224가 될 수 있다. 또한 각 잔차 블록은 정규화 계층(예, 배치 정규화 계층)과 활성화 계층(예, PReLU 계층)을 더 포함할 수 있고, 정규화 계층은 입력된 특징 이미지를 정규화하여 출력된 특징이 동일한 스케일을 갖도록 할 수 있으며, 활성화 계층은 정규화된 특징 이미지를 비선형화할 수 있다.
제2 인코더 네트워크(160)는 잔차 구조를 갖는 캐스케이드된 N 계층 부호화부(161, 162, 163, 164)를 통해 원본 깊이 이미지(102)에 기초하여 특징 부호화를 수행할 수 있으며, 여기서 N은 1보다 큰 정수이다. 제2 인코더 네트워크(160)의 각 계층 부호화부(161, 162, 163, 164)는 캐스케이드된 복수의 잔차 블록을 포함할 수 있고, 각 잔차 블록은 입력된 특징 이미지에 대해 적어도 한 번의 컨볼루션 처리를 수행하고, 마지막 잔차 블록은 입력된 특징 이미지에 대해 적어도 한 번의 컨볼루션 처리 및 한 번의 다운 샘플링 처리를 수행할 수 있다. 여기서, 본 개시는 N의 값, 잔차 블록의 수, 잔차 블록이 수행하는 컨볼루션의 횟수를 제한하지 않는다. 또한, 각 잔차 블록은 각각의 컨볼루션 처리 후에 게이팅 처리를 수행하는데, 이에 대해서는 아래에서 자세히 설명한다. 예를 들어, 제2 인코더 네트워크(160)는 4개의 부호화부(161, 162, 163, 164)를 포함할 수 있고, 각 부호화부(161, 162, 163, 164)는 2개의 잔차 블록을 포함할 수 있으며, 각각의 잔차 블록은 2개의 컨볼루션 계층을 포함할 수 있고, 마지막 잔차 블록은 2개의 컨볼루션 계층 및 하나의 다운 샘플링 계층을 포함할 수 있다(예를 들어, 다운 샘플링 계수는 1/2임). 따라서, 제2 인코더 네트워크(160)가 출력하는 특징 이미지의 해상도는 입력된 특징 이미지의 1/16이 될 수 있다. 따라서, 입력된 원본 컬러 이미지(101)의 해상도는 16의 정수배, 예를 들어 304Х224가 될 수 있다. 또한 각 잔차 블록은 정규화 계층(예, 배치 정규화 계층)과 활성화 계층(예, PReLU 계층)을 더 포함할 수 있고, 정규화 계층은 입력된 특징 이미지를 정규화하여 출력된 특징이 동일한 스케일을 갖도록 할 수 있으며, 활성화 계층은 정규화된 특징 이미지를 비선형화할 수 있다.
본 개시의 일 실시예에 따르면, 컬러 이미지와 깊이 이미지의 특징을 완전하게 융합하고 교환하기 위해, 부호화 네트워크에서 컬러 브랜치 네트워크의 각 계층 특징과 대응하는 깊이 브랜치 네트워크의 특징을 채널 셔플(Channel Shuffle)을 통해 두 모달의 정보를 완전히 융합할 수 있다.
도 2는 일 실시예에 따른 채널 셔플의 예를 도시한 도면이다.
도 2를 참조하면, ,는 각각 컬리 브랜치 특징(예를 들어, 제1 전처리부(111)에서 출력된 특징 이미지 및 제1 인코더 네트워크(140) 중 각 계층 잔차 블록에서 출력된 특징 이미지) 및 깊이 브랜치 특징(예를 들어, 제2 전처리부(121)에서 출력된 특징 이미지 및 제1 인코더 네트워크(160) 중 각 계층 잔차 블록에서 출력된 특징 이미지)을 나타낼 수 있다. 채널 셔플 작업(210)은 특징을 특징의 채널 차원으로 분할하고, 깊이 브랜치와 색상 브랜치의 미리 정해진 특징 채널의 수(예를 들어, 특징 채널 수의 절반)의 특징을 교환하여 새로운 특징, 을 생성할 수 있다. 채널 셔플 작업 후, 두 이미지 영역의 특징 정보는 완전히 교환되고 융합되어 다중 모달 정보의 융합 효과를 효과적으로 촉진할 수 있다. 도 2에서는 와 의 전반 채널의 특징을 혼합하여 를 얻고, 와 의 후반 채널의 특징을 혼합하여 를 얻는 것을 도시하였으나, 본 개시의 채널 셔플은 이제 제한되지 않으며, 및 에 대해 절반 채널 수의 채널 특징 이미지를 무작위로 추출하고 교환하여 및 를 생성할 수 있다.
다시 도 1을 참조하면, 이하, 제1 심층 신경망(110) 및 제2 심층 신경망(120)에서의 복호화 단계의 작업에 대해 상세히 설명한다. 복호화 단계는 확장 컨볼루션 작업, 복호화 작업 및 깊이 예측 작업을 포함할 수 있다.
제1 확장 컨볼루션부(115)은 소정의 계층 수(예를 들어, 1 계층)의 확장 컨볼루션 계층으로 구성될 수 있다. 제1 확장 컨볼루션부(115)은 제1 인코더 네트워크(140)의 마지막 잔차 블록이 출력한 부호화 특징 이미지를 입력받을 수 있다. 또한 제1 확장 컨볼루션부(115)은 제1 인코더 네트워크(140)의 마지막 잔차 블록이 출력한 부호화 특징 이미지를 컨볼루션한 결과 생성된 제1 홀 특징 이미지를 제1 디코더 네트워크(150)의 첫 번째 잔차 블록으로 출력할 수 있다.
마찬가지로, 제2 확장 컨볼루션부(125)은 소정의 계층 수(예를 들어, 1 계층)의 확장 컨볼루션 계층으로 구성될 수 있다. 제2 확장 컨볼루션부(125)은 제2 인코더 네트워크(160)의 마지막 잔차 블록이 출력한 부호화 특징 이미지를 입력받을 수 있다. 제2 확장 컨볼루션부(125)은 제2 인코더 네트워크(160)의 마지막 잔차 블록이 출력한 부호화 특징 이미지를 컨볼루션한 결과 생성된 제2 홀 특징 이미지를 제2 디코더 네트워크(170)의 첫 번째 잔차 블록으로 출력할 수 있다.
한편, 제2 심층 신경망(120)은 제2 확장 컨볼루션부(125) 이후에 특징 정렬부(180)을 포함할 수 있다. 해당 특징 정렬부(180)은 제1 확장 컨볼루션부(115)에서 출력된 제1 홀 특징 이미지와 제2 확장 컨볼루션부(125)에서 출력된 제2 홀 특징 이미지를 기반으로 제1 홀 특징 이미지 및 제2 홀 특징 이미지에 대해 특징 정렬을 수행할 수 있고, 특징 정렬이 처리된 제2 홀 특징 이미지를 제2 디코더 네트워크(170)의 첫 번째 잔차 블록에 입력할 수 있다. 구체적으로, 특징 정렬부(180)은 제1 확장 컨볼루션부(115)에서 출력된 제1 홀 특징 이미지와 제2 확장 컨볼루션부(125)에서 출력된 제2 홀 특징 이미지를 기반으로 제1 홀 특징 이미지를 특징 정렬하고, 제2 홀 특징 이미지와 특징 정렬된 제1 홀 특징 이미지를 융합하고, 융합된 제2 홀 특징 이미지를 제2 디코더 네트워크의 첫 번째 잔차 블록에 입력할 수 있다.
도 3은 일 실시예에 따른 특징 정렬의 예를 도시한 도면이다.
도 3을 참조하면, 먼저 컬러 브랜치 특징 (예를 들어, 제1 홀 특징 이미지)과 깊이 브랜치 특징 (예를 들어, 제2 홀 특징 이미지)을 스플라이싱(301)하고, 오프셋 생성기(302)를 통해 오프셋 그룹θ을 생성할 수 있다. 예를 들어, 3Х3 컨볼루션 커널을 예로 들면, 오프셋은 2차원 공간에서 인접한 8개의 픽셀 좌표의 위치 오프셋을 각각 나타내는 8개의 좌표 세트로 구성될 수 있다. 해당 오프셋은 깊이 브랜치 특징 에 대한 컬러 브랜치 특징의 공간적 위치 차이를 없애기 위해 컬러 브랜치 특징을 공간적으로 보정하기 위한 변형 가능한 컨볼루션(303)에 입력될 수 있다. 보정된 컬러 브랜치 특징 및 깊이 브랜치 특징은 스플라이싱(304) 되고, 컨볼루션을 통해 융합(305)하여 융합된 특징을 생성할 수 있다.
다시 도 1을 참조하면, 제1 디코더 네트워크(150)는 제1 인코더 네트워크(140)가 출력한 특징 이미지를 캐스케이드된 N 계층 잔차 블록(여기서, 잔차 블록은 잔차 구조를 갖는 복호화부임)에 의해 특징 복호화를 수행할 수 있다. 즉, 제1 디코더 네트워크(150)는 동일한 잔차 구조를 샘플링하고, 대응 횟수의 디컨볼루션 작업(업 샘플링과 컨볼루션을 통해 구현함)을 통해 이미지의 해상도를 원래 해상도로 복원할 수 있다.
구체적으로, 제1 디코더 네트워크(150)의 각 계층 복호화부(151, 152, 153, 154)는 캐스케이드된 복수의 잔차 블록을 포함하고, 각 잔차 블록은 입력된 특징 이미지에 대해 적어도 한 번의 컨볼루션 처리를 수행하고, 제1 잔차 블록은 입력된 특징 이미지에 대해 한 번의 업 샘플링 처리 및 적어도 한 번의 컨볼루션 처리를 수행할 수 있다. 여기서, 본 개시는 N의 값 및 잔차 블록의 수에 대해, 잔차 블록이 수행하는 컨볼루션의 횟수를 제한하지 않는다. 예를 들어, 제1 디코더 네트워크(150)는 4개의 대응하는 복호화부(151, 152, 153, 154)를 포함할 수 있다. 그리고, 각각의 복호화부(151, 152, 153, 154)는 2개의 잔차 블록을 포함할 수 있다. 그리고, 각각의 잔차 블록은 2개의 컨볼루션 계층을 포함할 수 있으며, 제1 잔차 블록은 하나의 업 샘플링 계층(예를 들어, 업 샘플링 계수는 2임) 및 2개의 컨볼루션 계층을 포함할 수 있다. 따라서, 제1 디코더 네트워크(150)에서 출력한 특징 이미지의 해상도를 원래의 해상도로 복원할 수 있다. 또한, 각각의 잔차 블록은 정규화 계층(예를 들어, 배치 정규화 계층) 및 활성화 계층(예를 들어, PReLU 계층)을 포함할 수도 있다. 정규화 계층은 입력된 특징 이미지를 정규화하여 출력된 특징이 동일한 스케일을 갖도록 할 수 있으며, 활성화 계층은 정규화된 특징 이미지를 비선형화할 수 있다.
유사하게, 제2 디코더 네트워크(170)의 각 계층 복호화부(171, 172, 173, 174)는 캐스케이드된 복수의 잔차 블록을 포함하고, 각 잔차 블록은 입력된 특징 이미지에 대해 적어도 한 번의 컨볼루션 처리를 수행하고, 제1 잔차 블록은 입력된 특징 이미지에 대해 한 번의 업 샘플링 처리 및 적어도 한 번의 컨볼루션 처리를 수행할 수 있다. 여기서, 본 개시는 N의 값 및 잔차 블록의 수에 대해, 잔차 블록이 수행하는 컨볼루션의 횟수를 제한하지 않는다. 또한, 각 잔차 블록은 각각의 컨볼루션 과정 후에 한 번의 게이팅 과정을 수행하는데, 이에 대해서는 아래에서 자세히 설명한다. 예를 들어, 제1 디코더 네트워크(150)는 4개의 대응하는 복호화부(171, 172, 173, 174)를 포함할 수 있고, 각각의 복호화부는 2개의 잔차 블록을 포함할 수 있다. 그리고, 각각의 잔차 블록은 2개의 컨볼루션 계층을 포함할 수 있으며, 제1 잔차 블록은 하나의 업 샘플링 계층(예를 들어, 업 샘플링 계수는 2임) 및 2개의 컨볼루션 계층을 포함할 수 있다. 따라서, 제1 디코더 네트워크(150)에서 출력한 특징 이미지의 해상도를 원래의 해상도로 복원할 수 있다. 또한, 각각의 잔차 블록은 정규화 계층(예를 들어, 배치 정규화 계층) 및 활성화 계층(예를 들어, PReLU 계층)을 포함할 수도 있다. 정규화 계층은 입력된 특징 이미지를 정규화하여 출력된 특징이 동일한 스케일을 갖도록 할 수 있으며, 활성화 계층은 정규화된 특징 이미지를 비선형화할 수 있다.
또한, 제2 디코더 네트워크(170)의 각 잔차 블록 이후에는 특징 정렬부(181, 182, 183, 184)를 더 포함할 수 있다. 각 계층의 잔차 블록 이후의 특징 정렬부(181, 182, 183, 184)는 제1 디코더 네트워크(150)의 각 계층의 잔차 블록이 출력한 제1 복호화 특징 이미지 및 제2 디코더 네트워크(170) 중 대응 계층 잔차 블록이 출력한 제2 복호화 특징 이미지를 기반으로, 제1 복호화 특징 이미지와 제2 복호화 특징 이미지의 특징을 정렬할 수 있고, 특징 정렬 처리된 제2 복호화 특징 이미지를 다음 구성의 입력으로 제공할 수 있다. 이때, 다음 구성은 제2 디코더 네트워크(170)에 포함된 다음 차례의 잔차 블록이거나 제2 디코더 네트워크(170)에 포함된 다음 차례의 잔차 블록이 존재하지 않으면 제2 디코더 네트워크(170)의 다음에 위치하는 구성일 수 있다.
구체적으로, 특징 정렬부(181, 182, 183, 184)은 각 계층 잔차 블록이 출력한 제1 복호화 특징 이미지와 제2 디코더 네트워크(170)의 대응 계층 잔차 블록이 출력한 제2 복호화 특징 이미지를 기반으로, 제1 복호화 특징 이미지를 특징 정렬하고, 제2 복호화 특징 이미지와 특징 정렬된 제1 복호화 특징 이미지를 융합하여, 융합된 제2 복호화 특징 이미지를 제2 디코더 네트워크(170)의 대응 계층의 다음 구성의 입력으로 제공 수 있다. 특징 정렬부(180)의 예시적 구조는 도 3에 도시된 바와 같을 수 있다.
또한, 제2 디코더 네트워크(170)의 각 잔차 블록 뒤의 특징 정렬부(181, 182, 183, 184) 뒤에 SE 블록(191, 192, 193, 194)을 더 포함할 수 있다. SE 블록(191, 192, 193, 194)은 특징 정렬부(181, 182, 183, 184)에서 출력된 특징 정렬 처리된 제2 복호화 특징 이미지와 제2 인코더 네트워크(160)의 해당 계층 잔차 블록에 입력된 제2 부호화 특징 이미지를 융합하여 융합된 특징 이미지를 얻을 수 있고, 융합된 특징 이미지를 제2 디코더 네트워크(170)의 해당 계층의 다음 구성의 입력으로 제공할 수 있다. 이때, 다음 구성은 제2 디코더 네트워크(170)에 포함된 다음 차례의 잔차 블록이거나 제2 디코더 네트워크(170)에 포함된 다음 차례의 잔차 블록이 존재하지 않으면 제2 디코더 네트워크(170)의 다음에 위치하는 구성일 수 있다.
도 1에 도시된 바와 같이, 예를 들어, 제2 디코더 네트워크(170)의 제1 잔차 블록 이후의 SE 블록(191, 192, 193, 194)은 제1 잔차 블록 이후의 특징 정렬부(181, 182, 183, 184)에서 출력된 특징 정렬 처리된 제2 복호화 특징 이미지와 제2 인코더 네트워크(160)에 입력된 마지막 잔차 블록에 입력된 제2 부호화 특징 이미지를 융합할 수 있다. 이때, 제2 복호화 특징 이미지와 제2 부호화 특징 이미지는 동일한 크기를 갖을 수 있다. 다른 예로, 제2 디코더 네트워크(170)의 제2 잔차 블록 이후의 SE 블록(191, 192, 193, 194)은 제2 잔차 블록 이후의 특징 정렬부(181, 182, 183, 184)에서 출력된 특징 정렬 처리된 제2 복호화 특징 이미지와 제2 인코더 네트워크(160)에 입력된 제3 잔차 블록의 제2 부호화 특징 이미지를 융합할 수 있다. 이때, 제2 복호화 특징 이미지와 제2 부호화 특징 이미지의 크기는 동일할 수 있다.
도 4는 일 실시예에 따른 SE 블록 융합 방법의 예를 도시한 도면이다.
SE 블록(191, 192, 193, 194)의 핵심 아이디어는 예를 들어 C2개 채널 특징을 C1개 채널 특징으로 압축해야 할 때(C2는 C1의 정수배가 될 수 있음), 네트워크를 통해 각 채널의 특징 가중치를 자동으로 학습하고, 효과적인 특징의 가중치는 확대하고 유효하지 않거나 비효율적인 특징의 가중치는 줄여 네트워크가 다른 특징을 선택적으로 사용할 수 있도록 하는 것이다. 제2 심층 신경망(120)에서 SE 블록(191, 192, 193, 194)은 서로 다른 특징의 가중치를 학습하고 학습된 가중치로 특징을 융합하는데 사용될 수 있다.
도 4에 참조하면, SE 블록 융합 방법은 예를 들어, 제2 디코더 네트워크(170)의 각 계층 잔차 블록에 대해, 먼저 잔차 블록 이후에 특징 정렬부(180)에서 출력된 C개 채널의 특징 이미지(복호화 특징(411)) 및 제2 디코더 네트워크(170)에서 입력된 대응 계층 잔차 블록의 C개 채널의 특징 이미지(부호화 특징(412))를 스플라이싱하여 하나의 2C 채널의 특징 벡터(스플라이싱 깊이 이미지(420))를 얻을 수 있다. 그런 다음, SE 블록 융합 방법은 2C 채널의 특징 벡터(스플라이싱 깊이 이미지(420))를 SE 블록(430)을 통해 2C 수량의 가중치 맵(440)을 생성할 수 있다. 그런 다음, SE 블록 융합 방법은 획득한 가중치 맵을 원래 순서대로 채널이 C인 두 개의 가중 벡터(복호화 특징 가중치(제1 가중치 맵(451)), 부호화 특징 가중치(제2 가중치 맵(452)))로 분할할 수 있다. 이때, 각 가중치 범위는 0-1일 수 있다. 그런 다음, SE 블록 융합 방법은 채널별로 곱하는 채널 곱셈 방식(460)으로 원래 두 개의 C 채널의 특징 이미지(복호화 특징(411), 부호화 특징(412))에 가중치(제1 가중치 맵(451), 제2 가중치 맵(452))를 부여하여, 가중치가 부여된 두 개의 C 채널의 특징 이미지(가중치가 적용된 복호화 특징(471), 가중치가 적용된 부호화 특징(472))를 생성할 수 있다. 마지막으로, SE 블록 융합 방법은 합산을 통한 채널 추가 방식(480)을 통해 최종의 단일 C 채널의 특징 이미지(융합된 최종 특징 이미지(490))를 생성하고, 이를 제2 디코더 네트워크(170)의 다음 구성으로 제공할 수 있다.
다시 도 1을 참조하면, 제1 깊이 예측부(114)은 제1 디코더 네트워크(150)에서 출력된 특징 이미지들을 하나의 깊이 이미지(예를 들어, 제1 깊이 이미지(119)로 칭할 수 있음)으로 합성할 수 있다. 원본 컬러 이미지(101)는 제1 전처리부(111), 제1 인코더 네트워크(140), 제1 확장 컨볼루션부(115), 제1 디코더 네트워크(150)의 컨볼루션 처리 이후 C개 채널의 특징 이미지로 변환될 수 있다. 예를 들어, C는 32, 64, 128 등일 수 있다. 따라서, 제1 깊이 예측부(114)은 이 C개 채널의 특징 이미지를 단일 채널의 깊이 이미지로 합성해야 한다. 예를 들어, 제1 깊이 예측부(114)은 2개의 컨볼루션 계층을 포함하여 C개 채널의 특징 이미지를 단일 채널 깊이 이미지로 합성할 수 있고, 첫 번째 컨볼루션 계층은 특징 채널을 원본의 절반, 즉 C/2로 줄일 수 있고, 두 번째 컨볼루션 계층은 C/2개 채널의 특징 이미지를 단일 채널의 깊이 이미지로 압축할 수 있다. 또한, 정규화 계층(예를 들어, 배치 정규화 계층) 및 활성화 계층(예를 들어, PReLU 계층)도 제1 컨볼루션 계층과 제2 컨볼루션 계층 사이에 포함될 수 있다. 정규화 계층은 첫 번째 컨볼루션 계층에서 출력된 특징 이미지를 정규화하여 출력된 특징이 동일한 스케일을 갖도록 할 수 있고, 활성화 계층은 정규화된 특징 이미지를 비선형화하여 두 번째 컨볼루션 계층으로 출력할 수 있다.
마찬가지로, 제2 깊이 예측부(124)은 제2 디코더 네트워크(170)에서 출력된 특징 이미지를 하나의 깊이 이미지(예를 들어, 제2 깊이 이미지(129)로 칭할 수 있음)으로 합성할 수 있다. 원본 깊이 이미지(102)는 제2 전처리부(121), 제2 인코더 네트워크(160), 제2 확장 컨볼루션부(125), 제1 디코더 네트워크(170) 이후 C개 채널의 특징 이미지로 변환될 수 있다. 예를 들어, C는 32, 64, 128 등일 수 있다. 따라서, 제2 깊이 예측부(124)은 이 C개 채널의 특징 이미지를 단일 채널의 깊이 이미지로 합성해야 한다. 예를 들어, 제2 깊이 예측부(124)은 2개의 컨볼루션 계층을 포함하여 C개 채널의 특징 이미지를 단일 채널 깊이 이미지로 합성할 수 있고, 첫 번째 컨볼루션 계층은 특징 채널을 원본의 절반, 즉 C/2로 줄일 수 있고, 두 번째 컨볼루션 계층은 C/2개 채널의 특징 이미지를 단일 채널의 깊이 이미지로 압축할 수 있다. 또한, 정규화 계층(예를 들어, 배치 정규화 계층) 및 활성화 계층(예를 들어, PReLU 계층)도 제1 컨볼루션 계층과 제2 컨볼루션 계층 사이에 포함될 수 있다. 정규화 계층은 첫 번째 컨볼루션 계층에서 출력된 특징 이미지를 정규화하여 출력된 특징이 동일한 스케일을 갖도록 할 수 있고, 활성화 계층은 정규화된 특징 이미지를 비선형화하여 두 번째 컨볼루션 계층으로 출력할 수 있다.
융합부(130)은 제1 심층 신경망(110)에서 출력된 제1 깊이 이미지(119)와 제2 심층 신경망(120)에서 출력된 제2 깊이 이미지(129)를 융합하여 최종 완성된 깊이 이미지(즉, 최종 깊이 이미지(131))을 얻을 수 있다.
본 개시의 일 실시예에 따르면, 융합부(130)은 어텐션 처리부(어텐션 네트워크)로 구현될 수 있다. 물론, 융합부(130)은 또한 가능한 모든 방식으로 구현될 수 있으며, 본 개시는 융합부(130)의 구현 방법에 대해 제한하지 않는다. 이하, 어텐션 처리부를 통해 융합부(130)을 구현하는 방법에 대해 구체적으로 설명한다.
어텐션 처리부는 학습 가능한 네트워크를 통해 입력된 두 개의 깊이 이미지에 대해 두 개의 가중치 맵을 생성하고, 가중치 맵을 원래의 깊이 이미지에 다시 가중치를 곱하고, 가중치가 적용된 깊이 이미지를 합산하여 하나의 최종 깊이 이미지를 얻을 수 있다. 어텐션 처리부는 공간 위치를 모니터링할 수 있다. 즉, 깊이 이미지의 각 픽셀은 모두 해당하는 가중치를 출력할 수 있다. 즉, 출력된 가중치 맵은 깊이 이미지와 동일한 해상도를 갖을 수 있다. 예를 들어 깊이 이미지의 크기는 HХW이고, 가중치 맵의 크기 또한 HХW이다.
도 5는 일 실시예에 따른 어텐션 메커니즘 기반의 융합 방법을 도시한 도면이.
도 5를 참조하면, 어텐션 메커니즘 기반의 융합 방법은 먼저, 제1 깊이 이미지(511)(예를 들어, D1)와 제2 깊이 이미지(512)(예를 들어, D2)를 입력받은 후, 제1 깊이 이미지(511)와 제2 깊이 이미지(512)를 스플라이싱하고, 스플라이싱된 깊이 이미지(520)를 어텐션 처리부(530)에 입력할 수 있다. 어텐션 처리부(530)는 스플라이싱된 깊이 이미지의 각 픽셀의 가중치를 생성하여 대응하는 가중치 맵(540)을 생성할 수 있다. 어텐션 메커니즘 기반의 융합 방법은 획득한 가중치 맵(540)을 원래의 순서대로 제1 깊이 이미지(511)와 제2 깊이 이미지(512)에 각각 대응하는 두 개의 가중치 맵(제1 가중치 맵(551)(예를 들어, W1), 제2 가중치 맵(552)(예를 들어, W2))으로 나눌 수 있다. 어텐션 메커니즘 기반의 융합 방법은 2개의 가중치 맵(551, 552)을 제1 깊이 이미지(511) 및 제2 깊이 이미지(512)에 각각 픽셀별로 곱(560)하여 가중치가 적용된 제1 깊이 이미지(571) 및 가중치가 적용된 제2 깊이 이미지(572)를 얻을 수 있다. 그런 다음 어텐션 메커니즘 기반의 융합 방법은 가중치가 적용된 제1 깊이 이미지(571)와 가중치가 적용된 제2 깊이 이미지(572)를 합산(580)을 이용해서 픽셀별로 추가하여 최종 깊이 이미지(590)(예를 들어, D)를 얻을 수 있다. 도 5의 과정은 아래 <수학식 1>과 같이 표현될 수 있다.
[수학식 1]
이때, D1은 제1 심층 신경망(110)에서 출력된 제1 깊이 이미지를 나타내고, D2는 제2 심층 신경망(120)에서 출력된 제2 깊이 이미지를 나타내고, W1 및 W2는 각각 깊이 맵에 대응하는 가중치를 나타내고, 는 해당 픽셀에 의한 곱셈을 나타낼 수 있다.
다시 도 1을 참조하면, 깊이 이미지 완성 모델(100)은 다음과 같은 장점이 있다. (1) 이중 영역 정보 융합을 기반으로 한 새로운 통합 깊이 이미지 향상 프레임워크를 제안한다. 해당 프레임워크는 가이드 기반의 깊이 이미지 향상의 일반적인 프레임워크로서, 컬러 이미지 가이드뿐만 아니라 IR 이미지 가이드의 깊이 이미지 향상 작업으로도 확장될 수 있다. (2) 원본 컬러 이미지(101)와 원본 깊이 이미지(102)의 특징을 결합한 새로운 다차원 특징 융합 방법인 채널-공간 특징 융합을 제안하며, 채널과 공간의 2차원에서 서로 다른 이미지 영역의 특징을 완전히 융합하고 활용하며 깊이 이미지 완성 알고리즘에서의 컬러 이미지의 가이드 역할을 향상시킬 수 있다. (3) 제안된 방법은 여러 실내 및 실외 장면에서 서로 다른 데이터 세트에 대해 매우 경쟁력 있는 결과를 얻을 수 있다.
이하, 본 발명의 일 실시예에 따른 깊이 이미지 완성 모델(100)의 훈련 방법에 대해 상세히 설명한다.
깊이 이미지 완성 모델(100)의 훈련 방법은 첫째로, 훈련 샘플을 준비해야 한다. 훈련 샘플은 원본 컬러 이미지와 원본 깊이 이미지에 관한 것으로, 여기서 원본 컬러 이미지와 원본 깊이 이미지는 서로 대응될 수 있다. 센서가 획득한 원본 컬러 이미지와 원본 깊이 이미지는 이미지 정합을 통해 동일한 좌표계에 투영될 수 있으므로 두 이미지 픽셀이 일대일로 대응될 수 있다. 훈련 샘플은 다양한 데이터 세트를 통해 얻을 수 있다.
본 개시의 일 실시예에 따르면, 훈련 샘플이 부족한 경우, 랜덤 수평 플립(Random Horizontal Flip), 랜덤 수직 플립(Random Vertical Flip), 컬러 지터(Color Jitter) 등과 같은 일부 데이터 증대 작업을 통해 데이터 확장을 수행할 수 있다. 이러한 작업은 네트워크가 보다 다양한 환경 및 더 많은 장면에서 해당 관계를 학습할 수 있도록 하며, 모델의 견고성 또한 크게 향상될 수 있다.
본 개시의 일 실시예에 따르면, 홀 필링 작업을 위해 훈련 샘플은 복수의 원본 컬러 이미지와 원본 깊이 이미지 쌍을 포함할 수 있다. 여기서 원본 깊이 이미지는 홀이 누락된 깊이 이미지일 수 있다. 희소 깊이 치밀화 작업의 경우 훈련 샘플에는 복수의 원본 컬러 이미지와 희소 깊이 이미지 쌍이 포함될 수 있다. 여기서 희소 깊이 이미지는 희소 깊이 이미지를 포함하는 데이터베이스를 통해 획득될 수도 있고, 깊이 이미지 실측값 또는 밀집 깊이 이미지에 대해 희소 샘플링을 수행하여 획득될 수도 있다. 예를 들어, 원본 깊이 이미지가 누락된 홀이 있는 깊이 이미지인 경우, 원본 깊이 이미지를 채워 깊이 이미지의 실측값을 획득한 다음, 깊이 이미지의 실측값에 대해 희소 샘플링을 수행하여 희소 깊이 이미지를 얻을 수 있다. 또한, 복수의 원본 컬러 이미지 및 원본 깊이 이미지 쌍과 복수의 원본 컬러 이미지 및 희소 깊이 이미지 쌍을 모두 포함하는 훈련 샘플을 통해 깊이 이미지 완성 모델(100)을 훈련하여, 홀 완료 작업 및 희소 깊이 치밀화 작업을 동시에 충족시키는 것도 가능하다.
깊이 이미지 완성 모델(100)의 훈련 방법은 둘째로 손실 함수를 구축해야 한다. 모델 훈련은 손실 함수의 모니터링 하에 Adam 옵티마이저를 사용하여 역전파를 통해 네트워크의 매개변수를 지속적으로 업데이트하여 네트워크가 입력 데이터에 더 잘 맞도록 하고, 이를 통해 예측된 깊이 이미지와 실제 깊이 이미지 사이의 차이를 줄이는 것이다.
본 개시의 일 실시예에 따르면, 예측된 깊이 픽셀과 실제 깊이 이미지의 픽셀 값의 MSE(Mean Square Error)를 손실 함수로 이용하는 것 외에도, 예측 깊이 픽셀과 실제 이미지 깊이의 구조 유사성 지수(SSIM, Structural Similarity Index Measure)를 기반으로 획득한 구조 손실을 손실 함수로 도입하여, 획득한 최종 깊이 이미지의 품질을 향상시키고 네트워크에서 노이즈 및 체스판 효과를 제거하였고, 획득한 최종 깊이 이미지는 풍부한 세부 정보와 높은 에지 품질을 갖을 수 있다.
도 6은 일 실시예에 따른 손실 함수의 예를 도시한 도면이다.
도 6을 참조하면, 원본 컬러 이미지(610)와 제1 깊이 이미지(611) 간의 매핑 관계를 학습할 수 있도록 하기 위해 MSE 손실(MSE1(612))은 컬러 브랜치의 깊이 예측 부분에서 모니터링에 사용될 수 있다. 마찬가지로, 원본 깊이 이미지(620)와 완성된 제2 깊이 이미지(621) 간의 관계를 학습하기 위해 MSE 손실 함수(MSE2(622))은 깊이 브랜치의 깊이 예측 부분에 사용될 수 있다.
최종 깊이를 융합하는 융합부(130)는 MSE와 SSIM을 손실함수(MSE3(631) 및 SSIM(632))로 사용하여 최종 깊이 이미지(630)를 모니터링할 수 있다.
MSE 손실 함수는 아래 <수학식 2>와 같이 표현될 수 있다.
[수학식 2]
이때, N은 이미지의 유효 픽셀 수이고, D는 예측된 깊이 값이고, D*는 실제 깊이 값이다.
SSIM 손실 함수는 아래 <수학식 3>와 같이 표현될 수 있다.
[수학식 3]
이때, SSIM은 구조 유사성 지수이고, x와 y는 각각 예측된 깊이 이미지와 실제 깊이 이미지를 나타낼 수 있다. 그리고, SSIM은 아래 <수학식 4>와 같이 표현될 수 있다.
[수학식 4]
이때, 는 x 이미지의 픽셀 값의 평균값이고, 는 y 이미지의 픽셀 값의 평균 값이고, 는 x 이미지의 픽셀 값의 분산(variance)이고, 는 y 이미지의 픽셀 값의 분산이고, 는 x 및 y 이미지의 픽셀 값의 공분산이고, 및 는 상수이다. 구조 유사성의 범위는 0~1이다.
본 개시의 일 실시예에 따른 손실 함수는 아래 <수학식 5>와 같이 표현될 수 있다.
[수학식 5]
이때, 는 손실 가중치 계수 벡터로, 실제에서의 다양한 손실 함수의 처벌 효과를 나타내고, 예시일 수 있으나 이에 제한되지 않으며, =[0.5, 1.0, 0.25, 0.25]이고, 는 4개의 손실(예: MSE3, SSIM, MSE2, MSE1)로 구성된 손실 벡터이고, 은 최종 깊이 이미지의 평균 제곱 오차 손실을 나타내고, 은 최종 깊이 맵의 구조적 손실을 나타내며, 및 는 각각 깊이 예측 브랜치 및 깊이 추정 브랜치의 평균 제곱 오차 손실을 나타낼 수 있다.
본 개시의 일 실시예에 따르면, 훈련에 사용되는 데이터 세트의 차이에 따라 손실 함수를 다르게 구성할 수 있다. 예를 들어, 희소 이미지를 포함하는 데이터 세트의 경우 구조 유사성 지수를 고려하는 것은 의미가 없으므로, 손실 함수는 아래 <수학식 6>와 같이 표현될 수 있다.
[수학식 6]
이때, 는 예시일 수 있으나 이에 제한되지 않으며, =[1.0,0.5,0.5]이고, 는 3개의 손실(예를 들어, MSE3, MSE2, MSE1)로 구성된 손실 벡터이다.
도 7은 일 실시예에 따른 깊이 이미지 완성 방법의 흐름을 도시한 흐름도이다.
도 7을 참조하면, 깊이 이미지 완성 방법(이하의 설명에서 "본 방법"으로 기재함)은 원본 컬러 이미지(101)와 대응하는 원본 깊이 이미지(102)를 획득할 수 있다(701). 여기서, 원본 컬러 이미지(101)와 원본 깊이 이미지(102)는 매칭 및 보정된 컬러 카메라와 깊이 카메라로 동일한 위치에서 동일한 장면을 동시에 촬영한 후 획득한 두 이미지를 정합하여 얻거나, 또는 필요에 따라 로컬 메모리 또는 로컬 데이터베이스에서 얻거나, 또는 입력 장치 또는 전송 매체를 통해 외부 데이터 소스(예, 인터넷, 서버, 데이터베이스 등)에서 수신될 수 있다. 원본 컬러 이미지(101)와 원본 깊이 이미지(102)는 서로 대응하는 이미지로, 예를 들어, 센서가 획득한 원본 컬러 이미지(101)와 원본 깊이 이미지(102)는 이미지 정합을 통해 동일한 좌표계에 투영될 수 있으므로 두 이미지 픽셀이 일대일로 대응될 수 있다.
본 개시의 일 실시예에 따르면, 본 방법은 대응하는 원본 깊이 이미지(102)가 존재하지 않는 경우, 픽셀 값이 0인 깊이 이미지를 대응하는 원본 깊이 이미지(102)로 획득할 수 있다.
그리고, 본 방법은 단계 702에서, 원본 컬러 이미지(101)를 기반으로 제1 심층 신경망(110)을 이용하여 제1 깊이 이미지(119)를 획득할 수 있다(702).
그리고, 본 방법은 원본 깊이 이미지(102)를 기반으로 제2 심층 신경망(120)을 이용하여 제2 깊이 이미지(129)를 획득할 수 있다(703).
703 단계에서, 본 방법은 제1 디코더 네트워크(150)의 각 계층 잔차 블록이 출력한 제1 복호화 특징 이미지와 제2 디코더 네트워크(170)의 대응 계층 잔차 블록이 출력한 제2 복호화 특징 이미지를 기반으로, 제1 복호화 특징 이미지와 제2 복호화 특징 이미지에 대해 특징 정렬하여, 특징 정렬 처리된 제2 복호화 특징 이미지를 다음 구성의 입력으로 제공할 수 있다. 예를 들어, 본 방법은 제1 디코더 네트워크(150)의 각 계층 잔차 블록에서 출력된 제1 복호화 특징 이미지와 제2 디코더 네트워크(170)의 대응 계층 레이어 잔차 블록에서 출력된 제2 복호화 특징 이미지를 스플라이싱하여 제1 스플라이싱 특징 이미지를 획득하고, 제1 스플라이싱 특징 이미지에 기초하여 제1 복호화 특징 이미지의 픽셀 위치 오프셋을 획득하고, 제1 복호화 특징 이미지의 픽셀 위치 오프셋을 기반으로 제1 복호화 특징 이미지의 픽셀 위치를 보정하여 보정된 제1 복호화 특징 이미지를 획득하고, 제2 복호화 특징 이미지와 상기 보정된 제1 복호화 특징 이미지를 스플라이싱하여 제2 스플라이싱 특징 이미지를 획득하고, 제2 스플라이싱 특징 이미지에 대해 컨볼루션 처리하여, 특징 정렬 처리된 제2 복호화 특징 이미지를 획득할 수 있다.
본 개시의 일 실시예에 따르면, 702 단계 및 703 단계에서, 본 방법은 제1 인코더 네트워크(140)의 각 계층 잔차 블록에서 출력되는 제1 부호화 특징 이미지와 제2 인코더 네트워크(160)의 각 계층 잔차 블록에서 출력되는 제2 부호화 특징 이미지를 채널 셔플할 수 있고, 채널 셔플된 제1 부호화 특징 이미지와 채널 셔플된 제2 부호화 특징 이미지를 각각 제1 인코더 네트워크(140) 및 제2 인코더 네트워크(160)에서 다음 구성의 입력으로 제공할 수 있다. 이때, 본 방법은 각각 제1 인코더 네트워크(140)의 각 계층 잔차 블록에서 출력되는 제1 부호화 특징 이미지와 제2 인코더 네트워크(160)의 각 계층 잔차 블록에서 출력되는 제2 부호화 특징 이미지의 미리 정해진 채널 수(예, 채널 개수의 절반)의 채널 특징 이미지를 채널 셔플을 통해서 교환할 수 있다.
본 개시의 일 실시예에 따르면, 제1 심층 신경망(110) 및 제2 심층 신경망(120)은 제1 디코더 네트워크(140) 및 제2 디코더 네트워크(170) 각각의 N 계층 잔차 블록 이전에 제1 확장 컨볼루션부(115) 및 제2 확장 컨볼루션부(125)을 더 포함할 수 있다.
702 단계 및 703 단계에서, 본 방법은 제1 인코더 네트워크(140)의 마지막 잔차 블록이 출력한 제1 부호화 특징 이미지를 제1 디코더 네트워크(150) 이전에 위치한 제1 확장 컨볼루션부(115)에 입력하고, 제1 확장 컨볼루션부(115)이 출력한 제1 홀 특징 이미지를 제1 디코더 네트워크(150)의 첫 번째 잔차 블록에 입력할 수 있다. 본 방법은 제2 인코더 네트워크(160)의 마지막 잔차 블록이 출력한 제2 부호화 특징 이미지를 제2 디코더 네트워크(170)의 이전에 위치한 제2 확장 컨볼루션부(125)에 입력하고, 제2 확장 컨볼루션부(125)이 출력한 제2 홀 특징 이미지를 제2 디코더 네트워크(170)의 첫 번째 잔차 블록에 입력할 수 있다.
본 개시의 일 실시예에 따르면, 703 단계에서, 본 방법은 제1 홀 특징 이미지와 제2 홀 특징 이미지를 기반으로 제1 홀 특징 이미지와 제2 홀 특징 이미지를 특징 정렬하고, 제2 홀 특징 이미지와 특징 정렬된 제1 홀 특징 이미지와 특징 융합하고, 특징 정렬 처리된 제2 홀 특징 이미지를 제2 디코더 네트워크(170)의 첫 번째 잔차 블록에 입력할 수 있다. 예를 들어, 본 방법은 제1 홀 특징 이미지와 제2 홀 특징 이미지를 스플라이싱하여 제3 스플라이싱 특징 이미지를 획득하고, 제3 스플라이싱 특징 이미지에 기초하여 제1 홀 특징 이미지의 픽셀 위치 오프셋을 획득하고, 제1 홀 특징 이미지의 픽셀 위치 오프셋에 기초하여 제1 홀 특징 이미지의 픽셀 위치를 보정하여 보정된 제1 홀 특징 이미지를 획득하고, 제2 홀 특징 이미지와 보정된 제1 홀 특징 이미지를 스플라이싱하여 제4 스플라이싱 특징 이미지를 획득하고, 제4 스플라이싱 특징 이미지에 대해 컨볼루션 처리하여, 특징 정렬 처리된 제2 홀 특징 이미지를 획득할 수 있다.
본 개시의 일 실시예에 따르면, 제2 심층 신경망(120)은 SE 블록(191, 192, 193, 194)을 더 포함할 수 있다. 703단계에서, 본 방법은 SE 블록(191, 192, 193, 194)을 통해 특징 정렬 처리된 제2복호화 특징 이미지와 제2 인코더 네트워크에서 대응 계층 잔차 블록에 입력된 제2 부호화 특징 이미지를 융합하여 융합된 특징 이미지를 획득할 수 있고, 융합된 특징 이미지를 제2 디코더 네트워크(170)에서 대응 계층의 다음 구성의 입력으로 제공할 수 있다.
본 개시의 일 실시예에 따르면, 제1 심층 신경망(110)은 또한 제1 전처리부(111)과 제1 깊이 예측부(114)을 더 포함하고, 제2 심층 신경망(120)은 또한 제2 전처리부(121)과 제2 깊이 예측부(124)을 더 포함할 수 있다.
702 단계 및 703 단계에서, 본 방법은 원본 컬러 이미지(101)를 제1 전처리부(111)에 입력하여 컬러 특징 이미지를 얻고, 원본 깊이 이미지(102)를 제2 전처리부(121)에 입력하여 깊이 특징 이미지를 획득하고, 컬러 특징 이미지와 깊이 특징 이미지를 채널 셔플하여, 채널 셔플된 컬러 특징 이미지와 채널 셔플된 깊이 특징 이미지를 각각 제1 인코더 네트워크(140)와 제2 인코더 네트워크(150)의 입력으로 제공할 수 있다. 예를 들어, 본 방법은 컬러 특징 이미지와 깊이 특징 이미지의 미리 정해진 채널 수(예를 들어, 채널 수의 절반)의 채널 특징 이미지를 서로 교환할 수 있다.
702 단계 및 703 단계에서, 본 방법은 제1 디코더 네트워크(150)에서 출력된 제1 복호화 특징 이미지를 제1 깊이 예측부(114)에 입력하여 제1 깊이 이미지(119)를 획득할 수 있고, 제2 디코더 네트워크(170)에서 출력된 제2 복호화 특징 이미지를 제2 깊이 예측부(124)에 입력하여 제2 깊이 이미지(129)를 획득할 수 있다.
그리고, 본 방법은 제1 깊이 이미지(119)와 제2 깊이 이미지(129)를 융합하여 최종 깊이 이미지(131)를 획득할 수 있다(704). 여기서, 해당 단계는 상술한 깊이 이미지 완성 모델(100)의 융합부(130)에 의해 수행될 수 있다.
본 개시의 일 실시예에 따르면, 융합부(130)은 어텐션 처리부(예를 들어, 어텐션 네트워크)를 통해 구현될 수 있다. 이런 경우, 어텐션 처리부를 사용하여 제1 깊이 이미지(119)의 제1 픽셀 가중치 맵 및 제2 깊이 이미(129)지의 제2 픽셀 가중치 맵을 얻을 수 있고, 제1 픽셀 가중치 맵과 제2 픽셀 가중치 맵을 기반으로 제1 깊이 이미지(119)와 제2 깊이 이미지(129)에 가중치를 부여하고 합산하여 최종 깊이 이미지(131)를 획득할 수 있다.
본 개시의 일 실시예에 따르면, 제2 인코더 네트워크(160) 및 제2 디코더 네트워크(170)의 잔차 블록은 게이트 컨볼루션을 이용하여 구현될 수 있다.
본 개시의 일 실시예에 따르면, 깊이 이미지 완성 모델(100)은 손실 함수를 이용하여 깊이 이미지 완성 모델(100)을 훈련함으로써 얻어질 수 있다. 이때, 손실 함수는 제1 깊이 이미지와 실제 깊이 이미지 간의 제1 평균 제곱 오차 손실(MSE1), 제2 깊이 이미지와 실제 깊이 이미지 간의 제2 평균 제곱 오차 손실(MSE2) 및 최종 깊이 이미지와 실제 깊이 이미지 간의 제3 평균 제곱 오차 손실(MSE3)을 기반으로 얻어질 수 있다. 예를 들어, 제1 평균 제곱 오차 손실, 제2 평균 제곱 오차 손실 및 제3 평균 제곱 오차 손실로 손실 함수를 구할 수 있다.
본 개시의 일 실시예에 따르면, 손실 함수는 제1 평균 제곱 오차 손실(MSE1), 제2 평균 제곱 오차 손실(MSE2), 제3 평균 제곱 오차 손실(MSE3) 및 최종 깊이 이미지와 실제 깊이 이미지의 구조 손실(SSIM)을 고려하여 손실 함수를 생성할 수 있다. 이때, 구조 손실 = 1-구조 유사성 지수일 수 있다. 예를 들어, 제1 평균 제곱 오차 손실, 제2 평균 제곱 오차 손실, 제3 평균 제곱 오차 손실 및 구조 손실을 가중 합산하여 손실 함수를 얻을 수 있다.
도 8은 일 실시예에 따른 깊이 이미지 완성 장치의 구성을 도시한 도면이다.
도 8을 참조하면, 본 개시의 일 실시예에 따른 깊이 이미지 완성 장치(800)는 이미지 획득부(801) 및 깊이 이미지 완성 모델(100)을 포함할 수 있고, 그중, 깊이 이미지 완성 모델(100)은 제1 심층 신경망(110), 제2 심층 신경망(120) 및 융합부(130)을 포함할 수 있다.
이미지 획득부(801)은 원본 컬러 이미지(101)와 대응하는 원본 깊이 이미지(102)를 획득할 수 있다. 여기서 원본 컬러 이미지(101)와 원본 깊이 이미지(102)는 매칭 및 보정된 컬러 카메라와 깊이 카메라로 동일한 위치에서 동일한 장면을 동시에 촬영한 후 획득한 두 이미지를 정합하여 얻거나, 또는 필요에 따라 로컬 메모리 또는 로컬 데이터베이스에서 얻거나, 또는 입력 장치 또는 전송 매체를 통해 외부 데이터 소스(예, 인터넷, 서버, 데이터베이스 등)에서 수신될 수 있다. 원본 컬러 이미지(101)와 원본 깊이 이미지(102)는 서로 대응하는 이미지일 수 있다. 예를 들어, 센서가 획득한 원본 컬러 이미지(101)와 원본 깊이 이미지(102)는 이미지 정합을 통해 동일한 좌표계에 투영될 수 있으므로 두 이미지 픽셀이 일대일로 대응될 수 있다.
본 개시의 일 실시예에 따르면, 대응하는 원본 깊이 이미지(102)가 존재하지 않는 경우, 이미지 획득부(801)은 픽셀 값이 0인 깊이 이미지를 대응하는 원본 깊이 이미지(102)로 획득할 수 있다.
제1 심층 신경망(110)은 원본 컬러 이미지(101)를 기반으로 제1 심층 신경망(110)을 이용하여 제1 깊이 이미지(119)를 획득할 수 있다. 제2 심층 신경망(110)은 원본 깊이 이미지(102)를 기반으로 제2 심층 신경망(120)을 이용하여 제2 깊이 이미지(129)를 획득할 수 있다. 제2 심층 신경망(110)은 제1 디코더 네트워크(150)의 각 계층 잔차 블록이 출력한 제1 복호화 특징 이미지와 제2 디코더 네트워크(170)의 대응 계층 잔차 블록이 출력한 제2 복호화 특징 이미지를 기반으로, 제1 복호화 특징 이미지와 제2 복호화 특징 이미지에 대해 특징 정렬하여, 특징 정렬 처리된 제2 복호화 특징 이미지를 제2 디코더 네트워크(170)의 다음 구성의 입력으로 제공할 수 있다. 예를 들어, 제2 디코더 네트워크(170)는 제1 디코더 네트워크(150)의 각 계층 잔차 블록에서 출력된 제1 복호화 특징 이미지와 제2 디코더 네트워크(170)의 대응 계층 레이어 잔차 블록에서 출력된 제2 복호화 특징 이미지를 스플라이싱하여 제1 스플라이싱 특징 이미지를 획득하고, 제1 스플라이싱 특징 이미지에 기초하여 제1 복호화 특징 이미지의 픽셀 위치 오프셋을 획득하고, 제1 복호화 특징 이미지의 픽셀 위치 오프셋을 기반으로 제1 복호화 특징 이미지의 픽셀 위치를 보정하여 보정된 제1 복호화 특징 이미지를 획득하고, 제2 복호화 특징 이미지와 보정된 제1 복호화 특징 이미지를 스플라이싱하여 제2 스플라이싱 특징 이미지를 획득하고, 제2 스플라이싱 특징 이미지에 대해 컨볼루션 처리하여, 특징 정렬 처리된 제2 복호화 특징 이미지를 획득할 수 있다.
본 개시의 일 실시예에 따르면, 제1 심층 신경망(110)과 제2 심층 신경망(110)은 제1 인코더 네트워크(140)의 각 계층 잔차 블록에서 출력되는 제1 부호화 특징 이미지와 제2 인코더 네트워크(160)의 각 계층 잔차 블록에서 출력되는 제2 부호화 특징 이미지를 채널 셔플할 수 있고, 채널 셔플된 제1 부호화 특징 이미지와 채널 셔플된 제2 부호화 특징 이미지를 각각 제1 인코더 네트워크(140) 및 제2 인코더 네트워크(160)에서 대응 계층의 다음 구성의 입력으로 취할 수 있다. 예를 들어, 제1 심층 신경망(110)과 제2 심층 신경망(110)은 각각 제1 인코더 네트워크(140)의 각 계층 잔차 블록에서 출력되는 제1 부호화 특징 이미지와 제2 인코더 네트워크(160)의 각 계층 잔차 블록에서 출력되는 제2 부호화 특징 이미지의 미리 정해진 채널 수(예, 채널 개수의 절반)의 채널 특징 이미지를 교환할 수 있다.
본 개시의 일 실시예에 따르면, 제1 심층 신경망(110) 및 제2 심층 신경망(120)은 제1 디코더 네트워크(140) 및 제2 디코더 네트워크(170) 각각에 포함된 N 계층 잔차 블록 이전에 제1 확장 컨볼루션부(115) 및 제2 확장 컨볼루션부(125)을 더 포함할 수 있다.
제1 심층 신경망(110)은 제1 확장 컨볼루션부(115)에 제1 인코더 네트워크(140)의 마지막 잔차 블록이 출력한 제1 부호화 특징 이미지를 입력하고, 제1 확장 컨볼루션부(115)이 출력한 제1 홀 특징 이미지를 제1 디코더 네트워크(150)의 첫 번째 잔차 블록에 입력할 수 있다. 제2 심층 신경망(110)은 제2 인코더 네트워크(160)의 마지막 잔차 블록이 출력한 제2 부호화 특징 이미지를 제2 확장 컨볼루션부(125)에 입력하고, 제2 확장 컨볼루션부(125)이 출력한 제2 홀 특징 이미지를 제2 디코더 네트워크(170)의 첫 번째 잔차 블록에 입력할 수 있다.
본 개시의 일 실시예에 따르면, 제2 심층 신경망(110)은 제1 홀 특징 이미지와 제2 홀 특징 이미지를 기반으로 제1 홀 특징 이미지와 제2 홀 특징 이미지를 특징 정렬하고, 제2 홀 특징 이미지와 특징 정렬된 제1 홀 특징 이미지와 특징 융합하고, 특징 정렬 처리된 제2 홀 특징 이미지를 제2 디코더 네트워크(170)의 첫 번째 잔차 블록에 입력할 수 있다. 예를 들어, 제2 디코더 네트워크(170)는 또한, 제1 홀 특징 이미지와 제2 홀 특징 이미지를 스플라이싱하여 제3 스플라이싱 특징 이미지를 획득하고, 제3 스플라이싱 특징 이미지에 기초하여 제1 홀 특징 이미지의 픽셀 위치 오프셋을 획득하고, 제1 홀 특징 이미지의 픽셀 위치 오프셋에 기초하여 제1 홀 특징 이미지의 픽셀 위치를 보정하여 보정된 제1 홀 특징 이미지를 획득하고, 제2 홀 특징 이미지와 보정된 제1 홀 특징 이미지를 스플라이싱하여 제4 스플라이싱 특징 이미지를 획득하고, 제4 스플라이싱 특징 이미지에 대해 컨볼루션 처리하여, 특징 정렬 처리된 제2 홀 특징 이미지를 획득할 수 있다.
본 개시의 일 실시예에 따르면 제2 심층 신경망(120)은 또한 SE 블록(191, 192, 193, 194)을 더 포함할 수 있다. 제2 심층 신경망(120)은 SE 블록(191, 192, 193, 194)을 통해 상기 특징 정렬 처리된 제2복호화 특징 이미지와 제2인코더 네트워크에서 대응 계층 잔차 블록에 입력된 제2 부호화 특징 이미지를 융합하여 융합된 특징 이미지를 획득할 수 있고, 융합된 특징 이미지를 제2 디코더 네트워크(170)의 다음 구성의 입력으로 제공할 수 있다.
본 개시의 일 실시예에 따르면, 제1 심층 신경망(110)은 또한 제1 전처리부(111)과 제1 깊이 예측부(114)을 더 포함하고, 제2 심층 신경망(120)은 또한 제2 전처리부(121)과 제2 깊이 예측부(124)을 더 포함할 수 있다.
제1 전처리부(111)은 상기 원본 컬러 이미지(101)를 처리하여 컬러 특징 이미지를 획득할 수 있다. 그리고, 제2 전처리부(121)은 상기 원본 깊이 이미지(102)를 처리하여 깊이 특징 이미지를 획득할 있다. 깊이 이미지 완성 모델(100)은 채널 셔플부(미도시)을 더 포함할 수 있고, 채널 셔플부는 상기 컬러 특징 이미지와 상기 깊이 특징 이미지를 채널 셔플하고, 채널 셔플 후의 컬러 특징 이미지와 채널 셔플 후의 깊이 특징 이미지를 각각 제1 인코더 네트워크와 제2 인코더 네트워크의 입력으로 취하도록 구성될 수 있다. 제1 깊이 예측부(114)는 또한, 제1 디코더 네트워크(150)에서 출력된 제1 복호화 특징 이미지를 처리하여 제1 깊이 이미지(119)를 획득할 수 있고, 제2 깊이 예측부(124)는 또한, 제2 디코더 네트워크(170)에서 출력된 제2 복호화 특징 이미지를 처리하여 제2 깊이 이미지를 획득할 수 있다. 융합부(130)는 제1 깊이 이미지(119)와 제2 깊이 이미지(129)를 융합하여 최종 깊이 이미지(131)를 획득할 수 있다.
본 개시의 일 실시예에 따르면, 융합부(130)은 어텐션 처리부(예를 들어, 어텐션 네트워크)를 통해 구현될 수 있다. 이런 경우, 융합부(130)은 어텐션 처리부를 사용하여 제1 깊이 이미지(119)의 제1 픽셀 가중치 맵 및 제2 깊이 이미지(129)의 제2 픽셀 가중치 맵을 얻을 수 있고, 제1 픽셀 가중치 맵과 제2 픽셀 가중치 맵을 기반으로 제1 깊이 이미지(119)와 제2 깊이 이미지(129)에 가중치를 부여하고 합산하여 최종 깊이 이미지(131)를 획득할 수 있다.
본 개시의 일 실시예에 따르면, 제2 인코더 네트워크(160) 및 제2 디코더 네트워크(170)의 잔차 블록은 게이트 컨볼루션을 이용하여 구현될 수 있다.
본 개시의 일 실시예에 따르면, 깊이 이미지 완성 모델(100)은 손실 함수를 이용하여 깊이 이미지 완성 모델을 훈련함으로써 얻어진다. 손실 함수는 제1 깊이 이미지와 실제 깊이 이미지 간의 제1 평균 제곱 오차 손실(MSE1), 제2 깊이 이미지와 실제 깊이 이미지 간의 제2 평균 제곱 오차 손실(MSE2) 및 최종 깊이 이미지와 실제 깊이 이미지 간의 제3 평균 제곱 오차 손실(MSE3)을 기반으로 얻을 수 있다. 예를 들어, 제1 평균 제곱 오차 손실, 제2 평균 제곱 오차 손실 및 제3 평균 제곱 오차 손실로 손실 함수를 구할 수 있다.
본 개시의 일 실시예에 따르면, 제1 평균 제곱 오차 손실(MSE1), 제2 평균 제곱 오차 손실(MSE2), 제3 평균 제곱 오차 손실(MSE3) 및 최종 깊이 이미지와 실제 깊이 이미지의 구조 손실(SSIM)을 고려하여 손실 함수를 생성할 수 있다. 이때, 구조 손실 = 1 - 구조 유사성 지수이다. 예를 들어, 제1 평균 제곱 오차 손실, 제2 평균 제곱 오차 손실, 제3 평균 제곱 오차 손실 및 구조 손실을 가중 합산하여 손실 함수를 얻을 수 있다.
본 개시의 일 실시예에 따르면, 프로세서 및 메모리를 포함하는 컴퓨팅 장치를 제공한다. 여기서, 메모리는 컴퓨터 프로그램을 저장하고, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 때 본 개시의 일 실시예에 따른 깊이 이미지 완성 방법이 구현될 수 있다.
본 개시의 깊이 이미지 완성 방법 및 장치에 따르면, 컬러 브랜치 네트워크와 깊이 브랜치 네트워크를 통해 각각 원본 컬러 이미지와 원본 깊이 이미지에 대해 깊이 추정을 진행하고, 그런 다음 두 브랜치의 깊이 추정 결과를 융합한다. 이 과정에서 특징 영역과 이미지 영역에서 각각 컬러 정보와 깊이 정보가 완전히 융합되고, RGB 정보와 깊이 정보가 완전히 융합되어 깊이 이미지의 완성도가 높아진다. 구체적으로, 특징 영역의 융합은 채널과 공간 두 가지 차원으로 나눌 수 있다. 먼저 공간 차원에서 특징 정렬부(Feature Alignment)는 컬러 특징과 깊이 특징을 정렬하고, 깊이 특징을 기반으로 대응하는 컬러 특징의 오프셋을 생성하고, 생성된 오프셋을 사용하여 변형 가능한 컨볼루션에서 컬러 특징을 보정할 수 있고, 융합 과정에서 특징 변형 또는 오프셋으로 인해 발생하는 키 포인트 정보의 불일치 문제를 줄이고, 이를 통해 네트워크의 다중 모달 융합 능력을 향상시킬 수 있다. 또한, 채널 차원에서 먼저 컬러 특징과 깊이 특징의 채널을 채널 셔플(Channel Shuffle) 방법을 통해 스크램블 및 재구성하여 두 특징이 완전히 교환되도록 하여, 다중 모달 정보의 융합 효과를 효과적으로 촉진할 수 있다. 또한, 이미지 영역의 융합은 어텐션 메커니즘을 사용하여 컬러 브랜치 네트워크와 깊이 브랜치 네트워크에서 출력되는 두 개의 깊이 이미지를 융합할 수 있고, 이를 통해 깊이 이미지의 융합 효과를 높이고 모델의 성능을 향상시킬 수 있다.
또한, 본 개시의 깊이 이미지 완성 방법 및 장치에 따르면, 공간 차원에서 본 개시는 또한 확장 컨볼루션을 통해 네트워크의 수용 필드를 확장함으로써 네트워크가 더 멀리 있는 정보를 캡쳐할 수 있으므로, 이를 통해 네트워크의 판단 능력을 향상시킬 수 있다.
또한, 본 개시의 깊이 이미지 완성 방법 및 장치에 따르면, 채널 차원에서 본 개시는 또한 SE 블록을 사용하여 어텐션 메커니즘에 의해 이미지 채널에서 채널을 융합함으로써 네트워크가 2개의 모달 특징(modal feature)의 가중치를 적응적으로 학습할 수 있도록 할 수 있으므로, 이를 통해 2개 특징을 더 잘 융합할 수 있다.
또한, 본 개시의 깊이 이미지 완성 방법 및 장치에 따르면, 생성된 깊이 이미지가 원래의 깊이 정보를 잘 유지할 수 있도록 네트워크가 이미지의 유효 픽셀과 무효 픽셀을 구분할 수 있도록 하기 위해, 깊이 브랜치 네트워크는 게이트 컨볼루션(Gated-Convolution) 방법을 사용하여 마스크 정보를 전송할 수 있다. 여기서, 게이트 컨볼루션의 게이트 작업은 유효 픽셀과 무효 픽셀의 위치를 효과적으로 식별할 수 있고, 유효 픽셀의 가중치는 무효 픽셀의 가중치보다 높을 수 있다.
또한, 본 개시의 깊이 이미지 완성 방법 및 장치에 따르면, 최종 생성된 깊이 이미지의 상세 정보를 풍부하게 하고 에지 품질을 향상시키기 위하여, 본 개시의 깊이 이미지 완성 모델의 훈련은 구조 유사성 SSIM과 관련된 구조 손실 모니터링으로 보완될 수 있다.
또한, 본 개시의 깊이 이미지 완성 모델은 중간 특징의 사용을 피하고 중간 특징의 불량 품질의 리스크를 효과적으로 피하면서 종단간 훈련될 수 있다. 또한, 본 개시의 깊이 이미지 완성 모델은 컨볼루션 커널과 필터 커널을 동적으로 조정하는 전략을 피할 수 있으며, 필터 클래스를 동적으로 안내하는 방법보다 동작 속도가 확실히 빠르다. 또한, 본 개시에서 제안하는 깊이 이미지 완성 방법은 LiDAR 및 ToF(Time of Flight)와 같은 3D 센서의 영상 품질을 효과적으로 향상시킬 수 있어, 이러한 3D 센서를 탑재한 장비(자율주행 자동차, 휴대폰 등)가 3D 모델링 및 탐지를 보다 잘 수행할 수 있도록 한다. 이러한 방법은 깊이 홀 필링(hole-filling) 및 희소 깊이(sparse depth) 치밀화 작업 모두에서 좋은 결과를 얻을 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
Claims (20)
- 제1 심층 신경망과 제2 심층 신경망을 포함하는 깊이 이미지 완성 모델을 이용한 깊이 이미지 완성 방법에 있어서,
원본 컬러 이미지와 상기 원본 컬러 이미지에 대응하는 원본 깊이 이미지를 획득하는 단계;
상기 원본 컬러 이미지를 기반으로 상기 제1 심층 신경망을 사용하여 제1 깊이 이미지를 획득하는 단계;
상기 원본 깊이 이미지를 기반으로 상기 제2 심층 신경망을 사용하여 제2 깊이 이미지를 획득하는 단계; 및
상기 제1 깊이 이미지와 상기 제2 깊이 이미지를 융합하여 최종 깊이 이미지를 생성하는 단계
를 포함하고,
상기 제1 심층 신경망은,
캐스케이드된 제1 N 계층 잔차 블록을 포함하는 제1 인코더 네트워크; 및
캐스케이드된 제2 N 계층 잔차 블록을 포함하는 제1 디코더 네트워크
를 포함하고,
상기 제2 심층 신경망은,
캐스케이드된 제3 N 계층 잔차 블록을 포함하는 제2 인코더 네트워크; 및
캐스케이드된 제4 N 계층 잔차 블록을 포함하는 제2 디코더 네트워크
를 포함하는 깊이 이미지 완성 방법.
- 제1항에 있어서,
상기 제1 깊이 이미지를 획득하는 단계 및 상기 제2 깊이 이미지를 획득하는 단계는,
상기 제1 N 계층 잔차 블록 각각에서 출력된 제1 부호화 특징 이미지와 상기 제1 N 계층 잔차 블록 각각에 대응하는 상기 제3 N 계층 잔차 블록 각각에서 출력된 제2 부호화 특징 이미지에 대해 채널 셔플을 수행하는 단계;
상기 채널 셔플된 제1 부호화 특징 이미지를 다음 차례의 상기 제1 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제1 N 계층 잔차 블록이 존재하지 않으면 상기 채널 셔플된 제1 부호화 특징 이미지를 상기 제1 인코더 네트워크로 출력하는 단계; 및
상기 채널 셔플된 제2 부호화 특징 이미지를 다음 차례의 상기 제3 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제3 N 계층 잔차 블록이 존재하지 않으면 상기 채널 셔플된 제2 부호화 특징 이미지를 상기 제2 인코더 네트워크로 출력하는 단계
를 포함하는 깊이 이미지 완성 방법.
- 제2항에 있어서,
상기 채널 셔플은,
상기 제1 N 계층 잔차 블록 각각에서 출력된 상기 제1 부호화 특징 이미지와 상기 제1 N 계층 잔차 블록 각각에 대응하는 상기 제3 N 계층 잔차 블록 각각에서 출력된 상기 제2 부호화 특징 이미지의 소정 채널 개수의 채널 특징 이미지를 각각 교환하는
깊이 이미지 완성 방법.
- 제1항에 있어서,
상기 제1 심층 신경망은,
상기 제2 N 계층 잔차 블록 이전에 제1 확장 컨볼루션부를 더 포함하고,
상기 제2 심층 신경망은,
상기 제4 N 계층 잔차 블록 이전에 제2 확장 컨볼루션부를 더 포함하고,
상기 제1 깊이 이미지를 획득하는 단계 및 상기 제2 깊이 이미지를 획득하는 단계는,
상기 제1 인코더 네트워크의 마지막에 위치한 상기 제1 N 계층 잔차 블록에서 출력한 제1 부호화 특징 이미지가 상기 제1 확장 컨볼루션부에 입력되면, 상기 제1 확장 컨볼루션부에서 제1 홀 특징 이미지를 상기 제1 디코더 네트워크의 첫 번째에 위치한 상기 제2 N 계층 잔차 블록에 입력하는 단계; 및
상기 제2 인코더 네트워크의 마지막에 위치한 상기 제3 N 계층 잔차 블록에서 출력한 제2 부호화 특징 이미지가 상기 제2 확장 컨볼루션부에 입력되면, 상기 제2 확장 컨볼루션부에서 제2 홀 특징 이미지를 상기 제2 디코더 네트워크의 첫 번째에 위치한 상기 제4 N 계층 잔차 블록에 입력하는 단계
를 포함하는 깊이 이미지 완성 방법.
- 제4항에 있어서,
상기 제2 확장 컨볼루션부에서 제2 홀 특징 이미지를 상기 제2 디코더 네트워크의 첫 번째에 위치한 상기 제4 N 계층 잔차 블록에 입력하는 단계는,
상기 제2 확장 컨볼루션부에서 출력한 상기 제2 홀 특징 이미지를 상기 제2 디코더 네트워크의 첫 번째에 위치한 상기 제4 N 계층 잔차 블록에 입력하기 전에,
상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지를 기반으로, 상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지에 대해 특징 정렬하는 단계; 및
특징 정렬이 처리된 상기 제2 홀 특징 이미지를 상기 제2 디코더 네트워크의 첫 번째에 위치한 상기 제4 N 계층 잔차 블록에 입력하는 단계
를 포함하는 깊이 이미지 완성 방법.
- 제5항에 있어서,
상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지에 대해 특징 정렬하는 단계는,
상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지를 스플라이싱하여 제3 스플라이싱 특징 이미지를 획득하는 단계;
상기 제3 스플라이싱 특징 이미지에 기초하여 상기 제1 홀 특징 이미지의 픽셀 위치 오프셋을 획득하는 단계;
상기 제1 홀 특징 이미지의 픽셀 위치 오프셋에 기초하여 상기 제1 홀 특징 이미지의 픽셀 위치를 보정하여 상기 보정된 제1 홀 특징 이미지를 획득하는 단계;
상기 제2 홀 특징 이미지와 상기 보정된 제1 홀 특징 이미지를 스플라이싱하여 제4 스플라이싱 특징 이미지를 획득하는 단계; 및
상기 제4 스플라이싱 특징 이미지에 대해 컨볼루션 처리하여, 상기 특징 정렬 처리된 제2 홀 특징 이미지를 획득하는 단계
를 포함하는 깊이 이미지 완성 방법.
- 제1항에 있어서,
상기 제2 깊이 이미지를 획득하는 단계는,
상기 제2 N 계층 잔차 블록 각각에서 출력되는 제1 복호화 특징 이미지와 상기 제2 N 계층 잔차 블록 각각과 대응하는 상기 제4 N 계층 잔차 블록에서 출력되는 제2 복호화 특징 이미지를 기반으로, 상기 제1 복호화 특징 이미지 및 상기 제2 복호화 특징 이미지에 대해 특징 정렬을 수행하는 단계; 및
특징 정렬이 처리된 제2 복호화 특징 이미지를 다음 차례의 상기 제4 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제4 N 계층 잔차 블록이 존재하지 않으면 상기 제2 디코더 네트워크에서 출력하는 단계
를 포함하는 깊이 이미지 완성 방법.
- 제7항에 있어서,
상기 제1 복호화 특징 이미지 및 상기 제2 복호화 특징 이미지에 대해 특징 정렬을 수행하는 단계는,
상기 제2 N 계층 잔차 블록 각각에서 출력되는 제1 복호화 특징 이미지와 상기 제2 N 계층 잔차 블록 각각과 대응하는 상기 제4 N 계층 잔차 블록에서 출력되는 제2 복호화 특징 이미지를 스플라이싱하여 제1 스플라이싱 특징 이미지를 획득하는 단계;
상기 제1 스플라이싱 특징 이미지에 기초하여 제1 복호화 특징 이미지의 픽셀 위치 오프셋을 획득하는 단계;
상기 제1 복호화 특징 이미지의 픽셀 위치 오프셋을 기반으로 상기 제1 복호화 특징 이미지의 픽셀 위치를 보정하여 보정된 제1 복호화 특징 이미지를 획득하는 단계;
상기 제2 복호화 특징 이미지와 상기 보정된 제1 복호화 특징 이미지를 스플라이싱하여 제2 스플라이싱 특징 이미지를 획득하는 단계; 및
상기 제2 스플라이싱 특징 이미지에 대해 컨볼루션 처리하여, 상기 특징 정렬 처리된 제2 복호화 특징 이미지를 획득하는 단계
를 포함하는 깊이 이미지 완성 방법.
- 제7항에 있어서,
상기 제2 심층 신경망은 SE 블록을 더 포함하고,
상기 특징 정렬이 처리된 제2 복호화 특징 이미지를 다음 차례의 상기 제4 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제4 N 계층 잔차 블록이 존재하지 않으면 상기 제2 디코더 네트워크에서 출력하는 단계는,
상기 특징 정렬이 처리된 제2 복호화 특징 이미지를 다음 차례의 상기 제4 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제4 N 계층 잔차 블록이 존재하지 않으면 상기 제2 디코더 네트워크에서 출력하기 전에,
상기 SE 블록을 통해 상기 특징 정렬이 처리된 제2 복호화 특징 이미지와 상기 제4 N 계층 잔차 블록에 대응하는 상기 제3 N 계층 잔차 블록으로부터 입력된 제2 부호화 특징 이미지를 융합하여 융합된 특징 이미지를 획득하는 단계; 및
상기 융합된 특징 이미지를 다음 차례의 상기 제4 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제4 N 계층 잔차 블록이 존재하지 않으면 상기 제2 디코더 네트워크에서 출력하는 단계
를 포함하는 깊이 이미지 완성 방법.
- 제1항에 있어서,
상기 제1 심층 신경망은 제1 전처리부를 더 포함하고,
상기 제2 심층 신경망은 제2 전처리부를 더 포함하고,
상기 제1 깊이 이미지를 획득하는 단계 및 상기 제2 깊이 이미지를 획득하는 단계는,
상기 원본 컬러 이미지를 상기 제1 전처리부에 입력하여 컬러 특징 이미지를 획득하는 단계;
상기 원본 깊이 이미지를 상기 제2 전처리부에 입력하여 깊이 특징 이미지를 획득하는 단계; 및
상기 컬러 특징 이미지와 상기 깊이 특징 이미지에 대해 채널 셔플을 수행하고, 채널 셔플 후의 컬러 특징 이미지를 상기 제1 인코더 네트워크로 입력하고, 채널 셔플 후의 깊이 특징 이미지를 상기 제2 인코더 네트워크로 입력하는 단계
를 포함하는 깊이 이미지 완성 방법.
- 제1항에 있어서,
상기 제1 심층 신경망은 제1 깊이 예측부를 더 포함하고,
상기 제2 심층 신경망은 제2 깊이 예측부를 더 포함하고,
상기 제1 깊이 이미지를 획득하는 단계는,
상기 제1 디코더 네트워크에서 출력된 제1 복호화 특징 이미지를 상기 제1 깊이 예측부에 입력하여 상기 제1 깊이 이미지를 획득하는 단계;
를 포함하고,
상기 제2 깊이 이미지를 획득하는 단계는,
상기 제2 디코더 네트워크에서 출력된 제2 복호화 특징 이미지를 상기 제2 깊이 예측부에 입력하여 상기 제2 깊이 이미지를 획득하는 단계
를 포함하는 깊이 이미지 완성 방법.
- 제1항에 있어서,
상기 깊이 이미지 완성 모델은 어텐션 처리부를 더 포함하고,
상기 제1 깊이 이미지와 상기 제2 깊이 이미지를 융합하여 최종 깊이 이미지를 생성하는 단계는,
상기 어텐션 처리부를 이용하여 상기 제1 깊이 이미지의 제1 픽셀 가중치 맵 및 상기 제2 깊이 이미지의 제2 픽셀 가중치 맵을 획득하는 단계; 및
상기 제1 픽셀 가중치 맵과 상기 제2 픽셀 가중치 맵을 기반으로 상기 제1 깊이 이미지 및 상기 제2 깊이 이미지에 가중치를 부여하고 합산하여 상기 최종 깊이 이미지를 획득하는 단계
를 포함하는 깊이 이미지 완성 방법.
- 제1항에 있어서,
상기 제2 인코더 네트워크의 상기 제3 N 계층 잔차 블록과 상기 제2 디코더 네트워크의 상기 제4 N 계층 잔차 블록은,
게이트 컨볼루션을 사용하여 구현되는
깊이 이미지 완성 방법.
- 제1항에 있어서,
손실 함수를 사용하여 상기 깊이 이미지 완성 모델을 훈련하여 상기 깊이 이미지 완성 모델을 획득하는 단계
를 더 포함하고,
상기 손실 함수는,
상기 제1 깊이 이미지와 실제 깊이 이미지 간의 제1 평균 제곱 오차 손실, 상기 제2 깊이 이미지와 실제 깊이 이미지 간의 제2 평균 제곱 오차 손실 및 상기 최종 깊이 이미지와 실제 깊이 이미지 간의 제3 평균 제곱 오차 손실을 기반으로 상기 손실 함수를 획득하거나, 또는
상기 제1 평균 제곱 오차 손실, 상기 제2 평균 제곱 오차 손실, 상기 제3 평균 제곱 오차 손실 및 상기 최종 깊이 이미지와 실제 깊이 이미지 간의 구조적 손실을 기반으로 상기 손실 함수를 획득하고,
상기 구조적 손실은,
1에서 구조적 유사성을 차감한 값인
깊이 이미지 완성 방법.
- 제1항에 있어서,
상기 원본 컬러 이미지와 상기 원본 컬러 이미지에 대응하는 상기 원본 깊이 이미지를 획득하는 단계는,
상기 대응하는 원본 깊이 이미지가 존재하지 않는 경우, 픽셀 값이 0인 깊이 이미지를 대응하는 원본 깊이 이미지로 획득하는 단계
를 포함하는 깊이 이미지 완성 방법.
- 제1 심층 신경망과 제2 심층 신경망을 포함하는 깊이 이미지 완성 모델을 이용한 깊이 이미지 완성 장치에 있어서,
원본 컬러 이미지와 상기 원본 컬러 이미지에 대응하는 원본 깊이 이미지를 획득하는 이미지 획득부;
상기 원본 컬러 이미지를 기반으로 제1 깊이 이미지를 획득하는 상기 제1 심층 신경망;
상기 원본 깊이 이미지를 기반으로 제2 깊이 이미지를 획득하는 상기 제2 심층 신경망; 및
상기 제1 깊이 이미지와 상기 제2 깊이 이미지를 융합하여 최종 깊이 이미지를 생성하는 융합부
를 포함하고,
상기 제1 심층 신경망은,
캐스케이드된 제1 N 계층 잔차 블록을 포함하는 제1 인코더 네트워크; 및
캐스케이드된 제2 N 계층 잔차 블록을 포함하는 제1 디코더 네트워크
를 포함하고,
상기 제2 심층 신경망은,
캐스케이드된 제3 N 계층 잔차 블록을 포함하는 제2 인코더 네트워크; 및
캐스케이드된 제4 N 계층 잔차 블록을 포함하는 제2 디코더 네트워크
를 포함하는 깊이 이미지 완성 장치.
- 제16항에 있어서,
상기 제1 심층 신경망과 상기 제2 심층 신경망은,
상기 제1 N 계층 잔차 블록 각각에서 출력된 제1 부호화 특징 이미지와 상기 제1 N 계층 잔차 블록 각각에 대응하는 상기 제3 N 계층 잔차 블록 각각에서 출력된 제2 부호화 특징 이미지에 대해 채널 셔플을 수행하고,
상기 채널 셔플된 제1 부호화 특징 이미지를 다음 차례의 상기 제1 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제1 N 계층 잔차 블록이 존재하지 않으면 상기 제1 인코더 네트워크에서 출력하고,
상기 채널 셔플된 제2 부호화 특징 이미지를 다음 차례의 상기 제3 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제3 N 계층 잔차 블록이 존재하지 않으면 상기 제2 인코더 네트워크에서 출력하는
깊이 이미지 완성 장치.
- 제16항에 있어서,
상기 제1 심층 신경망은,
상기 제2 N 계층 잔차 블록 이전에 제1 확장 컨볼루션부를 더 포함하고,
상기 제1 확장 컨볼루션부는,
상기 제1 인코더 네트워크의 마지막에 위치한 상기 제1 N 계층 잔차 블록에서 출력한 제1 부호화 특징 이미지가 입력되면, 제1 홀 특징 이미지를 상기 제1 디코더 네트워크의 첫 번째에 위치한 상기 제2 N 계층 잔차 블록에 입력하고,
상기 제2 심층 신경망은,
상기 제4 N 계층 잔차 블록 이전에 제2 확장 컨볼루션부 및 특징 정렬부를 더 포함하고,
상기 제2 확장 컨볼루션부는,
상기 제2 인코더 네트워크의 마지막에 위치한 상기 제3 N 계층 잔차 블록에서 출력한 제2 부호화 특징 이미지가 입력되면, 제2 홀 특징 이미지를 출력하고,
상기 특징 정렬부는,
상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지를 기반으로, 상기 제1 홀 특징 이미지와 상기 제2 홀 특징 이미지에 대해 특징 정렬하고, 특징 정렬이 처리된 상기 제2 홀 특징 이미지를 상기 제2 디코더 네트워크의 첫 번째에 위치한 상기 제4 N 계층 잔차 블록에 입력하는
깊이 이미지 완성 장치.
- 제16항에 있어서,
상기 제2 디코더 네트워크는,
상기 제2 N 계층 잔차 블록 각각에서 출력되는 제1 복호화 특징 이미지와 상기 제2 N 계층 잔차 블록 각각과 대응하는 상기 제4 N 계층 잔차 블록에서 출력되는 제2 복호화 특징 이미지를 기반으로, 상기 제1 복호화 특징 이미지 및 상기 제2 복호화 특징 이미지에 대해 특징 정렬을 수행하는 특징 정렬부; 및
특징 정렬이 처리된 제2 복호화 특징 이미지와 상기 제4 N 계층 잔차 블록에 대응하는 상기 제3 N 계층 잔차 블록으로부터 입력된 제2 부호화 특징 이미지를 융합하여 융합된 특징 이미지를 획득하고, 상기 융합된 특징 이미지를 다음 차례의 상기 제4 N 계층 잔차 블록으로 제공하거나, 상기 다음 차례의 상기 제4 N 계층 잔차 블록이 존재하지 않으면 상기 제2 디코더 네트워크에서 출력하는 SE 블록
을 더 포함하는 깊이 이미지 완성 장치.
- 제16항에 있어서,
상기 융합부는,
어텐션 처리부를 더 포함하고,
상기 어텐션 처리부를 이용하여 상기 제1 깊이 이미지의 제1 픽셀 가중치 맵 및 상기 제2 깊이 이미지의 제2 픽셀 가중치 맵을 획득하고,
상기 제1 픽셀 가중치 맵과 상기 제2 픽셀 가중치 맵을 기반으로 상기 제1 깊이 이미지 및 상기 제2 깊이 이미지에 가중치를 부여하고 합산하여 상기 최종 깊이 이미지를 획득하는
깊이 이미지 완성 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/103,281 US20230245282A1 (en) | 2022-01-29 | 2023-01-30 | Method and device for depth image completion |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210112535.2 | 2022-01-29 | ||
CN202210112535.2A CN114519731A (zh) | 2022-01-29 | 2022-01-29 | 深度图像补全的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230117034A true KR20230117034A (ko) | 2023-08-07 |
Family
ID=81597723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220178638A KR20230117034A (ko) | 2022-01-29 | 2022-12-19 | 깊이 이미지 완성 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20230117034A (ko) |
CN (1) | CN114519731A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117455813A (zh) * | 2023-11-15 | 2024-01-26 | 齐鲁工业大学(山东省科学院) | 基于门控卷积和scpam注意力模块的遮挡手写病历汉字图像修复方法 |
CN118097580A (zh) * | 2024-04-24 | 2024-05-28 | 华东交通大学 | 一种基于Yolov4网络的危险行为防护方法及系统 |
CN118552738A (zh) * | 2024-07-30 | 2024-08-27 | 西北工业大学 | 基于多关系基特征协同和投影融合的多模态语义分割方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI819639B (zh) * | 2022-06-02 | 2023-10-21 | 鴻海精密工業股份有限公司 | 深度估計模型之訓練方法、裝置、電子設備及存儲介質 |
-
2022
- 2022-01-29 CN CN202210112535.2A patent/CN114519731A/zh active Pending
- 2022-12-19 KR KR1020220178638A patent/KR20230117034A/ko unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117455813A (zh) * | 2023-11-15 | 2024-01-26 | 齐鲁工业大学(山东省科学院) | 基于门控卷积和scpam注意力模块的遮挡手写病历汉字图像修复方法 |
CN118097580A (zh) * | 2024-04-24 | 2024-05-28 | 华东交通大学 | 一种基于Yolov4网络的危险行为防护方法及系统 |
CN118097580B (zh) * | 2024-04-24 | 2024-07-30 | 华东交通大学 | 一种基于Yolov4网络的危险行为防护方法及系统 |
CN118552738A (zh) * | 2024-07-30 | 2024-08-27 | 西北工业大学 | 基于多关系基特征协同和投影融合的多模态语义分割方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114519731A (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20220029335A (ko) | 깊이 이미지를 보완하는 방법 및 장치 | |
KR20230117034A (ko) | 깊이 이미지 완성 방법 및 장치 | |
CN111798400A (zh) | 基于生成对抗网络的无参考低光照图像增强方法及系统 | |
CN113256698B (zh) | 一种具有深度预测的单目3d重建方法 | |
RU2419880C2 (ru) | Способ и устройство для вычисления и фильтрации карты диспарантности на основе стерео изображений | |
US20230245282A1 (en) | Method and device for depth image completion | |
WO2020119620A1 (zh) | 具有自我提升能力的金字塔双目深度估计模型 | |
CN111462208A (zh) | 一种基于双目视差和外极线约束的无监督深度预测方法 | |
CN113850900A (zh) | 三维重建中基于图像和几何线索恢复深度图的方法及系统 | |
CN115082540B (zh) | 一种适用于无人机平台的多视图深度估计方法及装置 | |
CN116468769A (zh) | 一种基于图像的深度信息估计方法 | |
CN110580726B (zh) | 基于动态卷积网络的自然场景下人脸素描生成模型及方法 | |
CN117173229A (zh) | 融合对比学习的单目图像深度估计方法及系统 | |
CN118261979A (zh) | 一种基于几何信息增强的类别级6d姿态估计方法 | |
CN113628334A (zh) | 视觉slam方法、装置、终端设备及存储介质 | |
CN111754561B (zh) | 基于自监督深度学习的光场图像深度恢复方法及系统 | |
CN116611501A (zh) | 模型训练方法、模型应用方法、模型训练装置及训练设备 | |
CN114119999B (zh) | 基于深度学习的迭代6d位姿估计方法及装置 | |
CN109934863B (zh) | 一种基于密集连接型卷积神经网络的光场深度信息估计方法 | |
CN115457101B (zh) | 面向无人机平台的边缘保持多视图深度估计及测距方法 | |
CN111510740A (zh) | 转码方法、装置、电子设备和计算机可读存储介质 | |
CN118014860B (zh) | 一种基于注意力机制的多源多尺度图像融合方法与装置 | |
CN117975165B (zh) | 一种基于深度补全的透明物体抓取方法 | |
Filippov et al. | See far with TPNET: a Tile Processor and a CNN Symbiosis | |
CN116168312B (zh) | 复杂场景下端到端的ar辅助装配三维注册方法及系统 |