KR20200052406A - 전자 장치 및 이의 제어방법 - Google Patents

전자 장치 및 이의 제어방법 Download PDF

Info

Publication number
KR20200052406A
KR20200052406A KR1020180127237A KR20180127237A KR20200052406A KR 20200052406 A KR20200052406 A KR 20200052406A KR 1020180127237 A KR1020180127237 A KR 1020180127237A KR 20180127237 A KR20180127237 A KR 20180127237A KR 20200052406 A KR20200052406 A KR 20200052406A
Authority
KR
South Korea
Prior art keywords
filter
value
input image
electronic device
convolution
Prior art date
Application number
KR1020180127237A
Other languages
English (en)
Other versions
KR102604016B1 (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 KR1020180127237A priority Critical patent/KR102604016B1/ko
Priority to US17/278,122 priority patent/US11798252B2/en
Priority to PCT/KR2019/006547 priority patent/WO2020085600A1/ko
Publication of KR20200052406A publication Critical patent/KR20200052406A/ko
Application granted granted Critical
Publication of KR102604016B1 publication Critical patent/KR102604016B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • G06K9/00711
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural 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/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
    • 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 by the use of local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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
    • 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]

Abstract

본 개시는 기계 학습 알고리즘을 활용하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 전자 장치가 개시된다. 본 전자 장치는 입력 영상을 식별하기 위한 제1 필터가 저장된 메모리 및 제1 필터가 저장된 메모리 및 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득하고, 입력 영상에 포함된 픽셀 값을 제1 필터 및 제2 필터 각각과 컨벌루션한 결과값에 기초하여 입력 영상을 식별하는 프로세서(120)를 포함한다.

Description

