KR20180126220A - 객체를 식별하는 방법 및 디바이스 - Google Patents
객체를 식별하는 방법 및 디바이스 Download PDFInfo
- Publication number
- KR20180126220A KR20180126220A KR1020170060961A KR20170060961A KR20180126220A KR 20180126220 A KR20180126220 A KR 20180126220A KR 1020170060961 A KR1020170060961 A KR 1020170060961A KR 20170060961 A KR20170060961 A KR 20170060961A KR 20180126220 A KR20180126220 A KR 20180126220A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- characteristic information
- information
- layers
- characteristic
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G06K9/20—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G06K9/6256—
-
- G06K9/627—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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/443—Local 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/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
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)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 본 개시는 객체를 포함한 이미지를 획득하고, 객체의 카테고리를 결정하기 위한 네트워크에 포함된 복수의 레이어를 이용하여 이미지로부터 객체의 속성 정보를 추출하며, 적어도 하나의 특성 추출 레이어를 이용하여 복수의 레이어 중 적어도 일부 레이어로부터 추출된 객체의 속성 정보를 조합함으로써 객체를 대표하는(representing) 특성 정보를 획득하고, 획득된 특성 정보와 기 저장된 복수의 객체이미지 각각의 특성 정보를 비교한 결과에 기초하여, 객체를 식별하며, 특성 추출 레이어의 적어도 하나의 파라미터는, 복수의 이미지를 포함하는 데이터 베이스에 기초한 학습 결과에 따라 설정되는, 디바이스가 객체를 식별하는 방법이 개시된다.
Description
개시된 실시예는 객체를 식별하는 방법 및 객체를 식별하는 디바이스에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
개시된 실시예들은, 복수의 레이어 중 적어도 하나로부터 추출된 이미지의 속성 정보를 적어도 하나의 특성 추출 레이어를 통해 조합한 결과 획득된 특성 정보를 기초로 이미지 내의 객체를 식별하는 방법 및 그 디바이스를 제공할 수 있다.
일 실시예에 따른 디바이스가 객체를 식별하는 방법은, 객체를 포함한 이미지를 획득하는 단계; 객체의 카테고리를 결정하기 위한 학습 네트워크 모델에 포함된 복수의 레이어를 이용하여, 이미지의 적어도 하나의 속성 정보를 추출하는 단계; 적어도 하나의 특성 추출 레이어를 이용하여, 복수의 레이어 중 적어도 일부 레이어로부터 추출된 객체의 속성 정보를 조합함으로써, 객체를 대표하는 특성 정보를 획득하는 단계; 및 획득된 특성 정보와 기 저장된 복수의 이미지 각각의 특성 정보를 비교한 결과에 기초하여, 객체를 식별하는 단계를 포함하고, 특성 추출 레이어의 적어도 하나의 파라미터는, 복수의 이미지를 포함하는 데이터 베이스에 기초한 학습 결과에 따라 설정될 수 있다.
일 실시예에 따른 디바이스가 객체를 식별하는 방법에 있어서, 데이터 베이스는, 복수의 이미지를 유사도에 기초하여 분류한 결과 생성된 제 1 유사 클러스터 및 제 2 유사 클러스터를 포함할 수 있다.
일 실시예에 따른 디바이스가 객체를 식별하는 방법은, 제 1 유사 클러스터에 포함된 제 1 이미지 및 제 2 이미지와 제 2 유사 클러스터에 포함된 제 3 이미지를 추출하는 단계; 및 제 1 이미지의 특성 정보와 제 2 이미지의 특성 정보 간의 차이가 제 1 임계값이거나 제 1 임계값 미만이 되고, 제 1 이미지의 특성 정보와 제 3 이미지의 특성 정보 간의 차이가 제 2 임계값이거나 제 2 임계값을 초과하도록 특성 추출 레이어를 학습시키는 단계를 더 포함할 수 있다.
일 실시예에 따른 디바이스가 객체를 식별하는 방법에 있어서, 특성 정보를 획득하는 단계는, 적어도 하나의 특성 추출 레이어를 이용하여, 복수의 레이어 중 적어도 일부 레이어를 선택하는 단계를 포함할 수 있다.
일 실시예에 따른 디바이스가 객체를 식별하는 방법에 있어서, 특성 정보를 획득하는 단계는, 선택된 적어도 일부 레이어 각각에서 추출된 속성 정보에 기 설정된 가중치를 적용하여 조합하는 단계를 포함할 수 있다.
일 실시예에 따른 디바이스가 객체를 식별하는 방법에 있어서, 특성 정보를 획득하는 단계는, 적어도 일부 레이어로부터 추출된 속성 정보 중 일부를 선택하는 단계; 및 선택된 속성 정보를 조합하여, 객체의 특성 정보를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 디바이스가 객체를 식별하는 방법에 있어서, 특성 추출 레이어의 학습에 이용되는 데이터 베이스에 포함된 복수의 이미지의 종류에 따라 획득되는 특성 정보가 결정될 수 있다.
일 실시예에 따른 디바이스가 객체를 식별하는 방법에 있어서, 식별하는 단계는, 결정된 특성 정보에 포함된 특성 벡터 및 기 저장된 복수의 이미지 각각의 특성 정보에 포함된 특성 벡터 간의 거리를 결정하는 단계; 및 결정된 거리에 기초하여, 객체를 식별하는 단계를 포함할 수 있다.
일 실시예에 따른 객체를 식별하는 디바이스는, 하나 이상의 인스트럭션을 저장하는 메모리; 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 프로세서는 하나 이상의 인스트럭션을 실행함으로써, 객체를 포함한 이미지를 획득하고, 객체의 카테고리를 결정하기 위한 학습 네트워크 모델에 포함된 복수의 레이어를 이용하여, 이미지의 적어도 하나의 속성 정보를 추출하고, 적어도 하나의 특성 추출 레이어를 이용하여, 복수의 레이어 중 적어도 일부 레이어로부터 추출된 속성 정보를 조합함으로써, 객체를 대표하는 특성 정보를 획득하며, 획득된 특성 정보와 기 저장된 복수의 객체 각각의 특성 정보를 비교한 결과에 기초하여 객체를 식별하고, 특성 추출 레이어의 적어도 하나의 파라미터는, 복수의 이미지를 포함하는 데이터 베이스에 기초한 학습 결과에 따라 설정될 수 있다.
도 1은 일 실시예에 따라 디바이스에서 객체를 식별하는데 이용하는 뉴럴 네트워크를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 디바이스가 객체를 식별하는 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따라 객체를 식별하는 디바이스의 블록도이다.
도 4는 일 실시예에 따른 프로세서를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 데이터 학습부의 블록도이다.
도 6은 일 실시예에 따른 디바이스가 이미지 내의 객체 식별을 위해 뉴럴 네트워크를 학습시키는 방법을 설명하기 위한 도면이다.
도 7은 다른 실시예에 따른 디바이스가 디바이스가 이미지 내의 객체 식별을 위해 뉴럴 네트워크를 학습시키는 방법을 설명하기 위한 도면이다.
도 8은 다른 실시예에 따른 디바이스가 디바이스가 이미지 내의 객체 식별을 위해 뉴럴 네트워크를 학습시키는 방법을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 데이터 인식부의 블록도이다.
도 10은 일 실시예에 따른 디바이스가 데이터 베이스에 저장된 복수의 이미지의 특성 정보와 이미지 내의 객체의 특성 정보를 비교하여 객체를 식별하는 방법을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 디바이스가 객체를 식별하는 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따라 객체를 식별하는 디바이스의 블록도이다.
도 4는 일 실시예에 따른 프로세서를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 데이터 학습부의 블록도이다.
도 6은 일 실시예에 따른 디바이스가 이미지 내의 객체 식별을 위해 뉴럴 네트워크를 학습시키는 방법을 설명하기 위한 도면이다.
도 7은 다른 실시예에 따른 디바이스가 디바이스가 이미지 내의 객체 식별을 위해 뉴럴 네트워크를 학습시키는 방법을 설명하기 위한 도면이다.
도 8은 다른 실시예에 따른 디바이스가 디바이스가 이미지 내의 객체 식별을 위해 뉴럴 네트워크를 학습시키는 방법을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 데이터 인식부의 블록도이다.
도 10은 일 실시예에 따른 디바이스가 데이터 베이스에 저장된 복수의 이미지의 특성 정보와 이미지 내의 객체의 특성 정보를 비교하여 객체를 식별하는 방법을 설명하기 위한 도면이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따라 디바이스에서 객체를 식별하는데 이용하는 뉴럴 네트워크(100)를 설명하기 위한 도면이다.
도 1을 참고하면, 디바이스는 객체를 포함한 이미지(10)를 획득할 수 있다. 예를 들어, 디바이스는 외부의 디바이스로부터 객체를 포함한 이미지를 수신하거나, 디바이스에 구비된 촬영 장치를 통해 객체를 촬영하여, 객체를 포함한 이미지를 획득할 수 있다.
일 실시예에 따른 디바이스는 뉴럴 네트워크(neural network, 100)를 이용하여 이미지(10)에 포함된 객체를 식별할 수 있다. 여기서, 뉴럴 네트워크(100)는, 통계학적 기계 학습의 결과를 이용하여, 이미지의 다양한 속성 정보들을 추출하고, 추출된 속성 정보들을 기초로 이미지 내의 객체들을 식별 및/또는 판단하는 알고리즘 집합일 수 있다.
또한 뉴럴 네트워크(100)는 전술한 알고리즘 집합을 실행하기 위한 소프트웨어 또는 엔진(engine) 등으로 구현될 수 있다. 소프트웨어 또는 엔진 등으로 구현된 뉴럴 네트워크는 디바이스(미도시)내의 프로세서 또는 서버(미도시)의 프로세서에 의해 실행될 수 있다.
일 실시예에 따른 뉴럴 네트워크(100)는, 뉴럴 네트워크(100)에 입력된 이미지(10) 내에 포함된 다양한 속성들을 추상화함으로써, 이미지(10) 내의 객체들을 식별할 수 있다. 이 경우, 이미지 내 속성들을 추상화한다는 것은, 이미지(10)로부터 속성 정보들을 검출하고, 검출된 속성 정보들 중에서 객체를 대표할 수 있는 핵심 속성을 판단하는 것일 수 있다.
또한, 뉴럴 네트워크(100)는 복수의 레이어(111 내지 121)를 포함한 종분류 네트워크(110) 및 적어도 하나의 특성 추출 레이어(140)를 포함할 수 있다. 여기에서, 종분류 네트워크(110)는 이미지(10)에 포함된 객체의 카테고리를 결정하는데 이용될 수 있다. 또한, 본 명세서에서 종분류 네트워크(110)는 학습 네트워크 모델로 설명될 수도 있다.
디바이스는 종분류 네트워크(110)에 포함된 복수의 레이어(111 내지 121)를 이용하여 이미지의 속성 정보를 추출할 수 있다. 이미지의 속성 정보는 색상, 엣지(edge), 폴리건(polygon), 채도(saturation), 명도(brightness), 색온도, 블러(blur), 선명도(sharpness), 명도비(contrast) 등을 포함할 수 있으나, 이는 일 예일 뿐, 이미지의 속성 정보가 전술한 예에 한정되는 것은 아니다. 디바이스는 복수의 레이어(111 내지 121) 중 마지막 레이어(121)에서 최종적으로 추출된 이미지의 속성 정보(130)를 기초로 객체의 카테고리를 결정할 수 있다.
한편, 일 실시예에 따른 디바이스는 복수의 레이어(111 내지 121) 중 적어도 하나로부터 이미지의 추출된 이미지의 속성 정보를 적어도 하나의 특성 추출 레이어(140)의 입력 데이터로 적용할 수 있다. 디바이스는 적어도 하나의 특성 추출 레이어(140)에 이미지의 속성 정보를 입력한 결과 획득된 객체의 특성 정보를 기초로 객체를 식별할 수 있다. 여기에서, 특성 정보는 객체의 대표적인 속성을 나타낼 수 있는 벡터 형태로 획득될 수 있다.
일 실시예에 따른 디바이스는 복수의 레이어(111 내지 121)에서 마지막 레이어(121) 뿐만 아니라 다른 레이어(예를 들어, 중간 단계 레이어)의 속성 정보를 이용함으로써, 객체 식별의 정확도를 보다 높일 수 있다. 예를 들어, 객체가 사물의 패턴인 경우에는 마지막 레이어(121)에서 주로 추출되는 하이 레벨(high level) 속성 정보 보다는 중간 단계 레이어(예를 들어, 115)에서 추출되는 에지, 폴리머 등의 속성 정보를 이용하는 것이 보다 적합할 수 있다.
한편, 디바이스는 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다.
도 2는 일 실시예에 따른 디바이스가 객체를 식별하는 방법을 설명하기 위한 흐름도이다.
단계 S210에서, 디바이스는 객체를 포함한 이미지를 획득할 수 있다.
단계 S220에서, 디바이스는 객체의 카테고리를 결정하기 위한 학습 네트워크 모델에 포함된 복수의 레이어를 이용하여, 이미지의 속성 정보를 추출할 수 있다.
예를 들어, 디바이스는 복수의 레이어 중 제 1 레이어를 이용하여 이미지로부터 직선 정보를 추출할 수 있다. 또한, 디바이스는 추출된 직선 정보를 제 1 레이어와 연결된 제 2 레이어에 입력 데이터로 적용하여, 제 2 레이어로부터 폴리머를 추출할 수 있다. 전술한 방식과 같이 디바이스는 복수의 레이어 각각에 이미지를 입력하거나 이전 레이어로부터 추출된 속성 정보를 입력 데이터로 적용함으로써, 이미지의 다양한 속성 정보를 추출할 수 있다.
단계 S230에서, 디바이스는 적어도 하나의 특성 추출 레이어를 이용하여, 복수의 레이어 중 적어도 일부 레이어로부터 추출된 객체의 속성 정보를 조합함으로써, 객체를 대표하는 특성 정보를 획득할 수 있다.
일 실시예에 따른 디바이스는 적어도 하나의 특성 추출 레이어를 이용하여, 객체의 카테고리를 결정하기 위한 네트워크 상의 마지막 레이어 이외의 레이어로부터 객체의 속성 정보를 추출할 수 있다. 예를 들어, 디바이스는 제 1 레이어 내지 제 3 레이어로 구성된 객체의 카테고리를 결정하기 위한 네트워크에서 제 1 레이어에서 추출된 객체의 제 1 속성 정보, 제 2 레이어에서 추출된 객체의 제 2 속성 정보 및 제 3 레이어에서 추출된 객체의 제 3 속성 정보를 획득할 수 있다.
또한, 디바이스는 적어도 하나의 특성 추출 레이어를 이용하여 적어도 일부 레이어로부터 각각 추출된 객체의 속성 정보들 중 적어도 일부를 조합할 수 있다. 예를 들어, 디바이스는 레이어 별로 동일한 가중치를 적용하여 객체의 속성 정보를 조합할 수도 있고, 학습 결과에 따라 상대적으로 중요도가 높다고 판단된 레이어에 상대적으로 높은 가중치를 적용하여 객체의 속성 정보를 조합할 수 있다.
한편, 적어도 하나의 특성 추출 레이어에서 복수의 레이어 중 일부를 선택하거나, 객체의 속성 정보를 조합하는데 사용되는 기준은 학습을 통해 결정될 수 있다. 예를 들어, 디바이스는 단계 S210 이전에 수행된 복수의 이미지들 각각에 대한 객체 식별 결과, 객체 식별의 정확도를 높일 수 있는 방향으로 적어도 하나의 특성 추출 레이어를 학습시킬 수 있다. 이에 대해서는 도 4를 참고하여 보다 구체적으로 후술하도록 한다.
단계 S240에서, 디바이스는 획득된 특성 정보와 기 저장된 복수의 이미지 각각의 특성 정보를 비교한 결과에 기초하여 객체를 식별할 수 있다.
여기에서, 특성 정보는 이미지에 포함된 객체를 대표하는 특성 벡터일 수 있다. 또한, 기 저장된 복수의 이미지 각각에는 적어도 하나의 객체가 포함될 수 있다.
일 실시예에 따른 디바이스는 획득된 객체의 특성 벡터와 기 저장된 복수의 이미지 각각의 특성 벡터 간의 거리를 비교할 수 있다. 디바이스는 비교 결과, 복수의 이미지 중 획득된 이미지에 포함된 객체와의 특성 벡터 간의 거리가 가장 짧은 이미지를 선택하고, 식별 대상이 되는 이미지에 포함된 객체를 선택된 이미지의 객체로 식별할 수 있다.
한편, 일 실시예에 따른 디바이스는 복수의 이미지 각각의 특성 정보를 포함하고 있는 데이터 베이스를 메모리 상에 저장할 수 있다. 다른 실시예에 따라 디바이스는 외부 디바이스에 저장된 데이터 베이스로부터 복수의 이미지 각각의 특성 정보를 수신할 수 있다.
도 3은 일 실시예에 따라 객체를 식별하는 디바이스(300)의 블록도이다.
프로세서(310)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따라 프로세서(310)는 뉴럴 네트워크(100) 내의 종분류 네트워크(110) 및 적어도 하나의 특성 추출 레이어(140)에 포함된 하나 이상의 인스트럭션들을 병렬적으로 처리할 수 있다.
예를 들어, 프로세서(310)는 종분류 네트워크(110)에 포함된 복수의 레이어들(111 내지 121)을 이용하여, 이미지(10)의 색상, 엣지, 폴리건, 채도, 명도, 색온도, 블러, 선명도, 명도비 등과 같은 속성 정보를 획득할 수 있다.
일 실시예에 따른 프로세서(310)는 복수의 레이어들(111 내지 121) 중 적어도 일부를 선택하고, 선택된 레이어들로부터 획득된 이미지(10)의 속성 정보를 적어도 하나의 특성 추출 레이어(140)의 입력 데이터로 적용할 수 있다. 프로세서(310)는 이전에 복수의 이미지들을 이용하여 객체를 식별한 결과를 기초로, 복수의 레이어들(111 내지 121) 중 일부를 선택하기 위한 기준을 학습시킬할 수 있다. 예를 들어, 프로세서(310)는 이전에 획득한 복수의 이미지들의 객체를 식별한 결과, 복수의 레이어들(111 내지 121) 중 제 2 레이어(112), 제 4 레이어(114) 및 제5 레이어(115)로부터 획득된 속성 정보를 입력 데이터로 적용하도록 적어도 하나의 특성 추출 레이어(140)를 학습시킬 수 있다.
다만, 이는 일 실시예일 뿐, 다른 실시예에 따라 복수의 레이어들(111 내지 121) 중 속성 정보가 추출되는 레이어가 미리 결정될 수도 있다.
또한, 프로세서(310)는 이전에 획득한 복수의 이미지들의 객체 식별 결과에 기초하여, 적어도 하나의 특성 추출 레이어(140)의 추출된 속성 정보를 조합하기 위한 가중치 또는 추출된 속성 정보 중 일부를 선택하기 위한 기준 등을 학습할 수 있다.
일 실시예에 따른 프로세서(310)는 적어도 하나의 특성 추출 레이어(140)를 이용하여, 이미지 내의 객체를 대표하는 특성 정보를 획득할 수 있다. 여기에서, 특성 정보는 벡터 형태로 획득될 수 있다. 프로세서(310)는 객체를 대표하는 특성 정보와 기 저장된 데이터 베이스 내의 복수의 이미지 각각의 특성 정보를 비교한 결과에 기초하여, 객체를 식별할 수 있다.
예를 들어, 프로세서(310)는 획득된 이미지 내의 객체의 특성 벡터와 복수의 이미지 각각의 특성 벡터 간의 거리를 산출하고, 복수의 이미지들 중 산출된 거리가 가장 짧은 이미지를 선택할 수 있다. 프로세서(310)는 획득된 이미지 내의 객체를 선택된 이미지의 객체로 식별할 수 있다.
한편, 프로세서(310)는 프로세서(310) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(310)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(320)에는 프로세서(310)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(320)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다. 일 실시예에 따라 메모리(320)는 데이터 학습부 및 데이터 인식부를 포함할 수 있다. 또한, 데이터 학습부 및 데이터 인식부는 각각 독립적으로 뉴럴 네트워크 모듈을 포함하거나, 하나의 뉴럴 네트워크 모듈을 공유할 수 있다.
뉴럴 네트워크 모듈은 종분류 네트워크에 포함된 복수의 레이어들 및 적어도 하나의 특성 추출 레이어를 포함할 수 있다. 종분류 네트워크에 포함된 복수의 레이어들은 각각 이미지로부터 적어도 하나의 속성 정보를 검출하고 검출된 적어도 하나의 속성 정보를 추상화하는 하나 이상의 인스트럭션들을 포함할 수 있다. 예를 들어, 제1 내지 제 N 레이어들(111 내지 121)은 각각 이미지로부터 이미지의 속성 정보를 추출하는 하나 이상의 인스트럭션을 포함하는 컨벌루셔널 레이어(convolutional layer), 및/또는 추출된 이미지 속성 으로부터 대표값을 결정하는 하나 이상의 인스트럭션을 포함하는 풀링 레이어(pooling layer)를 포함할 수 있다.
또한, 적어도 하나의 특성 추출 레이어(140)는 종분류 네트워크(110)로부터 획득한 적어도 하나의 속성 정보를 기초로 이미지 내의 객체를 대표하는 특성 정보를 추출하는 하나 이상의 인스트럭션을 포함하는 컨벌루셔널 레이어, 및/또는 추출된 이미지 속성으로부터 대표값을 결정하는 하나 이상의 인스트럭션을 포함하는 풀링 레이어(pooling layer)를 포함할 수 있다.
일 실시예에 따른 적어도 하나의 특성 추출 레이어(140)의 구조에 대해서는 도 6 내지 도 8을 참고하여 구체적으로 후술하도록 한다.
도 4는 일 실시예에 따른 프로세서(330)를 설명하기 위한 도면이다.
도 4를 참고하면, 일 실시예에 따른 프로세서(330)는 데이터 학습부(410) 및 데이터 인식부(420)를 포함할 수 있다.
데이터 학습부(410)는 이미지 내에 포함된 객체를 식별하기 위한 기준을 학습할 수 있다. 예를 들어, 데이터 학습부(410)는 객체를 식별하기 위해 사용되는 이미지의 속성 정보로부터 객체를 대표하는 특성 정보를 결정하기 위해 적어도 하나의 특성 추출 레이어(140)의 파라미터를 학습시킬 수 있다.
데이터 인식부(420)는 데이터 학습부(410)를 통해 학습된 기준에 기초하여, 이미지 내의 객체를 식별할 수 있다. 예를 들어, 데이터 인식부(420)는 종분류 네트워크(110)로부터 추출된 이미지의 속성 정보들을 학습된 특성 추출 레이어(140)에 입력 데이터로 적용함으로써, 이미지 내에 포함된 객체를 식별할 수 있다.
데이터 학습부(410) 및 데이터 인식부(420) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 디바이스에 탑재될 수 있다. 예를 들어, 데이터 학습부(410) 및 데이터 인식부(420) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 디바이스에 탑재될 수도 있다.
이 경우, 데이터 학습부(410) 및 데이터 인식부(420)는 하나의 디바이스에 탑재될 수도 있으며, 또는 별개의 디바이스들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(410) 및 데이터 인식부(420) 중 하나는 디바이스에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(410) 및 데이터 인식부(420)는 유선 또는 무선으로 통하여, 데이터 학습부(410)가 구축한 모델 정보를 데이터 인식부(420)로 제공할 수도 있고, 데이터 인식부(420)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(410)로 제공될 수도 있다.
한편, 데이터 학습부(410) 및 데이터 인식부(420) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(410) 및 데이터 인식부(420) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수 있다.
도 5는 일 실시예에 따른 데이터 학습부(410)의 블록도이다.
도 5를 참조하면, 일부 실시예에 따른 데이터 학습부(410)는 데이터 획득부(510), 전처리부(520), 학습 데이터 선택부(530), 모델 학습부(540) 및 모델 평가부(550)를 포함할 수 있다. 다만, 이는 일 실시예일 뿐, 전술한 구성 들 보다 적은 구성 요소로 데이터 학습부(410)가 구성되거나, 전술한 구성들 이외에 다른 구성 요소가 추가적으로 데이터 학습부(410)에 포함될 수 있다.
데이터 획득부(510)는 이미지 및 동영상 중 적어도 하나를 획득할 수 있다. 여기에서, 동영상은 복수의 이미지들로 구성될 수 있다. 일 예로, 데이터 획득부(510)는 데이터 학습부(410)를 포함하는 디바이스 또는 학습부(410)를 포함하는 디바이스와 통신 가능한 외부의 디바이스로부터 이미지를 획득할 수 있다.
한편, 일 실시예에 따른 데이터 획득부(510)에서 획득하는 이미지는 유사도에 기초하여 분류된 복수의 이미지 중 어느 하나일 수 있다. 예를 들어, 데이터 획득부(510)는 학습을 위해, 유사도에 기초하여 분류된 적어도 하나의 유사 클러스터에 포함된 이미지를 학습을 위해 획득할 수 있다.
전처리부(520)는 객체의 식별을 위한 학습에 획득된 이미지가 이용될 수 있도록, 획득된 이미지를 전처리할 수 있다. 전처리부(520)는 후술할 모델 학습부(540)가 객체의 식별을 위한 학습을 위하여 획득된 이미지를 이용할 수 있도록, 획득된 이미지를 기 설정된 포맷으로 가공할 수 있다. 예를 들어, 전처리부(520)는 입력된 이미지를 복수의 이미지들로 구분하고, 구분된 각각의 이미지로부터 R 속성, G 속성 및 B 속성을 검출할 수 있다.
학습 데이터 선택부(530)는 전처리된 데이터 중에서 학습에 필요한 이미지를 선택할 수 있다. 선택된 이미지는 모델 학습부(540)에 제공될 수 있다. 학습 데이터 선택부(530)는 설정된 기준에 따라, 전처리된 이미지 중에서 학습에 필요한 이미지를 선택할 수 있다. 예를 들어, 학습 데이터 선택부(530)는 제 1 유사 클러스터에 포함된 제 1 이미지 및 제 2 이미지를 선택하고, 제 2 유사 클러스터에 포함된 제 3 이미지를 선택할 수 있다.
모델 학습부(540)는 적어도 하나의 특성 추출 레이어(140)에서 이미지의 적어도 하나의 속성 정보로부터 이미지 내의 객체의 특성 정보를 어떻게 검출할 지에 관한 기준을 학습할 수 있다. 예를 들어, 모델 학습부(540)는 객체의 식별을 위하여 종분류 네트워크(110)에 포함된 복수의 레이어 중 어떤 레이어로부터 추출된 속성 정보를 이용해야 하는 지에 대한 제 1 기준을 학습할 수도 있다. 여기에서, 제1 기준은, 디바이스가 뉴럴 네트워크를 이용하여, 이미지로부터 이미지 내의 객체를 식별하는데 이용되는 이미지 속성들의 종류, 개수 또는 수준 등을 포함할 수 있다.
다양한 실시예에 따르면, 모델 학습부(540)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 객체의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
한편, 모델 학습부(540)에서 이용하는 데이터 인식 모델에 따라 객체의 특성 정보가 결정될 수 있다. 예를 들어, 제 1 유사 클러스터에 포함된 복수의 이미지 데이터를 학습 데이터로 적용한 경우 및 제 2 유사 클러스터에 포함된 복수의 이미지 데이터를 학습 데이터로 적용한 경우 각각 동일한 이미지를 적용하였을 때 산출되는 특성 정보가 서로 상이할 수 있다.
또한, 모델 학습부(540)는, 예를 들어, 학습에 따른 객체의 식별 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(540)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(540)는 학습된 데이터 인식 모델을 데이터 인식부(420)를 포함하는 디바이스의 메모리에 저장할 수 있다. 또는, 모델 학습부(540)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(420)를 포함하는 디바이스의 메모리에 저장할 수 있다. 또는, 모델 학습부(540)는 학습된 데이터 인식 모델을 디바이스와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 디바이스의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 애플리케이션 프로그래밍 인터페이스(API) 및/또는 애플리케이션 프로그램(또는 "애플리케이션") 등을 포함할 수 있다.
모델 평가부(550)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(540)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다. 여기에서, 평가 데이터는 데이터 인식 모델을 기반으로 식별된 객체와 실제의 객체 간의 일치 비율 등을 포함할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(550)는 각각의 학습된 동영상 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
한편, 데이터 학습부(410) 내의 데이터 획득부(510), 전처리부(520), 학습 데이터 선택부(530), 모델 학습부(540) 및 모델 평가부(550) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 디바이스에 탑재될 수 있다. 예를 들어, 데이터 획득부(510), 전처리부(520), 학습 데이터 선택부(530), 모델 학습부(540) 및 모델 평가부(550) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 디바이스 에 탑재될 수도 있다.
또한, 데이터 획득부(510), 전처리부(520), 학습 데이터 선택부(530), 모델 학습부(540) 및 모델 평가부(550)는 하나의 디바이스에 탑재될 수도 있으며, 또는 별개의 디바이스들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(510), 전처리부(520), 학습 데이터 선택부(530), 모델 학습부(540) 및 모델 평가부(550) 중 일부는 디바이스에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(510), 전처리부(520), 학습 데이터 선택부(530), 모델 학습부(540) 및 모델 평가부(550) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(510), 전처리부(520), 학습 데이터 선택부(530), 모델 학습부(540) 및 모델 평가부(550) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 6은 일 실시예에 따른 디바이스가 이미지(10) 내의 객체 식별을 위해 뉴럴 네트워크(600)를 학습시키는 방법을 설명하기 위한 도면이다.
도 6을 참고하면, 뉴럴 네트워크(600)는 이미지로부터 적어도 하나의 속성 정보를 추출하는데 이용되는 제1 레이어 내지 제5 레이어(611 내지 615)를 포함하는 종분류 네트워크(610) 및 적어도 하나의 속성 정보로부터 객체를 대표하는 특성 정보를 획득하는데 이용되는 적어도 하나의 특성 추출 레이어(620)를 포함할 수 있다.
여기에서, 제 1 레이어 내지 제 5 레이어(611 내지 615)는 이미지로부터 이미지의 속성 정보를 추출하는 하나 이상의 인스트럭션을 포함하는 컨벌루셔널 레이어(convolutional layer), 및/또는 추출된 이미지 속성 으로부터 대표값을 결정하는 하나 이상의 인스트럭션을 포함하는 풀링 레이어(pooling layer)를 포함할 수 있다. 한편, 본 실시예에서는 종분류 네트워크(610)에서, 제 5 레이어(615) 이후의 속성 정보 또는 종분류 결과가 객체 식별에 사용되지 않는 것으로 학습됨에 따라, 제 5 레이어(615) 이후에 존재하는 다른 레이어들(미도시)에 대해서는 설명을 생략하도록 한다.
디바이스는 데이터 베이스 내의 적어도 하나의 유사 클러스터에 포함된 이미지들을 뉴럴 네트워크(600)의 입력 데이터로 적용하여, 적어도 하나의 특성 추출 레이어(620)를 학습시킬 수 있다.
예를 들어, 디바이스는 제 1 레이어 내지 제 5 레이어(611 내지 615)에서 각각 추출된 이미지의 속성 정보들을 랜덤하게 선택하여 조합함으로써 이미지 내의 객체의 특성 정보를 획득할 수 있다. 디바이스는 획득된 객체의 특성 정보가 기 설정된 정확도를 만족할 때까지 반복적으로 적어도 하나의 특성 추출 레이어(620)를 학습시킬 수 있다. 예를 들어, 디바이스는 제 1 유사 클러스터에 포함된 제 1 이미지(10) 및 제 2 이미지(12)와 제 2 유사 클러스터에 포함된 제 3 이미지(14)를 뉴럴 네트워크에 입력할 수 있다. 디바이스는 제 1 이미지(10)의 특성 정보와 제 2 이미지(12) 간의 특성 정보 간의 차이가 제 1 임계값이거나 또는 제 1 임계값의 미만이 되고, 제 1 이미지(10)의 특성 정보와 제 3 이미지(14) 간의 특성 정보 간의 차이가 제 2 임계값이거나 제 2 임계값을 초과하도록 적어도 하나의 특성 추출 레이어(620)를 학습시킬 수 있다. 이에 따라, 예를 들어, 적어도 하나의 특성 추출 레이어(620)는종분류 네트워크(610)의 제 5 레이어(615)로부터 추출된 속성 정보를 조합하는 것이 객체의 특성 정보를 결정하는데 가장 적합하다는 기준을 학습할 수 있다.
이에 따라, 디바이스는 제 5 레이어(615)로부터 추출된 속성 정보를 조합하도록 학습된 특성 추출 레이어(620)를 이용하여, 식별 대상이 되는 이미지 내의 객체를 식별할 수 있다.
한편, 도 6에서는 종분류 네트워크(610)가 다섯 개의 레이어를 포함하는 것으로 설명하였으나, 이에 제한되지 않는다. 예를 들어, 종분류 네트워크(610)는 도 6에 개시된 예보다 더 적거나 또는 더 많은 수의 레이어를 포함할 수 있다.
또한, 다른 실시예에 따라 디바이스는 제 1 레이어(611) 내지 제 5 레이어(615) 중 제 3 레이어(613)의 속성 정보를 기초로 특성 정보를 결정하는 것이 가장 적합하다는 기준이 특성 추출 레이어에 학습된 경우, 종분류 네트워크(610)에서 제 3 레이어(613) 이후의 레이어에 대해서는 속성 정보를 추출하는 등의 추가 연산을 수행하지 않을 수도 있다.
도 7은 다른 실시예에 따른 디바이스가 디바이스가 이미지(10) 내의 객체 식별을 위해 뉴럴 네트워크(700)를 학습시키는 방법을 설명하기 위한 도면이다.
도 7을 참고하면, 뉴럴 네트워크(700)는 이미지로부터 적어도 하나의 속성 정보를 추출하는데 이용되는 제1 레이어 내지 제N 레이어(711 내지 721)를 포함하는 종분류 네트워크(710) 및 적어도 하나의 속성 정보로부터 객체를 대표하는 특성 정보를 획득하는데 이용되는 적어도 하나의 특성 추출 레이어(742, 744)를 포함할 수 있다. 여기에서, 제 1 레이어 내지 제 N 레이어(711 내지 721)는 이미지로부터 이미지의 속성 정보를 추출하는 하나 이상의 인스트럭션을 포함하는 컨벌루셔널 레이어, 및/또는 추출된 이미지 속성 으로부터 대표값을 결정하는 하나 이상의 인스트럭션을 포함하는 풀링 레이어를 포함할 수 있다. 또한, 종분류 네트워크(710)를 통해, 이미지 내의 객체의 종분류 결과(730)가 산출될 수 있다. 다만, 이는 일 실시예일 뿐, 객체 식별에 종분류 결과(730)가 필요하지 않은 경우에는, 이를 산출하지 않을 수 있다.
디바이스는 데이터 베이스 내의 적어도 하나의 유사 클러스터에 포함된 이미지들을 뉴럴 네트워크(700)의 입력 데이터로 적용하여, 적어도 하나의 특성 추출 레이어(742, 744)를 학습시킬 수 있다. 한편, 디바이스가 적어도 하나의 특성 추출 레이어(742, 744)를 학습시키는 방법은 도 6을 참고하여 전술한 바와 동일할 수 있다.
이에 따라, 예를 들어, 적어도 하나의 특성 추출 레이어(742, 744)는 종분류 네트워크(610)의 제 5 레이어(715)에서 추출된 속성 정보 및 제 9 레이어(719)에서 추출된 속성 정보를 조합하는 것이 객체의 특성 정보를 결정하는데 가장 적합하다는 기준을 학습할 수 있다.
이에 따라, 디바이스는 제 5 레이어(715) 및 제 9 레이어(719)로부터 추출된 속성 정보를 조합하도록 학습된 복수의 특성 추출 레이어(742, 744)를 이용하여, 인식 대상이 되는 이미지 내의 객체를 식별할 수 있다. 한편, 도 7의 경우, 디바이스는 제 5 레이어(715)에서 추출된 속성 정보를 기초로 제 1 특성 추출 레이어(742)에서 결정된 제 1 특성 정보와 제 9 레이어(719)에서 추출된 속성 정보를 기초로 제 2 특성 추출 레이어(744)에서 결정된 제 2 특성 정보를 병합하여, 객체의 특성 정보로 결정할 수 있다.
다만, 이는 일 실시예일 뿐, 특성 추출 레이어(742, 744)의 구조, 개수 등의 특성이 전술한 예에 한정되는 것은 아니다.
도 8은 다른 실시예에 따른 디바이스가 디바이스가 이미지(10) 내의 객체 식별을 위해 뉴럴 네트워크(800)를 학습시키는 방법을 설명하기 위한 도면이다.
도 8을 참고하면, 뉴럴 네트워크(800)는 이미지로부터 적어도 하나의 속성 정보를 추출하는데 이용되는 제1 레이어 내지 제N 레이어(811 내지 822)를 포함하는 종분류 네트워크(810) 및 적어도 하나의 속성 정보로부터 객체를 대표하는 특성 정보를 획득하는데 이용되는 적어도 하나의 특성 추출 레이어(840)를 포함할 수 있다. 여기에서, 제 1 레이어 내지 제 N 레이어(811 내지 822)는 이미지로부터 이미지의 속성 정보를 추출하는 하나 이상의 인스트럭션을 포함하는 컨벌루셔널 레이어, 및/또는 추출된 이미지 속성 으로부터 대표값을 결정하는 하나 이상의 인스트럭션을 포함하는 풀링 레이어를 포함할 수 있다.
또한, 종분류 네트워크(810)를 통해, 이미지 내의 객체의 종분류 결과(830)가 산출될 수 있다. 다만, 이는 일 실시예일 뿐, 객체 식별에 종분류 결과(830)가 필요하지 않은 경우에는, 이를 산출하지 않을 수 있다.
디바이스는 데이터 베이스 내의 적어도 하나의 유사 클러스터에 포함된 이미지들을 뉴럴 네트워크(800)의 입력 데이터로 적용하여, 적어도 하나의 특성 추출 레이어(840)를 학습시킬 수 있다. 한편, 디바이스가 적어도 하나의 특성 추출 레이어(840)를 학습시키는 방법은 도 6을 참고하여 전술한 바와 동일할 수 있다. 이에 따라, 예를 들어, 적어도 하나의 특성 추출 레이어(840)는종분류 네트워크(810)의 제 5 레이어(815)에서 추출된 속성 정보 및 제 9 레이어(819)에서 추출된 속성 정보를 조합하는 것이 객체의 특성 정보를 결정하는데 가장 적합하다는 기준을 학습할 수 있다. 또한, 디바이스는 속성 정보를 조합하는 방법에 대해서도 학습할 수 있다.
예를 들어, 디바이스는 제 5 레이어(815)에서 추출된 속성 정보를 기초로 제 1 특성 추출 레이어(842)에서 결정된 제 1 특성 정보와 제 9 레이어(819)에서 추출된 속성 정보를 기초로 제 2 특성 추출 레이어(844)에서 결정된 제 2 특성 정보를 제 3 특성 추출 레이어(846)의 입력 데이터로 적용할 수 있다. 이에 따라, 디바이스는 제 3 특성 추출 레이어(846)를 이용하여, 객체의 특성 정보를 획득할 수 있다. 여기에서, 제 1 특성 추출 레이어(842) 및 제 2 특성 추출 레이어(844)는 종 분류 네트워크(810)로부터 추출한 속성 정보를 풀링하거나, 평균화하는 등의 작업을 통해 가공하고, 이를 제 3 특성 추출 레이어(846)에 제공하는데 이용될 수 있다.
다만, 이는 일 실시예일 뿐, 특성 추출 레이어(840)의 구조, 개수 등의 특성이 전술한 예에 한정되는 것은 아니다.
도 9는 일 실시예에 따른 데이터 인식부(420)의 블록도이다.
도 9를 참조하면, 일부 실시예에 따른 데이터 인식부(420)는 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950)를 포함할 수 있다.
데이터 획득부(910)는 객체의 식별에 필요한 이미지를 획득할 수 있으며, 전처리부(920)는 객체의 식별을 위해 획득된 이미지가 이용될 수 있도록, 획득된 이미지를 전처리할 수 있다. 전처리부(920)는 후술할 인식 결과 제공부(940)가 객체의 식별을 위하여 획득된 이미지를 이용할 수 있도록, 획득된 이미지를 기 설정된 포맷으로 가공할 수 있다. 인식 데이터 선택부(930)는 전처리된 데이터 중에서 객체의 식별에 필요한 이미지를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(940)에게 제공될 수 있다.
인식 결과 제공부(940)는 선택된 이미지를 일 실시예에 따른 뉴럴 네트워크에 적용하여 이미지 내의 객체를 식별할 수 있다. 여기에서, 뉴럴 네트워크는 전술한 바와 같이 종분류 네트워크 및 적어도 하나의 특성 추출 레이어를 포함할 수 있다. 뉴럴 네트워크에 이미지를 적용하여 이미지 내의 객체를 식별하는 방법은 도 1 내지 8을 참고하여 전술한 방법과 대응될 수 있다.
인식 결과 제공부(940)는 이미지에 포함된 적어도 하나의 객체의 식별 정보를 제공할 수 있다.
모델 갱신부(950)는 인식 결과 제공부(940)에 의해 제공되는 객체의 식별 결과에 대한 평가에 기초하여, 뉴럴 네트워크에 포함된 종분류 네트워크 또는 적어도 하나의 특성 추출 레이어의 파라미터 등이 갱신되도록 평가에 대한 정보를 도 5를 참고하여 전술한 모델 학습부(540)에게 제공할 수 있다.
한편, 데이터 인식부(420) 내의 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 디바이스에 탑재될 수 있다. 예를 들어, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는 인공 지능을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 디바이스에 탑재될 수도 있다.
또한, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950)는 하나의 디바이스에 탑재될 수도 있으며, 또는 별개의 디바이스들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 일부는 디바이스에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수 있다.
도 10은 일 실시예에 따른 디바이스가 데이터 베이스에 저장된 복수의 이미지의 특성 정보와 이미지 내의 객체의 특성 정보를 비교하여 객체를 식별하는 방법을 설명하기 위한 도면이다.
도 10을 참고하면, 디바이스는 이미지(1010)를 객체 식별을 위한 뉴럴 네트워크(1020)의 입력 데이터로 적용할 수 있다. 여기에서, 뉴럴 네트워크(1020)는 종분류 네트워크 및 적어도 하나의 특성 추출 레이어를 포함할 수 있다. 한편, 디바이스에서 뉴럴 네트워크(1020)를 이용하여 객체의 특성 정보를 추출하는 방법에 대해서는 도 1 내지 도 9를 참고하여 전술한 방법과 대응될 수 있다.
디바이스는 뉴럴 네트워크(1020)에 이미지(1010)를 입력 데이터로 적용한 결과, 이미지(1010) 내의 객체를 대표하는 특성 정보를 획득할 수 있다. 특성 정보는 벡터 형태를 가질 수 있다. 한편, 본 실시예에서는 설명의 편의상 특성 정보를 특성 벡터로 지칭하여 설명하도록 한다.
디바이스는 이미지(1010) 내의 객체를 대표하는 특성 벡터와 데이터 베이스(1030)에 기 저장된 복수의 이미지 각각의 특성 벡터를 비교할 수 있다. 예를 들어, 디바이스는 객체의 특성 벡터와 복수의 이미지 각각의 특성 벡터 간의 거리를 산출할 수 있다. 디바이스는 복수의 이미지 중 산출된 거리가 가장 짧은 이미지를 선택할 수 있다. 또한, 디바이스는 식별 대상이 되는 이미지 내의 객체가 선택된 이미지 내의 객체인 것으로 식별할 수 있다.
한편, 복수의 이미지 각각의 특성 정보를 기 저장한 데이터 베이스(1030)는 디바이스 내에 저장될 수도 있고, 외부 디바이스에 저장될 수도 있다. 데이터 베이스(1030)가 외부 디바이스에 저장되는 경우, 디바이스는 획득된 객체의 특성 벡터를 외부 디바이스에 전송함으로써, 외부 디바이스에 객체의 식별을 요청할 수 있다. 다른 예에 따라, 디바이스는 외부 디바이스에 복수의 이미지 각각의 특성 정보의 제공을 요청할 수도 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
도면에 도시된 실시 예들에서 참고부호를 기재하였으며, 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 본 발명이 한정되는 것은 아니며, 실시 예는 당업자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다.
실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 또한, 실시예는 동종의 또는 서로 다른 종류의 코어들, 서로 다른 종류의 CPU들을 채용할 수도 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
실시 예에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 실시 예의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
실시 예의 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 실시 예에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 실시 예에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 실시 예들이 한정되는 것은 아니다. 실시 예에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 실시 예를 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 실시 예의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
Claims (17)
- 객체를 포함한 이미지를 획득하는 단계;
상기 객체의 카테고리를 결정하기 위한 학습 네트워크 모델에 포함된 복수의 레이어를 이용하여, 상기 이미지의 적어도 하나의 속성 정보를 추출하는 단계;
적어도 하나의 특성 추출 레이어를 이용하여, 상기 복수의 레이어 중 적어도 일부 레이어로부터 추출된 속성 정보를 조합함으로써, 상기 객체를 대표하는(representing) 특성 정보를 획득하는 단계; 및
상기 획득된 특성 정보와 기 저장된 복수의 이미지 각각의 특성 정보를 비교한 결과에 기초하여, 상기 객체를 식별하는 단계를 포함하고,
상기 적어도 하나의 특성 추출 레이어 각각의 파라미터는, 복수의 이미지를 포함하는 데이터 베이스에 기초한 학습 결과에 따라 설정되는, 디바이스가 객체를 식별하는 방법. - 제 1항에 있어서, 상기 데이터 베이스는,
상기 복수의 이미지를 유사도에 기초하여 분류한 결과 생성된 제 1 유사 클러스터 및 제 2 유사 클러스터를 포함하는, 디바이스가 객체를 식별하는 방법. - 제 2항에 있어서,
상기 제 1 유사 클러스터에 포함된 제 1 이미지 및 제 2 이미지와 상기 제 2 유사 클러스터에 포함된 제 3 이미지를 추출하는 단계; 및
상기 제 1 이미지의 특성 정보와 상기 제 2 이미지 간의 특성 정보 간의 차이가 제 1 임계값이거나 또는 상기 제 1 임계값의 미만이 되고, 상기 제 1 이미지의 특성 정보와 상기 제 3 이미지 간의 특성 정보 간의 차이가 제 2 임계값이거나 상기 제 2 임계값을 초과하도록 상기 특성 추출 레이어를 학습시키는 단계를 더 포함하는 디바이스가 객체를 식별하는 방법. - 제 1항에 있어서, 상기 특성 정보를 획득하는 단계는,
상기 적어도 하나의 특성 추출 레이어를 이용하여, 상기 복수의 레이어 중 적어도 일부 레이어를 선택하는 단계를 포함하는, 디바이스가 객체를 식별하는 방법. - 제 4항에 있어서, 상기 특성 정보를 획득하는 단계는,
상기 선택된 적어도 일부 레이어 각각에서 추출된 속성 정보에 기 설정된 가중치를 적용하여 조합하는 단계를 포함하는, 디바이스가 객체를 식별하는 방법. - 제 1항에 있어서, 상기 특성 정보를 획득하는 단계는,
상기 적어도 일부 레이어로부터 추출된 속성 정보 중 일부를 선택하는 단계; 및
상기 선택된 속성 정보를 조합하여, 상기 객체의 특성 정보를 결정하는 단계를 포함하는 디바이스가 객체를 식별하는 방법. - 제 1항에 있어서,
상기 특성 추출 레이어의 학습에 이용되는 데이터 베이스에 포함된 복수의 이미지의 종류에 따라 상기 획득되는 특성 정보가 결정되는, 디바이스가 객체를 식별하는 방법. - 제 1항에 있어서, 상기 식별하는 단계는,
상기 결정된 특성 정보에 포함된 특성 벡터 및 상기 기 저장된 복수의 객체이미지 각각의 특성 정보에 포함된 특성 벡터 간의 거리를 결정하는 단계; 및
상기 결정된 거리에 기초하여, 상기 객체를 식별하는 단계를 포함하는, 디바이스가 객체를 식별하는 방법. - 하나 이상의 인스트럭션을 저장하는 메모리;
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
객체를 포함한 이미지를 획득하고,
상기 객체의 카테고리를 결정하기 위한 학습 네트워크 모델에 포함된 복수의 레이어를 이용하여, 상기 이미지의 적어도 하나의 속성 정보를 추출하고,
적어도 하나의 특성 추출 레이어를 이용하여, 상기 복수의 레이어 중 적어도 일부 레이어로부터 추출된 속성 정보를 조합함으로써, 상기 객체를 대표하는 특성 정보를 획득하며,
상기 획득된 특성 정보와 기 저장된 복수의 이미지 객체 각각의 특성 정보를 비교한 결과에 기초하여 상기 객체를 식별하고,
상기 특성 추출 레이어의 적어도 하나의 파라미터는, 복수의 이미지를 포함하는 데이터 베이스에 기초한 학습 결과에 따라 설정되는, 객체를 식별하는 디바이스. - 제 9항에 있어서, 상기 데이터 베이스는,
상기 복수의 이미지를 유사도에 기초하여 분류한 결과 생성된 제 1 유사 클러스터 및 제 2 유사 클러스터를 포함하는, 객체를 식별하는 디바이스. - 제 10항에 있어서,
상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 제 1 유사 클러스터에 포함된 제 1 이미지 및 제 2 이미지와 상기 제 2 유사 클러스터에 포함된 제 3 이미지를 추출하고,
상기 제 1 이미지의 특성 정보와 상기 제 2 이미지 간의 특성 정보 간의 차이가 제 1 임계값이거나 상기 제 1 임계값의 미만이 되고, 상기 제 1 이미지의 특성 정보와 상기 제 3 이미지 간의 특성 정보 간의 차이가 제 2 임계값이거나 상기 제 2 임계값을 초과하도록 상기 특성 추출 레이어를 학습시키는, 객체를 식별하는 디바이스. - 제 9항에 있어서,
상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 적어도 하나의 특성 추출 레이어를 이용하여, 상기 복수의 레이어 중 적어도 일부 레이어를 선택하는, 객체를 식별하는 디바이스. - 제 12항에 있어서,
상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 선택된 적어도 일부 레이어 각각에서 추출된 속성 정보에 기 설정된 가중치를 적용하여 조합하는, 객체를 식별하는 디바이스. - 제 9항에 있어서,
상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 적어도 일부 레이어로부터 추출된 객체의 속성 정보 중 일부를 선택하고,
상기 선택된 속성 정보를 조합하여 상기 객체의 특성 정보를 결정하는, 객체를 식별하는 디바이스. - 제 9항에 있어서,
상기 적어도 하나의 특성 추출 레이어의 학습에 이용되는 데이터 베이스에 포함된 복수의 이미지의 종류에 따라 상기 획득되는 특성 정보가 결정되는, 객체를 식별하는 디바이스. - 제 9항에 있어서,
상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 결정된 특성 정보에 포함된 특성 벡터 및 상기 기 저장된 복수의 객체이미지 각각의 특성 정보에 포함된 특성 벡터 간의 거리를 결정하고,
상기 결정된 거리에 기초하여 상기 객체를 식별하는, 객체를 식별하는 디바이스. - 제 1항 내지 제 8항 중 어느 하나의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170060961A KR102400017B1 (ko) | 2017-05-17 | 2017-05-17 | 객체를 식별하는 방법 및 디바이스 |
PCT/KR2018/005257 WO2018212494A1 (ko) | 2017-05-17 | 2018-05-08 | 객체를 식별하는 방법 및 디바이스 |
US16/613,627 US11176402B2 (en) | 2017-05-17 | 2018-05-08 | Method and device for identifying object |
EP18801300.7A EP3598342B1 (en) | 2017-05-17 | 2018-05-08 | Method and device for identifying object |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170060961A KR102400017B1 (ko) | 2017-05-17 | 2017-05-17 | 객체를 식별하는 방법 및 디바이스 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180126220A true KR20180126220A (ko) | 2018-11-27 |
KR102400017B1 KR102400017B1 (ko) | 2022-05-19 |
Family
ID=64274067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170060961A KR102400017B1 (ko) | 2017-05-17 | 2017-05-17 | 객체를 식별하는 방법 및 디바이스 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11176402B2 (ko) |
EP (1) | EP3598342B1 (ko) |
KR (1) | KR102400017B1 (ko) |
WO (1) | WO2018212494A1 (ko) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102006411B1 (ko) * | 2018-09-07 | 2019-08-05 | 대한민국 | 언어재활을 위한 이미지 콘텐츠 제작 방법 |
KR20200027889A (ko) * | 2018-09-05 | 2020-03-13 | 주식회사 스트라드비젼 | CNN(Convolutional Neural Network)을 사용하여 차선을 검출하기 위한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 |
KR102099561B1 (ko) * | 2019-04-25 | 2020-04-09 | 김진성 | 기계학습 기반 고도화된 매칭 알고리즘을 포함한 섬유제품 검색 서비스 제공 시스템 |
KR20200067682A (ko) * | 2018-12-04 | 2020-06-12 | 이노뎁 주식회사 | 상용분류기 외부 연동 학습형 신경망을 이용한 압축영상에 대한 신택스 기반의 객체 분류 방법 |
KR20200075094A (ko) * | 2018-12-10 | 2020-06-26 | 울산과학기술원 | 객체 분류기 생성 장치 및 방법 |
WO2021085784A1 (ko) * | 2019-10-31 | 2021-05-06 | 재단법인대구경북과학기술원 | 객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치 |
WO2021091022A1 (ko) * | 2019-11-08 | 2021-05-14 | 주식회사 알체라 | 머신 러닝 시스템 및 머신 러닝 시스템의 동작 방법 |
KR20210115045A (ko) * | 2019-03-01 | 2021-09-24 | 코너트 일렉트로닉스 리미티드 | 차량의 표면 상의 물체를 검출하는 방법 및 시스템 |
KR102310588B1 (ko) * | 2021-02-10 | 2021-10-13 | 주식회사 인피닉 | 인공지능 학습을 위한 스켈레톤 데이터 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
KR102310587B1 (ko) * | 2021-02-10 | 2021-10-13 | 주식회사 인피닉 | 연속된 이미지들에 대한 스켈레톤 데이터 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
KR102343036B1 (ko) * | 2021-02-10 | 2021-12-24 | 주식회사 인피닉 | 작업 가이드를 제공할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
US11275866B2 (en) | 2019-07-17 | 2022-03-15 | Pusan National University Industry-University Cooperation Foundation | Image processing method and image processing system for deep learning |
KR102415616B1 (ko) * | 2021-10-18 | 2022-07-01 | 라이트하우스(주) | 예술품의 이미지 표준화 기반 교육 및 거래 서비스 제공 방법, 장치 및 시스템 |
KR102422962B1 (ko) * | 2021-07-26 | 2022-07-20 | 주식회사 크라우드웍스 | 다중 인공지능 모델의 연속 처리 구조에 기반한 이미지 자동 분류 및 처리 방법, 그리고 이를 실행시키기 위해 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램 |
WO2023277663A1 (ko) * | 2021-07-01 | 2023-01-05 | 주식회사 딥엑스 | 인공신경망을 이용한 영상 처리 방법 및 신경 프로세싱 유닛 |
KR20230029343A (ko) * | 2021-08-24 | 2023-03-03 | 서울대학교산학협력단 | 반도체 레이아웃의 패턴 윤곽 정보를 검출하는 장치 및 방법 |
WO2023048357A1 (ko) * | 2021-09-23 | 2023-03-30 | 광주과학기술원 | 실환경 물체 인식 방법 및 장치 |
WO2023058859A1 (ko) * | 2021-10-07 | 2023-04-13 | 삼성전자 주식회사 | 디스플레이 장치 및 그 동작방법 |
WO2024035000A1 (ko) * | 2022-08-09 | 2024-02-15 | 한양대학교 산학협력단 | 설명 가능한 3d 형상 학습을 위한 컨볼루션 신경망 구조, 및 이를 이용한 3d 형상 학습을 위한 방법 및 시스템 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102400017B1 (ko) * | 2017-05-17 | 2022-05-19 | 삼성전자주식회사 | 객체를 식별하는 방법 및 디바이스 |
CN109086709B (zh) * | 2018-07-27 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 特征提取模型训练方法、装置及存储介质 |
US10963757B2 (en) * | 2018-12-14 | 2021-03-30 | Industrial Technology Research Institute | Neural network model fusion method and electronic device using the same |
CN110110115B (zh) * | 2019-03-28 | 2023-05-23 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 人机交互筛选识别机载目标图像的方法 |
KR102211762B1 (ko) * | 2019-04-02 | 2021-02-04 | 네이버웹툰 유한회사 | 딥러닝 기반 컬러링 방법, 시스템 및 프로그램 |
CN111860476A (zh) * | 2019-04-30 | 2020-10-30 | 百度时代网络技术(北京)有限公司 | 用于识别图像的方法和系统 |
CN111967290B (zh) * | 2019-05-20 | 2024-06-14 | 浙江菜鸟供应链管理有限公司 | 物体识别方法、装置及车辆 |
CN113284052A (zh) * | 2020-02-19 | 2021-08-20 | 阿里巴巴集团控股有限公司 | 图像处理方法及设备 |
CN111738325B (zh) * | 2020-06-16 | 2024-05-17 | 北京百度网讯科技有限公司 | 图像识别方法、装置、设备以及存储介质 |
CN111985497B (zh) * | 2020-07-21 | 2023-09-26 | 国网山东省电力公司电力科学研究院 | 架空输电线路下吊车作业识别方法及系统 |
KR102282520B1 (ko) * | 2020-08-28 | 2021-07-27 | 머지리티 주식회사 | 이미지 종속 컨텐츠 통합 방법 |
CN112241713B (zh) * | 2020-10-22 | 2023-12-29 | 江苏美克医学技术有限公司 | 基于模式识别和深度学习的阴道微生物识别方法及装置 |
CN112001373B (zh) * | 2020-10-28 | 2021-01-22 | 北京妙医佳健康科技集团有限公司 | 一种物品识别方法、装置及存储介质 |
CN112613508A (zh) * | 2020-12-24 | 2021-04-06 | 深圳市杉川机器人有限公司 | 一种物体识别方法、装置及设备 |
CN112861751B (zh) * | 2021-02-22 | 2024-01-12 | 中国中元国际工程有限公司 | 一种机场行李房人员管理方法及装置 |
CN113033313A (zh) * | 2021-02-26 | 2021-06-25 | 澜途集思生态科技集团有限公司 | 基于深度学习的水质污染判断方法 |
CN113656589B (zh) * | 2021-04-19 | 2023-07-04 | 腾讯科技(深圳)有限公司 | 对象属性确定方法、装置、计算机设备及存储介质 |
CN113792168A (zh) * | 2021-08-11 | 2021-12-14 | 同盾科技有限公司 | 人脸底库自维护的方法、系统、电子装置和存储介质 |
CN117561537A (zh) * | 2021-10-07 | 2024-02-13 | 三星电子株式会社 | 显示设备及其操作方法 |
CN116597364B (zh) * | 2023-03-29 | 2024-03-29 | 阿里巴巴(中国)有限公司 | 图像处理方法及装置 |
JP7352249B1 (ja) * | 2023-05-10 | 2023-09-28 | 株式会社Fronteo | 情報処理装置、情報処理システム及び情報処理方法 |
CN117376535B (zh) * | 2023-12-08 | 2024-03-08 | 西安肖邦电子科技有限公司 | 智慧校园安防管控方法及系统 |
CN118675019A (zh) * | 2024-08-23 | 2024-09-20 | 浙江大华技术股份有限公司 | 训练样本确定方法、网络模型训练方法、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160086047A1 (en) * | 2014-09-24 | 2016-03-24 | Northeastern University | Apparatus and method for extracting feature of image including object |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732025B2 (en) * | 2005-05-09 | 2014-05-20 | Google Inc. | System and method for enabling image recognition and searching of remote content on display |
US8340435B2 (en) * | 2009-06-11 | 2012-12-25 | California Institute Of Technology | Method and system for object recognition search |
WO2013115203A1 (ja) * | 2012-01-30 | 2013-08-08 | 日本電気株式会社 | 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム、通信端末およびその制御方法と制御プログラム |
KR20150132699A (ko) | 2014-05-15 | 2015-11-26 | 신종균 | IoT에 기반하여 사물의 운영 주체가 사물에 종속되지 않고 사물의 정보를 이용하는 방법 및 장치 |
US10417525B2 (en) | 2014-09-22 | 2019-09-17 | Samsung Electronics Co., Ltd. | Object recognition with reduced neural network weight precision |
US9928410B2 (en) | 2014-11-24 | 2018-03-27 | Samsung Electronics Co., Ltd. | Method and apparatus for recognizing object, and method and apparatus for training recognizer |
KR20160061856A (ko) | 2014-11-24 | 2016-06-01 | 삼성전자주식회사 | 객체 인식 방법 및 장치, 및 인식기 학습 방법 및 장치 |
KR102486699B1 (ko) | 2014-12-15 | 2023-01-11 | 삼성전자주식회사 | 영상 인식 방법, 영상 검증 방법, 장치, 및 영상 인식 및 검증에 대한 학습 방법 및 장치 |
US9495619B2 (en) * | 2014-12-30 | 2016-11-15 | Facebook, Inc. | Systems and methods for image object recognition based on location information and object categories |
CN105469087B (zh) * | 2015-07-13 | 2017-04-19 | 百度在线网络技术(北京)有限公司 | 识别服饰图片的方法、服饰图片的标注方法及装置 |
KR102147361B1 (ko) * | 2015-09-18 | 2020-08-24 | 삼성전자주식회사 | 객체 인식 장치 및 방법, 객체 인식 모델 학습 장치 및 방법 |
KR102400017B1 (ko) * | 2017-05-17 | 2022-05-19 | 삼성전자주식회사 | 객체를 식별하는 방법 및 디바이스 |
-
2017
- 2017-05-17 KR KR1020170060961A patent/KR102400017B1/ko active IP Right Grant
-
2018
- 2018-05-08 US US16/613,627 patent/US11176402B2/en active Active
- 2018-05-08 EP EP18801300.7A patent/EP3598342B1/en active Active
- 2018-05-08 WO PCT/KR2018/005257 patent/WO2018212494A1/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160086047A1 (en) * | 2014-09-24 | 2016-03-24 | Northeastern University | Apparatus and method for extracting feature of image including object |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200027889A (ko) * | 2018-09-05 | 2020-03-13 | 주식회사 스트라드비젼 | CNN(Convolutional Neural Network)을 사용하여 차선을 검출하기 위한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 |
KR102006411B1 (ko) * | 2018-09-07 | 2019-08-05 | 대한민국 | 언어재활을 위한 이미지 콘텐츠 제작 방법 |
KR20200067682A (ko) * | 2018-12-04 | 2020-06-12 | 이노뎁 주식회사 | 상용분류기 외부 연동 학습형 신경망을 이용한 압축영상에 대한 신택스 기반의 객체 분류 방법 |
KR20200075094A (ko) * | 2018-12-10 | 2020-06-26 | 울산과학기술원 | 객체 분류기 생성 장치 및 방법 |
KR20210115045A (ko) * | 2019-03-01 | 2021-09-24 | 코너트 일렉트로닉스 리미티드 | 차량의 표면 상의 물체를 검출하는 방법 및 시스템 |
KR102099561B1 (ko) * | 2019-04-25 | 2020-04-09 | 김진성 | 기계학습 기반 고도화된 매칭 알고리즘을 포함한 섬유제품 검색 서비스 제공 시스템 |
US11275866B2 (en) | 2019-07-17 | 2022-03-15 | Pusan National University Industry-University Cooperation Foundation | Image processing method and image processing system for deep learning |
WO2021085784A1 (ko) * | 2019-10-31 | 2021-05-06 | 재단법인대구경북과학기술원 | 객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치 |
WO2021091022A1 (ko) * | 2019-11-08 | 2021-05-14 | 주식회사 알체라 | 머신 러닝 시스템 및 머신 러닝 시스템의 동작 방법 |
KR102343036B1 (ko) * | 2021-02-10 | 2021-12-24 | 주식회사 인피닉 | 작업 가이드를 제공할 수 있는 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
KR102310587B1 (ko) * | 2021-02-10 | 2021-10-13 | 주식회사 인피닉 | 연속된 이미지들에 대한 스켈레톤 데이터 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
KR102310588B1 (ko) * | 2021-02-10 | 2021-10-13 | 주식회사 인피닉 | 인공지능 학습을 위한 스켈레톤 데이터 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
WO2023277663A1 (ko) * | 2021-07-01 | 2023-01-05 | 주식회사 딥엑스 | 인공신경망을 이용한 영상 처리 방법 및 신경 프로세싱 유닛 |
KR102422962B1 (ko) * | 2021-07-26 | 2022-07-20 | 주식회사 크라우드웍스 | 다중 인공지능 모델의 연속 처리 구조에 기반한 이미지 자동 분류 및 처리 방법, 그리고 이를 실행시키기 위해 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램 |
WO2023008884A1 (ko) * | 2021-07-26 | 2023-02-02 | 주식회사 크라우드웍스 | 다중 인공지능 모델의 연속 처리 구조에 기반한 이미지 자동 분류 및 처리 방법, 그리고 이를 실행시키기 위해 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램 |
KR20230029343A (ko) * | 2021-08-24 | 2023-03-03 | 서울대학교산학협력단 | 반도체 레이아웃의 패턴 윤곽 정보를 검출하는 장치 및 방법 |
WO2023048357A1 (ko) * | 2021-09-23 | 2023-03-30 | 광주과학기술원 | 실환경 물체 인식 방법 및 장치 |
WO2023058859A1 (ko) * | 2021-10-07 | 2023-04-13 | 삼성전자 주식회사 | 디스플레이 장치 및 그 동작방법 |
KR102415616B1 (ko) * | 2021-10-18 | 2022-07-01 | 라이트하우스(주) | 예술품의 이미지 표준화 기반 교육 및 거래 서비스 제공 방법, 장치 및 시스템 |
WO2024035000A1 (ko) * | 2022-08-09 | 2024-02-15 | 한양대학교 산학협력단 | 설명 가능한 3d 형상 학습을 위한 컨볼루션 신경망 구조, 및 이를 이용한 3d 형상 학습을 위한 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
EP3598342A1 (en) | 2020-01-22 |
US11176402B2 (en) | 2021-11-16 |
US20200193207A1 (en) | 2020-06-18 |
EP3598342B1 (en) | 2024-03-27 |
KR102400017B1 (ko) | 2022-05-19 |
EP3598342A4 (en) | 2020-05-06 |
WO2018212494A1 (ko) | 2018-11-22 |
EP3598342C0 (en) | 2024-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180126220A (ko) | 객체를 식별하는 방법 및 디바이스 | |
US11640518B2 (en) | Method and apparatus for training a neural network using modality signals of different domains | |
KR20190028235A (ko) | 클래스 인식을 위한 뉴럴 네트워크 학습 방법 및 디바이스 | |
CN108460389B (zh) | 一种识别图像中对象的类型预测方法、装置及电子设备 | |
CN107851191B (zh) | 用于图像中的对象检测的基于上下文的先验 | |
CN112434721A (zh) | 一种基于小样本学习的图像分类方法、系统、存储介质及终端 | |
CN105765609B (zh) | 使用有向无环图的存储器促进 | |
KR102211650B1 (ko) | 인공지능 기반 상품 추천 방법 및 그 시스템 | |
KR102607208B1 (ko) | 뉴럴 네트워크 학습 방법 및 디바이스 | |
US20160224903A1 (en) | Hyper-parameter selection for deep convolutional networks | |
KR20190034021A (ko) | 객체를 인식하는 방법 및 장치 | |
KR20200074940A (ko) | 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치 | |
KR20190056940A (ko) | 멀티모달 데이터 학습 방법 및 장치 | |
KR20180080098A (ko) | 전자 장치 및 그 동작 방법 | |
KR20190028242A (ko) | 뉴럴 네트워크 학습 방법 및 장치 | |
CN115223020B (zh) | 图像处理方法、装置、设备、存储介质及计算机程序产品 | |
KR20190029083A (ko) | 신경망 학습 방법 및 이를 적용한 장치 | |
US20210055113A1 (en) | Electronic apparatus and method for implementing simultaneous localization and mapping (slam) | |
CN113065634B (zh) | 一种图像处理方法、神经网络的训练方法以及相关设备 | |
CN112749737A (zh) | 图像分类方法及装置、电子设备、存储介质 | |
CN113569607A (zh) | 动作识别方法、装置、设备以及存储介质 | |
CN114972774A (zh) | 特定区域的图像描述生成方法、装置、设备及存储介质 | |
KR20220079428A (ko) | 비디오에서 객체를 검출하는 방법 및 장치 | |
KR101867586B1 (ko) | 영상 처리 장치 및 방법 | |
CN117011569A (zh) | 一种图像处理方法和相关装置 |
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 |