KR102640237B1 - 이미지 프로세싱 방법, 장치, 전자 디바이스 및 컴퓨터 판독가능 저장 매체 - Google Patents
이미지 프로세싱 방법, 장치, 전자 디바이스 및 컴퓨터 판독가능 저장 매체 Download PDFInfo
- Publication number
- KR102640237B1 KR102640237B1 KR1020227013455A KR20227013455A KR102640237B1 KR 102640237 B1 KR102640237 B1 KR 102640237B1 KR 1020227013455 A KR1020227013455 A KR 1020227013455A KR 20227013455 A KR20227013455 A KR 20227013455A KR 102640237 B1 KR102640237 B1 KR 102640237B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- map
- convolution
- inpainting
- feature map
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title description 44
- 238000012545 processing Methods 0.000 claims abstract description 179
- 238000000034 method Methods 0.000 claims description 98
- 230000004927 fusion Effects 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 36
- 238000000605 extraction Methods 0.000 claims description 31
- 239000000284 extract Substances 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 43
- 230000006870 function Effects 0.000 description 35
- 230000000694 effects Effects 0.000 description 34
- 241000251468 Actinopterygii Species 0.000 description 30
- 238000012549 training Methods 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 19
- 230000036961 partial effect Effects 0.000 description 14
- 238000007781 pre-processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000004913 activation Effects 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 7
- 244000025254 Cannabis sativa Species 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000005284 excitation Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000010422 painting Methods 0.000 description 3
- 230000001502 supplementing effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001149 cognitive effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000007499 fusion processing Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007500 overflow downdraw method Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/251—Fusion techniques of input or preprocessed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
- G06T5/75—Unsharp masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/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/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
이미지 프로세싱 장치가, 적어도 하나의 메모리; 및 적어도 하나의 메모리에 커플링되는 적어도 하나의 프로세서를 포함하며, 적어도 하나의 프로세서는 개체 영역을 포함하는 입력 이미지를 취득하도록 구성되는 이미지 취득 모듈; 입력 이미지에 기초하여 마스크 이미지를 생성하도록 구성되는 마스크 이미지 생성 모듈; 그리고 입력 이미지 및 마스크 이미지에 따라 인코딩 네트워크를 사용하여 입력 이미지에 대응하는 융합 특징 맵을 추출하도록, 그리고 융합 특징 맵에 기초하여 디코딩 네트워크를 사용하여 입력 이미지에서 개체 영역을 인페인팅하여, 인페인팅 결과를 획득하도록 구성되는 이미지 인페인팅 모듈을 구현하도록 구성된다.
Description
본 개시는 이미지 프로세싱의 기술 분야에 관한 것이고, 특히 이미지 프로세싱 방법, 장치, 전자 디바이스 및 컴퓨터 판독가능 저장 매체에 관한 것이다.
이미지 개체 제거 기술을 사용하여, 이는 이미지에서 사물들, 사람 또는 다른 개체들을 자동으로 제거하고 그것들을 배경 정보로 채울 수 있다. 예를 들어, 사용자가 이미지를 촬상하고 이미지 배경에 일부 개체들이 있는 경우, 사용자는 이미지 개체 제거 기술(이를테면 이미지로부터 사용자 자신을 제외한 다른 사람을 제거하는 것)을 사용함으로써 배경에서 개체들을 제거할 수 있고, 예를 들어, 사용자는 또한 이미지 개체 제거 기술을 사용함으로써 얼굴 이미지로부터 사용자의 얼굴 이미지에서의 "반점들(spots)" 및 "점들(moles)"과 같은 개체들을 제거할 수 있다.
이미지 개체 제거 기술은 주로 이미지 인페인팅 기술에 기초한다. 이미지로부터의 개체 제거는 제거될 영역을 이미지 소실 영역으로서 취하고 이미지 인페인팅 기술을 사용하여 이미지 소실 영역을 배경 정보로 복원함으로써 성취된다. 기존의 이미지 인페인팅 기술들은 두 가지 유형들, 즉, 전통적인 이미지 프로세싱 방법과 학습 기반 프로세싱 방법으로 나누어질 수 있다. 그러나, 기존의 이미지 인페인팅 기술들의 인페인팅 효과들은 이상적이지 않고 개선될 필요가 있다.
본 개시의 목적은 위의 기술적 결함들 중 적어도 하나, 특히 이미지 인페인팅 효과가 이상적이지 않다는 기술적 결함을 해결하고자 하는 것이다.
본 개시의 목적을 실현하기 위해, 본 개시에 의해 제공되는 기술적 해법은 다음과 같다:
본 개시의 일 실시예는 이미지 프로세싱 장치를 제공할 수 있으며, 그 장치는, 적어도 하나의 메모리; 및 적어도 하나의 메모리에 커플링되는 적어도 하나의 프로세서를 포함하며, 적어도 하나의 프로세서는 개체 영역을 포함하는 입력 이미지를 취득하도록 구성되는 이미지 취득 모듈; 입력 이미지에 기초하여 마스크 이미지를 생성하도록 구성되는 마스크 이미지 생성 모듈; 그리고 입력 이미지 및 마스크 이미지에 따라 인코딩 네트워크를 사용하여 입력 이미지에 대응하는 융합 특징 맵을 추출하도록, 그리고 융합 특징 맵에 기초하여 디코딩 네트워크를 사용하여 입력 이미지에서 개체 영역을 인페인팅하여, 인페인팅 결과를 획득하도록 구성되는 이미지 인페인팅 모듈을 구현하도록 구성된다.
본 개시의 실시예들에서 기술적 해법들을 더 명확하게 예시하기 위하여, 본 개시의 실시예들의 설명에서 사용되는 도면들은 아래에서 간략히 설명될 것이다.
도 1은 기존의 U-넷(U-net) 구조에 기초하여 이미지 인페인팅을 수행하는 개략적인 원리도를 도시한다.
도 2는 기존의 부분적 콘볼루션 기반(partial convolution-based) U-넷 구조에 기초하여 이미지 인페인팅을 수행하는 개략적인 원리도를 도시한다.
도 3는 기존의 게이트식 콘볼루션 기반(gated convolution-based) U-넷 구조에 기초하여 이미지 인페인팅을 수행하는 개략적인 원리도를 도시한다.
도 4는 기존의 게이트식 콘볼루션 구조에 기초하여 마스크 이미지 정보와 융합된 특징 맵을 추출하는 개략적인 원리도를 예시한다.
도 5는 본 개시의 일 실시예에 따른 이미지 프로세싱 방법의 흐름도를 예시한다.
도 6은 본 개시의 일 실시예에 따른 시맨틱 정보에 기초하여 이미지 클리핑을 수행하는 흐름도를 예시한다.
도 7은 본 개시의 일 실시예에 따른 시맨틱 정보에 기초하여 이미지 클리핑을 수행하는 개략적인 원리도를 예시한다.
도 8는 본 개시의 일 실시예에 따른 초해상 프로세싱을 수행하는 흐름도를 예시한다.
도 9a는 기존의 콘볼루션 메커니즘의 개략적인 원리도를 예시한다.
도 9b는 확장된 콘볼루션 메커니즘의 개략적인 원리도를 예시한다.
도 10a는 본 개시의 일 실시예에 따른 깊이 게이트식 콘볼루션(Depth-Gated convolution) 구조에 기초하여 특징 이미지 추출을 수행하는 개략적인 원리도를 예시한다.
도 10b는 본 개시의 일 실시예에 따른 깊이 게이트식 콘볼루션 구조의 개략도를 예시한다.
도 10c는 본 개시의 일 실시예에 따른 확장된 게이트식 콘볼루션 메커니즘을 사용하여 깊이 게이트식 콘볼루션 구조에 기초하여 특징 맵 추출을 수행하는 개략적인 원리도를 예시한다.
도 10d는 본 개시의 일 예에 따른 이미지 프로세싱 방법의 개략적인 원리도를 예시한다.
도 10e는 본 개시의 일 예에 따른 개체 맵에서 엘리먼트 값들을 랜덤하게 조정하는 솔루션의 개략적인 원리도를 예시한다.
도 11은 본 개시의 일 실시예에 따른 이미지 프로세싱 방법의 흐름도를 예시한다.
도 12는 본 개시의 일 실시예에 따른 이미지 인페인팅 네트워크의 개략적인 구조도를 예시한다.
도 13은 본 개시의 다른 실시예에 따른 이미지 인페인팅 네트워크의 개략적인 구조도를 예시한다.
도 14는 본 개시의 또 다른 실시예에 따른 이미지 인페인팅 네트워크의 개략적인 구조도를 예시한다.
도 15a는 본 개시의 일 실시예에 따른 프로세싱될 원본 이미지를 예시한다.
도 15b는 도 15a의 이미지를 사전 프로세싱한 후에 획득되는 이미지를 예시한다.
도 15c, 도 15d 및 도 15e는 본 개시의 일 실시예에 따른 기존의 게이트식 콘볼루션 메커니즘, 기존의 부분적 콘볼루션 메커니즘 및 깊이 게이트식 콘볼루션 메커니즘에 기초하여 도 15a의 원본 이미지에 대한 개체 제거를 수행한 후에 획득되는 개략적인 결과 도들을 각각 예시한다.
도 16a는 본 개시의 다른 실시예에 따른 프로세싱될 원본 이미지를 예시한다.
도 16b는 도 16a의 이미지를 사전 프로세싱한 후에 획득되는 이미지를 예시한다.
도 16c, 도 16d 및 도 16e는 본 개시의 일 실시예에 따른 기존의 게이트식 콘볼루션 메커니즘, 기존의 부분적 콘볼루션 메커니즘 및 깊이 게이트식 콘볼루션 메커니즘에 기초하여 도 16a의 원본 이미지에 대한 개체 제거를 수행한 후에 획득되는 개략적인 결과 도들을 각각 예시한다.
도 17a는 본 개시의 일 예에 따른 이미지 인페인팅 네트워크를 훈련하기 위한 솔루션의 개략적인 원리도를 예시한다.
도 17b는 본 개시의 일 예에 따른 이미지 인페인팅 네트워크를 훈련하기 위한 솔루션의 개략적 흐름도를 예시한다.
도 18은 본 개시의 일 실시예에 이미지 프로세싱 장치의 개략적인 구조도를 예시한다.
도 19는 본 개시의 일 실시예에 따라 제공되는 전자 디바이스의 개략적인 구조도이다.
도 1은 기존의 U-넷(U-net) 구조에 기초하여 이미지 인페인팅을 수행하는 개략적인 원리도를 도시한다.
도 2는 기존의 부분적 콘볼루션 기반(partial convolution-based) U-넷 구조에 기초하여 이미지 인페인팅을 수행하는 개략적인 원리도를 도시한다.
도 3는 기존의 게이트식 콘볼루션 기반(gated convolution-based) U-넷 구조에 기초하여 이미지 인페인팅을 수행하는 개략적인 원리도를 도시한다.
도 4는 기존의 게이트식 콘볼루션 구조에 기초하여 마스크 이미지 정보와 융합된 특징 맵을 추출하는 개략적인 원리도를 예시한다.
도 5는 본 개시의 일 실시예에 따른 이미지 프로세싱 방법의 흐름도를 예시한다.
도 6은 본 개시의 일 실시예에 따른 시맨틱 정보에 기초하여 이미지 클리핑을 수행하는 흐름도를 예시한다.
도 7은 본 개시의 일 실시예에 따른 시맨틱 정보에 기초하여 이미지 클리핑을 수행하는 개략적인 원리도를 예시한다.
도 8는 본 개시의 일 실시예에 따른 초해상 프로세싱을 수행하는 흐름도를 예시한다.
도 9a는 기존의 콘볼루션 메커니즘의 개략적인 원리도를 예시한다.
도 9b는 확장된 콘볼루션 메커니즘의 개략적인 원리도를 예시한다.
도 10a는 본 개시의 일 실시예에 따른 깊이 게이트식 콘볼루션(Depth-Gated convolution) 구조에 기초하여 특징 이미지 추출을 수행하는 개략적인 원리도를 예시한다.
도 10b는 본 개시의 일 실시예에 따른 깊이 게이트식 콘볼루션 구조의 개략도를 예시한다.
도 10c는 본 개시의 일 실시예에 따른 확장된 게이트식 콘볼루션 메커니즘을 사용하여 깊이 게이트식 콘볼루션 구조에 기초하여 특징 맵 추출을 수행하는 개략적인 원리도를 예시한다.
도 10d는 본 개시의 일 예에 따른 이미지 프로세싱 방법의 개략적인 원리도를 예시한다.
도 10e는 본 개시의 일 예에 따른 개체 맵에서 엘리먼트 값들을 랜덤하게 조정하는 솔루션의 개략적인 원리도를 예시한다.
도 11은 본 개시의 일 실시예에 따른 이미지 프로세싱 방법의 흐름도를 예시한다.
도 12는 본 개시의 일 실시예에 따른 이미지 인페인팅 네트워크의 개략적인 구조도를 예시한다.
도 13은 본 개시의 다른 실시예에 따른 이미지 인페인팅 네트워크의 개략적인 구조도를 예시한다.
도 14는 본 개시의 또 다른 실시예에 따른 이미지 인페인팅 네트워크의 개략적인 구조도를 예시한다.
도 15a는 본 개시의 일 실시예에 따른 프로세싱될 원본 이미지를 예시한다.
도 15b는 도 15a의 이미지를 사전 프로세싱한 후에 획득되는 이미지를 예시한다.
도 15c, 도 15d 및 도 15e는 본 개시의 일 실시예에 따른 기존의 게이트식 콘볼루션 메커니즘, 기존의 부분적 콘볼루션 메커니즘 및 깊이 게이트식 콘볼루션 메커니즘에 기초하여 도 15a의 원본 이미지에 대한 개체 제거를 수행한 후에 획득되는 개략적인 결과 도들을 각각 예시한다.
도 16a는 본 개시의 다른 실시예에 따른 프로세싱될 원본 이미지를 예시한다.
도 16b는 도 16a의 이미지를 사전 프로세싱한 후에 획득되는 이미지를 예시한다.
도 16c, 도 16d 및 도 16e는 본 개시의 일 실시예에 따른 기존의 게이트식 콘볼루션 메커니즘, 기존의 부분적 콘볼루션 메커니즘 및 깊이 게이트식 콘볼루션 메커니즘에 기초하여 도 16a의 원본 이미지에 대한 개체 제거를 수행한 후에 획득되는 개략적인 결과 도들을 각각 예시한다.
도 17a는 본 개시의 일 예에 따른 이미지 인페인팅 네트워크를 훈련하기 위한 솔루션의 개략적인 원리도를 예시한다.
도 17b는 본 개시의 일 예에 따른 이미지 인페인팅 네트워크를 훈련하기 위한 솔루션의 개략적 흐름도를 예시한다.
도 18은 본 개시의 일 실시예에 이미지 프로세싱 장치의 개략적인 구조도를 예시한다.
도 19는 본 개시의 일 실시예에 따라 제공되는 전자 디바이스의 개략적인 구조도이다.
이미지 인페인팅 효과를 보정하기 위한 방법들, 장치들, 및 컴퓨터 판독가능 매체가 제공된다.
추가적인 양태들은 뒤따르는 설명에서 부분적으로 언급될 것이고, 부분적으로는, 상세한 설명으로부터 명확하게 될 것이거나, 또는 제시된 실시예들의 실시에 의해 학습될 수 있다.
본 개시의 양태에 따라서, 이미지 프로세싱 장치가, 적어도 하나의 메모리; 및 적어도 하나의 메모리에 커플링되는 적어도 하나의 프로세서를 포함하며, 적어도 하나의 프로세서는 개체 영역을 포함하는 입력 이미지를 취득하도록 구성되는 이미지 취득 모듈; 입력 이미지에 기초하여 마스크 이미지를 생성하도록 구성되는 마스크 이미지 생성 모듈; 그리고 입력 이미지 및 마스크 이미지에 따라 인코딩 네트워크를 사용하여 입력 이미지에 대응하는 융합 특징 맵을 추출하도록, 그리고 융합 특징 맵에 기초하여 디코딩 네트워크를 사용하여 입력 이미지에서 개체 영역을 인페인팅하여, 인페인팅 결과를 획득하도록 구성되는 이미지 인페인팅 모듈을 구현하도록 구성된다.
인코딩 네트워크와 디코딩 네트워크는 적어도 하나의 제1 콘볼루션 프로세서를 포함할 수 있고, 적어도 하나의 제1 콘볼루션 프로세서는 입력 융합 특징 맵에 따라 콘볼루션을 수행하고 콘볼루션에 의해 획득된 융합 특징 맵을 출력하도록 구성될 수 있다.
인코딩 네트워크는 인코딩 네트워크의 마지막 제1 콘볼루션 프로세서와 캐스케이드되는 적어도 하나의 제2 콘볼루션 프로세서를 더 포함할 수 있고, 적어도 하나의 제2 콘볼루션 프로세서는 입력 융합 특징 맵에 따라 확장된 콘볼루션을 수행하고, 확장된 콘볼루션에 의해 획득된 융합 특징 맵을 출력하도록 구성될 수 있다.
적어도 하나의 제2 콘볼루션 프로세서는 제1의 제2 콘볼루션 프로세서와 제2의 제2 콘볼루션 프로세서를 포함할 수 있으며, 제1의 제2 콘볼루션 프로세서는 제2의 제2 콘볼루션 프로세서와 순차적으로 캐스케이드될 수 있고, 제1의 제2 콘볼루션 프로세서의 제1 콘볼루션 파라미터는 제2의 제2 콘볼루션 프로세서의 제2 콘볼루션 파라미터와 상이할 수 있다.
입력 융합 특징 맵은 복수의 채널들에 기초할 수 있고, 적어도 하나의 제1 콘볼루션 프로세서는 추가로, 해당 이미지 특징 맵을 추출하기 위해 입력 융합 특징 맵에 따라 제1 콘볼루션을 수행하며, 적어도 하나의 채널에 기초하여 마스크 특징 맵을 추출하기 위해 입력 융합 특징 맵에 기초하여 제2 콘볼루션을 수행하는 것으로서, 적어도 하나의 채널의 수가 복수의 채널들의 수보다 작으며; 이미지 특징 맵 및 상기 마스크 특징 맵을 융합하며; 그리고 융합의 결과를 출력하도록 구성될 수 있다.
제2 콘볼루션을 수행하기 전에, 적어도 하나의 제1 콘볼루션 프로세서는 추가로, 복수의 채널들의 수와 상이한 적어도 하나의 채널의 수에 기초하여, 적어도 하나의 채널에 기초하여 입력 융합 특징 맵을 변환된 융합 특징 맵으로 변환하도록 구성될 수 있고, 제2 콘볼루션은 변환된 특징 맵에 기초하여 수행될 수 있다.
적어도 하나의 제1 콘볼루션 프로세서는 추가로, 적어도 두 개의 콘볼루션 프로세싱 파라미터들에 따라 프로세싱을 수행하고, 입력 융합 특징 맵에 기초하여 적어도 두 개의 수용 필드들에 대응하는 특징 맵들을 추출하며; 그리고 마스크 특징 맵을 획득하기 위해 적어도 두 개의 수용 필드들에 대응하는 추출된 특징 맵들을 융합하도록 구성될 수 있다.
이미지 인페인팅 모듈은 추가로, 입력 이미지 및 마스크 이미지에 기초하여 예비 인페인팅 결과를 획득하며; 입력 이미지와 동일한 사이즈를 갖는 노이즈 이미지를 생성하며; 그리고 예비 인페인팅 결과 및 상기 노이즈 이미지에 기초하여 인페인팅 결과를 획득하도록 구성될 수 있다.
이미지 인페인팅 모듈은 추가로, 개체 맵의 인접한 로케이션들에서의 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 교환하는 것, 및 개체 맵의 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 조정하는 것 중 적어도 하나에 의해 개체 맵을 프로세싱하도록 구성될 수 있으며, 여기서 개체 맵은 융합 특징 맵 및 인페인팅 결과 중 적어도 하나를 포함할 수 있다.
랜덤하게 교환하는 것은, 제1 클리핑된 맵을 획득하기 위한 개체 맵에 대한 제1 에지 클리핑과 제2 클리핑된 맵을 획득하기 위한 개체 맵에 대한 제2 에지 클리핑을 수행하는 것; 제1 클리핑된 맵에 대응하는 제1 가중 맵과 제2 클리핑된 맵에 대응하는 제2 가중 맵을 생성하는 것으로서, 제1 가중 맵 및 제2 가중 맵에서의 엘리먼트 포인트들의 엘리먼트 값들은 1 또는 0 중 하나이고, 제1 가중 맵의 제1 위치에서의 제1 엘리먼트 포인트의 제1 엘리먼트 값이 제1 위치에 대응하는 제2 가중 맵의 제2 위치에서의 제2 엘리먼트 포인트의 제2 엘리먼트 값과 상이한, 상기 제1 가중 맵과 상기 제2 가중 맵을 생성하는 것; 및 개체 맵과 동일한 사이즈를 갖는 프로세싱된 맵을 획득하기 위해 제1 가중 맵 및 제2 가중 맵에 기초하여 제1 클리핑된 맵 및 제2 클리핑된 맵을 융합하는 것을 포함할 수 있다.
랜덤하게 조정하는 것은, 제3 클리핑된 맵을 획득하기 위한 개체 맵에 대한 제3 에지 클리핑과 제4 클리핑된 맵을 획득하기 위한 개체 맵에 대한 제4 에지 클리핑을 수행하는 것; 제4 클리핑된 맵의 조정 계수를 획득하기 위해 제3 클리핑된 맵에 기초하여 특징 추출을 수행하는 것; 및 개체 맵과 동일한 사이즈를 갖는 프로세싱된 개체 맵을 획득하기 위해 조정 계수에 기초하여 제4 클리핑된 맵에서의 엘리먼트 포인트들의 엘리먼트 값들을 조정하는 것을 포함할 수 있다.
이미지 취득 모듈은 추가로, 개체 영역을 포함하는 원본 이미지를 취득하며; 원본 이미지의 이미지 특징들을 추출하며; 그리고 개체 영역을 포함하는 입력 이미지를 획득하기 위해 원본 이미지의 이미지 특징들에 기초하여 원본 이미지에 대한 클리핑을 수행하도록 구성될 수 있다.
이미지 취득 모듈은 추가로, 개체 영역의 영역 사이즈를 결정하며; 임계 사이즈 이하인 영역 사이즈에 기초하여, 원본 이미지의 이미지 특징들 및 개체 영역의 로케이션 정보에 따라 제1 설정 영역 사이즈를 갖는 후보 영역들을 획득하며; 임계 사이즈보다 큰 영역 사이즈에 기초하여, 원본 이미지의 이미지 특징들 및 개체 영역의 로케이션 정보에 따라 제2 설정 영역 사이즈를 갖는 후보 영역들을 획득하며; 후보 영역들로부터 개체 영역을 선별하며; 그리고 선별된 개체 영역이 제2 설정 영역 사이즈를 갖는 후보 영역임에 기초하여, 제2 설정 영역 사이즈를 갖는 클리핑된 이미지를 획득하기 위해 선별된 개체 영역에 따라 원본 이미지를 클리핑하고, 입력 이미지를 획득하기 위해 제1 설정 영역 사이즈에 따라 클리핑된 이미지를 스케일링하도록 구성될 수 있고, 이미지 인페인팅 모듈은 추가로, 제2 설정 영역 사이즈를 갖는 스케일링된 인페인팅 결과를 획득하기 위해 인페인팅 결과를 스케일링하며; 그리고 원본 이미지에 대응하는 인페인팅 결과를 획득하기 위해 스케일링된 인페인팅 결과와 원본 이미지를 융합하도록 구성될 수 있다.
본 개시의 양태에 따라서, 이미지 프로세싱 방법은, 개체 영역을 포함하는 입력 이미지를 취득하는 단계; 입력 이미지에 기초하여 마스크 이미지를 생성하는 단계; 및 입력 이미지 및 마스크 이미지에 따라 인코딩 네트워크를 통해 입력 이미지에 대응하는 융합 특징 맵을 추출하고, 인페인팅 결과를 획득하기 위해 융합 특징 맵에 기초하여 디코딩 네트워크를 사용하여 입력 이미지에서 개체 영역을 인페인팅하는 단계를 포함한다.
인코딩 네트워크와 디코딩 네트워크는 적어도 하나의 제1 콘볼루션 프로세서를 포함할 수 있고, 적어도 하나의 제1 콘볼루션 프로세서는 입력 융합 특징 맵에 따라 콘볼루션을 수행하고 콘볼루션에 의해 획득된 융합 특징 맵을 출력할 수 있다.
인페인팅하는 단계는 입력 이미지 및 마스크 이미지에 기초하여 예비 인페인팅 결과를 획득하는 단계; 입력 이미지와 동일한 사이즈를 갖는 노이즈 이미지를 생성하는 단계; 및 예비 인페인팅 결과 및 노이즈 이미지에 기초하여 인페인팅 결과를 획득하는 단계를 포함할 수 있다.
그 방법은 추가로, 개체 맵의 인접한 로케이션들에서의 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 교환하는 것, 및 개체 맵의 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 조정하는 것 중 적어도 하나에 의해 개체 맵을 프로세싱하는 단계를 포함할 수 있고, 개체 맵은 융합 특징 맵 및 인페인팅 결과 중 적어도 하나를 포함할 수 있다.
입력 이미지를 취득하는 단계는, 개체 영역을 포함하는 원본 이미지를 취득하는 단계; 원본 이미지의 이미지 특징들을 추출하는 단계; 및 개체 영역을 포함하는 입력 이미지를 획득하기 위해 원본 이미지의 이미지 특징들에 기초하여 원본 이미지에 대한 클리핑을 수행하는 단계를 포함할 수 있다.
클리핑은 개체 영역의 영역 사이즈를 결정하는 것; 임계 사이즈 이하인 영역 사이즈에 기초하여, 원본 이미지의 이미지 특징들 및 개체 영역의 로케이션 정보에 따라 제1 설정 영역 사이즈를 갖는 후보 영역들을 획득하는 것; 임계 사이즈보다 큰 영역 사이즈에 기초하여, 원본 이미지의 이미지 특징들 및 개체 영역의 로케이션 정보에 따라 제2 설정 영역 사이즈를 갖는 후보 영역들을 획득하는 것; 후보 영역들로부터 개체 영역을 선별하는 것; 및 선별된 개체 영역이 제2 설정 영역 사이즈를 갖는 후보 영역임에 기초하여, 제2 설정 영역 사이즈를 갖는 클리핑된 이미지를 획득하기 위해 선별된 개체 영역에 따라 원본 이미지를 클리핑하는 것, 및 입력 이미지를 획득하기 위해 제1 설정 영역 사이즈에 따라 클리핑된 이미지를 스케일링하는 것을 포함할 수 있고, 인페인팅 결과를 획득한 후, 그 방법은 추가로, 제2 설정 영역 사이즈를 갖는 스케일링된 인페인팅 결과를 획득하기 위해 인페인팅 결과를 스케일링하는 단계; 및 원본 이미지에 대응하는 인페인팅 결과를 획득하기 위해 스케일링된 인페인팅 결과 및 원본 이미지를 융합하는 단계를 포함할 수 있다.
본 개시의 양태에 따라서, 컴퓨터 판독가능 저장 매체는 명령어들을 저장하도록 구성되며, 명령어들은, 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금, 개체 영역을 포함하는 입력 이미지를 취득하게 하며; 입력 이미지에 기초하여 마스크 이미지를 생성하게 하며; 입력 이미지 및 마스크 이미지에 따라 인코딩 네트워크를 사용하여 입력 이미지에 대응하는 융합 특징 맵을 추출하게 하며; 그리고 인페인팅 결과를 획득하기 위해, 융합 특징 맵에 기초하여 디코딩 네트워크를 사용하여 입력 이미지에서 개체 영역을 인페인팅하게 한다. 본 개시에 의해 제공되는 기술적 해법의 유익한 효과들은 특정 실시예들과 조합하여 다음 특정의 구현예들에서 상세히 설명될 것이고 여기서 설명되지 않을 것이다.
실시예들은 위에서 논의된 기술적 결함들 중 적어도 하나, 특히 이미지 인페인팅 효과가 이상적이지 않은 기술적 결함을 해결하는 것에 관한 것일 수 있다.
일 실시예는 이미지 프로세싱 방법에 관한 것일 수 있으며, 그 방법은, 제거될 개체 영역을 포함하는 프로세싱될 이미지를 취득하는 단계; 프로세싱될 이미지의 마스크 이미지를 생성하는 단계; 프로세싱될 이미지 및 마스크 이미지에 따라 인코딩 네트워크를 통해 프로세싱될 이미지에 대응하는 융합 특징 맵을 추출하는 단계; 및 인페인팅 결과 인페인팅 결과를 획득하기 위해, 융합 특징 맵에 기초하여 디코딩 네트워크를 통해 프로세싱될 이미지에서 제거될 개체 영역을 인페인팅하는 단계를 포함한다.
일 실시예는 이미지 프로세싱 장치에 관한 것일 수 있으며, 그 장치는, 제거될 개체 영역을 포함하는 프로세싱될 이미지를 취득하도록 구성되는 이미지 취득 모듈; 프로세싱될 이미지의 마스크 이미지를 생성하도록 구성되는 마스크 이미지 생성 모듈; 및 프로세싱될 이미지 및 마스크 이미지에 따라 인코딩 네트워크를 통해 프로세싱될 이미지에 대응하는 융합 특징 맵을 추출하고, 인페인팅 결과를 획득하기 위해, 융합 특징 맵에 기초하여 디코딩 네트워크를 통해 프로세싱될 이미지에서 제거될 개체 영역을 복원하도록 구성되는 이미지 인페인팅 모듈을 포함한다.
일 실시예는 메모리와 프로세서를 포함하는 전자 디바이스에 관한 것일 수 있다. 메모리는 컴퓨터 프로그램을 저장하도록 구성될 수 있고, 프로세서는 컴퓨터 프로그램을 실행할 때 본 개시의 제1 양태에서 제공되는 방법을 실행하도록 구성된다.
일 실시예는 프로세서에 의해 실행될 때 본 개시의 제1 양태에서 제공되는 방법을 실행하는데 사용되는 컴퓨터 프로그램이 저장되는 컴퓨터 판독가능 저장 매체에 관한 것일 수 있다.
본 개시에 의해 제공되는 기술적 해법의 유익한 효과들은 다음의 실시예들에서 상세히 설명될 것이다.
본 개시의 실시예들은 아래에서 상세히 설명되며, 그 예들은 첨부 도면들에서 예시되며, 동일하거나 또는 유사한 참조 번호들이 전체에 걸쳐 동일하거나 또는 유사한 엘리먼트들 또는 동일하거나 또는 유사한 기능들을 갖는 엘리먼트들을 참조한다. 첨부 도면들을 참조하여 아래에서 설명되는 실시예들은 예시적이고 본 개시를 설명할 목적을 위한 것이고 본 발명을 제한하는 것으로서 해석되지 않아야 한다.
본 기술분야의 통상의 기술자들은 본 개시에서 사용되는 바와 같은 "a", "an", "상기" 및 "the"의 사용에 해당하는 단수 형태들이 명시적으로 언급되지 않는 한 복수 형태들을 또한 포함할 수 있다는 것이 이해될 것이다. 본 개시의 명세서에서 사용되는 바와 같은 "포함하는"이란 용어는 언급된 특징들, 정수들, 단계들, 동작들, 엘리먼트들 및/또는 컴포넌트들의 존재를 언급하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들 및/또는 그 그룹들의 존재 또는 추가를 배제하지 않는다는 것이 추가로 이해되어야 한다. 다른 엘리먼트에 "연결되는" 또는 "커플링되는" 엘리먼트를 지칭할 때, 이는 다른 엘리먼트에 직접 연결 또는 커플링될 수 있거나, 또는 개재 엘리먼트들이 또한 존재할 수 있다는 것이 이해되어야 한다. 추가적으로, 본 개시에서 사용되는 바와 같이, "연결되는" 또는 "커플링되는"은 무선 연결 또는 무선 커플링을 포함할 수 있다. 본 개시에서 사용되는 바와 같이, "및/또는"라는 문구는 모든 또는 임의의 엘리먼트와 하나 이상의 연관된 나열 아이템들의 모든 조합들을 포함한다.
이미지 개체 제거 기술은 주로 이미지 인페인팅 기술에 기초하여 구현된다. 현재, 기존의 이미지 인페인팅 기술들은 두 가지 유형들, 즉, 이미지 프로세싱 방법 및 학습 기반 프로세싱 방법으로 나누어질 수 있다.
이미지 인페인팅의 분야에서 전형적인 전통적인 이미지 인페인팅 기술은 두 개의 이미지들에서 높은 유사도가 있는 두 개의 영역들을 빠르게 효과적으로 발견할 수 있는 알고리즘인 PatchMatch 알고리즘이다. PatchMatch 알고리즘에 기초하여, 소실 영역과 유사한 이미지 영역(즉, 제거될 영역)이 이미지에서 비소실 영역으로부터 발견될 수 있고, 그 다음에 발견된 이미지 영역은 소실 영역 안으로 채워지고, 따라서 이미지 인페인팅을 실현한다.
학습 기반 방법에서, 이미지 인페인팅은 주로 딥 러닝 네트워크 및 생성적 적대 네트워크(generative adversarial network)에 기초하여 실현된다. 그 방법은, 사용자가 원본 이미지(즉, 프로세싱될 이미지)로부터 제거될 개체 영역을 선택한 후, 원본 이미지의 개체 영역에 대응하는 화소 값이 사용자에 의해 선택된 제거될 개체 영역에 따라 0으로 설정되고, 사전 프로세싱된 이미지의 화소 값들이 (0, 255)에서 (-1, 1)로 정규화되는 단계; 사전 프로세싱된 이미지가 이미지 인페인팅 네트워크에 입력되고, 훈련된 가중값 파라미터들을 사용하여 이미지 인페인팅 네트워크에 의해 추론이 수행되는 단계; 이미지의 제거될 개체 영역이 복원되고, 인페인팅 결과가 출력되어서, 개체 제거가 완료되는 단계를 포함한다.
기존의 학습 기반 이미지 인페인팅 기술은 주로 U-넷(U-network) 구조에 기초하여 실현되고, 이미지 인페인팅은 그것을 기반으로 이미지 인페인팅에 대한 특수한 콘볼루션 연산을 사용하여 실현된다.
도 1은 기존의 U-넷 구조의 개략도를 예시한다. 도 1에 도시된 바와 같이, U-넷 구조는 두 개의 부분들, 즉, 인코딩 스테이지 및 디코딩 스테이지를 포함한다. 인코딩 스테이지는 사전 프로세싱된 이미지, 즉, 프로세싱될 이미지의 특징 맵을 추출하는데 주로 사용된다. 구체적으로는, 사전 프로세싱된 이미지의 상위 계층 및 하위 계층 시맨틱스와 같은 정보가 획득될 수 있다. 디코딩 스테이지는 인코딩 스테이지에서 획득된 정보에 따라 인페인팅 결과를 획득하기 위해 업샘플링 컴퓨테이션을 수행하는데 사용된다. 예를 들어, 이미지 인페인팅 태스크에서, 특징 추출이 U-넷 인코딩 스테이지에서 이미지에 대해 수행되고, 업샘플링이 디코딩 스테이지에서 획득된 이미지 특징들을 사용하여 수행된다. 사람에 의해 이해 가능한 일반적인 이미지가 특징 맵으로부터 획득되고, 이미지 인페인팅의 결과는 출력된다. 구체적으로는, 프로세싱될 원본 이미지로부터 제거될 개체 영역을 선택한 후, 사용자는 사전 프로세싱된 이미지를 획득하기 위해 제거될 개체 영역의 화소 값(즉, 제거될 개체 영역의 화소 값은 0으로서 설정됨)을 원본 이미지로부터 삭제한다. 사전 프로세싱된 이미지의 사이즈가 네트워크에 의해 요구되는 입력 이미지의 사이즈와 일치하지 않으면, 사전 프로세싱된 이미지는 네트워크에 의해 요구된 입력 이미지의 사이즈로 스케일링될 수 있다. 그러면, 인코더라고 지칭될 수 있는 인코딩 파트는 입력 이미지에 대한 특징 추출을 수행하고, 디코더라고 지칭될 수 있는 디코딩 파트는, 이미지에서 제거될 개체 영역을 복원하기 위해, 인코딩 파트에 의해 추출된 특징들에 따라 디콘볼루션(deconvolution), 최근린 보간 기반(nearest neighbor interpolation-based) 또는 이중선형 보간 기반(bilinear interpolation-based) 이미지 스케일링과 같은 연산들을 사용하여 업샘플링 동작을 수행하여서, 이미지의 개체 제거가 실현된다.
이미지 전달 동안 정보 소실을 효과적으로 줄이기 위하여, 전통적인 U-넷의 경우, 콘볼루션 연산일 수 있는 링크가 인코딩 파트 및 디코딩 파트에서 동일한 차원을 갖는 특징 맵들 사이에 추가될 것이다. 다시 말하면, 콘볼루션 연산이 디코딩 파트로의 데이터 전달이 추출된 고차원적 특징들 외에도 원본 이미지의 저차원적 특징들을 갖는 것을 보장하기 위해 동일한 차원을 갖는 인코딩 계층과 디코딩 계층 간에 수행된다.
전통적인 U-넷의 경우, 일반적인 콘볼루션 연산만이 사용되고, 구체적으로는 이미지 인페인팅을 위한 일부 특수한 콘볼루션 연산들은 사용되지 않는다. 구체적으로는 이미지 인페인팅에 대한 다양한 특수한 콘볼루션 연산들의 출현으로, 개선된 U-넷 구조가 부분적 콘볼루션(Partial Conv)에 기초한 U-넷과 게이트식 콘볼루션(Gated Conv)에 기초한 U-넷과 같은 전통적인 U-넷 구조에 기초하여 사용될 수 있다.
도 2는 부분적 콘볼루션을 사용하는 U-넷을 예시한다. 그 도면에서 도시된 바와 같이, 이미지 인페인팅 네트워크로의 입력들은 제거될 개체 영역의 화소 값이 삭제된 사전 프로세싱된 이미지와, 사전 프로세싱된 이미지에 대응하는 마스크 이미지이다. 마스크 이미지의 화소 값들은 0과 1만을 포함하고, 마스크 이미지와 사전 프로세싱된 이미지는 동일한 화소 사이즈를 가지며, 제거될 개체 영역에 대응하는 화소 값은 0이고, 나머지 영역들의 화소 값은 1이다. 이미지 인페인팅 네트워크는 마스크 이미지에 따라 부분적 콘볼루션 연산을 사용하고, 사전 프로세싱된 이미지의 일부 영역들만을, 예를 들어 그것의 특징 맵을 추출함으로써 콘볼루션하지만, 규칙 요건들을 충족시키지 않는 사전 프로세싱된 이미지의 영역들을 콘볼루션하지 않는다. 사전 프로세싱된 이미지의 일부 영역들을 콘볼루션할지의 여부는 마스크 이미지에 기초하여 결정된다. 부분적 콘볼루션 기반 U-넷은 맞춤화된 마스크 이미지 업데이트 규칙에 기초하여 마스크 이미지를 업데이트한다. 전통적인 U-넷 네트워크 구조와 비교하여, 부분적 콘볼루션 기반 U-넷은 전통적인 U-넷의 일반적인 콘볼루션 연산을 부분적 콘볼루션 연산으로 대체하고, 입력 데이터는 자신의 대응하는 마스크 이미지와 마스크 이미지의 업데이트 규칙을 포함해야만 한다.
게이트식 콘볼루션은 부분적 콘볼루션에 기초하는 이미지 인페인팅을 위한 다른 종류의 특수한 콘볼루션이다. 도 3은 게이트식 콘볼루션 기반 U-넷 구조를 예시한다. 도 1 및 도 2에 도시된 구조들과 비교하여, 게이트식 콘볼루션 기반 U-넷 구조는 전통적인 U-넷 구조의 일반적인 콘볼루션을 게이트식 콘볼루션으로 대체하고, 네트워크로의 입력들은 여전히 사전 프로세싱된 이미지 및 그것의 대응하는 마스크 이미지이다. 부분적 콘볼루션과 비교하여, 게이트식 콘볼루션에서 사용되는 학습 방법은 사용자에 의해 맞춤화된 마스크 이미지 업데이트 규칙을 그 학습 방법에 기초하여 획득된 업데이트 규칙으로 변경한다. 이미지 인페인팅 동안의 게이트식 콘볼루션 기반 U-넷 구조의 데이터 프로세싱 흐름은 일반적으로 사전 프로세싱된 이미지 및 대응하는 마스크 이미지를 입력함으로써 시작할 수 있다. 그러면, U-넷의 인코딩 파트에서, 게이트식 콘볼루션은 마스크 이미지를 업데이트하면서 입력 데이터 특징들을 추출하며, 업데이트된 마스크 이미지를 추출된 이미지 특징들과 융합하고, 인코딩 파트의 끝까지, 그것을 다음 계층의 게이트식 콘볼루션에 입력한다. 그 다음에, 마스크 이미지와 융합된 데이터와 인코딩 파트에 의해 출력된 특징 맵에 따라, 디코딩 파트는 특징 맵을 추출하고 업샘플링된 데이터에 대한 마스크 이미지를 업데이트하기 위해 업샘플링 동작을 채택한 후 다시 게이트식 콘볼루션을 사용하고, 마스크 이미지와 융합된 데이터와 특징 맵을 다음 계층의 업샘플링 동작을 위해 출력한다. 이전 단계는 그 다음에 U-넷 네트워크 순방향 추론이 종료되기까지 반복된다.
게이트식 콘볼루션 기반 U-넷 구조에 기초하여, 게이트식 콘볼루션 연산 파트는 두 개의 분기 콘볼루션 연산들, 즉, 특징 추출 분기(feature map branch)와 마스크 이미지 업데이트 분기(updated mask branch)를 포함한다. 특징 맵 추출 분기는 주로 입력 데이터의 특징들을 추출하는데 사용되는 반면, 다른 분기는 입력 데이터에 따라 마스크 이미지를 업데이트한다. 마지막으로, 포인트 곱셈(point multiplication)이 두 개의 분기들의 결과들에 대해 화소 단위로 수행된다.
도 4는 일 실시예에 따른, 특징 추출 및 마스크 이미지 업데이트를 수행하는 도 3의 게이트식 콘볼루션의 특정한 계층의 개략적인 원리도를 예시하며, 데이터 프로세싱 흐름은 하단에서 상단으로이다. 게이트식 콘볼루션의 첫 번째 계층의 경우, 입력들은 프로세싱될 이미지(410)와 프로세싱될 이미지(410)에 대응하는 마스크 이미지(420)이다. 마스크 이미지(420) 및 프로세싱될 이미지(410)에 기초하여, 게이트식 콘볼루션의 첫 번째 계층은 첫 번째 계층의 융합 특징 맵을 추출한다. 게이트식 콘볼루션의 첫 번째 계층 뒤의 게이트식 콘볼루션의 각각의 계층에 대해, 입력은 게이트식 콘볼루션의 이전 계층에 의해 출력된 마스크 이미지 정보와 융합된 특징 맵이다.
도 4에 도시된 바와 같이, 마스크 이미지 정보와 융합된 입력 특징 맵들(그 도면에서 도시된 특징 맵들은 상이한 채널들의 특징 맵 데이터를 각각 나타냄)은 게이트식 콘볼루션 구조에 입력되며, 특징 맵 추출 분기(401)가 입력 데이터로부터 특징 맵들을 추출하는데 사용되고, 새로운 특징 맵이 입력 특징 맵들로부터 특징 맵 추출 분기(401)를 통해 획득된다. 특징 맵 추출 분기(401)는 일반적인 콘볼루션 연산을 사용하고, 그 후에 임의의 활성화 함수(activation function)(이를테면 Leaky ReLU(Rectified Linear Unit) 및 tanh(쌍곡선 탄젠트) 활성화 함수)를 추가함으로써 구현되어, 추출된 특징 맵을 출력한다. 마스크 이미지 업데이트 분기(402)가 또한 일반적인 콘볼루션을 연산을 위해 사용하지만, 콘볼루션 후에 추가되는 활성화 함수는 시그모이드(sigmoid)이며, 즉, 출력 값들의 범위는 [0, 1]이다. 이 분기의 출력 값들의 범위를 부분적 콘볼루션의 마스크 이미지 값들의 범위로 설정함으로써, 콘볼루션 연산은 훈련 동안 마스크 이미지의 업데이트 규칙들을 학습하며, 따라서 마스크 이미지를 더 합리적으로 업데이트할 수 있다. 그 후, 포인트 곱셈(403)이 두 개의 분기들의 결과들에 대해 화소 단위로 수행되어 최종 특징 맵들, 다시 말하면, 출력 특징 맵들(이미지에서의 마스크 이미지 정보와 융합된 특징 맵들에 대응함)을 출력한다.
기존의 이미지 인페인팅 기술들이 이미지에서 제거될 개체 영역의 인페인팅을 실현할 수 있지만, 기존의 기술들에서 다음의 다양한 문제들이 개선될 수 있다:
예를 들어, 전통적인 이미지 프로세싱 방법에 기초한 이미지 인페인팅 솔루션의 경우, 이 솔루션에 따른 이미지 프로세싱 방법은 학습용이성(learnability)이 없지만, 이미지 화소들 사이의 거리만을 유사도를 판단하기 위한 기준으로서 사용하며, 이는 시맨틱 정보의 대비 부족(lack of contrast)으로 이어지며, 따라서 인페인팅 영역의 불합리한 시맨틱 정보를 초래할 것이다. 추가적으로, PatchMatch는 인페인팅을 스캐닝하는 슬라이딩 윈도우를 위해 제거될 개체 영역의 사이즈에 따라 경계 박스를 생성할 필요가 있다. 제거될 개체 영역이 큰 경우, 생성된 경계 박스가 또한 크고, 슬라이딩 윈도우가 슬라이딩될 필요가 있는 영역이 또한 크고, 따라서 데이터 프로세싱 시간을 증가시킨다. 슬라이딩 윈도우의 슬라이딩 횟수를 줄이기 위하여 슬라이딩 윈도우의 사이즈를 증가시킬 필요가 있으면, 슬라이딩 윈도우의 사이즈를 컴퓨팅하기 위해 채워질 영역과 이미지에서 슬라이딩 윈도우를 채울 영역 사이의 거리의 컴퓨테이션의 양이 증가하며, 이는 이미지 인페인팅 시간을 제거될 개체 영역의 면적에 비례하게 하며, 그 영역이 더 클수록, 알고리즘은 더 오래 걸린다.
학습 방법에 기초한 이미지 인페인팅 솔루션의 경우, 앞서의 설명에서부터, U-넷 구조는 기존의 이미지 인페인팅 네트워크의 기본 네트워크 아키텍처이고, 대부분의 이미지 인페인팅 네트워크들은 이 네트워크 아키텍처에 기초하여 설계된다는 것을 알 수 있다. 그러나, U-넷은 일반적인 콘볼루션들만을 사용한다. 이미지에서의 소실 영역의 면적이 큰 경우, 일반적인 콘볼루션들의 다운샘플링은 획득된 소실 영역의 해당 특징 맵 값이 0이 되게 한다. 일반적인 콘볼루션들의 다운샘플링이 충분한 수용 필드 정보를 얻을 수 없기 때문에, 이미지 업샘플링의 인페인팅 결과는 열악하고, 수동 인페인팅의 많은 흔적들과 일부 비복원 영역들은 인페인팅 결과에서 나타날 가능성이 있다. 추가적으로, U-넷의 입력은 컴퓨테이션 부하에 의해 제한되며, 그래서 입력 이미지 화소들이 매우 많으면, 요구되는 컴퓨테이션 오버헤드 또한 매우 높고 프로세싱 시간 오버헤드는 크다. 그러므로, 프로세싱 속력을 허용가능 범위 내에 있도록 하기 위하여, 이미지를 복구하기 위해 U-넷을 직접 사용하는 경우, 고선명 이미지에서부터 낮은 화소 사이즈를 갖는 이미지로 이미지를 스케일링하고 낮은 화소를 갖는 이미지를 U-넷 안으로 이미지 인페인팅을 위해 입력할 필요가 있으며, 이는 인페인팅 이미지의 낮은 화소와 열악한 인페인팅 효과를 초래한다.
부분적 콘볼루션 기반 U-넷과 같은 개선된 U-넷 구조를 위해, 고정된 마스크 이미지 업데이트 규칙이 사용자에 의해 설정될 수 있으며, 이는 네트워크가 상이한 채널들의 특징 데이터에 대해 고유한 업데이트된 마스크 이미지에 따라 특징 맵을 선택적으로 추출하게 함으로써, 네트워크에 대해 샘플링 결과들에 대한 불합리한 특징 맵 추출 및 "물고기 비늘 현상(fish scale phenomenon)"으로 이어지게 한다. 추가적으로, 수동으로 맞춤화된 마스크 이미지 업데이트 규칙은 적응적 메커니즘이 없다. 마스크 이미지 업데이트 규칙의 불합리한 정의의 경우 네트워크 인페인팅의 성능이 개선되는 것을 원할 때, 인페인팅 효과는 네트워크의 깊이 및 폭을 증가시킴으로써 개선될 수 있지만, 동시에 네트워크의 모델 사이즈가 또한 증가한다.
게이트식 콘볼루션 기반 U-넷이 학습 방법을 사용하여 마스크 이미지 업데이트 규칙을 학습하지만, 콘볼루션 연산을 사용하는 게이트식 콘볼루션에 의해 마스크 이미지 업데이트를 구현하는 프로세스 동안, 이전 계층으로부터 출력된 모든 특징 맵 데이터가 마스크 이미지 업데이트 분기에 의해 각각의 마스크 이미지를 업데이트하는데 요구된다. 이 방법은 다량의 데이터를 사용하여, 마스크 이미지 업데이트 분기에서 다수의 중복 콘볼루션 연산들을 초래하며, 추가로 콘볼루션 커널 학습 마스크 이미지 업데이트 규칙에 영향을 미친다. 그러므로, 게이트식 콘볼루션이 마스크 이미지에 따라 특징 추출을 수행할 때, 이는 특징들의 어떤 부분이 추출될 필요가 있는지와 어떤 부분이 추출될 필요가 없는지를 학습할 수 없다. 따라서, 그 메커니즘은 다음 두 가지 문제들이 있다: 한편으로는, 일부 불필요한 콘볼루션 연산들이 추가되며; 다른 한편으로는, 너무 많은 중복 데이터 입력이 콘볼루션 커널 가중값들을 훈련하는데 도움이 되지 않아, 네트워크가 마스크 이미지 업데이트 규칙을 학습하는데 영향을 미치고, 또한 최종 인페인팅 결과에서 "물고기 비늘 현상"을 야기한다.
실시예들은 기존의 이미지 인페인팅 기술들에서의 위의 기술적 과제들 중 적어도 하나를 해결할 수 있는 이미지 프로세싱 방법을 제공할 수 있다. 실시예들의 설명을 더 명확히 하기 위하여, 다음에서는 먼저 본 개시에 수반되는 다음의 여러 용어들을 도입하고 설명할 것이다:
프로세싱될 이미지는 개체 영역이 제거될 이미지를 지칭할 수 있고, 이미지에서 제거될 개체가 위치되는 영역은 제거될 개체 영역이라고 지칭될 수 있다.
프로세싱될 이미지의 마스크 이미지는 이미지 사이즈들이 프로세싱될 이미지와 일치하는, 다시 말하면, 화소들의 수가 프로세싱될 이미지와 일치하는 이미지를 지칭할 수 있다. 여기서, 마스크 이미지에서 제거될 개체 영역에 대응하는 화소 값은 0이고, 나머지 영역들의 화소 값은 1이다.
RPN(Region Proposal Network)은 입력 이미지 또는 입력 특징 맵에서 후보 박스(즉, 후보 영역)을 생성하는데 사용되고 있는 네트워크를 지칭할 수 있다. 그 네트워크의 출력은 보통은 두 개의 분기들을 포함하며, 그것들 중 하나는 후보 영역의 개체 영역 및 비개체 영역으로서의 확률들(그 영역이 후보 영역으로서 사용될 수 있는지의 여부를 나타내는 확률)이고, 그것들 중 다른 하나는 후보 영역의 네 개의 파라미터들이며, 이는 보통은 영역의 중심 좌표와 영역의 폭 및 높이를 말한다.
실시예들이 아래에서 상세히 설명될 것이다. 다음의 여러 특정 실시예들은 서로 조합될 수 있고, 동일하거나 유사한 개념들 또는 프로세스들이 일부 실시예들에서 반복되지 않을 수 있다. 본 개시의 실시예들은 첨부 도면들을 참조하여 아래에서 설명될 것이다.
도 5는 본 개시의 일 실시예에 따른 이미지 프로세싱 방법(500)의 흐름도를 예시한다. 그 도면에 도시된 바와 같이, 그 방법은, 동작 S510에서, 제거될 개체 영역을 포함하는 프로세싱될 이미지를 취득하는 것을 포함할 수 있다. 제거될 개체 영역은 제거 및 복원되도록 사용자에 의해 선택되는 이미지 영역을 말할 수 있다. 실시예들에서, 사용자는 이미지 인페인팅 소프트웨어에서 제거될 이미지를 열고 소프트웨어의 영역 선택 도구를 통해 제거될 영역을 선택할 수 있으며, 그 때 사용자에 의해 선택된 영역은 제거될 개체 영역이다.
동작 S520에서, 이미지 프로세싱 방법(500)은 프로세싱될 이미지의 마스크 이미지를 생성하는 것을 포함할 수 있다.
동작 S530에서, 이미지 프로세싱 방법(500)은 인페인팅 결과를 획득하기 위해, 프로세싱될 이미지 및 마스크 이미지에 따라 프로세싱될 이미지에서 제거될 개체 영역을 인페인팅하는 것을 포함할 수 있다.
본 개시의 일 실시예에서, 프로세싱될 이미지는 개체 제거를 요구하는 원본 이미지일 수 있거나 또는 원본 이미지를 사전 프로세싱한 후의 이미지일 수 있다. 실제 응용에서, 원본 이미지로부터 제거될 개체 영역을 선택한 후, 사용자는 선택된 개체 영역에 기초하여 원본 이미지를 사전 프로세싱할 수 있다. 예를 들어, 사용자는 원본 이미지에 대한 클리핑을 수행하여 프로세싱될 개체 영역을 포함하는 프로세싱될 이미지를 획득할 수 있거나, 또는 원본 이미지 또는 클리핑된 이미지로부터 제거될 개체 영역에 대한 추가의 프로세싱, 이를테면 제거될 개체 영역의 화소 값을 0으로 설정하는 것을 수행하여 프로세싱될 이미지를 획득할 수 있다.
본 개시의 일 실시예에서, 단계 S510에서, 제거될 개체 영역을 포함하는 프로세싱될 이미지를 취득하는 것은, 제거될 개체 영역을 포함하는 원본 이미지를 취득하는 것; 원본 이미지의 이미지 특징들을 추출하는 것; 및 제거될 개체 영역을 포함하는 프로세싱될 이미지를 획득하기 위해 원본 이미지의 이미지 특징들에 기초하여 원본 이미지에 대한 클리핑을 수행하는 것을 포함할 수 있다.
실제 응용들에서, 원본 이미지의 화소들이 매우 높으면, 다시 말하면, 원본 이미지의 해상도가 매우 높으면, 원본 이미지에 기초한 이미지 인페인팅을 위해 요구되는 컴퓨테이션 오버헤드 또한 매우 높아서, 큰 프로세싱 시간 오버헤드를 초래하며, 다시 말하면, 고선명 이미지들을 프로세싱하기 위한 시간 비용이 매우 높다. 그러나, 고선명 이미지가 프로세싱을 위해 단순히 저 화소 사이즈 이미지로 스케일링되면, 이는 더 낮은 화소들 및 열악한 이미지 인페인팅 효과를 갖는 인페인팅 결과로 이어질 것이다. 추가적으로, 복원될 이미지 영역의 면적이 크고 이미지가 원본 이미지에 기초하여 복구되는 경우, 기존의 이미지 인페인팅 솔루션에서는, 수동 인페인팅의 흔적들이 많고, 일부 영역들의 인페인팅을 할 수 없는 등의 문제들이 인페인팅에서 발생할 것이다.
위의 문제들을 해결하기 위하여, 본 개시의 일 실시예는 이미지 인페인팅을 수행하기 전에 원본 이미지의 이미지 특징들에 따라 원본 이미지에 대한 클리핑을 수행하여, 이미지의 시맨틱 정보에 기초하여 이미지 클리핑을 실현하고, 그 뒤에 이미지에서 제거될 영역의 인페인팅을 클리핑된 이미지에 기초하여 수행한다. 그 솔루션에 기초하면, 이미지 인페인팅이 클리핑된 이미지에 기초하기 때문에, 고선명 이미지들을 프로세싱하는 높은 레이턴시의 문제가 해결될 수 있으며, 여기서 클리핑은 원본 이미지를 직접 스케일링하는 대신 이미지 시맨틱 정보에 기초한다. 프로세싱될 이미지의 높은 화소들을 보장하는 것을 전제로, 클리핑된 프로세싱될 이미지 부분은 제거될 개체 영역을 인페인팅하는데 사용될 수 있는 가능한 한 많은 정보를 포함할 수 있으며, 다시 말하면, 원본 이미지에서 이미지 인페인팅을 위해 사용될 수 있는 유용한 정보가 가능한 한 많이 유지될 수 있으며, 따라서 이미지의 인페인팅 효과를 보장할 수 있다.
이 솔루션을 통해, 원본 이미지의 프로세싱은 원본 이미지의 로컬 영역의 프로세싱으로 변환될 수 있고, 원본 이미지의 화소 정보는 가능한 한 많이 유지될 수 있다. 제거될 개체 영역이 작은 경우, 솔루션은 기본적으로는 원본 이미지의 화소 정보를 완전히 유지할 수 있고, 제거될 개체 영역이 큰 경우, 원본 이미지의 소실 정보는 상대적으로 제한될 수 있어서, 제거될 개체 영역의 인페인팅 효과는 보장될 수 있다. 이미지 인페인팅이 이미지 인페인팅 모델을 통해 수행되는 경우, 그 모델에 의해 입력된 화소 사이즈는 효과적으로 감소될 수 있고 유용한 정보가 솔루션을 통해 가능한 한 많이 유지될 수 있다.
본 개시의 실시예에 의해 제공되는 솔루션에서, 원본 이미지는 고선명 이미지, 예를 들어 1024*1024 개 화소들보다 높은 해상도를 갖는 이미지와 같이 특정한 해상도보다 높은 해상도를 갖는 이미지, 또는 비고선명 이미지일 수 있다는 것에 주의해야 한다. 다시 말하면, 본 개시의 실시예에 따른 이미지 클리핑 솔루션은 모든 유형들의 이미지들에 적용 가능할 수 있다.
본 개시의 일 실시예에서, 제거될 개체 영역을 포함하는 프로세싱될 이미지를 획득하기 위해 원본 이미지의 이미지 특징들에 기초하여 원본 이미지에 대한 클리핑을 수행하는 단계는, 원본 이미지의 이미지 특징들에 기초하여 원본 이미지에서 제거될 개체 영역을 포함하는 후보 영역들을 결정하는 단계; 후보 영역들로부터 개체 영역을 선별하는 단계; 및 제거될 개체 영역을 포함하는 프로세싱될 이미지를 획득하기 위해 선별된 개체 영역에 따라 원본 이미지에 대한 클리핑을 수행하는 단계를 포함한다.
일 실시예에서, 그 솔루션은 제거될 개체 영역 및 원본 이미지의 이미지 특징들에 기초하여 복수의 후보 영역들을 먼저 획득하며, 이미지 특징들에 기초하여 복수의 후보 영역들로부터 개체 영역을 추가로 선별하고, 프로세싱될 이미지를 획득하기 위해 개체 영역에 기초하여 원본 이미지에 대한 클리핑을 수행할 수 있다. 각각의 후보 영역이 또한 이미지 특징들에 기초하여 원본 이미지로부터 결정되기 때문에, 각각의 후보 영역은 원본 이미지의 더 많은 이미지 정보를 포함할 수 있다. 이를 기반으로, 가장 합리적인 개체 영역을 획득하기 위해서, 추가의 선별이 원본 이미지의 이미지 특징들에 기초하여 복수의 후보 영역들에 대해 수행될 수 있다. 다시 말하면, 가장 많은 원본 이미지 정보를 유지하는 개체 영역은 더 많은 원본 이미지 정보를 포함하는 후보 영역들로부터 선별될 수 있고, 최적의 프로세싱될 이미지 부분은 개체 영역에 기초하여 클리핑될 수 있다.
일 실시예에서, 제거될 개체 영역 및 원본 이미지의 이미지 특징들에 기초하여, 원본 이미지에서 제거될 개체 영역을 포함하는 각각의 후보 영역은 RPN과 같은 신경망에 의해 결정될 수 있다.
본 개시의 일 실시예에서, 원본 이미지의 이미지 특징들에 기초하여 후보 영역들을 결정하는 단계는, 제거될 개체 영역의 영역 사이즈를 결정하는 단계; 영역 사이즈가 설정된 임계값보다 크지 않으면, 원본 이미지의 이미지 특징들 및 원본 이미지에서 제거될 개체 영역의 로케이션 정보에 따라 제1 설정 영역 사이즈를 갖는 각각의 후보 영역을 획득하는 단계; 및 영역 사이즈가 설정된 임계값보다 크면, 원본 이미지의 이미지 특징들 및 원본 이미지에서 제거될 개체 영역의 로케이션 정보에 따라 제2 설정 영역 사이즈를 갖는 각각의 후보 영역을 획득하는 단계를 포함할 수 있다.
제거될 개체 영역의 사이즈는 제거될 개체 영역의 면적을 의미할 수 있다. 실제 이미지 프로세싱에서, 사용자에 의해 선택되는 제거될 개체 영역은 불규칙 영역(irregular region)일 수 있다. 이미지 프로세싱에서, 제거될 개체 영역의 사이즈는 구체적으로는 제거될 개체 영역의 최소 외접 직사각형의 사이즈일 수 있다.
일 실시예에 따르면, 이미지 클리핑 솔루션이 제거될 개체 영역의 영역 사이즈에 따라 실행될 수 있어서, 클리핑된 프로세싱될 이미지는 제거될 개체 영역을 포함하면서도 인페인팅 영역에 대한 더 많은 다른 이미지 정보를 포함할 수 있다. 그 솔루션에 기초하여, 제거될 개체 영역의 실제 사이즈가 고려되지 않는다는 사실로 인해 클리핑된 이미지에 포함되는 개체 영역을 인페인팅하기 위한 이미지 정보가 너무 적어 후속 이미지 인페인팅 효과가 열악하다는 문제는 효과적으로 회피될 수 있다.
제1 설정 영역 사이즈와 제2 설정 영역 사이즈는 실제 애플리케이션 요건들에 따라 설정될 수 있다. 대안적으로, 제2 설정 영역 사이즈는 제1 설정 영역 사이즈에 기초하여 결정될 수 있고, 위의 설정된 임계값은 제1 설정 영역 사이즈에 기초하여 결정될 수 있거나 또는 경험적 값들에 기초하여 설정될 수 있다. 제1 설정 영역 사이즈는 후속 이미지 인페인팅 네트워크에 의해 요구되는 입력 이미지의 사이즈일 수 있다. 제1 설정 영역 사이즈와 제2 설정 영역 사이즈 사이의 사이즈 관계는 제한되지 않을 수 있으며, 다시 말하면, 제2 설정 영역 사이즈는 제1 설정 영역 사이즈보다 작을 수 있고 제2 설정 영역 사이즈는 제1 설정 영역 사이즈보다 클 수 있다. 일 실시예에서, 취득된 프로세싱될 이미지가 원본 이미지의 가능한 많은 정보를 포함하도록 하기 위하여, 제2 설정 영역 사이즈는 제1 설정 영역 사이즈보다 클 수 있다.
본 개시의 일 실시예에서, 선별된 개체 영역이 제2 설정 영역 사이즈를 갖는 후보 영역이면 프로세싱될 이미지를 획득하기 위해 선별된 개체 영역에 따라 원본 이미지를 클리핑하는 단계는, 제2 설정 영역 사이즈를 갖는 클리핑된 이미지를 획득하기 위해 선별된 개체 영역에 따라 원본 이미지를 클리핑하는 단계; 및 제거될 개체 영역을 포함하는 프로세싱될 이미지를 획득하기 위해 제1 설정 영역 사이즈에 따라 클리핑된 이미지를 스케일링하는 단계를 포함한다.
이미지 인페인팅이 기존의 이미지 인페인팅 모델에 의해 실현될 수 있기 때문에 그리고 모델의 입력 이미지 사이즈들을 일관되게 하기 위하여, 제2 설정 영역 사이즈를 갖는 프로세싱될 이미지가 획득될 때 제2 설정 영역 사이즈를 갖는 프로세싱될 이미지는 스케일링에 의해 제1 설정 영역 사이즈로 스케일링될 수 있다. 다시 말하면, 모델의 입력 이미지 사이즈는 제1 설정 영역 사이즈일 수 있다. 제거될 개체 영역의 면적이 크고 제2 설정 영역 사이즈가 제1 설정 영역 사이즈보다 큰 경우, 솔루션을 통해, 프로세싱될 이미지의 화소 사이즈는 더 감소될 수 있으며, 모델의 데이터 프로세싱 양은 감소될 수 있고, 모델의 이미지 프로세싱 효율은 개선될 수 있다.
본 개시의 일 실시예에서, 위의 스케일링 프로세싱이 클리핑된 이미지에 대해 수행되면, 인페인팅 결과를 획득한 후, 실시예는 위의 클리핑된 이미지가 스케일링되는 스케일링 비율에 기초하여 제2 설정 영역 사이즈를 갖는 인페인팅 결과를 획득하기 위해 인페인팅 결과에 대해 해당 스케일링 프로세싱을 수행하는 단계; 및 원본 이미지에 대응하는 인페인팅 결과를 획득하기 위해 스케일링 프로세싱 후의 인페인팅 결과와 원본 이미지에 대해 융합 프로세싱을 수행하는 단계를 더 포함할 수 있다.
실제 응용에서, 원본 이미지에 대응하는 인페인팅 결과를 획득하기 위해 프로세싱될 이미지에서 제거될 개체 영역의 인페인팅을 완료한 후 인페인팅 결과를 원본 이미지와 융합하기 위하여, 프로세싱될 이미지가 클리핑된 이미지를 스케일링 프로세싱(제1 스케일링 프로세싱)한 후의 이미지이면, 해당 스케일링 프로세싱(제2 스케일링 프로세싱)은 인페인팅 결과의 사이즈를 제1 스케일링 프로세싱 전의 사이즈로 프로세싱하기 위해 스케일링 프로세싱의 스케일링 비율에 기초하여 다시 수행될 필요가 있다. 구체적으로는, 제2 설정 영역 사이즈가 제1 설정 영역 사이즈보다 크면, 제1 스케일링 프로세싱은 축소 프로세싱일 수 있고 제2 스케일링 프로세싱은 확대 프로세싱일 수 있다. 반면에, 제2 설정 영역 사이즈가 제1 설정 영역 사이즈보다 작으면, 제1 스케일링 프로세싱은 확대 프로세싱일 수 있고 제2 스케일링 프로세싱은 축소 프로세싱일 수 있다. 옵션적으로, 제2 설정 영역 사이즈가 제1 설정 영역 사이즈보다 작은 경우, 제2 스케일링 프로세싱은 구체적으로는 초해상 프로세싱일 수 있으며, 이는 인페인팅 결과를 스케일링 전의 이미지 사이즈로 복원한다.
일 실시예에서, 스케일링된 인페인팅 결과, 다시 말하면, 제2 스케일링 프로세싱 후의 이미지를 획득한 후, 스케일링된 이미지는 본 개시에서 제한되지 않는 원본 이미지에 대응하는 인페인팅 결과를 획득하기 위해 원본 이미지와 융합될 수 있다. 예를 들어, 제2 스케일링 프로세싱 후의 이미지는 원본 이미지에 대응하는 인페인팅 결과를 획득하기 위해 프로세싱될 이미지 부분을 제외한 원본 이미지의 다른 이미지 부분들과 스플라이싱될 수 있고, 얼마간의 사전 프로세싱이 스플라이싱된 에지들을 더 매끈하고 더 자연스럽게 하기 위해 스플라이싱하는 동안 스플라이싱될 두 개의 부분들의 에지들에 대해 수행될 수 있다.
본 개시에 의해 제공되는 시맨틱 정보에 기초하여 위의 이미지 클리핑 솔루션을 더 잘 설명하고 이해하기 위하여, 이미지 클리핑 솔루션은 특정 예와 함께 아래에서 더 상세히 설명될 것이다.
이 예에서, 원본 이미지는 고선명 이미지(예컨대, 1024*1024 개 화소들보다 큰 해상도를 갖는 이미지)이며, 제1 설정 영역 사이즈는 n*n 개 화소들이며, 제2 설정 영역 사이즈는 m*m 개 화소들이고, 설정된 임계 값은 제1 설정 영역 사이즈의 k배이며, 여기서 k < 1이다. 구체적으로는, 이 예에서, 원본 이미지는 2048*2048 개 화소들의 이미지이며, n=512, k=0.3 및 이다. 다르게 말하면, 설정된 임계값에 대응하는 이미지 면적은 클리핑 후에 획득된 프로세싱될 이미지의 면적의 0.3배이다.
기존의 깊이 학습 기반(depth learning-based) 알고리즘을 사용하면, 고선명 이미지들을 빠르게 프로세싱하기가 어려울 수 있다. 원래의 고선명 이미지들이 이미지 인페인팅 네트워크에 직접 입력되면, 매우 다량의 컴퓨테이션 자원들이 요구될 것이며, 이는 모델의 추론 과정의 시간 소비를 증가시킬 것이며, 따라서 고선명 이미지 개체들의 제거에 있어서 기존의 깊이 학습 알고리즘이 느려지게 한다. 깊이 학습 알고리즘을 신속히 실행하여 고품위 이미지들을 프로세싱할 수 있기 위하여, 원본 이미지는 제거될 영역에 따라 클리핑될 수 있고, 전체 원본 이미지를 이미지 인페인팅 네트워크에 입력하는 대신, 누락 부분(제거될 개체 영역)에 유사한 영역은 원본 이미지로부터 클리핑되고 이미지 인페인팅 네트워크에 입력 이미지로서 입력될 수 있으며, 즉, 이미지 개체 제거가 클리핑된 이미지를 사용하여 수행될 수 있다.
이 예에서, 2048*2048 개 화소들의 고선명 이미지는 구체적으로는 제거될 영역에 따라 512*512 개 화소들의 이미지들로 클리핑될 수 있고, 그 다음에 이미지 개체 제거가 클리핑된 이미지들에 대해 수행될 수 있다. 도 6 및 도 7은 본 개시의 일 실시예에 따른 시맨틱 정보 기반 이미지 클리핑 방법의 흐름도들을 예시한다. 이 예에서, 각각의 후보 직사각형 영역은 원본 이미지의 이미지 특징들에 기초하여 결정될 수 있고, 개체 영역이 후보 영역들로부터 선별될 수 있으며, 이는 구체적으로는 Faster-RCNN(Regions with Convolutional Neural Network)에 의해 실현될 수 있다. 이 예에서, 도 7에 도시된 바와 같이, Faster-RCNN은 RPN과 분류 네트워크를 포함할 수 있다. 이 예의 클리핑 방법의 일 실시예가 다음과 같다.
동작 S601에서, 사용자는 제거될 개체의 영역, 즉, 제거될 개체 영역을 예를 들어 원본 이미지일 수 있는 고선명 이미지 상에 그린다. 제거될 개체는 제거될 개체 또는 개체 영역이라고 또한 지칭될 수 있고, 그러면 고선명 이미지에서의 제거될 개체의 영역은 사전 프로세싱된 이미지(예를 들어 도 7에 도시된 원본 이미지(701))를 획득하기 위해 0이 되도록 제거될 개체 영역의 화소 값을 조정하는 것과 같이 사전 프로세싱될 수 있다.
고선명 이미지의 이미지 특징들을 추출할 때, 이미지 특징들은 사전 프로세싱 전에 고선명 이미지에 기초하여 추출될 수 있거나, 사전 프로세싱 후에 고선명 이미지에 기초하여 추출될 수 있거나, 또는 사전 프로세싱 전 또는 후에 고선명 이미지를 스케일링한 후 스케일링된 이미지에 기초하여 추출될 수 있다. 다시 말하면, 고선명 이미지를 저 화소 이미지로 스케일링한 후, 특징 추출은 수행될 수 있다. 예를 들어, 2048*2048 개 화소들의 이미지가 512*512 개 화소들의 이미지로 스케일링될 수 있다. 여기서, 이미지 특징들의 추출은 신경망을 통해 실현될 수 있다. 예를 들어, 이미지의 특징 맵(이는 또한 이미지 특징들이라고 지칭될 수 있음)은 모바일 네트워크(mobile-net)를 통해 추출되고 RPN에 입력될 수 있다.
제거될 개체 영역의 영역 사이즈, 즉, 제거될 개체 영역의 면적을 결정하기 위하여, 제거될 개체 영역의 중앙점, 즉, 최소 외접 매트릭스의 중앙점 좌표들 (x, y)는, 제거될 개체 영역의 최소 외접 직사각형에 따라 예를 들어 동작 S602에서 발견되고 동작 S603에서 RPN에 입력될 수 있다. 일 예로서, 도 6의 동작 S603 및 S602는 도 7의 "개체 영역의 중앙점 (x, y)를 컴퓨팅하고 그것을 RPN에 입력하는 것"에 해당할 수 있다. 제거될 개체 영역의 면적(N)을 추가로 컴퓨팅하고 제거될 개체 영역의 면적에 기초하여 각각의 후보 영역의 사이즈, 다시 말하면, 각각의 후보 직사각형 박스의 사이즈를 결정하는 것이 동작 S602에서 또한 가능하다. 도 6에 도시된 바와 같이, 동작 S604에서 개체 영역의 사이즈가 임계 사이즈 위인 것으로 결정되면, 클리핑될 영역의 사이즈는 개체 영역의 면적에 따라 동작 S605에서 결정될 수 있고, 그 사이즈는 또한 동작 S606에서 RPN에 입력되어서, RPN은 동작 S607에서 추출된 이미지 특징들(다시 말하면, 원본 이미지의 특징 맵), 제거될 개체 영역의 중앙점 좌표 (x, y), 및 후보 영역의 사이즈에 기초하여 제거될 개체 영역을 포함하는 복수의 후보 영역들을 생성할 수 있다.
RPN은 제거될 개체 영역들의 상이한 면적들에 따라 상이한 사이즈들을 갖는 후보 영역 박스들을 생성할 수 있다. 예를 들어, RPN은 후보 영역 직사각형 박스들 및 후보 박스들이라고 또한 지칭될 수 있는 후보 영역 박스들을 생성할 수 있다. 그렇게 하기 위하여, RPN은 중앙점 좌표들, 후보 영역 박스들의 길이 및 폭과 같은 파라미터 정보를 출력할 수 있고, 하나의 후보 영역 박스는 하나의 후보 영역에 대응할 수 있다. 예를 들어, RPN은 입력 후보 영역의 사이즈에 따라 점 (x, y)에서 시작하는 후보 영역 박스를 생성할 수 있다. 예를 들어, 동작 S604에서 제거될 개체 영역의 면적이 입력 이미지(입력 이미지는 이미지 인페인팅 네트워크에 입력되는 이미지, 즉, 클리핑된 프로세싱될 이미지임)의 면적의 k배를 초과하지 않으면, 예를 들어, 만약 이 예의 입력 이미지의 면적이 512*512이며, 여기서 k는 0.3이고, 제거될 개체 영역의 면적이 512*512*0.2이면, 그 면적은 512*512*0.3보다 작으며, 이 경우 후보 영역의 사이즈는 512*512이며, 이는 동작 S608에서 RPN에 입력될 수 있고, RPN은 제거될 영역의 최소 외접 직사각형을 덮을 수 있는 영역에서 512*512의 직사각형 박스 사이즈로 후보 영역을 동작 S609에서 랜덤하게 생성할 수 있다. 도 7에서, RPN 후의 상부 분기에 대응하는 이미지(702)에서의 각각의 점선 박스는 후보 직사각형 박스일 수 있고, 원은 제거될 개체 영역의 중앙점 좌표에 대응할 수 있다. 제거될 개체 영역의 면적이 입력 이미지의 k배보다 크면, 후보 박스의 변의 길이(m)(이는 m 개 화소들로서 이해될 수 있음)는 동작 S606에서 이 예의 공식 에 의해 결정될 수 있다. 구체적으로는, 이며, 여기서 m*m은 RPN에 의해 생성된 후보 영역의 직사각형 박스 사이즈이며, n은 원본 이미지의 스케일링된 이미지의 사이즈이며, k는 크로핑된 이미지의 면적에 의해 나누어진 제거될 영역의 면적의 값이다. 이때, 동작 S607에서 RPN은 제거될 영역의 최소 외접 직사각형을 덮을 수 있는 영역에 m*m 개 화소들의 사이즈를 갖는 후보 영역 직사각형 박스를 랜덤하게 생성할 수 있고, 도 7의 RPN 후의 하위 분기에 대응하는 이미지(703)에서의 각각의 점선 박스는 이때 후보 영역 직사각형 박스일 수 있다.
RPN을 통해 복수의 후보 영역 직사각형 박스들을 생성한 후, 분류 네트워크는 모바일-넷에 의해 추출된 이미지 특징들에 따라 생성된 복수의 직사각형 박스들 중에서 가장 합리적인 직사각형 박스를 예측하는데 사용될 수 있으며, 다시 말하면, 개체 영역은 동작 S610 또는 동작 S611에서 복수의 후보 영역들로부터 선별될 수 있고, 이미지는 제거될 개체 영역을 포함하는 프로세싱될 이미지를 획득하기 위해 원본 이미지에서의 직사각형 박스에 대응하는 영역에 따라 동작 S612 또는 동작 S613에서 클리핑될 수 있다. 구체적으로는, 분류 네트워크의 입력은 모바일-넷에 의해 추출된 특징 맵과, RPN에 의해 출력되는 위에서 언급된 중앙점 좌표, 길이, 각각의 후보 영역 직사각형 박스의 폭 및 다른 파라미터 정보를 포함할 수 있고, 분류 네트워크는 입력 정보에 따라 개체 영역, 즉, 개체 직사각형 박스를 선별할 수 있다. 도 7의 개략도에 도시된 바와 같이, 그 도면에서 도시된 원본 이미지(701)는 잔디에 서 있는 사람을 포함하는 이미지일 수 있으며, 원본 이미지에서의 제거될 개체 영역은 원본 이미지(701)에서 흰색으로 도시된 영역일 수 있으며, RPN 705에 의해 출력된 복수의 후보 직사각형 박스들과 모바일-넷(704)에 의해 추출된 특징 맵은 분류 네트워크(706)에 입력될 수 있고, 개체 후보 박스는 분류 네트워크(706)의 출력에 기초하여 획득될 수 있다. 실시예들에서, 분류 네트워크의 출력은 각각의 후보 직사각형 박스의 확률 값 또는 점수일 수 있고, 최고 확률 값 또는 점수를 갖는 후보 직사각형 박스는 개체 후보 박스로서 사용될 수 있다. 그 개략도에 도시된 바와 같이, 하나의 후보 직사각형 박스(707)에서의 이미지 영역의 90%는 잔디이고, 다른 후보 직사각형 박스(708)에서 이미지 영역의 60%는 잔디이고 그것의 20%는 하늘이다. 분류 네트워크는 영역의 90%가 잔디인 후보 직사각형 박스(707)가 제거될 영역을 포함하는 인페인팅 원본 이미지(701)에 대한 더 많은 정보를 포함한다고 판단할 수 있으며, 그러면 후보 직사각형 박스(707)는 개체 직사각형 박스로서 결정되고, 개체 직사각형 박스에 따라 원본 이미지(701)로부터 이미지가 클리핑되며, 여기서 직사각형 후보 박스(707)에 대응하는 원본 이미지(701)에서의 영역은 클리핑된 이미지(709)이다. 이 예의 원본 이미지(701)의 경우, 제거될 영역이 그 이미지에서 잔디 위에 서 있는 두 사람들을 포함하고 원본 이미지에서 두 사람들이 차지한 영역이 하늘과 교차하지 않으므로, 위의 두 개의 개략적 후보 직사각형 박스들에서, 영역의 90%가 잔디인 후보 직사각형 박스(707)는 더 합리적인 후보 직사각형 박스이다. 본 개시의 실시예에 기초하여, 이미지 인페인팅을 위한 더 많은 원본 이미지 정보를 포함하는 프로세싱될 이미지는 획득될 수 있으며, 이는 이미지 인페인팅의 효과를 개선하기 위한 기반을 제공한다.
일 실시예에서, 제거될 개체 영역의 사이즈, 즉, 면적(N)이, n*n*k보다 작으면, 이를테면 512*512*30%보다 작으면, 클리핑될 영역의 사이즈는 512*512이고, 그 사이즈에 따라 PRN에 의해 생성된 각각의 후보 영역 직사각형 박스에 대응하는 각각의 후보 영역의 사이즈는 512*512이다. 분류 네트워크는 모바일-넷에 의해 생성된 특징 맵에 따라 RPN에 의해 생성되는 복수의 후보 영역들의 직사각형 박스들로부터 가장 합리적인 영역 박스를 직접 분류할 수 있다. 프로세싱될 이미지는 영역 박스에 기초하여 클리핑될 수 있다. 대응하는 마스크 이미지가 생성될 수 있다. 위의 두 개의 이미지들은 이미지 인페인팅 네트워크에 입력될 수 있다. 인페인팅이 완료된 후, 인페인팅 결과는, 복원된 원본 이미지를 획득하기 위해 프로세싱될 이미지를 제외한 원본 이미지의 다른 부분들과 인페인팅 결과를 스플라이싱하는 것과 같이, 원본 이미지와 융합될 수 있다. 제거될 개체 영역의 사이즈, 다시 말하면, 면적(N)이, n*n*k보다 크면, 이를테면 512*512*30%보다 크면, 예를 들어 도 6의 동작 S614에서, 분류 네트워크에 의해 선별된 m*m 사이즈를 갖는 가장 합리적인 영역은 512*512 사이즈로 스케일링될 수 있고, 그러면 대응하는 마스크 이미지들이 스케일링된 이미지에 따라 생성될 수 있고, 스케일링된 비율(∂)은 나중의 스테이지의 이미지 초해상 프로세싱을 위한 파라미터로서 기록될 수 있다. 그 다음에, 이미지의 인페인팅이 동작 S615에서 완료된 후, 인페인팅 결과는 스케일링 비율(∂)에 따라 초해상 프로세싱 기술을 사용하여 동작 S616에서 m*m 사이즈, 예를 들어 도 6에 도시된 (m, m)으로 복원될 수 있고, 복원된 이미지는 복원된 원본 이미지를 획득하기 위해 동작 S617에서 원본 이미지와 융합될 수 있다.
원본 이미지에 기초하여 클리핑된 이미지의 사이즈가 768*768 개 화소들인, 즉, 후보 박스의 사이즈가 m*m=768*768인 일 예에서, 제거될 개체 영역을 포함하는 이 사이즈의 이미지를 클리핑한 후, 이미지는 프로세싱될 이미지를 획득하기 위해 512*512 개 화소들로 스케일링될 수 있고, 이때 스케일링 비율은 1.5이다. 이미지 인페인팅 네트워크를 통해 프로세싱될 이미지의 인페인팅 동작을 완료한 후, 인페인팅 결과를 원본 이미지와 융합하기 위하여, 인페인팅 후의 512*512 개 화소들의 이미지는 768*768 개 화소들로 초해상될 필요가 있고, 그러면 초해상 프로세싱된 이미지는 최종 개체 제거가 완료된 후 원본 이미지를 획득하기 위해 원본 이미지의 나머지 부분과 스플라이싱될 수 있다.
실제 응용들에서, 이미지 초해상 프로세싱을 위한 네트워크 구조가 이미지 인페인팅 네트워크 후에 추가될 수 있고, 네트워크 구조의 특정 형태는 실제 요건들에 따라 구성될 수 있다. 프로세싱될 이미지가 스케일링된 이미지이념, 이미지 인페인팅 네트워크는 인페인팅 결과를 출력한 후 네트워크 구조를 통해 인페인팅 결과에 대한 초해상 프로세싱을 수행할 수 있다. 초해상 프로세싱의 스케일링 파라미터, 즉 스케일링 비율은, 스케일링 프로세싱에 대응하는 스케일링 비율일 수 있다. 프로세싱될 이미지가 스케일링 프로세싱이 없는 이미지, 다시 말하면, 클리핑 후에 바로 획득된 이미지이면, 동작 S618의 인페인팅 결과는 초해상 프로세싱 없이 동작 S619에서 원본 이미지의 나머지 부분과 스플라이싱될 수 있거나, 또는 인페인팅 결과는 또한 스케일링 비율이 1인 초해상 프로세싱을 위해 네트워크 구조에 입력될 수 있다.
일 예로서, 도 8은 실시예에 따른 이미지 초해상 프로세싱을 위한 네트워크 구조의 개략도를 예시한다. 도 8에 도시된 바와 같이, 네트워크 구조는 복수의 밀한 블록들을 포함하는 밀한 블록 네트워크 계층이고, 각각의 계층의 밀한 블록들은 배치 정규화(batch normalization)(BN) 동작을 삭제하는 동안 잔차 내 잔차 법(Residual-in-Residual method)을 사용한다. 다시 말하면, 잔차 블록이 밀한 네트워크(Densenet)에서 밀한 블록과 통합될 수 있고, 밀한 블록에서의 BN 구조들은 삭제될 수 있다. 초해상 프로세싱이 네트워크 구조를 통해 수행되는 경우, 각각의 계층의 밀한 블록들이 스케일링 비율(∂)에 따라 입력 이미지에 대해 초해상 프로세싱을 수행하고 인페인팅 결과와 각각의 계층의 밀한 블록들의 출력 특징 맵을 융합할 수 있어서, 최종 초해상 프로세싱된 결과(이미지에서 초해상 결과에 대응함)는 더 많은 텍스처 정보를 획득하며, 더 나은 이미지 초해상 결과들을 성취하고, 이미지 인페인팅 네트워크에 의해 출력된 인페인팅 결과를 스케일링 전에 클리핑된 이미지의 사이즈로 복원할 수 있다.
본 개시의 일 실시예에서, 인페인팅 결과를 획득하기 위해 프로세싱될 이미지 및 마스크 이미지에 따라 프로세싱될 이미지에서 제거될 개체 영역을 인페인팅하는 단계는, 프로세싱될 이미지 및 마스크 이미지에 기초하여 인코딩 네트워크를 통해 프로세싱될 이미지에 대응하는 융합 특징 맵을 추출하는 단계; 및 추출된 융합 특징 맵에 기초하여 인페인팅 결과를 획득하기 위해 디코딩 네트워크를 통해 프로세싱될 이미지에서 제거될 개체 영역을 인페인팅하는 단계를 포함한다.
프로세싱될 이미지와 프로세싱될 이미지에 대응하는 마스크 이미지를 획득한 후, 이미지 인페인팅 네트워크는 프로세싱될 이미지 및 마스크 이미지에 기초한 깊이 학습 기술을 사용함으로써 프로세싱될 이미지에서 제거될 개체 영역에 대해 이미지 인페인팅을 수행하기 위해 채택될 수 있다. 이미지 인페인팅 네트워크는 구체적으로는 위에서 언급된 인코딩 네트워크 및 디코딩 네트워크 둘 다를 포함할 수 있다. 인코딩 네트워크는 마스크 이미지 정보와 융합된 융합 특징 맵을 추출하기 위해 이미지 다운샘플링 프로세싱을 위해 사용될 수 있다. 디코딩 네트워크는 인페인팅 결과를 획득하기 위해 인코딩 네트워크에 의해 입력된 각각의 계층의 융합 특징 맵에 기초하여 업샘플링 프로세싱을 수행할 수 있다.
본 개시의 일 실시예에서, 인코딩 네트워크와 디코딩 네트워크는 각각 적어도 하나의 제1 콘볼루션 모듈을 포함할 수 있다. 각각의 제1 콘볼루션 모듈은 입력 융합 특징 맵에 따라 콘볼루션 프로세싱을 수행하고 콘볼루션 프로세싱에 의해 획득된 융합 특징 맵을 출력할 수 있다.
인코딩 네트워크와 디코딩 네트워크가 복수의(예컨대, 두 개의) 제1 콘볼루션 모듈들을 포함하는 경우, 복수의 제1 콘볼루션 모듈들은 순차적으로 캐스케이드 연결될 수 있으며, 다시 말하면, 기존의 콘볼루션 모듈의 입력은 이전 콘볼루션 모듈의 출력일 수 있고, 기존의 콘볼루션 모듈의 출력은 다음의 콘볼루션 모듈의 입력일 수 있다는 것이 이해될 수 있다. 추가적으로, 인코딩 네트워크의 제1 콘볼루션 모듈의 제1 입력은 프로세싱될 이미지에 대응하는 마스크 이미지와 프로세싱될 이미지일 수 있다는 것이 이해될 수 있다.
실제 응용에서, 일 실시예에서, 복수의 제1 콘볼루션 모듈들이 있을 수 있다. 이때, 제거될 개체 영역이 복구되는 경우, 프로세싱될 이미지의 다수의 계층들에서 마스크 이미지 정보 및 프로세싱될 이미지의 정보와 융합된 특징 맵들은 인코딩 네트워크를 통해 추출될 수 있고, 동시에 프로세싱될 이미지의 하위 계층 특징들 및 상위 계층 특징들은 획득될 수 있다. 상위 계층 특징들이 더 나은 특징 표현 능력을 갖고 하위 계층 특징들이 프로세싱될 이미지들의 더 많은 기초를 이루는 시맨틱 정보를 포함하기 때문에, 상이한 계층들의 다수의 특징 맵들에 기초하여 제거될 개체 영역들의 인페인팅은 이미지들의 인페인팅 효과를 효과적으로 개선시킬 수 있다.
구체적으로는, 인코딩 네트워크 및 디코딩 네트워크의 특정 네트워크 구조들은 실제 요건들에 따라 구성될 수 있으며, 예를 들어, 게이트식 콘볼루션(Gated Conv) 네트워크 구조에 의해 실현될 수 있다. 게이트식 콘볼루션 네트워크 구조에서 콘볼루션 모듈들의 콘볼루션 프로세싱 방법은 기존의 콘볼루션 프로세싱 방법을 채택할 수 있고, 확장된 콘볼루션 프로세싱 방법과 같은 다른 콘볼루션 프로세싱 방법들을 또한 채택할 수 있다.
앞서의 설명으로부터, 깊이 학습 알고리즘에 기초한 기존의 이미지 인페인팅 솔루션들은 주로 인페인팅 결과에서의 "물고기 비늘 현상"의 문제, 제거될 영역이 클 때 불완전한 인페인팅의 문제, 및 인페인팅 네트워크 모델의 큰 사이즈의 문제를 가짐을 알 수 있다. 본 개시의 실시예들은 이들 문제들을 완화하거나 또는 해결하는 것에 관한 것일 수 있다.
본 개시의 일 실시예에서, 인코딩 네트워크는 인코딩 네트워크의 마지막 제1 콘볼루션 모듈과 캐스케이드되는 적어도 하나의 제2 콘볼루션 모듈을 더 포함할 수 있다.
제2 콘볼루션 모듈은 입력 융합 특징 맵에 따라 확장된 콘볼루션(dilated Conv) 프로세싱 방법, 즉 확장된 콘볼루션 메커니즘을 채택함으로써, 콘볼루션 프로세싱을 수행할 수 있고, 콘볼루션 프로세싱 후에 획득된 융합 특징 맵을 출력할 수 있다.
본 개시의 일 실시예에서, 적어도 두 개의 제2 콘볼루션 모듈들이 있으면, 적어도 두 개의 제2 콘볼루션 모듈들은 순차적으로 캐스케이드될 수 있고, 제2 콘볼루션 모듈들 중 적어도 두 개의 것들의 콘볼루션 파라미터들은 상이할 수 있으며, 여기서 콘볼루션 파라미터들은 확대 비율들 포함할 수 있지만 그것들로 제한되지 않는다.
기존의 콘볼루션 연산을 통해 특징 맵을 추출하기 위해 다운샘플링하는 경우, 다운샘플링 동안의 콘볼루션 커널의 제한된 수용 필드 영역으로 인해, 이미지 특징 정보는 특히 제거될 개체 영역의 면적이 클 때 제거될 영역에서 효과적으로 추출되지 않을 수 있으며, 이는 업샘플링 동안 이미지의 소실 영역을 완전히 복원할 수 없게 할 수 있다. 그러나, 확장된 콘볼루션 메커니즘을 사용하면, 수용 필드는 원래의 콘볼루션 컴퓨테이션량을 유지하면서도 증가될 수 있어서, 특징 맵에서의 각각의 엘리먼트 포인트는 이미지에서 정보를 획득하며, 따라서 제거될 개체 영역이 클 때 일부 영역들이 복구될 수 없다는 문제를 해결할 수 있다.
추가적으로, 본 개시의 일 실시예에서, 인코딩 네트워크에 대해, 제2 콘볼루션 모듈이 네트워크의 깊이가 더 깊어지도록 제1 콘볼루션 모듈을 기반으로 추가될 수 있고, 이미지 인페인팅을 위해 사용되는 특징 맵들, 예를 들어 디코딩 네트워크에 입력된 특징 맵들의 더 많은 계층들이 추출될 수 있고, 디코딩 네트워크의 이미지 인페인팅 효과는 개선될 수 있다. 그러나, 제2 콘볼루션 모듈은 확장된 콘볼루션 프로세싱 방법을 채택함으로써 가능한 한 많은 정보를 이미지에서 취득하기 위해 모듈에 의해 출력된 융합 특징 맵에서 각각의 엘리먼트 포인트를 가능화하며, 따라서 하나의 엘리먼트 포인트만이 제거될 개체 영역에 대응할 수 있을 가능성을 크게 줄임으로써, 모듈에 의해 출력된 융합 특징 맵이 이미지 인페인팅을 위해 사용될 수 있는 더 많은 정보를 포함하는 것을 가능화하고 게다가 이미지 인페인팅 효과를 개선시킬 수 있다.
일 실시예에서, 제거될 개체 영역이 너무 클 때 융합 특징 맵에서의 하나의 화소가 이미지의 정보를 포함하지 않는 문제를 더 피하기 위하여, 적어도 두 개의 캐스케이드된 제2 콘볼루션 모듈들이 사용될 수 있고, 확장된 콘볼루션 프로세싱 동안 적어도 두 개의 콘볼루션 모듈들의 확장 비율이라고도 또한 알려진 확대 비율과 같은 콘볼루션 파라미터들은 상이할 수 있다. 상이한 콘볼루션 파라미터들을 갖는 콘볼루션 모듈들을 사용함으로써, 각각의 콘볼루션 모듈은 상이한 영역들에 대응하는 특징들을 추출하고 위의 문제들의 발생의 확률을 줄일 수 있다. 그 입력 특징 맵들과 제2 콘볼루션 모듈들의 입력 특징 맵들의 이미지 사이즈들은 동일하거나 또는 상이할 수 있다. 일 실시예에서, 다수의 특징 추출들로 인해 획득된 특징 맵에 포함되는 엘리먼트 포인트들을 증가시키기 위하여, 각각의 제2 콘볼루션 모듈의 입력 특징 맵 및 출력 특징 맵의 사이즈들은 동일할 수 있다. 다르게 말하면, 제2 콘볼루션 모듈이 콘볼루션 프로세싱을 수행하는 경우, 콘볼루션 스트라이드(stride)는 1일 수 있고, 각각의 제2 콘볼루션 모듈에 의해 출력된 융합 특징 맵의 사이즈는 인코딩 네트워크의 마지막 제1 콘볼루션 모듈에 의해 출력된 융합 특징 맵의 사이즈와 동일할 수 있다.
추가적으로, 실제 응용에서, 디코딩 네트워크가 인코딩 네트워크의 각각의 콘볼루션 모듈, 예를 들어 제1 콘볼루션 모듈 및 제2 콘볼루션 모듈에 의해 출력된 융합 특징 맵들에 기초하여 업샘플링 프로세싱을 수행하는 경우, 각각의 제2 콘볼루션 모듈에 의해 출력된 융합 특징 맵들에 대해, 마지막 제2 콘볼루션 모듈에 의해 출력된 융합 특징 맵만이 디코딩 네트워크에 사용될 수 있거나, 또는 각각의 제2 콘볼루션 모듈에 의해 출력된 융합 특징 맵들이 디코딩 네트워크에 사용될 수 있다는 것에 주의해야 한다. 추가적으로, 동일한 이미지 사이즈를 갖는 융합 특징 맵들이 인코딩 네트워크의 각각의 콘볼루션 모듈에 의해 출력된 융합 특징 맵들에 존재할 때, 다양한 실시예들에서 동일한 이미지 사이즈를 갖는 융합 특징 맵들 중 하나 또는 여럿 또는 모두가 디코딩 네트워크에 사용될 수 있다. 예를 들어, 일 실시예에서 동일한 이미지 사이즈를 갖는 융합 특징 맵들 중 융합 특징 맵의 가장 깊은 계층만이 디코딩 네트워크에 사용될 수 있다. 예를 들어, 각각의 제2 콘볼루션 모듈의 콘볼루션 스트라이드가 1일 때, 각각의 제2 콘볼루션 모듈에 의해 출력된 융합 특징 맵의 이미지 사이즈와 마지막 제1 콘볼루션 모듈에 의해 출력된 융합 특징 맵의 이미지 사이즈는 동일할 수 있고, 마지막 제2 콘볼루션 모듈에 의해 출력된 융합 특징 맵은 디코딩 네트워크에 사용될 수 있다.
디코딩 네트워크에 포함되는 콘볼루션 모듈들의 수는 인코딩 네트워크에 포함되는 콘볼루션 모듈들의 수에 상응할 수 있고, 그 상응은 여기서 인코딩 네트워크에 의해 수행되는 다운샘플링 프로세스들의 수가 디코딩 네트워크에 의해 수행되는 업샘플링 프로세스들의 수와 동일한 것으로 이해될 수 있다. 디코딩 네트워크의 각각의 콘볼루션 모듈이 콘볼루션 프로세싱을 수행할 때, 인코딩 네트워크에 연결된 제1 콘볼루션 모듈(디코딩 네트워크의 콘볼루션 모듈)의 입력은 인코딩 네트워크에 의해 출력된 가장 깊은 계층의 융합 특징 맵일 수 있고, 제1 콘볼루션 모듈은 융합 특징 맵에 기초한 콘볼루션 프로세싱을 통해 업샘플링을 실현할 수 있다. 제1 콘볼루션 모듈에 연결된 디코딩 네트워크의 제2 콘볼루션 모듈은 업샘플링 후의 제1 콘볼루션 모듈에 의해 출력된 특징 맵 및 (제1 콘볼루션 모듈에 입력된 융합 특징 맵에 관련한) 인코딩 네트워크에 의해 출력된 이전 계층의 융합 특징 맵에 기초하여 콘볼루션 프로세싱을 수행할 수 있다. 마지막 제2 콘볼루션 모듈에 의해 출력된 융합 특징 맵만이 디코딩 네트워크에 사용되면, 융합 특징 맵은 인코딩 네트워크의 마지막 제1 콘볼루션 모듈에 의해 출력된 융합 특징 맵일 수 있다. 디코딩 네트워크의 경우, 인코딩 네트워크에 연결된 제1 콘볼루션 모듈을 제외한 각각의 콘볼루션 모듈에서, 다른 콘볼루션의 입력들은 해당 인코딩 네트워크의 콘볼루션 모듈에 의해 출력된 융합 특징 맵을 포함할 수 있고, 또한 업샘플링 프로세싱 후에 콘볼루션 모듈의 이전 콘볼루션 모듈에 의해 출력된 특징 맵을 포함할 수 있다. 이 프로세싱 방법에 기초하여, 상위 계층 특징 맵 및 하위 계층 특징 맵의 융합은 실현될 수 있으며, 이는 특징 맵의 정보 표현 능력을 개선시키고 이미지 인페인팅 효과를 개선시키는데 유익하다.
일 예로서, 도 9a는 기존의 일반적인 콘볼루션 연산의 개략적인 원리도를 예시하고, 도 9b는 확장된 콘볼루션 연산의 개략적인 원리도를 예시한다. 도 9a에 도시된 바와 같이, 도면의 좌측은 기존의 콘볼루션 연산에 기초하여 추출된 특징 맵의 개략도이다. 특징 맵에서 특정한 엘리먼트 포인트 A 및 포인트 B에 대응하는 수용 필드들은 예를 들어 프로세싱될 이미지, 또는 특징들이 추출될 수 있는 이미지일 수 있는 원본 이미지에서의 각각 두 개의 영역들이다. 원본 이미지는 예를 들어 도 9a의 우측에 도시된 이미지일 수 있으며, 여기서 대응하는 영역들의 사이즈들은 콘볼루션 커널의 사이즈에 의해 결정된다. 원본 이미지에서의 흰색 영역은 제거될 개체 영역이다. 도 9a로부터 알 수 있는 바와 같이, 포인트 A에 대응하는 원본 이미지 영역은 원본 이미지 정보의 일부와 예를 들어 제거될 개체 영역일 수 있는 소실 영역의 일부를 포함하고, 포인트 B에 대응하는 원본 이미지 영역은 유용한 이미지 정보가 추출될 수 없는 완전 소실 영역이다.
도 9b에 도시된 확장된 콘볼루션 연산의 원리도로부터 알 수 있는 바와 같이, 특징 맵에서의 각각의 엘리먼트 포인트에 대응하는 원본 이미지 영역은 원본 이미지 정보를 포함한다. 다시 말하면, 특징 맵의 각각의 엘리먼트 포인트는 원본 이미지의 특징 정보를 추출할 수 있다. 그 도면에 도시된 바와 같이, 각각의 엘리먼트 포인트는 원본 이미지에서의 다섯 개 영역들(다섯 개 영역들은 주사위 상의 다섯 개 점들의 형상과 유사하게 배열됨)에 대응할 수 있고, 그 도면은 각각 포인트 A 및 B에 대응하는 원본 이미지에서의 다섯 개 영역들을 예시한다. 확장된 콘볼루션 메커니즘을 사용함으로써, 더 많은 원본 이미지 정보가 추출되며, 따라서 이미지 인페인팅 효과를 개선시킬 수 있다.
본 개시의 일 실시예에서, 콘볼루션 모듈들에서의 적어도 하나의 콘볼루션 모듈, 예를 들어 제1 콘볼루션 모듈, 또는 제1 콘볼루션 모듈과 제2 콘볼루션 모듈은, 입력 융합 특징 맵에 따라 콘볼루션 프로세싱을 수행하고 콘볼루션 프로세싱에 의해 획득된 융합 특징 맵을 출력할 수 있으며, 콘볼루션 프로세싱은 해당 이미지 특징 맵을 추출하기 위해 입력 융합 특징 맵들에 따라 제1 콘볼루션 프로세싱을 수행하는 단계; 제2 채널 숫자를 갖는 마스크 특징 맵들을 추출하기 위해 제1 채널 숫자를 갖는 입력 융합 특징 맵들에 기초하여 제2 콘볼루션 프로세싱을 수행하는 단계로서, 각각의 채널의 마스크 특징 맵은 입력 융합 특징 맵들에서의 적어도 하나의 채널의 특징 맵에 기초하여 획득되고, 적어도 하나의 채널의 수는 제1 채널 숫자보다 작은, 상기 제2 콘볼루션 프로세싱을 수행하는 단계; 및 이미지 특징 맵 및 마스크 특징 맵을 융합하고 융합의 결과를 출력하는 단계를 포함한다.
다르게 말하면, 인코딩 네트워크 및 디코딩 네트워크에 포함되는 모든 콘볼루션 모듈들 중에서, 적어도 하나의 콘볼루션 모듈이 콘볼루션 프로세싱을 위해 위의 솔루션을 채택할 수 있다. 구체적으로는, 이 솔루션을 채택하는 콘볼루션 모듈의 경우, 그것의 입력은 이전 콘볼루션 모듈에 의해 출력된 융합 특징 맵, 다시 말하면, 이전 계층의 융합 특징 맵일 수 있다. 그 입력에 기초하여, 두 개의 분기들 상의 프로세싱이 수행될 수 있는데, 제1 분기에서, 이미지 특징 맵은 입력 융합 특징 맵에 기초하여 추출될 수 있고, 다른 분기에서, 마스크 특징 맵은 융합 특징 맵에 기초하여 업데이트될 수 있다. 다시 말하면, 요구된 채널 숫자의 마스크 특징 맵들은 하나의 채널의 마스크 특징 맵이 입력 융합 특징 맵에서의 하나 이상의 특징 맵들(하지만 그 수는 입력 융합 특징 맵들의 채널들의 총 수보다 작음)에 기초하여 획득되는 방식을 채택함으로써 획득될 수 있고, 그 다음에 이미지 특징 맵과 마스크 특징 맵은 계층의 융합 특징 맵을 출력하기 위해 융합될 수 있다.
제2 채널 숫자는 구체적으로는 추출된 이미지 특징 맵의 채널들의 수일 수 있다. 특징 맵과 마스크 특징 맵이 융합되는 경우, 해당 채널의 이미지 특징 맵 및 마스크 특징 맵은 채널들에 따라 융합될 수 있다.
프로세싱될 이미지 및 마스크 이미지(인코딩 네트워크의 제1 콘볼루션 모듈용), 또는 이미지 특징 맵(인코딩 네트워크의 제1 콘볼루션 모듈을 제외한 다른 콘볼루션 모듈들용)과 업데이트된 마스크 특징 맵에 기초하여, 융합 특징 맵은 획득될 수 있다. 일 실시예에서, 부분적 콘볼루션 연산이 프로세싱될 이미지/이미지 특징 맵에 대해 수행될 수 있고, 콘볼루션 연산이 이미지 특징 맵/프로세싱될 이미지의 일부 영역들에 대해 수행되는지의 여부는 마스크 특징 맵/마스크 이미지에 기초하여 결정될 수 있다. 콘볼루션 모듈이 콘볼루션 프로세싱에 의해 추출된 융합 특징 맵을 출력하는 경우, 현재 계층의 융합 특징 맵의 추출을 위해, 이전 계층의 융합 특징 맵에 기초하여 해당 이미지 특징 맵을 추출하는 것 외에도, 이미지 특징 맵에 대응하는 마스크 특징 맵이 또한 획득될 수 있으며, 다시 말하면, 현재 계층의 요구된 마스크 특징 맵은 이전 계층의 융합 특징 맵에 기초하여 업데이트될 수 있다.
기존의 게이트식 콘볼루션 기술에서, 마스크 특징 맵의 업데이트는 다 대 다 게이트식 콘볼루션을 통해 각각의 계층의 이미지 특징 맵의 마스크 특징 맵을 업데이트할 수 있다. 만약 입력 융합 특징 맵들, 즉, 이전 계층의 융합 특징 맵들의 수가 M이며, 업데이트될 마스크 특징 맵들의 수가 N이고, N 개 마스크 특징 맵들에서의 각각의 마스크 이미지가 게이트식 콘볼루션에 의해 M 개 특징 맵들에 기초하여 업데이트될 필요가 있으면, N 개 마스크 특징 맵들은 총 N*M 개 콘볼루션 연산들을 필요로 하며, 이는 다량의 컴퓨테이션을 요구하고, 이 방법에 기초한 인페인팅 결과에서 "물고기 비늘 현상"의 발생 확률은 또한 높다.
위의 문제들을 고려하여, 본 개시의 일 실시예는 마스크 특징 맵을 업데이트하기 위해 다 대 다 콘볼루션 방법을 사용하지 않을 수 있으며, 다시 말하면, 일 실시예가 이전 계층의 융합 특징 맵에 기초하여 각각의 마스크 특징 맵을 업데이트하지 않을 수 있지만, 이전 계층의 융합 특징 맵들 중 모두는 아닌 하나 이상에 기초하여 하나의 채널의 융합 특징 맵을 대신 획득할 수 있다. 따라서, 프로세싱될 데이터의 양은 효과적으로 감소될 수 있으며, 컴퓨테이션량은 크게 감소될 수 있고, 관련된 기술과 비교하여, "물고기 비늘 현상"의 발생의 확률은 감소될 수 있다.
본 개시의 일 실시예에서, 제1 채널 숫자를 갖는 입력 융합 특징 맵에 기초하여 제2 콘볼루션 프로세싱을 수행하고 제2 채널 숫자를 갖는 마스크 특징 맵을 추출하기 전에, 그 방법은 제1 채널 숫자가 제2 채널 숫자와 동일하지 않으면, 입력 융합 특징 맵을 제2 채널 숫자를 갖는 융합 특징 맵으로 변환하는 단계를 더 포함할 수 있다.
이때, 제1 채널 숫자를 갖는 입력 융합 특징 맵들에 기초하여, 제2 콘볼루션 프로세스가 제2 채널 숫자를 갖는 마스크 특징 맵들을 추출하기 위해 수행될 수 있으며, 이는 제2 채널 숫자를 갖는 융합 특징 맵들에서의 각각의 채널의 변환된 특징 맵에 기초하여, 제2 콘볼루션 프로세스는 각각의 채널에 대응하는 마스크 특징 맵을 추출하기 위해 각각 수행될 수 있다는 것을 포함한다.
하나의 채널의 마스크 특징 맵이 입력 융합 특징 맵들에서의 적어도 하나의 채널의 특징 맵(즉, 하나의 채널의 마스크 특징 맵은 이전 계층의 적어도 하나의 채널의 융합 특징 맵에 기초하여 획득됨)에 기초하여 획득되는 경우, 해당 채널의 마스크 특징 맵은 구체적으로는 입력 융합 특징 맵에서의 하나의 채널의 특징 맵에 기초하여 획득될 수 있다. 다르게 말하면, 일 대 일 마스크 특징 맵 업데이트 방법이 각각의 채널의 융합 특징 맵에 기초하여 해당 채널의 마스크 특징 맵을 추출하기 위해 채택될 수 있고, 컴퓨테이션량은 솔루션에 기초하여 더 감소될 수 있다.
추가적으로, 일 대 일 마스크 특징 맵 업데이팅 방법이 채택되고 마스크 특징 맵의 요구된 채널들의 수가 입력 융합 특징 맵의 채널들의 수와 동일하지 않은 경우, 다시 말하면, 제2 채널 숫자가 제1 채널 숫자와 동일하지 않은 경우, 입력 융합 특징 맵은 제2 채널 숫자에 따라 먼저 변환될 수 있다(예컨대, 변환 프로세싱은 전체 콘볼루션 연산 등에 의해 수행될 수 있다).. 일 실시예에서, 제1 채널 숫자를 갖는 입력 융합 특징 맵은 제2 채널 숫자를 갖는 특징 맵들로 변환될 수 있고, 하나의 채널의 해당 마스크 특징 맵이 제2 채널 숫자를 갖는 변환된 특징 맵들 중에서 각각의 채널의 특징 맵에 기초하여 획득될 수 있다.
본 개시의 일 실시예에서, 하나의 채널의 마스크 특징 맵은 입력 융합 특징 맵들에서의 적어도 하나의 채널의 특징 맵에 기초하여 획득될 수 있으며, 이는 구체적으로는, 각각 적어도 두 개의 콘볼루션 프로세싱 파라미터들에 따라 프로세싱을 수행하고, 입력 융합 특징 맵들에서의 적어도 하나의 채널의 융합 특징 맵에 기초하여, 적어도 두 개의 수용 필드들에 대응하는 특징 맵들을 추출하는 단계; 및 하나의 채널의 마스크 특징 맵을 획득하기 위해 적어도 두 개의 수용 필드들에 대응하는 추출된 특징 맵들을 융합하는 단계를 포함할 수 있다.
더 나은 특징 표현 능력을 갖는 마스크 특징 맵을 획득하기 위하여, 다양한 수용 필드들에 대응하는 특징 맵들은 융합 특징 맵에 기초하여 추출될 수 있고, 그 다음에 마스크 특징 맵이 해당 채널의 융합 특징 맵에 기초하여 획득되는 경우 해당 마스크 특징 맵은 다양한 수용 필드들의 특징 맵들을 융합함으로써 획득될 수 있다. 상이한 수용 필드들에 대응하는 특징 맵들의 특징 표현 능력들이 상이하기 때문에, 더 큰 수용 필드들에 대응하는 특징 맵들은 더 강한 특징 표현 능력들을 가질 수 있는 반만, 더 작은 수용 필드들에 대응하는 특징 맵들은 더 많은 이미지 시맨틱 정보를 포함할 수 있고, 그러므로, 이 융합 방법에 기초하여 획득된 마스크 특징 맵들은 더 나은 표현 능력들을 가질 수 있다.
예를 들어, 마스크 특징 맵을 획득하기 위해 위의 일 대 일 방식을 채택함으로써 제2 콘볼루션 프로세싱을 수행하는 경우, 적어도 두 개의 수용 필드들에 대응하는 특징 맵들을 획득하기 위해 입력 융합 특징 맵들(또는 변환된 특징 맵들)에서 각각의 채널의 특징 맵에 기초하여 적어도 두 개의 콘볼루션 프로세싱 파라미터들을 사용함으로써 콘볼루션 프로세싱은 수행될 수 있고, 그 다음에 적어도 두 개의 수용 필드들에 대응하는 특징 맵들은 하나의 채널의 마스크 특징 맵을 획득하기 위해 융합될 수 있다.
애플리케이션에 의해 제공되는 콘볼루션 프로세싱을 통해 융합 특징 맵을 획득하는 것이 기존의 콘볼루션 프로세싱과 비교하여 컴퓨테이션량을 크게 감소시킬 수 있기 때문에, 깊이 학습 알고리즘에 기초하여 특징들을 추출하는 경우, 관련된 기술과 비교하여, 더 깊은 네트워크 구조가 더 많은 계층들의 특징들을 추출하기 위해 채택될 수 있어서, 더 나은 인페인팅 효과가 다수의 계층들의 추출된 특징들에 기초하여 이미지 인페인팅을 수행하는 경우에 획득될 수 있다.
본 개시의 일 실시예에 의해 제공되는 융합 특징 맵 추출의 일 예가 특정 예와 함께 아래에서 더 상세히 설명될 것이다.
도 10a는 본 개시의 일 실시예에 의해 제공되는 제1 콘볼루션 모듈의 개략적인 구조도를 예시한다. 도 10a에서 알 수 있는 바와 같이, 콘볼루션 모듈의 콘볼루션 구조는 깊이 게이트식 콘볼루션이라고 지칭될 수 있는 개선된 게이트식 콘볼루션 구조일 수 있다. 도 10a에 도시된 바와 같이, 깊이 게이트식 콘볼루션 구조는 특징 맵 추출 분기와 업데이트된 마스크 이미지 분기를 포함하며, 여기서 업데이트된 마스크 분기에서 입력 융합 특징 맵에 대해 제2 콘볼루션 프로세싱을 수행하는데 사용되는 콘볼루션 구조는 Depth Conv2D로서 도 10a에 예시된 깊이 콘볼루션 계층이라고 지칭될 수 있다. 일 실시예에서, 특징 맵 추출 분기는 이미지 특징 맵(1012)을 획득하기 위해 입력 융합 특징 맵들(1011)에 따라 Conv2D로서 도 10a에 예시된 콘볼루션 구조를 통해 제1 콘볼루션 프로세싱을 수행하는데 사용될 수 있다. 마스크 이미지를 업데이트하는 경우, 깊이 게이트식 콘볼루션은 입력 특징 맵들에서의 하나의 채널의 특징 맵만을 사용할 수 있고, 상이한 사이즈들을 갖는 수용 필드들을 사용하여 마스크 이미지(즉, 마스크 특징 맵)를 업데이트할 수 있다. 실제 프로세싱에서, 업데이트된 마스크 특징 맵의 채널들의 수가 특징 맵 추출 분기에 의해 추출된 특징 맵(즉, 이미지 특징 맵)의 채널들의 수와 동일해야 하기 때문에, 깊이 콘볼루션 계층의 입력 채널들 및 출력 채널들의 수들이 일치하지 않으면, 다시 말하면, 게이트식 콘볼루션 구조 특징 맵에 입력된 채널들의 수(다시 말하면, 입력 특징 맵들의 채널들의 수)가 각각의 분기의 출력 특징 맵의 채널들의 수와 동일하지 않으면, 입력 융합 특징 맵의 채널들의 수는 입력 융합 특징 맵에 대한 변환 프로세싱에 의해 출력 특징 맵의 채널들의 수로 변환될 필요가 있다. 예를 들어, 입력 채널들 및 출력 채널들의 수는 전체 콘볼루션 네트워크를 사용함으로써 일치될 수 있다. 만약 깊이 게이트식 콘볼루션이 업데이트하는 것에 의해 N 개 마스크 이미지들을 획득할 필요가 있고, 입력 특징 맵들의 채널들의 수는 M이면, FCN은 채널들의 수를 N으로 변환하는데 사용될 수 있다. 업데이트될 N 개 마스크 이미지들의 각각에 대해, 그 마스크 이미지는 전체 콘볼루션 변환 후 N 개 특징 맵들 중 하나만을 사용하여 업데이트될 수 있고, 업데이팅 프로세스 동안 수용 필드 사이즈들(도 10a의 ① 및 ②에 대응함)이 상이한 콘볼루션들을 사용하여 추가로 업데이트될 수 있다. 마지막으로, 전체 콘볼루션은 마스크 이미지의 업데이트를 완료하기 위해 상이한 수용 필드들을 사용하여 획득된 마스크 이미지들을 하나의 최종 업데이트된 마스크 이미지(도 10a의 ③에 대응함)로 융합하는데 사용될 수 있다.
이미지 인페인팅 태스크의 경우, 마스크 이미지(1016)는 특징 맵의 어떤 부분이 다음 계층으로 전달될 수 있는지와 특징의 어떤 부분이 다음 계층으로 전달될 수 없는지를 결정하는데 사용될 수 있으며, 즉, 마스크 이미지는 데이터의 특징 맵을 가중하였다. 콘볼루션 연산을 사용하여 가중값 프로세싱 메커니즘을 실현하기 위하여, 게이트식 콘볼루션에서와 같이, 깊이 게이트식 콘볼루션은 상이한 수용 필드들과 융합된 마스크 이미지들의 전체 콘볼루션의 출력 범위를 [0, 1] 사이가 되도록 할 필요가 있다. 그러므로, 포인트 곱셈이 해당 엘리먼트들에 대해 수행되는 경우 마스크 이미지를 통해 이미지의 특징 맵을 가중하는 목표를 실현하기 위해서, 시그모이드와 같은 활성화 함수가 출력 데이터 값들의 범위가 [0, 1] 사이에 있는 것을 보장하는데 사용될 수 있다.
일 예로서, 도 10b는 본 개시의 일 실시예에 따른 제1 콘볼루션 모듈의 상세한 구조도를 예시한다. 그 도면에 도시된 바와 같이, 특징 맵 추출 분기는 leakyReLU 활성화 함수가 있는 기존의 콘볼루션(도 10b에 도시된 Conv2D+leakyReLU)을 사용하여 구현될 수 있다. 이 예에서, 콘볼루션 구조의 콘볼루션 커널 사이즈는 k*k이다. 그 분기는 이전 계층의 융합 특징 맵에 기초하여 이미지 특징 맵들을 추출하는데 사용될 수 있으며, 그래서 분기 활성화 함수의 출력 범위에 대한 요건은 없으며, 다시 말하면, 어떠한 활성화 함수라도 사용될 수 있다. 마스크 이미지 업데이트 분기는 상이한 수용 필드들을 사용하여 마스크 이미지를 업데이트할 수 있고, 각각의 분기는 상이한 복수의 수용 필드들에 대응하는 분기들을 포함할 수 있다. 도 10b에 도시된 네트워크 구조에서, 특징 맵들은 상이한 두 개의 수용 필드들을 사용하여 추출될 수 있으며, 그래서 마스크 이미지 업데이트 분기는 두 개의 분기들을 포함할 수 있다.
도 10b에 도시된 예에서 마스크 이미지 업데이트 분기(이는 또한 마스크 이미지 업데이트 분기라고 지칭될 수 있음)의 각각의 수용 필드에 대응하는 특징 맵 추출 구조(깊이 변환 구조, 다시 말하면, 도 10b에 도시된 깊이 게이트식 콘볼루션)는 순차적으로 캐스케이드되는 3-층 콘볼루션 추출 구조를 포함할 수 있고, 그 도면에 도시된 하나의 분기의 3-층 콘볼루션 추출 구조의 콘볼루션 커널 사이즈들(도 10b에 도시된 콘볼루션 사이즈들)은 각각 1*1, m*m 및 1*1이고, 다른 분기의 콘볼루션 커널 사이즈들은 각각 1*1, n*n 및 1*1이다. 제1 콘볼루션 커널 사이즈가 각각의 분기의 1*1인 콘볼루션 구조는 입력 특징 맵들의 채널들의 수를 주어진 출력 특징 맵의 요구된 채널들의 수로 변환하는데 적합할 수 있다. 만약 입력 특징 맵들의 채널들의 수가 M이고 출력될 마스크 특징 맵들의 수가 N이면, 제1 콘볼루션 구조는 채널들의 수가 M인 입력 특징 맵들을 채널들의 수가 N인 특징 맵들로 변환하는데 사용될 수 있으며, 제2 콘볼루션 구조(콘볼루션 커널 사이즈는 m*m 또는 n*n일 수 있음)는 제1 콘볼루션 구조에 의해 입력된 특징 맵에 기초하여 해당 수용 필드의 특징 맵을 추출하는데 사용될 수 있고, 제3 콘볼루션 구조는 제2 콘볼루션 구조에 의해 출력된 특징 맵에 대한 추가의 특징 추출을 위해 사용될 수 있다. 두 개의 분기들에 의해 추출된 상이한 수용 필드들에 대응하는 특징 맵들은 채널 연결 동작(도 10b에 도시된 연쇄 축(Concat axis)=3 구조이며 여기서 축=3은 채널들에 따른 연결을 지칭할 수 있음)을 사용하여, 이전 계층의 두 개의 분기들로부터 추출된 마스크 특징 맵들을 연결시키고, 전체 콘볼루션 네트워크를 사용하고 전체 콘볼루션 네트워크의 출력 범위를 [0, 1]로 제한할 수 있다. 예를 들어, 시그모이드 활성화 함수 구조가 있는 콘볼루션(도 10b에 도시된 Conv2D+Sigmoid)은 계층의 출력 범위를 제한하고 마스크 이미지의 업데이트를 완료하기 위해 채택될 수 있다.
그 후, 해당 엘리먼트 포인트 곱셈이 특징 맵 추출 분기에 의해 추출된 이미지 특징 맵 및 마스크 이미지 업데이트 분기에 의해 출력된 마스크 특징 맵에 대해 해당 채널들에 따라 수행될 수 있으며, 마스크 이미지 업데이트 분기에 의해 출력된 마스크 특징 맵은 마스크 이미지 정보에 기초하여 특징 맵의 가중을 완료하기 위해 특징 맵 추출 분기에 의해 출력된 이미지 특징 맵에 의해 곱해질 수 있고, 마스크 이미지 정보와 융합된 융합 특징 맵이 출력될 수 있다.
추가적으로, 이 예의 m 및 n은 시맨틱 정보에 기초한 이미지 클리핑의 이전 예의 m 및 n과 무관하다는 것이 이해될 수 있다.
앞서의 설명으로부터, 추출된 융합 특징 맵에서 프로세싱될 이미지의 정보를 가능한 한 많이 포함하기 위하여, 확장된 콘볼루션 메커니즘은 융합 특징 맵을 추출함에 있어서 사용될 수 있다는 것을 알 수 있다. 그러므로, 본 개시의 실시예에 의해 제공되는 깊이 게이트식 콘볼루션 구조에 기초하여 융합 특징 맵을 추출하는 경우, 깊이 게이트식 콘볼루션 구조의 각각의 콘볼루션 파트는 또한 확장된 게이트식 콘볼루션 프로세싱 방법을 채택할 수 있다. 도 10a에 도시된 깊이 게이트식 콘볼루션 구조를 일 예로서 취하면, 도 10a에 도시된 깊이 게이트식 콘볼루션 구조의 콘볼루션 부분들(Conv2D 및 Depth Conv2D 부분들)이 확장된 게이트식 콘볼루션으로 대체된 후, 그것의 네트워크 구조는 도 10c에 도시된 바와 같을 수 있으며, 다시 말하면, 도 10a에 도시된 구조의 콘볼루션 부분들은 상응하여 확장된 콘볼루션으로 대체될 수 있다. 도 10b에 도시된 네트워크 구조를 일 예로서 취하면, 도 10b의 기존의 콘볼루션(도 10b에 도시된 Conv2D)은 확장된 콘볼루션(도 10c에 도시된 Dilated Conv2C)으로 대체될 수 있고, 깊이 콘볼루션(도 10b에 도시된 깊이-게이트식 콘볼루션)은 깊이 확장된 콘볼루션(도 10c에 도시된 깊이 확장된 Conv2D)으로 대체될 수 있다. 일 실시예에서, 다수의 계층들의 융합 특징 맵들을 추출하는 경우, 각각의 계층의 확장된 콘볼루션 메커니즘은 동일한 또는 상이한 확대 비율들을 채택할 수 있다. 일 실시예에서, 이미지들로부터 가능한 한 많이 효과적인 정보를 추출하기 위하여, 확대 비율들은, 네트워크 계층의 심화에 따라 점진적으로 증가될 수 있는 것과 같이, 점진적으로 변경될 수 있다.
인코딩 네트워크의 제2 콘볼루션 모듈이 본 개시의 실시예에서 제공되는 콘볼루션 프로세싱 방법을 사용하여 융합 특징 맵을 추출하는 경우, 도 10c에 도시된 네트워크 구조는 옵션적인 제2 콘볼루션 모듈의 개략적인 구조도일 수 있다는 것이 이해될 수 있다.
본 개시의 일 실시예에서, 프로세싱될 이미지 및 마스크 이미지에 기초하여 예비 인페인팅 결과를 획득하는 것; 프로세싱될 이미지와 동일한 사이즈를 갖는 노이즈 이미지를 생성하는 것; 및 예비 인페인팅 결과 및 노이즈 이미지에 기초하여 인페인팅 결과를 획득하는 것을 포함하여, 프로세싱될 이미지에서 제거될 개체 영역은 인페인팅 결과를 획득하기 위해 프로세싱될 이미지 및 마스크 이미지에 따라 복원될 수 있다.
이미지 인페인팅 동작에서, "물고기 비늘 현상"은 종종 인페인팅 결과에서 나타난다. "물고기 비늘 현상"을 포함하는 인페인팅 결과를 관찰함으로써 "물고기 비늘 현상"의 시맨틱 정보에서의 컬러 정보는 배경 정보와 일치하지만, 텍스처 정보는 불일치하고, 텍스처 정보가 더 풍부할수록, "물고기 비늘 현상"의 확률이 더 클 수 있다는 것이 발견될 수 있다. "물고기 비늘 현상"은 물고기 비늘들과 유사한 규칙적인 텍스처를 나타낸다. "물고기 비늘 현상"을 해결하기 위하여 규칙적인 텍스처는 파괴될 수 있다. 랜덤 노이즈 정보는 업샘플링하는 마지막 계층에 추가될 수 있고, 규칙적인 텍스처를 파괴하는 효과는 콘볼루션 연산을 통해 성취되며, 따라서 "물고기 비늘 현상"의 발생을 더 줄일 수 있다.
구체적으로는, 프로세싱될 이미지 및 대응하는 마스크 이미지에 기초하여 다수의 계층들의 융합 특징 맵들을 획득한 후, 이미지 디코딩 파트(즉, 프로세싱이 디코딩 네트워크를 통해 수행되는 파트)에서, 업샘플링 프로세싱은 인페인팅 결과를 획득하기 위해 다수의 계층들의 융합 특징 맵들에 기초하여 수행될 수 있다. 여기서, 마지막 계층의 업샘플링 프로세스가 완료된 후, 다수의 채널들(보통 R, G 및 B의 세 개의 채널들)의 인페인팅 결과들은 획득될 수 있다. "물고기 비늘 현상"을 더 피하기 위하여 동일한 사이즈를 갖는 노이즈 이미지들은 각각 세 개의 채널들의 이미지들의 사이즈들로서 생성될 수 있으며, 예를 들어, 인페인팅 결과들과 각각 동일한 사이즈를 갖는 가우시안 노이즈 이미지들이 생성될 수 있고, 세 개의 채널들의 인페인팅 결과들 및 노이즈 이미지들은 네 개의 채널들의 이미지 데이터를 획득하기 위해 결합될 수 있고, 최종 인페인팅 결과 이미지는 콘볼루션 연산을 통해 추가로 생성될 수 있다. 여기서, 노이즈 이미지에서 각각의 엘리먼트 포인트의 엘리먼트 값의 범위는 실제 요건들에 따라 구성될 수 있다. 대체 예로서, 그 범위는 [-1, 1]일 수 있으며, 다시 말하면, 노이즈 이미지에서의 각각의 엘리먼트의 엘리먼트 값은 사이즈가 -1과 1 사이인 랜덤하게 생성된 난수일 수 있다.
본 개시의 일 실시예는, 개체 맵의 인접한 로케이션들에서의 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 교환하는 단계; 및 개체 맵에서 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 조정하는 단계 중 적어도 하나에 의해 개체 맵을 프로세싱하는 것을 더 포함할 수 있으며, 여기서 개체 맵은 적어도 하나의 융합된 특징 맵 및/또는 디코딩 네트워크를 통해 획득된 인페인팅 결과이다. 다시 말하면, 개체 맵은 전술한 바에서 설명된 인코딩 네트워크 또는 디코딩 네트워크에 수반되는 임의의 융합 특징 맵일 수 있고 또한 디코딩 네트워크에 의해 획득된 인페인팅 결과일 수 있다. 인페인팅 결과는 위에서 설명된 예비 인페인팅 결과와 같이 디코딩 네트워크에 의해 출력된 이미지, 또는 인페인팅 결과 및 노이즈 이미지에 기초하여 획득된 위에서 설명된 인페인팅 결과와 같이 디코딩 네트워크에 의해 출력된 이미지를 추가로 프로세싱한 후의 이미지일 수 있다.
일 실시예에서, 위에서 설명된 프로세싱은 구체적으로는 이미지 인페인팅 모델의 출력 후의 프로세싱일 수 있거나 또는 데이터 프로세싱의 특수한 계층으로서 모델에 네스팅될 수 있다. 프로세싱이 개체 맵에 대해 수행되는 경우, 개체 맵에 기초한 임의의 후속 프로세싱이 있으면, 해당 프로세싱은 프로세싱된 개체 맵에 기초하여 수행될 수 있다. 예를 들어, 개체 맵이 융합 특징 맵인 경우, 융합 이미지에 기초한 후속 프로세싱은 솔루션에서 프로세싱 방법에 의해 융합 특징 맵에 기초하여 프로세싱되는 맵에 기초한 프로세싱일 수 있다. 개체 맵에 대해 다른 후속 프로세싱(이를테면 인페인팅 결과)이 없으면, 프로세싱된 개체 맵은 최종 인페인팅 결과일 수 있다.
앞서의 설명에서 알 수 있는 바와 같이, "물고기 비늘 현상"을 개선 또는 해결하기 위하여 이미지에서의 규칙적인 텍스처는 파괴될 수 있다. 그러나, 이미지 인페인팅의 프로세스에서, 이미지의 인코딩 및 디코딩(예를 들어, 융합 특징 맵에 기초한 디코딩 네트워크를 통한 이미지 인페인팅의 프로세서에서, 특징 맵의 업샘플링)으로 인해, 이미지의 특정한 영역(이를테면 이미지의 특정한 행 및 특정한 열)에서의 엘리먼트 포인트들의 엘리먼트 값들이 중앙에서 너무 크거나 또는 너무 작을 가능성이 있어, "물고기 비늘 현상"의 발생을 초래한다. 본 출원의 일 실시예에 따르면, 개체 맵의 특정한 영역에서 엘리먼트 값들이 중앙에서 너무 크거나 또는 너무 작은 문제는 개체 맵에서 엘리먼트 값들의 랜덤 교환 및/또는 랜덤 조정을 통해 효과적으로 회피되어서, 그 문제에 의해 야기된 "물고기 비늘 현상"의 발생 효과적으로 해결될 수도 있고, 마지막으로 획득된 인페인팅 결과의 효과는 개선될 수도 있다.
본 개시의 일 실시예에서, 개체 맵의 인접한 로케이션들의 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 교환하는 단계는, 개체 맵에 대해 다음 프로세싱 중 적어도 하나를 수행하고 적어도 하나의 프로세싱 후 맵에 기초하여 개체 맵과 동일한 사이즈를 갖는 프로세싱된 개체 맵을 획득하는 것을 포함할 수 있다: 제1 클리핑된 맵 및 제2 클리핑된 맵을 획득하기 위해 개체 맵에 대해 제1 에지 클리핑 및 제2 에지 클리핑을 수행하는 단계; 제1 클리핑된 맵에 대응하는 제1 가중 맵과 제2 클리핑된 맵에 대응하는 제2 가중 맵을 생성하는 단계로서, 제1 가중 맵 및 제2 가중 맵에서의 엘리먼트 포인트들의 엘리먼트 값들은 1 또는 0이고, 제1 가중 맵 및 제2 가중 맵에서의 동일한 위치들의 엘리먼트 포인트들의 엘리먼트 값들이 상이한, 제2 가중 맵을 생성하는 단계; 및 프로세싱된 맵을 획득하기 위해 제1 가중 맵 및 제2 가중 맵에 기초하여 제1 클리핑된 맵과 제2 클리핑된 맵을 융합하는 단계.
개체 맵에 대해 수행되는 위에서 설명된 프로세싱의 횟수는 요건들에 기초하여 결정될 수 있다. 위에서 설명된 프로세싱을 수행할 횟수가 하나를 초과하는 경우, 처음을 제외하고는 다시 프로세싱을 수행하는 단계들은 이전 프로세싱 후 맵을 기반으로 수행되는 프로세싱이라는 것이 이해될 수 있다. 결정된 횟수의 프로세싱이 완료된 후, 프로세싱된 이미지는 프로세싱 전의 것과 동일한 사이즈를 갖는 프로세싱된 개체 맵을 획득하기 위해 이미지 완성(image completion), 이미지 블러(image blur) 동작 등에 의해 프로세싱될 수 있다. 개체 맵에 기초한 후속 프로세싱은 프로세싱된 개체 맵을 기반으로 수행될 수 있다.
추가적으로, 위에서 설명된 에지 클리핑이 개체 맵(또는 순차적으로 또는 여러 번 위에 설명된 프로세싱을 받는 개체 맵)에 대해 수행되는 경우, 특정 클리핑 방법은 본 개시의 실시예로 제한되지 않고 요건들에 기초하여 결정될 수 있다. 그러나, 개체 맵의 엘리먼트 포인트들의 엘리먼트 값들의 교환을 실현하기 위하여, 제1 클리핑된 맵과 제2 클리핑된 맵은 동일한 사이즈를 갖지만 이미지 콘텐츠들이 상이한 두 개의 맵들일 수 있으며, 다시 말하면, 두 개의 클리핑 맵들에서의 엘리먼트 포인트들의 일부 또는 전부는 상이한 엘리먼트 값들을 갖는다는 것이 본 기술분야의 통상의 기술자들에게 명백하다. 추가적으로, 개체 맵에서 너무 많은 정보의 손실을 피하기 위하여, 클리핑하는 경우, 엘리먼트 포인트들의 특정한 행(또는 행들) 및/또는 특정한 열(또는 열들)을 클리핑하는 것과 같이, 개체 맵의 작은 부분이 클리핑될 수 있다. 이미지 완성이 프로세싱된 이미지에 대해 수행되는 경우, 클리핑된 엘리먼트 포인트들은 프로세싱 전에 개체 맵과 동일한 사이즈를 갖는 맵을 획득하기 위해, 특정 클리핑 방법에 따라 보완될 수 있다.
특정 완성 모드는 위에서 설명된 실시예들로 제한되지 않는다. 예를 들어, 해당 로케이션은 클리핑 방법에 따라 완료될 수 있다. 예를 들어, 이미지가 이미지의 상측 및 좌측에서 클리핑되면, 상측 및 좌측에서 완료가 수행될 수 있다. 추가적으로, 이는 또한 하나 또는 여러 방향들에서 완료될 수 있다. 예를 들어, 이미지가 상측에서 클리핑되면, 이는 하측에서 완료될 수 있다. 완료가 수행되는 경우, 클리핑 동안 클리핑되는 정보가 작기 때문에, 최종 인페인팅 결과에 실질적인 영향을 미치지 않을 수 있으며, 다시 말하면, 사용자에게 시각적인 영향은 없을 수 있다. 그러므로, 완료 데이터는 본 개시의 실시예에서 제한되지 않는다. 예를 들어, 완료 데이터는 임의의 수일 수 있거나, 또는 클리핑된 부분에 의해 보완될 수 있다.
예를 들어 도 10d에 예시된 일 실시예에서, 개체 맵의 맵 폭은 w일 수 있고 높이는 h일 수 있고, 개체 맵이 클리핑되는 경우, 제1 클리핑된 맵을 획득하기 위해 제1 설정 폭(a로 표시됨)을 갖는 이미지가 개체 맵의 좌측에서 클리핑될 수 있고 제2 설정 폭(b로 표시됨)을 갖는 이미지가 개체 맵의 상측에서 클리핑될 수 있으며, 제2 클리핑된 맵을 획득하기 위해 제1 설정 폭을 갖는 이미지가 우측에서 클리핑될 수 있고 제2 설정 폭을 갖는 이미지가 개체 맵의 하측에서 클리핑될 수 있어서, w-a의 폭과 h-b의 높이를 갖는 제1 클리핑된 맵 및 제2 클리핑된 맵은 획득될 수 있다. 제1 클리핑된 맵과 제2 클리핑된 맵은 교환되는 것으로 이해될 수 있다. 두 개의 교환 프로세스들이 수행되는 경우, 두 번째 프로세스는 첫 번째 프로세스의 결과에 대해 수행될 수 있다. 예를 들어, 프로세싱이 개체 맵에 기초하여 수행된 후, w-a의 폭과 h-b의 높이를 갖는 프로세싱된 이미지는 다시 프로세싱될 수 있다. 예를 들어, 이 프로세싱의 제1 클리핑된 맵을 획득하기 위해 제3 설정 폭(c로 표시됨)을 갖는 이미지가 좌측에서 클리핑될 수 있고 제4 설정 폭(d로 표시됨)을 갖는 이미지가 w-a의 폭과 h-b의 높이를 갖는 이미지의 상측에서 클리핑될 수 있고, 프로세싱의 제2 클리핑된 맵을 획득하기 위해 제3 설정 폭을 갖는 이미지는 우측에서 클리핑될 수 있고 제4 설정 폭을 갖는 이미지는 w-a의 폭과 h-b의 높이를 갖는 이미지의 하측에서 클리핑될 수 있다.
제1 가중 맵과 제2 가중 맵은 엘리먼트 값들이 랜덤하게 생성된 이미지에서 0과 1만을 포함하는 노이즈 이미지와 같이, 랜덤하게 생성된 이미지들일 수 있다. 제1 가중 맵 및 제2 가중 맵의 동일한 로케이션에서 엘리먼트 포인트들의 엘리먼트 값들이 상이하고 엘리먼트 값이 0과 1만을 포함하기 때문에, 제1 가중 맵이 맵 A이면, 제2 가중 맵은 맵 1-A일 수 있으며, 다시 말하면, 제1 가중 맵 및 제2 가중 맵의 동일한 로케이션에서의 엘리먼트 포인트들의 엘리먼트 값들은 각각 1 및 0, 또는 0 및 1일 수 있다. 융합된 이미지의 각각의 엘리먼트 포인트에 대해, 제1 클리핑된 맵 및 제2 클리핑된 맵에서의 엘리먼트 포인트들의 엘리먼트 값들은 융합 방법에 기초하여 엘리먼트 값들의 랜덤 교환을 실현하도록 랜덤하게 선택되는데, 제1 가중 맵 및 제2 가중 맵에 기초하여 제1 클리핑된 맵과 제2 클리핑된 맵을 융합할 때, 제1 가중 맵 및 제2 가중 맵에서의 동일한 로케이션의 엘리먼트 값들이 1과 0(또는 0과 1)이고 1과 0이 랜덤하게 생성되기 때문이다. 구체적으로는, 제1 클리핑된 맵 및 제2 클리핑된 맵의 융합은 다음 수학식 1에 기초하여 구현될 수 있으며:
A*X1+(1-A)*X2 (수학식 1)
여기서, X1 및 X2는 각각 제1 클리핑된 맵 및 제2 클리핑된 맵을 나타내고, A 및 1-A는 각각 제1 가중 맵 및 제2 가중 맵을 나타낸다. 제1 클리핑된 맵 및 제2 클리핑된 맵의 임의의 동일한 로케이션에서의 엘리먼트 포인트들에 대해, 융합된 맵에서의 엘리먼트 포인트의 엘리먼트 값은 제1 클리핑된 맵 및 제2 클리핑된 맵에서의 엘리먼트 포인트들의 엘리먼트 값들과 제1 가중 맵 및 제2 가중 맵에서의 엘리먼트 포인트들의 엘리먼트 값들에 기초하여 획득될 수 있다.
본 개시에서 제공되는 엘리먼트 값들의 랜덤 교환 방법은 일 예와 함께 아래에서 설명될 것이다.
이 예에서, 이미지 인페인팅 후의 사후 프로세싱 흐름은 이 예에서 설명을 위한 일 예로서 취해지며, 다시 말하면, 개체 맵은 인페인팅 결과, 구체적으로는 이미지 인페인팅 네트워크의 출력 이미지이고, 위에서 설명된 엘리먼트 값들의 두 개의 랜덤 교환 프로세싱이 이 예에서 수행된다. 도 10d는 본 개시의 일 실시예에 따른 이미지 프로세싱 방법의 개략적 흐름도를 예시한다. 도 10d에 도시된 바와 같이, 방법의 프로세싱 흐름은 다음을 포함할 수 있다.
먼저, 복원될 이미지(흰색 영역, 즉, 개체 맵의 눈썹 영역이 제거될 개체 영역인 프로세싱될 이미지)와 마스크 이미지(프로세싱될 이미지의 마스크 이미지)가 폭 w1과 높이 h1을 갖는 모델의 출력 이미지(X)를 획득하기 위해 이미지 인페인팅 네트워크 안으로 입력된다. 규칙적인 물고기 비늘 현상이 출력 이미지(X)에서 제거될 개체 영역에 대응하는 영역에서 발생한다. 해당 영역의 확대도에 대해, 물고기 비늘 현상을 더 명확하게 디스플레이하기 위하여, 개략도는 도 10d의 해당 영역에서 이미지의 컬러 스케일을 조정한 후의 개략도라는 것에 주의해야 한다.
출력 이미지(X)의 경우, 이미지의 좌측 상부 모서리를 좌표 원점으로 하여, 폭 [0, w1-a] 및 높이 [0, h1-b]의 범위의 이미지가 제1 클리핑된 이미지(X_2)를 생성하기 위해 이미지(X)로부터 클리핑된다(즉, a의 폭을 갖는 이미지 및 b의 폭을 갖는 이미지가 각각 이미지의 우측 및 하측에서 클리핑된다). 폭 [a, w1]과 높이 [b, h1]의 범위의 이미지(a의 폭을 갖는 이미지 및 b의 폭을 갖는 이미지가 각각 이미지의 좌측 및 상측에서 클리핑됨)가 제2 클리핑된 이미지(X_1)를 획득하기 위해 이미지(X)로부터 클리핑된다. w1-a의 폭 및 h1-b의 높이의 사이즈로 도 10d에 도시된 노이즈 이미지 A에 대응할 수 있는 노이즈 맵 Inoise1이 생성되고, 노이즈 이미지 A의 값들은 랜덤하게 생성된 0 또는 1만을 포함한다. 노이즈 맵 I-Inoise1 은 노이즈 맵과 동일한 사이즈로 엘리먼트 값들이 모두 1인 이미지에서 엘리먼트 포인트들로부터 노이즈 맵 A을 감산함으로써 획득되며, 여기서 I는 사이즈가 클리핑된 이미지와 동일하고 값들이 모두 1인 이미지를 표시한다. 연산 결과 이미지(Y)는 공식 (I-Inoise1)*X_1+Inoise1*X_2를 사용하여 획득되며, 여기서 공식에서의 심볼들 "+", "-" 및 "*"은 각각 가산, 감산, 및 해당 점 포인트 곱셈 연산들이고, 따라서 이미지 엘리먼트들의 교환은 완료된다. 하나의 교환 프로세스 후의 이미지는 다음 수학식 2에 의해 표현될 수 있다는 것을 알 수 있다:
(수학식 2)
여기서 i 및 j는 각각 이 시간에 프로세싱된 제1 클리핑된 이미지 및 제2 클리핑된 이미지에서의 화소 포인트들을 나타낸다. 이미지(Y)에서의 각각의 화소의 화소 값은 제1 클리핑된 이미지에서의 화소 포인트의 화소 값과 제1 클리핑된 이미지의 가중 맵에서의 화소 포인트의 가중값 값이 곱과 제1 클리핑된 이미지에서의 화소 포인트의 화소 값과 제2 클리핑된 이미지의 가중 맵에서의 화소 포인트의 가중값 값의 곱의 합과 동일하다는 것을 알 수 있다.
제2 프로세스 시, 프로세싱은 이미지(Y)에 기초하고, 이미지(Y)의 폭 및 높이는 각각 w2 및 h2이다. 위에서 설명된 제1 프로세스와 같이, Y는 Y_2를 획득하기 위해 폭 [0, w2-c]와 높이 [0, h2-d]를 갖는 이미지로서 클리핑되고, Y는 Y_1을 획득하기 위해 폭 [c, w2]와 높이 [d, h2]를 갖는 이미지로서 클리핑된다. 위에서와 같이, 폭 및 높이가 각각 w2 및 h2인 노이즈 이미지(B)가 생성되고, 결과 이미지(I)는 공식 B*Y_1+(1-B)*Y_2에 의해 획득된다.
위의 두 개의 프로세스들이 완료된 후, 이미지(I)의 폭 및 높이는 각각 w1 및 h1에 대해 보완된다. 그 이미지는 각각 상측, 하측, 좌측 및 우측의 부분들을 보완하거나, 또는 특정한 방향의 부분만을 보완함으로써 보완될 수 있다. 이미지를 보완하는데 사용되는 데이터는 임의의 수와 또한 제1 프로세스 동안 클리핑된 이미지일 수 있고, 보완된 이미지는 I_padding로서 기록된다. 프로세싱된 이미지를 더 매끄럽게 하고 더 자연스럽게 하기 위하여, 이미지(I_padding)가 획득된 후, 이미지 블러 동작이 수행될 수 있다. 예를 들어, 가우시안 콘볼루션 커널 블러가 최종 출력 이미지(I_output)를 획득하기 위해 이미지(I)의 세 개의 채널들(R, G, 및 B)에 대해 각각 블러 동작들을 수행하고, 블러 동작 후 데이터를 결합하는데 사용된다. 예를 들어, 그 도면에 도시된 사이즈 3*3을 갖는 블러 콘볼루션 커널의 경우, 이미지가 콘볼루션 커널에 기초하여 블러링될 때, 이미지에서 임의의 채널의 임의의 화소 포인트의 화소 값에 기초하여, 블러링된 화소 값은 그 화소 포인트를 중앙으로 하여 3*3의 범위 내의 화소 포인트들의 가중된 평균에 의해 획득된다. 예를 들어, 화소 포인트의 주변 화소 포인트들의 가중값들이 모두 동일하다고, 그리고 화소 포인트 자체의 가중값이 주변 화소 포인트들의 가중값의 k배라고 가정하면, 블러링된 화소 포인트의 화소 값은 아홉 개 화소 포인트들의 화소 값들의 가중된 평균이다.
위에서 설명된 실시예에 따르면, 이미지 인페인팅 프로세싱이 완료된 후, 위의 이미지(X)에서의 물고기 비늘 현상은 효과적으로 제거될 수 있다.
본 개시의 일 실시예에서, 개체 맵에서 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 조정하는 단계는 개체 맵에 대해 다음 프로세싱 중 적어도 하나를 수행하고 적어도 하나의 프로세싱 후 맵에 기초하여 개체 맵과 동일한 사이즈를 갖는 프로세싱된 개체 맵을 획득하는 것을 포함할 수 있다: 제3 클리핑된 맵 및 제4 클리핑된 맵을 획득하기 위해 개체 맵에 대해 제3 에지 클리핑 및 제4 에지 클리핑을 수행하는 단계; 제3 클리핑된 맵에 기초하여 제4 클리핑된 맵의 조정 계수를 획득하는 단계; 및 프로세싱된 이미지를 획득하기 위해 조정 계수에 기초하여 제4 클리핑된 맵에서의 엘리먼트 포인트들의 엘리먼트 값들을 조정하는 단계.
제3 클리핑된 맵 및 제4 클리핑된 맵의 설명을 위해, 전술한 바의 제1 클리핑된 맵 및 제2 클리핑된 맵의 설명들이 언급될 수 있다.
본 개시의 실시예에 의해 제공되는 솔루션에 따르면, 다른 클리핑된 맵에서의 엘리먼트 값들의 조정은 하나의 클리핑된 맵에 기초하여 구현될 수 있어서, 엘리먼트 값들이 개체 맵의 중앙에서 너무 크거나 또는 너무 작은 영역의 발생은 효과적으로 회피될 수 있다. 조정 계수는 제1 클리핑된 맵에서의 각각의 엘리먼트 포인트의 조정 계수를 포함할 수 있고, 조정 계수는 [0, 1]의 값 범위를 가질 수 있다.
일 실시예에서, 조정 계수의 값은 0 또는 1일 수 있다. 따라서, 개체 맵에서의 엘리먼트 값들의 랜덤 삭제는 구현될 수 있고, 위에서 나타날 수 있는 집중된 영역은 더 효과적으로 회피될 수 있다.
제3 클리핑된 맵에 기초하여 제4 클리핑된 맵을 획득하기 위한 조정 계수 맵은 실제 애플리케이션 요건들에 따라 구성될 수 있고, 예를 들어, 이는 콘볼루션 구조 및 여기 계층 구조에 의해 구현될 수 있다. 구체적으로, 콘볼루션 구조는 제3 클리핑된 맵에 대한 특징 추출을 위해 사용되고, 여기 계층 구조(이를테면 시그모이드 함수)가 추출된 특징 맵에 기초하여 위에서 설명된 범위의 값들(또는 값 0 또는 1)의 조정 계수 맵을 출력하는데 사용된다. 조정 계수 맵에 기초한 제4 클리핑된 맵에서의 엘리먼트 포인트들의 엘리먼트 값들의 조정은 조정 계수 맵에 기초한 제4 클리핑된 맵의 직접 프로세싱 또는 조정 계수 맵에 기초한 사전 프로세싱된 제4 클리핑된 맵의 프로세싱(이를테면 콘볼루션 프로세싱)일 수 있다.
일 예로서, 도 10e는 본 개시에 의해 제공되는 개체 맵에 대한 엘리먼트 값 조정을 수행하는 개략도를 예시한다. 그 도면에 도시된 바와 같이, 개체 맵에 대해, 제3 클리핑된 맵과 제4 클리핑된 맵 상이한 클리핑 방법들에 의해 획득될 수 있다. 예를 들어, 도시된 클리핑 방법을 채택할 수 있다. 제3 클리핑된 맵의 경우, 콘볼루션 프로세싱 후, 엘리먼트 값들이 0과 1인 특징 맵들은 제1 여기 함수(이를테면 시그모이드 함수)를 통해 획득될 수 있다. 다시 말하면, 특징 맵에서의 각각의 엘리먼트 포인트는 조정 계수 맵이라 불릴 수 있는 조정 계수이다. 제4 클리핑된 맵의 경우, 콘볼루션 프로세싱 후, 해당 특징 맵은 제2 여기 함수(이는 시그모이드 함수, 소프트맥스(softmax) 함수 등과 같은 요건들로서 선택될 수 있음)를 통해 프로세싱한 후 출력되고, 해당 엘리먼트 포인트들의 포인트 곱셈 연산은 프로세싱된 이미지를 획득하기 위해, 특징 맵 및 조정 계수 맵에 대해 수행될 수 있다. 마찬가지로, 프로세싱 동작이 완료된 후, 최종 출력 이미지는 이미지 완성 이미지 블러 프로세싱과 같은 동작들에 의해 획득될 수 있다.
실제 응용들에서, 맵에서의 엘리먼트들의 값은 특정한 영역에서 엘리먼트 값들이 중앙에서 너무 크거나 또는 너무 작은 문제를 피하도록 조정될 수 있다는 것에 주의해야 한다. 그러므로, 이 프로세싱 방법에서, 입력 맵(즉, 개체 맵) 및 출력 맵(즉, 개체 맵을 조정한 후의 맵)의 사이즈들은 동일할 수 있다.
도 11은 실시예들에 따른 이미지 프로세싱 방법(1100)의 전체 흐름도를 예시한다. 도 11에 도시된 바와 같이, 이미지 프로세싱 방법(1100)은, 동작 S1110에서, 시맨틱 정보에 기초한 이미지 클리핑, 즉, 시맨틱 정보에 기초한 클리핑을 포함할 수 있다. 동작 S1120에서, 이미지 프로세싱 방법(1100)은 이미지 인페인팅을 위한 수한 콘볼루션(즉, 깊이 게이트식 콘볼루션)과 수정된 U-넷 구조를 포함할 수 있다. 동작 S1130에서, 이미지 프로세싱 방법(1100)은 인페인팅 결과의 초화소 프로세싱(또한 초해상 프로세싱이라고 지칭됨)을 포함할 수 있다.
일 실시예에서, 시맨틱 정보 및 초화소 인페인팅 결과에 기초한 이미지 클리핑은 기존의 U-넷 모델이 고선명 이미지들을 직접 프로세싱할 수 없는 문제를 해결하는데 사용될 수 있다. 특수한 콘볼루션은 물고기 비늘들 및 큰 네트워크 모델의 문제들을 해결하는데 사용될 수 있다. 수정된 U-넷 구조는 제거될 개체 영역이 클 때 열악한 인페인팅 결과들의 문제를 해결하는데 사용될 수 있다.
도 11에 도시된 바와 같이, 이미지 프로세싱 방법(1100)을 수행하는 경우, 동작 S1110은 사용자에 의해 선택된 제거될 개체 영역(즉, 제거될 개체 영역)에 따라 사용자에 의해 선택된 제거될 개체 영역의 화소 값을 0으로 조정하는 동작 S1111을 포함할 수 있고, 그 도면에 도시된 이미지에서의 흰색 영역은 제거될 개체 영역이다. 동작 S1110은 시맨틱 정보에 기초하여 가장 적합한 경계 박스를 예측하는 동작 S1112을 더 포함할 수 있으며, 경계 박스는 전술한 바에서 설명된 후보 직사각형 박스이고, 가장 적합한 경계 박스는 개체 후보 박스이다. 동작 S1110은 제거될 개체 영역을 포함하는 프로세싱될 이미지를 획득하기 위해 선별된 가장 적합한 경계 박스를 사용하고 프로세싱될 이미지에 대응하는 마스크 이미지를 사용함으로써 사전 프로세싱된 원본 이미지를 클리핑하는 동작 S1113을 더 포함할 수 있다.
무엇보다도, 시맨틱 정보에 기초한 이미지 클리핑은 전술한 바의 해당 설명을 참조할 수 있고, 그 설명은 여기서 반복되지 않을 것이다.
프로세싱될 이미지 및 대응하는 마스크 이미지를 획득한 후, 프로세싱될 이미지 및 대응하는 마스크 이미지는 이미지 인페인팅 네트워크 안으로 입력될 수 있고, 인페인팅 결과, 즉, 도 11에 도시된 인페인팅 결과는 네트워크의 출력에 기초하여 획득될 수 있다.
클리핑된 이미지가 시맨틱 정보에 기초하여 이미지를 클리핑하는 프로세스에서 스케일링되면, 이미지 인페인팅 네트워크의 인페인팅 결과를 획득한 후, 초해상 프로세싱은 그 도면에 도시된 결과 R획득하기 위해 인페인팅 결과에 대해 수행될 수 있다.
초해상 프로세싱의 특정 단계들은 이전의 텍스트에서의 해당 설명을 참조할 수 있고 여기서 반복되지 않을 것이다.
위의 결과 R이 획득된 후, 결과 R은 클리핑된 영역이 스플라이싱 결과를 획득하기 위해 제거된 원본 이미지로부터의 이미지로 스플라이싱될 수 있고, 개체 제거(또한 개체 인페인팅이라고 지칭됨)는 완료될 수 있다.
기존의 이미지 인페인팅 네트워크는 인페인팅 결과에서 "물고기 비늘 현상"의 발생이라는 문제, 제거될 영역이 제거될 큰 영역으로 인해 완전히 복원될 수 있는 문제, 및 큰 모델 사이즈의 문제가 있을 수 있다. 이들 문제들을 해결하기 위하여, 실시예들은 이미지 인페인팅 결과들에서 "물고기 비늘 현상"의 문제를 줄이고 큰 이미지 인페인팅 네트워크 모델의 문제를 해결하기 위해 이미지 인페인팅을 위한 특수한 깊이 게이트식 콘볼루션(Depth-Gated Conv)을 사용할 수 있다.
일 실시예에서, U-넷에 기초하여, 기존의 U-넷 구조의 인코딩 파트, 예를 들어 인코딩 네트워크와, 디코딩 파트, 예를 들어 디코딩 네트워크의 콘볼루션 구조들은, 제거될 개체 영역의 면적이 클 때 기존의 네트워크 구조가 복원될 수도 있고 모델이 너무 크다는 문제들을 해결하는 그리고 인페인팅 결과가 "물고기 비늘 현상"을 포함한다는 문제를 개선할 수도 있는 깊이 게이트식 콘볼루션에 의해 구현될 수도 있다. 추가적으로, 랜덤 노이즈는 U-넷의 디코딩 파트의 업샘플링에서 추가될 수도 있으며, 이는 인페인팅 결과가 "물고기 비늘 현상"을 포함하는 문제를 추가로 감소시킨다.
도 12는 본 개시의 일 실시예에 따른 이미지 인페인팅 네트워크의 개략적인 구조도를 예시한다. 도 12에 도시된 바와 같이, 이미지 인페인팅 네트워크는 인코딩 파트와 디코딩 파트를 포함할 수 있고, 인코딩 파트의 다운샘플링 동작 및 디코딩 파트의 업샘플링 동작 둘 다는 깊이 게이트식 콘볼루션 구조를 사용하여 구현될 수 있다. 구체적으로, 인코딩 파트는 깊이 게이트식 콘볼루션의 동작을 사용하여 다운샘플링 동작을 실현하고 입력 프로세싱될 이미지 및 대응하는 마스크 이미지에 따라 데이터의 고차원적 특징들을 추출한다. 다운샘플링 동작의 다운샘플링 레이트는 깊이 게이트식 콘볼루션의 스트라이드에 의해 실현될 수 있으며, 예를 들어, 2의 스트라이드를 갖는 깊이 게이트식 콘볼루션은 다운샘플링할 때마다 데이터 사이즈를 절반으로 감소시킬 수 있다. 디코딩 파트는 깊이 게이트식 디콘볼루션을 사용하여 업샘플링 동작을 실현할 수 있으며, 여기서 업샘플링 동작은 업샘플링을 위해 최근린 보간 또는 이중선형 보간을 선택할 수 있다. 그 후, 업샘플링 후의 출력 계층은 출력 이미지와 동일한 화소 사이즈를 갖는 랜덤 노이즈 데이터(예컨대, 랜덤 가우시안 노이즈)를 추가함으로써 최종적으로 이미지 인페인팅을 완료할 수 있다.
도 12에 도시된 바와 같이, 이 예의 인코딩 파트는 순차적으로 캐스케이드되는 일곱 개의 제1 콘볼루션 모듈들 및 네 개의 제2 콘볼루션 모듈들을 포함한다. 이 예에서, 인코딩 파트의 각각의 제2 콘볼루션 모듈의 다운샘플링 레이트는 1이며, 융합 특징 맵들 중에서 마지막 제2 콘볼루션 모듈에 의해 출력된 어떠한 융합 특징 맵이라도 마지막 제1 콘볼루션 모듈에 의해 출력될 수 있고 제2 콘볼루션 모듈들은 디코딩 파트에서 사용될 수 있고, 디코딩 파트는 순차적으로 캐스케이드되는 일곱 개의 제1 콘볼루션 모듈들을 포함할 수 있다. 제1 콘볼루션 모듈은 기존의 콘볼루션 프로세싱 방법 또는 확장된 콘볼루션 프로세싱 방법을 채택할 수 있고, 각각의 제1 콘볼루션 모듈은 본 개시의 일 실시예에 따른 융합 특징 추출 방법에 기초하여 각각의 계층의 융합 특징 맵을 획득할 수 있다. 제2 콘볼루션 모듈은 마지막 제1 콘볼루션 모듈에 의해 출력된 융합 특징 맵에 기초하여 융합 특징 맵을 확장된 콘볼루션 프로세싱 방식으로 출력할 수 있는 반면, 디코딩 파트, 즉, 디코딩 네트워크의 각각의 제1 콘볼루션 모듈은, 예비 인페인팅 결과를 획득하기 위해, 인코딩 파트의 각각의 제1 콘볼루션 모듈 및 제2 콘볼루션 모듈들에 의해 추출된 계층들의 융합 특징 맵들에 기초하여 콘볼루션 프로세싱을 통해 업샘플링 동작을 실현할 수 있다. 구체적으로는, 이 예에서, 디코딩 파트의 각각의 콘볼루션 모듈에 대해, 좌측의 제1 콘볼루션 모듈의 입력은 마지막 제2 콘볼루션 모듈의 출력이고, 좌측의 제1 콘볼루션 모듈이 아닌 디코딩 파트의 각각의 콘볼루션 모듈의 입력은 콘볼루션 모듈에 대응하는 인코딩 파트의 콘볼루션 모듈에 의해 출력된 융합 특징 맵과 콘볼루션 모듈의 좌측의 콘볼루션 모듈의 출력 특징 맵을 포함할 수 있다.
실시예들은 도 12에 도시된 이미지 인페인팅 네트워크 구조로 제한되지 않는다는 것이 이해될 수 있다. 인코딩 파트의 콘볼루션 모듈들에 의해 출력된 융합 특징 맵들에서, 디코딩 파트를 위해 사용되고 있는 콘볼루션 모듈들은 실제 요건들에 따라 구성될 수 있다. 예를 들어, 도 12의 구조의 경우, 마지막 콘볼루션 모듈 및 제2 콘볼루션 모듈들에 의해 출력된 특징 맵들에 대해, 복수의 특징 맵들이 디코딩 파트를 위해 사용될 수 있다. 특징 맵들의 이미지 사이즈들이 동일한 경우, 동일한 사이즈들을 갖는 특징 맵들은 디코딩 네트워크에서의 해당 콘볼루션 모듈들의 입력들로서 취해질 수 있거나, 또는 인코딩 네트워크에서 특징 맵들을 추출하기 위해 사용되는 콘볼루션 모듈들에 대응하는 디코딩 파트들의 콘볼루션 모듈들은 각각 설정될 수 있고, 특징 맵들은 각각 디코딩 파트에 대응하는 콘볼루션 모듈들의 출력들로서 취할 수 있다.
더 나은 이미지 인페인팅 효과를 획득하기 위하여, 프로세싱될 이미지와 동일한 사이즈를 갖는 노이즈 이미지(도 12에서 노이즈라고 라벨표시됨)가 생성될 수 있다. 노이즈 이미지 및 예비 인페인팅 결과에 기초하여, 추가 인페인팅 결과가 획득될 수 있다. 노이즈 이미지에 기초하여 추가 프로세싱하는 일 예가 아래에서 상세히 설명될 것이다.
도 13은 본 개시에 의해 제공되는 다른 이미지 인페인팅 네트워크의 개략적인 구조도를 예시한다. 도 13에 도시된 바와 같이, 이미지 인페인팅 네트워크의 인코딩 파트는 순차적으로 캐스케이드되는 세 개의 제1 콘볼루션 모듈들 및 네 개의 제2 콘볼루션 모듈들을 포함하고, 디코딩 파트는 순차적으로 캐스케이드되는 세 개의 제1 콘볼루션 모듈들을 포함한다. 일 실시예에서, 제1 콘볼루션 모듈은 기존의 콘볼루션 프로세싱 방법을 사용하여 모든 계층들의 융합 특징 맵들을 획득할 수 있는 반면, 제2 콘볼루션 모듈은 확장된 콘볼루션 프로세싱 방법을 사용하여 모든 계층들의 융합 특징 맵들을 추출할 수 있다. 더구나, 디코딩 파트는 예비 인페인팅 결과(예를 들어 도 13에 도시된 R, G 및 B 채널들의 세 개의 이미지들)를 획득하기 위해 제1 콘볼루션 모듈 및 제2 콘볼루션 모듈에 의해 추출된 모든 계층들의 융합 특징 맵들에 기초하여 콘볼루션 프로세싱을 통해 업샘플링 동작을 실현할 수 있다. 마찬가지로, 예비 인페인팅 결과가 획득된 후, 추가 인페인팅 결과(도 13에서 결과로 라벨표시됨)가 이미지 및 노이즈 이미지(Noise)에 기초하여 획득될 수 있다. 예비 인페인팅 결과와 노이즈 이미지가 융합되는 경우, 융합은 도면에 도시된 연접(concatenation) 계층(또한 결합 계층이라고 지칭됨)과 콘볼루션 계층(예를 들어 Conv2D)을 통해 수행될 수 있다.
실제 응용에서, 확장된 콘볼루션 프로세싱 방법과 깊이 게이트식 콘볼루션 구조는 동시에 채탁될 수 있으며, 하나의 콘볼루션 모듈에만 채택될 수 있으며, 다수의 콘볼루션 모듈들 또는 모든 콘볼루션 모듈들에 채택될 수 있다는 것이 이해될 수 있다. 도 12 및 도 13에 도시된 인페인팅 네트워크 구조에 관해 말하자면, 인코딩 파트 및 디코딩 파트의 제1 콘볼루션 모듈들의 하나 이상 또는 모두는 깊이 게이트식 콘볼루션 구조를 채택하며 그리고/또는 확장된 콘볼루션 프로세싱 방법을 채택할 수 있다.
일 예로서, 도 14는 도 12 또는 도 13에 도시된 네 개의 제2 콘볼루션 모듈들(즉, 확장된 콘볼루션 모듈들)의 개략적인 구조도를 예시한다. 무엇보다도, 각각의 확장된 콘볼루션 모듈은 확장된 콘볼루션 메커니즘에 기초한 깊이 게이트식 콘볼루션 또는 확장된 콘볼루션 메커니즘에 기초한 기존의 게이트식 콘볼루션 구조일 수 있다. 이 구조에 기초하여, 프로세싱될 이미지 정보 및 마스크 이미지 정보가 융합되는 네 개의 계층들의 융합 특징 맵이 추출될 수 있으며, 여기서 모든 계층들의 확장된 콘볼루션 구조의 확대 비율은 동일하거나 또는 상이할 수 있다. 이 예에서, 각각의 계층의 확대 비율은 점진적으로 증가한다. 도 14에 도시된 바와 같이, 각각의 계층의 확대 비율은 2, 4, 8 및 16으로 설정될 수 있다. 확장된 콘볼루션 프로세싱 방법을 채택함으로써, 추출된 특징 맵에서의 각각의 엘리먼트 포인트는 원본 이미지의 특징 정보를 추출할 수 있고, 최종 이미지 인페인팅 효과는 추가로 개선될 수 있다.
애플리케이션의 실시예에 의해 제공되는 깊이 게이트식 콘볼루션 구조는 이미지 인페인팅 결과들에서 "물고기 비늘 현상"의 문제를 상당 부분 해결할 수 있지만, "물고기 비늘 현상"은 일부 실제 장면들에서 여전히 발생할 수 있다. 이 현상의 발생을 더욱 피하기 위하여, 인페인팅 결과가 이미지 인페인팅 네트워크에 기초하여 획득된 후, 노이즈 이미지들은 "물고기 비늘 현상"에서 나타나는 규칙적인 텍스처를 파괴하여 이 현상을 더 줄이기 위해 인페인팅 결과 안으로 융합될 수 있다.
일 예로서, 본 개시의 일 실시예에 따른 이미지 프로세싱 방법의 흐름은 도 13을 참조하여 아래에서 설명될 것이다. 도 13에 도시된 바와 같이, 이미지 인페인팅 네트워크(그 도면에 도시된 인코딩 파트 및 디코딩 파트)를 통해 프로세싱될 이미지의 예비 인페인팅을 완료한 후, 그 방법은 또한 디코딩 파트 후에 노이즈 이미지 융합을 추가할 수 있다. 구체적으로, 출력 이미지와 동일한 화소 사이즈를 갖는 랜덤 노이즈 데이터, 즉, 도면에 도시된 노이즈 이미지 노이즈는 디코딩 파트의 출력 계층에 추가될 수 있고, R, G 및 B 채널들의 노이즈 이미지 및 디코딩된 출력 이미지들은 결합될 수 있으며, 그러면 규칙적인 텍스처를 파괴하는 효과는 콘볼루션 연산을 통해 성취될 수 있고, 더 나은 인페인팅 결과가 획득될 수 있다.
인페인팅 결과가 획득된 후, 클리핑된 이미지가 이미지 클리핑 프로세스 동안 스케일링되면, 그 이미지는 스케일링 전의 것과 동일한 사이즈를 갖는 이미지를 획득하기 위해 해당 스케일링 비율에 따라 초해상 프로세싱을 받아야 할 수 있고, 초해상 프로세싱된 이미지는 개체가 제거된 최종 완성 이미지를 획득하기 위해 클리핑된 영역을 제외한 원본 이미지의 다른 영역들과 스플라이싱될 수 있다. 클리핑된 이미지가 스케일링되지 않으면, 인페인팅 결과는 클리핑된 영역을 제외한 원본 이미지에서 다른 영역들과 직접 스플라이싱될 수 있다.
도 15a 내지 도 15e는 "물고기 비늘 현상"의 문제에 관련한 실시예들을 예시한다. 예를 들어, 도 15a는 원본 이미지를 도시할 수 있고, 도 15b는 도 15a의 이미지를 사전 프로세싱한 후의 이미지를 도시한다. 예를 들어, 도 15b의 흰색 영역에 대응하는 이미지 영역은 제거될 개체 영역이고, 이 영역의 화소 값은 사전 프로세싱 후에 0이 된다. 실시예들에 따르면, 도 15c는 기존의 게이트식 콘볼루션 구조에 기초하여 도 15a에 도시된 이미지에 대한 개체 제거의 효과를 도시하며, 도 15d는 기존의 부분적 콘볼루션 구조에 기초한 도 15a에 도시된 이미지에 대한 개체 제거의 효과를 도시한다. 그리고 도 15e는 본 개시의 일 실시예에 따른 깊이 게이트식 콘볼루션 구조에 기초하여 도 15a에 도시된 이미지에 대한 개체 제거의 효과를 도시한다. 도 15c 내지 도 15e에서 알 수 있는 바와 같이, 기존의 게이트식 콘볼루션 구조에 기초하여 복원된 이미지, 즉, 도 15c 백색 원에 대응하는 영역에는 분명한 "물고기 비늘 현상"이 있다. 부분적 콘볼루션 구조에 기초한 이미지 인페인팅 결과(즉, 도 15d)가 도 15c와 비교하여 크게 개선되지만, 일부 "물고기 비늘 현상", 즉, 도 15d의 백색 원에 대응하는 영역이 여전히 있다. 도 15e에서 알 수 있는 바와 같이, 본 개시에 의해 제공되는 깊이 게이트식 콘볼루션 구조에 기초한 이미지 인페인팅 결과들에서, 맨눈에 보이는 "물고기 비늘 현상"이 없고, 이미지 인페인팅 결과들은 크게 개선되었다.
도 16a 내지 도 16e는 제거될 개체 영역의 면적이 상대적으로 큰 장면들에 관련한 실시예들을 예시한다. 예를 들어, 도 16a는 원본 이미지를 도시할 수 있고, 도 16b는 도 16a의 이미지를 사전 프로세싱한 후의 이미지를 도시한다. 예를 들어, 도 16b의 흰색 영역에 대응하는 이미지 영역은 제거될 개체 영역이고, 이 영역의 화소 값은 사선 프로세싱 후에 0이 된다. 실시예들에 따르면, 도 16c는 기존의 게이트식 콘볼루션 구조에 기초하여 도 16a에 도시된 이미지에 대한 개체 제거의 효과를 도시하며, 도 16d는 기존의 부분적 콘볼루션 구조에 기초하여 도 16a에 도시된 이미지에 대한 개체 제거의 효과를 도시하고, 도 16e는 본 개시의 실시예에서 제공되는 깊이 게이트식 콘볼루션 구조에 기초한 도 16a에 도시된 이미지에 대한 개체 제거의 효과를 도시한다. 도 16c 내지 도 16e로부터, 종래 기술의 이미지 인페인팅 결과들에는, 도 16c 및 도 16d의 백색 원들에 대응하는 영역들과 같이, 명백한 비복원 영역들과 수동 인페인팅의 흔적들이 있는 한편, 본 개시에 의해 제공되는 깊이 게이트식 콘볼루션 구조에 기초한 인페인팅 결과는 비교적 자연스러우며, 도 16e에 도시된 바와 같이, 이미지 인페인팅 효과는 크게 개선되었다는 것을 알 수 있다.
본 개시의 실시예들에서 제공되는 이미지 인페인팅 네트워크의 경우, 네트워크의 훈련 방법은 설명된 실시예들로 제한되지 않는다. 예를 들어, 실시예들에서, 이미지 인페인팅 효과를 더 잘 보장하기 위하여, 이미지 인페인팅 네트워크의 훈련은 생성적 적대 네트워크 아키텍처를 채택할 수 있다. 구체적으로는, 도 17a에 도시된 바와 같이, 생성적 적대 네트워크용 스펙트럼 정규화(Spectral Normalization for Generative Adversarial Network)(SN-GAN) 아키텍처가 채택될 수 있다. 생성 네트워크로서 취해지는 이미지 인페인팅 네트워크가, 두 개의 판별기들(쌍 판별기, 또한 로컬 판별기와, 글로벌 판별기라고 불리움) 네트워크들로 적대적으로 훈련될 수 있다. 여기서, 글로벌 판별기의 입력은 기존의 SN-GAN과 일치할 수 있고, 쌍 판별기의 입력은 이미지들의 쌍일 수 있다. 쌍 판별기와 글로벌 판별기는 두 개의 분류 네트워크들인데, 이것들은 이미지 인페인팅 네트워크에 의해 생성된 이미지들이 원래의 이미지들인지의 여부를 판별하는데 사용되고, 따라서, 판별기 소실은 이미지 인페인팅 네트워크에 의해 생성된 이미지들이 원래의 이미지들인지의 여부의 확률, 다시 말하면, 생성된 이미지들과 원래의 이미지들 사이의 차이를 반영한다.
본 개시의 실시예들에 따르면, 훈련이 SN-GAN의 네트워크 아키텍처를 사용하여 수행될 때, 생성 네트워크(즉, 이미지 인페인팅 네트워크)와 판별 네트워크(즉, 쌍 판별기 또는 글로벌 판별기)는 서로 지속적으로 반복하고 업데이트하는 프로세스인 교대 훈련 모드를 채택할 수 있고, 쌍 판별기와 글로벌 판별기는 따로따로 훈련될 수 있다. 구체적으로는, 글로벌 판별기가 훈련될 때, 이미지 인페인팅 네트워크의 네트워크 가중값은 고정될 수 있다. 이미지 인페인팅 네트워크가 훈련되는 경우, 글로벌 판별기의 네트워크 가중값은 고정될 수 있다. 글로벌 판별기가 참여하는 훈련 프로세스에서, 쌍 판별기는 훈련에 참여하지 않을 수 있다. 마찬가지로, 쌍 판별기가 훈련되는 경우, 이미지 인페인팅 네트워크의 네트워크 가중값은 고정될 수 있다. 이미지 인페인팅 네트워크가 훈련되는 경우, 쌍 판별기의 네트워크 가중값은 고정되고, 쌍 판별기가 참여하는 훈련 프로세스에서, 글로벌 판별기는 훈련에 참여하지 않을 수 있다.
훈련 동안, 훈련 샘플에서의 복원될 이미지(프로세싱될 이미지에 해당함)와 그 이미지의 마스크 이미지는 생성된 이미지를 획득하기 위해 순방향 전파(forward propagation)를 위한 이미지 인페인팅 네트워크에 입력되고, 생성된 이미지는 글로벌 판별기 소실을 획득하기 위해 글로벌 판별기에 입력된다. 동시에, 원본 이미지 (복원될 이미지에 대응하는 완성 이미지, 다시 말하면, 샘플에서 복원될 것이 요구되지 않는 완성 이미지)와 생성된 이미지에서의 마스크 이미지만을 포함하는 이미지 데이터는 쌍 판별기 소실을 획득하기 위해 쌍 판별기에 입력된다.
실제 응용들에서, 소실 함수의 선택은 실제 요건들에 따라 구성될 수 있다. 대체 예로서, 이미지 인페인팅 소실은 기존의 인지 소실, 스타일 소실, L1 소실 등을 사용할 수 있다. 쌍 판별기 소실 및 글로벌 판별기 소실은 기존의 힌지 소실 또는 교차 엔트로피 소실 등을 사용할 수 있다.
생성 네트워크(즉, 이미지 인페인팅 네트워크)가 훈련되는 경우, 판별 네트워크(쌍 판별기 또는 글로벌 판별기)의 가중값은 고정될 수 있어서, 판별기 소실은 획득될 수 있으며, 이는 생성된 데이터가 실제 데이터일 확률을 나타낸다. 판별 네트워크가 훈련되는 경우, 생성 네트워크의 가중값은 고정될 수 있어서, 음의 샘플 데이터가 생성 네트워크에 따라 취득될 수 있으며, 판별 네트워크가 그 데이터는 생성된 이미지 또는 원본 이미지임을 판별하는 능력을 훈련하는데 사용될 수 있다.
추가적으로, 이미지 인페인팅에서, 엘리먼트 값 교환 및/또는 엘리먼트 값 조정의 솔루션이 전술한 바에서 설명된 바와 같이 개체 맵에 대해 수행되면, 본 개시의 실시예는 또한 이미지 인페인팅 네트워크를 훈련할 때 랜덤 총 변동(random total variation) 소실(RTV loss) 함수를 제공한다. RTV 소실 함수는 이미지 인페인팅 네트워크의 가중값을 업데이트하는데 사용될 수 있는 RTV 소실을 획득하는데 사용될 수 있다. RTV 소실은 엘리먼트 값 교환 및/또는 엘리먼트 값 조정을 받은 개체 맵과 개체 맵에 대응하는 원본 이미지(원본 이미지는 복원될 필요가 있는 영역을 포함하지 않음) 사이의 차이를 특징화한다. 예를 들어, 개체 맵이 이미지 인페인팅 네트워크에 의해 출력된 이미지이면, 소실은 이미지 인페인팅 네트워크에 의해 출력된 그리고 엘리먼트 값 교환 및/또는 엘리먼트 값 조정을 받은 이미지와, 대응하는 원본 이미지 사이의 차이를 특징화한다.
이미지 인페인팅 네트워크에 의해 출력된 이미지의 엘리먼트 값들(즉, 화소 값들)의 랜덤 교환을 일 예로 하면, RTV 소실 함수는 아래의 수학식 3 내지 5에 도시된 바와 같이 정의될 수 있다:
(수학식 3)
(수학식 4)
(수학식 5)
이 예의 RTV 소실(즉, )이 L1 소실 기반 형태로 있다는 것을 공식으로부터 알 수 있다. RTV 소실의 특정 형태는, 특성화될 물리적 의미를 반영할 수 있는 한, 필요에 따라 상이한 형태들로 구성될 수 있다는 것이 이해될 수 있다.
여기서, 는 이미지 인페인팅 네트워크의 출력 결과(도 17a에 도시된 생성된 이미지)이며, 그것의 폭 및 높이는 및 이고, 및 는 일반적으로 2(두 화소 폭)와 1(한 화소 높이)인 선택된 클리핑 폭 임계값이다. 은 0 및 1의 값들을 갖는 그리고 , 즉, 전술한 바에서 설명된 제1 가중 맵과 동일한 채널 데이터를 갖는 폭 및 높이가 및 인 랜덤하게 생성된 이미지이다. 은 해당 엘리먼트들의 포인트 곱셈을 나타낸다. "+" 및 "-"는 각각 해당 엘리먼트들의 가산 및 감산에 대응한다. 은 모든 엘리먼트 값들이 1이고, 와 동일한 폭, 높이, 및 채널 숫자를 갖는 이미지, 다시 말하면, 전술한 바에서 설명된 제2 가중 맵을 나타낸다. 마찬가지로, (제2 엘리먼트 값 교환 및/또는 조정이 기반으로 하는 이미지이며, 도 10d의 이미지(Y)에 대응함)의 폭 및 높이는 및 이다. 및 는 일반적으로 0과 1(한 화소 폭)인 선택된 클리핑 임계값들이다. 는 에 대응하는 제1 가중 맵이다. 는 엘리먼트 값들이 모두 1이고, 와 동일한 폭, 높이, 및 채널 숫자를 갖는 이미지를 나타낸다. 은 엘리먼트 값 교환 후의 이미지이고, 의 이미지 폭 및 높이는 각각 -a-c 및 -b-d이다.
공식에서의 및 는 각각 및 원본 이미지에 대한 해당 클리핑 후의 이미지를 나타낼 수 있다. 예를 들어, 마스크 영역이 제거되는 원본 이미지(샘플의 원본 이미지)가 X이면, 그것의 폭 및 높이는 복원될 이미지, 다시 말하면, 및 와 동일하다. 이미지(X)는 [0, -a-c]의 폭과 [0, -b-d]의 높이, 또는 [a, -c]의 폭과 [b, -d]의 높이 등을 갖는 이미지()로서 클리핑될 수 있으며, 이는 과 동일한 사이즈를 갖고, 는 에서의 엘리먼트 포인트들의 수이다. 그러면, 는 및 의 해당 로케이션들에서의 엘리먼트 포인트들의 엘리먼트 값들의 차이들의 절대 값들의 합과 의 비율이다.
공식에서의 및 는 또한 각각 이미지()가 보완된 후의 이미지 및 원본 이미지를 나타내며, 다시 말하면, 는 원본 이미지이고 은 엘리먼트 값 교환 프로세싱 후에 이미지를 보완함으로써 획득된 이미지이다. 여기서, 보완될 데이터는 이미지(X)에서 폭이 [0, -a-c]이고 높이가 [0, -b-d]인, 폭이 [a, -c]이고 높이가 [b, -d]인 등의 형태들로 클리핑으로부터 획득된 보완된 데이터 일 수 있다. 다시 말하면, 클리핑 후 과 동일한 사이즈의 이미지가 아닌 원본 이미지의 부분은 이며, 은 및 을 스플라이싱함으로써 획득되고, 이때, 는 원본 이미지에서의 엘리먼트 포인트들의 수이다.
훈련 동안, 스티칭된 이미지, 원본 이미지 및 생성된 이미지는 VGG(Visual Geometry Group) 네트워크 안으로 입력될 수 있고, 인지 소실 및 스타일 소실이 VGG 네트워크에서 상이한 계층들의 특징 맵들을 추출하고 컴퓨팅함으로써 획득된다. L1 소실은 생성된 이미지로부터 원본 이미지의 절대 값을 감산하고 by 화소들의 수로 나눔으로써 획득된다. 생성된 이미지는 쌍 판별기 및 글로벌 판별기 안으로 입력되고, 두 개의 판별기들의 출력들은 쌍 판별기 소실과 글로벌 판별기 소실이다. 당연히, 위의 소실들은 생성 네트워크를 훈련하는데에만 사용된다.
일 실시예에서, 이미지 인페인팅 네트워크를 훈련할 때, 이미지 인페인팅 네트워크의 전체 소실 함수는 아래의 수학식 6에 도시된 바와 같을 수 있다:
(수학식 6)
다른 대안으로서, 이미지 인페인팅 네트워크의 전체 소실 함수는 수학식 7에 도시된 바와 같을 수 있다:
(수학식 7)
위의 두 개의 표현들에서, 은 전체 소실 함수, 은 인지 소실을 나타내며, 은 스타일 소실을 나타내며, 은 L1 소실을 나타내며, 은 글로벌 판별기 소실을 나타내며, 는 쌍 판별기 소실을 나타내며, 는 RTV 소실을 나타내고, 내지 는 각각 소실들의 가중 비율을 나타낸다. 이미지 인페인팅 네트워크를 위한 훈련 프로세스는 앞서의 설명을 참조할 수 있다.
가능한 솔루션은 다음 수학식 8 및 9에서 도시된다:
(수학식 8)
(수학식 9)
여기서, 은 이미지 인페인팅 네트워크가 훈련될 때의 글로벌 판별기의 출력 특징 맵을 나타내고, 글로벌 판별기의 입력은 이미지 인페인팅 네트워크의 출력 이미지와, 대응하는 원본 이미지이다. 은 출력 특징 맵에서의 엘리먼트들의 엘리먼트 값들의 평균을 나타낸다. 마찬가지로, 은 쌍 판별기의 출력 특징 맵을 나타내고, 쌍 판별기의 입력은 위에서 설명된 두 개의 이미지 쌍들, 다시 말하면, 이미지 인페인팅 네트워크의 출력 이미지 및 원본 이미지에서 마스크 영역만을 포함하는 이미지(), 그리고 원본 이미지 및 이미지 인페인팅 네트워크의 출력 이미지에 대응하는 원본 이미지에서의 마스크 영역만을 포함하는 이미지이다.
일 예로서, 도 17b는 일 실시예에 따라 이미지 인페인팅 네트워크에 대한 훈련을 수행하는 개략적인 원리도를 예시한다. 이미지 엘리먼트 값들을 교환하는(도면에 도시된 로컬 영역들의 값들을 랜덤하게 교환하는) 단계는 이미지 인페인팅 네트워크의 일부로서 취해질 수 있다. 도 17b에 도시된 바와 같이, 이 예에서, 프로세스는 디코딩 파트의 업샘플링 프로세스 후, 다시 말하면, 예비 인페인팅 결과가 획득된 후이다. 디코딩 파트는 깊이 게이트식 콘볼루션 구조, 랜덤 교환 로컬 값(REL conv), 및 REL conv가 엘리먼트 값들의 랜덤 프로세싱을 위한 구조인 평활화 프로세싱을 위한 최종 콘볼루션 계층을 포함할 수 있다. 이미지 인페인팅 네트워크가 훈련되는 경우, 글로벌 판별기 소실과 쌍 판별기 소실은 고정될 수 있고, 샘플에서의 복원될 이미지와, 대응하는 마스크 이미지는 이미지 인페인팅 네트워크에 입력될 수 있다. 이미지 인페인팅 네트워크에 의해 출력된 이미지(도 17b에 도시된 인페인팅 결과)와 마스크 영역 이미지(도 17b에 도시된 마스크 이미지 영역에서의 이미지 데이터만을 취한 이미지)는, 입력들의 쌍으로서, 그리고 원본 이미지 및 마스크 영역 이미지는 입력들의 다른 쌍으로서, 쌍 판별기에 입력된다. 이미지 인페인팅 네트워크에 의해 출력된 이미지와 대응하는 원본 이미지는 글로벌 판별기에 입력될 수 있고, 네트워크는 소실 함수가 수렴하기까지 이미지 인페인팅 네트워크의 전체 소실 함수()에 기초하여 훈련될 수 있다.
글로벌 판별기가 훈련되는 경우, 이미지 인페인팅 네트워크의 가중값은 고정될 수 있으며, 복원될 이미지 및 대응하는 마스크 이미지는 생성된 이미지를 획득하기 위해 순방향 전파를 위한 이미지 인페인팅 네트워크에 입력될 수 있다. 이미지는 음의 샘플로서 취해지고, 원본 이미지는 양의 샘플로서 취해지고, 그러면 글로벌 판별기의 네트워크 가중값은 글로벌 판별기 소실 함수(이를테면 힌지 소실 함수)를 사용하여 업데이트될 수 있다.
일 실시예에서, 글로벌 판별기가 훈련되는 경우, 글로벌 판별기의 소실 함수는 아래의 수학식 10으로서 표현될 수 있다:
(수학식 10)
여기서, 은 글로벌 판별기의 소실 함수이며, 는 글로벌 판별기에 의해 프로세싱된 후 원본 이미지의 정규화된 특징 맵을 나타내며, 은 글로벌 판별기에 의해 프로세싱된 후 이미지 인페인팅 네트워크의 출력 이미지의 정규화된 특징 맵을 나타내며, 은 모든 엘리먼트 값들이 1인 원본 이미지와 동일한 사이즈를 갖는 이미지를 나타내며, 공식에서의 "+" 및 "-"는 각각 해당 엘리먼트 포인트들의 값들의 감산 및 가산을 나타내고, 는 모든 엘리먼트 포인트들의 엘리먼트 값들의 평균을 나타낸다.
마찬가지로, 쌍 판별기가 훈련되는 경우, 이미지 인페인팅 네트워크의 가중값은 고정될 수 있고, 복원될 이미지와 마스크 이미지는 생성된 이미지를 획득하기 위해 순방향 전파를 위한 이미지 인페인팅 네트워크에 입력될 수 있다. 원본 이미지에서의 마스크 내의 이미지와 원본 이미지는, 데이터의 쌍으로서, 양의 샘플들로서 취해지며, 원본 이미지에서의 마스크 내의 이미지와 생성된 이미지는, 데이터의 쌍으로서, 음의 샘플들로서 취해질 수 있고, 쌍 판별기의 네트워크 가중값은 쌍 판별기 소실 함수(이를테면 힌지 소실 함수)를 사용하여 업데이트될 수 있다. 전체 네트워크 아키텍처의 훈련을 완료한 후에 획득된 이미지 인페인팅 네트워크는 실제 이미지 인페인팅 애플리케이션에서 수리 네트워크로서 사용될 수 있다.
일 실시예에서, 쌍 판별기가 훈련되는 경우, 쌍 판별기의 소실 함수는 아래의 수학식 11로서 표현될 수 있다:
(수학식 11)
여기서, 은 쌍 판별기의 소실 함수를 나타내며, 은 글로벌 판별기에 의해 프로세싱된 후 원본 이미지 및 마스크 영역 이미지의 이미지 쌍의 정규화된 특징 맵을 나타내며, 은 글로벌 판별기에 의해 프로세싱된 후의 이미지인 이미지 및 이미지 인페인팅 네트워크의 출력 이미지의 이미지 쌍에 의해 출력된 정규화된 프로세싱된 특징 맵을 나타내며, 은 모든 엘리먼트 값들이 1이고, 그리고 원본 이미지와 동일한 사이즈를 갖는 이미지를 나타내며, 공식에서의 "+" 및 "-"는 각각 해당 엘리먼트 포인트들의 값들의 감산 및 가산을 나타내고, 는 모든 엘리먼트 포인트들의 엘리먼트 값들의 평균을 나타낸다.
위에서 설명된 본 개시의 실시예에 기초하여, 본 개시의 일 실시예에서 이미지 프로세싱 장치가 제공될 수 있다. 도 18에 도시된 바와 같이, 이미지 프로세싱 장치(100)는 이미지 취득 모듈(110), 마스크 이미지 생성 모듈(120), 및 이미지 인페인팅 모듈(130)을 포함할 수 있다. 예를 들어, 이미지 취득 모듈(110)은 제거될 개체 영역을 포함하는 프로세싱될 이미지를 취득하도록 구성될 수 있다. 추가적으로, 마스크 이미지 생성 모듈(120)은 프로세싱될 이미지의 마스크 이미지를 생성하도록 구성될 수 있다. 게다가, 이미지 인페인팅 모듈(130)은 인페인팅 결과를 획득하기 위해 프로세싱될 이미지 및 마스크 이미지에 따라 프로세싱될 이미지에서 제거될 개체 영역을 복구하도록 구성될 수 있다.
일 실시예에서, 이미지 인페인팅 모듈(130)은 구체적으로는 프로세싱될 이미지 및 마스크 이미지에 따라 인코딩 네트워크를 통해 프로세싱될 이미지에 대응하는 융합 특징 맵을 추출하는 것; 및 융합 특징 맵에 기초하여 인페인팅 결과를 획득하기 위해 디코딩 네트워크를 통해 프로세싱될 이미지에서 제거될 개체 영역을 인페인팅하는 것을 위해 사용될 수 있다.
일 실시예에서, 인코딩 네트워크와 디코딩 네트워크는 각각 적어도 하나의 제1 콘볼루션 모듈을 포함할 수 있다.
각각의 제1 콘볼루션 모듈은 입력 융합 특징 맵에 따라 콘볼루션 프로세싱을 수행하고 콘볼루션 프로세싱에 의해 획득된 융합 특징 맵을 출력할 수 있다.
일 실시예에서, 인코딩 네트워크는 인코딩 네트워크의 마지막 제1 콘볼루션 모듈과 캐스케이드되는 적어도 하나의 제2 콘볼루션 모듈을 더 포함할 수 있다.
제2 콘볼루션 모듈은 입력 융합 특징 맵에 따라 확장된 콘볼루션 프로세싱 방식으로 콘볼루션 프로세싱을 수행하고, 콘볼루션 프로세싱에 의해 획득된 융합 특징 맵을 출력할 수 있다.
일 실시예에서, 적어도 두 개의 제2 콘볼루션 모듈들이 있으면, 제2 콘볼루션 모듈들은 순차적으로 캐스케이드될 수 있고, 적어도 두 개의 제2 콘볼루션 모듈들의 콘볼루션 파라미터들은 상이할 수 있다.
일 실시예에서, 적어도 하나의 콘볼루션 모듈이 입력 융합 특징 맵에 따라 콘볼루션 프로세싱을 수행하고 콘볼루션 프로세싱에 의해 획득된 융합 특징 맵을 출력하는 경우, 구체적으로는 해당 이미지 특징 맵을 추출하기 위해 입력 융합 특징 맵에 따라 제1 콘볼루션 프로세싱을 수행하는 것; 제2 채널 숫자를 갖는 마스크 특징 맵들을 추출하기 위해 제1 채널 숫자를 갖는 입력 융합 특징 맵들에 기초하여 제2 콘볼루션 프로세싱을 수행하는 것으로서, 각각의 채널의 마스크 특징 맵이 입력 융합 특징 맵들에서의 적어도 하나의 채널의 특징 맵에 기초하여 획득되고, 적어도 하나의 채널의 채널 숫자가 제1 채널 숫자보다 작은, 상기 제2 콘볼루션 프로세싱을 수행하는 것; 및 이미지 특징 맵 및 마스크 특징 맵을 융합하고 융합의 결과를 출력하는 것을 위해 사용될 수 있다.
일 실시예에서, 콘볼루션 모듈은 추가로, 제2 채널 숫자를 갖는 마스크 특징 맵들을 추출하기 위해 제1 채널 숫자를 갖는 입력 융합 특징 맵들에 기초하여 제2 콘볼루션 프로세스를 수행하기 전에 제1 채널 숫자가 제2 채널 숫자와 동일하지 않으면, 입력 융합 특징 맵을 제2 채널 숫자를 갖는 융합 특징 맵들로 변환하도록 구성될 수 있다.
대응하여, 콘볼루션 모듈이 제2 채널 숫자를 갖는 마스크 특징 맵들을 추출하기 위해 제1 채널 숫자를 갖는 입력 융합 특징 맵들에 기초하여 제2 콘볼루션 프로세싱을 수행하는 경우, 이는 구체적으로는, 각각의 채널에 대응하는 마스크 특징 맵을 추출하기 위해, 제2 채널 숫자를 갖는 변환된 융합 특징 맵들에서 각각의 채널의 특징 맵에 기초하여, 제2 콘볼루션 프로세싱을 수행하는데 사용될 수 있다.
일 실시예에서, 콘볼루션 모듈이 입력 융합 특징 맵들에서의 적어도 하나의 채널의 특징 맵에 기초하여 하나의 채널의 마스크 특징 맵을 획득하는 경우, 이는 구체적으로는 각각 적어도 두 개의 콘볼루션 프로세싱 파라미터들에 따라 프로세싱을 수행하고, 입력 융합 특징 맵들에서의 적어도 하나의 채널의 특징 맵에 기초하여, 적어도 두 개의 수용 필드들에 대응하는 특징 맵들을 추출하는 것; 및 하나의 채널의 마스크 특징 맵을 획득하기 위해 적어도 두 개의 수용 필드들에 대응하는 추출된 특징 맵들을 융합하는 것을 위해 사용될 수 있다.
일 실시예에서, 이미지 인페인팅 모듈(130)이 인페인팅 결과를 획득하기 위해 프로세싱될 이미지 및 마스크 이미지에 따라 프로세싱될 이미지에서 제거될 개체 영역을 복원하도록 구성되는 경우, 이는, 구체적으로는, 프로세싱될 이미지 및 마스크 이미지에 기초하여 예비 인페인팅 결과를 획득하는 것; 프로세싱될 이미지와 동일한 사이즈를 갖는 노이즈 이미지를 생성하는 것; 및 예비 인페인팅 결과 및 노이즈 이미지에 기초하여 인페인팅 결과를 획득하는 것을 위해 사용될 수 있다.
일 실시예에서, 이미지 인페인팅 모듈(130)은 추가로, 개체 맵에 대해, 개체 맵의 인접한 로케이션들에서의 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 교환하는 것; 및 개체 맵에서의 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 조정하는 것 중 적어도 하나를 개체 맵에 대해 수행하도록 구성될 수 있으며, 개체 맵은 적어도 하나의 융합 특징 맵 및/또는 디코딩 네트워크를 통해 획득된 인페인팅 결과이다.
일 실시예에서, 이미지 인페인팅 모듈(130)이 개체 맵의 인접한 로케이션들에서의 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 교환하는 경우, 이미지 인페인팅 모듈(130)은 구체적으로는 개체 맵에 대해 다음 프로세싱 중 적어도 하나를 수행하고, 적어도 하나의 프로세싱 후 맵에 기초하여 개체 맵과 동일한 사이즈를 갖는 프로세싱된 개체 맵을 획득하도록 구성될 수 있다: 제1 클리핑된 맵 및 제2 클리핑된 맵을 획득하기 위해 개체 맵에 대해 제1 에지 클리핑 및 제2 에지 클리핑을 수행하는 것; 제1 클리핑된 맵에 대응하는 제1 가중 맵과 제2 클리핑된 맵에 대응하는 제2 가중 맵을 생성하는 것으로서, 제1 가중 맵 및 제2 가중 맵에서의 엘리먼트 포인트들의 엘리먼트 값들이 1 또는 0이고, 제1 가중 맵 및 제2 가중 맵에서의 동일한 위치의 엘리먼트 포인트들의 엘리먼트 값들이 상이한, 제2 가중 맵을 생성하는 것; 및 프로세싱된 맵을 획득하기 위해 제1 가중 맵 및 제2 가중 맵에 기초하여 제1 클리핑된 맵과 제2 클리핑된 맵을 융합하는 것.
일 실시예에서, 이미지 인페인팅 모듈(130)이 개체 맵에서 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 조정하는 경우, 이미지 인페인팅 모듈(130)은 구체적으로는 개체 맵에 대해 다음 프로세싱 중 적어도 하나를 수행하고, 적어도 하나의 프로세싱 후 맵에 기초하여 개체 맵과 동일한 사이즈를 갖는 프로세싱된 개체 맵을 획득하는 것을 하도록 구성될 수 있다: 제3 클리핑된 맵 및 제4 클리핑된 맵을 획득하기 위해 개체 맵에 대해 제3 에지 클리핑 및 제4 에지 클리핑을 수행하는 것; 제4 클리핑된 맵의 조정 계수를 획득하기 위해 제3 클리핑된 맵에 기초하여 특징 추출을 수행하는 것; 및 프로세싱된 이미지를 획득하기 위해 조정 계수에 기초하여 제4 클리핑된 맵에서의 엘리먼트 포인트들의 엘리먼트 값들을 조정하는 것.
일 실시예에서, 이미지 취득 모듈(110)이 제거될 개체 영역을 포함하는 프로세싱될 이미지를 취득하도록 구성되는 경우, 이는 구체적으로는 제거될 개체 영역을 포함하는 원본 이미지를 취득하는 것; 원본 이미지의 이미지 특징들을 추출하는 것; 및 제거될 개체 영역을 포함하는 프로세싱될 이미지를 획득하기 위해 원본 이미지의 이미지 특징들에 기초하여 원본 이미지에 대한 클리핑을 수행하는 것을 위해 사용될 수 있다.
일 실시예에서, 이미지 취득 모듈(110)이 제거될 개체 영역을 포함하는 프로세싱될 이미지를 획득하기 위해 원본 이미지의 이미지 특징들에 기초하여 원본 이미지에 대한 클리핑을 수행하도록 구성되는 경우, 이는 구체적으로는 원본 이미지의 이미지 특징들에 기초하여 원본 이미지에서 제거될 개체 영역을 포함하는 후보 영역들을 결정하는 것; 후보 영역들로부터 개체 영역을 선별하는 것; 및 제거될 개체 영역을 포함하는 프로세싱될 이미지를 획득하기 위해 선별된 개체 영역에 따라 원본 이미지에 대한 클리핑을 수행하는 것을 위해 사용될 수 있다.
일 실시예에서, 이미지 취득 모듈이 원본 이미지의 이미지 특징들에 기초하여 원본 이미지에서 제거될 개체 영역을 포함하는 각각의 후보 영역을 결정하도록 구성되는 경우, 이는 구체적으로는 제거될 개체 영역의 영역 사이즈를 결정하는 것; 영역 사이즈가 설정된 임계값보다 크지 않으면 원본 이미지의 이미지 특징들 및 원본 이미지에서 제거될 개체 영역의 로케이션 정보에 따라 제1 설정 영역 사이즈를 갖는 후보 영역을 획득하는 것; 및 영역 사이즈가 설정된 임계값보다 크면 원본 이미지의 이미지 특징들 및 원본 이미지에서 제거될 개체 영역의 로케이션 정보에 따라 제2 설정 영역 사이즈를 갖는 후보 영역을 획득하는 것을 위해 사용될 수 있다.
일 실시예에서, 이미지 취득 모듈은 구체적으로는 선별된 개체 영역이 제2 설정 영역 사이즈를 갖는 후보 영역인 경우 제2 설정 영역 사이즈를 갖는 클리핑된 이미지를 획득하기 위해 선별된 개체 영역에 따라 원본 이미지를 클리핑하는 것; 및 제거될 개체 영역을 포함하는 프로세싱될 이미지를 획득하기 위해 제1 설정 영역 사이즈에 따라 클리핑된 이미지를 스케일링하는 것을 위해 사용될 수 있다.
일 실시예에서, 이미지 인페인팅 모듈은 추가로 인페인팅 결과가 획득된 후 클리핑된 이미지가 스케일링되는 스케일링 비율에 기초하여 제2 설정 영역 사이즈를 갖는 인페인팅 결과를 획득하기 위해 인페인팅 결과에 대해 해당 스케일링 프로세싱을 수행하는 것; 및 원본 이미지에 대응하는 인페인팅 결과를 획득하기 위해 스케일링 프로세싱 후의 인페인팅 결과와 원본 이미지에 대해 융합 프로세싱을 수행하는 것을 위해 사용될 수 있다.
본 개시의 일 실시예에 따른 이미지 프로세싱 장치의 각각의 모듈은 본 개시의 일 실시예에 따른 이미지 프로세싱 방법에서 해당 단계들을 실현하는 기능을 가질 수 있다는 것이 이해될 수 있다. 그 기능은 하드웨어에 의해 구현될 수 있거나 또는 해당 소프트웨어를 실행하는 하드웨어에 의해 구현될 수 있다. 위에서 언급된 모듈들은 소프트웨어 및/또는 하드웨어일 수 있고, 각각의 모듈은 다수의 모듈들과 따로따로 또는 통합하여 구현될 수 있다. 이미지 프로세싱 장치의 각각의 모듈의 기능 설명을 위해, 위에서 언급된 실시예들에서의 이미지 프로세싱 방법들의 해당 설명들을 참조하며, 이는 여기서 반복되지 않을 것이다.
위에서 논의된 실시예들에 기초하여, 일 실시예에서 메모리와 프로세서를 포함하는 전자 디바이스가 제공될 수 있다. 일 실시예에서, 메모리는 컴퓨터 프로그램을 저장하도록 구성될 수 있다. 프로세서는 컴퓨터 프로그램을 실행할 때 본 개시의 임의의 실시예에서 도시된 방법을 실행하도록 구성될 수 있다.
본 개시의 일 실시예가 또한 프로세싱되고 실행될 때 본 개시의 임의의 실시예에서 보인 방법을 실행하는 컴퓨터 프로그램이 저장되는 컴퓨터 판독가능 저장 매체를 제공할 수 있다. 도 19는 본 개시의 일 실시예에 따른 전자 디바이스의 개략적인 구조도를 예시한다. 도 19에 도시된 바와 같이, 전자 디바이스(4000)는 프로세서(4001)와 메모리(4003)를 포함할 수 있다. 프로세서(4001)와 메모리(4003)는, 예를 들어, 버스(4002)를 통해 연결될 수 있다. 일 실시예에서, 전자 디바이스(4000)는 송수신부(4004)를 더 포함할 수 있다. 송수신부(4004)는 실제 애플리케이션에서 하나로 제한되지 않고, 전자 디바이스(4000)의 구조는 본 개시의 실시예로 제한되지 않는다는 것에 주의해야 한다.
프로세서(4001)는 중앙 프로세싱 유닛(Central Processing Unit)(CPU), 범용 프로세서, 디지털 신호 프로세서(Digital Signal Processor)(DSP), 주문형 집적회로(Application Specific Integrated Circuit)(ASIC), 필드 프로그램가능 게이트식 어레이(Field Programmable Gated Array)(FPGA) 또는 다른 프로그램가능 로직 디바이스들, 트랜지스터 로직 디바이스들, 하드웨어 컴포넌트들, 또는 그것들의 임의의 조합일 수 있다. 본 개시에 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 및 회로들이 구현 또는 실행될 수 있다. 프로세서(4001)는 또한 하나 이상의 마이크로프로세서들을 포함하는 조합, DSP 및 마이크로프로세서들의 조합 등과 같이 컴퓨팅 기능들을 구현하는 조합일 수 있다.
버스(4002)는 위의 컴포넌트들 간에 정보를 전달하는 경로를 포함할 수 있다. 버스(4002)는 PCI(Peripheral Component Interconnect) 버스 또는 EISA(Extended Industry Standard Architecture) 버스 등일 수 있다. 버스(4002)는 어드레스 버스, 데이터 버스, 제어 버스 등으로 나누어질 수 있다. 표현의 용이함을 위해, 버스는 도 19에서 하나의 두꺼운 선에 의해서만 표현되지만, 이는 단지 하나의 버스 또는 하나의 버스 유형만을 의미하지는 않는다.
메모리(4003)는 정적 정보와 명령어들을 저장할 수 있는 판독 전용 메모리(Read Only Memory)(ROM) 또는 다른 유형들의 정적 저장 디바이스, 정보와 명령어들을 저장할 수 있는 랜덤 액세스 메모리(Random Access Memory)(RAM) 또는 다른 유형들의 동적 저장 디바이스일 수 있다. 이는 또한 전기적으로 소거가능 프로그램가능 판독 전용 메모리(Electrically Erasable Programmable Read Only Memory)(EEPROM), 콤팩트 디스크 판독 전용 메모리(compact disc read only memory)(CD-ROM) 또는 다른 광 디스크 스토리지, 디스크 스토리지(콤팩트 디스크, 레이저 디스크, 광 디스크, 디지털 다용도 디스크, 블루레이 디스크 등을 포함함), 자기 디스크 저장 매체 또는 다른 자기 저장 디바이스, 또는 원하는 프로그램 코드를 명령어들 또는 데이터 구조들의 형태로 운반 또는 저장할 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체일 수 있지만, 그것으로 제한되지 않는다.
메모리(4003)는 본 개시의 솔루션을 실행하기 위한 애플리케이션 프로그램 코드들을 저장하도록 구성되고, 그 실행은 프로세서(4001)에 의해 제어된다. 프로세서(4001)는 전술한 방법 실시예들 중 임의의 것에서 보인 콘텐츠들을 구현하기 위해 메모리(4003)에 저장되는 애플리케이션 프로그램 코드를 실행하도록 구성된다.
흐름도들에서의 다양한 단계들 및 동작들과 도면들에 포함되는 도식들이 화살표들에 의해 나타내어진 바와 같이 순차적으로 도시되지만, 이들 단계들은 화살표들에 의해 나타내어진 바와 같이 반드시 순차적으로 실행되는 것은 아님이 이해되어야 한다. 본 개시에서 명시적으로 언급되지 않는 한, 이들 단계들의 실행은 순차적으로 엄격히 제한되지 않고 다른 시퀀스들로 수행될 수 있다. 더구나, 단계들 또는 동작들의 적어도 일부는 반드시 동시에 완료될 필요는 없고 상이한 시간들에 실행될 수 있고 그것의 실행 순서는 반드시 순차적이지는 않고 다른 단계들 또는 다른 단계들의 서브 단계들 또는 스테이지들의 적어도 일부로 차례로 또는 대안적으로 실행될 수 있는 복수의 서브스텝들 또는 스테이지들 또는 서브동작들을 포함할 수 있다.
전술한 바는 본 발명의 부분적 실시예일 뿐이고, 여러 수정들 및 개선들이 본 발명의 원리로부터 벗어남 없이 본 기술분야의 통상의 기술자에게 이루어질 수 있으며, 이들 개선들 및 마무리들은 또한 본 발명의 범위 내에 있는 것으로 간주되어야 한다는 것에 주의해야 한다.
Claims (15)
- 적어도 하나의 메모리; 및
상기 적어도 하나의 메모리에 커플링되는 적어도 하나의 프로세서;를 포함하며,
상기 적어도 하나의 프로세서는,
개체 영역을 포함하는 입력 이미지를 취득하도록 구성되는 이미지 취득 모듈;
상기 입력 이미지에 기초하여 마스크 이미지를 생성하도록 구성되는 마스크 이미지 생성 모듈; 및
상기 입력 이미지 및 상기 마스크 이미지에 따라 인코딩 네트워크를 사용하여 상기 입력 이미지에 대응하는 융합 특징 맵을 추출하도록, 그리고 상기 융합 특징 맵에 기초하여 디코딩 네트워크를 사용하여 상기 입력 이미지에서 상기 개체 영역을 인페인팅하여, 인페인팅 결과를 획득하도록 구성되는 이미지 인페인팅 모듈을 구현하도록 구성되고,
상기 인코딩 네트워크 또는 상기 디코딩 네트워크 중 적어도 하나는, 적어도 하나의 깊이 게이트식 콘볼루션(depth-gated convolution) 프로세서를 포함하는, 이미지 프로세싱 장치. - 제1항에 있어서, 상기 인코딩 네트워크와 상기 디코딩 네트워크는 적어도 하나의 제1 콘볼루션 프로세서를 포함하며,
상기 적어도 하나의 제1 콘볼루션 프로세서는 입력 융합 특징 맵에 따라 콘볼루션을 수행하고 상기 콘볼루션에 의해 획득된 상기 융합 특징 맵을 출력하도록 구성되는, 이미지 프로세싱 장치. - 제2항에 있어서, 상기 인코딩 네트워크는 상기 인코딩 네트워크의 마지막 제1 콘볼루션 프로세서와 캐스케이드되는 적어도 하나의 제2 콘볼루션 프로세서를 더 포함하며,
상기 적어도 하나의 제2 콘볼루션 프로세서는 상기 입력 융합 특징 맵에 따라 확장된 콘볼루션을 수행하고, 상기 확장된 콘볼루션에 의해 획득된 상기 융합 특징 맵을 출력하도록 구성되는, 이미지 프로세싱 장치. - 제3항에 있어서, 상기 적어도 하나의 제2 콘볼루션 프로세서는 제1의 제2 콘볼루션 프로세서와 제2의 제2 콘볼루션 프로세서를 포함하며,
상기 제1의 제2 콘볼루션 프로세서는 상기 제2의 제2 콘볼루션 프로세서와 순차적으로 캐스케이드되고,
상기 제1의 제2 콘볼루션 프로세서의 제1 콘볼루션 파라미터가 상기 제2의 제2 콘볼루션 프로세서의 제2 콘볼루션 파라미터와 상이한, 이미지 프로세싱 장치. - 제2항에 있어서, 상기 입력 융합 특징 맵은 복수의 채널들에 기초하고,
상기 적어도 하나의 제1 콘볼루션 프로세서는 추가로,
해당 이미지 특징 맵을 추출하기 위해 상기 입력 융합 특징 맵에 따라 제1 콘볼루션을 수행하며;
적어도 하나의 채널에 기초하여 마스크 특징 맵을 추출하기 위해 상기 입력 융합 특징 맵에 기초하여 제2 콘볼루션을 수행하는 것으로서, 상기 적어도 하나의 채널의 수가 상기 복수의 채널들의 수보다 작으며;
상기 이미지 특징 맵 및 상기 마스크 특징 맵을 융합하며; 및
상기 융합의 결과를 출력하도록
구성되는, 이미지 프로세싱 장치. - 제5항에 있어서, 상기 제2 콘볼루션을 수행하기 전에, 상기 적어도 하나의 제1 콘볼루션 프로세서는 추가로, 상기 복수의 채널들의 수와 상이한 상기 적어도 하나의 채널의 수에 기초하여, 상기 적어도 하나의 채널에 기초하여 상기 입력 융합 특징 맵을 변환된 융합 특징 맵으로 변환하도록 구성되고,
상기 제2 콘볼루션은 상기 변환된 특징 맵에 기초하여 수행되는, 이미지 프로세싱 장치. - 제5항에 있어서, 상기 적어도 하나의 제1 콘볼루션 프로세서는 추가로,
적어도 두 개의 콘볼루션 프로세싱 파라미터들에 따라 프로세싱을 수행하고, 상기 입력 융합 특징 맵에 기초하여 적어도 두 개의 수용 필드들에 대응하는 이미지 특징 맵들을 추출하며; 그리고
상기 마스크 특징 맵을 획득하기 위해 상기 적어도 두 개의 수용 필드들에 대응하는 상기 추출된 이미지 특징 맵들을 융합하도록 구성되는, 이미지 프로세싱 장치. - 제1항에 있어서, 상기 이미지 인페인팅 모듈은 추가로,
상기 입력 이미지 및 상기 마스크 이미지에 기초하여 예비 인페인팅 결과를 획득하며;
상기 입력 이미지와 동일한 사이즈를 갖는 노이즈 이미지를 생성하며; 그리고
상기 예비 인페인팅 결과 및 상기 노이즈 이미지에 기초하여 상기 인페인팅 결과를 획득하도록 구성되는, 이미지 프로세싱 장치. - 제1항에 있어서, 상기 이미지 인페인팅 모듈은 추가로, 개체 맵의 인접한 로케이션들에서의 엘리먼트 포인트들의 엘리먼트 값들을 랜덤하게 교환하는 것, 및 상기 개체 맵의 상기 엘리먼트 포인트들의 상기 엘리먼트 값들을 랜덤하게 조정하는 것 중 적어도 하나에 의해 개체 맵을 프로세싱하도록 구성되며,
상기 개체 맵은 상기 융합 특징 맵 및 상기 인페인팅 결과 중 적어도 하나를 포함하는, 이미지 프로세싱 장치. - 제9항에 있어서, 상기 랜덤하게 교환하는 것은,
제1 클리핑된 맵을 획득하기 위한 상기 개체 맵에 대한 제1 에지 클리핑과 제2 클리핑된 맵을 획득하기 위한 상기 개체 맵에 대한 제2 에지 클리핑을 수행하는 것;
상기 제1 클리핑된 맵에 대응하는 제1 가중 맵과 상기 제2 클리핑된 맵에 대응하는 제2 가중 맵을 생성하는 것으로서, 상기 제1 가중 맵 및 상기 제2 가중 맵에서의 엘리먼트 포인트들의 엘리먼트 값들은 1 또는 0 중 하나이고, 상기 제1 가중 맵의 제1 위치에서의 제1 엘리먼트 포인트의 제1 엘리먼트 값이 상기 제1 위치에 대응하는 상기 제2 가중 맵의 제2 위치에서의 제2 엘리먼트 포인트의 제2 엘리먼트 값과 상이한, 상기 제1 가중 맵과 상기 제2 가중 맵을 생성하는 것; 및
상기 개체 맵과 동일한 사이즈를 갖는 프로세싱된 맵을 획득하기 위해 상기 제1 가중 맵 및 상기 제2 가중 맵에 기초하여 상기 제1 클리핑된 맵 및 상기 제2 클리핑된 맵을 융합하는 것을 포함하는, 이미지 프로세싱 장치. - 제9항에 있어서, 상기 랜덤하게 조정하는 것은,
제3 클리핑된 맵을 획득하기 위한 상기 개체 맵에 대한 제3 에지 클리핑과 제4 클리핑된 맵을 획득하기 위한 상기 개체 맵에 대한 제4 에지 클리핑을 수행하는 것;
상기 제4 클리핑된 맵의 조정 계수를 획득하기 위해 상기 제3 클리핑된 맵에 기초하여 특징 추출을 수행하는 단계; 및
상기 개체 맵과상기 동일한 사이즈의 프로세싱된 개체 맵을 획득하기 위해 상기 조정 계수에 기초하여 상기 제4 클리핑된 맵에서의 엘리먼트 포인트들의 엘리먼트 값들을 조정하는 것을 포함하는, 이미지 프로세싱 장치. - 제1항에 있어서, 상기 이미지 취득 모듈은 추가로,
상기 개체 영역을 포함하는 원본 이미지를 취득하며;
상기 원본 이미지의 이미지 특징들을 추출하며; 그리고
상기 개체 영역을 포함하는 상기 입력 이미지를 획득하기 위해 상기 원본 이미지의 상기 이미지 특징들에 기초하여 상기 원본 이미지에 대한 클리핑을 수행하도록 구성되는, 이미지 프로세싱 장치. - 제12항에 있어서, 상기 이미지 취득 모듈은 추가로,
상기 개체 영역의 영역 사이즈를 결정하며;
임계 사이즈 이하인 상기 영역 사이즈에 기초하여, 상기 원본 이미지의 상기 이미지 특징들 및 상기 개체 영역의 로케이션 정보에 따라 제1 설정 영역 사이즈를 갖는 후보 영역들을 획득하며;
상기 임계 사이즈보다 큰 상기 영역 사이즈에 기초하여, 상기 원본 이미지의 상기 이미지 특징들 및 상기 개체 영역의 상기 로케이션 정보에 따라 제2 설정 영역 사이즈를 갖는 후보 영역들을 획득하며;
후보 영역들로부터 상기 개체 영역을 선별하며; 그리고
상기 선별된 개체 영역이 상기 제2 설정 영역 사이즈를 갖는 후보 영역임에 기초하여, 상기 제2 설정 영역 사이즈를 갖는 클리핑된 이미지를 획득하기 위해 상기 선별된 개체 영역에 따라 상기 원본 이미지를 클리핑하고, 상기 입력 이미지를 획득하기 위해 상기 제1 설정 영역 사이즈에 따라 상기 클리핑된 이미지를 스케일링하도록 구성되며,
상기 이미지 인페인팅 모듈은 추가로,
상기 제2 설정 영역 사이즈를 갖는 스케일링된 인페인팅 결과를 획득하기 위해 상기 인페인팅 결과를 스케일링하며; 그리고
상기 원본 이미지에 대응하는 인페인팅 결과를 획득하기 위해 상기 스케일링된 인페인팅 결과와 상기 원본 이미지를 융합하도록 구성되는, 이미지 프로세싱 장치. - 개체 영역을 포함하는 입력 이미지를 취득하는 단계;
상기 입력 이미지에 기초하여 마스크 이미지를 생성하는 단계;
상기 입력 이미지 및 상기 마스크 이미지에 따라 인코딩 네트워크를 통해 상기 입력 이미지에 대응하는 융합 특징 맵을 추출하는 단계; 및
인페인팅 결과를 획득하기 위해 상기 융합 특징 맵에 기초하여 디코딩 네트워크를 사용하여 상기 입력 이미지에서 상기 개체 영역을 인페인팅하는 단계를 포함하고,
상기 인코딩 네트워크 또는 상기 디코딩 네트워크 중 적어도 하나는, 적어도 하나의 깊이 게이트식 콘볼루션(depth-gated convolution) 프로세서를 포함하는, 이미지 프로세싱 방법. - 명령어들을 저장하는 컴퓨터 판독가능 저장 매체에 있어서,
상기 명령어들은, 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금,
개체 영역을 포함하는 입력 이미지를 취득하게 하며;
상기 입력 이미지에 기초하여 마스크 이미지를 생성하게 하며;
상기 입력 이미지 및 상기 마스크 이미지에 따라 인코딩 네트워크를 사용하여 상기 입력 이미지에 대응하는 융합 특징 맵을 추출하게 하며; 그리고
인페인팅 결과를 획득하기 위해 상기 융합 특징 맵에 기초하여 디코딩 네트워크를 사용하여 상기 입력 이미지에서 상기 개체 영역을 인페인팅하게 하게 하고,
상기 인코딩 네트워크 또는 상기 디코딩 네트워크 중 적어도 하나는, 적어도 하나의 깊이 게이트식 콘볼루션(depth-gated convolution) 프로세서를 포함하는, 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911024819.0 | 2019-10-25 | ||
CN201911024819 | 2019-10-25 | ||
CN201911115137 | 2019-11-14 | ||
CN201911115137.0 | 2019-11-14 | ||
PCT/KR2020/011724 WO2021080158A1 (en) | 2019-10-25 | 2020-09-01 | Image processing method, apparatus, electronic device and computer readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220066945A KR20220066945A (ko) | 2022-05-24 |
KR102640237B1 true KR102640237B1 (ko) | 2024-02-27 |
Family
ID=75586160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227013455A KR102640237B1 (ko) | 2019-10-25 | 2020-09-01 | 이미지 프로세싱 방법, 장치, 전자 디바이스 및 컴퓨터 판독가능 저장 매체 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11328392B2 (ko) |
EP (1) | EP4032062A4 (ko) |
KR (1) | KR102640237B1 (ko) |
WO (1) | WO2021080158A1 (ko) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210192019A1 (en) * | 2019-12-18 | 2021-06-24 | Booz Allen Hamilton Inc. | System and method for digital steganography purification |
US20220366544A1 (en) * | 2020-03-24 | 2022-11-17 | Tcl Research Europe Sp. Z O. O. | Method for high resolution image inpainting, processing system and associated computer program product |
US11948281B2 (en) * | 2020-05-01 | 2024-04-02 | Adobe Inc. | Guided up-sampling for image inpainting |
EP3913539A1 (en) * | 2020-05-22 | 2021-11-24 | Robert Bosch GmbH | Device for and computer implemented method of digital signal processing |
JP7276282B2 (ja) * | 2020-08-24 | 2023-05-18 | トヨタ自動車株式会社 | 物体検出装置、物体検出方法及び物体検出用コンピュータプログラム |
CN112233055B (zh) * | 2020-10-15 | 2021-09-10 | 北京达佳互联信息技术有限公司 | 视频去痕方法和视频去痕装置 |
US20220156896A1 (en) * | 2020-11-18 | 2022-05-19 | Samsung Electronics Co., Ltd. | System and method for image inpainting based on layout-guided pre-processing attention mechanism |
CN113012122B (zh) | 2021-03-11 | 2022-07-29 | 复旦大学 | 一种类别级6d位姿与尺寸估计方法及装置 |
CN112967218B (zh) * | 2021-03-15 | 2022-03-18 | 复旦大学 | 一种基于线框和边缘结构的多尺度图像修复*** |
CN113191935B (zh) * | 2021-04-30 | 2024-07-02 | 华中科技大学 | 一种用于高斯金字塔构建的可重构硬件加速方法与*** |
CN113344857B (zh) * | 2021-05-13 | 2022-05-03 | 深圳市华汉伟业科技有限公司 | 缺陷检测网络的训练方法、缺陷检测方法和存储介质 |
CN113610858B (zh) * | 2021-05-20 | 2022-03-29 | 浙江大学 | 一种基于自监督学习的电力线图像实时分割方法 |
CN113361473B (zh) * | 2021-06-30 | 2023-12-08 | 北京百度网讯科技有限公司 | 图像处理、模型训练方法、装置、设备、存储介质及程序 |
CN113538238B (zh) * | 2021-07-09 | 2024-06-28 | 深圳市深光粟科技有限公司 | 一种高分辨率的光声图像成像方法、装置及电子设备 |
CN113538273B (zh) * | 2021-07-13 | 2023-09-19 | 荣耀终端有限公司 | 图像处理方法及图像处理装置 |
CN113436076B (zh) * | 2021-07-26 | 2022-01-28 | 深圳赛陆医疗科技有限公司 | 逐步融合特征的图像超分辨率重建方法及电子设备 |
US20230128792A1 (en) * | 2021-10-23 | 2023-04-27 | Adobe Inc. | Detecting digital objects and generating object masks on device |
US20230138779A1 (en) * | 2021-11-03 | 2023-05-04 | Apple Inc. | Linear transform of undistorted image for fusion |
US20230196526A1 (en) * | 2021-12-16 | 2023-06-22 | Mediatek Inc. | Dynamic convolutions to refine images with variational degradation |
CN114463209B (zh) * | 2022-01-25 | 2022-12-16 | 广州大学 | 一种基于深度多特征协同学习的图像修复方法 |
CN114663307B (zh) * | 2022-03-22 | 2023-07-04 | 哈尔滨工业大学 | 基于不确定性网络的集成图像去噪*** |
CN114529794B (zh) * | 2022-04-20 | 2022-07-08 | 湖南大学 | 一种红外与可见光图像融合方法、***及介质 |
CN116051386B (zh) * | 2022-05-30 | 2023-10-20 | 荣耀终端有限公司 | 图像处理方法及其相关设备 |
CN115631098B (zh) * | 2022-06-16 | 2023-10-03 | 荣耀终端有限公司 | 去反射方法及装置 |
CN115661535B (zh) * | 2022-10-31 | 2023-11-03 | 中国矿业大学 | 一种目标去除背景恢复方法、装置和电子设备 |
CN115546031B (zh) * | 2022-12-01 | 2023-03-24 | 运易通科技有限公司 | 一种用于仓库顶棚检查的图像增强方法及装置 |
CN117392015A (zh) * | 2023-10-16 | 2024-01-12 | 深圳牛学长科技有限公司 | 一种图像修复方法、装置、计算机设备及存储介质 |
CN117456077A (zh) * | 2023-10-30 | 2024-01-26 | 神力视界(深圳)文化科技有限公司 | 一种材质贴图生成方法及相关设备 |
CN117745595B (zh) * | 2024-02-18 | 2024-06-25 | 珠海金山办公软件有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN117853738B (zh) * | 2024-03-06 | 2024-05-10 | 贵州健易测科技有限公司 | 一种用于对茶叶分级的图像处理方法及设备 |
CN118097189B (zh) * | 2024-04-07 | 2024-07-23 | 腾讯科技(深圳)有限公司 | 图像匹配方法、模型训练方法、装置、设备及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1826723B1 (en) | 2006-02-28 | 2015-03-25 | Microsoft Corporation | Object-level image editing |
US8233739B1 (en) | 2008-08-29 | 2012-07-31 | Adobe Systems Incorporated | Patch jittering for visual artifact correction |
US8433148B2 (en) * | 2011-03-31 | 2013-04-30 | Mitsubishi Electric Research Laboratories, Inc. | Method for compressing textured images |
US20130182184A1 (en) * | 2012-01-13 | 2013-07-18 | Turgay Senlet | Video background inpainting |
JP6355746B2 (ja) | 2014-02-19 | 2018-07-11 | クアルコム,インコーポレイテッド | デバイスのための画像編集技法 |
US10157332B1 (en) | 2016-06-06 | 2018-12-18 | A9.Com, Inc. | Neural network-based image manipulation |
US10503998B2 (en) * | 2016-11-07 | 2019-12-10 | Gracenote, Inc. | Recurrent deep neural network system for detecting overlays in images |
CN106934397B (zh) * | 2017-03-13 | 2020-09-01 | 北京市商汤科技开发有限公司 | 图像处理方法、装置及电子设备 |
US10262236B2 (en) * | 2017-05-02 | 2019-04-16 | General Electric Company | Neural network training image generation system |
EP3438920A1 (en) | 2017-07-31 | 2019-02-06 | Institut Pasteur | Method, device, and computer program for improving the reconstruction of dense super-resolution images from diffraction-limited images acquired by single molecule localization microscopy |
US11328396B2 (en) | 2017-12-26 | 2022-05-10 | Samsung Electronics Co., Ltd. | Image acquisition device and method of controlling the same |
US10755391B2 (en) * | 2018-05-15 | 2020-08-25 | Adobe Inc. | Digital image completion by learning generation and patch matching jointly |
US20200184098A1 (en) * | 2018-12-06 | 2020-06-11 | HELIX RE, Inc. | Systems and Methods for Secure Obfuscation of Sensitive Information in Images |
US10878575B2 (en) * | 2019-04-15 | 2020-12-29 | Adobe Inc. | Foreground-aware image inpainting |
-
2020
- 2020-09-01 WO PCT/KR2020/011724 patent/WO2021080158A1/en unknown
- 2020-09-01 KR KR1020227013455A patent/KR102640237B1/ko active IP Right Grant
- 2020-09-01 EP EP20880116.7A patent/EP4032062A4/en active Pending
- 2020-09-10 US US17/017,177 patent/US11328392B2/en active Active
Non-Patent Citations (3)
Title |
---|
Jiahui Yu ET AL: "Free-Form Image Inpainting With Gated Convolution", Computer Science_Computer Vision and Pattern Recognition, 10 June 2018(2018.06.10.) 1부.* |
Zheng Qin ET AL: "Merging and Evolution: Improving Convolutional Neural Networks for Mobile Applications", 2018 International Joint Conference on Neural Networks (IJCNN), 8-13 July 2018(2018.07.08.) 1부.* |
Zuge Chen ET AL: "SSD-MSN: An Improved Multi-Scale Object Detection Network Based on SSD", IEEE Access, Volume: 7, 14 June 2019(2019.06.14.) 1부.* |
Also Published As
Publication number | Publication date |
---|---|
US20210125313A1 (en) | 2021-04-29 |
EP4032062A4 (en) | 2022-12-14 |
KR20220066945A (ko) | 2022-05-24 |
WO2021080158A1 (en) | 2021-04-29 |
US11328392B2 (en) | 2022-05-10 |
EP4032062A1 (en) | 2022-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102640237B1 (ko) | 이미지 프로세싱 방법, 장치, 전자 디바이스 및 컴퓨터 판독가능 저장 매체 | |
CN111767979B (zh) | 神经网络的训练方法、图像处理方法、图像处理装置 | |
CN110033410B (zh) | 图像重建模型训练方法、图像超分辨率重建方法及装置 | |
CN109712165B (zh) | 一种基于卷积神经网络的同类前景图像集分割方法 | |
US20230080693A1 (en) | Image processing method, electronic device and readable storage medium | |
WO2020215236A1 (zh) | 图像语义分割方法和*** | |
CN110136062B (zh) | 一种联合语义分割的超分辨率重建方法 | |
CN110276354B (zh) | 一种高分辨率街景图片语义分割训练与实时分割方法 | |
CN112712472A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN112541864A (zh) | 一种基于多尺度生成式对抗网络模型的图像修复方法 | |
CN110675339A (zh) | 基于边缘修复和内容修复的图像修复方法及*** | |
CN111292265A (zh) | 一种基于生成式对抗神经网络的图像修复方法 | |
CN112184585B (zh) | 一种基于语义边缘融合的图像补全方法及*** | |
CN111899169B (zh) | 一种基于语义分割的人脸图像的分割网络的方法 | |
CN110956575B (zh) | 转变图像风格的方法和装置、卷积神经网络处理器 | |
CN115131797B (zh) | 一种基于特征增强金字塔网络的场景文本检测方法 | |
CN111080591A (zh) | 基于编码解码结构结合残差模块的医学图像分割方法 | |
CN116309648A (zh) | 一种基于多注意力融合的医学图像分割模型构建方法 | |
CN117575915B (zh) | 一种图像超分辨率重建方法、终端设备及存储介质 | |
CN115953784A (zh) | 基于残差和特征分块注意力的激光打码字符分割方法 | |
Liu et al. | Facial image inpainting using multi-level generative network | |
KR102051597B1 (ko) | 내용 기반 영상 크기 조절 장치 및 방법 | |
Wang et al. | Perception-guided multi-channel visual feature fusion for image retargeting | |
CN116895037A (zh) | 基于边缘信息和多尺度交叉融合网络的帧***方法及*** | |
CN104123707B (zh) | 一种基于局部秩先验的单幅图像超分辨率重建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |