KR102252439B1 - 이미지에서 오브젝트 검출 및 표현 - Google Patents

이미지에서 오브젝트 검출 및 표현 Download PDF

Info

Publication number
KR102252439B1
KR102252439B1 KR1020197029644A KR20197029644A KR102252439B1 KR 102252439 B1 KR102252439 B1 KR 102252439B1 KR 1020197029644 A KR1020197029644 A KR 1020197029644A KR 20197029644 A KR20197029644 A KR 20197029644A KR 102252439 B1 KR102252439 B1 KR 102252439B1
Authority
KR
South Korea
Prior art keywords
image
sub
images
embedding function
representation
Prior art date
Application number
KR1020197029644A
Other languages
English (en)
Other versions
KR20190126857A (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 KR20190126857A publication Critical patent/KR20190126857A/ko
Application granted granted Critical
Publication of KR102252439B1 publication Critical patent/KR102252439B1/ko

Links

Images

Classifications

    • G06K9/6256
    • 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/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2134Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on separation criteria, e.g. independent component analysis
    • G06F18/21347Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on separation criteria, e.g. independent component analysis using domain transformations
    • 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/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • G06F18/21355Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis nonlinear criteria, e.g. embedding a manifold in a Euclidean space
    • 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/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2193Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06K9/00369
    • G06K9/00677
    • G06K9/6215
    • G06K9/6245
    • G06K9/6248
    • G06K9/6265
    • 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/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • 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/103Static body considered as a whole, e.g. static pedestrian or occupant recognition

Landscapes

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

Abstract

이미지들에서 오브젝트 검출 및 표현을 위한 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램들을 포함하는 방법, 시스템 및 장치. 일 양태에서, 방법은 제1 시간의 기간 내에 캡처된 이미지들에서 특정한 유형의 오브젝트들의 출현을 검출하는 단계, 및 특정한 유형의 오브젝트들의 출현을 도시하는 입력 이미지의 피처의 출력 표현으로서 생성하기 위해 이미지 임베딩 함수를 반복적으로 트레이닝하는 단계, 여기서 피처들의 유사한 표현은 특정 시간의 기간 내에 캡처된 특정한 유형의 오브젝트의 동일한 인스턴스를 도시하는 이미지들에 대해 생성되며, 그리고 피처들의 비유사한 표현은 특정한 유형의 오브젝트들의 상이한 인스턴스를 도시하는 이미지들에 대해 생성된다.

Description

이미지에서 오브젝트 검출 및 표현
본 명세서는 이미지 프로세싱에 관한 것이다.
저장된 이미지의 수동 구성 및 검색은 어려울 수 있다. 예를 들어, 저장된 이미지의 양과 복잡성으로 인해 이미지를 수동으로 보고 그룹화하는 것은 시간이 오래 걸릴 수 있다.
이미지 구성을 위한 자동화된 방법은 이미지들 사이에서 식별된 유사도에 기초하여 이미지를 그룹화할 수 있다. 이러한 방법 중 일부는 이미지들 사이의 유사도를 식별하는데 사용하도록 모델 함수를 최적화한다. 다양한 모델 함수 및 트레이닝 방법이 사용될 수 있다. 예를 들어, 얼굴 인식 프로세스는 검출된 "오브젝트들"이 얼굴인 사진을 검색하기 위해 사용될 수 있다. 검출된 얼굴의 유사도에 기초하여 개인 사진들을 그룹화하는 개인 검색 기능을 제공한다. 그러나 이 방법은 얼굴이 너무 작거나 다른 오브젝트들에 의해 가려지거나 얼굴 인식 프로세스로 극복할 수 없는 각도와 같이, 얼굴을 인식할 수 없는 사람 이미지에는 동작하지 않는다.
본 명세서는 이미지 프로세싱에 관한 기술들, 특히 특정 시간의 기간 내에 캡처된 특정한 유형의 오브젝트의 동일한 인스턴스를 나타내는 이미지들에 대한 피처들의 유사한 표현 및 특정한 유형의 오브젝트들의 상이한 인스턴스들을 나타내는 이미지들에 대한 피처들의 비유사한 표현을 생성하는 이미지 임베딩 함수를 트레이닝하는 것을 설명한다.
일반적으로, 본 명세서에 기술된 발명의 일 혁신적 양태는 이미지 임베딩 함수를 트레이닝하는 방법들에 수록될 수 있다. 상기 방법은: 이미지들의 트레이닝 세트의 각 이미지에서 특정한 유형의 오브젝트들의 출현을 검출하는 단계, 상기 이미지들의 트레이닝 세트의 이미지들은 제1 시간의 기간 내에 캡처되었던 이미지들이며; 상기 이미지들의 트레이닝 세트의 이미지들로부터 서브 이미지들을 추출하는 단계, 각 서브 이미지는 검출된 오브젝트의 일 출현을 도시하며; 이미지 임베딩 함수를 반복적으로 트레이닝하는 단계, 상기 이미지 임베딩 함수는 입력 이미지에 대해 동작하여 상기 입력 이미지의 피처들의 표현을 출력으로서 생성하는 파라미터 가중치들의 세트를 포함하고, 상기 트레이닝의 각 반복은: 상기 추출된 서브 이미지들로부터 제1 유형의 이미지 쌍들 및 제2 유형의 이미지 쌍들을 선택하는 단계, 각 이미지 쌍은 제1 서브 이미지와 제2 서브 이미지의 조합이며: 제1 유형의 이미지 쌍은 상기 특정한 유형의 오브젝트의 동일한 인스턴스를 도시하는 제1 서브 이미지 및 제2 서브 이미지를 포함하며; 제2 유형의 이미지 쌍은 상기 특정한 유형의 오브젝트들의 상이한 인스턴스들을 도시하는 제1 서브 이미지 및 제2 서브 이미지를 포함하며; 상기 제1 유형의 이미지 쌍에 대해, 상기 이미지 쌍의 적어도 제1 서브 이미지 및 제2 서브 이미지는 제2 시간의 기간 내에 캡처된 이미지로부터 추출되고, 제2 시간의 기간은 제1 시간의 기간보다 짧으며; 각 선택된 이미지 쌍을 상기 이미지 임베딩 함수에 대한 입력으로서 제공하고 대응하는 출력들을 생성하는 단계; 상기 이미지 임베딩 함수의 성능 측정치를 결정하는 단계; 상기 성능 측정치에 기초하여, 상기 이미지 임베딩 함수의 상기 파라미터 가중치들을 조정하는 단계; 및 중단 이벤트가 발생할 때까지 다른 트레이닝의 반복을 수행하는 단계를 포함한다.
일부 구현예에서, 제1 유형 및 제2 유형의 이미지 쌍들을 선택하는 단계는 이미지 트리플렛들을 선택하는 것을 포함하며, 각 이미지 트리플렛은 제1 서브 이미지, 제2 서브 이미지 및 제3 서브 이미지의 조합이며: 상기 제1 서브 이미지 및 제2 서브 이미지를 포함하는 이미지 쌍은 상기 제1 유형의 이미지 쌍이고; 그리고 상기 제1 서브 이미지 및 제3 서브 이미지를 포함하는 이미지 쌍은 상기 제2 유형의 이미지 쌍이다.
일부 구현예에서, 이미지 트리플렛을 이미지 임베딩 함수에 대한 입력으로서 제공하고 대응하는 출력들을 생성하는 단계는 상기 이미지 임베딩 함수에 의해, 상기 이미지 트리플렛에서 상기 제1 이미지의 상기 피처들의 제1 표현, 상기 이미지 트리플렛에서 상기 제2 이미지의 피처들의 제21 표현 및 상기 이미지 트리플렛에서 상기 제3 이미지의 피처들의 제3 표현을 생성하는 것을 포함한다.
일부 구현예에서, 상기 이미지 임베딩의 성능 측정치를 결정하는 단계는 각 선택된 이미지 트리플렛에 대해: 상기 피처들의 제1 표현 및 피처들의 제2 표현에 기초하여, 피처들의 제1 표현과 피처들의 제2 표현의 유사도를 측정하는 제1 유사도 측정치를 결정하는 것; 및 상기 피처들의 제1 표현 및 피처들의 제3 표현에 기초하여, 피처들의 제1 표현과 피처들의 제3 표현의 유사도를 측정하는 제2 유사도 측정치를 결정하는 것을 포함한다.
일부 구현예에서, 상기 이미지 임베딩 함수는 유클리드 공간에서 입력 이미지들의 맵핑을 출력 피처 표현들로서 생성하며; 그리고 각 선택된 이미지 트리플렛에 대해: 상기 제1 유사도 측정치를 결정하는 것은 피처들의 제1 표현과 피처들의 제2 표현 사이의 제1 유클리드 거리를 결정하는 것을 포함하며; 그리고 상기 제2 유사도 측정치를 결정하는 것은 피처들의 제1 표현과 피처들의 제3 표현 사이의 제2 유클리드 거리를 결정하는 것을 포함한다.
일부 구현예에서, 상기 이미지 임베딩 함수의 성능 측정치를 결정하는 단계는 각 선택된 이미지 트리플렛에 대한 상기 제1 유클리드 거리 및 상기 제2 유클리드 거리에 기초한다.
일부 구현예에서, 각 선택된 이미지 트리플렛에 대해 상기 제1 유클리드 거리 및 상기 제2 유클리드 거리에 기초하여 성능 측정치를 결정하는 것은 각 선택된 이미지 트리플렛에 대해 상기 제1 유클리드 거리와 상기 제2 유클리드 거리의 차이에 기초하여 힌지 손실을 결정하는 것을 포함한다.
일부 구현예에서, 상기 성능 측정치를 결정하는 단계는 상기 선택된 이미지 트리플렛들에 대한 힌지 손실들을 합산하는 것을 포함한다.
일부 구현예에서, 이미지 임베딩 함수는 컨벌루션 신경 네트워크를 포함한다.
일부 구현예에서, 오브젝트들는 완전한 인체들이다.
일부 구현예에서, 상기 트레이닝된 신경 네트워크에 의해 생성된 피처 표현들은 클러스터링 알고리즘을 사용하여 그룹들에 할당된다.
일부 구현예에서, 각 추출된 서브 이미지는 키 포인트들로 주석이 달리며; 상기 이미지 임베딩 함수의 출력은 상기 입력 이미지의 피처 표현 및 상기 입력 이미지의 예측된 키 포인트 주석들을 포함하며; 그리고 이미지 임베딩 함수의 성능 측정치를 결정하는 단계는 상기 예측된 키 포인트 주석들과 상기 키 포인트 주석들 사이의 유사도를 결정하는 것을 포함한다.
일부 구현예에서, 이미지들의 트레이닝 세트의 이미지들로부터 서브 이미지들을 추출하는 단계는: 각 서브 이미지에 키 포인트들로 주석을 다는 것; 특정한 서브 이미지를 참조 이미지로서 선택하는 것; 및 각 서브 이미지의 키 포인트들을 상기 참조 서브 이미지의 키 포인트와 정렬시키기 위해 각 서브 이미지를 변환하는 것을 포함한다.
일부 구현예에서, 각 추출된 서브 이미지는 키 포인트들로 주석이 달리며; 상기 이미지 임베딩 함수의 입력은 입력 이미지 및 상기 입력 이미지의 주석이 달린 키 포인트들을 포함하며; 그리고 각 선택된 이미지 쌍을 상기 이미지 임베딩 함수에 대한 입력으로서 제공하는 것은 각 선택된 이미지 쌍에서 각 서브 이미지의 주석이 달린 키 포인트들을 상기 이미지 임베딩 함수에 대한 입력들로서 제공하는 것을 포함한다.
일부 구현예에서, 상기 제1 유형의 이미지 쌍에 대해, 상기 제1 서브 이미지 및 상기 제2 서브 이미지는 특정한 이벤트 동안 캡처되는 추출된 이미지들에 기초하여 선택된다.
일부 구현예에서, 상기 제1 유형의 이미지 쌍에 대해, 상기 제1 서브 이미지 및 상기 제2 서브 이미지는 상기 제2 시간의 기간 내에 캡처되는 추출된 이미지들에 기초하여 선택된다.
일부 구현예에서, 상기 방법은: 하나 이상의 입력 이미지들을 수신하는 단계; 및 상기 수신된 입력 이미지들 중 하나, 일부 또는 전부에 대해, (각각의) 입력 이미지로부터 하나 이상의 서브 이미지들을 추출하는 단계; 및 (각각의) 입력 이미지로부터 추출된 서브 이미지(들) 및 이미지 임베딩 함수를 사용하여 (각각의) 입력 이미지를 분류하는 단계를 포함한다.
일부 구현예에서, 상기 방법은 입력 이미지(들)을 분류한 결과에 기초하여 엔터티를 제어하는 단계를 더 포함한다. 예를 들어, 입력 이미지들이 자율 주행 차량의 하나 이상의 카메라들에 의해 획득되면, 입력 이미지(들)를 분류한 결과는 예를 들어, 차량에 접근하는 사람이 차량의 소유자라는 것을 나타낼 수 있다(예를 들어, 사람의 얼굴이 가려진 경우라도). 차량에 접근하는 사람이 차량의 소유자라는 결정에 응답하여, 차량은 문을 잠금 해제하거나 경적을 울릴 수 있다(예를 들어, 차량의 위치에 사람의 주의를 끌기 위해).
본 명세서에 기술된 발명의 다른 혁신적 양태는 데이터 프로세싱 장치에 의해 수행되는 이미지 분류의 컴퓨터로 구현되는 방법으로 이용될 수 있고, 상기 방법은: 이미지들의 트레이닝 세트의 각 이미지에서 특정한 유형의 오브젝트들의 출현을 검출하는 단계, 상기 이미지들의 트레이닝 세트의 이미지들은 제1 시간의 기간 내에 캡처되었던 이미지들이며; 상기 이미지들의 트레이닝 세트의 이미지들로부터 서브 이미지들을 추출하는 단계, 각 서브 이미지는 검출된 오브젝트의 일 출현을 도시하며; 이미지 임베딩 함수를 반복적으로 트레이닝하는 단계, 상기 이미지 임베딩 함수는 입력 이미지에 대해 동작하여 상기 입력 이미지의 피처들의 표현을 출력으로서 생성하는 파라미터 가중치들의 세트를 포함하고, 상기 트레이닝의 각 반복은: 상기 추출된 서브 이미지들로부터 제1 유형의 이미지 쌍들 및 제2 유형의 이미지 쌍들을 선택하는 동작, 각 이미지 쌍은 제1 서브 이미지와 제2 서브 이미지의 조합이며: 제1 유형의 이미지 쌍은 상기 특정한 유형의 오브젝트의 동일한 인스턴스를 도시하는 제1 서브 이미지 및 제2 서브 이미지를 포함하며; 제2 유형의 이미지 쌍은 상기 특정한 유형의 오브젝트들의 상이한 인스턴스들을 도시하는 제1 서브 이미지 및 제2 서브 이미지를 포함하며; 상기 제1 유형의 이미지 쌍에 대해, 상기 이미지 쌍의 적어도 제1 서브 이미지 및 제2 서브 이미지는 제2 시간의 기간 내에 캡처된 이미지로부터 추출되고, 제2 시간의 기간은 제1 시간의 기간보다 짧으며; 각 선택된 이미지 쌍을 상기 이미지 임베딩 함수에 대한 입력으로서 제공하고 대응하는 출력들을 생성하는 단계; 상기 이미지 임베딩 함수의 성능 측정치를 결정하는 단계; 상기 성능 측정치에 기초하여, 상기 이미지 임베딩 함수의 상기 파라미터 가중치들을 조정하는 단계; 중단 이벤트가 발생할 때까지 다른 트레이닝의 반복을 수행하는 단계; 하나 이상의 입력 이미지들을 수신하는 단계; 및 상기 수신된 입력 이미지들 중 하나, 일부 또는 전부에 대해, (각각의) 입력 이미지로부터 하나 이상의 서브 이미지들을 추출하는 단계; 및 (각각의) 입력 이미지로부터 추출된 서브 이미지(들) 및 이미지 임베딩 함수를 사용하여 (각각의) 입력 이미지를 분류하는 단계를 포함한다.
본 명세서에 기술된 발명의 다른 혁신적 양태는 이미지 분류 시스템에서 구현될 수 있고, 상기 시스템은: 하나 이상의 입력 이미지들을 수신하기 위한 입력; (각각의) 입력 이미지로부터 하나 이상의 서브 이미지들을 추출하기 위한 오브젝트 추출기; 및 (각각의) 입력 이미지로부터 추출된 서브 이미지(들) 및 본 발명의 임의의 양태 또는 구현예에 따른 방법에 의해 생성된 이미지 임베딩 함수를 사용하여 상기 (각각의) 입력 이미지를 분류하기 위한 분류기를 포함한다.
본 명세서에 기술된 발명의 다른 혁신적 양태는 이전 양태의 이미지 분류 시스템의 출력에 기초하여 엔터티를 제어하기 위한 제어 시스템에서 구현될 수 있다.
다른 양태들은 시스템을 포함하며, 상기 시스템은: 하나 이상의 컴퓨팅 디바이스들; 및 상기 하나 이상의 컴퓨팅 디바이스들에 연결되고 명령어들이 저장된 하나 이상의 컴퓨터 판독가능 매체를 포함하며, 상기 명령어들은 상기 하나 이상의 컴퓨팅 디바이스들에 의해 실행될 때, 하나 이상의 컴퓨팅 디바이스들로 하여금 본 발명의 임의의 양태 또는 구현예에 따른 방법을 포함하는 동작들을 수행하게 하며, 그리고 컴퓨터 저장 매체는 컴퓨터 프로그램이 인코딩되며, 상기 프로그램은 명령어들을 포함하며, 상기 명령어들은 데이터 프로세싱 장치에 의해 실행될 때, 상기 데이터 프로세싱 장치로 하여금 본 발명의 임의의 양태 또는 구현예에 따른 방법을 포함하는 동작들을 수행하게 한다.
이 양태들의 다른 실시예들은 상기 방법들의 액션들을 수행하도록 구성된 대응 시스템들, 장치들 및 컴퓨터 저장 디바이스들에 인코딩된 컴퓨터 프로그램들을 포함한다.
본 명세서에 기술된 본 발명의 특정한 실시예들은 다음의 이점들을 실현하도록 구현될 수 있다. 이하에 기술된 시스템 및 방법은 특정 시간의 기간 내에 캡처된 특정한 유형의 오브젝트의 동일한 인스턴스를 나타내는 이미지들에 대한 피처들의 유사한 표현 및 특정한 유형의 오브젝트들의 상이한 인스턴스들을 나타내는 이미지들에 대한 피처들의 비유사한 표현을 생성하는 이미지 임베딩 함수를 트레이닝한다. 이미지 임베딩 함수가 특정 시간의 시간 내에 캡처된 특정한 유형의 오브젝트의 동일한 인스턴스를 도시하는 이미지들에 대한 피처들의 유사한 표현을 생성할 것을 요구함으로써, 이미지 임베딩 함수는 얼굴 인식 프로세싱 없이 사람 인식의 컨텍스트에 적용될 수 있다. 이는 부분적으로, 특정 기간 동안 사람의 외향이 변하지 않기 때문이다. 예를 들면, 사람은 동일한 옷, 동일한 장신구를 착용하고 있다. 이는 특히 얼굴이 부분적으로 또는 전체적으로 가려진 경우에 이미지를 프로세싱하는데 이점이 있고, 따라서 이는 이미지 인식 프로세싱의 기술 분야에서의 개선이다.
추가적으로, 이미지 임베딩 함수는 단순화된 모델에 의해 구현될 수 있고, 이미지 임베딩 함수가 이미지가 캡처되었던 시간의 기간과 관계없이 특정한 유형의 오브젝트의 동일한 인스턴스를 도시하는 이미지들에 대해 피처들의 유사한 표현을 생성해야 하는 경우 보다 이미지 임베딩 함수의 트레이닝 프로세스는 덜 시간 소모적이고 덜 계산 집약적이다. 이러한 이점은 이미지 프로세싱 기술 분야에서도 개선된 점이다.
이미지 임베딩 함수는 입력 이미지의 피처 표현을 생성할 뿐만 아니라 입력 이미지에서 키 포인트들의 위치를 예측하도록 트레이닝될 수 있다. 이는 키 포인트를 사용하지 않는 임베드 함수보다 이미지 임베딩 함수로 생성된 피처 표현의 품질을 향상시킨다.
트레이닝 동안 이미지 임베딩 함수에 대한 입력으로서 주어진 이미지를 제공하기 전에 주어진 이미지의 키 포인트를 참조 이미지의 키 포인트와 정렬시키기 위해 변환이 적용될 수 있다. 이러한 변환은 이미지 임베딩 함수가 단순화된 모델에 의해 구현될 수 있게 하고, 이미지 임베딩 함수를 트레이닝하는 프로세스가 키 포인트의 그러한 변환없이 모델이 트레이닝된 경우보다 덜 시간 소모적이고 덜 계산 집약적이게 한다.
본 명세서에서 본 발명의 하나 이상의 실시예들의 세부 사항은 첨부 도면과 아래의 설명에서 기술된다. 본 발명의 다른 구성들, 양태들 및 이점들은 설명, 도면 및 청구항으로부터 명백해질 것이다.
도 1a는 이미지 트리플렛 트레이닝 데이터에 기초하여 이미지 임베딩 함수를 학습하기 위한 네트워크 아키텍처의 블록도이다.
도 1b는 이미지 쌍 트레이닝 데이터에 기초하여 이미지 임베딩 함수를 학습하기 위한 네트워크 아키텍처의 블록도이다.
도 2a는 이미지 트리플렛 트레이닝 데이터에 기초하여 이미지 임베딩 함수를 학습하기 위한 예시적 프로세스의 흐름도이다.
도 2b는 이미지 쌍 트레이닝 데이터에 기초하여 이미지 임베딩 함수를 학습하기 위한 예시적 프로세스의 흐름도이다.
도 3은 가능한 이미지 트리플렛을 생성하는 예시적 프로세스의 흐름도이다.
도 4는 이미지 임베딩 함수의 성능 측정치를 결정하기 위한 예시적 프로세스의 흐름도이다.
도 5는 이미지에서 검출된 오브젝트 출현에 기초하여 이미지 그룹을 할당하기 위한 네트워크 아키텍처의 블록도이다.
도 6은 이미지에서 검출된 오브젝트 출현에 기초하여 이미지 그룹을 할당하기 위한 예시적 프로세스의 흐름도이다.
다양한 도면들에서 동일한 참조 번호 및 기호는 동일한 구성요소를 표시한다.
이미지 임베딩 함수를 트레이닝하기 위해, 시스템은 이미지들의 트레이닝 세트의 각 이미지에서 특정한 유형의 오브젝트들의 출현을 검출한다. 이미지들의 트레이닝 세트의 이미지들은 제1 시간의 기간 내에 캡처되었던 이미지들이며, 각 이미지는 특정한 유형의 하나 이상의 오브젝트들을 도시할 수 있다. 많은 오브젝트 유형들이 있으며 각 오브젝트 유형은 시각적 특성이 유사한 오브젝트들의 카테고리로 고려될 수 있다. 예를 들어, 오브젝트 유형은 각각 유사한 시각적 특성을 갖는 사람, 랜드마크 또는 자동차일 수 있다.
오브젝트들이 검출되면, 시스템은 이미지들의 트레이닝 세트의 이미지들로부터 서브 이미지들을 추출한다. 각 서브 이미지는 검출된 오브젝트의 한 번의 출현을 도시한다. 예를 들어, "사람" 오브젝트 유형의 2번의 출현을 도시하는 이미지에 대해, 검출된 사람 오브젝트를 도시하는 2개의 서브 이미지가 이미지들로부터 추출될 수 있다.
그 다음 시스템은 이미지 쌍 또는 이미지 트리플렛에 대해 이미지 임베딩 함수를 반복적으로 트레이닝시키며, 이는 아래에서 더 상세히 설명될 것이다. 이미지 임베딩 함수는 입력 이미지에 대해 동작하여 상기 입력 이미지의 피처들의 표현을 출력으로서 생성하는 파라미터 가중치들의 세트를 포함한다. 트레이닝의 각 반복은 이미지 트리플렛을 선택하는 것 및 이미지 임베딩 함수에 대한 입력으로서 각 선택된 이미지 트리플렛을 제공하고 대응하는 출력을 생성하는 것을 포함한다. 이미지 임베딩 함수의 성능 측정치가 결정되고, 이미지 임베딩 함수의 파라미터 가중치는 성능 측정치에 기초하여 조정된다. 그 후, 다른 반복이 중단 이벤트가 발생할 때까지 수행된다.
추출된 서브 이미지로부터 이미지 트리플렛을 선택하기 위해, 시스템은 제1 이미지로부터 추출된 제1 서브 이미지, 제2 이미지로부터 추출된 제2 서브 이미지 및 제3 서브 이미지로부터 추출된 제3 서브 이미지의 조합을 선택한다. 제1 및 제2 서브 이미지는 특정한 유형의 오브젝트의 동일한 인스턴스를 도시한다. 예를 들어, 제1 및 제2 서브 이미지는 제1 시간의 기간보다 짧은 제2 시간의 기간 내에 촬영된 이미지들로부터 2개의 상이한 시간에서의 특정한 사람의 도시일 수 있다. 제3 서브 이미지는 제1 및 제2 서브 이미지에서 도시된 오브젝트의 동일한 인스턴스와 상이한 특정한 유형의 오브젝트의 인스턴스를 도시한다. 예를 들어, 제3 서브 이미지는 제1 및 제2 서브 이미지에 도시된 것과 다른 사람일 수 있다. 제3 서브 이미지는 제1 시간의 기간 동안 임의의 시간에 촬영된 이미지로부터의 것일 수 있다.
이러한 구성 및 추가 구성은 아래에 자세히 설명된다.
도 1a는 이미지 트리플렛 트레이닝 데이터에 기초하여 이미지 임베딩 함수 f(.)를 학습하기 위한 시스템(100)의 블록도이다. 시스템(100)은 하나 이상의 네트워크 컴퓨터의 데이터 처리 장치 시스템에서 구현될 수 있다.
시스템(100)은 3개의 이미지(110, 112, 114)의 이미지 트리플렛에 대해 이미지 임베딩 함수를 반복적으로 트레이닝한다. 이미지(110, 112 및 114)는 제1 시간 기간(T1)(124) 동안 캡처되었던 트레이닝 이미지(102)로부터 오브젝트 검출기(104)에 의해 검출된 특정한 유형(106)의 오브젝트들의 출현들을 도시한다. 이미지 임베딩 함수는 입력 이미지에 대해 동작하여 이미지의 피처들의 표현을 출력으로서 생성하는 파라미터 가중치들(W)의 세트에 기초한다. 이미지 임베딩 함수를 정의하는 데이터는 모델 데이터(128)에 저장된다.
각 이미지 트리플렛은 제1 이미지(110), 제2 이미지(112) 및 제3 서브 이미지(114)의 조합이다. 이미지 트리플렛의 제1 이미지(110), 제2 이미지(112) 및 제3 이미지(114)는 일반적으로 다른 이미지들로부터 추출된 서브 이미지들이지만, 오브젝트가 이미지에서 어떻게 도시되는지에 따라 전체 이미지들일 수 있다. 그러나, 이 설명의 나머지 부분에서, 트리플렛은 더 큰 이미지로부터 가장 자주 추출되기 때문에 "서브 이미지"로 지칭될 것이다.
제1 서브 이미지(110)는 "앵커" 이미지 A로 고려될 수 있고, 제2 서브 이미지(112)는 "포지티브" 이미지 P로 고려될 수 있고, 제3 서브 이미지(114)는 "네거티브" 이미지 N으로 고려될 수 있다. 제1 및 제2 서브 이미지는 특정한 유형의 오브젝트의 동일한 인스턴스의 도시로서 식별되고, 제3 서브 이미지는 제1 및 제2 이미지에 도시된 오브젝트의 동일한 인스턴스와 상이한 특정한 유형의 상이한 오브젝트를 도시하는 것으로서 식별되도록 선택된다. 또한, 제1 및 제2 검출된 오브젝트들이 각각 검출된 서브 이미지들은 제1 시간 기간(T1)(126)의 적절한 서브셋인 제2 시간 기간(T2) 내에 캡처되었다. 예를 들어, 제1 시간 기간이 30일 기간인 경우, 제2 기간은 6시간 기간일 수 있다.
후술될 바와 같이, 시스템(100)은 트리플렛을 사용하여, 일단 트레이닝되면 특정 시간 기간(T2) 내에 캡처된 특정한 유형의 오브젝트의 동일한 인스턴스의 피처들의 유사한 표현 및 특정한 유형의 오브젝트들의 상이한 인스턴스들의 피처들의 비유사한 표현을 생성할 수 있는 이미지 임베딩 함수를 트레이닝한다. 이 설명에서 사용된 바와 같이, 피처들의 표현은 예를 들어 이미지 임베딩 함수에 의해 출력된 피처 가중치들의 하나 이상의 세트일 수 있다.
일부 구현들에서, 트리플렛의 선택 대신에 이미지 쌍이 선택될 수 있다. 도 1b는 이미지 쌍 트레이닝 데이터에 기초하여 이미지 임베딩 함수 f(.)를 학습하기 위한 시스템(130)의 블록도이다. 시스템(130)은 하나 이상의 네트워크 컴퓨터의 데이터 처리 장치 시스템에서 구현될 수 있다.
시스템(130)은 이미지 쌍 트레이닝 데이터에 기초하여 이미지 임베딩 함수 f(.)를 학습하고, 그 컴포넌트들은 시스템(100)과 유사하게 정의된다. 시스템(130)은 2개의 이미지(140 및 142)의 이미지 쌍에 대해 이미지 임베딩 함수를 반복적으로 트레이닝한다. 이미지 쌍은 제1 유형일 수 있으며, 2개의 서브 이미지는 특정한 유형의 오브젝트의 동일한 인스턴스를 도시하고 제2 시간 기간(T2) 내에 캡처된 이미지들로부터 추출되었고, 또는 이미지 쌍은 제2 유형일 수 있으며, 2개의 서브 이미지는 특정한 유형의 오브젝트의 상이한 인스턴스들을 도시한다.
후술될 바와 같이, 시스템(100)과 유사하게, 시스템(130)은 이미지 쌍을 사용하여 일단 트레이닝되면 특정 시간 기간(T2) 내에 캡처된 특정한 유형의 오브젝트의 동일한 인스턴스의 피처들의 유사한 표현 및 특정한 유형의 오브젝트들의 상이한 인스턴스들의 피처들의 비유사한 표현을 생성할 수 있는 이미지 임베딩 함수를 트레이닝한다.
시스템(100)의 동작은 이미지 트리플렛 트레이닝 데이터에 기초하여 이미지 임베딩 함수를 학습하기 위한 예시적 프로세스의 흐름도인 도 2a를 참조하여 기술된다. 프로세스(200)는 하나 이상의 네트워크 컴퓨터의 데이터 처리 장치 시스템에서 구현될 수 있고, 데이터 처리 장치는 다른 언급이 없는 한 아래에서 설명되는 단계들을 수행한다.
프로세스(200)는 거리 메트릭에 기초하여 유사도가 결정될 수 있는 표현을 생성하는 특정한 이미지 임베딩 함수의 맥락에서 설명된다. 또한, 이미지 임베딩 함수(f(.))의 일 예시적 구현예는 이미지를 유클리드 공간의 포인트에 맵핑한다. 그러나, 다른 이미지 표현을 생성하는 다른 이미지 임베딩 함수도 사용될 수 있다. 따라서, 프로세스(200)에 의해 반복적으로 트레이닝될 수 있는 임의의 적절한 튜닝가능한 함수가 사용될 수 있고, 따라서 이미지 임베딩 함수는 후술되는 특정한 예시적 함수일 필요는 없다.
프로세스(200)는 특정한 유형의 오브젝트들의 출현을 검출한다(202). 예를 들어, 특정한 유형의 오브젝트들의 출현이 이미지들의 트레이닝 세트(102)의 이미지에서 검출된다. 이미지들의 트레이닝 세트의 이미지들은 제1 기간의 기간(T1)(124) 동안 캡처되었던 이미지들이다. 특정한 유형의 오브젝트들의 출현들을 검출하는 것은 자동화된 방법으로 수행될 수 있다. 이미지들의 트레이닝 세트의 일부 이미지는 특정한 유형의 오브젝트들의 출현을 포함하지 않을 수 있다.
프로세스(200)는 서브 이미지들을 추출하며, 각 서브 이미지들은 검출된 오브젝트의 단일 출현을 포함한다(204). 예를 들어, 서브 이미지들은 이미지들의 트레이닝 세트의 이미지로부터 추출되며, 각 서브 이미지는 이미지들의 트레이닝 세트로부터의 이미지의 내부의 연속 영역이다. 각 서브 이미지는 검출된 오브젝트의 한 번의 출현을 도시한다.
이미지들의 트레이닝 세트의 하나의 이미지로부터 다수의 서브 이미지가 추출될 수 있다. 서브 이미지는 중첩될 수 있으며, 특히, 오브젝트의 동일한 출현은 이미지들의 트레이닝 세트의 동일한 이미지로부터 추출된 다수의 서브 이미지들에 의해 도시될 수 있다. 서브 이미지는 트레이닝 세트의 이미지에서 직사각형 바운딩 박스(또는 임의의 기하학적으로 정의된 바운딩 박스)의 내부로 정의될 수 있다. 바운딩 박스들의 위치는 정점의 데카르트 좌표에 의해 파라미터화될 수 있다. 서브 이미지가 검출되면, 반복 프로세스가 시작된다.
일부 구현예에서, 각 추출된 서브 이미지는 주어진 키 포인트들로 주석이 달릴 수 있다. 주어진 키 포인트들은 수동으로 주석이 달렸거나 자동화된 방법에 의해 주석이 달릴 수 있고, 이미지에서 좌표들의 순서화된 리스트를 포함할 수 있으며, 각 좌표는 키 포인트의 위치를 나타낸다. 예를 들어, 인간 오브젝트 유형의 맥락에서, 키 포인트들은 팔꿈치, 머리, 몸통, 다리 등과 같은 신체 및 골격 포인트를 도시하는 포인트들일 수 있다. 이미지들의 트레이닝 세트의 일부 이미지는 키 포인트들의 적절한 서브셋으로 주석이 달릴 수 있다. 예를 들어, 인간 오브젝트 유형의 맥락에서, 다리로부터의 키 포인트들은 사람을 허리에서 위쪽으로 도시하는 서브 이미지에서 주석이 달릴 수 없다. 이러한 구현들에서, 추출된 서브 이미지는 참조 서브 이미지로서 선택될 수 있고, 각각의 다른 추출된 서브 이미지는 그들의 각각의 키 포인트들을 참조 서브 이미지의 키 포인트와 정렬시키도록 변환될 수 있다. 변환은 시프팅 및 회전과 같은 선형 변환 및 제어 포인트 그리드의 변위에 의해 파라미터화된 변환과 같은 비선형 변환 둘 모두를 포함할 수 있다. 변환될 서브 이미지의 키 포인트와 참조 서브 이미지의 키 포인트 사이의 유사도 측정치를 최대화함으로써 변환이 계산될 수 있다.
프로세스(200)는 이미지 트리플렛(206)을 선택한다. 트리플렛 선택 레이어(108)는 검출된 오브젝트들(106)을 포함하는 서브 이미지로부터 이미지 트리플렛들을 선택한다. 이미지 트리플렛을 선택하는 하나의 예시적 방법은 도 3의 프로세스(300)를 참조하여 설명된다.
프로세스(300)는 제1 검출된 오브젝트(302)를 포함하는 제1 서브 이미지(110) 및 제2 검출된 오브젝트를 포함하는 제2 서브 이미지(112)를 선택함으로써 가능한 이미지 트리플렛을 선택하고, 제2 서브 이미지 및 제1 서브 이미지는 특정한 유형의 오브젝트의 동일한 인스턴스를 도시하고, 제2 시간의 기간(T2) 내에서 캡처된 이미지들로부터 추출된다(304). 예를 들어, 동일한 인스턴스는 특정한 사람의 두 이미지가 제2 기간 동안 동일하거나 상이한 시간에 촬영될 수 있다. 일부 구현예에서, 제1 및 제2 서브 이미지들은 특정한 이벤트, 예를 들어 생일 파티 동안 캡처되는 추출된 이미지들에 기초하여 선택된다. 프로세스(300)는 특정한 유형의 제3 검출된 오브젝트를 포함하는 제3 서브 이미지(114)를 선택하고, 이는 제1 및 제2 서브 이미지에서 도시된 오브젝트의 동일한 인스턴스와 상이하다(306).
주어진 반복에서, 모든 가능한 이미지 트리플렛의 적절한 서브셋이 선택될 수 있다. 임의의 주어진 반복에서, 이미지 트리플렛에서 제1 및 제2 서브 이미지의 피처 표현이 가능한 한 유사하지 않고, 이미지 트리플렛에서 제1 및 제3 서브 이미지의 피처 표현이 가능한 한 유사한 "하드" 이미지 트리플렛은 이미지 임베딩 함수의 트레이닝 속도를 높이기 위해 우선적으로 선택될 수 있다.
단계(206)는 제1 반복 단계로 도시되어 있지만, 일부 구현예에서, 단계(206)는 한 번 수행될 수 있으며, 단계(208)는 제1 반복 단계일 수 있다.
도 2a로 돌아가면, 프로세스(200)는 각 선택된 이미지 트리플렛의 제1, 제2 및 제3 서브 이미지 각각을 이미지 임베딩 함수에 대한 입력으로서 제공한다(208). 예를 들어, 도 1a에 도시된 바와 같이, 트리플렛 선택 레이어(108)는 이미지 트리플렛의 제1 서브 이미지(110), 제2 서브 이미지(112) 및 제3 서브 이미지(114)를 이미지 임베딩 함수 f(.)에 제공하여 인스턴스 f(.)(116), f(.)(118) 및 f(.)(120)를 생성한다. 각 인스턴스는 동일한 임베딩 함수 f(.)를 사용하지만 이미지 트리플렛의 이미지 중 단 하나만 입력으로 수신한다.
프로세스(200)는 이미지 임베딩 함수에 의해, 각 이미지 트리플렛(210)에서 각각의 이미지의 시각적 피처들의 표현을 생성한다. 예를 들어, 도 1a에 도시된 바와 같이, 표현 f(A), f(P) 및 f(N)이 생성된다. 일부 구현들에서, 임베딩 함수는 피처들의 출력 표현으로서 유클리드 공간에서 이미지의 맵핑을 생성한다. 그러나 다른 표현을 생성하는 다른 함수가 사용될 수 있다.
프로세스(200)는 이미지 트리플렛(212)의 각각의 피처 표현의 유사도 측정치에 기초하여 이미지 임베딩 함수의 성능 측정치를 결정한다. 성능 측정치를 결정하는 하나의 예시적 방법은 도 4의 프로세스(400)를 참조하여 설명된다.
각 트리플렛에 대해, 프로세스(400)는 이미지 트리플렛에서의 제1 이미지의 피처들의 제1 표현과 이미지 트리플렛에서의 제2 이미지의 피처들의 제2 표현의 유사도를 측정하는 제1 유사도 측정치를 결정한다(402). 유사하게, 각 트리플렛에 대해, 프로세스(400)는 이미지 트리플렛에서의 제1 이미지의 피처들의 제1 표현과 이미지 트리플렛에서의 제3 이미지의 피처들의 제3 표현의 유사도를 측정하는 제2 유사도 측정치를 결정한다(404).
그 다음 프로세스(400)는 이미지 트리플렛(406)의 제1 및 제2 유사도 측정치에 기초하여 이미지 임베딩 함수의 성능 측정치를 결정한다. 이미지를 유클리드 공간으로 맵핑하는 임베딩 함수의 경우, 모델 성능 측정치 레이어(130)는 유클리드 거리를 유사도 측정치로서 사용할 수 있다.
Figure 112019102815450-pct00001
따라서, 거리(D)가 작을수록, 피처 표현 f(A)와 피처 표현 f(P)(또는 f(A) 및 f(N)) 사이에 더 큰 유사도가 있다. 따라서, 거리(D)가 클수록, 피처 표현 f(A)와 피처 표현 f(P)(또는 f(A) 및 f(N)) 사이에 더 작은 유사도가 있다.
다시, 다른 메트릭들이 사용되어 피처 표현 간의 유사도를 측정할 수 있다. 사용된 유사도 측정치는 이미지 이미지 임베딩 함수 f(.)가 생성하는 표현에 의존할 수 있다.
유사도 측정치가 유클리드 거리인 경우, 모델 성능 측정 레이어(122)은 앵커 이미지의 피처 표현과 포지티브 이미지의 피처 표현 사이의 제1 유클리드 거리 및 앵커 이미지의 피처 표현과 네거티브 이미지의 피처 표현 사이의 제2 유클리드 거리에 기초하여 이미지 트리플렛에 대한 제1 및 제2 유사도 측정치를 결정할 수 있다. 이러한 유형의 이미지 임베딩 함수가 사용되는 경우, 시스템(100)은 이미지 트리플렛에 대한 피처 표현을 생성하는 이미지 임베딩 함수 f(.)를 학습하기 위해 시도하며, 제1 유사도 측정치는 제2 유사도 측정보다 작으며, 이는 다음과 같이 표현될 수 있다:
Figure 112019102815450-pct00002
Figure 112019102815450-pct00003
여기서 α는 양수와 음수 쌍 사이에 적용되는 특정 여백이며 Γ는 선택된 이미지 트리플렛 세트이다.
성능 측정치는 이미지 트리플렛에 대한 제1 유클리드 거리와 제2 유클리드 거리의 차이에 기초하여 힌지 손실을 결정하는 것을 포함할 수 있다, 예를 들어,:
Figure 112019102815450-pct00004
성능 측정치는 각 선택된 이미지 트리플렛에 대한 힌지 손실 항들을 합산하는 것을 포함할 수 있다:
Figure 112019102815450-pct00005
일부 구현들에서, 각 추출된 서브 이미지는 주어진 키 포인트들로 주석이 달릴 수 있고, 이미지 임베딩 함수는 이미지 트리플렛 및 키 포인트 주석들에 대해 반복적으로 트레이닝될 수 있다. 일부 구현예에서, 이미지 임베딩 함수의 출력은 상기 입력 이미지의 피처 표현 및 상기 입력 이미지의 예측된 키 포인트 주석들을 포함한다. 이러한 구현예에서, 성능 측정치는 이미지 임베딩 함수에 의해 예측된 키 포인트 주석들과 주어진 키 포인트 주석들 사이의 유사도 측정치를 포함할 수 있다. 일부 다른 구현예에서, 상기 이미지 임베딩 함수의 입력은 입력 이미지 및 상기 입력 이미지의 주석이 달린 키 포인트들을 포함한다.
이미지 임베딩 함수 f(.)의 출력에 따라 다른 유형의 성능 측정치도 사용될 수 있다.
도 2a로 돌아가면, 프로세스(200)는 상기 성능 측정치에 기초하여, 상기 이미지 임베딩 함수의 파라미터 가중치들을 조정한다(214). 예를 들어, 이미지 임베딩 함수의 파라미터 가중치는 이미지 임베딩 함수의 성능 측정에 기초하여 조정된다. 파라미터 가중치는 성능 측정치에 따라 이미지 임베딩 함수의 성능을 향상시키도록 조정될 수 있다. 조정은 네트워크 파라미터에 대한 손실 함수의 기울기를 계산하고, 기울기에 기초하여 네트워크 파라미터를 조정하는 것을 포함할 수 있다. 기울기에 기초한 파라미터 가중치 업데이트의 공격성은 스칼라 "학습 속도" 변수에 의존할 수 있다. 학습 속도는 반복 간에 변경될 수 있다.
프로세스(200)는 중단 이벤트가 발생했는지 결정한다(216). 중단 이벤트는 트레이닝 프로세스가 추가 트레이닝 반복 수행을 중지시키는 이벤트이다. 예를 들어, 최대 트레이닝 반복 횟수에 도달하고, 특정 임계치를 달성하는 성능 측정치 및 특정 임계치를 달성하는 반복 사이의 성능 측정치의 변화는 중단 이벤트일 수 있다. 중단 이벤트는 트레이닝 프로세스의 임의의 반복에 포함되도록 선택되지 않은 이미지 트리플렛에 기초하여 평가된 이미지 임베딩 함수의 제2 성능 측정치에 기초할 수 있다. 중단 이벤트가 발생한 것으로 결정하면 트레이닝이 종료된다.
중단 이벤트가 발생하지 않은 것으로 결정하면, 프로세스(200)는 단계(206)(또는 구현예에 따라 단계(208))로 돌아가서 반복할 수 있다. 그렇지 않으면, 트레이닝은 종료된다(218).
상기 기술된 바와 같이, 다른 구현예들, 예를 들어, 도 2b의 예에서, 이미지 쌍이 사용된다. 이 예시적 구현예의 동작은 이미지 쌍 트레이닝 데이터에 기초하여 이미지 임베딩 함수를 학습하기 위한 예시적 프로세스(220)의 흐름도인 도 2b를 참조하여 기술된다. 프로세스(220)는 하나 이상의 네트워크 컴퓨터의 데이터 처리 장치 시스템에서 구현될 수 있고, 데이터 처리 장치는 다른 언급이 없는 한 아래에서 설명되는 단계들을 수행한다.
프로세스(220)는 이미지 임베딩 함수가 이미지 트리플렛 트레이닝 데이터 대신 이미지 쌍 트레이닝 데이터에 기초하여 학습되는 것을 제외하고는 프로세스(200)와 유사하다. 따라서, 단계(222, 224, 226 및 228) 만이 아래에 설명된다; 다른 단계들은 도 2a에 설명된 바와 같다.
프로세스(200)는 제1 유형 및 제2 유형의 이미지 쌍을 선택하고(단계 222), 각 이미지 쌍에 대해, 제1 및 제2 이미지를 이미지 임베딩 함수에 제공하고(단계 224), 각 이미지 쌍에 대해, 이미지 임베딩 함수에 의해 이미지 각각에 대한 피처 표현을 생성하고(단계 226), 이미지 쌍의 각각의 피처 표현의 유사도 측정치에 기초하여 이미지 임베딩 함수의 성능 측정치를 결정하고(단계 228), 그렇지 않으면 프로세스(200)와 유사하게 진행한다.
트레이닝된 모델은 이미지 프로세싱 시스템에서 유지되고 구현될 수 있다. 트레이닝된 이미지 임베딩 함수의 그러한 하나의 적용이 도 5를 참조하여 설명되며, 도 5는 예를 들어, 트레이닝된 이미지 임베딩 함수를 사용하여 이미지들을 그룹들로 분류(또는 사진들을 "그룹핑")함으로써, 이미지 세트(502)로부터 이미지들을 분류하기 위한 시스템(500)의 블록도이다. 시스템(500)은 하나 이상의 네트워크 컴퓨터의 데이터 처리 장치 시스템에서 구현될 수 있다.
시스템(500)은 이미지에서 특정한 유형의 오브젝트의 출현에 기초하여 이미지 세트로부터 이미지를 그룹화하거나 분류한다. 모델 데이터(128)는 프로세스(200)에 의해 특정한 유형의 오브젝트의 표현을 생성하도록 트레이닝되는 이미지 임베딩 함수(506)에 대응한다. 오브젝트 검출기(104)는 이미지 세트 내의 이미지로부터 특정한 유형의 오브젝트를 검출하고, 검출된 오브젝트(504)의 출현을 도시하는 서브 이미지들이 추출된다. 전술한 바와 같이 트레이닝된 이미지 임베딩 함수(506)는 특정한 유형의 검출된 오브젝트를 도시하는 서브 이미지의 피처들의 표현을 생성하고, 클러스터링 알고리즘(508)은 이러한 피처들의 표현을 그룹에 할당한다. 전술한 바와 같이, 입력 이미지 세트를 분류한 결과는 예를 들어 엔터티를 제어하는 제어 시스템에 대한 입력으로서 사용될 수 있다.
시스템(500)의 동작은 도 6을 참조하여 설명되며 이는 이미지에서 특정한 유형의 오브젝트의 출현에 기초하여 이미지 세트로부터 이미지를 그룹화하기 위한 예시적 프로세스(600)의 흐름도이다. 프로세스(600)는 하나 이상의 네트워크 컴퓨터의 데이터 처리 장치 시스템에서 구현될 수 있고, 데이터 처리 장치는 다른 언급이 없는 한 아래에서 설명되는 단계들을 수행한다.
프로세스(600)는 이미지 세트 내의 이미지에서 특정한 유형의 오브젝트의 출현을 검출하고, 이미지들로부터 서브 이미지를 추출하며, 각 서브 이미지는 특정한 유형의 오브젝트의 한 번의 출현을 도시한다(602). 이 단계는 전술한 단계 202 및 204와 유사할 수 있다.
프로세스(600)는 각 서브 이미지를 트레이닝된 피처 표현을 생성하는 이미지 임베딩 함수(506)에 입력함으로써 각 서브 이미지에 대한 피처 표현을 생성한다(604). 트레이닝된 이미지 임베딩 함수(506)는 전술된 바와 같이 트레이닝되었다.
프로세스(600)는 생성된 피처 표현을 상기 추출된 서브 이미지의 피처들의 생성된 표현을 클러스터링함으로써 검출된 오브젝트 그룹에 할당한다(606). 예를 들어, 이미지 임베딩 함수가 유클리드 공간에 맵핑되는 구현예에서, 클러스터링 알고리즘은 k-평균 알고리즘 또는 기대-최대화(EM) 알고리즘일 수 있다.
프로세스(600)는 이미지 세트 내의 이미지를 이미지 그룹에 할당한다(608). 할당은 검출된 오브젝트 그룹에 기초할 수 있고, 이미지 세트로부터의 제1 이미지 및 이미지 세트로부터의 제2 이미지는 제1 이미지로부터 추출된 제1 서브 이미지 및 제2 이미지로부터 추출된 제2 서브 이미지가 동일한 검출된 오브젝트 그룹에 할당된 경우 동일한 이미지 그룹에 할당된다. 이미지 세트에서 하나의 이미지가 여러 이미지 그룹에 할당될 수 있다. 예를 들어, 제1 이미지가 오브젝트 인스턴스 A를, 제2 이미지가 오브젝트 인스턴스 B를, 제3 이미지가 오브젝트 인스턴스 A와 B를 모두 도시하고, 오브젝트 인스턴스 A가 오브젝트 인스턴스 B와 다른 경우, 제1 이미지와 제2 이미지는 상이한 이미지 그룹에 할당되고, 제3 이미지는 상이한 이미지 그룹에 할당된다.
일 구현예에서, 특정한 유형의 오브젝트는 완전한 인체이고, 시스템(500)은 개인 사진을 그룹화하는데 적용되며, 동일한 사람을 도시하는 사진은 동일한 그룹에 할당된다. 검출된 얼굴의 유사도에 기초하여 개인 사진을 그룹화하는 방법은 얼굴을 인식할 수 없는 경우에 사진을 성공적으로 그룹화하기 어렵다. 작거나 가려지거나 후면으로 보이는 등의 이유로 얼굴을 인식하지 못할 수 있다. 그러나, 검출된 전신의 유사도에 기초하여 개인 사진을 그룹화하는 것은 이러한 과제에 더 강건하며, 여기서 각 이미지에서 검출된 전신을 도시하는 서브 이미지의 피처들의 표현이 동일한 검출된 오브젝트 그룹에 할당되면 2개의 이미지는 동일한 이미지 그룹에 할당된다.
일부 구현예에서, 도 1a 또는 도 1b의 시스템은 이미지 임베딩 함수 f(.)를 구현하는 인공 신경 네트워크 구조를 트레이닝하는데 사용될 수 있다. 인공 신경 네트워크는 이미지 I: f(I) ∈ Rd의 임베딩을 계산하며, 여기서 d는 피처 임베딩의 차원이다.
전술한 바와 같이, 성능 측정 레이어(122)는 임베딩 함수의 성능을 평가한다. 임베딩 함수를 생성하기 위해 신경 네크워크가 사용되는 경우, 성능 측정 레이어(122)는 기울기를 네트워크의 하위 레이어로 역전파하여, 하위 레이어가 손실을 최소화하기 위해 파라미터를 조정할 수 있도록 한다.
신경 네트워크는 다수의 적층된 레이어들을 포함할 수 있고, 각 적층된 레이어는 다수의 뉴런들로 구성되며, 각 뉴런은 다수의 입력들을 수신하도록 구성되고 활성화 함수를 구비한다. 레이어들은 컨볼루션 레이어, 풀링 레이어, 로컬 정규화 레이어 및 완전히 연결된 레이어를 포함할 수 있다. 활성화 함수는 시그모이드, tanh, 정류 선형, 누설 정류 선형 또는 maxout일 수 있다.
컨볼루션 레이어는 입력을 수신하고 입력을 학습된 커널 세트로 컨볼브하여 피처 맵을 생성한다. 커널은 에지와 같이 임베딩과 관련된 로컬 이미지 피처들을 검출하는 것을 적응적으로 학습할 수 있다.
최대 풀링 레이어는 픽셀 주위의 로컬 주변에서 최대 풀링을 수행한다. 최대 풀링은 풀링된 최대 블록을 선택하는 것을 포함한다. 평균 풀링 레이어는 픽셀 주위의 로컬 주변에서 평균 풀링을 수행한다. 평균 풀링은 풀링된 평균 블록을 계산하는 것을 포함한다. 풀링 레이어를 사용하면 피처 맵을 소규모 번역에 강력하게 만들 수 있다.
정규화 레이어는 컨벌루션 신경 네트워크의 출력을 정규화된 스케일로 정규화한다. 일부 구현예에서, 정규화 레이어들은 단위 표준 및 제로 평균을 갖도록 로컬 이웃 주위의 피처 맵들을 정규화한다. 이는 조명과 대비의 차이에 강한 피처 맵으로 이어진다.
신경 네트워크는 하나 이상의 파라미터 가중치 정규화 전략을 구현할 수 있다. 성능 측정치는 신경 네트워크의 파라미터 가중치의 표준을 계산하는 정규화 항을 포함하는 손실 함수일 수 있다. 신경 네트워크는 드롭 아웃을 구현할 수 있으며, 이는 뉴런 공동 적응을 방지하기 위해 무작위로 뉴런을 드롭하는 것을 포함한다.
본 발명의 실시예들과 본 명세서에 기술된 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 디지털 전자회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 본 발명의 실시예들은 하나 이상의 컴퓨터 프로그램들로서 구현될 수 있다. 즉, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들.
컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 엑세스 메모리 어레이 또는 디바이스 또는 그들 중 하나 이상의 조합이거나 그에 포함될 수 있다. 또한, 컴퓨텅 저장 매체는 전파된 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파된 신호에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들에 저장된 또는 다른 소스들로부터 수신된 데이터에서 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.
용어 “데이터 프로세싱 장치”는 예시로서 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩 또는 앞서 언급된 것들 중 다수의 것들 또는 조합들을 포함하는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 또한, 장치는 하드웨어 이외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 실행 환경, 가상 머신 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드로도 알려져 있음)은 컴파일된 또는 인터프리트된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 오브젝트로서 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들이나 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들을 가지는 파일의 부분에, 문제되는 프로그램 전용 단일의 파일에 또는 다수의 조정된 파일들, 예를 들어, 하나 이상의 모듈들, 서브프로그램 또는 코드의 일부를 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되어 있거나 다수의 사이트들에 걸쳐서 분산되어 있고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다.
본 명세서에서 기술된 발명의 실시예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 어플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다.
컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.
본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안된다. 별개의 실시예의 맥락에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 기술된 다양한 구성들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 게다가, 상기 기술된 실시예에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 일반적으로 기술된 프로그램 컴포넌트들 및 시스템들은 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다고 이해되어야 한다.
따라서, 본 발명의 특정한 실시예들이 기술되었다. 다른 실시예들도 다음의 청구항들의 범위 내에 있다. 일부 경우에, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 추가로, 첨부 도면들에 도시된 프로세스들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다. 특정 구현예에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다.

