KR20210052040A - 비디오 품질 향상 방법 및 장치 - Google Patents

비디오 품질 향상 방법 및 장치 Download PDF

Info

Publication number
KR20210052040A
KR20210052040A KR1020190138066A KR20190138066A KR20210052040A KR 20210052040 A KR20210052040 A KR 20210052040A KR 1020190138066 A KR1020190138066 A KR 1020190138066A KR 20190138066 A KR20190138066 A KR 20190138066A KR 20210052040 A KR20210052040 A KR 20210052040A
Authority
KR
South Korea
Prior art keywords
image
neural network
illuminance
frame
frames
Prior art date
Application number
KR1020190138066A
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 KR1020190138066A priority Critical patent/KR20210052040A/ko
Priority to US16/742,277 priority patent/US11321820B2/en
Publication of KR20210052040A publication Critical patent/KR20210052040A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/57Control of contrast or brightness
    • H04N5/58Control of contrast or brightness in dependence upon ambient light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • 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
    • G06N3/045Combinations of networks
    • G06N3/0454
    • 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
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local 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/443Local 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/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/60Extraction of image or video features relating to illumination properties, e.g. using a reflectance or lighting model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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/20081Training; Learning
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 이미지 조도를 향상시키기 위한 방법은, 원본 비디오 데이터 이미지를 수신하고, 원본 비디오 데이터 이미지에서 이미리 개선 처리를 위해 조도에 따라 이미지를 분류 및 정렬한 뒤, 이미지 개선용 신경망 그룹 중에서 분류된 이미지의 속성에 따라 이미지 개선용 신경망에 따라 이미지를 처리하여 이미지 영역에 대한 고조도 이미지를 생성하여 조도가 향상된 영상을 재생할 수 있도록 한다. 본 발명의 이미지 개선용 신경망은 기계학습을 통해 생성된 심층 신경망일 수 있고, 이미지의 입력 및 출력은 5G 네트워크를 이용한 사물 인터넷 환경에서 이루어질 수 있다.

Description

비디오 품질 향상 방법 및 장치 {VIDEO DATA QUALITY IMPROVING METHOD AND APPARATUS}
본 발명은 비디오 품질을 향상시키기 위해 조도에 따라 이미지를 분류하고 분류된 이미지를 해당 속성에 적합한 이미지 개선용 신경망을 이용함으로써 조도가 개선된 이미지로 이루어진 비디오를 출력할 수 있는 방법 및 장치에 관한 것이다.
이하에서 기술되는 내용은 본 발명의 실시예와 관련되는 배경 정보를 제공할 목적으로 기재된 것일 뿐이고, 기술되는 내용들이 당연하게 종래기술을 구성하는 것은 아니다.
이미지 처리 기술(image processing technology)은 이미지의 품질을 향상시키거나 이미지로부터 특정 정보를 추출하기 위해 이미지에 특정 동작들을 수행하는 방법에 관한 기술이다.
이미지 처리 기술은 여러 분야에서 광범위하게 활용될 수 있는 기술로, 자율주행 차량, 보안 모니터링 시스템, 화상 통신, 고화질 영상 전송 등의 다양한 분야에서 필수적으로 요구되고 있는 핵심 기술 중 하나이다.
이미지 센서, 5G 통신 네트워크, 인공지능 기술의 발전과 함께 이미지 처리 기술도 발전하고 있으며, 최근에는 심층 신경망을 이용하여 저조도 이미지를 고조도 이미지로 변환시키는 방식이 시도되고 있다.
미국공개특허공보 제2018-0300855호는 "이미지 처리를 위한 방법 및 시스템"에 관한 발명으로서, 신경망을 학습시키기 위한 훈련 이미지를 생성하기 위해 고조도 원본 이미지들을 임의로 잘라내어(crop) 그라운드 트루스 이미지들(ground truth images)로 설정하고, 그라운드 트루스 이미지들 각각을 흐릿하게 만든(blurring) 후, 다운 샘플링을 통해 저조도 이미지를 생성하고, 그라운드 트루스 이미지들과 저조도 이미지를 페어링시키는 기술을 발명한다.
상술된 문헌에서는 이미지 조도 향상을 위한 신경망을 훈련시키기 위한 훈련 데이터를 자동으로 생성하는 방법에 대해서는 발명하고 있으나, 생성된 신경망을 효과적으로 활용하기 위한 방법에 대해서 까지는 논의를 진전시키기 못하였다.
국내등록특허 제10-1963308호는 "딥 러닝을 이용한 영상 내 이동 객체 및 돌발상황 감시시스템”에 관한 발명으로서, 저조도로 획득한 기준 영상 내 관심 영역의 영상을 추출하여 재 구성하고, 재 구성한 영상에서 이동 객체를 추출하여 딥 러닝 학습을 수행할 수 있다. 이후, 실시간으로 획득한 촬영 영상에서 이동 객체를 추론하도록 하여 이동 객체의 인식률을 높일 수 있는 기술을 발명한다.
상술된 문헌에서는 딥 러닝을 통해 저조도 영상에서 이동 객체를 추출하는 방법을 발명하고 있으나, 하나의 방식으로 훈련된 심층 신경망 모델을 활용하고 있으므로 이동 객체가 아닌 물체나 다른 이미지의 조도를 개선하는데 한계가 있다.
상술된 바와 같은 한계를 극복하기 위해, 여러 방식으로 훈련된 신경망 모델을 다양한 종류의 이미지들에 대해 가장 적합한 방식으로 활용하여 효과적으로 고조도 이미지를 생성할 수 있도록 하는 해결책이 필요하다.
한편, 전술한 선행기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일 과제는, 정해진 하나의 신경망만을 이용하여 이미지에 대한 조도 향상 처리를 수행함으로써 이미지 처리가 효율적이지 못했던 문제점을 해결하고자 한다.
구체적으로, 본 발명의 실시예는 조도에 따라 이미지를 분류하고, 분류된 이미지에 적절한 이미지 개선용 신경망을 선택하여 이미지를 개선하도록 수행함으로써 이미지 처리가 효율적으로 이루어지도록 한다.
또한, 본 발명의 실시예는 실시간 영상의 조도를 개선하도록 함으로써, 조도가 향상된 영상을 실시간으로 재생할 수 있도록 한다.
구체적으로 실시간 영상에서 저조도의 영상 이미지 프레임만을 선택적으로 조도를 개선하도록 함으로써, 전체적인 이미지 조도 처리에 필요한 시간을 단축하도록 한다.
본 발명의 목적은 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 발명의 비디오 품질을 향상하기 위한 방법으로, 복수의 프레임들을 포함하는 원본 비디오 데이터를 수신하고, 원본 비디오 데이터의 이미지 개선 처리를 위해 조도에 따라 프레임들을 적어도 제 1 이미지 그룹 및 제 2 이미지 그룹으로 분류하고, 이미지 개선용 신경망 그룹 중에서 제 1 이미지 그룹의 속성에 따라 제 1 신경망을 선택하고, 제 2 이미지 그룹의 속성에 따라 제 2 신경망을 선택한 뒤, 제 1 신경망으로 제 1 이미지 그룹의 프레임들을 처리하고, 제 2 신경망으로 제 2 이미지 그룹의 프레임들을 처리하여 개선된 비디오 데이터를 생성하는 과정으로 이루어질 수 있다.
구체적으로 수신한 원본 비디오 데이터를 구성하는 이미지를 조도에 따라 분류하고, 조도에 따라 정렬한 뒤, 저조도 및 극저조도 이미지를 이미지 개선 신경망을 통해 조도 개선한 후, 개선된 이미지를 원본 비디오 데이터와 동일한 배열이 되도록 재정렬하여 조도가 개선된 영상이 출력될 수 있도록 한다.
한편, 본 발명의 비디오의 품질을 향상시키기 위한 장치는, 프로세서 및 프로세서에 연결된 메모리를 포함할 수 있다.
구체적으로, 메모리에는 프로세서를 통해 실행될 때, 프로세서가 복수의 프레임을 포함하는 원본 비디오 데이터 이미지를 수신하고, 원본 비디오 데이터 이미지에서 이미리 개선 처리를 위해 조도에 따라 이미지를 분류하면, 이미지 개선용 신경망 그룹 중에서 분류된 이미지의 속성에 따라 선택된 이미지 개선용 신경망에 따라 선택된 이미지를 처리하여 개선된 이미지를 생성하는 명령이 저장될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따른 비디오의 품질을 향상시키기 위한 장치 및 방법은 원본 비디오 데이터의 이미지의 조도 속성에 따라 그에 적합한 이미지 개선용 신경망을 선택하여 이용함으로써 각각의 이미지에 대해 최적의 고조도 이미지를 획득할 수 있도록 한다.
또한, 본 발명의 실시예는 원본 비디오 데이터에서 조도에 따른 이미지를 분류하고, 분류된 이미지의 조도를 개선한 뒤, 원본 비디오 데이터와 동일하도록 조도가 개선된 이미지를 재정렬하여 영상을 시청하는 시청자는 조도가 향상된 영상을 시청할 수 있게 된다.
또한 본 발명의 실시예는 원본 비디오 데이터에서 조도에 따른 이미지를 분류하고, 분류된 이미지의 조도를 개선한 뒤, 원본 비디오 데이터와 동일하도록 조도가 개선된 이미지를 재정렬한다. 이때, 재정렬된 이미지에서 조도 차이가 기 저장된 조도 차이 이상인 이미지가 연결되는 경우, 연속되는 이미지 프레임 필터값의 평균값을 적용하여 시청자가 연속되는 이미지에서 조도 차이를 최소화로 인식할 수 있도록 한다.
또한, 본 발명의 실시예는 실시간으로 재생되는 영상의 조도를 개선하기 위해 실시간으로 재생되는 영상의 프레임에서 조도를 개선할 저조도 이미지만을 선택하여 조도를 개선하여 영상을 재생되도록 함으로써, 시청자의 영상 재생에 따른 불편함이 발생되는 것을 방지할 수 있다.
또한, 본 발명의 실시예는 실시간으로 재생되는 영상의 조도를 개선하기 위해 실시간으로 재생되는 영상의 프레임에서 조도 개선을 위한 이미지를 일정 시간 간격으로 선택하고 이미지를 개선한다. 이후, 선택되지 않은 조도 개선을 위한 이미지는 조도가 개선된 이미지로 대체하도록 하여 전체적인 이미지 처리 속도를 향상시킬 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 비디오 품질 향상 방법을 수행하기 위한 환경의 예시도이다.
도 2는 본 발명의 실시예에 따른 이미지 개선용 신경망을 생성하기 위한 시스템을 도시한다.
도 3은 본 발명의 실시예에 따른 이미지 개선용 신경망을 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 비디오 품질 향상 방법을 설명하기 위한 도면이다.
도 5 는 본 발명의 실시예에 따른 비디오 품질 향상 방법을 설명하기 위한 순서도를 도시한다.
도 6은 본 발명의 실시예에 따른 비디오 품질 향상 방법에서 연속되는 이미지 중 서로 다른 조도의 이미지를 연결하여 재생하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 비디오 품질 향상 방법이 사용자 단말기에서 수행되는 과정을 설명하기 위한 도면이다.
도 8은은 본 발명의 실시예에 따른 비디오 품질 향상 방법에서 실시간으로 이미지가 개선된 영상 재생 방법을 설명하기 위한 순서도를 도시한다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시예들에 한정되지 않는다. 이하 실시예에서는 본 발명을 명확하게 설명하기 위해서 설명과 직접적인 관계가 없는 부분을 생략하지만, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 생략된 구성이 불필요함을 의미하는 것은 아니다. 아울러, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조번호를 사용한다.
이하의 설명에서 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 되며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 또한, 이하의 설명에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 설명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하 도면을 참고하여 본 발명의 비디오를 구성하는 이미지의 조도를 향상시켜 조도가 개선된 비디오를 시청할 수 있도록 하는 비디오 품질 향상 방법 및 장치에 대해 구체적으로 살펴보기로 한다.
도 1은 본 발명의 실시예에 따른 비디오 품질 향상 방법을 수행하기 위한 환경의 예시도이고, 도 2는 본 발명의 실시예에 따른 이미지 개선용 신경망을 생성하기 위한 시스템을 도시한다.
본 발명의 실시예에 따른 비디오 품질 향상 방법을 수행하기 위한 환경은 사용자 단말기(100), 서버(200), 트레이닝 시스템(300), 및 이들이 서로 통신할 수 있도록 하는 네트워크(400)를 포함할 수 있다.
사용자 단말기(100)는 사물 지능 통신(IoT(internet of things), IoE(internet of everything), IoST(internet of small things) 등)을 지원할 수 있으며, M2M(machine to machine) 통신, D2D(device to device) 통신 등을 지원할 수 있다.
사용자 단말기(100)는 사물 인터넷을 위해 연결된 5G 환경에서 빅데이터, 인공지능(artificial intelligence, AI) 알고리즘 및/또는 기계학습(machine learning) 알고리즘을 이용하여 이미지 조도 향상 방식을 결정할 수 있다.
사용자 단말기(100)는 예를 들어, 개인용 컴퓨터, 스마트폰, 태블릿, 게임 콘솔, 웨어러블 기기 등 어떤 종류의 연산 디바이스든 될 수 있다. 사용자 단말기(100)는 하나 이상의 프로세서(110)들 및 메모리(120)를 포함할 수 있다.
하나 이상의 프로세서(110)들은 데이터를 처리할 수 있는 모든 종류의 장치, 예를 들어 MCU를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다.
이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
메모리(120)는 RAM, ROM, EEPROM, EPROM, 플래시 메모리 디바이스들, 자기 디스크들, 등과 같은 하나 이상의 비-일시적(non-transitory) 저장 매체를 포함할 수 있다. 메모리(120)는 데이터(122) 및 프로세서(110)들에 의해 실행되었을 때 사용자 단말기(100)로 하여금 동작들을 수행할 수 있는 복수의 인스트럭션(124)을 저장할 수 있다.
또한, 사용자 단말기(100)는 사용자 인터페이스(130)를 포함해 사용자로부터 명령들을 입력 받을 수 있고, 출력 정보를 사용자에게 전달할 수도 있다. 사용자 인터페이스(130)는 키보드, 마우스, 터치 스크린, 마이크, 카메라 등의 다양한 입력 수단과 모니터, 스피커, 디스플레이 등의 다양한 출력 수단을 포함할 수 있다.
사용자는 사용자 인터페이스(130)를 통해 사용자 단말기(100)에서 처리되어야 하는 영상을 선택할 수 있다. 예를 들어, 사용자는 마우스, 키보드, 터치 스크린 등을 통해 시청하고자 하는 영상을 선택할 수 있다. 선택된 영상은 일반 조도 이미지, 저조도 이미지, 극저조도 이미지들이 각각의 프레임에 위치하여 하나의 영상으로 이루어진 것을 의미한다.
일 실시예에서, 사용자 단말기(100)는 영상의 이미지 중에서 저조도 이미지, 극저조도 이미지를 개선할 수 있는 인공 지능 기술이 적용된 심층 신경망 또는 다른 타입의 머신 러닝 모델들과 같은 다양한 학습 모델 또는 이들을 포함하는 기술을 저장하거나 포함할 수 있다.
여기서, 인공 지능(artificial intelligence, AI)은 인간의 지능으로 할 수 있는 사고, 학습, 자기계발 등을 컴퓨터가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보기술의 한 분야로, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 것을 의미한다.
또한, 인공지능은 그 자체로 존재하는 것이 아니라, 컴퓨터 과학의 다른 분야와 직간접으로 많은 관련을 맺고 있다. 특히 현대에는 정보기술의 여러 분야에서 인공지능적 요소를 도입하여, 그 분야의 문제 풀이에 활용하려는 시도가 매우 활발하게 이루어지고 있다.
머신 러닝(machine learning)은 인공지능의 한 분야로, 컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 연구 분야이다.
구체적으로 머신 러닝은, 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이라 할 수 있다. 머신 러닝의 알고리즘들은 엄격하게 정해진 정적인 프로그램 명령들을 수행하는 것이라기보다, 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취한다.
용어 '머신 러닝'은 용어 '기계 학습'과 혼용되어 사용될 수 있다.
기계 학습에서 데이터를 어떻게 분류할 것인가를 놓고, 많은 기계 학습 알고리즘이 개발되었다. 의사결정나무(Decision Tree)나 베이지안 망(Bayesian network), 서포트벡터머신(SVM: support vector machine), 그리고 인공 신경망(ANN: Artificial Neural Network) 등이 대표적이다.
의사결정나무는 의사결정규칙(Decision Rule)을 나무구조로 도표화하여 분류와 예측을 수행하는 분석방법이다.
베이지안 망은 다수의 변수들 사이의 확률적 관계(조건부독립성: conditional independence)를 그래프 구조로 표현하는 모델이다. 베이지안 망은 비지도 학습(unsupervised learning)을 통한 데이터마이닝(data mining)에 적합하다.
서포트벡터머신은 패턴인식과 자료분석을 위한 지도 학습(supervised learning)의 모델이며, 주로 분류와 회귀분석을 위해 사용한다.
인공신경망은 생물학적 뉴런의 동작원리와 뉴런간의 연결 관계를 모델링한 것으로 노드(node) 또는 처리 요소(processing element)라고 하는 다수의 뉴런들이 레이어(layer) 구조의 형태로 연결된 정보처리 시스템이다.
인공 신경망은 기계 학습에서 사용되는 모델로써, 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘이다.
구체적으로 인공신경망은 시냅스(synapse)의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.
용어 인공신경망은 용어 뉴럴 네트워크(Neural Network)와 혼용되어 사용될 수 있다.
인공신경망은 복수의 레이어(layer)를 포함할 수 있고, 레이어들 각각은 복수의 뉴런(neuron)을 포함할 수 있다. 또한 인공신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다.
인공 신경망은 일반적으로 다음의 세가지 인자, 즉 (1) 다른 레이어의 뉴런들 사이의 연결 패턴 (2) 연결의 가중치를 갱신하는 학습 과정 (3) 이전 레이어로부터 수신되는 입력에 대한 가중 합으로부터 출력값을 생성하는 활성화 함수에 의해 정의될 수 있다.
인공 신경망은, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network), MLP(Multilayer Perceptron), CNN(Convolutional Neural Network)와 같은 방식의 네트워크 모델들을 포함할 수 있으나, 이에 한정되지 않는다.
본 명세서에서 용어 '레이어'는 용어 '계층'과 혼용되어 사용될 수 있다.
인공신경망은 계층 수에 따라 단층 신경망(Single-Layer Neural Networks)과 다층 신경망(Multi-Layer Neural Networks)으로 구분된다.
일반적인 단층 신경망은, 입력층과 출력층으로 구성된다.
또한 일반적인 다층 신경망은 입력층(Input Layer)과 하나 이상의 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성된다.
입력층은 외부의 자료들을 받아들이는 층으로서, 입력층의 뉴런 수는 입력되는 변수의 수와 동일하며, 은닉층은 입력층과 출력층 사이에 위치하며 입력층으로부터 신호를 받아 특성을 추출하여 출력층으로 전달한다. 출력층은 은닉층으로부터 신호를 받고, 수신한 신호에 기반한 출력 값을 출력한다. 뉴런간의 입력신호는 각각의 연결강도(가중치)와 곱해진 후 합산되며 이 합이 뉴런의 임계치보다 크면 뉴런이 활성화되어 활성화 함수를 통하여 획득한 출력값을 출력한다.
한편 입력층과 출력 층 사이에 복수의 은닉층을 포함하는 심층 신경망은, 기계 학습 기술의 한 종류인 딥 러닝을 구현하는 대표적인 인공 신경망일 수 있다.
한편 용어 '딥 러닝'은 용어 '심층 학습'과 혼용되어 사용될 수 있다.
인공 신경망은 훈련 데이터(training data)를 이용하여 학습(training)될 수 있다. 여기서 학습이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 학습 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다. 인공 신경망의 파라미터의 대표적인 예시로써, 시냅스에 부여되는 가중치(weight)나 뉴런에 적용되는 편향(bias)을 들 수 있다.
훈련 데이터에 의하여 학습된 인공 신경망은, 입력 데이터를 입력 데이터가 가지는 패턴에 따라 분류하거나 군집화 할 수 있다.
한편 훈련 데이터를 이용하여 학습된 인공 신경망을, 본 명세서에서는 학습 모델(a trained model)이라 명칭 할 수 있다.
다음은 인공 신경망의 학습 방식에 대하여 설명한다.
인공 신경망의 학습 방식은 크게, 지도 학습, 비 지도 학습, 준 지도 학습(Semi-Supervised Learning), 강화 학습(Reinforcement Learning)으로 분류될 수 있다.
지도 학습은 훈련 데이터로부터 하나의 함수를 유추해내기 위한 기계 학습의 한 방법이다.
그리고 이렇게 유추되는 함수 중, 연속적인 값을 출력하는 것을 회귀분석(Regression)이라 하고, 입력 벡터의 클래스(class)를 예측하여 출력하는 것을 분류(Classification)라고 할 수 있다.
지도 학습에서는, 훈련 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시킨다.
여기서 레이블이란, 훈련 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다.
본 명세서에서는 훈련 데이터가 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과값)을 레이블 또는 레이블링 데이터(labeling data)이라 명칭 한다.
또한 본 명세서에서는, 인공 신경망의 학습을 위하여 훈련 데이터에 레이블을 설정하는 것을, 훈련 데이터에 레이블링 데이터를 레이블링(labeling) 한다고 명칭 한다.
이 경우 훈련 데이터와 훈련 데이터에 대응하는 레이블)은 하나의 트레이닝 셋(training set)을 구성하고, 인공 신경망에는 트레이닝 셋의 형태로 입력될 수 있다.
한편 훈련 데이터는 복수의 특징(feature)을 나타내고, 훈련 데이터에 레이블이 레이블링 된다는 것은 훈련 데이터가 나타내는 특징에 레이블이 달린다는 것을 의미할 수 있다. 이 경우 훈련 데이터는 입력 객체의 특징을 벡터 형태로 나타낼 수 있다.
인공 신경망은 훈련 데이터와 레이블링 데이터를 이용하여, 훈련 데이터와 레이블링 데이터의 연관 관계에 대한 함수를 유추할 수 있다. 그리고, 인공 신경망에서 유추된 함수에 대한 평가를 통해 인공 신경망의 파라미터가 결정(최적화)될 수 있다.
비 지도 학습은 기계 학습의 일종으로, 훈련 데이터에 대한 레이블이 주어지지 않는다.
구체적으로, 비 지도 학습은, 훈련 데이터 및 훈련 데이터에 대응하는 레이블의 연관 관계 보다는, 훈련 데이터 자체에서 패턴을 찾아 분류하도록 인공 신경망을 학습시키는 학습 방법일 수 있다.
비 지도 학습의 예로는, 군집화 또는 독립 성분 분석(Independent Component Analysis)을 들 수 있다.
본 명세서에서 용어 '군집화'는 용어 '클러스터링'과 혼용되어 사용될 수 있다.
비지도 학습을 이용하는 인공 신경망의 일례로 생성적 적대 신경망(GAN: Generative Adversarial Network), 오토 인코더(AE: Autoencoder)를 들 수 있다.
생성적 적대 신경망이란, 생성기(generator)와 판별기(discriminator), 두 개의 서로 다른 인공지능이 경쟁하며 성능을 개선하는 머신 러닝 방법이다.
이 경우 생성기는 새로운 데이터를 창조하는 모형으로, 원본 데이터를 기반으로 새로운 데이터를 생성할 수 있다.
또한 판별기는 데이터의 패턴을 인식하는 모형으로, 입력된 데이터가 원본 데이터인지 또는 생성기에서 생성한 새로운 데이터인지 여부를 감별하는 역할을 수행할 수 있다.
그리고 생성기는 판별기를 속이지 못한 데이터를 입력 받아 학습하며, 판별기는 생성기로부터 속은 데이터를 입력 받아 학습할 수 있다. 이에 따라 생성기는 판별기를 최대한 잘 속이도록 진화할 수 있고, 판별기는 원본 데이터와 생성기에 의해 생성된 데이터를 잘 구분하도록 진화할 수 있다.
오토 인코더는 입력 자체를 출력으로 재현하는 것을 목표로 하는 신경망이다.
오토 인코더는 입력층, 적어도 하나의 은닉층 및 출력층을 포함한다.
이 경우 은닉 계층의 노드 수가 입력 계층의 노드 수보다 적으므로 데이터의 차원이 줄어들게 되며, 이에 따라 압축 또는 인코딩이 수행되게 된다.
또한 은닉 계층에서 출력한 데이터는 출력 계층으로 들어간다. 이 경우 출력 계층의 노드 수는 은닉 계층의 노드 수보다 많으므로, 데이터의 차원이 늘어나게 되며, 이에 따라 압축 해제 또는 디코딩이 수행되게 된다.
한편 오토 인코더는 학습을 통해 뉴런의 연결 강도를 조절함으로써 입력 데이터가 은닉층 데이터로 표현된다. 은닉층에서는 입력층보다 적은 수의 뉴런으로 정보를 표현하는데 입력 데이터를 출력으로 재현할 수 있다는 것은, 은닉층이 입력 데이터로부터 숨은 패턴을 발견하여 표현했다는 것을 의미할 수 있다.
준 지도 학습은 기계 학습의 일종으로, 레이블이 주어진 훈련 데이터와 레이블이 주어지지 않은 훈련 데이터를 모두 사용하는 학습 방법을 의미할 수 있다.
준 지도 학습의 기법 중 하나로, 레이블이 주어지지 않은 훈련 데이터의 레이블을 추론한 후 추론된 라벨을 이용하여 학습을 수행하는 기법이 있으며, 이러한 기법은 레이블링에 소요되는 비용이 큰 경우에 유용하게 사용될 수 있다.
강화 학습은, 에이전트(Agent)가 매 순간 어떤 행동을 해야 좋을지 판단할 수 있는 환경이 주어진다면, 데이터 없이 경험으로 가장 좋을 길을 찾을 수 있다는 이론이다.
강화 학습은 주로 마르코프 결정 과정(MDP: Markov Decision Process)에 의하여 수행될 수 있다.
마르코프 결정 과정을 설명하면, 첫 번째로 에이전트가 다음 행동을 하기 위해 필요한 정보들이 구성된 환경이 주어지며, 두 번째로 그 환경에서 에이전트가 어떻게 행동할지 정의하고, 세 번째로 에이전트가 무엇을 잘하면 보상(reward)을 주고 무엇을 못하면 벌점(penalty)을 줄지 정의하며, 네 번째로 미래의 보상이 최고점에 이를 때까지 반복 경험하여 최적의 정책(policy)을 도출하게 된다.
인공 신경망은 모델의 구성, 활성 함수(Activation Function), 손실 함수(Loss Function) 또는 비용 함수(Cost Function), 학습 알고리즘, 최적화 알고리즘 등에 의해 그 구조가 특정되며, 학습 전에 하이퍼파라미터(Hyperparameter)가 미리 설정되고, 이후에 학습을 통해 모델 파라미터(Model Parameter)가 설정되어 내용이 특정될 수 있다.
예컨대, 인공 신경망의 구조를 결정하는 요소에는 은닉층의 개수, 각 은닉층에 포함된 은닉 노드의 개수, 입력 특징 벡터(Input Feature Vector), 대상 특징 벡터(Target Feature Vector) 등이 포함될 수 있다.
하이퍼파라미터는 모델 파라미터의 초기값 등과 같이 학습을 위하여 초기에 설정하여야 하는 여러 파라미터들을 포함한다. 그리고, 모델 파라미터는 학습을 통하여 결정하고자 하는 여러 파라미터들을 포함한다.
예컨대, 하이퍼파라미터에는 노드 간 가중치 초기값, 노드 간 편향 초기값, 미니 배치(Mini-batch) 크기, 학습 반복 횟수, 학습률(Learning Rate) 등이 포함될 수 있다. 그리고, 모델 파라미터에는 노드 간 가중치, 노드 간 편향 등이 포함될 수 있다.
손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표(기준)로 이용될 수 있다. 인공 신경망에서 학습은 손실 함수를 줄이기 위하여 모델 파라미터들을 조작하는 과정을 의미하며, 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다.
손실 함수는 주로 평균 제곱 오차(MSE: Mean Squared Error) 또는 교차 엔트로피 오차(CEE, Cross Entropy Error)를 사용할 수 있으며, 본 발명이 이에 한정되지는 않는다.
교차 엔트로피 오차는 정답 레이블이 원 핫 인코딩(one-hot encoding)된 경우에 사용될 수 있다. 원 핫 인코딩은 정답에 해당하는 뉴런에 대하여만 정답 레이블 값을 1로, 정답이 아닌 뉴런은 정답 레이블 값이 0으로 설정하는 인코딩 방법이다.
머신 러닝 또는 딥 러닝에서는 손실 함수를 최소화하기 위하여 학습 최적화 알고리즘을 이용할 수 있으며, 학습 최적화 알고리즘에는 경사 하강법(GD: Gradient Descent), 확률적 경사 하강법(SGD: Stochastic Gradient Descent), 모멘텀(Momentum), NAG(Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam 등이 있다.
경사 하강법은 현재 상태에서 손실 함수의 기울기를 고려하여 손실 함수값을 줄이는 방향으로 모델 파라미터를 조정하는 기법이다.
모델 파라미터를 조정하는 방향은 스텝(step) 방향, 조정하는 크기는 스텝 사이즈(size)라고 칭한다.
이때, 스텝 사이즈는 학습률을 의미할 수 있다.
경사 하강법은 손실 함수를 각 모델 파라미터들로 편미분하여 기울기를 획득하고, 모델 파라미터들을 획득한 기울기 방향으로 학습률만큼 변경하여 갱신할 수 있다.
확률적 경사 하강법은 학습 데이터를 미니 배치로 나누고, 각 미니 배치마다 경사 하강법을 수행하여 경사 하강의 빈도를 높인 기법이다.
Adagrad, AdaDelta 및 RMSProp는 SGD에서 스텝 사이즈를 조절하여 최적화 정확도를 높이는 기법이다. SGD에서 모멘텀 및 NAG는 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다. Adam은 모멘텀과 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다. Nadam은 NAG와 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다.
인공 신경망의 학습 속도와 정확도는 인공 신경망의 구조와 학습 최적화 알고리즘의 종류뿐만 아니라, 하이퍼파라미터에 크게 좌우되는 특징이 있다. 따라서, 좋은 학습 모델을 획득하기 위하여는 적당한 인공 신경망의 구조와 학습 알고리즘을 결정하는 것뿐만 아니라, 적당한 하이퍼파라미터를 설정하는 것이 중요하다.
통상적으로 하이퍼파라미터는 실험적으로 다양한 값으로 설정해가며 인공 신경망을 학습시켜보고, 학습 결과 안정적인 학습 속도와 정확도를 제공하는 최적의 값으로 설정한다.
상술된 바와 같은 인공 지능 기술이 적용된 먼저 트레이닝 시스템(300)에 의해 트레이닝 단계를 거쳐 생성될 수 있고, 서버(200)에 저장되었다가 네트워크(400)를 통해 사용자 단말기(100)로 전송된 것일 수 있다.
학습 모델은 이미지 개선용 신경망으로서, 저조도 이미지가 입력되면 고조도 이미지를 출력하기 위해 이미지를 처리하도록 훈련된 것일 수 있다.
통상적으로 학습 모델은 트레이닝 시스템(300)에서 트레이닝 단계를 마치고 저조도 이미지에 적용할 수 있는 상태로 사용자 단말기(100)에 저장되어 있을 수 있으나, 일부 실시예에서 학습 모델은 사용자 단말기(100)에서도 추가적으로 트레이닝을 거쳐 업데이트 또는 업그레이드될 수도 있다.
한편, 사용자 단말기(100)에 저장되는 학습 모델은 트레이닝 시스템(300)에서 생성된 학습 모델 중 일부일 수 있으며, 필요에 따라, 새로운 학습 모델이 트레이닝 시스템(300)에서 생성되어 사용자 단말기(100)로 전달될 수 있다.
다른 예로서, 학습 모델은 사용자 단말기(100)에 저장되는 대신 서버(200)에 저장되고, 웹 서비스의 형태로 사용자 단말기(100)에 필요한 기능을 제공할 수도 있다.
서버(200)는 서버측 프로세서(210) 및 서버측 메모리(220)를 포함하며, 일반적으로 사용자 단말기(100)보다 큰 프로세싱 능력 및 큰 메모리 용량을 가질 수 있다. 따라서, 시스템 구현에 따라, 적용에 보다 많은 프로세싱 능력을 필요로 하는 무거운 학습 모델들은 서버(200)에 저장되고, 적용에 보다 적은 프로세싱 능력을 필요로 하는 경량의 학습 모델은 사용자 단말기(100)에 저장되도록 구성될 수도 있다.
사용자 단말기(100)는 여러 학습 모델 중 처리 대상이 되는 이미지의 속성에 따라 적합한 학습 모델을 선택할 수 있다. 일 예에서, 사용자 단말기(100)는 경량의 학습 모델이 필요한 경우에는 사용자 단말기(100)에 저장되어 있는 학습 모델을 사용하고, 중량의 학습 모델이 필요한 경우에는 서버(200)에 저장된 학습 모델을 사용하도록 구성될 수도 있다.
사용자 단말기(100) 또는 서버(200)가 포함하는 학습 모델들은 트레이닝 시스템(300)에 의해 생성된 이미지 개선용 신경망일 수 있다.
트레이닝 시스템(300)은 하나 이상의 트레이닝측 프로세서(310)와 트레이닝측 메모리(320)를 포함할 수 있다. 또한, 트레이닝 시스템(300)은 기계 학습 모델들을 트레이닝하기 위한 모델 트레이너(350) 및 트레이닝 데이터(360)를 포함할 수 있다.
트레이닝 시스템(300)은 모델 트레이너(350)를 통해 트레이닝 데이터(360)에 기초하여 다수의 학습 모델들을 생성할 수 있다.
트레이닝 데이터(360)가 영상의 프레임 중에서 고조도 이미지로 레이블된 해당 영상의 프레임의 저조도 이미지 및/또는 극저조도 이미지인 경우, 트레이닝 시스템(300)은 영상의 프레임 중에서 저조도 이미지 및/또는 극저조도 이미지의 조도를 최적으로 향상시킬 수 있는 학습 모델, 이미지 개선용 신경망을 생성할 수 있다.
더 나아가, 트레이닝 시스템(300)은 영상의 프레임 중에서 일반 조도 이미지도 동일한 방식의 트레이닝을 수행하기 위해 학습모델, 이미지 개선용 신경망을 생성할 수도 있다.
위와 같은 방식으로 트레이닝 시스템(300)은 이미지별 학습 모델 그룹을 생성할 수 있다. 이러한 학습 모델 그룹은 조도에 따른 극저조도 이미지용 학습 모델, 저조도 이미지용 학습 모델, 일반 조도 이미지용 학습 모델 등 다양한 조도에 따른 이미지의 조도를 향상시키기 위해 특화된 학습 모델들을 포함할 수 있다.
여기서, 조도가 높을수록 처리해야 할 화소의 수, 이미지의 용량 등이 줄어들게 된다. 예컨대, 동일한 이미지 처리 알고리즘이 적용된다면 일반 조도 이미지가 극저조도 이미지보다 학습 모델의 이미지 처리 시간이 짧아지게 된다. 이에 따라, 동일한 이미지 처리 알고리즘이 적용된다면 극저조도 이미지를 개선한 이미지 결과물의 품질이 일반조도 이미지를 개선한 이미지 결과물의 품질이 더 낮을 수 있다.
따라서, 조도가 낮은 이미지에서 최상의 이미지를 획득하기 위해서는 조도가 낮을수록 복잡도가 높은 이미지 개선용 신경망이 적용되는 것이 바람직할 수 있다. 예를 들어, 극저조도 이미지를 개선하는 경우에는 은닉층이 2계층으로 형성된 이미지 개선용 신경망이 사용될 수 있지만, 일반 조도 이미지의 경우 은닉층이 4계층으로 형성된 이미지 개선용 신경망이 사용될 수 있는 것이다.
트레이닝 시스템(300)은 최초 신경망의 구성에 따라 처리 시간은 오래 걸리지만 보다 향상된 성능을 제공하는 복잡도가 높은 이미지 개선용 신경망을 생성할 수도 있고, 보다 낮은 성능을 제공하지만 처리 시간이 단축되는 복잡도가 낮은 이미지 개선용 신경망을 생성할 수 있다.
이와 같이, 다양한 조도의 이미지에서 사용될 수 있는 다양한 복잡도를 가진 학습 모델들을 포함하도록 이미지별 학습 모델 그룹이 형성되는 것이다.
여기서, 이미지 개선용 신경망의 복잡도는 입력 노드의 개수, 피쳐의 개수, 채널의 개수와 은닉층의 개수 등에 의해 결정되는 것으로 피쳐의 개수가 많을수록, 채널의 개수가 많을수록, 그리고 은닉층의 개수가 많을수록 복잡도가 높은 것으로 이해될 수 있다. 또한, 채널의 수가 많을수록, 그리고 은닉층의 수가 많을수록 신경망이 무거운 것으로 지칭될 수도 있다. 또한, 신경망의 복잡도는 신경망의 차원수(dimensionality)라고 지칭될 수도 있다.
신경망의 복잡도가 높을수록 이미지 조도 향상 성능은 더 우수할 수 있지만, 이미지 처리에 소요되는 시간은 더 길어질 수 있다. 반대로, 신경망이 가벼울수록 이미지 조도 향상 성능은 상대적으로 낮을 수 있지만, 이미지 처리에 소요되는 시간은 더 짧아질 수 있다.
도 3은 본 발명의 실시예에 따른 이미지 개선용 신경망을 설명하기 위한 도면이다.
이미지 개선용 신경망은 입력층과, 은닉층, 그리고 출력층으로 구성될 수 있다. 피처(feature)의 개수에 따라 입력 노드의 개수가 정해지게 되고, 노드의 개수가 많아질수록 신경망의 복잡도 또는 차원수는 증가하게 된다. 또한, 은닉층의 개수가 많아질수록 신경망의 복잡도 또는 차원수가 증가하게 된다.
피처의 개수, 입력 노드의 개수, 은닉층의 개수, 각 층들의 노드의 개수는 신경망 설계자에 의해 정해질 수 있으며, 복잡도가 증가할수록 처리 시간은 더 많이 소요되지만 더 좋은 성능을 보일 수 있다.
초기 신경망 구조가 설계되면, 훈련 데이터를 이용해 신경망을 훈련시킬 수 있다. 이미지 조도 향상을 위한 신경망을 구현하기 위해서는 고조도 원본 이미지와 해당 이미지의 저조도 버전이 필요하다. 고조도 원본 이미지들을 수집한 후 해당 이미지에 블러 효과를 주고, 다운샘플링을 수행함으로써, 고조도 원본 이미지들에 대응하는 저조도 이미지들을 준비할 수 있다.
이러한 저조도 이미지들에 대해 대응하는 고조도 원본 이미지들을 레이블로 연결시키면 이미지 조도를 향상시키기 위한 신경망을 트레이닝 시킬 수 있는 트레이닝 데이터가 준비된다.
많은 양의 트레이닝 데이터를 통해 신경망을 지도학습 방식으로 훈련시키면 저조도 이미지가 입력되었을 때 고조도 이미지를 출력할 수 있는 이미지 개선용 신경망 모델이 생성될 수 있다.
여기서, 트레이닝 데이터로 극저조도 이미지들을 포함한 트레이닝 데이터를 사용하면 극저조도 이미지의 조도를 향상시키는데 최적화된 이미지 개선용 신경망을 획득할 수 있고, 저조도 이미지들을 포함한 트레이닝 데이터를 사용하면 저조도 이미지의 조도를 향상시키는데 최적화된 이미지 개선용 신경망을 획득할 수 있다.
동일한 방식으로 일반 조도 이미지들을 포함한 트레이닝 데이터로 신경망을 훈련하면 일반 조도 이미지의 조도를 향상시키는데 최적화된 이미지 개선용 신경망이 획득될 수 있다.
한편, 이미지 개선용 신경망의 처리 속도와 처리 성능은 트레이드 오프 관계에 있을 수 있는데, 설계자는 신경망의 초기 구조를 변경함으로써, 처리 속도를 향상시킬 것인지, 처리 성능을 향상시킬 것인지 결정할 수 있다.
설계자는 조도별 분류된 이미지에 따라 신경망의 구조를 설정할 수 있고, 해당 신경망을 훈련시킬 수 있다. 이에 따라, 조도별로 분류된 이미지에 따라 최적으로 사용될 수 있는 이미지 개선용 신경망을 획득할 수도 있다.
도 4는 본 발명의 실시예에 따른 비디오 품질 향상 방법을 설명하기 위한 도면이고, 도 5 는 본 발명의 실시예에 따른 비디오 품질 향상 방법을 설명하기 위한 순서도를 도시한 도면이고, 도 6은 본 발명의 실시예에 따른 비디오 품질 향상 방법에서 연속되는 이미지 중 서로 다른 조도의 이미지를 연결하여 재생하는 방법을 설명하기 위한 도면이다.
먼저, 이미지 개선을 위한 원본영상을 비디오 품질 향상 장치를 통해 수신할 수 있다(S110). 수신하는 원본 영상은 원본이라는 의미는 최초 생성된 비디오 데이터라는 의미가 아니라, 품질 향상 처리를 위해 디바이스가 수신한 비디오 데이터로서 개선된 비디오 데이터와 구분하기 위해 사용되는 표현이다. 이러한 영상은 카메라가 장착된 장치에 의해 촬영된 것일 수도 있고, 사용자 단말기(100)에 저장된 영상일 수도 있으며 다르게는, 외부 장치로부터 유무선 통신을 통해 수신 받은 영상일 수도 있다. 이미지 향상 장치는, 컴퓨터, 스마트폰, 태블릿 등 일반 사용자 단말기일 수도 있고, 이미지를 수신 받아 향상시키는 이미지 조도 향상을 수행하는 서버일 수도 있다.
수신되는 영상은 멀티 프레임 이미지일 수 있다. 멀티 프레임 이미지가 입력된 경우에는 조도 향상을 위해 영상이 처리될 때 조도에 따라 분류된 이미지가 학습 모델에 입력되어 고조도 이미지를 획득하는데 활용될 수 있다.
도 4 및 도 5에서 예시로 제안된 이미지는 아이가 촬영된 영상 일부를 제시하고 있으며, 낮은 조도를 가지고 있어서 다소 흐릿하게 보이며, 아이의 상태가 명확하게 인식되기 어려울 수 있다.
비디오 품질 향상 장치의 프로세서는 저조도 이미지의 조도를 개선하기 위하여 촬영된 영상의 이미지를 조도에 따라 제1 이미지 그룹과 제2 이미지 그룹으로 분류할 수 있다(S120). 제1 이미지 그룹이란 원본 영상 전체의 프레임에서 기 입력된 조도의 조건에 따라 극저조도 이미지들을 의미하고 제2 이미지 그룹이란 원본 영상 전체의 프레임에서 기 입력된 조도의 조건에 따라 저조도 이미지들을 의미한다. 또한, 도면에는 기재하지 않았으나, 영상 이미지는 극저조도 이미지, 저조도 이미지 및 일반조도 이미지를 포함할 수 있으며, 일반조도 이미지는 별도의 개선 작업 없이 재생될 수 있는 이미지가 될 수 있다.
분리된 이미지는 조도에 따라 정렬될 수 있다. 구체적으로 원본 비디오 데이터의 이미지는 일반 조도 이미지, 저조도 이미지 및 극저조도 이미지 별로 정렬되는 것이다.
이렇게 조도별로 이미지를 정렬하면, 정렬된 이미지의 속성에 따라 이미지 개선용 신경망을 선택할 수 있다(S130). 구체적으로 극저조도 이미지의 제1 이미지 그룹의 속성은 저조도 이미지보다 어두운 조도이므로 무거운 중량의 학습 모델(DNN2)을 통해 조도를 향상시킬 수 있다. 이와 다르게 저조도 이미지의 제2 이미지 그룹의 속성은 사용자 시청에 큰 불편함이 없는 밝기로 표현된 이미지이므로 경량의 학습 모델(DNN1)을 통해 조도를 향상시킬 수 있다.
보다 구체적으로, 비디오 품질 향상 장치의 프로세서는 저조도 인식용 신경망을 원본 비디오 데이터 이미지에 적용하여 조도에 따라 분류된 이미지 중 저조도 이미지와 극저조도 이미지를 인식할 수 있도록 한다. 예컨대, 저조도 인식용 신경망을 이용하여 분류된 이미지를 의해 저조도 이미지와 극저조도 이미지로 인식할 수 있다. 프로세서는 인식하는 이미지에 따라 이미지를 두 그룹으로 분류하는 것이다.
즉, 프로세서는 저조도 인식용 신경망을 통해 이미지에 저장된 조도의 특징을 식별하고, 식별된 조도의 특징에 따라 이미지를 분류할 수 있다. 예컨대, 본 발명의 실시예에서는 촬영된 영상에서 여자 아이의 이미지의 조도를 기초로 저조도 이미지 또는 극저조도 이미지 중 어느 하나로 분류할 수 있다.
본 발명의 실시예에서, 저조도 인식용 신경망을 통해 분류할 수 있는 저조도 이미지의 종류에는 저조도 이미지 및 극저조도 이미지를 예를 들어 설명하지만, 조도의 분류를 상세히 분류하여 하여 일정 조도값 이하의 이미지를 일정 범위 내의 조도값을 기준으로 분류할 수도 있다.
한편 원본 비디오 데이터 이미지의 조도를 향상시키는 이미지 개선용 신경망은, CNN(Convolutional Neural Network), FCNN(Fully-convolutional Neural Network), R-CNN(Region-based Convolutional Neural Network), YOLO(You Only Look Once) 등의 다양한 모델을 이용하여 형성될 수 있다.
또한, 본 발명의 실시예에서 이미지 개선용 신경망은 저조도 이미지와 극저조도 이미지만을 분류하고 개선하는 예를 들지만, 다르게 이미지 개선용 신경망은 저조도 이미지와 극저조도 이미지 및 일반 조도 이미지 전체 이미지 조도를 개선할 수도 있다.
다르게는 원본 비디오 데이터 프레임 중에서 일반 조도 이미지를 추가로 분류할 수 있으며, 일반 조도 이미지로 분류된 프레임들은 이미지 개선을 위한 처리가 수행되지 않을 수도 있다.
조도에 따라 분류된 이미지의 조도를 개선시킨 후, 이미지 그룹별로 정렬된 이미지를 원본 비디오 데이터 이미지의 배열과 대응하도록 재정렬할 수 있다(S140, S150).
원본 비디오 데이터 이미지의 배열과 대응하도록 재정렬된 개선된 이미지는 사용자 단말기(100)를 통해 출력되거나 서버(200)에 저장될 수 있다(S160).
한편, 개선된 이미지를 원본 비디오 데이터 이미지의 배열과 대응하도록 재정렬할 때, 개선된 극저조도 이미지, 개선된 저조도 이미지 및 일반 조도 중 서로 다른 조도를 가진 이미지가 인접할 수 있다.
특히 도 6에 도시된 바와 같이 개선된 극저조도 이미지와 일반 조도 이미지가 인접하게 배열될 수 있다. 이 경우, 영상을 출력할 때, 개선된 극저조도 이미지의 조도와 일반 조도 이미지의 조도 차이로 인하여 영상 시청의 불편이 초래될 수 있다.
예컨대 조도가 개선된 영상의 속성이 일반 조도 이미지가 복수 프레임 나열되고, 개선된 극저조도 이미지가 복수 프레임 나열된다고 가정할 수 있다(도 6의 D 영역). 이 경우 연속되는 프레임의 조도 차이가 2단계(일반 조도 이미지->극저조도 이미지) 이상이라고 할 수 있다. 이로 인해, 시청자는 출력되는 영상에서 조도 차이를 인식하게 된다.
이러한 조도 차이를 최소화하도록 제1 신경망으로 처리된 제1 이미지 그룹의 프레임 중 하나인 제1 프레임과 인접한 제1 신경망으로 처리되지 않은 제2 프레임 사이의 조도 차이를 측정한다. 구체적으로, 극저조도 이미지에서 제1 프레임을 선택하고, 제1 프레임과 연속적으로 배열된 일반 조도 이미지에서 제2 프레임을 선택한다.
선택된 제1 프레임 및 제2 프레임의 조도 차이가 기 저장된 조도 차이 이상인 경우, 제1 프레임 및 제2 프레임의 조도 차이를 기 저장된 조도 차이 이하로 조절하게 된다. 예를 들어, 제1 프레임의 처리에 적용된 필터와 및 제2 프레임의 처리에 적용된 필터의 평균값을 가지는 필터를 제1 원본 프레임 및 제2 원본 프레임에 적용하게 된다. 실시예에 따르면, 제1 프레임 필터값과 제2 프레임 필터값의 평균값을 제1 프레임과 제2 프레임에 적용할 수 있다. 이로 인해 제1 프레임의 조도값은 높아지게 되고 제2 프레임의 조도값은 낮아져 조도가 다른 연속된 프레임의 조도 차이를 줄일 수 있게 된다.
이때, 제1 원본 프레임은 제1 프레임에 대응하는 원본 비디오 데이터 내의 프레임이고, 제2 원본 프레임은 제2 프레임에 대응하는 원본 비디오 데이터 내의 프레임이 될 수 있다.
이때, 조도 차이를 줄이기 위한 서로 다른 이미지는 본 발명의 실시예는 일반 조도 이미지와 개선된 극저조도 이미지가 연속되는 경우를 예를 들어 설명하기로 하지만, 서로 다른 조도를 가진 이미지가 연속되는 경우에는 본 실시예와 같이 연속된 이미지 각각에 프레임의 평균값을 적용하는 실시예를 적용할 수 있다.
도 7은 본 발명의 실시예에 따른 비디오 품질 향상 방법이 사용자 단말기에서 수행되는 과정을 설명하기 위한 도면이고, 도 8은은 본 발명의 실시예에 따른 비디오 품질 향상 방법에서 실시간으로 이미지가 개선된 영상 재생 방법을 설명하기 위한 순서도를 도시한다.
도 7 및 도 8을 참고하면, 이미지 개선을 위한 원본 비디오 데이터 프레임을 비디오 품질 향상 장치를 통해 수신할 수 있다(S120). 이때, 수신되는 영상은 영상이 재생될 수 있는 장치를 통해 실시간 재생되는 영상을 수신할 수 있다. 즉, 이미지 향상 장치는 컴퓨터, 스마트폰, 태블릿 등 일반 사용자 단말기일 수 있으며, 이러한 이미지 향상 장치를 통해 실시간으로 재생되는 영상의 조도를 향상시킬 수 있도록 한다.
이를 위해, 비디오 품질 향상 장치의 프로세서는 원본 비디오 데이터에서 기 저장된 특정 조도값 이하의 제1 이미지 그룹과 특정 조도값 이상의 제2 이미지 그룹으로 분리할 수 있다(S120). 제1 이미지는 저조도의 이미지이고, 제2 이미지는 일반조도(또는/및 고조도)의 이미지가 될 수 있다.
원본 비디오 데이터를 저조도의 제1 이미지와 일반조도의 제2 이미지로 분리하면, 제1 이미지 그룹의 프레임 중 일정 시간 미만으로 연속하여 배열되는 프레임들의 구간을 하나의 그룹으로 구성할 수 있다.
예시적으로 도 7에 도시된 바와 같이, 저조도의 제1 이미지가 30초 동안 재생된다고 가정할 수 있고, 30초 동안 재생되는 제1 이미지를 예를 들어 5초 단위 간격으로 묶어 복수의 그룹으로 구성하는 것이다.
이후 하나의 그룹에 포함된 제1 이미지 중에서 선택 이미지를 추출할 수 있다(S1300). 본 실시예에 따라 예를 들어, 제1 이미지로 재생되는 30초 동안 30개의 제1 이미지가 재생될 수 있다. 이렇게 제1 이미지가 재생되는 시간은 앞서 실시한 예시와 같이 하나의 그룹에 5개의 제1 이미지를 포함하는 5개의 그룹이 형성될 수 있다. 이렇게 형성된 각 그룹에서 가장 먼저 재생되는 이미지를 선택 이미지라고 할 수 있다.
추출한 선택 이미지는 제1 이미지 개선용 신경망에 따라 처리하여 개선된 프레임으로 생성될 수 있다(S130). 구체적으로 비디오 품질 향상 장치의 프로세서는 저조도 인식용 신경망을 원본 비디오 데이터 이미지에 적용하여 조도에 따라 저조도 이미지와 일반 조도 이미지로 분리하여 인식할 수 있도록 한다. 이와 같이 인식하는 이미지에 따라 프로세서는 이미지 처리를 위한 이미지 개선용 신경망을 결정하는 것이다. 앞서 설명한 바와 같이, 트레이닝 시스템(300)은 이미지의 조도 별로 이미지 개선용 신경망 그룹을 생성할 수 있으며, 여기에는 이미지 조도 별로 처리 시간 및 처리 성능에 있어서 최적의 조도 향상을 할 수 있도록 훈련된 신경망들이 포함되어 있다.
도 7에서와 같이 본 발명의 실시예에서 제1 이미지 개선용 신경망은 하나의 그룹에서 가장 먼저 재생되는 이미지를 선택 이미지에 적용되는 학습 모델이 될 수 있다.
여기서 선택 이미지에 적용되는 제1 이미지 개선용 신경망은 원본 비디오 데이터가 실시간으로 재생되는 것에 착안하여 조도 개선 처리 시간을 최소화할 수 있도록 하는 신경망이 선택될 수 있다.
제1 이미지 개선용 신경망에 의해 선택 이미지의 조도가 개선되면 각각의 그룹에 포함되는 미개선 제1 이미지의 조도를 개선할 수 있다(S1400). 이때, 미개선 제1 이미지는 앞서 개선된 프레임과 동일한 이미지로 대체하도록 한다.
사람의 눈은 1초에 10~12개의 이미지들을 처리하여 이들을 개별적인 것으로 인지할 수 있다. 즉, 사람의 눈은 약 12 FPS(Frame Per Second)이상의 프레임을 보여주면 깜박거림 현상을 느끼지 않고 자연스러운 동영상으로 인식할 수 있다. 따라서, 최대 약 1/12초 간격으로 다른 이미지가 배열되도록 하면 사람의 눈은 이를 플릭커링(Flickering) 현상 없이 자연스러운 동영상으로 인식할 수 있다. 이에 따라, 제 1 이미지 그룹의 프레임들 중 일정 시간 미만으로 연속하여 배열되는 프레임들을 선택할 때, 예를 들어, 일정 시간은 0.08333초 미만일 수 있다.
이러한 인체의 특성에 착안하여 1초 미만 동안 하나의 그룹과 다른 하나의 그룹이 연속된다고 가정하고, 하나의 그룹에서 제1 이미지와 미개선 제1 이미지는 1초 미만 동안 연속되는 이미지이기 때문에 영상을 시청하는 시청자는 동일한 이미지로 인식할 수 있다. 따라서, 하나의 그룹에서 미개선 제1 이미지는 개선된 프레임과 동일한 이미지로 대체하여 영상이 재생되는 동안 시청자는 조도가 개선된 이미지로 영상으로 시청한다고 인식할 수 있다.
이렇게 연속되는 저조도인 제1 이미지를 일정 시간 간격으로 그룹화하고, 각 그룹에서 조도를 개선할 선택 이미지를 추출하고 조도를 개선한 뒤, 제1 이미지를 포함하는 하나의 그룹에 포함되는 미개선 제1 이미지는 개선한 제1 이미지와 동일한 이미지로 대체할 수 있다. 이와 같은 저조도 이미지 개선 방안에 의하여 빠른 속도로 저조도 이미지를 개선할 수 있으므로, 실시간으로 조도가 개선된 영상이 재생될 수 있다(S1600).
상술된 바와 같이 조도에 따라 이미지를 분류하고, 분류된 이미지를 조도 별로 정렬한 뒤, 각 조도에 최적화된 이미지 개선용 신경망을 동적으로 선택하여 활용함으로써, 본 발명의 실시예들은 효율적이면서도 효과적으로 이미지의 조도 향상을 달성할 수 있다.
즉, 이미지의 조도 속성에 따라 영상을 이루는 이미지를 일반 조도 이미지, 저조도 이미지 및 극저조도 이미지로 분류 및 정렬하고, 분류 및 정렬된 각 조도에 적합한 이미지 개선용 신경망을 선택함으로써, 각각의 조도에 대한 최적의 고조도 이미지를 획득할 수 있다. 그 결과, 영상 시청자는 고조도의 영상을 시청할 수 있게 된다.
한편, 사용자는 이미지 개선용 신경망 모델의 판단 결과에 대해 지속적으로 피드백을 줌으로써, 이러한 학습 모델을 보다 정교화할 수도 있다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 단계들은 적당한 순서로 행해질 수 있다. 반드시 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 또한, 본 발명에 따른 방법들에 포함된 단계들은 프로세서 또는 해당 단계의 기능을 수행하기 위한 모듈들을 통해서 수행될 수 있다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (17)

  1. 비디오의 품질을 향상시키기 위한 방법으로서,
    복수의 프레임들을 포함하는 원본 비디오 데이터를 수신하는 단계;
    상기 원본 비디오 데이터의 이미지 개선 처리를 위해 조도에 따라 상기 프레임들을 적어도 제1 이미지 그룹 및 제2 이미지 그룹으로 분류하는 단계;
    이미지 개선용 신경망 그룹 중에서 상기 제1 이미지 그룹의 속성에 따라 제1 신경망을 선택하고, 상기 제2 이미지 그룹의 속성에 따라 제2 신경망을 선택하는 단계; 및
    상기 제1 신경망으로 상기 제1 이미지 그룹의 프레임들을 처리하고, 상기 제2 신경망으로 상기 제2 이미지 그룹의 프레임들을 처리하여 개선된 비디오 데이터를 생성하는 단계를 포함하는,
    비디오 품질 향상 방법.
  2. 제1항에 있어서,
    상기 분류하는 단계는,
    조도 인식용 신경망을 통해 상기 프레임들을 극저조도 이미지, 및 저조도 이미지로 판단하는 단계;
    상기 프레임들을 상기 극저조도 이미지, 및 상기 저조도 이미지 별로 정렬하는 단계; 및
    상기 극저조도 이미지로 판단된 프레임들을 상기 제1 이미지 그룹으로 분류하고, 상기 저조도 이미지로 판단된 프레임들을 상기 제2 이미지 그룹으로 분류하는 단계를 포함하는,
    비디오 품질 향상 방법.
  3. 제2항에 있어서,
    상기 제1 신경망은 상기 제2 신경망보다 복잡도가 높은,
    비디오 품질 향상 방법.
  4. 제2항에 있어서,
    상기 개선된 비디오 데이터를 생성하는 단계는,
    상기 제1 신경망으로 처리된 상기 제1 이미지 그룹의 프레임들 및 상기 제2 신경망으로 처리된 상기 제2 이미지 그룹의 프레임들을 상기 원본 비디오 데이터의 프레임 배열과 대응하도록 재정렬하는 단계를 포함하는,
    비디오 품질 향상 방법.
  5. 제4항에 있어서,
    상기 개선된 비디오 데이터를 생성하는 단계는,
    상기 재정렬하는 단계 이후에,
    상기 제1 신경망으로 처리된 상기 제1 이미지 그룹의 프레임 중 하나인 제1 프레임과 인접한 상기 제1 신경망으로 처리되지 않은 제2 프레임 사이의 조도 차이를 측정하는 단계; 및
    상기 제1 프레임 및 상기 제2 프레임의 조도 차이가 기 저장된 조도 차이 이상인 경우, 상기 제1 프레임 및 상기 제2 프레임의 조도 차이를 상기 기 저장된 조도 차이 이하로 조절하는 단계를 포함하는,
    비디오 품질 향상 방법.
  6. 제5항에 있어서,
    상기 기 저장된 조도 차이 이하로 조절하는 단계는,
    상기 제1 프레임의 처리에 적용된 필터와 및 상기 제2 프레임의 처리에 적용된 필터의 평균값을 가지는 필터를 제1 원본 프레임 및 제2 원본 프레임에 적용하는 단계를 포함하고,
    상기 제1 원본 프레임은 상기 제1 프레임에 대응하는 상기 원본 비디오 데이터 내의 프레임이고, 상기 제2 원본 프레임은 상기 제2 프레임에 대응하는 상기 원본 비디오 데이터 내의 프레임인,
    비디오 품질 향상 방법.
  7. 제2항에 있어서,
    상기 분류하는 단계는,
    상기 원본 비디오 데이터의 프레임들 중 일반 조도 이미지를 추가로 분류하는 단계를 포함하고,
    상기 일반 조도 이미지로 분류된 프레임들은 이미지 개선을 위한 처리가 수행되지 않는,
    비디오 품질 향상 방법.
  8. 제1항에 있어서,
    상기 분류하는 단계는,
    상기 원본 비디오 데이터의 프레임들 중에서 기 저장된 특정 조도값 미만의 프레임을 제1 이미지 그룹으로 분류하고, 기 저장된 특정 조도값 이상의 프레임을 제2 이미지 그룹으로 분류하는 단계를 포함하는,
    비디오 품질 향상 방법.
  9. 제8항에 있어서,
    상기 개선된 비디오 데이터를 생성하는 단계는,
    상기 제1 이미지 그룹의 프레임들 중 일정 시간 미만으로 연속하여 배열되는 프레임들의 구간을 선택하는 단계;
    상기 구간 내의 프레임들 중 하나의 프레임에 상기 제1 신경망을 적용하여 개선된 프레임을 생성하는 단계를 포함하는,
    비디오 품질 향상 방법.
  10. 제9항에 있어서,
    상기 개선된 비디오 데이터를 생성하는 단계는,
    상기 개선된 프레임을 생성하는 단계 이후에,
    상기 구간 내의 프레임들을 모두 상기 개선된 프레임으로 대체하는 단계를 포함하는,
    비디오 품질 향상 방법.
  11. 제9항에 있어서,
    상기 구간 내의 프레임들 중 하나의 프레임은 상기 구간 내의 프레임들 중 첫 번째 프레임인,
    비디오 품질 향상 방법.
  12. 컴퓨터를 이용하여 제1 항 내지 제11 항의 방법 중 어느 한 항의 방법을 실행시키기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체.
  13. 비디오의 품질을 향상시키기 위한 장치로서,
    프로세서; 및
    프로세서에 연결된 메모리를 포함하고,
    상기 메모리는,
    상기 프로세서를 통해 실행될 때, 프로세서가 복수의 프레임을 포함하는 원본 영상 프레임 이미지를 수신하고, 상기 원본 영상 프레임 이미지에서 이미리 개선 처리를 위해 조도에 따라 이미지를 분류하면, 이미지 개선용 신경망 그룹 중에서 분류된 이미지의 속성에 따라 선택된 이미지 개선용 신경망에 따라 선택된 상기 이미지를 처리하여 개선된 이미지를 생성하는 명령들을 저장하는,
    비디오 품질 향상 장치.
  14. 제13항에 있어서,
    상기 명령들은,
    특정 조도 인식용 신경망을 통해 상기 이미지를 극저해상도 이미지, 저해상도 이미지 및 일반 해상도 이미지로 분리하고, 분리한 상기 극저해상도 이미지, 상기 저해상도 이미지 및 상기 일반 해상도 이미지 별로 정렬한 뒤, 이미지 개선용 신경망을 선택하여 개선된 극저해상도 이미지, 개선된 저해상도 이미지 및 일반 해상도 이미지를 생성하도록 야기하는,
    비디오 품질 향상 장치.
  15. 제14항에 있어서,
    상기 명령들은,
    상기 개선된 극저해상도 영역, 상기 개선된 저해상도 영역 및 상기 일반 해상도 영역을 상기 원본 영상 프레임 이미지의 배열과 대응하도록 재정렬하도록 야기하는,
    비디오 품질 향상 장치.
  16. 제14항에 있어서,
    상기 명령들은,
    상기 원본 영상 프레임 이미지에서 이미리 개선 처리를 위해 조도에 따라 이미지를 분류 시, 상기 원본 영상 프레임 이미지 중에서 기 저장된 특정 조도값 이하의 제1 이미지와 특정 조도값 이상의 제2 이미지로 분리하고, 상기 제1 이미지 중에서 일정 시간 간격에 따라 선택 이미지를 복수개 추출하고, 추출한 상기 선택 이미지에 대하여 상기 제1 이미지 개선용 신경망에 따라 처리하여 개선된 제1 이미지를 생성하도록 야기하는,
    비디오 품질 향상 장치.
  17. 제16항에 있어서,
    상기 명령들은,
    상기 선택 이미지는 일정 시간 간격으로 나열된 제1 선택 이미지, 제2 선택 이미지를 포함하고, 상기 제1 선택 이미지와 인접하여 연속되되, 상기 제1 선택 이미지와 상기 제2 선택 이미지 사이에 배열된 추출되지 않은 미개선 제1 이미지는 상기 개선된 제1 이미지와 동일한 이미지로 배열하도록 야기하는,
    비디오 품질 향상 장치.

KR1020190138066A 2019-10-31 2019-10-31 비디오 품질 향상 방법 및 장치 KR20210052040A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190138066A KR20210052040A (ko) 2019-10-31 2019-10-31 비디오 품질 향상 방법 및 장치
US16/742,277 US11321820B2 (en) 2019-10-31 2020-01-14 Video data quality improving method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190138066A KR20210052040A (ko) 2019-10-31 2019-10-31 비디오 품질 향상 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210052040A true KR20210052040A (ko) 2021-05-10

Family

ID=75687518

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190138066A KR20210052040A (ko) 2019-10-31 2019-10-31 비디오 품질 향상 방법 및 장치

Country Status (2)

Country Link
US (1) US11321820B2 (ko)
KR (1) KR20210052040A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023153726A1 (ko) * 2022-02-09 2023-08-17 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
WO2024014706A1 (ko) * 2022-07-13 2024-01-18 삼성전자주식회사 화질 개선을 수행하는 신경망 모델을 학습시키는 전자 장치 및 그 제어 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210390671A1 (en) * 2020-06-16 2021-12-16 Samsung Electronics Co., Ltd. Image processing system for performing image quality tuning and method of performing image quality tuning
KR20210155695A (ko) 2020-06-16 2021-12-23 삼성전자주식회사 화질 튜닝을 수행하는 이미지 처리 시스템 및 화질 튜닝 방법
WO2022265321A1 (en) 2021-06-15 2022-12-22 Samsung Electronics Co., Ltd. Methods and systems for low light media enhancement
CN117044215A (zh) * 2021-06-15 2023-11-10 三星电子株式会社 用于低光照媒体增强的方法和***
CN114387190B (zh) * 2022-03-23 2022-08-16 山东省计算中心(国家超级计算济南中心) 一种基于复杂环境下的自适应图像增强方法及***
CN114612732A (zh) * 2022-05-11 2022-06-10 成都数之联科技股份有限公司 样本数据增强方法及***及装置及介质及目标分类方法
CN117409263B (zh) * 2023-12-15 2024-04-05 成都时代星光科技有限公司 一种无人机自动图像校正引导降落方法和计算机存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7221807B2 (en) * 2002-03-29 2007-05-22 Sharp Laboratories Of America, Inc. Methods and systems for digital image characteristic adjustment using a neural network
US9514536B2 (en) * 2012-10-10 2016-12-06 Broadbandtv, Corp. Intelligent video thumbnail selection and generation
JP2016092712A (ja) * 2014-11-10 2016-05-23 セイコーエプソン株式会社 画像処理装置、画像処理方法およびプログラム
WO2017106998A1 (en) 2015-12-21 2017-06-29 Sensetime Group Limited A method and a system for image processing
US10614347B2 (en) * 2018-01-25 2020-04-07 Adobe Inc. Identifying parameter image adjustments using image variation and sequential processing
US10803565B2 (en) * 2018-07-10 2020-10-13 Intel Corporation Low-light imaging using trained convolutional neural networks
KR101963308B1 (ko) 2018-11-08 2019-03-28 한국건설기술연구원 열악한 환경 조건 하에서 딥 러닝을 이용한 영상 내 이동객체 및 돌발상황 감시 시스템 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023153726A1 (ko) * 2022-02-09 2023-08-17 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
WO2024014706A1 (ko) * 2022-07-13 2024-01-18 삼성전자주식회사 화질 개선을 수행하는 신경망 모델을 학습시키는 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
US20210133943A1 (en) 2021-05-06
US11321820B2 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
KR20210052040A (ko) 비디오 품질 향상 방법 및 장치
US20210073945A1 (en) Method and apparatus for enhancing image resolution
US11205247B2 (en) Method and apparatus for enhancing video frame resolution
KR102658688B1 (ko) 이미지 조도 향상을 위한 방법 및 장치
US20210104018A1 (en) Method and apparatus for enhancing resolution of image
KR20210042588A (ko) 영상을 압축 또는 복원하기 위한 방법 및 장치
KR102137151B1 (ko) 노이즈 캔슬링 장치 및 그 방법
US20200013371A1 (en) Method, controller, and system for adjusting screen through inference of image quality or screen content on display
KR20210053052A (ko) 컬러 복원방법 및 장치
KR20190119548A (ko) 이미지 노이즈 처리방법 및 처리장치
KR20190094133A (ko) 객체를 인식하는 인공 지능 장치 및 그 방법
US10719741B2 (en) Sensory information providing apparatus, video analysis engine, and method thereof
KR20200022739A (ko) 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
US11170256B2 (en) Multi-scale text filter conditioned generative adversarial networks
US20210133931A1 (en) Method and apparatus for editing image
US11468540B2 (en) Method and device for image processing
KR20190110500A (ko) 인공지능 서버
US11321866B2 (en) Approach photographing device and method for controlling the same
KR102658690B1 (ko) 이미지 변환 방법 및 장치
KR20210067442A (ko) 객체 인식을 위한 자동 레이블링 장치 및 방법
US20210110158A1 (en) Method and apparatus for estimating location in a store based on recognition of product in image
Thomas et al. Comparative analysis of facial affect detection algorithms
CN112446233A (zh) 一种基于多时间尺度推理的动作识别方法及装置
Sinapayen et al. Online fitting of computational cost to environmental complexity: Predictive coding with the ε-network
KR102503594B1 (ko) 주행 환경 인지 방법 및 장치