KR20200008845A - 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체 - Google Patents

전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체 Download PDF

Info

Publication number
KR20200008845A
KR20200008845A KR1020180083016A KR20180083016A KR20200008845A KR 20200008845 A KR20200008845 A KR 20200008845A KR 1020180083016 A KR1020180083016 A KR 1020180083016A KR 20180083016 A KR20180083016 A KR 20180083016A KR 20200008845 A KR20200008845 A KR 20200008845A
Authority
KR
South Korea
Prior art keywords
feature
filters
artificial intelligence
image
electronic device
Prior art date
Application number
KR1020180083016A
Other languages
English (en)
Other versions
KR102476239B1 (ko
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 KR1020180083016A priority Critical patent/KR102476239B1/ko
Priority to US16/508,529 priority patent/US11347962B2/en
Priority to EP19838076.8A priority patent/EP3752978A4/en
Priority to PCT/KR2019/008794 priority patent/WO2020017875A1/en
Publication of KR20200008845A publication Critical patent/KR20200008845A/ko
Application granted granted Critical
Publication of KR102476239B1 publication Critical patent/KR102476239B1/ko

Links

Images

Classifications

    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • 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/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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/20024Filtering details
    • 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]

Landscapes

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

Abstract

본 개시는 기계 학습 알고리즘을 활용하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 특히, 본 개시에 따른 전자 장치는 학습된 인공 지능 모델이 저장된 메모리 및 입력된 영상에 인공 지능 모델에 입력하여 복수의 특징 값을 획득하는 프로세서를 포함하고, 학습된 인공 지능 모델은, 입력된 영상에서 추출된 복수의 특징 맵에 복수의 필터를 각각 적용하고 필터가 각각 적용된 복수의 특징 맵에 대한 특징 값을 획득하기 위한 풀링 레이어(pooling layer)를 포함한다.

Description

