KR102554624B1 - 임베디드 기기에서의 딥러닝 기반 객체 인식 장치 및 임베디드 기기용 객체 인식 모델 학습 장치 - Google Patents

임베디드 기기에서의 딥러닝 기반 객체 인식 장치 및 임베디드 기기용 객체 인식 모델 학습 장치 Download PDF

Info

Publication number
KR102554624B1
KR102554624B1 KR1020200072486A KR20200072486A KR102554624B1 KR 102554624 B1 KR102554624 B1 KR 102554624B1 KR 1020200072486 A KR1020200072486 A KR 1020200072486A KR 20200072486 A KR20200072486 A KR 20200072486A KR 102554624 B1 KR102554624 B1 KR 102554624B1
Authority
KR
South Korea
Prior art keywords
neural network
class
learning
feature vector
feature extraction
Prior art date
Application number
KR1020200072486A
Other languages
English (en)
Other versions
KR20210155231A (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 KR1020200072486A priority Critical patent/KR102554624B1/ko
Publication of KR20210155231A publication Critical patent/KR20210155231A/ko
Application granted granted Critical
Publication of KR102554624B1 publication Critical patent/KR102554624B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

임베디드 기기에서의 딥러닝 기반 객체 인식 장치가 개시된다. 본 발명의 실시예에 따른 임베디드 기기에서의 딥러닝 기반 객체 인식 장치는, 입력 이미지에 대한 특징 벡터를 출력하는 특징 추출 신경망 및 특징 벡터로부터 입력 이미지의 클래스를 예측하는 분류부를 포함하되, 특징 추출 신경망은, 콘볼루션 신경망으로, 동일 클래스에 속하는 복수의 입력 이미지들에 대해 출력한 특징 벡터들이 특징 벡터 공간에서 근접되도록 딥러닝 기반으로 미리 척도 학습된 것이고, 분류부는, 특징 벡터 공간에서 특징 벡터와 근접한 소정 개수의 참조 샘플이 속하는 적어도 하나의 클래스 중에서, 클래스 각각에 속하는 근접한 참조 샘플의 개수가 최대인 클래스를 입력 이미지에 대한 클래스로 결정하되, 참조 샘플은, 클래스 별로 각각에 속하는 적어도 하나의 입력 이미지를 특징 벡터 추출 신경망에 입력시켜 미리 획득된 특징 벡터일 수 있다.

Description

임베디드 기기에서의 딥러닝 기반 객체 인식 장치 및 임베디드 기기용 객체 인식 모델 학습 장치{Apparatus for Recognizing Object based on Deep Learning In Embedded Device and Object Recognition Model Training Apparatus for Embedded Device}
기재된 실시예는 딥러닝 기반 객체 인식(object recognition) 기술에 관한 것이다.
딥러닝(Deep Learning)은 대용량 데이터 확보, 컴퓨팅 성능 향상, 및 딥러닝 신경망의 지속적인 개선으로 인해 다양한 분야 적용되어 상당히 성공적인 결과를 보이고 있다. 특히 비전(vision) 분야에서는 CNN(Convolutional Neural Network)을 기반으로 클래스 분류(classification), 검출(detection), 및 분할(segmentation) 문제에서 사람보다도 적은 오차를 보고하고 있다.
그런데, 딥러닝은 은닉층(hidden layer)이 깊어질수록 계산량이 증가하며, 입력 데이터 양이 많아질수록 연산 반복 회수가 증가하므로 그에 따라 고성능의 컴퓨팅과 대용량의 자원이 요구된다.
한편, 임베디드 기기는 컴퓨팅 성능과 자원이 한정적이다. 따라서 임베디드 기기에서 CNN을 처음부터 학습하는 것은 어렵고, 가능하다고 하여도 매우 많은 시간이 소요되므로 실용적이지 않다.
따라서, 일반적으로 딥러닝 학습은 컴퓨팅 성능이 우수한 서버나 클라우드 기반으로 수행하고 임베디드 기기에는 단지 학습된 모델을 배포(deploy)하여 추론(inference)하는 방식으로 적용하곤 한다.
그런데, 학습 완료된 딥러닝 신경망을 새로운 데이터로 점진적으로 학습할 수 없어, 새로운 데이터로 학습해야 할 경우 전체 데이터에 대해 재 학습을 수행해야 한다. 즉, 임베디드 기기에 단순히 배포한 CNN 학습 모델을 임베디드 기기에서 실질적으로 변경할 수는 없다. 예컨대, 서버에서 학습한 얼굴 인식기 모델을 임베디드 기기에 배포하였을 경우, 이미 서버에서 학습할 때 정한 클래스에 대해서만 추론이 가능하게 된다.
기재된 실시예는 컴퓨팅 자원이 한정적이고 서버 및 클라우드와의 통신이 보장되지 않는 임베디드 기기에서 적은 수의 데이터만으로 새로운 클래스를 인식할 수 있는 딥러닝 기술을 제공하는 데 그 목적이 있다.
실시예에 따른 임베디드 기기에서의 딥러닝 기반 객체 인식 장치는, 입력 이미지에 대한 특징 벡터를 출력하는 특징 추출 신경망 및 특징 벡터로부터 입력 이미지의 클래스를 예측하는 분류부를 포함하되, 특징 추출 신경망은, 콘볼루션 신경망으로, 동일 클래스에 속하는 복수의 입력 이미지들에 대해 출력한 특징 벡터들이 특징 벡터 공간에서 근접되도록 딥러닝 기반으로 미리 척도 학습된 것이고, 분류부는, 특징 벡터 공간에서 특징 벡터와 근접한 소정 개수의 참조 샘플이 속하는 적어도 하나의 클래스 중에서, 클래스 각각에 속하는 근접한 참조 샘플의 개수가 최대인 클래스를 입력 이미지에 대한 클래스로 결정하되, 참조 샘플은, 클래스 별로 각각에 속하는 적어도 하나의 입력 이미지를 특징 벡터 추출 신경망에 입력시켜 미리 획득된 특징 벡터일 수 있다.
실시예에 따라, 임베딩 신경망을 이용하여 추출한 특징 벡터로 원본 데이터를 치환하여 기록하고 불러와 사용한다. 이 특징 벡터 값은 해당 특징 추출 신경망에 대해서만 의미 있는 값이므로 원본 데이터를 저장하여 발생하는 개인정보에 대한 우려가 없다. 또한 컴퓨팅 성능 및 저장 공간이 한정적인 임베디드 기기에서 작은 용량과 빠른 로딩이 가능하여 딥러닝 추론 성능을 개선시킬 수 있다. 특히 k-NN과 같이 별도의 모델 학습이 필요하지 않은 분류기와 함께 사용할 경우 쉽게 새로운 클래스를 추가하여 사용자 서비스를 배포하기에 용이하다는 이점이 있다.
도 1은 비전 분야의 딥러닝 콘볼루션 신경망의 개략적인 구성도이다.
도 2는 일반적인 딥러닝 학습과 배포 프로세스를 도시한 도면이다.
도 3은 일반적인 딥러닝 학습 과정을 설명하기 위한 도면이다.
도 4는 전이 학습을 설명하기 위한 도면이다.
도 5는 실시예에 따른 임베디드 기기용 객체 인식 모델 학습 장치의 블록 구성도이다.
도 6은 실시예에 따른 임베딩(embedding) 신경망의 학습 구성도이다.
도 7은 척도 학습 진행 결과의 예시도이다.
도 8은 k-NN 분류 알고리즘을 설명하기 위한 예시도이다.
도 9는 실시예에 따른 임베디드 기기에서의 딥러닝 기반 객체 인식 장치의 개락적인 블록 구성도이다.
도 10a 내지 도 10c는 임베디드 기기에서의 클래스를 추가하는 과정을 설명하기 위한 순서도이다.
도 11은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하에서는, 도면을 참조하여 실시예에 따른 임베디드 기기에서의 딥러닝 기반 객체 인식 장치가 상세히 설명된다.
도 1은 비전 분야의 딥러닝 콘볼루션 신경망의 개략적인 구성도이고, 도 2는 일반적인 딥러닝 학습과 배포 프로세스를 도시한 도면이고, 도 3은 일반적인 딥러닝 학습 과정을 설명하기 위한 도면이고, 도 4은 전이 학습을 설명하기 위한 도면이다.
도 1을 참조하면, 비전 분야에서 객체 분류를 위한 콘볼루션 신경망(Convolution Neural Network, CNN)은, 크게 특징 추출 신경망 및 분류 신경망을 포함할 수 있다.
이때, 특징 추출 신경망은, 일반적으로 주로 콘볼루션 계층(Convolution Layer, Conv)가 주요 레이어를 중심으로 구성되어 있다.
이때, 분류 신경망은, 일반적으로 완전 연결 계층(Full Connected Layer, FC)과 마지막 클래스 예측을 위한 출력 레이어로 구성되어 있다.
여기서, FC는 모든 노드가 연결되어 있는 형태이므로, 추출한 특징의 개수와 분류하고자 하는 클래스의 개수에 정비례하여 학습할 가중치 값과 이를 계산하기 위한 컴퓨팅 용량이 늘어나게 된다.
이러한 CNN과 같은 딥러닝 신경망은, 입력과 출력을 제외한 신경망의 모든 영역이 마치 블랙 박스와 같아서, 컴퓨터가 학습을 통해 신경망의 적절한 가중치를 생성하게 된다. 이는 사람의 간섭을 최대한 줄이는 딥러닝의 사상에 가장 맞는 방식으로, 학습 데이터 셋이 잘 구성되고, 그 양이 충분할 경우 다양한 분야에 적용되어 우수한 성능을 보일 수 있다.
이러한 딥러닝 신경망을 학습시키기 위해서는 고성능 컴퓨팅이 요구되므로, 도 2에 도시된 바와 같이, 학습은 별도의 서버에서 수행되고, 서버가 학습을 통해 생성된 딥러닝 신경망의 가중치 및 바이어스를 포함하는 학습 모델을 임베디드 기기에 배포하게 된다. 그러면, 임베디드 기기는 배포된 학습 모델을 기반으로 응용 서비스에 상응하는 추론(inference)을 수행하게 된다.
이때, 도 3에 도시된 바와 같이, 종래에 딥러닝 학습 단계에서의 손실 계산은 분류 신경망의 출력값을 대상으로 수행된다. 즉, 분류 신경망의 출력값을 대상으로 손실 함수(Loss Function)를 계산하여, 손실(Loss)이 최소화되도록 딥러닝 신경망의 가중치 및 바이어스를 역전파 방식으로 갱신해나가면서 학습이 진행되는데, 이때, 특징 추출 신경망 및 분류 신경망 모두의 가중치 및 바이어스가 갱신된다.
즉, 서버에 의해 학습되어 임베디드 기기에 배포되는 학습 모델은 특징 추출 신경망 뿐만 아니라 분류 신경망의 가중치 및 바이어스가 모두 포함된다.
그런데, 이러한 방식은 분류 클래스들이 변경 또는 추가될 필요가 없을 경우, 가장 신속한 추론 성능을 보이는 장점이 있는 반면, 이미 설정된 클래스들이 변경/추가/삭제되어야 할 경우 재설정된 클래스로 분류될 수 있도록 신경망을 처음부터 재 학습해야 하는 단점이 있다.
물론, 클래스의 개수는 동일하고 클래스 대상만 변경할 경우, 처음부터 다시 학습하지 않고, 도 4에 도시된 바와 같은 전이 학습(transfer learning)이라는 기법이 활용될 수도 있다.
여기서, 전이 학습(transfer learning)은 비슷한 분야의 특징 추출이 잘 학습되어 있다는 가정하에, 특징 추출 신경망의 가중치는 변경하지 않고 분류기 부분의 신경망만 다시 학습하여 가중치를 변경하는 방법이다. 그런데, 만약 새로운 클래스를 추가하고자 하는 경우, 이러한 전이 학습은 용이하지 않다. 이 또한, 분류 신경망을 다시 구성하고 처음부터 다시 학습하여야 한다.
왜냐하면, 전이학습 또한 도 3에 도시된 바와 같이, 특징 추출 신경망과 분류 신경망을 모두 통과한 후의 종단간 손실 함수를 이용하여 학습한 것이므로, 신경망 구성을 변경하는 순간 기존 학습의 결과 중 특징 추출 부분이 변경된 신경망에서도 잘 학습된 것이라고 보장할 수 없게 되기 때문이다. 또한, 실제로 전이 학습은 클래스는 그대로 둔 채 자신만의 로컬 데이터 셋에 잘 맞게 분류기를 미세 조정(fine tuning)하는 용도로 주로 사용된다.
결론적으로, 도 2에 도시된 바와 같이, 학습 후 배포 단계에서의 사용성을 고려하면, 서버나 클라우드에서 학습한 모델을 응용 서비스가 요구하는 대로 활용하기 어려운 경우가 많다.
예컨대, 얼굴 인식(Face Recognition) 서비스의 경우, 미리 등록하여 학습 단계에서 훈련 데이터로 사용된 얼굴 영상 외에 등록되어 있지 않은 신규 사용자의 얼굴 영상을 추가 인식해야 할 경우가 발생될 수 있다.
그런데, 이러한 얼굴 인식 서비스가 도 2에 도시된 종래의 프로세스에 따라 컴퓨팅 성능과 자원이 한정적인 임베디드 기기에서 제공될 경우, 신규 사용자가 추가될 때마다, 신규 사용자의 얼굴 영상을 서버에 전송하여, 신규 사용자의 얼굴 영상을 추가한 훈련 데이터로 처음부터 재 학습된 결과로 생성된 학습 모델을 다시 배포받아야 한다는 문제점이 발생한다.
따라서, 본 발명은 컴퓨팅 성능이 한정적인 임베디드 기기에서 적은 수의 데이터만으로 새로운 클래스를 인식할 수 있는 임베디드 기기에서의 딥러닝 기반 객체 인식 장치 및 임베디드 기기용 객체 인식 모델 학습 장치를 제안한다.
도 5는 실시예에 따른 임베디드 기기용 객체 인식 모델 학습 장치의 개략적인 블록 구성도이다. 이러한 임베디드 기기용 객체 인식 모델 학습 장치는 고성능 컴퓨팅 서버에서 수행될 수 있다.
도 5를 참조하면, 임베디드 기기용 객체 인식 모델 학습 장치는 크게 입력단(100), 딥러닝부(200) 및 출력단(300)으로 구성될 수 있다.
입력 데이터 획득부(110)는, 훈련 데이터 또는 추론 대상 데이터로 사용될 원본 입력 데이터(raw input)를 획득할 수 있다.
전처리부(120)는, 원본 입력 데이터를 응용 서비스에 상응하는 적절한 훈련 데이터로 가공하는 전처리(pre-processing)를 수행한다.
이때, 추론 단계(inference phase)일 경우, 손실을 계산할 필요가 없으므로, 전처리부(120)는 가공한 데이터를 데이터 표본 추출부(130)가 아닌 특징 추출 신경망(210)에 바로 입력시킨다.
데이터 표본 추출부(130)는, 손실 계산부(230)에서 손실 함수(loss function)을 기반으로 하는 척도 학습을 수행할 수 있도록 데이터 셋 표본을 추출(Sampling)한다.
이때, 표본 추출부(130)는, 학습 단계(train phase)에서만 표본 추출을 통해 입력 데이터 셋을 생성하여 특징 추출 신경망(210)에 입력한다.
딥러닝부(200)는 특징 추출 신경망(210)와 분류부(240)를 각각 분리하여 구성하는 것을 특징으로 한다. 이로써, 특징 추출 신경망(210)로부터 출력된 특징 벡터를 임베딩하여 분류부(240)와 독립적으로 처리할 수 있다.
즉, 특징 벡터 임베딩부(220)는, 특징 추출 신경망(210)로부터 출력된 특징 벡터를 임베딩하여 손실 계산부(230)에 입력시키고, 손실 계산부(230)는 특징 벡터에 대한 손실 함수(Loss Function) 계산을 기반으로 특징 추출 신경망(210)을 학습시킨다. 이에 대한 상세한 설명은 도 6를 참조하여 후술하기로 한다.
이때, 실시예에 따라, 학습은 임베딩(220) 공간에서 유클리드 거리가 의미상 거리를 지닐 수 있도록 하는 척도 학습(metric learning)일 수 있다. 이를 통해, 특징 추출 신경망(210)이 동일 클래스에 속하는 입력 데이터들에 대해 출력하는 특징 벡터들이 특징 벡터 공간 상에서 그 거리가 근접될 수 있다, 예컨대, 동일인의 복수의 얼굴 이미지들이 특징 추출 신경망(210)에 입력되면, 특징 추출 신경망(210)이 출력하는 특징 벡터들은 특징 벡터 공간 상에서 모여서 분포될 수 있다. 이에 대한 상세한 설명은 도 7을 참조하여 후술하기로 한다.
특징 추출 신경망(210)에 대한 학습이 완료되면, 특징 추출 신경망(210)의 가중치 및 바이어스를 포함하는 학습 모델은 저장부(250)에 저장하여, 추후에 추론 단계에서 사용되도록 할 수 있다.
한편, 실시예에 따라 분류부(240)는, 최 근접 이웃(k-Nearest Neighbor, k-NN) 분류 알고리즘을 기반으로 설계될 수 있다. 이는 특징 추출 신경망(210)이 척도 학습되므로, 분류부(240)는 특징 추출 신경망(210)이 출력하는 특징 벡터와 학습 데이터 셋에 대한 특징 벡터들을 참조 샘플들로 하여 클래스를 분류하게 된다. 이에 대한 상세한 설명은 도 8을 참조하여 후술하기로 한다.
따라서, 특징 벡터 임베딩부(220)는, 특징 추출 신경망(210)에 대한 학습이 완료되면, 모든 학습 데이터 셋에 대해 특징 벡터를 추출하여 참조 샘플로 저장부(250)에 저장한다. 이때, 원본 이미지는 추론 단계에서는 사용되지 않으므로 저장되지 않는다.
한편, 딥러닝부(200)는, 특징 추출 신경망(210)의 학습 단계에서는 손실 값이 줄어드는 것과 함께 인식 정확도도 확인해야 한다. 이를 위해 학습 데이터와 서로 겹치지 않는 데이터로 검증 데이터 셋을 구성하여, 일정 주기마다 한 번씩 학습을 잠시 멈추고 추론을 수행한다.
이를 위해, 특징 벡터 임베딩부(220)는, 검증 데이터 셋에 대한 특징 벡터를 임베딩하여 손실 계산부(230)가 아닌 분류부(240)에 입력시킨다.
이때, 출력 결과 생성부(310)는, 학습 단계에서는 검증 데이터 셋을 입력으로 하는 분류부(240)의 출력 결과를 분석하여 분류 정확도를 출력할 수 있다.
또한, 출력 결과 생성부(310)는, 추론 단계에서는 분류부(240)의 출력 결과를 입력 데이터에 대한 클래스 예측 결과를 출력시킬 수 있다. 예컨대, 얼굴 영상에 상응하는 사용자를 인식한 결과를 출력시킬 수 있다.
한편, 저장부(250)에 저장된 특징 추출 신경망(210)의 학습 모델과 함께 참조 샘플인 특징 벡터 파일은 임베디드 기기에 배포되어, 임베디드 기기에서 응용 서비스를 수행할 수 있도록 한다. 이때, 임베디드 기기는 응용 서비스를 수행함에 있어, 특징 추출 신경망(210)을 별도로 학습시킬 필요없이, 자체적으로 신규 클래스 추가를 할 수 있다. 이에 대한 상세한 설명은 도 10a 내지 도 10c를 참조하여 후술하기로 한다.
그러면, 전술한 바와 같이 개괄적으로 설명한 각 구성들에 대해 도 6 내지 도 8을 참조하여 상세히 설명하기로 한다.
도 6은 실시예에 따른 임베딩(embedding) 신경망의 학습 구성도이다.
도 6을 참조하면, 실시예에 따른 손실 계산부(230)는 특징 추출 신경망(210)의 출력단에 연결되어, 특징 추출 신경망(210)에서 출력하는 특징 벡터에 대해 손실을 계산한 결과를 기반으로 특징 추출 신경망(210)의 가중치 및 바이어스를 포함하는 신경망 파라미터들을 갱신해나간다.
이때, 손실 계산부(230)는 분류하고자 하는 최종 클래스의 정답에 대한 손실을 계산한 것이 아니므로, 학습 결과를 확인하기 위해서는 별도의 분류부(240)가 필요하다.
한편, 일반적으로 임베딩(embedding)이란, 이산(離散; discrete)형 데이터를 연속 벡터로 나타내는 방법이다. 신경망에서의 임베딩은 특징 추출 신경망이 충분히 잘 학습되어 있다면 입력 데이터를 특징 벡터로 치환할 수 있다는 것을 의미한다. 이러한 임베딩 신경망은 특징 추출 신경망(210)과 분류부(240)를 독립적으로 구현할 수 있게 하므로, 특징 추출 신경망(210)의 학습 결과를 유지한 채 분류부(240)에서 클래스 개수를 증가시키는 데 훨씬 용이하다.
따라서, 임베딩 신경망의 필수 전제 조건은 특징 추출 신경망(210)이 정해진 응용 서비스를 위한 특징 추출 성능이 좋아야 한다는 것이다. 예컨대, 얼굴 인식의 경우, 얼굴을 분별해내기 위한 특징을 효과적으로 잘 추출하는 신경망 학습이 필요하다.
이를 위해, 실시 예에 따라, 특징 추출 신경망(210)은 전술한 바와 같이 척도 학습(metric learning)을 통해 학습될 수 있다.
이때, 척도 학습(metric learning)은, 클래스 분류를 위해 입력 데이터의 유사도(similarity)를 나타내는 척도(metric)를 학습하는 것이다.
이때, 척도(metric)는, 일반적으로 특징 벡터 공간에서의 유클리드 거리(Euclidean distance)일 수 있다.
예컨대, 특징 추출 신경망(210)이 얼굴 인식을 위해 최종적으로 256개의 벡터의 특징을 추출하는 신경망으로 구성될 경우, 하나의 얼굴 영상은 256차원 특징 벡터 공간에서의 한 점으로 표현할 수 있다. 따라서, 척도 학습에서는 동일한 클래스에 속하는 얼굴 영상들은 256차원 특징 벡터 공간에서 다른 클래스에 속하는 얼굴 영상보다 유클리드 거리가 작아지도록 학습되는 것이다.
이때, 동일한 클래스 사이의 관계(positive pair)와 서로 다른 클래스 사이의 관계(negative pair)가 있다고 할 때, 손실 계산부(230)에서 사용되는 척도 학습을 위한 손실 함수는 다양한 실시 예가 가능하다.
일 실시 예에 따라, 손실 함수가 쌍을 이루는 두 개의 입력 데이터들에 대해 동일 클래스 사이의 거리는 감소시키고, 다른 클래스 사이의 거리는 증가시키도록 설계될 수 있다. 이는 가장 직관적인 방식으로, 예컨대 다음의 <수학식 1>과 같이 표현될 수 있다.
Figure 112020061386897-pat00001
<수학식 1>에서
Figure 112020061386897-pat00002
는 입력 데이터
Figure 112020061386897-pat00003
가 특징 추출 신경망
Figure 112020061386897-pat00004
을 순전파한 결과를 나타내고,
Figure 112020061386897-pat00005
Figure 112020061386897-pat00006
사이의 유클리드 거리
Figure 112020061386897-pat00007
를 나타낸다.
이와 같이 2개씩 짝을 지어 학습하는 것을 이중항 손실(pairwise loss)을 이용한 척도 학습이라고 하며, 특징 벡터 공간에서의 절대적인 거리를 늘리거나 줄이는 방식으로 학습하게 된다. 그런데, 이러한 방식은 학습에 성공할 경우에는 클래스 사이의 구분이 가장 확실할 수 있으나, 학습 데이터 셋에 따라서 수렴이 용이하지 않을 수 있다.
다른 실시 예에 따라, 손실 함수가 특정 입력 데이터
Figure 112020061386897-pat00008
에 대해 동일한 클래스의 데이터
Figure 112020061386897-pat00009
와 상이한 클래스의 데이터
Figure 112020061386897-pat00010
을 이용하여 산출되는 삼중항 손실(triplet loss)을 산출하는 것으로 설계될 수 있다. 이는 전술한 이중항 손실(pairwise loss)을 이용한 척도 학습에 비해 유연한 학습이 가능하도록 할 수 있다. 이때, triplet loss
Figure 112020061386897-pat00011
은 다음의 <수학식 2>와 같이 산출될 수 있다.
Figure 112020061386897-pat00012
<수학식 2>에서,
Figure 112020061386897-pat00013
는 마진(margin)으로, triplet loss
Figure 112020061386897-pat00014
을 이용하면 결과적으로 동일한 클래스 사이의 거리가 다른 클래스 사이의 거리보다
Figure 112020061386897-pat00015
이상 가까워지도록 학습되며, 그 조건을 만족할 경우는 손실 값이 0으로 고정되므로 해당 triplet에 대해서는 가중치를 갱신하지 않게 된다.
그런데, 이러한 학습 방식은 상대적인 거리를 줄이도록 학습하는 것으로, 학습이 수렴되기는 용이하지만 동일한 클래스 사이의 특징 벡터가 특징 벡터 공간에서 충분히 근접되지 않을 가능성이 존재한다.
전술한 두 방식의 단점을 보완하기 위해, 또 다른 실시예에 따라, 손실 함수가 4개 데이터를 한 벌의 세트로 사용하는 사중항 손실(quadruplet loss)을 산출하는 것으로 설계될 수도 있다. 이는 이중항(pairwise)와 같이 동일한 클래스 사이의 관계(positive pair)와 서로 다른 클래스 사이의 관계(negative pair)에 해당하는 입력 특징 데이터를 고르되, 학습은 positive pair의 거리가 negative pair의 거리보다 작아지도록 수행된다. 이때, quadruplet loss
Figure 112020061386897-pat00016
은 다음의 <수학식 3>과 같이 산출될 수 있다.
Figure 112020061386897-pat00017
이와 같은 quadruplet loss
Figure 112020061386897-pat00018
을 사용한 척도 학습에서는 가능한 다량의 훈련 데이터를 이용하는 것이 바람직하다. 이는 특징 추출 신경망(210)이 해당 응용에 대한 특징을 충분히 잘 추출하여, 그 거리 척도가 의미상 거리(semantic distance)를 잘 반영해야 하기 때문이다.
도 7은 척도 학습 진행 결과의 예시도이다.
전술한 바와 같은 전제를 만족할 경우, 특징 추출 신경망(210)은 학습 초기에는 도 7의 (a)에 도시된 바와 같이 클래스 별로 분산 분포되는 특징 벡터들을 출력하지만, 척도 학습이 진행됨에 따라 순차적으로 도 7의 (b) 및 (c)에 도시된 바와 같이 클래스별로 특징 벡터 공간 상에 가까이 모이도록 분포되는 특징 벡터들을 출력할 수 있다.
한편, 임베딩 신경망에서의 분류부(240)는 도 2에 사용된 FC를 위주로 구성된 분류 신경망으로 설계될 수도 있으나, 이는 임베디드 기기에서 클래스 추가하는데 유연하지 않을 수 있다.
따라서, 전술한 바와 같이, 실시예에 따른 분류부(240)는 최 근접 이웃(k-Nearest Neighbor, k-NN) 분류 알고리즘을 기반으로 설계될 수 있다.
도 8은 k-NN 분류 알고리즘을 설명하기 위한 예시도이다.
도 8을 참조하면, k-NN 알고리즘에서는 입력 데이터에 대해 k개의 가장 가까운 참조 샘플들을 뽑아내어 다수결로 클래스를 판별한다. 즉, k가 3일 경우, 세 개의 참조 샘플들로 클래스를 판별하고, k가 9일 경우 9개의 참조 샘플들로 클래스를 판별하게 된다. 이러한 k-NN 알고리즘은 분류 알고리즘들 중에서 가장 직관적이고 단순하면서도 별도의 모델 학습이 필요없이 클래스 개수를 변화시킬 수 있다는 장점이 있다.
한편, 임베디드 기기용 객체 인식 모델 학습 장치는, 전술한 바와 같이 학습 데이터와 서로 겹치지 않는 데이터로 검증 데이터 셋을 구성하여, 일정 주기마다 한 번씩 학습을 잠시 멈추고 추론을 수행하는데, 이때, 현재까지 갱신된 가중치를 유지한 상태에서, 모든 학습 데이터를 특징 추출 신경망(210)에 통과시켜 그 결과를 k-NN의 참조 데이터로 입력시킨다.
그런 후, 각 검증 데이터에 대해 신경망을 통과시킨 후, k = 1로 설정한 k-NN 분류기에 넣으면 가장 가까운 참조 샘플 하나를 뽑게 된다. 전체 검증 데이터 셋에 대해 동일한 방식으로 분류하여 정답을 맞힌 개수를 계산하면 정확도가 산출될 수 있다. 이때, 검증 데이터의 정확도가 더 이상 개선되지 않을 때는 학습을 중단할 수 있다. 만약 정확도가 원하는 수치만큼 나오지 않는다면 특징 추출 신경망(210)의 신경망의 구조는 수정됨이 바람직할 수 있다.
한편, k-NN의 단점으로 지적되는 것 중 가장 큰 점은 많은 수의 참조 샘플을 저장하고 다녀야 한다는 점이다. 그런데, 임베디드 기기에서 참조 샘플을 계속 지니고 있는 것은 다음과 같은 문제점이 있다.
첫째, 데이터 저장 공간의 문제점이다. 의도적이든 아니든 서버 혹은 클라우드와의 연결이 보장되지 않을 경우에는 원본 데이터를 계속 저장하고 있어야 하고 이를 모두 불러들여 특징 추출 신경망(210)을 통과하며 계산하는 것은 효율적이지 않다.
둘째, 개인정보와 보안의 우려가 있다. 예컨대, 얼굴 인식기의 경우 개인의 얼굴이 계속 저장되거나 서버 혹은 클라우드에 업로드 되어야 한다. 이는 많은 사람들이 꺼려하는 일이기도 하다.
따라서, 실시예에 따라, 모든 참조 샘플과 새롭게 추가하는 클래스의 샘플들을 특징 추출을 거친 후의 특징 벡터로 치환하여 저장함으로써 k-NN의 문제점을 완화시킬 수 있다.
또한, 특징 벡터는 해당 특징 추출 신경망(210)을 구성하는 신경망에 대해서만 의미 있는 값이므로, 개인정보에 대한 우려가 없다. 또한 이미지에 비해 훨씬 적고 빠르게 불러오는 것이 가능하기 때문에 임베디드 기기에 적합하다.
다음으로, 실시예에 따른 임베디드 기기에서의 딥러닝 기반 객체 인식 장치 및 그 장치에서의 신규 클래스 추가 방법에 대해 살펴보기로 한다.
도 9는 임베디드 기기에서의 딥러닝 기반 객체 인식 장치의 블록 구성도이다.
도 9를 참조하면, 실시예에 따른 임베디드 기기에서의 딥러닝 기반 객체 인식 장치는, 특징 추출 신경망(210)과 분류부(240)를 포함할 수 있다.
특징 추출 신경망(210)은, 입력 이미지에 대한 특징 벡터를 출력한다.
이때, 특징 추출 신경망(210)은, 콘볼루션 신경망으로, 동일 클래스에 속하는 복수의 입력 이미지들에 대해 출력한 특징 벡터들이 특징 벡터 공간에서 근접되도록 딥러닝 기반으로 미리 척도 학습된 것일 수 있다.
즉, 특징 추출 신경망(210)은, 전술한 임베디드 기기용 객체 인식 모델 학습 장치에 의해 척도 학습되어 배포된 것일 수 있다.
분류부(240)는, 특징 벡터로부터 입력 이미지의 클래스를 예측한다.
이때, 분류부(240)는, 특징 벡터 공간에서 특징 벡터와 근접한 소정 개수의 참조 샘플이 속하는 적어도 하나의 클래스 중에서, 클래스 각각에 속하는 근접한 참조 샘플의 개수가 최대인 클래스를 입력 이미지에 대한 클래스로 결정할 수 있다.
이때, 참조 샘플은, 클래스 별로 각각에 속하는 적어도 하나의 입력 이미지를 특징 벡터 추출 신경망(210)에 입력시켜 미리 획득된 특징 벡터일 수 있다.
즉, 분류부(240)는, 척도 학습된 특징 추출 신경망(210)으로부터 출력되는 특징 벡터와 참조 샘플로 사용되는 특징 벡터들간의 인접도에 따라 클래스를 분류하는 최 근접 이웃 분류 알고리즘으로 설계된 것일 수 있다.
이러한 임베디드 기기에서의 딥러닝 기반 객체 인식 장치는, 소량의 데이터로도 신규 클래스를 추가할 수 있다. 이는 가중치를 변경하는 학습을 수행하는 것은 아니지만, 도 2에 도시된 바와 같은 종단간 신경망에서 FC로 구현되는 분류 신경망을 '학습'하는 것과 같은 동일한 효과를 얻을 수 있다.
도 10a 내지 도 10c는 임베디드 기기에서의 클래스를 추가하는 과정을 설명하기 위한 순서도이다.
도 10a를 참조하면, 임베디드 기기는 신규 이미지를 추가하기 전에 준비 과정인 신경망 초기화 단계(S901), 더미 이미지 추론 단계(S903), 참조 이미지 셋업 단계(S905)를 수행한다.
그런 후, 임베디드 기기는 도 10b에 도시된 바와 같이 인식 대상자가 신규 등록자인지의 여부를 확인한다.
도 10b를 참조하면, 임베디드 기기는 웹캠 사용 가능 여부(S907)에 따라, 웹캠으로 얼굴 이미지를 캡쳐(S909)하거나, 별도의 미리 촬영된 얼굴 이미지 파일을 획득(S913)한다. 이때, 얼굴 이미지는 테스트 이미지로 사용되는 것으로 1장만을 획득한다.
그런 후, 임베디드 기기는 획득된 얼굴 이미지를 테스트 이미지로 하여 추론을 수행한다(S911). 임베디드 기기는 추론 결과 인식 오류 여부(S915) 및 추론된 얼굴 이미지의 신규 등록 여부(S917)를 판단한다.
S915 및 S917의 판단 결과, 인식 오류 및 신규 등록일 경우, 임베디드 기기는 도 10c에 도시된 바와 같은 신규 등록자를 새로운 클래스로 추가하는 과정을 수행하게 된다.
도 10c를 참조하면, 임베디드 기기는 신규 등록자 이름을 기입(S919)한 후, 웹캠 사용 가능 여부(S921)에 따라, 웹캠으로 얼굴 이미지를 캡쳐(S923)하거나, 별도의 미리 촬영된 얼굴 이미지 파일을 획득(S927)한다. 이때, 얼굴 이미지는 신규 등록을 위한 학습 이미지로 사용되는 것으로 5장을 획득한다.
그런 후, 임베디드 기기는 획득된 얼굴 이미지로 학습을 수행한다(S925).
이때, 학습은 특징 추출 신경망(210)의 가중치를 변경하는 학습을 수행하는 것이 아니라, 임베딩 신경망과 k-NN 분류기를 이용하여, 분류부를 '학습'하는 것과 같은 동일한 효과를 얻는 것을 의미한다. 즉, 5개의 얼굴 이미지를 특징 추출 신경망(210)에 입력시켜, 특징 추출 신경망(210)으로부터 출력된 특징 벡터들을 임베딩하여 신규 등록자를 인식하기 위한, 즉 신규 클래스를 분류하기 위한 참조 샘플로 저장해둔다.
그런 후, 임베디드 기기는 신규 등록자의 얼굴 영상을 테스트 이미지로 추론을 수행한다(S929). 즉, 테스트 이미지를 특징 추출 신경망(210)에 입력시켜, 특징 추출 신경망(210)이 출력하는 특징 벡터와 모든 클래스들에 상응하는 참조 샘플을 비교하여 k-NN 분류를 수행하는 것이다. 이로써, S925의 학습이 잘 되었는지를 검증하는 것이다. 이후, 신규 등록을 계속할 지의 여부(S931)에 따라 S907을 수행하거나 종료한다.
도 11은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
실시예에 따른 실시예에 따른 임베디드 기기에서의 딥러닝 기반 객체 인식 장치 및 임베디드 기기용 객체 인식 모델 학습 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1000)에서 구현될 수 있다.
컴퓨터 시스템(1000)은 버스(1020)를 통하여 서로 통신하는 하나 이상의 프로세서(1010), 메모리(1030), 사용자 인터페이스 입력 장치(1040), 사용자 인터페이스 출력 장치(1050) 및 스토리지(1060)를 포함할 수 있다. 또한, 컴퓨터 시스템(1000)은 네트워크(1080)에 연결되는 네트워크 인터페이스(1070)를 더 포함할 수 있다. 프로세서(1010)는 중앙 처리 장치 또는 메모리(1030)나 스토리지(1060)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1030) 및 스토리지(1060)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(1030)는 ROM(1031)이나 RAM(1032)을 포함할 수 있다.
이상에서 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100 : 입력단 110 : 입력 데이터 획득부
120 : 전처리부 130 : 데이터 표본 추출부
200 : 딥러닝 신경망 210 : 특징 추출 신경망
220 : 특징 벡터 임베딩부 230 : 손실 계산부
240 : 분류부 250 : 저장부
300 : 출력단

