KR20210026618A - 컴퓨팅 장치 및 그 동작 방법 - Google Patents

컴퓨팅 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20210026618A
KR20210026618A KR1020190107646A KR20190107646A KR20210026618A KR 20210026618 A KR20210026618 A KR 20210026618A KR 1020190107646 A KR1020190107646 A KR 1020190107646A KR 20190107646 A KR20190107646 A KR 20190107646A KR 20210026618 A KR20210026618 A KR 20210026618A
Authority
KR
South Korea
Prior art keywords
instance
image
input image
quality
quality score
Prior art date
Application number
KR1020190107646A
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 KR1020190107646A priority Critical patent/KR20210026618A/ko
Priority to PCT/KR2020/011236 priority patent/WO2021040347A1/ko
Publication of KR20210026618A publication Critical patent/KR20210026618A/ko
Priority to US17/682,815 priority patent/US20220180625A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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/10024Color image
    • 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)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)

Abstract

실시예들에 따라, 이미지의 화질 처리를 수행하는 컴퓨팅 장치 및 그 동작 방법이 개시된다. 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 제1 뉴럴 네트워크를 이용하여 입력 이미지의 특징을 추출하고, 제2 뉴럴 네트워크를 이용하여, 입력 이미지의 특징으로부터 하나 이상의 인스턴스를 인식하고, 제3 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징을 기초로 상기 입력 이미지에서 인식된 각 인스턴스에 대응하는 품질 스코어를 예측함으로써 이미지 인스턴스 품질 스코어 맵을 획득하고, 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스 마다 화질 처리를 다르게 수행한다.

Description