전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체 { ELECTRONIC APPARATUS, METHOD FOR PROCESSING IMAGE AND COMPUTER-READABLE RECORDING MEDIUM }
본 개시는 전자 장치 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체에 대한 것으로, 보다 상세하게는, 입력 영상으로부터 보다 성능이 향상된 특징을 추출하기 위한 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체에 관한 것이다.
인공지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서 기계가 스스로 학습하고 판단하며, 사용할수록 인식률이 향상되는 시스템이다
인공지능 기술은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘을 이용하는 기계학습(딥러닝) 기술 및 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다.
요소기술들은, 예로, 인간의 언어/문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론/예측 기술, 인간의 경험 정보를 지식데이터로 처리하는 지식 표현 기술 및 차량의 자율 주행, 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 하나를 포함할 수 있다.
특히, 인공 지능 모델을 이용하여 영상의 특징을 추출하기 위해서는 인공 지능 모델에 고정된 크기의 영상이 입력되어야 했다는 점에서 영상의 해상도 저하 및 영상의 비율이 변형되는 문제가 있었다.
이에 따라, 입력 영상의 크기에 구애받지 않고 영상의 특징을 추출하기 위한 기술의 필요성이 대두되었다.
본 개시는 전자 장치 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체에 대한 것으로, 보다 상세하게는, NCC(Normalized Cross Correlation) 풀링 레이어를 이용하여 입력 영상으로부터 보다 성능이 향상된 특징을 추출하기 위한 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체에 관한 것이다.
본 개시에 따른 전자 장치는, 학습된 인공 지능 모델이 저장된 메모리 및 입력된 영상을 상기 인공 지능 모델에 입력하여 복수의 특징 값을 획득하는 프로세서를 포함하고, 상기 학습된 인공 지능 모델은, 상기 입력된 영상에서 추출된 복수의 특징 맵에 복수의 필터를 각각 적용하고 상기 복수의 필터가 각각 적용된 복수의 특징 맵에 대한 특징 값을 획득하기 위한 풀링 레이어(pooling layer)를 포함한다.
이 경우, 상기 복수의 필터는, 상기 복수의 특징 맵의 전체 영역에 대하여 각각 적용될 수 있다.
한편, 상기 복수의 필터는, 상기 획득된 특징 값 및 상기 입력된 영상에 기초하여 업데이트될 수 있다.
한편, 상기 특징 값은, 상기 복수의 특징 맵과 상기 복수의 필터 각각의 유사도에 기초하여 획득될 수 있다.
한편, 상기 풀링 레이어는, 상기 복수의 필터가 각각 적용된 복수의 특징 맵이 통과되는 Relu 레이어를 더 포함할 수 있다.
이 경우, 상기 특징 값은, 상기 Relu 레이어를 통과한 복수의 특징 맵 각각의 평균 값으로 획득될 수 있다.
한편, 상기 복수의 특징 맵은, 상기 학습된 인공 지능 모델에 포함된 컨벌루션 레이어(Convolution layer)를 이용하여 추출될 수 있다.
한편, 상기 복수의 필터의 개수는, 상기 복수의 특징 맵의 개수 및 상기 복수의 특징 값의 개수에 기초하여 식별될 수 있다.
한편, 상기 프로세서는, 상기 획득된 특징 값에 기초하여, 상기 입력된 영상에 포함된 오브젝트를 분류할 수 있다.
한편, 본 개시의 일 실시 예에 따른 영상 처리 방법은, 영상을 입력받는 단계 및 상기 입력된 영상을 학습된 인공 지능 모델에 입력하여 복수의 특징 값을 획득하는 단계를 포함하고, 상기 학습된 인공 지능 모델은, 상기 입력된 영상에서 추출된 복수의 특징 맵에 복수의 필터를 각각 적용하고 상기 복수의 필터가 각각 적용된 복수의 특징 맵에 대한 특징 값을 획득하기 위한 풀링 레이어(pooling layer)를 포함할 수 있다.
이 경우, 상기 복수의 필터는, 상기 복수의 특징 맵의 전체 영역에 대하여 각각 적용될 수 있다.
한편, 상기 복수의 필터는, 상기 획득된 특징 값 및 상기 입력된 영상에 기초하여 업데이트될 수 있다.
한편, 상기 특징 값은, 상기 복수의 특징 맵과 상기 복수의 필터 각각의 유사도에 기초하여 획득될 수 있다.
한편, 상기 풀링 레이어는, 상기 복수의 필터가 각각 적용된 복수의 특징 맵이 통과되는 Relu 레이어를 더 포함할 수 있다.
이 경우, 상기 특징 값은, 상기 Relu 레이어를 통과한 복수의 특징 맵 각각의 평균 값으로 획득될 수 있다.
한편, 상기 복수의 특징 맵은, 상기 학습된 인공 지능 모델에 포함된 컨벌루션 레이어(Convolution layer)를 이용하여 추출될 수 있다.
한편, 상기 복수의 필터의 개수는, 상기 복수의 특징 맵의 개수 및 상기 복수의 특징 값의 개수에 기초하여 식별될 수 있다.
한편, 상기 획득된 특징 값에 기초하여, 상기 입력된 영상에 포함된 오브젝트를 분류하는 단계를 더 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따른 영상 처리 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록 매체에 있어서, 상기 영상 처리 방법은, 영상을 입력받는 단계, 상기 입력된 영상을 학습된 인공 지능 모델에 입력하여 복수의 특징 값을 획득하는 단계를 포함하고, 상기 학습된 인공 지능 모델은, 상기 입력된 영상에서 추출된 복수의 특징 맵에 복수의 필터를 각각 적용하고 상기 복수의 필터가 각각 적용된 복수의 특징 맵에 대한 특징 값을 획득하기 위한 풀링 레이어(pooling layer)를 포함할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 영상 처리 과정을 개략적으로 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 간략한 구성을 설명하기 위한 블럭도,
도 3은 도 2에 개시된 전자 장치의 구체적인 구성을 설명하기 위한 블럭도,
도 4 및 도 5는 특징 추출 기술과 관련한 종래 기술을 설명하기 위한 도면,
도 6은 본 개시의 일 실시 예에 따른 영상 처리 방법을 구체적으로 설명하기 위한 도면,
도 7 은 본 개시의 일 실시 예에 따른, 인공 지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도,
도 8은 본 개시의 일 실시 예에 따른, 학습부 및 획득부의 구체적인 구성을 나타내는 블록도,
도 9는 본 개시의 일 실시 예에 따른 영상 처리 방법을 설명하기 위한 흐름도,
도 10은 본 개시의 다른 실시 예에 따른 영상 처리 방법을 설명하기 위한 흐름도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 발명된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하에서는 도면을 참조하여 본 발명에 대해 더욱 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 영상 처리 과정을 개략적으로 설명하기 위한 도면이다.
도 1을 참조하면, 입력 영상(10)이 전자 장치에 입력되면, 전자 장치는 일련의 영상 처리 과정을 거친 후 결과(30)를 출력할 수 있다. 이때, 결과(30)는 영상 처리의 목적에 따라 입력 영상(10)에 포함된 오브젝트의 분류, 입력 영상(10)의 화질이 개선된 고화질 영상 등일 수 있다.
여기서, 전자 장치는 인공 지능 학습이 가능한 인공 지능 모델(20)을 포함할 수 있다. 예를 들어, 전자 장치는 데스크탑 PC, 노트북, 스마트폰, 태블릿 PC, 서버 등일 수 있다. 또는, 전자 장치는 클라우딩 컴퓨팅 환경이 구축된 시스템 자체를 의미할 수도 있다. 다만, 이에 한정되는 것은 아니며, 전자 장치는 인공 지능 학습이 가능한 장치라면 어떤 장치라도 무방하다.
구체적으로, 전자 장치에 포함된 인공 지능 모델(20)은 입력 영상(10)의 특징을 추출하기 위한 복수의 레이어(21, 22)를 포함할 수 있다. 이때, 인공 지능 모델(20)은 컨벌루션 레이어(convolution layer)를 포함하는 것으로, 이미지를 인식하기 위한 컨벌루션 뉴럴 네트워크(convolution neural network)일 수 있다. 그리고, 전자 장치는 입력 영상(10)을 복수의 레이어(21, 22)에 통과시켜 영상 처리의 목적에 따른 특징 벡터(23)를 획득할 수 있다. 여기서, 특징 벡터(23)는 영상 처리의 목적에 따라 필요한 특징의 개수로, 목적에 대응되도록 기설정된 것일 수 있으며, 사용자에 의해 입력된 것일 수 있다.
구체적으로, 입력 영상(10)은 인공 지능 모델(20)에 포함된 컨벌루션 레이어(convolution layer, 21)에 입력될 수 있다. 여기서 컨벌루션 레이어(21)는 복수의 필터를 이용하여 입력 영상(10)의 특징을 추출한 복수의 특징 맵을 추출할 수 있다.
여기서, 필터는 가중치를 갖는 마스크로서 가중치의 행렬로 정의된다. 필터는 윈도우(windows) 또는 커널(kernel)이라고도 한다. 필터에서 행렬을 구성하는 가중치는 0(zero value) 또는 0으로 근사될 수 있는 제로 엘리먼트 및 0과 1 사이의 일정한 값을 갖는 논제로 엘리먼트로 구성되며, 그 기능에 따라 다양한 패턴을 가질 수 있다.
인공 지능 모델(20)이 이미지를 인식하기 위한 컨벌루션 뉴럴 네트워크(Convolution Neural Network, 이하 CNN)로 구현되는 경우를 예로 들면, 전자 장치는 가중치를 갖는 필터를 입력 영상(10)에 씌우고, 영상과 필터의 가중치를 각각 곱한 값에 대한 합(컨벌루션 연산)을 출력 영상의 픽셀 값으로 결정하여 특징맵(feature map)을 추출할 수 있다. 입력 영상은 강인한 특징을 추출하기 위해 다중 필터를 통해 복수 개로 추출될 수 있으며, 필터의 개수에 따라 복수 개의 피쳐 맵이 추출될 수 있다. 이와 같은 컨벌루션 영상은 다중 레이어에 의해 반복될 수 있다. 이때, CNN의 학습 대상에 따라 학습되는 필터들이 달라지며, 선정되는 필터들의 패턴 또한 달라지게 된다. 예를 들어, CNN의 학습 대상이 고양이, 강아지, 돼지, 소 등 무엇인지에 따라, 학습되는 필터 및 선정되는 필터가 달라진다.
이와 같이 인공 지능 모델(20)은 각기 다른 특징을 추출할 수 있는 컨벌루션 레이어(21)를 조합하여 적용함으로써, 입력되는 원본 데이터가 어떤 형태의 특징을 가지고 있는지 판단할 수 있다.
그리고, 인공 지능 모델(20)은 컨벌루션 레이어(21)를 거쳐서 추출된 복수의 특징 맵들을 필요에 따라 서브 샘플링하는 풀링 레이어(pooling layer, 22)를 포함할 수 있다. 이때, 풀링 레이어(22)는 복수의 특징 맵에 복수의 필터를 각각 적용하여 특징 벡터(23)를 획득할 수 있다. 여기서, 풀링 레이어(22)의 필터는 뉴럴 네트워크에 의해 학습될 수 있다. 그리고, 복수의 필터는 복수의 특징 맵 각각의 전체 영역에 대하여 적용될 수 있다. 예를 들어, 복수의 특징 맵이 N개이고 풀링 레이어(22)에 포함된 필터가 M개라면, 획득되는 특징 벡터(23)의 크기는 M * N 일 수 있다.
여기서, 영상 처리의 목적에 대응되는 특징 벡터(23)는 복수의 필터 맵의 개수 및 풀링 레이어(22)의 필터의 개수를 조절하여 획득될 수 있다. 풀링 레이어(22)에서의 구체적인 영상 처리 과정은 이하 도 6을 참조하여 자세히 설명하기로 한다.
그리고, 전자 장치는 획득된 특징 벡터(23)를 풀리 커넥티드 레이어(Fully connected(FC) layer, 23)에 통과시켜 결과(30) 값을 출력할 수 있다. 구체적으로, 전자 장치는 획득된 특징 벡터(23)를 기존의 뉴럴 네트워크로 구성된 FC 레이어(23)에 입력하여 입력 영상(10)을 영상 처리한 결과(30)를 출력할 수 있다. 예를 들어, 전자 장치는 영상 처리의 목적에 따라, 입력 영상(10)에 포함된 오브젝트를 검출한 결과, 오브젝트의 종류를 분류한 결과, 입력 영상(10)의 화질을 개선한 결과를 출력할 수 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 간략한 구성을 설명하기 위한 블럭도이다.
도 2를 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다.
메모리(110)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 구체적으로, 메모리(110)에는 적어도 하나의 명령어가 저장될 수 있다. 프로세서(120)는 메모리(110)에 저장된 명령어를 실행함으로써 상술한 동작을 수행할 수 있다. 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다.
그리고, 메모리(110)에는 학습된 인공 지능 모델이 저장될 수 있다. 여기서, 학습된 인공 지능 모델은 컨벌루션 레이어에서 추출된 복수의 특징 맵에 복수의 필터를 각각 적용하여 특징 값을 획득하기 위한 풀링 레이어를 포함할 수 있다.
이때, 복수의 필터는 복수의 특징 맵의 전체 영역에 대하여 각각 적용될 수 있다. 즉, 본 개시에 따르면, 복수의 특징 맵을 분할하여 분할 영역마다 다른 특징 값을 얻는 것이 아니고, 특징 맵 전체 영역에 대한 특징 값을 추출할 수 있다.
그리고, 복수의 특징 맵에 복수의 필터를 각각 적용하여 획득되는 특징 값은 복수의 특징 맵과 복수의 필터 각각의 유사도에 기초하여 획득될 수 있다. 구체적으로, 필터는 어떠한 특징이 데이터에 있는지 없는지를 검출해주는 것으로, 프로세서(120)는 하나의 특징 맵을 필터의 사이즈를 갖는 복수의 영역으로 나누고 각 영역 모두에 필터를 적용할 수 있다.
한편, 풀링 레이어에는 복수의 필터가 각각 적용된 복수의 특징 맵이 통과되는 Relu 레이어가 더 포함된다. Relu 레이어는 필터의 특징이 데이터에 포함되었는지 여부를, 필터의 특징이 '있다' 또는 '없다'의 비선형 값으로 바꿔주기 위한 것이다. 이러한 과정에 사용되는 함수를 activation 함수라고도 일컫는데, 이러한 activation 함수로서 sigmoid 함수도 사용되기도 하지만, signmoid 함수는 신경망이 깊어질수록 학습이 어려워져 Relu 함수가 사용된다.
그리고, Relu 레이어를 통과한 복수의 특징 맵 각각의 값의 평균 값이 각 특징 맵에 대응되는 특징 값으로 획득될 수 있다. 본 개시에서는 특징 맵을 구성하는 값의 평균 값이 특징 맵에 대응되는 특징 값으로 획득되는 것으로 설명하였으나, 실시 예에 따라 특징 맵을 구성하는 값들 중 가장 큰 값이 특징 맵에 대응되는 특징 값으로 획득될 수도 있다. 상술한 바와 같은 본 개시에 따른 특징 값의 도출 과정은 이하 도 6을 참조하여 보다 자세히 설명하기로 한다.
그리고, 복수의 필터는 풀링 레이어를 통과하며 획득된 특징 값 및 입력된 영상에 기초하여 업데이트될 수 있다. 구체적으로, 복수의 필터는 획득된 특징 값에 기초하여 인공 지능 모델의 성능이 향상되도록 업데이트될 수 있다. 예를 들어, 인공 지능 모델의 목적이 입력 영상에 포함된 오브젝트의 종류를 분류하는 것이라면, 인공 지능 모델에 의해 획득된 특징 값을 FC 레이어에 입력하여 획득된 결과와 실제 입력 영상에 포함된 오브젝트의 종류를 비교할 수 있다. 그리고, 비교 결과에 따라 인공 지능 모델의 성능을 향상시키도록 복수의 필터를 업데이트할 수 있다. 이러한 업데이트 동작은 프로세서(120)에 의해 수행될 수 있다.
프로세서(120)는 전자 장치(100)의 동작을 전반적으로 제어한다.
일 실시 예에 따라 프로세서(120)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
구체적으로, 프로세서(120)는 입력된 영상을 메모리(110)의 인공 지능 모델에 입력하여, 입력된 영상에 대한 복수의 특징 값을 획득할 수 있다. 본 개시에서의 인공 지능 모델의 동작은 프로세서(120)의 제어에 의해 수행되는 것일 수 있다.
그리고, 프로세서(120)는 메모리(110)에 저장된 인공 지능 모델의 목적에 따라 다양한 동작을 수행할 수 있다.
구체적으로, 인공 지능 모델이 영상 인식과 관련된다면, 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 프로세서(120)는 인공 지능 모델을 통해 입력 영상의 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 수행할 수 있다.
그리고, 인공 지능 모델이 정보 추천과 관련된다면, 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 프로세서(120)는 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 수행할 수 있다.
그리고, 인공 지능 모델이 쿼리 처리와 관련된다면, 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 프로세서(120)는 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 수행할 수 있다.
상술한 바와 같이, 입력 영상에 대한 복수의 특징 맵에 복수의 필터를 각각 적용함으로써 기설정된 갯수의 특징 값을 획득함으로써, 입력 영상의 크기에 제한 없이 CNN 기술이 적용 가능하게 된다. 그리고, 필터를 학습함에 따라 성능이 향상될 수 있게 된다.
도 3은 도 2에 개시된 전자 장치의 구체적인 구성을 설명하기 위한 블럭도이다.
도 3을 참조하면, 전자 장치(100)는 메모리(110), 프로세서(120), 통신부(130), 인터페이스(140), 디스플레이부(150), 비디오 프로세서(160), 오디오 프로세서(170), 오디오 출력부(180) 등을 포함할 수 있다.
여기서, 메모리(110) 및 프로세서(120)는 도 2에 도시된 구성과 동일한 바, 중복된 기재는 생략한다.
통신부(130)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 기기와 통신을 수행하는 구성이다. 전자 장치(100)는 외부 장치로부터 유선 또는 무선 방식을 통해 통신을 수행할 수 있는데, 본 개시에서는 설명의 편의를 위하여 무선 방식으로 통신하는 경우 통신부(130)에 의해 통신하는 것으로 기재하고, 유선 방식으로 통신하는 경우에는 이하 인터페이스(140)에 의해 통신하는 것으로 기재하기로 한다.
구체적으로, 통신부(130)는 외부 장치로부터 와이파이(Wi-Fi), 블루투스와 같은 무선 방식을 통하여 영상을 입력받을 수 있다. 한편, 실제 구현시에는, 전자 장치(100)는 전자 장치(100)에 구비된 메모리(110)에 저장된 복수의 영상 중 사용자가 선택한 영상을 입력받아 영상 처리할 수도 있다.
전자 장치(100)가 무선 통신이 가능한 경우, 통신부(130)는 와이파이칩, 블루투스 칩, 무선 통신 칩, NFC 칩을 포함할 수 있다. 구체적으로, 와이파이 칩, 블루투스 칩은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 칩이나 블루투스 칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. NFC 칩은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다.
구체적으로, 전자 장치(100)는 통신부를 통해 외부 장치로부터 영상 데이터를 수신할 수 있다. 구체적으로, 전자 장치(100)가 TV와 같은 디스플레이 장치라면, 방송국 서버, 외부 소스 서버로부터 영상을 수신하고, 프로세서(120)에 의해 수신된 영상의 특징 값을 획득할 수 있다.
한편, 전자 장치(100)가 외부 디스플레이 장치와 통신하는 서버라면, 전자 장치(100)는 통신부(130)를 통해 외부 디스플레이 장치로부터 입력 영상을 수신하고, 프로세서(120)는 수신된 입력 영상을 인공 지능 모델에 입력하여 입력 영상에 대한 결과를 획득하고, 획득된 결과를 통신부(130)를 통해 외부 디스플레이 장치에 전송할 수 있다.
인터페이스(140)는 유선 방식을 통해 전자 장치(100)와 외부 장치를 연결하기 위한 구성이다. 구체적으로, 인터페이스(140)는 케이블 또는 포트와 같은 유선 방식을 통해 오디오 신호 및 비디오 신호 중 적어도 하나를 입출력할 수 있다.
이때, 인터페이스(140)는 DP(Display Port), HDMI(High Definition Multimedia Interface), DVI(Digital Visual Interface), RGB(Red Green Blue), DSUB, S-Video(Super Video), Component Video, Composite Video, USB, 썬더볼트(Thunderbolt) 방식의 포트 중 적어도 하나일 수 있다.
디스플레이(150)는 수신된 영상을 표시할 수 있다. 이때, 디스플레이(150)에 의해 표시되는 영상은 학습된 인공 지능 모델에 의해 화질이 개선된 영상일 수 있다. 한편, 인공 지능 모델의 목적에 따라, 디스플레이(150)에는 영상에 포함된 오브젝트가 함께 표시될 수 있으며, 오브젝트의 종류 또한 함께 표시될 수도 있다.
디스플레이(150)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(150) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 또한, 디스플레이(150)은 플렉서블 디스플레이로 구현될 수도 있다.
그리고, 디스플레이(150)는 사용자의 터치 제스처를 감지하기 위한 터치 센서를 포함할 수 있다. 터치 센서는 정전식이나, 감압식, 압전식 등과 같은 다양한 유형의 센서로 구현될 수 있다. 정전식은 디스플레이 표면에 코팅된 유전체를 이용하여, 사용자의 신체 일부가 디스플레이(150) 표면에 터치되었을 때 사용자의 인체로 여기되는 미세 전기를 감지하여 터치 좌표를 산출하는 방식이다. 감압식은 디스플레이(150)에 내장된 두 개의 전극 판을 포함하여, 사용자가 화면을 터치하였을 경우, 터치된 지점의 상하 판이 접촉되어 전류가 흐르게 되는 것을 감지하여 터치 좌표를 산출하는 방식이다. 이 밖에도, 전자 장치(100)가 펜 입력 기능도 지원하는 경우, 디스플레이(150)는 사용자의 손가락 이외에도 펜과 같은 입력 수단을 이용한 사용자 제스처도 감지할 수 있다. 입력 수단이 내부에 코일을 포함하는 스타일러스 펜일 경우, 전자 장치(100)는 스타일러스 펜 내부의 코일에 의해 변화되는 자기장을 감지할 수 있는 자기장 감지 센서를 포함할 수도 있다. 이에 따라, 터치 제스처뿐만 아니라 근접 제스처, 즉, 호버링(hovering)도 감지할 수 있게 된다.
한편, 이상에서는 표시 기능과 제스처 감지 기능이 동일한 구성에서 수행되는 것으로 설명하였지만, 서로 다른 구성에서 수행될 수도 있다. 그리고, 다양한 실시 형태에 따라, 전자 장치(100)에 디스플레이(150)는 구비되지 않을 수도 있다. 예를 들어, 전자 장치(100)가 서버인 경우에는, 디스플레이(150)는 구비되지 않을 수도 있다. 이 경우에는, 입력 영상 또는 처리된 영상은, 통신부(130) 또는 인터페이스(140)를 통해 외부 디스플레이 장치로 송수신될 수 있다.
프로세서(120)는 RAM(121), ROM(122), CPU(123), GPU(Graphic Processing Unit)(124), 버스(125)를 포함할 수 있다. RAM(121), ROM(122), CPU(123), GPU(Graphic Processing Unit)(124) 등은 버스(125)를 통해 서로 연결될 수 있다.
CPU(123)는 메모리(110)에 액세스하여, 메모리(110)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고 메모리(110)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴-온 명령이 입력되어 전원이 공급되면, CPU(123)는 ROM(122)에 저장된 명령어에 따라 메모리(110)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, CPU(123)는 메모리(110)에 저장된 각종 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 프로그램을 실행시켜 각종 동작을 수행한다.
GPU(124)는 전자 장치(100)의 부팅이 완료되면, 디스플레이(150)에 UI를 디스플레이한다. 구체적으로는, GPU(124)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성할 수 있다. 연산부는 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산한다. 렌더링부는 연산부에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성한다. 렌더링부에서 생성된 화면(또는 사용자 인터페이스 창)은 디스플레이(150)로 제공되어, 메인 표시 영역 및 서브 표시 영역에 각각 표시된다.
비디오 프로세서(160)는 통신부(130) 또는 인터페이스(140)를 통해 수신된 컨텐츠 또는, 메모리(110)에 저장된 컨텐츠에 포함된 비디오 데이터를 처리하기 위한 구성요소이다. 비디오 프로세서(160)에서는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
오디오 프로세서(170)는 통신부(130) 또는 인터페이스(140)를 통해 수신된 컨텐츠 또는, 메모리(110)에 저장된 컨텐츠에 포함된 오디오 데이터를 처리하기 위한 구성요소이다. 오디오 프로세서(170)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
프로세서(120)는 멀티미디어 컨텐츠에 대한 재생 애플리케이션이 실행되면 비디오 프로세서(160) 및 오디오 프로세서(170)를 구동시켜, 해당 컨텐츠를 재생할 수 있다. 이때, 디스플레이(150)는 비디오 프로세서(160)에서 생성한 이미지 프레임을 메인 표시 영역, 서브 표시 영역 중 적어도 하나의 영역에 디스플레이할 수 있다.
한편, 이상에서는 프로세서(120), 비디오 프로세서(160) 및 오디오 프로세서(170)가 별개의 구성인 것으로 기재되어 있으나, 실시 예에 따라 하나의 칩(chip)으로 구현될 수 있다. 예를 들어, 프로세서(120)가 비디오 프로세서(160) 및 오디오 프로세서(170)의 동작을 모두 수행 가능할 수 있다.
오디오 출력부(190)는 오디오 프로세서(170)에서 생성한 오디오 데이터를 출력한다.
그 밖에, 도 3에 도시하지는 않았으나, 실시 예에 따라서는, 전자 장치(100) 내에 헤드셋, 마우스 등과 같은 다양한 외부 단자와 연결하기 위한 다양한 외부 입력 포트, DMB(Digital Multimedia Broadcasting) 신호를 수신하여 처리하는 DMB 칩, 사용자의 조작을 입력받기 위한 버튼, 사용자의 음성 및 소리르 입력받아 오디오 데이터로 변환하는 마이크, 사용자의 제어에 따라 정지 영상 또는 동영상을 촬상하기 위한 촬상부, 다양한 센서 등을 더 포함할 수 있음은 물론이다.
도 4 및 도 5는 특징 추출 기술과 관련한 종래 기술을 설명하기 위한 도면이다. 구체적으로, 고정된 크기의 특징 벡터(feature vector)를 획득하기 위해 종래에는 도 4에 도시된 바와 같이 입력 영상을 고정된 크기로 변환하는 방식 또는 도 5에 도시된 바와 같이 특징 맵을 다양한 크기로 분할하고, 분할된 각 영역 별로 특징 값을 추출하는 방식을 사용하였다.
도 4를 참조하면, 기존에는 고정된 크기의 특징 벡터를 추출하기 위하여 도 4(a)에 도시된 바와 같이, 입력 영상(410)을 일부 영역(411)으로 잘라내고(crop) 고정된 크기의 영상(412)으로 확대하거나, 도 4(b)에 도시된 바와 같이 입력 영상(420)에서 원하는 영역(421)을 잘라내고 고정된 크기의 영상(422)으로 늘리는(warp) 방식을 이용하였다. 이 경우, 영상의 해상도가 감소되며, 영상의 비율이 변경되는 문제가 있었다.
한편, 도 5에 도시된 방법은 도 4의 문제점을 극복하기 위한 것으로, 입력 영상은 그대로 사용되지만, 입력 영상의 복수의 특징 맵(511) 각각을 다양한 스케일로 분할하는 SPP 레이어(Spatial Pyramid Pooling layer, 520)를 더 포함한다.
도 5를 참조하면, 입력 영상을 컨벌루션 레이어에 통과시켜 N개의 특징 맵을 획득하면, 전자 장치는 각 특징 맵을 다양한 스케일(예를 들어, 4x4, 2x2, 1x1 등)로 특징 맵을 분할하고, 각 분할된 영역의 대표 값을 획득하여 고정된 크기의 특징 벡터를 획득할 수 있다. 여기서, 대표 값은 각 분할된 영역의 최대 값일 수 있다.
이 방식은 모든 특징 맵을 특정 분할 영역으로 구획한다는 점에서 학습에 의한 가변적인 적용의 장접을 충분히 반영할 수 없다는 문제가 있다.
도 6은 본 개시의 일 실시 예에 따른 영상 처리 방법을 구체적으로 설명하기 위한 도면이다.
도 6을 참조하면, 우선 입력 영상(10)은 컨벌루션 레이어(610)에 입력되고, 입력 영상(10)에 대한 복수의 특징 맵(611)이 추출될 수 있다. 예를 들어, 복수의 특징 맵(611)은 N개의 채널로 구성될 수 있다.
그리고, 복수의 특징 맵(611)은 입력 영상(10)에 대한 특징 값을 추출하기 위한 풀링 레이어(620)에 입력될 수 있다. 풀링 레이어(620)는 기존 인공 학습 모델인 CNN의 구성인 컨벌루션 레이어(610)와 FC 레이어(630) 사이에 배치될 수 있다.
여기서, 풀링 레이어(620)에는 학습에 의해 정의되는 복수의 필터(621)가 포함될 수 있으며, 복수의 필터가 적용된 특징 맵으로부터 특징 값을 획득하기 위한 Relu 및 에버리지(average) 레이어(622)를 포함할 수 있다.
구체적으로, 풀링 레이어(620)에서는 N개의 채널을 갖는 특징 맵에 M개의 필터가 각각 적용되어 총 NxM 개의 결과 영상이 생성될 수 있다. 도 6에서는 필터의 개수가 21개인 것으로 도시되었으나, 이는 하나의 실시 예일 뿐, 이에 한정되지 않는다. 여기서, 풀링 레이어(620)는 normalized cross correlation(NCC)을 수행하여 특징 맵에 필터를 각각 적용할 수 있다.
NCC는 비교되어야 하는 두 장의 이미지가 있다고 가정할 때, 비교 이전에 정규화 과정을 거쳐야하만 하는데 이때 사용되는 것이 NCC이다. 두 이미지를, f(x,y)와 t(x,y)라 하고, 여기서 x, y는 이미지의 각 화소의 좌표에 해당하며, f(x,y)와 t(x,y)는 영상내에서 x,y에 위치한 화소의 값을 의미할 수 있다. 이 경우, 아래와 같은 식(1)을 통해 두 이미지 간의 유사도를 측정할 수 있다.
Figure pat00001
식(1)
여기서, n은 총 화소의 갯수이며,
Figure pat00002
Figure pat00003
는 평균 값을,
Figure pat00004
는 f와 t의 표준 편차 값을 의미할 수 있다.
이때 필터는 특징 맵 상에서 이동되면서, 특징 맵 상의 부분 영역과 필터와의 NCC 값을 획득할 수 있다. 즉, 특징 맵에 필터가 적용되어, 특징 맵의 각 부분 영역과 필터와의 NCC 값이 계산된 NCC 결과 영상이 획득될 수 있다.
이렇게 획득된 M x N 개의 NCC 결과 영상은 Relu 및 에버리지(average) 레이어(622)를 통과하여 각 NCC 결과 영상에 대응되는 특징 값을 획득할 수 있다. 구체적으로, NCC 결과 영상은 -1 내지 +1의 값을 가지며, Relu 함수가 적용되면 0 내지 1의 값으로 변환된다. 전자 장치는 각 NCC 영상 별로 0 초과의 값을 가진 화소의 개수와 그 값을 이용하여 평균 값을 획득할 수 있다. 각 평균 값은 각 특징 맵과 각 필터의 유사도를 대표하며, 이로 인해 전자 장치는 고정된 크기(N x M)의 특징 벡터를 획득할 수 있다. 도 6에서는 각 필터마다 별개의 Relu 및 에버리지(average) 레이어가 구비된 것으로 도시되었으나, 실제 구현시에는 Relu 및 에버리지(average) 레이어를 통해 각 필터가 적용된 특징 맵에 대응되는 특징 값이 획득될 수 있다.
그리고, 전자 장치는 획득된 특징 벡터를 FC 레이어(630)에 입력하여 영상 처리를 수행할 수 있다. 구체적으로, 전자 장치는 획득된 특징 벡터를 FC 레이어(630)에 입력하여, 인공 지능 모델의 목적에 따라 입력 영상(10)의 화질을 개선하거나, 입력 영상(10)에 포함된 오브젝트를 추출 또는 추출된 오브젝트의 종류를 분류하고, 이에 대한 결과를 획득할 수 있다.
상술한 바와 같이 NCC 기술을 이용하여 풀링 동작을 수행함으로써, 입력 영상의 크기에 구애받지 않고, 영상의 resizing에 따른 해상도 감소가 없으며, 필터를 학습함에 따라 인공 지능 모델의 성능이 향상되고, 노이즈에 강하며, 스케일 변화, 영상의 변형에 강하다는 효과가 있다.
도 7 은 본 개시의 일 실시 예에 따른, 인공 지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도이다.
도 7을 참조하면, 프로세서(700)는 학습부(710) 및 획득부(720) 중 적어도 하나를 포함할 수 있다. 도 7의 프로세서(700)는 도 2의 프로세서(120)에 대응될 수 있다.
학습부(710)는 특징 맵에 적용될 필터를 생성하기 위한 모델을 생성 또는 학습시킬 수 있다. 학습부(710)는 수집된 학습 데이터를 이용하여 풀링 단계에서 특징 맵에 적용될 필터를 생성하기 위한 인공 지능 모델을 생성할 수 있다. 학습부(710)는 수집된 학습 데이터를 이용하여 특징 맵에 적용될 필터의 생성을 위한 기준을 갖는 학습된 모델을 생성할 수 있다. 이러한 학습부(710)는 인공 지능 모델의 트레이닝 셋(training set)에 대응될 수 있다.
일 예로, 학습부(710)는 입력 영상에 대한 데이터를 입력 데이터로 사용하여 필터 생성을 예측하기 위한 모델을 생성, 학습 또는 갱신시킬 수 있다. 구체적으로, 학습부(710)는 모델의 목적에 따라, 목적이 화질 개선이라면, 입력 영상 및 입력 영상에 대응되는 고화질 영상을 이용하여 특징 맵에 적용될 필터를 생성하기 위한 모델을 생성, 학습 또는 갱신시킬 수 있다. 한편, 모델의 목적이 영상 내 포함된 오브젝트의 추출 또는 분류라면, 학습부(710)는 오브젝트 및 오브젝트의 종류에 대한 정보를 이용하여 특징 맵에 적용될 필터를 생성하기 위한 모델을 생성, 학습 또는 갱신시킬 수 있다.
획득부(720)는 소정의 데이터를 학습된 모델의 입력 데이터로 사용하여, 다양한 정보를 획득할 수 있다.
일 예로, 획득부(720)는 이후 영상이 입력되면, 입력된 영상 및 학습된 필터를 이용하여 입력 영상에 대한 정보를 획득(또는, 인식, 추정, 추론)할 수 있다.
학습부(710)의 적어도 일부 및 획득부(720)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 학습부(710) 및 획득부(720) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(710) 및 획득부(720)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
 이 경우, 학습부(710) 및 획득부(720)는 서버와 같은 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 학습부(710) 및 획득부(720) 중 하나는 TV와 같은 전자 장치에 포함되고, 나머지 하나는 외부의 서버에 포함될 수 있다. 또한, 학습부(710) 및 획득부(720)는 유선 또는 무선으로 통하여, 학습부(710)가 구축한 모델 정보를 획득부(720)로 제공할 수도 있고, 학습부(710)로 입력된 데이터가 추가 학습 데이터로서 학습부(710)로 제공될 수도 있다.
도 8은 본 개시의 일 실시 예에 따른, 학습부 및 획득부의 구체적인 구성을 나타내는 블록도이다.
도 8의 (a)를 참조하면, 일부 실시 예에 따른 학습부(710)는 학습 데이터 획득부(710-1) 및 모델 학습부(710-4)를 포함할 수 있다. 또한, 학습부(710)는 학습 데이터 전처리부(710-2), 학습 데이터 선택부(710-3) 및 모델 평가부(710-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(710-1)는 모델에 필요한 학습 데이터를 획득할 수 있다. 본 개시의 실시 예로, 학습 데이터 획득부(710-1)는 입력 영상에 대한 데이터 등을 학습 데이터로서 획득할 수 있다. 구체적으로, 학습 데이터 획득부(710-1)는 입력 영상, 입력 영상에 대한 고화질 영상, 입력 영상에 포함된 오브젝트 위치, 개수, 종류에 대한 정보 등을 학습 데이터로 획득할 수 있다.
모델 학습부(710-4)는 학습 데이터를 이용하여 획득된 영상 처리 결과와 실제 입력 영상에 대한 정보의 차이를 어떻게 보정할지에 관해 학습시킬 수 있다. 예로, 모델 학습부(710-4)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 인공 지능 모델을 학습시킬 수 있다. 또는, 모델 학습부(710-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 인공 지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(710-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 인공 지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(710-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 인공 지능 모델을 학습시킬 수 있다
인공 지능 모델이 학습되면, 모델 학습부(710-4)는 학습된 인공 지능 모델을 저장할 수 있다. 이 경우, 모델 학습부(710-4)는 학습된 인공 지능 모델을 서버(예를 들어, 인공 지능 서버)에 저장할 수 있다. 또는, 모델 학습부(710-4)는 학습된 인공 지능 모델을 서버와 유선 또는 무선 네트워크로 연결되는 공기 조화 장치의 메모리에 저장할 수도 있다.
학습 데이터 전처리부(710-2)는 복수의 특징 맵에 적용될 필터의 생성을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 학습 데이터 전처리부(710-2)는 모델 학습부(710-4)가 특징 맵에 적용될 필터를 생성하기 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(710-3)는 학습 데이터 획득부(710-1)에서 획득된 데이터 또는 학습 데이터 전처리부(710-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(710-4)에 제공될 수 있다. 학습 데이터 선택부(710-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(710-3)는 모델 학습부(710-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
학습부(710)는 인공 지능 모델의 인식 결과를 향상시키기 위하여, 모델 평가부(710-5)를 더 포함할 수도 있다.
모델 평가부(710-5)는 인공 지능 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(710-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인공 지능 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(710-5)는 평가 데이터에 대한 학습된 인공 지능 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
한편, 학습된 인공 지능 모델이 복수 개가 존재하는 경우, 모델 평가부(710-5)는 각각의 학습된 인공 지능 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인공 지능 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(710-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인공 지능 모델로서 결정할 수 있다.
도 8의 (b)를 참조하면, 일부 실시 예에 따른 획득부(720)는 입력 데이터 획득부(720-1) 및 제공부(720-4)를 포함할 수 있다.
또한, 획득부(720)는 입력 데이터 전처리부(720-2), 입력 데이터 선택부(720-3) 및 모델 갱신부(720-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
입력 데이터 획득부(720-1)는 입력 영상의 특징 맵을 획득하고, 영상 처리의 목적에 따른 복수의 필터를 획득할 수 있다. 제공부(720-4)는 입력 데이터 획득부(720-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공 지능 모델에 적용하여 입력 영상을 처리한 결과를 획득할 수 있다. 제공부(720-4)는 후술할 입력 데이터 전처리부(720-2) 또는 입력 데이터 선택부(720-3)에 의해 선택된 데이터를 입력 값으로 인공 지능 모델에 적용하여 입력 영상을 처리한 결과를 획득할 수 있다.
일 실시 예로, 제공부(720-4)는 입력 데이터 획득부(720-1)에서 획득한 입력 영상 및 입력 영상의 특징 맵에 적용되는 필터를 학습된 모델에 적용하여 입력 영상을 처리한 결과를 획득(또는, 추정)할 수 있다.
획득부(720)는 인공 지능 모델의 인식 결과를 향상시키거나, 인식 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 입력 데이터 전처리부(720-2) 및 입력 데이터 선택부(720-3)를 더 포함할 수도 있다.
입력 데이터 전처리부(720-2)는 제1 및 제2 모델에 입력되기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 입력 데이터 전처리부(720-2)는 제공부(720-4)가 입력 영상의 노이즈를 제거하기 위해 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다.
입력 데이터 선택부(720-3)는 입력 데이터 획득부(720-1)에서 획득된 데이터 또는 입력 데이터 전처리부(720-2)에서 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 제공부(720-4)에게 제공될 수 있다. 입력 데이터 선택부(720-3)는 상황 판단을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 입력 데이터 선택부(720-3)는 모델 학습부(710-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(720-5)는 제공부(720-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 인공 지능 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(720-5)는 제공부(720-4)에 의해 제공되는 영상 처리 결과를 모델 학습부(710-4)에게 제공함으로써, 모델 학습부(710-4)가 인공 지능 모델을 추가 학습 또는 갱신하도록 요청할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 영상 처리 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, 우선, 전자 장치는 영상을 입력받을 수 있다(S810). 구체적으로, 영상은 외부 장치로부터 수신될 수 있으며, 전자 장치에 저장된 복수의 영상에서 사용자에 의해 선택된 것일 수 있다.
그리고, 전자 장치는 입력된 영상을 학습된 인공 지능 모델에 입력하여 복수의 특징 값을 획득할 수 있다(S820). 구체적으로, 학습된 인공 지능 모델은 컨벌루션 레이어, 풀링 레이어 및 FC 레이어를 포함할 수 있다.
영상이 컨벌루션 레이어에 입력되어, 영상에 대한 복수의 특징 맵이 획득될 수 있다. 그리고, 복수의 특징 맵이 풀링 레이어에 입력되어, 고정된 크기의 특징 벡터가 획득될 수 있다. 구체적으로, 풀링 레이어에 포함된 복수의 필터 각각이 복수의 특징 맵 각각에 적용되어 복수의 NCC 결과 영상이 획득될 수 있다. 예를 들어, 복수의 특징 맵이 N 개의 채널로 구성되고, 필터가 M 개라면, NCC 결과 영상은 M x N 개일 수 있다. 이후 획득된 NCC 결과 영상이 Relu 및 에버리지 레이어에 입력되고, 각 NCC 결과 영상에 대한 특징 값이 획득될 수 있다. 즉, M x N 개의 특징 값이 획득되며, 이는 특징 벡터와 일치할 수 있다. 즉, 사용자는 영상 처리의 목적에 따라 기설정된 특징 벡터를 고려하여 필터의 개수를 지정할 수 있다.
그리고, 도시되지는 않았지만, 전자 장치는 획득된 특징 값을 FC 레이어에 입력하여 영상 처리의 결과를 획득할 수 있다. 이때, 전자 장치가 TV와 같은 디스플레이 장치라면, 획득된 영상 처리 결과를 표시할 수 있다. 예를 들어, 홈쇼핑 채널을 본다고 가정했을 때, 전자 장치는 홈쇼핑 화면에 나타나는 오브젝트를 인식 및 분류하고, 이에 대한 정보를 표시할 수 있다.
한편, 전자 장치가 별도의 디스플레이 장치와 연결된 서버라면, 전자 장치는 홈쇼핑 화면에 나타는 오브젝트의 인식 및 분류 결과가 외부 디스플레이 장치에서 표시되도록 디스플레이 장치로 전송할 수 있다.
상술한 바와 같이, 입력 영상에 대한 복수의 특징 맵에 복수의 필터를 각각 적용함으로써 기설정된 갯수의 특징 값을 획득함으로써, 입력 영상의 크기에 제한 없이 CNN 기술이 적용 가능하게 된다.
도 10은 본 개시의 다른 실시 예에 따른 영상 처리 방법을 설명하기 위한 흐름도이다. 구체적으로, 도 10은 전자 장치(100)가 서버인 실시 예를 도시한 것으로, 전자 장치(100)는 TV와 같은 별도의 디스플레이 장치와 통신할 수 있다.
도 10을 참조하면, 우선 디스플레이 장치(200)는 전자 장치(100)에 영상을 전송할 수 있다(S910). 여기서, 도 10에서는 전자 장치(100)가 디스플레이 장치(200)로부터 영상을 수신하는 것으로 도시되었으나, 방송국 서버와 같이 디스플레이 장치(200)와 별개의 컨텐츠 소스로부터 영상을 입력받을 수도 있다.
그치고, 전자 장치(100)는 입력된 영상에 대한 복수의 특징 값을 획득할 수 있다(S920). 여기서, 복수의 특징 값은 영상 처리의 목적에 따라 결정된 개수 및 종류의 특징 값일 수 있다.
그리고, 전자 장치(100)는 영상에 포함된 오브젝트를 분류할 수 있다(S930). 구체적으로, 전자 장치(100)는 획득된 복수의 특징 값에 기초하여 입력 영상에 포함된 오브젝트의 종류가 어떤 것인지 분류할 수 있다. 한편, 도 10에서는 오브젝트의 종류를 분류하는 영상 처리를 실시 예로서 기재하였으나, 실제 구현시에는 입력 영상의 화질 개선, 입력 영상에 포함된 오브젝트 추출 등 다양한 목적에 따라 특징 값 획득 및 영상 처리가 수행될 수 있다.
그리고, 영상 처리된 결과가 디스플레이 장치(200)에 전송될 수 있다(S940).
그리고, 디스플레이 장치(200)는 수신된 결과에 기초한 화면을 표시할 수 있다(S950). 구체적으로, 영상 처리 목적이 영상의 화질 개선이라면, 디스플레이 장치(200)는 화질이 개선된 고화질 영상을 표시할 수 있다. 한편, 영상 처리의 목적이 입력 영상에 포함된 오브젝트의 추출이라면, 디스플레이 장치(200)는 입력 영상에 포함된 적어도 하나의 오브젝트를 표시한 화면을 디스플레이에 표시할 수 있다. 한편, 영상 처리의 목적이 입력 영상에 포함된 오브젝트의 분류라면, 디스플레이 장치(200)는 영상에 포함된 적어도 하나의 오브젝트의 종류를 나타내는 결과를 함께 표시할 수 있다. 예를 들어, 영상에 포함된 오브젝트가 개라면, 디스플레이 장치(200)는 영상에 포함된 오브젝트가 개라는 내용, 품종, 나이 등을 분석한 결과를 함께 표시할 수 있다.
이상에 기재한 다양한 실시 예에 따라, 입력 영상에 대한 복수의 특징 맵에 복수의 필터를 각각 적용함으로써 기설정된 갯수의 특징 값을 획득함으로써, 입력 영상의 크기에 제한 없이 CNN 기술이 적용 가능하게 된다. 그리고, 필터를 학습함에 따라 성능이 향상될 수 있게 된다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서(120) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법은 비일시적 판독 가능 매체(non-transitory readable medium) 에 저장될 수 있다. 이러한 비일시적 판독 가능 매체는 다양한 장치에 탑재되어 사용될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 방법을 수행하기 위한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100 : 전자 장치 110 : 메모리
120 : 프로세서

Claims (19)

  1. 전자 장치에 있어서,
    학습된 인공 지능 모델이 저장된 메모리; 및
    입력된 영상을 상기 인공 지능 모델에 입력하여 복수의 특징 값을 획득하는 프로세서;를 포함하고,
    상기 학습된 인공 지능 모델은,
    상기 입력된 영상에서 추출된 복수의 특징 맵에 복수의 필터를 각각 적용하고 상기 복수의 필터가 각각 적용된 복수의 특징 맵에 대한 특징 값을 획득하기 위한 풀링 레이어(pooling layer)를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 복수의 필터는,
    상기 복수의 특징 맵의 전체 영역에 대하여 각각 적용되는 전자 장치.
  3. 제1항에 있어서,
    상기 복수의 필터는,
    상기 획득된 특징 값 및 상기 입력된 영상에 기초하여 업데이트되는 전자 장치.
  4. 제1항에 있어서,
    상기 특징 값은,
    상기 복수의 특징 맵과 상기 복수의 필터 각각의 유사도에 기초하여 획득되는 전자 장치.
  5. 제1항에 있어서,
    상기 풀링 레이어는,
    상기 복수의 필터가 각각 적용된 복수의 특징 맵이 통과되는 Relu 레이어를 더 포함하는 전자 장치.
  6. 제5항에 있어서,
    상기 특징 값은,
    상기 Relu 레이어를 통과한 복수의 특징 맵 각각의 평균 값으로 획득되는 전자 장치.
  7. 제1항에 있어서,
    상기 복수의 특징 맵은,
    상기 학습된 인공 지능 모델에 포함된 컨벌루션 레이어(Convolution layer)를 이용하여 추출되는 전자 장치.
  8. 제1항에 있어서,
    상기 복수의 필터의 개수는,
    상기 복수의 특징 맵의 개수 및 상기 복수의 특징 값의 개수에 기초하여 식별되는 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 획득된 특징 값에 기초하여, 상기 입력된 영상에 포함된 오브젝트를 분류하는 전자 장치.
  10. 영상 처리 방법에 있어서,
    영상을 입력받는 단계; 및
    상기 입력된 영상을 학습된 인공 지능 모델에 입력하여 복수의 특징 값을 획득하는 단계;를 포함하고,
    상기 학습된 인공 지능 모델은,
    상기 입력된 영상에서 추출된 복수의 특징 맵에 복수의 필터를 각각 적용하고 상기 복수의 필터가 각각 적용된 복수의 특징 맵에 대한 특징 값을 획득하기 위한 풀링 레이어(pooling layer)를 포함하는 방법.
  11. 제10항에 있어서,
    상기 복수의 필터는,
    상기 복수의 특징 맵의 전체 영역에 대하여 각각 적용되는 방법.
  12. 제10항에 있어서,
    상기 복수의 필터는,
    상기 획득된 특징 값 및 상기 입력된 영상에 기초하여 업데이트되는 방법.
  13. 제10항에 있어서,
    상기 특징 값은,
    상기 복수의 특징 맵과 상기 복수의 필터 각각의 유사도에 기초하여 획득되는 방법.
  14. 제10항에 있어서,
    상기 풀링 레이어는,
    상기 복수의 필터가 각각 적용된 복수의 특징 맵이 통과되는 Relu 레이어를 더 포함하는 방법.
  15. 제14항에 있어서,
    상기 특징 값은,
    상기 Relu 레이어를 통과한 복수의 특징 맵 각각의 평균 값으로 획득되는 방법.
  16. 제10항에 있어서,
    상기 복수의 특징 맵은,
    상기 학습된 인공 지능 모델에 포함된 컨벌루션 레이어(Convolution layer)를 이용하여 추출되는 방법.
  17. 제10항에 있어서,
    상기 복수의 필터의 개수는,
    상기 복수의 특징 맵의 개수 및 상기 복수의 특징 값의 개수에 기초하여 식별되는 방법.
  18. 제10항에 있어서,
    상기 획득된 특징 값에 기초하여, 상기 입력된 영상에 포함된 오브젝트를 분류하는 단계;를 더 포함하는 방법.
  19. 영상 처리 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록 매체에 있어서,
    상기 영상 처리 방법은,
    영상을 입력받는 단계;
    상기 입력된 영상을 학습된 인공 지능 모델에 입력하여 복수의 특징 값을 획득하는 단계;를 포함하고,
    상기 학습된 인공 지능 모델은,
    상기 입력된 영상에서 추출된 복수의 특징 맵에 복수의 필터를 각각 적용하고 상기 복수의 필터가 각각 적용된 복수의 특징 맵에 대한 특징 값을 획득하기 위한 풀링 레이어(pooling layer)를 포함하는 컴퓨터 판독가능 기록 매체.
KR1020180083016A 2018-07-17 2018-07-17 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체 KR102476239B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180083016A KR102476239B1 (ko) 2018-07-17 2018-07-17 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
US16/508,529 US11347962B2 (en) 2018-07-17 2019-07-11 Electronic apparatus, method for processing image and computer-readable recording medium
EP19838076.8A EP3752978A4 (en) 2018-07-17 2019-07-16 ELECTRONIC DEVICE, METHOD FOR PROCESSING AN IMAGE AND COMPUTER-READABLE RECORDING MEDIUM
PCT/KR2019/008794 WO2020017875A1 (en) 2018-07-17 2019-07-16 Electronic apparatus, method for processing image and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180083016A KR102476239B1 (ko) 2018-07-17 2018-07-17 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체

Publications (2)

Publication Number Publication Date
KR20200008845A true KR20200008845A (ko) 2020-01-29
KR102476239B1 KR102476239B1 (ko) 2022-12-12

Family

ID=69163114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180083016A KR102476239B1 (ko) 2018-07-17 2018-07-17 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체

Country Status (4)

Country Link
US (1) US11347962B2 (ko)
EP (1) EP3752978A4 (ko)
KR (1) KR102476239B1 (ko)
WO (1) WO2020017875A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102476239B1 (ko) * 2018-07-17 2022-12-12 삼성전자주식회사 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
KR102604016B1 (ko) * 2018-10-24 2023-11-22 삼성전자주식회사 전자 장치 및 이의 제어방법
US11507831B2 (en) 2020-02-24 2022-11-22 Stmicroelectronics International N.V. Pooling unit for deep learning acceleration
CN111369564B (zh) * 2020-03-04 2022-08-09 腾讯科技(深圳)有限公司 一种图像处理的方法、模型训练的方法及装置
CN112349419A (zh) * 2020-08-27 2021-02-09 北京颢云信息科技股份有限公司 一种基于医学数据及人工智能的真实世界研究方法
JP7528669B2 (ja) 2020-09-23 2024-08-06 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
CN113065576A (zh) * 2021-02-26 2021-07-02 华为技术有限公司 一种特征提取的方法以及装置
US20240221119A1 (en) * 2023-01-04 2024-07-04 Samsung Electronics Co., Ltd. Image-Filtering Interface

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016141282A1 (en) * 2015-03-04 2016-09-09 The Regents Of The University Of California Convolutional neural network with tree pooling and tree feature map selection
KR101854258B1 (ko) * 2017-08-29 2018-05-03 한밭대학교 산학협력단 딥러닝을 pc에 적용하기 위한 메모리 최적화 방법
KR20180073118A (ko) * 2016-12-22 2018-07-02 삼성전자주식회사 컨볼루션 신경망 처리 방법 및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5448758B2 (ja) * 2009-11-30 2014-03-19 キヤノン株式会社 情報処理装置、情報処理方法、情報処理システム、プログラム及びデータ構造
CN106462940A (zh) * 2014-10-09 2017-02-22 微软技术许可有限责任公司 图像中通用对象检测
EP3204888A4 (en) 2014-10-09 2017-10-04 Microsoft Technology Licensing, LLC Spatial pyramid pooling networks for image processing
US10650508B2 (en) * 2014-12-03 2020-05-12 Kla-Tencor Corporation Automatic defect classification without sampling and feature selection
KR102276339B1 (ko) 2014-12-09 2021-07-12 삼성전자주식회사 Cnn의 근사화를 위한 학습 장치 및 방법
JP2016146174A (ja) * 2015-02-06 2016-08-12 パナソニックIpマネジメント株式会社 決定方法およびプログラム
US10303977B2 (en) * 2016-06-28 2019-05-28 Conduent Business Services, Llc System and method for expanding and training convolutional neural networks for large size input images
KR20180073314A (ko) 2016-12-22 2018-07-02 삼성전자주식회사 컨볼루션 신경망 시스템 및 그것의 동작 방법
US10555779B2 (en) * 2018-04-27 2020-02-11 Medtronic Navigation, Inc. System and method for a tracked procedure
KR102476239B1 (ko) * 2018-07-17 2022-12-12 삼성전자주식회사 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016141282A1 (en) * 2015-03-04 2016-09-09 The Regents Of The University Of California Convolutional neural network with tree pooling and tree feature map selection
KR20180073118A (ko) * 2016-12-22 2018-07-02 삼성전자주식회사 컨볼루션 신경망 처리 방법 및 장치
KR101854258B1 (ko) * 2017-08-29 2018-05-03 한밭대학교 산학협력단 딥러닝을 pc에 적용하기 위한 메모리 최적화 방법

Also Published As

Publication number Publication date
US20200026952A1 (en) 2020-01-23
WO2020017875A1 (en) 2020-01-23
EP3752978A4 (en) 2021-05-26
KR102476239B1 (ko) 2022-12-12
US11347962B2 (en) 2022-05-31
EP3752978A1 (en) 2020-12-23

Similar Documents

Publication Publication Date Title
US11388465B2 (en) Electronic apparatus and method for upscaling a down-scaled image by selecting an improved filter set for an artificial intelligence model
KR102476239B1 (ko) 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
EP3742388B1 (en) Electronic device, image processing method thereof, and computer-readable recording medium
CN110088799B (zh) 图像处理设备和图像处理方法
KR101882704B1 (ko) 전자 장치 및 그 제어 방법
KR102452653B1 (ko) 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
US10997947B2 (en) Electronic device and control method thereof
US11184670B2 (en) Display apparatus and control method thereof
EP3738305B1 (en) Electronic device and control method thereof
CN109891459B (zh) 图像处理装置及图像处理方法
EP4401032A1 (en) Image processing method and device for removing perceptible noise from image
KR102604016B1 (ko) 전자 장치 및 이의 제어방법
KR20210157052A (ko) 객체 인식 방법 및 객체 인식 장치
KR20240062249A (ko) 전자 장치 및 그 터치 좌표 획득 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant