KR102373483B1 - 딥러닝을 이용한 고속 영상 블러 제거 방법 및 장치 - Google Patents

딥러닝을 이용한 고속 영상 블러 제거 방법 및 장치 Download PDF

Info

Publication number
KR102373483B1
KR102373483B1 KR1020200155886A KR20200155886A KR102373483B1 KR 102373483 B1 KR102373483 B1 KR 102373483B1 KR 1020200155886 A KR1020200155886 A KR 1020200155886A KR 20200155886 A KR20200155886 A KR 20200155886A KR 102373483 B1 KR102373483 B1 KR 102373483B1
Authority
KR
South Korea
Prior art keywords
kernel
blur
network model
convolution
estimation network
Prior art date
Application number
KR1020200155886A
Other languages
English (en)
Inventor
장현성
하남구
권구용
이민석
연윤모
Original Assignee
엘아이지넥스원 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘아이지넥스원 주식회사 filed Critical 엘아이지넥스원 주식회사
Priority to KR1020200155886A priority Critical patent/KR102373483B1/ko
Application granted granted Critical
Publication of KR102373483B1 publication Critical patent/KR102373483B1/ko

Links

Images

Classifications

    • G06T5/003
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

본 실시예들은 딥러닝의 영상 생성 과제를 점 확산 함수로 표현되는 블러 커널 추정 과제로 변환하고, 일반 컨볼루션이 아닌 깊이 컨볼루션, 팽창 컨볼루션, 밀집 연결 구조를 적용한 고속 영상 고속 영상 블러 제거 방법 및 장치를 제공한다.

Description