컴퓨팅 장치 및 그 동작 방법{A computing apparatus and a method of operating the computing apparatus}
다양한 실시예들은 컴퓨팅 장치 및 그 동작 방법에 관한 것으로, 보다 구체적으로는, 입력 이미지의 화질 처리 기능을 수행하는 컴퓨팅 장치 및 그 동작 방법에 관한 것이다.
이미지에 대해 자동으로 학습된 품질 평가는 이미지 캡쳐 평가와 같은 다양한 애플리케이션, 파이프라인, 저장 기술 및 미디어 공유 등에서의 유용성으로 인해 최근에 화제가 되고 있다.
이미지 품질의 정량화(quantification)는 이미지 처리와 컴퓨터 비전의 오래된 문제가 되어왔다. 기술적 품질 평가가 노이즈, 블러, 아티팩트 등과 같은 낮은 수준의 품질저하를 측정하는 것을 다루지만, 심미적 평가는 이미지에서 감정과 미와 관련된 시맨틱 레벨 특징을 정량화한다.
일반적으로 이미지 품질 평가는 전체 참조 또는 참조 없음 접근법으로 분류할 수 있다. 참조 이미지의 이용가능성이 PSNR, SSIM 과 같은 메트릭에서 가정되지만, 참조 없음 접근법은 이미지 품질을 예측하기 위해 왜곡의 통계 모델에 의존한다. 두 개의 접근법 모두의 목표는 인간의 인지와 잘 상관되는 품질 스코어를 예측하는 것이다. 그러나, 이미지 품질의 주관적인 특징은 기본적인 이슈로 남을 수 밖에 없다. 최근에는 심층 콘볼루션 뉴럴 네트워크 (CNN)가 이러한 문제들을 해결하기 위해 이용되었다. 머신 러닝은 이미지의 기술적 품질을 예측하는데 괄목할 만한 성공을 보여왔다.
한편, 하나의 이미지 내에서도 고품질 부분과 저품질 부분이 혼재하는 경우가 있다. 예를 들어, 뉴스 영상 내에 포함된 픽쳐 인 픽쳐 (Picture In Picture: PIP) 영상의 경우 뉴스 영상 자체는 고품질 일 수 있지만, PIP 영상은 저품질 영상일 수 있다. 이와 같이 하나의 이미지 내에서도 고품질 부분과 저품질 부분이 혼재하는 경우에, 해당 이미지를 고/중/저 중 하나의 품질 값만으로 예측하는 경우, 고/중/저 품질 값에 연동하여 화질 개선을 하게 된다. 그러나, 하나 이미지에 품질이 다른 여러 부분이 존재하는 경우에도 하나의 글로벌한 품질 값 만으로 화질 개선을 하는 경우, 화질 개선이 잘 되지 않거나 또는 더 개선할 여지가 있으나 중간 정도 밖에 개선이 안되거나 또는 너무 강하게 개선되어 부작용이 발생하는 문제가 발생할 수 있다.
다양한 실시예들은, 입력 이미지에 포함된 하나 이상의 인스턴스별로 품질 스코어를 획득함으로써 각 인스턴스의 품질 스코어에 맞게 각 인스턴스 이미지의 화질 처리를 할 수 있도록 하는 컴퓨팅 장치 및 그 동작 방법을 제공하는 것을 목적으로 한다.
일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 제1 뉴럴 네트워크를 이용하여 입력 이미지의 특징을 추출하고, 제2 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징으로부터 하나 이상의 인스턴스를 인식하고, 제3 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징을 기초로 상기 입력 이미지에서 인식된 각 인스턴스에 대응하는 품질 스코어를 예측함으로써 이미지 인스턴스 품질 스코어 맵을 획득하고, 상기 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스 마다 화질 처리를 다르게 수행한다.
일 실시예에 따라 상기 이미지 인스턴스 품질 스코어 맵은, 상기 입력 이미지에서 인식된 하나 이상의 인스턴스 각각에 대응하는 인스턴스의 위치 및 품질 스코어를 포함할 수 있다.
일 실시예에 따라 제1 뉴럴 네트워크는 하나 이상의 콘볼루션 레이어를 포함할 수 있다.
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 제2 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징으로부터 상기 입력 이미지에 포함된 상기 하나 이상의 인스턴스를 인식함으로써, 각 인스턴스에 대응하는 클래스, 각 인스턴스의 위치, 각 인스턴스의 픽셀 단위 영역을 나타내는 마스크를 포함하는 인스턴스 맵을 획득할 수 있다.
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 복수의 학습 이미지 및 각 학습 이미지에 포함된 하나 이상의 인스턴스 각각에 설정된 품질 스코어를 수신하고, 상기 학습 이미지로부터 상기 학습 이미지에 포함된 하나 이상의 인스턴스 각각에 대응하는 품질 스코어를 추론하고, 상기 설정된 품질 스코어와 상기 추론된 품질 스코어의 차이가 작아지도록 상기 제3 뉴럴 네트워크에 포함된 하나 이상의 레이어의 가중치들을 결정함으로써 상기 제3 뉴럴 네트워크를 획득할 수 있다.
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스에 대해서, 각 인스턴스의 품질 스코어를 이용하여 화질 제어 파라미터를 생성하고, 각 인스턴스 이미지에 대해서 해당 인스턴스에 대응하는 화질 제어 파라미터를 이용하여 화질 처리를 수행하고, 화질 처리된 하나 이상의 인스턴스 이미지를 합성하여 출력 이미지를 생성할 수 있다.
일 실시예에 따라 상기 화질 제어 파라미터는, 고주파수 성분 추출 처리, 노이즈 억제 선예도 강조 처리, 계조 변환 처리, 색조 보정 처리 중 적어도 하나를 위한 화질 제어 파라미터를 포함할 수 있다.
일 실시예에 따른 컴퓨팅 장치의 동작 방법은, 제1 뉴럴 네트워크를 이용하여 입력 이미지의 특징을 추출하는 동작, 제2 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징으로부터 하나 이상의 인스턴스를 인식하는 동작, 제3 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징을 기초로 상기 입력 이미지에서 인식된 각 인스턴스에 대응하는 품질 스코어를 예측함으로써 이미지 인스턴스 품질 스코어 맵을 획득하는 동작, 및 상기 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스 마다 화질 처리를 다르게 수행하는 동작을 포함할 수 있다.
일 실시예에 따라 컴퓨팅 장치의 동작 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능 기록 매체에 있어서, 상기 컴퓨팅 장치의 동작 방법은, 제1 뉴럴 네트워크를 이용하여 입력 이미지의 특징을 추출하는 동작, 제2 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징으로부터 하나 이상의 인스턴스를 인식하는 동작, 제3 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징을 기초로 상기 입력 이미지에서 인식된 각 인스턴스에 대응하는 품질 스코어를 예측함으로써 이미지 인스턴스 품질 스코어 맵을 획득하는 동작, 및 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스 마다 화질 처리를 다르게 수행하는 동작을 포함한다.
본 개시서의 다양한 실시예들에 따르면, 입력 이미지에 대해서 하나의 글로벌한 품질 스코어가 아니라 입력 이미지에 포함된 인스턴스 별로 품질 스코어를 획득함으로써, 각 인스턴스 이미지의 품질에 맞게 독립적으로 각 인스턴스 이미지의 화질 처리를 수행할 수 있으므로, 보다 효과적인 화질 처리를 수행할 수 있다.
도 1a는 일 예에 따라 입력 이미지의 품질 스코어를 예측하는 시스템의 일 예이다.
도 1b는 일 실시예에 따라 입력 이미지에서 인스턴스 품질 스코어 맵을 출력하는 컴퓨팅 장치의 일 예를 나타낸다.
도 2는 일 실시예에 따른 컴퓨팅 장치의 일 예를 나타낸다.
도 3은 일 실시예에 따른 컴퓨팅 장치의 일 예를 나타낸다.
도 4는 일 실시예에 따라 컴퓨팅 장치 100에서 화질 처리 동작을 수행하는 화질 처리 모듈 400의 구성의 일 예를 나타낸다.
도 5는 일 실시예에 따라 도 4에 도시된 화질 처리 모듈에서의 동작을 나타내는 흐름도이다.
도 6은 일 실시예에 따라 도 4에 도시된 이미지 인스턴스 품질 예측 모듈의 세부적인 구성의 블록도이다.
도 7은 일 실시예에 따라 도 6에 도시된 이미지 인스턴스 품질 예측 모듈을 이용한 화질 처리 동작 방법의 흐름도이다.
도 8은 일반적인 CNN의 구조를 나타낸다.
도 9는 일 예에 따른 VGG의 구조이다.
도 10은 일 실시예에 따라 인스턴스 세그먼테이션 모듈의 일 예를 나타낸다.
도 11은 일 실시예에 따른 Mask R-CNN의 구조의 일 예를 나타낸다.
도 12는 일 실시예에 따라 인스턴스 세그먼테이션 모듈을 학습시키는 방법을 설명하기 위한 참고도이다.
도 13은 일 실시예에 따라 인스턴스 품질 스코어 획득 모듈 413의 일 예를 나타낸다.
도 14는 일 실시예에 따라 인스턴스 품질 스코어 획득 모듈 413을 학습시키는 방법을 설명하기 위한 참고도이다.
도 15는 일 실시예에 따른 프로세서의 구성을 뉴럴 네트워크의 학습과 처리 면에서 구분하여 설명하기 위한 블록도이다.
도 16은 일 실시예에 따라 데이터 학습부는 서버에 탑재되고 데이터 처리부는 사용자 컴퓨팅 장치에 탑재된 예를 나타낸다.
도 17은 일 실시예에 따라 데이터 학습부 및 데이터 처리부가 모두 서버에 탑재된 예를 나타낸다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서의 실시예에서 "사용자"라는 용어는 제어 장치를 이용하여 영상 표시 장치의 기능 또는 동작을 제어하는 사람을 의미하며, 시청자, 관리자 또는 설치 기사를 포함할 수 있다.
도 1a는 일 예에 따라 입력 이미지의 품질 스코어를 예측하는 시스템의 일 예이다.
도 1a를 참조하면, 입력 이미지 10를 종래의 뉴럴 이미지 평가 네트워크 50에 통과시키면, 뉴럴 이미지 평가 네트워크 50는 입력 이미지 10에 대응하는 글로벌한 품질 스코어 20을 출력할 수 있다. 이 때, 뉴럴 이미지 평가 네트워크 50는 입력 이미지 10 전체에 대해서 글로벌한 하나의 품질 스코어, 예를 들어, 1부터 10까지의 품질 스코어 레벨 중에서 7을 출력할 수 있다.
입력 이미지 10는 운동장에서 사람 12이 농구골대 11앞에서 농구를 하고 있는 것을 나타낸다. 예를 들어, 통상적으로 이와 같이 움직임이 있는 인스턴스와 움직임이 없는 인스턴스가 함께 포함된 이미지의 경우에, 움직임이 없는 인스턴스 예를 들어 농구 골대 11등은 해당 인스턴스 이미지의 품질은 좋을 수 있지만, 움직임이 있는 인스턴스 예를 들어 농구를 하고 있는 사람 12의 이미지의 품질은 상대적으로 품질이 떨어질 수 있다. 그런데, 이와 같이 하나의 이미지 내에 품질이 좋은 인스턴스와 품질이 좋지 않은 인스턴스가 함께 존재하는 경우에도, 기존의 뉴럴 이미지 평가 네트워크 50은 입력 이미지 10 전체에 적용되는 하나의 글로벌 품질 스코어를 출력한다. 예를 들어, 품질 스코어는 1부터 10 까지 중에 하나의 값으로 나타낼 수 있다. 따라서, 이러한 하나의 글로벌 품질 스코어는 입력 이미지 10의 움직임이 없는 인스턴스와 움직임이 있는 인스턴스 모두 대해 화질 처리를 하기 위해 적절한 값이 아닐 수 있다. 예를 들어, 입력 이미지 10에서 인스턴스 별로 별도로 품질 스코어를 매기는 경우, 사람 인스턴스의 품질 스코어는 5, 농구골대나 운동장의 품질 스코어는 9일 수 있다. 그럼에도 종래의 뉴럴 이미지 평가 네트워크 50는 하나의 글로벌한 품질 스코어를 출력하므로 7을 출력하게 될 수 있다. 따라서 이와 같이 입력 이미지에 대해서 글로벌하게 결정된 하나의 품질 스코어를 기초로 입력 이미지 10에 대해서 화질 처리를 수행하는 경우, 만족스러운 화질 처리 결과를 얻기 어려울 수 있다. 예를 들어, 인스턴스 별로 보면 사람 인스턴스는 품질 스코어가 5이므로, 품질 스코어 7인 경우보다 더 강하게 화질 처리를 해주어야 함에도 불구하고, 기존의 뉴럴 이미지 평가 네트워크 50는 글로벌한 품질 스코어 7만을 출력하므로 품질 스코어 7을 기준으로 화질 처리하게 된다.
따라서, 본 개시서에 개시된 실시예들은, 뉴럴 네트워크를 이용하여 입력 이미지의 품질 스코어를 예측할 때, 입력 이미지에 포함된 하나 이상의 인스턴스 별로 품질 스코어를 예측하는 방법을 제공한다.
도 1b는 일 실시예에 따라 입력 이미지에서 인스턴스 품질 스코어 맵을 출력하는 컴퓨팅 장치의 일 예를 나타낸다.
도 1b를 참조하면, 입력 이미지 10를 컴퓨팅 장치 100에 통과시키면, 컴퓨팅 장치 100는 하나 이상의 뉴럴 네트워크를 이용하여 입력 이미지 10 에 포함된 하나 이상의 인스턴스에 대해서 각 인스턴스 별로 품질 스코어를 예측하여 인스턴스 품질 스코어 맵 30을 출력할 수 있다. 예를 들어, 컴퓨팅 장치 100는 입력 이미지 10에서 하나 이상의 인스턴스, 즉, 사람, 농구공, 농구골대, 운동장, 하늘을 인식하고, 인식한 각각의 인스턴스에 대응하여 인스턴스 품질 스코어를 예측할 수 있다. 도 1b에서 스코어 맵 30은, 사람 인스턴스 품질 스코어는 4, 농구공 인스턴스 품질 스코어는 5, 운동장 인스턴스 품질 스코어는 6, 농구골대 인스턴스 품질 스코어는 8, 하늘 인스턴스 품질 스코어는 6을 나타낼 수 있다.
이와 같이 개시된 컴퓨팅 장치 100에 따르면, 입력 이미지 10에 대해서 글로벌한 하나의 품질 스코어가 아니라, 각 인스턴스 별로 인스턴스에 대응하는 품질 스코어를 얻을 수 있으므로, 컴퓨팅 장치 100는 인스턴스의 품질 스코어에 적합하게 인스턴스 마다 독립적으로 화질 처리를 수행할 수 있게 된다. 예를 들어, 스코어 맵 30에서 사람 인스턴스 스코어는 4로서 상대적으로 낮은 품질을 나타내므로 화질 처리를 보다 강하게 하고, 농구골대 인스턴스 스코어는 8로서 상대적으로 높은 품질을 나타내므로 화질 처리를 보다 약하게 함으로써 입력 이미지 10의 화질 처리를 보다 효과적으로 수행할 수 있게 된다.
뉴럴 네트워크는 동물의 뇌를 모방하여 기계학습을 구현하는 통계학적 학습 알고리즘이다. 컴퓨팅 장치 100가 하나 이상의 뉴럴 네트워크를 이용하여 입력 이미지 10에 포함된 인스턴스 마다 품질 스코어를 예측하는 방법은 이하에서 자세히 설명한다.
도 2는 일 실시예에 따른 컴퓨팅 장치의 일 예를 나타낸다.
도 2를 참조하면, 컴퓨팅 장치 100a는 메모리 110 및 프로세서 120를 포함할 수 있다. 그러나, 컴퓨팅 장치 100a는, 도시된 구성요소보다 많은 구성요소에 의해 구현될 수 있으며, 전술한 예에 한정되지 않는다.
일 실시예에 따른 메모리 110는, 프로세서 120의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 컴퓨팅 장치 100a으로 입력되거나 컴퓨팅 장치 100a로부터 출력되는 데이터를 저장할 수 있다.
메모리 110는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
프로세서 120는 컴퓨팅 장치 100a의 전반적인 동작을 제어한다. 예를 들어, 프로세서 120는, 메모리 110에 저장된 하나 이상의 인스트럭션을 실행함으로써, 본 개시서에 기재된 컴퓨팅 장치 100a의 기능을 수행할 수 있다.
일 실시예에 따른 프로세서 120는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 입력 이미지에 포함된 각 인스턴스 별로 인스턴스에 대응하는 품질 스코어를 예측함으로써 이미지 인스턴스 품질 스코어 맵을 생성하고, 입력 이미지의 각 인스턴스별 품질 스코어를 이용하여 입력 이미지의 각 인스턴스에 대한 화질 처리를 수행할 수 있다.
본 개시의 실시예에서, 프로세서 120는 메모리 110에 저장된 하나 이상의 인스트럭션을 실행하여, 전술한 동작들이 수행되도록 제어할 수 있다. 이 경우, 메모리 110는 프로세서 120에 의해서 실행가능한 하나 이상의 인스트럭션을 저장하고 있을 수 있다.
또한, 본 개시의 실시예에서, 프로세서 120는 내부적으로 구비되는 메모리에 하나 이상의 인스트럭션을 저장하고, 내부적으로 구비되는 메모리에 저장된 하나 이상의 인스트럭션을 실행하여 전술한 동작들이 수행되도록 제어할 수 있다. 즉, 프로세서 120는 프로세서 120의 내부에 구비되는 내부 메모리 또는 메모리 110에 저장된 적어도 하나의 인스트럭션 또는 프로그램을 실행하여 소정 동작을 수행할 수 있다.
또한, 도 2에서는 하나의 프로세서 120를 도시하였으나, 복수개의 프로세서(미도시)가 구비될 수도 있을 것이다. 이 경우, 본 개시의 실시예에 따른 컴퓨팅 장치에서 수행되는 동작들 각각은 복수개의 프로세서 중 적어도 하나를 통하여 수행될 수 있다.
일 실시예에 따라 컴퓨팅 장치 100a는 뉴럴 네트워크 프로세서를 별도로 더 포함할 수 있다. 뉴럴 네트워크 프로세서는 뉴럴 네트워크를 통한 연산을 수행하여 소정 동작을 실행되도록 제어하는 동작을 수행할 수 있다. 구체적으로, 본 개시의 실시예에서, 뉴럴 네트워크 프로세서는 하나 이상의 인스트럭션을 실행하여 뉴럴 네트워크를 통한 연산이 수행되도록 할 수 있다.
일 실시예에 따라 프로세서 120는, 메모리 110에 저장된 하나 이상의 인스트럭션을 실행함으로써, 제1 뉴럴 네트워크를 이용하여 입력 이미지의 특징을 추출하고, 제2 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징으로부터 하나 이상의 인스턴스를 인식하고, 제3 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징을 기초로 상기 입력 이미지에서 인식된 각 인스턴스에 대응하는 품질 스코어를 예측함으로써 이미지 인스턴스 품질 스코어 맵을 획득하고, 상기 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스 마다 화질 처리를 다르게 수행할 수 있다.
일 실시예에 따라 이미지 인스턴스 품질 스코어 맵은, 상기 입력 이미지에서 인식된 하나 이상의 인스턴스 각각에 대응하는 인스턴스의 위치 및 품질 스코어를 포함할 수 있다.
일 실시예에 따라 제1 뉴럴 네트워크는 하나 이상의 콘볼루션 레이어를 포함할 수 있다.
일 실시예에 따라 프로세서 120는, 메모리 110에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 제2 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징으로부터 상기 입력 이미지에 포함된 상기 하나 이상의 인스턴스를 인식함으로써, 각 인스턴스에 대응하는 클래스, 각 인스턴스의 위치, 및 인스턴스의 영역을 픽셀단위로 나타내는 마스크를 포함하는 인스턴스 맵을 획득할 수 있다.
일 실시예에 따라 프로세서 120는, 메모리 110에 저장된 하나 이상의 인스트럭션을 실행함으로써, 복수의 학습 이미지 및 각 학습 이미지에 포함된 하나 이상의 인스턴스 각각에 설정된 품질 스코어를 수신하고, 상기 학습 이미지로부터 상기 학습 이미지에 포함된 하나 이상의 인스턴스 각각에 대응하는 품질 스코어를 추론하고, 상기 설정된 품질 스코어와 상기 추론된 품질 스코어의 차이가 작아지도록 상기 제3 뉴럴 네트워크에 포함된 하나 이상의 레이어의 가중치들을 결정함으로써 상기 제3 뉴럴 네트워크를 획득할 수 있다.
일 실시예에 따라 프로세서 120는, 메모리 110에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스에 대해서, 각 인스턴스의 품질 스코어를 이용하여 화질 제어 파라미터를 생성하고, 각 인스턴스 이미지에 대해서 해당 인스턴스에 대응하는 화질 제어 파라미터를 이용하여 화질 처리를 수행하고, 화질 처리된 하나 이상의 인스턴스 이미지를 합성하여 출력 이미지를 생성할 수 있다.
일 실시예에 따라 화질 제어 파라미터는, 고주파수 성분 추출 처리, 노이즈 억제 선예도 강조 처리, 계조 변환(감마 변환) 처리, 색조 보정 처리 중 적어도 하나를 위한 화질 제어 파라미터를 포함할 수 있다.
본 개시에 따라 인공지능을 이용하여 입력 이미지에서 각 인스턴스 별로 품질 스코어를 예측하는 기능은 프로세서 120와 메모리 110를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN: Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
일 실시예에 따라 컴퓨팅 장치 100a는 입력 이미지의 각 인스턴스 별 품질 스코어를 예측하고 이 예측된 인스턴스 별 품질 스코어에 따라 입력 이미지의 각 인스턴스 별로 화질 처리를 수행할 수 있다. 그리고 컴퓨팅 장치 100a는 화질 처리된 이미지의 디스플레이를 위해 비디오/오디오 신호를 출력하기 위한 출력 포트 또는 무선 통신을 이용하여, 외부적으로 연결된 디스플레이 장치에 화질 처리된 이미지를 전송할 수 있다. 이러한 출력 포트는 비디오/오디오 신호를 동시에 전송하는 HDMI, DP, 썬더볼트 이거나 또는 비디오 신호와 오디오 신호를 별개로 출력하기 위한 포트들을 포함할 수 있다.
도 3은 일 실시예에 따른 컴퓨팅 장치의 일 예를 나타낸다.
도 3에 있어서, 도 2 에서와 동일한 구성은 동일한 도면 기호를 이용하여 도시하였다. 따라서, 컴퓨팅 장치 100b를 설명하는데 있어서 도 2 에서와 중복되는 설명은 생략한다.
도 3을 참조하면, 컴퓨팅 장치 100b는, 메모리 110 및 프로세서 120 이외에, 디스플레이 130, 안테나 140, 통신부 150, 감지부 160, 입/출력부 180, 비디오 처리부 135, 오디오 처리부 145, 오디오 출력부 140, 및 사용자 입력부 190를 더 포함할 수 있다.
메모리 110 및 프로세서 120에 대하여, 도 2에서 설명한 내용과 동일한 내용은 도 3에서 생략한다.
디스플레이 130는 프로세서 120의 제어에 의해 이미지를 화면에 표시할 수 있다. 화면에 표시되는 이미지는 통신부 150, 입/출력부 180, 메모리 110로부터 수신될 수 있다. 일 실시예에 따라 디스플레이 130는 입력 이미지의 각 인스턴스 별 품질 스코어에 따라 입력 이미지의 각 인스턴스 별로 화질 처리된 이미지를 표시할 수 있다.
송/수신 안테나 140은 다른 디바이스들이 전송한 신호를 수신하거나, 상기 다른 디바이스들로 신호를 전송하는 역할을 한다. 송/수신 안테나 140은 하나로 도시되어 있지만, 복수개의 안테나를 구비할 수 있다. 따라서 본 개시에 따른 전자 장치는 MIMO(Multiple Input Multiple Output) 시스템을 지원할 수 있다.
통신부 150는 컴퓨팅 장치 100b과 무선 통신 시스템 사이 또는 컴퓨팅 장치 100b과 다른 전자 장치가 위치한 네트워크 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 통신부 150는 방송 수신 모듈 151, 이동통신 모듈 152, 무선 인터넷 모듈 153 및 근거리 통신 모듈 154을 포함할 수 있다. 통신부 150는 송/수신부로 호칭될 수 있다.
방송 수신 모듈 151은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 신호는, TV 방송 신호, 라디오 방송 신호, 데이터 방송 신호를 포함할 뿐만 아니라, TV 방송 신호 또는 라디오 방송 신호에 데이터 방송 신호가 결합된 형태의 방송 신호도 포함할 수 있다.
이동통신 모듈 152는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 상기 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈 153은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 디바이스에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(WiFi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다. 상기 무선 인터넷 모듈 153을 통해서 상기 디바이스는 다른 디바이스와 와이 파이(Wi-Fi) P2P(Peer to Peer)연결을 할 수 있다. 이러한 와이 파이(Wi-Fi) P2P 연결을 통하여 디바이스간 스트리밍 서비스를 제공할 수 있으며, 데이터 송/수신 또는 프린터와 연결되어 프린팅 서비스를 제공할 수 있다.
근거리 통신 모듈 154은 근거리 통신을 위한 모듈을 말한다. 근거리 통신 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
일 실시예에 따른 통신부 150는, 외부 서버로부터 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 수신할 수 있다.
일 실시예에 따른 통신부 150는 무선 인터넷 모듈 153 또는 근거리 통신 모듈 154을 이용하여 다른 외부 기기에 연결하거나 또는 비디오/오디오 데이터의 송수신을 가능하게 할 수 있다.
감지부 160는 사용자의 음성, 사용자의 영상, 또는 사용자의 인터랙션을 감지하며, 마이크 161, 카메라부 162, 및 광 수신부 163를 포함할 수 있다.
마이크 161는 사용자의 발화(utterance)된 음성을 수신한다. 마이크 161는 수신된 음성을 전기 신호로 변환하여 프로세서 120로 출력할 수 있다.
카메라부 162는 카메라 인식 범위에서 제스처를 포함하는 사용자의 모션에 대응되는 영상(예를 들어, 연속되는 프레임)을 수신할 수 있다.
광 수신부 163는, 원격 제어 장치에서부터 수신되는 광 신호(제어 신호를 포함)를 수신한다. 광 수신부 163는 원격 제어 장치로부터 사용자 입력(예를 들어, 터치, 눌림, 터치 제스처, 음성, 또는 모션)에 대응되는 광 신호를 수신할 수 있다. 수신된 광 신호로부터 프로세서 120의 제어에 의해 제어 신호가 추출될 수 있다.
입/출력부 180는 프로세서 120의 제어에 의해 컴퓨팅 장치 100의 외부에서부터 비디오(예를 들어, 동영상 등), 오디오(예를 들어, 음성, 음악 등) 및 부가 정보(예를 들어, EPG 등) 등을 송수신 할 수 있다. 입/출력부 180는 HDMI 포트(High-Definition Multimedia Interface port, 181, 컴포넌트 잭(component jack, 182), PC 포트(PC port, 183), 및 USB 포트(USB port, 184) 중 하나를 포함할 수 있다. 입/출력부 180는 HDMI 포트 181, 컴포넌트 잭 182, PC 포트 183), 및 USB 포트 184)의 조합을 포함할 수 있다.
일 실시예에 따른 메모리 110는, 프로세서 120의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 컴퓨팅 장치 100로 입력되거나 컴퓨팅 장치 100로부터 출력되는 데이터를 저장할 수 있다. 또한, 메모리 110는 컴퓨팅 장치 100의 동작에 필요한 데이터들을 저장할 수 있다.
일 실시예에 따라 메모리 110는 도 4에 도시된 바와 같은 화질 처리 모듈 400을 구현하기 위한 인스트럭션들을 포함할 수 있다.
또한, 메모리 110에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있다. 구체적으로, 메모리 110는 뉴럴 네트워크를 이용하여 소정 동작을 수행하기 위한 하나 이상의 프로그램을 저장할 수 있다.
프로세서 120는 컴퓨팅 장치 100의 전반적인 동작 및 컴퓨팅 장치 100b의 내부 구성 요소들 사이의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행한다. 프로세서 120는 사용자의 입력이 있거나 기설정되어 저장된 조건을 만족하는 경우, 메모리 110에 저장된 OS(Operation System) 및 다양한 애플리케이션을 실행할 수 있다.
또한, 프로세서 120는 내부 메모리를 포함할 수 있을 것이다. 이 경우, 메모리 110에 저장되는 데이터, 프로그램, 및 인스트럭션 중 적어도 하나가 프로세서 120의 내부 메모리(미도시)에 저장될 수 있다. 예를 들어, 프로세서 120의 내부 메모리(미도시)는 뉴럴 네트워크를 이용하여 소정 동작들을 수행하기 위한 하나 이상의 프로그램, 또는 뉴럴 네트워크를 이용하여 소정 동작들을 수행하기 위한 하나 이상의 인스트럭션은 저장할 수 있다.
비디오 처리부 135는, 디스플레이 130에 의해 표시될 영상 데이터를 처리하며, 영상 데이터에 대한 디코딩, 렌더링, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 및 해상도 변환 등과 같은 다양한 영상 처리 동작을 수행할 수 있다.
일 실시예에 따라 비디오 처리부 135는 도 4에 도시된 바와 같은 화질 처리 모듈 400를 포함할 수 있다.
오디오 처리부 145는 오디오 데이터에 대한 처리를 수행한다. 오디오 처리부 145에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
오디오 출력부 140는 프로세서 120의 제어에 의해 튜너부(140)를 통해 수신된 방송 신호에 포함된 오디오, 통신부 150 또는 입/출력부 180를 통해 입력되는 오디오, 메모리 110에 저장된 오디오를 출력할 수 있다. 오디오 출력부 140는 스피커 141, 헤드폰 출력 단자 142 또는 S/PDIF(Sony/Philips Digital Interface: 출력 단자 143 중 적어도 하나를 포함할 수 있다.
사용자 입력부 190는, 사용자가 컴퓨팅 장치 100를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부 190는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드, 조그 휠, 조그 스위치 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
한편, 도 2 내지 도 3에 도시된 컴퓨팅 장치 100의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 컴퓨팅 장치 100의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 예를 들어, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분화되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
이하에서는 본 개시서에 개시된 실시예들에 따라 컴퓨팅 장치를 이용하여 화질 처리하는 방법을 설명한다.
도 4는 일 실시예에 따라 컴퓨팅 장치 100에서 화질 처리 동작을 수행하는 화질 처리 모듈 400의 구성의 일 예를 나타낸다.
도 4를 참조하면, 화질 처리 모듈 400는 이미지 인스턴스 품질 예측 모듈 410, 화질 제어 파라미터 생성 모듈 420, 제1인스턴스 화질 처리 모듈 430, 제2인스턴스 화질 처리 모듈 440, 제3 인스턴스 화질 처리 모듈 450, 합성 모듈 460을 포함한다.
이미지 인스턴스 품질 예측 모듈 410은 하나 이상의 뉴럴 네트워크를 이용하여, 입력 이미지에 대해서, 입력 이미지에서 인식된 하나 이상의 인스턴스에 대해서 인스턴스 별로 품질 스코어를 예측하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다.
이미지 인스턴스 품질 예측 모듈 410은 입력 이미지에 포함된 하나 이상의 인스턴스의 클래스 및 위치와 인스턴스별 품질 스코어 포함하는 이미지 인스턴스 품질 스코어 맵을 출력할 수 있다.
인스턴스의 클래스는, 예를 들어, 인스턴스가 사람인지, 운동장인지, 농구공인지를 나타내는 인스턴스의 종류를 나타낸다.
인스턴스의 위치는, 입력 이미지에서의 인스턴스의 위치를 나타낸다.
이미지 인스턴스 품질 스코어 맵은, 입력 이미지에서 인식된 인스턴스들의 각 품질 스코어를 포함하는 맵을 나타낸다. 이러한 이미지 인스턴스 품질 스코어 맵에는 인스턴스의 클래스 정보와 인스턴스의 위치 정보가 포함될 수 있다.
화질 제어 파라미터 생성 모듈 420은 이미지 인스턴스 품질 예측 모듈 410로부터 입력 이미지에 포함된 하나 이상의 인스턴스의 클래스 및 위치와 인스턴스별 품질 스코어를 수신하고, 각 인스턴스의 품질 스코어에 대응하는 화질 제어 파라미터를 생성하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다. 예를 들어, 화질 제어 파라미터 생성 모듈 420은 고주파수 성분 추출 처리, 노이즈 억제 선예도 강조 처리, 계조 변환(감마 변환) 처리, 색조 보정 처리 등을 위한 화질 제어 파라미터를 생성할 수 있다. 화질 제어 파라미터 생성 모둘 420은 이미지에 포함된 각 인스턴스 별로 해당 인스턴스의 품질 스코어를 이용하여 각 인스턴스에 대응하는 화질 제어 파라미터를 생성할 수 있다. 화질 제어 파라미터 생성 모듈 420은 각 인스턴스에 대응하여 생성한 화질 제어 파라미터를 각 인스턴스 화질 처리 모듈 430, 440, 450으로 출력할 수 있다.
제1인스턴스 화질 처리 모듈 430, 제2인스턴스 화질 처리 모듈 440, 제3인스턴스 화질 처리 모듈 450는 각 인스턴스에 대응하여 생성된 화질 제어 파라미터를 이용하여 각각 제1 인스턴스, 제2인스턴스, 제3인스턴스의 화질 처리를 수행할 수 있도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다. 도 4에서는 3개의 인스턴스 화질 처리 모듈만 도시되었지만 이는 예시일 뿐이며, 이미지에 포함된 인스턴스의 개수 만큼의 인스턴스 화질 처리 모듈이 배열될 수 있다.
각 인스턴스 화질 처리 모듈 430, 440, 450는 화질 처리된 인스턴스를 합성 모듈 460로 출력할 수 있다.
합성 모듈 460은 제1인스턴스 화질 처리 모듈 430, 제2인스턴스 화질 처리 모듈 440, 제3인스턴스 화질 처리 모듈 450로부터 수신된 화질 처리된 인스턴스들을 수신하여 합성함으로써 출력 이미지를 생성하도록 동작될 수 있는 적절한 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다.
일 실시예에 따라 화질 처리 모듈 400은 비디오 처리부 135의 일부에 포함될 수 있다.
일 실시예에 따라 화질 처리 모듈 400 중 이미지 인스턴스 품질 예측 모듈 410은 프로세서 120 또는 프로세서 120과 별도의 전용 프로세서의 일부에 포함될 수 있고, 화상 처리 모듈 400 중 화질 제어 파라미터 생성 모듈 420, 제1인스턴스 화질 처리 모듈 430, 제2인스턴스 화질 처리 모듈 440, 제3 인스턴스 화질 처리 모듈 450, 합성 모듈 460은 비디오 처리부 135의 일부에 포함될 수 있다.
일 실시예에 따라 화질 처리 모듈 400 중 이미지 인스턴스 품질 예측 모듈 410은 외부 서버에 포함될 수 있고, 컴퓨팅 장치 100b의 통신부 150를 통해 외부 서버로부터 이미지 인스턴스 품질 스코어 맵을 수신할 수 있다. 이와 같이 수신된 이미지 인스턴스 품질 스코어 맵은 비디오 처리부 135에 전달되어 화질 제어 파라미터 생성 모듈 420, 제1인스턴스 화질 처리 모듈 430, 제2인스턴스 화질 처리 모듈 440, 제3 인스턴스 화질 처리 모듈 450, 합성 모듈 460은 비디오 처리부 135에 의해 이미지의 각 인스턴스 별로 화질 처리될 수 있다.
도 5는 일 실시예에 따라 도 4에 도시된 화질 처리 모듈에서의 동작을 나타내는 흐름도이다.
도 5를 참조하면, 동작 510에서, 이미지 인스턴스 품질 예측 모듈 410은 하나 이상의 뉴럴 네트워크를 이용하여, 입력 이미지에 대해서, 입력 이미지에서 인식된 하나 이상의 인스턴스에 대해서 인스턴스 별로 품질 스코어를 예측한다. 인스턴스 별로 품질 스코어를 포함하는 정보는 이미지 인스턴스 품질 스코어 맵으로 언급될 수 있다.
뉴럴 네트워크를 이용하여 입력 이미지에 대해서 입력 이미지에 포함된 인스턴스 별로 품질 스코어를 예측하므로, 인스턴스마다 이미지 품질이 차이가 날 경우 각 인스턴스 별 예측된 품질 스코어를 이용하여 화질 처리를 할 수 있으므로 이미지의 화질 처리를 보다 효과적으로 할 수 있게 된다.
동작 520에서, 화질 제어 파라미터 생성 모듈 420는 입력 이미지에 포함된 하나 이상의 인스턴스의 클래스 및 위치와 인스턴스별 품질 스코어를 수신하고, 각 인스턴스의 품질 스코어에 대응하는 화질 제어 파라미터를 생성할 수 있다.
동작 530에서, 인스턴스 화질 처리 모듈 430,440,450는 각 인스턴스에 대응하여 생성된 화질 제어 파라미터를 이용하여 각 인스턴스의 화질 처리를 수행할 수 있다.
동작 540에서, 합성 모듈 460은 인스턴스 화질 처리 모듈에 의해 각각 화질 처리된 인스턴스 이미지들을 수신하여 합성함으로써 화질 처리된 이미지를 생성할 수 있다.
도 6은 일 실시예에 따라 도 4에 도시된 이미지 인스턴스 품질 예측 모듈의 세부적인 구성의 블록도이다.
도 6을 참조하면, 이미지 인스턴스 품질 예측 모듈 410은 특징 추출 모듈 411, 인스턴스 세그먼테이션 모듈 412, 인스턴스 스코어 획득 모듈 413을 포함할 수 있다.
특징 추출 모듈 410은 제1 뉴럴 네트워크를 이용하여, 입력 이미지의 특징을 추출하도록 동작될 수 있는 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다.
일 실시예에 따라 특징 추출 모듈 410은 입력 이미지를 제1 뉴럴 네트워크를 통과시킴으로써 입력 이미지에서 하나 이상의 하이 레벨 특징을 추출할 수 있다. 이와 같은 특징들은 특징 맵으로 언급될 수 있다. 예를 들어, 도 6에 도시된 입력 이미지에서 추출되는 하이 레벨 특징은, 사람을 인식할 수 있는 특징 맵 또는 농구골대를 인식할 수 있는 특징 맵 등을 포함할 수 있다.
일 실시예에 따라 제1 뉴럴 네트워크는 VGG, MobileNet, ResNet 등 클래식한 Convolutional Neural Network를 포함할 수 있다.
인스턴스 세그먼테이션 모듈 412는 제2뉴럴 네트워크를 이용하여, 입력 이미지의 특징을 이용하여 입력 이미지에 포함된 하나 이상의 인스턴스를 인식하고 인스턴스 맵을 생성하도록 동작될 수 있는 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다.
일 실시예에 따라 인스턴스 세그먼테이션 모듈 412는 입력 이미지의 특징을 수신하고 이를 제2 뉴럴 네트워크를 통과시킴으로써 입력 이미지에 포함된 하나 이상의 인스턴스들을 나타내는 인스턴스 맵을 획득할 수 있다. 예를 들어, 도 6에 도시된 입력 이미지를 통과시키면, 인스턴스 맵은, 사람, 농구공, 농구골대, 운동장, 하늘과 같은 인스턴스가 세그먼테이션된 인스턴스를 포함할 수 있다.
일 실시예에 따라 제2 뉴럴 네트워크는 Mask R-CNN 과 같은 Instance Segmentation Network를 포함할 수 있다.
인스턴스 스코어 획득 모듈 413은 제3 뉴럴 네트워크를 이용하여, 입력 이미지의 특징 및 인스턴스 맵을 이용하여 입력 이미지에서 인식된 하나 이상의 인스턴스의 각각에 대응하는 품질 스코어를 예측함으로써 인스턴스 품질 스코어 맵을 생성하도록 동작될 수 있는 로직, 회로, 인터페이스, 및/또는 코드를 포함할 수 있다.
일 실시예에 따라 인스턴스 스코어 획득 모듈 413는 입력 이미지의 특징 및 인스턴스 맵을 수신하고 이를 제3 뉴럴 네트워크를 통과시킴으로써 입력 이미지에 포함된 하나 이상의 인스턴스들 각각의 품질 스코어를 나타내는 인스턴스 품질 스코어 맵을 획득할 수 있다. 예를 들어, 인스턴스 스코어 맵은, 사람에 대해서 품질 스코어 4, 농구공에 대해서 품질 스코어 5, 농구골대에 대해서 품질 스코어 8, 운동장에 대해서 품질 스코어 6, 하늘에 대해서 품질 스코어 6을 포함할 수 있다. 이와 같이 입력 이미지의 각 인스턴스에 대해서 각각 품질 스코어를 획득함으로써 이러한 인스턴스 품질 스코어 맵을 도 4에 도시된 화질 처리 모듈 400에 이용하면 화질 처리 모듈 400은 이미지의 각 인스턴스 별로 각 인스턴스의 품질 스코어에 따라 다르게 화질 처리를 수행할 수 있다.
일 실시예에 따라 제3뉴럴 네트워크는 FC레이어와 소프트맥스 레이어로 이루어진 네트워크를 포함할 수 있다.
도 7은 일 실시예에 따라 도 6에 도시된 이미지 인스턴스 품질 예측 모듈을 이용한 화질 처리 동작 방법의 흐름도이다.
도 7을 참조하면, 동작 710에서, 이미지 특징 모듈 411은 제1 뉴럴 네트워크를 이용하여 입력 이미지의 특징을 추출할 수 있다.
동작 720에서, 인스턴스 세그먼테이션 모듈 412는 입력 이미지의 특징을 수신하고, 제2 뉴럴 네트워크를 이용하여 입력 이미지로부터 하나 이상의 인스턴스를 인식할 수 있다.
동작 730에서, 인스턴스 스코어 획득 모듈 413은 제3 뉴럴 네트워크를 이용하여 입력 이미지의 특징을 기초로 입력 이미지에서 인식된 각 인스턴스에 대응하는 품질 스코어를 예측함으로써 이미지 인스턴스 품질 스코어 맵을 획득할 수 있다.
동작 740에서, 화질 처리 모듈은 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여 입력 이미지에 포함된 각 인스턴스 마다 화질 처리를 다르게 수행할 수 있다.
이하에서는, 도 6에 도시된 이미지 인스턴스 품질 예측 모듈 410의 각 구성에서 이용되는 뉴럴 네트워크를 설명하기로 한다.
일 실시예에 따라 특징 추출 모듈 411은 뉴럴 네트워크를 이용하여 입력 이미지로부터 특징을 추출할 수 있다.
특징 추출 모델로는 CNN 외에 VGG, MobileNet, ResNet 등을 이용할 수 있다.
도 8은 일반적인 CNN의 구조를 나타낸다.
CNN 800은 콘볼루션 특징 추출 (Feature extraction)부분 810과 분류(Classification) 부분 820으로 이루어진다. 콘볼루션 계층들을 통해 입력 이미지에 대한 특징을 추출하고, 추출된 특징을 기반으로 기존의 신경망을 이용하여 분류를 하게 된다.
콘볼루션 계층은 입력 데이터로부터 특징을 추출하는 역할을 하는 것으로, 특징을 추출하는 필터(Filter)와 필터의 값을 비선형 값으로 바꾸어주는 활성화 함수(Activation Function)로 이루어져 있다. 필터는 추출하려는 이미지의 특징이 대상 데이터에 있는지 없는지를 검출해주는 함수라고 할 수 있다. 이와 같이 필터들을 통해서 특징맵이 추출되면 이 특징맵에 활성화 함수를 적용하여 값을 활성화시킨다. 대표적인 활성화 함수로는 시그모이드(Sigmoid)와 렐루(Relu) 함수 등이 있다.
이와 같이 추출된 특징들을 필요에 따라서 서브샘플링(sub-sampling) 과정을 거치는데, 이는 추출된 특징 맵의 사이즈를 줄여서 연산량을 줄이기 위한 것으로, 풀링 이라고도 한다.
완전 연결 계층(Fully Connected Layer) 820는 컨볼루션 계층에서 특징이 추출되었으면 이 추출된 특징 값을 기존의 신경망에 적용하여 분류하는 과정으로서, 예를 들어, 소프트맥스 함수(Softmax Function)가 이용될 수 있다.
특징 추출 모듈 411은 컨볼루션 계층 및 다양한 필터를 이용하여 이미지의 다양한 스케일에서 다양한 특징을 추출할 수 있다.
통상 콘볼루션 계층의 깊이가 얕을수록 이미지의 하위 레벨 특징이 추출되고, 콘볼루션 계층의 깊이가 깊어질수록 이미지의 상위 레벨 특징이 추출될 수 있다. 예를 들어, 사람 얼굴을 예로 들면, 하위 레벨 특징은, 사람의 눈이나 코 등의 보다 지엽적인 특징을 포함하고, 상위 레벨 특징은, 전체적인 사람 얼굴 등 보다 전체적인 특징을 포함할 수 있다. 따라서, 특징 추출 모듈 411은 상위 레벨 특징에 대응하는 특징 맵과 하위 레벨 특징에 대응하는 특징 맵을 적절히 추출하여 이용할 수 있다.
또한, 각 콘볼루션 계층에서 이용되는 필터 등을 이용하여 이미지에서 추출하려고 하는 특징 인자를 조절할 수 있다. 예를 들어, 이미지로부터 색상 정보의 추출에 이용되는 필터나 이미지로부터 텍스쳐 정보의 추출에 이용되는 필터를 이용하여 이미지로부터 색상 특징이나 텍스쳐 특징을 추출할 수 있다.
특징 추출 모듈 411은 예를 들어, VGG, MobileNet, ResNet, 특징 피라미드 네트워크 (Feature Pyramid Network: FPN)등의 네트워크를 이용할 수 있다.
도 9는 일 예에 따른 VGG 의 구조이다.
도 9를 참조하면, VGG 는 224x224x3 사이즈의RGB 입력 이미지 910을 수신한다.
제1스테이지는 두개의 콘볼루션 레이어와 맥스 풀링 레이어, 제2스테이지는 두개의 콘볼루션 레이어와 맥스 풀링 레이어, 제3스테이지는 3개의 콘볼루션 레이어와 맥스 풀링 레이어, 제4스테이지는 세개의 콘볼루션 레이어와 맥스 풀링 레이어, 제5 스테이지는 3개의 콘볼루션 레이어와 맥스 풀링 레이어로 이루어진다.
콘볼루션 레이어는 콘볼루션 연산을 통해 특징들을 추출하는 레이어로서 규칙적인 패턴을 가진 곱셈으로 이루어진다. 풀링 레이어는 여러 개의 픽셀들을 하나의 픽셀로 매핑시키는 서브샘플링을 통해서 차원을 축소시킨다.
다음, 3개의 완전 연결 레이어로 진행한다. 그리고나서 소프트맥스를 거친다.
완전 연결된 레이어(Fully Connected layer)가 콘볼루션 레이어들의 스택 뒤에 나온다. 처음 두 개는 각각 4096 채널을 가지고 세번째는 1000-way ILSVRC 분류를 수행하여 1000개의 채널을 담는다. 최종 레이어는 소프트 맥스 레이어 이다.
도 10은 일 실시예에 따라 인스턴스 세그먼테이션 모듈의 일 예를 나타낸다.
도 10을 참조하면, 인스턴스 세그먼테이션 모듈 412는 입력 이미지로부터 추출된 특징 맵을 수신하고, 제2 뉴럴 네트워크를 이용하여, 입력 이미지의 특징 맵으로부터 입력 이미지의 하나 이상의 인스턴스를 인식함으로써 입력 이미지의 인스턴스 맵을 생성할 수 있다. 도 10에 도시된 입력 이미지로부터 인스턴스 세그먼테이션 모듈 412는 사람 인스턴스, 운동장 인스턴스, 농구공 인스턴스, 농구골대 인스턴스, 하늘 인스턴스를 식별한 인스턴스 맵을 생성할 수 있다.
인스턴스 세그먼테이션 모듈 412가 입력 이미지로부터 하나 이상의 인스턴스를 인식하기 위해 이용하는 제2 뉴럴 네트워크로는 예를 들어, Mask R-CNN 등을 포함할 수 있다. 그러나 이러한 네트워크는 일 예일 뿐이며, 이미지의 특징으로부터 인스턴스를 인식하여 마스크할 수 있는 네트워크는 다양하게 결정될 수 있다.
도 11은 일 실시예에 따른 Mask R-CNN의 구조의 일 예를 나타낸다.
영역 제안 네트워크 (Region Proposal Network:RPN) 1110는 수신된 특징 맵 830을 스캔하여 오브젝트를 담고 있을 만한 영역을 제안한다. 특징 맵을 스캔하는 것은 효율적인 방법이지만, 특징들을 실제 이미지의 위치에 바인딩하는 방법이 필요하다. 그 해결책이 바로 앵커 (anchor)라는 것이다. 앵커는 입력 이미지와 관련하여, 미리 정의된 위치와 스케일을 가진 박스들의 집합이다. 클래스들 (오브젝트 또는 백그라운드) 과 바운딩 박스들이 개별적인 앵커에 할당된다. 서로 다른 스케일을 가진 앵커들이 서로 다른 레벨의 특징 맵에 바인딩되기 때문에 RPN은 특징 맵의 어디에서 오브젝트를 찾아야 하는지 그리고 바운딩 박스의 사이즈가 얼마인지 알아내기 위해 이 앵커들을 이용한다.
RoI 정렬 레이어 1120는 특징 맵의 적절한 영역들을 위치시키 위해 픽셀 레벨에서 각 오브젝트에 대한 마스크를 생성한다. ROI Align은 특징 맵을 서로다른 포인트에서 샘플링하고 bilinear interpolation을 적용한다.
픽셀 마스크를 정확하게 예측하기 위해 마스크 R-CNN은 ROI 특징들(작은 특징 맵)이 픽셀마다 공간적 대응을 정확하게 보존하도록 정렬할 필요가 있다. 이를 위해, 마스크 R-CNN은 ROI 정렬 레이어를 이용하는데, ROI 정렬 레이어는 각 ROI 빈에서 네개의 규칙적으로 샘플링된 위치들에서 입력 특징들의 값들을 추출하고, 특징들에 대해서 맥스 풀링 또는 에버리지 풀링을 수행한다. 특징들의 양자화 (quantization)을 이용하지 않기 때문에 네트워크 입력과 출력 사이의 픽셀 단위 정렬을 수행한다.
ROI 정렬된 특징은 네트워크 헤드 1130로 전달된다. 네트워크 헤드 1130는 클래스 분류기 1131, 바운딩 박스 리그레서 1132, 마스크 예측기 1133의 세 개의 병렬적인 태스크 수행기를 포함한다.
클래스 분류기 1131는 인스턴스에 대해서 클래스 레이블 1141을 출력한다. 클래스 레이블 1141은 입력 이미지의 각 인스턴스가 어떤 클래스에 해당하는지를 나타낸다. 예를 들어, 클래스 레이블은 사람, 농구공, 농구골대와 같은 것이 될 수 있다.
바운딩 박스 리그레서 1132는 ROIAligned 특징을 fully connected layer 에 의해 짧은 출력 벡터로 만든 바운딩 박스 오프셋 1142을 출력한다. 바운딩 박스 리그레서 1132는 바운딩 박스(box)를 표현하는 네 가지의 숫자 (x, y, w, h)를 계산한다. 박스를 표현하는 네가지 숫자 (x, y, w, h)에 의해 각 인스턴스의 위치가 특정될 수 있다.
마스크 예측기 1133는 FCN(Fully Convolution Network)을 이용하여 각 ROI로부터 m x m 마스크 1143를 예측한다. 이것은 마스크 브랜치의 각 레이어가 공간적 크기를 결여하는 벡터 표현으로 붕괴시킴 없이 명시적인 m x m 오브젝트 공간 레이아웃을 유지하는 것을 가능하게 한다. 이와 같은 마스크에 의해 각 인스턴스의 영역이 픽셀 단위로 예측될 수 있다.
이와 같은 클래스 1141, 바운딩 박스 오프셋 1142, 마스크 1143가 인스턴스 맵 620를 구성할 수 있다.
도 12는 일 실시예에 따라 인스턴스 세그먼테이션 모듈을 학습시키는 방법을 설명하기 위한 참고도이다.
인스턴스 세그먼테이션 모듈을 학습시키기 위해서는 많은 수의 입력 이미지를 입력하는데, 이때 각 입력 이미지에 대해서 사람이 수동으로 입력 이미지에 들어있는 인스턴스를 지정하여 알려주는 정보인 수동 레이블 정보도 입력해야 한다. 도 12에서는 예를 들어 3개의 입력 이미지를 표시하였다.
도 12를 참조하면, 입력 이미지 1210과 함께 입력 이미지 1210에서 인스턴스를 나타내는 영역, 즉, 야구 배트 영역, 사람 영역을 지정하는 레이블 정보인 수동 레이블 정보 1211이 인스턴스 세그먼테이션 모듈 412에 입력된다. 인스턴스 세그먼테이션 모듈 412는 처음에는 최초의 초기값들로 네트워크의 가중치들이 설정되어 있고, 이 가중치들을 이용하여 입력 이미지 1210에서 인스턴스를 인식한 결과를 출력하고, 이 인식 결과를 수동 레이블 정보 1211과 비교하여 그 차이값이 작아지도록 네트워크의 가중치들을 업데이트할 수 있다.
다음 마찬가지로 입력 이미지 1220과 함께 입력 이미지 1220에서 인스턴스를 나타내는 영역 즉, 사람 1, 사람 2, 사람 3, 사람 4를 지정하는 레이블 정보가 인스턴스 세그먼테이션 모듈 412에 입력된다. 인스턴스 세그먼테이션 모듈 412는 입력 이미지 1210에 의해 한번 업데이트된 가중치들로 설정되어 있고, 이 가중치들을 이용하여 입력 이미지 1220에서 인스턴스를 인식한 결과를 출력하고, 이 인식 결과를 수동 레이블 정보 1221과 비교하여 그 차이값이 작아지도록 네트워크의 가중치들을 업데이트할 수 있다.
다음 마찬가지로 입력 이미지 1230과 함께 입력 이미지 1230에서 인스턴스를 나타내는 영역 즉, 사람, 자전거, 건물을 지정하는 레이블 정보인 수동 레이블 정보 1231가 인스턴스 세그먼테이션 모듈 413에 입력된다. 인스턴스 세그먼테이션 모듈 412는 입력 이미지 1210과 입력 이미지 1220에 의해 두번 업데이트된 가중치들로 설정되어 있고, 이 가중치들을 이용하여 입력 이미지 1230에서 인스턴스를 인식한 결과를 출력하고, 이 인식 결과를 수동 레이블 정보 1231과 비교하여 그 차이 값이 작아지도록 네트워크의 가중치들을 업데이트할 수 있다.
도 12에서는 3개의 입력 이미지만을 도시하였지만, 입력 이미지를 예를 들어 10000 개 이상 으로 하여 가중치 업데이트 동작을 수행하면, 인스턴스 세그먼테이션 모듈 412는 그 후 입력되는 최종 입력 이미지에 대해서 인스턴스 인식을 하면 그 인스턴스 인식 결과는 이 최종 입력 이미지에 대한 수동 레이블 정보와 차이가 거의 없도록 하게 하는 가중치들을 얻을 수 있다. 이와 같은 가중치들이 얻어지면 인스턴스 세그먼테이션 모듈 412는 입력 이미지에서 인스턴스를 인식하여 인스턴스 맵을 출력하는 네트워크로서의 학습이 완료된 것으로 판단될 수 있다.
따라서, 이와 같이 인스턴스 세그먼테이션 모듈 412의 학습이 완료되면 도 10에 도시된 바와 같이, 입력 이미지를 수신한 경우에 인스턴스 세그먼테이션 모듈 412은 하늘, 농구공, 농구골대, 사람, 운동장 인스턴스가 마스크된 인스턴스 맵 620을 출력할 수 있게 된다.
도 13은 일 실시예에 따라 인스턴스 품질 스코어 획득 모듈 413의 일 예를 나타낸다.
도 13을 참조하면, 인스턴스 품질 스코어 획득 모듈 413은 특징 추출 모듈 411로부터 출력된 특징 맵 610 및 인스턴스 세그먼테이션 모듈 412로부터 출력된 인스턴스 맵 620을 수신하고 인스턴스 맵 620에 포함된 각 인스턴스에 대응하는 품질 스코어를 각각 예측하고 예측된 각 인스턴스에 대응하는 품질 스코어를 포함하는 인스턴스 품질 스코어 맵 630을 출력할 수 있다.
인스턴스 품질 스코어 획득 모듈 413은 FC 1310와 소프트맥스 레이어 1320를 포함할 수 있다.
인스턴스 품질 스코어 획득 모듈 413은 인스턴스 레벨의 공간에서 추출한 특징을 수신하고, FC (Fully Convolution layer) 1310와 Softmax Layer 1320를 통하여, 이미지 품질 스코어를 출력하게 된다. FC 레이어 1310의 출력 디멘젼이 10개라고 가정하면 FC 레이어 1310, 소프트맥스 레이어 1320를 통과한 출력은 1~10점의 점수 범위에 대한 10x1 확률 어레이가 된다. 예를 들어, 어느 인스턴스에 대한 출력이 {0, 0, 0, 0, 0, 0, 0, 0, 0.1, 0.9}일 경우 이 인스턴스에 대한 품질은최대치의 확률을 갖는 Index인 10점으로 추측(Inference) 할 수 있다. 도 13을 참조하면, 인스턴스 맵 620은 사람, 농구공, 농구골대, 하늘, 땅의 다섯개의 인스턴스를 포함하므로 인스턴스 품질 스코어 획득 모듈 413은 인스턴스 맵 620에 포함된 각 인스턴스에 대응한 품질 스코어를 출력할 수 있다. 예를 들어, 도 13에는 인스턴스 품질 스코어 맵 630으로서 사람 인스턴스에 대해서 4, 농구공 인스턴스에 대해서 5, 농구골대 인스턴스에 대해서 8, 하늘 인스턴스에 대해서 6, 땅 인스턴스에 대해서 6의 품질 스코어를 가지는 것이 표시되어 있다.
도 14는 일 실시예에 따라 인스턴스 품질 스코어 획득 모듈 413을 학습시키는 방법을 설명하기 위한 참고도이다.
도 14를 참조하면, 인스턴스 스코어 획득 모듈 413을 학습시키기 위해서는 많은 수의 입력 이미지를 입력하는데, 이때 각 입력 이미지에 대해서 다양한 형태로 품질을 저하시킨 다수의 입력 이미지를 생성하여 사용한다. 예를 들어, 학습 이미지로서 10000개의 이미지를 사용하고 각 이미지에 대해서 예를 들어 10개의 레벨의 품질 저하시킨 이미지를 이용한다면, 학습에 이용되는 이미지는 총 10000x 10 개의 이미지가 된다. 각 입력 이미지는 디테일, 노이즈, 컬러, 콘트라스트 등 다양한 화질 요소에 따라 다양한 레벨로 품질 저하시킬 수 있다. 또한, 사람이 수동으로 입력 이미지에 들어있는 인스턴스에 대한 품질 스코어를 지정하여 알려주는 정보인 수동 레이블 정보도 입력해야 한다. 도 14에서는 예를 들어 3개의 입력 이미지를 표시하였다.
도 14를 참조하면, 입력 이미지 1410a와 입력 이미지 1410a의 품질을 저하시킨 입력 이미지 1410b, 1410c, 1410d를 준비한다. 그리고, 입력 이미지 1410a에 포함된 인스턴스인, 사람 인스턴스, 야구 배트 인스턴스, 배경 인스턴스에 대해서 사람이 관찰하여 판단한 품질 스코어를 입력한다. 도 14에서 입력 이미지 1410a에 대해서, 사람 인스턴스에 대해서는 8, 야구 배트 인스턴스에 대해서는 9, 배경 인스턴스에 대해서는 5로 품질 스코어를 매긴 것이 표시되어 있다. 입력 이미지 1410b, 1410c, 1410d에 대해서도 마찬가지로 사람이 관찰하여 품질 스코어를 정한다.
이와 같이 입력 이미지 1410a 및 입력 이미지 1410a에 대해서 사람이 관찰하여 판단한 품질 스코어가 인스턴스 품질 스코어 획득 모듈 413에 입력되면, 인스턴스 품질 스코어 획득 모듈 413은 처음에는 최초의 초기값들로 네트워크의 가중치들이 설정되어 있고, 이 가중치들을 이용하여 입력 이미지 1410a에서 인스턴스에 대해서 품질 스코어를 예측한 결과를 출력하고, 이 예측 결과를 사용자에 의해 설정된 품질 스코어와 그 차이값이 작아지도록 네트워크의 가중치들을 업데이트할 수 있다. 예를 들어 도 14를 참조하면, 인스턴스 품질 스코어 획득 모듈 413에 의해 입력 이미지 1410a의 인스턴스 품질 스코어 예측 결과는 사람에 대해서 5, 야구 배트에 대해서 4, 배경에 대해서 3으로, 사람에 의해 설정된 품질 스코어인 사람에 대해서 8, 야구 배트에 대해서 9, 배경에 대해서 5와는 차이가 많이 남을 알 수 있다. 인스턴스 품질 스코어 획득 모듈 413은 모듈 413에 의해 예측된 결과와 사람에 의해 설정된 품질 스코어의 차이가 작아지도록 네트워크의 가중치들을 업데이트할 수 있다.
마찬가지로 두번째 입력 이미지 1410b 및 입력 이미지 1410b에 대해서 사람이 관찰하여 판단한 품질 스코어가 인스턴스 품질 스코어 획득 모듈 413에 입력되면, 인스턴스 품질 스코어 획득 모듈 413은 한번 업데이트된 가중치들을 이용하여 입력 이미지 1410b에서 인스턴스에 대해서 품질 스코어를 예측한 결과를 출력하고, 이 예측 결과를 사용자에 의해 설정된 품질 스코어와 그 차이값이 작아지도록 네트워크의 가중치들을 업데이트할 수 있다.
이와 같은 방식으로, 입력 이미지 1410c, 1410d, 그리고, 입력 이미지 1420a, 1420b, 1420c, 1420d에 대해서, 그리고 입력 이미지 1430a, 1430b, 1430c, 1430d에 대해서 인스턴스 품질 스코어 획득 모듈 413은 모듈 413에 의해 예측된 결과와 사람에 의해 설정된 품질 스코어의 차이가 작아지도록 네트워크의 가중치들을 업데이트할 수 있다.
도 14에서는 총 12개의 입력 이미지만을 도시하였지만, 입력 이미지를 예를 들어 10000 개 이상 으로 하여 가중치 업데이트 동작을 수행하면, 인스턴스 품질 스코어 획득 모듈 413은 그 후 입력되는 최종 입력 이미지에 대해서 인스턴스 품질 스코어를 예측하면 그 인스턴스 품질 스코어 예측 결과는 이 최종 입력 이미지에 대한 수동 설정 품질 스코어와 차이가 거의 없도록 하게 하는 가중치들을 얻을 수 있다. 이와 같은 가중치들이 얻어지면 인스턴스 품질 스코어 획득 모듈 413은 입력 이미지에서 각 인스턴스에 대응하는 품질 스코어를 예측하여 인스턴스 품질 스코어 맵을 출력하는 네트워크로서의 학습이 완료된 것으로 판단될 수 있다.
따라서, 이와 같이 인스턴스 품질 스코어 획득 모듈 413의 학습이 완료되면 도 13에 도시된 바와 같이, 입력 이미지에 대응하는 특징 맵 610과 이 입력 이미지에 대응하는 인스턴스 맵 620을 수신한 경우에 인스턴스 품질 스코어 획득 모듈 413은 하늘, 농구공, 농구골대, 사람, 운동장 인스턴스에 대해서 각각 품질 스코어가 6, 5, 8, 4, 6으로 예측된 인스턴스 품질 스코어 맵 630을 획득할 수 있게 된다.
도 15는 일 실시예에 따른 프로세서의 구성을 뉴럴 네트워크의 학습과 처리 면에서 구분하여 설명하기 위한 블록도이다.
도 15를 참조하면, 일 실시예에 따른 프로세서 1500은 데이터 학습부 1510 및 데이터 처리부 1520를 포함할 수 있다.
데이터 학습부 1510는 일 실시예에 따른 제1 뉴럴 네트워크를 학습시키기 위하여, 입력 이미지로부터 특징을 추출하기 위한 기준을 학습할 수 있다.
또한, 데이터 학습부 1510는 일 실시예에 따른 제2 뉴럴 네트워크를 학습시키기 위하여, 이미지의 특징을 이용하여 이미지에 포함된 하나 이상의 인스턴스를 인식하는 기준을 학습할 수 있다.
또한, 데이터 학습부 1510는 일 실시예에 따른 제3 뉴럴 네트워크를 학습시키기 위하여, 입력된 이미지의 특징 및 인스턴스 맵으로부터 이미지에 포함된 인스턴스의 품질 스코어를 예측하기 위한 기준을 학습할 수 있다.
데이터 처리 모델들(예를 들어, 제1 내지 제3 뉴럴 네트워크들)은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 처리 모델들은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 처리 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
또한, 데이터 학습부 1510는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 처리 모델들을 학습시킬 수 있다.
또한, 데이터 학습부 1510는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여, 데이터 처리 모델을 학습시킬 수 있다. 또한, 데이터 학습부 1510는, 예를 들어, 별다른 지도 없이 데이터 처리를 위해 필요한 데이터의 종류를 스스로 학습함으로써, 데이터 처리를 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 처리 모델을 학습시킬 수 있다. 또한, 데이터 학습부 1510는, 예를 들어, 학습에 따른 결과값이 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 처리 모델을 학습시킬 수 있다.
또한, 데이터 처리 모델이 학습되면, 데이터 학습부 1510는 학습된 데이터 처리 모델을 저장할 수 있다. 이 경우, 데이터 학습부 1510는 학습된 데이터 처리 모델들을 컴퓨팅 장치의 메모리에 저장할 수 있다. 또는, 데이터 학습부 1510는 학습된 데이터 처리 모델을 컴퓨팅 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
데이터 처리부 1520는 학습된 제1 뉴럴 네트워크를 포함하는 데이터 처리 모델에 이미지를 입력하고, 데이터 처리 모델은 결과값으로 이미지로부터 특징 맵을 출력할 수 있다. 출력된 결과 값은 제1 뉴럴 네트워크를 포함하는 데이터 처리 모델을 업데이트하는데 이용될 수 있다.
데이터 처리부 1520는 학습된 제2 뉴럴 네트워크를 포함하는 데이터 처리 모델에 이미지의 특징 맵을 입력하고, 데이터 처리 모델은 결과값으로 이미지에서 인식된 인스턴스를 나타내는 인스턴스 맵을 출력할 수 있다. 출력된 결과 값은 제2 뉴럴 네트워크를 포함하는 데이터 처리 모델을 업데이트하는데 이용될 수 있다.
데이터 처리부 1520는 학습된 제3 뉴럴 네트워크를 포함하는 데이터 처리 모델에 이미지의 특징 맵 및 인스턴스 맵을 입력하고, 데이터 처리 모델은 결과값으로 이미지의 인스턴스 각각에 대응하는 품질 스코어를 포함하는 이미지 인스턴스 품질 스코어 맵을 출력할 수 있다. 출력된 결과 값은 제3 뉴럴 네트워크를 포함하는 데이터 처리 모델을 업데이트하는데 이용될 수 있다.
데이터 학습부 1510 및 데이터 처리부 1520 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 컴퓨팅 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부 1510 및 데이터 처리부 1520 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 탑재될 수도 있다.
또한, 데이터 학습부 1510 및 데이터 처리부 1520는 유선 또는 무선으로 통하여, 데이터 학습부 1510가 구축한 모델 정보를 데이터 처리부 1520로 제공할 수도 있고, 데이터 처리부 1520로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부 1510로 제공될 수도 있다.
한편, 데이터 학습부 1510 및 데이터 처리부 1520 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부 1510 및 데이터 처리부 1520 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
데이터 학습부 1510 및 데이터 처리부 1520는 하나의 컴퓨팅 장치에 탑재될 수도 있으며, 또는 별개의 컴퓨팅 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부 3310 및 데이터 처리부 3320 중 하나는 컴퓨팅 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다.
일 예에 따라, 데이터 학습부 1510 및 데이터 처리부 1520는 사용자 컴퓨팅 장치에 탑재되어, 사용자 컴퓨팅 장치에서 학습 및 데이터 처리가 모두 수행될 수 있다.
일 예에 따라, 데이터 학습부 1510는 서버에 탑재되어 학습된 후에, 학습이 완료된 모델을 포함하는 데이터 처리부 1520는 사용자 컴퓨팅 장치에 탑재될 수 있다.
도 16은 일 실시예에 따라 데이터 학습부는 서버에 탑재되고 데이터 처리부는 사용자 컴퓨팅 장치에 탑재된 예를 나타낸다.
도 16를 참조하면, 서버 1600는 데이터 학습부 1510을 이용하여 본 개시서에 개시된 방법에 따라 이미지로부터 인식된 각 인스턴스에 대응하는 품질 스코어를 예측함으로써, 이미지 인스턴스 품질 스코어 맵을 획득하는 신경망 모델을 포함할 수 있다. 그리고 서버 1600는 이와 같이 학습된 신경망 모델을 사용자 컴퓨팅 장치 100으로 제공할 수 있다. 사용자 컴퓨팅 장치 100은 서버 1600으로부터 수신된 학습된 신경망 모델을 이용하여 데이터 처리부 1520을 구현할 수 있다. 입력 이미지로부터 이미지의 인스턴스별 품질 스코어를 획득하고자 할 때, 사용자 컴퓨팅 장치는 서버와의 통신 필요 없이 자체적으로 탑재된 데이터 처리부 1520를 이용하여 이미지의 인스턴스별 품질 스코어를 획득하고 이미지의 인스턴스별로 화질 처리를 수행하여 사용자 컴퓨팅 장치의 디스플레이에 화질 처리된 이미지를 출력할 수 있다.
도 17은 일 실시예에 따라 데이터 학습부 및 데이터 처리부가 모두 서버에 탑재된 예를 나타낸다.
도 17을 참조하면, 데이터 학습부 1510 및 데이터 처리부 1520는 모두 서버에 탑재된다. 따라서 서버는 데이터 학습부 1510을 이용하여 본 개시서에 개시된 방법에 따라 이미지로부터 인식된 각 인스턴스에 대응하는 품질 스코어를 예측하는 방법을 학습함으로써, 이미지 인스턴스별 품질 스코어 획득 신경망 모델을 획득하고, 획득된 신경망 모델을 이용하여 데이터 처리부 1520를 구현할 수 있다.
사용자 컴퓨팅 장치 100가 서버에 이미지 및 이미지 품질 스코어 요청을 전달하면, 서버 1600는 탑재된 데이터 처리부 1520를 이용하여 이미지의 각 인스턴스에 대응하는 품질 스코어를 예측함으로써, 이미지 인스턴스 품질 스코어 맵을 획득하고 획득된 이미지 인스턴스 품질 스코어 맵을 사용자 컴퓨팅 장치 100로 전송할 수 있다.
일 실시예에 따른 컴퓨팅 장치의 동작방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (15)

  1. 컴퓨팅 장치에 있어서,
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    제1 뉴럴 네트워크를 이용하여 입력 이미지의 특징을 추출하고,
    제2 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징으로부터 하나 이상의 인스턴스를 인식하고,
    제3 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징을 기초로 상기 입력 이미지에서 인식된 각 인스턴스에 대응하는 품질 스코어를 예측함으로써 이미지 인스턴스 품질 스코어 맵을 획득하고,
    상기 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스 마다 화질 처리를 다르게 수행하는, 컴퓨팅 장치.
  2. 제1항에 있어서,
    상기 이미지 인스턴스 품질 스코어 맵은, 상기 입력 이미지에서 인식된 하나 이상의 인스턴스 각각에 대응하는 인스턴스의 위치 및 품질 스코어를 포함하는, 컴퓨팅 장치.
  3. 제1항에 있어서,
    상기 제1 뉴럴 네트워크는 하나 이상의 콘볼루션 레이어를 포함하는, 컴퓨팅 장치.
  4. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 제2 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징으로부터 상기 입력 이미지에 포함된 상기 하나 이상의 인스턴스를 인식함으로써, 각 인스턴스에 대응하는 클래스, 각 인스턴스의 위치, 각 인스턴스의 픽셀 단위 영역을 나타내는 마스크를 포함하는 인스턴스 맵을 획득하는, 컴퓨팅 장치.
  5. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    복수의 훈련 이미지 및 각 훈련 이미지에 포함된 하나 이상의 인스턴스 각각에 설정된 품질 스코어를 수신하고,
    상기 훈련 이미지로부터 상기 훈련 이미지에 포함된 하나 이상의 인스턴스 각각에 대응하는 품질 스코어를 추론하고,
    상기 설정된 품질 스코어와 상기 추론된 품질 스코어의 차이가 작아지도록 상기 제3 뉴럴 네트워크에 포함된 하나 이상의 레이어의 가중치들을 결정함으로써 상기 제3 뉴럴 네트워크를 획득하는, 컴퓨팅 장치.
  6. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스에 대해서, 각 인스턴스의 품질 스코어를 이용하여 화질 제어 파라미터를 생성하고, 각 인스턴스 이미지에 대해서 해당 인스턴스에 대응하는 화질 제어 파라미터를 이용하여 화질 처리를 수행하고, 화질 처리된 하나 이상의 인스턴스 이미지를 합성하여 출력 이미지를 생성하는, 컴퓨팅 장치.
  7. 제6항에 있어서,
    상기 화질 제어 파라미터는, 고주파수 성분 추출 처리, 노이즈 억제 선예도 강조 처리, 계조 변환 처리, 색조 보정 처리 중 적어도 하나를 위한 화질 제어 파라미터를 포함하는, 컴퓨팅 장치.
  8. 컴퓨팅 장치의 동작 방법에 있어서,
    제1 뉴럴 네트워크를 이용하여 입력 이미지의 특징을 추출하는 동작,
    제2 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징으로부터 하나 이상의 인스턴스를 인식하는 동작,
    제3 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징을 기초로 상기 입력 이미지에서 인식된 각 인스턴스에 대응하는 품질 스코어를 예측함으로써 이미지 인스턴스 품질 스코어 맵을 획득하는 동작, 및
    상기 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스 마다 화질 처리를 다르게 수행하는 동작을 포함하는, 컴퓨팅 장치의 동작 방법.
  9. 제8항에 있어서,
    상기 이미지 인스턴스 품질 스코어 맵은, 상기 입력 이미지에서 인식된 하나 이상의 인스턴스 각각에 대응하는 인스턴스의 위치 및 품질 스코어를 포함하는, 컴퓨팅 장치의 동작 방법.
  10. 제8항에 있어서,
    상기 제1 뉴럴 네트워크는 하나 이상의 콘볼루션 레이어를 포함하는, 컴퓨팅 장치의 동작 방법.
  11. 제8항에 있어서,
    상기 제2 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징으로부터 상기 입력 이미지에 포함된 상기 하나 이상의 인스턴스를 인식함으로써, 각 인스턴스에 대응하는 클래스, 각 인스턴스의 위치, 각 인스턴스의 픽셀 단위 영역을 나타내는 마스크를 포함하는 인스턴스 맵을 획득하는 동작을 더 포함하는, 컴퓨팅 장치의 동작 방법.
  12. 제8항에 있어서,
    복수의 학습 이미지 및 각 학습 이미지에 포함된 하나 이상의 인스턴스 각각에 설정된 품질 스코어를 수신하는 동작,
    상기 학습 이미지로부터 상기 학습 이미지에 포함된 하나 이상의 인스턴스 각각에 대응하는 품질 스코어를 추론하는 동작,
    상기 설정된 품질 스코어와 상기 추론된 품질 스코어의 차이가 작아지도록 상기 제3 뉴럴 네트워크에 포함된 하나 이상의 레이어의 가중치들을 결정함으로써 상기 제3 뉴럴 네트워크를 획득하는 동작을 포함하는, 컴퓨팅 장치의 동작 방법.
  13. 제8항에 있어서,
    상기 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스에 대해서, 각 인스턴스의 품질 스코어를 이용하여 화질 제어 파라미터를 생성하고, 각 인스턴스 이미지에 대해서 해당 인스턴스에 대응하는 화질 제어 파라미터를 이용하여 화질 처리를 수행하고, 화질 처리된 하나 이상의 인스턴스 이미지를 합성하여 출력 이미지를 생성하는 동작을 더 포함하는, 컴퓨팅 장치의 동작 방법.
  14. 제13항에 있어서,
    상기 화질 제어 파라미터는, 고주파수 성분 추출 처리, 노이즈 억제 선예도 강조 처리, 계조 변환 처리, 색조 보정 처리 중 적어도 하나를 위한 화질 제어 파라미터를 포함하는, 컴퓨팅 장치의 동작 방법.
  15. 컴퓨팅 장치의 동작 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능 기록 매체에 있어서, 상기 컴퓨팅 장치의 동작 방법은,
    제1 뉴럴 네트워크를 이용하여 입력 이미지의 특징을 추출하는 동작,
    제2 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징으로부터 하나 이상의 인스턴스를 인식하는 동작,
    제3 뉴럴 네트워크를 이용하여, 상기 입력 이미지의 특징을 기초로 상기 입력 이미지에서 인식된 각 인스턴스에 대응하는 품질 스코어를 예측함으로써 이미지 인스턴스 품질 스코어 맵을 획득하는 동작, 및
    상기 입력 이미지에 포함된 각 인스턴스에 대응하는 품질 스코어를 이용하여, 상기 입력 이미지에 포함된 각 인스턴스 마다 화질 처리를 다르게 수행하는 동작을 포함하는, 컴퓨터 판독가능 기록 매체.
KR1020190107646A 2019-08-30 2019-08-30 컴퓨팅 장치 및 그 동작 방법 KR20210026618A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190107646A KR20210026618A (ko) 2019-08-30 2019-08-30 컴퓨팅 장치 및 그 동작 방법
PCT/KR2020/011236 WO2021040347A1 (ko) 2019-08-30 2020-08-24 컴퓨팅 장치 및 그 동작 방법
US17/682,815 US20220180625A1 (en) 2019-08-30 2022-02-28 Computing device and operating method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190107646A KR20210026618A (ko) 2019-08-30 2019-08-30 컴퓨팅 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20210026618A true KR20210026618A (ko) 2021-03-10

Family

ID=74683583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190107646A KR20210026618A (ko) 2019-08-30 2019-08-30 컴퓨팅 장치 및 그 동작 방법

Country Status (3)

Country Link
US (1) US20220180625A1 (ko)
KR (1) KR20210026618A (ko)
WO (1) WO2021040347A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220043764A (ko) * 2020-09-29 2022-04-05 삼성전자주식회사 비디오 품질 평가 방법 및 장치
KR102293547B1 (ko) * 2021-03-08 2021-08-26 주식회사 에스아이에이 변화 탐지 방법 및 장치
US11948358B2 (en) * 2021-11-16 2024-04-02 Adobe Inc. Self-supervised hierarchical event representation learning

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9692964B2 (en) * 2003-06-26 2017-06-27 Fotonation Limited Modification of post-viewing parameters for digital images using image region or feature information
US7333240B2 (en) * 2003-10-01 2008-02-19 Hewlett-Packard Development Company, L.P. Color image processor
US7512286B2 (en) * 2003-10-27 2009-03-31 Hewlett-Packard Development Company, L.P. Assessing image quality
US10504259B2 (en) * 2017-04-24 2019-12-10 Intel Corporation Separately processing regions or objects or interest from a render engine to a display engine or a display panel

Also Published As

Publication number Publication date
US20220180625A1 (en) 2022-06-09
WO2021040347A1 (ko) 2021-03-04

Similar Documents

Publication Publication Date Title
US10284432B1 (en) Method for enhancing quality of media transmitted via network
US20220180625A1 (en) Computing device and operating method therefor
EP3779888B1 (en) Generating candidate images appropriate for image synthesis with an input image
KR102542788B1 (ko) 전자장치, 그 제어방법 및 컴퓨터프로그램제품
JP7214845B2 (ja) ディスプレイ装置及びその制御方法
US20190066158A1 (en) Method and electronic device for providing advertisement
JP6609505B2 (ja) 画像合成装置及びプログラム
KR20200063289A (ko) 영상 처리 장치 및 그 동작방법
US20220377416A1 (en) Video playback device and control method thereof
US11640650B2 (en) Computing apparatus and operation method of the same
US11961203B2 (en) Image processing device and operation method therefor
CN112233075B (zh) 视频清晰度评估方法、装置、存储介质及电子设备
US20220108545A1 (en) Method and device for high-speed image recognition using 3d cnn
KR102628898B1 (ko) 인공 지능 기반의 영상 처리 방법 및 이를 수행하는 영상 처리 장치
CN112788235A (zh) 图像处理方法、装置、终端设备及计算机可读取存储介质
CN113297937B (zh) 一种图像处理方法、装置、设备及介质
KR20230009806A (ko) 영상 처리 장치 및 그 동작 방법
US11205391B2 (en) Image and audio processing apparatus and operating method of the same
US20230209087A1 (en) Method and device for improving video quality
KR102650138B1 (ko) 디스플레이장치, 그 제어방법 및 기록매체
CN114882226A (zh) 图像处理方法、智能终端及存储介质
US20240144455A1 (en) Image processing device and operation method thereof
US20210373673A1 (en) Gesture-controlled electronic apparatus and operating method thereof
US20220392210A1 (en) Electronic device for performing video quality assessment, and operation method of the electronic device
KR20220159250A (ko) 비디오 품질을 평가하는 전자 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination