KR20210067442A - 객체 인식을 위한 자동 레이블링 장치 및 방법 - Google Patents

객체 인식을 위한 자동 레이블링 장치 및 방법 Download PDF

Info

Publication number
KR20210067442A
KR20210067442A KR1020190157051A KR20190157051A KR20210067442A KR 20210067442 A KR20210067442 A KR 20210067442A KR 1020190157051 A KR1020190157051 A KR 1020190157051A KR 20190157051 A KR20190157051 A KR 20190157051A KR 20210067442 A KR20210067442 A KR 20210067442A
Authority
KR
South Korea
Prior art keywords
object recognition
image frame
automatic labeling
image
recognized
Prior art date
Application number
KR1020190157051A
Other languages
English (en)
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 KR1020190157051A priority Critical patent/KR20210067442A/ko
Priority to US16/865,986 priority patent/US11436848B2/en
Publication of KR20210067442A publication Critical patent/KR20210067442A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06K9/20
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06K9/54
    • G06K9/62
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

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

Abstract

객체 인식을 위한 자동 레이블링 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치는 복수의 이미지 프레임들을 수신하는 수신부와, 상기 수신된 이미지 프레임들 각각에 객체 인식 알고리즘을 적용하여 객체를 인식하고, 상기 이미지 프레임들 중 적어도 하나의 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 상기 이미지 프레임들 중 상기 제1 이미지 프레임을 제외한 제2 이미지 프레임의 객체 인식 결과 및 상기 제1 이미지 프레임에서의 객체 이미지를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋을 자동으로 생성하는 프로세서를 포함할 수 있다. 상기 객체 인식 알고리즘은 기계 학습을 통해 생성된 신경망 모델이고, 객체 인식을 위한 자동 레이블링 장치 내 메모리에 저장되거나, 또는 5G 네트워크를 통한 인공지능 환경에서 서버를 통해 제공될 수 있다.

Description