Claims (18)

  1. 데이터 프로세싱 장치에 의해 수행되는, 컴퓨터로 구현되는 방법으로서,
    이미지들의 트레이닝 세트의 각 이미지에서 특정한 유형의 오브젝트들의 출현을 검출하는 단계, 상기 이미지들의 트레이닝 세트의 이미지들은 제1 시간의 기간 내에 캡처되었던 이미지들이며;
    상기 이미지들의 트레이닝 세트의 이미지들로부터 서브 이미지들을 추출하는 단계, 각 서브 이미지는 검출된 오브젝트의 일 출현을 도시하며;
    이미지 임베딩 함수를 반복적으로 트레이닝하는 단계, 상기 이미지 임베딩 함수는 입력 이미지에 대해 동작하여 상기 입력 이미지의 피처들의 표현을 출력으로서 생성하는 파라미터 가중치들의 세트를 포함하고, 상기 트레이닝의 각 반복은:
    상기 추출된 서브 이미지들로부터 제1 유형의 이미지 쌍들 및 제2 유형의 이미지 쌍들을 선택하는 단계, 각 이미지 쌍은 제1 서브 이미지와 제2 서브 이미지의 조합이며:
    제1 유형의 이미지 쌍은 상기 특정한 유형의 오브젝트의 동일한 인스턴스를 도시하는 제1 서브 이미지 및 제2 서브 이미지를 포함하며;
    제2 유형의 이미지 쌍은 상기 특정한 유형의 오브젝트들의 상이한 인스턴스들을 도시하는 제1 서브 이미지 및 제2 서브 이미지를 포함하며;
    상기 제1 유형의 이미지 쌍에 대해, 상기 이미지 쌍의 적어도 제1 서브 이미지 및 제2 서브 이미지는 제2 시간의 기간 내에 캡처된 이미지로부터 추출되고, 제2 시간의 기간은 제1 시간의 기간보다 짧으며;
    각 선택된 이미지 쌍을 상기 이미지 임베딩 함수에 대한 입력으로서 제공하고 대응하는 출력들을 생성하는 단계;
    상기 이미지 임베딩 함수의 성능 측정치를 결정하는 단계;
    상기 성능 측정치에 기초하여, 상기 이미지 임베딩 함수의 상기 파라미터 가중치들을 조정하는 단계; 및
    중단 이벤트가 발생할 때까지 다른 트레이닝의 반복을 수행하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 청구항 1에 있어서, 상기 제1 유형 및 상기 제2 유형의 이미지 쌍들을 선택하는 단계는 이미지 트리플렛을 선택하는 것을 포함하고, 각 이미지 트리플렛은 제1 서브 이미지, 제2 서브 이미지 및 제3 서브 이미지의 조합이며:
    상기 제1 서브 이미지 및 제2 서브 이미지를 포함하는 이미지 쌍은 상기 제1 유형의 이미지 쌍이고; 그리고
    상기 제1 서브 이미지 및 제3 서브 이미지를 포함하는 이미지 쌍은 상기 제2 유형의 이미지 쌍인 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 청구항 2에 있어서, 이미지 트리플렛을 이미지 임베딩 함수에 대한 입력으로서 제공하고 대응하는 출력들을 생성하는 단계는 상기 이미지 임베딩 함수에 의해, 상기 이미지 트리플렛에서 제1 이미지의 상기 피처들의 제1 표현, 상기 이미지 트리플렛에서 제2 이미지의 피처들의 제2 표현 및 상기 이미지 트리플렛에서 제3 이미지의 피처들의 제3 표현을 생성하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 청구항 3에 있어서, 상기 이미지 임베딩의 성능 측정치를 결정하는 단계는 각 선택된 이미지 트리플렛에 대해:
    상기 피처들의 제1 표현 및 피처들의 제2 표현에 기초하여, 피처들의 제1 표현과 피처들의 제2 표현의 유사도를 측정하는 제1 유사도 측정치를 결정하는 것; 및
    상기 피처들의 제1 표현 및 피처들의 제3 표현에 기초하여, 피처들의 제1 표현과 피처들의 제3 표현의 유사도를 측정하는 제2 유사도 측정치를 결정하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 청구항 4에 있어서,
    상기 이미지 임베딩 함수는 유클리드 공간에서 입력 이미지들의 맵핑을 출력 피처 표현들로서 생성하며; 그리고
    각 선택된 이미지 트리플렛에 대해:
    상기 제1 유사도 측정치를 결정하는 것은 피처들의 제1 표현과 피처들의 제2 표현 사이의 제1 유클리드 거리를 결정하는 것을 포함하며; 그리고
    상기 제2 유사도 측정치를 결정하는 것은 피처들의 제1 표현과 피처들의 제3 표현 사이의 제2 유클리드 거리를 결정하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 청구항 5에 있어서, 상기 이미지 임베딩 함수의 성능 측정치를 결정하는 단계는 각 선택된 이미지 트리플렛에 대한 상기 제1 유클리드 거리 및 상기 제2 유클리드 거리에 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 청구항 6에 있어서, 각 선택된 이미지 트리플렛에 대해 상기 제1 유클리드 거리 및 상기 제2 유클리드 거리에 기초하여 성능 측정치를 결정하는 것은 각 선택된 이미지 트리플렛에 대해 상기 제1 유클리드 거리와 상기 제2 유클리드 거리의 차이에 기초하여 힌지 손실을 결정하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 청구항 7에 있어서, 상기 성능 측정치를 결정하는 단계는 상기 선택된 이미지 트리플렛에 대해 상기 힌지 손실들을 합산하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 청구항 1에 있어서, 상기 이미지 임베딩 함수는 컨벌루션 신경 네트워크를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 청구항 1에 있어서, 상기 오브젝트들은 완전한 인체들(human bodies)인 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 청구항 1에 있어서, 상기 트레이닝된 신경 네트워크에 의해 생성된 피처 표현들은 클러스터링 알고리즘을 사용하여 그룹들에 할당되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 청구항 1에 있어서,
    각 추출된 서브 이미지는 키 포인트들로 주석이 달리며;
    상기 이미지 임베딩 함수의 출력은 상기 입력 이미지의 피처 표현 및 상기 입력 이미지의 예측된 키 포인트 주석들을 포함하며; 그리고
    이미지 임베딩 함수의 성능 측정치를 결정하는 단계는 상기 예측된 키 포인트 주석들과 상기 키 포인트 주석들 사이의 유사도를 결정하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 청구항 1에 있어서, 상기 이미지들의 트레이닝 세트의 이미지들로부터 서브 이미지를 추출하는 단계는:
    각 서브 이미지에 키 포인트들로 주석을 다는 것;
    특정한 서브 이미지를 참조 이미지로서 선택하는 것; 및
    각 서브 이미지의 키 포인트들을 상기 참조 서브 이미지의 키 포인트와 정렬시키기 위해 각 서브 이미지를 변환하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 청구항 1에 있어서,
    각 추출된 서브 이미지는 키 포인트들로 주석이 달리며;
    상기 이미지 임베딩 함수의 입력은 입력 이미지 및 상기 입력 이미지의 주석이 달린 키 포인트들을 포함하며; 그리고
    각 선택된 이미지 쌍을 상기 이미지 임베딩 함수에 대한 입력으로서 제공하는 것은 각 선택된 이미지 쌍에서 각 서브 이미지의 주석이 달린 키 포인트들을 상기 이미지 임베딩 함수에 대한 입력들로서 제공하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  15. 청구항 1에 있어서, 상기 제1 유형의 이미지 쌍에 대해, 상기 제1 서브 이미지 및 상기 제2 서브 이미지는 특정한 이벤트 동안 캡처되는 추출된 이미지들에 기초하여 선택되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  16. 청구항 1에 있어서, 상기 제1 유형의 이미지 쌍에 대해, 상기 제1 서브 이미지 및 상기 제2 서브 이미지는 상기 제2 시간의 기간 내에 캡처되는 추출된 이미지들에 기초하여 선택되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  17. 이미지를 프로세싱하기 위한 시스템으로서,
    하나 이상의 컴퓨팅 디바이스들; 및
    상기 하나 이상의 컴퓨팅 디바이스들에 연결되고 명령어들이 저장된 하나 이상의 컴퓨터 판독가능 매체를 포함하며, 상기 명령어들은 상기 하나 이상의 컴퓨팅 디바이스들에 의해 실행될 때, 상기 하나 이상의 컴퓨팅 디바이스들로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    이미지들의 트레이닝 세트의 각 이미지에서 특정한 유형의 오브젝트들의 출현을 검출하는 동작, 상기 이미지들의 트레이닝 세트의 이미지들은 제1 시간의 기간 내에 캡처되었던 이미지들이며;
    상기 이미지들의 트레이닝 세트의 이미지들로부터 서브 이미지들을 추출하는 동작, 각 서브 이미지는 검출된 오브젝트의 일 출현을 도시하며;
    이미지 임베딩 함수를 반복적으로 트레이닝하는 동작, 상기 이미지 임베딩 함수는 입력 이미지에 대해 동작하여 상기 입력 이미지의 피처들의 표현을 출력으로서 생성하는 파라미터 가중치들의 세트를 포함하고, 상기 트레이닝의 각 반복은:
    상기 추출된 서브 이미지들로부터 제1 유형의 이미지 쌍들 및 제2 유형의 이미지 쌍들을 선택하는 동작, 각 이미지 쌍은 제1 서브 이미지와 제2 서브 이미지의 조합이며:
    제1 유형의 이미지 쌍은 상기 특정한 유형의 오브젝트의 동일한 인스턴스를 도시하는 제1 서브 이미지 및 제2 서브 이미지를 포함하며;
    제2 유형의 이미지 쌍은 상기 특정한 유형의 오브젝트들의 상이한 인스턴스들을 도시하는 제1 서브 이미지 및 제2 서브 이미지를 포함하며;
    상기 제1 유형의 이미지 쌍에 대해, 상기 이미지 쌍의 적어도 제1 서브 이미지 및 제2 서브 이미지는 제2 시간의 기간 내에 캡처된 이미지로부터 추출되고, 제2 시간의 기간은 제1 시간의 기간보다 짧으며;
    각 선택된 이미지 쌍을 상기 이미지 임베딩 함수에 대한 입력으로서 제공하고 대응하는 출력들을 생성하는 동작;
    상기 이미지 임베딩 함수의 성능 측정치를 결정하는 동작;
    상기 성능 측정치에 기초하여, 상기 이미지 임베딩 함수의 상기 파라미터 가중치들을 조정하는 동작; 및
    중단 이벤트가 발생할 때까지 다른 트레이닝의 반복을 수행하는 동작을 포함하는 것을 특징으로 하는 시스템.
  18. 컴퓨터 프로그램이 인코딩된 컴퓨터 저장 매체로서, 상기 컴퓨터 프로그램은 데이터 프로세싱 장치에 의해 실행될 때, 상기 데이터 프로세싱 장치로 하여금 동작들을 수행하게 하는 명령어들을 포함하며, 상기 동작들은:
    이미지들의 트레이닝 세트의 각 이미지에서 특정한 유형의 오브젝트들의 출현을 검출하는 동작, 상기 이미지들의 트레이닝 세트의 이미지들은 제1 시간의 기간 내에 캡처되었던 이미지들이며;
    상기 이미지들의 트레이닝 세트의 이미지들로부터 서브 이미지들을 추출하는 동작, 각 서브 이미지는 검출된 오브젝트의 일 출현을 도시하며;
    이미지 임베딩 함수를 반복적으로 트레이닝하는 동작, 상기 이미지 임베딩 함수는 입력 이미지에 대해 동작하여 상기 입력 이미지의 피처들의 표현을 출력으로서 생성하는 파라미터 가중치들의 세트를 포함하고, 상기 트레이닝의 각 반복은:
    상기 추출된 서브 이미지들로부터 제1 유형의 이미지 쌍들 및 제2 유형의 이미지 쌍들을 선택하는 동작, 각 이미지 쌍은 제1 서브 이미지와 제2 서브 이미지의 조합이며:
    제1 유형의 이미지 쌍은 상기 특정한 유형의 오브젝트의 동일한 인스턴스를 도시하는 제1 서브 이미지 및 제2 서브 이미지를 포함하며;
    제2 유형의 이미지 쌍은 상기 특정한 유형의 오브젝트들의 상이한 인스턴스들을 도시하는 제1 서브 이미지 및 제2 서브 이미지를 포함하며;
    상기 제1 유형의 이미지 쌍에 대해, 상기 이미지 쌍의 적어도 제1 서브 이미지 및 제2 서브 이미지는 제2 시간의 기간 내에 캡처된 이미지로부터 추출되고, 제2 시간의 기간은 제1 시간의 기간보다 짧으며;
    각 선택된 이미지 쌍을 상기 이미지 임베딩 함수에 대한 입력으로서 제공하고 대응하는 출력들을 생성하는 동작;
    상기 이미지 임베딩 함수의 성능 측정치를 결정하는 동작;
    상기 성능 측정치에 기초하여, 상기 이미지 임베딩 함수의 상기 파라미터 가중치들을 조정하는 동작; 및
    중단 이벤트가 발생할 때까지 다른 트레이닝의 반복을 수행하는 동작을 포함하는 것을 특징으로 하는 컴퓨터 저장 매체.
KR1020197029644A 2017-09-14 2018-06-11 이미지에서 오브젝트 검출 및 표현 KR102252439B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/704,746 US10452954B2 (en) 2017-09-14 2017-09-14 Object detection and representation in images
US15/704,746 2017-09-14
PCT/US2018/036928 WO2019055080A1 (en) 2017-09-14 2018-06-11 DETECTION AND REPRESENTATION OF OBJECT IN IMAGES

Publications (2)

Publication Number Publication Date
KR20190126857A KR20190126857A (ko) 2019-11-12
KR102252439B1 true KR102252439B1 (ko) 2021-05-14

Family

ID=62779132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197029644A KR102252439B1 (ko) 2017-09-14 2018-06-11 이미지에서 오브젝트 검출 및 표현

Country Status (6)

Country Link
US (1) US10452954B2 (ko)
EP (1) EP3593277A1 (ko)
JP (1) JP6905079B2 (ko)
KR (1) KR102252439B1 (ko)
CN (1) CN110506274B (ko)
WO (1) WO2019055080A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018013200A1 (en) * 2016-07-14 2018-01-18 Magic Leap, Inc. Deep neural network for iris identification
US11797838B2 (en) 2018-03-13 2023-10-24 Pinterest, Inc. Efficient convolutional network for recommender systems
CN110084161B (zh) * 2019-04-17 2023-04-18 中山大学 一种人体骨骼关键点的快速检测方法及系统
US20210236227A1 (en) * 2020-01-31 2021-08-05 Gauss Surgical, Inc. Instrument tracking machine
KR102232880B1 (ko) * 2020-06-12 2021-03-29 주식회사 크라우드웍스 인공지능 학습데이터 생성을 위한 이미지 또는 동영상 수집을 위한 크라우드소싱 기반 프로젝트의 검수자 평가 방법
KR20210155179A (ko) * 2020-06-15 2021-12-22 삼성전자주식회사 전자 장치 및 그 제어 방법
JP7425445B2 (ja) 2020-07-17 2024-01-31 日本電信電話株式会社 特徴学習装置、特徴抽出装置、特徴学習方法及びプログラム
JP2022086521A (ja) * 2020-11-30 2022-06-09 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8712156B2 (en) * 2010-01-10 2014-04-29 Bronstein Bronstein Kimmel Technologies Ltd. Comparison of visual information
US8582807B2 (en) * 2010-03-15 2013-11-12 Nec Laboratories America, Inc. Systems and methods for determining personal characteristics
US9445713B2 (en) * 2013-09-05 2016-09-20 Cellscope, Inc. Apparatuses and methods for mobile imaging and analysis
US9268793B2 (en) * 2014-03-12 2016-02-23 Google Inc. Adjustment of facial image search results
CN106537379A (zh) * 2014-06-20 2017-03-22 谷歌公司 细粒度图像相似性
WO2016100717A1 (en) * 2014-12-17 2016-06-23 Google Inc. Generating numeric embeddings of images
US9767381B2 (en) * 2015-09-22 2017-09-19 Xerox Corporation Similarity-based detection of prominent objects using deep CNN pooling layers as features
US9953217B2 (en) * 2015-11-30 2018-04-24 International Business Machines Corporation System and method for pose-aware feature learning
CN105512273A (zh) * 2015-12-03 2016-04-20 中山大学 一种基于可变长深度哈希学习的图像检索方法
US10242266B2 (en) * 2016-03-02 2019-03-26 Mitsubishi Electric Research Laboratories, Inc. Method and system for detecting actions in videos
EP3433816A1 (en) * 2016-03-22 2019-01-30 URU, Inc. Apparatus, systems, and methods for integrating digital media content into other digital media content
US10753881B2 (en) * 2016-05-27 2020-08-25 Purdue Research Foundation Methods and systems for crack detection
US10909459B2 (en) * 2016-06-09 2021-02-02 Cognizant Technology Solutions U.S. Corporation Content embedding using deep metric learning algorithms
CN106203533B (zh) * 2016-07-26 2019-09-20 厦门大学 基于混合训练的深度学习人脸验证方法
CN106649886A (zh) * 2017-01-13 2017-05-10 深圳市唯特视科技有限公司 一种利用三元组标签的深度监督散列进行图像检索方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Florian Schroff etc. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). "FaceNet: A Unified Embedding for Face Recognition and Clustering". 7-12 June 2015
Jeany Son etc. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). "Multi-object Tracking with Quadruplet Convolutional Neural Networks". 21-26 July 2017

Also Published As

Publication number Publication date
US20190080204A1 (en) 2019-03-14
CN110506274A (zh) 2019-11-26
WO2019055080A1 (en) 2019-03-21
EP3593277A1 (en) 2020-01-15
JP6905079B2 (ja) 2021-07-21
JP2020522773A (ja) 2020-07-30
KR20190126857A (ko) 2019-11-12
CN110506274B (zh) 2023-11-24
US10452954B2 (en) 2019-10-22

Similar Documents

Publication Publication Date Title
KR102252439B1 (ko) 이미지에서 오브젝트 검출 및 표현
US11163987B2 (en) Compact language-free facial expression embedding and novel triplet training scheme
CN107871106B (zh) 人脸检测方法和装置
US20180144185A1 (en) Method and apparatus to perform facial expression recognition and training
WO2020061489A1 (en) Training neural networks for vehicle re-identification
US9111375B2 (en) Evaluation of three-dimensional scenes using two-dimensional representations
Felzenszwalb et al. Object detection grammars.
Gollapudi et al. Deep learning for computer vision
CN113204988A (zh) 小样本视点估计
Galety et al. Marking attendance using modern face recognition (fr): Deep learning using the opencv method
Yu Emotion monitoring for preschool children based on face recognition and emotion recognition algorithms
Angelopoulou et al. Fast 2d/3d object representation with growing neural gas
Jabberi et al. Face shapenets for 3d face recognition
Maimaitimin et al. Stacked convolutional auto-encoders for surface recognition based on 3d point cloud data
Pallavi Suggestive GAN for supporting Dysgraphic drawing skills
Sun et al. A Topological Semantic Mapping Method Based on Text-Based Unsupervised Image Segmentation for Assistive Indoor Navigation
Gour et al. An Exploration of Deep Learning in Recognizing Household Objects.
Priisalu Modelling Pedestrians in Autonomous Vehicle Testing
Wang et al. Theoretical Model and Implementation Path of Party Building Intelligent Networks in Colleges and Universities from the Perspective of Artificial Intelligence
Padmakala et al. Hyperparameter Tuning of Deep Convolutional Neural Network for Hand Gesture Recognition
Shaikh et al. Efficient Face Recognition through Sketch using CNN
Chan Unseen Object Perception for Robots
Nagarajan Comparative Study on Generative Adversarial Networks: DCGAN and Cycle GAN
Kurady Gesture Recognition using Neural Networks
Usman et al. DRL-SLAM: Enhanced Object Detection Fusion with Improved YOLOv8

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant