KR20190029083A - 신경망 학습 방법 및 이를 적용한 장치 - Google Patents

신경망 학습 방법 및 이를 적용한 장치 Download PDF

Info

Publication number
KR20190029083A
KR20190029083A KR1020170116178A KR20170116178A KR20190029083A KR 20190029083 A KR20190029083 A KR 20190029083A KR 1020170116178 A KR1020170116178 A KR 1020170116178A KR 20170116178 A KR20170116178 A KR 20170116178A KR 20190029083 A KR20190029083 A KR 20190029083A
Authority
KR
South Korea
Prior art keywords
neural network
template
actual
feature vector
learning
Prior art date
Application number
KR1020170116178A
Other languages
English (en)
Other versions
KR102548732B1 (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 KR1020170116178A priority Critical patent/KR102548732B1/ko
Publication of KR20190029083A publication Critical patent/KR20190029083A/ko
Application granted granted Critical
Publication of KR102548732B1 publication Critical patent/KR102548732B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 특히, 복수의 클래스로 분류된 복수의 템플릿 이미지와 복수의 실제 이미지를 신경망(neural networks)에 입력하고, 복수의 클래스를 바탕으로 복수의 템플릿 이미지에 대응되는 템플릿 특징 벡터와 복수의 실제 이미지에 대응되는 실제 특징 벡터가 산출되도록 신경망을 학습할 수 있다.

Description

신경망 학습 방법 및 이를 적용한 장치{Apparatus and Method for learning a neural network}
본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.
특히, 본 개시는 템플릿 이미지 및 실제 이미지를 이용하여 실제 이미지를 인식하여 분류하는 신경망을 학습하는 방법에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
한편, 종래에는 이미지를 검색하기 위한 신경망(neural network)을 학습하기 위하여, 도 1에 도시된 바와 같이, 촬영된 실제 이미지(10)를 학습 데이터로 신경망(20)에 입력하여 신경망(20)을 학습하였다.
이때, 신경망(20)의 인식-분류 알고리즘의 성능을 높이기 위해서는 분류하고자 하는 클래스(혹은 유형)마다 학습 데이터 양이 많아야 한다. 그러나, 일반적으로 촬영된 실제 이미지(10)에 대한 데이터량에는 한계가 있는 문제점이 존재한다.
뿐만 아니라, 특정 클래스의 학습 데이터 샘플이 많고, 특정 클래스의 학습 데이터 샘플이 부족할 경우, 신경망(20)의 인식-분류 알고리즘의 성능이 저하될 수 있다. 즉, 종래에는 특정 클래스의 학습 데이터의 샘플이 많다고 하더라도 다른 클래스의 학습 데이터 샘플이 특정 수만큼 수집하지 못하는 경우, 신경망(20)의 인식-분류 알고리즘의 성능을 보정하지 못하는 문제점이 발생한다.
본 개시는 상술한 문제점을 해결하기 위한 것으로서, 본 개시의 목적은 템플릿 이미지 및 실제 이미지를 이용하여 신경망(20)을 학습하는 신경망 학습 방법 및 이를 적용한 장치를 제공함에 있다.
본 개시의 일 실시예에 따른, 신경망 학습 방법은 복수의 클래스로 분류된 복수의 템플릿 이미지와 복수의 실제 이미지를 신경망(neural networks)에 입력하는 단계; 및 상기 복수의 클래스를 바탕으로 상기 복수의 템플릿 이미지에 대응되는 템플릿 특징 벡터와 상기 복수의 실제 이미지에 대응되는 실제 특징 벡터가 산출되도록 상기 신경망을 학습하는 단계;를 포함한다.
그리고, 상기 입력하는 단계는, 상기 복수의 템플릿 이미지를 템플릿 도메인에 대응되는 제1 신경망에 입력하고, 상기 복수의 실제 이미지를 리얼 도메인에 대응되는 제2 신경망에 입력할 수 있다.
또한, 상기 템플릿 특징 벡터는 상기 제1 신경망에 상기 복수의 템플릿 이미지를 입력하여 획득된 특징 벡터이며, 상기 실제 특징 벡터는 상기 제2 신경망에 상기 복수의 실제 이미지를 획득하여 획득된 특징 벡터일 수 있다.
그리고, 상기 템플릿 특징 벡터와 상기 실제 특징 벡터는 임베디드된 특징 공간(feature space)에 투사(projection)될 수 있다.
또한, 상기 학습하는 단계는, 상기 복수의 템플릿 특징 벡터가 상기 임베디드된 특징 공간 내에서 서로 멀리 떨어지도록 상기 제1 신경망을 학습할 수 있다.
그리고, 상기 학습하는 단계는, 상기 복수의 실제 특징 벡터가 상기 임베디드된 특징 공간 내에 같은 클래스를 가지는 템플릿 특징 벡터와 가까워지도록 상기 제2 신경망을 학습할 수 있다.
또한, 상기 학습하는 단계는, 상기 복수의 실제 특징 벡터가 상기 임베디드된 특징 공간 내에 다른 클래스를 가지는 템플릿 특징 벡터와 멀어지도록 상기 제2 신경망을 학습할 수 있다.
그리고, 실제 이미지를 획득하는 단계; 상기 학습된 신경망에 상기 획득된 실제 이미지를 입력하여 상기 획득된 실제 이미지에 대응되는 특징 벡터를 산출하는 단계; 및 상기 산출된 특징 벡터를 분류하여 상기 획득된 실제 이미지의 클래스를 인식하는 단계;를 포함할 수 있다.
한편, 본 개시의 일 실시예에 따른, 신경망 학습을 위한 장치는, 적어도 하나의 메모리; 및 상기 적어도 하나의 메모리와 연결되어 상기 장치를 제어하는 프로세서;를 더 포함하고, 상기 프로세서는, 복수의 클래스로 분류된 복수의 템플릿 이미지와 복수의 실제 이미지를 신경망(neural networks)에 입력하고, 상기 복수의 클래스를 바탕으로 상기 복수의 템플릿 이미지에 대응되는 템플릿 특징 벡터와 상기 복수의 실제 이미지에 대응되는 실제 특징 벡터가 산출되도록 상기 신경망을 학습할 수 있다.
그리고, 상기 프로세서는, 상기 복수의 템플릿 이미지를 템플릿 도메인에 대응되는 제1 신경망에 입력하고, 상기 복수의 실제 이미지를 리얼 도메인에 대응되는 제2 신경망에 입력할 수 있다.
또한, 상기 템플릿 특징 벡터는 상기 제1 신경망에 상기 복수의 템플릿 이미지를 입력하여 획득된 특징 벡터이며, 상기 실제 특징 벡터는 상기 제2 신경망에 상기 복수의 실제 이미지를 획득하여 획득된 특징 벡터일 수 있다.
그리고, 상기 템플릿 특징 벡터와 상기 실제 특징 벡터는 임베디드된 특징 공간(feature space)에 투사(projection)될 수 있다.
또한, 상기 프로세서는, 상기 복수의 템플릿 특징 벡터가 상기 임베디드된 특징 공간 내에서 서로 멀리 떨어지도록 상기 제1 신경망을 학습할 수 있다.
그리고, 상기 프로세서는, 상기 복수의 실제 특징 벡터가 상기 임베디드된 특징 공간 내에 같은 클래스를 가지는 템플릿 특징 벡터와 가까워지도록 상기 제2 신경망을 학습할 수 있다.
또한, 상기 프로세서는, 상기 복수의 실제 특징 벡터가 상기 임베디드된 특징 공간 내에 다른 클래스를 가지는 템플릿 특징 벡터와 멀어지도록 상기 제2 신경망을 학습할 수 있다.
그리고, 상기 프로세서는, 실제 이미지가 획득되면, 상기 학습된 신경망에 상기 획득된 실제 이미지를 입력하여 상기 획득된 실제 이미지에 대응되는 특징 벡터를 산출하고, 상기 산출된 특징 벡터를 분류하여 상기 획득된 실제 이미지의 클래스를 인식할 수 있다.
상술한 바와 같은 다양한 실시예에 의해, 특정 클래스에서 학습 데이터의 양이 적더라도 더욱 좋은 성능의 인식-분류 알고리즘을 가지는 학습된 신경망을 획득할 수 있게 된다.
또한, 상술한 바와 같은 학습된 신경망을 이용하여 더욱 정확하게 실제 이미지를 인식하고 분류할 수 있게 된다.
도 1은 종래의 신경망을 학습하는 방법을 설명하기 위한 도면,
도 2는 본 개시의 일 실시예에 따른, 템플릿 이미지 및 실제 이미지를 이용하여 신경망을 학습하는 방법을 설명하기 위한 도면,
도 3은 본 개시의 일 실시예에 따른, 전자 장치의 구성을 나타내는 블럭도
도 4는 본 개시의 일 실시예에 따른, 전자 장치의 프로세서의 구성을 나타내는 블럭도,
도 5는 본 개시의 일 실시예에 따른, 학습부의 구성을 나타내는 블럭도,
도 6은 본 개시의 일 실시예에 따른, 인식부의 구성을 나타내는 블럭도,
도 7은 본 개시의 일 실시예에 따른, 템플릿 이미지와 실제 이미지를 이용하여 신경망을 학습하기 위한 쿼드러플 구조를 설명하기 위한 도면,
도 8은 본 개시의 일 실시예에 따른, 임베디드된 특징 공간 내에서 특징값 매핑을 설명하기 위한 도면,
도 9는 본 개시의 일 실시예에 따른, 신경망 학습 방법을 설명하기 위한 흐름도,
도 10은 본 개시의 일 실시예에 따른, 다양한 실시예에 따른, 학습부 및 인식부를 나타내는 블럭도,
도 11은 본 개시의 다른 실시예에 따른, 인식 모델을 이용하여 이미지를 인식하기 위한 전자 장치의 구성을 나타내느 블럭도이다.
이하, 본 개시의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
이하에서는 도면을 참조하여 본 개시에 대해 상세히 설명하기로 한다. 도 2는 본 개시의 일 실시예에 따른, 템플릿 이미지 및 실제 이미지를 이용하여 신경망을 학습하는 방법을 설명하기 위한 도면이다. 특히, 본 개시의 일 실시
우선, 전자 장치(100)는 표지판 이미지를 분류하고 인식하기 위한 인식 알고리즘을 가지는 신경망을 학습할 수 있다. 이때, 여러 클래스(혹은 유형)의 표지판 이미지 중 일부 클래스(seen class)는 도로에서 쉽게 촬영될 수 있으나, 일부 클래스(unseen class)는 도로에서 쉽게 촬영할 수 없어 학습 데이터를 구하는데 한계가 존재한다.
따라서, 본 개시의 일 실시예에 따른, 전자 장치(100)는 표지판 이미지를 분류하고 인식하기 위한 인식 알고리즘을 가지는 신경망을 학습하기 위해 복수의 클래스로 분류된 템플릿 이미지(templet image) 및 복수의 클래스에 대응되는 실제 이미지를 신경망에 입력할 수 있다. 이때, 템플릿 이미지는 표지판을 만들기 위해 이용되는 공식 이미지(officail image)로서, 인터넷을 통해 획득된 그림 이미지일 수 있다. 또한, 실제 이미지는 실제 도메인(real adomain)에 포함된 이미지로서, 여러 사용자에 의해 촬영된 이미지일 수 있다.
특히, 전자 장치(100)는 템플릿 이미지를 기준으로 실제 이미지를 분류하도록 신경망을 학습할 수 있다. 구체적으로, 전자 장치(100)는 복수의 클래스로 분류된 템플릿 이미지를 제1 신경망에 입력하여 템플릿 특징 벡터를 산출할 수 있다. 그리고, 전자 장치(100)는 복수의 클래스에 대응되는 실제 이미지를 제2 신경망에 입력하여 템플릿 특징 벡터를 산출할 수 있다. 이때, 제1 신경망 및 제2 신경망을 서로 다를 수 있으나, 이는 일 실시예에 불과할 뿐, 서로 같은 신경망일 수도 있다.
또한, 전자 장치(100)는 복수의 템플릿 이미지 각각에 대응되는 템플릿 특징 벡터와 복수의 실제 이미지 각각에 대응되는 실제 특징 벡터를 임베디드된 특징 공간(embedded feature space)에 매핑할 수 있다. 이때, 임베디드된 특징 공간은 특징 벡터들이 투사(projection)될 수 있는 N차원의 특징 공간일 수 있다.
그리고, 전자 장치(100)는 복수의 클래스를 바탕으로 복수의 템플릿 이미지에 대응되는 템플릿 특징 벡터와 복수의 실제 이미지에 대응되는 실제 특징 벡터가 산출되도록 제1 신경망 및 제2 신경망을 학습할 수 있다.
구체적으로, 전자 장치(100)는 복수의 클래스를 가지는 템플릿 이미지 각각에 대응되는 템플릿 특징 벡터가 임베디드된 특징 공간 내에서 서로 멀리 떨어지도록 제1 신경망을 학습할 수 있다. 또한, 전자 장치(100)는 실제 이미지에 대응되는 실제 특징 벡터가 대응되는 클래스를 가지는 템플릿 이미지의 템플릿 특징 벡터와 가까워지도록 제2 신경망을 학습할 수 있다. 또한, 전자 장치(100)는 실제 이미지들이 다른 클래스를 가지는 템플릿 이미지의 특징 벡터와 멀어지도록 제2 신경망을 학습할 수 있다.
즉, 전자 장치(100)는 복수의 클래스 템플릿 이미지에 대응되는 템플릿 특징 벡터가 기준점(혹은, anchor ponit)가 되고, 기준점을 기준으로 대응되는 클래스의 실제 특징 벡터가 위치하도록 제1 신경망 및 제2 신경망을 학습할 수 있다.
그리고, 전자 장치(100)는 학습된 제2 신경망을 이용하여 표지판 이미지를 인식할 수 있다. 구체적으로, 입력 데이터로서 촬영된 실제 이미지가 제2 신경망에 입력된 경우, 전자 장치(100)는 촬영된 실제 이미지에 대응되는 특징 벡터를 산출할 수 있다. 그리고, 전자 장치(100)는 분류기를 이용하여 특징 벡터의 클래스를 분류함으로써, 촬영된 실제 이미지의 클래스를 인식할 수 있게 된다.
상술한 바와 같이, 전자 장치(100)가 클래스별로 특징 공간에 특징 벡터들이 위치하도록 신경망을 학습함으로써, 특정 클래스(예를 들어, unseen class)에서 적은 량의 학습 데이터를 가지더라도 더욱 정확한 인식 결과를 획득할 수 있도록 신경망을 학습할 수 있다.
도 3은 본 개시의 일 실시예에 따른, 전자 장치의 구성을 나타내는 블럭도이다. 도 3에 도시된 바와 같이, 전자 장치(100)는 프로세서(110) 및 메모리(120)를 포함할 수 있다. 이때, 전자 장치(100)는 신경망을 학습할 수 있는 컴퓨팅 장치로서, 서버, 데스크탑 PC, 노트북 PC, 태블릿 PC 등과 같은 다양한 전자 장치로 구현될 수 있다.
프로세서(110)는 메모리(120)에 저장된 프로그램을 이용하여 신경망을 학습할 수 있다. 특히, 프로세서(110)는 표지판 이미지를 클래스별로 분류하고 인식하기 위한 신경망을 학습할 수 있다. 이때, 이미지를 인식하기 위한 신경망은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 이때, 신경망은 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 신경망 모델의 예에는 DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 등이 있을 수 있으나 이에 한정되지 않는다.
구체적으로, 프로세서(110)는 복수의 클래스로 분류된 복수의 템플릿 이미지와 복수의 실제 이미지를 신경망에 입력하고, 복수의 클래스를 바탕으로 상기 복수의 템플릿 이미지에 대응되는 템플릿 특징 벡터와 복수의 실제 이미지에 대응되는 실제 특징 벡터가 산출되도록 신경망을 학습할 수 있다. 이
구체적으로, 프로세서(110)는 복수의 템플릿 이미지를 템플릿 도메인에 대응되는 제1 신경망에 입력하여 템플릿 특징 벡터를 획득할 수 있으며, 복수의 실제 이미지를 리얼 도메인에 대응되는 제2 신경망에 입력하여 실제 특징 벡터를 획득할 수 있다. 이때, 템플릿 특징 벡터와 실제 특징 벡터는 임베디드된 특징 공간(feature space)에 투사(projection)될 수 있다.
그리고, 프로세서(110)는 복수의 템플릿 특징 벡터가 임베디드된 특징 공간 내에서 서로 멀리 떨어지도록 제1 신경망을 학습할 수 있다. 또한, 프로세서(110)는 복수의 실제 특징 벡터가 임베디드된 특징 공간 내에 같은 클래스를 가지는 템플릿 특징 벡터와 가까워지도록 제2 신경망을 학습할 수 있다. 또한, 프로세서(110)는 복수의 실제 특징 벡터가 임베디드된 특징 공간 내에 다른 클래스를 가지는 템플릿 특징 벡터와 멀어지도록 제2 신경망을 학습할 수 있다.
그리고, 실제 이미지가 획득되면, 프로세서(110)는 학습된 신경망(특히, 제2 신경망)에 획득된 실제 이미지를 입력하여 획득된 실제 이미지에 대응되는 특징 벡터를 산출하고, 산출된 특징 벡터를 분류하여 획득된 실제 이미지의 클래스를 인식할 수 있다. 이때, 프로세서(110)는 산출된 특징 벡터를 분류하기 위하여, support vector machine (SVM)를 이용할 수 있으나, 이는 일 실시예에 불과할 뿐, multi layer perceptron (MLP)와 같은 다른 분류기를 이용할 수 있다.
한편, 상술한 바와 같은 기능을 수행하는 프로세서는 기존의 범용 프로세서(예를 들어, CPU)일 수 있으나, 이는 일 실시예 불과할 뿐, 인공지능 학습을 위한 AI 전용 프로세서(예를 들어, GPU)일 수 있다.
메모리(120)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(120)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(120)는 프로세서(110)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(120), 프로세서(110) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
또한, 메모리(120)에 본 개시의 일 실시예에 따른, 이미지 분류/인식을 위하여 학습 알고리즘을 통해 생성된 신경망 모델을 저장할 수도 있다.
도 4는 본 개시의 일 실시예에 따른, 전자 장치의 프로세서의 구성을 나타내는 블럭도이다. 도 4에 도시된 바와 같이, 프로세서(110)는 데이터 학습부(111) 및 데이터 인식부(112)를 포함한다.
데이터 학습부(111)는 이미지 분류/인식을 위한 신경망을 학습할 수 있다. 데이터 학습부(111)는 이미지 분류/인식을 판단하기 위하여 어떤 학습 데이터를 이용할지, 학습 데이터를 이용하여 이미지를 어떻게 분류/인식할지에 관한 기준을 학습할 수 있다. 데이터 학습부(111)는 학습에 이용될 학습 데이터를 획득하고, 획득된 학습 데이터를 후술할 이미지 인식/분류를 위한 신경망 모델에 적용함으로써, 신경망 모델을 학습할 수 있다. 특히, 본 개시의 일 실시예에 따른, 데이터 학습부(111)는 템플릿 이미지 및 실제 이미지를 기반으로 신경망 모델을 학습할 수 있다.
데이터 인식부(112)는 실제로 촬영된 실제 이미지를 이용하여 이미지(혹은 이미지에 포함된 오브젝트)를 분류하고 인식할 수 있다. 데이터 인식부(112)는 학습된 신경망 모델을 이용하여, 소정의 실제 이미지로부터 실제 이미지의 클래스를 분류하고 인식할 수 있다. 데이터 인식부(112)는 학습에 의한 기설정된 기준에 따라 소정의 실제 이미지를 획득하고, 획득된 실제 이미지를 입력 값으로 하여 신경망 모델을 이용함으로써, 실제 이미지의 클래스를 분류하고 인식할 수 있다. 또한, 획득된 실제 이미지를 입력 값으로 하여 신경망 모델에 의해 출력된 결과값은, 신경망 모델을 갱신하는데 이용될 수 있다.
데이터 학습부(111) 및 데이터 인식부(112) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치(100)에 탑재될 수 있다. 예를 들어, 데이터 학습부(111) 및 데이터 인식부(112) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(111) 및 데이터 인식부(112)는 하나의 전자 장치(100)에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(111) 및 데이터 인식부(112) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(111) 및 데이터 인식부(112)는 유선 또는 무선으로 통하여, 데이터 학습부(111)가 구축한 신경망 모델 정보를 데이터 인식부(112)로 제공할 수도 있고, 데이터 인식부(112)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(111)로 제공될 수도 있다.
한편, 데이터 학습부(111) 및 데이터 인식부(112) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(111) 및 데이터 인식부(112) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 5 및 도 6은 본 개시의 일 실시예에 따른, 데이터 학습부(111) 및 데이터 인식부(112)의 구성을 나타내는 블럭도이다.
도 5를 참조하면, 일부 실시예에 따른 데이터 학습부(111)는 학습 데이터 획득부(111-1) 및 모델 학습부(111-4)를 포함할 수 있다. 또한, 데이터 학습부(111)는 학습 데이터 전처리부(111-2), 학습 데이터 선택부(111-3) 및 모델 평가부(111-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(111-1)는 이미지의 클래스를 분류하고 인식하기 위한 신경망 모델에 필요한 학습 데이터를 획득할 수 있다. 특히, 본 개시의 학습 데이터 획득부(111-1)는 학습 데이터로서, 제1 신경망 모델에 입력하기 위한 템플릿 이미지와 제2 신경망 모델에 입력하기 위한 실제 이미지를 획득할 수 있다.
모델 학습부(111-4)는 학습 데이터를 이용하여, 신경망 모델이 소정의 이미지의 클래스를 어떻게 분류할지에 관한 판단 기준을 갖도록 학습시킬 수 있다. 구체적으로, 모델 학습부(111-4)는 템플릿 이미지를 신경망 모델에 입력하여 획득한 템플릿 특징 벡터를 특징 공간의 기준점으로 설정하고, 실제 이미지를 신경망 모델에 입력하여 획득한 실제 특징 벡터가 클래스별로 특징 공간에 위치하도록 신경망 모델을 학습할 수 있다. 이때, 모델 학습부(111-4)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 또는, 모델 학습부(111-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 또한, 모델 학습부(111-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 또한, 모델 학습부(111-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 신경망 모델을 학습시킬 수 있다
신경망 모델이 학습되면, 모델 학습부(111-4)는 학습된 신경망 모델을 저장할 수 있다. 이 경우, 모델 학습부(111-4)는 학습된 신경망 모델을 전자 장치(100)의 메모리(120)에 저장할 수 있다. 또는, 모델 학습부(111-4)는 학습된 신경망 모델을 전자 장치(100)와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
데이터 학습부(111)는 인식 모델의 분석 결과를 향상시키거나, 인식 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(111-2) 및 학습 데이터 선택부(111-3)를 더 포함할 수도 있다.
학습 데이터 전처리부(111-2)는 상황 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 학습 데이터 전처리부(111-2)는 모델 학습부(111-4)가 이미지 인식을 위한 학습을 위하여 획득된 학습 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(111-3)는 학습 데이터 획득부(111-1)에서 획득된 학습 데이터 또는 학습 데이터 전처리부(111-2)에서 전처리된 학습 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(111-4)에 제공될 수 있다. 학습 데이터 선택부(111-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 예를 들어, 학습 데이터 선택부(111-3)는 획득된 실제 이미지 중 표지판이 표시된 영역을 검출하여 표지판 영역에 대한 데이터만을 학습 데이터로 선택할 수 있다.
데이터 학습부(111)는 신경망 모델의 분석 결과를 향상시키기 위하여, 모델 평가부(111-5)를 더 포함할 수도 있다.
모델 평가부(111-5)는 신경망 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 분석 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(111-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인식 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(111-5)는 평가 데이터에 대한 학습된 인식 모델의 분석 결과 중에서, 분석 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
도 6을 참조하면, 일부 실시예에 따른 데이터 인식부(112)는 인식 데이터 획득부(112-1) 및 인식 결과 제공부(112-4)를 포함할 수 있다.
또한, 데이터 인식부(112)는 인식 데이터 전처리부(112-2), 인식 데이터 선택부(112-3) 및 모델 갱신부(112-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
인식 데이터 획득부(112-1)는 이미지의 클래스를 분류하여 이미지를 인식하기 위해 필요한 데이터를 획득할 수 있다. 예를 들어, 인식 데이터 획득부(112-1)는 차량 내에 포함된 카메라를 이용하여 촬영된 이미지 데이터를 획득할 수 있다.
인식 결과 제공부(112-4)는 인식 데이터 획득부(112-1)에서 획득된 이미지를 입력값으로 학습된 신경망 모델에 적용하여 특징 벡터를 획득하고, 획득된 특징 벡터를 바탕으로 이미지의 클래스를 판단하고 이미지를 인식할 수 있다. 인식 결과 제공부(112-4)는 후술할 인식 데이터 전처리부(112-2) 또는 인식 데이터 선택부(112-3)에 의해 선택된 데이터를 입력 값으로 신경망 모델에 적용하여 분석 결과를 획득할 수 있다. 분석 결과는 신경망 모델에 의해 결정될 수 있다.
일 실시예로, 인식 결과 제공부(112-4)는 인식 데이터 획득부(112-1)에서 획득한 표지판을 포함하는 이미지 데이터를 학습된 신경망 모델 적용하여 표지판의 클래스에 대한 정보를 획득(또는, 추정)할 수 있다.
데이터 인식부(112)는 신경망 모델의 분석 결과를 향상시키거나, 분석 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 인식 데이터 전처리부(112-2) 및 인식 데이터 선택부(112-3)를 더 포함할 수도 있다.
인식 데이터 전처리부(112-2)는 이미지에 포함된 표지판의 클래스를 분류하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 인식 데이터 전처리부(112-2)는 인식 결과 제공부(112-4)가 이미지에 포함된 표지판의 클래스를 분류하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다.
인식 데이터 선택부(112-3)는 인식 데이터 획득부(112-1)에서 획득된 데이터 또는 인식 데이터 전처리부(112-2)에서 전처리된 데이터 중에서 이미지의 클래스를 분류하기 위해 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(112-4)에게 제공될 수 있다. 예를 들어, 인식 데이터 선택부(112-3)는 촬영된 이미지로부터 표지판 영역을 검출하고, 검출된 표지판 영역에 대한 데이터를 입력 데이터로 선택할 수 있다.
모델 갱신부(112-5)는 인식 결과 제공부(112-4)에 의해 제공되는 분석 결과에 대한 평가에 기초하여, 인식 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(112-5)는 인식 결과 제공부(112-4)에 의해 제공되는 분석 결과를 모델 학습부(112-4)에게 제공함으로써, 모델 학습부(112-4)가 인식 모델을 추가 학습 또는 갱신하도록 요청할 수 있다.
도 7 및 도 8은 본 개시의 일 실시예에 따른, 템플릿 이미지와 실제 이미지를 이용하여 신경망을 학습하기 위한 쿼드러플 구조를 설명하기 위한 도면이다.
우선, 템플릿 이미지와 실제 이미지를 이용하여 신경망을 학습하기 위하여, 전자 장치(100)는 쿼드러플 구조의 신경망 모델을 이용할 수 있다. 이때, 제1 신경망 모델 및 제2 신경망 모델은 템플릿 도메인의 이미지를 입력받는 신경망 모델이며, 제3 신경망 모델 및 제4 신경망 모델은 리얼 도메인의 이미지를 입력받는 신경망 모델일 수 있다. 구체적으로, 제1 신경망 모델은 제1 클래스의 템플릿 이미지를 입력받기 위한 신경망 모델이며, 제2 신경망 모델은 제2 클래스의 템플릿 이미지를 입력받기 위한 신경망 모델이며, 제3 신경망 모델은 제1 클래스의 실제 이미지를 입력받기 위한 신경망 모델이며, 제4 신경망 모델은 제2 클래스의 실제 이미지를 입력받기 위한 신경망 모델일 수 있다.
여기서, 템플릿 이미지의 특징과 실제 이미지의 특징 사이에 차이가 존재하므로, 제1 신경망 모델 및 제2 신경망 모델은 같은 신경망 모델일 수 있으며, 제3 신경망 모델 및 제4 신경망 모델은 같은 신경망 모델일 수 있다. 즉, 템플릿 이미지는 노이즈가 거의 없는 그림 이미지로서, 간단한 신경망 모델을 이용할 수 있으나, 실제 이미지는 많은 노이즈로 인해 더욱 복잡한 신경망 모델을 이용할 수 있다. 그러나, 템플릿 도메인의 신경망 모델과 리얼 도메인의 신경망 모델이 서로 상이한 것은 일 실시예에 불과할 뿐, 4개의 신경망 모델이 모두 같은 신경망 모델일 수 있다.
한편, 쿼드러플 구조는 두 개의 이미지 데이터 세트를 고려할 수 있다. 템플릿 세트는
Figure pat00001
일 수 있으며, 이때,
Figure pat00002
는 대표적인 템플릿 이미지일 수 있고,
Figure pat00003
는 대응되는 클래스 라벨일 수 있다. 실제 이미지 데이터 세트는
Figure pat00004
일 수 있으며,
Figure pat00005
는 k 클래스의 실제 이미지 세트일 수 있다. 간단히 말해, 여기서,
Figure pat00006
는 클래스-k에 라벨링된 샘플을 말할 수 있다.
또한,
Figure pat00007
가 유클리디안 엠베딩(Euclidean embedding)을 의미할 수 있다. 즉,
Figure pat00008
는 고차원 벡터 x를 D-차원의 특징 공간(
Figure pat00009
)에 매핑하는 것을 의미한다.
본 개시는 템플릿 이미지를 통해 획득된 특징 벡터는 특징 공간(feacher space)에서 기준점(또는 anchor point) 역할을 하고, 기준점 주위에 실제 이미지를 통해 획득된 특징 벡터들을 클러스터링하기 위해 템플릿 이미지를 통해 획득된 특징 벡터와 실제 이미지를 통해 획득된 특징 벡터를 같은 특징 공간에 임베디드할 수 있다.
이때, 임베디드된 특징 공간 내에서는 아래와 같은 두 가지 특징을 가질 수 있다.
1) 다른 클래스의 템플릿 이미지를 통해 획득된 특징값이 기준점 역할을 하기 위하여 임베디드된 특징 공간 내에서는 멀리 떨어져 있다.
2) 실제 이미지를 통해 획득된 특징값은 대응되는 클래스를 가지는 템플릿 이미지를 통해 획득된 특징값 주변에 매핑될 수 있다.
본 개시의 일 실시예로, 서로 다른 클래스를 가지는 두 개의 템플릿 이미지와 두 개의 템플릿 이미지 각각의 클래스에 대응되는 두 개의 실제 이미지를 포함하는 쿼드러플 엘리먼트(quadruple element)가 정의될 수 있다. 예를 들어, 두 개의 클래스가 각각 A,B라고 할 때, 쿼드러플 엘리먼트는 (TA,TB,XA,XB)로 정의될 수 있다.
이러한 쿼드러플 엘리먼트를 통해 획득된 특징 벡터들은 아래와 같은 속성을 가지고 있다.
1) 임베디드된 특징 공간에서 TA를 통해 획득된 특징 벡터는 TB를 통해 획득된 특징 벡터와 멀리 떨어져 있다.
2) 임베디드된 특징 공간에서 XA를 통해 획득된 특징 벡터는 XB를 통해 획득된 특징 벡터와 멀리 떨어져 있다.
3) 임베디드된 특징 공간에서 XA(또는 XB)를 통해 획득된 특징 벡터는 TA(또는 TB)를 통해 획득된 특징 벡터와 가까이 있다.
4) 임베디드된 특징 공간에서 TA(또는 TB)를 통해 획득된 특징 벡터는 XB(또는 XA)를 통해 획득된 특징 벡터와 멀리 떨어져 있다.
쿼드러플 구조는 템플릿 이미지에 의해 획득된 특징 벡터와 실제 이미지에 의해 획득된 특징 벡터를 공통의 메트릭 공간(
Figure pat00010
)에 임베딩하도록 학습할 수 있다. 비선형적 매핑을 위하여, 임베딩(f)는 신경망으로서 모델링되고, 가중치 파라미터의 세트는
Figure pat00011
를 의미할 수 있다. 여기서, 두 개의 서로 다른 도메인 데이터(템플릿 도메인, 실제 도메인)가 다루어지기 때문에, 두 개의 신경망이 이용될 수 있다. 이때, 템플릿 도메인을 위한 신경망은
Figure pat00012
로 표현될 수 있고, 실제 도메인을 위한 신경망은
Figure pat00013
로 표현될 수 있다. 즉, 도 7에 도시된 바와 같이, 제1 신경망 모델은
Figure pat00014
로 표현될 수 있으며, 제2 신경망 모델은
Figure pat00015
로 표현될 수 있으며, 제3 신경망 모델은
Figure pat00016
로 표현될 수 있으며, 제4 신경망 모델은
Figure pat00017
로 표현될 수 있다.
제안된 쿼드러플 네트워크 Q는 각 쌍 내에서 가중치를 공유하는 두 개의 쌍둥이 네트워크로 구성될 수 있다. 하나는 템플릿 이미지로부터 특징 벡터를 획득하기 위한 신경망이며, 다른 하나는 실제 이미지로부터 특징 벡터를 획득하기 위한 신경망일 수 있다.
각각의 도메인에 4개의 이미지가 입력되면, 아래와 같은 특징 벡터들의 세트가 산출될 수 있다.
Figure pat00018
산출된 네 개의 특징 벡터(
Figure pat00019
)는 각각 임베디드된 특징 공간 내에 매핑될 수 있다.
그리고, 전자 장치(100)는 상술한 신경망을 학흡하기 위해 손실 함수(loss function)을 이용할 수 있다.
네 개의 특징 벡터(
Figure pat00020
)가 출력된 경우, 네 개의 특징 벡터들 사이에는 도 8에 도시된 바와 같이, 6개의 관계가 존재할 수 있으며, 6 개의 관계에 대응되는 유클리디안 특징 거리(Euclidean feature distance) (
Figure pat00021
)를 산출할 수 있다. 이때,
Figure pat00022
로서, 두 벡터 사이의 거리를 의미할 수 있다.
그리고, 전자 장치(100)는 앞서 설명한 바와 같이, 같은 라벨의 특징 벡터들(즉, 같은 클래스의 특징 벡터들)이 서로 가까워지도록 손실 함수 (
Figure pat00023
)를 적용할 수 있고, 다른 라벨의 특징벡터들이 서로 멀어지도록 손실 함수
Figure pat00024
를 적용할 수 있다. 손실 함수 h는 hinge loss를 적용하고 m은 hinge loss에 적용되는 margin 크기를 의미한다.
이때, 전자 장치(100)는 최대 6개의 손실 함수를 이용할 수 있으나, 최소로 필요한 손실 함수는 3개일 수 있다. 이때, 최종 손실 함수는 아래와 같을 수 있다.
Figure pat00025
전자 장치(100)는 상술한 손실 함수를 이용하여 앞서 설명한 바와 같이, 신경망 모델을 학습할 수 있다.
상술한 바와 같은 학습 과정을 통해, 전자 장치(100)는 실제 이미지(혹은 실제 이미지에 포함된 오브젝트)의 클래스를 분류하기 위한 신경망 모델(특히, 제3 및 제4 신경망 모델)을 획득할 수 있다.
그리고, 전자 장치(100)는 학습된 신경망 모델에 입력 데이터로서 촬영된 이미지를 입력하여 특징 벡터를 획득할 수 있다. 그리고, 전자 장치(100)는 분류기를 이용하여 획득된 특징 벡터의 클래스를 분류하여 촬영된 이미지의 클래스를 분류할 수 있게 된다.
도 9는 본 개시의 일 실시예에 따른, 신경망 학습 방법을 설명하기 위한 흐름도이다.
전자 장치(100)는 복수의 클래스로 분류된 복수의 템플릿 이미지와 복수의 실제 이미지를 신경망에 입력할 수 있다(S910). 이때, 전자 장치(100)는 복수의 템플릿 이미지를 템플릿 도메인에 대응되는 제1 신경망에 입력할 수 있으며, 복수의 실제 이미지를 리얼 도메인에 대응되는 제2 신경망에 입력할 수 있다.
전자 장치(100)는 복수의 클래스를 바탕으로 복수의 템플릿 이미지에 대응되는 템플릿 특징 벡터와 복수의 실제 이미지에 대응되는 실제 특징 벡터가 산출되도록 신경망을 학습할 수 있다(S920). 구체적으로, 전자 장치(100)는 제1 신경망에 의해 획득된 텝플릿 특징 벡터와 제2 신경망에 의해 획득된 실제 특징 벡터를 임베디드된 특징 공간(feature space)에 투사(projection)할 수 있다. 그리고, 전자 장치(100)는 복수의 템플릿 특징 벡터가 임베디드된 특징 공간 내에서 서로 멀리 떨어지도록 제1 신경망을 학습할 수 있으며, 복수의 실제 특징 벡터가 임베디드된 특징 공간 내에 같은 클래스를 가지는 템플릿 특징 벡터와 가까워지도록 제2 신경망을 학습할 수 있으며, 복수의 실제 특징 벡터가 임베디드된 특징 공간 내에 다른 클래스를 가지는 템플릿 특징 벡터와 멀어지도록 제2 신경망을 학습할 수 있다.
그리고, 전자 장치(100)는 학습된 신경망을 이용하여 실제 이미지를 분류하고 인식할 수 있다.
도 10은 일부 실시예에 따른 전자 장치(100) 및 서버(1100)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 10을 참조하면, 전자 장치(100)는 이미지의 클래스를 분류하여 이미지를 인식하도록 신경망을 학습할 수 있으며, 외부 장치(1000)는 전자 장치(100)에 의해 학습된 신경망 모델에 기초하여 획득된 이미지를 인식할 수 있다. 이때, 전자 장치(100)는 서버일 수 있으며, 외부 장치(1000)는 차량에 부착된 컴퓨팅 장치일 수 있으나, 이에 한정되는 것은 아니다.
이 경우, 전자 장치(100)는 도 5에 도시된 데이터 학습부(111)의 기능을 수행할 수 있다. 전자 장치(100)의 모델 학습부(111-4)는 이미지를 인식하기 위하여 어떤 데이터를 이용할지, 데이터를 이용하여 이미지를 어떻게 인식할지에 관한 기준을 학습할 수 있다. 모델 학습부(111-4)는 학습에 이용될 학습 데이터를 획득하고, 획득된 학습 데이터를 신경망 모델에 적용함으로써, 이미지 인식을 위한 기준을 학습할 수 있다.
또한, 외부 장치(1000)의 인식 결과 제공부(1014)는 인식 데이터 선택부(1013)에 의해 선택된 이미지 데이터를 전자 장치(100)에 의해 생성된 신경망 모델에 적용하여 이미지를 인식할 수 있다. 예를 들어, 인식 결과 제공부(1014)는 인식 데이터 선택부(1013)에 의해 선택된 이미지 데이터를 전자 장치(100)에게 전송하고, 전자 장치(100)가 인식 데이터 선택부(1013)에 의해 선택된 이미지 데이터를 신경망 모델에 적용하여 이미지를 인식할 수 있다. 또한, 인식 결과 제공부(1914)는 전자 장치(100)에 의해 생성된 이미지 인식 결과를 전자 장치(100)로부터 수신할 수 있다. 또는, 외부 장치(1000)의 요약 결과 제공부(1014)는 전자 장치(100)에 의해 생성된 신경망 모델을 전자 장치(100)로부터 수신하고, 수신된 신경망 모델을 이용하여 이미지를 인식할 수 있다. 이 경우, 외부 장치(1000)의 요약 결과 제공부(1014)는 인식 데이터 선택부(1013)에 의해 선택된 이미지 데이터를 전자 장치(100)로부터 수신된 신경망 모델에 적용하여 이미지를 인식할 수 있다.
본 개시의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 개시에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
110: 프로세서 120: 메모리

Claims (16)

  1. 신경망 학습 방법에 있어서,
    복수의 클래스로 분류된 복수의 템플릿 이미지와 복수의 실제 이미지를 신경망(neural networks)에 입력하는 단계;
    상기 복수의 클래스를 바탕으로 상기 복수의 템플릿 이미지에 대응되는 템플릿 특징 벡터와 상기 복수의 실제 이미지에 대응되는 실제 특징 벡터가 산출되도록 상기 신경망을 학습하는 단계;를 포함하는 신경망 학습 방법.
  2. 제1항에 있어서,
    상기 입력하는 단계는,
    상기 복수의 템플릿 이미지를 템플릿 도메인에 대응되는 제1 신경망에 입력하고,
    상기 복수의 실제 이미지를 리얼 도메인에 대응되는 제2 신경망에 입력하는 것을 특징으로 하는 신경망 학습 방법.
  3. 제2항에 있어서,
    상기 템플릿 특징 벡터는 상기 제1 신경망에 상기 복수의 템플릿 이미지를 입력하여 획득된 특징 벡터이며,
    상기 실제 특징 벡터는 상기 제2 신경망에 상기 복수의 실제 이미지를 획득하여 획득된 특징 벡터인 것을 특징으로 하는 신경망 학습 방법.
  4. 제3항에 있어서,
    상기 템플릿 특징 벡터와 상기 실제 특징 벡터는 임베디드된 특징 공간(feature space)에 투사(projection)되는 것을 특징으로 하는 신경망 학습 방법.
  5. 제4항에 있어서,
    상기 학습하는 단계는,
    상기 복수의 템플릿 특징 벡터가 상기 임베디드된 특징 공간 내에서 서로 멀리 떨어지도록 상기 제1 신경망을 학습하는 것을 특징으로 하는 신경망 학습 방법.
  6. 제4항에 있어서,
    상기 학습하는 단계는,
    상기 복수의 실제 특징 벡터가 상기 임베디드된 특징 공간 내에 같은 클래스를 가지는 템플릿 특징 벡터와 가까워지도록 상기 제2 신경망을 학습하는 것을 특징으로 하는 신경망 학습 방법.
  7. 제4항에 있어서,
    상기 학습하는 단계는,
    상기 복수의 실제 특징 벡터가 상기 임베디드된 특징 공간 내에 다른 클래스를 가지는 템플릿 특징 벡터와 멀어지도록 상기 제2 신경망을 학습하는 것을 특징으로 하는 신경망 학습 방법.
  8. 제1항에 있어서,
    실제 이미지를 획득하는 단계;
    상기 학습된 신경망에 상기 획득된 실제 이미지를 입력하여 상기 획득된 실제 이미지에 대응되는 특징 벡터를 산출하는 단계; 및
    상기 산출된 특징 벡터를 분류하여 상기 획득된 실제 이미지의 클래스를 인식하는 단계;를 포함하는 신경망 학습 방법.
  9. 신경망 학습을 위한 장치에 있어서,
    적어도 하나의 메모리; 및
    상기 적어도 하나의 메모리와 연결되어 상기 장치를 제어하는 프로세서;를 더 포함하고,
    상기 프로세서는,
    복수의 클래스로 분류된 복수의 템플릿 이미지와 복수의 실제 이미지를 신경망(neural networks)에 입력하고,
    상기 복수의 클래스를 바탕으로 상기 복수의 템플릿 이미지에 대응되는 템플릿 특징 벡터와 상기 복수의 실제 이미지에 대응되는 실제 특징 벡터가 산출되도록 상기 신경망을 학습하는 것을 특징으로 하는 장치.
  10. 제9에 있어서,
    상기 프로세서는,
    상기 복수의 템플릿 이미지를 템플릿 도메인에 대응되는 제1 신경망에 입력하고,
    상기 복수의 실제 이미지를 리얼 도메인에 대응되는 제2 신경망에 입력하는 것을 특징으로 하는 장치.
  11. 제10항에 있어서,
    상기 템플릿 특징 벡터는 상기 제1 신경망에 상기 복수의 템플릿 이미지를 입력하여 획득된 특징 벡터이며,
    상기 실제 특징 벡터는 상기 제2 신경망에 상기 복수의 실제 이미지를 획득하여 획득된 특징 벡터인 것을 특징으로 하는 장치.
  12. 제11항에 있어서,
    상기 템플릿 특징 벡터와 상기 실제 특징 벡터는 임베디드된 특징 공간(feature space)에 투사(projection)되는 것을 특징으로 하는 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 복수의 템플릿 특징 벡터가 상기 임베디드된 특징 공간 내에서 서로 멀리 떨어지도록 상기 제1 신경망을 학습하는 것을 특징으로 하는 장치.
  14. 제12항에 있어서,
    상기 프로세서는,
    상기 복수의 실제 특징 벡터가 상기 임베디드된 특징 공간 내에 같은 클래스를 가지는 템플릿 특징 벡터와 가까워지도록 상기 제2 신경망을 학습하는 것을 특징으로 하는 장치.
  15. 제12항에 있어서,
    상기 프로세서는,
    상기 복수의 실제 특징 벡터가 상기 임베디드된 특징 공간 내에 다른 클래스를 가지는 템플릿 특징 벡터와 멀어지도록 상기 제2 신경망을 학습하는 것을 특징으로 하는 장치.
  16. 제9항에 있어서,
    상기 프로세서는,
    실제 이미지가 획득되면, 상기 학습된 신경망에 상기 획득된 실제 이미지를 입력하여 상기 획득된 실제 이미지에 대응되는 특징 벡터를 산출하고,
    상기 산출된 특징 벡터를 분류하여 상기 획득된 실제 이미지의 클래스를 인식하는 것을 특징으로 하는 장치.
KR1020170116178A 2017-09-11 2017-09-11 신경망 학습 방법 및 이를 적용한 장치 KR102548732B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170116178A KR102548732B1 (ko) 2017-09-11 2017-09-11 신경망 학습 방법 및 이를 적용한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170116178A KR102548732B1 (ko) 2017-09-11 2017-09-11 신경망 학습 방법 및 이를 적용한 장치

Publications (2)

Publication Number Publication Date
KR20190029083A true KR20190029083A (ko) 2019-03-20
KR102548732B1 KR102548732B1 (ko) 2023-06-29

Family

ID=66036443

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170116178A KR102548732B1 (ko) 2017-09-11 2017-09-11 신경망 학습 방법 및 이를 적용한 장치

Country Status (1)

Country Link
KR (1) KR102548732B1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102145374B1 (ko) * 2020-01-17 2020-08-18 성균관대학교산학협력단 시각화된 특징벡터와 결합된 인공 지능 신경망 장치 및 이의 데이터 분류 방법
WO2020204219A1 (ko) * 2019-04-01 2020-10-08 엘지전자 주식회사 인공지능을 이용한 사물 인식 학습에서 아웃라이어를 분류하는 방법 및 분류장치와 로봇
KR102240885B1 (ko) * 2019-11-12 2021-04-14 연세대학교 산학협력단 생성적 적대 신경망 학습 기반의 이미지 변환 방법 및 그를 위한 장치
KR102255833B1 (ko) * 2020-09-11 2021-05-26 주식회사 뉴로클 이상 탐지 방법 및 이를 위한 장치
KR20210062565A (ko) * 2019-11-21 2021-05-31 고려대학교 산학협력단 거리 학습을 이용한 사용자간 유사도 반영 특징 추출 기반의 사용자 독립적 뇌-컴퓨터 인터페이스 장치 및 이를 이용한 태스크 분류 방법
KR20210087687A (ko) * 2020-01-03 2021-07-13 주식회사 트립비토즈 인공지능 기반의 여행 상품 판매 보상 장치 및 방법
KR20220016402A (ko) * 2020-07-31 2022-02-09 동국대학교 산학협력단 복수의 배율에 따라 크기 변환된 영상으로 학습된 병렬 심층 신경망 장치 및 방법
KR20220038638A (ko) * 2021-02-02 2022-03-29 엘지이노텍 주식회사 이미지 센서, 카메라 모듈 및 카메라 모듈을 포함하는 광학 기기
WO2022097855A1 (ko) * 2020-11-06 2022-05-12 코가플렉스 주식회사 로봇의 파지를 위한 학습 방법 및 훈련 데이터 생성 방법
GB2617440A (en) * 2022-03-04 2023-10-11 Samsung Electronics Co Ltd Method for classifying images using novel classes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160096460A (ko) * 2015-02-05 2016-08-16 삼성전자주식회사 복수의 분류기를 포함하는 딥 러닝 기반 인식 시스템 및 그 제어 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160096460A (ko) * 2015-02-05 2016-08-16 삼성전자주식회사 복수의 분류기를 포함하는 딥 러닝 기반 인식 시스템 및 그 제어 방법

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11526705B2 (en) 2019-04-01 2022-12-13 Lg Electronics Inc. Method of classificating outlier in object recognition and device and robot of classifying thereof
WO2020204219A1 (ko) * 2019-04-01 2020-10-08 엘지전자 주식회사 인공지능을 이용한 사물 인식 학습에서 아웃라이어를 분류하는 방법 및 분류장치와 로봇
KR102240885B1 (ko) * 2019-11-12 2021-04-14 연세대학교 산학협력단 생성적 적대 신경망 학습 기반의 이미지 변환 방법 및 그를 위한 장치
KR20210062565A (ko) * 2019-11-21 2021-05-31 고려대학교 산학협력단 거리 학습을 이용한 사용자간 유사도 반영 특징 추출 기반의 사용자 독립적 뇌-컴퓨터 인터페이스 장치 및 이를 이용한 태스크 분류 방법
KR20210087687A (ko) * 2020-01-03 2021-07-13 주식회사 트립비토즈 인공지능 기반의 여행 상품 판매 보상 장치 및 방법
KR102145374B1 (ko) * 2020-01-17 2020-08-18 성균관대학교산학협력단 시각화된 특징벡터와 결합된 인공 지능 신경망 장치 및 이의 데이터 분류 방법
KR20220016402A (ko) * 2020-07-31 2022-02-09 동국대학교 산학협력단 복수의 배율에 따라 크기 변환된 영상으로 학습된 병렬 심층 신경망 장치 및 방법
KR102255833B1 (ko) * 2020-09-11 2021-05-26 주식회사 뉴로클 이상 탐지 방법 및 이를 위한 장치
WO2022055099A1 (ko) * 2020-09-11 2022-03-17 주식회사 뉴로클 이상 탐지 방법 및 이를 위한 장치
WO2022097855A1 (ko) * 2020-11-06 2022-05-12 코가플렉스 주식회사 로봇의 파지를 위한 학습 방법 및 훈련 데이터 생성 방법
KR20220038638A (ko) * 2021-02-02 2022-03-29 엘지이노텍 주식회사 이미지 센서, 카메라 모듈 및 카메라 모듈을 포함하는 광학 기기
GB2617440A (en) * 2022-03-04 2023-10-11 Samsung Electronics Co Ltd Method for classifying images using novel classes
GB2617440B (en) * 2022-03-04 2024-05-08 Samsung Electronics Co Ltd Method for classifying images using novel classes

Also Published As

Publication number Publication date
KR102548732B1 (ko) 2023-06-29

Similar Documents

Publication Publication Date Title
KR102548732B1 (ko) 신경망 학습 방법 및 이를 적용한 장치
CN111797893B (zh) 一种神经网络的训练方法、图像分类系统及相关设备
KR102532749B1 (ko) 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
Arietta et al. City forensics: Using visual elements to predict non-visual city attributes
JP2020091922A (ja) 畳み込みニューラルネットワークにおける構造学習
US9524461B1 (en) Conceptual computation system using a hierarchical network of modules
CN111507378A (zh) 训练图像处理模型的方法和装置
CN112131978B (zh) 一种视频分类方法、装置、电子设备和存储介质
CN112651511A (zh) 一种训练模型的方法、数据处理的方法以及装置
US11887215B2 (en) Image processing apparatus and method for style transformation
Jain et al. Deep neural learning techniques with long short-term memory for gesture recognition
CN111542841A (zh) 一种内容识别的系统和方法
CN113807399A (zh) 一种神经网络训练方法、检测方法以及装置
KR102293791B1 (ko) 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
CN113039555A (zh) 通过使用基于注意力的神经网络在视频剪辑中进行动作分类
CN112364912B (zh) 信息分类方法、装置、设备及存储介质
CN113449548A (zh) 更新物体识别模型的方法和装置
Arun Prasath et al. Prediction of sign language recognition based on multi layered CNN
CN113705293A (zh) 图像场景的识别方法、装置、设备及可读存储介质
CN113570512A (zh) 一种图像数据处理方法、计算机及可读存储介质
KR102463875B1 (ko) 빅데이터를 활용한 사용자 맞춤 심리 치료 콘텐츠 제공 방법, 장치 및 시스템
Singh et al. An enhanced YOLOv5 based on color harmony algorithm for object detection in unmanned aerial vehicle captured images
Gharaee Online recognition of unsegmented actions with hierarchical SOM architecture
KR20200092453A (ko) 키워드에 기초하여 이미지를 생성하는 이미지 생성 장치 및 이미지 생성 방법
Sas et al. Virtual environment trajectory analysis: a basis for navigational assistance and scene adaptivity

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