딥러닝을 이용한 고속 영상 블러 제거 방법 및 장치 {FAST IMAGE DEBLURRING METHOD AND APPARATUS USING DEEP LEARNING}
본 발명이 속하는 기술 분야는 딥러닝 기반의 고속 영상 블러 제거 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
CNN(Convolutional Neural Network))을 적용한 기존의 영상 블러 제거 기술은 많은 파라미터(네트워크 가중치)와 특성맵을 갖고 높은 연산량이 필요하므로 서버급의 컴퓨터가 아닌 임베디드 환경에서는 적용하기가 어렵다.
기존의 영상 블러 제거 기술에서 연산량이 높은 이유는 CNN에서 사용하는 컨볼루션 연산 자체가 nХnХc 크기의 텐서를 갖고 n(필터 크기 단위)과 c(채널 개수)가 클수록 한 레이어에서 계산해야 하는 연산량이 급격히 늘어나기 때문이다.
메모리와 연산량을 줄이면서 입력 영상의 크기에 영향을 받지 않는 고속 블러 제거 방법이 필요한 실정이다.
한국공개특허공보 제10-2020-0096026호 (2020.08.11.)
본 발명의 실시예들은 딥러닝의 영상 생성 과제를 점 확산 함수로 표현되는 블러 커널 추정 과제로 변환하고, 일반 컨볼루션이 아닌 깊이 컨볼루션, 팽창 컨볼루션, 밀집 연결 구조를 적용하여, 고속으로 영상의 블러를 제거하는 데 주된 목적이 있다.
본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.
본 실시예의 일 측면에 의하면 컴퓨팅 디바이스에 의한 고속 영상 블러 제거 방법에 있어서, 동영상의 연속적 프레임 세트로부터 영상 패치를 추출하는 단계, 상기 영상 패치로부터 커널 추정 네트워크 모델을 통해 블러 커널을 추정하는 단계, 상기 연속적 프레임 세트에 대해서 상기 블러 커널에 기반한 복원 필터를 통해 블러를 제거하는 단계를 포함하는 고속 영상 블러 제거 방법을 제공한다.
상기 블러 커널은 광량 분포를 나타내는 점 확산 함수(point spread function, PSF)로 표현될 수 있다.
상기 커널 추정 네트워크 모델은 필터가 채널 별로 분리되어 채널 방향의 컨볼루션을 수행하지 않고 공간 방향의 컨볼루션을 수행하여 합쳐지는 깊이 컨볼루션(depthwise convolution)을 적용할 수 있다.
상기 커널 추정 네트워크 모델은 필터 내부에 제로 패딩하는 팽창 컨볼루션(dilated convolution)을 적용하여 필터에 따른 수용 영역(receptive field)을 증가시킬 수 있다.
상기 커널 추정 네트워크 모델은 이전 레이어로부터 해당 레이어를 건너 다음 레이어로 연결된 구조를 갖는 밀집 연결(dense connection)을 적용하여 상기 해당 레이어의 전단에서 추출한 특징을 상기 해당 레이어의 후단에 그대로 전달하고, 상기 전달한 특징을 누적할 수 있다.
상기 커널 추정 네트워크 모델의 손실 함수는 상기 연속적 프레임 세트에 대한 정답 및 상기 추정된 블러 커널을 이용한 상기 복원 필터의 결과 간의 오차로 정의되고, 상기 손실 함수가 최소화되도록 학습될 수 있다.
본 실시예의 다른 측면에 의하면 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 고속 영상 고속 영상 블러 제거 장치에 있어서, 상기 프로세서, 동영상의 연속적 프레임 세트로부터 영상 패치를 추출하고, 상기 영상 패치로부터 커널 추정 네트워크 모델을 통해 블러 커널을 추정하고, 상기 연속적 프레임 세트에 대해서 상기 블러 커널에 기반한 복원 필터를 통해 블러를 제거하는 것을 특징으로 하는 고속 영상 고속 영상 블러 제거 장치를 제공한다.
이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 딥러닝의 영상 생성 과제를 점 확산 함수로 표현되는 블러 커널 추정 과제로 변환하고, 일반 컨볼루션이 아닌 깊이 컨볼루션, 팽창 컨볼루션, 밀집 연결 구조를 적용하여, 고속으로 영상의 블러를 제거할 수 있는 효과가 있다.
여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.
도 1은 본 발명의 일 실시예에 따른 고속 영상 블러 제거 장치를 예시한 블록도이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 고속 영상 블러 제거 장치의 동작을 예시한 도면이다.
도 4 내지 도 9는 본 발명의 일 실시예에 따른 고속 영상 블러 제거 장치의 커널 추정 네트워크 모델을 예시한 도면이다.
도 10은 본 발명의 다른 실시예에 따른 고속 영상 블러 제거 방법을 예시한 흐름도이다.
이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다.
본 실시예에 따른 고속 영상 블러 제거 장치는 객체 탐지/추적, 스테레오 깊이 정보 추정, 영상 분할, 행동 인식 등의 응용 기술에서 발생하는 영상 블러를 제거하는 영상 전처리 기술에 해당하며, 표적 탐지, 군 기반 시설 감시 체계, 자율 주행, 산업 현장 재난 관리 등의 다양한 컴퓨터 비전 분야에 적용할 수 있다.
기존의 계층적이고 깊은 CNN 구조는 입력 영상 크기에 따라 특성맵 크기가 증가하고 입력 영상의 해상도 n의 제곱으로 연산량이 증가한다.
본 실시예에 따른 고속 영상 블러 제거 장치는 딥러닝의 영상 생성 과제를 점 확산 함수로 표현되는 블러 커널 추정 과제로 변환한다. 블러 커널을 추출할 때 영상 전체를 사용할 필요가 없으므로 입력 영상 크기에 관계없이 커널 추정이 가능하다.
도 1은 본 발명의 일 실시예에 따른 고속 영상 블러 제거 장치를 예시한 블록도이다.
고속 영상 블러 제거 장치(110)는 적어도 하나의 프로세서(120), 컴퓨터 판독 가능한 저장매체(130) 및 통신 버스(170)를 포함한다.
프로세서(120)는 고속 영상 블러 제거 장치(110)로 동작하도록 제어할 수 있다. 예컨대, 프로세서(120)는 컴퓨터 판독 가능한 저장 매체(130)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(120)에 의해 실행되는 경우 고속 영상 블러 제거 장치(110)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능한 저장 매체(130)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능한 저장 매체(130)에 저장된 프로그램(140)은 프로세서(120)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독한 가능 저장 매체(130)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 고속 영상 블러 제거 장치(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(170)는 프로세서(120), 컴퓨터 판독 가능한 저장 매체(140)를 포함하여 고속 영상 블러 제거 장치(110)의 다른 다양한 컴포넌트들을 상호 연결한다.
고속 영상 블러 제거 장치(110)는 또한 하나 이상의 입출력 장치를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(150) 및 하나 이상의 통신 인터페이스(160)를 포함할 수 있다. 입출력 인터페이스(150) 및 통신 인터페이스(160)는 통신 버스(170)에 연결된다. 입출력 장치(미도시)는 입출력 인터페이스(150)를 통해 고속 영상 블러 제거 장치(110)의 다른 컴포넌트들에 연결될 수 있다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 고속 영상 블러 제거 장치의 동작을 예시한 도면이다.
고속 영상 블러 제거 장치(110)는 동영상의 연속적 프레임 세트로부터 영상 패치를 추출하고, 영상 패치로부터 커널 추정 네트워크 모델을 통해 블러 커널을 추정하고, 연속적 프레임 세트에 대해서 블러 커널에 기반한 복원 필터를 통해 블러를 제거한다.
기존 딥러닝 알고리즘이 전체 영상을 입력으로 하여 복원된 전체 영상을 출력하는 것과 달리, 고속 영상 블러 제거 장치(110)의 커널 추정 네트워크 모델은 영상 패치를 입력으로 하여 추정된 블러 커널을 출력한다. 블러한 영상을 역변환을 통해 선명하게 만들 수 있는 커널이 추정된다.
블러 모델은 블러 커널 k와 잠재 영상 I 간의 콘볼루션 모델로 블러 영상 b를 나타낼 수 있다.
Figure 112020124526714-pat00001
Figure 112020124526714-pat00002
는 컨볼루션(convolution) 연산을 의미하며
Figure 112020124526714-pat00003
는 노이즈이다. 블러 영상으로부터 선명한 영상을 추정하기 위해서는 디컨볼루션 과정이 필요하다.
디컨볼루션을 수행하기 위해서는 블러 영상과 함께 블러 커널과 노이즈를 알아야 한다. 블러 커널을 미리 알고 영상을 복원하는 알고리즘을 논블라인드(non-blind) 디컨볼루션이라 한다. 제한된 최소 평균 오차 필터링 디컨볼루션은 논블라인드 디컨볼루션의 대표적인 알고리즘으로 구현이 용이하여 저사양 프로세서가 탑재된 카메라 모듈에서 FPGA로 구현되어 실시간 어플리케이션에 활용할 수 있다.
제한된 최소 평균 오차 필터링은 열화 함수와 노이즈의 통계적 특성 모두를 복원 과정에 포함시키는 방법으로 디블러링 추정을 수행한다. 수학식 1에 제시된 블러 모델에 대해, 오차 함수의 최소값은 주파수 도메인에서 수학식 2와 같이 표현된다.
Figure 112020124526714-pat00004
여기서 *는 켤레 복소수(complex conjugate)를 의미하며, γ는 하이퍼 파라미터이다. P는 라플라스 필터의 푸리에 변환이다. F, H, G는 각각 2-D Fourier 변환된 I, k, b를 의미한다. 이를 통해 블러 커널을 입력으로 하여, 디블러 복원이 수행된다.
블러 커널을 입력으로 하여, 디블러 복구를 수행하는 논블라인드 디컨볼루션(non-blind deconvolution)에서는 정확한 블러 커널에 대한 추정이 필요하다. 커널을 추정하는 복잡한 문제를 심층 네트워크 구조를 적용한 경량 모델을 이용하여 해결한다.
커널 추정 네트워크 모델의 딥러닝 네트워크는 b를 입력으로 받아 k를 추론한다.
일반적으로 한 장씩 디블러링하는 단일 영상 디블러는 각 프레임 영상마다 선명화되는 정도가 달라 동영상에서 깜박이는 것처럼 보이는 증상이 있어 적합하지 않다.
고속 영상 블러 제거 장치(110)는 동영상에서 자연스러운 디블러 영상을 획득하기 위해 연속된 프레임 세트를 사용한다. 연속된 프레임 영상 여러 장 일부로부터 대표되는 점 확산 함수(point spread function, PSF) 하나를 산출하는 것이 커널 추정 네트워크 모델의 목표이다.
고속 영상 블러 제거 장치(110)는 메모리 소모량을 최소화하기 위해 역잔차 블록의 구조와 깊이별 컨볼루션 연산을 적용하였으며, 적은 수의 레이어로도 충분한 수용 영역(receptive field)를 확보하기 위해 팽창 컨볼루션을 적용한다. 밀집 연결(dense connection)을 통해 저수준(low-level) 특징과 고수준(high-level) 특징을 모두 커널 추정에 활용함으로써 효율적인 커널 추정을 가능하게 한다. 밀집 연결을 통해 생성된 특징맵은 채널별 집중(Attention)을 통해 정제함으로써 보다 효과적인 커널 추정이 가능하다. 이를 통해 1k 미만의 매우 적은 가중치(weight)를 갖는 딥러닝 네트워크로도 높은 정밀도의 블러 커널 추정이 가능하다.
도 4 내지 도 9는 본 발명의 일 실시예에 따른 고속 영상 블러 제거 장치의 커널 추정 네트워크 모델을 예시한 도면이다.
커널 추정 네트워크 모델은 블러 커널을 추정한다. 블러 커널은 광량 분포를 나타내는 점 확산 함수(point spread function, PSF)로 표현된다.
커널 추정 네트워크 모델은 다수의 레이어가 네트워크로 연결되며 히든 레이어를 포함한다. 레이어는 파라미터를 포함할 수 있고, 레이어의 파라미터는 학습가능한 필터 집합을 포함한다. 파라미터는 노드 간의 가중치 및/또는 바이어스를 포함한다. 커널 추정 네트워크 모델은 좁은 레이어를 사용하되, 특징을 보존하여 보완한다.
균일 블러라는 특징에 착안하여 영상 일부만 사용하여 전체 영상을 복원한다. 균일 블러는 카메라에서 렌즈 및 초점 불량으로 인해 발생하는 블러로 균일한 성질을 갖는다.
블러 커널을 추출할 때 영상 전체를 사용할 필요가 없으므로, 입력 영상 크기에 관계없이 커널 추정이 가능하다. 블러 커널은 도 2 및 도 3에 도시된 바와 같이 분포 밀집 정도가 드문(sparse) 특성을 갖기 때문에 네트워크에서 수행되는 연산 대부분이 고속 연산에 유리하다.
Conv는 컨볼루션 연산 레이어 또는 계층을 의미한다.
커널 추정 네트워크 모델은 필터가 채널 별로 분리되어 채널 방향의 컨볼루션을 수행하지 않고 공간 방향의 컨볼루션을 수행하여 합쳐지는 깊이 컨볼루션(depthwise convolution)을 적용한다.
커널 추정 네트워크 모델은 필터 내부에 제로 패딩하는 팽창 컨볼루션(dilated convolution)을 적용하여 필터에 따른 수용 영역(receptive field)을 증가시킨다. 비교적 얕은 네트워크에서도 큰 수용 영역(receptive field)를 갖게 하여 블러 커널의 추정에 대한 성능을 높일 수 있다.
커널 추정 네트워크 모델의 각 레이어는 밀집 연결(dense connection)을 갖는다. 커널 추정 네트워크 모델은 이전 레이어로부터 해당 레이어를 건너 다음 레이어로 연결된 구조를 갖는 밀집 연결을 적용하여 해당 레이어의 전단에서 추출한 특징을 해당 레이어의 후단에 그대로 전달하고, 전달한 특징을 누적한다.
밀집 연결은 저 레벨 특징을 보존하고, 복원 성능 향상을 위해 저 레벨 특징과 고 레벨 특징을 효과적으로 합치는 효과적인 방법이다. 각 레이어에서 출력으로 가는 short path를 제공하여 gradient-vanishing을 완화시킬 수 있다.
도 5에 예시적으로 도시된 커널 추정 네트워크 모델은 제1 컨볼루션 블록 (310), 제2 컨볼루션 블록(320), 제3 컨볼루션 블록(330), 제4 컨볼루션 블록(340), 제5 컨볼루션 블록(350)으로 연결되고, 밀집 연결 구조로 형성된다.
제1 컨볼루션 블록(310)의 입력 데이터는 제1 컨볼루션 블록(310)을 통과하여 출력된다. 커널 추정 네트워크 모델은 제1 컨볼루션 블록(310)을 통과하지 않고 제2 컨볼루션 블록(320)에 입력되는 연결 라인(311), 제3 컨볼루션 블록(330)에 입력되는 연결 라인(312), 제4 컨볼루션 블록(340)에 입력되는 연결 라인(313), 제5 컨볼루션 블록(350)에 입력되는 연결 라인(314), 제5 컨볼루션 블록(350)의 출력에 연결되는 연결 라인(315)을 포함한다.
제2 컨볼루션 블록(320)의 입력 데이터는 제2 컨볼루션 블록(320)을 통과하여 출력된다. 커널 추정 네트워크 모델은 제2 컨볼루션 블록(320)을 통과하지 않고 제3 컨볼루션 블록(330)에 입력되는 연결 라인(321), 제4 컨볼루션 블록(330)에 입력되는 연결 라인(322), 제5 컨볼루션 블록(350)에 입력되는 연결 라인(323), 제5 컨볼루션 블록(350)의 출력에 연결되는 연결 라인(324)을 포함한다.
제3 컨볼루션 블록(330)의 입력 데이터는 제3 컨볼루션 블록(330)을 통과하여 출력된다. 커널 추정 네트워크 모델은 제3 컨볼루션 블록(330)을 통과하지 않고 제4 컨볼루션 블록(340)에 입력되는 연결 라인(331), 제5 컨볼루션 블록(350)에 입력되는 연결 라인(332), 제5 컨볼루션 블록(350)의 출력에 연결되는 연결 라인(333)을 포함한다.
제4 컨볼루션 블록(340)의 입력 데이터는 제4 컨볼루션 블록(340)을 통과하여 출력된다. 커널 추정 네트워크 모델은 제4 컨볼루션 블록(340)을 통과하지 않고 제5 컨볼루션 블록(350)에 입력되는 연결 라인(341), 제5 컨볼루션 블록(350)의 출력에 연결되는 연결 라인(342)을 포함한다.
제5 컨볼루션 블록(350)의 입력 데이터는 제5 컨볼루션 블록(350)을 통과하여 출력된다. 커널 추정 네트워크 모델은 제5 컨볼루션 블록(350)을 통과하지 않고 제5 컨볼루션 블록(350)의 출력에 연결되는 연결 라인(351)을 포함한다.
밀집 연결을 통해 저 레벨 특징을 고 레벨 특징과 융합하여 추론에 사용하여 커널 추정에 대한 성능을 높이고, 정보 흐름을 개선하여 학습 성능을 향상시킨다.
컨볼루션 블록(310, 320, 330, 340, 350)은 채널 확장 및 프로젝션(Channel expansion/projection)을 통해 딥러닝 네트워크에서 특징맵을 작게 유지한다. 즉, 작은 메모리에 특징맵이 들어갈 수 있게 된다.
예를 들어, 1280x1024 크기의 64채널 특징맵은 1280x1024x64=83,886,080 개의 float배열이 필요하므로, 1개의 레이어 당 336MB의 메모리를 차지한다. 그러나 확장 및 프로젝션을 통해 입출력 특징맵의 채널을 8채널로 유지한다면, 1280x1024x8=10,485,760 개의 float 배열만이 필요하므로, 1개의 레이어 당 단지 42MB의 메모리만 필요하다.
일반적으로 채널이 적으면 표현 가능한 특징의 수가 줄어드는 단점이 있지만, 컨볼루션 블록 내에서 확장(expansion)을 통해 64채널로 복구하여 3x3의 특징 추출을 수행하므로, 성능이 유지될 수 있다. 따라서, 메모리는 적게 사용하면서 성능은 유지 가능한 구조이다.
또한 3x3의 특징 추출시, 깊이 및 팽창 컨볼루션(depthwise dilated convolution)을 사용함으로써, 보다 넓은 영역을 보고 특징을 추출할 수 있어, 영상 전반적인 특징을 추출하기 위한 깊은 네트워크가 필요하지 않고, 파라미터와 연산의 수를 획기적으로 줄일 수 있다.
따라서 컨볼루션 블록에 사용되는 일련의 구조는 카메라의 임베디드 프로세서에 적용 가능한 효율적인 구조이다. 기존 딥러닝 네트워크는 임베디드 프로세서에 넣기에는 메모리 및 연산량 측면에서 불가능에 가깝다.
컨볼루션 블록은 내부에 잔차(residual) 구조를 포함한다. 잔차 구조를 적용하면 정보 흐름을 개선하고, 경사도 전파가 쉽게 되어 학습이 잘 된다.
채널 확장(Expansion) 컨볼루션은 채널을 증가시킨다. 예를 들어 1280x1024 크기의 8채널 특징맵이 입력으로 들어오면, 이것을 1280x1024크기의 64채널로 만들 수 있다.
프로젝션(Projection) 컨볼루션은 채널을 감소시킨다. 예를 들어 1280x1024 크기의 64채널 특징맵이 입력으로 들어오면, 이것을 1280x1024 크기의 8채널로 만들 수 있다.
하나의 네트워크로 2개 문제를 푸는 멀티태스크 학습을 수행한다. 블러 제거를 위한 윈도우 크기를 구하는 문제와 블러 제거를 위한 분포의 폭을 구하는 문제를 해결한다. 윈도우 크기와 분포의 폭을 추론한다.
채널 어텐션(Channel Attention)을 적용하여 채널 단위로 적응형 가중치를 부여하여 유용한 특징(feature)를 강조할 수 있다. 성능 향상을 위해 보다 중요한 채널에 집중하게 만든다.
활성화 함수로 시그모이드(sigmoid) 함수를 두어 출력 신호를 [0,1]로 제한할 수 있다.
복원을 위한 적절한 커널을 찾는 것이 어려운 문제인데, 도 5 및 도 7의 전체 네트워크를 통해 효과적으로 커널을 찾을 수 있다.
도 7의 네트워크는 하나의 네트워크로 커널 생성에 필요한 2가지 작업(size, std)을 수행한다.
추론된 윈도우 크기(hsize)와 가우시안 분포 마스크의 폭(std)을 기반으로 수학식 3을 적용하여 2차원 커널을 생성한다.
Figure 112020124526714-pat00005
x, y는 윈도우의 좌표이고 σ는 가우시안 분포를 의미한다.
찾은 2차원 커널은 도 9의 모델에 입력되어 입력 블러 영상을 선명한 영상으로 복원시킨다.
딥러닝 네트워크를 통해 추론된 블러 커널을 이용하여 입력 영상 전체를 복원하고, 이를 정답 영상과 비교한다. 정답 영상과 차이가 없는 선명한 영상이 복원되는 것이 학습의 목적이다. 모델의 학습 목적은 역변환 필터의 결과가 원본과 같아지는 블러 커널 k를 만들어내는 것이다.
커널 추정 네트워크 모델의 손실 함수는 연속적 프레임 세트에 대한 정답 및 추정된 블러 커널을 이용한 복원 필터의 결과 간의 오차로 정의되고, 손실 함수가 최소화되도록 학습된다.
Figure 112020124526714-pat00006
Igt는 정답 디블러 영상이고, Iblur는 블러 영상이고, k는 추정된 커널이고, g()는 디블러 복원 함수(non-blind deconvolution)를 나타낸다. || ||1은 L1 손실을 의미한다. 손실을 최소화하기 위해 아담 옵티마이저(Adam optimizer)를 사용할 수 있다. Adam(Adaptive momentum estimation)은 방향성과 스텝 사이즈를 고려하며 경사도(gradient)의 제곱을 지수평균한 값을 사용하고 경사도를 제곱하지 않은 값을 사용하여 지수평균을 구하고, Adam optimizer는 손실값을 줄이기 위해 딥러닝 네트워크의 파라미터(가중치)를 조절한다.
복원 필터는 구해진 커널 k를 사용하여 블러 영상을 선명한 영상으로 복원하는 함수로써 역변환 필터(inverse filter)에 해당한다. 추정된 블러 커널에 대해서 위너(Wiener) 필터 등의 간단하고 빠른 복원 필터(역변환 필터)를 사용하여 영상 전체를 고속으로 복원할 수 있다. 전체 영상에 대해서 일반 딥러닝 디블러에 비해 매우 빠르게 수행된다.
고속 영상 블러 제거 장치는 학습이 완료된 커널 추정 네트워크 모델을 이용해 블러 커널을 추정하고, 추정된 블러 커널을 이용하여 블러 제거(deblurring)을 수행한다.
도 10은 본 발명의 다른 실시예에 따른 고속 영상 블러 제거 방법을 예시한 흐름도이다. 고속 영상 블러 제거 방법은 고속 영상 블러 제거 장치 또는 컴퓨팅 디바이스에 의하여 수행될 수 있다.
단계 S10에서 프로세서는 동영상의 연속적 프레임 세트로부터 영상 패치를 추출한다.
단계 S20에서 프로세서는 영상 패치로부터 커널 추정 네트워크 모델을 통해 블러 커널을 추정한다.
단계 S30에서 프로세서는 연속적 프레임 세트에 대해서 블러 커널에 기반한 복원 필터를 통해 블러를 제거한다.
딥러닝의 고성능을 유지하면서도 카메라 내의 저사양 프로세서에서도 동작 가능한 고속의 디블러를 구현할 수 있다.
고속 영상 블러 제거 장치는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 장치는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 장치는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.
고속 영상 블러 제거 장치는 하드웨어적 요소가 마련된 컴퓨팅 디바이스 또는 서버에 소프트웨어, 하드웨어, 또는 이들의 조합하는 형태로 탑재될 수 있다. 컴퓨팅 디바이스 또는 서버는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 포함한 다양한 장치를 의미할 수 있다.
도 5에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 7에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.
본 실시예들에 따른 동작은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다. 컴퓨터 판독 가능한 매체는 실행을 위해 프로세서에 명령어를 제공하는 데 참여한 임의의 매체를 나타낸다. 컴퓨터 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 또는 이들의 조합을 포함할 수 있다. 예를 들면, 자기 매체, 광기록 매체, 메모리 등이 있을 수 있다. 컴퓨터 프로그램은 네트워크로 연결된 컴퓨터 시스템 상에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드, 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (12)

  1. 컴퓨팅 디바이스에 의한 고속 영상 블러 제거 방법에 있어서,
    동영상의 연속적 프레임 세트로부터 영상 패치를 추출하는 단계;
    상기 영상 패치로부터 커널 추정 네트워크 모델을 통해 블러 커널을 추정하는 단계;
    상기 연속적 프레임 세트에 대해서 상기 블러 커널에 기반한 복원 필터를 통해 블러를 제거하는 단계를 포함하며,
    상기 블러 커널은 광량 분포를 나타내는 점 확산 함수(point spread function, PSF)로 표현되며,
    상기 커널 추정 네트워크 모델은 필터가 채널 별로 분리되어 채널 방향의 컨볼루션을 수행하지 않고 공간 방향의 컨볼루션을 수행하여 합쳐지는 깊이 컨볼루션(depthwise convolution)을 적용하며,
    상기 커널 추정 네트워크 모델은 필터 내부에 제로 패딩하는 팽창 컨볼루션(dilated convolution)을 적용하여 필터에 따른 수용 영역(receptive field)을 증가시키며,
    상기 커널 추정 네트워크 모델의 컨볼루션 블록은 채널 확장(channel expansion) 및 프로젝션(projection)을 통해 딥러닝 네트워크에서 특징맵을 기준값보다 작게 유지하고,
    상기 커널 추정 네트워크 모델은 윈도우 크기와 가우시안 분포 마스크의 폭을 추론하고, 추론된 상기 윈도우 크기와 상기 가우시안 분포 마스크의 폭을 기반으로 2차원 커널을 생성하는 것을 특징으로 하는 고속 영상 블러 제거 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 커널 추정 네트워크 모델은 이전 레이어로부터 해당 레이어를 건너 다음 레이어로 연결된 구조를 갖는 밀집 연결(dense connection)을 적용하여 상기 해당 레이어의 전단에서 추출한 특징을 상기 해당 레이어의 후단에 그대로 전달하고, 상기 전달한 특징을 누적하는 것을 특징으로 하는 고속 영상 블러 제거 방법.
  6. 제1항에 있어서,
    상기 커널 추정 네트워크 모델의 손실 함수는 상기 연속적 프레임 세트에 대한 정답 및 상기 추정된 블러 커널을 이용한 상기 복원 필터의 결과 간의 오차로 정의되고, 상기 손실 함수가 최소화되도록 학습되는 것을 특징으로 하는 고속 영상 블러 제거 방법.
  7. 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 고속 영상 고속 영상 블러 제거 장치에 있어서,
    상기 프로세서,
    동영상의 연속적 프레임 세트로부터 영상 패치를 추출하고,
    상기 영상 패치로부터 커널 추정 네트워크 모델을 통해 블러 커널을 추정하고,
    상기 연속적 프레임 세트에 대해서 상기 블러 커널에 기반한 복원 필터를 통해 블러를 제거하며,
    상기 블러 커널은 광량 분포를 나타내는 점 확산 함수(point spread function, PSF)로 표현되며,
    상기 커널 추정 네트워크 모델은 필터가 채널 별로 분리되어 채널 방향의 컨볼루션을 수행하지 않고 공간 방향의 컨볼루션을 수행하여 합쳐지는 깊이 컨볼루션(depthwise convolution)을 적용하며,
    상기 커널 추정 네트워크 모델은 필터 내부에 제로 패딩하는 팽창 컨볼루션(dilated convolution)을 적용하여 필터에 따른 수용 영역(receptive field)을 증가시키며,
    상기 커널 추정 네트워크 모델의 컨볼루션 블록은 채널 확장(channel expansion) 및 프로젝션(projection)을 통해 딥러닝 네트워크에서 특징맵을 기준값보다 작게 유지하고,
    상기 커널 추정 네트워크 모델은 윈도우 크기와 가우시안 분포 마스크의 폭을 추론하고, 추론된 상기 윈도우 크기와 상기 가우시안 분포 마스크의 폭을 기반으로 2차원 커널을 생성하는 것을 특징으로 하는 고속 영상 고속 영상 블러 제거 장치.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 제7항에 있어서,
    상기 커널 추정 네트워크 모델은 이전 레이어로부터 해당 레이어를 건너 다음 레이어로 연결된 구조를 갖는 밀집 연결(dense connection)을 적용하여 상기 해당 레이어의 전단에서 추출한 특징을 상기 해당 레이어의 후단에 그대로 전달하고, 상기 전달한 특징을 누적하는 것을 특징으로 하는 고속 영상 고속 영상 블러 제거 장치.
  12. 제7항에 있어서,
    상기 커널 추정 네트워크 모델의 손실 함수는 상기 연속적 프레임 세트에 대한 정답 및 상기 추정된 블러 커널을 이용한 상기 복원 필터의 결과 간의 오차로 정의되고, 상기 손실 함수가 최소화되도록 학습되는 것을 특징으로 하는 고속 영상 고속 영상 블러 제거 장치.
KR1020200155886A 2020-11-19 2020-11-19 딥러닝을 이용한 고속 영상 블러 제거 방법 및 장치 KR102373483B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200155886A KR102373483B1 (ko) 2020-11-19 2020-11-19 딥러닝을 이용한 고속 영상 블러 제거 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200155886A KR102373483B1 (ko) 2020-11-19 2020-11-19 딥러닝을 이용한 고속 영상 블러 제거 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102373483B1 true KR102373483B1 (ko) 2022-03-11

Family

ID=80814344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200155886A KR102373483B1 (ko) 2020-11-19 2020-11-19 딥러닝을 이용한 고속 영상 블러 제거 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102373483B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114841897A (zh) * 2022-06-08 2022-08-02 西北工业大学 基于自适应模糊核估计的深度去模糊方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101627974B1 (ko) * 2015-06-19 2016-06-14 인하대학교 산학협력단 영상 블러에 강인한 영상 특징 기술자 생성 방법 및 장치
KR20200089588A (ko) * 2019-01-17 2020-07-27 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR20200096026A (ko) 2019-02-01 2020-08-11 한국전자통신연구원 딥러닝을 이용한 움직임 블러제거 장치 및 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101627974B1 (ko) * 2015-06-19 2016-06-14 인하대학교 산학협력단 영상 블러에 강인한 영상 특징 기술자 생성 방법 및 장치
KR20200089588A (ko) * 2019-01-17 2020-07-27 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR20200096026A (ko) 2019-02-01 2020-08-11 한국전자통신연구원 딥러닝을 이용한 움직임 블러제거 장치 및 동작 방법

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
[Deep Learning] Various Convolution Methods Used in Deep Learning, AI Research Topic/Deep Learning, 2020.05.18 https://eehoeskrap.tistory.com/431, *
[Deep Learning] 딥러닝에서 사용되는 다양한 Convolution 기법들, AI Research Topic/Deep Learning, 2020.05.18 https://eehoeskrap.tistory.com/431, 1부.*
Huang, Gao, et al, "Densely connected convolutional network", Computer Vision and Pattern Recognition, Submitted on 25 Aug 2016(v1), last revised 28 Jan 2018(this version, v5), https://arxiv.org/abs/1, *
Huang, Gao, et al, "Densely connected convolutional network", Computer Vision and Pattern Recognition, Submitted on 25 Aug 2016(v1), last revised 28 Jan 2018(this version, v5), https://arxiv.org/abs/1, 1부.*
Seungwook Oh et al., Deep Learning for Low-Level Computer Vision, Department of Broadcasting, Korea Broadcasting and Media Engineering Society, Media Broadcasting and Media Vol. 22 No. 1, 2017.01, 33 - 45 (13 pages), https://www.dbpia. com/journal/articleDetail?nodeId=NODE07109487 *
오승욱 외 2명, Deep Learning for Low-Level Computer Vision, 한국방송미디어공학회방송과, 미디어방송과 미디어 제22권 제1호, 2017.01, 33 - 45 (13 pages), https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE07109487, 1부.*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114841897A (zh) * 2022-06-08 2022-08-02 西北工业大学 基于自适应模糊核估计的深度去模糊方法
CN114841897B (zh) * 2022-06-08 2024-03-15 西北工业大学 基于自适应模糊核估计的深度去模糊方法

Similar Documents

Publication Publication Date Title
KR101871098B1 (ko) 이미지 처리 방법 및 장치
US9262815B2 (en) Algorithm for minimizing latent sharp image cost function and point spread function cost function with a spatial mask in a regularization term
Quan et al. Gaussian kernel mixture network for single image defocus deblurring
Gao et al. Stacked convolutional auto-encoders for single space target image blind deconvolution
Khan et al. Image de-noising using noise ratio estimation, K-means clustering and non-local means-based estimator
KR102319643B1 (ko) 점 확산 함수 레이어를 가진 뉴럴 네트워크를 이용한 현미경 영상 처리 방법 및 그 장치
KR102373483B1 (ko) 딥러닝을 이용한 고속 영상 블러 제거 방법 및 장치
Agarwal et al. Deep-url: A model-aware approach to blind deconvolution based on deep unfolded richardson-lucy network
Zhang et al. Deep dynamic scene deblurring from optical flow
Zhou et al. DeLiEve-Net: Deblurring low-light images with light streaks and local events
Sanghvi et al. Photon-limited blind deconvolution using unsupervised iterative kernel estimation
Shukla et al. Image restoration using modified binary particle Swarm Optimization Richardson-Lucy (MBSO-RL) algorithm
Latha et al. Denoising and deblurring by gauss markov random field: an alternating minimization convex prior
Nair et al. NBD-GAP: non-blind image deblurring without clean target images
Kosar et al. An overview of denoising methods for different types of noises present on graphic images
Gulat et al. Remote sensing image restoration using various techniques: A review
Hajmohammadi et al. Parallel hybrid bispectrum-multi-frame blind deconvolution image reconstruction technique
JP2023547454A (ja) 画像フレームシーケンスの信号対雑音比を改善するための方法および画像処理デバイス
Sankaran et al. Retrevial of the original image by artificial neural network
Gan et al. An autoencoder based approach to defend against adversarial attacks for autonomous vehicles
CN113902819A (zh) 透过散射介质成像的方法、装置、计算机设备和存储介质
Latha et al. Simultaneous denoising and deblurring by non-convex regularization: alternating minimization framework
Yu et al. Research Status and Development Trend of Image Restoration Technology
Hurakadli et al. Deep learning based radial blur estimation and image enhancement
Yang et al. Non-blind image blur removal method based on a Bayesian hierarchical model with hyperparameter priors

Legal Events

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