전자 장치 및 이의 제어방법{ELECTRONIC APPARATUS AND CONTROLLING METHOD THEREOF}
본 개시는 전자 장치 및 그 제어방법에 관한 것으로, 더욱 상세하게는 인공 지능 모델을 이용하여 입력 영상의 대상을 인식하는 전자 장치 및 그 제어방법에 대한 것이다.
인공지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서 기계가 스스로 학습하고 판단하며, 사용할수록 인식률이 향상되는 시스템이다
인공지능 기술은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘을 이용하는 기계학습(딥러닝) 기술 및 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다.
요소기술들은, 예로, 인간의 언어/문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론/예측 기술, 인간의 경험 정보를 지식데이터로 처리하는 지식 표현 기술 및 차량의 자율 주행, 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 하나를 포함할 수 있다.
최근 인공 지능 기술을 이용하여 입력 영상의 특징부 추출 및 해당 추출부를 분석함으로써 텍스처를 인식할 수 있다. 텍스처를 인식하기 위해서 최근 DNN(Deep Neural Network)를 이용할 수 있으며 높은 인식률을 위해 많은 데이터가 필요할 수 있다. 특히, 텍스처의 경우 대상의 회전 정도, 크기 등 변화가 많으므로 DNN을 활용한 인식 방법에서 많은 데이터가 필요하다는 문제점이 있었다. 일반적으로 텍스처의 경우 회전 정도, 크기, 확대 정도에 따라 인식률이 다르게 나올 수 있어 데이터의 양을 증가시켜 학습하므로, 증가된 학습량을 처리하기 위해 고성능의 하드웨어가 필요하며, 학습 시간이 길어진다는 문제점이 있었다. 또한, 만약 대상 입력 영상의 특정 회전 정도(특정 각도)에 대응되는 입력 영상이 누락되는 경우, 인식률이 낮아지는 문제점이 있었다.
본 개시는 상술한 문제를 개선하기 위해 고안된 것으로, 본 개시의 목적은 CNN(Convolutional Neural Network) 모델에 변형 필터를 적용하여 대상을 인식하는 전자 장치 및 그의 제어방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 실시 예에 따른 전자 장치에 있어서, 입력 영상을 식별하기 위한 제1 필터가 저장된 메모리 및 상기 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득하고, 입력 영상에 포함된 픽셀 값을 상기 제1 필터 및 상기 제2 필터 각각과 컨벌루션한 결과값에 기초하여 상기 입력 영상을 식별하는 프로세서를 포함한다.
여기서, 상기 프로세서는 상기 입력 영상에 포함된 픽셀 값 및 상기 제1 필터를 컨벌루션하여 제1 결과값을 획득하고, 상기 입력 영상에 포함된 픽셀 값 및 상기 제2 필터를 컨벌루션하여 제2 결과값을 획득하고, 상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별하는 입력 영상을 식별할 수 있다.
여기서, 상기 프로세서는 상기 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 상기 입력 영상에 상기 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
또한, 상기 프로세서는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 상기 제2 필터를 획득할 수 있다.
여기서, 상기 프로세서는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득할 수 있다.
또한, 상기 프로세서는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 상기 제1 변형 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 상기 제1 각도만큼 순차적으로 회전시켜 제2 변형 필터를 획득할 수 있다.
한편, 상기 프로세서는 상기 필터 영역에 포함된 적어도 일부 엘리먼트의 위치를 스케일링 방향으로 이동시켜 상기 제2 필터를 획득할 수 있다.
여기서, 상기 프로세서는 상기 필터 영역에 포함된 제1 엘리먼트의 위치를 상기 필터 영역의 외측으로 이동시켜 상기 필터 영역을 확대하고, 상기 제1 엘리먼트가 이동된 위치에 포함된 제2엘리먼트를 상기 제1 엘리먼트로 대체하고, 상기 필터 영역의 외측에서 상기 제1 엘리먼트가 이동되지 않은 위치에 포함된 제3 엘리먼트를 상기 제1 엘리먼트로 대체하여 상기 제2 필터를 획득할 수 있다.
한편, 상기 메모리는 제1 입력 채널 및 제2 입력 채널에 대응되며, 상기 입력 영상을 식별하기 위한 제1 필터에 대응되는 제1 기본 필터 및 제2 기본 필터를 저장하며, 상기 프로세서는 상기 제1 기본 필터 및 제2 기본 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 제1 변형 필터 및 제2 변형 필터를 획득하고, 상기 입력 영상에 포함된 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 기본 필터를 컨벌루션하여 제1 결과값을 획득하고, 상기 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 변형 필터를 컨벌루션하여 제2 결과값을 획득하고, 상기 입력 영상에 포함된 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 기본 필터를 컨벌루션하여 제3 결과값을 획득하고, 상기 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 변형 필터를 컨벌루션하여 제4 결과값을 획득하고, 상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 제1 대표값과, 상기 제3 결과값 및 상기 제4 결과값에 기초하여 획득된 제2 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별할 수 있다.
여기서, 상기 프로세서는 상기 제1 대표값에 제1 텍스처 타입에 대응되는 제1 가중치를 적용하여 제1 확률값을 획득하고, 상기 제2 대표값에 상기 제1 텍스처 타입에 대응되는 제2 가중치를 적용하여 제2 확률값을 획득하고, 상기 제1 대표값에 제2 텍스처 타입에 대응되는 제3가중치를 적용하여 제3 확률값을 획득하고, 상기 제2 대표값에 상기 제2 텍스처 타입에 대응되는 제4 가중치를 적용하여 제4확률값을 획득하고, 상기 제1 확률값 및 제2 확률값을 합산하여 상기 입력 영상에 상기 제1 텍스처 타입이 포함되어 있을 확률을 획득하고, 상기 제3 확률값 및 제4 확률값을 합산하여 상기 입력 영상에 상기 제2 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
본 개시의 일 실시 예에 따른 입력 영상을 식별하기 위한 제1 필터가 저장된 전자 장치의 제어 방법은 상기 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득하는 단계, 입력 영상에 포함된 픽셀 값을 상기 제1 필터 및 상기 제2 필터 각각과 컨벌루션한 결과값에 기초하여 상기 입력 영상을 식별하는 단계를 포함한다.
여기서, 상기 입력 영상을 식별하는 단계는 상기 입력 영상에 포함된 픽셀 값 및 상기 제1 필터를 컨벌루션하여 제1 결과값을 획득하고, 상기 입력 영상에 포함된 픽셀 값 및 상기 제2 필터를 컨벌루션하여 제2 결과값을 획득하고, 상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별하는 입력 영상을 식별할 수 있다.
여기서, 상기 입력 영상을 식별하는 단계는 상기 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 상기 입력 영상에 상기 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
또한, 상기 제2필터를 획득하는 단계는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 상기 제2 필터를 획득할 수 있다.
여기서, 상기 제2필터를 획득하는 단계는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득할 수 있다.
또한, 상기 제2필터를 획득하는 단계는 상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 상기 제1 변형 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 상기 제1 각도만큼 순차적으로 회전시켜 제2 변형 필터를 획득할 수 있다.
한편, 상기 제2필터를 획득하는 단계는 상기 필터 영역에 포함된 적어도 일부 엘리먼트의 위치를 스케일링 방향으로 이동시켜 상기 제2 필터를 획득할 수 있다.
여기서, 상기 제2필터를 획득하는 단계는 상기 필터 영역에 포함된 제1 엘리먼트의 위치를 상기 필터 영역의 외측으로 이동시켜 상기 필터 영역을 확대하고, 상기 제1 엘리먼트가 이동된 위치에 포함된 제2엘리먼트를 상기 제1 엘리먼트로 대체하고, 상기 필터 영역의 외측에서 상기 제1 엘리먼트가 이동되지 않은 위치에 포함된 제3 엘리먼트를 상기 제1 엘리먼트로 대체하여 상기 제2 필터를 획득할 수 있다.
한편, 제1 입력 채널 및 제2 입력 채널에 대응되며, 상기 입력 영상을 식별하기 위한 제1 필터에 대응되는 제1 기본 필터 및 제2 기본 필터를 저장하는 전자 장치의 제어 방법에 있어서, 상기 제2필터를 획득하는 단계는 상기 제1 기본 필터 및 제2 기본 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 제1 변형 필터 및 제2 변형 필터를 획득하고, 상기 입력 영상을 식별하는 단계는 상기 입력 영상에 포함된 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 기본 필터를 컨벌루션하여 제1 결과값을 획득하고, 상기 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 변형 필터를 컨벌루션하여 제2 결과값을 획득하고, 상기 입력 영상에 포함된 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 기본 필터를 컨벌루션하여 제3 결과값을 획득하고, 상기 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 변형 필터를 컨벌루션하여 제4 결과값을 획득하고, 상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 제1 대표값과, 상기 제3 결과값 및 상기 제4 결과값에 기초하여 획득된 제2 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별할 수 있다.
또한, 상기 입력 영상을 식별하는 단계는 상기 제1 대표값에 제1 텍스처 타입에 대응되는 제1 가중치를 적용하여 제1 확률값을 획득하고, 상기 제2 대표값에 상기 제1 텍스처 타입에 대응되는 제2 가중치를 적용하여 제2 확률값을 획득하고, 상기 제1 대표값에 제2 텍스처 타입에 대응되는 제3가중치를 적용하여 제3 확률값을 획득하고, 상기 제2 대표값에 상기 제2 텍스처 타입에 대응되는 제4 가중치를 적용하여 제4확률값을 획득하고, 상기 제1 확률값 및 제2 확률값을 합산하여 상기 입력 영상에 상기 제1 텍스처 타입이 포함되어 있을 확률을 획득하고, 상기 제3 확률값 및 제4 확률값을 합산하여 상기 입력 영상에 상기 제2 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 블록도이다.
도 2는 도1의 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 3은 본 개시의 또 다른 실시 예에 따른 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 4는 CNN(Convolutional Neural Network)의 구조를 설명하기 위한 도면이다.
도 5는 CNN 모델의 합성곱 연산을 설명하기 위한 도면이다.
도 6은 CNN 모델의 합성곱 연산의 구체적인 계산을 설명하기 위한 도면이다.
도 7은 CNN 모델의 합성곱 연산에서 적용되는 기본 필터 및 변형 필터를 설명하기 위한 도면이다.
도 8은 CNN 모델에서 가중치를 고려하는 연산을 설명하기 위한 도면이다.
도 9는 기본 필터를 기 설정된 각도만큼 회전시켜 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
도 10은 변형 필터를 이용하여 새로운 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시 예에 따른 합성곱 연산 과정을 설명하기 위한 도면이다.
도 12는 본 개시의 또 다른 실시 예에 따른 합성곱 연산 과정을 설명하기 위한 도면이다.
도 13은 기본 필터를 스케일링하여 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
도 14는 스케일링에 의하여 변형 필터를 획득하는 다양한 실시 예를 설명하기 위한 도면이다.
도 15는 본 개시의 또 다른 실시 예에 따른 합성곱 연산 과정을 설명하기 위한 도면이다.
도 16은 CNN 모델에 3개의 채널을 포함하는 입력 영상을 적용하는 실시 예를 설명하기 위한 도면이다.
도 17은 입력 영상을 분석하여 변형 필터를 다르게 생성하는 실시 예를 설명하기 위한 도면이다.
도 18은 본 개시의 실시 예에 따른 전자 장치의 흐름도이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다." 또는 "구성되다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시의 계산 과정은 머신 러닝 기반의 인식 시스템에 의해 수행될 수 있으며, 본 개시에서는 뉴럴 네트워크(Neural Networks)에 기반한 일련의 기계학습 알고리즘에 의한 분류 시스템으로서, 딥 러닝 기반의 인식 시스템을 예로서 설명한다.
딥 러닝 기반의 인식 시스템은 적어도 하나의 분류기를 포함할 수 있으며, 분류기는 하나 또는 복수 개의 프로세서에 해당할 수 있다. 프로세서는 다수의 논리 게이트들의 어레이(Array)로 구현될 수 있고, 범용적인 마이크로 프로세서와 이 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다.
분류기는 뉴럴 네트워크(Neural Network) 기반 분류기, SVM(Support Vector Machine), 에이다부스트 분류기(Adaboost Classifier), 베이지안 분류기(Bayesian Classifier) 및, 퍼셉트론 분류기(Perceptron Classifier) 등으로 구현될 수 있다. 이하, 본 개시의 분류기는 컨볼루션 뉴럴 네트워크(Convolutional Neural Network, CNN) 기반 분류기로 구현되는 실시 예에 대하여 설명한다. 뉴럴 네트워크 기반 분류기는, 연결선으로 연결된 많은 수의 인공 뉴런들을 이용하여 생물학적인 시스템의 계산 능력을 모방하도록 구현된 연산모델로서, 연결 강도(가중치)를 갖는 연결선을 통해 인간의 인지작용이나 학습과정을 수행하게 된다. 그러나, 본 개시의 분류기가 이에 한정되는 것은 아니며, 상술한 다양한 분류기로 구현될 수 있음은 물론이다.
일반적인 뉴럴 네트워크는 입력층(input layer), 은닉층(hidden layer) 및 출력층(output layer)을 포함하며, 은닉층은 필요에 따라서 1 이상의 층으로 구성될 수 있다. 이러한, 뉴럴 네트워크를 학습시키기 위한 알고리즘으로 역전파(Bak Propagation) 알고리즘을 이용할 수 있다.
분류기는 어떠한 데이터가 뉴럴 네트워크의 입력층에 입력되면, 입력된 학습 데이터에 대한 출력 데이터가 뉴럴 네트워크의 출력층으로 출력되도록 뉴럴 네트워크를 학습시킬 수 있다. 촬영 이미지로부터 추출된 특징 정보가 입력되면, 뉴럴 네트워크를 이용하여 특징 정보의 패턴을 여러 클래스 중에서 어느 하나의 클래스로 분류하고, 분류 결과를 출력할 수 있다.
프로세서는 뉴럴 네트워크(Neural Networks)에 기반한 일련의 기계학습 알고리즘에 의한 분류 시스템으로서, 딥 러닝 기반의 인식 시스템을 이용할 수 있다.
한편, 본 개시의 딥 러닝 기반의 인식 시스템을 설명함에 있어, 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함할 수 있다. 또한, 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 블록도이다.
도 1을 참조하면, 본 개시의 일 실시 예의 전자 장치(100)는 메모리(110) 및 프로세서(120)로 구성될 수 있다.
전자 장치(100)는 TV, 데스크탑 PC, 노트북, 스마트폰, 태블릿 PC, 서버 등일 수 있다. 또는, 전자 장치(100)는 클라우딩 컴퓨팅 환경이 구축된 시스템 자체 즉, 클라우드 서버로 구현될 수도 있다. 구체적으로, 전자 장치(100)는 딥 러닝 기반의 인식 시스템을 포함하는 장치일 수 있다.
메모리(110)는 프로세서(120)에 포함된 롬(ROM)(예를 들어, EEPROM(electrically erasable programmable read-only memory)), 램(RAM) 등의 내부 메모리로 구현되거나, 프로세서(120)와 별도의 메모리로 구현될 수도 있다.
메모리(110)는 입력 영상을 식별하기 위한 제1 필터를 저장하고 있을 수 있다. 일 실시 예에 따라, 제1 필터는 입력 영상의 텍스쳐를 식별하기 위한 것일 수 있다. 이하에서는, 설명의 편의를 위하여 제1 필터를 기본 필터라 명명하기로 한다.
기본 필터는 CNN(Convolutional Neural Network)에서 아용되는 컨벌루션 필터 중 하나에 해당할 수 있다. 그리고, CNN 학습 모델에 적용되는 기본 필터의 수는 입력 채널 개수에 따라 달라질 수 있다. 예를 들어, 입력 영상이 포함하는 채널의 수가 3개라면 기본 필터는 3개가 될 수 있다. 또한, 기본 필터의 크기는 입력 영상 또는 사용자의 설정에 따라 달라질 수 있다. 메모리(110)는 다양한 기본 필터에 대한 정보를 미리 저장하고 있을 수 있다.
이 경우, 메모리(110)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다.
한편, 전자 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나로 구현되고, 전자 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
프로세서(120)는 전자 장치의 전반적인 제어 동작을 수행할 수 있다. 구체적으로, 프로세서는 전자 장치의 전반적인 동작을 제어하는 기능을 한다.
프로세서(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 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(120)는 입력 영상이 포함하는 픽셀 정보를 획득할 수 있다. 입력 영상은 색상 또는 조도 값을 지시하는 픽셀 값을 포함할 수 있으며, 프로세서(120)는 입력 영상이 가지는 적어도 하나의 채널에 대응되는 픽셀 값을 식별할 수 있다.
프로세서(120)는 입력 영상이 포함하는 픽셀 값에 컨벌루션 필터를 적용하여 CNN 학습 모델에서 사용되는 컨벌루션 연산을 수행할 수 있다. 컨벌루션 연산(합성곱 연산)에 대한 구체적인 설명은 도 5 및 도6에서 후술한다.
컨벌루션 연산은 CNN 학습 모델을 수행하기 위한 계산 과정에 해당할 수 있으며, 객체의 텍츠처를 인식할 때까지 여러 개의 컨볼루션층을 통과하여 계산될 수 있다. 여기서, CNN구조는 사용자에 의해 설정 가능하며, 설정한 CNN 구조에 따라 1회 이상의 많은 연산이 수행될 수 있다.
그리고, 구현 예에 따라, 컨벌루션 연산은 1회 수행될 수 있으며, 수회 반복되어 수행될 수 있다. 컨벌루션 연산의 수행 횟수는 사용자가 설정한 CNN 학습 모델에 따라 변경될 수 있다.
프로세서(120)는 제1필터, 즉, 기본 필터에 포함된 복수의 엘리먼트를 회전시키거나, 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2 필터를 획득할 수 있다. 이하에서는 설명의 편의를 위하여 제2 필터를 변형 필터라고 명명하기로 한다.
그리고, 입력 영상에 포함된 픽셀 값 및 기본 필터를 컨벌루션하여 제1 결과값을 획득하고, 입력 영상에 포함된 픽셀 값 및 변형 필터를 컨벌루션하여 제2 결과값을 획득할 수 있다. 그리고, 프로세서(120)는 제1 결과값 및 제2 결과값에 기초하여 대표값을 획득하고, 대표값에 기초하여 입력 영상의 텍스처 타입을 식별할 수 있다.
여기서, 프로세서(120)는 그리고, 프로세서(120)는 제1 결과값과 제2 결과값을 이용하여 대표값을 획득할 수 있다. 프로세서(120)는 제1 결과값 및 제2 결과값 중 최대 값, 또는 제1 결과값 및 제2 결과값의 평균 값을 대표값으로 획득할 수 있다. 최대값 또는 평균값 중 어느 방식을 이용할지 여부에 대해서 프로세서(120)는 사용자가 미리 설정한 방식에 따라 대표값을 획득할 수 있다.
기본 필터는 메모리(110)에 저장된 CNN 학습 모델에 적용되는 컨벌루션 필터 중 하나일 수 있다. 기본 필터는 입력 영상을 인식하기 위해 적합한 필터에 해당할 수 있다. 구현 예에 따라, 프로세서(120)가 입력 영상에 대응되는 적합한 필터가 없다고 판단하는 경우, 프로세서(120)는 기본 필터를 랜덤한 값을 갖도록 임의로 생성할 수 있다.
한편, 엘리먼트란 입력 영상의 픽셀 값 또는 컨벌루션 필터의 값을 의미할 수 있다. 예를 들어, 3*3 크기의 필터는 9개의 엘리먼트들을 포함할 수 있다. 입력 영상의 경우, 엘리먼트들은 이미지에 대한 정보를 지시하는 값에 해당할 수 있다. 예를 들어, 입력 영상의 엘리먼트들은 RGB 채널의 값 또는 조도값을 의미할 수 있다.
한편, 컨벌루션 필터란 CNN 학습 모델에 사용되는 필터를 의미할 수 있다. 본 개시의 전자 장치를 설명함에 있어 컨벌루션 필터는 기본 필터 및 변형 필터를 포함할 수 있다.
텍스처란 입력 영상의 대상이 되는 객체 표면의 감촉, 질감 등을 의미할 수 있다. 여기서, 프로세서(120)는 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 입력 영상에 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다. 가중치를 적용하는 구체적인 방법에 대해선 도 8에서 후술한다.
또한, 프로세서(120)는 기본 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 변형 필터를 획득할 수 있다.
기 설정된 각도는 45도, 90도, 180도 등이 될 수 있다. 하지만, 구현 예에 따라 프로세서(120)는 상술한 각도 이외에 다른 각도만큼 회전하여 변형 필터를 획득할 수 있다. 텍스처를 인식함에 있어, 텍스처는 일반 사물과 같이 특정한 방향성이 없을 수 있다. 예를 들어, 면직물의 정면을 촬상한 입력 영상과 면직물을 일정한 각도만큼 회전시킨 후 촬상한 입력 영상을 인식하는 경우, 픽셀 정보는 상이하지만 동일한 결과값이 출력되어야 한다. 따라서, 분석하고자 하는 대상의 입력 영상을 복수개 입력하여 인식률을 높일 수 있다. 하지만, 입력 영상 하나만이 입력되는 경우에도 변형 필터를 생성함으로써 유사한 효과를 얻을 수 있다.
한편, 기본필터를 회전하는 방식으로 변형 필터를 획득하는 방법 및 구체적인 실시 예에 대해서는 도 9 내지 도 12에서 후술한다.
프로세서(120)는 입력 영상이 하나여도 복수개의 컨벌루션 필터를 적용시킬 수 있다. 예를 들어, 프로세서(120)는 입력 영상에 하나의 기본 필터와 복수개의 변형 필터를 적용시킬 수 있다.
여기서, 프로세서(120)는 기본 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 기본 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득할 수 있다. 예를 들어, 프로세서(120)는 기본 필터를 45도만큼 회전 시킨 제1 변형 필터를 획득할 수 있고, 다시 기본 필터를 90도만큼 회전 시킨 제2 변형 필터를 획득할 수 있다. 기본 필터를 이용하여 복수개의 변형 필터를 획득하는 다양한 실시 예는 도 9에서 구체적으로 후술한다.
한편, 프로세서(120)는 기본 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 제1 변형 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제2 변형 필터를 획득할 수 있다. 예를 들어, 프로세서(120)는 기본 필터를 45도만큼 회전시켜 제1 변형 필터를 획득할 수 있다. 그리고, 프로세서(120)는 제1 변형필터를 다시 45도만큼 회전시켜 제2 변형 필터를 획득할 수 있다. 기본 필터를 이용하지 않고 변형 필터를 이용하는 방법 및 구체적인 실시 예에 대해서는 도 10에서 후술한다.
한편, 프로세서(120)는 필터 영역에 포함된 적어도 일부 엘리먼트의 위치를 스케일링 방향으로 이동시켜 변형 필터를 획득할 수 있다.
스케일링 방법은 기본 필터가 포함하는 모든 엘리먼트의 크기를 변화시키는 방법일 수 있다. 여기서, 필터 영역은 기본 필터의 모든 엘리먼트들을 포함할 수 있다.
한편, 프로세서(120)는 기본 필터 중 특정 영역에 해당하는 엘리먼트들을 기준으로 스케일링 동작을 수행할 수 있다. 프로세서(120)는 특정 영역에 대한 엘리먼트를 확장, 축소시킬 수 있다.
프로세서(120)는 입력 영상에서 획득된 필터 값을 이용하여 입력 영상의 특정 영역을 식별할 수 있다. 그리고, 프로세서(120)는 식별된 특정 영역의 엘리먼트들을 이용하여 필터의 다양한 스케일링 동작을 수행할 수 있다.
여기서, 프로세서(120)는 필터 영역에 포함된 제1 엘리먼트의 위치를 필터 영역의 외측으로 이동시켜 필터 영역을 확대하고, 제1 엘리먼트가 이동된 위치에 포함된 제2엘리먼트를 제1 엘리먼트로 대체하고, 필터 영역의 외측에서 제1 엘리먼트가 이동되지 않은 위치에 포함된 제3 엘리먼트를 제1 엘리먼트로 대체하여 변형 필터를 획득할 수 있다. 기본 필터를 스케일링 방식으로 확장 또는 축소하여 변형 필터를 획득하는 방법 및 구체적인 실시 예에 대해서는 도 13 내지 도 15에서 후술한다.
한편, 입력 영상이 복수의 채널을 포함하는 경우를 가정한다.
메모리(110)는 제1 및 제2 입력 채널에 대응되는 제1 및 제2 기본 필터를 저장하며, 프로세서(120)는 제1 및 제2 기본 필터에 대응되는 제1 및 제2 변형 필터를 획득할 수 있다. 여기서, 프로세서(120)는 메모리(110)에 기 저장되어 있는 복수의 기본 필터 중 입력 영상에 포함된 채널에 대응되는 기본 필터를 획득할 수 있다. 예를 들어, 입력 영상이 R채널, G채널, B채널을 포함된다면, 프로세서(120)는 R채널에 대응되는 제1 기본 필터, G채널에 대응되는 제2 기본 필터, B채널에 대응되는 제3 기본 필터를 식별할 수 있다.
한편, 프로세서(120)는 입력 영상에 포함된 제1 입력 채널에 대응되는 픽셀 값 및 제1 기본 필터를 컨벌루션하여 제1 결과값을 획득하고, 제1 입력 채널에 대응되는 픽셀 값 및 제1 변형 필터를 컨벌루션하여 제2 결과값을 획득할 수 있다.
그리고, 프로세서(120)는 입력 영상에 포함된 제2 입력 채널에 대응되는 픽셀 값 및 제2 기본 필터를 컨벌루션하여 제3 결과값을 획득하고, 제2 입력 채널에 대응되는 픽셀 값 및 제2 변형 필터를 컨벌루션하여 제4 결과값을 획득할 수 있다.
즉, 프로세서(120)는 제1 입력 채널에 관하여 제1 및 제2 결과값을 획득할 수 있다. 그리고, 프로세서(120)는 제2 입력 채널에 관하여 제3 및 제4 결과값을 획득할 수 있다.
프로세서(120)는 제1 결과값 및 제2 결과값에 기초하여 제1 대표값을 획득하고, 제3 결과값 및 제4 결과값에 기초하여 제2대표값을 획득할 수 있다.
즉, 프로세서(120)는 제1 입력 채널에 관하여 제1 대표값을 획득할 수 있으며 제2 입력 채널에 관하여 제2 대표값을 획득할 수 있다.
그리고, 프로세서(120)는 제1 및 제2 대표값에 기초하여 입력 영상의 텍스처 타입을 식별할 수 있다. 프로세서(120)는 제1 입력 채널 및 제2 입력 채널에 대한 복수개의 대표값을 이용하여 하나의 대표값으로 변환할 수 있다. 이 경우, 프로세서(120)는 각 입력 채널에 대한 복수개의 대표값을 합산하여 하나의 대표값으로 변환할 수 있다. 그리고, 프로세서(120)는 합산된 대표값에 가중치를 적용하여 입력 영상에 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
프로세서(120)는 제1 대표값에 제1 텍스처 타입에 대응되는 제1 가중치를 적용하여 제1 확률 값을 획득하고, 제2 대표값에 제1 텍스처 타입에 대응되는 제2 가중치를 적용하여 제2 확률 값을 획득할 수 있다.
여기서, 제1 대표값은 제1 입력 채널에 대한 값이며 제2 대표값은 제2 입력 채널에 대한 값을 의미할 수 있다. 프로세서(120)는 입력 채널에 따라 제1 텍스처 타임에 대한 가중치를 적용할 수 있고 입력 채널에 따라 별개의 확률값을 획득할 수 있다.
한편, 본 개시의 일 실시 예에서는, 간단한 구조를 설명하기 위하여 1회 연산에 의해 상기 제1대표값 및 제2 대표값을 구하는 것으로 설명하였다. 하지만, 실제 환경에서는 복수 개의 컨볼루션층을 거쳐 제1 대표값 및 제2대표값을 구할 수 있다.
한편, 프로세서(120)는 제1 텍스처 타입이 아닌 제2 텍스처 타입에 대한 가중치를 적용할 수 있다. 구체적으로, 제1 대표값에 제2 텍스처 타입에 대응되는 제3가중치를 적용하여 제3 확률 값을 획득하고, 제2 대표값에 제2 텍스처 타입에 대응되는 제4 가중치를 적용하여 제4확률 값을 획득할 수 있다.
프로세서(120)는 제1 및 제2 확률 값을 합산하여 입력 영상에 제1 텍스처 타입이 포함되어 있을 확률을 획득하고, 제3 및 제4 확률 값을 합산하여 입력 영상에 제2 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다. 복수개의 입력 채널을 포함하는 입력 영상에 대한 실시 예는 도 16에서 후술한다.
한편, 지금까지 프로세서(120)가 변형 필터를 획득함에 있어 엘리먼트들을 회전하는 방식 또는 스케일링하여 확장 또는 축소시키는 방식에 대하여 설명하였다. 두 가지 방식 중 어느 하나를 설명하였다. 예를 들어, 컨벌루션 연산을 수행하기 위하여 기본 필터 1개와 변형 필터 2개를 이용하는 것으로 가정한다. 프로세서(120)는 변형 필터 2개를 모두 회전 방식으로 획득하거나, 변형 필터 2개를 모두 스케일링 방식으로 획득할 수 있다.
하지만, 실제 구현 시 프로세서(120)는 두 가지 방식을 모두 이용하여 컨벌루션 연산을 수행할 수 있다. 예를 들어, 프로세서(120)는 기본 필터 1개와 회전 방식에 의해 획득되는 제1 변형 필터 및 스케일링 방식에 의해 획득되는 제2 변형필터를 이용하여 컨벌루션 연산을 수행할 수 있다.
한편, 구현 예에 따라, 프로세서(120)는 기본 필터를 미리 저장하고 있으면서, 회전 또는 스케일링 방법에 의한 변형 필터를 미리 저장할 수 있다.
한편, 또 다른 구현 예에 따라, 프로세서(120)는 기본 필터만을 미리 저장하고 입력 영상에 대한 정보를 분석한 이후 변형 필터를 획득하는 형태로 구현할 수 있다. 여기서, 입력 영상에 대한 정보를 분석하는 동작은 입력 영상을 식별하는 것과 구분되는 동작일 수 있다. 구체적으로, 입력 영상에 대한 정보를 분석하는 동작은 입력 영상에 포함된 픽셀 값을 기초로 특징 부분 또는 특정 패턴을 식별하는 것을 의미할 수 있다. 그리고, 프로세서(120)는 식별된 특징 또는 패턴이 기 설정된 데이터에 대응되는지 비교할 수 있다. 메모리(110) 등에는 특징 또는 패턴에 대응되는 변형 필터 생성 방법을 저장할 수 있다. 예를 들어, 프로세서(120)는 A라는 패턴이 포함되는 입력 영상에 대해선 90도만큼 회전하는 방식으로 변형 필터를 생성하도록 설정할 수 있다. 프로세서(120)는 특징 또는 패턴에 따라 적합한 변형 필터 생성방법을 미리 식별하여, 텍스쳐 인식의 인식률을 높이고 처리 속도를 단축시킬 수 있다.
상술한 방식으로, 프로세서(120)는 입력 영상에 대한 정보를 분석하여 변형 필터를 회전 방식에 의해 획득할 것인지 스케일링 방식에 의할 것인지 결정할 수 있다. 또한, 프로세서(120)는 입력 영상에 대한 정보를 분석하여 변형 필터를 몇 개 생성할 것인지 여부를 결정할 수 있다. 또한, 프로세서(120)는 입력 영상에 대한 정보를 분석하여 몇 도의 각도로 회전 할 것이지 여부를 결정할 수 있다. 또한, 프로세서(120)는 입력 영상에 대한 정보를 분석하여 스케일링의 크기, 스케일링의 방향 등을 결정할 수 있다.
프로세서(120)는 입력 영상에서 획득되는 특징 부분 또는 패턴에 따라 기본 필터를 시계 방향으로 회전시킬지 반시계 방향으로 회전시킬지 결정할 수 있다. 예를 들어, 프로세서(120)가 입력 영상에서 추출되는 특징부의 패턴이 시계 방향을 형성하는 것으로 식별하면, 프로세서(120)는 변형 필터를 획득하기 위하여 기본 필터를 시계 방향으로 회전시킬 수 있다. 반대로, 프로세서(120)가 입력 영상에서 추출되는 특징부의 패턴이 반시계 방향을 형성하는 것으로 식별하면, 프로세서(120)는 변형 필터를 획득하기 위하여 기본 필터를 반시계 방향으로 회전시킬 수 있다.
전자 장치(100)는 입력 영상으로부터 획득되는 픽셀 정보에 기초하여, 대상의 픽셀 정보 분포를 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 대상의 픽셀 정보 분포에 기초하여, 대상의 반복되는 패턴을 획득할 수 있다. 또한, 전자 장치(100)는 반복되는 패턴의 간격을 식별할 수 있다. 그리고, 전자 장치(100)는 반복되는 패턴의 간격에 기초하여 변형 필터를 획득하는 방법을 결정할 수 있다. 구체적인 실시 예는 도 17에서 후술한다.
본 개시의 일 실시 예에 따른 전자 장치(100)는 입력 영상 1개만으로 텍스처 인식 동작을 수행할 수 있다. 전자 장치(100)는 다양한 각도로 회전시킨 복수개의 입력 영상 또는 분석 대상을 확대 또는 축소한 복수개의 입력 영상을 분석하는 대신에, 기본 필터 및 변형 필터를 이용하여 유사한 효과를 가질 수 있다. 전자 장치(100)는 입력 영상을 복수개 이용하는 대신에 고정된 1개의 입력 영상을 수신할 수 있다.
한편, 컨벌루션 필터(기본 필터 및 변형 필터)에 포함된 엘리먼트는 학습 과정에서 수정될 수 있다. 본 개시의 일 실시 예에 따른 전자 장치(100)는 컨벌루션 연산이 한번만 수행되는 것으로 설명하였지만, 실제 구현 시 컨벌루션 연산이 반복적으로 수행되고 컨벌루션 필터(기본 필터 및 변형 필터)가 포함하는 값들이 계속하여 변경될 수 있다.
여기서, 본 개시의 일 실시 예에 따른 기본 필터 및 변형 필터는 모두 하나의 필터라고 볼 수 있다. 변형 필터는 기본 필터를 회전 방식 또는 스케일링 방식으로 변형시킨 것에 불과하므로, 모두 하나의 필터라고 볼 수 있다. CNN학습 모델이 적용되는 경우, 학습 과정에서 기본 필터 및 변형 필터의 엘리먼트가 수정된다 하여도, 결국 하나의 필터에 대한 학습 동작이 이루어진다고 볼 수 있다. 따라서, 단일 필터만 학습하는 결과가 되므로, 학습에 필요한 입력 영상(입력 데이터)이 간소화되고 학습 수렴이 용이해 질 수 있다. 또한, 비교적 간단한 구조를 유지하면서 CNN 학습 모델을 이용할 수 있어 학습 인식률이 높아질 수 있다. 또한, 학습된 변형 필터를 다시 동일한 방식으로 변형하여 컨벌루션 필터를 생성할 수 있으므로, 전체적인 텍스처 인식률이 증가할 수 있다.
도 2는 도 1의 전자 장치(100)의 구체적인 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 본 개시의 일 실시 예의 전자 장치(100)는 메모리(110), 프로세서(120), 통신 인터페이스(130), 사용자 인터페이스(140), 입출력 인터페이스(150)로 구성될 수 있다.
메모리(110) 및 프로세서(120)의 동작 중에서 앞서 설명한 것과 동일한 동작에 대해서는 중복 설명은 생략한다.
프로세서(120)는 메모리(110)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 동작을 전반적으로 제어한다.
구체적으로, 프로세서(120)는 RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 134-n), 버스(125)를 포함한다.
RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 134-n) 등은 버스(125)를 통해 서로 연결될 수 있다.
ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(123)는 ROM(122)에 저장된 명령어에 따라 메모리(110)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(123)는 메모리(110)에 저장된 각종 어플리케이션 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
메인 CPU(123)는 메모리(110)에 액세스하여, 메모리(110)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메모리(110)에 저장된 각종 프로그램, 컨텐츠 데이터 등을 이용하여 다양한 동작을 수행한다.
제1 내지 n 인터페이스(124-1 내지 134-n)는 상술한 각종 구성 요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
한편, 프로세서(120)는 그래픽 처리 기능(비디오 처리 기능)을 수행할 수 있다. 예를 들어, 프로세서(120)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성할 수 있다. 여기서, 연산부(미도시)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산할 수 있다. 그리고, 렌더링부(미도시)는 연산부(미도시)에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성할 수 있다. 또한, 프로세서(120)는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
한편, 프로세서(120)는 오디오 데이터에 대한 처리를 수행할 수 있다. 구체적으로, 프로세서(120)는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
통신 인터페이스(130)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신 인터페이스(130)는 와이파이 칩(131), 블루투스 칩(132), 적외선 통신 칩(133), 및 무선 통신 칩(134) 등을 포함한다. 프로세서(120)는 통신 인터페이스(130)를 이용하여 각종 외부 장치와 통신을 수행할 수 있다.
통신 인터페이스(130)는 기타 외부 장치 또는 외부 서버와 통신할 수 있다. 이때, 외부 장치는 영상 콘텐츠를 출력할 수 있는 전자 장치일 수 있다. 예를 들어, 외부 장치가 TV인 경우, 외부 장치의 종류는 영상 기기이고, TV의 출력 데이터 정보는 TV의 모델 명, TV의 출력 콘텐츠의 오디오 특성, TV의 출력 콘텐츠 중 출력 오디오의 주파수 특성 등을 포함할 수 있으나 이에 한정되지 않는다. 또한, 통신 인터페이스(130)가 통신하는 외부 장치는 영상 콘텐츠를 출력할 수 있는 장치 외에도 리모컨, 블루투스 스피커, 조명 장치, 스마트 청소기, 스마트 냉장고, IOT 홈 매니저 등을 포함할 수 있다. 예를 들어, 통신 인터페이스(130)는 비디오/오디오 데이터 또는 각종 제어 데이터를 외부 장치 또는 외부 서버에 전송할 수 있다.
와이파이 칩(131), 블루투스 칩(132)은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 칩(131)이나 블루투스 칩(132)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
적외선 통신 칩(133)은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 칩(134)은 상술한 와이파이 칩(131) 및 블루투스 칩(132) 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다.
그 밖에 통신 인터페이스(130)는LAN(Local Area Network) 모듈, 이더넷 모듈, 또는 페어 케이블, 동축 케이블 또는 광섬유 케이블 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수 있다.
일 예에 따라 통신 인터페이스(130)는 리모컨과 같은 외부 장치 및 외부 서버와 통신하기 위해 동일한 통신 모듈(예를 들어, Wi-Fi 모듈)을 이용할 수 있다.
다른 예에 따라 통신 인터페이스(130)는 리모컨과 같은 외부 장치 및 외부 서버와 통신하기 위해 상이한 통신 모듈(예를 들어, Wi-Fi 모듈)을 이용할 수 있다. 예를 들어, 통신 인터페이스(130)는 외부 서버와 통신하기 위해 이더넷 모듈 또는 WiFi 모듈 중 적어도 하나를 이용할 수 있고, 리모컨과 같은 외부 장치와 통신하기 위해 BT 모듈을 이용할 수도 있다. 다만 이는 일 실시 예에 불과하며 통신 인터페이스(130)는 복수의 외부 장치 또는 외부 서버와 통신하는 경우 다양한 통신 모듈 중 적어도 하나의 통신 모듈을 이용할 수 있다.
한편, 통신 인터페이스(130)는 구현 예에 따라 튜너 및 복조부를 추가적으로 포함할 수 있다.
튜너(미도시)는 안테나를 통해 수신되는 RF(Radio Frequency) 방송 신호 중 사용자에 의해 선택된 채널 또는 기 저장된 모든 채널을 튜닝하여 RF 방송 신호를 수신할 수 있다.
복조부(미도시)는 튜너에서 변환된 디지털 IF 신호(DIF)를 수신하여 복조하고, 채널 복호화 등을 수행할 수도 있다.
사용자 인터페이스(140)는 버튼, 터치 패드, 마우스 및 키보드와 같은 장치로 구현되거나, 상술한 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 전자 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다.
입출력 인터페이스(150)는 HDMI(High Definition Multimedia Interface), MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP(Display Port), 썬더볼트(Thunderbolt), VGA(Video Graphics Array)포트, RGB 포트, D-SUB(D-subminiature), DVI(Digital Visual Interface) 중 어느 하나의 인터페이스일 수 있다.
HDMI는 오디오 및 비디오 신호를 입출력하는 AV 기기용 고성능 데이터의 전송이 가능한 인터페이스이다. DP는 1920x1080의 풀HD급은 물론, 2560x1600이나 3840x2160과 같은 초고해상도의 화면, 그리고 3D 입체영상을 구현할 수 있고, 디지털 음성 또한 전달 가능한 인터페이스이다. 썬더볼트는 고속 데티어 전송 및 연결을 위한 입출력 인터페이스이며, PC, 디스플레이, 저장장치 등을 모두 하나의 포트로 병렬 연결할 수 있다.
입출력 인터페이스(150)는 오디오 및 비디오 신호 중 적어도 하나를 입출력 할 수 있다.
구현 예에 따라, 입출력 인터페이스(150)는 오디오 신호만을 입출력하는 포트와 비디오 신호만을 입출력하는 포트를 별개의 포트로 포함하거나, 오디오 신호 및 비디오 신호를 모두 입출력하는 하나의 포트로 구현될 수 있다.
전자 장치(100)는 디스플레이를 포함하지 않는 장치로 구현되어, 별도의 디스플레이 장치로 영상 신호를 전송할 수 있다.
전자 장치(100)는 외부 장치로부터 수신된 음성 신호의 음성 인식을 위해, 외부 서버로 해당 음성 신호를 전송할 수 있다.
이 경우, 외부 장치 및 외부 서버와의 통신을 위한 통신 모듈은 하나로 구현될 수 있다. 예를 들어, 외부 장치 및 외부 서버와의 통신을 위한 통신 모듈은 Wi-Fi모듈로 동일할 수 있다.
외부 장치 및 외부 서버와의 통신을 위한 통신 모듈은 별개로 구현될 수 있다. 예를 들어, 외부 장치와는 Bluetooth 모듈을 이용하여 통신하고, 외부 서버와는 이더넷 모뎀 또는 Wi-Fi모듈을 이용하여 통신할 수 있다.
도 3은 본 개시의 또 다른 실시 예에 따른 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 3을 참고하면, 도 2의 구성에서 디스플레이(160) 및 스피커(170)를 더 포함할 수 있다.
디스플레이(160)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(160) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(160)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
또한, 본 발명의 일 실시 예에 따른, 디스플레이(160)는 영상을 출력하는 디스플레이 패널뿐만 아니라, 디스플레이 패널을 하우징하는 베젤을 포함할 수 있다. 특히, 본 발명의 일 실시 예에 따른, 베젤은 사용자 인터렉션을 감지하기 위한 터치 센서(미도시)를 포함할 수 있다.
스피커(170)는 입출력 인터페이스(150)에서 처리된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성요소일 수 있다.
한편, 전자 장치(100)는 추가적으로, 마이크(미도시)를 포함할 수 있다. 마이크는 사용자 음성이나 기타 소리를 입력 받아 오디오 데이터로 변환하기 위한 구성이다. 이 경우, 마이크는 수신된 아날로그 사용자 음성 신호를 디지털 신호로 변환하여 전자 장치(100)로 전송할 수 있다.
도 4는 CNN(Convolutional Neural Network)의 구조를 설명하기 위한 도면이다.
도 4를 참고하면, 입력 영상은 18*18크기의 8개의 채널이라고 가정하고, 출력은 7*7 크기의 32개의 채널이라고 가정한다. 여기서, 컨벌루션 필터는 5*5 크기이며 입력 채널 별로 32개씩 존재할 수 있다. 따라서, 전체 컨벌루션 필터는 256개가 존재할 수 있다.
본 개시의 일 실시 예에 따른 합성곱 연산에서 입력 채널별로 존재하는 컨벌루션 필터의 개수가 출력 채널의 개수와 동일할 수 있다.
필터의 개수가 증가할수록 전자 장치(100)는 CNN 모델을 실행하는 시간이 증가할 수 있다. 필터의 개수가 증가하는 것은 계산 과정이 복잡해지고 학습 수렴을 위한 시간이 길어진다는 점을 의미할 수 있다.
도 5는 CNN 모델의 합성곱 연산을 설명하기 위한 도면이다.
도 5를 참고하면, 입력 영상에서 획득된 픽셀 정보를 기초로 하여 기본 필터를 적용하여 컨벌루션 연산(합성곱 연산)을 수행할 수 있다. 입력 영상은 적어도 하나의 채널에 해당하는 픽셀 정보를 포함하고 있으며, 전자 장치(100) 는 해당 픽셀 정보에 CNN 모델이 기 저장하고 있는 기본 필터를 적용시킬 수 있다.
전자 장치(100)가 입력 영상에서 획득한 픽셀 정보에 기본 필터를 적용하면, 전자 장치(100)는 결과값을 획득할 수 있다. 여기서, 결과값이란 최종적인 결과값을 의미할 수 있다. 하지만, CNN 모델의 특성상 이는 한번의 컨벌루션 연산의 결과값을 의미하며, 유사한 컨벌루션 연산이 수회 반복될 수 있다. 여기서, 컨벌루션 연산이 수행될 때마다 전자 장치(100)는 컨벌루션 필터를 동일하게 또는 다르게 적용시킬 수 있다. 예를 들어, 전자 장치(100)가 최초의 컨벌루션 연산을 수행하는 경우 입력 영상의 픽셀 정보에 f1 필터를 적용시켜 제1 결과값을 얻는다고 가정한다. 여기서, 결과값은 최초 1회의 컨벌루션 연산을 수행함으로서 얻은 결과값이며, 이후 전자 장치(100)는 컨벌루션 연산을 반복하여 수행할 수 있다. 여기서, 전자 장치(100)는 f1필터를 적용해 획득한 제1 결과값에 f2필터를 적용하여 새로운 결과값인 제2 결과값을 획득할 수 있다.
도 6은 CNN 모델의 합성곱 연산의 구체적인 계산을 설명하기 위한 도면이다.
도 6을 참고하면, 전자 장치(100)는 5*5 크기의 입력 영상을 수신하고, 컨벌루션 필터는 3*3크기라고 가정한다. 입력 영상에서 획득되는 픽셀 정보가 i11~i55이며, 각각의 i11~i55는 엘리먼트에 해당한다. 엘리먼트는 각 픽셀에 대응되는 값에 해당할 수 있다. 예를 들어, 엘리먼트는 색상, 조도 등 이미지를 표현할 수 있는 값을 의미할 수 있다. 도 6을 참고하면, 입력 영상은 5*5 크기이며 25개의 엘리먼트로 이루어질 수 있다. 그리고, 각각의 엘리먼트는 i11~i55로 표현할 수 있다.
전자 장치(100)는 5*5 크기의 입력 영상과 3*3 크기의 컨벌루션 필터를 이용하여 컨벌루션 연산을 수행할 수 있다. 구체적으로, 컨번루션 연산을 수행하는 경우, 3*3 크기의 결과값이 획득될 수 있다. 컨벌루션 연산의 계산 과정은 다음과 같다.
[i11*f11+i12*f12+i13*f13+i21*f21+i22*f22+i23*f23+i31*f31+i32*f32+i33*f33, i12*f11+i13*f12+i14*f13+i22*f21+i23*f22+i24*f23+i32*f31+i33*f32+i34*f33, i13*f11+i14*f12+i15*f13+i23*f21+i24*f22+i25*f23+i33*f31+i34*f32+i35*f33; i21*f11+i22*f12+i23*f13+i31*f21+i32*f22+i33*f23+i41*f31+i42*f32+i43*f33, i22*f11+i23*f12+i24*f13+i32*f21+i33*f22+i34*f23+i42*f31+i43*f32+i44*f33, i23*f11+i24*f12+i25*f13+i33*f21+i34*f22+i35*f23+i43*f31+i44*f32+i45*f33; i31*f11+i32*f12+i33*f13+i41*f21+i42*f22+i43*f23+i51*f31+i52*f32+i53*f33, i32*f11+i33*f12+i34*f13+i42*f21+i43*f22+i44*f23+i52*f31+i53*f32+i54*f33, i33*f11+i34*f12+i35*f13+i43*f21+i44*f22+i45*f23+i53*f31+i54*f32+i55*f33]
한편, 도 6에서는 3*3 크기의 결과값이 출력되는 것으로 설명하였지만, 결과값의 크기는 입력 영상의 크기 또는 필터의 크기에 따라 달라질 수 있다.
또한, 도 5 및 도6을 설명함에 있어 하나의 입력 채널에 컨벌루션 필터 하나가 적용되는 것으로 설명하였다. 하지만, 하나의 입력 채널에 컨벌루션 필터가 복수개 적용될 수 있다.
도 7은 CNN 모델의 합성곱 연산에서 적용되는 기본 필터 및 변형 필터를 설명하기 위한 도면이다.
전자 장치(100)는 하나의 채널을 포함하는 입력 영상에서 픽셀 정보를 획득할 수 있으며, 획득된 픽셀 정보에 기본 필터 및 변형 필터를 적용하여 컨벌루션 연산을 수행할 수 있다.
도 7을 참고하면, 전자 장치(100)는 입력 영상으로부터 획득한 픽셀 정보에 기본 필터를 적용하여 컨벌루션 연산을 수행할 수 있다. 그리고, 전자 장치(100)는 도 7에서 개시하고 있는 계산 과정을 거쳐 제1 결과값을 획득할 수 있다. 구체적인 컨벌루션 연산 과정은 도 6의 공식을 이용할 수 있다.
한편, 전자 장치(100)는 기본 필터를 변형한 변형 필터를 이용하여 컨벌루션 연산을 수행할 수 있다. 여기서, 전자 장치(100)는 기본 필터 및 변형 필터를 모두 이용할 수 있다. 전자 장치(100)는 변형 필터를 이용하여 제2 결과값을 획득할 수 있다. 구체적인 컨벌루션 연산 과정은 도 6의 공식을 이용할 수 있다.
전자 장치(100)는 기본 필터 및 변형 필터를 이용하여 복수의 결과값을 획득할 수 있다. 이 경우, 전자 장치(100)는 하나의 대표값을 구하기 위해 평균값을 이용할 수 있다. 예를 들어, 제1 결과값 및 제2 결과값의 평균값을 대표값으로 획득할 수 있다.
도 7을 설명함에 있어, 대표값을 구하는 방법으로 평균을 이용하였다. 하지만 실제 구현시 평균값 이외에 최대값을 구하는 방식을 이용할 수 있다. 예를 들어, 전자 장치(100)는 제1결과값[6,17,3; 6,17,3; 6,17,3] 및 제2 결과값[6,13,3; 6,13,3; 6,13,3]의 최대값[6,17,3; 6,17,3; 6,17,3]을 대표값으로 획득할 수 있다.
여기서, 변형 필터는 기본 필터를 90도만큼 시계 방향으로 회전시킨 필터에 해당할 수 있다. 여기서, 90도는 기 설정된 각도에 해당할 수 있으며 변형 필터의 개수 역시 기 설정된 개수일 수 있다. 기 설정된 각도 및 기 설정된 필터의 개수는 사용자의 설정에 의해 변경될 수 있다. 기본 필터를 회전시켜 변형 필터를 획득하는 방법에 대해서는 도 9 및 도 10에서 후술한다.
도 8은 CNN 모델에서 가중치를 고려하는 연산을 설명하기 위한 도면이다.
전자 장치(100)는 도 7에서 획득한 대표값에 기초하여 기 설정된 가중치를 적용할 수 있다. 기 설정된 가중치의 개수는 대표값의 크기에 따라 달라질 수 있다. 예를 들어, 도 8에 따른 대표값은 3*3의 크기로 9개의 엘리먼트로 구성되었으며, 여기에 가중치 역시 3*3 크기의 9개의 엘리먼트로 구성될 수 있다.
전자 장치(100)는 대표값에 A가중치를 적용하여 출력값을 획득할 수 있다. 여기서, A가중치는 도 8에서 A11~A33에 해당하며, 9개의 엘리먼트로 구성될 수 있다. 대표값에 A가중치를 적용하여 획득되는 출력값은 입력 영상이 A에 해당할 확률을 의미할 수 있으며, 구체적인 계산식은 도 8에 개시하였다.
한편, 전자 장치(100)는 A가중치 이외에 B가중치를 적용하여 출력값을 획득할 수 있다. B가중치를 이용하여 획득되는 출력값은 입력 영상이 B에 해당할 확률을 의미할 수 있으며, 구체적인 계산식은 도 8에 개시하였다.
도 9는 기본 필터를 기 설정된 각도만큼 회전시켜 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
도 9를 참고하면, 전자 장치(100)는 기본 필터에서 기 설정된 각도만큼 시계 방향 또는 반시계 방향으로 엘리먼트를 회전시켜 변형 필터를 획득할 수 있다.
예를 들어, [5,1,1; 1,1,1; 1,1,1]인 기본 필터가 있다고 가정한다. 전자 장치(100)는 기본 필터를 시계 방향으로 45도만큼 회전 시켜 [1,5,1; 1,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 기본 필터를 시계 방향으로 90도만큼 회전 시켜 [1,1,5; 1,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 기본 필터를 시계 방향으로 180도만큼 회전 시켜 [1,1,1; 1,1,1; 1,1,5]인 변형 필터를 획득할 수 있다.
한편, 전자 장치(100)는 반시계 방향으로 기본 필터를 회전시켜 변형 필터를 획득할 수 있다. 전자 장치(100)는 기본 필터를 반시계 방향으로 45도만큼 회전 시켜 [1,1,1; 5,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 기본 필터를 반시계 방향으로 90도만큼 회전 시켜 [1,1,1; 1,1,1; 5,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 기본 필터를 반시계 방향으로 180도만큼 회전 시켜 [1,1,1; 1,1,1; 1,1,5]인 변형 필터를 획득할 수 있다.
도 9에서 설명하는 변형 필터는 기본 필터를 기준으로 변형한 컨벌루션 필터에 해당할 수 있다. 시계 방향 또는 반시계 방향은 사용자의 설정에 의해 변경될 수 있다. 또한, 45도, 90도 등의 기 설정된 각도 역시 사용자의 설정에 의해 변경될 수 있다.
한편, 전자 장치(100)는 입력 영상을 분석하여 변형필터를 획득하는 방법을 결정할 수 있다. 전자 장치(100)는 입력 영상에서 획득되는 특징 부분에 따라 기본 필터를 시계 방향으로 회전시킬지 반시계 방향으로 회전시킬지 결정할 수 있다. 예를 들어, 전자 장치(100)가 입력 영상에서 추출되는 특징부의 패턴이 시계 방향을 형성하는 것으로 식별하면, 전자 장치(100)는 변형 필터를 획득하기 위하여 기본 필터를 시계 방향으로 회전시킬 수 있다. 반대로, 전자 장치(100)가 입력 영상에서 추출되는 특징부의 패턴이 반시계 방향을 형성하는 것으로 식별하면, 전자 장치(100)는 변형 필터를 획득하기 위하여 기본 필터를 반시계 방향으로 회전시킬 수 있다.
한편, 전자 장치(100)는 입력 영상에서 획득되는 특징 부분에 따라 회전하는 각도를 결정할 수 있다. 이 부분에 대한 구체적인 설명은 도 17에서 후술한다.
도 10은 변형 필터를 이용하여 새로운 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
도 10을 참고하면, 전자 장치(100)는 변형 필터를 회전시켜 새로운 변형 필터를 획득할 수 있다. 예를 들어, [5,1,1; 1,1,1; 1,1,1]인 기본 필터가 있다고 가정한다. 전자 장치(100)는 기본 필터를 시계 방향으로 45도만큼 회전 시켜 [1,5,1; 1,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 그리고, 전자 장치(100)는 [1,5,1; 1,1,1; 1,1,1]인 변형 필터를 시계 방향으로 45도만큼 회전 시켜 [1,1,5; 1,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 [1,1,5; 1,1,1; 1,1,1]인 변형 필터를 시계 방향으로 45도만큼 회전 시켜 [1,1,1; 1,1,5; 1,1,1]인 변형 필터를 획득할 수 있다.
반대로, 전자 장치(100)는 기본 필터를 반시계 방향으로 45도만큼 회전 시켜 [1,1,1; 5,1,1; 1,1,1]인 변형 필터를 획득할 수 있다. 그리고, 전자 장치(100)는 [1,1,1; 5,1,1; 1,1,1]인 변형 필터를 반시계 방향으로 45도만큼 회전 시켜 [1,1,1; 1,1,1; 5,1,1]인 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 [1,1,1; 1,1,1; 5,1,1]인 변형 필터를 반시계 방향으로 45도만큼 회전 시켜 [1,1,1; 1,1,1; 1,5,1]인 변형 필터를 획득할 수 있다.
도9와 달리 전자 장치(100)는 획득된 변형 필터를 기준으로 반복하여 새로운 변형 필터를 획득할 수 있다.
도 9에서 계산되는 방법과 도 10에서 계산되는 방법은 결과적으로 동일한 출력값을 획득할 수 있다. 하지만, 실제로 컨벌루션 연산을 수행하는 알고리즘에 적용하는 경우 다양한 이유에 의하여 계산 속도에서 차이가 있을 수 있다. CNN 모델에 적용되는 알고리즘 종류, 입력 영상의 크기, 사용자가 설정한 컨벌루션 필터의 개수 등에 따라 컨벌루션 연산 속도가 달라질 수 있다. 따라서, 전자 장치(100)는 CNN 모델에 적용되는 알고리즘 종류, 입력 영상의 크기, 사용자가 설정한 컨벌루션 필터의 개수, 메모리의 용량에 기초하여 기본 필터를 기준으로 변형 필터를 획득하는 방법(도 9)과 변형 필터를 이용하여 새로운 변형 필터를 획득하는 방법(도 10)을 결정할 수 있다. 예를 들어, 입력 영상을 분석하기 위한 컨벌루션 필터의 개수가 기 설정된 개수 이상이면 획득된 변형 필터를 이용하여 새로운 변형 필터를 획득할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 합성곱 연산 과정을 설명하기 위한 도면이다.
도 11을 참고하면, 전자 장치(100)는 입력 영상을 분석하기 위해 4개의 컨벌루션 필터를 이용할 수 있다. 예를 들어, [5,1,1; 1,1,1; 1,1,1]인 기본 필터가 있다고 가정한다. 전자 장치(100)는 기본 필터를 시계 방향으로 회전시켜 제1 변형필터[1,1,5; 1,1,1; 1,1,1], 제2 변형 필터[1,1,1; 1,1,1; 1,1,5], 제3 변형 필터[1,1,1; 1,1,1; 5,1,1]를 획득할 수 있다. 제1 변형 필터는 기본 필터를 시계 방향으로 90도 회전시킨 필터일 수 있다. 그리고, 제2 변형 필터는 기본 필터를 시계 방향으로 180도 회전시킨 필터일 수 있다. 그리고, 제3 변형 필터는 기본 필터를 시계 방향으로 270도 회전시킨 필터일 수 있다.
한편, 제2 변형 필터는 제1 변형 필터를 시계 방향으로 90도 회전시킨 필터일 수 있다. 그리고, 제3 변형 필터는 제2 변형 필터를 시계 방향으로 90도 회전시킨 필터일 수 있다.
전자 장치(100)는 기본 필터를 적용한 컨벌루션 연산으로 제1결과값[6,17,3; 6,17,3; 6,17,3]을 획득할 수 있다. 또한, 전자 장치(100)는 제1 변형 필터를 적용한 컨벌루션 연산으로 제2 결과값[6,13,3; 6,13,3; 6,13,3]을 획득할 수 있다. 마찬가지로, 전자 장치(100)는 제3 결과값[6,13,3; 6,13,3; 6,13,3] 및 제4 결과값[6,17,3; 6,17,3; 6,17,3]을 획득할 수 있다.
전자 장치(100)는 제1 결과값, 제2 결과값, 제3 결과값 및 제4 결과값을 이용하여 대표값을 획득할 수 있다. 여기서, 전자 장치(100)는 대표값을 획득하기 위하여 평균값 또는 최대값을 이용할 수 있다.
도 12는 본 개시의 또 다른 실시 예에 따른 컨벌루션 연산(합성곱 연산 )과정을 설명하기 위한 도면이다.
도 12를 참고하면, 전자 장치(100)는 입력 영상으로부터 픽셀 정보를 획득할 수 있다. 그리고, 획득된 픽셀 정보에 기본 필터[5,1,1; 1,1,1; 1,1,1], 제1 변형 필터[1,1,5; 1,1,1; 1,1,1], 제2 변형 필터[1,1,1; 1,1,1; 1,1,5]를 적용하여 제1 결과값, 제2 결과값, 제3 결과값을 획득할 수 있다. 여기서, 제1 변형 필터는 기본 필터를 시계 방향으로 90도 회전시킨 필터일 수 있다. 그리고, 제2 변형 필터는 제1 변형 필터를 다시 시계 방향으로 90도 회전시킨 필터일 수 있다.
전자 장치(100)는 획득된 제1 결과값, 제2 결과값, 제3 결과값을 이용하여 대표값을 획득할 수 있다. 전자 장치(100)는 대표값을 획득하기 위하여 최대값 또는 평균값을 이용할 수 있다.
도 13은 기본 필터를 스케일링하여 변형 필터를 획득하는 동작을 설명하기 위한 도면이다.
전자 장치(100)는 기본 필터의 엘리먼트에 대하여 스케일링을 시도하여 변형 필터를 획득할 수 있다. 전자 장치(100)는 기본 필터의 엘리먼트들 모두의 값을 일괄적으로 변경시킬 수 있다. 예를 들어, 기본 필터[2,1,2; 1,3,1; 2,1,2]가 있다고 가정한다. 전자 장치(100)는 기본 필터[2,1,2; 1,3,1; 2,1,2]를 스케일링 하여 [4,2,4; 2,6,2; 4,2,4]인 변형 필터를 획득할 수 있다.
또한, 전자 장치(100)는 기본 필터의 엘리먼트들을 선택적으로 스케일링하여 변형 필터를 획득할 수 있다. 도13을 참고하면, 3*3 크기의 기본 필터를 가정한다. 그리고 위치에 따라 엘리먼트 그룹을 구분할 수 있다. 예를 들어, 기본 필터는 [2,1,2; 1,3,1; 2,1,2]일 수 있으며, [제2엘리먼트, 제3엘리먼트, 제2 엘리먼트; 제3 엘리먼트, 제1 엘리먼트, 제3 엘리먼트; 제2엘리먼트, 제3엘리먼트, 제2 엘리먼트]로 표현할 수 있다.
여기서, 전자 장치(100)는 기본 필터의 중심 엘리먼트를 기준으로 확장하는 스케일링 방법을 통해 변형 필터를 획득할 수 있다. 전자 장치(100)는 중심 엘리먼트의 값을 외곽으로 이동시킬 수 있다. 예를 들어, 제1 엘리먼트를 기준으로 전자 장치(100)는 외곽 방향 중 대각선 방향으로 중심 엘리먼트의 값을 이동시킬 수 있다. 도 13을 참고하면 제2 엘리먼트로 분류된 위치에 제1 엘리먼트 값인 3을 입력할 수 있다. 여기서, 변형 필터는 [3,1,3; 1,3,1; 3,1,3]일 수 있다.
그리고, 전자 장치(100)는 외곽 방향 중 대각선 방향이 아닌 부분(제3 엘리먼트 부분)에 추가적으로 중심 엘리먼트(제1 엘리먼트)를 확장시킬 수 있다. 도 13을 참고하면, 제1 엘리먼트 상하좌우로 위치하는 제3 엘리먼트에 제1 엘리먼트 값인 3을 입력할 수 있다. 여기서, 변형 필터는 [3,3,3; 3,3,3; 3,3,3]일 수 있다. 전자 장치(100)의 설정에 따라 대각선 방향으로만 확장하는 변형 필터를 획득할 수 있고, 상하좌우 방향으로 확장하는 변형 필터만을 획득할 수도 있다. 또한, 대각선 방향과 상하좌우 방향 모두 확장하는 변형 필터를 획득할 수도 있다.
한편, 도 13을 설명함에 있어 제1 엘리먼트, 제2 엘리먼트, 제3 엘리먼트가 복수개의 위치에 대응되는 것으로 설명하였으나, 실제 전자 장치(100) 구현시 엘리먼트는 픽셀 1개에 대응되는 하나의 값을 의미할 수 있다.
도 14는 스케일링에 의하여 변형 필터를 획득하는 다양한 실시 예를 설명하기 위한 도면이다.
도 14를 참고하면, 전자 장치(100)는 기본 필터의 특정 부분을 기준으로 스케일링을 수행하여 변형 필터를 획득할 수 있다. 여기서, 스케일링은 확장, 축소로 구분될 수 있고 가로, 세로 기준으로 구분될 수 있다.
도 14(a)를 참고하면, 5*5 크기의 기본 필터 중 3*3 크기의 중심 영역[2,2,2; 2,1,2; 2,2,2]을 기준으로 스케일링을 수행할 수 있다. 전자 장치(100)는 기본 필터 중 3*3 크기의 중심 영역[2,2,2; 2,1,2; 2,2,2]를 외곽 방향으로 확장시켜 변형 필터를 획득할 수 있다. 여기서, 스케일링은 외곽 방향 중 대각선 및 상하좌우 모두 확장하는 방법에 해당할 수 있다.
도 14(b)를 참고하면, 전자 장치(100)는 기본 필터의 중심 엘리먼트 부분을 제외한 나머지 영역을 기준으로 축소 스케일링을 수행할 수 있다. 예를 들어, 내부 영역의 엘리먼트 값인 2를 외곽 영역의 엘리먼트 값인 3으로 대체할 수 있다. 그리고 기존에 외곽 영역의 엘리먼트 값인 3이 존재하였던 위치에 0값으로 대체할 수 있다. 여기서, 스케일링은 중심 엘리먼트 방향으로 축소하는 방법에 해당할 수 있다.
도 14 (c)를 참고하면, 전자 장치(100)는 기본 필터의 특정 열을 기준으로 좌우방향으로 확장 스케일링을 수행할 수 있다. 예를 들어, 5*5 크기의 기본 필터 중 2,3,4열을 기준으로 하고 좌우 방향으로 확장시키는 방법으로 변형 필터를 획득할 수 있다. 예를 들어, 전자 장치(100)는 1열에 있는 값을 2열에 있는 값으로 대체하고 5열에 있는 값을 4열에 있는 값으로 대체할 수 있다. 여기서, 2열과 4열은 0값으로 대체할 수 있다. 한편, 또 다른 실시 예에 따른 전자 장치(100)는 기본 필터의 2열과 4열에 대하여 기존의 값을 유지하면서 변형 필터를 획득할 수 있다.
도 14 (d)를 참고하면, 전자 장치(100)는 기본 필터의 특정 행을 기준으로 상하방향으로 확장 스케일링을 수행할 수 있다. 예를 들어, 5*5 크기의 기본 필터 중 2,3,4행을 기준으로 하고 상하 방향으로 확장시키는 방법으로 변형 필터를 획득할 수 있다. 예를 들어, 전자 장치(100)는 1행에 있는 값을 2행에 있는 값으로 대체하고 5행에 있는 값을 4행에 있는 값으로 대체할 수 있다. 여기서, 2행과 4행은 0값으로 대체할 수 있다. 한편, 또 다른 실시 예에 따른 전자 장치(100)는 기본 필터의 2행과 4행에 대하여 기존의 값을 유지하면서 변형 필터를 획득할 수 있다.
도 14 (e)를 참고하면, 전자 장치(100)는 기본 필터의 특정 열을 기준으로 좌우방향으로 축소 스케일링을 수행할 수 있다. 예를 들어, 5*5 크기의 기본 필터 중 1,3,5열을 기준으로 하고 좌우 방향으로 축소시키는 방법으로 변형 필터를 획득할 수 있다. 예를 들어, 전자 장치(100)는 2열에 있는 값을 1열에 있는 값으로 대체하고 4열에 있는 값을 5열에 있는 값으로 대체할 수 있다. 여기서, 1열과 5열은 0값으로 대체할 수 있다. 한편, 또 다른 실시 예에 따른 전자 장치(100)는 기본 필터의 1열과 5열에 대하여 기존의 값을 유지하면서 변형 필터를 획득할 수 있다.
도 14 (f)를 참고하면, 전자 장치(100)는 기본 필터의 특정 행을 기준으로 좌우방향으로 축소 스케일링을 수행할 수 있다. 예를 들어, 5*5 크기의 기본 필터 중 1,3,5행을 기준으로 하고 상하 방향으로 축소시키는 방법으로 변형 필터를 획득할 수 있다. 예를 들어, 전자 장치(100)는 2행에 있는 값을 1행에 있는 값으로 대체하고 4행에 있는 값을 5행에 있는 값으로 대체할 수 있다. 여기서, 1행과 5행은 0값으로 대체할 수 있다. 한편, 또 다른 실시 예에 따른 전자 장치(100)는 기본 필터의 1행과 5행에 대하여 기존의 값을 유지하면서 변형 필터를 획득할 수 있다.
도 15는 본 개시의 또 다른 실시 예에 따른 합성곱 연산 과정을 설명하기 위한 도면이다.
도 15를 참고하면, 전자 장치(100)는 입력 영상으로부터 픽셀 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 픽셀 정보를 이용하여 기본 필터, 제1 변형 필터 및 제2 변형 필터를 적용할 수 있다. 전자 장치(100)는 변형 필터를 획득하기 위하여 스케일링 방법을 이용할 수 있다. 구체적으로, 기본 필터는 기본 필터의 특정 영역을 기준으로 축소 스케일링을 수행할 수 있다. 전자 장치(100)는 기본 필터에 대하여 중심 엘리먼트를 기준으로 내부 방향으로 축소 스케일링을 수행하여 제1 변형 필터를 획득할 수 있다. 그리고, 다시 제1 변형 필터에 대하여 중심 엘리먼트를 기준으로 내부 방향으로 축소 스케일링을 수행하여 제2 변형 필터를 획득할 수 있다.
전자 장치(100)는 3가지 컨벌루션 필터를 이용하여 제1 결과값, 제2 결과값 및 제3 결과값을 획득할 수 있다. 그리고, 3개의 결과값을 이용하여 하나의 대표값을 획득할 수 있다. 전자 장치(100)는 대표값을 획득하기 위하여 최대값 또는 평균값을 이용할 수 있다.
도 16은 CNN 모델에 3개의 채널을 포함하는 입력 영상을 적용하는 실시 예를 설명하기 위한 도면이다.
도 16을 참고하면, 전자 장치(100)는 복수개의 채널을 포함하는 입력 영상을 분석할 수 있다. 예를 들어, 입력 영상은 R, G, B 채널들을 포함할 수 있다. 전자 장치(100)는 각 채널에 대한 픽셀 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 각 채널에 대한 기본 필터를 저장하고 있을 수 있다. 따라서, 전자 장치(100)는 R채널에 대응되는 기본 필터[5,1,1; 1,1,1; 1,1,1], G채널에 대응되는 기본 필터[3,3,1; 1,1,1; 1,1,1], B채널에 대응되는 기본 필터[1,1,1; 2,1,1; 2,1,1]를 저장하고 있을 수 있다.
그리고, 전자 장치(100)는 각 기본 필터에 대하여 변형 필터들을 획득할 수 있다. 예를 들어, 전자 장치(100)는 시계 방향으로 90도 회전하는 방법으로 변형 필터들을 획득할 수 있다. 전자 장치(100)는 R채널에 대응되는 기본 필터[5,1,1; 1,1,1; 1,1,1]를 회전하여 변형 필터[1,1,5; 1,1,1; 1,1,1]를 획득할 수 있다. 그리고, 전자 장치(100)는 G채널에 대응되는 기본 필터[3,3,1; 1,1,1; 1,1,1]를 회전하여 변형 필터[1,1,3; 1,1,3; 1,1,1]를 획득할 수 있다. 그리고, 전자 장치(100)는 B채널에 대응되는 기본 필터[1,1,1; 2,1,1; 2,1,1] 를 회전하여 변형 필터[2,2,1; 1,1,1; 1,1,1]를 획득할 수 있다.
그리고, 전자 장치(100)는 각 컨벌루션 필터를 적용하여 복수개의 결과값을 획득할 수 있다. 도 16을 참고하면, 전자 장치(100)는 R, G, B 채널에 대하여 총 6개의 결과값을 획득할 수 있다.
여기서, 전자 장치(100)는 각 채널별로 대표값을 획득할 수 있다. 예를 들어, 전자 장치(100)는 R채널에 대한 제1 대표값, G채널에 대한 제2 대표값, B채널에 대한 제3 대표값을 획득할 수 있다. 또한, 전자 장치(100)는 각 채널에 대한 복수개의 대표값을 합산하여 하나의 값으로 변환할 수 있다.
한편, 또 다른 실시 예에 따른 전자 장치(100)는 각 채널에 대한 복수개의 대표값을 합산하지 않고 각 채널에 따른 가중치를 개별적으로 적용할 수 있다. 그리고, 전자 장치(100)는 가중치가 적용된 각 채널에 대한 출력값을 하나의 출력값으로 합산할 수 있다.
도 17은 입력 영상을 분석하여 변형 필터를 다르게 생성하는 실시 예를 설명하기 위한 도면이다.
도 17을 참고하면, 전자 장치(100)는 입력 영상을 분석하여 변형 필터를 획득하는 방법을 결정할 수 있다. 전자 장치(100)는 입력 영상의 특징 부분을 획득할 수 있다. 그리고, 전자 장치(100)는 입력 영상의 특징 부분에 대한 픽셀 정보를 획득할 수 있다. 입력 영상의 픽셀 정보는 텍스처의 성질에 따라 패턴이 식별될 수 있다. 도 17에서는 세로 줄무늬 형식의 텍스처가 식별된다고 가정한다. 입력 영상a는 비교적 세로 줄무늬의 간격이 넓은 대상에 대응되며, 입력 영상b는 비교적 세로 줄무늬의 간격이 좁은 대상에 대응된다고 가정한다.
전자 장치(100)는 입력 영상으로부터 획득되는 픽셀 정보에 기초하여, 대상의 픽셀 정보 분포를 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 대상의 픽셀 정보 분포에 기초하여, 대상의 반복되는 패턴을 획득할 수 있다. 또한, 전자 장치(100)는 반복되는 패턴의 간격을 식별할 수 있다. 그리고, 전자 장치(100)는 반복되는 패턴의 간격에 기초하여 변형 필터를 획득하는 방법을 결정할 수 있다.
예를 들어, 전자 장치(100)가 입력 영상a에 대하여 반복되는 패턴의 간격이 기 설정된 임계값 이상이라고 식별하는 경우, 전자 장치(100)는 기본 필터를 시계 방향(또는 반시계 방향)으로 큰 회전 각도(180도)로 회전하여 변형 필터를 획득할 수 있다. 또한, 전자 장치(100)는 변형 필터를 획득하기 위해 180도를 회전한다면, 변형필터를 1개만 획득하도록 설정할 수 있다. 회전은 360도가 기준이므로 컨벌루션 필터가 2개 까지만 필요하며, 전자 장치(100)는 기본 필터 및 변형 필터 1개로 컨벌루션 연산을 수행할 수 있다. 만약, 회전의 각도가 120도라면 전자 장치(100)는 총 3개의 컨벌루션 필터가 필요하며, 2개의 변형 필터를 획득할 수 있다.
한편, 전자 장치(100)가 입력 영상b에 대하여 반복되는 패턴의 간격이 기 설정된 임계값 이하라고 식별하는 경우, 전자 장치(100)는 기본 필터를 시계 방향(또는 반시계 방향)으로 작은 회전 각도(90도)로 회전하여 변형 필터를 획득할 수 있다. 회전은 360도가 기준이므로 컨벌루션 필터가 4개 까지만 필요하며, 전자 장치(100)는 기본 필터 및 변형 필터 3개로 컨벌루션 연산을 수행할 수 있다. 만약, 회전의 각도가 45도라면 전자 장치(100)는 총 8개의 컨벌루션 필터가 필요하며, 7개의 변형 필터를 획득할 수 있다.
도 18은 본 개시의 실시 예에 따른 전자 장치의 흐름도이다.
본 개시의 일 실시 예에 따른 입력 영상을 식별하기 위한 제1 필터가 저장된 전자 장치(100)의 제어 방법은 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득할 수 있다 (S1805). 그리고, 입력 영상에 포함된 픽셀 값을 제1 필터 및 제2 필터 각각과 컨벌루션한 결과값에 기초하여 입력 영상을 식별할 수 있다 (S1810).
여기서, 입력 영상을 식별하는 단계(S1810)는 입력 영상에 포함된 픽셀 값 및 제1 필터를 컨벌루션하여 제1 결과값을 획득하고, 입력 영상에 포함된 픽셀 값 및 제2 필터를 컨벌루션하여 제2 결과값을 획득하고, 제1 결과값 및 제2 결과값에 기초하여 획득된 대표값에 기초하여 입력 영상의 텍스처 타입을 식별하는 입력 영상을 식별할 수 있다.
여기서, 입력 영상을 식별하는 단계(S1810)는 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 입력 영상에 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
또한, 제2필터를 획득하는 단계(S1805)는 제1 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 제2 필터를 획득할 수 있다.
여기서, 제2필터를 획득하는 단계(S1805)는 제1 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 제1 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득할 수 있다.
또한, 제2필터를 획득하는 단계(S1805)는 제1 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고, 제1 변형 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제2 변형 필터를 획득할 수 있다.
한편, 제2필터를 획득하는 단계(S1805)는 필터 영역에 포함된 적어도 일부 엘리먼트의 위치를 스케일링 방향으로 이동시켜 제2 필터를 획득할 수 있다.
여기서, 제2필터를 획득하는 단계(S1805)는 필터 영역에 포함된 제1 엘리먼트의 위치를 필터 영역의 외측으로 이동시켜 필터 영역을 확대하고, 제1 엘리먼트가 이동된 위치에 포함된 제2엘리먼트를 제1 엘리먼트로 대체하고, 필터 영역의 외측에서 제1 엘리먼트가 이동되지 않은 위치에 포함된 제3 엘리먼트를 제1 엘리먼트로 대체하여 제2 필터를 획득할 수 있다.
한편, 제1 입력 채널 및 제2 입력 채널에 대응되며, 입력 영상을 식별하기 위한 제1 필터에 대응되는 제1 기본 필터 및 제2 기본 필터를 저장하는 전자 장치(100)의 제어 방법에 있어서, 제2필터를 획득하는 단계는 제1 기본 필터 및 제2 기본 필터에 포함된 복수의 엘리먼트를 회전시키거나, 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 제1 변형 필터 및 제2 변형 필터를 획득하고, 입력 영상을 식별하는 단계는 입력 영상에 포함된 제1 입력 채널에 대응되는 픽셀 값 및 제1 기본 필터를 컨벌루션하여 제1 결과값을 획득하고, 제1 입력 채널에 대응되는 픽셀 값 및 제1 변형 필터를 컨벌루션하여 제2 결과값을 획득하고, 입력 영상에 포함된 제2 입력 채널에 대응되는 픽셀 값 및 제2 기본 필터를 컨벌루션하여 제3 결과값을 획득하고, 제2 입력 채널에 대응되는 픽셀 값 및 제2 변형 필터를 컨벌루션하여 제4 결과값을 획득하고, 제1 결과값 및 제2 결과값에 기초하여 획득된 제1 대표값과, 제3 결과값 및 제4 결과값에 기초하여 획득된 제2 대표값에 기초하여 입력 영상의 텍스처 타입을 식별할 수 있다.
또한, 입력 영상을 식별하는 단계는 제1 대표값에 제1 텍스처 타입에 대응되는 제1 가중치를 적용하여 제1 확률값을 획득하고, 제2 대표값에 제1 텍스처 타입에 대응되는 제2 가중치를 적용하여 제2 확률값을 획득하고, 제1 대표값에 제2 텍스처 타입에 대응되는 제3가중치를 적용하여 제3 확률값을 획득하고, 제2 대표값에 제2 텍스처 타입에 대응되는 제4 가중치를 적용하여 제4확률값을 획득하고, 제1 확률값 및 제2 확률값을 합산하여 입력 영상에 제1 텍스처 타입이 포함되어 있을 확률을 획득하고, 제3 확률값 및 제4 확률값을 합산하여 입력 영상에 제2 텍스처 타입이 포함되어 있을 확률을 획득할 수 있다.
한편, 도 18과 같은 전자 장치(100)의 제어 방법은 도 1, 도 2 또는 도 3의 구성을 가지는 전자 장치 상에서 실행될 수 있으며, 그 밖의 구성을 가지는 전자 장치 상에서도 실행될 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치 에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치 에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 전자 장치에 구비된 임베디드 서버, 또는 전자 장치의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 상술한 실시 예에 따른 전자 장치 제어 방법은 프로그램으로 구현되어 전자 장치에 제공될 수 있다. 특히, 전자 장치 제어 방법을 포함하는 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
본 개시의 일 실시 예에 따른 입력 영상을 식별하기 위한 기본 필터가 저장된 전자 장치의 프로세서(120)에 의해 실행되는 경우 전자 장치가 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 매체에 있어서, 동작은 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득할 수 있다. 그리고, 입력 영상에 포함된 픽셀 값을 제1 필터 및 제2 필터 각각과 컨벌루션한 결과값에 기초하여 입력 영상을 식별할 수 있다.
또한, 이상에서 설명된 다양한 실시 예들은 소프트웨어(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) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치 에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치 에서의 처리 동작을 상기 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
전자 장치: 100 메모리: 110
프로세서: 120

Claims (20)

  1. 전자 장치에 있어서,
    입력 영상을 식별하기 위한 제1 필터가 저장된 메모리; 및
    상기 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득하고,
    입력 영상에 포함된 픽셀 값을 상기 제1 필터 및 상기 제2 필터 각각과 컨벌루션한 결과값에 기초하여 상기 입력 영상을 식별하는 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 입력 영상에 포함된 픽셀 값 및 상기 제1 필터를 컨벌루션하여 제1 결과값을 획득하고,
    상기 입력 영상에 포함된 픽셀 값 및 상기 제2 필터를 컨벌루션하여 제2 결과값을 획득하고,
    상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별하는 입력 영상을 식별하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 상기 입력 영상에 상기 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 상기 제2 필터를 획득하는, 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득하는, 전자 장치.
  6. 제4항에 있어서,
    상기 프로세서는,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고,
    상기 제1 변형 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 상기 제1 각도만큼 순차적으로 회전시켜 제2 변형 필터를 획득하는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 필터 영역에 포함된 적어도 일부 엘리먼트의 위치를 스케일링 방향으로 이동시켜 상기 제2 필터를 획득하는, 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 필터 영역에 포함된 제1 엘리먼트의 위치를 상기 필터 영역의 외측으로 이동시켜 상기 필터 영역을 확대하고, 상기 제1 엘리먼트가 이동된 위치에 포함된 제2엘리먼트를 상기 제1 엘리먼트로 대체하고, 상기 필터 영역의 외측에서 상기 제1 엘리먼트가 이동되지 않은 위치에 포함된 제3 엘리먼트를 상기 제1 엘리먼트로 대체하여 상기 제2 필터를 획득하는, 전자 장치.
  9. 제1항에 있어서,
    상기 메모리는, 제1 입력 채널 및 제2 입력 채널에 대응되며, 상기 입력 영상을 식별하기 위한 제1 필터에 대응되는 제1 기본 필터 및 제2 기본 필터를 저장하며,
    상기 프로세서는,
    상기 제1 기본 필터 및 제2 기본 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 제1 변형 필터 및 제2 변형 필터를 획득하고,
    상기 입력 영상에 포함된 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 기본 필터를 컨벌루션하여 제1 결과값을 획득하고,
    상기 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 변형 필터를 컨벌루션하여 제2 결과값을 획득하고,
    상기 입력 영상에 포함된 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 기본 필터를 컨벌루션하여 제3 결과값을 획득하고,
    상기 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 변형 필터를 컨벌루션하여 제4 결과값을 획득하고,
    상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 제1 대표값과, 상기 제3 결과값 및 상기 제4 결과값에 기초하여 획득된 제2 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별하는, 전자 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 제1 대표값에 제1 텍스처 타입에 대응되는 제1 가중치를 적용하여 제1 확률값을 획득하고,
    상기 제2 대표값에 상기 제1 텍스처 타입에 대응되는 제2 가중치를 적용하여 제2 확률값을 획득하고,
    상기 제1 대표값에 제2 텍스처 타입에 대응되는 제3가중치를 적용하여 제3 확률값을 획득하고,
    상기 제2 대표값에 상기 제2 텍스처 타입에 대응되는 제4 가중치를 적용하여 제4확률값을 획득하고,
    상기 제1 확률값 및 제2 확률값을 합산하여 상기 입력 영상에 상기 제1 텍스처 타입이 포함되어 있을 확률을 획득하고,
    상기 제3 확률값 및 제4 확률값을 합산하여 상기 입력 영상에 상기 제2 텍스처 타입이 포함되어 있을 확률을 획득하는, 전자 장치.
  11. 입력 영상을 식별하기 위한 제1 필터가 저장된 전자 장치의 제어 방법에 있어서,
    상기 제1 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 적어도 하나의 제2필터를 획득하는 단계;
    입력 영상에 포함된 픽셀 값을 상기 제1 필터 및 상기 제2 필터 각각과 컨벌루션한 결과값에 기초하여 상기 입력 영상을 식별하는 단계;를 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 입력 영상을 식별하는 단계는,
    상기 입력 영상에 포함된 픽셀 값 및 상기 제1 필터를 컨벌루션하여 제1 결과값을 획득하고;
    상기 입력 영상에 포함된 픽셀 값 및 상기 제2 필터를 컨벌루션하여 제2 결과값을 획득하고;
    상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별하는 입력 영상을 식별하는, 제어 방법.
  13. 제12항에 있어서,
    상기 입력 영상을 식별하는 단계는,
    상기 대표값에 기 설정된 텍스처 타입에 대응되는 가중치를 적용하여 상기 입력 영상에 상기 기 설정된 텍스처 타입이 포함되어 있을 확률을 획득하는, 전자 장치.
  14. 제11항에 있어서,
    상기 제2필터를 획득하는 단계는,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 기 설정된 각도만큼 순차적으로 회전시켜 상기 제2 필터를 획득하는, 제어 방법.
  15. 제14항에 있어서,
    상기 제2필터를 획득하는 단계는,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제2 각도만큼 회전시켜 제2 변형 필터를 획득하는, 제어 방법.
  16. 제14항에 있어서,
    상기 제2필터를 획득하는 단계는,
    상기 제1 필터에 포함된 상기 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 제1 각도만큼 순차적으로 회전시켜 제1 변형 필터를 획득하고,
    상기 제1 변형 필터에 포함된 복수의 엘리먼트를 시계 방향 또는 반시계 반대 방향으로 상기 제1 각도만큼 순차적으로 회전시켜 제2 변형 필터를 획득하는, 전자 장치.
  17. 제11항에 있어서,
    상기 제2필터를 획득하는 단계는,
    상기 필터 영역에 포함된 적어도 일부 엘리먼트의 위치를 스케일링 방향으로 이동시켜 상기 제2 필터를 획득하는, 제어 방법.
  18. 제17항에 있어서,
    상기 제2필터를 획득하는 단계는,
    상기 필터 영역에 포함된 제1 엘리먼트의 위치를 상기 필터 영역의 외측으로 이동시켜 상기 필터 영역을 확대하고, 상기 제1 엘리먼트가 이동된 위치에 포함된 제2엘리먼트를 상기 제1 엘리먼트로 대체하고, 상기 필터 영역의 외측에서 상기 제1 엘리먼트가 이동되지 않은 위치에 포함된 제3 엘리먼트를 상기 제1 엘리먼트로 대체하여 상기 제2 필터를 획득하는, 제어 방법.
  19. 제11항에 있어서,
    제1 입력 채널 및 제2 입력 채널에 대응되며, 상기 입력 영상을 식별하기 위한 제1 필터에 대응되는 제1 기본 필터 및 제2 기본 필터를 저장하는 전자 장치의 제어 방법에 있어서,
    상기 제2필터를 획득하는 단계는,
    상기 제1 기본 필터 및 제2 기본 필터에 포함된 복수의 엘리먼트를 회전시키거나, 상기 복수의 엘리먼트 중 적어도 일부가 포함된 필터 영역을 스케일링하여 제1 변형 필터 및 제2 변형 필터를 획득하고,
    상기 입력 영상을 식별하는 단계는,
    상기 입력 영상에 포함된 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 기본 필터를 컨벌루션하여 제1 결과값을 획득하고,
    상기 제1 입력 채널에 대응되는 픽셀 값 및 상기 제1 변형 필터를 컨벌루션하여 제2 결과값을 획득하고,
    상기 입력 영상에 포함된 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 기본 필터를 컨벌루션하여 제3 결과값을 획득하고,
    상기 제2 입력 채널에 대응되는 픽셀 값 및 상기 제2 변형 필터를 컨벌루션하여 제4 결과값을 획득하고,
    상기 제1 결과값 및 상기 제2 결과값에 기초하여 획득된 제1 대표값과, 상기 제3 결과값 및 상기 제4 결과값에 기초하여 획득된 제2 대표값에 기초하여 상기 입력 영상의 텍스처 타입을 식별하는, 전자 장치.
  20. 제19항에 있어서,
    상기 입력 영상을 식별하는 단계는,
    상기 제1 대표값에 제1 텍스처 타입에 대응되는 제1 가중치를 적용하여 제1 확률값을 획득하고,
    상기 제2 대표값에 상기 제1 텍스처 타입에 대응되는 제2 가중치를 적용하여 제2 확률값을 획득하고,
    상기 제1 대표값에 제2 텍스처 타입에 대응되는 제3가중치를 적용하여 제3 확률값을 획득하고,
    상기 제2 대표값에 상기 제2 텍스처 타입에 대응되는 제4 가중치를 적용하여 제4확률값을 획득하고,
    상기 제1 확률값 및 제2 확률값을 합산하여 상기 입력 영상에 상기 제1 텍스처 타입이 포함되어 있을 확률을 획득하고,
    상기 제3 확률값 및 제4 확률값을 합산하여 상기 입력 영상에 상기 제2 텍스처 타입이 포함되어 있을 확률을 획득하는, 전자 장치.
KR1020180127237A 2018-10-24 2018-10-24 전자 장치 및 이의 제어방법 KR102604016B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180127237A KR102604016B1 (ko) 2018-10-24 2018-10-24 전자 장치 및 이의 제어방법
US17/278,122 US11798252B2 (en) 2018-10-24 2019-05-31 Electronic device and control method therefor
PCT/KR2019/006547 WO2020085600A1 (ko) 2018-10-24 2019-05-31 전자 장치 및 이의 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180127237A KR102604016B1 (ko) 2018-10-24 2018-10-24 전자 장치 및 이의 제어방법

Publications (2)

Publication Number Publication Date
KR20200052406A true KR20200052406A (ko) 2020-05-15
KR102604016B1 KR102604016B1 (ko) 2023-11-22

Family

ID=70331033

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180127237A KR102604016B1 (ko) 2018-10-24 2018-10-24 전자 장치 및 이의 제어방법

Country Status (3)

Country Link
US (1) US11798252B2 (ko)
KR (1) KR102604016B1 (ko)
WO (1) WO2020085600A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170132760A1 (en) * 2015-11-09 2017-05-11 Thomson Licensing Method for upscaling noisy images, and apparatus for upscaling noisy images
KR20180066610A (ko) * 2016-12-09 2018-06-19 동국대학교 산학협력단 회선 신경망 기반 눈 개폐 분류 장치 및 방법
US20180181858A1 (en) * 2016-12-22 2018-06-28 Samsung Electronics Co., Ltd. Convolutional neural network (cnn) processing method and apparatus

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216119B1 (en) 1997-11-19 2001-04-10 Netuitive, Inc. Multi-kernel neural network concurrent learning, monitoring, and forecasting system
KR20000023923A (ko) 1999-10-14 2000-05-06 이칠기 표정변화와 주변환경에 독립적인 지능형 얼굴검출방법.
RU2431889C1 (ru) 2010-08-06 2011-10-20 Дмитрий Валерьевич Шмунк Способ суперразрешения изображений и нелинейный цифровой фильтр для его осуществления
US8369595B1 (en) 2012-08-10 2013-02-05 EyeVerify LLC Texture features for biometric authentication
US9805303B2 (en) 2015-05-21 2017-10-31 Google Inc. Rotating data for neural network computations
KR20180004898A (ko) 2016-07-05 2018-01-15 주식회사 와플앱스 딥러닝 기반의 이미지 처리 기술 및 그 방법
US10395165B2 (en) 2016-12-01 2019-08-27 Via Alliance Semiconductor Co., Ltd Neural network unit with neural memory and array of neural processing units that collectively perform multi-word distance rotates of row of data received from neural memory
US10733697B2 (en) * 2016-12-27 2020-08-04 Intel IP Corporation Convolutional neural network for wide-angle camera images
KR101900185B1 (ko) 2017-02-20 2018-09-18 연세대학교 산학협력단 객체 인식을 위한 영상 학습 방법 및 장치
US10438322B2 (en) * 2017-05-26 2019-10-08 Microsoft Technology Licensing, Llc Image resolution enhancement
KR102476239B1 (ko) * 2018-07-17 2022-12-12 삼성전자주식회사 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
CN110866526A (zh) * 2018-08-28 2020-03-06 北京三星通信技术研究有限公司 图像分割方法、电子设备及计算机可读存储介质
KR102420104B1 (ko) * 2019-05-16 2022-07-12 삼성전자주식회사 영상 처리 장치 및 그 동작방법
KR102420039B1 (ko) * 2019-05-16 2022-07-13 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR20220030084A (ko) * 2020-09-02 2022-03-10 삼성전자주식회사 영상 처리 방법 및 장치
CN115668273A (zh) * 2020-09-15 2023-01-31 三星电子株式会社 电子装置、其控制方法和电子系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170132760A1 (en) * 2015-11-09 2017-05-11 Thomson Licensing Method for upscaling noisy images, and apparatus for upscaling noisy images
KR20180066610A (ko) * 2016-12-09 2018-06-19 동국대학교 산학협력단 회선 신경망 기반 눈 개폐 분류 장치 및 방법
US20180181858A1 (en) * 2016-12-22 2018-06-28 Samsung Electronics Co., Ltd. Convolutional neural network (cnn) processing method and apparatus

Also Published As

Publication number Publication date
US20210350164A1 (en) 2021-11-11
KR102604016B1 (ko) 2023-11-22
US11798252B2 (en) 2023-10-24
WO2020085600A1 (ko) 2020-04-30

Similar Documents

Publication Publication Date Title
US11170210B2 (en) Gesture identification, control, and neural network training methods and apparatuses, and electronic devices
EP3742388B1 (en) Electronic device, image processing method thereof, and computer-readable recording medium
CN109934792B (zh) 电子装置及其控制方法
CN110088799B (zh) 图像处理设备和图像处理方法
KR102606200B1 (ko) 전자 장치 및 그 제어 방법
KR102616700B1 (ko) 영상 처리 장치 및 그 영상 처리 방법
KR102452653B1 (ko) 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
US11347962B2 (en) Electronic apparatus, method for processing image and computer-readable recording medium
US11694078B2 (en) Electronic apparatus and controlling method thereof
KR102118519B1 (ko) 전자 장치 및 그 제어 방법
TW202044196A (zh) 影像處理裝置以及其影像處理方法
KR20210061146A (ko) 전자 장치 및 그 제어 방법
US11436760B2 (en) Electronic apparatus and control method thereof for reducing image blur
KR102562052B1 (ko) 전자 장치 및 그 제어 방법
US10997947B2 (en) Electronic device and control method thereof
KR102604016B1 (ko) 전자 장치 및 이의 제어방법
KR20240009108A (ko) 화질 개선을 수행하는 신경망 모델을 학습시키는 전자 장치 및 그 제어 방법
US20210158491A1 (en) System and method for precise image inpainting to remove unwanted content from digital images
KR20210114315A (ko) 전자 장치 및 그 제어 방법
US20240135673A1 (en) Machine learning model training using synthetic data for under-display camera (udc) image restoration
US20240119570A1 (en) Machine learning model training using synthetic data for under-display camera (udc) image restoration
US20220092735A1 (en) Electronic apparatus and controlling method thereof
WO2021036726A1 (en) Method, system, and computer-readable medium for using face alignment model based on multi-task convolutional neural network-obtained data
KR20230159113A (ko) 디스플레이 장치 및 그 제어 방법
KR20210141222A (ko) 전자 장치, 시스템 및 그 제어 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right