Claims (10)

  1. 입력 이미지에 대한 특징 벡터를 출력하는 특징 추출 신경망;
    상기 특징 추출 신경망으로부터 출력된 특징 벡터를 임베딩하여 손실 계산부에 입력시키고, 상기 특징 추출 신경망에 대한 학습이 완료됨에 따라 클래스 별로 각각에 속하는 적어도 하나의 입력 데이터에 대한 특징 벡터를 참조 샘플로 추출하여 저장부에 저장하는 특징 벡터 임베딩부;
    특징 벡터로부터 입력 이미지의 클래스를 예측하는 분류부; 및
    딥러닝 신경망의 출력 결과를 생성하는 출력 결과 생성부를 포함하되,
    특징 추출 신경망은,
    콘볼루션 신경망으로, 동일 클래스에 속하는 복수의 입력 이미지들에 대해 출력한 특징 벡터들이 특징 벡터 공간에서 근접되도록 딥러닝 기반으로 미리 척도 학습된 것이고,
    분류부는,
    특징 벡터 공간에서 특징 벡터와 근접한 소정 개수의 참조 샘플이 속하는 적어도 하나의 클래스 중에서, 클래스 각각에 속하는 근접한 참조 샘플의 개수가 최대인 클래스를 입력 이미지에 대한 클래스로 결정하되,
    참조 샘플은,
    클래스 별로 각각에 속하는 적어도 하나의 입력 이미지를 특징 추출 신경망에 입력시켜 미리 획득된 특징 벡터이고,
    상기 특징 벡터 임베딩부는, 학습 데이터와 서로 겹치지 않는 데이터로 검증 데이터 셋을 구성하여 기설정 주기마다 학습을 멈추고 추론을 수행하기 위해, 검증 데이터 셋에 대한 특징 벡터를 임베딩하여 상기 손실 계산부가 아닌 상기 분류부에 입력시키고,
    상기 출력 결과 생성부는 학습 단계에서는 상기 검증 데이터 셋을 입력으로 하는 상기 분류부의 출력 결과를 분석하여 분류 정확도를 출력하고, 추론 단계에서는 상기 분류부의 출력 결과를 입력 데이터에 대한 클래스 예측 결과로 출력하는 것
    인 임베디드 기기에서의 딥러닝 기반 객체 인식 장치.
  2. 제1 항에 있어서, 특징 추출 신경망은,
    외부의 서버에 의해 미리 학습되어 임베디드 기기에 배포된 것인, 임베디드 기기에서의 딥러닝 기반 객체 인식 장치.
  3. 제1 항에 있어서,
    신규 클래스 추가 요청됨에 따라, 특징 추출 신경망을 통해 신규 클래스에 상응하는 적어도 하나의 입력 이미지로부터 획득된 특징 벡터가 신규 클래스 분류를 위한 참조 샘플로 추가되는, 임베디드 기기에서의 딥러닝 기반 객체 인식 장치.
  4. 제3 항에 있어서,
    신규 클래스 추가 요청됨에 따라, 참조 샘플이 추가된 상태에서 특징 추출 신경망을 통해 테스트 이미지로부터 획득된 특징 벡터가 입력된 분류부가 신규 클래스를 예측하는지가 테스트되는, 임베디드 기기에서의 딥러닝 기반 객체 인식 장치.
  5. 입력 데이터에 대한 특징 벡터를 출력하는 특징 추출 신경망;
    손실 함수 계산을 기반으로 동일 클래스에 속하는 복수의 입력 데이터들에 대해 출력한 특징 벡터들이 특징 벡터 공간에서 근접되도록 특징 추출 신경망을 딥러닝 기반으로 척도 학습시키는 손실 계산부;
    특징 벡터로부터 입력 데이터의 클래스를 예측하되, 특징 벡터 공간에서 특징 벡터와 근접한 소정 개수의 참조 샘플이 속하는 적어도 하나의 클래스 중에서, 클래스 각각에 속하는 근접한 참조 샘플의 개수가 최대인 클래스를 입력 데이터에 대한 클래스로 결정하는 분류부;
    특징 추출 신경망의 학습 모델 및 참조 샘플을 저장하는 저장부;
    특징 추출 신경망으로부터 출력된 특징 벡터를 임베딩하여 손실 계산부에 입력시키고, 특징 추출 신경망에 대한 학습이 완료됨에 따라 클래스 별로 각각에 속하는 적어도 하나의 입력 데이터에 대한 특징 벡터를 참조 샘플로 추출하여 저장부에 저장하는 특징 벡터 임베딩부; 및
    출력 결과를 생성하는 출력단을 포함하고,
    상기 특징 벡터 임베딩부는, 학습 데이터와 서로 겹치지 않는 데이터로 검증 데이터 셋을 구성하여 기설정 주기마다 학습을 멈추고 추론을 수행하기 위해, 검증 데이터 셋에 대한 특징 벡터를 임베딩하여 상기 손실 계산부가 아닌 상기 분류부에 입력시키고,
    상기 출력단은 학습 단계에서는 상기 검증 데이터 셋을 입력으로 하는 상기 분류부의 출력 결과를 분석하여 분류 정확도를 출력하고, 추론 단계에서는 상기 분류부의 출력 결과를 입력 데이터에 대한 클래스 예측 결과로 출력하는 것
    인 임베디드 기기용 객체 인식 모델 학습 장치.
  6. 삭제
  7. 제5 항에 있어서,
    원본 데이터에서 응용 서비스에 상응하도록 가공시킨 훈련 데이터 또는 검증 데이터를 입력 데이터로 특징 추출 신경망에 입력시키는 입력단을 더 포함하는, 임베디드 기기용 객체 인식 모델 학습 장치.
  8. 제7 항에 있어서, 입력단은,
    손실 계산부에서 사용한 손실 함수에 적합하도록 원본 데이터에서 동일 클래스와 다른 클래스로부터 표본 추출하여 만든 일련의 다중항으로 구성된 훈련 데이터를 생성하는, 임베디드 기기용 객체 인식 모델 학습 장치.
  9. 제5 항에 있어서,
    저장부에 저장된 특징 추출 신경망의 학습 모델 및 참조 샘플은 임베디드 기기에 배포되는, 임베디드 기기용 객체 인식 모델 학습 장치.
  10. 제5 항에 있어서, 손실 계산부는,
    이중항 손실, 삼중항 손실 및 사중항 손실 중 하나로 설계된 손실함수를 사용하는, 임베디드 기기용 객체 인식 모델 학습 장치.
KR1020200072486A 2020-06-15 2020-06-15 임베디드 기기에서의 딥러닝 기반 객체 인식 장치 및 임베디드 기기용 객체 인식 모델 학습 장치 KR102554624B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200072486A KR102554624B1 (ko) 2020-06-15 2020-06-15 임베디드 기기에서의 딥러닝 기반 객체 인식 장치 및 임베디드 기기용 객체 인식 모델 학습 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200072486A KR102554624B1 (ko) 2020-06-15 2020-06-15 임베디드 기기에서의 딥러닝 기반 객체 인식 장치 및 임베디드 기기용 객체 인식 모델 학습 장치

Publications (2)

Publication Number Publication Date
KR20210155231A KR20210155231A (ko) 2021-12-22
KR102554624B1 true KR102554624B1 (ko) 2023-07-13

Family

ID=79164194

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200072486A KR102554624B1 (ko) 2020-06-15 2020-06-15 임베디드 기기에서의 딥러닝 기반 객체 인식 장치 및 임베디드 기기용 객체 인식 모델 학습 장치

Country Status (1)

Country Link
KR (1) KR102554624B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101941585B1 (ko) * 2017-09-07 2019-01-24 경북대학교 산학협력단 인공지능 기반의 검사를 위한 임베디드 시스템, 제어 방법 및 이를 포함하는 검사 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102140936B1 (ko) * 2018-08-14 2020-08-04 에스케이텔레콤 주식회사 객체인식장치 및 그 동작 방법
KR102120443B1 (ko) * 2018-10-02 2020-06-08 인하대학교 산학협력단 엔트로피 기반 신경망(Neural Networks) 부분학습 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101941585B1 (ko) * 2017-09-07 2019-01-24 경북대학교 산학협력단 인공지능 기반의 검사를 위한 임베디드 시스템, 제어 방법 및 이를 포함하는 검사 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Dewei Li and Yingjie Tian, "Survey and experimental study on metric learning methods," Neural Networks (2018.06.19.)*

Also Published As

Publication number Publication date
KR20210155231A (ko) 2021-12-22

Similar Documents

Publication Publication Date Title
Li et al. Learning IoT in edge: Deep learning for the Internet of Things with edge computing
KR102641116B1 (ko) 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
CN109840531B (zh) 训练多标签分类模型的方法和装置
US10325181B2 (en) Image classification method, electronic device, and storage medium
CN106951825B (zh) 一种人脸图像质量评估系统以及实现方法
KR102090171B1 (ko) 반 지도 학습과 여러 개의 멀티 모달 네트워크를 이용한 비디오 기반 인물 감정 인식 기법
KR102564855B1 (ko) 표정 변화에 강인한 객체 및 표정 인식 장치 및 방법, 객체 및 표정 트레이닝 장치 및 방법
CN109783666B (zh) 一种基于迭代精细化的图像场景图谱生成方法
CN112508085B (zh) 基于感知神经网络的社交网络链路预测方法
US11093734B2 (en) Method and apparatus with emotion recognition
CN111310672A (zh) 基于时序多模型融合建模的视频情感识别方法、装置及介质
US20180157892A1 (en) Eye detection method and apparatus
CN109033994B (zh) 一种基于卷积神经网络的人脸表情识别方法
CN107273936A (zh) 一种gan图像处理方法及系统
CN110807437B (zh) 视频粒度特征确定方法、装置和计算机可读存储介质
JP7228961B2 (ja) ニューラルネットワークの学習装置およびその制御方法
KR102541660B1 (ko) 음성 신호에 기반한 감정 인식 장치 및 방법
WO2023284182A1 (en) Training method for recognizing moving target, method and device for recognizing moving target
CN110807309B (zh) 一种pdf文档的内容类型识别方法、装置及电子设备
CN111104954A (zh) 一种对象分类的方法与装置
CN116259075A (zh) 基于提示微调预训练大模型的行人属性识别方法
CN111242155A (zh) 一种基于多模深度学习的双模态情感识别方法
JP2023546582A (ja) 個人化ニューラルネットワークプルーニング
CN109101984B (zh) 一种基于卷积神经网络的图像识别方法及装置
CN110633689B (zh) 基于半监督注意力网络的人脸识别模型

Legal Events

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