객체 인식을 위한 자동 레이블링 장치 및 방법{AUTOMATIC LABELING APPARATUS AND METHOD FOR OBJECT RECOGNITION}
본 발명은 객체가 정상적으로 인식된 이미지 프레임에서의 객체 인식 결과에 기초하여, 객체가 정상적으로 인식되지 않은 이미지 프레임의 객체 인식 결과를 획득하고, 상기 획득한 객체 인식 결과에 기초하여 객체에 대한 데이터 셋을 자동으로 생성하는 객체 인식을 위한 자동 레이블링 장치 및 방법에 관한 것이다.
일반적으로 딥러닝(Deep learning)은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화를 시도하는 기계 학습 알고리즘의 집합으로 정의되며, 큰 틀에서 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야이다.
어떠한 데이터가 있을 때 이를 컴퓨터가 알아 들을 수 있는 형태로 표현하고 이를 학습에 적용하기 위해 많은 연구가 진행되고 있으며, 이러한 노력의 결과로 딥러닝 기술의 개발이 활발하게 이루어 지면서 다양한 분야(예컨대, 영상인식, 음성인식, 자연어처리 등)에 적용되고 있다.
딥러닝은 정확도를 위해 학습 단계에서 빅데이터를 이용하여 훈련할 수 있다. 그러나, 예컨대, 딥러닝의 결과로서 생성된 객체 인식 알고리즘은 추론 단계에 적용될 때, 미리 학습하지 못한 이미지 프레임이 수신될 경우, 예상하지 못한 에러(예컨대, 객체를 인식하지 못하거나, 다른 종류의 객체로 인식함)가 발생할 수 있다. 이러한 경우, 객체 인식 알고리즘을 이용한 객체 인식 결과에 대한 신뢰도가 감소하게 되고, 이를 해결하기 위해 사용자가 개입하여 에러가 발생된 이미지 프레임에 대한 객체의 종류를 일일이 지정(또는, 기록)해야 하는 번거로움이 발생할 수 있다.
따라서, 이미지 프레임에 대한 객체 인식 알고리즘 적용시, 예상하지 못한 에러가 발생하는 경우에도, 다른 이미지 프레임에 객체 인식 알고리즘을 적용한 객체 인식 결과를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋(data set)을 보다 쉽게 생성하는 기술이 필요하다.
본 발명의 일실시예는, 객체 인식 알고리즘을 추론 단계에 적용할 때, 미리 학습하지 못한 이미지 프레임이 수신됨에 따라 에러가 발생되는 경우, 상기 이미지 프레임과 인접한 다른 이미지 프레임(예컨대, 상기 이미지 프레임이 수신된 시점을 기준으로, 설정된 시간 간격 내에 수신된 이미지 프레임)에 상기 객체 인식 알고리즘을 적용한 객체 인식 결과(예컨대, 객체의 종류)를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋을 사용자 개입 없이, 자동으로 용이하게 생성하는 것을 목적으로 한다.
본 발명의 일실시예는, 움직이는 객체를 촬영한 이미지 프레임에 객체 인식 알고리즘을 적용한 결과, 에러가 발생되면, 상기 이미지 프레임과 인접한 다른 이미지 프레임에 상기 객체 인식 알고리즘을 적용한 객체 인식 결과(예컨대, 객체의 종류 및 객체가 인식된 영역의 위치)를 이용하여, 상기 이미지 프레임에서 상기 움직이는 객체가 존재할 것으로 추정되는 예상 영역의 위치 및 객체의 종류를 획득하고, 상기 획득한 예상 영역의 위치 및 객체의 종류를 이용하여, 움직이는 객체에 대한 데이터 셋을 추가적으로 용이하게 생성하는 것을 목적으로 한다.
본 발명의 일실시예는, 복수의 이미지 프레임들을 수신하는 수신부와, 상기 수신된 이미지 프레임들 각각에 객체 인식 알고리즘을 적용하여 객체를 인식하고, 상기 이미지 프레임들 중 적어도 하나의 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 상기 이미지 프레임들 중 상기 제1 이미지 프레임을 제외한 제2 이미지 프레임의 객체 인식 결과 및 상기 제1 이미지 프레임에서의 객체 이미지를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋(data set)을 자동으로 생성하는 프로세서를 포함하는, 객체 인식을 위한 자동 레이블링 장치일 수 있다.
본 발명의 일실시예는, 복수의 이미지 프레임들을 수신하는 단계와, 상기 수신된 이미지 프레임들 각각에 객체 인식 알고리즘을 적용하여 객체를 인식하는 단계와, 상기 이미지 프레임들 중 적어도 하나의 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는지를 판단하는 단계와, 상기 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 상기 이미지 프레임들 중 상기 제1 이미지 프레임을 제외한 제2 이미지 프레임의 객체 인식 결과 및 상기 제1 이미지 프레임에서의 객체 이미지를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋을 자동으로 생성하는 단계를 포함하는, 객체 인식을 위한 자동 레이블링 방법일 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명에 의하면, 객체 인식 알고리즘을 추론 단계에 적용할 때, 미리 학습하지 못한 이미지 프레임이 수신됨에 따라 에러가 발생되는 경우, 상기 이미지 프레임과 인접한 다른 이미지 프레임(예컨대, 상기 이미지 프레임이 수신된 시점을 기준으로, 설정된 시간 간격 내에 수신된 이미지 프레임)에 상기 객체 인식 알고리즘을 적용한 객체 인식 결과(예컨대, 객체의 종류)를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋을 사용자 개입 없이, 자동으로 용이하게 생성할 수 있다.
본 발명에 따르면, 움직이는 객체를 촬영한 이미지 프레임에 객체 인식 알고리즘을 적용한 결과, 에러가 발생되면, 상기 이미지 프레임과 인접한 다른 이미지 프레임에 상기 객체 인식 알고리즘을 적용한 객체 인식 결과(예컨대, 객체의 종류 및 객체가 인식된 영역의 위치)를 이용하여, 상기 이미지 프레임에서 상기 움직이는 객체가 존재할 것으로 추정되는 예상 영역의 위치 및 객체의 종류를 획득하고, 상기 획득한 예상 영역의 위치 및 객체의 종류를 이용하여, 움직이는 객체에 대한 데이터 셋을 추가적으로 용이하게 생성할 수 있게 한다.
도 1은 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치를 포함하는 AI 장치, AI 서버 및 이들을 서로 연결하는 네트워크를 포함하는 AI 시스템의 일례를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치를 포함하는 AI 장치의 구성을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치의 구성을 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치에서의 자동 레이블링에 대한 일례를 설명하기 위한 도면이다.
도 5 및 도 6은 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치에서의 자동 레이블링에 대한 일례를 설명하기 위한 도면이다.
도 7은 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치에서 이미지 프레임으로부터 객체를 인식하는 신경망 모델을 설명하기 위한 도면이다.
도 8은 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 방법을 나타내는 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치를 포함하는 AI 장치, AI 서버 및 이들을 서로 연결하는 네트워크를 포함하는 AI 시스템의 일례를 도시한 도면이다.
도 1을 참조하면, AI(Artificial Intelligence) 시스템(100)은 AI 장치(110), AI 서버(120) 및 네트워크(130)를 포함할 수 있다.
도 1을 참조하면, AI 장치(110)는 인공 지능에 기반한 본 발명의 객체 인식을 위한 자동 레이블링 장치를 포함할 수 있으며, 예컨대, 로봇, 자율 주행 차량, 통신 단말(예컨대, 휴대폰, 스마트폰, 태블릿 PC 등) 및 가전(예컨대, 로봇 청소기) 중에서 적어도 하나를 포함할 수 있다.
인공 지능에 기반한 객체 인식을 위한 자동 레이블링 장치는 머신 러닝 알고리즘을 이용하여 인공 신경망(예컨대, 객체 인식 알고리즘)을 학습하거나, 또는 AI 서버(120)로 학습된 인공 신경망을 요청하여 AI 서버(120)로부터 상기 학습된 인공 신경망을 수신할 수 있다. 또한, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임을 수신하면, 학습된 인공 신경망을 이용하여 상기 수신된 이미지 프레임 내 객체의 종류를 인식할 수 있다.
AI 서버(120)는 AI 장치(110)로부터 학습된 인공 신경망을 요청받으면, 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키고, 상기 학습된 인공 신경망을 AI 장치(110)에 제공할 수 있다. 여기서, AI 서버(120)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있다. 이때, AI 서버(120)는 AI 장치(110)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
네트워크(130)는 AI 장치(110) 및 AI 서버(120)를 연결할 수 있다. 이러한 네트워크(130)는 예컨대, LANs(local area networks), WANs(Wide area networks), MANs(metropolitan area networks), ISDNs(integrated service digital networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 또한 네트워크(130)는 근거리 통신 및/또는 원거리 통신을 이용하여 정보를 송수신할 수 있다. 여기서 근거리 통신은 블루투스(bluetooth), RFID(radio frequency identification), 적외선 통신(IrDA, infrared data association), UWB(ultra-wideband), ZigBee, Wi-Fi(Wireless fidelity) 기술을 포함할 수 있고, 원거리 통신은 CDMA(code division multiple access), FDMA(frequency division multiple access), TDMA(time division multiple access), OFDMA(orthogonal frequency division multiple access), SC-FDMA(single carrier frequency division multiple access) 기술을 포함할 수 있다.
네트워크(130)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(130)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 네트워크(130)로의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 네트워크(130)는 사물 등 분산된 구성 요소들 간에 정보를 주고받아 처리하는 IoT(Internet of Things, 사물인터넷) 망, 3G, 4G, LTE(Long Term Evolution), 5G 통신 등을 지원할 수 있다.
도 2는 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치를 포함하는 AI 장치의 구성을 도시한 도면이다.
도 2를 참조하면, AI 장치(200)는 통신부(210), 입력부(220), 러닝 프로세서(230), 센싱부(240), 출력부(250), 저장부(260), 제어부(270) 및 객체 인식을 위한 자동 레이블링 장치(280)를 포함할 수 있다.
통신부(210)는 유무선 통신 기술을 이용하여 다른 AI 장치나 AI 서버 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(210)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(210)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth??), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
입력부(220)는 다양한 종류의 데이터를 획득할 수 있다. 이때, 입력부(220)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 카메라나 마이크로폰을 센서로 취급하여, 카메라나 마이크로폰으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부(220)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(220)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 제어부(270) 또는 러닝 프로세서(230)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
러닝 프로세서(230)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다. 이때, 러닝 프로세서(230)는 AI 서버의 러닝 프로세서과 함께 AI 프로세싱을 수행할 수도 있다.
또한, 러닝 프로세서(230)는 AI 장치(200)에 통합되거나 구현된 메모리를 포함할 수 있으나, 이에 한정되지 않고 저장부(260), AI 장치(200)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센싱부(240)는 다양한 센서들을 이용하여 AI 장치(200) 내부 정보, AI 장치(200)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다. 이때, 센싱부(240)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등이 있다.
출력부(250)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다. 이때, 출력부(250)에는 시각 정보를 출력하는 디스플레이부, 청각 정보를 출력하는 스피커, 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.
저장부(260)는 AI 장치(200)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 저장부(260)는 입력부(220)에서 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
이러한 저장부(260)는 제어부(270)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행할 수 있다. 여기서, 저장부(260)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 이러한 저장부(260)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD. CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다.
제어부(270)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, AI 장치(200)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 제어부(270)는 AI 장치(200)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 제어부(270)는 러닝 프로세서(230) 또는 저장부(260)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 AI 장치(200)의 구성 요소들을 제어할 수 있다.
이때, 제어부(270)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
제어부(270)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다. 이때, 제어부(270)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(230)에 의해 학습된 것이나, AI 서버의 러닝 프로세서에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
제어부(270)는 AI 장치(200)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 저장부(260) 또는 러닝 프로세서(230)에 저장하거나, AI 서버 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
제어부(270)는 저장부(260)에 저장된 응용 프로그램을 구동하기 위하여, AI 장치(200)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 제어부(270)는 상기 응용 프로그램의 구동을 위하여, AI 장치(200)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
객체 인식을 위한 자동 레이블링 장치(280)는 수신부, 프로세서 및 메모리를 포함할 수 있다. 여기서, 상기 수신부는 입력부(220)에 포함될 수 있고, 상기 프로세서는 제어부(270)에 포함될 수 있으며, 메모리는 저장부(260)에 포함될 수 있다.
도 3은 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치의 구성을 도시한 도면이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치(300)는 수신부(310), 프로세서(320) 및 메모리(330)를 포함할 수 있다.
수신부(310)는 복수의 이미지 프레임들(또는, 동영상)을 수신할 수 있다.
프로세서(320)는 상기 수신된 이미지 프레임들 각각에 객체 인식 알고리즘을 적용하여 객체를 인식할 수 있다. 여기서, 객체 인식 알고리즘은 복수의 이미지 프레임들에서 객체를 인식하도록 미리 훈련된 신경망 모델일 수 있다.
프로세서(320)는 상기 이미지 프레임들 중 적어도 하나의 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는지를 판단할 수 있다. 이때, 프로세서(320)는 상기 제1 이미지 프레임에서의 객체 인식 결과로서, ⅰ)상기 제1 이미지 프레임으로부터 객체가 인식되지 않거나, ⅱ)상기 제1 이미지 프레임으로부터 인식된 객체의 종류가, 상기 제1 이미지 프레임보다 설정된 시간 전 또는 후에 수신된 이미지 프레임들 각각으로부터 인식된 객체의 종류와 상이함에 기초하여, 상기 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다. 또한, 프로세서(320)는 ⅲ)상기 제1 이미지 프레임으로부터 인식된 객체의 객체 인식 신뢰도가 설정된 기준치 미만으로 확인함에 기초하여, 상기 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다.
프로세서(320)는 상기 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 상기 이미지 프레임들 중 상기 제1 이미지 프레임을 제외한 제2 이미지 프레임의 객체 인식 결과 및 상기 제1 이미지 프레임에서의 객체 이미지를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋(data set)을 자동으로 생성할 수 있다.
즉, 프로세서(320)는 정상적으로 객체가 인식된 제2 이미지 프레임의 객체 인식 결과를 이용하여, 객체가 정상적으로 인식되지 않은 제1 이미지 프레임의 객체 인식 결과를 추정할 수 있다.
상기 객체에 대한 데이터 셋 생성시, 프로세서(320)는 상기 객체 인식의 대상이 된 객체에 대한 데이터 셋을 입력값과 타겟 출력값의 쌍으로 정의할 수 있다. 이때, 프로세서(320)는 상기 입력값을 상기 제1 이미지 프레임에서의 객체 이미지로 설정하고, 레이블(label)로 지정되는 타겟 출력값을 상기 제2 이미지 프레임으로부터 인식된 객체의 종류로 설정할 수 있다.
여기서, 상기 제2 이미지 프레임은 설정된 에러조건에 해당하지 않는 이미지 프레임들 중 적어도 하나의 이미지 프레임이고, 상기 제2 이미지 프레임에서의 객체 인식 결과는 설정된 기준치(예컨대, 90%) 이상의 객체 인식 신뢰도를 가지고 있을 수 있다. 또한, 상기 제2 이미지 프레임의 객체 인식 결과에서 객체의 종류는 모두 동일할 수 있다.
또한, 프로세서(320)는 상기 제1 이미지 프레임에서 객체가 존재할 예상 영역의 위치를 추정하고, 추정된 예상 영역의 객체 이미지를 이용하여, 객체에 대한 데이터 셋을 보다 정확하게 생성할 수 있다. 예컨대, 객체가 이동하는 '사람'일 경우에도, 프로세서(320)는 상기 데이터 셋에 포함되는 입력값으로서, 상기 예상 영역을 이용하여, 제1 이미지 프레임에서의 객체 이미지를 정확하게 설정할 수 있다.
이때, 프로세서(320)는 상기 제1 이미지 프레임보다 설정된 제1 시간 전에 수신한 제2 이미지 프레임으로부터 객체가 인식된 제1 영역의 위치 및 상기 제1 이미지 프레임보다 설정된 제2 시간 후에 수신한 제2 이미지 프레임으로부터 객체가 인식된 제2 영역의 위치에 기초하여, 상기 제1 이미지 프레임에서 객체가 존재할 예상 영역의 위치를 추정할 수 있다. 여기서, 상기 제1 영역은 다각형(예컨대, 사각형)일 수 있으나, 이에 한정되지 않고, 예컨대 원형일 수도 있다. 상기 제1 영역이 예컨대, 사각형일 경우, 상기 제1 영역의 위치는 상기 제2 이미지 프레임 내 제1 기준점과 상기 제1 영역의 제2 기준점 간의 거리, 상기 제1 영역의 가로의 길이 및 세로의 길이로 표현될 수 있다. 또한, 상기 제2 이미지 프레임 내 상기 제1 영역의 위치는 이미지 프레임 내 임의의 기준점을 기준으로, 상기 영역의 꼭지점에 대한 각 좌표로 표현될 수도 있다.
구체적으로, 프로세서(320)는 상기 제1 시간과 상기 제2 시간 간의 비율에 기초하여, 상기 제1 영역의 위치와 상기 제2 영역의 위치 사이를 연결하는 지점들 중 상기 제1 영역으로부터 상기 제2 영역까지의 거리에서 상기 비율에 해당하는 거리에 위치한 지점에 대한 영역의 위치를, 상기 예상 영역의 위치로 추정할 수 있다. 예컨대, 프로세서(320)는 상기 제1 시간과 상기 제2 시간이 동일한 것으로 확인됨에 따라, 상기 제1 영역의 위치와 상기 제2 영역의 위치 사이를 연결하는 지점들 중 상기 제1 영역으로부터 상기 제2 영역까지의 거리에서 중간에 해당하는 거리에 위치한 지점에 대한 영역의 위치를, 상기 예상 영역의 위치로 추정할 수 있다. 또한, 프로세서(320)는 상기 제1 시간과 상기 제2 시간이 1:2 비율일 경우, 상기 제1 영역의 위치와 상기 제2 영역의 위치 사이를 연결하는 지점들 중 상기 제1 영역으로부터 상기 제2 영역까지의 거리에서 상기 1:2 비율에 해당하는 거리에 위치한 지점에 대한 영역의 위치를 상기 예상 영역의 위치로 추정할 수 있다.
상기 객체에 대한 데이터 셋을 생성하는 다른 일례로서, 프로세서(320)는 상기 입력값을 상기 제1 이미지 프레임에서의 상기 예상 영역의 객체 이미지로 설정하고, 레이블로 지정되는 상기 타겟 출력값을, 상기 제2 이미지 프레임으로부터 인식된 객체의 종류로 설정함으로써, 객체가 이동하더라도 상기 객체에 대한 데이터 셋을 보다 정확하게 생성할 수 있다.
한편, 프로세서(320)는 상기 생성된 객체에 대한 데이터 셋을 메모리(330)에 저장하고, 상기 메모리에 저장된 데이터 셋을 이용하여 상기 객체 인식 알고리즘을 업데이트함으로써, 추후 수신되는 신규 이미지 프레임에 대한 에러 발생률을 감소시키고, 객체 인식 신뢰도를 설정된 기준치 이상으로 증가시킬 수 있다.
프로세서(320)는 설정된 개수 이상 연속적으로 수신된 제1 이미지 프레임들에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 상기 생성된 데이터 셋을 서버로 전송하여, 상기 서버에서 상기 데이터 셋에 기초하여 상기 객체 인식 알고리즘을 업데이트하도록 한다. 이후, 프로세서(320)는 상기 업데이트된 객체 인식 알고리즘을 상기 서버로부터 수신하고, 상기 객체 인식 알고리즘을 상기 업데이트된 객체 인식 알고리즘으로 대체할 수 있다. 이때, 프로세서(320)는 상기 객체 인식 알고리즘 업데이트를 위한 과정을 서버가 대신하도록 하여, 상기 업데이트에 사용되는 계산량 또는 에너지를 감소시킬 수 있고, 보다 신속하게 객체 인식 알고리즘을 업데이트시킬 수 있다.
메모리(330)는 복수의 이미지 프레임들에서 객체를 인식하도록 미리 훈련된 신경망 모델을 저장할 수 있다. 여기서, 신경망 모델은 수신부(310)를 통해 서버(예컨대, 욜로(YOLO 네트워크 서버)로부터 수신하여 프로세서(320)에 의해, 메모리(330)에 저장되거나, 또는 메모리(330)에 기저장될 수 있다.
또한, 메모리(330)는 상기 생성된 객체에 대한 데이터 셋을 더 저장할 수 있다. 이때, 메모리(330)는 에러조건에 해당한 제1 이미지 프레임과 연관된 데이터 셋만을 저장하여, 메모리(330)에 저장되는 데이터 셋의 크기를 감소시킬 수 있다. 여기서, 에러조건에 해당한 제1 이미지 프레임과 연관된 데이터 셋은 입력값으로서, 제1 이미지 프레임에서의 객체 이미지를 포함하고, 타겟 출력값으로서, 제1 이미지 프레임으로부터 인식될 것으로 예측되는 객체의 종류(즉, 제2 이미지 프레임으로부터 인식된 객체의 종류)를 포함할 수 있다.
본 발명의 객체 인식을 위한 자동 레이블링 장치(300)는 기존의 객체 인식 알고리즘 생성을 위한 트랜스퍼 러닝(Transfer Learning)에 상기 자동으로 생성한 객체에 대한 데이터 셋을 활용할 수 있으며, 이에 한정되지 않고, 트랜스퍼 러닝 리트레이닝(transfer learning retraining) 또는 트랜스퍼 러닝 파인 튜닝(transfer learning fine tuning)에도 활용할 수 있다.
도 4는 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치에서의 자동 레이블링에 대한 일례를 설명하기 위한 도면이다.
도 4를 참조하면, 객체 인식을 위한 자동 레이블링 장치는 수신되는 복수의 이미지 프레임들 각각에 객체 인식 알고리즘을 적용하여 객체를 인식할 수 있다. 이때, 객체 인식을 위한 자동 레이블링 장치는 상기 이미지 프레임들 중 적어도 하나의 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 상기 이미지 프레임들 중 상기 제1 이미지 프레임을 제외한 제2 이미지 프레임의 객체 인식 결과 및 상기 제1 이미지 프레임에서의 객체 이미지를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋을 자동으로 생성할 수 있다.
구체적으로, 객체 인식을 위한 자동 레이블링 장치는 상기 제1 이미지 프레임으로부터 객체가 인식되지 않음에 따라, 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다. 예컨대, 객체 인식을 위한 자동 레이블링 장치는 5개의 이미지 프레임_#1(410), 이미지 프레임_#2(420), 이미지 프레임_#3(430), 이미지 프레임_#4(440) 및 이미지 프레임_#5(450)를 수신할 수 있으며, 5개의 이미지 프레임(410~450)들 각각에 객체 인식 알고리즘을 적용하여 객체를 인식할 수 있다.
이때, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#1(410), 이미지 프레임_#3(430) 및 이미지 프레임_#4(440)로부터 객체의 종류로서, '의자'를 인식할 수 있다.
반면, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#2(420)로부터 '의자'가 인식되지 않음에 따라, 이미지 프레임_#2(420)에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다.
또한, 객체 인식을 위한 자동 레이블링 장치는 상기 제1 이미지 프레임으로부터 인식된 객체의 종류가, 상기 제1 이미지 프레임보다 설정된 시간 전 또는 후에 수신된 이미지 프레임들 각각으로부터 인식된 객체의 종류와 상이함에 따라, 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다. 예컨대, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#2(420) 전에 수신된 이미지 프레임_#1(410)로부터 '의자'가 인식되고, 이미지 프레임_#2(420) 후에 수신된 이미지 프레임_#3(430)으로부터 '의자'가 인식되었으나, 이미지 프레임_#2(420)가 '테이블'로 인식됨에 따라, 이미지 프레임_#2(420)에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다.
또한, 에러조건의 다른 일례로서, 객체 인식을 위한 자동 레이블링 장치는 상기 제1 이미지 프레임으로부터 인식된 객체의 객체 인식 신뢰도가 설정된 기준치 미만으로 확인함에 따라, 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다. 예컨대, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#5(450)로부터 '의자'가 인식되었으나, 인식된 '의자'의 객체 인식 신뢰도가 30%로서, 설정된 기준치인 90%미만으로 확인함에 따라, 이미지 프레임_#5(450)에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다.
따라서, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#2(420) 및 이미지 프레임_#5(450)가 설정된 에러조건에 해당하는 것으로 판단함에 따라, 이미지 프레임_#2(420) 및 이미지 프레임_#5(450)를 제외한 이미지 프레임_#1(410), 이미지 프레임_#3(430) 및 이미지 프레임_#4(440)의 객체 인식 결과(예컨대, 90%로 이상의 객체 인식 신뢰도로 '의자'를 인식함)를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋을 자동으로 생성할 수 있다.
이때, 객체 인식을 위한 자동 레이블링 장치는 객체에 대한 데이터 셋을 입력값과 타겟 출력값의 쌍으로 정의할 수 있다. 객체 인식을 위한 자동 레이블링 장치는 입력값을 이미지 프레임_#2(420)에서의 객체 이미지 즉, '제2 의자 이미지'로 설정하고, 레이블(label)로 지정되는 타겟 출력값을 인접한 이미지 프레임 즉, 이미지 프레임_#1(410) 및 이미지 프레임_#3(430)(또는, 이미지 프레임_#1(410), 이미지 프레임_#3(430) 및 이미지 프레임_#4(440))으로부터 인식된 객체의 종류 즉, '의자'로 설정함으로써, 객체에 대한 추가적인 데이터 셋을 생성할 수 있다. 또한, 객체 인식을 위한 자동 레이블링 장치는 입력값을 이미지 프레임_#5(450)에서의 객체 이미지 즉, '제5 의자 이미지'로 설정하고, 레이블로 지정되는 타겟 출력값을 이미지 프레임_#1(410), 이미지 프레임_#3(430) 및 이미지 프레임_#4(440)로부터 인식된 객체의 종류 즉, '의자'로 설정함으로써, 객체에 대한 추가적인 데이터 셋을 생성할 수 있다.
이후, 객체 인식을 위한 자동 레이블링 장치는 상기 추가적인 데이터 셋을 이용하여, 객체 인식 알고리즘을 업데이트할 수 있다. 이로써, 객체 인식을 위한 자동 레이블링 장치는 추후 이미지 프레임_#2(420) 및 이미지 프레임_#5(450)와 동일한 신규 이미지 프레임이 수신되는 경우에도, 상기 업데이트된 객체 인식 알고리즘을 이용하여, 에러없이 신규 이미지 프레임로부터 객체의 종류로서 '의자'를 인식할 수 있게 한다.
도 5 및 도 6은 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치에서의 자동 레이블링에 대한 일례를 설명하기 위한 도면이다.
도 5를 참조하면, 객체 인식을 위한 자동 레이블링 장치는 상기 이미지 프레임들 중 적어도 하나의 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 상기 이미지 프레임들 중 상기 제1 이미지 프레임을 제외한 제2 이미지 프레임의 객체 인식 결과 및 상기 제1 이미지 프레임에서의 객체 이미지를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋을 자동으로 생성할 수 있다.
예컨대, 객체 인식을 위한 자동 레이블링 장치는 3개의 이미지 프레임_#1(510), 이미지 프레임_#2(520), 이미지 프레임_#3(530) 및 이미지 프레임_#3(540)을 수신할 수 있으며, 4개의 이미지 프레임(510~540)들 각각에 객체 인식 알고리즘을 적용하여, 4개의 이미지 프레임(510~530)들에서 객체를 인식할 수 있다.
이때, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#1(510) 내 제1 영역(511)에서 객체의 종류로서, '테이블'을 인식할 수 있고, 이미지 프레임_#3(530) 내 제1 영역(531)에서 객체의 종류로서, '테이블'을 인식할 수 있다. 또한, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#4(540) 내 제1 영역(541)에서 객체의 종류로서, '테이블'을 인식할 수 있다.
반면, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#2(520)에서 '테이블'이 검출되지 않음에 따라, 이미지 프레임_#2(520)에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다.
따라서, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#2(520)가 설정된 에러조건에 해당하는 것으로 판단함에 따라, 이미지 프레임_#2(520)를 제외한 이미지 프레임_#1(510) 및 이미지 프레임_#3(530)의 객체 인식 결과(예컨대, 90%로 이상의 객체 인식 신뢰도로, 각 이미지 프레임 내 제1,2 영역에서 '테이블'을 인식함)를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋을 자동으로 생성할 수 있다. 여기서, 이미지 프레임_#1(510)는 예컨대, 이미지 프레임_#2(520)보다 '0.1초' 전에 수신되고, 이미지 프레임_#3(530)는 이미지 프레임_#2(520)보다 '0.1초' 후에 수신될 수 있다.
이때, 객체 인식을 위한 자동 레이블링 장치는 객체에 대한 데이터 셋을 입력값과 타겟 출력값의 쌍으로 정의할 수 있다. 구체적으로, 객체 인식을 위한 자동 레이블링 장치는 입력값을 이미지 프레임_#2(520)로 설정하고, 레이블로 지정되는 타겟 출력값을 이미지 프레임_#1(510) 및 이미지 프레임_#3(530)으로부터 각각 인식된 객체의 종류 즉, '테이블'로 설정할 수 있다.
여기서, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#1(510)으로부터 '테이블'이 인식된 영역_#1(511)의 위치 및 이미지 프레임_#3(530)으로부터 '테이블'이 인식된 영역_#3(531)의 위치에 기초하여, 이미지 프레임_#2(520)에서 객체가 존재할 예상 영역(521)의 위치를 추정할 수 있다. 이때, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#1(510), 이미지 프레임_#2(520) 및 이미지 프레임_#3(530)이 '0.1초'의 동일한 간격으로 수신됨에 따라, 영역_#1(511)의 위치와 제2 영역_#3(531)의 위치 사이를 연결하는 지점들 중 상기 제1 영역으로부터 상기 제2 영역까지의 거리에서 중간에 해당하는 거리에 위치한 지점에 대한 영역의 위치를, 이미지 프레임_#2(520)에서 객체가 존재할 예상 영역(521)의 위치로 추정할 수 있다.
한편, 이미지 프레임에서 객체가 인식되는 영역은 예컨대, 사각형일 수 있다. 이때, 이미지 프레임 내 상기 영역의 위치는 예컨대, 상기 이미지 프레임 내 제1 기준점과 상기 영역의 제2 기준점 간의 거리, 상기 영역의 가로의 길이 및 세로의 길이로 표현될 수 있다. 또한, 이미지 프레임 내 상기 영역의 위치는 이미지 프레임 내에서의 상기 영역의 꼭지점에 대한 각 좌표로 표현될 수도 있다. 예컨대, 이미지 프레임_#1(510)에서 '테이블'이 인식되는 영역_#1(511)의 위치는 이미지 프레임_#1(510)의 제1 기준점(512)과 영역_#1(511)의 제2 기준점(513) 간의 거리, 영역_#1(511)의 가로의 길이(514) 및 세로의 길이(515)로 표현될 수 있다.
반면, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#3(530)에서의 객체 인식 결과 또한, 설정된 에러조건에 해당할 경우, 도 6에 도시된 바와 같이, 이미지 프레임_#1(510) 및 이미지 프레임_#4(540)을 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋을 자동으로 생성할 수 있다. 이때, 이미지 프레임_#1(510)는 예컨대, 이미지 프레임_#2(520)보다 '0.1초' 전에 수신되고, 이미지 프레임_#4(540)는 이미지 프레임_#2(520)보다 '0.2초' 후에 수신될 수 있다.
여기서, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#2(520)를 기준으로, 이미지 프레임_#1(510) 및 이미지 프레임_#4(540)가 각각 수신되는 시간 간의 비율에 기초하여, 이미지 프레임_#2(520)에서 객체가 존재할 예상 영역(521)의 위치를 추정할 수 있다. 구체적으로, 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임_#1(510) 내 영역_#1(511)의 위치와 이미지 프레임_#4(540)로부터 '테이블'이 인식된 영역_#4(541)의 위치 사이를 연결하는 지점들 중 영역_#1(511)으로부터 영역_#4(541)까지의 거리에서 상기 비율에 해당하는 거리에 위치한 지점에 대한 영역의 위치를, 이미지 프레임_#2(520)에서 객체가 존재할 예상 영역(521)의 위치를 추정할 수 있다. 즉, 객체 인식을 위한 자동 레이블링 장치는 '0.1초'와 '0.2초' 간의 비율에 기초하여, 영역_#1(511)의 위치와 상기 영역_#4의 위치 사이를 연결하는 지점들 중 영역_#1(511)으로부터 영역_#4(541)까지의 거리에서 1:2 비율에 해당하는 거리에 위치한 지점에 대한 영역의 위치를, 이미지 프레임_#2(520) 내 예상 영역(521)의 위치로 추정할 수 있다.
즉, 객체 인식을 위한 자동 레이블링 장치는 입력값을 이미지 프레임_#2(520)에서의 예상 영역의 객체 이미지 즉, '제2 테이블 이미지'로 설정하고, 레이블로 지정되는 타겟 출력값을 이미지 프레임_#1(510) 및 이미지 프레임_#4(540)로부터 각각 인식된 객체의 종류 즉, '테이블'로 설정함으로써, 객체가 이동하더라도 객체에 대한 추가적인 데이터 셋을 보다 정확하게 생성할 수 있다.
이후, 객체 인식을 위한 자동 레이블링 장치는 상기 추가적인 데이터 셋을 이용하여, 객체 인식 알고리즘을 업데이트할 수 있다. 이로써, 객체 인식을 위한 자동 레이블링 장치는 추후 이미지 프레임_#2(520)와 동일한 신규 이미지 프레임(550)이 수신되는 경우에도, 상기 업데이트된 객체 인식 알고리즘을 이용하여, 에러없이 신규 이미지 프레임로부터 예상 영역(551)의 위치에서 객체의 종류로서 '테이블'을 인식할 수 있게 한다.
도 7은 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 장치에서 이미지 프레임으로부터 객체를 인식하는 신경망 모델을 설명하기 위한 도면이다.
도 7을 참조하면, 객체 인식을 위한 자동 레이블링 장치는 복수의 이미지 프레임들로부터 객체를 인식하기 위해 객체 인식 알고리즘을 이용할 수 있다. 여기서, 객체 인식 알고리즘은 다양한 이미지 프레임으로부터 객체를 인식하도록 인공지능의 머신 러닝을 통해 훈련된 심층 신경망 모델일 수 있다.
여기서, 인공 지능(artificial intelligence, AI)은 인간의 지능으로 할 수 있는 사고, 학습, 자기계발 등을 컴퓨터가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보기술의 한 분야로, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 것을 의미한다.
또한, 인공지능은 그 자체로 존재하는 것이 아니라, 컴퓨터 과학의 다른 분야와 직간접으로 많은 관련을 맺고 있다. 특히 현대에는 정보기술의 여러 분야에서 인공지능적 요소를 도입하여, 그 분야의 문제 풀이에 활용하려는 시도가 매우 활발하게 이루어지고 있다.
머신 러닝(machine learning)은 인공지능의 한 분야로, 컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 연구 분야이다.
구체적으로 머신 러닝은, 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이라 할 수 있다. 머신 러닝의 알고리즘들은 엄격하게 정해진 정적인 프로그램 명령들을 수행하는 것이라기보다, 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취한다.
용어 '머신 러닝'은 용어 '기계 학습'과 혼용되어 사용될 수 있다.
기계 학습에서 데이터를 어떻게 분류할 것인가를 놓고, 많은 기계 학습 알고리즘이 개발되었다. 의사결정나무(Decision Tree)나 베이지안 망(Bayesian network), 서포트벡터머신(SVM: support vector machine), 그리고 인공 신경망(ANN: Artificial Neural Network) 등이 대표적이다.
의사결정나무는 의사결정규칙(Decision Rule)을 나무구조로 도표화하여 분류와 예측을 수행하는 분석방법이다.
베이지안 망은 다수의 변수들 사이의 확률적 관계(조건부독립성: conditional independence)를 그래프 구조로 표현하는 모델이다. 베이지안 망은 비지도 학습(unsupervised learning)을 통한 데이터마이닝(data mining)에 적합하다.
서포트벡터머신은 패턴인식과 자료분석을 위한 지도 학습(supervised learning)의 모델이며, 주로 분류와 회귀분석을 위해 사용한다.
인공신경망은 생물학적 뉴런의 동작원리와 뉴런간의 연결 관계를 모델링한 것으로 노드(node) 또는 처리 요소(processing element)라고 하는 다수의 뉴런들이 레이어(layer) 구조의 형태로 연결된 정보처리 시스템이다.
인공 신경망은 기계 학습에서 사용되는 모델로써, 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘이다.
구체적으로 인공신경망은 시냅스(synapse)의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.
용어 인공신경망은 용어 뉴럴 네트워크(Neural Network)와 혼용되어 사용될 수 있다.
인공신경망은 복수의 레이어(layer)를 포함할 수 있고, 레이어들 각각은 복수의 뉴런(neuron)을 포함할 수 있다. 또한 인공신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다.
인공 신경망은 일반적으로 다음의 세가지 인자, 즉 (1) 다른 레이어의 뉴런들 사이의 연결 패턴 (2) 연결의 가중치를 갱신하는 학습 과정 (3) 이전 레이어로부터 수신되는 입력에 대한 가중 합으로부터 출력값을 생성하는 활성화 함수에 의해 정의될 수 있다.
인공 신경망은, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network), MLP(Multilayer Perceptron), CNN(Convolutional Neural Network)와 같은 방식의 네트워크 모델들을 포함할 수 있으나, 이에 한정되지 않는다.
본 명세서에서 용어 '레이어'는 용어 '계층'과 혼용되어 사용될 수 있다.
인공신경망은 계층 수에 따라 단층 신경망(Single-Layer Neural Networks)과 다층 신경망(Multi-Layer Neural Networks)으로 구분된다.
일반적인 단층 신경망은, 입력층과 출력층으로 구성된다.
또한 일반적인 다층 신경망은 입력층(Input Layer)과 하나 이상의 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성된다.
입력층은 외부의 자료들을 받아들이는 층으로서, 입력층의 뉴런 수는 입력되는 변수의 수와 동일하며, 은닉층은 입력층과 출력층 사이에 위치하며 입력층으로부터 신호를 받아 특성을 추출하여 출력층으로 전달한다. 출력층은 은닉층으로부터 신호를 받고, 수신한 신호에 기반한 출력 값을 출력한다. 뉴런간의 입력신호는 각각의 연결강도(가중치)와 곱해진 후 합산되며 이 합이 뉴런의 임계치보다 크면 뉴런이 활성화되어 활성화 함수를 통하여 획득한 출력값을 출력한다.
한편 입력층과 출력 층 사이에 복수의 은닉층을 포함하는 심층 신경망은, 기계 학습 기술의 한 종류인 딥 러닝을 구현하는 대표적인 인공 신경망일 수 있다.
한편 용어 '딥 러닝'은 용어 '심층 학습'과 혼용되어 사용될 수 있다.
인공 신경망은 훈련 데이터(training data)를 이용하여 학습(training)될 수 있다. 여기서 학습이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 학습 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다. 인공 신경망의 파라미터의 대표적인 예시로써, 시냅스에 부여되는 가중치(weight)나 뉴런에 적용되는 편향(bias)을 들 수 있다.
훈련 데이터에 의하여 학습된 인공 신경망은, 입력 데이터를 입력 데이터가 가지는 패턴에 따라 분류하거나 군집화 할 수 있다.
한편 훈련 데이터를 이용하여 학습된 인공 신경망을, 본 명세서에서는 학습 모델(a trained model)이라 명칭 할 수 있다.
다음은 인공 신경망의 학습 방식에 대하여 설명한다.
인공 신경망의 학습 방식은 크게, 지도 학습, 비 지도 학습, 준 지도 학습(Semi-Supervised Learning), 강화 학습(Reinforcement Learning)으로 분류될 수 있다.
지도 학습은 훈련 데이터로부터 하나의 함수를 유추해내기 위한 기계 학습의 한 방법이다.
그리고 이렇게 유추되는 함수 중, 연속 적인 값을 출력하는 것을 회귀분석(Regression)이라 하고, 입력 벡터의 클래스(class)를 예측하여 출력하는 것을 분류(Classification)라고 할 수 있다.
지도 학습에서는, 훈련 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시킨다.
여기서 레이블이란, 훈련 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다.
본 명세서에서는 훈련 데이터가 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과값)을 레이블 또는 레이블링 데이터(labeling data)이라 명칭 한다.
또한 본 명세서에서는, 인공 신경망의 학습을 위하여 훈련 데이터에 레이블을 설정하는 것을, 훈련 데이터에 레이블링 데이터를 레이블링(labeling) 한다고 명칭 한다.
이 경우 훈련 데이터와 훈련 데이터에 대응하는 레이블)은 하나의 트레이닝 셋(training set)을 구성하고, 인공 신경망에는 트레이닝 셋의 형태로 입력될 수 있다.
한편 훈련 데이터는 복수의 특징(feature)을 나타내고, 훈련 데이터에 레이블이 레이블링 된다는 것은 훈련 데이터가 나타내는 특징에 레이블이 달린다는 것을 의미할 수 있다. 이 경우 훈련 데이터는 입력 객체의 특징을 벡터 형태로 나타낼 수 있다.
인공 신경망은 훈련 데이터와 레이블링 데이터를 이용하여, 훈련 데이터와 레이블링 데이터의 연관 관계에 대한 함수를 유추할 수 있다. 그리고, 인공 신경망에서 유추된 함수에 대한 평가를 통해 인공 신경망의 파라미터가 결정(최적화)될 수 있다.
비 지도 학습은 기계 학습의 일종으로, 훈련 데이터에 대한 레이블이 주어지지 않는다.
구체적으로, 비 지도 학습은, 훈련 데이터 및 훈련 데이터에 대응하는 레이블의 연관 관계 보다는, 훈련 데이터 자체에서 패턴을 찾아 분류하도록 인공 신경망을 학습시키는 학습 방법일 수 있다.
비 지도 학습의 예로는, 군집화 또는 독립 성분 분석(Independent Component Analysis)을 들 수 있다.
본 명세서에서 용어 '군집화'는 용어 '클러스터링'과 혼용되어 사용될 수 있다.
비지도 학습을 이용하는 인공 신경망의 일례로 생성적 적대 신경망(GAN: Generative Adversarial Network), 오토 인코더(AE: Autoencoder)를 들 수 있다.
생성적 적대 신경망이란, 생성기(generator)와 판별기(discriminator), 두 개의 서로 다른 인공지능이 경쟁하며 성능을 개선하는 머신 러닝 방법이다.
이 경우 생성기는 새로운 데이터를 창조하는 모형으로, 원본 데이터를 기반으로 새로운 데이터를 생성할 수 있다.
또한 판별기는 데이터의 패턴을 인식하는 모형으로, 입력된 데이터가 원본 데이터인지 또는 생성기에서 생성한 새로운 데이터인지 여부를 감별하는 역할을 수행할 수 있다.
그리고 생성기는 판별기를 속이지 못한 데이터를 입력 받아 학습하며, 판별기는 생성기로부터 속은 데이터를 입력 받아 학습할 수 있다. 이에 따라 생성기는 판별기를 최대한 잘 속이도록 진화할 수 있고, 판별기는 원본 데이터와 생성기에 의해 생성된 데이터를 잘 구분하도록 진화할 수 있다.
오토 인코더는 입력 자체를 출력으로 재현하는 것을 목표로 하는 신경망이다.
오토 인코더는 입력층, 적어도 하나의 은닉층 및 출력층을 포함한다.
이 경우 은닉 계층의 노드 수가 입력 계층의 노드 수보다 적으므로 데이터의 차원이 줄어들게 되며, 이에 따라 압축 또는 인코딩이 수행되게 된다.
또한 은닉 계층에서 출력한 데이터는 출력 계층으로 들어간다. 이 경우 출력 계층의 노드 수는 은닉 계층의 노드 수보다 많으므로, 데이터의 차원이 늘어나게 되며, 이에 따라 압축 해제 또는 디코딩이 수행되게 된다.
한편 오토 인코더는 학습을 통해 뉴런의 연결 강도를 조절함으로써 입력 데이터가 은닉층 데이터로 표현된다. 은닉층에서는 입력층보다 적은 수의 뉴런으로 정보를 표현하는데 입력 데이터를 출력으로 재현할 수 있다는 것은, 은닉층이 입력 데이터로부터 숨은 패턴을 발견하여 표현했다는 것을 의미할 수 있다.
준 지도 학습은 기계 학습의 일종으로, 레이블이 주어진 훈련 데이터와 레이블이 주어지지 않은 훈련 데이터를 모두 사용하는 학습 방법을 의미할 수 있다.
준 지도 학습의 기법 중 하나로, 레이블이 주어지지 않은 훈련 데이터의 레이블을 추론한 후 추론된 라벨을 이용하여 학습을 수행하는 기법이 있으며, 이러한 기법은 레이블링에 소요되는 비용이 큰 경우에 유용하게 사용될 수 있다.
강화 학습은, 에이전트(Agent)가 매 순간 어떤 행동을 해야 좋을지 판단할 수 있는 환경이 주어진다면, 데이터 없이 경험으로 가장 좋을 길을 찾을 수 있다는 이론이다.
강화 학습은 주로 마르코프 결정 과정(MDP: Markov Decision Process)에 의하여 수행될 수 있다.
마르코프 결정 과정을 설명하면, 첫 번째로 에이전트가 다음 행동을 하기 위해 필요한 정보들이 구성된 환경이 주어지며, 두 번째로 그 환경에서 에이전트가 어떻게 행동할지 정의하고, 세 번째로 에이전트가 무엇을 잘하면 보상(reward)를 주고 무엇을 못하면 벌점(penalty)을 줄지 정의하며, 네 번째로 미래의 보상이 최고점에 이를 때까지 반복 경험하여 최적의 정책(policy)을 도출하게 된다.
인공 신경망은 모델의 구성, 활성 함수(Activation Function), 손실 함수(Loss Function) 또는 비용 함수(Cost Function), 학습 알고리즘, 최적화 알고리즘 등에 의해 그 구조가 특정되며, 학습 전에 하이퍼파라미터(Hyperparameter)가 미리 설정되고, 이후에 학습을 통해 모델 파라미터(Model Parameter)가 설정되어 내용이 특정될 수 있다.
예컨대, 인공 신경망의 구조를 결정하는 요소에는 은닉층의 개수, 각 은닉층에 포함된 은닉 노드의 개수, 입력 특징 벡터(Input Feature Vector), 대상 특징 벡터(Target Feature Vector) 등이 포함될 수 있다.
하이퍼파라미터는 모델 파라미터의 초기값 등과 같이 학습을 위하여 초기에 설정하여야 하는 여러 파라미터들을 포함한다. 그리고, 모델 파라미터는 학습을 통하여 결정하고자 하는 여러 파라미터들을 포함한다.
예컨대, 하이퍼파라미터에는 노드 간 가중치 초기값, 노드 간 편향 초기값, 미니 배치(Mini-batch) 크기, 학습 반복 횟수, 학습률(Learning Rate) 등이 포함될 수 있다. 그리고, 모델 파라미터에는 노드 간 가중치, 노드 간 편향 등이 포함될 수 있다.
손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표(기준)로 이용될 수 있다. 인공 신경망에서 학습은 손실 함수를 줄이기 위하여 모델 파라미터들을 조작하는 과정을 의미하며, 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다.
손실 함수는 주로 평균 제곱 오차(MSE: Mean Squared Error) 또는 교차 엔트로피 오차(CEE, Cross Entropy Error)를 사용할 수 있으며, 본 발명이 이에 한정되지는 않는다.
교차 엔트로피 오차는 정답 레이블이 원 핫 인코딩(one-hot encoding)된 경우에 사용될 수 있다. 원 핫 인코딩은 정답에 해당하는 뉴런에 대하여만 정답 레이블 값을 1로, 정답이 아닌 뉴런은 정답 레이블 값이 0으로 설정하는 인코딩 방법이다.
머신 러닝 또는 딥 러닝에서는 손실 함수를 최소화하기 위하여 학습 최적화 알고리즘을 이용할 수 있으며, 학습 최적화 알고리즘에는 경사 하강법(GD: Gradient Descent), 확률적 경사 하강법(SGD: Stochastic Gradient Descent), 모멘텀(Momentum), NAG(Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam 등이 있다.
경사 하강법은 현재 상태에서 손실 함수의 기울기를 고려하여 손실 함수값을 줄이는 방향으로 모델 파라미터를 조정하는 기법이다.
모델 파라미터를 조정하는 방향은 스텝(step) 방향, 조정하는 크기는 스텝 사이즈(size)라고 칭한다.
이때, 스텝 사이즈는 학습률을 의미할 수 있다.
경사 하강법은 손실 함수를 각 모델 파라미터들로 편미분하여 기울기를 획득하고, 모델 파라미터들을 획득한 기울기 방향으로 학습률만큼 변경하여 갱신할 수 있다.
확률적 경사 하강법은 학습 데이터를 미니 배치로 나누고, 각 미니 배치마다 경사 하강법을 수행하여 경사 하강의 빈도를 높인 기법이다.
Adagrad, AdaDelta 및 RMSProp는 SGD에서 스텝 사이즈를 조절하여 최적화 정확도를 높이는 기법이다. SGD에서 모멘텀 및 NAG는 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다. Adam은 모멘텀과 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다. Nadam은 NAG와 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다.
인공 신경망의 학습 속도와 정확도는 인공 신경망의 구조와 학습 최적화 알고리즘의 종류뿐만 아니라, 하이퍼파라미터에 크게 좌우되는 특징이 있다. 따라서, 좋은 학습 모델을 획득하기 위하여는 적당한 인공 신경망의 구조와 학습 알고리즘을 결정하는 것뿐만 아니라, 적당한 하이퍼파라미터를 설정하는 것이 중요하다.
통상적으로 하이퍼파라미터는 실험적으로 다양한 값으로 설정해가며 인공 신경망을 학습시켜보고, 학습 결과 안정적인 학습 속도와 정확도를 제공하는 최적의 값으로 설정한다.
위와 같은 방식들을 이용하면 피가열체의 온도에 대한 추정이 더욱 정교해질 수 있다.
본 발명의 실시예에서 사용되기 위한 심층 신경망 모델을 생성하기 위해서는 다양한 방식이 존재할 수 있으나, 지도 학습의 경우에는 사전 작업으로서 아래와 같은 훈련 과정이 수행될 수 있다.
결과적으로, 본 발명의 객체 인식을 위한 자동 레이블링 장치는 객체에 대한 데이터 셋을 입력값과 타겟 출력값의 쌍으로 정의하고, 입력값으로서 다양한 이미지 프레임에서의 객체 이미지를 설정하고, 타겟 출력값으로서 이미지 프레임 내 객체의 종류를 설정할 수 있다. 본 발명의 객체 인식을 위한 자동 레이블링 장치는 객체에 대한 데이터 셋으로 심층 신경망 모델을 학습시켜, 수신되는 이미지 프레임들로부터 객체를 인식할 수 있는 신경망 모델을 미리 훈련시키거나, 또는 외부 서버로부터 미리 훈련된 신경망 모델을 제공받아 메모리에 저장할 수 있다.
도 8은 본 발명의 일실시예에 따른 객체 인식을 위한 자동 레이블링 방법을 나타내는 흐름도이다. 여기서, 본 발명의 객체 인식을 위한 자동 레이블링 방법을 구현하는 객체 인식을 위한 자동 레이블링 장치는 이미지 프레임들에 적용하여 객체를 인식하도록 하는 객체 인식 알고리즘으로서, 복수의 이미지 프레임들에서 객체를 인식하도록 미리 훈련된 신경망 모델을 메모리에 저장할 수 있다.
도 8을 참조하면, 단계 S810에서, 객체 인식을 위한 자동 레이블링 장치는 복수의 이미지 프레임들을 수신할 수 있다.
단계 S820에서, 객체 인식을 위한 자동 레이블링 장치는 상기 수신된 이미지 프레임들 각각에 객체 인식 알고리즘을 적용하여 객체를 인식할 수 있다.
단계 S830에서, 객체 인식을 위한 자동 레이블링 장치는 상기 이미지 프레임들 중 적어도 하나의 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는지를 판단할 수 있다.
이때, 객체 인식을 위한 자동 레이블링 장치는 상기 제1 이미지 프레임에서의 객체 인식 결과로서, 상기 제1 이미지 프레임으로부터 객체가 인식되지 않음에 기초하여, 상기 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다.
객체 인식을 위한 자동 레이블링 장치는 상기 제1 이미지 프레임으로부터 인식된 객체의 종류가, 상기 제1 이미지 프레임보다 설정된 시간 전 또는 후에 수신된 이미지 프레임들(또는, 제1 이미지 프레임을 기준으로 설정된 시간 간격 내에 수신된 이미지 프레임) 각각으로부터 인식된 객체의 종류와 상이함에 기초하여, 상기 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다.
또한, 객체 인식을 위한 자동 레이블링 장치는 상기 제1 이미지 프레임으로부터 인식된 객체의 객체 인식 신뢰도가 설정된 기준치 미만으로 확인함에 기초하여, 상기 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단할 수 있다.
단계 S840에서, 객체 인식을 위한 자동 레이블링 장치는 상기 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 단계 S850에서, 상기 이미지 프레임들 중 상기 제1 이미지 프레임을 제외한 제2 이미지 프레임의 객체 인식 결과 및 상기 제1 이미지 프레임에서의 객체 이미지를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋을 자동으로 생성할 수 있다. 여기서, 상기 제2 이미지 프레임은 설정된 에러조건에 해당하지 않는 이미지 프레임들 중 적어도 하나의 이미지 프레임이고, 상기 제2 이미지 프레임에서의 객체 인식 결과는 설정된 기준치(예컨대, 90%) 이상의 객체 인식 신뢰도를 가지고 있을 수 있다. 또한, 상기 제2 이미지 프레임의 객체 인식 결과에서 객체의 종류는 모두 동일할 수 있다.
즉, 객체 인식을 위한 자동 레이블링 장치는 정상적으로 객체가 인식된 제2 이미지 프레임의 객체 인식 결과를 이용하여, 객체가 정상적으로 인식되지 않은 제1 이미지 프레임의 객체 인식 결과를 추정할 수 있다.
상기 객체에 대한 데이터 셋 생성시, 객체 인식을 위한 자동 레이블링 장치는 상기 객체 인식의 대상이 된 객체에 대한 데이터 셋을 입력값과 타겟 출력값의 쌍으로 정의할 수 있다. 이때, 객체 인식을 위한 자동 레이블링 장치는 입력값을 상기 제1 이미지 프레임에서의 객체 이미지로 설정하고, 레이블로 지정되는 타겟 출력값을 상기 제2 이미지 프레임으로부터 인식된 객체의 종류로 설정할 수 있다.
또한, 객체 인식을 위한 자동 레이블링 장치는 상기 제1 이미지 프레임에서 객체가 존재할 예상 영역의 위치를 추정하고, 추정된 예상 영역의 객체 이미지를 이용하여, 객체에 대한 데이터 셋을 보다 정확하게 생성할 수 있다.
상기 예상 영역의 위치 추정시, 객체 인식을 위한 자동 레이블링 장치는 상기 제1 이미지 프레임보다 설정된 제1 시간 전에 수신한 제2 이미지 프레임으로부터 객체가 인식된 제1 영역의 위치 및 상기 제1 이미지 프레임보다 설정된 제2 시간 후에 수신한 제2 이미지 프레임으로부터 객체가 인식된 제2 영역의 위치에 기초하여, 상기 제1 이미지 프레임에서 객체가 존재할 예상 영역의 위치를 추정할 수 있다. 이때, 객체 인식을 위한 자동 레이블링 장치는 상기 제1 시간과 상기 제2 시간 간의 비율에 기초하여, 상기 제1 영역의 위치와 상기 제2 영역의 위치 사이를 연결하는 지점들 중 상기 제1 영역으로부터 상기 제2 영역까지의 거리에서 상기 비율에 해당하는 거리에 위치한 지점에 대한 영역의 위치를, 상기 예상 영역의 위치로 추정할 수 있다.
상기 객체에 대한 데이터 셋을 생성하는 다른 일례로서, 객체 인식을 위한 자동 레이블링 장치는 상기 입력값을 상기 제1 이미지 프레임에서의 상기 예상 영역의 객체 이미지로 설정하고, 레이블로 지정되는 상기 타겟 출력값을, 상기 제2 이미지 프레임으로부터 인식된 객체의 종류로 설정함으로써, 객체가 이동하더라도 상기 객체에 대한 데이터 셋을 보다 정확하게 생성할 수 있다.
이후, 객체 인식을 위한 자동 레이블링 장치는 상기 생성된 객체에 대한 데이터 셋을 이용하여 상기 객체 인식 알고리즘을 업데이트할 수 있다. 이에 따라, 객체 인식을 위한 자동 레이블링 장치는 추후 수신되는 신규 이미지 프레임에 대한 에러 발생률을 감소시키고, 객체 인식 신뢰도를 설정된 기준치 이상으로 증가시킬 수 있다.
또한, 객체 인식을 위한 자동 레이블링 장치는 설정된 개수 이상 연속적으로 수신된 제1 이미지 프레임들에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 객체 인식을 위한 자동 레이블링 장치와 통신하는 서버를 이용하여 상기 객체 인식 알고리즘을 업데이트할 수 있다. 이때, 객체 인식을 위한 자동 레이블링 장치는 상기 생성된 데이터 셋을 서버로 전송하여, 상기 서버에서 상기 데이터 셋에 기초하여 상기 객체 인식 알고리즘을 업데이트하도록 한다. 이후, 객체 인식을 위한 자동 레이블링 장치는 상기 업데이트된 객체 인식 알고리즘을 상기 서버로부터 수신하고, 상기 객체 인식 알고리즘을 상기 업데이트된 객체 인식 알고리즘으로 대체할 수 있다. 이때, 객체 인식을 위한 자동 레이블링 장치는 상기 객체 인식 알고리즘 업데이트를 위한 과정을 서버가 대신하도록 하여, 상기 업데이트에 사용되는 계산량 또는 에너지를 감소시킬 수 있고, 보다 신속하게 업데이트시킬 수 있다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
300: 객체 인식을 위한 자동 레이블링 장치
310: 수신부
320: 프로세서
330: 메모리

Claims (20)

  1. 객체 식별을 위한 자동 레이블링 장치로서,
    복수의 이미지 프레임들을 수신하는 수신부; 및
    상기 수신된 이미지 프레임들 각각에 객체 인식 알고리즘을 적용하여 객체를 인식하고, 상기 이미지 프레임들 중 적어도 하나의 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 상기 이미지 프레임들 중 상기 제1 이미지 프레임을 제외한 제2 이미지 프레임의 객체 인식 결과 및 상기 제1 이미지 프레임에서의 객체 이미지를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋(data set)을 자동으로 생성하는 프로세서를 포함하는,
    객체 인식을 위한 자동 레이블링 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 이미지 프레임에서의 객체 인식 결과로서, ⅰ)상기 제1 이미지 프레임으로부터 객체가 인식되지 않거나,
    ⅱ)상기 제1 이미지 프레임으로부터 인식된 객체의 종류가, 상기 제1 이미지 프레임보다 설정된 시간 전 또는 후에 수신된 이미지 프레임들 각각으로부터 인식된 객체의 종류와 상이하거나, 또는
    ⅲ)상기 제1 이미지 프레임으로부터 인식된 객체의 객체 인식 신뢰도가 설정된 기준치 미만으로 확인함에 기초하여,
    상기 제1 이미지 프레임에서의 객체 인식 결과가, 상기 설정된 에러조건에 해당하는 것으로 판단하는,
    객체 인식을 위한 자동 레이블링 장치.
  3. 제1항에 있어서,
    상기 객체 인식 알고리즘은,
    복수의 이미지 프레임들에서 객체를 인식하도록 미리 훈련된 신경망 모델인,
    객체 인식을 위한 자동 레이블링 장치.
  4. 제3항에 있어서,
    상기 제2 이미지 프레임에서의 객체 인식 결과는 설정된 기준치 이상의 객체 인식 신뢰도를 가지고 있고,
    상기 프로세서는,
    상기 객체 인식의 대상이 된 객체에 대한 데이터 셋을 입력값과 타겟 출력값의 쌍으로 정의하고, 상기 입력값을 상기 제1 이미지 프레임에서의 객체 이미지로 설정하고, 레이블(label)로 지정되는 상기 타겟 출력값을 상기 제2 이미지 프레임으로부터 인식된 객체의 종류로 설정하는,
    객체 인식을 위한 자동 레이블링 장치.
  5. 제1항에 있어서,
    상기 제2 이미지 프레임은 설정된 에러조건에 해당하지 않는 이미지 프레임들 중 적어도 하나의 이미지 프레임이고,
    상기 제2 이미지 프레임에서의 객체 인식 결과는 설정된 기준치 이상의 객체 인식 신뢰도를 가지고 있고,
    상기 제2 이미지 프레임의 객체 인식 결과에서 객체의 종류는 모두 동일한,
    객체 인식을 위한 자동 레이블링 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 제1 이미지 프레임보다 설정된 제1 시간 전에 수신한 제2 이미지 프레임으로부터 객체가 인식된 제1 영역의 위치 및 상기 제1 이미지 프레임보다 설정된 제2 시간 후에 수신한 제2 이미지 프레임으로부터 객체가 인식된 제2 영역의 위치에 기초하여, 상기 제1 이미지 프레임에서 객체가 존재할 예상 영역의 위치를 추정하는,
    객체 인식을 위한 자동 레이블링 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 객체 인식의 대상이 된 객체에 대한 데이터 셋을 입력값과 타겟 출력값의 쌍으로 정의하고, 상기 입력값을 상기 제1 이미지 프레임에서의 상기 예상 영역의 객체 이미지로 설정하고, 레이블로 지정되는 상기 타겟 출력값을, 상기 제2 이미지 프레임으로부터 인식된 객체의 종류로 설정하는,
    객체 인식을 위한 자동 레이블링 장치.
  8. 제6항에 있어서,
    상기 프로세서는,
    상기 제1 시간과 상기 제2 시간 간의 비율에 기초하여, 상기 제1 영역의 위치와 상기 제2 영역의 위치 사이를 연결하는 지점들 중 상기 제1 영역으로부터 상기 제2 영역까지의 거리에서 상기 비율에 해당하는 거리에 위치한 지점에 대한 영역의 위치를, 상기 예상 영역의 위치로 추정하는,
    객체 인식을 위한 자동 레이블링 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 생성된 객체에 대한 데이터 셋을 메모리에 저장하고, 상기 메모리에 저장된 데이터 셋을 이용하여 상기 객체 인식 알고리즘을 업데이트하는,
    객체 인식을 위한 자동 레이블링 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    설정된 개수 이상 연속적으로 수신된 제1 이미지 프레임들에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 상기 생성된 데이터 셋을 서버로 전송하여, 상기 서버에서 상기 데이터 셋에 기초하여 상기 객체 인식 알고리즘을 업데이트하도록 하고,
    상기 업데이트된 객체 인식 알고리즘을 상기 서버로부터 수신하며, 상기 객체 인식 알고리즘을 상기 업데이트된 객체 인식 알고리즘으로 대체하는,
    객체 인식을 위한 자동 레이블링 장치.
  11. 객체 식별을 위한 자동 레이블링 방법으로서,
    복수의 이미지 프레임들을 수신하는 단계;
    상기 수신된 이미지 프레임들 각각에 객체 인식 알고리즘을 적용하여 객체를 인식하는 단계;
    상기 이미지 프레임들 중 적어도 하나의 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는지를 판단하는 단계; 및
    상기 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 상기 이미지 프레임들 중 상기 제1 이미지 프레임을 제외한 제2 이미지 프레임의 객체 인식 결과 및 상기 제1 이미지 프레임에서의 객체 이미지를 이용하여, 객체 인식의 대상이 된 객체에 대한 데이터 셋을 자동으로 생성하는 단계를 포함하는,
    객체 인식을 위한 자동 레이블링 방법.
  12. 제11항에 있어서,
    상기 제1 이미지 프레임에서의 객체 인식 결과가, 설정된 에러조건에 해당하는지를 판단하는 단계는,
    상기 제1 이미지 프레임에서의 객체 인식 결과로서, 상기 제1 이미지 프레임으로부터 객체가 인식되지 않거나,
    상기 제1 이미지 프레임으로부터 인식된 객체의 종류가, 상기 제1 이미지 프레임보다 설정된 시간 전 또는 후에 수신된 이미지 프레임들 각각으로부터 인식된 객체의 종류와 상이하거나, 또는
    상기 제1 이미지 프레임으로부터 인식된 객체의 객체 인식 신뢰도가 설정된 기준치 미만으로 확인함에 기초하여,
    상기 제1 이미지 프레임에서의 객체 인식 결과가, 상기 설정된 에러조건에 해당하는 것으로 판단하는 단계를 포함하는,
    객체 인식을 위한 자동 레이블링 방법.
  13. 제11항에 있어서,
    상기 객체 인식 알고리즘은,
    복수의 이미지 프레임들에서 객체를 인식하도록 미리 훈련된 신경망 모델인,
    객체 인식을 위한 자동 레이블링 방법.
  14. 제13항에 있어서,
    상기 제2 이미지 프레임에서의 객체 인식 결과는 설정된 기준치 이상의 객체 인식 신뢰도를 가지고 있고,
    상기 데이터 셋을 자동으로 생성하는 단계는,
    상기 객체 인식의 대상이 된 객체에 대한 데이터 셋을 입력값과 타겟 출력값의 쌍으로 정의하는 단계를 포함하고,
    상기 입력값은 상기 제1 이미지 프레임에서의 객체 이미지로 설정되고, 레이블로 지정되는 상기 타겟 출력값은 상기 제2 이미지 프레임으로부터 인식된 객체의 종류로 설정되는,
    객체 인식을 위한 자동 레이블링 방법.
  15. 제11항에 있어서,
    상기 제2 이미지 프레임은 설정된 에러조건에 해당하지 않는 이미지 프레임들 중 적어도 하나의 이미지 프레임이고,
    상기 제2 이미지 프레임에서의 객체 인식 결과는 설정된 기준치 이상의 객체 인식 신뢰도를 가지고 있고,
    상기 제2 이미지 프레임의 객체 인식 결과에서 객체의 종류는 모두 동일한,
    객체 인식을 위한 자동 레이블링 방법.
  16. 제15항에 있어서,
    상기 데이터 셋을 자동으로 생성하는 단계는,
    상기 제1 이미지 프레임보다 설정된 제1 시간 전에 수신한 제2 이미지 프레임으로부터 객체가 인식된 제1 영역의 위치 및 상기 제1 이미지 프레임보다 설정된 제2 시간 후에 수신한 제2 이미지 프레임으로부터 객체가 인식된 제2 영역의 위치에 기초하여, 상기 제1 이미지 프레임에서 객체가 존재할 예상 영역의 위치를 추정하는 단계를 포함하는,
    객체 인식을 위한 자동 레이블링 방법.
  17. 제16항에 있어서,
    상기 데이터 셋을 자동으로 생성하는 단계는,
    상기 객체 인식의 대상이 된 객체에 대한 데이터 셋을 입력값과 타겟 출력값의 쌍으로 정의하는 단계를 더 포함하고,
    상기 입력값은 상기 제1 이미지 프레임에서의 상기 예상 영역의 객체 이미지로 설정되고, 레이블로 지정되는 상기 타겟 출력값은 상기 제2 이미지 프레임으로부터 인식된 객체의 종류로 설정되는,
    객체 인식을 위한 자동 레이블링 방법.
  18. 제16항에 있어서,
    상기 예상 영역의 위치를 추정하는 단계는,
    상기 제1 시간과 상기 제2 시간 간의 비율에 기초하여, 상기 제1 영역의 위치와 상기 제2 영역의 위치 사이를 연결하는 지점들 중 상기 제1 영역으로부터 상기 제2 영역까지의 거리에서 상기 비율에 해당하는 거리에 위치한 지점에 대한 영역의 위치를, 상기 예상 영역의 위치로 추정하는 단계를 포함하는,
    객체 인식을 위한 자동 레이블링 방법.
  19. 제11항에 있어서,
    상기 데이터 셋을 자동으로 생성하는 단계 이후에,
    상기 생성된 객체에 대한 데이터 셋을 이용하여 상기 객체 인식 알고리즘을 업데이트하는 단계를 더 포함하는,
    객체 인식을 위한 자동 레이블링 방법.
  20. 제11항에 있어서,
    상기 데이터 셋을 자동으로 생성하는 단계 이후에,
    설정된 개수 이상 연속적으로 수신된 제1 이미지 프레임들에서의 객체 인식 결과가, 설정된 에러조건에 해당하는 것으로 판단함에 따라, 상기 생성된 데이터 셋을 서버로 전송하는 단계;
    상기 서버에서 상기 데이터 셋에 기초하여 상기 객체 인식 알고리즘을 업데이트하도록 하고, 상기 업데이트된 객체 인식 알고리즘을 상기 서버로부터 수신하는 단계; 및
    상기 객체 인식 알고리즘을 상기 업데이트된 객체 인식 알고리즘으로 대체하는 단계를 더 포함하는,
    객체 인식을 위한 자동 레이블링 방법.
KR1020190157051A 2019-11-29 2019-11-29 객체 인식을 위한 자동 레이블링 장치 및 방법 KR20210067442A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190157051A KR20210067442A (ko) 2019-11-29 2019-11-29 객체 인식을 위한 자동 레이블링 장치 및 방법
US16/865,986 US11436848B2 (en) 2019-11-29 2020-05-04 Automatic labeling apparatus and method for object recognition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190157051A KR20210067442A (ko) 2019-11-29 2019-11-29 객체 인식을 위한 자동 레이블링 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20210067442A true KR20210067442A (ko) 2021-06-08

Family

ID=76091698

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190157051A KR20210067442A (ko) 2019-11-29 2019-11-29 객체 인식을 위한 자동 레이블링 장치 및 방법

Country Status (2)

Country Link
US (1) US11436848B2 (ko)
KR (1) KR20210067442A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102337070B1 (ko) * 2021-07-12 2021-12-08 (주)에이아이매틱스 이상 데이터 자동 검출 및 자동 라벨링 기술을 이용한 학습 데이터베이스 구축 방법 및 시스템
KR102340998B1 (ko) * 2021-07-06 2021-12-20 (주) 웨다 오토 레이블링 방법 및 시스템
KR102375541B1 (ko) * 2021-11-02 2022-03-17 주식회사 스누아이랩 구조적 일관성 손실을 갖는 인공지능서비스장치 및 그 장치의 구동방법
KR20230055004A (ko) * 2021-10-18 2023-04-25 주식회사 온택트헬스 심장 초음파 이미지 데이터를 증강하기 위한 방법 및 장치
WO2023096451A1 (ko) * 2021-11-29 2023-06-01 주식회사 바딧 센서 데이터에 대한 레이블링을 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
WO2023106515A1 (ko) * 2021-12-08 2023-06-15 전북대학교산학협력단 인공신경망 학습을 위한 반자동 정밀영역 레이블 획득 장치 및 방법

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070250898A1 (en) * 2006-03-28 2007-10-25 Object Video, Inc. Automatic extraction of secondary video streams
US10275687B2 (en) * 2017-02-16 2019-04-30 International Business Machines Corporation Image recognition with filtering of image classification output distribution
EP3568787B1 (en) * 2017-05-17 2024-04-10 Google LLC Automatic image sharing with designated users over a communication network
US20180373980A1 (en) * 2017-06-27 2018-12-27 drive.ai Inc. Method for training and refining an artificial intelligence
CN108229290B (zh) * 2017-07-26 2021-03-02 北京市商汤科技开发有限公司 视频物体分割方法和装置、电子设备、存储介质
CN110348270B (zh) * 2018-04-03 2023-06-09 扬智科技股份有限公司 影像物件辨识方法与影像物件辨识系统
US10956714B2 (en) * 2018-05-18 2021-03-23 Beijing Sensetime Technology Development Co., Ltd Method and apparatus for detecting living body, electronic device, and storage medium
WO2019229855A1 (ja) * 2018-05-29 2019-12-05 日本電気株式会社 物体検出装置、物体検出システム、物体検出方法、およびプログラムを記録する記録媒体
US11126863B2 (en) * 2018-06-08 2021-09-21 Southwest Airlines Co. Detection system
CN110149530B (zh) * 2018-06-15 2021-08-24 腾讯科技(深圳)有限公司 一种视频处理方法和装置
US10817740B2 (en) * 2018-06-20 2020-10-27 Zoox, Inc. Instance segmentation inferred from machine learning model output
US10754338B2 (en) * 2018-08-14 2020-08-25 GM Global Technology Operations LLC Controlling an autonomous vehicle based upon labels assigned to objects represented in sensor data
US10839222B2 (en) * 2018-09-24 2020-11-17 Apical Limited Video data processing
WO2020077501A1 (en) * 2018-10-15 2020-04-23 Guangdong Midea Kitchen Appliances Manufacturing Co., Ltd. System and method for collecting and annotating cooking images for training smart cooking appliances, locating food items in smart cooking appliances, and determining cooking progress of food items in smart cooking appliances
CN111091529A (zh) * 2018-10-24 2020-05-01 株式会社理光 一种人数统计方法及人数统计系统
US11164329B2 (en) * 2018-11-01 2021-11-02 Inpixon Multi-channel spatial positioning system
CN109635657B (zh) * 2018-11-12 2023-01-06 平安科技(深圳)有限公司 目标跟踪方法、装置、设备及存储介质
US10755099B2 (en) * 2018-11-13 2020-08-25 Adobe Inc. Object detection in images
CN109657554B (zh) * 2018-11-21 2022-12-20 腾讯科技(深圳)有限公司 一种基于微表情的图像识别方法、装置以及相关设备
CN109670532B (zh) * 2018-11-23 2022-12-09 腾讯医疗健康(深圳)有限公司 生物体器官组织图像的异常识别方法、装置及系统
US10891518B1 (en) * 2018-12-14 2021-01-12 Waymo Llc Auto labeler
JP7085646B2 (ja) * 2018-12-28 2022-06-16 株式会社Nttドコモ 位置推定システム
US10825188B1 (en) * 2019-03-08 2020-11-03 Zoox, Inc. Detector-tracker architecture
CN109934198B (zh) * 2019-03-22 2021-05-14 北京市商汤科技开发有限公司 人脸识别方法及装置
CN112001211B (zh) * 2019-05-27 2024-04-19 商汤集团有限公司 对象检测方法、装置、设备及计算机可读存储介质
JP7078021B2 (ja) * 2019-08-08 2022-05-31 トヨタ自動車株式会社 物体検出装置、物体検出方法及び物体検出用コンピュータプログラム
EP3798897A1 (en) * 2019-09-30 2021-03-31 JENOPTIK Traffic Solutions UK Ltd Methods for artificial neural networks

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102340998B1 (ko) * 2021-07-06 2021-12-20 (주) 웨다 오토 레이블링 방법 및 시스템
KR102337070B1 (ko) * 2021-07-12 2021-12-08 (주)에이아이매틱스 이상 데이터 자동 검출 및 자동 라벨링 기술을 이용한 학습 데이터베이스 구축 방법 및 시스템
WO2023287064A1 (ko) * 2021-07-12 2023-01-19 (주)에이아이매틱스 이상 데이터 자동 검출 및 자동 라벨링 기술을 이용한 학습 데이터베이스 구축 방법 및 시스템
KR20230055004A (ko) * 2021-10-18 2023-04-25 주식회사 온택트헬스 심장 초음파 이미지 데이터를 증강하기 위한 방법 및 장치
KR102375541B1 (ko) * 2021-11-02 2022-03-17 주식회사 스누아이랩 구조적 일관성 손실을 갖는 인공지능서비스장치 및 그 장치의 구동방법
WO2023096451A1 (ko) * 2021-11-29 2023-06-01 주식회사 바딧 센서 데이터에 대한 레이블링을 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
WO2023106515A1 (ko) * 2021-12-08 2023-06-15 전북대학교산학협력단 인공신경망 학습을 위한 반자동 정밀영역 레이블 획득 장치 및 방법

Also Published As

Publication number Publication date
US11436848B2 (en) 2022-09-06
US20210165996A1 (en) 2021-06-03

Similar Documents

Publication Publication Date Title
KR20210067442A (ko) 객체 인식을 위한 자동 레이블링 장치 및 방법
KR102137151B1 (ko) 노이즈 캔슬링 장치 및 그 방법
US11449045B2 (en) Artificial intelligence device and method of diagnosing malfunction using operation log and artificial intelligence model
US12014268B2 (en) Batch normalization layer training method
US11189284B2 (en) Apparatus for communicating with voice recognition device, apparatus with voice recognition capability and controlling method thereof
US9524461B1 (en) Conceptual computation system using a hierarchical network of modules
KR102365433B1 (ko) 교차 어텐션 모델 기반 감정 인식 방법 및 장치
US11264016B2 (en) Noise manageable electronic device and control method thereof
KR20200022739A (ko) 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
US11170266B2 (en) Apparatus and method for identifying object
EP3772710A1 (en) Artificial intelligence server
US11922316B2 (en) Training a neural network using periodic sampling over model weights
KR102658688B1 (ko) 이미지 조도 향상을 위한 방법 및 장치
KR102283022B1 (ko) 외부 영상에 기반한 로봇의 주행 방법과, 이를 구현하는 로봇 및 서버
KR20210033809A (ko) 인공 신경망을 이용하여 로봇을 제어하는 제어 서버 및 방법와, 이를 구현하는 로봇
US11721334B2 (en) Method and apparatus for controlling device located a distance away from a user
KR20200080418A (ko) 단말기 및 그의 동작 방법
KR20220069336A (ko) 객체 검출 방법 및 장치
KR20210088914A (ko) 공간 맵 정보 생성 방법 및 생성된 공간을 이동하는 이동로봇
US20210110158A1 (en) Method and apparatus for estimating location in a store based on recognition of product in image
US20210103811A1 (en) Apparatus and method for suggesting action item based on speech
KR20230069010A (ko) 정규화를 시행하는 딥 뉴럴 네트워크 학습 장치 및 그 방법
US10812904B2 (en) Acoustic equalization method, robot and AI server implementing the same
Galashov et al. Importance weighted policy learning and adaptation
KR102635526B1 (ko) 횡단보도 신호등 연계 기반 바닥 신호등 제어 시스템

Legal Events

Date Code Title Description
A201 Request for examination