KR20210018114A - 교차 도메인 메트릭 학습 시스템 및 방법 - Google Patents

교차 도메인 메트릭 학습 시스템 및 방법 Download PDF

Info

Publication number
KR20210018114A
KR20210018114A KR1020200097197A KR20200097197A KR20210018114A KR 20210018114 A KR20210018114 A KR 20210018114A KR 1020200097197 A KR1020200097197 A KR 1020200097197A KR 20200097197 A KR20200097197 A KR 20200097197A KR 20210018114 A KR20210018114 A KR 20210018114A
Authority
KR
South Korea
Prior art keywords
image
vector
cnn
anchor
negative
Prior art date
Application number
KR1020200097197A
Other languages
English (en)
Inventor
리우 렌
마오 예
지신 얀
Original Assignee
로베르트 보쉬 게엠베하
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로베르트 보쉬 게엠베하 filed Critical 로베르트 보쉬 게엠베하
Publication of KR20210018114A publication Critical patent/KR20210018114A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • 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/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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/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/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Geometry (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Algebra (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Image Analysis (AREA)

Abstract

하나 이상의 컨볼루션 신경망들(convolutional neural network; CNN)을 프로세싱하도록 동작가능한 제어기 및 하나 이상의 2차원 RGB 이미지들을 얻도록 동작가능한 시각화 디바이스를 포함할 수 있는 증강 현실(AR) 시스템 및 방법이 개시된다. 제어기는 앵커 이미지가 제 1 컨볼루션 신경망(CNN)에 제공되는 것에 응답하여 시멘틱 공간에서 앵커 벡터를 생성할 수 있다. 앵커 이미지는 2차원 RGB 이미지들 중 하나일 수 있다. 제어기는 네거티브 이미지 및 포지티브 이미지가 제 2 CNN에 제공되는 것에 응답하여 시멘틱 공간에서 포지티브 벡터 및 네거티브 벡터를 생성할 수 있다. 네거티브 및 포지티브 이미지들은 3차원 CAD 이미지들로서 제공될 수 있다. 제어기는 앵커 벡터, 포지티브 벡터, 및 네거티브 벡터를 이용하여 시멘틱 공간에서 이미지 피처(image feature)들을 추출하도록 동작가능한 교차 도메인 심층 메트릭 학습 알고리즘을 적용할 수 있다.

Description

교차 도메인 메트릭 학습 시스템 및 방법{CROSS-DOMAIN METRIC LEARNING SYSTEM AND METHOD}
다음은 일반적으로, 기계 학습 증강 현실(AR) 시스템 및 방법에 관한 것이다.
기계 학습(ML) 알고리즘들은 일반적으로, 패턴들 및 추론들을 이용하여 주어진 작업을 수행하도록 동작가능하다. 기계 학습 알고리즘들은 일반적으로, 요청된 작업을 수행하도록 명시적으로 프로그래밍되지 않고 예측들 또는 결정들을 하기 위해 "트레이닝 데이터"에 의존하는 수학적 모델에 기초한다.
하나의 실시예에서, 하나 이상의 컨볼루션 신경망들(convolutional neural networks; CNN)을 프로세싱하도록 동작가능한 제어기 및 하나 이상의 2차원 RGB 이미지들을 얻도록 동작가능한 시각화 디바이스를 포함할 수 있는 증강 현실 시스템(AR 시스템) 및 방법이 개시된다. 제어기는 또한, 앵커 이미지(anchor image)가 제 1 컨볼루션 신경망(CNN)에 제공되는 것에 응답하여 시멘틱 공간(semantic space)에서 앵커 벡터를 생성할 수 있다. 앵커 이미지는 시각화 디바이스에 의해 얻어진 2차원 RGB 이미지들 중 하나일 수 있다. 제어기는 또한, 네거티브 이미지 및 포지티브 이미지가 제 2 CNN에 제공되는 것에 응답하여 시멘틱 공간에서 포지티브 벡터 및 네거티브 벡터를 생성할 수 있다. 네거티브 이미지는 제 1 3차원 컴퓨터 보조 설계(CAD) 이미지일 수 있고 포지티브 이미지는 제 2 3차원 CAD 이미지일 수 있다. 제 1 CAD 이미지 및 제 2 CAD 이미지 둘 모두는 데이터베이스로부터 AR 시스템에 제공될 수 있다.
제 1 CNN 및 제 2 CNN이 하나 이상의 제 2 컨볼루션 층들, 하나 이상의 제 2 최대 풀링 층들, 제 2 평탄화 층, 제 2 드롭아웃 층, 및 제 2 완전하게 연결된 층을 포함할 수 있음이 고려된다. 제어기가 앵커 이미지, 포지티브 이미지, 및 네거티브 이미지를 이용하여 시멘틱 공간에서 이미지 피처(image feature)들을 추출하도록 동작가능한 교차 메트릭 심층 메트릭 학습 알고리즘을 적용할 수 있음이 또한 고려된다. 제어기가 앵커 벡터, 포지티브 벡터, 및 네거티브 벡터를 이용하여 상이한 양식들로부터 하나 이상의 이미지 피처들을 추출하도록 동작가능할 수 있음이 더 고려된다.
교차 도메인 심층 메트릭 학습 알고리즘(cross-dommain deep metric learning algorithm)은 시멘틱 공간에서 앵커 벡터와 포지티브 벡터 사이의 제 1 거리를 감소시키고 시멘틱 공간에서 앵커 벡터와 네거티브 벡터 사이의 제 2 거리를 증가시키도록 동작가능한 삼중항 손실 알고리즘(triplet loss algorithm)으로서 구현될 수 있다. 또한, 제 1 CNN 및 제 2 CNN 내에 포함된 컨볼루션 층들은 정류화된 선형 유닛을 포함할 수 있는 하나 이상의 활성화 함수들을 이용하여 구현될 수 있다.
제 1 및 CNN 및 제 2 CNN이 스킵 연결 아키텍처를 이용할 수 있음이 고려된다. 제 2 CNN은 또한, 샴 네트워크(Siamese network)로서 설계될 수 있다. 제어기는 시멘틱 공간에서 추출된 이미지 피처들을 분석함으로써 단계 인식을 수행할 수 있다. 마지막으로, 제어기는 또한, 시멘틱 공간에서의 이미지 피처들의 분석에 기초하여 유효하지 않은 보수 시퀀스가 발생했는지를 결정하도록 동작가능할 수 있다.
제어기가 하나 이상의 RGB 이미지들 내에서 이미지 객체의 포즈(pose)를 결정하도록 더 동작가능할 수 있음이 고려된다. 제어기는 또한, 하나 이상의 RGB 이미지들에 사후 프로세싱 이미지 알고리즘을 적용할 수 있다.
도 1은 하나의 실시예에 따른 일 예시적인 증강 현실(AR) 시스템을 도시한 도면;
도 2a 및 도 2b는 심층 학습 네트워크에 의해 적용된 삼중항 손실 함수에 대한 학습 프로세스의 예시적인 예시들을 도시한 도면;
도 3은 트레이닝 단계 동안 동작하는 컨볼루션 신경망의 일 예시적인 예시를 도시한 도면;
도 4는 테스팅 또는 실행 시간 단계 동안 동작하는 컨볼루션 신경망의 일 예시적인 예시를 도시한 도면.
도 5는 유효하지 않은 단계 검출 프로세스 동안 프로세싱된 RGB 이미지의 일 예시를 도시한 도면.
도 6은 RGB 이미지로부터 부분들을 식별하는 경계 박스(bounding box)들의 일 예시를 도시한 도면.
필요에 따라, 상세한 실시예들이 본 명세서에 개시된다; 그러나, 개시된 실시예들이 단지 예시적이고 다양하고 대안적인 형태들로 구현될 수 있음을 이해해야 한다. 도면들이 반드시 그 크기가 조정되는 것은 아니고; 일부 피처들은 특정한 구성요소의 상세들을 보여주기 위해 과장되거나 최소화될 수 있다. 따라서, 본 명세서에 개시된 특정 구조적 및 기능적 상세들은 제한적인 것으로 해석되어서는 안되지만, 본 실시예들을 다양하게 이용하기 위해 단지 당업자를 교시하기 위한 대표적인 기초로서 해석되어야 한다.
작업 절차의 상이한 상태 또는 단계들(예로서, 차량을 보수하기 위해 필요한 정확한 단계들)을 인식하도록 동작가능한 비전 기반 AR 시스템이 바람직할 수 있음이 고려된다. 비전 기반 AR 시스템은 전체 절차의 3차원(3D) 모델들(예로서, 차량의 3차원 모델들 및 차량 부분들의 서브 세트)을 이용하여 상이한 단계들을 인식하도록 동작가능할 수 있다. AR 시스템이 상이한 도메인들로부터 입력 데이터를 수신하는 기계 학습 알고리즘을 이용하고 입력 데이터를 고 차원 피처 벡터들로서 인코딩할 수 있음이 고려된다. 기계 학습 알고리즘은 또한, 거리 측정을 위해 인코딩된 피처들을 하나의 시멘틱 공간으로 전환하도록 동작가능할 수 있다.
도 1은 하나의 예시적인 실시예에 따른 AR 시스템(100)을 도시한다. 클라이언트 시스템(110)은 이용자에 의해 착용될 때 하나 이상의 2차원 RGB 이미지들(113)(즉, 2차원 컬러 이미지들)을 캡처하기 위해 동작가능할 수 있는 시각화 디바이스(112)를 포함할 수 있다. 예를 들면, 시각화 디바이스(112)는 RGB 이미지들(113)을 캡처하도록 동작가능한 통합된 디지털 카메라 또는 비디오 카메라(예로서, DSLR 카메라 또는 미러리스 디지털 카메라)를 갖는 한 쌍의 AR 안경들을 갖는 것을 포함할 수 있다.
클라이언트 시스템(110)은 제어기(114) 및 메모리(116)를 더 포함할 수 있다. 제어기(114)는 컴퓨터 프로세서, 마이크로프로세서, 또는 임의의 다른 디바이스, 본 명세서에서 논의된 동작들을 수행할 수 있는 일련의 디바이스들 또는 다른 메커니즘들과 같은, 명령어들을 프로세싱하기 위한 쿼드 코어 프로세서와 같은 하나 이상의 컴퓨팅 디바이스들일 수 있다. 메모리(116)는 지시들 및 명령어들을 저장하도록 동작가능할 수 있다. 지시들은 소프트웨어, 펌웨어, 컴퓨터 코드, 또는 그들의 일부 조합의 형태일 수 있다. 메모리(116)는 휘발성 메모리, 비 휘발성 메모리, 전자 메모리, 자기 메모리, 광학 메모리, 또는 임의의 다른 형태의 데이터 저장 디바이스와 같은, 임의의 형태의 하나 이상의 데이터 저장 디바이스들일 수 있다. 메모리(116)는 클라이언트 시스템(110)의 내부(예로서, DDR 메모리)일 수 있거나 메모리는 탈착가능한 메모리 구성요소들(예로서, 마이크로 SD 카드 메모리)을 포함할 수 있다.
RGB 이미지들(113)은 제어기(114)에 의한 또 다른 프로세싱을 위해 시각화 디바이스(112)에 의해 캡처될 수 있다. 예를 들면, 제어기(114)는 시각적 주행거리 측정법 알고리즘들, 동시 국소화 및 매핑(simultaneous localization and mapping; SLAM) 알고리즘들, 및/또는 모델 기반 추적 알고리즘들을 이용하여 RGB 이미지들(113)에 의해 캡처된 객체의 위치 및 방향(즉, 포즈)을 결정하도록 동작가능할 수 있다.
클라이언트 시스템(110)은 서버 시스템(120)과 연결되고 통신할 수 있다. 예를 들면, 클라이언트 시스템(110)은 유선 네트워크(예로서, LAN)를 이용하여 또는 무선 네트워크 통신(예로서, 와이파이, 셀룰러, 블루투스, 또는 지그비)을 이용하여 데이터를 송신하고 수신하도록 동작가능한 클라이언트 트랜시버(118)를 포함할 수 있다. 서버 시스템(120)은 유선 네트워크(예로서, LAN)를 이용하여 또는 무선 네트워크 통신(예로서, 와이파이, 셀룰러, 블루투스, 또는 지그비)을 이용하여 데이터를 송신하고 수신하도록 또한 동작가능한 서버 트랜시버(122)를 포함할 수 있다. 클라이언트 트랜시버(118)가 데이터 예로서, RGB 이미지들(113) 및 포즈 데이터를 서버 트랜시버(122)로 송신하도록 동작가능할 수 있음이 고려된다. 그러나, 클라이언트 시스템(110) 및 서버 시스템(120)이 하나의 유닛에 포함될 수 있고 따라서, 클라이언트 트랜시버(118) 및 서버 트랜시버(122)를 요구하지 않음이 더 고려된다.
서버 시스템(120)이 또한, 클라이언트 시스템(110)으로부터 수신된 포즈 데이터 및 RGB 이미지(113)를 저장하기 위한 메모리(116)와 같은 메모리(126)를 포함할 수 있음이 고려된다. 서버 시스템(120)은 또한, RGB 이미지(113)에 대해 사후 프로세싱 알고리즘들을 수행하도록 동작가능한 제어기(114)와 같은, 제어기(124)를 포함할 수 있다. 서버 시스템(120)은 또한, 타겟 작업 절차의 3차원 컴퓨터 보조 설계(3차원 CAD) 모델들(즉, 3차원 이미지들)을 저장하기 위해 데이터베이스(128)와 연결되고 통신할 수 있다. 서버 시스템(120)은 서버 트랜시버(122)를 이용하여 데이터베이스(128)와 통신할 수 있다. 데이터베이스(128)가 서버 시스템(120) 내에 포함될 수 있고 따라서, 서버 트랜시버(122)를 요구하지 않음이 또한 고려된다. 제어기(124)는 클라이언트 시스템(110)으로부터 수신된 포즈 데이터에 의해 정의된 뷰에 기초하여 RGB 이미지들(113)과 비교될 수 있는 3차원 CAD 모델의 하나 이상의 노멀 맵 이미지(normal map image)들을 생성하는 컴퓨터 그래픽 렌더링 알고리즘을 적용하도록 동작가능할 수 있다. 제어기(124)는 또한, 사후 프로세싱 이미지 알고리즘들을 클라이언트 시스템(110)으로부터 수신된 RGB 이미지(113)에 적용하도록 동작가능할 수 있다.
제어기(124)는 또한, 하나 이상의 심층 신경망(DNN) 알고리즘들을 적용하도록 동작가능할 수 있다. 제어기(124)가 작업 절차의 상태(예로서, 현재 단계)를 예측하기 위해 노멀 맵 이미지들 및 RGB 이미지들(113)을 이용하여 DNN 상태 예측 알고리즘을 적용할 수 있음이 고려된다. 서버 시스템(120)은 시각화 디바이스(112)에 의해 시각적으로 디스플레이될 수 있는 지시들을 클라이언트 시스템(110)으로 다시 송신할 수 있다.
DNN이 이미지 인식 애플리케이션들을 취급하기 위한 컨볼루션 및 풀링 층들을 포함하는 컨볼루션 신경망(CNN)일 수 있음이 고려된다. CNN은 세분화된 분류를 위한 이중선형 피처 벡터를 얻도록 동작가능한 2 분기 CNN일 수 있다. CNN은 또한, 주어진 이미지의 세분화된 카테고리들을 비교하기 위해 적절한 특징들을 학습하도록 동작가능할 수 있다. 기계 학습 알고리즘이 중요한 관심 있는 영역들(ROI)에서 작은 변형들을 캡처하기 위해 및 잡음이 있는 배경 이미지들, 조명, 및 시점 변화들을 회피하도록 동작가능할 수 있음이 또한 고려된다. 제어기(124)가 인식 프로세스를 트레이닝 단계 동안 제공된 절차들로만 제한하지 않음으로써 CNN의 성능을 더 개선하기 위해 심층 메트릭 학습(예로서, 교차 도메인 심층 메트릭 학습)을 이용하도록 동작가능할 수 있음이 더 고려된다.
예를 들면, 제어기(124)는 이용자가 수행하고 있는 현재 단계를 결정하기 위해 CNN을 이용하고 이용자가 수행해야 할 필요가 있는 다음 단계(즉, "단계 인식")를 위한 지시들을 제공하도록 동작가능할 수 있다. 제어기(124)는 또한, 이용자의 조치가 미리 저장된 단계들의 시퀀스(즉, "유효하지 않은 단계 검출")로부터 벗어나는지를 검출하기 위해 CNN을 이용하도록 동작가능할 수 있다. 이용자가 유효하지 않은 단계를 수행했음을 검출할 때, 제어기(124)는 이용자에게 이미 취해진 임의의 부정확한 조치들을 정류화하는 방법을 통지하기 위해 클라이언트 시스템(110)으로 지시들을 송신할 수 있다. 제어기(124)가 평가되는 타겟 작업 절차에 대응하는 데이터베이스(128)에 저장된 3차원 CAD 모델들을 이용하여 "단계 인식" 및 "유효하지 않은 단계 검출"을 수행하도록 동작가능할 수 있음이 고려된다.
CNN이 시각화 디바이스(112)에 의해 얻어진 2차원 RGB 이미지들(113)과 데이터베이스(128)에 저장된 3차원 CAD 데이터 사이의 유사성 측정들을 결정하기 위해 트레이닝되는 교차 도메인 심층 메트릭 학습 알고리즘으로서 설계될 수 있음이 고려된다. CNN을 트레이닝함으로써, 제어기(124)는 원본 데이터(즉, 원본 2차원 이미지들 및 3차원 CAD 모델들)와 하기의 방정식 (1)로 표현된 바와 같은 삼중항 손실 알고리즘의 변형을 이용하여 시멘틱 공간으로 전환된 데이터 사이의 유사성 또는 거리를 비교하도록 동작가능할 수 있다:
Figure pat00001
(1)
Ltriplet이 산출된 삼중항 손실 함수인 경우, fRGB는 RGB 이미지들(113)의 CNN 피처 인코딩의 분기이고, fnormal은 데이터베이스(128)에 3차원 CAD 모델들로서 저장되는 노멀 맵 이미지들로부터 피처들을 추출하는 삼중항 손실 함수의 분기이다. 삼중항 손실 함수가 앵커 이미지, 포지티브 이미지, 및 네거티브 이미지를 포함하는 피처 벡터들의 삼중항에 대해 동작할 수 있음이 고려된다.
도 2a 및 도 2b는 삼중항 손실 알고리즘을 이용하여 CNN이 어떻게 트레이닝될 수 있는지에 대한 예시적인 예시들이다. 다시, 앵커 이미지(210), 포지티브 이미지(220), 및 네거티브 이미지(230)를 포함하는 이미지들의 삼중항이 생성될 수 있다. 도 2a는 앵커 이미지(210)까지의 포지티브 이미지(220)의 거리가 네거티브 이미지(230) 및 앵커 이미지(210)로부터의 거리보다 크다는 것을 도시한다. 도 2b에 도시된 바와 같이, CNN은 앵커 이미지(210)와 포지티브 이미지(220) 사이의 벡터 거리를 감소시키고 앵커 이미지(210) 및 네거티브 이미지(230) 사이의 거리를 증가시키기 위해 삼중항 손실 함수(방정식 (1))를 적용할 수 있다.
도 3은 삼중항 손실 알고리즘 동안 이용될 수 있는 앵커 이미지(310), 포지티브 이미지(320), 및 네거티브 이미지(330)를 도시한다. 도시된 바와 같이, 클라이언트 시스템(110)에 의해 얻어진 RGB 이미지들(113) 중 하나는 앵커 이미지(310)로서 할당될 수 있다. CNN은 그 다음, 데이터베이스(128)에 저장된 3차원 CAD 모델들에 의해 생성되는 미리 저장된 노멀 맵 이미지들로부터 포지티브 이미지(320) 및 네거티브 이미지(330)를 수신할 수 있다. CNN 알고리즘은 시멘틱 공간에서 앵커 이미지(310) 및 노멀 맵 이미지들(즉, 포지티브 이미지(320) 및 네거티브 이미지(330))로부터 피처들을 추출하도록 트레이닝될 수 있다.
제어기(124)가 데이터베이스(128)에 3차원 CAD 모델들로서 저장되는 노멀 맵 이미지들 및 클라이언트 시스템(110)에 의해 얻어진 RGB 이미지들(113)로부터 고 차원 피처들을 추출하는 2 분기 CNN을 수행하도록 동작가능할 수 있음이 또한 고려된다. CNN의 각각의 분기가 다양한 크기들(예로서, 3x3 또는 5x5)의 커널들을 가지는 하나 이상의 컨볼루션 층들을 포함할 수 있음이 고려된다. 커널들의 수 및 크기는 주어진 애플리케이션에 의존하여 조정될 수 있다.
CNN이: 활성화 함수들로서 정류화된 선형 유닛(ReLU) 또는 쌍곡 탄젠트(tanh)를 이용하는 하나 이상의 컨볼루션 층들; CNN의 성능 및 안정성을 개선하도록 동작가능한 하나 이상의 정규화 층들; 및 차원을 감소시킬 수 있는 최대 풀링 층을 포함할 수 있다. CNN은 타겟 데이터 분포의 복잡성에 기초하여 하나 이상의 적층된 모듈들을 포함할 수 있다. CNN은 또한, CNN의 하나의 층의 출력이 CNN의 다음 순차 층에 직접적으로 입력되지 않을 수 있는 스킵 연결 아키텍처를 이용할 수 있다. 스킵 연결 아키텍처는 대신에, 하나의 층의 출력이 비 순차 층의 입력에 연결되는 것을 가능하게 할 수 있다.
하기의 표 1은 8,468,784개의 파라미터들을 가지는 설계를 포함할 수 있는 하나의 분기에 대해 CNN에 의해 이용될 수 있는 일 예시적인 구조를 도시한다.
사이즈 인 사이즈 아웃 커널 크기 활성화
컨볼루션 1 256x256x3 256x256x16 3x3x16 Relu
최대 풀링 256x256x16 128x128x16 - -
컨볼루션 2 128x128x16 128x128x32 3x3x32 Relu
컨볼루션 3 128x128x32 128x128x32 3x3x32 Relu
최대 풀링 128x128x32 64x64x32 - -
컨볼루션 4 64x64x32 64x64x48 3x3x48 Relu
컨볼루션 5 64x64x48 64x64x48 3x3x48 Relu
최대 풀링 64x64x48 32x32x48 - -
컨볼루션 6 32x32x48 32x32x64 3x3x64 Relu
최대 풀링 32x32x64 16x16x64 - -
평탄화 16x16x64 16384 - -
드롭아웃 - - - -
밀집 16384 128 - -
도시된 바와 같이, CNN은 하나 이상의 컨볼루션 층들, 하나 이상의 최대 풀링 층들, 평탄화 층, 드롭아웃 층 및 밀집 층(즉, 완전하게 연결되거나 선형 층)을 포함할 수 있다. CNN의 각각의 층에 입력된 데이터의 크기(즉, "사이즈 인(size-in)") 및 CNN의 주어진 층에 의해 출력된 데이터의 대응하는 크기(즉, "사이즈 아웃(size-out)"). 각각의 컨볼루션 층에 대한 커널 크기가 달라질 수 있음이 고려되지만, 커널 크기들이 주어진 애플리케이션에 의존하여 동일할 수 있음이 또한 고려된다. CNN은 또한, 각각의 컨볼루션 층에 대해 ReLU 활성화 함수을 이용할 수 있다. 그러나, 활성화 함수가 주어진 애플리케이션에 기초하여 달라질 수 있고 CNN이 다른 알려진 활성화 함수들(예로서, 쌍곡 탄젠트 활성화 함수)를 이용할 수 있음이 고려된다.
도 4는 트레이닝 단계 동안 이용될 수 있는 2 분기 CNN(400)을 도시한다. CNN(400)이 도 4에 의해 도시된 아키텍처에 따라 설계될 수 있음이 고려된다. 층들의 수, 각각의 층의 크기, 및 활성화 함수들이 주어진 애플리케이션에 의존하여 달라질 수 있음이 또한 고려된다.
CNN(400)은 입력 데이터(예로서, RGB 이미지(113))로서 앵커 이미지(420)를 수신할 수 있는 RGB 네트워크(410) 분기를 포함할 수 있다. RGB 네트워크(410)는 RGB 이미지들(113) 중 하나를 인코딩하는 피처에 대해 CNN의 분기를 표현하는 함수(fRGB)를 적용할 수 있다. CNN(400)은 또한, 입력 데이터로서 포지티브 이미지(440) 및 네거티브 이미지(450)(예로서, 데이터베이스(128) 내에 저장된 3차원 CAD 모델들 중 하나)를 수신할 수 있는 정규화 네트워크(430)를 가지는 분기를 포함할 수 있다.
RGB 네트워크(410)의 출력 데이터는 RGB 인코딩된 피처(460)에 제공될 수 있다. 또한, 정규화 네트워크(430)의 출력 데이터는 포지티브 인코딩된 피처(470) 및 네거티브 인코딩된 피처(480)에 제공될 수 있다. 삼중항 손실 알고리즘(490)(상기 방정식 (1)과 관련하여 논의됨)은 그 다음, 앵커 이미지(420)와 포지티브 이미지(440) 사이의 벡터 거리를 감소시키고 앵커 이미지(420)와 네거티브 이미지(450) 사이의 벡터 거리를 증가시키기 위해 이용될 수 있다.
정규화 네트워크(430)가 제공된 포지티브 이미지(440) 및 네거티브 이미지(450)에 대해 상이한 벡터 거리들을 계산하기 위해 동시에 동작할 수 있는 "샴 네트워크"로서 구현될 수 있음이 고려된다. RGB 네트워크(410) 및 정규화 네트워크(430)가 주어진 애플리케이션에 의존하여 상이한 트레이닝 데이터를 이용하는 상이한 층들(즉, 컨볼루션 층들, 최대 풀링 층들, 평탄화 층들, 드롭아웃 층들, 실현 층들, 및 밀집 층들)을 포함할 수 있음이 또한 고려된다.
도 5는 테스팅 단계 동안 또는 실행 시간 동작 동안 이용될 수 있는 CNN(500)을 도시한다. CNN(500)은 "샴 네트워크"를 이용하여 다시 설계될 수 있지만, 주어진 애플리케이션에 의존하여 다른 네트워크 설계들이 이용될 수 있음이 고려된다. RGB 네트워크(510) 및 정규화 네트워크(530)가 주어진 애플리케이션에 의존하여 컨볼루션 층들, 최대 풀링 층들, 평탄화 층들, 드롭아웃 층들 및 밀집 층들의 상이한 변형을 포함할 수 있음이 고려된다.
RGB 네트워크(510)(즉, fRGB)에는 입력으로서 RGB 이미지(520)가 제공될 수 있다. 다시, RGB 이미지(520)는 클라이언트 시스템(110)으로부터 수신된 RGB 이미지(113)일 수 있다. CNN(500)은 또한, 트레이닝 단계 동안 추출된 하나 이상의 정규화된 이미지들(540)을 수신하는 정규화 네트워크(530)(fnormalization)를 포함할 수 있다. RGB 네트워크(510)는 출력 벡터 데이터를 RGB 인코딩된 피처(550)에 제공할 수 있고 정규화 네트워크(530)는 하나 이상의 정규 인코딩된 피처들(560, 570)에 출력 벡터 데이터를 제공할 수 있다.
CNN(500)은 그 다음, RGB 이미지(520) 내에 인코딩된 피처 벡터들 및 정규화된 이미지들(540)의 피처 벡터들로부터 거리 벡터들(580)의 세트를 계산하기 위해 RGB 인코딩된 피처(550) 및 하나 이상의 정규 인코딩된 피처들(560, 570)에 의해 제공된 출력 벡터 데이터를 이용할 수 있다. CNN(500)은 그 다음, 시멘틱 공간에서 최소 거리를 가지는 거리 벡터를 선택할 수 있다.
또한, CNN이 이용자에 의해 수행되는 주어진 단계 또는 시퀀스가 절차의 임의의 단계와 일치하지 않을 수 있음을 나타내는 "유효하지 않은" 상태를 검출하도록 동작가능할 수 있음이 또한 고려된다. CNN은 유효하지 않은 상태가 이용자에 의해 수행된 동작들의 부정확한 시퀀스의 결과일 수 있다고 결정할 수 있다. 그것은 클라이언트 시스템(110)에 의해 얻어진 RGB 이미지(113)를 분석함으로써 고려되고, CNN은 유효하지 않은 상태를 인식하기 위해 절차의 중요 부분들을 분석할 수 있다.
도 6은 클라이언트 시스템(110)에 의해 얻어지고 서버 시스템(120)으로 송신될 수 있는 RGB 이미지(600)를 도시한다. 제어기(124)는 이용자에 의한 유효하지 않은 동작들로 인한 예상되지 않은 부분들을 검출하기 위해 RGB 이미지(600)를 프로세싱할 수 있다. 예를 들면, 제어기는 부분들의 존재 또는 부재에 대해 RGB 이미지(600)를 이용하여 제 1 경계 박스(610), 제 2 경계 박스(620), 제 3 경계 박스(630), 및 제 4 경계 박스(640)를 생성하기 위해 이미지 자르기 알고리즘(image cropping algorithm)을 적용할 수 있다. CNN은 그 다음, 유효하지 않은 상태가 존재하는지의 여부를 RGB 이미지(600) 내의 부분들의 존재 또는 부재에 기초하여 결정할 수 있다. 또는 CNN은 이용자가 잘못된 단계를 수행했는지의 여부를 RGB 이미지(600) 내의 부분들의 존재 또는 부재에 기초하여 결정할 수 있다.
RGB 이미지(600) 내의 부분들의 존재 또는 부재가 도 4와 관련하여 논의된 삼중항 손실 알고리즘을 이용하여 트레이닝되는 2 분기 CNN 네트워크를 이용하여 프로세싱될 수 있음이 고려된다. 제어기(124)가 필수 또는 중요한 부분인 것으로서 사전 프로그래밍될 수 있는 것을 위해 하나 이상의 3차원 경계 박스들(예로서, 제 1 경계 박스(610))을 생성하도록 데이터베이스(128) 내에 저장된 하나 이상의 3차원 CAD 모델들을 이용하는 이미지 자르기 알고리즘을 적용하도록 동작가능할 수 있음이 고려된다. CNN을 트레이닝 및 테스트할 때, 현재 포즈에 기초하여 3차원 경계 박스들이 이미지 공간에 투영될 수 있음이 고려된다. 3차원 경계 박스들의 2차원 투영이 특정 부분들을 포함할 수 있는 RGB 이미지(600) 내의 관심 있는 영역을 정의하기 위해 CNN에 의해 이용될 수 있음이 또한 고려된다. 부분들은 RGB 이미지(600)를 자르고 미리 정의된 관심 있는 영역에 기초하여 잘려진 이미지들을 렌더링함으로써 CNN에 의해 생성될 수 있다.
CNN이 3차원 경계 박스들 중 하나(예로서, 제 1 경계 박스(610))를 앵커 이미지로서 이용할 수 있음이 또한 고려된다. 데이터베이스(128)에 의해 제공된 앵커 이미지 및 네거티브 그리고 포지티브 이미지가 유효하지 않은 단계 인식 프로세스를 이용하도록 CNN(400)을 트레이닝하기 위해 이용됨이 또한 고려된다. 트레이닝 단계 동안, 앵커 이미지 및 포지티브 이미지는 동일한 부분을 포함할 수 있는 반면 네거티브 이미지는 앵커 이미지와 동일하지 않은 부분을 포함할 수 있다. 삼중항 손실 알고리즘이 주어진 관심 있는 영역 내에서 부분이 언제 검출되는지 또는 부재하는 때를 결정하기 위해 CNN(400)을 트레이닝하도록 앵커 이미지, 포지티브 이미지 및 네거티브 이미지를 이용하여 다시 이용될 수 있음이 고려된다.
일단 트레이닝되면, CNN(500)은 유효하지 않거나 부정확한 단계 검출을 제공하기 위해 테스팅 단계 또는 실행 시간 동작 동안 이용될 수 있다. 테스팅 또는 실행 시간 동작은 캡처된 이미지(예로서, 클라이언트 시스템(110)에 의해 수신된 RGB 이미지(113))를 상이한 부분들로 자를 수 있다. CNN은 그 다음, 이미지에서의 부분들을 2개 이상의 노멀 맵 이미지들에서의 대응하는 영역들과 비교하도록 동작가능할 수 있다. 하나의 노멀 맵 이미지가 부분을 포함할 수 있고 다른 노멀 이미지가 부분을 포함하지 않을 수 있음이 고려된다. 이미지로부터 추출된 피처가 부분을 갖는 노멀 맵 이미지에 더 가까우면, CNN은 부분이 검출된다고 결정할 수 있다. 이미지로부터 추출된 피처가 부분이 없는 노멀 맵 이미지에 더 가까우면, CNN은 부분이 검출되지 않는다고 결정할 수 있다(즉, 없음).
하기의 표 2는 유효하지 않은 단계 인식 프로세스 동안 CNN(500)에 의해 생성될 수 있는 출력들을 도시한다.
이미지 부분 1 부분 2 부분 3 부분 4 부분 5 예측
1 검출됨 검출됨 없음 없음 없음 상태 1
2 없음 없음 검출됨 검출됨 검출됨 상태 2
3 없음 없음 없음 검출됨 검출됨 상태 3
4 없음 없음 검출됨 없음 검출됨 유효하지 않은 상태
도시된 바와 같이, CNN(500)은 하나보다 많은 이미지(예로서, 이미지 1, 이미지 2, 이미지 3, 이미지 4)에 대해 유효하지 않은 단계 인식 프로세스를 이용할 수 있다. 예를 들면, 표 2는 "이미지 1"에 대해 CNN(500)이 "부분 1" 내지 "부분 5"에 대한 다음의 출력들: [검출됨, 검출됨, 없음, 없음, 없음]을 생성할 수 있음을 도시한다. 이들 출력들에 기초하여, 유효하지 않은 단계 인식 프로세스는 출력들을 표준 보수 단계들에 매핑하도록 동작가능할 수 있다. 도시된 바와 같이, 이미지 1, 이미지 2, 및 이미지 3에 대해, 유효하지 않은 단계 인식 프로세스는 어떠한 유효하지 않은 단계도 발생하지 않은 것으로 결정하였다. 상이하게 설명하면, 이미지 1 내지 이미지 3에 대해, CNN(500)은 이용자가 정확한 시퀀스로 보수 단계들을 따르고 있다고 결정했다.
이미지 "4"에 대해, 그러나, 유효하지 않은 단계 인식 프로세스가 "유효하지 않은 상태"가 발생했다고 결정했다. 이용자가 실수로 보수 시퀀스를 부정확하게 수행했기 때문에 유효하지 않은 상태 출력이 생성되었을 수 있다. 예를 들면, 보수 시퀀스의 제 4 단계는 "부분 1"이 "검출"되어야 함을 요구할 수 있다. CNN(500)이 "부분 1"을 존재하는 것으로서 검출하지 않았으므로, 유효하지 않은 시퀀스가 검출되었다. 대안적으로, 이용자가 정확한 보수 시퀀스를 벗어나 부정확하게 부분을 재부가하려고 시도한 경우 유효하지 않은 상태가 또한 생성될 수 있다. 예를 들면, "부분 1"은 이미지 5에 대해 존재하지 않는 것으로서 검출되었을 수 있는데, 이는 그것이 현재 부가적인 부분(예로서, 부분 5) 뒤에 있거나 그것에 의해 차단되기 때문이다. "부분 1"이 보이지 않기 때문에, 유효하지 않은 단계 인식 프로세스는 여전히 "유효하지 않은 상태"를 출력할 수 있는데, 이는 "부분 5"가 보수 시퀀스에서 나중까지 재조립되도록 요구되지 않았기 때문이다.
본 명세서에 개시된 프로세스들, 방법들, 또는 알고리즘들은 임의의 기존의 프로그래밍가능한 전자 제어 유닛 또는 전용 전자 제어 유닛을 포함할 수 있는 프로세싱 디바이스, 제어기, 또는 컴퓨터에 전달가능할 수 있고/상기 프로세싱 디바이스, 제어기, 또는 컴퓨터에 의해 구현될 수 있다. 유사하게, 프로세스들, 방법들, 또는 알고리즘들은 ROM 디바이스들과 같은 기록가능하지 않은 저장 매체들에 영구적으로 저장된 정보 및 플로피 디스크들, 자기 테이프들, CD들, RAM 디바이스들, 및 다른 자기 및 광학 매체들과 같은 기록가능한 저장 매체들에 변경가능하게 저장된 정보를 포함하지만 그들로 제한되지 않는 많은 형태들로 제어기 또는 컴퓨터에 의해 실행가능한 데이터, 논리, 및 지시들으로서 저장될 수 있다. 프로세스들, 방법들, 또는 알고리즘들은 소프트웨어 실행가능한 객체에 또한 구현될 수 있다. 대안적으로, 프로세스들, 방법들, 또는 알고리즘들은 주문형 반도체들(Application Specific Integrated Circuits; ASICs), 필드 프로그래밍가능한 게이트 어레이들(Field-Programmable Gate Array; FPGAs), 상태 기계들, 제어기들 또는 다른 하드웨어 구성요소들 또는 디바이스들, 또는 하드웨어, 소프트웨어 및 펌웨어 구성요소들의 조합과 같은, 적합한 하드웨어 구성요소들을 이용하여 전체적으로 또는 부분적으로 구현될 수 있다.
예시적인 실시예들이 상기 설명되었지만, 이들 실시예들이 본 발명의 모든 가능한 형태들을 설명하도록 의도되지 않는다. 오히려, 본 명세서에서 이용된 단어들은 제한이 아니라 오히려 설명의 단어들이고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 변경들이 행해질 수 있음이 이해된다. 부가적으로, 다양한 구현 실시예들의 피처들은 본 발명의 또 다른 실시예들을 형성하기 위해 조합될 수 있다.

Claims (20)

  1. 컨볼루션 신경망(convolutional neural network; CNN) 방법에 있어서:
    앵커 이미지가 제 1 CNN에 제공되는 것에 응답하여 시멘틱 공간에서 앵커 벡터를 생성하는 단계로서, 상기 앵커 이미지는 2차원 RGB 이미지이고, 상기 제 1 CNN은 하나 이상의 제 1 컨볼루션 층들, 하나 이상의 제 1 최대 풀링 층들, 제 1 평탄화 층, 제 1 드롭아웃 층, 및 제 1 완전하게 연결된 층을 포함하는, 상기 앵커 벡터를 생성하는 단계;
    네거티브 이미지 및 포지티브 이미지가 제 2 CNN에 제공되는 것에 응답하여 상기 시멘틱 공간에서 포지티브 벡터 및 네거티브 벡터를 생성하는 단계로서, 상기 네거티브 이미지는 제 1 3차원 CAD 이미지이고 상기 포지티브 이미지는 제 2 3차원 CAD 이미지이고, 상기 제 2 CNN은 하나 이상의 제 2 컨볼루션 층들, 하나 이상의 제 2 최대 풀링 층들, 제 2 평탄화 층, 제 2 드롭아웃 층, 및 제 2 완전하게 연결된 층을 포함하는, 상기 포지티브 벡터 및 네거티브 벡터를 생성하는 단계; 및
    상기 앵커 벡터, 포지티브 벡터, 및 네거티브 벡터를 이용하여 상기 시멘틱 공간에서 이미지 피처(image feature)들을 추출하도록 동작가능한 교차 도메인 심층 메트릭 학습 알고리즘을 적용하는 단계를 포함하는, 컨볼루션 신경망 방법.
  2. 제 1 항에 있어서,
    상기 교차 도메인 심층 메트릭 학습 알고리즘은 상기 시멘틱 공간에서 상기 앵커 벡터와 상기 포지티브 벡터 사이의 제 1 거리를 감소시키고 상기 시멘틱 공간에서 상기 앵커 벡터와 상기 네거티브 벡터 사이의 제 2 거리를 증가시키도록 동작가능한 삼중항 손실 알고리즘(triplet loss algorithm)인, 컨볼루션 신경망 방법.
  3. 제 1 항에 있어서,
    상기 하나 이상의 제 1 컨볼루션 층들 및 하나 이상의 제 2 컨볼루션 층들은 하나 이상의 활성화 함수들을 적용하도록 동작가능한, 컨볼루션 신경망 방법.
  4. 제 3 항에 있어서,
    상기 하나 이상의 활성화 함수들은 정류화된 선형 유닛을 이용하여 구현되는, 컨볼루션 신경망 방법.
  5. 제 3 항에 있어서,
    상기 제 1 CNN 및 제 2 CNN은 하나 이상의 정규화 층들을 더 포함하는, 컨볼루션 신경망 방법.
  6. 제 1 항에 있어서,
    상기 제 2 CNN은 샴 네트워크(Siamese network)를 이용하여 설계되는, 컨볼루션 신경망 방법.
  7. 제 1 항에 있어서,
    상기 제 1 CNN 및 제 2 CNN은 스킵 연결 아키텍처를 이용하는, 컨볼루션 신경망 방법.
  8. 제 1 항에 있어서,
    상기 시멘틱 공간에서 추출된 상기 이미지 피처들을 분석함으로써 단계 인식을 수행하는 단계를 더 포함하는, 컨볼루션 신경망 방법.
  9. 제 1 항에 있어서,
    상기 시멘틱 공간에서의 상기 이미지 피처들의 분석에 기초하여 유효하지 않은 보수 시퀀스가 발생했는지를 결정하는 단계를 더 포함하는, 컨볼루션 신경망 방법.
  10. 증강 현실 시스템에 있어서:
    하나 이상의 RGB 이미지들을 얻도록 동작가능한 시각화 디바이스; 및
    제어기를 포함하고, 상기 제어기는,
    앵커 이미지가 제 1 CNN에 제공되는 것에 응답하여, 시멘틱 공간에서 앵커 벡터를 생성하는 것으로서, 상기 앵커 이미지는 2차원 RGB 이미지이고, 상기 제 1 CNN은 하나 이상의 제 1 컨볼루션 층들, 하나 이상의 제 1 최대 풀링 층들, 제 1 평탄화 층, 제 1 드롭아웃 층, 및 제 1 완전하게 연결된 층을 포함하는, 상기 앵커 벡터를 생성하고;
    네거티브 이미지 및 포지티브 이미지가 제 2 CNN에 제공되는 것에 응답하여, 상기 시멘틱 공간에서 포지티브 벡터 및 네거티브 벡터를 생성하는 것으로서, 상기 네거티브 이미지는 제 1 3차원 CAD 이미지이고 상기 포지티브 이미지는 제 2 3차원 CAD 이미지이고, 상기 제 2 CNN은 하나 이상의 제 2 컨볼루션 층들을 포함하고, 상기 제 2 CNN은 하나 이상의 제 2 컨볼루션 층들, 하나 이상의 제 2 최대 풀링 층들, 제 2 평탄화 층, 제 2 드롭아웃 층, 및 제 2 완전하게 연결된 층을 포함하는, 상기 포지티브 벡터 및 네거티브 벡터를 생성하며;
    상기 앵커 벡터, 포지티브 벡터, 및 네거티브 벡터를 이용하여 상기 시멘틱 공간에서 이미지 피처들을 추출하도록 동작가능한 교차 도메인 심층 메트릭 학습 알고리즘을 적용하도록 동작가능한, 증강 현실 시스템.
  11. 제 10 항에 있어서,
    상기 제어기는 상기 하나 이상의 RGB 이미지들 내에서 이미지 객체의 포즈(pose)를 결정하도록 더 동작가능한, 증강 현실 시스템.
  12. 제 10 항에 있어서,
    상기 제어기는 상기 시멘틱 공간에서 상기 앵커 벡터와 상기 포지티브 벡터 사이의 제 1 거리를 감소시키고 상기 시멘틱 공간에서 상기 앵커 벡터와 상기 네거티브 벡터 사이의 제 2 거리를 증가시키도록 더 동작가능한, 증강 현실 시스템.
  13. 제 10 항에 있어서,
    상기 제어기는 상기 하나 이상의 RGB 이미지들에 사후 프로세싱 이미지 알고리즘을 적용하도록 더 동작가능한, 증강 현실 시스템.
  14. 제 10 항에 있어서,
    상기 제어기는 작업 절차의 현재 단계를 결정하도록 더 동작가능한, 증강 현실 시스템.
  15. 제 14 항에 있어서,
    상기 제어기는 상기 작업 절차의 현재 단계에 기초하여 상기 시각화 디바이스에 지시들을 디스플레이하도록 더 동작가능한, 증강 현실 시스템.
  16. 제 10 항에 있어서,
    상기 제 2 CNN은 샴 네트워크를 이용하여 설계되는, 증강 현실 시스템.
  17. 증강 현실 방법에 있어서:
    앵커 이미지가 제 1 CNN에 제공되는 것에 응답하여 시멘틱 공간에서 앵커 벡터를 생성하는 단계로서, 상기 앵커 이미지는 2차원 RGB 이미지이고, 상기 제 1 CNN은 하나 이상의 제 1 컨볼루션 층들, 하나 이상의 제 1 최대 풀링 층들, 제 1 평탄화 층, 제 1 드롭아웃 층, 및 제 1 완전하게 연결된 층을 포함하는, 상기 앵커 벡터를 생성하는 단계;
    네거티브 이미지 및 포지티브 이미지가 제 2 CNN에 제공되는 것에 응답하여 상기 시멘틱 공간에서 포지티브 벡터 및 네거티브 벡터를 생성하는 단계로서, 상기 네거티브 이미지는 제 1 3차원 CAD 이미지이고 상기 포지티브 이미지는 제 2 3차원 CAD 이미지이고, 상기 제 2 CNN은 하나 이상의 제 2 컨볼루션 층들, 하나 이상의 제 2 최대 풀링 층들, 제 2 평탄화 층, 제 2 드롭아웃 층, 및 제 2 완전하게 연결된 층을 포함하는, 상기 포지티브 벡터 및 네거티브 벡터를 생성하는 단계; 및
    상기 앵커 벡터, 포지티브 벡터, 및 네거티브 벡터를 이용하여 상이한 양식들로부터 하나 이상의 이미지 피처들을 추출하는 단계를 포함하는, 증강 현실 방법.
  18. 제 17 항에 있어서,
    상기 시멘틱 공간에서 상기 앵커 벡터와 상기 포지티브 벡터 사이의 제 1 거리를 감소시키고 상기 시멘틱 공간에서 상기 앵커 벡터와 상기 네거티브 벡터 사이의 제 2 거리를 증가시키도록 동작가능한 삼중항 손실 알고리즘을 적용하는 단계를 더 포함하는, 증강 현실 방법.
  19. 제 17 항에 있어서,
    상기 시멘틱 공간에서 추출된 상기 이미지 피처들을 분석함으로써 단계 인식을 수행하는 단계를 더 포함하는, 증강 현실 방법.
  20. 제 17 항에 있어서,
    상기 시멘틱 공간에서의 상기 이미지 피처들의 분석에 기초하여 유효하지 않은 보수 시퀀스가 발생했는지를 결정하는 단계를 더 포함하는, 증강 현실 방법.
KR1020200097197A 2019-08-05 2020-08-04 교차 도메인 메트릭 학습 시스템 및 방법 KR20210018114A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/531,630 2019-08-05
US16/531,630 US20210042607A1 (en) 2019-08-05 2019-08-05 Cross-domain metric learning system and method

Publications (1)

Publication Number Publication Date
KR20210018114A true KR20210018114A (ko) 2021-02-17

Family

ID=72339412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200097197A KR20210018114A (ko) 2019-08-05 2020-08-04 교차 도메인 메트릭 학습 시스템 및 방법

Country Status (6)

Country Link
US (1) US20210042607A1 (ko)
JP (1) JP2021026778A (ko)
KR (1) KR20210018114A (ko)
CN (1) CN112329510A (ko)
DE (1) DE102020209189A1 (ko)
GB (1) GB2589178B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11966452B2 (en) 2021-08-05 2024-04-23 Ford Global Technologies, Llc Systems and methods for image based perception
US11663807B2 (en) * 2021-08-05 2023-05-30 Ford Global Technologies, Llc Systems and methods for image based perception

Also Published As

Publication number Publication date
US20210042607A1 (en) 2021-02-11
CN112329510A (zh) 2021-02-05
GB2589178B (en) 2023-08-23
JP2021026778A (ja) 2021-02-22
GB202011625D0 (en) 2020-09-09
GB2589178A (en) 2021-05-26
DE102020209189A1 (de) 2021-02-11

Similar Documents

Publication Publication Date Title
US10885659B2 (en) Object pose estimating method and apparatus
US10769411B2 (en) Pose estimation and model retrieval for objects in images
AU2019280047B9 (en) Correspondence neural networks: a joint appearance and motion representation for video
US11315266B2 (en) Self-supervised depth estimation method and system
US11232286B2 (en) Method and apparatus for generating face rotation image
JP6946831B2 (ja) 人物の視線方向を推定するための情報処理装置及び推定方法、並びに学習装置及び学習方法
Premebida et al. Pedestrian detection combining RGB and dense LIDAR data
CN107330439A (zh) 一种图像中物体姿态的确定方法、客户端及服务器
US11004221B2 (en) Depth recovery methods and apparatuses for monocular image, and computer devices
US20120114175A1 (en) Object pose recognition apparatus and object pose recognition method using the same
EP3992908A1 (en) Two-stage depth estimation machine learning algorithm and spherical warping layer for equi-rectangular projection stereo matching
US11436755B2 (en) Real-time pose estimation for unseen objects
JP2023545190A (ja) 画像の視線補正方法、装置、電子機器、及びコンピュータプログラム
CN114663502A (zh) 物体姿态估计、图像处理方法及相关设备
JP7499280B2 (ja) 人物の単眼深度推定のための方法およびシステム
US20230326173A1 (en) Image processing method and apparatus, and computer-readable storage medium
GB2612029A (en) Lifted semantic graph embedding for omnidirectional place recognition
WO2021167586A1 (en) Systems and methods for object detection including pose and size estimation
KR20210018114A (ko) 교차 도메인 메트릭 학습 시스템 및 방법
EP3992909A1 (en) Two-stage depth estimation machine learning algorithm and spherical warping layer for equi-rectangular projection stereo matching
Buder Dense real-time stereo matching using memory efficient semi-global-matching variant based on FPGAs
Wang et al. Handling occlusion and large displacement through improved RGB-D scene flow estimation
KR102540678B1 (ko) 카메라이미지를 이용하여 객체의 위치정보 출력을 보완하는 방법 및 그 시스템
US20220198707A1 (en) Method and apparatus with object pose estimation
Jin et al. DOPE++: 6D pose estimation algorithm for weakly textured objects based on deep neural networks

Legal Events

Date Code Title Description
A201 Request for examination