KR20200094640A - 연속 학습을 이용해 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템을 제공하는 방법 및 이를 이용한 장치 - Google Patents

연속 학습을 이용해 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템을 제공하는 방법 및 이를 이용한 장치 Download PDF

Info

Publication number
KR20200094640A
KR20200094640A KR1020200001713A KR20200001713A KR20200094640A KR 20200094640 A KR20200094640 A KR 20200094640A KR 1020200001713 A KR1020200001713 A KR 1020200001713A KR 20200001713 A KR20200001713 A KR 20200001713A KR 20200094640 A KR20200094640 A KR 20200094640A
Authority
KR
South Korea
Prior art keywords
specific
vector
update
term update
term
Prior art date
Application number
KR1020200001713A
Other languages
English (en)
Other versions
KR102349927B1 (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 주식회사 스트라드비젼
Publication of KR20200094640A publication Critical patent/KR20200094640A/ko
Application granted granted Critical
Publication of KR102349927B1 publication Critical patent/KR102349927B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • G06K9/00026
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1335Combining adjacent partial images (e.g. slices) to create a composite input or reference pattern; Tracking a sweeping finger movement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • 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
    • 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
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • G06K9/00067
    • G06K9/00087
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1347Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Landscapes

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

Abstract

학습되지 않은 클래스(Untrained Class)를 가진 객체를 검출하기 위해 객체 검출 시스템(Object Detecting System)을 실시간으로 업데이트하는 방법에 있어서, (a) 적어도 하나의 입력 이미지(Input Image)가 획득되면, 객체 검출 시스템이, 이에 포함된 인식기(Recognizer)로 하여금 특정 특징 맵(Feature Map)을 생성하도록 한 후, 특정 쿼리 벡터(Query Vector)를 생성하도록 하는 단계; (b) 객체 검출 시스템이, 유사도 판단 유닛(Similarity Determining Unit)으로 하여금, (i) 특정 쿼리 벡터를 데이터 벡터와 비교하도록 하여, 특정 쿼리 벡터와 데이터 벡터 간의 각각의 제1 유사도 스코어(Similarity Score)를 산출하도록 하고, (ii) 특정 제1 유사도 스코어가 기설정된 제1 임계값 미만인 경우, 특정 부분 이미지(Partial Image)를 미지의 이미지 데이터베이스(Unknown-Image DB)에 추가하도록 하는 단계; 및 (c) 특정 클래스 정보가 획득되면, 객체 검출 시스템이, 단기 업데이트 유닛(Short-Term Update Unit)으로 하여금, 특정 단기 업데이트 벡터(Short-Term Update Vector)를 생성하도록 한 후, 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 단계를 포함하는 것을 특징으로 하는 방법이 개시된다.

Description

연속 학습을 이용해 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템을 제공하는 방법 및 이를 이용한 장치{METHOD FOR PROVIDING OBJECT DETECTING SYSTEM CAPABLE OF UPDATING TYPES OF DETECTABLE CLASSES IN REAL-TIME BY USING CONTINUAL LEARNING AND DEVICE USING THE SAME}
본 발명은 자율 주행 차량을 이용하는 방법과 장치에 관한 것으로, 상세하게는, 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템을 제공하는 방법 및 장치에 관한 것이다.
딥 컨벌루션 뉴럴 네트워크(Deep Convolution Neural Networks; Deep CNNs)는 딥 러닝 분야에서 일어난 놀라운 발전의 핵심이다. CNN은 글자 인식 문제를 풀기 위해 90년대에 이미 사용되었지만, 현재처럼 널리 쓰이게 된 것은 최근의 연구 결과 덕분이다. 이러한 CNN은 2012년 ImageNet 이미지 분류 시합에서 다른 경쟁자들을 이기고 우승을 차지했다. 그리고 나서 컨벌루션 뉴럴 네트워크는 기계 학습(Machine Learning) 분야에서 매우 유용한 툴이 되었다.
CNN은 최근 자율 주행 분야에서도 널리 사용된다. CNN은 자율 주행 차량에서, 시맨틱 세그멘테이션(Semantic Segmentation), 객체 검출 등의, 자율 주행을 보조하기 위한 여러 기능을 수행할 수 있는데, 이들은 주로 수만 장의 트레이닝 데이터 세트를 이용하여 학습된 후, 자율 주행 차량에 탑재되게 된다.
한편, 자율 주행 차량은 오랫동안 사용됨에 따라 문제가 발생할 수 있다. 그 중 하나로서, 시간이 지날수록 도로에는 학습 과정에서 존재하지 않았던 물체들이 추가되며, 따라서 CNN이 객체 검출기로서의 기능을 적절히 수행할 수 없게 되는 경우가 있다. 예를 들어, 차량들은 매년 새로이 출시되고, 그 디자인이 바뀌는데, 이 경우 객체 검출기가 이와 같은 새로운 차량을 차량으로서 검출할 수 없게 될 수 있다. 따라서, 자율 주행 차량에 탑재된 CNN은 정기적으로 업데이트되는 것이 필요하다. 하지만 CNN의 파라미터를 업데이트하기 위한 학습 프로세스에는 비용이 많이 들고, 이를 업데이트하기 위해 각각의 자율 주행 차량에 파라미터와 관련 정보를 전송하는 프로세스에도 비용이 많이 들 수 있는 문제가 있다.
본 발명은 상술한 문제점을 해결하는 것을 목적으로 한다.
본 발명은 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템을 제공함으로써 자율 주행 차량이 오랜 시간 주행되더라도 안전하게 주행될 수 있도록 하는 것을 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 학습되지 않은 클래스(Untrained Class)를 가진 객체를 검출하기 위해 객체 검출 시스템(Object Detecting System)을 실시간으로 업데이트하는 방법에 있어서, (a) 적어도 하나의 입력 이미지(Input Image)가 획득되면, 상기 객체 검출 시스템이, 이에 포함된 인식기(Recognizer)로 하여금 상기 입력 이미지의 특정 객체를 포함하는 특정 ROI에 대응하는 특정 특징 맵(Feature Map)을 생성하도록 한 후, 상기 특정 특징 맵을 이용하여 상기 특정 객체에 대응하는 특정 쿼리 벡터(Query Vector)를 생성하도록 하는 단계; (b) 상기 객체 검출 시스템이, 유사도 판단 유닛(Similarity Determining Unit)으로 하여금, (i) 상기 특정 쿼리 벡터를, 상기 객체 검출 시스템에 입력되는 이미지의 객체를 검출하는데 사용되는 적어도 하나의 특징 핑거프린트 데이터베이스(Feature Fingerprint DB)에 포함된 적어도 하나의 데이터 벡터와 비교하도록 하여, 상기 특정 쿼리 벡터와 각각의 상기 데이터 벡터 간의 각각의 적어도 하나의 제1 유사도 스코어(Similarity Score)를 산출하도록 하고, (ii) 제1 유사도 스코어(Similarity Score) 중 가장 큰 특정 제1 유사도 스코어가 기설정된 제1 임계값 미만인 경우, 상기 특정 ROI에 대응하는 특정 부분 이미지(Partial Image)를, 상기 특징 핑거프린트 데이터베이스의 업데이트에 사용되는 미지의 이미지 데이터베이스(Unknown-Image DB)에 추가하도록 하는 단계; 및 (c) 상기 특정 부분 이미지에 대응하는 특정 클래스 정보가 획득되면, 상기 객체 검출 시스템이, 단기 업데이트 유닛(Short-Term Update Unit)으로 하여금, 상기 특정 클래스 정보와, 상기 인식기에 의해 생성된 상기 특정 객체에 대응하는 특정 성분 벡터(Element Vector)를 이용하여, 상기 특정 객체에 대응하는 특정 단기 업데이트 벡터(Short-Term Update Vector)를 생성하도록 한 후, 이를 이용해 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (c) 단계에서, 상기 객체 검출 시스템이, 상기 단기 업데이트 유닛으로 하여금, (i) 상기 데이터 벡터 중에서 상기 특정 단기 업데이트 벡터와 동일한 클래스 정보를 가지는 특정 데이터 벡터와 상기 특정 단기 업데이트 벡터 간의 각각의 적어도 하나의 제2 유사도 스코어를 산출하도록 하고, (ii) 상기 제2 유사도 스코어 중 최대값을 선택하도록 하고, (iii) (iii-1) 최대 제2 유사도 스코어가 기설정된 제2 임계값 이상인 경우, 상기 최대 제2 유사도 스코어에 대응하는 타겟 데이터 벡터(Target Data Vector)를 상기 특정 단기 업데이트 벡터를 이용해 업데이트하도록 하고, (iii-2) 상기 최대 제2 유사도 스코어가 상기 제2 임계값 미만인 경우, 상기 특정 단기 업데이트 벡터를 상기 특징 핑거프린트 데이터베이스에 추가하도록 하여 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (c) 단계에서, 상기 최대 제2 유사도 스코어가 상기 제2 임계값 이상인 경우, 상기 객체 검출 시스템은, (1) 상기 단기 업데이트 유닛으로 하여금, 상기 타겟 데이터 벡터에 포함된 제1 대상 성분 내지 제N 대상 성분을 포함하는 각각의 대상 성분을, 상기 특정 단기 업데이트 벡터에 포함된 제1 업데이트 성분 내지 제N 업데이트 성분을 포함하는 각각의 업데이트 성분과 비교하도록 하고, (2) 상기 단기 업데이트 유닛으로 하여금, (i) K는 1 이상 N 이하의 정수로, 제K 대상 성분이 데이터 미존재를 나타내는 제1 기호(Notation)에 대응하지만 제K 업데이트 성분은 소정 값을 나타내는 제2 기호에 대응하는 경우, 상기 제K 대상 성분을 상기 제K 업데이트 성분으로 대체하도록 하고, (ii) 상기 제K 대상 성분이 상기 제2 기호에 대응하지만 상기 제K 업데이트 성분이 상기 제1 기호에 대응하는 경우, 상기 제K 대상 성분을 그대로 유지하도록 하며, (iii) 상기 제K 대상 성분과 상기 제K 업데이트 성분이 모두 상기 제2 기호에 대응하는 경우, 상기 제K 대상 성분과 상기 제K 업데이트 성분의 가중합(Weighted Sum)으로 상기 제K 대상 성분을 업데이트하도록 하고, (iv) 상기 제K 대상 성분과 상기 제K 업데이트 성분이 모두 상기 제1 기호에 대응하는 경우, 상기 제K 대상 성분을 그대로 유지하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (c) 단계에서, 상기 데이터 벡터 중에서 상기 특정 단기 업데이트 벡터와 동일한 클래스 정보를 가지는 상기 특정 데이터 벡터가 존재하지 않는 경우, 상기 객체 검출 시스템은, 상기 단기 업데이트 유닛으로 하여금, 상기 특정 단기 업데이트 벡터를 상기 특징 핑거프린트 데이터베이스에 추가하도록 하는 것을 특징으로 한다.
일 실시예에서, (d) 상기 객체 검출 시스템이, 장기 업데이트 유닛(Long-Term Update Unit)으로 하여금, 상기 단기 업데이트 유닛에 의해 사용된 후 적어도 하나의 기지의 이미지 데이터베이스(Known-Image DB)에 저장된, 상기 특정 부분 이미지를 포함하는 적어도 하나의 부분 이미지와 이에 대응하는 클래스 정보 - 상기 클래스 정보는 상기 객체 검출 시스템에 포함된 적어도 하나의 객체의 클래스를 나타냄 - 에 대응하는 적어도 하나의 장기 업데이트 벡터(Long-Term Update Unit)를 생성하도록 하고, 상기 장기 업데이트 벡터를 이용하여 상기 특징 핑거프린트 데이터베이스를 더 업데이트하도록 하되, 각각의 상기 장기 업데이트 벡터가 각각의 상기 부분 이미지와, 각각의 상기 클래스 정보를 나타내는 적어도 하나의 값을 포함하는 클래스 부분(Class Part)을 이용해 상기 인식기에 의해 생성된 적어도 하나의 값을 포함하는 참조 부분(Reference Part)을 포함하는 단계;를 더 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (d) 단계에서, 상기 객체 검출 시스템이, 상기 장기 업데이트 유닛으로 하여금, (i) 각각의 상기 장기 업데이트 벡터 사이의 적어도 하나의 제3 유사도 스코어를 산출하도록 하고, (ii) 적어도 하나의 통합 장기 업데이트 벡터(Integrated Long-Term Update Vector)를 생성하기 위해 서로 동일한 클래스 정보를 갖는 상기 장기 업데이트 벡터의 일부를 병합하고, 상기 통합 장기 업데이트 벡터와, 병합되지 않은 잔여 장기 업데이트 벡터(Remaining Long-Term Update Vector)를 상기 특징 핑거프린트 데이터베이스에 추가함으로써, 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (b) 단계에서, 상기 객체 검출 시스템이, 상기 유사도 판단 유닛으로 하여금,
Figure pat00001
상기 수식에 따라 상기 제1 유사도 스코어 중 하나를 산출하도록 하되,
Figure pat00002
는 상기 특정 쿼리 벡터이고,
Figure pat00003
는 상기 데이터 벡터 중 하나인 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 객체 검출 시스템이, (i) 상기 인식기에 대응하는 RPN으로 하여금 상기 입력 이미지에 포함된 상기 특정 ROI를 검출하도록 한 다음, (ii) 상기 인식기에 대응하는 적어도 하나의 키포인트 검출기(Keypoint Detector)로 하여금 상기 특정 ROI에 대응하는 상기 특정 부분 이미지 상의 적어도 하나의 키 영역(Key Region)을 검출하도록 하며, (iii) 상기 인식기에 대응하는 특징 추출기(Feature Extractor)로 하여금, 상기 특정 부분 이미지를 이용해 상기 특정 특징 맵을 생성하도록 한 뒤, (iv) 상기 인식기로 하여금 상기 특정 특징 맵 내의 상기 키 영역에 대응하는 값을 이용하여 상기 특정 쿼리 벡터를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 특징 추출기는, 적어도 하나의 컨벌루션 뉴런(Convolutional Neuron)을 갖는 적어도 하나의 컨벌루션 레이어를 포함하고, 각각의 상기 컨벌루션 뉴런으로 하여금 자신에게 입력된 값에 대하여, 상기 컨벌루션 뉴런의 파라미터를 이용하여 컨벌루션 연산을 적용하고 그 결과를 그 다음 컨벌루션 뉴런으로 전달하도록 함으로써 상기 특정 부분 이미지로부터 상기 특정 특징 맵을 추출하는 것을 특징으로 하고, 상기 파라미터는, 상기 (a) 단계 이전에 학습 프로세스를 거쳐 결정되는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, 학습되지 않은 클래스(Untrained Class)를 가진 객체를 검출하기 위해 객체 검출 시스템(Object Detecting System)을 실시간으로 업데이트하는 객체 검출 시스템에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 (I) 적어도 하나의 입력 이미지(Input Image)가 획득되면, 상기 객체 검출 시스템에 포함된 인식기(Recognizer)로 하여금 상기 입력 이미지의 특정 객체를 포함하는 특정 ROI에 대응하는 특정 특징 맵(Feature Map)을 생성하도록 한 후, 상기 특정 특징 맵을 이용하여 상기 특정 객체에 대응하는 특정 쿼리 벡터(Query Vector)를 생성하도록 하는 프로세스; (II) 유사도 판단 유닛(Similarity Determining Unit)으로 하여금, (i) 상기 특정 쿼리 벡터를, 상기 객체 검출 시스템에 입력되는 이미지의 객체를 검출하는데 사용되는 적어도 하나의 특징 핑거프린트 데이터베이스(Feature Fingerprint DB)에 포함된 적어도 하나의 데이터 벡터와 비교하도록 하여, 상기 특정 쿼리 벡터와 각각의 상기 데이터 벡터 간의 각각의 적어도 하나의 제1 유사도 스코어(Similarity Score)를 산출하도록 하고, (ii) 제1 유사도 스코어(Similarity Score) 중 가장 큰 특정 제1 유사도 스코어가 기설정된 제1 임계값 미만인 경우, 상기 특정 ROI에 대응하는 특정 부분 이미지(Partial Image)를, 상기 특징 핑거프린트 데이터베이스의 업데이트에 사용되는 미지의 이미지 데이터베이스(Unknown-Image DB)에 추가하도록 하는 프로세스; 및 (III) 상기 특정 부분 이미지에 대응하는 특정 클래스 정보가 획득되면, 단기 업데이트 유닛(Short-Term Update Unit)으로 하여금, 상기 특정 클래스 정보와, 상기 인식기에 의해 생성된 상기 특정 객체에 대응하는 특정 성분 벡터(Element Vector)를 이용하여, 상기 특정 객체에 대응하는 특정 단기 업데이트 벡터(Short-Term Update Vector)를 생성하도록 한 후, 이를 이용해 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 프로세서가, 상기 단기 업데이트 유닛으로 하여금, (i) 상기 데이터 벡터 중에서 상기 특정 단기 업데이트 벡터와 동일한 클래스 정보를 가지는 특정 데이터 벡터와 상기 특정 단기 업데이트 벡터 간의 각각의 적어도 하나의 제2 유사도 스코어를 산출하도록 하고, (ii) 상기 제2 유사도 스코어 중 최대값을 선택하도록 하고, (iii) (iii-1) 최대 제2 유사도 스코어가 기설정된 제2 임계값 이상인 경우, 상기 최대 제2 유사도 스코어에 대응하는 타겟 데이터 벡터(Target Data Vector)를 상기 특정 단기 업데이트 벡터를 이용해 업데이트하도록 하고, (iii-2) 상기 최대 제2 유사도 스코어가 상기 제2 임계값 미만인 경우, 상기 특정 단기 업데이트 벡터를 상기 특징 핑거프린트 데이터베이스에 추가하도록 하여 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 최대 제2 유사도 스코어가 상기 제2 임계값 이상인 경우, 상기 프로세서가, (I) 상기 단기 업데이트 유닛으로 하여금, 상기 타겟 데이터 벡터에 포함된 제1 대상 성분 내지 제N 대상 성분을 포함하는 각각의 대상 성분을, 상기 특정 단기 업데이트 벡터에 포함된 제1 업데이트 성분 내지 제N 업데이트 성분을 포함하는 각각의 업데이트 성분과 비교하도록 하고, (II) 상기 단기 업데이트 유닛으로 하여금, (i) K는 1 이상 N 이하의 정수로, 제K 대상 성분이 데이터 미존재를 나타내는 제1 기호(Notation)에 대응하지만 제K 업데이트 성분은 소정 값을 나타내는 제2 기호에 대응하는 경우, 상기 제K 대상 성분을 상기 제K 업데이트 성분으로 대체하도록 하고, (ii) 상기 제K 대상 성분이 상기 제2 기호에 대응하지만 상기 제K 업데이트 성분이 상기 제1 기호에 대응하는 경우, 상기 제K 대상 성분을 그대로 유지하도록 하며, (iii) 상기 제K 대상 성분과 상기 제K 업데이트 성분이 모두 상기 제2 기호에 대응하는 경우, 상기 제K 대상 성분과 상기 제K 업데이트 성분의 가중합(Weighted Sum)으로 상기 제K 대상 성분을 업데이트하도록 하고, (iv) 상기 제K 대상 성분과 상기 제K 업데이트 성분이 모두 상기 제1 기호에 대응하는 경우, 상기 제K 대상 성분을 그대로 유지하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 데이터 벡터 중에서 상기 특정 단기 업데이트 벡터와 동일한 클래스 정보를 가지는 상기 특정 데이터 벡터가 존재하지 않는 경우, 상기 프로세서가, 상기 단기 업데이트 유닛으로 하여금, 상기 특정 단기 업데이트 벡터를 상기 특징 핑거프린트 데이터베이스에 추가하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서가, (IV) 장기 업데이트 유닛(Long-Term Update Unit)으로 하여금, 상기 단기 업데이트 유닛에 의해 사용된 후 적어도 하나의 기지의 이미지 데이터베이스(Known-Image DB)에 저장된, 상기 특정 부분 이미지를 포함하는 적어도 하나의 부분 이미지와 이에 대응하는 클래스 정보 - 상기 클래스 정보는 상기 객체 검출 시스템에 포함된 적어도 하나의 객체의 클래스를 나타냄 - 에 대응하는 적어도 하나의 장기 업데이트 벡터(Long-Term Update Unit)를 생성하도록 하고, 상기 장기 업데이트 벡터를 이용하여 상기 특징 핑거프린트 데이터베이스를 더 업데이트하도록 하되, 각각의 상기 장기 업데이트 벡터가 각각의 상기 부분 이미지와, 각각의 상기 클래스 정보를 나타내는 적어도 하나의 값을 포함하는 클래스 부분(Class Part)을 이용해 상기 인식기에 의해 생성된 적어도 하나의 값을 포함하는 참조 부분(Reference Part)을 포함하는 프로세스;를 더 수행하는 것을 특징으로 하는 한다.
일 실시예에서, 상기 (IV) 프로세스에서, 상기 프로세서가, 상기 장기 업데이트 유닛으로 하여금, (i) 각각의 상기 장기 업데이트 벡터 사이의 적어도 하나의 제3 유사도 스코어를 산출하도록 하고, (ii) 적어도 하나의 통합 장기 업데이트 벡터(Integrated Long-Term Update Vector)를 생성하기 위해 서로 동일한 클래스 정보를 갖는 상기 장기 업데이트 벡터의 일부를 병합하고, 상기 통합 장기 업데이트 벡터와, 병합되지 않은 잔여 장기 업데이트 벡터(Remaining Long-Term Update Vector)를 상기 특징 핑거프린트 데이터베이스에 추가함으로써, 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (II) 프로세스에서, 상기 프로세서가, 상기 유사도 판단 유닛으로 하여금,
Figure pat00004
상기 수식에 따라 상기 제1 유사도 스코어 중 하나를 산출하도록 하되,
Figure pat00005
는 상기 특정 쿼리 벡터이고,
Figure pat00006
는 상기 데이터 벡터 중 하나인 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스에서, 상기 프로세서가, (i) 상기 인식기에 대응하는 RPN으로 하여금 상기 입력 이미지에 포함된 상기 특정 ROI를 검출하도록 한 다음, (ii) 상기 인식기에 대응하는 적어도 하나의 키포인트 검출기(Keypoint Detector)로 하여금 상기 특정 ROI에 대응하는 상기 특정 부분 이미지 상의 적어도 하나의 키 영역(Key Region)을 검출하도록 하며, (iii) 상기 인식기에 대응하는 특징 추출기(Feature Extractor)로 하여금, 상기 특정 부분 이미지를 이용해 상기 특정 특징 맵을 생성하도록 한 뒤, (iv) 상기 인식기로 하여금 상기 특정 특징 맵 내의 상기 키 영역에 대응하는 값을 이용하여 상기 특정 쿼리 벡터를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 특징 추출기는, 적어도 하나의 컨벌루션 뉴런(Convolutional Neuron)을 갖는 적어도 하나의 컨벌루션 레이어를 포함하고, 각각의 상기 컨벌루션 뉴런으로 하여금 자신에게 입력된 값에 대하여, 상기 컨벌루션 뉴런의 파라미터를 이용하여 컨벌루션 연산을 적용하고 그 결과를 그 다음 컨벌루션 뉴런으로 전달하도록 함으로써 상기 특정 부분 이미지로부터 상기 특정 특징 맵을 추출하는 것을 특징으로 하고, 상기 파라미터는, 상기 (I) 프로세스 이전에 학습 프로세스를 거쳐 결정되는 것을 특징으로 한다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명은 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템을 제공함으로써 자율 주행 차량이 오랜 시간 주행되더라도 안전하게 주행될 수 있도록 하는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따라 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템을 제공하는 방법을 수행하는 객체 검출 시스템의 구성을 간략하게 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따라 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템이 적어도 하나의 이미지에 포함된 각각의 객체의 클래스를 검출하는 프로세스를 간략하게 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따라 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템의 단기 업데이트를 수행하는 프로세스를 간략하게 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따라 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템의 장기 업데이트를 수행하는 프로세스를 간략하게 나타낸 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따라 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템을 제공하는 방법을 수행하는 객체 검출 시스템의 구성을 간략하게 나타낸 도면이다.
도 1을 참조하면, 객체 검출 시스템(100)은 추후 자세히 설명할 구성요소인 인식기(110), 특징 핑거프린트 데이터베이스(120), 미지의 이미지 데이터베이스(Unknown-Image DB)(130) 및 기지의 이미지 데이터베이스(Known-Image DB)(140)를 포함할 수 있다. 인식기(110), 특징 핑거프린트 데이터베이스(120), 미지의 이미지 데이터베이스(130) 및 기지의 이미지 데이터베이스(140)의 입출력 및 연산 과정은, 객체 검출 시스템(100)에 포함된 각각의 통신부 및 프로세서에 의해 수행될 수 있다. 또한, 객체 검출 시스템(100)에 포함된 메모리(미도시)는 후술할 여러 가지 인스트럭션(Instruction)을 저장한 상태일 수 있고, 프로세서(미도시)는 메모리(미도시)에 저장된 인스트럭션을 수행하며, 추후 설명할 인스트럭션을 수행함으로써 본 발명의 프로세스를 수행할 수 있다. 이와 같이 객체 검출 시스템(100)이 묘사되었다고 하여, 객체 검출 시스템(100)이 본 발명을 실시하기 위한 프로세서, 미디엄, 메모리 또는 다른 컴퓨팅 요소가 통합된 형태인 통합 프로세서(Integrated Processor)를 포함하는 경우를 배제하는 것은 아니다.
또한 객체 검출 시스템(100)은 유사도 판단 유닛(미도시), 단기 업데이트 유닛(미도시) 및 장기 업데이트 유닛(미도시)를 포함할 수 있다.
구체적으로, 인식기(110)는 (i) 적어도 하나의 입력된 이미지 상에 존재하는 객체의 위치 정보 및 (ii) 이를 포함하는 ROI의 적어도 하나의 특징 맵을 생성한 후, 각각의 특징 맵을 참조로 하여 각각의 객체의 각각의 쿼리 벡터를 생성할 수 있다. 특징 핑거프린트 데이터베이스(120)는, 데이터 벡터와 쿼리 벡터와 비교함으로써 쿼리 벡터에 대응하는 객체의 클래스 정보를 도출하기 위한 데이터 벡터를 저장할 수 있다. 상기 객체에 대응하는 쿼리 벡터와의 유사도 스코어가 기설정된 제1 임계치 이상인 데이터 벡터가 특징 핑거프린트 데이터베이스(120)에 없을 경우, 미지의 이미지 데이터베이스(130)는, 추후 객체 검출 시스템(100)이 검출할 수 있는 클래스의 종류를 업데이트하기 위해, 상기 객체에 대응하는 입력 이미지의 일부분을 저장할 수 있다. 기지의 이미지 데이터베이스(140)는, 추후 자세히 설명할 장기 업데이트를 위해, (i) 미식별 객체를 정확하게 바운딩(Bounding)하는 각각의 이미지인, 객체 검출 시스템(100)에 입력된 적어도 하나의 부분 이미지(Partial Image) 및 (ii) 객체 검출 시스템(100)에 입력되고 프로그래머가 확인한, 이에 대응하는 정보를 저장할 수 있다.
객체 검출 시스템(100)은, (i) 추후 설명할, 쿼리 벡터를, 특징 핑거프린트 데이터베이스(120)에 포함된 데이터 벡터와 비교하는 유사도 판단 유닛(미도시), (ii) 단기 업데이트 유닛(미도시) 및 (iii) 장기 업데이트 유닛(미도시)을 포함할 수 있다. 각각의 유닛은 하드웨어 또는 소프트웨어로서 구성될 수 있을 것이다.
이상 본 발명의 일 실시예에 따라 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템(100)의 구성을 설명한 바, 이하 객체 검출 시스템이 입력 이미지 내의 객체를 검출하는 방법과, 단기 업데이트 및 장기 업데이트를 하는 방법에 대해 설명하도록 한다. 이를 위해, 먼저 도 2를 참조하도록 한다.
도 2는 본 발명의 일 실시예에 따라 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템(100)이 적어도 하나의 이미지에 포함된 각각의 객체의 클래스를 검출하는 프로세스를 간략하게 나타낸 도면이다.
도 2를 참조하면, 인식기(110)에 포함된 N개의 키포인트 검출기(111) 및 특징 추출기(112)를 확인할 수 있다. 키포인트 검출기(111)는, 자신에게 입력된 이미지 상의 적어도 하나의 키 영역을 검출할 수 있다. 키 영역은, 객체 검출에 있어 중요한 부분이다. 추후 자세히 설명하겠지만, 이는 키 영역의 적어도 하나의 특징과 특징 핑거프린트 데이터베이스(120)에 저장된 특징 사이를 비교함으로써 클래스를 검출하기 때문에 중요한 것이다. 이와 같은 키포인트 검출기(111)는 이미 학습된 상태일 수 있다. 특징 추출기(112)는, 입력 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하여 적어도 하나의 특징 맵을 생성할 수 있다. 특징 추출기 또한 미리 학습된 상태일 수 있다. 예를 들어, 특징 추출기가 적어도 하나의 컨벌루션 뉴런을 포함하는 적어도 하나의 컨벌루션 레이어를 포함할 수 있다. 그리고 특징 추출기는 각각의 컨벌루션 뉴런으로 하여금 자신에게 입력된 값에 대하여, 컨벌루션 뉴런의 파라미터를 이용하여 컨벌루션 연산을 적용하고 그 결과를 그 다음 컨벌루션 뉴런으로 전달하도록 함으로써 자신에게 입력된 이미지로부터 특징 맵을 추출할 수 있다. 파라미터는 본 발명의 프로세스가 시작되기 전에 학습 프로세스를 거쳐 결정될 수 있다.
입력 이미지가 획득되면, 객체 검출 네트워크는 적어도 하나의 RPN으로 하여금 입력 이미지의 ROI를 생성하도록 하고, 입력 이미지 상에서 각각의 ROI에 대응하는 각각의 영역을 크롭(Crop)하여 각각의 부분 이미지를 생성할 수 있다. 또는, 입력 이미지 자체가 각각의 부분 이미지처럼 단일 객체를 포함하는 이미지일 수도 있다. 이후, 인식기(110)는 특정 부분 이미지에 대응하는 쿼리 벡터를 생성하는데, 이를 위해, 인식기(110)는 자신에게 포함된 키포인트 검출기(111)로 하여금 특정 부분 이미지 상의 키 영역을 검출하도록 한다. 또한, 인식기(110)는, 특징 추출기(112)로 하여금 특정 부분 이미지에 대응하는 적어도 하나의 특정 특징 맵을 생성하도록 한다. 이후, 인식기(110)는, 쿼리 유닛으로 하여금, 각각의 키포인트 검출기(111)가 검출한 특정 부분 이미지 상의 키 영역 각각에 대응하는, 특정 특징 맵 상의 값을 이용하여 특정 쿼리 벡터를 생성하도록 할 수 있다. 이 때, 각각의 키포인트 검출기에 대응하는 각각의 값은, 특정 쿼리 벡터 상의 각각의 대응하는 위치에 있을 것이다. 이와 같은 방식의 예시는 도 2에서 확인될 수 있다. 도 2의 쿼리 벡터에서 "없음(Not Present)"을 가리키는 쿼리 벡터 예시의 구성요소는, 각각의 구성요소에 대응하는 각각의 키포인트 검출기(111)가, 각각의 키포인트 검출기에 대응하는 각각의 키 영역을 입력 이미지 상에서 찾지 못한 경우이다. 특정 부분 이미지 외의 부분 이미지에 대응하는 다른 쿼리 벡터는 위와 같이 특정 쿼리 벡터의 생성 프로세스와 유사한 프로세스를 통해 생성될 수 있다.
이후, 이와 같이 생성된 특정 쿼리 벡터는, 특징 핑거프린트 데이터베이스(120)에 전달되어, 그 내부에 저장된 데이터 벡터와 비교된다. 이 같은 비교 과정에서, 각각의 데이터 벡터와 특정 쿼리 벡터 사이의 각각의 제1 유사도 스코어가 생성되는데, 이는 벡터 간의 유클리드 거리(Euclidean Distance)의 절대값에 대한 음수의 지수승, 즉,
Figure pat00007
이거나, 벡터 간의 코사인 거리(Cosine Distance)일 수 있다. 유클리드 거리를 이용해 유사도 스코어를 생성할 때, 이는 아래 수식으로 표현할 수 있다.
Figure pat00008
이 때,
Figure pat00009
는 특정 쿼리 벡터일 수 있고,
Figure pat00010
는 데이터 벡터 중 하나일 수 있다.
쿼리 벡터 중 "없음" 표시된 구성요소는 제1 유사도 스코어를 산출하는데 이용되지 않으며, 쿼리 벡터 중 "없음"에 대응되지 않는 모든 구성요소를 포함하는 데이터 벡터만이 제1 유사도 스코어를 산출하는데 이용된다.
도 2의 예를 들면, 도 2에 도시된 쿼리 벡터 예시와, 특징 핑거프린트 데이터베이스(120)에 저장된, 각각의 자동차 브랜드에 대응하는 데이터 벡터를 비교한다는 것이다. 특징 핑거프린트 데이터베이스(120)에는, 현대(Hyundai) 클래스에 대한 데이터 벡터가 중복되어 존재하는데, 이는 여러 각도에서 촬영된 이미지를 갖는 현대 클래스에 포함된 차량에 대한 데이터 벡터이다. 이와 같이 특징 핑거프린트 데이터베이스(120)가 구성되어 있어야 객체에 대한 각도에 구애받지 않고 객체의 검출이 수행될 수 있기 때문이다. 도 2의 쿼리 벡터 예시는, 전술했던 바에 따르면, 시트로엥, 아우디의 데이터 벡터와 함께 제1 유사도 스코어를 산출하는데 사용될 것이다.
특정 쿼리 벡터에 대한 유사도 스코어를 산출한 후, 제1 유사도 스코어 중 가장 큰 값이 기설정된 제1 임계치 이상인 경우, 객체 검출 시스템(100)은 가장 큰 값에 대응하는 클래스를 특정 쿼리 벡터에 대응하는 특정 객체의 클래스로서 출력할 수 있다. 제1 유사도 스코어 중 가장 큰 값이 기설정된 제1 임계치 미만인 경우, 특정 부분 이미지를 미지의 이미지 데이터베이스(130)에 저장할 수 있고, 객체 검출 시스템(100)은 입력 이미지에 대한 객체 검출 결과가 적절히 도출되지 않았다는 로그(Log)를 프로그래머에게 전송할 수 있다.
이와 같이 미지의 이미지 데이터베이스(130)에 입력 이미지와 같은 부분 이미지가 저장되면, 객체 검출 시스템은 단기 업데이트를 수행할 수 있다. 이에 대해 설명하기 위해 도 3을 참조하기로 한다.
도 3은 본 발명의 일 실시예에 따라 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템의 단기 업데이트를 수행하는 프로세스를 간략하게 나타낸 도면이다.
도 3을 참조로 하면, 프로그래머가 미지의 이미지 데이터베이스(130)에 저장된 이미지를 확인하고, 이미지의 클래스를 결정하여 입력할 수 있다. 이와 같은, 미지의 이미지 데이터베이스(130)에 저장된 이미지 및 이에 대응하는 추가 클래스 정보를 포함하는 업데이트 세트(Update Set)는, 기지의 이미지 데이터베이스(140)에 전달되어, 추후 설명할 장기 업데이트 과정에서 사용될 수 있다. 또한, 업데이트 세트는, 인식기(110)로 전달되어 단기 업데이트에 사용된다.
인식기(110)는, 업데이트 세트를 획득해 단기 업데이트 벡터를 생성할 수 있다. 구체적으로, 인식기(110)는, 전술하였던 쿼리 벡터를 생성하는 방식과 동일 또는 유사한 방식을 통해 생성된 성분 벡터에 추가 클래스 정보를 덧붙임으로써 업데이트 세트 내의 이미지를 이용해 단기 업데이트 벡터를 생성할 수 있다. 실시예에 따라, 쿼리 벡터는 기지의 이미지 데이터베이스(140)에 저장되어, 해당 쿼리 벡터를 단기 업데이트를 수행하는 데에 사용될 수 있다. 즉, 쿼리 벡터와 성분 벡터는 기본적으로 동일한 것이다. 이후, 단기 업데이트 벡터는 특징 핑거프린트 데이터베이스(120)에 전달된다.
먼저, 추가 클래스 정보에 포함된 클래스가 특정 단기 업데이트 벡터에 대한 특징 핑거프린트 데이터베이스(120)에 저장된 데이터 벡터 중 어느 하나에도 대응하지 않는 경우, 이는, 특정 단기 업데이터 벡터의 클래스에 대응하는 특정 객체가 처음으로 검출되었다는 것을 의미하는 것이므로, 추후에 같은 클래스의 객체를 검출하기 위해, 특정 단기 업데이트 벡터가, 특징 핑거프린트 데이터베이스(120)에, 새로운 클래스에 대응하는 새로운 데이터 벡터로서 추가될 수 있다.
하지만, 만일 추가 클래스 정보에 포함된 클래스가 특징 핑거프린트 데이터베이스(120)에 포함된 데이터 벡터 중 어느 하나에 대응하는 경우, 해당 클래스는 이전에 검출된 적이 있으나 부적절한 데이터 벡터로 인해 검출되지 않은 것이므로, 해당 클래스에 대응하는 데이터 벡터의 세트를 업데이트하게 된다. 이 때, 특정 단기 업데이트 벡터를 해당 클래스에 대응하는 새로운 데이터 벡터로서 추가할지, 기존의 데이터 벡터를 업데이트할지를 결정하는 프로세스는, 이하에 설명할 방법에 따라 결정된다.
객체 검출 시스템(100)은, 특정 단기 업데이트 벡터에 포함된 각각의 값과, 데이터 벡터에 포함된, 이에 대응하는 값을 비교하여, 전술했던 방식과 유사한 방식으로, 각각의 데이터 벡터에 대응하는 제2 유사도 스코어 각각을 생성할 수 있다. 이 때, 기설정된 제2 임계치 이상의 제2 유사도 스코어를 가지는 데이터 벡터가 없으면, 단기 업데이트 벡터는 해당 클래스에 대응하는 새로운 데이터 벡터로서 추가된다. 기설정된 제2 임계치 이상의 유사도 스코어를 가지는 타겟 데이터 벡터가 있으면, 해당 타겟 데이터 벡터는, 단기 업데이트 벡터를 이용하여 업데이트된다.
보다 구체적으로는, 객체 검출 시스템(100)은 단기 업데이트 유닛으로 하여금 제2 유사도 스코어 중 가장 큰 값을 선택하도록 한다. 선택된 최대 제2 유사도 스코어가 제2 임계값 이상일 경우, 객체 검출 시스템(100)은 단기 업데이트 유닛으로 하여금 최대 제2 유사도 스코어에 대응하는 타겟 데이터 벡터를 특정 단기 업데이트 벡터를 이용해 업데이트하도록 한다. 대신, 최대 제2 유사도 스코어가 제2 임계값 미만인 경우, 객체 검출 시스템(100)은 단기 업데이트 유닛으로 하여금 특정 단기 업데이트 벡터를 특징 핑거프린트 데이터베이스에 추가하도록 한다.
타겟 데이터 벡터가 단기 업데이트 벡터를 이용해 어떻게 업데이트 되는지에 대해 아래에 설명한다. 타겟 데이터 벡터가 N개의 대상 성분을 포함하고, 특정 단기 업데이트 벡터가 N개의 업데이트 성분을 포함할 때, K는 1 이상 N 이하의 정수로, 객체 검출 시스템(100)은 단기 업데이트 유닛으로 하여금, 제K 대상 성분이 데이터의 미존재를 나타내는 제1 기호(Notation)에 대응하지만 제K 업데이트 성분은 소정 값을 나타내는 제2 기호에 대응하는 경우, 제K 대상 성분을 제K 업데이트 성분으로 대체하도록 할 수 있다. 또는, 제K 대상 성분이 제2 기호에 대응하지만 제K 업데이트 성분이 제1 기호에 대응하는 경우, 객체 검출 시스템(100)은 단기 업데이트 유닛으로 하여금 제K 대상 성분을 그대로 유지하도록 할 수 있다. 다른 경우에, 예를 들어, 제K 대상 성분과 제K 업데이트 성분이 모두 제2 기호에 대응하는 경우, 객체 검출 시스템(100)은 단기 업데이트 유닛으로 하여금 제K 대상 성분과 제K 업데이트 성분의 가중합(Weighted Sum)으로 제K 대상 성분을 업데이트하도록 하고, 제K 대상 성분과 제K 업데이트 성분이 모두 제1 기호에 대응하는 경우, 객체 검출 시스템(100)은 단기 업데이트 유닛으로 하여금 제K 대상 성분을 그대로 유지하도록 할 수 있다.
이를 간명하게 설명하자면, 데이터 벡터 중 "없음"인 구성 성분이 단기 업데이트 벡터에서 "없음"이 아닌 경우, 해당 데이터 벡터의 구성 성분은 단기 업데이트 벡터의 값을 갖도록 업데이트될 수 있다. 구성 성분이 모두 "없음"이 아닌 경우, 양 구성 성분의 가중합을 이용해 해당 구성 성분을 업데이트할 수 있다. 단기 업데이트가 수행됨으로써, 새로운 클래스의 객체가 검출될 수 있고, 기존 클래스의 객체에 대한 검출 역시 개선될 수 있으나, 이를 더욱 최적화하기 위해 장기 업데이트를 하는 방법에 대해 살피도록 한다.
도 4는 본 발명의 일 실시예에 따라 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템의 장기 업데이트를 수행하는 프로세스를 간략하게 나타낸 도면이다.
도 4를 참조하면, 기지의 이미지 데이터베이스(140)에 저장된 이미지를 사용하여 장기 업데이트가 수행될 수 있다. 기지의 이미지 데이터베이스(140)에는 단기 업데이트에서 사용된 바 있는 여러 업데이트 세트가 있을 수 있다. 장기 업데이트를 위해, 객체 검출 시스템(100)은, 인식기(110)로 하여금 업데이트 세트를 이용하여 적어도 하나의 장기 업데이트 벡터를 생성하도록 할 수 있다. 이 때, 장기 업데이트 벡터는, 단기 업데이트 벡터와 유사한 방식으로 생성될 수 있다. 즉, 각각의 장기 업데이트 벡터 역시 (i) 키포인트 검출기(111)에 대응하는 값 및 (ii) 이미지를 포함하는 클래스 정보를 포함할 수 있다.
이와 같은 장기 업데이트 벡터는, 같은 클래스에 대응하는 벡터를 통합하는 과정을 거칠 수 있다. 즉, 같은 클래스에 대응하는 벡터들 간에, 각각의 구성 성분이, 서로의 가중합에 의해 업데이트되고 통합될 수 있다. 예를 들어, 특정 클래스에 대응하는 3개의 벡터가 각각 (1a, 0, 3a, 0, 5a), (1b, 2b, 0, 0, 5b), (0, 2c, 0, 0, 5c)인 것으로 가정하자. 클래스 정보에 대한 부분은 생략하였으며, "없음"은 0으로 표시하였다. 이 때, 예시적으로, 이들의 통합 벡터는 ((1a + 2b)/2, (2b+2c)/2, (3a), 0, (5a+5b+5c)/3)으로 계산될 수 있다. 클래스 별로 통합된 벡터가 특징 핑거프린트 데이터베이스(120)에 저장되도록, 특징 핑거프린트 데이터베이스(120)를 업데이트하여 특징 핑거프린트 데이터베이스(120)가 최적화될 수 있다. 이 때, 같은 클래스 정보를 갖는 장기 업데이트 벡터의 일부 및 기설정된 제3 임계값보다 큰 장기 업데이트 벡터 사이의 제3 유사도 스코어가 업데이트 프로세스를 최적화하기 위해 통합되도록 선택될 수 있다. 제3 유사도 스코어의 산출 방식은 제1 및 제2 유사도 스코어의 산출 방식과 동일 또는 유사할 수 있다.
그 결과, 특징 핑거프린트 데이터베이스(120)를 최적화하고 새로이 검출될 수 있는 클래스를 업데이트함으로써 자율 주행 차량은 안전하게 주행될 수 있을 것이다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (18)

  1. 학습되지 않은 클래스(Untrained Class)를 가진 객체를 검출하기 위해 객체 검출 시스템(Object Detecting System)을 실시간으로 업데이트하는 방법에 있어서,
    (a) 적어도 하나의 입력 이미지(Input Image)가 획득되면, 상기 객체 검출 시스템이, 이에 포함된 인식기(Recognizer)로 하여금 상기 입력 이미지의 특정 객체를 포함하는 특정 ROI에 대응하는 특정 특징 맵(Feature Map)을 생성하도록 한 후, 상기 특정 특징 맵을 이용하여 상기 특정 객체에 대응하는 특정 쿼리 벡터(Query Vector)를 생성하도록 하는 단계;
    (b) 상기 객체 검출 시스템이, 유사도 판단 유닛(Similarity Determining Unit)으로 하여금, (i) 상기 특정 쿼리 벡터를, 상기 객체 검출 시스템에 입력되는 이미지의 객체를 검출하는데 사용되는 적어도 하나의 특징 핑거프린트 데이터베이스(Feature Fingerprint DB)에 포함된 적어도 하나의 데이터 벡터와 비교하도록 하여, 상기 특정 쿼리 벡터와 각각의 상기 데이터 벡터 간의 각각의 적어도 하나의 제1 유사도 스코어(Similarity Score)를 산출하도록 하고, (ii) 제1 유사도 스코어(Similarity Score) 중 가장 큰 특정 제1 유사도 스코어가 기설정된 제1 임계값 미만인 경우, 상기 특정 ROI에 대응하는 특정 부분 이미지(Partial Image)를, 상기 특징 핑거프린트 데이터베이스의 업데이트에 사용되는 미지의 이미지 데이터베이스(Unknown-Image DB)에 추가하도록 하는 단계; 및
    (c) 상기 특정 부분 이미지에 대응하는 특정 클래스 정보가 획득되면, 상기 객체 검출 시스템이, 단기 업데이트 유닛(Short-Term Update Unit)으로 하여금, 상기 특정 클래스 정보와, 상기 인식기에 의해 생성된 상기 특정 객체에 대응하는 특정 성분 벡터(Element Vector)를 이용하여, 상기 특정 객체에 대응하는 특정 단기 업데이트 벡터(Short-Term Update Vector)를 생성하도록 한 후, 이를 이용해 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 (c) 단계에서,
    상기 객체 검출 시스템이, 상기 단기 업데이트 유닛으로 하여금, (i) 상기 데이터 벡터 중에서 상기 특정 단기 업데이트 벡터와 동일한 클래스 정보를 가지는 특정 데이터 벡터와 상기 특정 단기 업데이트 벡터 간의 각각의 적어도 하나의 제2 유사도 스코어를 산출하도록 하고, (ii) 상기 제2 유사도 스코어 중 최대값을 선택하도록 하고, (iii) (iii-1) 최대 제2 유사도 스코어가 기설정된 제2 임계값 이상인 경우, 상기 최대 제2 유사도 스코어에 대응하는 타겟 데이터 벡터(Target Data Vector)를 상기 특정 단기 업데이트 벡터를 이용해 업데이트하도록 하고, (iii-2) 상기 최대 제2 유사도 스코어가 상기 제2 임계값 미만인 경우, 상기 특정 단기 업데이트 벡터를 상기 특징 핑거프린트 데이터베이스에 추가하도록 하여 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서,
    상기 (c) 단계에서,
    상기 최대 제2 유사도 스코어가 상기 제2 임계값 이상인 경우, 상기 객체 검출 시스템은, (1) 상기 단기 업데이트 유닛으로 하여금, 상기 타겟 데이터 벡터에 포함된 제1 대상 성분 내지 제N 대상 성분을 포함하는 각각의 대상 성분을, 상기 특정 단기 업데이트 벡터에 포함된 제1 업데이트 성분 내지 제N 업데이트 성분을 포함하는 각각의 업데이트 성분과 비교하도록 하고, (2) 상기 단기 업데이트 유닛으로 하여금, (i) K는 1 이상 N 이하의 정수로, 제K 대상 성분이 데이터 미존재를 나타내는 제1 기호(Notation)에 대응하지만 제K 업데이트 성분은 소정 값을 나타내는 제2 기호에 대응하는 경우, 상기 제K 대상 성분을 상기 제K 업데이트 성분으로 대체하도록 하고, (ii) 상기 제K 대상 성분이 상기 제2 기호에 대응하지만 상기 제K 업데이트 성분이 상기 제1 기호에 대응하는 경우, 상기 제K 대상 성분을 그대로 유지하도록 하며, (iii) 상기 제K 대상 성분과 상기 제K 업데이트 성분이 모두 상기 제2 기호에 대응하는 경우, 상기 제K 대상 성분과 상기 제K 업데이트 성분의 가중합(Weighted Sum)으로 상기 제K 대상 성분을 업데이트하도록 하고, (iv) 상기 제K 대상 성분과 상기 제K 업데이트 성분이 모두 상기 제1 기호에 대응하는 경우, 상기 제K 대상 성분을 그대로 유지하도록 하는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 (c) 단계에서,
    상기 데이터 벡터 중에서 상기 특정 단기 업데이트 벡터와 동일한 클래스 정보를 가지는 상기 특정 데이터 벡터가 존재하지 않는 경우, 상기 객체 검출 시스템은, 상기 단기 업데이트 유닛으로 하여금, 상기 특정 단기 업데이트 벡터를 상기 특징 핑거프린트 데이터베이스에 추가하도록 하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    (d) 상기 객체 검출 시스템이, 장기 업데이트 유닛(Long-Term Update Unit)으로 하여금, 상기 단기 업데이트 유닛에 의해 사용된 후 적어도 하나의 기지의 이미지 데이터베이스(Known-Image DB)에 저장된, 상기 특정 부분 이미지를 포함하는 적어도 하나의 부분 이미지와 이에 대응하는 클래스 정보 - 상기 클래스 정보는 상기 객체 검출 시스템에 포함된 적어도 하나의 객체의 클래스를 나타냄 - 에 대응하는 적어도 하나의 장기 업데이트 벡터(Long-Term Update Unit)를 생성하도록 하고, 상기 장기 업데이트 벡터를 이용하여 상기 특징 핑거프린트 데이터베이스를 더 업데이트하도록 하되,
    각각의 상기 장기 업데이트 벡터가 각각의 상기 부분 이미지와, 각각의 상기 클래스 정보를 나타내는 적어도 하나의 값을 포함하는 클래스 부분(Class Part)을 이용해 상기 인식기에 의해 생성된 적어도 하나의 값을 포함하는 참조 부분(Reference Part)을 포함하는 단계;
    를 더 포함하는 것을 특징으로 하는 방법.
  6. 제 5항에 있어서,
    상기 (d) 단계에서,
    상기 객체 검출 시스템이, 상기 장기 업데이트 유닛으로 하여금, (i) 각각의 상기 장기 업데이트 벡터 사이의 적어도 하나의 제3 유사도 스코어를 산출하도록 하고, (ii) 적어도 하나의 통합 장기 업데이트 벡터(Integrated Long-Term Update Vector)를 생성하기 위해 서로 동일한 클래스 정보를 갖는 상기 장기 업데이트 벡터의 일부를 병합하고, 상기 통합 장기 업데이트 벡터와, 병합되지 않은 잔여 장기 업데이트 벡터(Remaining Long-Term Update Vector)를 상기 특징 핑거프린트 데이터베이스에 추가함으로써, 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서,
    상기 (b) 단계에서,
    상기 객체 검출 시스템이, 상기 유사도 판단 유닛으로 하여금,
    Figure pat00011

    상기 수식에 따라 상기 제1 유사도 스코어 중 하나를 산출하도록 하되,
    Figure pat00012
    는 상기 특정 쿼리 벡터이고,
    Figure pat00013
    는 상기 데이터 벡터 중 하나인 것을 특징으로 하는 방법.
  8. 제 1 항에 있어서,
    상기 (a) 단계에서,
    상기 객체 검출 시스템이, (i) 상기 인식기에 대응하는 RPN으로 하여금 상기 입력 이미지에 포함된 상기 특정 ROI를 검출하도록 한 다음, (ii) 상기 인식기에 대응하는 적어도 하나의 키포인트 검출기(Keypoint Detector)로 하여금 상기 특정 ROI에 대응하는 상기 특정 부분 이미지 상의 적어도 하나의 키 영역(Key Region)을 검출하도록 하며, (iii) 상기 인식기에 대응하는 특징 추출기(Feature Extractor)로 하여금, 상기 특정 부분 이미지를 이용해 상기 특정 특징 맵을 생성하도록 한 뒤, (iv) 상기 인식기로 하여금 상기 특정 특징 맵 내의 상기 키 영역에 대응하는 값을 이용하여 상기 특정 쿼리 벡터를 생성하도록 하는 것을 특징으로 하는 방법.
  9. 제 1 항에 있어서,
    상기 특징 추출기는, 적어도 하나의 컨벌루션 뉴런(Convolutional Neuron)을 갖는 적어도 하나의 컨벌루션 레이어를 포함하고, 각각의 상기 컨벌루션 뉴런으로 하여금 자신에게 입력된 값에 대하여, 상기 컨벌루션 뉴런의 파라미터를 이용하여 컨벌루션 연산을 적용하고 그 결과를 그 다음 컨벌루션 뉴런으로 전달하도록 함으로써 상기 특정 부분 이미지로부터 상기 특정 특징 맵을 추출하는 것을 특징으로 하고,
    상기 파라미터는, 상기 (a) 단계 이전에 학습 프로세스를 거쳐 결정되는 것을 특징으로 하는 방법.
  10. 학습되지 않은 클래스(Untrained Class)를 가진 객체를 검출하기 위해 객체 검출 시스템(Object Detecting System)을 실시간으로 업데이트하는 객체 검출 시스템에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    (I) 적어도 하나의 입력 이미지(Input Image)가 획득되면, 상기 객체 검출 시스템에 포함된 인식기(Recognizer)로 하여금 상기 입력 이미지의 특정 객체를 포함하는 특정 ROI에 대응하는 특정 특징 맵(Feature Map)을 생성하도록 한 후, 상기 특정 특징 맵을 이용하여 상기 특정 객체에 대응하는 특정 쿼리 벡터(Query Vector)를 생성하도록 하는 프로세스; (II) 유사도 판단 유닛(Similarity Determining Unit)으로 하여금, (i) 상기 특정 쿼리 벡터를, 상기 객체 검출 시스템에 입력되는 이미지의 객체를 검출하는데 사용되는 적어도 하나의 특징 핑거프린트 데이터베이스(Feature Fingerprint DB)에 포함된 적어도 하나의 데이터 벡터와 비교하도록 하여, 상기 특정 쿼리 벡터와 각각의 상기 데이터 벡터 간의 각각의 적어도 하나의 제1 유사도 스코어(Similarity Score)를 산출하도록 하고, (ii) 제1 유사도 스코어(Similarity Score) 중 가장 큰 특정 제1 유사도 스코어가 기설정된 제1 임계값 미만인 경우, 상기 특정 ROI에 대응하는 특정 부분 이미지(Partial Image)를, 상기 특징 핑거프린트 데이터베이스의 업데이트에 사용되는 미지의 이미지 데이터베이스(Unknown-Image DB)에 추가하도록 하는 프로세스; 및 (III) 상기 특정 부분 이미지에 대응하는 특정 클래스 정보가 획득되면, 단기 업데이트 유닛(Short-Term Update Unit)으로 하여금, 상기 특정 클래스 정보와, 상기 인식기에 의해 생성된 상기 특정 객체에 대응하는 특정 성분 벡터(Element Vector)를 이용하여, 상기 특정 객체에 대응하는 특정 단기 업데이트 벡터(Short-Term Update Vector)를 생성하도록 한 후, 이를 이용해 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 객체 검출 시스템.
  11. 제 10항에 있어서,
    상기 (III) 프로세스에서,
    상기 프로세서가, 상기 단기 업데이트 유닛으로 하여금, (i) 상기 데이터 벡터 중에서 상기 특정 단기 업데이트 벡터와 동일한 클래스 정보를 가지는 특정 데이터 벡터와 상기 특정 단기 업데이트 벡터 간의 각각의 적어도 하나의 제2 유사도 스코어를 산출하도록 하고, (ii) 상기 제2 유사도 스코어 중 최대값을 선택하도록 하고, (iii) (iii-1) 최대 제2 유사도 스코어가 기설정된 제2 임계값 이상인 경우, 상기 최대 제2 유사도 스코어에 대응하는 타겟 데이터 벡터(Target Data Vector)를 상기 특정 단기 업데이트 벡터를 이용해 업데이트하도록 하고, (iii-2) 상기 최대 제2 유사도 스코어가 상기 제2 임계값 미만인 경우, 상기 특정 단기 업데이트 벡터를 상기 특징 핑거프린트 데이터베이스에 추가하도록 하여 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 것을 특징으로 하는 객체 검출 시스템.
  12. 제 10항에 있어서,
    상기 (III) 프로세스에서,
    상기 최대 제2 유사도 스코어가 상기 제2 임계값 이상인 경우, 상기 프로세서가, (I) 상기 단기 업데이트 유닛으로 하여금, 상기 타겟 데이터 벡터에 포함된 제1 대상 성분 내지 제N 대상 성분을 포함하는 각각의 대상 성분을, 상기 특정 단기 업데이트 벡터에 포함된 제1 업데이트 성분 내지 제N 업데이트 성분을 포함하는 각각의 업데이트 성분과 비교하도록 하고, (II) 상기 단기 업데이트 유닛으로 하여금, (i) K는 1 이상 N 이하의 정수로, 제K 대상 성분이 데이터 미존재를 나타내는 제1 기호(Notation)에 대응하지만 제K 업데이트 성분은 소정 값을 나타내는 제2 기호에 대응하는 경우, 상기 제K 대상 성분을 상기 제K 업데이트 성분으로 대체하도록 하고, (ii) 상기 제K 대상 성분이 상기 제2 기호에 대응하지만 상기 제K 업데이트 성분이 상기 제1 기호에 대응하는 경우, 상기 제K 대상 성분을 그대로 유지하도록 하며, (iii) 상기 제K 대상 성분과 상기 제K 업데이트 성분이 모두 상기 제2 기호에 대응하는 경우, 상기 제K 대상 성분과 상기 제K 업데이트 성분의 가중합(Weighted Sum)으로 상기 제K 대상 성분을 업데이트하도록 하고, (iv) 상기 제K 대상 성분과 상기 제K 업데이트 성분이 모두 상기 제1 기호에 대응하는 경우, 상기 제K 대상 성분을 그대로 유지하도록 하는 것을 특징으로 하는 객체 검출 시스템.
  13. 제 10항에 있어서,
    상기 (III) 프로세스에서,
    상기 데이터 벡터 중에서 상기 특정 단기 업데이트 벡터와 동일한 클래스 정보를 가지는 상기 특정 데이터 벡터가 존재하지 않는 경우, 상기 프로세서가, 상기 단기 업데이트 유닛으로 하여금, 상기 특정 단기 업데이트 벡터를 상기 특징 핑거프린트 데이터베이스에 추가하도록 하는 것을 특징으로 하는 객체 검출 시스템.
  14. 제 10항에 있어서,
    상기 프로세서가,
    (IV) 장기 업데이트 유닛(Long-Term Update Unit)으로 하여금, 상기 단기 업데이트 유닛에 의해 사용된 후 적어도 하나의 기지의 이미지 데이터베이스(Known-Image DB)에 저장된, 상기 특정 부분 이미지를 포함하는 적어도 하나의 부분 이미지와 이에 대응하는 클래스 정보 - 상기 클래스 정보는 상기 객체 검출 시스템에 포함된 적어도 하나의 객체의 클래스를 나타냄 - 에 대응하는 적어도 하나의 장기 업데이트 벡터(Long-Term Update Unit)를 생성하도록 하고, 상기 장기 업데이트 벡터를 이용하여 상기 특징 핑거프린트 데이터베이스를 더 업데이트하도록 하되,
    각각의 상기 장기 업데이트 벡터가 각각의 상기 부분 이미지와, 각각의 상기 클래스 정보를 나타내는 적어도 하나의 값을 포함하는 클래스 부분(Class Part)을 이용해 상기 인식기에 의해 생성된 적어도 하나의 값을 포함하는 참조 부분(Reference Part)을 포함하는 프로세스;
    를 더 수행하는 것을 특징으로 하는 객체 검출 시스템.
  15. 제 14항에 있어서,
    상기 (IV) 프로세스에서,
    상기 프로세서가, 상기 장기 업데이트 유닛으로 하여금, (i) 각각의 상기 장기 업데이트 벡터 사이의 적어도 하나의 제3 유사도 스코어를 산출하도록 하고, (ii) 적어도 하나의 통합 장기 업데이트 벡터(Integrated Long-Term Update Vector)를 생성하기 위해 서로 동일한 클래스 정보를 갖는 상기 장기 업데이트 벡터의 일부를 병합하고, 상기 통합 장기 업데이트 벡터와, 병합되지 않은 잔여 장기 업데이트 벡터(Remaining Long-Term Update Vector)를 상기 특징 핑거프린트 데이터베이스에 추가함으로써, 상기 특징 핑거프린트 데이터베이스를 업데이트하도록 하는 것을 특징으로 하는 객체 검출 시스템.
  16. 제 10항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서가, 상기 유사도 판단 유닛으로 하여금,
    Figure pat00014

    상기 수식에 따라 상기 제1 유사도 스코어 중 하나를 산출하도록 하되,
    Figure pat00015
    는 상기 특정 쿼리 벡터이고,
    Figure pat00016
    는 상기 데이터 벡터 중 하나인 것을 특징으로 하는 객체 검출 시스템.
  17. 제 10항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서가, (i) 상기 인식기에 대응하는 RPN으로 하여금 상기 입력 이미지에 포함된 상기 특정 ROI를 검출하도록 한 다음, (ii) 상기 인식기에 대응하는 적어도 하나의 키포인트 검출기(Keypoint Detector)로 하여금 상기 특정 ROI에 대응하는 상기 특정 부분 이미지 상의 적어도 하나의 키 영역(Key Region)을 검출하도록 하며, (iii) 상기 인식기에 대응하는 특징 추출기(Feature Extractor)로 하여금, 상기 특정 부분 이미지를 이용해 상기 특정 특징 맵을 생성하도록 한 뒤, (iv) 상기 인식기로 하여금 상기 특정 특징 맵 내의 상기 키 영역에 대응하는 값을 이용하여 상기 특정 쿼리 벡터를 생성하도록 하는 것을 특징으로 하는 객체 검출 시스템.
  18. 제 10항에 있어서,
    상기 특징 추출기는, 적어도 하나의 컨벌루션 뉴런(Convolutional Neuron)을 갖는 적어도 하나의 컨벌루션 레이어를 포함하고, 각각의 상기 컨벌루션 뉴런으로 하여금 자신에게 입력된 값에 대하여, 상기 컨벌루션 뉴런의 파라미터를 이용하여 컨벌루션 연산을 적용하고 그 결과를 그 다음 컨벌루션 뉴런으로 전달하도록 함으로써 상기 특정 부분 이미지로부터 상기 특정 특징 맵을 추출하는 것을 특징으로 하고,
    상기 파라미터는, 상기 (I) 프로세스 이전에 학습 프로세스를 거쳐 결정되는 것을 특징으로 하는 객체 검출 시스템.
KR1020200001713A 2019-01-30 2020-01-06 연속 학습을 이용해 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템을 제공하는 방법 및 이를 이용한 장치 KR102349927B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962798761P 2019-01-30 2019-01-30
US62/798,761 2019-01-30
US16/723,652 US10621473B1 (en) 2019-01-30 2019-12-20 Method for providing object detecting system capable of updating types of detectable classes in real-time by using continual learning and devices using the same
US16/723,652 2019-12-20

Publications (2)

Publication Number Publication Date
KR20200094640A true KR20200094640A (ko) 2020-08-07
KR102349927B1 KR102349927B1 (ko) 2022-01-12

Family

ID=70223677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200001713A KR102349927B1 (ko) 2019-01-30 2020-01-06 연속 학습을 이용해 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템을 제공하는 방법 및 이를 이용한 장치

Country Status (5)

Country Link
US (1) US10621473B1 (ko)
EP (1) EP3690710A1 (ko)
JP (1) JP6962605B2 (ko)
KR (1) KR102349927B1 (ko)
CN (1) CN111507164B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022145988A1 (ko) * 2020-12-29 2022-07-07 고려대학교 산학협력단 인공지능을 이용한 안면부 골절 판독 장치 및 방법
KR20220129265A (ko) * 2021-03-16 2022-09-23 현대모비스 주식회사 설명가능 ai 기반 불량검출 장치 및 방법
US11853350B2 (en) 2021-08-24 2023-12-26 Korea Institute Of Science And Technology Method for updating query information for tracing target object from multi-camera and multi-camera system performing the same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113609323B (zh) * 2021-07-20 2024-04-23 上海德衡数据科技有限公司 基于神经网络的图像降维方法及系统
CN113297411B (zh) * 2021-07-26 2021-11-09 深圳市信润富联数字科技有限公司 轮形图谱相似性的度量方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006182086A (ja) * 2004-12-27 2006-07-13 Hitachi Ltd 車両検知装置
KR20150143304A (ko) * 2014-06-12 2015-12-23 오므론 가부시키가이샤 화상 인식 장치 및 화상 인식 장치에의 특징량 데이터 등록 방법

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840060B2 (en) * 2006-06-12 2010-11-23 D&S Consultants, Inc. System and method for machine learning using a similarity inverse matrix
JP4594945B2 (ja) * 2007-02-13 2010-12-08 株式会社東芝 人物検索装置および人物検索方法
TW200842733A (en) * 2007-04-17 2008-11-01 Univ Nat Chiao Tung Object image detection method
EP2469468A4 (en) * 2009-08-18 2014-12-03 Univ Osaka Prefect Public Corp OBJECT DETECTION METHOD
JP5385759B2 (ja) * 2009-10-30 2014-01-08 キヤノン株式会社 画像処理装置及び画像処理方法
US8238671B1 (en) * 2009-12-07 2012-08-07 Google Inc. Scene classification for place recognition
JP5554987B2 (ja) * 2009-12-28 2014-07-23 キヤノン株式会社 オブジェクト識別装置及びその制御方法
US8744196B2 (en) * 2010-11-26 2014-06-03 Hewlett-Packard Development Company, L.P. Automatic recognition of images
KR101180471B1 (ko) * 2011-09-27 2012-09-07 (주)올라웍스 한정된 메모리 환경 하에서 얼굴 인식 성능 향상을 위한 참조 얼굴 데이터베이스 관리 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
JP6161271B2 (ja) * 2011-12-22 2017-07-12 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
JP2015121874A (ja) * 2013-12-20 2015-07-02 富士通株式会社 生体認証装置、照合用データ検証方法及び照合用データ検証用コンピュータプログラム
US9767385B2 (en) * 2014-08-12 2017-09-19 Siemens Healthcare Gmbh Multi-layer aggregation for object detection
EP3204871A4 (en) * 2014-10-09 2017-08-16 Microsoft Technology Licensing, LLC Generic object detection in images
US9996768B2 (en) * 2014-11-19 2018-06-12 Adobe Systems Incorporated Neural network patch aggregation and statistics
US20170039469A1 (en) * 2015-08-04 2017-02-09 Qualcomm Incorporated Detection of unknown classes and initialization of classifiers for unknown classes
US20170177712A1 (en) * 2015-12-21 2017-06-22 Ebay Inc. Single step cross-linguistic search using semantic meaning vectors
US10289478B2 (en) * 2016-04-26 2019-05-14 Nec Corporation System fault diagnosis via efficient temporal and dynamic historical fingerprint retrieval
US10303977B2 (en) * 2016-06-28 2019-05-28 Conduent Business Services, Llc System and method for expanding and training convolutional neural networks for large size input images
CN106326927B (zh) * 2016-08-24 2019-06-04 大连海事大学 一种鞋印新类别检测方法
US10223612B2 (en) * 2016-09-01 2019-03-05 Microsoft Technology Licensing, Llc Frame aggregation network for scalable video face recognition
WO2018079031A1 (ja) * 2016-10-31 2018-05-03 日本電気株式会社 画像処理装置、画像処理方法、顔認証システム、プログラム及び記録媒体
CN106960214B (zh) * 2017-02-17 2020-11-20 北京一维弦科技有限责任公司 基于图像的物体识别方法
US10394881B2 (en) * 2017-03-31 2019-08-27 Google Llc Automatic suggestions to share images
CN108875491B (zh) * 2017-10-11 2021-03-23 北京旷视科技有限公司 人脸解锁认证的数据更新方法、认证设备和系统以及非易失性存储介质
US11295140B2 (en) * 2018-03-14 2022-04-05 Comcast Cable Communications, Llc Methods and systems for determining object activity within a region of interest
CN110633604B (zh) * 2018-06-25 2023-04-25 富士通株式会社 信息处理方法和信息处理装置
US10452959B1 (en) * 2018-07-20 2019-10-22 Synapse Tehnology Corporation Multi-perspective detection of objects
US11080542B2 (en) * 2018-07-27 2021-08-03 International Business Machines Corporation Sparse region-of-interest pooling for object detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006182086A (ja) * 2004-12-27 2006-07-13 Hitachi Ltd 車両検知装置
KR20150143304A (ko) * 2014-06-12 2015-12-23 오므론 가부시키가이샤 화상 인식 장치 및 화상 인식 장치에의 특징량 데이터 등록 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022145988A1 (ko) * 2020-12-29 2022-07-07 고려대학교 산학협력단 인공지능을 이용한 안면부 골절 판독 장치 및 방법
KR20220129265A (ko) * 2021-03-16 2022-09-23 현대모비스 주식회사 설명가능 ai 기반 불량검출 장치 및 방법
US11853350B2 (en) 2021-08-24 2023-12-26 Korea Institute Of Science And Technology Method for updating query information for tracing target object from multi-camera and multi-camera system performing the same

Also Published As

Publication number Publication date
CN111507164A (zh) 2020-08-07
EP3690710A1 (en) 2020-08-05
JP6962605B2 (ja) 2021-11-05
CN111507164B (zh) 2023-11-07
KR102349927B1 (ko) 2022-01-12
JP2020123340A (ja) 2020-08-13
US10621473B1 (en) 2020-04-14

Similar Documents

Publication Publication Date Title
KR102349927B1 (ko) 연속 학습을 이용해 검출 가능한 클래스의 종류를 실시간으로 업데이트할 수 있는 객체 검출 시스템을 제공하는 방법 및 이를 이용한 장치
KR102349910B1 (ko) 가상 주행 환경에서 사용되는 도메인 적응에 적용될 수 있는 gan을 이용하여, 실제 특징 맵과 동일하거나 유사한 특성을 가지는 가상 특징 맵을 생성하는 학습 방법 및 학습 장치
EP3686779B1 (en) Method and device for attention-based lane detection without post-processing by using lane mask and testing method and testing device using the same
Garcia-Fidalgo et al. Hierarchical place recognition for topological mapping
KR20200027428A (ko) 에지 이미지를 이용하여 객체를 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
CN112926410B (zh) 目标跟踪方法、装置、存储介质及智能视频系统
KR20200027427A (ko) 차선 후보 픽셀의 분류를 통해 차선을 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
US10551845B1 (en) Method and computing device for generating image data set to be used for hazard detection and learning method and learning device using the same
US10262214B1 (en) Learning method, learning device for detecting lane by using CNN and testing method, testing device using the same
EP3686791B1 (en) Learning method and learning device for object detector based on cnn to be used for multi-camera or surround view monitoring using image concatenation and target object merging network, and testing method and testing device using the same
US11145076B1 (en) Incorporation of semantic information in simultaneous localization and mapping
KR102279388B1 (ko) 차선 모델을 이용하여 차선을 검출할 수 있는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
US20200241544A1 (en) Method and device for seamless parameter switch by using location-specific algorithm selection to achieve optimized autonomous driving in each of regions
KR102349854B1 (ko) 표적 추적 시스템 및 방법
KR20200095387A (ko) 협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치
KR20200092847A (ko) 핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, cnn에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
CN110909588B (zh) 基于cnn的用于车道线检测的方法和装置
KR102313129B1 (ko) 자율 주행에 대한 논리적 근거를 제시하기 위하여, 관리자가 객체 검출기의 객체 검출 프로세스를 평가할 수 있도록 지원하는 방법 및 장치
CN115527083A (zh) 图像标注方法、装置和电子设备
CN114913485A (zh) 一种多层级特征融合的弱监督检测方法
US10373004B1 (en) Method and device for detecting lane elements to plan the drive path of autonomous vehicle by using a horizontal filter mask, wherein the lane elements are unit regions including pixels of lanes in an input image
Gaspar et al. Limit characterization for visual place recognition in underwater scenes
Khachaturov et al. Applying spatio-temporal analysis to angle-distance views for detection of relevant events
Mathiesen Low-latency detection and tracking of aircraft in very high-resolution video feeds
KR20220077439A (ko) 객체 검색 모델 및 그 학습 방법

Legal Events

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