KR101871098B1 - 이미지 처리 방법 및 장치 - Google Patents
이미지 처리 방법 및 장치 Download PDFInfo
- Publication number
- KR101871098B1 KR101871098B1 KR1020170005150A KR20170005150A KR101871098B1 KR 101871098 B1 KR101871098 B1 KR 101871098B1 KR 1020170005150 A KR1020170005150 A KR 1020170005150A KR 20170005150 A KR20170005150 A KR 20170005150A KR 101871098 B1 KR101871098 B1 KR 101871098B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- neural network
- convolutional neural
- blurred
- corrected
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims description 69
- 238000003672 processing method Methods 0.000 claims abstract description 17
- 238000012937 correction Methods 0.000 claims abstract description 5
- 238000013527 convolutional neural network Methods 0.000 claims description 89
- 238000012360 testing method Methods 0.000 claims description 86
- 238000013528 artificial neural network Methods 0.000 claims description 31
- 238000010801 machine learning Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 30
- 238000012549 training Methods 0.000 claims description 9
- 230000035945 sensitivity Effects 0.000 claims description 5
- 230000001105 regulatory effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 230000004913 activation Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 3
- 238000010839 reverse transcription Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010044565 Tremor Diseases 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16M—FRAMES, CASINGS OR BEDS OF ENGINES, MACHINES OR APPARATUS, NOT SPECIFIC TO ENGINES, MACHINES OR APPARATUS PROVIDED FOR ELSEWHERE; STANDS; SUPPORTS
- F16M7/00—Details of attaching or adjusting engine beds, frames, or supporting-legs on foundation or base; Attaching non-moving engine parts, e.g. cylinder blocks
-
- 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/003—
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16M—FRAMES, CASINGS OR BEDS OF ENGINES, MACHINES OR APPARATUS, NOT SPECIFIC TO ENGINES, MACHINES OR APPARATUS PROVIDED FOR ELSEWHERE; STANDS; SUPPORTS
- F16M1/00—Frames or casings of engines, machines or apparatus; Frames serving as machinery beds
- F16M1/04—Frames or casings of engines, machines or apparatus; Frames serving as machinery beds for rotary engines or similar machines
-
- 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
-
- G06T5/002—
-
- G06T5/006—
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- 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
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Mechanical Engineering (AREA)
- Image Processing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
Abstract
이미지 처리 장치 및 이미지 처리 방법이 개시된다. 개시된 이미지 처리 방법은, 흐린 이미지를 입력 받는 단계, 상기 흐린 이미지로부터, 상기 흐린 이미지보다 블러 커널의 변화에 대해 민감도가 작은 아티팩트(Artifact)를 포함하는 중간 이미지를 생성하는 단계, 및 아티팩트 제거 모델을 이용하여, 상기 중간 이미지의 아티팩트를 제거함으로써, 제1 보정 이미지를 생성하는 단계를 포함한다.
Description
본 발명은 이미지 처리 방법 및 장치에 관한 것으로, 흐린 이미지를 선명하게 보정하는 이미지 처리 방법 및 장치에 관한 것이다.
이미지 촬영시 촬영 장치의 흔들림이나 떨림에 의해서 흐린 이미지가 촬영될 수 있다. 이때, 촬영 장치의 흔들린 경로를 나타내는 것을 블러 커널(Blur kernel)이라고 한다. 또한 흐린 이미지와 블러 커널이 주어졌을 때 선명한 이미지를 얻는 작업을 디컨볼루션(Non-blind deconvolution)이라고 한다.
그런데, 대부분의 흐림 이미지는 노이즈를 함께 포함하기 때문에, 노이즈를 고려하여 디컨볼루션 문제를 푸는 것은 상당히 난해한 문제이다. 최근, 딥러닝 기술이 발전하면서 딥러닝 기술을 이용하여 디컨볼루션 문제를 풀려는 시도들이 있었다.
하지만, 전술한 바와 같은 노이즈의 영향 및 블러 커널의 변화에 따라 디컨볼루션 방식이 크게 바뀌는 탓에 딥러닝을 이용한 방법도 정확도 및 계산속도에 있어서 한계를 보여왔다.
따라서, 현재 블러 커널의 종류에 관계 없이 빠른 속도로 디컨볼루션을 수행할 수 있는 기술이 요구되고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 이미지 처리 방법 및 장치를 제공함에 있다. 보다 상세하게, 본 발명은 흐린 이미지로부터 선명한 이미지를 얻는 이미지 처리 방법 및 장치를 제공한다.
일 실시예에 따르면,
선명한 테스트 이미지를 입력 받는 단계;
상기 선명한 테스트 이미지가 변형된 흐린 테스트 이미지로부터, 상기 흐린 테스트 이미지보다 블러 커널의 변화에 대해 민감도가 작은 아티팩트(Artifact)를 포함하는 중간 이미지를 생성하는 단계; 및
상기 중간 이미지 및 상기 선명한 테스트 이미지를 이용한 기계 학습 결과로부터, 이미지의 아티팩트를 제거하는 아티팩트 제거 모델을 생성하는 단계;를 포함하는 이미지 처리 장치의 기계 학습 방법이 제공된다.
여기서,
상기 기계 학습 방법은, 상기 선명한 테스트 이미지 및 블러 커널의 컨볼루션 연산 결과와 노이즈의 합으로부터 흐린 테스트 이미지를 생성하는 단계를 더 포함할 수 있다.
여기서,
상기 중간 이미지를 생성하는 단계는, 상기 흐린 테스트 이미지에 대해 위너 필터(Wiener Filter)를 적용함으로써, 상기 중간 이미지를 생성할 수 있다.
여기서,
상기 아티팩트 제거 모델은, 컨볼루셔널 신경망(Convolutional Neural Networks)을 이용한 기계 학습 결과로부터 생성되는 기계 학습 방법.
여기서,
상기 컨볼루셔널 신경망은,
복수의 컨볼루션 필터들을 이용하여, 복수의 특성 맵들을 생성하는 컨볼루션 레이어를 적어도 하나 이상 포함할 수 있다.
여기서,
상기 컨볼루셔널 신경망은,
상기 컨볼루셔널 신경망의 중간 레이어의 출력 결과와, 상기 중간 레이어보다 앞선 레이어의 출력 결과를 합산하는 노드를 적어도 하나 이상 포함할 수 있다.
여기서,
상기 컨볼루셔널 신경망은,
상기 컨볼루셔널 신경망의 마지막 레이어의 출력 결과와, 상기 컨볼루셔널 신경망에 입력되는 중간 이미지의 데이터를 합산하는 노드를 포함할 수 있다.
여기서,
상기 아티팩트 제거 모델을 생성하는 단계는,
상기 컨볼루셔널 신경망의 출력 결과에 대한 그레디언트(gradient)로부터 획득된 조직화 항(Regularization term)을 고려하여, 상기 컨볼루셔널 신경망의 역전사(Back propagation) 과정을 수행할 수 있다.
다른 측면에 있어서,
흐린 이미지를 입력 받는 단계;
상기 흐린 이미지로부터, 상기 흐린 이미지보다 블러 커널의 변화에 대해 민감도가 작은 아티팩트(Artifact)를 포함하는 중간 이미지를 생성하는 단계; 및
아티팩트 제거 모델을 이용하여, 상기 중간 이미지의 아티팩트를 제거함으로써, 제1 보정 이미지를 생성하는 단계;를 포함하는 이미지 처리 방법이 제공된다.
여기서,
상기 중간 이미지를 생성하는 단계는, 상기 흐린 이미지에 대해 위너 필터(Wiener Filter)를 적용함으로써, 상기 중간 이미지를 생성할 수 있다.
여기서,
상기 아티팩트 제거 모델은, 컨볼루셔널 신경망(Convolutional Neural Networks)을 이용하여 상기 중간 이미지의 아티팩트를 제거할 수 있다.
여기서,
상기 컨볼루셔널 신경망은,
복수의 컨볼루션 필터들을 이용하여, 복수의 특성 맵들을 생성하는 컨볼루션 레이어를 적어도 하나 이상 포함할 수 있다.
여기서,
상기 컨볼루셔널 신경망은,
상기 컨볼루셔널 신경망의 중간 레이어의 출력 결과와, 상기 중간 레이어보다 앞선 레이어의 출력 결과를 합산하는 노드를 적어도 하나 이상 포함할 수 있다.
여기서,
상기 컨볼루셔널 신경망은,
상기 컨볼루셔널 신경망의 마지막 레이어의 출력 결과와, 상기 컨볼루셔널 신경망에 입력되는 중간 이미지의 데이터를 합산하는 노드를 포함할 수 있다.
여기서,
상기 이미지 처리 방법은, 상기 제1 보정 이미지의 디테일을 보정한 제2 보정 이미지를 생성하는 단계를 더 포함하며,
상기 제2 보정 이미지는, 상기 제2 보정 이미지 및 블러 커널의 컨볼루션과 흐린 이미지 사이의 제곱 에러 및 상기 제1 보정 이미지와 상기 제2 보정 이미지 사이의 제곱 에러의 선형 합이 최소가 되는 조건을 만족하도록 생성될 수 있다.
다른 측면에 있어서,
프로세서(processor); 및
상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory);를 포함하고,
상기 적어도 하나의 명령은,
상기 흐린 이미지로부터, 상기 흐린 이미지보다 블러 커널의 변화에 대해 민감도가 작은 아티팩트를 포함하는 중간 이미지를 생성하고, 아티팩트 제거 모델을 이용하여, 상기 중간 이미지의 아티팩트를 제거함으로써, 제1 보정 이미지를 생성하도록 수행되는 이미지 처리 장치가 개시된다.
여기서,
상기 적어도 하나의 명령은,
선명한 테스트 이미지를 입력 받고, 상기 선명한 테스트 이미지가 변형된 흐린 테스트 이미지로부터 상기 흐린 테스트 이미지보다 블러 커널의 변화에 대해 민감도가 작은 훈련용 중간 이미지를 생성하고, 상기 훈련용 중간 이미지 및 상기 선명한 테스트 이미지를 이용한 기계 학습 결과로부터, 상기 아티팩트 제거 모델을 생성하도록 수행될 수 있다.
여기서,
상기 적어도 하나의 명령은,
컨볼루셔널 신경망(Convolutional Neural Networks)을 이용하여 상기 중간 이미지의 아티팩트를 제거하도록 수행되고,
상기 컨볼루셔널 신경망은,
복수의 컨볼루션 필터들을 이용하여, 복수의 특성 맵들을 생성하는 컨볼루션 레이어 및 상기 특성 맵들로부터 상기 컨볼루션 필터들의 가중치를 조절하는 활성화 레이어를 포함할 수 있다.
여기서,
상기 적어도 하나의 명령은,
컨볼루셔널 신경망(Convolutional Neural Networks)을 이용하여 상기 중간 이미지의 아티팩트를 제거하도록 수행되고,
상기 컨볼루셔널 신경망은,
상기 컨볼루셔널 신경망의 중간 레이어의 출력 결과와, 상기 중간 레이어보다 앞선 레이어의 출력 결과를 합산하는 노드를 적어도 하나 이상 포함할 수 있다.
여기서,
상기 적어도 하나의 명령은,
상기 제1 보정 이미지의 디테일을 보정한 제2 보정 이미지를 생성하도록 수행되며,
상기 제2 보정 이미지는, 상기 제2 보정 이미지 및 블러 커널의 컨볼루션과 흐린 이미지 사이의 제곱 에러 및 상기 제1 보정 이미지와 상기 제2 보정 이미지 사이의 제곱 에러의 선형 합이 최소가 되는 조건을 만족하도록 생성될 수 있다.
개시된 실시예들에 따르면, 이미지 처리 장치가 직접적인 디컨볼루션 방법을 학습하지 않고, 중간 이미지의 아티팩트를 제거하는 방법을 학습할 수 있다. 이를 통해, 이미지 처리 장치의 기계 학습이 용이해지며, 기계 학습 결과를 다양한 블러 커널에 의한 흐린 이미지에 적용할 수 있다. 또한, 컨볼루셔널 신경망의 구조를 개선하여, 아티팩트 제거의 정확도가 높아질 수 있다. 또한, 아티팩트가 제거된 이미지의 디테일을 보정함으로써, 디컨볼루션의 품질을 향상시킬 수 있다.
도 1은 예시적인 실시예에 따른 이미지 처리 장치를 나타낸 블록도이다.
도 2는 예시적인 실시예에 따른, 이미지 처리 장치의 기계 학습 방법을 나타낸 흐름도이다.
도 3은 선명한 테스트 이미지와 흐린 테스트 이미지를 비교하여 나타낸 개념도이다.
도 4는 컨볼루셔널 신경망을 나타낸 개념도이다.
도 5는 컨볼루셔널 신경망의 다른 예를 나타낸 개념도이다.
도 6은 컨볼루셔널 신경망의 또 다른 예를 나타낸 개념도이다.
도 7은 컨볼루셔널 신경망의 또 다른 예를 나타낸 개념도이다.
도 8은 이미지 처리 장치가 이미지를 처리하는 방법을 나타낸 흐름도이다.
도 9는 이미지 처리 장치가 이미지를 처리하는 방법의 다른 예를 나타낸 흐름도이다.
도 10은 이미지 처리 장치에 의해 흐린 이미지가 디컨볼루션 되는 과정을 나타낸 개념도이다.
도 11은 컨볼루셔널 신경망의 구조에 따른 아티팩트 제거 성능을 비교한 표이다.
도 12는 본 발명의 실시예에 따른 이미지 처리 방법의 성능을 설명하기 위한 이미지들이다.
도 13은 본 발명의 실시예에 따른 이미지 처리 방법의 성능을 설명하기 위한 이미지들이다.
도 2는 예시적인 실시예에 따른, 이미지 처리 장치의 기계 학습 방법을 나타낸 흐름도이다.
도 3은 선명한 테스트 이미지와 흐린 테스트 이미지를 비교하여 나타낸 개념도이다.
도 4는 컨볼루셔널 신경망을 나타낸 개념도이다.
도 5는 컨볼루셔널 신경망의 다른 예를 나타낸 개념도이다.
도 6은 컨볼루셔널 신경망의 또 다른 예를 나타낸 개념도이다.
도 7은 컨볼루셔널 신경망의 또 다른 예를 나타낸 개념도이다.
도 8은 이미지 처리 장치가 이미지를 처리하는 방법을 나타낸 흐름도이다.
도 9는 이미지 처리 장치가 이미지를 처리하는 방법의 다른 예를 나타낸 흐름도이다.
도 10은 이미지 처리 장치에 의해 흐린 이미지가 디컨볼루션 되는 과정을 나타낸 개념도이다.
도 11은 컨볼루셔널 신경망의 구조에 따른 아티팩트 제거 성능을 비교한 표이다.
도 12는 본 발명의 실시예에 따른 이미지 처리 방법의 성능을 설명하기 위한 이미지들이다.
도 13은 본 발명의 실시예에 따른 이미지 처리 방법의 성능을 설명하기 위한 이미지들이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 명세서에서 흐린 이미지는 촬영 과정에서 촬영 장치의 흔들림 등에 의해 품질이 저하된 이미지를 의미한다. 실시예에 따른 이미지 처리 장치는 흐린 이미지를 입력 받고, 흐린 이미지를 보정하여 선명한 이미지를 획득할 수 있다. 아티팩트(Artifact)는 인공적인 이미지 처리에 의해 이미지에서 나타나는 노이즈를 의미한다. 예를 들어, 흐린 이미지에 대한 이미지 처리 과정에서 흐린 이미지에 포함되어 있던 노이즈가 증폭될 수 있으며, 증폭된 노이즈가 아티팩트에 해당할 수 있다. 테스트 이미지는 이미지 처리 장치가 딥러닝 알고리즘을 학습시키기 위해 훈련용 데이터로 사용하는 이미지를 의미한다. 테스트 이미지는 학습을 위한 데이터베이스에 포함될 수 있다. 테스트 이미지는 선명한 테스트 이미지를 포함할 수 있다. 테스트 이미지가 선명한 테스트 이미지만 포함하는 경우, 이미지 처리 장치는 선명하나 테스트 이미지를 인위적으로 흐리게 만든 흐린 테스트 이미지를 생성할 수 있다. 이미지 처리 장치는 선명한 테스트 이미지 및 흐린 테스트 이미지를 지도 학습에 이용할 수 있다. 다른 예로, 선명한 테스트 이미지 및 흐린 테스트 이미지가 모두 훈련용 이미지로 마련되어 이미지 처리 장치에 입력될 수도 있다.
이미지 처리 장치는 흐린 테스트 이미지 및 선명한 테스트 이미지를 이용하여, 흐린 테스트 이미지를 보정하는 방법을 학습할 수 있다.
도 1은 예시적인 실시예에 따른 이미지 처리 장치(100)를 나타낸 블록도이다.
도 1을 참조하면, 예시적인 실시예에 따른 텍스트 영역 식별 장치(100) 적어도 하나의 프로세서(110), 메모리(120) 및 저장 장치(125) 등을 포함할 수 있다.
프로세서(110)는 메모리(120) 및/또는 저장 장치(125)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(110)는 중앙 처리 장치(central processing unit; CPU), 그래픽 처리 장치(graphics processing unit; GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120)와 저장 장치(160)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory; ROM) 및/또는 랜덤 액세스 메모리(random access memory; RAM)로 구성될 수 있다.
메모리(120)는 프로세서(110)를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있다. 메모리(120)는 프로세서(110)에 의해 학습된 이미지 처리 방법을 수행하기 위한 명령들을 저장할 수 있다. 프로세서(110)는 기계 학습에 의해 메모리(120)에 저장된 명령들을 업데이트 할 수 있다. 프로세서(110)가 수행하는 기계 학습은 지도 학습 방식에 의해 이루어질 수 있다.
프로세서(110)는 메모리(120)에 저장된 명령에 따라 이미지 제공부(10)로부터 이미지를 수신할 수 있다. 이미지 제공부(10)는 촬영 장치일 수 있다. 이미지 제공부(10)는 촬영한 이미지를 이미지로 프로세서(110)에 전송할 수 있다. 다른 예로, 이미지 제공부(10)는 사용자로부터 이미지를 수신하고, 수신된 이미지를 이미지로 프로세서(110)에 전송할 수 있다.
프로세서(110)는 이미지 제공부(10)로부터 수신한 이미지를 처리하여 이미지의 품질을 높일 수 있다. 예를 들어, 프로세서(110)는 이미지의 흐림 효과와 노이즈를 제거할 수 있다.
흐린 이미지는 수학식 1과 같이 나타낼 수 있다.
수학식 1에서 y는 흐린 이미지를 의미하고, x는 선명한 이미지를 의미하며, n은 노이즈를 의미한다. 또한, v는 블러 커널(Blur kernel)을 의미하고, '*'는 컨볼루션 연산자를 의미한다. 블러 커널 v는 흐린 이미지 y를 촬영한 촬영 장치의 흔들림 경로에 의해 결정될 수 있다.
수학식 1을 참조하면, 흐린 이미지 y는 선명한 이미지 x와 블러 커널 v의 컨볼루션 연산 결과 및 노이즈 n의 합으로 나타낼 수 있다. 이미지 처리 장치(100)는 블러 커널 v 및 흐린 이미지 y로부터, 선명한 이미지 x를 획득할 수 있으며, 이 과정을 디컨볼루션이라 한다. 그런데, 디컨볼루션은 두 가지 측면에서 어려운 점이 있다. 첫째로, 흐린 이미지에 포함된 노이즈 n에 의해, 하나의 블러 커널 v에 대해서도 선명한 이미지 x의 해(solution)가 매우 많이 존재할 수 있다. 따라서, 흐린 이미지 y로부터 곧바로 선명한 이미지 x를 계산하는데 상당한 시간과 계산 량이 요구된다. 둘째로, 흐린 이미지 y가 블러 커널 v에 따라 달라질 수 있다. 블러 커널 v가 달라지면 이미지 처리 과정이 달라지기 때문에, 일반적인 디컨볼루션 방법을 학습하기 어렵다. 예를 들어, 특정 블러 커널에 의해 흐려진 이미지로부터 디컨볼루션 모델을 생성하더라도, 생성된 모델을 다른 블러 커널에 의해 흐려진 이미지에 적용하면, 원하는 결과를 얻기 힘들 수 있다.
이하에서는 본 발명의 예시적인 실시예에 따른 이미지 처리 장치(100)가 이미지 처리방법을 학습하는 과정에 관하여 설명한다.
도 2는 예시적인 실시예에 따른, 이미지 처리 장치(100)의 기계 학습 방법을 나타낸 흐름도이다.
도 2를 참조하면, S110 단계에서, 이미지 처리 장치(100)는 선명한 테스트 이미지를 입력 받을 수 있다. S115 단계에서, 프로세서(110)는 선명한 테스트 이미지를 인위적으로 가공하여 흐린 테스트 이미지를 생성할 수 있다. 프로세서(110)는 선명한 테스트 이미지에 블러 커널을 컨볼루션하고, 노이즈를 더하여 흐린 테스트 이미지를 생성할 수 있다. 프로세서(110)는 가우시안 랜덤 노이즈(Gaussian random noise))를 이용하여 흐린 테스트 이미지를 생성할 수 있다.
S115 단계에서, 프로세서(110)는 다양한 종류의 블러 커널을 이용하여 흐린 테스트 이미지를 생성할 수 있다. 프로세서(110)는 복수의 흐린 테스트 이미지들을 생성하고, 이를 기계 학습에 이용할 수 있다.
프로세서(110)는 선명한 테스트 이미지 및 흐린 테스트 이미지를 메모리(120)에 저장할 수 있다. 프로세서(110)는 메모리(120)에 저장된 선명한 테스트 이미지 및 흐린 테스트 이미지를 훈련용 데이터로 이용할 수 있다.
도 2에서는 흐린 테스트 이미지가 이미지 처리 장치(100)의 프로세서(110)에 의해 인위적으로 생성되는 예를 나타냈지만, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 이미지 처리 장치(100)는 선명한 테스트 이미지와 흐린 테스트 이미지를 모두 학습용 데이터로 입력 받을 수도 있다. 이 경우, S115 단계는 생략될 수 있다.
도 3은 선명한 테스트 이미지와 흐린 테스트 이미지를 비교하여 나타낸 개념도이다.
도 3의 (a)는 흐림 효과(blur effect)와 노이즈가 포함된 흐린 테스트 이미지를 나타내고, 도 3의 (b)는 흐림 효과 및 노이즈가 없는 선명한 테스트 이미지를 나타낸다. 흐린 테스트 이미지 및 선명한 테스트 이미지는 인공 신경망의 기계 학습에 이용될 수 있다.
프로세서(110)는 인공 신경망을 이용하여, 흐린 테스트 이미지를 처리하고, 처리 결과와 선명한 테스트 이미지를 비교할 수 있다. 프로세서(110)는 인공 신경망의 처리 결과와 선명한 테스트 이미지를 비교하여 처리 결과가 선명한 테스트 이미지에 가까워 지도록 인공 신경망을 훈련시킬 수 있다. 인공 신경망은 후술하는 컨볼루셔널 신경망을 포함할 수 있다.
다시 도 2를 참조하면, S120 단계에서, 프로세서(110)는 흐린 이미지로부터 아티팩트(Artifact)를 포함하는 중간 이미지를 생성할 수 있다.
프로세서(110)는 완전한 디컨볼루션 보다 상대적으로 연산 과정이 간단한 이미지 처리 과정에 의해 중간 이미지를 생성할 수 있다. 프로세서는 흐린 테스트 이미지 및 흐린 테스트 이미지의 블러 커널로부터 중간 이미지를 생성할 수 있다.
중간 이미지는 흐린 테스트 이미지에서 블러 커널에 의한 흐림 효과가 거의 제거된 이미지일 수 있다. 다만, 중간 이미지는 흐린 테스트 이미지에 포함되어 있던 노이즈가 증폭된 아티팩트(Artifact)를 포함할 수 있다. 아티팩트는 중간 이미지를 생성하는 과정에서 생성될 수 있다.
상술한 바와 같이, 흐린 테스트 이미지는 블러 커널이 변함에 따라 상대적으로 민감하게 바뀔 수 있다. 이로 인해, 프로세서(110)가 흐린 테스트 이미지를 바로 디컨볼루션 하는 것이 어려울 수 있다. 하지만, 프로세서(110)가 아티팩트를 포함하는 중간 이미지를 생성하는 과정은 디컨볼루션 과정보다 상대적으로 간단할 수 있다. 또한, 중간 이미지에 포함된 아티팩트는 흐린 테스트 이미지보다 블러 커널의 변화에 대해 민감도가 작을 수 있다. 예를 들어, 같은 방식으로 블러 커널이 변할 때, 흐린 테스트 이미지의 변화보다, 중간 이미지에 포함된 아티팩트의 변화가 더 작을 수 있다.
S130 단계에서, 프로세서(110)는 중간 이미지와 선명한 테스트 이미지를 비교하여, 중간 이미지에서 아티팩트를 제거하는 아티팩트 제거 모델을 학습할 수 있다. 아티팩트 제거 모델은 아티팩트를 포함하는 다른 이미지들의 아티팩트를 제거하는데 적용될 수 있다. 프로세서(110)는 기계 학습에 의해 인공 신경망을 훈련시킴으로써 아티팩트 제거 모델을 생성할 수 있다. 그리고, 프로세서(110)는 생성한 아티팩트 제거 모델을 다른 임의의 이미지들에 포함된 아티팩트 제거에 활용할 수 있다.
도 2에서 나타낸 바와 같이, 프로세서(110)는 흐린 이미지를 바로 디컨볼루션 하는 방법을 학습하지 않고, 흐린 이미지가 가공된 중간 이미지의 아티팩트를 제거하는 방법을 학습할 수 있다. 아티팩트는 블러 커널의 변화에 대한 민감도가 낮기 때문에, 프로세서(110)는 모든 블러 커널에 의해 흐려진 이미지를 학습하지 않아도 된다.
아티팩트 제거 모델은 다양한 블러 커널에 의해 흐려진 이미지들을 디컨볼루션 하는데 활용될 수 있다. 예를 들어, 프로세서(110)는 디컨볼루션 하고자 하는 흐린 이미지로부터 중간 이미지를 생성한 후, 미리 학습된 아티팩트 제거 모델을 이용하여 중간 이미지의 아티팩트를 제거함으로써 선명한 이미지를 획득할 수 있다. 프로세서(110)가 아티팩트 제거 모델을 활용하여 선명한 이미지를 획득하는 과정은 후술하는 부분에서 상세히 설명한다.
예시적으로, 프로세서(110)는 흐린 테스트 이미지에 대해 위너(Wiener Filter)를 적용함으로써 중간 이미지를 생성할 수 있다. 위너 필터는 필터의 출력 결과와 예측된 희망 출력의 평균 제곱 오차를 최소로 하는 기준으로 설계된 필터로 이미지 보정에 이용되는 기술이다. 프로세서(110)는 위너 필터를 이용하여 아티팩트를 포함하는 중간 이미지를 생성할 수 있다.
상술한 예는 예시적인 것에 불과할 뿐, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 프로세서(110)는 L2 regularization deconvolution(C. J. Schuler, H. C. Burger, S. Harmeling, and B. Scholkopf. A machine learning approach for non-blind image deconvo-lution. In Proc. CVPR, 2013.) 등을 이용하여 중간 이미지를 생성할 수도 있다.
프로세서(110)는 컨볼루셔널 신경망(Convolutional Neural Network)을 이용하여 아티팩트 제거 모델을 생성할 수 있다. 프로세서(110)는 컨볼루셔널 신경망을 이용하여, 중간 이미지에서 아티팩트를 제거하는 방법을 학습할 수 있다. 프로세서(110)가 학습한 아티팩트 제거 모델은 다른 이미지들에 포함된 아티팩트를 제거하는데 이용될 수 있다.
도 4는 컨볼루셔널 신경망을 나타낸 개념도이다.
도 4를 참조하면, 컨볼루셔널 신경망은 컨볼루션 필터들을 이용하여, 복수의 특성 맵들을 생성하는 컨볼루션 레이어들(CL1, CL2, CL3, CL4, CL5, CL6)과 컨볼루션 필터들의 가중치를 조절하는 활성화 레이어를 포함할 수 있다.
컨볼루션 레이어들(CL1, CL2, CL3, CL4, CL5, CL6)은 각각 복수의 노드들을 포함할 수 있다. 제1 컨볼루션 레이어(CL1)은 서로 다른 컨볼루션 필터를 이용하여, 특성맵들을 생성할 수 있다. 제1 컨볼루션 레이어(CL1)의 노드들은 아티팩트를 포함하는 중간 이미지를 입력 받아 중간 이미지에 컨볼루션 필터들을 컨볼루션하여 특성 맵들을 생성할 수 있다. 제1 컨볼루션 레이어(CL1)의 노드들이 생성한 특성 맵들은 제1 활성화 레이어(AL1)에 입력될 수 있다.
제1 활성화 레이어(AL1)는 제1 컨볼루션 레이어(CL1)의 출력 결과에 비선형적 특성을 부여할 수 있다. 컨볼루셔널 네트워크는 활성화 레이어들(AL1, AL2, AL3, AL4)을 이용하여 비선형(Non-linear) 함수 또는 파라미터를 학습할 수 있다. 활성화 레이어들(AL1, AL2, AL3, AL4)은 활성화 함수를 이용할 수 있다. 활성화 함수는 시그모이드 함수(sigmoid function), RELU(Rectified Linear Unit) 함수 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.
컨볼루셔널 신경망은 컨볼루션 레이어들 각각에 포함된 노드들의 가중치들(weights)을 결정할 수 있다. 컨볼루셔널 레이어들 각각에 포함된 노드들은 서로 다른 컨볼루션 필터를 이용하여 특성 맵들을 생성할 수 있다. 컨볼루셔널 신경망은 노드들의 가중치들을 조절함으로써, 특성맵들을 생성하는 컨볼루션 필터들의 가중치들을 조절할 수 있다.
프로세서(110)는 지도 학습에 의해 컨볼루션 레이어들 각각에 포함된 노드들이 가지는 가중치들을 변경할 수 있다. 예를 들어, 프로세서(110)는 입력 받은 중간 이미지를 이용한 출력 결과와 선명한 테스트 이미지를 비교하고, 그 결과를 피드백 정보로 이용할 수 있다. 컨볼루셔널 신경망은 피드백 정보로부터, 컨볼루션 레이어들 각각의 노드들의 가중치들을 변경함으로써, 컨볼루셔널 신경망의 출력 결과가 선명한 테스트 이미지에 가까워 지도록 할 수 있다. 예를 들어, 프로세서(110)는 피드백 정보로부터 제6 컨볼루션 레이어(CL6)에 포함된 노드들의 가중치를 변경할 수 있다. 제6 컨볼루션 레이어(CL6)에 포함된 노드들의 가중치가 변경되면서, 피드백 정보가 변경될 수 있다. 프로세서(110)는 변경된 피드백 정보를 이용하여 제5 컨볼루션 레이어(CL5)에 포함된 노드들의 가중치들을 변경할 수 있다. 프로세서(110)는 제5 컨볼루션 레이어(CL5)에 포함된 노드들의 가중치들을 변경하면서, 변경된 피드백 정보를 이용하여 제4 컨볼루션 레이어(CL4)에 포함된 노드들의 가중치들을 변경할 수 있다. 같은 방식으로, 프로세서(110)는 제3 컨볼루션 레이어(CL3), 제2 컨볼루션 레이어(CL2) 및 제1 컨볼루션 레이어(CL1)에 포함된 노드들의 가중치들을 순차적으로 변경할 수 있다.
프로세서(110)는 복수의 흐린 테스트 이미지들로부터 생성된 중간 이미지들을 이용하여 컨볼루션 레이어들(CL1, CL2, CL3, CL4, CL5, CL6)에 포함된 노드들의 가중치를 변경하는 과정을 반복할 수 있다. 상술한 바와 같이, 프로세서(110)가 컨볼루션 레이어들(CL1, CL2, CL3, CL4, CL5, CL6)에 포함된 노드들의 가중치를 변경하는 과정을 역전사(Back propagation) 과정이라고 한다.
프로세서(110)는 역전사 과정을 통해, 컨볼루션 신경망을 학습시킬 수 있다. 프로세서(110)는 컨볼루션 신경망의 기계 학습 결과로부터 아티팩트 제거 모델을 생성할 수 있다.
프로세서(110)가 활용하는 컨볼루셔널 신경망의 구조는 도 4에서 나타낸 실시예에 한정되지 않는다.
도 5는 컨볼루셔널 신경망의 다른 예를 나타낸 개념도이다.
도 5를 참조하면, 컨볼루셔널 신경망은, 중간 레이어의 출력 결과를 중간 레이어보다 앞선 레이어의 출력 결과와 합산하는 노드 들(N1, N2, N3, N4)을 포함할 수 있다. 예를 들어, 제1 노드(N1)는 제2 컨볼루션 레이어(CL2)의 출력결과와, 제2 컨볼루션 레이어(CL2)보다 앞선 제1 컨볼루션 레이어(CL1)의 출력결과를 합산할 수 있다. 그리고, 제1 노드(N1)의 합산 결과는 제2 활성화 레이어(AL2)에 입력될 수 있다.
도 4에서 나타낸 바와 같이, 레이어들의 개수를 단순히 늘리기만 할 경우, 레이어들 사이에서 발생하는 잔차(residual)이 피드백 정보로 활용되지 않을 수 있다. 이로 인해 컨볼루셔널 신경망이 중간 이미지를 처리하는 과정에서, 레이어들 중 어느 하나에서 왜곡이 발생할 경우, 왜곡 현상이 누적되어 잘못된 출력 결과가 발생할 수 있다. 반면, 도 5에서 나타낸 바와 같이, 컨볼루셔널 신경망이 중간 레이어와 중간 레이어보다 앞선 레이어의 출력 결과를 합산하는 노드를 포함하면, 레이어들 사이에 발생하는 잔차(residual)가 고려될 수 있다. 따라서, 레이어들에서 발생하는 왜곡이 억제되고, 컨볼루셔널 신경망의 출력 결과가 더 정확해질 수 있다.
도 6은 컨볼루셔널 신경망의 또 다른 예를 나타낸 개념도이다.
도 6을 참조하면, 컨볼루셔널 신경망은 마지막 레이어의 출력 결과와 컨볼루셔널 신경망에 입력되는 중간 이미지의 데이터를 합산하는 노드(Nf)를 포함할 수 있다. 노드(Nf)가 마지막 레이어의 출력 결과와 중간 이미지의 데이터를 합산함으로써, 컨볼루셔널 신경망에서 출력되는 이미지가 중간 이미지의 전체적인 색감을 보존할 수 있다. 이를 통해, 컨볼루셔널 신경망의 출력 결과가 더 정확해질 수 있다.
도 7은 컨볼루셔널 신경망의 또 다른 예를 나타낸 개념도이다.
도 7을 참조하면, 컨볼루셔널 신경망은 중간 레이어의 출력 결과를 중간 레이어보다 앞선 레이어의 출력 결과와 합산하는 노드 들(N1, N2, N3, N4)을 포함할 수 있다. 컨볼루셔널 신경망은 마지막 레이어의 출력 결과를 컨볼루셔널 신경망에 입력되는 중간 이미지의 데이터와 합산하는 노드(Nf)를 포함할 수 있다. 노드 들(N1, N2, N3, N4)은 레이어들 사이에 발생하는 잔차(Residual)를 고려함으로써, 중간 레이어에서 발생할 수 있는 왜곡 현상을 억제할 수 있다. 또한, 노드(Nf)는 최종 결과에 컨볼루셔널 신경망에 입력되는 중간 이미지의 데이터를 다시 합산함으로써, 컨볼루셔널 신경망에서 출력되는 이미지가 중간 이미지의 전체적인 색감을 유지할 수 있도록 할 수 있다.
프로세서(110)는 컨볼루셔널 신경망의 출력 결과와 선명한 테스트 이미지 사이의 평균 제곱 오차(Mean Squared Error; MSE)를 계산하고, 이를 피드백 데이터로 활용할 수 있다. 프로세서(110)는 피드백 정보를 이용하여 역전사 과정을 수행할 수 있다. 프로세서(110)는 피드백 정보를 이용하여 컨볼루셔널 신경망의 마지막 레이어(CL6)에 포함된 노드들의 가중치들부터 첫 번째 레이어(CL1)에 포함된 노드들의 가중치들을 순차적으로 변경할 수 있다.
그런데, 프로세서(110)가 평균 제곱 오차만 피드백 정보로 이용하면, 과적합(Overfitting) 현상이 발생할 수 있다. 과적합 현상이란 기계 학습이 학습에 이용된 데이터에 지나치게 편중되어, 학습 결과가 일반성을 잃는 현상을 의미한다. 예를 들어, 과적합 현상이 발생한 경우, 컨볼루셔널 신경망이 훈련에 이용된 이미지의 아티팩트를 제거하는 데는 상당히 뛰어난 성능을 보이지만, 다른 이미지에 포함된 아티팩트는 효과적으로 제거하지 못할 수 있다.
이러한 현상을 방지하기 위해, 프로세서(110)는 조직화 항(Regularization term)을 더 고려하여 역전사 과정을 수행할 수 있다.
프로세서(110)가 역전사 과정에 이용하는 피드백 정보는 수학식 2와 같이 나타낼 수 있다.
수학식 2에서 FB는 역전사 과정에 이용되는 피드백 항(Feedback term)을 의미하고, x는 선명한 테스트 이미지를 의미하고, y는 흐린 테스트 이미지를 의미하며, f(y)는 흐린 테스트 이미지 y로부터 생성된 중간 이미지를 컨볼루셔널 신경망에 입력하였을 때, 컨볼루셔널 신경망의 출력 결과를 의미한다. R(f(y))는 조직화 항을 의미하고, α는 조직화 항의 가중치를 의미한다.
수학식 2의 첫 번째 항은 전술한 MSE에 해당한다. α=0으로 설정할 경우, 프로세서(110)는 MSE만 고려하여 역전사 과정을 수행할 수 있다. 프로세서(110)는 MSE만 고려하여 역전사 과정을 수행할 수도 있지만, α를 0보다 큰 값으로 설정하여 조직화 항을 더 고려할 수도 있다.
수학식 2에서 나타낸 조직화 항은 수학식 3에 의해 정의될 수 있다.
수학식 3에서, y는 흐린 테스트 이미지를 의미하며, f(y)는 흐린 테스트 이미지 y로부터 생성된 중간 이미지를 컨볼루셔널 신경망에 입력하였을 때, 컨볼루셔널 신경망의 출력 결과를 나타낸다. R(f(y))는 조직화 항을 의미하고, 는 f의 그레디언트(gradient)를 나타낸다. p 는 그레디언트의 희소성 정도를 나타내는 파라미터로 0.8 정도의 값을 가질 수 있다. 하지만, 제시된 수치는 예시적인 것에 불과하며 개발자에 따라 p 값은 다르게 설정할 수 있다.
수학식 3에서 나타낸 정규화 항 R(f(y))는 컨볼루셔널 신경망의 출력 이미지의 그레디언트를 희소(sparse)하게 만들 수 있다. 선명한 이미지는 일반적으로 그레디언트가 희소한 특징을 가질 수 있다. 프로세서(110)는 정규화 항 R(f(y))를 역전사 과정에 반영함으로써, 컨볼루셔널 신경망의 출력 이미지가 선명한 이미지의 일반적인 특징을 가지도록 할 수 있다.
프로세서(110)는 정규화 항 R(f(y))를 이용하여 컨볼루셔널 신경망에서 컨볼루션 레이어의 노드들의 가중치를 변화시킬 수 있다. 이를 통해, 학습되지 않은 종류의 이미지가 컨볼루셔널 신경망에 입력되더라도, 컨볼루셔널 신경망은 그레디언트가 희소한 이미지를 출력할 수 있다. 컨볼루셔널 신경망의 출력 이미지의 그레디언트를 희소하게 만듦으로써, 전술한 과적합 현상을 억제할 수 있다.
수학식 3에서 그레디언트 연산은 연속 함수에 대해 정의되는 연산인 반면, 실제 이미지는 픽셀 단위로 불연속적(discrete)이기 때문에, 수학식 3의 그레디언트 연산을 다시 정의할 필요가 있다. 예시적으로, 수학식 3의 그레디언트 연산은 수학식 4에 따라 정의될 수 있다.
수학식 4에서, 는 이미지 f의 그레디언트(gradient)를 의미하고, p 는 그레디언트의 희소성 정도를 나타내는 파라미터로 0.8 정도의 값을 가질 수 있다. 하지만, 제시된 수치는 예시적인 것에 불과하며 개발자에 따라 p 값은 다르게 설정할 수 있다. i,j는 픽셀의 위치를 나타내는 인덱스다.
수학식 4를 참조하면, 좌표 (i,j) 픽셀에서 이미지 f의 그레디언트는 좌표 (i,j)에서의 픽셀 값과 좌표 (i,j)에 인접한 좌표 (i+k, j+l)에서의 픽셀 값의 차이에 의해 정의될 수 있다.
이상에서 이미지 처리 장치(100)의 기계 학습 방법에 관하여 설명하였다. 상술한 실시예들에 따르면, 이미지 처리 장치(100)는 흐린 테스트 이미지로부터, 아티팩트를 포함하는 중간 이미지를 생성하고, 중간 이미지의 아티팩트를 제거하는 아티팩트 제거 방법을 학습할 수 있다. 실시예에 따르면, 이미지 처리 장치(100)는 흐린 이미지를 곧바로 선명한 이미지로 만드는 방법을 학습하지 않고, 중간 이미지의 아티팩트를 제거하는 방법을 학습할 수 있다. 따라서, 기계 학습 과정이 용이해지며, 기계 학습 결과를 다양한 블러 커널에 의해 흐려진 영상의 디컨볼루션에 활용할 수 있다.
이하에서는 상술한 기계 학습 결과를 이용하여, 이미지 처리 장치(100)가 이미지를 처리하는 방법에 관하여 설명한다. 이미지 처리 장치(100)는 흐린 이미지를 입력 받아 선명한 이미지를 출력할 수 있다.
도 8은 이미지 처리 장치(100)가 이미지를 처리하는 방법을 나타낸 흐름도이다.
도 8을 참조하면, S210 단계에서, 이미지 처리 장치(100)는 이미지 제공부(10)로부터 흐린 이미지를 입력 받을 수 있다. 이미지 처리 장치(100)는 흐린 이미지의 블러 커널도 입력 받을 수 있다.
S220 단계에서, 프로세서(110)는 흐린 이미지 및 흐린 이미지의 블러 커널로부터 중간 이미지를 생성할 수 있다. 중간 이미지는 아티팩트를 포함할 수 있다. 아티팩트는 흐린 이미지보다 블러 커널의 변화에 대해 민감도가 작을 수 있다. 프로세서(110)는 위너 필터를 이용하여 흐린 이미지로부터 중간 이미지를 생성할 수 있다. 다른 예로, 프로세서(110)는 L2 regularization deconvolution 등을 이용하여 중간 이미지를 생성할 수도 있다.
S230 단계에서, 프로세서(230)는 미리 학습된 아티팩트 제거 모델을 이용하여 중간 이미지의 아티팩트를 제거함으로써, 제1 보정 이미지를 생성할 수 있다. 제1 보정 이미지는 중간 이미지보다 이미지 품질이 우수할 수 있다. 프로세서(230)는 컨볼루셔널 신경망을 이용하여 중간 이미지의 아티팩트를 제거할 수 있다. 프로세서(110)는 도 4 내지 도 7을 참조하여 설명한 컨볼루셔널 신경망들 중 적어도 하나를 이용하여 중간 이미지의 아티팩트를 제거할 수 있다.
컨볼루셔널 신경망은, 중간 레이어의 출력 결과를, 중간 레이어보다 앞선 레이어의 출력 결과와 합산하는 노드들(N1, N2, N3, N4)을 포함할 수 있다.
컨볼루셔널 신경망은, 컨볼루셔널 신경망의 마지막 레이어의 출력 결과와, 컨볼루셔널 신경망에 입력되는 중간 이미지의 데이터를 합산하는 노드(Nf)를 포함할 수 있다.
프로세서(110)는 230 단계에서 디컨볼루션 과정을 종료할 수 있다. 다른 예로, 프로세서(110)는 추가적인 후 처리 과정을 통해 디컨볼루션 품질을 더 높일 수도 있다.
도 9는 이미지 처리 장치(100)가 이미지를 처리하는 방법의 다른 예를 나타낸 흐름도이다.
도 9의 실시예를 설명함에 있어, 도 8과 중복되는 내용은 생략한다.
도 9를 참조하면, S240 단계에서, 프로세서(110)는 제1 보정 이미지의 디테일을 보정한 제2 보정 이미지를 생성할 수 있다.
프로세서(110)는 제2 보정 이미지와 흐린 이미지 사이의 제곱 에러 및 제1 보정 이미지와 제2 보정 이미지 사이의 제곱 에러의 선형 합이 최소가 되도록 제2 보정 이미지를 생성할 수 있다.
제2 보정 이미지는 수학식 5에 의해 결정될 수 있다.
수학식 5에서 x는 제2 보정 이미지를 의미하고, y1은 이미지 처리 장치(100)에 입력된 흐린 이미지를 의미하고, v는 블러 커널을 의미하고, y2는 컨볼루셔널 신경망이 출력한 제1 보정 이미지를 의미한다. λ는 두 제곱 에러 항의 비율을 조절하는 파라미터로 0보다 큰 실수이다.
수학식 5에서 는 제2 보정 이미지 x 및 블러 커널 v의 컨볼루션과 흐린 이미지 y1 사이의 제곱 에러를 나타낸다. 첫 번째 제곱 에러가 작아질수록, 제2 보정 이미지 x 및 블러 커널 v의 컨볼루션이 흐린 이미지 y1에 가까워 짐을 의미한다. 즉, 첫 번째 제곱 에러가 작아질수록 제2 보정 이미지에서 흐림 효과가 더 많이 제거될 수 있다.
수학식 5에서 는 제1 보정 이미지 y1과 제2 보정 이미지 x2 사이의 제곱 에러를 나타낸다. 두 번째 제곱 에러가 작아질수록, 제2 보정 이미지에 컨볼루셔널 네트워크의 출력 결과가 잘 보존되었음을 의미한다.
프로세서(110)는 두 제곱 에러의 선형합이 최소가 되도록 제2 보정 이미지를 생성함으로써, 제2 보정 이미지의 품질을 향상시킬 수 있다.
수학식 5는 푸리에 도메인(Fourier domain)에서 더 쉽게 풀릴 수 있다. 수학식 5를 푸리에 도메인에서 나타내면 수학식 6과 같다.
수학식 6에서 X, V, Y1, Y2는 수학식 5의 x, v, y1, y2를 푸리에 변환한 결과들을 나타낸다. 는 V의 컨쥬게이트(conjugate)를 나타내며, 은 수학식 5의 조건을 만족하는 X를 나타낸다. 또한, 는 엘리먼트 와이즈 곱셈(element-wise multiplication) 연산자를 의미한다.
프로세서(110)는 수학식 6으로부터 제2 보정 이미지를 획득함으로써, 디컨볼루션의 정확도를 높일 수 있다.
도 10은 이미지 처리 장치(100)에 의해 흐린 이미지가 디컨볼루션 되는 과정을 나타낸 개념도이다.
S210 단계에서, 이미지 처리 장치(100)는 복원이 요구되는 흐린 이미지(I1)를 입력 받을 수 있다.
S220 단계에서, 프로세서(110)는 흐린 이미지(I1)로부터 중간 이미지(I2)를 생성할 수 있다. 중간 이미지(I2)는 흐린 이미지(I1)보다는 선명하지만, 아티팩트를 포함하기 때문에 추가적인 이미지 처리가 요구될 수 있다.
S230 단계에서, 프로세서(110)는 아티팩트 제거 모델을 이용하여, 제1 보정 이미지(I3)를 생성할 수 있다. 제1 보정 이미지(I3)는 아티팩트 제거에 의해 중간 이미지(I2)보다 더 선명할 수 있다.
S240 단계에서, 프로세서(110)는 제1 보정 이미지(I3) 및 흐린 이미지(I1)를 이용하여, 제2 보정 이미지(I4)를 생성할 수 있다. 제2 보정 이미지(I4)는 제1 보정 이미지(I3)의 디테일이 보정된 결과물로, 제2 보정 이미지(I4)는 제1 보정 이미지(I3)보다 더 선명하고 품질이 좋을 수 있다.
아티팩트 제거 모델은 도 4 내지 도 7을 참조하여 설명한 컨볼루셔널 신경망에 의해 중간 이미지의 아티팩트를 제거할 수 있다.
도 11은 컨볼루셔널 신경망의 구조에 따른 아티팩트 제거 성능을 비교한 표이다.
도 11을 참조하면, 도 4에서 나타낸 컨볼루셔널 신경망을 이용하여 아티팩트를 제거한 경우, 컨볼루셔널 신경망의 출력 이미지의 최대 신호대 잡음비(Peak Signal-to-noise ratio, PSNR)가 27.26dB 정도로 측정될 수 있다.
도 5에서 나타낸 바와 같이, 컨볼루셔널 신경망이 중간 레이어의 출력 결과와 중간 레이어에 앞선 레이어의 출력 결과를 합산하는 노드들(N1, N2, N3, N4)을 포함할 경우, 최대 신호대 잡음비(Peak Signal-to-noise ratio, PSNR)가 29.42dB 정도로 측정될 수 있다. 즉, 도 5에서 나타낸 컨볼루셔널 신경망은 도 4에서 나타낸 컨볼루셔널 신경망보다 성능이 더 좋을 수 있다.
도 6에서 나타낸 바와 같이, 컨볼루셔널 신경망이 최종 레이어의 출력 결과와, 입력되는 중간 이미지 데이터를 합산하는 노드(Nf)를 포함할 경우, 최대 신호대 잡음비(Peak Signal-to-noise ratio, PSNR)가 29.58dB 정도로 측정될 수 있다. 즉, 도 6에서 나타낸 컨볼루셔널 신경망은 도 4에서 나타낸 컨볼루셔널 신경망보다 성능이 더 좋을 수 있다.
도 7에서 나타낸 바와 같이, 컨볼루셔널 신경망이 중간 레이어의 출력 결과와 중간 레이어에 앞선 레이어의 출력 결과를 합산하는 노드들(N1, N2, N3, N4) 및최종 레이어의 출력 결과와, 입력되는 중간 이미지 데이터를 합산하는 노드(Nf)를 포함할 경우, 최대 신호대 잡음비(Peak Signal-to-noise ratio, PSNR)가 29.85dB 정도로 측정될 수 있다. 즉, 도 7에서 나타낸 컨볼루셔널 신경망은 도 4 내지 도 6에서 나타낸 컨볼루셔널 신경망들보다 성능이 더 좋을 수 있다.
도 12는 본 발명의 실시예에 따른 이미지 처리 방법의 성능을 설명하기 위한 이미지들이다.
도 12에서 (A)는 흐린 이미지를 나타내고, (E)는 흔들림과 노이즈가 거의 없는 환경에서 촬영된 선명한 원본 이미지를 나타낸다.
(B)는 U. Schmidt 등이 Discriminative non-blind deblurring. In Proc. CVPR, 2013. 에서 제안한 방법으로 흐린 이미지를 디컨볼루션한 결과를 나타낸다.
(C)는 C.J. Schuler 등이 A machine learning approach for non-blind image deconvo-lution. In Proc. CVPR, 2013. 에서 제안한 방법으로 흐린 이미지를 디컨볼루션한 결과를 나타낸다.
(D)는 본 발명의 실시예에 따른 이미지 처리 방법으로 흐린 이미지를 디컨볼루션한 결과를 나타낸다. (D)의 결과는 도 7에서 나타낸 컨볼루셔널 신경망을 이용하여 획득된 것이다.
도 12의 (A), (B), (C), (D), (E)에서 좌측 박스는 각각의 이미지의 일부를 확대한 것이며, 도 12의 (A) 에서 우측 하단의 박스는 흐린 이미지의 흐림 효과를 발생시키는 블러 커널을 나타낸 것이다.
도 12를 참조하면, (B)의 경우, (A)보다 선명해지긴 했지만, 최대 신호대 잡음비가 29.20dB에 불과하며 흐릿한 효과가 완전히 지워지지 않을 수 있다. (C)의 경우도 (A)보다 선명해지긴 했지만, 최대 신호대 잡음비가 27.35dB에 불과하며 흐릿한 효과가 완전히 지워지지 않을 수 있다.
반면, 본 발명의 실시예에 의해 출력된 (D)의 경우, 흐릿한 효과가 거의 지워짐에 따라 선명한 원본 이미지(E)와 거의 차이가 없으며 최대 신호대 잡음비가 30.20dB로 (B), (C)의 경우보다 개선된 품질을 보인다.
도 13은 본 발명의 실시예에 따른 이미지 처리 방법의 성능을 설명하기 위한 이미지들이다.
도 13에서 (A)는 흐린 이미지를 나타내고, (E)는 흔들림과 노이즈가 거의 없는 환경에서 촬영된 선명한 원본 이미지를 나타낸다.
(B)는 U. Schmidt 등이 Discriminative non-blind deblurring. In Proc. CVPR, 2013. 에서 제안한 방법으로 흐린 이미지를 디컨볼루션한 결과를 나타낸다.
(C)는 C.J. Schuler 등이 A machine learning approach for non-blind image deconvo-lution. In Proc. CVPR, 2013. 에서 제안한 방법으로 흐린 이미지를 디컨볼루션한 결과를 나타낸다.
(D)는 본 발명의 실시예에 따른 이미지 처리 방법으로 흐린 이미지를 디컨볼루션한 결과를 나타낸다. (D)의 결과는 도 7에서 나타낸 컨볼루셔널 신경망을 이용하여 획득된 것이다.
도 13의 (A), (B), (C), (D), (E)에서 좌측 박스는 각각의 이미지의 일부를 확대한 것이며, 도 13의 (A) 에서 우측 하단의 박스는 흐린 이미지의 흐림 효과를 발생시키는 블러 커널을 나타낸 것이다.
도 12를 참조하면, (B)의 경우, (A)보다 선명해지긴 했지만, 최대 신호대 잡음비가 25.46dB에 불과하며 흐릿한 효과가 완전히 지워지지 않을 수 있다. (C)의 경우도 (A)보다 선명해지긴 했지만, 최대 신호대 잡음비가 25.83dB에 불과하며 흐릿한 효과가 완전히 지워지지 않을 수 있다.
반면, 본 발명의 실시예에 의해 출력된 (D)의 경우, 흐릿한 효과가 거의 지워짐에 따라 선명한 원본 이미지(E)와 거의 차이가 없으며 최대 신호대 잡음비가 27.85dB로 (B), (C)의 경우보다 개선된 품질을 보인다.
이상에서 도 1 내지 도 13을 참조하여, 예시적인 실시예들에 따른 이미지 처리 장치(100), 이미지 처리 장치(100)의 기계 학습 방법 및 이미지 처리 장치(100)의 이미지 처리 방법에 관하여 설명하였다.
개시된 실시예들에 따르면, 이미지 처리 장치(100)가 직접적인 디컨볼루션 방법을 학습하지 않고, 중간 이미지의 아티팩트를 제거하는 방법을 학습할 수 있다. 이를 통해, 이미지 처리 장치(100)의 기계 학습이 용이해지며, 기계 학습 결과를 다양한 블러 커널에 의한 흐린 이미지에 적용할 수 있다. 또한, 컨볼루셔널 신경망의 구조를 개선하여, 아티팩트 제거의 정확도가 높아질 수 있다. 또한, 아티팩트가 제거된 이미지의 디테일을 보정함으로써, 디컨볼루션의 품질을 향상시킬 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬, 램, 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 1의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (20)
- 이미지 처리 장치가 이미지 처리를 학습하는 기계 학습 방법에 있어서,
제1 이미지를 입력 받는 단계;
상기 제1 이미지가 변형된 제2 이미지로부터, 상기 제2 이미지보다 블러 커널의 변화에 대해 민감도가 작은 아티팩트(Artifact)를 포함하는 제3 이미지를 생성하는 단계; 및
상기 제3 이미지 및 상기 제1 이미지를 이용한 기계 학습 결과로부터, 이미지의 아티팩트를 제거하는 아티팩트 제거 모델을 생성하는 단계;를 포함하고,
상기 제1 이미지는 선명한 테스트 이미지이고,
상기 제2 이미지는 상기 선명한 테스트 이미지가 변형된 흐린 테스트 이미지이고,
상기 제3 이미지는 상기 아티팩트를 포함하는 중간 이미지인 기계 학습 방법. - 청구항 1에 있어서,
상기 선명한 테스트 이미지 및 블러 커널의 컨볼루션 연산 결과와 노이즈의 합으로부터 상기 흐린 테스트 이미지를 생성하는 단계를 더 포함하는 기계 학습 방법. - 청구항 1에 있어서,
상기 중간 이미지를 생성하는 단계는, 상기 흐린 테스트 이미지에 대해 위너 필터(Wiener Filter)를 적용함으로써, 상기 중간 이미지를 생성하는 기계 학습 방법. - 청구항 1에 있어서,
상기 아티팩트 제거 모델은, 컨볼루셔널 신경망(Convolutional Neural Networks)을 이용한 기계 학습 결과로부터 생성되는 기계 학습 방법. - 청구항 4에 있어서,
상기 컨볼루셔널 신경망은,
복수의 컨볼루션 필터들을 이용하여, 복수의 특성 맵들을 생성하는 컨볼루션 레이어를 적어도 하나 이상 포함하는 기계 학습 방법. - 청구항 4에 있어서,
상기 컨볼루셔널 신경망은,
상기 컨볼루셔널 신경망의 중간 레이어의 출력 결과와, 상기 중간 레이어보다 앞선 레이어의 출력 결과를 합산하는 노드를 적어도 하나 이상 포함하는 기계 학습 방법. - 청구항 4에 있어서,
상기 컨볼루셔널 신경망은,
상기 컨볼루셔널 신경망의 마지막 레이어의 출력 결과와, 상기 컨볼루셔널 신경망에 입력되는 상기 중간 이미지의 데이터를 합산하는 노드를 포함하는 기계 학습 방법. - 청구항 4에 있어서,
상기 아티팩트 제거 모델을 생성하는 단계는,
상기 컨볼루셔널 신경망의 출력 결과에 대한 그레디언트(gradient)로부터 획득된 조직화 항(Regularization term)을 고려하여, 상기 컨볼루셔널 신경망의 역전사(Back propagation) 과정을 수행하는 기계 학습 방법. - 이미지 처리 장치에 의해 수행되는 이미지 처리 방법에 있어서,
제1 이미지가 변형된 제2 이미지를 입력 받는 단계;
상기 제2 이미지로부터, 상기 제2 이미지보다 블러 커널의 변화에 대해 민감도가 작은 아티팩트(Artifact)를 포함하는 제3 이미지를 생성하는 단계; 및
아티팩트 제거 모델을 이용하여, 상기 제3 이미지의 아티팩트를 제거함으로써, 제1 보정 이미지를 생성하는 단계;를 포함하고,
상기 제1 이미지는 선명한 이미지이고,
상기 제2 이미지는 상기 선명한 이미지가 변형된 흐린 이미지이고,
상기 제3 이미지는 상기 아티팩트를 포함하는 중간 이미지인 이미지 처리 방법. - 청구항 9에 있어서,
상기 중간 이미지를 생성하는 단계는, 상기 흐린 이미지에 대해 위너 필터(Wiener Filter)를 적용함으로써, 상기 중간 이미지를 생성하는 이미지 처리 방법. - 청구항 9에 있어서,
상기 아티팩트 제거 모델은, 컨볼루셔널 신경망(Convolutional Neural Networks)을 이용하여 상기 중간 이미지의 아티팩트를 제거하는 이미지 처리 방법. - 청구항 11에 있어서,
상기 컨볼루셔널 신경망은,
복수의 컨볼루션 필터들을 이용하여, 복수의 특성 맵들을 생성하는 컨볼루션 레이어를 적어도 하나 이상 포함하는 이미지 처리 방법. - 청구항 11에 있어서,
상기 컨볼루셔널 신경망은,
상기 컨볼루셔널 신경망의 중간 레이어의 출력 결과와, 상기 중간 레이어보다 앞선 레이어의 출력 결과를 합산하는 노드를 적어도 하나 이상 포함하는 이미지 처리 방법. - 청구항 11에 있어서,
상기 컨볼루셔널 신경망은,
상기 컨볼루셔널 신경망의 마지막 레이어의 출력 결과와, 상기 컨볼루셔널 신경망에 입력되는 상기 중간 이미지의 데이터를 합산하는 노드를 포함하는 이미지 처리 방법. - 청구항 9에 있어서,
상기 제1 보정 이미지의 디테일을 보정한 제2 보정 이미지를 생성하는 단계를 더 포함하며,
상기 제2 보정 이미지는, 상기 제2 보정 이미지 및 블러 커널의 컨볼루션과 상기 흐린 이미지 사이의 제곱 에러 및 상기 제1 보정 이미지와 상기 제2 보정 이미지 사이의 제곱 에러의 선형 합이 최소가 되는 조건을 만족하도록 생성되는 이미지 처리 방법. - 제1 이미지가 변형된 제2 이미지를 디컨볼루션 하는 이미지 처리 장치에 있어서,
프로세서(processor); 및
상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory);를 포함하고,
상기 적어도 하나의 명령은,
상기 제2 이미지로부터, 상기 제2 이미지보다 블러 커널의 변화에 대해 민감도가 작은 아티팩트를 포함하는 제3 이미지를 생성하고, 아티팩트 제거 모델을 이용하여, 상기 제3 이미지의 아티팩트를 제거함으로써, 제1 보정 이미지를 생성하도록 수행되고,
상기 제1 이미지는 선명한 이미지이고,
상기 제2 이미지는 상기 선명한 이미지가 변형된 흐린 이미지이고,
상기 제3 이미지는 상기 아티팩트를 포함하는 중간 이미지인 이미지 처리 장치. - 청구항 16에 있어서,
상기 적어도 하나의 명령은,
선명한 테스트 이미지를 입력 받고, 상기 선명한 테스트 이미지가 변형된 흐린 테스트 이미지로부터 상기 흐린 테스트 이미지보다 블러 커널의 변화에 대해 민감도가 작은 훈련용 중간 이미지를 생성하고, 상기 훈련용 중간 이미지 및 상기 선명한 테스트 이미지를 이용한 기계 학습 결과로부터, 상기 아티팩트 제거 모델을 생성하도록 수행되는 이미지 처리 장치. - 청구항 16에 있어서,
상기 적어도 하나의 명령은,
컨볼루셔널 신경망(Convolutional Neural Networks)을 이용하여 상기 중간 이미지의 아티팩트를 제거하도록 수행되고,
상기 컨볼루셔널 신경망은,
상기 컨볼루셔널 신경망의 마지막 레이어의 출력 결과와, 상기 컨볼루셔널 신경망에 입력되는 상기 중간 이미지의 데이터를 합산하는 노드를 포함하는 이미지 처리 장치. - 청구항 16에 있어서,
상기 적어도 하나의 명령은,
컨볼루셔널 신경망(Convolutional Neural Networks)을 이용하여 상기 중간 이미지의 아티팩트를 제거하도록 수행되고,
상기 컨볼루셔널 신경망은,
상기 컨볼루셔널 신경망의 중간 레이어의 출력 결과와, 상기 중간 레이어보다 앞선 레이어의 출력 결과를 합산하는 노드를 적어도 하나 이상 포함하는 이미지 처리 장치. - 청구항 16에 있어서,
상기 적어도 하나의 명령은,
상기 제1 보정 이미지의 디테일을 보정한 제2 보정 이미지를 생성하도록 수행되며,
상기 제2 보정 이미지는, 상기 제2 보정 이미지 및 블러 커널의 컨볼루션과 상기 흐린 이미지 사이의 제곱 에러 및 상기 제1 보정 이미지와 상기 제2 보정 이미지 사이의 제곱 에러의 선형 합이 최소가 되는 조건을 만족하도록 생성되는 이미지 처리 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170005150A KR101871098B1 (ko) | 2017-01-12 | 2017-01-12 | 이미지 처리 방법 및 장치 |
US15/441,145 US10360664B2 (en) | 2017-01-12 | 2017-02-23 | Image processing apparatus and method using machine learning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170005150A KR101871098B1 (ko) | 2017-01-12 | 2017-01-12 | 이미지 처리 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101871098B1 true KR101871098B1 (ko) | 2018-06-25 |
Family
ID=62781925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170005150A KR101871098B1 (ko) | 2017-01-12 | 2017-01-12 | 이미지 처리 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10360664B2 (ko) |
KR (1) | KR101871098B1 (ko) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109816742A (zh) * | 2018-12-14 | 2019-05-28 | 中国人民解放军战略支援部队信息工程大学 | 基于全连接卷积神经网络的锥束ct几何伪影去除方法 |
KR20200008251A (ko) * | 2018-07-16 | 2020-01-28 | 연세대학교 산학협력단 | 디지털 유방 단층촬영합성 영상의 재구성 장치 및 방법 |
KR20200092845A (ko) * | 2019-01-25 | 2020-08-04 | 주식회사 스트라드비젼 | 인스턴스 세그멘테이션을 이용한 객체의 자세에 따라 모드를 전환할 수 있는 cnn 기반의 수도-3d 바운딩 박스를 검출하는 방법 및 이를 이용한 장치 |
WO2020166786A1 (en) * | 2019-02-12 | 2020-08-20 | Samsung Electronics Co., Ltd. | Method and apparatus for converting input content |
WO2021137415A1 (ko) * | 2019-12-30 | 2021-07-08 | 포항공과대학교 산학협력단 | 머신 러닝에 기반한 이미지 처리 방법 및 장치 |
CN113344800A (zh) * | 2020-03-02 | 2021-09-03 | 通用汽车环球科技运作有限责任公司 | 用于训练非盲图像去模糊模块的系统和方法 |
KR20210142895A (ko) * | 2020-05-19 | 2021-11-26 | 삼성생명보험주식회사 | 광학 문자 인식을 위한 학습 데이터 관리 방법 |
KR20220038998A (ko) * | 2020-09-21 | 2022-03-29 | 삼성생명보험주식회사 | 인공 지능 기반 광학 이미지 데이터 고품질화 방법 |
WO2022260392A1 (ko) * | 2021-06-10 | 2022-12-15 | 주식회사 에너자이 | 단말에서 동작하는 이미지 프로세싱 인공 신경망 모델 생성 방법 및 시스템 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7169768B2 (ja) * | 2018-05-08 | 2022-11-11 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
RU2709661C1 (ru) * | 2018-09-19 | 2019-12-19 | Общество с ограниченной ответственностью "Аби Продакшн" | Обучение нейронных сетей для обработки изображений с помощью синтетических фотореалистичных содержащих знаки изображений |
US10915990B2 (en) * | 2018-10-18 | 2021-02-09 | General Electric Company | Systems and methods for denoising medical images with deep learning network |
US11800205B2 (en) * | 2019-04-18 | 2023-10-24 | University Of Florida Research Foundation, Incorporated | Fast foveation camera and controlling algorithms |
CN110420026B (zh) * | 2019-07-15 | 2020-05-19 | 中国科学院自动化研究所 | 基于ffl的磁粒子成像三维立体重建方法、系统、装置 |
CN110533607B (zh) * | 2019-07-30 | 2022-04-26 | 北京威睛光学技术有限公司 | 一种基于深度学习的图像处理方法、装置及电子设备 |
CN110677649B (zh) * | 2019-10-16 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 基于机器学习的去伪影方法、去伪影模型训练方法及装置 |
US11748853B2 (en) * | 2020-04-28 | 2023-09-05 | Carnegie Mellon University | Method and architecture for blind image deconvolution |
RU2742346C1 (ru) * | 2020-07-02 | 2021-02-04 | Самсунг Электроникс Ко., Лтд. | Устранение размытия изображения |
US20220067879A1 (en) * | 2020-09-03 | 2022-03-03 | Nvidia Corporation | Image enhancement using one or more neural networks |
US11549358B2 (en) | 2020-10-22 | 2023-01-10 | Halliburton Energy Services, Inc. | Deep learning methods for enhancing borehole images |
US11798139B2 (en) * | 2020-11-17 | 2023-10-24 | GM Global Technology Operations LLC | Noise-adaptive non-blind image deblurring |
CN116802674A (zh) * | 2021-02-22 | 2023-09-22 | Oppo广东移动通信有限公司 | 生成目标图像的方法、电子设备和非暂时性计算机可读介质 |
JP7225315B2 (ja) * | 2021-06-17 | 2023-02-20 | キヤノン株式会社 | 画像処理方法、画像処理装置、画像処理システム、およびプログラム |
US20230041888A1 (en) * | 2021-08-03 | 2023-02-09 | Samsung Electronics Co., Ltd. | Unsupervised learning-based scale-independent blur kernel estimation for super-resolution |
CN118298070B (zh) * | 2024-06-06 | 2024-09-27 | 深圳市计量质量检测研究院(国家高新技术计量站、国家数字电子产品质量监督检验中心) | 一种基于多尺度神经网络的核磁共振去伪影方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009152820A (ja) * | 2007-12-20 | 2009-07-09 | Sony Corp | 学習装置および方法、画像処理装置および方法、並びにプログラム |
KR101556602B1 (ko) * | 2015-02-12 | 2015-10-01 | 연세대학교 산학협력단 | 도로의 젖은 영역 검출 장치 및 그 방법 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060291751A1 (en) * | 2004-12-16 | 2006-12-28 | Peyman Milanfar | Robust reconstruction of high resolution grayscale images from a sequence of low-resolution frames (robust gray super-resolution) |
US7593561B2 (en) * | 2005-01-04 | 2009-09-22 | Carestream Health, Inc. | Computer-aided detection of microcalcification clusters |
US8948513B2 (en) * | 2009-01-27 | 2015-02-03 | Apple Inc. | Blurring based content recognizer |
JP5615088B2 (ja) * | 2010-08-18 | 2014-10-29 | キヤノン株式会社 | 画像処理装置及びその方法、プログラム、並びに撮像装置 |
US8818091B2 (en) * | 2011-03-21 | 2014-08-26 | Apple Inc. | Red-eye removal using multiple recognition channels |
US8823745B2 (en) * | 2011-06-02 | 2014-09-02 | Yoostar Entertainment Group, Inc. | Image processing based on depth information and color data of a scene |
WO2014074137A1 (en) * | 2012-11-09 | 2014-05-15 | Nikon Corporation | Point spread function classification using structural properties |
US9619883B2 (en) * | 2013-03-15 | 2017-04-11 | Hypermed Imaging, Inc. | Systems and methods for evaluating hyperspectral imaging data using a two layer media model of human tissue |
US20140307950A1 (en) * | 2013-04-13 | 2014-10-16 | Microsoft Corporation | Image deblurring |
US9275445B2 (en) * | 2013-08-26 | 2016-03-01 | Disney Enterprises, Inc. | High dynamic range and tone mapping imaging techniques |
US9430817B2 (en) * | 2013-11-12 | 2016-08-30 | Microsoft Technology Licensing, Llc | Blind image deblurring with cascade architecture |
US9508127B1 (en) * | 2015-06-30 | 2016-11-29 | Konica Minolta Laboratory U.S.A., Inc. | Processing for creating a transmission image without artificial noises |
US9767565B2 (en) * | 2015-08-26 | 2017-09-19 | Digitalglobe, Inc. | Synthesizing training data for broad area geospatial object detection |
US9589210B1 (en) * | 2015-08-26 | 2017-03-07 | Digitalglobe, Inc. | Broad area geospatial object detection using autogenerated deep learning models |
US9818015B2 (en) * | 2015-12-21 | 2017-11-14 | Apple Inc. | Electronic device including movement based artifact removal and related methods |
WO2018053340A1 (en) * | 2016-09-15 | 2018-03-22 | Twitter, Inc. | Super resolution using a generative adversarial network |
US10083499B1 (en) * | 2016-10-11 | 2018-09-25 | Google Llc | Methods and apparatus to reduce compression artifacts in images |
US10049308B1 (en) * | 2017-02-21 | 2018-08-14 | A9.Com, Inc. | Synthesizing training data |
-
2017
- 2017-01-12 KR KR1020170005150A patent/KR101871098B1/ko active IP Right Grant
- 2017-02-23 US US15/441,145 patent/US10360664B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009152820A (ja) * | 2007-12-20 | 2009-07-09 | Sony Corp | 学習装置および方法、画像処理装置および方法、並びにプログラム |
KR101556602B1 (ko) * | 2015-02-12 | 2015-10-01 | 연세대학교 산학협력단 | 도로의 젖은 영역 검출 장치 및 그 방법 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102165915B1 (ko) | 2018-07-16 | 2020-10-14 | 연세대학교 산학협력단 | 디지털 유방 단층촬영합성 영상의 재구성 장치 및 방법 |
KR20200008251A (ko) * | 2018-07-16 | 2020-01-28 | 연세대학교 산학협력단 | 디지털 유방 단층촬영합성 영상의 재구성 장치 및 방법 |
CN109816742B (zh) * | 2018-12-14 | 2022-10-28 | 中国人民解放军战略支援部队信息工程大学 | 基于全连接卷积神经网络的锥束ct几何伪影去除方法 |
CN109816742A (zh) * | 2018-12-14 | 2019-05-28 | 中国人民解放军战略支援部队信息工程大学 | 基于全连接卷积神经网络的锥束ct几何伪影去除方法 |
KR102309708B1 (ko) | 2019-01-25 | 2021-10-08 | 주식회사 스트라드비젼 | 인스턴스 세그멘테이션을 이용한 객체의 자세에 따라 모드를 전환할 수 있는 cnn 기반의 수도-3d 바운딩 박스를 검출하는 방법 및 이를 이용한 장치 |
KR20200092845A (ko) * | 2019-01-25 | 2020-08-04 | 주식회사 스트라드비젼 | 인스턴스 세그멘테이션을 이용한 객체의 자세에 따라 모드를 전환할 수 있는 cnn 기반의 수도-3d 바운딩 박스를 검출하는 방법 및 이를 이용한 장치 |
WO2020166786A1 (en) * | 2019-02-12 | 2020-08-20 | Samsung Electronics Co., Ltd. | Method and apparatus for converting input content |
KR20210085403A (ko) * | 2019-12-30 | 2021-07-08 | 포항공과대학교 산학협력단 | 머신 러닝에 기반한 이미지 처리 방법 및 장치 |
WO2021137415A1 (ko) * | 2019-12-30 | 2021-07-08 | 포항공과대학교 산학협력단 | 머신 러닝에 기반한 이미지 처리 방법 및 장치 |
KR102537207B1 (ko) * | 2019-12-30 | 2023-05-25 | 포항공과대학교 산학협력단 | 머신 러닝에 기반한 이미지 처리 방법 및 장치 |
CN113344800A (zh) * | 2020-03-02 | 2021-09-03 | 通用汽车环球科技运作有限责任公司 | 用于训练非盲图像去模糊模块的系统和方法 |
CN113344800B (zh) * | 2020-03-02 | 2023-09-29 | 通用汽车环球科技运作有限责任公司 | 用于训练非盲图像去模糊模块的系统和方法 |
KR20210142895A (ko) * | 2020-05-19 | 2021-11-26 | 삼성생명보험주식회사 | 광학 문자 인식을 위한 학습 데이터 관리 방법 |
KR102486105B1 (ko) | 2020-05-19 | 2023-01-06 | 삼성생명보험주식회사 | 광학 문자 인식을 위한 학습 데이터 관리 방법 |
KR20220038998A (ko) * | 2020-09-21 | 2022-03-29 | 삼성생명보험주식회사 | 인공 지능 기반 광학 이미지 데이터 고품질화 방법 |
KR102418208B1 (ko) | 2020-09-21 | 2022-07-06 | 삼성생명보험주식회사 | 인공 지능 기반 광학 이미지 데이터 고품질화 방법 |
WO2022260392A1 (ko) * | 2021-06-10 | 2022-12-15 | 주식회사 에너자이 | 단말에서 동작하는 이미지 프로세싱 인공 신경망 모델 생성 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US10360664B2 (en) | 2019-07-23 |
US20180197278A1 (en) | 2018-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101871098B1 (ko) | 이미지 처리 방법 및 장치 | |
Li et al. | Blind image deblurring via deep discriminative priors | |
Kundur et al. | A novel blind deconvolution scheme for image restoration using recursive filtering | |
Li et al. | Fast guided global interpolation for depth and motion | |
US9262815B2 (en) | Algorithm for minimizing latent sharp image cost function and point spread function cost function with a spatial mask in a regularization term | |
Chen et al. | Enhanced sparse model for blind deblurring | |
CN106251365A (zh) | 多曝光视频融合方法及装置 | |
CN111047544B (zh) | 一种基于非线性退化模型的饱和图像去模糊方法 | |
US10419698B2 (en) | Image processing apparatus and image processing method | |
Li et al. | Un-supervised learning for blind image deconvolution via monte-carlo sampling | |
US11741579B2 (en) | Methods and systems for deblurring blurry images | |
Zhang et al. | High‐Order Total Bounded Variation Model and Its Fast Algorithm for Poissonian Image Restoration | |
Rioux et al. | The maximum entropy on the mean method for image deblurring | |
Chen et al. | Deep Richardson–Lucy deconvolution for low-light image deblurring | |
Sanghvi et al. | Photon-limited blind deconvolution using unsupervised iterative kernel estimation | |
Chen et al. | A depth iterative illumination estimation network for low-light image enhancement based on retinex theory | |
Deledalle et al. | Blind atmospheric turbulence deconvolution | |
Hue et al. | Image denoising with overlapping group sparsity and second order total variation regularization | |
Han et al. | A nonblind deconvolution method by bias correction for inaccurate blur kernel estimation in image deblurring | |
CN111325671A (zh) | 网络训练方法、装置、图像处理方法及电子设备 | |
CN114494065A (zh) | 图像去模糊方法、装置、设备及可读存储介质 | |
Hearn et al. | Extensions of the Justen–Ramlau blind deconvolution method | |
Hirsch et al. | Self-calibration of optical lenses | |
Tsai et al. | An improved adaptive deconvolution algorithm for single image deblurring | |
Yousaf et al. | Closed-loop restoration approach to blurry images based on machine learning and feedback optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |