KR20190038808A - 비디오 데이터의 객체 검출 - Google Patents

비디오 데이터의 객체 검출 Download PDF

Info

Publication number
KR20190038808A
KR20190038808A KR1020197002338A KR20197002338A KR20190038808A KR 20190038808 A KR20190038808 A KR 20190038808A KR 1020197002338 A KR1020197002338 A KR 1020197002338A KR 20197002338 A KR20197002338 A KR 20197002338A KR 20190038808 A KR20190038808 A KR 20190038808A
Authority
KR
South Korea
Prior art keywords
frame
video data
surface element
representation
data
Prior art date
Application number
KR1020197002338A
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 KR20190038808A publication Critical patent/KR20190038808A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06K9/00718
    • 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/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • 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/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06K9/00201
    • G06K9/38
    • G06K9/6232
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/183On-screen display [OSD] information, e.g. subtitles or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본원에서 설명한 특정 예는 3-차원(3D) 공간의 의미론적으로 라벨링된 표현이 비디오 데이터로부터 생성될 수 있게 한다. 설명한 예에서, 3D 표현은 표면 요소 또는 '서펠(surfel)' 표현이며, 공간의 형상은 3D 좌표계 내에 정의된 복수의 표면을 사용하여 모델링된다. 비디오 데이터의 프레임의 공간 요소에 대한 객체-라벨 확률 값은 2-차원 이미지 분류기를 사용하여 결정(605)될 수 있다. 공간 요소에 대응하는 표면 요소는 프레임에 대한 추정 포즈를 사용하여 표면 요소 표현을 투영함에 기초하여 식별(610)된다. 그리고 나서, 표면 요소에 대한 객체-라벨 확률 값은 대응하는 공간 요소에 대한 객체-라벨 확률 값에 기초하여 업데이트(615)된다. 이는 비디오 데이터에 존재하는 객체의 의미론적으로 라벨링된 3D 표면 요소 표현을 초래한다. 이러한 데이터는 컴퓨터 비전 및/또는 로봇 애플리케이션이 3D 표현을 더 잘 활용할 수 있게 한다.

Description

비디오 데이터의 객체 검출
본 발명은 비디오 처리에 관한 것이다. 특히, 본 발명은 비디오 데이터의 프레임을 처리하고 3-차원(3D) 공간의 표현 내 표면 요소를 라벨링하는 것에 관한 것이다. 본 발명은 로봇 및/또는 증강현실 애플리케이션에 사용하기 위한 공간의 의미론적으로 라벨링된 3D 표현의 생성에 특정된 것이지만 이에 국한되지 않는다.
컴퓨터 비전 및 로봇 분야에서는, 종종 3D 공간의 표현을 구축할 필요가 있다. 3D 공간의 표현을 구축하면 실제-환경을 가상 및 디지털 영역에 매핑할 수 있으며, 여기서 이러한 영역은 전자 장치에서 사용 및 조작될 수 있다. 예를 들어, 움직일 수 있는 로봇 장치는 3D 공간의 표현을 요구하여 동시에 위치 및 매핑을 허용하고, 따라서 자신 환경의 내비게이션을 허용하게 될 수 있다. 대안으로, 3D 공간의 표현은 그 공간 내 객체의 3D 모델이 식별 및/또는 추출될 수 있게 할 수 있다.
3D 공간의 표현을 구축하는 데 이용 가능한 기법이 몇 가지 있다. 예를 들어, 모션 및 멀티-뷰 입체 구조에서 2가지 이러한 기법이다. 많은 기법은 예컨대 SIFT(Scale Invariant Feature Transform) 및/또는 SURF(Speeded Up Robust Features) 알고리즘을 사용하여 코너 및/또는 에지와 같은 3D 공간의 이미지에서 특징을 추출한다. 그런 다음 이러한 추출된 특징은 3D 표현의 구축을 위해 이미지 간에 상호 연관될 수 있다. 이러한 3D 표현은 일반적으로 3D 포인트 클라우드(3D point cloud)로서, 다시 말하면 정의된 3D 볼륨 내 일련의 정의된 X, Y 및 Z 좌표로서 제공된다. 다른 수법은 정의된 3D 볼륨을 다수의 단위 볼륨 또는 "복셀(voxel)"로 나눌 수 있다. 일련의 공통 Z 좌표를 따라 정렬된 한 세트의 3D 포인트는 바닥이나 테이블 상단을 모델링할 수 있다. 어떤 경우에는, 표면 렌더링(surface rendering)으로서 알려진 프로세스에서 포인트 클라우드가 디스플레이상의 렌더링을 위해 다각형 메쉬(plygon mesh)로 변환될 수 있다.
3D 공간의 표현을 구축할 때 기법은 종종 "희소(sparse)" 카테고리 및 "밀집(dense)" 카테고리로 나뉜다. 표현을 생성하기 위해 감소된 수의 포인트 또는 특징을 사용하는 기법은 "희소(sparse)"로서 언급된다. 예를 들어, 이러한 기법은 표현을 생성하기 위해 10 ~ 100개의 특징 및/또는 포인트를 사용할 수 있다. 이들은 수천 또는 수백만 포인트의 표현을 생성하는 "밀집(dense)" 기법과 대조될 수 있다. "희소(sparse)" 기법은 실시간으로, 예컨대, 30 프레임/초의 프레임 속도 또는 그 정도로 구현하기에 용이한 이점을 지니는데, 다시 말하면, 한정된 수의 포인트 또는 특징을 사용하면 3D 표현을 구축하는 데 필요한 처리 범위가 한정된다. 상대적으로 연산 요구사항으로 인해 3D 공간의 실시간 "밀집" 매핑 및 처리를 수행하는 것이 더 어렵다. 예를 들어, 30분 제공된 이미지 데이터로부터 "밀집" 표현을 생성하는 데에는 상기 표현의 임의의 후속 처리를 적용하기 위한 유사한 분량의 시간을 다시 더하여 10시간이 소요될 수 있다.
일단 공간의 3D 표현이 생성되면 표현의 유용성에 대한 또 다른 문제점이 있다. 예를 들어, 많은 로봇 애플리케이션은 공간의 형상에 대한 정의를 요구할 뿐만아니라 공간에 존재하는 것에 관한 유용한 정보를 필요로 한다. 이는 컴퓨터 비전 분야에서 공간의 "의미론적" 지식으로서 언급된다. 공간 내에 존재하는 것을 아는 것은 인간 두뇌에서 무의식적으로 일어나는 프로세스이고, 이 때문에, 동등한 능력을 지니는 기계를 구축하는 어려움을 과소평가하기 쉽다. 예를 들어, 인간이 3D 공간에서의 컵과 같은 객체를 관찰할 때, 상기 두뇌의 여러 다른 부위가 고유 수용성 감각(proprioception)(예컨대, 객체를 향한 움직임) 및 언어 처리에 관한 것을 포함해 코어 시각 처리 네트워크에 추가하여 활성화된다. 그러나 많은 컴퓨터 비전 시스템은 공간의 이해를 매우 순진하게 하고, 이러한 시스템은 단지 공간의 형상만을 안다.
컴퓨터 비전과 로봇 분야에서는, 공간의 표현 내 풍부한 의미론적 정보의 포함은 상기 형상만을 허용하는 것보다 더 많은 범위의 기능을 허용하게 된다. 예를 들어, 가사지원 로봇에서, 간단한 페칭(fetching) 태스크에는 어떤 것이 무엇인지 뿐만 아니라 어떤 것이 어디에 위치하는지의 지식이 필요하다. 마찬가지로, 표현 내 의미론적 정보를 쿼리(query)할 수 있는 능력은 인간이 직접 예컨대 사전에 생성된 표현, 다시 말하면 "얼마나 많은 의자가 우리 회의실에 있니? 강연대와 강연대에 가장 가까운 의자 간의 거리는 얼마인가?"의 의미에 대한 음성 쿼리에 응답하기 위한 데이터베이스를 제공하기 위해 유용하다.
3D 표현을 위한 의미론적 정보의 생성에 대한 연구는 초기 단계에 있다. 과거에는 노력이 주로 2차원(2D) 이미지 분류(예컨대, "이러한 장면 이미지에 고양이가 있는가?") 및 3D 장면 매핑의 비교적 별개의 분야로 나뉘었다. 후자의 카테고리에서, 많은 기존 시스템은 대규모 데이터 세트에 대해 오프라인으로(예컨대, 아간이나 며칠(a series of days)에 걸쳐) 작동하도록 구성된다. 3D 장면 매핑을 실시간으로 제공하는 것은 실제 애플리케이션에 대한 원하는 목표이다.
「the Proceedings of the IEEE International Conference on Robotics and Automation(ICRA) in 2014」에 공개된 A. Hermans, G. Floros 및 B. Leibe에 의한 논문 "Dense 3D Semantic Mapping of Indoor Scenes from RGB-D Images"에는 주변 장면의 의미론적으로 주석이 달린 3D 재구축을 제공하는 방법이 설명되어 있는데, 여기서 모든 3D 포인트에는 의미론적 라벨이 할당된다. 상기 논문에는 전체적으로 일관된 3D 재구축으로의 2D 라벨 전달을 위한 명확한 방법이 없는 것으로 언급되어 있다. 상기 설명된 방법은 장면의 포인트 클라우드 재구축을 구축하고 각각의 3D 포인트에 의미론적 라벨을 할당한다. 이미지 라벨은 RDF(Randomized Decision Forest)를 사용하여 2D 이미지에 대해 계산된 다음에 베이지안(Bayesian) 업데이트 및 밀집 쌍별(dense pairwise) CRF(Conditional Random Field)를 통해 포인트 클라우드로 전달된다. 포인트는 제로-속도(zero-velocity) 칼만 필터(Kalman filter)를 사용하여 전체 3D 공간 내에서 추적된다. 제시된 방법이 권장되는 동안 실시간 성능은 4.6 Hz 이었고, 이는 라이브 비디오 피드를 처리하지 못하게 된다.
「the Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR) in 2013」에 공개된 논문 "SLAM++: Simultaneous Localisation and Mapping at the Level of Objects"의 R.F. Salas-Moreno, R.A. Newcombe, H. Strasdat, P.H.J. Kelly, 및 A.J. Davison에는 실내 장면 내에서의 실시간 3D 객체 인식 방법이 설명되어 있다. 이러한 방법은 공간의 포즈-그래프(pose-graph) 표현을 사용하며, 여기서 상기 그래프의 각각의 노드는 주어진 타임스텝(timestep)에서 인식된 객체의 추정 포즈 또는 카메라의 이력(履歷) 포즈를 저장한다. 그리고 나서, 이러한 포즈-그래프 표현은 일관된 표현을 제공하도록 최적화된다. 루프 클로저(loop closure)는 포즈 그래프 부분의 매치(matching)에 의해 관리된다. 본 분야에서 개선점을 제공하는 반면, 상기 설명된 방법들은 사전에 정의된 데이터베이스에 있는 객체의 매핑에 국한되어 있으며 템플릿 모델을 매칭하는데 필요한 특징은 직접 생성되어야 한다. 이들은 또한 전체 장면(예컨대, 벽, 문 및 창)의 밀집 라벨링을 제공하지 않는데, 그러한 라벨링은 내부 내비게이션에 유용하다.
기존 기법들을 감안할 때, 장면에 존재한다고 간주 되는 객체의 검출 및 라벨링을 가능하게 하는 비디오 데이터 처리의 유용한 방법에 대한 요구가 여전히 존재한다. 예를 들어, 증강현실과 로봇 애플리케이션은 실시간으로나 또는 거의 실시간으로(예컨대, 15Hz 이상의 프레임 처리 속도로) 제공되는 장면에서 볼 수 있는 것의 지식을 요구한다. 이러한 애플리케이션은 또한 일반적으로 큰 뷰포인트(viewpoint) 변화를 지니는 장면 관측, 예컨대 카메라의 단순한 제한된 회전과는 반대로 다수의 상이한 위치 및/또는 배향으로부터 장면 일부를 보는 연장된 "처피(choppy)" 움직임 또는 "루피(loopy)" 움직임을 지니는 비디오 데이터를 생성한다. 예를 들어, 고르지 않은 지형 또는 핸드-헬드 캡처 장치는 장면의 부위가 반복적으로 관찰되고 다시 관찰되는 캡처 장치 위치 및 배향에서 빈번한 변경을 초래할 수 있다. 이러한 가변 장면 관찰을 통해 객체의 검출 및 라벨링을 가능하게 하는 것이 바람직하다.
본 발명의 제1 실시형태에 의하면, 비디오 데이터의 객체를 검출하는 방법이 제공되며, 상기 방법은 2-차원 이미지 분류기를 사용하여 비디오 데이터의 프레임의 공간 요소에 대한 객체-라벨 확률 값을 결정하는 단계; 상기 공간 요소에 대응하는 비디오 데이터의 프레임에서 관측된 공간의 3-차원 표면 요소 표현에서 표면 요소를 식별하는 단계 - 공간 요소 및 표면 요소 간의 대응은 프레임에 대한 추정 포즈를 사용하여 상기 표면 요소 표현의 투영에 기초하여 결정됨; 및 대응하는 공간 요소에 대한 객체-라벨 확률 값에 기초하여 상기 표면 요소에 대한 객체-라벨 확률 값을 업데이트하여 상기 비디오 데이터에 존재하는 객체의 의미론적으로 라벨링된 3-차원 표면 엘리먼트 표현을 제공하는 단계;를 포함한다.
특정 예에서, 상기 비디오 데이터의 처리 동안, 상기 방법은 루프 클로저 이벤트를 검출하는 단계 및 상기 표면 요소 표현에 공간 변형을 적용하는 단계;를 포함할 수 있으며, 상기 공간 변형은 상기 표면 요소 표현에서 표면 요소의 3-차원 위치를 수정하는 것이며, 상기 공간 변형은 상기 표면 요소 표현의 표면 요소 및 공간 요소 간의 대응을 수정하는 것이고 그럼으로써 상기 공간 변형 이후에, 제1 표면 요소에 대한 객체-라벨 확률 값이 사전에 제2 표면 요소에 대응하는 공간 요소에 대한 객체-라벨 확률 값을 사용하여 업데이트되게 한다.
비디오 데이터의 프레임을 처리하는 것은 3-차원 표면 요소 표현을 생성하기 위한 포즈 그래프 없이 수행될 수 있다. 이는 3-차원 표면 요소 표현을 사용하여 생성된 렌더링된 프레임을 비디오 데이터의 프레임으로부터의 비디오 데이터 프레임과 프레임 단위로 비교하여 비디오 데이터 프레임에 대한 캡처 장치의 포즈를 결정하는 단계; 및 상기 포즈 및 상기 비디오 데이터 프레임으로부터의 이미지 데이터를 사용하여 상기 3-차원 표면 요소 표현을 업데이트하는 단계;를 포함할 수 있다.
특정한 경우에, 3-차원 표면 요소 표현을 생성하는데 사용된 한 서브세트의 비디오 데이터의 프레임은 2-차원 이미지 분류기에 입력된다.
상기 비디오 데이터의 프레임은 컬러 데이터, 깊이 데이터 및 정상 데이터 중 적어도 하나를 포함할 수 있다. 이 경우에, 2-차원 이미지 분류기는 프레임에 대한 컬러 데이터, 깊이 데이터 및 정상 데이터 중 적어도 하나에 기초하여 객체-라벨 확률 값을 계산하도록 구성된다. 특정한 경우에, 프레임에 대한 컬러 데이터, 깊이 데이터 및 정상 데이터 중 둘 이상은 이미지 분류기에 대한 입력 채널을 제공 할 수 있다.
상기 2-차원 이미지 분류기는 컨벌루션 신경 네트워크(convolutional neural network)를 포함할 수 있다. 이 경우에, 상기 컨벌루션 신경 네트워크는 비디오 데이터의 각각의 프레임에 대한 한세트의 픽셀 맵으로서 객체-라벨 확률 값을 출력하도록 구성될 수 있으며, 상기 세트의 픽셀 맵 각각은 한 세트의 이용 가능한 객체 라벨의 상이한 객체 라벨에 대응한다. 디콘벌루션 신경 네트워크(deconvolutional neural network)는 상기 콘벌루션 신경 네트워크의 출력에 통신 가능하게 연결될 수 있다.
어떤 경우에, 상기 방법은 상기 표면 요소에 대한 객체-라벨 확률 값의 업데이트 후에, 상기 표면 요소에 대한 상기 객체-라벨 확률 값을 정규화하는 단계;를 포함한다. 이는 상기 표면 요소 표현의 표면 요소에 대한 객체-라벨 확률 값에 조건부 랜덤 필드를 적용하는 것을 포함할 수 있고 그리고/또는 표면 요소 위치, 표면 요소 컬러 및 표면 요소 법선 중 하나 이상에 기초하여 이루어질 수 있다.
특정한 예에서, 한 세트의 하나 이상의 표면 요소는 상기 표면 요소들에 할당된 객체-라벨 확률 값에 기초하여 3-차원 객체 정의로 대체될 수 있다.
일 예에서, 상기 방법은 공간의 3-차원 표면 요소 표현의 표현 요소를 객체-라벨로 주석 처리하여 주석 처리된 표현을 제공하는 단계; 상기 주석 처리된 표현의 투영에 기초하여 상기 주석 처리된 표현으로부터 비디오 데이터의 주석 처리된 프레임을 생성하는 단계; - 상기 투영은 각각의 주석 처리된 프레임에 대한 추정 포즈를 사용하는 것이며, 각각의 주석 처리된 프레임은 할당된 객체-라벨을 지니는 공간 요소를 포함함 -; 및 상기 비디오 데이터의 주석 처리된 프레임을 사용하여 상기 2-차원 이미지 분류기를 트레이닝하는 단계;를 포함할 수 있다.
다른 일 예에서, 상기 방법은, 객체의 제1 부분의 관측에 대응하는 비디오 데이터의 제1 프레임을 획득하는 단계; 상기 2-차원 이미지 분류기를 사용하여 상기 비디오 데이터의 제1 프레임에 대한 이미지 맵을 생성하는 단계 - 상기 이미지 맵은 상기 제1 프레임의 영역에서 상기 객체의 상기 제1 부분의 존재를 나타내는 것임 -; 및 표면 요소가 상기 제1 프레임의 상기 영역 상에 투영되지는 것으로 결정하여, 상기 영역의 상기 표면 요소 기반 이미지 맵 값에 대한 갭체-라벨 확률 값을 업데이트하지 않는 단계;를 포함할 수 있다. 이러한 예에서, 루프 클로저 이벤트의 검출 후에, 상기 방법은, 상기 표면 요소의 3-차원 위치를 수정하는 단계; 상기 객체의 제1 부분의 반복된 관측에 대응하는 비디오 데이터의 제2 프레임을 획득하는 단계; 상기 2-차원 이미지 분류기를 사용하여 상기 비디오 데이터의 제2 프레임에 대한 이미지 맵을 생성하는 단계 - 상기 이미지 맵은 상기 제2 프레임의 영역내 상기 객체의 제1 부분의 존재를 나타내는 것임 -; 상기 루프 클로저 이벤트 다음에 상기 제2 프레임의 영역 상에 상기 수정된 제1 표면 요소가 투영하는 것으로 결정하는 단계; 및 상기 비디오 데이터의 제2 프레임에 대한 이미지 맵에 기초하여 상기 표면 요소에 대한 객체-라벨 확률 값을 업데이트하는 단계 - 상기 표면 요소에 대한 상기 객체-라벨 확률 값은 다수의 뷰포인트로부터의 상기 표면 요소에 대한 융합된 객체 예측을 포함함 -;을 포함할 수 있다.
본 발명의 제2 실시형태에 의하면, 비디오 데이터의 객체를 검출하기 위한 장치가 제공되며, 상기 장치는, 비디오 데이터의 개별 프레임에 대한 2-차원 객체-라벨 확률 분포를 수신하는 이미지-분류기 인터페이스; 비디오 데이터의 주어진 프레임에 대해 3-차원 표면 요소 표현의 표면 요소 및 상기 주어진 프레임 내의 공간 요소 간의 대응을 나타내는 데이터를 수신하는 대응 인터페이스 - 상기 대응은 상기 주어진 프레임에 대한 예측 포즈를 사용한 상기 표면 요소 표현의 투영에 기초하여 결정됨; 및 상기 3-차원 표면 요소 표현의 개별 표면 요소에 할당된 객체-라벨 확률 값을 반복적으로 업데이트하기 위한 의미론적 증강기(semantic augmenter);를 포함하며, 상기 의미론적 증강기는 비디오 데이터의 주어진 프레임에 대해 상기 대응 인터페이스에 의해 수신된 데이터를 사용하여 대응하는 표면 요소에 할당된 객체-라벨 확률 값에 상기 이미지 분류기 인터페이스에 의해 수신된 2-차원 객체-라벨 확률 분포를 적용하도록 구성된다.
특정한 예에서, 상기 대응 인터페이스는 상기 표면 요소 표현의 공간 변형 다음에 업데이트된 대응을 제공하도록 구성되고, 상기 공간 변형은 상기 비디오 데이터 내 루프 클로저를 규정한다. 이러한 예에서, 상기 의미론적 증강기는 상기 업데이트된 대응을 사용하여 사전에 제2 표면 요소에 대응한 공간 요소에 대한 객체-라벨 확률 값을 사용해 제1 표면 요소에 대한 객체-라벨 확률 값을 업데이트할 수 있다.
어떤 경우에, 상기 이미지 분류기 인터페이스는 비디오 데이터의 주어진 프레임에 대한 대응하는 복수의 객체 라벨에 대응하는 복수의 이미지 맵을 수신하도록 구성되며, 각각의 이미지 맵은 연관된 객체 라벨에 대한 확률 값을 나타내는 픽셀 값을 지닐 수 있다.
상기 장치는 위에서 언급한 바와 같이 정규화를 수행하는 정규화기를 포함할 수 있다. 상기 의미론적 증강기는 상기 표면 요소에 할당된 객체-라벨 확률 값에 기초하여 한 세트의 하나 이상의 표면 요소를 3-차원 객체 정의로 대체하도록 또 구성될 수 있다.
본 예에서, 상기 표면 요소 표현의 각각의 표면 요소는 3-차원으로 상기 표면 요소의 일부를 정의하는 데이터 및 3-차원으로 상기 표면 요소에 대한 법선 벡터를 정의하는 데이터를 적어도 포함할 수 있다. 이 경우에, 각각의 표면 요소는 3-차원 공간에서 2-차원 영역을 나타낸다.
본 발명의 제3 실시형태에 의하면, 비디오 데이터에 존재하는 객체를 검출하는 비디오 처리 시스템이 제공되며, 상기 비디오 처리 시스템은, 위에서 설명한 바와 같은 장치; 캡처 장치로부터 비디오 데이터의 프레임을 획득하는 비디오 획득 인터페이스 - 상기 비디오 데이터의 프레임은 시간 경과에 따른 3-차원 공간 및 상기 캡처 장치 간의 상대적 움직임으로부터 생성됨 -; 및 상기 획득된 비디오 데이터의 프레임에 기초하여 상기 3-차원 공간의 표면 요소 표현을 생성하도록 상기 장치의 상기 대응 인터페이스에 통신 가능하게 연결된 SLAM(simultaneous location and mapping) 시스템;을 포함하며, 상기 SLAM 시스템은 상기 표면 요소 표현에 공간 변형을 적용하여 상기 비디오 요소의 프레임 내 관측 루프를 폐쇄하도록 구성되고, 상기 공간 변형은 상기 표면 요소 표현의 적어도 하나의 수정된 표면 요소에 대한 새로운 3-차원 위치를 초래한다.
이러한 실시형태에서, 상기 SLAM 시스템은, 적어도 하나의 표현 특성에 기초하여 상기 3-차원 표면 요소 표현을 적어도 활성 표면 및 비활성 표면으로 세그먼트하도록 구성된 분할기(segmenter) - 상기 SLAM 시스템은 상기 표면 요소 표현의 활성 부분으로부터의 투영에 기초하여 활성 렌더링 프레임을 계산하여 시간 경과에 따라 상기 표현을 업데이트하도록 구성됨 -; 및 시간 경과에 따라 상기 3-차원 표면 요소 표현의 활성 부분을 3-차원 표면 요소의 비활성 부분과 정렬하도록 구성된 등록 엔진;을 포함할 수 있다. 이 경우에, 상기 등록 엔진은, 상기 3-차원 표면 요소 표현의 상기 비활성 부분으로부터의 투영에 기초하여 비활성 렌더링 프레임을 계산하도록 구성될 수 있고, 상기 활성 렌더링 프레임을 상기 비활성 렌더링 프레임과 정렬하는 공간 변형을 결정하도록 구성될 수 있으며, 그리고 상기 공간 변형을 적용하여 상기 3-차원 표면 요소 표현을 업데이트하도록 구성될 수 있다. 상기 SLAM 시스템은 상기 활성 렌더링 프레임을 상기 비디오 데이터로부터의 제공된 프레임에 비교하여 상기 비디오 데이터와 상기 3-차원 표면 요소 표현의 활성 부분의 정렬을 결정하도록 구성된 프레임-모델 추적 구성요소를 또 포함할 수 있다. 상기 등록 엔진은 변형 그래프를 사용하여 상기 3-차원 표면 요소 표현의 활성 부분을 상기 3-차원 표면 요소 표면의 비활성 부분과 정렬하도록 구성될 수 있으며, 상기 변형 그래프는 정렬 동안 주어진 표면 요소를 수정하는데 사용되는 주어진 표면 요소에 대한 한 세트의 표면 요소 이웃을 나타낸다.
특정한 예에서, 상기 비디오 처리 시스템은 상기 비디오 획득 인터페이스로부터 획득된 비디오 데이터의 프레임에 대한 객체-라벨 확률 분포를 계산하도록 상기 이미지 분류기 인터페이스에 통신 가능하게 연결된 2-차원 이미지 분류기를 포함한다. 상기 2-차원 이미지 분류기는 상기 제1 실시형태와 관련하여 설명된 바와 같은 처리를 적용할 수 있다.
본 발명의 제4 실시형태에 의하면, 로봇 장치가 제공되며, 상기 로봇 장치는, 깊이 데이터 및 컬러 데이터 중 하나 이상을 포함하는 비디오 데이터의 프레임을 제공하기 위한 적어도 하나의 캡처 장치 - 상기 깊이 데이터는 복수의 이미지 요소에 대한 캡처 장치로부터의 거리를 표시함 -; 위에서 설명한 바와 같은 제2 실시형태의 장치, 또는 제3 실시형태의 비디오 처리 시스템; 상기 3-차원 공간을 통해 상기 로봇 장치를 움직이기 위한 하나 이상의 움직임 액추에이터; 및 상기 하나 이상의 움직임 액추에이터를 제어하기 위한 내비게이션 엔진;을 포함하며, 상기 내비게이션 엔진은 상기 3-차원 표면 요소 표현의 개별 표면 요소에 할당된 객체-라벨 확률 값에 액세스하여 상기 3-차원 공간 내에서 상기 로봇 장치를 내비게이트하도록 구성된다.
상기 내비게이션 엔진은 상기 3-차원 표면 원소 표현 요소의 표면 요소에 할당된 객체-라벨 확률 값에 기초하여 룸(room) 또는 룸에 대한 입구 및 출구 포인트를 식별하도록 구성될 수 있다.
본 발명의 제5 실시형태에 의하면, 모바일 컴퓨팅 장치가 제공되며, 상기 모바일 컴퓨팅 장치는 깊이 데이터 및 컬러 데이터 중 하나 이상을 포함하는 비디오 데이터의 프레임을 기록하도록 구성된 적어도 하나의 캡처 장치 - 상기 깊이 데이터는 복수의 이미지 요소에 대한 상기 캡처 장치로부터의 거리를 나타냄 -; 및 위에서 설명한 바와 같은 상기 제2 실시형태의 장치, 또는 상기 제3 실시형태의 비디오 처리 시스템을 포함한다.
본 발명의 제5 실시형태에 의하면, 프로세서에 의해 실행될 때 컴퓨팅 장치로 하여금 위에서 설명한 비디오 처리 방법을 수행하게 하는 컴퓨터 실행가능 명령어를 포함하는 비-일시적 컴퓨터 판독가능 저장 매체가 제공된다.
본 발명의 다른 특징 및 이점은 첨부도면을 참조하여 이루어진 단지 예로 주어진 이하 본 발명의 바람직한 실시 예에 대한 설명으로부터 자명해질 것이다.
도 1a는 3-차원 공간의 일 예를 나타내는 개략도이다.
도 1b는 한 대표적인 캡처 장치에 대한 이용 가능한 자유도를 보여주는 개략도이다.
도 1c는 한 대표적인 캡처 장치에 의해 생성된 비디오 데이터를 보여주는 개략도이다.
도 2는 일 예에 따른 비디오 데이터의 객체를 검출하기 위한 장치의 개략도이다.
도 3a는 3D 표면 요소 모델에 대한 대표적인 데이터를 보여주는 개략도이다.
도 3b는 일 예에 다른 표면 요소의 속성을 보여주는 개략도이다.
도 4는 일 예에 따른 비디오 데이터에 존재하는 객체를 검출하기 위한 비디오 처리 시스템의 개략도이다.
도 5는 비디오 데이터의 프레임에 기초하여 표면 요소 표현을 의미적으로 라벨링하기 위한 한 대표적인 파이프라인을 보여주는 개략도이다.
도 6은 일 예에 따른 비디오 데이터의 객체를 검출하는 방법을 보여주는 흐름도이다.
도 7은 표면 원소 표현의 일부를 등록하고 변형 그래프를 적용하는 한 대표적인 프로세스 흐름을 보여주는 개략도이다.
도 8은 3-차원 공간 표현을 업데이트하도록 비디오 데이터의 프레임을 처리하기 위한 한 대표적인 프로세스를 보여주는 흐름도이다.
도 9a 내지 도 9c는 표면 요소 표현을 업데이트하는 작업 예를 보여주는 개략도들이다.
도 10a 및 도 10b는 대표적인 장면 및 의미론적으로 라벨링된 출력을 보여주는 도면들이다.
여기에서 설명되는 특정한 예는 3D 공간의 의미론적으로 라벨링된 3D 표현 이 비디오 데이터로부터 생성될 수 있게 한다. 이는 장면에서 볼 수 있는 "객체의 검출"이라고 하고, "검출"은 한 세트의 적용 가능한 클래스 라벨에 대한 확률을 결정하는 프로세스를 의미할 수 있으며 "객체"는 예컨대 로봇이 상호작용할 수 있는 물질적 존재감을 지니는 임의의 보이는 모든 것 또는 엔티티(entity)를 언급할 수 있다. "객체" 및 "클래스"라는 용어는 동의어로 사용되며, 양자 모두는 실제 엔티티에 대한 라벨 또는 식별자를 언급한다. 설명되는 예에서, 맵 또는 모델이라고도 언급될 수 있는 3D 표현은 표면 요소 또는 '서펠(surfel)' 표현이며, 여기서 공간의 형상은 3D 좌표계 내에서 정의된 복수의 표면 또는 영역을 사용하여 모델링된다. 3D 표현은 상기 요소와 관련이 있는 객체를 식별하는 관련 라벨 데이터(예컨대, 스트링 또는 키)를 지니는데, 다시 말하면 상기 객체가 검출된다. 여기에서의 객체는 광범위하게 고려되며 다른 많은 것 중에서 가정, 사무실 및/또는 외부 공간의 벽, 문, 바닥 및 사람뿐만 아니라 가구, 기타 장치 및 일반 객체와 같은 엔티티를 포함한다. 이러한 방식으로, 서펠은 자신의 기하학적 또는 시각적 속성(예컨대, 컬러)을 넘어 서펠에 의미를 제공하는 추가 데이터를 지닌다. 이러한 데이터는 컴퓨터 비전 및/또는 로봇 애플리케이션이 3D 표현을 보다 잘 이용할 수 있게 한다. 예를 들어, 가정용 로봇용 맵이 공간 내 객체를 식별하는 데이터를 포함하는 경우, 상기 로봇은 '벽'과 '문'을 구별할 수 있다. 따라서, 기하학적 뷰포인트에서 유사한 맵 특징(예컨대, 문과 벽 양자 모두가 수직면임)을 구별하여 움직임에 사용할 수 있는데, 예컨대, 이러한 정보는 이때 로봇이 상기 공간을 입장하거나 퇴장하는데 사용될 수 있다. 라벨은 확률적으로 할당될 수 있고 그럼으로써 내비게이션 중에 베이지안(Bayesian) 방식으로 신뢰(belief)을 업데이트할 수 있다.
여기에서 설명되는 특정한 예는 15Hz 이상의 프레임 속도에서 실시간 비디오 피드를 처리하는 데 특히 적합하다. 이는 포즈-그래프의 계산에 의존하지 않는 공간의 표현을 사용함으로써 가능한데, 프레임-표현 추적 및 융합은 프레임 단위로 이루어지며, 여기서 상기 표현은 루프 클로저 이벤트의 검출 후에 공간적으로 변형된다. 특정한 예에서, 표현은 활성 부분과 비활성 부분으로 세그먼트되며, 여기서 활성 부분만이 표현을 업데이트하는 데 사용되며, 비활성 부분은 표현을 업데이트하는 데 사용되지 않는다 이러한 업데이트는 비디오 데이터의 프레임을 표현과 융합시키는 것, 예컨대, 새로운 서펠을 결정하는 것, 기존의 서펠을 수정하거나 오래된 서펠을 삭제하는 것을 포함할 수 있다. 이는 단지 한 서브세트의 공간의 표현만이 상기 공간의 새로운 관측 후에 상기 표현을 업데이트하기 위해 임의의 시간에 사용될 수 있으므로 계산 요구를 줄이는 데 도움이 된다. 상기 표현을 업데이트하는 것 외에도, 상기 활성 부분은 상기 표현에 대하여 캡처 장치의 위치 및 배향의 정확한 현재 표현을 결정하고자 하는 트래킹 동작에 사용될 수 있다. 다시, 한 세트의 상기 공간의 표현만을 사용하는 것은 상기 공간의 완전한 표현에 기초한 추적에 비해 계산 요구가 감소될 수 있게 한다.
여기에서 설명되는 특정한 예는 예컨대 객체가 2번 이상 통과되고 그리고/또는 상이한 각도에서 보이게 되는 경우에 관측의 루프를 포함하는 비디오 데이터에 대한 증가된 검출 정확도를 제공한다. 예에서, 서펠과 관련이 있는 클래스 또는 객체 라벨 확률은 데이터의 새로운 프레임에 기초하여 지속적으로 업데이트된다. 상기 표현의 기존 부분을 다시 관측할 때, 루프 클로저 이벤트가 검출되고 상기 공간의 일관된 전체 맵을 제공하기 위해 서펠이 고정적이지 않게 변형되지만, 할당된 확률은 유지된다. 이 때문에, 서펠(surfel) 표현에 대한 확률 업데이트 동작에서, 변형 후에 새로운 세트의 확률이 사용될 수 있다. 테스트에서 이는 검출 정확도의 향상된 성능을 가져 왔다. 본질적으로, "루피(loopy)" 움직임은 주어진 객체의 여러 개별 관측을 가능하게 한다. 이러한 개별 관측은 각각 2D 객체 분류 세트를 제공한다. 따라서 변형 프로세스는 동일한 세트의 서펠에 개별 프레임으로부터의 2D 분류 확률이 일관 되게 적용됨을 의미한다. 특정한 경우에, 이러한 변형은 고정적이지 않을 수 있으며 변형 그래프를 사용하여 변형을 서펠에 적용할 수 있다. 변형 그래프는 희소할 수 있고 그리고/또는 상기 공간에 임베드(embed)될 수 있는데, 예컨대 상기 서펠과 관련이 될 수 있다. 이러한 기법은 이미지 데이터의 독립적인 키(key) 프레임을 고정적으로 변형시키는 데 사용되는 포즈 그래프, 예컨대 카메라 장치의 위치 및 배향의 확률 표현을 필요로 하는 기법과 다르다. 실제로, 표현의 상이한 부분을 정렬하고 적절한 경우에 변형함으로써 포즈 그래프가 필요하지 않은데, 예컨대, 드리프트 및 오차가 정렬 및 변형에 의해 보정될 수 있으므로 언제든지 정확한 포즈를 추적할 필요가 덜하다. 이는 실시간 동작을 다시 돕고 프로세싱을 단순화한다.
도 1a 및 도 1b는 3-차원 공간의 일 예 및 그 공간과 관련이 있는 비디오 데이터 캡처를 개략적으로 보여준다. 그 다음에, 도 1c는 상기 공간을 볼 때 비디오 데이터를 생성하도록 구성된 캡처 장치를 보여준다. 이들 예는 여기에 기재되어 있는 특정한 특징을 더 잘 설명하기 위해 제시된 것이며 제한적인 것으로 고려되어서는 아니 되며, 특정한 특징은 설명의 용이함을 위해 생략되고 간략화되었다.
도 1a는 3-차원 공간(110)의 일 예(100)를 보여준다. 상기 3-차원 공간(110)은 내부 및/또는 외부 물리적 공간, 룸 또는 지리적 위치의 적어도 일부일 수 있다. 이러한 예(100)에서의 3-차원 공간(110)은 3-차원 공간 내에 있는 다수의 물리 객체(115)를 포함한다. 이들 객체(115)는 다른 것 중에서 사람, 전자 장치, 가구, 동물, 건물 일부 및 장비 중 하나 이상을 포함할 수 있다. 도 1a의 3D 공간(110)이 하부 표면으로 도시되어 있지만, 이는 모든 구현 예에 필요하지 않은데, 예를 들어 환경은 공중 또는 외계 공간 내 일 수 있다.
상기 예(100)는 또한 3d 공간(110)과 관련이 있는 비디오 데이터를 캡처하는 데 사용될 수 있는 여러 대표적인 캡처 장치(120)를 보여준다. 캡처 장치(120)는 상기 3D 공간(110)을 관측함으로써 획득되는 데이터를 디지털 또는 아날로그 형태로 기록하도록 구성되는 카메라를 포함할 수 있다. 특정한 경우에, 상기 캡처 장치(120)는 움직임 가능하며, 예컨대 상기 3D 공간(110)의 상이한 관측 부분에 대응하는 상이한 프레임을 캡처하도록 이루어질 수 있다. 상기 캡처 장치(120)는 정적 장착과 관련하여 움직임 가능할 수 있으며, 예컨대 3-차원 공간(110)에 대한 상기 카메라의 위치 및/또는 배향을 변경하기 위한 액추에이터를 포함할 수 있다. 또 다른 경우에, 상기 캡처 장치(120)는 인간 사용자에 의해 동작 및 움직이게 되는 핸드헬드 장치일 수 있다.
도 1a에서, 다수의 캡처 장치(120)는 또한 3D 공간(110) 내에서 움직이도록 이루어진 로봇 장치(130)에 연결된 것으로 도시된다. 로봇 장치(135)는 자율 공중 및/또는 지상 모바일 장치를 포함할 수 있다. 본 예(100)에서, 로봇 장치(130)는 상기 장치가 3D 공간(110)을 내비게이트할 수 있게 하는 액추에이터(135)를 포함한다. 상기 액추에이터(135)는 예시에서 휠(wheel)을 포함하며, 다른 경우에서는 상기 액추에이터(135)가 트랙, 굴착 메커니즘, 로터(rotor) 등을 포함할 수 있다. 하나 이상의 캡처 장치(120-A, B)는 이러한 장치상에 고정적으로나 움직임 가능하게 장착될 수 있다. 각각의 캡처 장치(120-A, B)는 상이한 유형의 비디오 데이터를 캡처할 수 있으며 그리고/또는 스테레오 이미지 소스를 포함할 수 있다. 어떤 경우에, 캡처 장치(120-A)는 예컨대 (LIDR(Light Detection and Ranging) 기술을 포함하는) 적외선, 초음파 및/또는 레이더와 같은 원격 감지 기술을 사용하여 깊이 데이터를 캡처할 수 있으며, 캡처 장치(120-B)는 광도 데이터(photometric data), 예컨대, 컬러 또는 그레이스케일 이미지를 캡처할 수 있다(또는 이의 역도 성립한다.) 어떤 경우에, 캡처 장치(120-A, B) 중 하나 이상의 캡처 장치는 로봇 장치(130)와 독립적으로 움직일 수 있다. 어떤 경우에, 캡처 장치(120-A, B) 중 하나 이상의 캡처 장치는 예컨대 각이 있는 원호로 회전하고 그리고/또는 360도 회전하는 회전 메커니즘 상에 장착될 수 있으며, 그리고/또는 장면의 파노라마를 (예컨대 360도 파노라마에 이르기까지) 캡처하는 적응형 광학 기기와 함께 이루어질 수 있다.
도 1b는 캡처 장치(120) 및/또는 로봇 장치(130)에 이용 가능한 자유도의 일 예(140)를 보여준다. 120-A와 같은 캡처 장치의 경우에는, 상기 장치(150)의 방향은 렌즈 또는 다른 이미징 장치의 축과 동일 선상에 있을 수 있다. 3개의 축 중 하나를 중심으로 한 회전의 일 예로서, 법선 축(155)이 도면에 도시되어 있다. 마찬가지로, 로봇 장치(130)의 경우에, 모바일 장치(145)의 정렬 방향이 정의될 수 있다. 이는 상기 모바일 장치의 외장(facing) 및/또는 주행 방향을 나타낼 수 있다. 법선 축(155)이 또한 도시되어 있다. 비록 단지 하나의 법선 축이 상기 캡처 장치(120) 또는 로봇 장치(130)에 관해 도시되어 있지만, 이들 장치(120)는 위에서 설명한 바와 같이 개략적으로 도시된 축 중 임의의 하나 이상의 축 주위를 회전할 수 있다.
더 일반적으로, 캡처 장치의 배향 및 위치는 6개의 자유도에 관해 3-차원으로 정의될 수 있는데, 위치는 예컨대 [x, y, z] 좌표에 의해 등 3-차원 각각 내에서 정의될 수 있고, 배향은 3개의 축, 예컨대 [θX, θY, θZ ]에 대한 회전을 나타내는 각 벡터에 의해 정의될 수 있다. 특정 구현 예에서, 캡처 장치는 이들 6개의 자유도의 제한된 세트에 관해 정의될 수 있으며, 예컨대 지상 차량 상의 캡처 장치에 대해, z-차원은 일정할 수 있다. 로봇 장치(130)의 구현 예와 같은 특정 구현 예에서, 다른 한 장치에 연결된 캡처 장치의 배향 및 위치는 다른 장치의 배향 및 위치에 관해 정의될 수 있다, 여기에서 설명한 예에서, 캡처 장치의 배향 및 위치는 캡처 장치의 포즈로서 정의될 수 있다. 캡처 장치의 포즈는 시간 경과에 따라 다를 수 있고, 그럼으로써 캡처 장치가 시간 t에서의 포즈와는 시간 t + 1에서의 다른 포즈를 지닐 수 있게 된다. 캡처 장치를 포함하는 핸드헬드 모바일 컴퓨팅 장치의 경우에, 상기 포즈는 상기 핸드헬드 장치가 3D 공간(110) 내 사용자에 의해 움직이게 됨에 따라 달라질 수 있다.
도 1c는 캡처 장치 구성의 일 예를 개략적으로 보여준다. 도 1c의 예(160)에서, 캡처 장치(165)는 비디오 데이터(170)를 생성하도록 구성된다. 비디오 데이터는 시간에 따라 변하는 이미지 데이터를 포함한다. 캡처 장치(165)가 디지털 카메라인 경우, 이는 직접 수행될 수 있으며, 예컨대, 비디오 데이터(170)는 전하 결합 소자 또는 CMOS(complementary metal-oxide-semiconductor) 센서로부터의 처리 데이터를 포함할 수 있다. 간접적으로, 예컨대 아날로그 신호 소스의 변환과 같은 다른 이미지 소스의 처리를 통해 비디오 데이터(170)를 생성하는 것이 가능하다.
도 1c에서, 상기 이미지 데이터(170)는 복수의 프레임(175)을 포함한다 각각의 프레임(175)은 도 1의 110과 같은 3D 공간의 이미지가 캡쳐되는(즉, Ft) 시간주기의 특정 시간 t와 관련될 수 있다. 프레임(175)은 일반적으로 측정 데이터의 2D 표현으로 이루어진다. 예를 들어, 프레임(175)은 시간 t에서의 기록된 픽셀 값의 2D 어레이 또는 매트릭스를 포함할 수 있다. 도 1c의 예에서, 비디오 데이터 내의 모든 프레임(175)은 동일한 크리이지만, 이는 모든 예에서 그럴 필요는 없다. 프레임(175) 내 픽셀 값은 3D 공간의 특정 부분의 측정치를 나타낸다. 도 1c의 예에서, 각 프레임(175)은 2개의 상이한 형태의 이미지 데이터에 대한 값을 포함한다. 제1 세트의 값은 깊이 데이터(80)(예컨대, Dt)와 관련된다. 깊이 데이터는 캡처 장치로부터의 거리의 표시를 포함할 수 있는데, 예컨대, 각각의 픽셀 또는 이미지 요소 값은 캡처 장치(165)로부터의 3D 공간의 일부의 거리를 나타낼 수 있다. 제2 세트의 값은 광도 데이터(185)(예컨대, 컬러 데이터 Ct)에 관련된다. 이들 값은 주어진 해상도에 대한 적색, 녹색, 청색 픽셀 값을 포함할 수 있다. 다른 예에서, 다른 컬러 공간이 사용될 수 있고 그리고/또는 광도 데이터(185) 는 모노 또는 그레이스케일 픽셀 값들을 포함할 수 있다. 어떤 경우에, 비디오 데이터(170)는 압축된 비디오 스트림 또는 파일을 포함할 수 있다. 이 경우에, 비디오 데이터의 프레임은 예컨대 비디오 디코더의 출력으로서 스트림 또는 파일로부터 재구축될 수 있다. 비디오 데이터는 비디오 스트림 또는 파일의 사전-처리 다음에 메모리 위치로부터 검색될 수 있다.
도 1c의 캡처 장치(165)는 RGB 데이터(185) 및 깊이("D") 데이터(180) 양자 모두를 캡쳐하도록 이루어진 소위 RGB-D 카메라를 포함할 수 있다. 어떤 경우에, RGB-D 카메라는 시간 경과에 따라 비디오 데이터를 캡쳐하도록 이루어진다. 깊이 데이터(180) 및 RGB 데이터 중 하나 이상의 깊이 데이터(180) 및 RGB 데이터는 임의의 시간에 사용될 수 있다. 특정한 경우에, RGB-D 데이터는 4개 이상의 채널과 단일 프레임으로 결합될 수 있다. 깊이 데이터(180)는 적외선 레이저 프로젝터가 3-차원 공간의 관측 부분에 걸쳐 적외선 광의 패턴을 투영 하는 구조화된 광 수법과 같은 당 업계에 공지된 하나 이상의 기법에 의해 생성될 수 있으며, 그리고 나서 단색 CMOS 이미지 센서에 의해 이미징된다. 이러한 카메라의 예로는 미국, 워싱턴, 레드몬드 소재의 Microsoft Corporation에 의해 제조된 Kinect® 카메라 레인지, 대만, 타이페이 소재의 ASUSTeK Computer Inc.에 의해 제조된 Xtion® 카메라 레인지 및 미국 캘리포니아 쿠페르티노 소재의 Apple Inc.의 자회사인 PrimeSense에 의해 제조된 Carmine® 카메라 레인지가 있다. 특정한 예에서, RGB-D 카메라는 태블릿, 랩톱 또는 모바일 전화와 같은 모바일 컴퓨팅 장치에 통합될 수 있다. 다른 예에서, RGB-D 카메라는 고정 컴퓨팅 장치의 주변 장치로 사용될 수도 있고 전용 처리 기능을 갖춘 독립 실행형 장치에 내장될 수 있다. 어떤 경우에, 캡처 장치(165)는 비디오 데이터(170)를 결합 데이터 저장 장치에 저장하도록 이루어질 수 있다. 다른 경우에, 캡처 장치(165)는 비디오 데이터(170)를 예컨대 프레임 단위로 데이터 스트림으로서 결합형 컴퓨팅 장치에 전송할 수 있다. 결합형 컴퓨팅 장치는 예컨대 USB(universal serial bus) 접속을 통해 직접 연결될 수도 있고 간접적으로 연결될 수도 있는데, 예컨대 상기 비디오 데이터(170)는 하나 이상의 컴퓨터 네트워크를 통해 전송될 수 있다. 또 다른 경우에, 상기 캡처 장치(165)는 네트워크 부착 저장 장치에 저장하기 위해 하나 이상의 컴퓨터 네트워크를 통해 상기 비디오 데이터(170)를 전송하도록 구성될 수 있다. 비디오 데이터(170)는 프레임 단위 또는 배치 단위로 저장 및/또는 전송될 수 있으며, 예컨대 복수의 프레임이 함께 번들링될 수 있다. 깊이 데이터(180)는 광도 데이터(185)와 동일한 해상도 또는 프레임 레이트에 있을 필요는 없다. 예를 들어, 깊이 데이터(180)는 광도 데이터(185) 보다 낮은 해상도로 측정될 수 있다. 하나 이상의 사전-처리 동작은 또한 비디오 데이터(170)가 차후에 설명되는 예에서 사용되기 전에 비디오 데이터(170)에 대해 수행될 수 있다. 어떤 경우에, 2개의 프레임 세트가 공통 크기 및 해상도를 갖도록 사전-처리가 적용될 수 있다. 특정한 경우에, 별도의 캡처 장치는 각각 깊이와 광도 데이터를 생성 할 수 있다. 여기에서 설명되지 않은 다른 구성도 가능하다.
특정한 경우에, 상기 캡처 장치는 깊이 데이터를 생성하기 위해 사전-처리를 수행하도록 이루어질 수 있다. 예를 들어, 하드웨어 감지 장치는 불일치 데이터 또는 복수의 스테레오 이미지의 형태로 이루어진 데이터를 생성할 수 있으며, 소프트웨어 및 하드웨어 중 하나 이상의 소프트웨어 및 하드웨어는 이러한 데이터를 처리하여 깊이 정보를 계산하는데 사용된다. 마찬가지로, 깊이 데이터는 깊이 정보를 재구축하는데 사용될 수 있는 위상 이미지를 출력하는 비행 시간 카메라로부터 대안으로 발생할 수 있다. 이 때문에, 임의의 적합한 기법이 이미지 데이터(220)의 일부를 형성하는 깊이 데이터를 생성하는데 사용될 수 있다.
도 1c는 일 예로서 제공되며 알 수 있는 바와 같이 도면에 도시된 것과는 다른 구성이 이하에서 설명되는 방법 및 시스템에서 사용하기 위해 비디오 데이터(170)를 생성하는데 사용될 수 있다. 비디오 데이터(170)는 캡처 장치로 3D 공간 의 캡처 또는 기록된 뷰를 나타내는 2-차원 형태로 이루어진 임의의 측정된 감지 입력을 더 포함할 수 있다. 예를 들어, 이는 깊이 데이터 또는 광도 데이터, 전자기 이미징, 초음파 이미징 및 레이더 출력 중 단지 하나만을 포함할 수 있다. 이 경우에, 특정 형태의 데이터와 관련이 있는 이미징 장치, 예컨대 깊이 데이터가없는 RGB 장치만 필요할 수 있다. 위의 예에서, 깊이 데이터의 프레임(Dt)는 깊이 값의 2-차원 매트릭스를 포함할 수 있다. 이는 그레이스케일 이미지로서 표현될 수 있는데, 예컨대 xR1 x yR1 의 해상도를 갖는 프레임의 각각의 [x,y] 픽셀 값은 3-차원 공간 표면의 캡처 장치로부터의 거리를 나타내는 깊이 값 d 를 포함한다. 광도 데이터의 프레임 Ct는 컬러 이미지를 포함할 수 있으며, xR2 x yR2 의 해상도를 갖는 프레임의 각각의 [x,y] 픽셀 값은 RGB 벡터 [R, G, B] 를 포함한다. 일 예로서, 양자 모두의 세트의 데이터의 해상도는 640 x 480 픽셀일 수 있다.
3D 공간 또는 장면의 관측을 나타내는 비디오 데이터를 감안할 때, 도 2는 일 예(200)에 따라 이러한 비디오 데이터의 객체를 검출하기 위한 장치(210)를 보여준다. 상기 장치(210)는 이미지-분류기 인터페이스(220) 및 대응 인터페이스(230)를 포함한다. 양자 모두의 인터페이스(220, 230)는 의미론적 증강기(240)에 통신 가능하게 연결된다.
상기 이미지-분류기 인터페이스(220)는 비디오 데이터의 개별 프레임에 대한 2D 객체-라벨 확률 분포(250)를 수신하도록 구성된다. 예를 들어, 비디오 데이터의 주어진 프레임에 대해, 상기 이미지 분류기 인터페이스(220)는 대응하는 한 세트의 하나 이상의 이미지를 수신하도록 구성될 수 있으며, 상기 이미지의 픽셀 값은 객체-라벨 확률 값을 나타낸다. 이러한 문맥에서의 객체 또는 클래스 라벨은 특정 엔티티를 식별하는 주어진 라벨, 태그 또는 스트링을 포함한다. 객체 또는 클래스 라벨은 '의자' 또는 '바닥', '의자' 또는 '바닥'을 정의하는 데이너에 대한 URI(uniform resource identifier)과 같은 데이터에 대한 식별자(예컨대, '12345')와 같은 인간-판독가능 스트링을 포함할 수 있다. 4개의 객체 라벨, 즉 [ '', '바닥','','가구'] 를 지니는 간단한 시스템에서, 한 세트의 4개의 이미지는 상기 이미지-분류기 인터페이스(220)에 의해 수신될 수 있으며, 여기서, 각각의 이미지에 대한 픽셀 값은 대응하는 객체 라벨에 대한 확률 값을 나타내고; 예컨대, '바닥'에 대한 이미지는 0 내지 1 범위로 매핑 가능한 픽셀 값을 지닐 수 있으며, 여기서, 각각의 값은 비디오 데이터의 주어진 프레임의 대응 픽셀이 룸의 바닥의 곽측인 확률을 나타낸다. 다른 경우에, 하나의 이미지가 수신될 수 있으며 여기서 각각의 픽셀은 다수의 관련 확률 값을 지니고 (예컨대, 관련 어레이를 지니고), 상기 세트의 확률 값 (예컨대, 상기 어레이의 길이)은 상기 세트의 이용 가능한 객체 라벨을 나타낸다. 다른 예에서, 상기 이미지 분류기 인터페이스(220)에서 수신된 데이터는 픽셀들, 예컨대 여러 세트의 픽셀 또는 간단한 경우에 각각의 이용 가능한 객체 라벨에 대한 단일 확률 값과 상이한 비디오 데이터의 주어진 프레임의 영역과 관련이 있을 수 있다.
상기 대응 인터페이스(230)는 비디오 프레임의 주어진 프레임에 대해 주어진 프레임 내 공간 요소 및 3D 표면 요소('서펠(surfel)') 표현(270)의 표면 요소 간의 대응을 나타내는 데이터(260)를 수신하도록 구성된다. 예를 들어, 어떤 경우에, 데이터(260)는 서펠 표현(270)에 대응이 존재하는 경우 이미지 내 픽셀이 특정한 서펠을 나타내는 이미지를 포함할 수 있다. 다른 경우에, 대응 인터페이스(230)는 비디오 데이터의 프레임의 주어진 공간 요소, 예컨대 픽셀 또는 한 세트의 픽셀의 형태를 이루는 공간 요소와 관련이 있는 서펠을 획득하도록 하는 요구를 송신하도록 구성될 수 있다. 이 경우에, 데이터(260)는 상기 서펠 표현(270)의 특정한 서펠에 대한 식별자 또는 링크를 포함하는 응답을 포함할 수 있다. 도 2에서, 주어진 프레임에 대한 공간 요소와 서펠 간의 대응은 상기 프레임에 대한 추정 카메라 포즈의 투영에 기초하여 결정된다. 특정한 경우에, 어떠한 서펠도, 예컨대 상기 표현에서 상기 대응 공간이 비어 있거나 어떠한 서펠도 존재하지 않고 빈 경우 공간 요소와 관련이 없을 수 있다.
도 2의 의미론적 증강기(240)는 비디오 데이터의 주어진 프레임에 대해, 상기 대응 인터페이스(230)로부터의 데이터(260) 및 상기 이미지 분류기 인터페이스로부터의 객체-라벨 확률 분포(250)를 사용하여 상기 3D 서펠 표현의 개별 서펠에 할당된 객체-라벨 확률 값(280)을 업데이트하도록 구성된다. 특히, 상기 의미론적 증강기(240)는 비디오 데이터의 주어진 프레임에 대해 상기 대응 인터페이스(230)에 의해 수신된 데이터(260)를 사용하여 상기 이미지 분류기 인터페이스(220)에 의해 수신된 2-차원 객체-라벨 확률 분포(250)를 대응 서펠에 할당된 객체-라벨 확률 값(280)에 적응하도록 구성된다.
예를 들어, 일 구현 예에서, 상기 2D 객체-라벨 확률 분포(250) 및 상기 대응 데이터(260)는 동등한 크기의 2D 어레이(X x Y 픽셀의 이미지, 이 경우 X x Y는 VGA(Video Graphics Array), SVGA (Super-VGA) 또는 그 이상과 같은 일반 해상도일 수 있음)를 포함할 수 있다. 상기 어레이는 동일 크기로 구성될 수도 있고 적절한 크기조절 또는 매핑될 수도 있다. 이러한 예에 대해 전자를 가정하면, 각각의 객체 라벨에 대해, 객체-라벨 확률 분포들(250) 내 대응 이미지가 먼저 선택된다. 그리고 나서, 각각의 픽셀에 대해, 대응 서펠은 데이터(260)를 사용하여 검색된다. 예를 들어, 데이터(260)의 픽셀 [128, 56] 은 특정한 3D 위치(예컨대, [34, 135, 99])에서 또는 특정한 식별자(예컨대, 'SF1234')로 서펠을 식별할 수 있다. 그리고 나서, 현재 RORPC 라벨에 대한 기존 확률 값은 상기 식별된 서펠에 대해 검색된다. 이는 상기 특정한 식별자를 지니는 서펠에 대한 데이터 정의를 찾아내고 상기 데이터 정의를 업데이트하는 것을 포함할 수 있다. 그리고 나서, 상기 기존 확률 값은 상기 주어진 객체 라벨에 대응하는 객체-라벨 확률 분포(250)의 이미지 내 픽셀 128, 56]에서의 현재 확률 값을 사용하여 업데이트될 수 있다. 그리고 나서, 이는 각각의 픽셀에 대해 그리고 각각의 객체-라벨 이미지에 대해 반복된다.
특정한 예에서, 상기 대응 인터페이스(230)는 서펠 표현(270)의 공간 변형 다음에 업데이트된 대응을 제공하도록 구성된다. 이는 변형 그래프를 사용한 고정적이지 않은 공간 변형일 수 있으며, 이 경우에 상기 서펠 표현의 서펠은 상기 그래프의 모드를 형성한다. 상기 공간 변형은 상기 비디오 데이터 내 루프 클로저를 수행한다. 예를 들어, 이는 장면이나 공간의 특정 부분을 "다시 관측"하는 캡처 장치, 예컨대 서펠 표현에서 재차 또는 상이한 각도로 모델링된 객체를 뷰잉(viewing)과 관련될 수 있다. 본 실시 예에서, 의미론적 증강기(240)는 상기 업데이트된 대응을 사용하여 사전에 제2 서펠에 대응하는 공간 요소에 대한 객체-라벨 확률 값을 사용해 제1 서펠에 대한 객체-라벨 확률 값을 업데이트한다. 다시 말하면, 루프 클로저 이벤트 후에 공간 변형은 상기 서펠의 3D 위치를 수정하는 것인데 이것이 의미하는 것은 상기 캡처 장치의 움직임 없는 차후 프레임에 대한 업데이트 동작에서, 대응 데이터(260)가 다르고 이 때문에 상이한 세트들의 서펠 확률 값은 움직임이 없으므로 동일하게 되는 객체-라벨 확률 분포(250)에 불구하고 업데이트된다는 것이다. 실제로, 객체 라벨 확률 값은 표현 변형 동안 서펠을 "따르게"된다. 이것이 의미하는 것은 서로 다른 시간 또는 각도에서 보이는 공통 객체와 관련이 있는 예측이 정확하고 일관 되게 결합 된다는 것이다. 이는 또한 물체 검출 정확도를 개선한다. 이는 서펠 표현이나 확률 값의 번거로운 처리 없이 발생하므로 빠른 실시간 동작을 허용한다.
도 3a는 위에서 설명한 서펠 표현을 제공하는데 사용될 수 있는 데이터 구조(310)의 개략도를 보여준다. 상기 데이터 구조(310)는 단지 예를 들어 도시된 것이며 제한하는 것으로 보지 않아야 하는데, 그 이유는 데이터를 저장하는 다른 수법 및 포맷이 상기 구현 예에 따라 사용될 수 있기 때문이다. 이 경우에, 서펠 모델은 복수의 서펠(다시 말하면, SURFace ELelment; surfel)에 대한 데이터 정의를 포함하며, 여기서 각각의 서펠은 3D 공간에서의 2D 영역(즉, 표면)을 나타낸다. 특정한 경우에, 서펠 표현은 서펠 데이터 정의의 정렬되지 않은 리스트를 포함할 수 있다. 이 경우에, 각각의 서펠은 적어도 3-차원에서의 서펠 위치(다시 말하면, 위치 요소 또는 성분)를 정의하는 데이터 및 3-차원에서의 표면 요소에 대한 법선 벡터(다시 말하면, 상기 요소와 관련이 있는 표면에 대한 "외장(facing)" 방향)를 정의하는 데이터를 포함한다. 이는 도 3b 에 개략적으로 도시되어 있다. "서펠"의 한 가지 설명은「proceedings of the 27th annual conference on computer graphics and interactive techniques, ACM Press/Addison-Wesley Publishing Co., in July 2000」에서 공개한 바와 같은 Pfister, Hanspeter, 등의 논문 "Surfels: Surface elements as rendering primitives"에서 찾아 볼 수 있다.
도 3b는 표면 요소 또는 "서펠"(320)의 개략도를 보여준다. 상기 서펠(320)은 3-차원에서의 표면 s 를 포함한다. 상기 서펠은 3-차원에서 위치 p 를 지닌다. 도 3a에서, 이러한 위치는 3-차원 좌표, 예컨대 x, y 및 z 좌표를 정의하는 데이터 "위치: p x , p y , p z " 를 사용하여 정의된다. 다른 예에서, 다른 좌표계가 사용될 수 있다. 도 3b에서 서펠은 또한 3-차원 내에서 정의되는 법선 벡터 n 을 지닌다. 도 3a에서, 이러한 위치는 3-차원 벡터, 예컨대 데이터 "법선: nx, ny, nz"를 사용하여 정의된다. 방향은 벡터 정의 내 부호 값을 사용하여 표시될 수 있다.
도 3a의 예(310)는 또한 각각의 서펠에 할당된 객체-라벨 확률 값을 보여준다. 본 예에서, 0n이 n번째 객체에 대한 객체 라벨을 나타내는 경우 확률("확률: {P O1 , P O2 , ..., P On }"은 서펠 정의와 함께 저장된다. 다른 경우에, 확률은 서펠 식별자 또는 외래 키를 통해 서펠과 관련이 있는 별도의 룩-업(look-up)테이블 또는 데이터베이스 레코드에 저장될 수 있다. 위 4개의 객체 라벨(['', '바닥', ' ', '가구'])이 있는 단순한 경우에, 이들 확률 값은 서펠이 유사하게 룸의 가구와 관련이 있음을 나타내는 [0.1, 0.2, 0.2, 0.5] 일 수 있다.
도 3a의 예(310)는 또한 특정한 예에서 서펠을 설명하기 위해 사용될 수 있는 추가 데이터를 지닌다. 이 경우에, 상기 서펠의 표면은 3D 공간에서 원 또는 디스크이다. 이 때문에, 도 3a 및 도 3b의 표면은 데이터 "반경: r"로서 제시된 바와 같이 반경 r 에 의해 정의된다. 각각의 서펠의 반경은 가시적인 홀(hole)을 최소화하면서 주어진 포인트 주변의 국부 표면을 나타내도록 의도된 것이다. 다른 예에서, 상이한 데이터가 예컨대 3-차원 내 표면의 범위를 나타내는 상이한 형상 정의 및/또는 변수를 사용하여 정의하는데 사용될 수 있다. 도 3a는 이러한 예에서 서펠 정의가 또한, 표면의 컬러("컬러: R, G, B" - 이 경우에는 RGB 컬러 공간이 사용되지만 임의의 알려진 컬러 공간 가능함.); 서펠에 대한 가중치("Weight: w"; - 이는 새로운 측정치를 서펠과 융합할 때 사용되는 실수(real number)일 수 있음); 서펠이 처음 생성된 시간을 나타내는 초기화 시간("Init _Time: t0"); 및 서펠이 마지막으로 업데이트되거나 수정된 시간을 나타내는 최종 수정 시간("Last_Modified: t")을 정의하는 데이터를 포함한다. 여기서 이해해야 할 점은 서펠의 속성을 정의하는 데이터가 상기 구현 예에 따라 추가, 수정 또는 생략될 수 있다는 점이다. 도 3a에 도시된 바와 같이, 다수의 서펠은 리스트에 (예컨대, 본 예에서 "{...}" 사이에서)정의될 수 있다.
도 4는 도 2에 도시된 장치(210)를 사용할 수 있는 비디오 처리 시스템의 일 예를 보여준다. 도 4에서, 엔티티(410 내지 480)는 도 2를 참조하여 설명한 엔티티(210 내지 280)에 대응한다. 도 4는 또한 비디오 획득 인터페이스(405)를 보여준다. 비디오 획득 인터페이스(405)는 캡처 장치로부터 비디오 데이터(415)의 프레임을 획득하도록 구성된다. 이는 도 1c의 캡처 장치(165)와 같은 캡처 장치에 의해 능동적으로 또는 사전에 생성된 비디오 데이터일 수 있다. 비디오 데이터(415)의 프레임은 시간 경과에 따라 상기 캡처 장치와 3D 공간 또는 장면 사이에서 이루어진 상대적인 움직임을 특징으로 한다.
도 4의 비디오 획득 인터페이스(405)는 이미지 분류기(455) 및 SLAM(Simultaneous Location And Mapping) 시스템(465)에 통신 가능하게 연결된다. 이미지 분류기(455) 및 SLAM 시스템(465)은 비디오 데이터의 프레임(415)을 수신하도록 구성된다. 특정한 경우에, 이미지 분류기(455) 및 SLAM 시스템(465)은 비디오 데이터의 동일한 프레임을 수신할 수 있다. 다른 경우에, 이미지 분류기(455)는 SLAM 시스템(465)에 의해 수신되는 한 서브세트의 비디오 데이터의 프레임을 수신할 수 있다. 이 경우에, SLAM 시스템(465)은 프레임(460)과 융합된 서펠(470)의 전체적으로 일관된 맵 간의 대응을 제공한다. 의미론적 증강기(440)는, 상기 이미지 분류기 인터페이스(420)로부터 수신된 확률(450)을 기존의 서펠 확률과 융합하여 3D 표현(470)의 각각의 서펠에 대한 한 세트의 객체 또는 클래스 확률(480)을 생성한다는 점에서 도 2를 참조하여 설명한 바와 같이 동작한다. 이 경우에, 적합한 서펠은 대응 인터페이스(430)를 통해 수신된 대응 데이터(460)에 따라 선택된다.
이미지 분류기(455)는 상기 비디오 획득 인터페이스(405)로부터 획득된 비디오 데이터의 프레임(415)에 대한 객체-라벨 확률 분포(450)를 계산하기 위해 이미지-분류기 인터페이스(420)에 통신 가능하게 연결된 2-차원 이미지 분류기를 포함한다. 특정한 경우에, 비디오 데이터의 프레임(415)은 이미지 분류기(455)의 기본 해상도로 재조정될 수 있다. 예를 들어, 비디오 데이터의 프레임(415)은 RGB 픽셀 값에 대해 바이리니어 보간(bilinear interpolation)을 사용하여 224 x 224 해상도로 재조정될 수 있다. 특정한 경우에, 이미지 분류기(455)의 출력은 또한, 대응 데이터(460)의 해상도와 매치(match)하도록 재조정될 수 있다. 예를 들어, 이미지 분류기(455)의 출력은 최근린 업스케이링(nearest neighbour upscaling) 방법을 상요하여 640 x 480 이미지 해상도로 재조정될 수 있다.
이미지 분류기(455)는 다양한 기계 학습 방법들 중 적어도 하나를 구현할 수 있다. 이는 다른 것 중에서 SVM(support vector machine), 베이지안(Bayesian) 네트워크, 랜덤 포레스트(Random Forest), 최근린 클러스터링 및/또는 신경 네트워크를 사용할 수 있다. 특정한 예에서, 이미지 분류기(455)는 CNN(convolutional neural network)을 포함할 수 있다. CNN은 때로는 "심층 학습" 수법으로서 약식으로 언급되는 다중 콘벌루션 계층(예컨대, 일 예에서 16개)을 지닐 수 있다. 어떤 경우에, 상기 CNN은 비디오 데이터의 각각의 프레임에 대해 한 세트의 픽셀 맵(예컨대, 이미지)로서 객체-라벨 확률 값을 출력하도록 구성된다. 이는 상기 CNN의 출력에 디컨벌루션 신경 네트워크(deconvolutional neural network)를 통신 가능하게 연결함으로써 이루어질 수 있다. 디컨벌루션 계층을 특징으로 하는 한 대표적인 CNN의 추가적인 세부는 "Learning deconvolution network for semantic segmentation"에 관한 H. Noh, S. Hong, B. Han에 의한 논문(arXiv preprint arXiv:1505.04366 - 2015 참조)에서 찾아 볼 수 있다. 따라서, 이미지 분류기(455)는 적절한 트레이닝 후에 밀집 픽셀별 의미론적 확률 맵을 출력하도록 구성될 수 있다. CNN 이미지 분류기(455)에 대한 대표적인 테스트 동작 매개변수는 0.01의 학습율, 0.9의 운동량 및 5 x 10- 4 의 가중치 감쇠(weight decay)를 포함한다. 이 경우에, 10,000번 반복 후 학습율이 1 × 10-3으로 감소되었고, 트레이닝은 20,000번 반복이 이루어졌다. 이러한 테스트의 예에서, 원래 CNN 가중치가 일반 이미지 분류 태스크와 관련이 있는 한 데이터세트의 이미지에 대해 먼저 사전-트레이닝되었다. 그리고 나서, 가중치가 현재 3D 의미론적 라벨링과 관련이 있는 장면 분할 태스크에 대해 미세 조정되었다. 하나 이상의 그래픽 처리 유닛은 이미지 분류기(455)를 트레이닝 및/또는 구현하는데 사용될 수 있다.
어떤 경우에, 이미지 분류기(455)는 도 1c의 광도 데이터(185)와 같은 연속 광도(예컨대, RGB) 이미지의 형태로 비디오 데이터의 프레임(415)을 수신한다. 특정한 예에서, 이미지 분류기(455)는 깊이 데이터와 마찬가지로, 그 대신에 광도 데이터, 예컨대 도 1c의 180과 같은 깊이 이미지를 수신하도록 이루어진다. 이 때문에, 이미지 분류기(455)는 RGB-D 데이터 각각에 대응하는 4개의 입력 채널을 포함할 수 있다. 어떤 경우에, 이미지 분류기(455)의 깊이 채널은 3개의 광도 채널의 평균 강도로 초기화된다. 이 경우에, 0-255 값의 컬러 범위는 이미지 분류기(455)에 의해 사용되는 가중치를 (예컨대, 약 32배 만큼) 증가시킴으로써 0-8m 깊이 범위로 변환 될 수 있다. 다른 경우에, RGB-D 데이터 중 어느 하나와 마찬가지로, 또는 그 대신에, 이미지 분류기(455)는 서펠 법선 값을 입력 데이터로서 사용하도록 이루어질 수 있다. 예를 들어, 입력 이미지는 캡쳐 장치에 대한 현재 추정 포즈를 사용하여 2D 이미지 평면상에 3D 서펠 표현의 투영을 포함할 수 있으며, 이미지의 각각의 픽셀 값은 투영된 서펠의 법선 값을 포함한다. 이 경우에, 대응 데이터(460)는 법선 데이터를 포함할 수 있고, 이미지 분류기(455)에 대한 입력으로서 구성될 수 있다.
이미지 분류기(455)는 하나 이상의 라벨링된 데이터세트, 즉 객체 라벨이 사전 할당된 비디오 데이터의 프레임을 사용하여 트레이닝될 수 있다. 예를 들어, 그러한 데이터세트 중 하나는 ECCV 2012에 공개된 N. Silberman 등에 의한「Indoor Segmentation and Support Inference from RGBD Images」에 논의된 바와 같은 NYU 깊이 데이터세트 V2를 포함한다. 객체 또는 클래스 라벨의 수는 애플리케이션에 의존할 수 있다. 하나의 테스트 케이스에는 13개의 클래스 라벨이 있었다.
CNN이 사용되는 경우에, 네트워크는 학습된 이미지 필터 또는 커널의 계층을 포함할 수 있다. 최하위 계층에서 이러한 필터는 간단한 에지 및 블롭(blob) 검출기(예컨대, 3 x 3 매트릭스)에 해당할 수 있으며, 이는 입력 이미지의 작은 패치와 컨벌루션될 때 이미지 패치가 배향에 관한 '매칭(matching)' 에지, 또는 컬러의 매칭 블롭을 포함하는 경우 큰 활성화를 초래한다. 이 경우에, 컨벌루션은 요소별 곱셈 및 덧셈을 의미한다. 특정한 경우에, 컨벌루션 동작은 상호 상관 계산을 사용하여 근사화될 수 있다. 컨벌루션 다음에, 활성화는 비선형 활성화 함수에 입력된다. 일 예에서, ReLU(Rectified Linear Unit)가 사용된다(예컨대, 출력 = max (입력, 0)). 이 다음에는, 필터의 추가 계층이 복잡한 모양 또는 질감을 구축하도록 에지의 조합과 같은 추상화의 상위 레벨로 각각의 후속 층을 구축하면서 적용된다. 'max pooling'으로서 알려진 절차는 또한 작은 지역 내에서만 최고 활성화가 선택되고 다음 계층으로 전달되는 경우에 적용될 수 있다. 이러한 CNN 처리는 다운샘플링된 이미지이다. 그리고 나서, 풀링 활성화(pooled activation)의 위치는 저장될 수 있다. 추가 컨벌루션 동작 후에, 유사한 프로세스가 '반대로(in reverse)' 수행될 수있고 '언풀링(unpooled)' 활성화는 원래 저장된 위치로 설정되고 디컨벌루션 필터는 업스케일링된 다중채널 특징 맵으로 활성화를 다시 페인팅(painting)한다. 마지막으로, 원래 이미지를 이루는 각각의 픽셀의 각각의 클래스에 대한 한 세트의 스코어가 원래의 입려 이미지와 같은 스케일로 계산된다. 이러한 스코어는 각각의 픽셀에 대한 클래스에 걸쳐 'softmax' 함수를 적용함으로써 확률 맵으로 변환된다. 이러한 전반적인 신경 네트워크는 모든 픽셀에 걸쳐 올바른 클래스의 총체적인 음(-)의 로그 확률을 최소화하도록 대형 세트의 트레이닝 이미지에 대해 종단 간에 트레이닝될 수 있다.
도 4를 참조하면, SLAM 시스템(465)은 국제 특허출원 PCT/GB2016/051423에 기재된 바와 같은 SLAM 시스템을 포함할 수 있다. SLAM 시스템(465)은 비디오 데이터의 프레임(415)에 기초하여 서펠 표현(470)을 생성하도록 구성된다. SLAM 시스템(465)은 비디오 데이터의 프레임(415) 내 관측 루프 클로저를 위해 서펠 표현(470)에 공간 변형을 적용하도록 구성될 수 있다. 이러한 공간 변형은 서펠 표현에서 적어도 하나의 서펠에 대해 새로운 3-차원 위치를 초래한다. 위에서 설명한 바와 같이 그리고 이하 상세히 설명되겠지만, 고정적이지 않은 공간 변형은 변형 그래프를 사용하여 적용될 수 있다. 이 경우에, SLAM 시스템(465)은 전체적으로 일관된 서펠 표현을 구축하기 위한 포즈 그래프를 요구하지 않는다. 이러한 SLAM 시스템(465)은 생성된 서펠 표현(470)이 통상적인 상호작용적 사용 중에 빈번하게 발생하는 하나 이상의 작고 큰 루프 클로저 후에 일관성을 유지하도록 자동 변형되기 때문에 의미론적 증강기(440)와 함께 사용하기에 특히 적합하다. 표면 표현이 변형되고 동작 중에 보정됨에 따라 개별 서펠은 실제 엔티티와 지속적으로 관련되어 있고 이는 광범위한 뷰포인트 변화에 걸친 프레임 단위의 의미론적 예측의 장기간 융합을 가능하게 한다.
도 5는 비디오 데이터의 프레임에 적용될 수 있는 대표적인 프로세스 흐름 또는 파이프라인(500)을 보여준다. 이러한 프로세스 흐름은 관측된 3D 공간의 의미론적으로 라벨링된 3D 표현을 생성하도록 210 또는 410과 같은 객체를 검출하기 위한 장치와 함께 SLAM 시스템(465)과 같은 SLAM 시스템의 구성요소가 어떻게 작동하는지를 보여준다.
도 5의 예에서, 각각의 도달 프레임 Ft에 대해, 카메라와 같은 캡처 장치의 포즈가 추적된다. 이는 ICP(Iterative Closest Point) 및 광도(예컨대, RGB) 정렬의 결합을 사용하여 수행될 수 있다. 이러한 추적은 각각의 프레임에 대해 새로운 포즈 Pt를 생성할 수 있으며, 상기 포즈는 "세계(world)" 프레임 및 "캡처 장치" 프레임을 참조하여 정의된다. 그리고 나서, 새로운 서펠은 상기 포즈를 사용하여 상기 서펠 표현에 추가되며, 기존 서펠 정보는 서펠 정의, 예컨대 위치, 법선, 및 컬러 정보를 다시 정의하도록 새로운 증거와 결합된다. 루프 클로저에 대한 추가 검사가 병렬로 실행되고 상기 서펠 표현이 루프 클로저 검출시 최적화된다.
더 구체적으로는, 도 5에서, SLAM 시스템 및 의미론적 증강기 양자 모두의 구성요소는 비디오 획득 인터페이스(505)에 통신 가능하게 연결된다. 이는 도 4로부터의 비디오 획득 인터페이스(405)를 포함할 수 있다. 상기 도면에서, 비디오 획득 인터페이스(505)는 비디오 데이터의 프레임 Ft를 공급한다(여기서, t 는 시간 인덱스를 포함할 수 있다).
도 5에 도시된 SLAM 시스템 구성요소는 프레임-모델 추적 구성요소(515), 활성 프레임 생성기(520), 모델 융합 구성요소(525), 모델 분할기(535), 비활성 프레임 생성기(550) 및 등록 엔진(560)을 포함한다. 이들 구성요소는 도 3a 및 도 3b에 도시된 바와 같은 형태일 수 있는 3D 서펠 표현(530)을 생성하기 위해 함께 작동하도록 구성된다. 도 5는 또한 이미지 분류기(565), 서펠-픽셀 매퍼(575), 베이지안 업데이트 엔진(585) 및 정규화기(regularizer)(590)를 보여준다. 이 경우에, 베이지안 업데이트 엔진(585)은 객체를 검출하기 위한 장치의 중심부를 형성한다. 객체를 검출하기 위한 장치는 서펠 표현(530)을 의미론적으로 라벨링하여 예컨대 객체-라벨 확률을 도 3a에 도시된 바와 같은 서펠에 할당하도록 이루어진다. 본 예에서, 이들은 서펠 표현(530)과 함께 저장되는 것으로 가정되고, 다른 구현 예에서, 이들은 개별 서펠-링크 데이터 저장소에 저장될 수 있다.
프레임-모델 추적 구성요소(515), 모델 융합 구성요소(525) 및 이미지 분류기(565)는 각각 비디오 획득 인터페이스(505)로부터 비디오 데이터의 프레임 Ft를 수신하도록 이루어진다. 이러한 데이터는 캡처되거나 사전에 기록된 비디오 데이터를 나타내는 시간-인덱싱 데이터 구조로부터 검색될 수 있으며 그리고/또는 상기 데이터가 적어도 하나의 캡처 장치에 의해 현재 제공되는 프레임에 관련되는 각각의 경우에 라이브 비디오 프드의 일부로서 공급될 수 있다. 위에서 설명한 바와 같이, 한 구현 예에서, 이미지 분류기(565)는 비디오 획득 인터페이스(505)로부터 수신된 매 n 프레임 중 하나, 다시 말하면 프레임-모델 추적 구성요소(515) 및 모델 융합 구성요소(525)에 의해 수신된 한 서브세트의 프레임을 수신할 수 있다. 어떤 경우에, 이는 매 2 n 프레임의 하나일 수 있다.
어떤 경우에, 국제 특허출원 PCT/GB2016/051423에 기재된 바와 같이, 분할기(535)는 적어도 하나의 표현 특성에 기초하여 서펠 표현(530)을 적어도 활성 및 비활성 부분으로 세그먼트하도록 구성된다. 적어도 하나의 표현 특성은 주어진 서펠에 대한 생성 시간, 주어진 서펠에 대한 최종 수정 시간, 및 서펠 및 캡처 장치 간의 결정된 거리 중의 하나 이상을 포함할 수 있다. 예를 들어, 서펠이 마지막으로 업데이트되거나 수정된 이후의 시간(예컨대, 데이터 융합을 위해 이와 관련이 있는 원시 이미지 데이터 값을 지닌 이후의 시간)이 사전 정의된 δt보다 클 때 그 서펠이 비활성으로 선언될 수 있다. 서펠 표현(530)의 활성 부분은 비디오 데이터의 새로운 프레임이 수신될 때 상기 표현을 업데이트하는데 사용된다. 예를 들어, 도 5에 도시된 바와 같이, 프레임-모델 추적 구성요소(515)는 활성 모델 프레임 생성기(520)에 통신 가능하게 연결된다. 활성 모델 프레임 생성기(520)는 서펠 표현(530)의 활성 부분(540)으로부터 활성 모델 프레임을 계산하도록 구성된다. 그 다음에, 프레임-모델 추적 구성요소(515)는 활성 모델 프레임 생성기(520)로부터 수신된 활성 모델 프레임을 비디오 획득 인터페이스(505)로부터 수신된 이미지 데이터의 프레임과 비교하도록 구성된다. 모델 융합 구성요소(525)는 이미지 획득 인터페이스(505)로부터 수신된 이미지 데이터의 프레임 및 활성 모델 프레임 생성기(520)로부터의 데이터에 기초하여 서펠 표현(530)을 업데이트하도록 구성된다. 비활성 부분(545)은 활성 모델 프레임 생성기(520) 및 모델 융합 구성요소(535)에 의해 사용되지 않는다. 서펠 표현(530)이 정렬되지 않은 서펠 리스트를 포함하는 경우에, 부분(540, 543)은 상기 정렬되지 않은 리스트의 필터링된 버전을 포함할 수 있다.
활성 모델 프레임 생성기(520)는 서펠 표현의 활성 부분(540)로부터의 투영에 기초하여 활성 모델 프레임을 생성하도록 구성될 수 있다. 도 5에서 시간 t-1 동안 활성 모델 프레임 생성기(520)에 의해 생성된 활성 모델은 시간 t 동안 비디오 데이터의 프레임과 함께 프레임-모델 추적 구성요소(515)에 의해 수신되고, 시간 t 에서 비디오 데이터의 프레임을 생성하는 것으로 간주 되는 캡처 장치에 대해 포즈 추정치 Pt 를 생성하는데 사용된다. 사전에 논의된 바와 같이, 이는 캡처 장치 또는 캡처 장치가 고정적으로 장착되거나 간주 되는 가상 캡처 장치를 나타낼 수 있는 장치의 실제 위치 및 배향을 나타낼 수 있다. 포즈 추정은 도 1b에 도시된 6개의 자유도에 대한 변수값을 포함할 수 있다. 활성 모델 프레임 AMFt-1은 시간 t-1 에서의 깊이 데이터(
Figure pct00001
) 및 광도 데이터(
Figure pct00002
)의 예측 프레임을 포함할 수 있다.
시간 t 에서의 포즈 추정치 Pt 는 프레임-모델 추적 구성요소(515)로부터 활성 모델 프레임 생성기(520)로 전달된다. 활성 모델 프레임 생성기(520)는 시간 t 에서의 포즈 추정치 Pt 를 사용하여 시간 t 에서의 활성 모델 프레임 AMFt 를 결정하도록 구성된다. 이는 포즈 추정치의 변수값을 사용하여 활성 서펠(340)을 통해 투영 형상을 결정하는 것을 포함할 수 있다.
어떤 경우에, 프레임-모델 추적 구성요소(515)는 시간 t- 에서의 깊이 및 컬러 데이터의 예측 프레임
Figure pct00003
Figure pct00004
각각을 시간 t 동안 비디오 데이터의 프레임
Figure pct00005
Figure pct00006
와 비교하도록 구성될 수 있다. 이러한 비교는 각각의 쌍의 프레임 사이의 오차 함수를 최소화하는 움직임 매개변수를 각각의 프레임 쌍(다시 말하면, 깊이 데이터 쌍 및 컬러 데이터 쌍)에 대해 결정하는 것을 포함할 수 있다. 그리고 나서, 추적 오차는 깊이 데이터 오차 및 광도 데이터 오차의 가산으로서 정의될 수 있다. 이러한 가산은 가중치 가산일 수 있다. 어떤 경우에, 광도 데이터 오차는 깊이 데이터 오차에 대한 그의 기여도를 줄이기 위해 가중치 계수에 의해 승산될 수 있다. 이러한 계수는 어떤 경우에 0.1 일 수 있다. 최소 제곱 함수는 자유도에 대한 변수값의 추정치를 생성하는 데 사용될 수 있다. 이러한 추정치는 시간 t-1 에서의 포즈 추정치 P t -1 을 현재 포즈 추정치 Pt 에 매핑하는 변환을 결정하는데 사용될 수 있다. 이러한 현재 포즈 추정치는 비디오 데이터 Ft 를 활성 위치에 부합시키는데 사용될 수 있다. 이는 모델 융합 구성요소(525)에 의해 비디오 데이터의 프레임 Ft 를 활성 부분(540)와 융합시키는데 사용될 수 있다.
활성 모델 프레임 생성기(520)와 마찬가지로, 도 5의 예(500)는 비활성 모델 프레임 생성기(550)를 더 포함한다. 비활성 모델 프레임 생성기(550)는 활성 모델 프레임 생성기(520)와 유사하지만 서펠 표현(530)의 비활성 부분(545)으로부터 비활성 모델 프레임 IMFt 를 생성하도록 구성된다. 예를 들어, 비활성 모델 프레임은 비활성 부분(545)으로부터의 형상 투영에 기초하여 비활성 모델 프레임 생성기(550)에 의해 계산될 수 있다. 어떤 경우에, 활성 모델 프레임 생성기(520) 및 비활성 모델 프레임 생성기(550)는 활성 및 비활성 모델 프레임을 각각 생성하기 위해 차동 입력으로서 모델의 활성 및 비활성 부분을 수신하도록 구성된 공통 프레임 생성기에 의해 구현될 수 있다. 활성 모델 프레임을 참조하여 설명한 바와 같이, 각각의 비활성 모델 프레임은 깊이 데이터의 예측 프레임
Figure pct00007
, 및 광도 데이터의 예측 프레임
Figure pct00008
를 포함할 수 있다.
도 5의 등록 엔진(560)은 시간 경과에 따라 3D 서펠 표현의 활성 부분(540)을 3D 서펠 표현의 비활성 부분(545)에 부합시키도록 구성된다. 도 5에서, 등록 엔진(560)은 활성 모델 프레임 생성기(520)로부터의 활성 모델 프레임 AMFt 및 비활성 모델 프레임 생성기(550)로부터의 비활성 모델 프레임 IMFt 를 수신하도록 이루어진다. 본 예에서, 등록 엔진(560)은 이들 2개의 프레임을 비교하여 활성 모델 프레임을 비활성 모델 프레임에 부합시키는 변환을 결정하도록 구성된다. 도 5의 화살표에 의해 도시된 바와 같이, 이러한 변환은 그 후에 서펠 표현(530)을 업데이트하여 모델의 활성 및 비활성 부분을 부합시키는데 사용될 수 있다. 이러한 변환은 활성 및 비활성 부분 양자 모두에 대해 서펠에 고정적이지 않은 공간 변형을 적용하는 데 사용될 수 있다. 어떤 경우에, 상기 변형이 변형 그래프를 사용하여 적용될 수 있다. 이는 도 7을 참조하여 더 구체적으로 설명된다. 상기 변형 또는 부합은 현재 포즈 추정치 Pt 를 이용할 수 있다. 특정한 경우에, 활성 및 비활성 모델 프레임의 등록은 프레임-모델 구성요소(515)의 프로세스와 유사한 프로세스를 사용할 수 있다. 예를 들어, 사전에 예측된 프레임을 새로 수신된 이미지 데이터의 프레임에 부합시키려고 하기 보다는 오히려, 등록 엔진(560)은 활성 및 비활성 프레임을 부합시키는 변환 Ht 를 결정하도록 구성된다. 부합이 수행되면, 등록 엔진(560)은 모든 가시적인 비활성 서펠, 예컨대 비활성 모델 프레임에서 보이는 것을 활성 상태이도록 설정할 수 있다.
구성요소(515-560)의 동작과 병행하여, 이미지 분류기(565)는 비디오 데이터의 프레임 Ft 를 수신하고, 한 세트의 객체-라벨 확률 분포(570)를 계산하도록 구성된다. 이 경우에, 위에서 설명한 바와 같이, 객체-라벨 확률 분포(570)는 한 세트의 이미지로서 제공되고, 각각의 이미지는 상이한 객체 라벨에 대응하며, 여기서 이미지의 공간 요소 값, 이 경우에 픽셀 값은 상기 라벨을 지니는 객체가 상기 공간 요소에서 보이는 확률을 나타낸다. 도 5에서, 상기 세트의 객체-라벨 확률 분포(570)는 서펠-픽셀 매퍼(575)에 의해 수신된다. 이 예에서, 서펠-픽셀 매퍼(575)는 이미지(570)의 공간 요소(예컨대, 픽셀)와 서펠 표현(530)의 서펠 사이의 대응을 결정하도록 구성된다. 이러한 대응은 추적 포즈 Pt 에 기초하여 이루어지고, 이는 서펠 표현(530)과 함께 저장될 수도 있고 프레임-모델 추적 구성요소(515)에 의해 공급될 수도 있다. 추적 포즈 Pt 를 사용하여, 서펠 표현(530)에서 주어진 3D 위치 W x (s) 에서의 각각의 서펠은 카메라 투영 u(s, t) = ð(CW P tW x (s)) 를 통해 프레임 Ft 와 관련이 있는 픽셀 좌표 u 와 관련이 있을 수 있고, 여기서 CW P t 는 3D 표현의 "세계"("W")에 대한 캡처 장치의 포즈("C")이며, 이는 균일 변환 매트릭스 CW P t = WC P t -1 (여기서 WC P t 는 캡처 장치에 대한 "세계"의 포즈 Pt 임)을 채용하여 그리고 균일 3D 좌표를 사용하여 계산된다. 한 구현 예에서, 이러한 투영의 결과는 대응의 이미지로서 제공될 수 있으며, 이 경우에 각각의 픽셀 값은 서펠 표현(530)으로부터 관련이 있는 식별된 서펠을 지닌다. 그리고 나서, 서펠-픽셀 매퍼(575)은 픽셀 대응에 기초하여 데이터(570)로부터의 입력 확률 값을 서펠과 매핑할 수 있으며, 예컨대 비디오 데이터의 프레임 Ft 로부터의 픽셀 [256, 34]는 상기 투영에 기초하여 서펠 "SF1234"와 관련이 있는 것으로 결정되고, 결과적으로 이미지 분류기(565)로부터의 동일한 픽셀과 관련이 있는 확률 값은 서펠 "SF1234"와 관련이 있다. 간단한 경우에, 픽셀 대응은 1 대 1일 수 있으며, 예컨대 비디오 데이터의 프레임 Ft, 다시 말하면 상기 확률 값(570)을 포함하는 이미지, 및 서펠 대응을 나타내는 이미지 모두는 공통 해상도(예컨대, 640 x 480)로 제공된다. 다른 경우에, 상기 이미지는 알려진 스케일링을 갖는 서로 다른 해상도를 지닐 수 있고, 이 때문에 픽셀 대응은 알려진 스케일링에 기초하여 매핑될 수 있다. 어떤 경우에, 어떠한 선험적 증거도 이용 가능하지 않은 경우에, 새로 생성된 서펠은 이용 가능한 객체 라벨에 대해 균일한 분포로 초기화된다.
도 5에서, 일단 한 세트의 객체-라벨 확률 값(580)이 비디오 데이터의 프레임에서 보이는 것으로 간주 되는 서펠에 할당되면, 이들은 베이지안 업데이트 엔진(585)에 보내진다. 예를 들어, 서프-픽셀 매퍼(575)는 주어진 서펠(에컨대, "SF1234") 및 이에 대응하는 확률 값을 이미지 분류기(565)로부터 식별하는 한 세트의 서펠-확률 페어링을 출력하도록 구성될 수 있다. 베이지안 업데이트 엔진(585)은 데이터(580)에서 식별된 서펠에 대해 기존 객체-라벨 확률 값 SP t-1 을 검색하고 데이터(580)에서 새로운 확률 값을 사용하여 이들 기존의 값을 업데이트하도록 구성된다. 예를 들어, 베이지안 업데이트 엔진(585)은 회귀 베이지안 업데이트를 통해 대응하는 확률 분포를 갖는 서펠 표현(530)으로부터 보이는 세트의 모든 서펠을 업데이트하도록 구성될 수 있다.
베이지안 업데이트는,
Figure pct00009
를 포함할 수 있으며, 여기서 L s 는 서펠 s 에 대한 객체 라벨 객체이고, l i 는 상기 세트의 객체 라벨의 주어진 객체 객체이며,
Figure pct00010
는 이미지 분류기로부터의 확률 값이고, F 는 비디오 데이터의 프레임을 식별하며 그리고 Z 는 적절한 분포를 생성하는 정규화 상수이다. 이러한 업데이트는 서펠당 모든 라벨 확률에 적용될 수 있다.
간단한 구현 예에서, 베이지안 업데이트 엔진(585)은 다음과 같이 구성될 수 있다. 투영 서펠 식별자를 나타내는 이미지의 각각의 픽셀에 대해, 대응하는 서펠에 대한 이전의 한 세트의 확률(SP t-1 )이 먼저 검색된다. 그리고 나서, 이미지 분류기(565)로부터의 대응하는 예측(370)이 로드(load)된다. 이미지 분류기(565)가 투영된 서펠 이미지에 대한 상이한 크기를 출력하는 경우에, 픽셀 위치는 0과 1 사이의 정규화된 실제 값에 높이 및 폭의 측면에서 재매핑될 수 있는데, 여기서 분류기 출력 크기에 의해 승산된 그러한 값의 플로어(floor)는 적절한 세트의 확률을 선택하는데 사용될 수 있다. 각각의 클래스(예컨대, 객체 이름)에 대해, 그러한 클래스에 대한 저장 확률은 그러한 클래스에 대한 새로 예측된 확률에 의해 승산되고, 전체 세트의 클래스에 걸친 이들 승산된 값의 합계가 누적된다. 모든 클래스가 업데이트된 후에는 총계(다시 말하면, 누적 확률)이 (예컨대, 상기 총계에 의해 제산함으로써) 각각의 확률을 정규화하는데 사용된다.
특정한 경우에, 베이지안 업데이트 엔진(585)은 적어도 하나의 그래픽스 처리 유닛(graphics processing unit; GPU)을 사용하여 구현될 수 있다. 이 경우에는, 처리가 병행화될 수 있다. 이 경우, 순서화 스킴이 데이터(580)의 다수의 대응하는 픽셀을 갖는 서펠에 대해 적용될 수 있다.
베이지안 업데이트 엔진(585)에 의해 적용된 업데이트는 서펠-픽셀 매퍼(575)에 의해 계산된 서펠 대응으로 인해 가능하다. 이는 비디오 데이터의 다수의 프레임으로부터의 객체 라벨 가설이 베이지안 방식으로 결합될 수 있게 한다. 특정한 경우에, 확률값에 대한 업데이트 및/또는 이미지 분류기(565)의 적용은 시스템을 적절하게 초기화하고 서펠 표현(530) 내에 적절한 세트의 서펠을 생성할 시간을 주기 위해 사전에 결정된 개수의 프레임 동안 지연될 수 있다. 베이지안 업데이트 엔진(585)의 출력은 주어진 서펠에 가장 최근의 프레임 Ft (다시 말하면, 가장 새로운 증거) 다음에 한 세트의 이용 가능한 객체 라벨 중 하나가 할당되어야 하는 확률을 나타내는 업데이트된 세트의 서펠 확률 값 SP t 이다.
한 구현 예에서, 상기 세트의 업데이트된 서펠 확률 값 SP t 은 서펠 표현(530)을 업데이트하는데 사용될 수 있다. 특정한 구현 예에서, 도 5에 도시된 바와 같이, 정규화기(590)는 서펠 표현(530)이 업데이트되기 전에 한 세트의 정규화된 서펠 확률 값 RSP t 을 생성하도록 업데이트된 서펠 확률 값 SP t 에 적용될 수 있다. 특정한 경우에, 서펠 표현 내에 의미론적 정보를 공간적으로 전달하는데 정규화가 유용할 수 있다. 그러나 이는 모든 경우에 필요하지 않을 수 있다. 정규화기(590)는 서펠 위치, 서펠 칼러, 및 서펠 법선 중의 하나 이상에 기초하여 정규화를 적용할 수 있다.
한 구현 예에서, 정규화기(590)는 조건부 랜덤 필드(conditional random field; CRF)를 객체-라벨 확률 값 SP t 에 적용할 수 있다. 어떤 경우에, 완전히 연결된 CRF는 가우시안 에지 포텐셜(Gaussian edge potential)과 함께 적용될 수 있다. 이 경우에, 각각의 서펠은 CRF 그래프의 노드로서 다루어질 수 있다. 상기 CRF를 사용하여 각각의 서펠에 대한 최종 예측에 도달하기 보다는 오히려, 이는 베이지안 업데이트 엔진(585)으로부터 예측을 점진적으로 미세 조정하는데 간단히 사용될 수 있다.
도 5에 도시된 대표적인 파이프라인(500)은 예컨대, 640 x 480 해상도의 프레임에 대해) 프레임 단위로 실시간 동작하도록 구성된다. 이 때문에, (예컨대, 매 프레임 또는 매 n 프레임에 대해) 새로운 비디오 데이터가 수신됨에 따라 객체-라벨 및 서펠 표현이 전체적으로 일관되고 의미론적으로 라벨링된 표현을 제공하도록 업데이트된다. SLAM 시스템, 서펠-기반 표현 및 의미론적 증강이 상승 작용으로 작동하고, 확률 분포가 루프 클로저 동안 서펠과 함께 '전달"될 수 있게 하며, 또한 주어진 서펠, 또는 그의 근본적인 확률 분포를 파괴하지 않고 상기 서펠에 대한 깊이 및 법선 정보를 업데이트하도록 새로운 깊이 판독값을 융합한다. 베이지안 업데이트 스킴은 각각의 서펠에 대한 객체 라벨 확률 분포를 추적하고, SLAM 시스템에 의해 제공되는 대응을 사용하여 이미지 분류기 예측에 기초해 그러한 확률을 업데이트한다. 파이프라인이 실시간 프레임 레이트로 동작하므로 이는 사람과 로봇 애플리케이션에서 양자 모두 상호작용방식으로 사용될 수 있다. 또한, 파이프라인은 가변 장면 관측을 처리하는 데 특히 적합하고, 실제로, 이들 형태의 관측은 놀라 울 정도로 객체 검출 정확도를 높이는 것으로 보였다.
도 6은 일 예에 따라 비디오 데이터의 객체를 검출하는 방법(600)을 보여준다. 이러한 방법(600)은 도 2, 도 4 및 도 5를 참조하여 설명한 바와 같은 예(200, 400, 500)을 사용하여 구현될 수 있다.
블록 605에서, 비디오 데이터의 프레임의 공간 요소에 대한 객체-라벨 확률 값은 2-차원 이미지 분류기를 사용하여 결정된다. 예를 들어, 2-차원 이미지 분류 기는 2D 이미지로서 비디오 데이터의 프레임을 수신하고 2D 이미지의 적어도 하나의 영역에 대한 확률 값을 출력하도록 구성된 위에서 설명한 바와 같은 CNN 일 수 있다. 이 경우에, 확률 값은 복수의 이용 가능한 객체 또는 클래스 라벨, 예컨대 객체 데이터 정의에 대한 워드(word) 및/또는 식별자를 나타내는 스트링 라벨에 관련된다. 어떤 경우에, 확률 값은 입력 2D 이미지의 각각의 픽셀에 대해 출력될 수 있고, 이러한 출력은 하나 이상의 이미지로서 구조화될 수 있으며, 특정한 경우에, 각각의 이미지는 특정한 객체 라벨에 대한 확률 분포를 포함한다. 이들 출력 이미지는 "픽셀 맵"으로서 언급될 수 있다. 이는 2-차원 이미지 분류기가 CNN의 출력에 통신 가능하게 연결된 디컨벌루션 신경 네트워크를 포함하는 경우일 수 있다. 2-차원 이미지 분류기는 프레임에 대한 컬러 데이터 및 깊이 데이터에 적어도 기초하여 객체-라벨 확률 값을 계산하도록 구성될 수 있다.
블록 610에서, 공간 요소에 대응하는 3D 서펠 표현 또는 공간 모델의 서펠이 식별된다. 이 경우에 공간 요소 및 서펠 사이의 대응은 프레임에 대한 추정 포즈를 사용한 서펠 표현의 투영, 예컨대 상기 프레임에 대한 현재 추정 포즈의 뷰포인트로부터의 2D 평면 상의 서펠 모델의 투영에 기초하여 결정된다. 도 4 및 도 5를 참조하여 설명한 바와 같이, 서펠 표현은, 프레임 단위로, 3D 서펠 표현을 사용하여 생성된 렌더링된 프레임을 비디오 데이터의 프레임으로부터의 비디오 데이터 프레임과 비교하여 상기 비디오 데이터 프레임에 대한 캡처 장치의 포즈를 결정하는 것과 상기 비디오 데이터 프레임으로부터의 포즈 및 이미지 데이터를 사용하여 3D 서펠 표현을 업데이트하는 것을 포함하는 비디오 데이터의 프레임을 처리함으로써 생성될 수 있다. 어떤 경우에, 3-차원 표면 요소를 생성하는데 사용되는 한 서브세트의 비디오 데이터의 프레임이 2-차원 이미지 분류기에 입력된다.
도 6의 블록 615에서, 3D 서펠 표현의 서펠에 대한 객체-라벨 확률 값은 대응하는 공간 요소에 대한 객체-라벨 확률 값에 기초하여 업데이트된다. 이는 비디오 데이터에 존재하는 객체의 의미론적으로 라벨링된 3D 서펠 표현을 초래한다. 예를 들어, 비디오 데이터에 존재하는 객체를 나타내는 추정치는 (예컨대, 최대 우도 수법(maximum likelihood approach)을 사용하여) 각각의 서펠에 대한 상기 세트의 객체 라벨 확률 값에서 가장 높은 확률 값을 취함으로써 생성될 수 있다.
블록 605, 610 및 615는 새로운 비디오 데이터가 (예컨대, 라이브 비디오 피드 또는 기록으로부터) 수신됨에 따라 예컨대 프레임 단위로 되풀이하여 반복된다. 이 때문에, 객체-라벨 확률 값은 계속 업데이트된다. 따라서, 객체-라벨 확률 분포는 초기화된 균일 값을 지니기 시작하고 그 다음에 장면에 대한 실측 자료(ground truth)에 수렴할 수 있다. 또한, 상기 방법은 공간 또는 장면의 구성 변화, 예컨대 장면에 도달하거나 장면을 떠나는 객체 또는 장면과의 상호작용)에 적응할 수 있다.
도 6으로 돌아가면, 블록 605, 610 및 615의 반복 동안, 다시 말하면 비디오 데이터의 처리 중에, 상기 방법은 루프 클로저 이벤트를 검출하는 단계를 더 포함할 수 있다. 루프 클로저 이벤트는 새로 수신된 비디오 데이터로부터 생성된 서펠사전에 처리된 비디오 데이터에 기반하여 사전에 생성 및/또는 수정된 3-차원 공간의 동일한 영역에 대응하는 서펠과 부합되지 않은 것으로 결정될 때 이루어진다. 예를 들어, 캡처 장치가 움직임 루프를 완료할 때, 예컨대 사전에 관측된 공간의 영역을 보기 위해 복귀할 때 서펠 표현의 이전 부분은 서펠 표현의 더 새로운 부분과 부합되지 않을 수 있다. 서펠 표현의 이러한 미부합(misalignment) 또는 "드리프트(drift)"는 상기 표현의 생성이 오차 함수를 최소화하도록 사용, 추정 및 추구함에 따라 이루어지고, 예컨대 비-결정적으로 동작하고, 그럼으로써 포즈 추정 및 표현의 작은 오차는 상기 모델이 생성됨에 따라 생길 수 있게 된다. 추가로, 서펠 표현은 포즈-그래프를 필요로 하지 않고 구축되고, 여기서 포즈-그래프는 일반적으로 오차를 줄이기 위해 지속적으로 최적화된다. 루프 클로저 이벤트를 검출 및 실현하기 위한 대표적인 파이프라인은 도 7을 참조하여 차후에 설명된다. 어떤 경우에, 연속적인 시도가 예컨대 각각의 프레임에 대해 동일한 프레임 내 서펠 표현의 비활성 부분에 현재 추정된 캡처 장치(다시 말하면, 활성 모델) 프레임 내 서펠 표현의 활성 부분을 등록하도록 이루어진다.
루프 클로저 이벤트가 검출되고 부합이 가능하며, 예컨대 부합 메트릭 또는 요구되는 변형 레벨에 기초하여, 공간 변형이 서펠 표현에 적용될 수 있고, 공간 변형은 상기 표현에서 서펠의 3-차원 위치를 수정한다. 특정한 경우에, 이러한 공간 변형은 서펠 표현의 새로운 활성 부분을 이전 비활성 부분에 부합시키도록 작용하며, 여기서 전체 3D 서펠 표현은 이러한 등록을 반영하도록 제 위치로 고정적이지 않게 변형될 수 있다. 대규모의 글로벌 루프 클로저와 함께 많은 소규모 로컬 모델-모델 루프 클로저를 통합함으로써 서펠 표현의 확률 분포 모드에 가깝게 머물러서 포즈 그래프 최적화 또는 사후-처리 단계의 사용 없이 전반적으로 일관성있는 재구축을 실시간 생성하는 것이 가능하다. 예컨대 프레임 단위의 빈번한 고정적이지 않은 모델의 사용으로 캡처 장치의 궤적 추정치 및 표면 재구축 품질 양자 모두가 개선된다. 이러한 수법은 또한 긴 스케일의 "코리도 같은(corridor-like)" 카메라 움직임 및 루피적이고 포괄적인 여유의 스캐닝 궤적 양자 모두에 효과적이다.
서펠이 변형될 때, 새로 변형된 서펠 표현이 블록(605, 610, 615)의 후속 반복에서 사용된다. 이는 다른 모든 매개변수가 일정하게 유지되는 경우, 분류된 비디오 프레임 및 서펠의 공간 요소 사이의 대응을 수정하는 효과를 갖는다. 예를 들어, 포즈가 일정하게 유지되도록 캡처 장치가 고정적으로 유지되어 장면의 영역을 뷰(view)하는 경우에, 루프 클로저 이벤트 전에 이러한 뷰를 나타내는 픽셀은 서펠 표현의 제1 세트의 서펠과 관련이 있게 되지만 루프 클로저 이벤트 후에 동일한 픽셀은 상이한 제2 세트의 서펠과 관련이 있게 된다. 각각의 서펠이 할당된 세트의 객체-라벨 확률 값을 지님에 따라, 이것이 의미하는 것은 그러한 픽셀에 대한 이미지 분류기 출력이 루프 클로저 이벤트 다음에 상이한 세트의 객체-라벨 확률 값을 업데이트하는데 사용된다는 것이다. 루프 클로저 이벤트는 이전에 서로 떨어져 드리프트되었던 서펠을 "스냅(snap)"하도록 작용하고, 그럼으로써 실제 관측된 공간의 서펠 및 모델 서펠 사이에 일관된 관계가 존재하게 된다. 본 방법에서, 루프 클로저 이벤트는 또한 그러한 서프들에 대한 객체-라벨 확률을 함께 "스냅(snap)"하도록 작용하고, 그럼으로써 예컨대 '의자(chair)'에 관한 픽셀 분류가 의자의 일부를 형성하는 표면을 지니는 서펠을 업데이트하도록 일관성있게 사용된다. 이로 인해 정확한 분류가 가능해진다. 놀랍게도 객체 분류에 대한 비교 방법이 (자원-집약적 휴리틱스(heuristics)가 떨어져 드리프트된 여러 세트의 확률 값을 처리해야 하므로) 루프 클로저 이벤트의 존재시 성능저하를 초래하지만 본 방법은 실제로 "초피" 또는 "루피" 비디오 시퀀스가 서펠 모델 내에 일관성있게 병합되는 분류를 지니는 객체의 다수의 뷰를 포함하므로 정확도를 개선한다. 예를 들어, 침대 또는 테이블과 같은 객체 주위를 걸을 수 있기 때문에 여러 각도에서 객체의 뷰를 비디오 데이터가 지니게 된다. 컴퓨터 비전의 비결정적 특성으로 인해 비교 포인트-클라우드 수법을 통해 이는 관련 객체-라벨 확률 값과 함께 다수의 분리된 3D 포인트를 초래한다. 이때, 그러한 포인트를 어떻게 의미론적 라벨링을 지니는 전반적으로 일관성있는 모델로 결합하는지에 대한 문제가 존재한다. 본 방법을 통해, 변형, 서펠, 및 반복 프레임-기반 업데이트는 서로 다른 뷰로부터의 확률 객체를 나타내는 한정된 개수의 서펠이 동일한 서펠에 일관성있게 적용되는 결과를 초래한다.
특정한 경우에, 상기 방법은 서프에 할당된 객체-라벨 확률 값에 기초하여 한 세트의 하나 이상의 서펠을 3D 객체 정의로 대체하는 추가 블록을 포함할 수 있다. 예를 들어, 서로 사전에 결정된 거리 내 한 세틔 서펠이 70% 이상의 "테이블" 객체 라벨 확률을 갖는다면, 이들 서펠은 테이블의 3D 표현으로 대체될 수 있으며, 테이블의 치수는 사전에 정의된 객체 모양을 서펠의 위치에 맞춤으로써 설정된다.
특정한 경우, 상기 방법은 블록 615 후에 표면 요소에 대한 객체-라벨 확률 값을 정규화하는 단계를 포함할 수 있다. 이는 위에서 설명한 바와 같이 CRF를 적용하는 것 및/또는 위치 데이터, 컬러 데이터 및 법선 데이터 중의 하나 이상에 기초하여 서펠에 할당된 객체-라벨 확률 값을 정규화하는 것을 포함할 수 있다.
어떤 경우에, 이미지 분류기에 대한 트레이닝 세트의 이미지는 서펠 표현, 예컨대 SLAM 시스템에 의해 이전에 생성된 것에 주석을 달음으로써 생성될 수 있다. 이 경우에, 기존 표현의 서펠에는 주석이 달린 표현을 제공하기 위해 객체 라벨로 주석을 달 수 있다. 그리고 나서, 표현을 생성하기 위해 이전에 사용된 비디오 데이터의 각각의 프레임에 대해 표현의 투영이 이루어질 수 있고, 투영은 각각의 픽셀이 객체 라벨을 갖도록 2D 이미지상에 주석이 달린 라벨을 투영하는 것이다. 그리고 나서, 이미지 분류기는 2D 이미지를 사용하여 트레이닝될 수 있다.
대표적인 루프 클로저 방법에 대한 추가적인 세부가 도 7을 참조하여 지금부터 설명될 것이다.
도 7은 도 5에 도시된 것에 추가하여 제공될 수 있는 구성요소의 예(700)를 보여준다. 도 7에서 이전에 설명된 등록 엔진(560)과 동일한 기능을 지닐 수 있는 등록 엔진(710)이 데이터 저장 장치(560)에 통신 가능하게 연결된다. 데이터 저장 장치(720)는 시간 경과에 따른 서펠 모델(예컨대, 530)의 인코딩(730)("ε")을 저장한다. 이들 인코딩(730)은 생성됨에 따라 활성 모델 프레임 AMFt 의 인코딩을 나타낼 수 있고, 예컨대 깊이 데이터
Figure pct00011
및 광도 데이터
Figure pct00012
의 인코딩을 포함할 수 있다. 어떤 경우에, 인코딩은 활성 모델 프레임의 압축 및/또는 다운-샘플링된 버전일 수 있다. 어떠한 맵핑된 표면도 없는 활성 모델 프레임의 예측 뷰의 일부는 특정한 경우에 비디오 데이터의 현재 프레임을 사용하여 채워질 수 있다. 특정한 경우에, 인코딩은 활성 모델 프레임의 펀 인코딩(fern-encoding)을 포함할 수 있다. 펀 인코딩은 논문 "Realtime RGB-D camera relocalization via randomized ferns for keyframe encoding by B. Glocker, J. Shotton, A. Criminisi, and S. Izadi, TVCG, September 2014"에 기재되어 있다. 펀은 한 세트의 고정 픽셀 위치에서 RGB-D 채널 각각에 대한 2진 테스트 값으로 구성된 코드 스트링으로서 RGB-D 이미지를 인코딩한다. 본 예는 이미지 데이터와는 달리 예측 뷰가 저장되어 있다는 점에서 상기 논문과는 다르다. 각각의 인코딩은, 펀 인코딩 스트링, 깊이 데이터의 다운샘플링된 예측 프레임; 광도 데이터의 다운샘플링된 예측 프레임; 현재 포즈 추정치. 및 인코딩을 위한 초기화 시간 중의 하나 이상과 관련이 있는 데이터를 포함할 수 있다. 다운샘플링된 프레임 크기, 예컨대 80 x 60 이 사용될 수 있다.
도 7의 예에서, 활성 모델 프레임 AMFt 는 등록 엔진(710)에 의해 수신된다. 그리고 나서, 데이터 저장 장치(720)의 인코딩(730) 중 하나와 할성 모델 프레임 AMFt 를 매치시키도록 하는 시도가 이루어진다. 예를 들어, 새로운 인코딩은 수신된 활성 모델 프레임 AMFt 로부터 생성되고 데이터 저장 장치(720)에 저장된 인코딩(730)과 비교될 수 있으며, 예컨대 펀 인코딩을 사용하여 상기 매치가 수행될 수 있다. 매치는 비교 기능의 출력에 의해 표시될 수 있고, 예컨대 오차 또는 매치 이미징 메트릭이 비교된 프레임 또는 인코딩 간의 유사도를 표시할 수 있다. 예를 들어, 펀-인코딩 사이에서 비교가 이루어질 수 있다. 이 경우에, 펀-인코딩은 2진 코드를 포함할 수 있으며, 2개의 이미지는 2개의 2진 코드 간의 "거리"를 가산함으로써 비교될 수 있다. 가장 작은 거리는 "최상의" 매치로 간주되며, 상기 거리는 상기 매치가 "양호"한지를 결정하도록 문턱값과 비교될 수 있다. 활성 모델 프레임 AMFt 는 상기 매칭을 수행하도록 다운샘플링될 수 있고, 예컨대 펀-인코딩은 다운샘플링된 프레임에 대해 이루어질 수 있다. 이 경우에, 최상의 매치를 나타내는 메트릭 값(차이 또는 오차를 나타내는 이미징 메트릭의 가장 낮은 값)은 매칭 저장 인코딩 εj 를 나타내는데 사용될 수 있다. 매칭을 위해 사용되는 데이터를 지니는 것과 마찬가지로, 저장된 인코딩(예컨대, 펀-인코딩)은 또한 모델 프레임의 인코딩
Figure pct00013
Figure pct00014
를 포함할 수 있다. 어떤 경우에, 최상의 매치를 위한 이미징 메트릭 값은 상기 매치가 유효한지를 결정하도록 사전에 정의된 문턱값과 더 비교될 수 있다. 예를 들어 심지어 "최상의" 매치이더라도 실제 매치가 양호하지 않을 수 있고, 예컨대 높은 매치 오차가 있을 수 있고, 결과적으로 문턱값 비교로 이들의 양호하지 않은 매치의 사용이 회피된다. 비교적 "대략적인(coarse)" 매치가 발견되고 정확한 것처럼 등록 엔진(710)에 의해 다운샘플링이 사용될 수 있으며, 그리고 나서 차후의 활성 및 비활성 모델 프레임이 도 5에서 수행된 바와 같이 부합을 가능하게 할 정도로 충분히 근접하게 되고, 예컨대 그들은 더 정확한 "로컬(local)" 루프 클러저가 가능하도록 "글로벌(global)" 루프 클로저 다응에 충분히 부합하게 된다.
어떤 경우에, 어떠한 매치도 발견되지 않을 경우, 예컨대 매칭 이미징 메트릭이 주어진 오차 문턱값을 초과할 경우, 활성 모델 프레임 AMFt 및 비활성 모델 프레임의 등록이 예컨대 도 5에 도시된 바와 같이 수행된다. 한편, "최상의" 매치가 발견될 경우, 예컨대 매칭 이미지 매트릭이 또한 주어진 오차 문턱값 미만일 경우, 매칭 인코딩 εj 는 데이터 저장 장치(720)로부터 검색되고 등록 엔진(710)에 의해 액세스된다. 그리고 나서, 등록 엔진(710)은 도 5와 관련하여 설명한 부합 동작과 유사한 동작을 지시하도록 구성되고, 그러나 본 예에서, 할성 모델 프레임 AMFt 및 매칭 인코딩 εi 사이에 부합이 수행된다. 예를 들어, 활성 모델 프레임의 구성요소
Figure pct00015
Figure pct00016
는 매칭 인코딩 εi 의 구성요소
Figure pct00017
Figure pct00018
와 부합될 수 있다. 어떤 경우에, 부합 메트릭은 평가될 수 있고 부합이 수행되는지를 결정하도록 문턱값과 비교될 수 있으며, 예컨대 사전에 정의된 문턱값과 비교하여 낮은 레벨의 부합은 부합을 계속하도록 요구된다. 부합이 수행되지 않으면, 등록 엔진(710)은 도 5를 참조하여 설명한 바와 같이 활성 및 비활성 모델 프레임의 부합을 수행하도록 하는 시도가 이루어질 수 있다. 부합이 수행되면, 등록 엔진(710)은 기존의 3-차원 모델(750)을 변형한 것을, 예컨대 활성 모델 프레임의 구성요소를 매칭 인코딩의 구성요소와 부합시키는 역할을 하는 3-차원의 변형을 결정할 것을 모델 변형기(740)에 지시하도록 이루어질 수 있다. 특정한 경우에, "글로벌 루프 클로저"로 간주 될 수 있는 이러한 부합 다음에는, 3D 서펠 모델의 활성 및 비활성 부분이 업데이트되지 않는다. 이는 도 5에 도시된 등록이 수행될 수 있도록(예컨대, "로컬 루프 클로저"가 다음 프레임에 대해 성공적으로 수행될 수 있도록) 상기 부합이 활성 및 비활성 부분을 더 큰 부합으로 가져오기 때문일 수 있다. 상기 부분을 업데이트하지 않으면 잠재적으로 부정확한 부합이 차후의 등록 동작에서 정정되거나 복구될 수 있다. 이러한 부합 다음에 현재 포즈 추정치 Pt 는 또한 상기 인코딩과 관련이 있는 포즈 추정치(예컨대, H
Figure pct00019
)에 상기 변환을 적용함으로써 (예컨대,
Figure pct00020
의 형태로) 업데이트될 수 있다.
본 예에서, 모델 변형기(740)는 기존의 3D 서펠 모델(750)에 액세스하고 정렬된 3D 서펠 모델(770)을 생성하도록 이러한 모델을 변형 그래프(760)를 사용해 변형하도록 이루어진다. 변형 그래프(760)는 모델(750)의 분포된 서펠과 관련이 있는 한 세트의 노드 및 에지를 포함한다. 어떤 경우에, 각각의 노드는, 타임스탬프, 서펠과 관련이 있는 3-차원의 위치, 변환 정의, 및 한 세트의 이웃(neighbour)을 포함할 수 있다. 각각의 노드의 이웃, 다시 말하면 이웃하는 서펠은 안내될 수 있는 그래프의 에지를 구성한다. 이러한 방식으로, 변형 그래프는 모델의 변형이 수행될 때 서로 영향을 주는 3D 서펠 모델의 부분을 연결한다. 이웃의 수는 예컨대 한 구현 예에서 4개의 이웃으로 한정될 수 있다. 변환 정의는 예컨대 (항등 매트릭스로 초기화되는) 3 x 3 매트릭스 및 (0으로 초기화되는) 3 x 1 벡터 또는 듀얼 쿼터니언(dual quaternion )으로 표현되는 아핀 변환(affine transformation)의 정의를 포함할 수 있다. 변환의 수행시 각각의 노드의 변환 정의는 한 세트의 표면 구속조건에 따라 최적화될 수 있다. 변환이 적용되면 3D 서펠 모델의 특정 서펠에 대한 그래프에서 영향을 주는 한 세트의 노드가 식별된다. 이에 기초하여, 서펠의 일부는 영향을 주는 변환된 노드의 가중합, 예컨대 현재 위치 요소로부터의 그러한 노드의 위치의 거리에 따라 영향을 주는 노드 각각에 적용되는 변환 정의의 가중합을 기반으로 변환될 수 있다. 서펠의 위치 및 법선 양자 모두는 이러한 방식으로 변형될 수 있다. 예를 들어, 변형 그래프의 노드들은 이들의 초기화 시간에 기초한 서펠과 관련이 있을 수 있다. 그리고 나서, 이들 노드의 리스트는 이러한 타임스탬프에 의해 정렬(sort)될 수 있다. 서펠에 대한 변형이 지시되면, 이러한 노드 리스트를 통해 한 세트의 시간적으로 근접한 노드(다른 서펠과 관련이 있는 노드)를 사전 설정하도록 2진 탐색이 수행될 수 있다. 이러한 시간적으로 근접한 노드 세트로부터, 한 세트의 k-가장 가까운 노드가 거리 메트릭에 기초한 서펠에 대해 결정된다. 그리고 나서, 이들 노드는 서펠을 변형시키는 데 사용된다. 이러한 프로세스는 신속하고 실시간 또는 거의 실시간 성능의 활성화에 도움이 된다.
일 예에서, 변형 그래프는 프레임 단위로 구축될 수 있다. 어떤 특별한 경우에, 3-차원 모델에 대한 새로운 변형 그래프는 이미지 데이터의 각각의 프레임(다시 말하면, Ft)에 대해 구축될 수 있다. 이는 변형 그래프의 연결성, 예컨대 각각의 그래프 노드에 대한 한 세트의 이웃을 결정하는 것을 포함할 수 있다. 어떤 경우에, 변형 그래프는 3D 서펠 모델(750)을 사용하여 초기화된다. 이는 "in-map" 또는 "in-model" 루프 클로저로서 언급될 수 있는데, 그 이유는 변형 그래프가 서펠 표현으로부터 구축되고 동일한 표현을 수정하는 데 사용되기 때문이다. 예를 들어, 프레임에 대한 노드 위치는 서펠의 위치(예컨대, 도 3b에서 p)로부터 결정될 수 있으며 노프 표현은 서펠 타임스탬프(에컨대, 도 3a의 "Init_Time")로 설정될 수 있다. 어떤 경우에, 변형 그래프에 대한 노드는 서펠의 샘플링, 예컨대 체계적인 샘플링에 기초하여 생성될 수 있다. 이러한 샘플링은 사전 설정(population)을 통해 균일하게 분포될 수 있고 이는 변형 그래프의 공간 밀도가 3D 서펠 모델의 공간 밀도를 미러링(mirroring)하게 할 수 있다. 한 세트의 샘플링된 노드는 노드 타임스탬프에 기초하여 순서화될 수 있다. 이 다음에, 변형 그래프의 연결성은 시간 정보를 사용하여 결정될 수 있다. 어떤 경우에, 시간적인(in time), 예컨대 노드 타임스탬프에 기초한 이웃인 여러 세트의 노드가 선택될 수 있다. 예를 들어, 4개의 이웃이 있고 주어진 노드가 고려되어 있는 경우, (시간 순서화된 리스트를 이루는) 이전의 2개의 타임스탬프를 지니는 노드와 (상기 리스트를 이루는) 차후의 2개의 타임스탬프를 지니는 노드가 주어진 노드의 이웃으로서 선택될 수 있다. 이는 계산적으로 효율적이고 3D 서펠 모델의 시간적으로 상관없는 영역이 서로 영향을 미치는 것을 방지(예컨대, 활성 영역이 비활성 영역에 영향을 미치는 것을 방지)하는 이점이 있다. 예를 들어, 일반 3-차원 공간의 다중 패스와 관련이 있는 변형 그래프는 공간적으로 고려될 때 복잡하고 자체 내에서 뒤엉켜져 있을 수 있지만, 그래프를 시간적으로 순서화하고 고려하는 것은 다중 패스가 분리되고 자유롭게 부합되는 것을 허용한다. 이는 예컨대 포즈 그래프를 사용하는 경우에 포즈 시간에 기초한 그래프 연결성을 결정하는 비교 방법과 대조될 수 있다.
변형 그래프(760)를 사용하여 기존의 3-차원 모델(750)을 변형해 변형된 모델(770)을 생성하도록 모델 변형기(740)에 의해 적용될 수 있는 대표적인 프로세스가 지금부터 더 상세히 설명될 것이다. 모델 변형기(740)는 주어진 서펠 정의에 액세스함으로써 시동된다. 제1 동작으로서, 모델 변형기(740)는 변형 그래프(760)의 노드, 예컨대 시간적으로 주어진 서펠에 가장 가까운 다른 서펠을 위치시킨다. 시간 분리는 변수로서 저장된다. 다음으로, 모델 변형기(740)는 예컨대 탐색하기 위한 사전에 정의된 개수의 노드에 대한 시간 분리로부터 멀리 이동하는 시간적으로 근접한 노드를 위치시킨다. 그리고 나서, 이러한 근접 노드는 주어진 서펠의 위치를 기준으로 유클리드 거리(Euclidean distance)와 같은 거리 메트릭에 따라 정렬될 수 있다. 그리고 나서, 예컨대 위에서 검토한 이웃 한도를 사용하는 주어진 개수의 "이웃" 노드는 가장 가까운 k 개의 노드로서 선택될 수 있다. 이들 이웃 각각에 대한 한 세트의 가중치는 노드 및 주어진 서펠 사이의 정규화된 거리에 기초하여 생성될 수 있다. 가중치의 합은 또한 결정될 수 있다. 그리고 나서, 마지막 동작으로서 이웃에 대한 변환 정의가 각각의 이웃에 대한 개별 계산 가중치를 통해 가중되고 가중치의 합에 의해 정규화됨에 따라 적용될 수 있다. 이는 주어진 서펠을 참조하여 위에서 검토한 아핀 변환에 대한 변수를 적용하여 서펠의 위치 및 법선을 변형하는 것을 포함할 수 있다. 주어진 서펠의 다른 실시형태는 동일하게 유지된다(예컨대, 변형된 모델(770)에 복사될 수 있다). 그리고 나서, 이는 확률값이 성가신 처리 없이 오래된 서펠로부터 새로운 변형 서펠로 간단히 복사될 수 있게 한다. 이는 다시 실시간 구현을 가능하게 한다.
일 예에서, 등록 엔진(560 또는 710)을 통해 수행된 부합은 모델 변형 기(740)를 사용하여 수행된다. 이러한 예에서, 이는 변형 그래프(760)의 매개변수를 최적화함으로써 달성된다. 최적화는 등록 엔진(560 또는 710)의 출력에 기초하여 설정되는 한 세트의 표면 대응을 고려해 볼 때 서펠 표현의 표면 등록을 반영할 수 있다. 이들 서펠 대응은 제1 시간에서의 특정한 발신지 위치가 제2 시간에서의 특정한 목적지 위치에 이르거나 그 목적지 위치와 일치함을 나타낼 수 있다. 각각의 개별 대응은 절대적(변형된 위치를 3-차원 공간의 절대 위치에 관련시킴)일 수도 있고 상대적(변형된 위치를 다른 변형된 위치에 관련시킴)일 수도 있다. (예컨대, 도 5를 참조하여 설명한 바와 같이) 활성 및 비활성 프레임을 부합시킬 때 발신지 포인트는 활성 모델 프레임의 한 포인트를 나타낼 수 있으며 목적지 포인트는 비활성 모델 프레임의 한 포인트를 나타낼 수 있고 이는 모델의 활성 및 비활성 부분을 부합시키는 역할을 한다. 예를 들어, 제1 시간은 주어진 비활성 모델 프레임을 생성하는 데 사용되는 비활성 서펠에 대한 초기화 시간을 포함할 수 있고, 상기 제2 시간은 현재 프레임 시간일 수 있으며, 발신지 포인트는 현재 포즈 추정치 Pt 에 기초하여 볼 때 (예컨대,
Figure pct00021
를 계산하는데 사용되는) 활성 모델을 생성하는데 사용되는 샘플링된 서펠일 수 있고, 목적지 포인트는 3차원에서 현재 포즈 추정치 Pt 를 정의된 변환 H에 가산한 것에 기초하여 볼 때 (예컨대,
Figure pct00022
를 계산하는데 사용되는) 활성 모델을 생성하는데 사용되는 샘플링된 서펠일 수 있다. 이 경우에, 목적지 포인트는 모델의 활성 부분을 비활성 부분 상에 매핑하도록 계산된 정의된 변환(H)의 적용시 비활성 모델 프레임의 포인트와 같고, 예컨대, 상기 변환은 도 5의 등록 엔진(560)에 의해 수행된 부합 중 적어도 일부이다. 이들 표면 대응은 "로컬 루프 클로저"를 적용하는데 사용될 수 있다. 마찬가지로, (예컨대, 도 7을 참조하여 설명한 바와 같이) 저장된 표현과 활성 프레임을 부합시킬 때, 제1 시간은 저장된 표현에 대한 초기화 시간을 포함할 수 있고, 제2 시간은 현재 프레임 시간일 수 있으며, 발신지 포인트는 현재 포즈 추정치 Pt 에 기초하여 볼 때 (예컨대,
Figure pct00023
를 계산하는데 사용되는) 활성 모델 프레임을 생성하는데 사용되는 샘플링된 서펠일 수 있고, 목적지 포인트는 3차원에서 인코딩을 위한 포즈 추정치를 정의된 변환 H에 가산한 것에 기초하여 볼 때 (예컨대,
Figure pct00024
를 계산하느데 사용되는) 활성 모델 프레임을 생성하는데 사용되는 샘플링된 서펠일 수 있다. 다시 정의된 변환이 활성 모델 부분에 적용됨에 따라, 목적지 포인트는 활성 및 비활성 모델의 부합을 나타낸다. 이들 표면 대응은 "글로벌 루프 클로저"를 적용하는데 사용될 수 있다. 표면 대응은 샘플링된 한 세트의 픽셀, 예컨대 사용된 프레임에 대해 계산될 수 있다. 이들 경우에, 부합 또는 등록은 한 세트의 표면 대응에 대해 3차원의 정의된 변환을 해결하는 것을 포함할 수 있다.
상기 예에서, 표면 대응은 변형 그래프의 매개변수의 최적화를 위한 하나 이상의 비용 함수에서 사용될 수 있다. 예를 들어, 하나의 비용 함수는 변형된 발신지 포인트(예컨대, 변형 그래프의 적용시)와 목적지 포인트 사이의 거리 오차의 합과 동일한 오차 함수를 포함할 수 있으며, 발신지 및 목적지 포인트는 표면 대응에 사용되는 포인트이다. 본원에서 설명된 바와 같은 서펠 표현의 시간적 파라미터화는 3-차원 공간의 동일한 부분의 다중 패스가 모델링이 계속되는 부합으로 고정적이지 않게 변형되는 것을 허용하여 3D 서펠 표현의 재방문 영역으로의 새로운 데이터 융합을 허용한다. 다른 비용 함수는 또한 서펠 표현의 비활성 부분을 제자리에 "고정"하는 데, 다시 말하면 모델의 활성 부분을 비활성 부분으로 변형시키는데 사용된다. 이러한 비용 함수는 변형된 발신지 포인트(예컨대, 변형 그래프의 적용시)와 비-변형된 목적지 포인트 사이의 거리 오차의 합과 동일한 오차 함수를 포함할 수 있고, 목적지 포인트는 표면 대응에서 사용된 것이다. 또 다른 비용 함수는 또한 서펠 표현의 이전에 등록된 영역을 제자리에 유지시키는데 사용될 수 있고, 다시 말하면 맵의 상이한 영역을 변형할 때, 이전에 등록된 영역의 상대 위치는 동일함을 그대로 유지하도록 제한될 필요가 있을 수 있다. 이러한 비용 함수는 변형된 발신지 포인트(예컨대, 변형 그래프의 적용시)과 변형된 목적지 포인트 사이의 거리 오차의 합과 같은 오차 함수를 포함할 수 있다. 이러한 비용 함수는 루프 클로저 및 이에 관련된 변형이 서펠 표현의 이전에 등록된 영역을 분리하는 것을 방지한다. 오차 함수는 또한 (예컨대, 자신의 전치(transpose)에 의해 승산된 변환 및 항등 매트릭스 사이의 거리 매트릭을 최소화함으로써) 변형 그래프의 정의된 변환의 고정성을 최대화하도록 그리고 (예컨대, 이웃 변환을 통합하는 거리 메트릭에 기반하여) 유연한 변형을 보장하도록 정의될 수 있다. 이들의 설명한 오차 함수 중 하나 이상이 변형 그래프에 대한 변환 정의를 결정하도록 (예컨대, 가중치 합 내에서) 최소화될 수 있다. 예를 들어 반복적 가우스-뉴턴(Gauss-Newton) 방법은 희소 촐레스키 인수분해(sparse Cholesky factorisation)와 함께 처리 유닛 상의 연립 방정식을 푸는데 사용될 수 있다. 한 구현 예에서 이용 가능한 경우 그래픽 처리 유닛은 변형 그래프를 서펠 표현에 적용시키는데 사용될 수 있다. 이는 그래픽 처리 유닛 상에서 병렬로 수행될 수 있다. 특정한 경우에 비용 함수의 하나 이상이 부합을 수행해야 할지를 결정하는 메트릭을 생성하는데 사용될 수 있다. 예를 들어, 변형된 발신지 및 목적지 포인트를 비교하는 비용 함수와 같은) 비용 함수 중 하나 이상이 사전에 정의된 문턱값 미만인 오차 값을 출력하는 경우에, 부합이 허용되고, 오차 값이 사전에 정의된 문턱 값을 초과할 경우, 부합이 거부된다(동등한 경우는 적절히 할당된다).
위에서 설명한 바와 같이, 예측된 표면 외형-기반 자리 인식 동작은 "글로벌 루프 클로저"를 해결하는데 사용될 수 있다. 이는 전체적으로 일관성있는 밀집 서펠 표현 또는 모델이 포즈 그래프의 사용 없이, 예컨대 이미지 데이터의 키 프레임과 관련하여 캡처 장치의 포즈를 모델링하는 데 사용되는 별도의 그래프 구조의 사용 없이 생성되는 것을 가능하게 한다. 따라서, 이들 구성 요소를 합체하는 장치는 실시간 또는 거의 실시간에 가까운 밀집한 위치 및 매핑을 동시에 수행할 수 있으며, 상기 동작은 2개의 개별 동작으로서 수행되기보다는 오히려 실제로 동시에 수행된다. 특정한 테스트의 경우에 로컬 루프 등록이 글로벌 루프 등록보다 빈번하게(예컨대, 10 또는 20-1 비율로) 수행되는 것으로 알려져 있다. 특정한 경우에, 글로벌 루프 등록은 수행되지 않을 수도 있다(예컨대 필요하지 않을 수도 있고 매치가 발견되지 않을 수도 있다). 로컬 및 글로벌 루프 등록의 적용은 처리되는 비디오 데이터에 의존할 수 있으며, 예를 들어 캡처 장치를 사용하는 관측의 궤적에 의존할 수 있다. 특정한 테스트의 경우에, 프레임의 수는 103 개 정도이었고, 서펠의 수는 106 개 정도이었으며 그리고 변형 노드의 수 및 저장된 표현의 수는 102 개 정도 이었다. 이들 테스트의 경우에 대한 프레임 처리는 현재 3-차원 모델에 있는 위치 요소의 수에 따라 20~40 밀리 초 이었다. 이는 의미론적 라벨링 없이 서펠 표현을 생성하기 위한 약 30Hz 또는 초당 프레임 처리 속도이었다. 이들 테스트의 경우에, 테스트 플랫폼은 3.4GHz의 Intel® Core i7-4930K 프로세서와 32GB의 메모리 그리고 3GB의 메모리를 갖춘 nVidia® GeForce® GTX 780 Ti 그래픽 처리 유닛을 이용하였다.
도 8은 도 6의 방법(600)과 병행하여 실행될 수 있는 3D 서펠 표현을 업데이트하는 방법(800)을 보여준다. 블록 805에서, 깊이 및 컬러 프레임이 캡처 장치로부터 수신된다. 블록 810에서, 3D 서펠 표현의 활성 부분에 기초한 예측 프레임이 생성된다. 이는 서펠 정의를 처리하는 것을 포함할 수 있으며, 예컨대 현재 시간과 관련한 특정 시간 윈도우 내에서 최종 수정된 타임스탬프를 갖는 서펠을 사용하는 것만을 포함할 수 있다. 이는 시간 t-1 에서 캡처 장치에 대한 포즈 추정치를 사용하는 것을 더 포함 할 수 있으며, 예컨대, "활성"으로 분류된 서펠은 시간 t-1 에서 캡처 장치에 의해 볼 수 있는 영역의 위치 및 배향을 나타내는 평면상에 투영된다 블록 815에서, 프레임-모델 추적이 수행된다. 이는 블록(805, 810)으로부터 수신된 데이터를 비교함으로써 현재 시간에 대한 포즈 추정치를 결정하는 것을 포함할 수 있다. 블록 820에서, 현재 시간에 대한 결정된 포즈 추정치는 예측된 깊이 및 컬러 프레임을 업데이트하는데, 예컨대 현재 포즈 추정치에 의해 표시된 바와 같이 시간 t에서 캡처 장치에 의해 보이는 영역의 위치 및 배향을 나타내는 2D 평면 상에 "활성"으로서 분류된 서펠을 투영(또는 "스플래터(splatter)"하는데 사용될 수 있다.
825에서, 업데이트된 예측 깊이 및 컬러 프레임이 임의의 저장된 인코딩과 매치하는지에 대한 결정이 이루어진다. 이는 도 7을 참조하여 설명한 비교를 포함할 수 있다. 특정한 저장 표현과의 매치가 발견되면, 블록 830에서, 특정한 저장 인코딩에 대응하는 업데이트된 예측 깊이 및 컬러 프레임 및 데이터의 등록이 가능한지에 대한 결정이 이루어진다. 이는 도 7의 모델 변형기(740)를 참조하여 설명한 변형을 적용하는 것을 포함할 수 있다. 업데이트된 예측 프레임 중 하나 이상의 업데이트된 예측 프레임의 포인트를 제한하는 표면 대응을 고려해 볼 때 변형 그래프를 사용한 변형이 주어진 문턱값을 초과하는 오차를 생성함을 하나 이상의 비용 함수의 출력이 나타내는 경우, 상기 결정은 부정적인 것일 수 있고, 그렇지 않으면, 상기 결정은 긍정적인 것일 수 있다. 블록 830에서의 결정이 부정일 경우, 예컨대, 저장된 인코딩과 업데이트된 예측 프레임 사이에 등록이 가능하지 않은 것으로 간주 되는 경우, 상기 방법은 블록 835로 이동하고, 상기 블록 835에서 깊이 및 컬러 데이터의 비활성 모델 프레임이 생성된다. 블록 835에서의 결정이 긍정일 경우, 예컨대 저장된 인코딩과 업데이트된 예측 프레임 사이에 등록이 가능한 것으로 간주 되는 경우, 블록 840에서 3D 서펠 표현이 변형된다. 이는 최적화된 변형 그래프를 적용하는 것을 포함할 수 있으며, 상기 최적화는 위에서 언급한 표면 대응에 의해 제한되고, 상기 최적화는 하나 이상의 오차 함수를 최소화하여 상기 변형 그래프의 노드들에 의해 적용될 변환 정의를 결정한다.
블록 835에서, 깊이 및 컬러 데이터의 비활성 모델 프레임이 생성된다. 블록 845에서, 블록 820에서의 업데이트된 예측 프레임이 블록 835에서 생성된 비활성 모델 프레임으로 등록될 수 있는지에 대한 결정이 이루어진다. 블록 845는 비활성 모델 부분으로 활성 모델 부분을 등록하는 것이 현재 포즈 추정치와 관련하여 상기 2개의 부분들 각각으로부터 생성된 예측 뷰를 나타내는 데이터에 기초하여 가능한지를 사실상 결정한다. 블록 845에서의 결정은 예컨대 형상 및/또는 광도 오차를 결정함으로써 블록 815에서의 프레임-모델 추적의 일부로서 적용된 기법을 사용하여 2 세트의 예측 뷰를 비교하는 것에 기초해 이루어질 수 있다. 어떤 경우에, 형상 및/또는 광도 오차를 포함하는 가중 오차 함수의 출력이 다른 메트릭 중에서 블록 845에서의 결정을 이루는데 사용될 수 있고, 예컨대 상기 오차가 주어진 문턱값 미만일 경우 등록이 가능한 것으로 간주 된다. 오차 함수에 대한 공분산(covariance) 측정의 고유값(eigenvalues)이 또한 상기 결정을 이루도록 평가될 수 있고, 예컨대 문턱값과 비교될 수 있다. 블록 845는 또한 예컨대 포즈를 추정하는데 사용하기 위한 변환을 결정하는 것과 유사한 방식으로 예측 프레임을 서로 맵핑하는 변환을 결정하는 것을 포함할 수 있다. 이러한 변환은 블록 830에서 이루어진 것과 유사한 결정에서 사용될 수 있고, 다시 말하면 최적화를 제한하는 데 사용되는 표면 대응의 일부를 형성할 수 있으며, 여기서 이는 활성 및 비활성 부분의 등록이 가능한지를 결정하는 데 사용되는 메트릭에 기여할 수 있다.
블록 845에서의 결정이 긍정일 경우, 서펠 표현의 활성 및 비활성 부분의 변형이 블록 840에서 수행된다. 이는 블록 845의 평가 일부로서 결정된 변환을 적용하는 것을 포함할 수 있다. 다시, 블록 840은 예컨대 최적화의 결과로서 한 세트의 변형 매개변수를 결정하는 것을 포함할 수 있으며, 상기 매개변수는 변형 그래프의 일부를 형성할 수 있다. 블록 840은 서펠을 변형시키도록 상기 그래프를 사용해 상기 매개변수를 적용하는 것을 포함할 수 있다. 블록 840의 출력은 보이는 모든 비활성 서펠, 예컨대 비활성 모델 프레임에서 보이는 비활성 서펠을 활성 서펠로 설정할 수 있다.
마지막으로, 블록 850에서 블록 805에서 수신된 깊이 및 컬러 프레임은 블록 840으로부터 생성된 임의의 변형된 서펠 표현과 융합된다. 블록 845에서의 결정이 부정일 경우, 어떠한 변형도 수행되지 않을 수 있고 이미지 데이터는 변형되지 않은 표현과 융합될 수 잇다.
블록 850 다음에, 상기 방법은 비디오 데이터의 후속 프레임에 대해 반복될 수 있으며, 예컨대 깊이 및 컬러 데이터의 다음 프레임이 수신되는 블록(805)으로 복귀될 수 있다. 그리고 나서, 블록 850에서 출력되는 융합된 서펠 표현은 블록 810에서 수정된 활성 모델 깊이 및 컬러 프레임을 생성하는데, 예컨대 다음 프레임에 대해 추적하는데 사용될 수 있다. 블록 810의 반복 후에, 인코딩은 나중에 블록 825의 매칭에서 사용하기 위해 저장될 수 있다.
위에서 설명한 특정한 방법은 서펠 표현의 활성 영역을 표현의 비활성 영역과의 강력한 부합으로 가져와서 엄격한 로컬 루프 클로저를 달성한다. 이는 서펠 표현의 표면과 관련된 것일 수 있다. 표현의 활성 부분이 로컬 부합을 위해 비활성 부분으로부터 너무 멀리 떨어져 드리프트하여 수렴되지 않는 경우, 외형 기반 글로벌 루프 클로저 방법이 예컨대 모델링된 표면과 관련한 엄격한 글로벌 루프 클로저 및 표현 일관성을 위해 표현의 활성 부분을 근본적인 비활성 부분과 재부합시키는 변형을 부트스트랩(bootstrap)하는데 사용될 수 있다.
서펠 표현이 업데이트될 수 있는지를 나타내는 간략화된 작용 예(900)가 지금부터 도 9a 내지 도 9c를 참조하여 설명될 것이다.
도 9a는 바닥(915) 상에 위치한 원통형 객체(905)를 포함하는 장면(910)의 예시를 보여준다. 위 도면들에서의 장면(910)은 "실측 자료(ground truth)", 즉 장면의 실제 내용을 나타낸다. 또한, 상기 도면들에는 3D 서펠 표현(920)이 도시되어 있다. 실제로, 3D 서펠 표현(920)은 도 3a 및 도 3b를 참조하여 설명한 바와 같은 리스트로서 구현될 수 있지만, 설명의 용이함을 위해, 3D 모델 공간 내 서펠의 범위가 상기 도면들에 예시되어 있다(920은 도면이 2D임에도 불구하고 3D 모델의 뷰라고 가정함). 3D 서펠 표현(920)에서 4개의 서펠, 다시 말하면 S1 내지 S4가 있다. 이해할 수 있겠지만, 이는 설명의 용이함을 위해 대단히 간략화되었고, 전형적인 서펠 표현은 백만 개 정도의 서펠을 포함할 수 있다. 서펠 표현(920)은 SLAM 시스템이 주어진 시간 길이 동안 실행된 후에(또는 대안으로 기존의 표현이 로딩된 후에) 모델 상태를 나타내는데, 그 이유는 서펠(S1)이 대략적으로 수직 바닥 면에 대응하는 것으로 보일 수 있고 서펠(S2-S4)이 대략적으로 원통형 객체의 서로 다른 표면을 모델링하기 때문이다. 서펠(S1-S4)에 대한 법선 벡터는 또한 상기 도면들에 도시되어 있다.
도 9a는 2개의 대표적인 객체-라벨 확률 분포(902)를 더 보여준다. 이 간략한 경우에, 이미지 분류기에 의해 할당될 수 있는 2개의 객체 라벨, 즉 '바닥(FLOOR)' 및 '원통(CYLINDER)'이라고 가정된다. 이 경우에 객체-라벨 확률 분포는 2개의 이미지(930, 940)를 포함한다. 상기 도면으로부터 볼 수 있는 바와 같이, 각각의 이미지는 객체 라벨을 지니는 객체가 픽셀에 존재할 확률을 나타내는 픽셀 값을 지닌다. 예를 들어, 제1 이미지(930)는 'CYLINDER' 객체가 한 세트의 픽셀 내에 존재함을 이미지 분류기가 나타내는 (예컨대, 값 스케일링에 따라 0.5와 1 사이 또는 128과 255 사이의) 픽셀 값을 갖는 한 세트의 픽셀(935)을 지닌다. 마찬가지로, 제2 이미지(940)는 'FLOOR' 객체가 한 세트의 픽셀에 존재함을 나타내는 (예컨대, 값 스케일링에 따라 0.5와 1 사이 및 128과 255 사이의) 픽셀 값을 갖는 한 세트의 픽셀(945)을 지닌다. 비록 본 도면에는 2진 이미지로서 도시되어 있지만, 실제로 그러한 이미지는 일반적으로 그레이스케일 이미지로서 보일 수 있다.
도 9a에는, 프레임에 대한 대표적인 대응 데이터(904)가 또한 도시되어 있다. 이 경우에, 대응 데이터(904)는 또한 이미지(930, 940)와 동일한 해상도인 대응 이미지(950)의 형태를 이루고 있다. 대응 이미지(950)는 현재 카메라 포즈에 기초한 2D 이미지 평면 상에의 3D 서펠의 투영을 특징으로 한다. 도 9a에서, 카메라 포즈는 박스 910에 도시된 바와 같은, 다시 말하면 룸의 좌측 상단 코너에 원통형 객체가 있는 장면의 뷰와 관련된 것이다. 대응 이미지(950)는 4개의 서펠(S1-S4) 중 하나를 식별하는 4개의 값 [1, 2, 3, 4] 중 하나를 갖는 픽셀을 포함하며, 제1 세트의 픽셀(p-S1)은 서펠(S1)에 대한 대응을 나타내는 1 값을 지니고, 제2 세트의 픽셀(p-S2)은 서펠(S2)에 대한 대응을 나타내는 2 값을 지니며, 제3 세트의 픽셀(p-S3)은 서펠(S3)에 대한 대응을 나타내는 3 값을 지니고, 제4 세트의 픽셀(p-S4)은 서펠(S4)에 대한 대응을 나타내는 4 값을 지닌다. 다른 경우에, 이미지 분류 기 데이터와 유사한 방식으로, 대응 이미지(950)는 4개의 2진 이미지를 포함할 수 있다. 대응 값은 이미지(930, 940)의 확률 값에 기초하여 각각의 서펠과 관련이 있는 확률 값(906)을 업데이트하는데 사용된다. 도 9a에서, 한 세트의 서펠에 대한 4개의 데이터 정의는 d-S1 내지 d-S4로 도시되어 있으며, 각각의 서펠에 대한 각각의 데이터 정의는 2개의 클래스(라벨 'FLOOR'의 확률을 나타내는 'PF' 및 라벨 'CYLINDER'의 확률을 나타내는 'PC')에 대한 객체 라벨 확률 값을 지닌다. PF 및 PC가 균일한 분포(다시 말하면 값당 0.5)로 초기화되면, 업데이트 동작은 주어진 서펠과 관련이 있는 픽셀에 대한 그러한 클래스와 관련이 있는 확률 값 모두로 초기 값을 승산하는 것을 포함한다. 예를 들어, 서펠 2에 대한 0.5 PC 값은 (정규화를 가산한) 이미지(930)의 영역(p-S2)을 포함하는 픽셀에 대한 확률 값 모두에 의해 승산될 수 있다. 특정한 병행화 처리 파이프라인에서, 서펠이 다수의 대응 픽셀을 갖는다면, 서펠에 대한 확률은 한 서브세트의 그러한 대응 픽셀을 사용하여 업데이트될 수 있다. 예를 들어, 신속한 동작을 위해, (예컨대, 행-우선 순서에서의) 이미지(950) 내 주어진 서펠 식별자의 제1 발생은 동일한 서펠 식별자의 다른 발생에 우선하여 서펠 확률을 업데이트하는데 사용될 수 있다. 확률 업데이트는 또한 서펠 상태에 적용되는 정규화 프로세스를 포함할 수 있다. 도 9a는 한 번의 업데이트 후에 서펠에 대한 데이터 정의를 보여준다.
도 9b는 도 9a와 동일한 요소를 보여주지만, 이번에는 다른 각도에서 본 장면(다시 말하면, 카메라 포즈가 다름)을 보여준다. 이는 비디오 데이터의 제2(다시 말하면, 후속) 프레임에 대한 동작을 반영할 수 있다. 박스 910에 도시된 바와 같이, 원통형 객체가 현재 도 9a와 관련하여 배면에서 본 것이다. 그리고 나서, 이는 이미지 분류기로부터의 다른 데이터(902) 및 다른 세트의 투영된 픽셀을 초래하지만, 서펠 표현(920)은 동일하게 유지하게 된다(그 이유는 서펠 표현(920)이 3D로 정의되어 있기 때문임). 도 9b에서는, 이미지(930, 940)에서 구체화된 바와 같은 객체-라벨 확률 값이 다시 대응 데이터(904)에 기초하여 서펠 데이터 정의의 기존 확률을 업데이트하는데 사용된다.
도 9c는 도 9b에 도시된 뷰의 변화 다음에, 도 9a에 도시된 것과 유사한 뷰로의 복귀를 보여준다. 본 예에서, 유사한 뷰로의 이러한 복귀는 서펠 표현(920)에서 볼 수 있는 바와 같이 서펠(S4)을 변형시키는 루프 클로저 이벤트를 트리거한다. 이는 비디오 데이터의 제3(즉, 다른 후속) 프레임과 관련된 것일 수 있다. 이 경우에, 더 정확한 모델이 서펠(S2-S4)을 원통형 객체(905)의 표면에 관련시켜 준다는 사실에도 불구하고, 의사(擬似) 데이터 또는 최적화 드리프트는 초기에 서펠(S4)이 서펠(S2, S3)로부터 드리프트했음을 의미할 수 있다. 장면이 도 9a와 유사한 각도로부터 보이게 됨에 따라 도 9c에서 볼 수 있는 바와 같이, 도 9c의 이미지 분류기로부터의 데이터(902)는 도 9a에 도시된 것과 유사하다. 그러나 서펠(S4)이 변형되었기 때문에, 도 9c의 대응 데이터(904)는 이제 도 9a에서 제공된 것과는 다르다. 이는 데이터(902)로부터의 유사한 확률 값이 이제 상이한 서펠 데이터 정의 업데이트로 이어지는 것을 의미하고, 특히, 투영된 픽셀(p-S4)이 대응 데이터(904)에서 시프트 업(shift up)되기 때문에, 서펠(S4)에 대한 확률 값은 이제 픽셀 값(935)에 의해 더 크게 가중되고 픽셀 값(945)에 의해 보다 덜 가중된다. 그리고 나서, 이는 서펠(S1)에 대한 더 정확한 분류로 이어지는데, 그 이유는 픽셀(945)의 더 많은 확률 값이 업데이트에서 사용되기 때문이다(이전에는, 이들 값 중 일부는 도 9a의 950에서 픽셀(p-S4)이 p-S1상에 배치됨에 따라 S1보다는 오히려 서펠(S4)에 적용되었다). 이는 또한 서펠(S1)에 대한 더 정확한 분류로 이어지는데, 그 이유는 이러한 것이 이제 수정된 p-S4로의 이러한 영역의 오버랩 때문에 픽셀 값(935)에 의해 영향을 받기 때문이다. 도 9c의 업데이트된 데이터 정의(908)에서 보인 서펠 객체-라벨 확률 값은 이제 도 9a 및 도 9b의 이전 정의보다 더 정확하다. 업데이트된 데이터 정의(908)의 경우에, 만약 객체-모델 대체에 대한 문턱값이 70% 이상에서 설정되었다면, (서펠 치수에 기초하여 스케일링되는 바와 같이), 서펠(S1)은 '바닥(floor)' 객체 모델에 의해 대체될 것이고 서펠(S2, S3, S4)는 '원통(cyliner)' 객체로 대체될 것이다.
도 10a 및 도 10b는 위에서 설명한 바와 같은 방법 및 장치로부터의 대표적인 테스트 출력을 보여준다. 도 10a는 (위에서 언급된 바와 같이) NYU 깊이 데이터세트 V2에 SLAM 시스템을 적용함으로써 생성된 침실의 서펠 표현(1010)을 보여준다. 그리고 나서, 도 10b는 또한 동일한 장면의 의미론적으로 라벨링된 서펠 표현(1020)을 보여준다. 이 경우에, 서펠에 대한 객체 라벨은 그러한 서펠에 대해 가장 높은 확률 값을 갖는 객체 라벨로서 선택된다. 다른 라벨에는 다른 음영이 있다. '창', '벽', '가구', '침대' 및 '바닥' 라벨과 이들의 대응하는 음영이 도 10b에 나타나 있다. 여기서 유념해야 할 점은 표현(1010, 1020)이 입력 비디오 데이터에 기초하여 완전히 자동으로 생성되었다는 점이다 - 아이템의 수동 라벨링은 없다.
도 10b는 NYU 깊이 데이터세트 V2로부터의 다른 장면을 보여준다. 각각의 행은 다른 장면과 관련된 것이다. 제1 열의 이미지(1050)는 비디오 데이터의 입력 프레임을 보여준다. 제2 열의 이미지(1060)는 "실측 자료(ground truth)", 다시 말하면 클래스 라벨의 인간 주석을 보여준다. 제3 열의 이미지(1070)는 단일 프레임의 분류 다음에 할당된 객체 라벨을 보여준다. 제4 열의 이미지(1080)는 본원에서 설명한 방법 및 장치의 구현 예를 사용하는 대표적인 출력을 보여준다. 보인 바와 같이, 영역(1075, 1085)을 비교하면, 본 방법 및 장치는 "실측 자료(ground truth)"에 더 가까운 더 일관성있고 정확한 출력을 제공한다.
도 10a 및 도 10b는 SLAM 시스템을 사용하여 프레임 사이의 픽셀별 대응을 제공하는 것이 프레임당 2D 분할을 일관성 있는 3D 의미론적 맵으로 융합함을 허용함을 보여준다. 또한, 이러한 일관성 있는 3D 의미론적 맵은 상호작용 룸 스캐닝에 적합한 실시간 루프-클로저 가능 수법으로 생성되며 그 결과는 대응하는 2D 분할 정확도에서 상당한 개선을 보여준다. 그리고 나서, 이는 메모리 및 전력이 낮은 모바일 장치, 예컨대 스마트폰 또는 가정용 로봇 장치상에서 실시간 의미론적 분리를 위한 기회를 제공한다. 생성된 테스트 세트 상에서 일반적으로 덜 다양한 궤적을 특징으로 하는 NYU 깊이 데이터세트 V2보다는 위에서 설명한 방법 및 장치를 사용하여 라벨링 정확도가 크게 개선되었음이 보였다. 이는 비디오 데이터의 뷰포인트 변화가 있을 때 본 발명의 방법의 정확도 이점을 보여준다. 이는 자율 에이전트 분야에 특히 유리할 수 있고, 여기서 상당히 길고 더 다양한 궤적이 사용된다. 본원에서 설명한 특정한 예는 실시간 상호작용 용도, 예컨대 완전한 라벨링 범위를 획득하고 모호성을 해결하도록 캡처 장치를 어떻게 이동해야 하는지에 대한 결정을 내리기 위한 라벨링 품질의 실시간 측정치(다시 말하면, 서펠과 관련이 있는 객체-라벨 확률)를 이용하는 사람 또는 로봇에 적합하다. 또한, 객체 라벨은 3D 표현의 정확도를 개선하기 위해 SLAM 시스템으로 피드백될 수 있다. 예를 들어, 루프 클로저 동작은 객체 대응을 사용하여 부합 및/또는 객체 또는 클래스 별 평활화를 제공할 수 있다.
특정한 경우에, 데이터베이스로부터의 완전하고 형상적으로 정확한 모델로 특정한 객체로서 식별된 서펠 그룹을 대체하는 것은 여러 이점을 지닐 수 있다. 예를 들어, 객체 대체는 맵 표현의 정확도를 개선시킬 수 있다(예컨대, 데스크톱 컴퓨터 키보드 상의 정확한 키 표현을 허용함). 또한 이는 의미론적으로 의미 있는 장면 사전 확률로 이전의 잡음 깊이 추정치를 정규화할 수도 있다(예컨대, 완벽하게 평면인 벽 또는 바닥 표현을 허용함). 또한, 이는 또한 거기에 무엇이 있는지에 대한 합리적인 근사치로 비디오 데이터에서 아직 관측되지 않은 맵 영역을 채울 수 있다(에컨대, 서펠이 간단한 원통으로 대체되는 경우 찻잔의 보이지 않은 '다른' 측면이 표현될 수 있음). 개체 대체를 통한 맵 표현은 저장 요구 감소의 추가 이점을 지닐 수 있는데, 그 이유는 수 천개의 개별 서펠과는 반대로, 몇 가지 매개변수가 단일 객체 인스턴스를 기술(description)하는데 필요하기 때문이다.
도 2, 도 4, 도 5 및 도 7을 참조하여 본원에 설명한 바와 같은 기능 구성요소의 예는 전용 처리 전자장치를 포함할 수도 있고 그리고/또는 적어도 하나의 컴퓨팅 장치의 프로세서에 의해 실행되는 컴퓨터 프로그램 코드에 의해 구현될 수도 있다. 특정한 경우에, 하나 이상의 엠베디드 컴퓨팅 장치가 사용될 수 있다. 이는 컴퓨터 판독가능 매체 상에 로드된 컴퓨터 프로그램 코드를 실행하도록 메모리와 관련하여 동작하는 적어도 하나의 프로세서를 포함할 수 있다. 이러한 매체는 소거 가능하고 프로그램 가능한 판독 전용 메모리와 같은 고체 저장 장치를 포함할 수 있고 컴퓨터 프로그램 코드는 펌웨어를 포함할 수 있다. 다른 경우에, 상기 구성요소는 적절히 구성된 시스템-온-칩, 주문형 집적 회로 및/또는 하나 이상의 적절하게 프로그램된 필드-프로그래머블 게이트 어레이를 포함할 수 있다. 어떤 경우에, 상기 구성요소는 모바일 컴퓨팅 장치 및/또는 데스크톱 컴퓨팅 장치의 컴퓨터 프로그램 코드 및/또는 전용 처리 전자 장치에 의해 구현될 수 있다. 어떤 경우에, 상기 구성요소는 컴퓨터 프로그램 코드를 실행하는 하나 이상의 그래픽 처리 유닛에 의해, 이전의 경우와 마찬가지로 또는 이전의 경우 대신에 구현될 수 있다. 특정한 경우에, 상기 구성요소는 예컨대 다수의 프로세서 및/또는 그래픽 처리 유닛의 코어 상에서 병렬로 구현되는 하나 이상의 기능에 의해 구현될 수 있다.
본원에서 설명한 특정한 경우에, 서펠 표현(예컨대, 270, 570, 530)은 3D 공간의 "밀집" 모델이다. 이 경우에, 모델을 형성하는 다수의 서펠, 예컨대 수십만 또는 수백만 개의 요소가 존재한다. 이는 수십 또는 수백 개의 정의된 모델 포인트 만이 있을 수 있는 특징-기반 또는 "희소" 모델과 비교될 수 있다. 마찬가지로, 서펠 표현은 "밀집한" 것으로 간주 될 수 있는데, 그 이유는 비디오 데이터의 프레임 내 픽셀 값이 처리되고 3-차원 공간의 모델링 및 라벨링에 기여하기 때문이다. 예를 들어, "밀집" 표현에서 프레임 내 매 픽셀은 가능한 많은 정보를 추적, 매핑 및 라벨링 절차에 기여할 수 있다. 이는 서펠 3D 모델이 "밀집" 이미지, 다시 말하면 합성 이미지 내 대다수의 픽셀이 모델과 함께 저장된 정보에 기초하여 합성된 데이터를 지니는 캡처 장치의 해상도 이미지를 재구축하도록 합성 캡처 장치 또는 카메라로 다시 투영될 수 있게 한다. 이와는 대조적으로, "희소" 시스템, 에컨대 키-포인트 또는 추출된 특징을 이용하는 "희소" 시스템은 단지 이미지 데이터의 작은 서브세트의 픽셀 값을 사용하여 모델을 생성한다. "희소"의 경우에, 합성된 이미지가 캡처 장치 해상도에서 생성될 수 없는데, 그 이유는 상기 모델 내에 충분한 정보가 없기 때문이다. 이러한 방식으로, "밀집" 시스템은 3-차원 공간 내 하나 이상의 표면을 높은 정확도로, 예컨대 실제 환경의 주어진 허용오차 내에서 추정하는 역할을 한다.
특정한 경우에, 위에서 설명한 장치, 시스템 또는 방법은 자율 로봇 장치로 구현될 수 있다. 이 경우에 3-차원 공간을 내비게이트하는데 의미론적으로 라벨링된 표현이 상기 장치에 의해 사용될 수 있다. 예를 들어, 로봇 장치는 캡처 장치, 서펠 모델 생성기, 3D 서펠 모델을 저장하도록 구성된 데이터 저장 장치, 의미론적 증강기, 내비게이션 엔진 및 하나 이상의 움직임 액추에이터를 포함할 수 있다. 이 경우에, 로봇 장치는 로봇 장치가 특정한 환경을 내비게이트함에 따라 비디오 데이터를 캡처하도록 구성될 수 있다. 이것이 발생함에 따라, 로봇 장치는 본원에서 설명한 바와 같이 의미론적으로 라벨링된 서펠 모델을 생성하고 이를 데이터 저장 장치에 저장하도록 이루어질 수 있다. 그리고 나서, 내비게이션 엔진은 서펠 모델에 액세스하여 상기 환경 내에서 로봇 장치를 내비게이트하도록 구성될 수 있다. 어떤 경우에, 로봇 장치는 하나 이상의 기능을 수행하도록 이루어질 수 있다. 예를 들어, 로봇 장치는 매핑 기능을 수행하고, (예컨대, 비상시) 특정한 사람 및/또는 객체를 찾거나, 객체를 운반하거나, 청소 또는 유지보수를 수행하도록 이루어질 수 있다. 하나 이상의 기능을 수행하기 위해, 로봇 장치는 추가 감각 장치, 진공 시스템 및/또는 액추에이터와 같은 환경과 상호작용하는 추가 구성 요소를 포함할 수 있다. 그리고 나서, 이들 기능은 객체 라벨 또는 객체 라벨 확률에 기초하여 적용될 수 있다. 예를 들어 가정용 로봇은 '카펫 바닥' 라벨이 있는 공간의 일부에 한 세트의 기능을 적용하고 '리놀늄 바닥' 라벨이 있는 공간의 일부에 다른 한 세트의 기능을 적용하도록 구성될 수 있다. 마찬가지로, 내비게이션 엔진은 출구 및/또는 입구 포인트로서 '문(door)'으로서 라벨링된 공간의 영역을 사용하도록 구성될 수 있다. 일 예에서, 가정용 로봇은 룸 유형 또는 위치를 예측하기 위해, 예컨대 위의 예에서 계산된 바와 같이 객체 분류 또는 확률을 사용할 수 있다. 예를 들어, 라벨링된 서펠의 클러스터가 공간에서 '소파'와 '커피 테이블'이 검출됨을 나타내는 경우, 공간은 룸 유형 '거실'의 룸으로 분류될 수 있다. 마찬가지로, 서펠에 '침대'가 있음을 나타내는 라벨이 있는 경우 룸이 '침실' 유형으로 분류될 수도 있고 '오븐'으로서 라벨링된 서펠은 룸이 '주방'으로서 분류되는 것을 허용할 수 있다. 룸 예측은 서펠 확률 및/또는 대체된 객체 정의의 함수일 수 있고, 예컨대 룸 클래스에는 검출된 객체 확률에 기초하여 대응하는 확률이 할당될 수 있다.
위의 예는 예시적인 것으로 이해되어야 한다. 추가의 예가 예상된다. 여기서 이해하여야 할 점은 어느 한 예에 대해 설명한 임의의 특징이 단독으로나 또는 위에서 설명한 다른 특징과 조합하여 사용될 수 있고 또한 상기 예들의 다른 어떤 예의 하나 이상의 예와 조합하여, 또는 상기 예들의 다른 어떤 예의 임의 조합으로 사용될 수 있다는 점이다. 또한, 위에서 설명하지 않은 등가 예 및 변형 예 또한 첨부한 청구항에서 정의된 본 발명의 범위로부터 벗어나지 않으면서 채용될 수 있다.

Claims (34)

  1. 비디오 데이터의 객체를 검출하는 방법으로서,
    2-차원 이미지 분류기를 사용하여 비디오 데이터의 프레임의 공간 요소에 대한 객체-라벨 확률 값을 결정하는 단계;
    상기 공간 요소에 대응하는 비디오 데이터의 프레임에서 관측된 공간의 3-차원 표면 요소 표현에서 표면 요소를 식별하는 단계 - 공간 요소와 표면 요소 사이의 대응은 프레임에 대한 추정 포즈를 사용하여 상기 표면 요소 표현을 투영하는 것에 기초하여 결정됨 -; 및
    대응하는 공간 요소에 대한 객체-라벨 확률 값에 기초하여 상기 표면 요소에 대한 객체-라벨 확률 값을 업데이트하여 상기 비디오 데이터에 존재하는 객체의 의미론적으로 라벨링된 3-차원 표면 요소 표현을 제공하는 단계;
    를 포함하는, 비디오 데이터의 객체 검출 방법.
  2. 제1항에 있어서,
    상기 비디오 데이터의 처리 중에, 상기 비디오 데이터의 객체 검출 방법은,
    루프 클로저 이벤트를 검출하고 상기 표면 요소 표현에 공간 변형을 적용하는 단계 - 상기 공간 변형은 상기 표면 요소 표현에서 표면 요소의 3-차원 위치를 수정하는 것임 -;
    을 포함하며,
    상기 공간 변형은, 상기 공간 변형 후에 제1 표면 요소에 대한 객체-라벨 확률 값이 이전에 제2 표면 요소에 대응한 공간 요소에 대한 객체-라벨 확률 값을 사용하여 업데이트되도록 상기 공간 요소와 상기 표면 요소 표현의 표면 요소 사이의 대응을 수정하는 것인, 비디오 데이터의 객체 검출 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 비디오 데이터의 객체 검출 방법은,
    프레임 단위로,
    상기 3-차원 표면 요소 표면을 사용하여 생성되는 렌더링된 프레임을 상기 비디오 데이터의 프레임으로부터의 비디오 데이터 프레임과 비교하여 상기 비디오 데이터 프레임에 대한 캡처 장치의 포즈를 결정하는 단계; 및
    상기 비디오 데이터 프레임으로부터의 포즈 및 이미지 데이터를 사용하여 상기 3-차원 표면 요소 표면을 업데이트하는 단계를 포함하여, 포즈 그래프 없이 상기 비디오 데이터의 프레임을 처리해 상기 3-차원 표면 요소 표현을 생성하는 단계;
    를 포함하는, 비디오 데이터의 객체 검출 방법.
  4. 제3항에 있어서,
    상기 3-차원 표면 요소 표현을 생성하는데 사용되는 한 서브세트의 비디오 데이터의 프레임은 상기 2-차원 이미지 분류기에 입력되는, 비디오 데이터의 객체 검출 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 비디오 데이터의 프레임은 컬러 데이터, 깊이 데이터 및 법선 데이터 중의 적어도 하나를 포함하고,
    상기 2-차원 이미지 분류기는 프레임에 대한 컬러 데이터, 깊이 데이터 및 법선 데이터 중의 적어도 하나에 기초하여 객체-라벨 확률 값을 계산하도록 구성되는, 비디오 데이터의 객체 검출 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 2-차원 이미지 분류기는 컨벌루션 신경 네트워크(convolutional neural network)를 포함하는, 비디오 데이터의 객체 검출 방법.
  7. 제6항에 있어서,
    상기 컨벌루션 신경 네트워크는 비디오 데이터의 각각의 프레임에 대한 한 세트의 픽셀 맵으로서 상기 객체-라벨 확률 값을 출력하도록 구성되며, 상기 한 세트의 픽셀 맵 내 각각의 픽셀 맵은 한 세트의 이용 가능한 객체 라벨 내 상이한 객체 라벨에 대응하는, 비디오 데이터의 객체 검출 방법.
  8. 제6항 또는 제7항에 있어서,
    상기 2-차원 이미지 분류기는 상기 컨벌루션 신경 네트워크의 출력에 통신 가능하게 연결된 디컨벌루션 신경 네트워크를 포함하는, 비디오 데이터의 객체 검출 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 비디오 데이터의 객체 검출 방법은, 상기 표면 요소에 대한 상기 객체-라벨 확률 값의 업데이트 후에,
    상기 표면 요소에 대한 객체-라벨 확률 값을 정규화하는 단계;
    를 포함하는, 비디오 데이터의 객체 검출 방법.
  10. 제9항에 있어서,
    상기 정규화하는 단계는,
    상기 표면 요소 표현의 표면 요소에 대한 객체-라벨 확률 값에 조건부 랜덤 필드를 적용하는 단계를 포함하는, 비디오 데이터의 객체 검출 방법.
  11. 제9항 또는 제10항에 있어서,
    상기 객체-라벨 확률 값을 정규화하는 단계는,
    표면 요소 위치, 표면 요소 컬러 및 표면 요소 법선 중의 하나 이상에 기초하여 표면 요소에 할당된 객체-라벨 확률 값을 정규화하는 단계를 포함하는, 비디오 데이터의 객체 검출 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 비디오 데이터의 객체 검출 방법은,
    상기 표면 요소에 할당된 객체-라벨 확률 값에 기초하여 한 세트의 하나 이상의 표면 요소를 3-차원 객체 정의로 대체하는 단계;
    를 포함하는, 비디오 데이터의 객체 검출 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 비디오 데이터의 객체 검출 방법은,
    공간의 3-차원 표면 요소 표현의 표면 요소를 객체-라벨로 주석처리하여 주석이 달린 표현을 제공하는 단계;
    상기 주석이 달린 표현을 투영하는 것에 기초하여 상기 주석이 달린 표현으로부터 주석이 달린 비디오 데이터의 프레임을 생성하는 단계 - 상기 투영은 각각의 주석이 달린 프레임에 대한 추정 포즈를 사용하고, 각각의 주석이 달린 프레임은 할당된 객체-라벨을 갖는 공간 요소를 포함함 -; 및
    상기 주석이 달린 비디오 데이터의 프레임을 사용하여 상기 2-차원 이미지 분류기를 트레이닝하는 단계;
    를 포함하는, 비디오 데이터의 객체 검출 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서,
    상기 비디오 데이터의 객체 검출 방법은,
    객체의 제1 부분의 관측에 대응하는 비디오 데이터의 제1 프레임을 획득하는 단계;
    상기 2-차원 이미지 분류기를 사용하여 상기 비디오 데이터의 제1 프레임에 대한 이미지 맵을 생성하는 단계 - 상기 이미지 맵은 상기 제1 프레임의 영역 내 상기 객체의 제1 부분의 존재를 나타냄 -; 및
    표면 요소가 상기 제1 프레임의 영역 상에 투영하지 않아서 상기 영역 내 이미지 맵 값에 기초하여 상기 표면 요소에 대한 객체-라벨 확률 값을 업데이트하지 않는 것으로 결정하는 단계;
    를 포함하며,
    루프 클로저 이벤트의 검출 다음에, 상기 비디오 데이터의 객체 검출 방법은,
    상기 표면 요소의 3-차원 위치를 수정하는 단계;
    상기 객체의 제1 부분의 반복 관측에 대응하는 비디오 데이터의 제2 프레임을 획득하는 단계;
    상기 2-차원 이미지 분류기를 사용하여 상기 비디오 데이터의 제2 프레임에 대한 이미지 맵을 생성하는 단계 - 상기 이미지 맵은 상기 제2 프레임의 영역 내 상기 객체의 제1 부분의 존재를 나타냄 -;
    상기 수정된 제1 표면 요소가 상기 루프 클로저 이벤트 다음에 상기 제2 프레임의 영역 상에 투영하는 것으로 결정하는 단계; 및
    상기 비디오 데이터의 제2 프레임에 대한 이미지 맵에 기초하여 상기 표면 요소에 대한 객체-라벨 확률 값을 업데이트하는 단계;
    를 포함하고,
    상기 표면 요소에 대한 객체-라벨 확률 값은 다수의 뷰포인트로부터의 상기 표면 요소에 대한 융합된 객체 예측을 포함하는, 비디오 데이터의 객체 검출 방법.
  15. 비디오 데이터의 객체를 검출하는 장치로서,
    비디오 데이터의 개별 프레임에 대한 2-차원 객체-라벨 확률 분포를 수신하는 이미지-분류기 인터페이스;
    비디오 데이터의 주어진 프레임에 대해 상기 주어진 프레임 내 공간 요소 및 3-차원 표면 요소 표현의 표면 요소 사이의 대응을 나타내는 데이터를 수신하는 대응 인터페이스 - 상기 대응은 상기 주어진 프레임에 대한 추정 포즈를 사용하여 상기 표면 요소 표현을 투영하는 것에 기초하여 결정됨 -; 및
    상기 3-차원 표면 요소 표현의 개별 표면 요소에 할당된 객체-라벨 확률 값 을 반복 업데이트하는 의미론적 증강기;
    를 포함하며,
    상기 의미론적 증강기는 비디오 데이터의 주어진 프레임에 대해 상기 대응 인터페이스에 의해 수신된 데이터를 사용하여 상기 이미지 분류기 인터페이스에 의해 수신된 2-차원 객체-라벨 확률 분포를 대응하는 표면 요소에 할당된 객체-라벨 확률 값에 적용하도록 구성되는, 비디오 데이터의 객체 검출 장치.
  16. 제15항에 있어서,
    상기 대응 인터페이스는 상기 표면 요소 표현의 공간 변형 다음에 업데이트된 대응을 제공하도록 구성되고, 상기 공간 변형은 상기 비디오 데이터 내 루프 클로저를 실현하며,
    상기 의미론적 증강기는 이전에 제2 표면 요소에 대응한 공간 요소에 대한 객체-라벨 확률 값을 사용하여 제1 표면 요소에 대한 객체-라벨 확률 값을 업데이트하도록 상기 업데이트된 대응을 사용하는, 비디오 데이터의 객체 검출 장치.
  17. 제15항 또는 제16항에 있어서, 상기 이미지-분류기 인터페이스는 비디오 데이터의 주어진 프레임에 대한 대응하는 복수의 객체 라벨에 대응하는 복수의 이미지 맵을 수신하도록 구성되고, 각각의 이미지 맵은 관련된 객체 라벨에 대한 확률 값을 나타내는 픽셀 값을 지니는, 비디오 데이터의 객체 검출 장치.
  18. 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 비디오 데이터의 객체 검출 장치는,
    상기 표면 요소 표현의 표면 요소에 할당된 객체-라벨 확률 값을 정규화하는 정규화기;
    를 포함하는, 비디오 데이터의 객체 검출 장치.
  19. 제18항에 있어서,
    상기 정규화기는 상기 표면 요소 표현의 표면 요소에 대한 객체-라벨 확률 값에 조건부 랜덤 필드를 적용하도록 구성되는, 비디오 데이터의 객체 검출 장치.
  20. 제18항 또는 제19항에 있어서,
    상기 정규화기는 표면 요소 위치, 표면 요소 컬러, 및 표면 요소 법선 중의 하나 이상에 기초하여 표면 요소에 할당된 객체-라벨 확률 값을 정규화하도록 구성되는, 비디오 데이터의 객체 검출 장치.
  21. 제15항 내지 제20항 중 어느 한 항에 있어서,
    상기 의미론적 증강기는 상기 표면 요소에 할당된 객체-라벨 확률 값에 기초하여 한 세트의 하나 이상의 표면 요소를 3-차원 객체 정의로 대체하도록 구성되는, 비디오 데이터의 객체 검출 장치.
  22. 제15항 내지 제21항 중 어느 한 항에 있어서,
    상기 표면 요소 표현의 각각의 표면 요소는 3차원에서 상기 표면 요소의 위치를 정의하는 데이터 및 3-차원에서 상기 표면 요소에 대한 법선 벡터를 정의하는 데이터를 적어도 포함하며, 각각의 표면 요소는 3-차원 공간에서 2-차원 영역을 나타내는, 비디오 데이터의 객체 검출 장치.
  23. 비디오 데이터에 존재하는 객체를 검출하는 비디오 처리 시스템으로서,
    제15항 내지 제22항 중 어느 한 항의 비디오 데이터의 객체 검출 장치;
    갭처 장치로부터 비디오 데이터의 프레임을 획득하는 비디오 획득 인터페이스 - 상기 비디오 데이터의 프레임은 시간 경과에 따라 상기 캡처 장치 및 3-차원 공간 사이의 상대적인 움직임으로부터 생성됨 -; 및
    상기 획득된 비디오 데이터의 프레임에 기초하여 상기 3-차원 공간의 표면 요소 표현을 생성하도록 상기 비디오 데이터의 객체 검출 장치의 대응 인터페이스에 통신 가능하게 연결된 SLAM(simultaneous location and mapping) 시스템;
    을 포함하며,
    상기 SLAM 시스템은 상기 표면 요소 표현에 공간 변형을 적용하여 상기 비디오 데이터의 프레임 내 관측 루프를 폐쇄하도록 구성되고, 상기 공간 변형은 상기 표면 요소 표현의 적어도 하나의 수정된 표면 요소에 대한 새로운 3-차원 위치를 초래하는, 비디오 처리 시스템.
  24. 제23항에 있어서,
    상기 SLAM 시스템은,
    적어도 하나의 표현 특성에 기초하여 상기 3-차원 표면 요소 표현을 적어도 활성 및 비활성 부분으로 세그먼트하도록 구성된 분할기(segmenter);
    를 포함하며,
    상기 SLAM 시스템은 상기 표면 요소 표현의 활성 부분으로부터의 투영에 기초하여 활성 렌더링된 프레임을 계산하여 시간 경과에 따라 상기 표현을 업데이트하도록 구성되고,
    상기 SLAM 시스템은,
    시간 경과에 따라 상기 3-차원 표면 요소 표현의 활성 부분을 상기 3-차원 표면 요소 표현의 비활성 부분과 부합시키도록 구성된 등록 엔진;
    을 포함하며,
    상기 등록 엔진은,
    상기 3-차원 표면 요소 표면의 비활성 부분으로부터의 투영에 기초하여 비활성 렌더링된 프레임을 계산하도록 구성되고,
    상기 활성 렌더링된 프레임을 상기 비활성 렌더링된 프레임과 부합시키는 공간 변형을 결정하도록 구성되며, 그리고
    상기 공간 변형을 적용함으로써 상기 3-차원 표면 요소 표현을 업데이트하도록 구성되는, 비디오 처리 시스템.
  25. 제23항 또는 제24항에 있어서,
    상기 SLAM 시스템은,
    상기 활성 렌더링된 프레임을 상기 비디오 데이터로부터 제공된 프레임과 비교하여 상기 비디오 데이터와 상기 3-차원 표면 요소 표현의 활성 부분의 부합을 결정하도록 구성된 프레임-모델 추적 구성요소;
    를 포함하는, 비디오 처리 시스템.
  26. 제24항 또는 제25항에 있어서,
    상기 등록 엔진은 변형 그래프를 사용하여 상기 3-차우너 표면 요소 표현의 활성 부분을 상기 3-차우넌 표면 요소 표면의 비활성 부분과 부합시키도록 구성되고, 상기 변형 그래프는 표면 요소에 대한 초기화 시간에 기초하여 계산되며, 상기 변형 그래프는 부합 중에 주어진 표면 요소를 수정하도록 사용될 주어진 표면 요소에 대한 한 세트의 표면-요소 이웃을 나타내는, 비디오 처리 시스템.
  27. 제23항 내지 제23항 중 어느 한 항에 있어서,
    상기 비디오 처리 시스템은,
    상기 비디오 획득 인터페이스로부터 획득된 비디오 데이터의 프레임에 대한 객체-라벨 확률 분포를 계산하도록 상기 이미지 분류기 인터페이스에 통신 가능하게 연결된 2-차원 이미지 분류기;
    를 포함하는, 비디오 처리 시스템.
  28. 제27항에 있어서,
    상기 2차원 이미지 분류기는 컨벌루션 신경 네트워크를 포함하는, 비디오 처리 시스템.
  29. 제28항에 있어서,
    상기 컨벌루션 신경 네트워크는 비디오 데이터의 각각의 프레임에 대한 한 세트의 픽셀 맵으로서 상기 객체-라벨 확률 값을 출력하도록 구성되는, 비디오 처리 시스템.
  30. 제29항에 있어서,
    상기 2-차원 이미지 분류기는 상기 컨벌루션 신경 네트워크의 출력에 통신 가능하게 연결된 디컨벌루션 신경 네트워크를 포함하는, 비디오 처리 시스템.
  31. 로봇 장치로서,
    깊이 데이터 및 컬러 데이터 중 하나 이상을 포함하는 비디오 데이터의 프레임을 제공하는 적어도 하나의 캡처 장치 - 상기 깊이 데이터는 복수의 이미지 요소에 대한 상기 캡처 장치로부터의 거리를 나타냄 -;
    제15항 내지 제22항 중 어느 한 항의 비디오 데이터의 객체 검출 장치 또는 제23항 내지 제30항 중 어느 한 항의 비디오 처리 시스템;
    상기 로봇 장치를 상기 3-차원 공간으로 이동시키는 하나 이상의 움직임 액추에이터; 및
    상기 하나 이상의 움직임 액추에이터를 제어하는 내비게이션 엔진;
    을 포함하며,
    상기 내비게이션 엔진은 상기 3-차원 표면 요소 표현의 개별 표면 요소에 할당된 객체-라벨 확률 값에 액세스하여 상기 3-차원 공간 내에서 상기 로봇 장치를 내비게이트하도록 구성되는, 로봇 장치.
  32. 제31항에 있어서,
    상기 내비게이션 엔진은 상기 3-차원 표면 요소 표현의 표면 요소에 할당된 객체-라벨 확률 값에 기초하여 룸에 대한 입구 및 출구 포인트를 식별하도록 구성 되는, 로봇 장치.
  33. 모바일 컴퓨팅 장치로서,
    깊이 데이터 및 컬러 데이터 중 하나 이상을 포함하는 비디오 데이터의 프레임을 기록하도록 구성된 적어도 하나의 캡처 장치 - 상기 깊이 데이터는 복수의 이미지 요소에대한 상기 캡처 장치로부터의 거리를 나타냄 -; 및
    제15항 내지 제22항 중 어느 한 항의 비디오 데이터의 객체 검출 장치 또는 제23항 내지 제30항 중 어느 한 항의 비디오 처리 시스템;
    을 포함하는, 모바일 컴퓨팅 장치.
  34. 프로세서에 의해 실행될 때 컴퓨팅 장치로 하여금 제1항 내지 제14항 중 어느 한 항의 비디오 데이터의 객체 검출 방법을 수행하게 하는 컴퓨터 실행가능 명령어를 포함하는 비-일시적 컴퓨터 판독가능 저장 매체.
KR1020197002338A 2016-06-24 2017-06-09 비디오 데이터의 객체 검출 KR20190038808A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1611033.0 2016-06-24
GB1611033.0A GB2554633B (en) 2016-06-24 2016-06-24 Detecting objects in video data
PCT/GB2017/051679 WO2017220966A1 (en) 2016-06-24 2017-06-09 Detecting objects in video data

Publications (1)

Publication Number Publication Date
KR20190038808A true KR20190038808A (ko) 2019-04-09

Family

ID=56891621

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197002338A KR20190038808A (ko) 2016-06-24 2017-06-09 비디오 데이터의 객체 검출

Country Status (11)

Country Link
US (1) US10915731B2 (ko)
EP (1) EP3475875A1 (ko)
JP (1) JP7009399B2 (ko)
KR (1) KR20190038808A (ko)
CN (1) CN109643368B (ko)
AU (1) AU2017281822A1 (ko)
BR (1) BR112018076556A2 (ko)
GB (1) GB2554633B (ko)
RU (1) RU2019101759A (ko)
SG (1) SG11201811330WA (ko)
WO (1) WO2017220966A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021060684A1 (ko) * 2019-09-29 2021-04-01 주식회사 작당모의 머신 러닝을 이용한 영상 내 객체 인식 방법 및 장치
WO2021097409A1 (en) * 2019-11-15 2021-05-20 Waymo Llc Generating environmental data
KR20210105550A (ko) * 2020-02-19 2021-08-27 한국과학기술원 3차원 장면 그래프 생성 방법 및 장치
KR20220049983A (ko) * 2020-10-15 2022-04-22 건국대학교 산학협력단 의미론적 분할 기반의 3차원 포인트 클라우드 분류 장치 및 방법
KR20220106661A (ko) * 2021-01-22 2022-07-29 한국과학기술연구원 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 및 장치
KR20230102441A (ko) 2021-12-30 2023-07-07 주식회사 버넥트 맵 타겟 생성을 위한 사용자 인터페이스 제공 방법 및 그 시스템

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10078908B2 (en) * 2016-08-12 2018-09-18 Elite Robotics Determination of relative positions
WO2018063460A1 (en) * 2016-09-30 2018-04-05 General Electric Company System and method for optimization of deep learning architecture
EP4273655A3 (en) * 2016-11-08 2023-12-20 Dogtooth Technologies Limited A robotic fruit picking system
US10048753B1 (en) * 2017-04-20 2018-08-14 Robert C. Brooks Perspective or gaze based visual identification and location system
WO2019045727A1 (en) * 2017-08-31 2019-03-07 Sony Mobile Communications Inc. METHODS, DEVICES AND COMPUTER PROGRAM PRODUCTS FOR VERIFYING THE ACCEPTABILITY OF AN ENVIRONMENT FOR 3D SCANNING
US10872228B1 (en) * 2017-09-27 2020-12-22 Apple Inc. Three-dimensional object detection
LU100465B1 (en) * 2017-10-05 2019-04-09 Applications Mobiles Overview Inc System and method for object recognition
US10970553B2 (en) * 2017-11-15 2021-04-06 Uatc, Llc Semantic segmentation of three-dimensional data
US10572775B2 (en) 2017-12-05 2020-02-25 X Development Llc Learning and applying empirical knowledge of environments by robots
EP3726462A4 (en) * 2017-12-14 2020-12-23 NEC Corporation IDENTIFICATION DEVICE, IDENTIFICATION METHOD AND STORAGE MEDIUM
US11430069B1 (en) * 2018-01-15 2022-08-30 Corelogic Solutions, Llc Damage prediction system using artificial intelligence
WO2019142163A1 (en) * 2018-01-19 2019-07-25 Interdigital Vc Holdings, Inc. Processing a point cloud
US11734910B2 (en) * 2018-02-21 2023-08-22 Robert Bosch Gmbh Real-time object detection using depth sensors
US10671835B2 (en) * 2018-03-05 2020-06-02 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Object recognition
US10410354B1 (en) 2018-03-06 2019-09-10 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for multi-model primitive fitting based on deep geometric boundary and instance aware segmentation
US11062469B2 (en) 2018-03-09 2021-07-13 Microsoft Technology Licensing, Llc 4D tracking utilizing depth data from multiple 3D cameras
US10762662B2 (en) * 2018-03-14 2020-09-01 Tata Consultancy Services Limited Context based position estimation of target of interest in videos
WO2019185170A1 (en) * 2018-03-30 2019-10-03 Toyota Motor Europe Electronic device, robotic system and method for localizing a robotic system
US10812711B2 (en) * 2018-05-18 2020-10-20 Samsung Electronics Co., Ltd. Semantic mapping for low-power augmented reality using dynamic vision sensor
CA3108629A1 (en) 2018-08-08 2020-02-13 Abyssal S.A. System and method of operation for remotely operated vehicles for simultaneous localization and mapping
SG11202100945WA (en) 2018-08-08 2021-02-25 Abyssal S A System and method of operation for remotely operated vehicles leveraging synthetic data to train machine learning models
AU2018436278B2 (en) 2018-08-08 2023-08-17 Ocean Infinity (Portugal), S.A. System and method of operation for remotely operated vehicles with improved position estimation
AU2018436495B2 (en) 2018-08-08 2023-08-10 Ocean Infinity (Portugal), S.A. System and method of operation for remotely operated vehicles for automatic detection of structure integrity threats
US11113823B2 (en) * 2018-10-01 2021-09-07 Seiko Epson Corporation Three-dimensional detection and tracking pipline recommendation using performance prediction
US10983217B2 (en) * 2018-11-30 2021-04-20 Huawei Technologes Co. Ltd. Method and system for semantic label generation using sparse 3D data
US10832392B2 (en) * 2018-12-19 2020-11-10 Siemens Healthcare Gmbh Method, learning apparatus, and medical imaging apparatus for registration of images
US11995854B2 (en) * 2018-12-19 2024-05-28 Nvidia Corporation Mesh reconstruction using data-driven priors
CN109711365A (zh) * 2018-12-29 2019-05-03 佛山科学技术学院 一种融合语义信息的视觉slam回环检测方法及装置
EP3680812A1 (en) * 2019-01-11 2020-07-15 Aptiv Technologies Limited Method for classifying an image taken by a sensor
US10872326B2 (en) * 2019-02-25 2020-12-22 Walmart Apollo, Llc Systems and methods of product recognition through multi-model image processing
US10891744B1 (en) * 2019-03-13 2021-01-12 Argo AI, LLC Determining the kinetic state of a body using LiDAR point cloud registration with importance sampling
US11315328B2 (en) * 2019-03-18 2022-04-26 Facebook Technologies, Llc Systems and methods of rendering real world objects using depth information
CN109919989B (zh) * 2019-03-27 2023-11-14 广东工业大学 一种雷达电力巡检的点云数据配准方法、装置及设备
US11288857B2 (en) * 2019-04-04 2022-03-29 Google Llc Neural rerendering from 3D models
US11176374B2 (en) * 2019-05-01 2021-11-16 Microsoft Technology Licensing, Llc Deriving information from images
US11875252B2 (en) * 2019-05-17 2024-01-16 Robert Bosch Gmbh Neural network including a neural network projection layer configured for a summing parameter
US11610142B2 (en) * 2019-05-28 2023-03-21 Ati Technologies Ulc Safety monitor for image misclassification
CN112015938B (zh) * 2019-05-28 2024-06-14 杭州海康威视数字技术股份有限公司 点云标签传递方法、装置及系统
US11210199B2 (en) 2019-05-31 2021-12-28 Ati Technologies Ulc Safety monitor for invalid image transform
JP6618162B1 (ja) * 2019-06-06 2019-12-11 クリスタルメソッド株式会社 評価装置、及び評価システム
CN110428394B (zh) * 2019-06-14 2022-04-26 北京迈格威科技有限公司 用于目标移动侦测的方法、装置及计算机存储介质
CN110110727B (zh) * 2019-06-18 2023-04-18 南京景三医疗科技有限公司 基于条件随机场和贝叶斯后处理的图像分割方法
JP2022538833A (ja) * 2019-06-28 2022-09-06 デジタル ダイアグノスティックス インコーポレイテッド ビデオストリーミングを使用した医療用表面の表面洗浄の監視
WO2021026807A1 (en) * 2019-08-14 2021-02-18 Abb Schweiz Ag Method and apparatus for determining lock type
KR20210029586A (ko) * 2019-09-06 2021-03-16 엘지전자 주식회사 이미지 내의 특징적 객체에 기반하여 슬램을 수행하는 방법 및 이를 구현하는 로봇과 클라우드 서버
US11455531B2 (en) * 2019-10-15 2022-09-27 Siemens Aktiengesellschaft Trustworthy predictions using deep neural networks based on adversarial calibration
CN110781262B (zh) * 2019-10-21 2023-06-02 中国科学院计算技术研究所 基于视觉slam的语义地图的构建方法
US11222238B2 (en) * 2019-11-14 2022-01-11 Nec Corporation Object detection with training from multiple datasets
US11407431B2 (en) 2019-11-22 2022-08-09 Samsung Electronics Co., Ltd. System and method for object trajectory prediction in an autonomous scenario
CN111222543B (zh) * 2019-12-19 2024-03-22 津海威视技术(天津)有限公司 物质识别方法和设备及计算机可读存储介质
CN111192299A (zh) * 2019-12-20 2020-05-22 中冶天工集团有限公司 一种基于综合管廊视频监控系统的人员轨迹定位方法
CN111428551B (zh) * 2019-12-30 2023-06-16 杭州海康威视数字技术股份有限公司 密度检测方法、密度检测模型训练方法和装置
SG10201913754XA (en) * 2019-12-30 2020-12-30 Sensetime Int Pte Ltd Image processing method and apparatus, electronic device, and storage medium
CN111260774B (zh) * 2020-01-20 2023-06-23 北京百度网讯科技有限公司 生成3d关节点回归模型的方法和装置
CN111310643B (zh) * 2020-02-12 2023-08-29 北京师范大学 一种基于点云数据的车辆计数方法、装置及电子设备
US11443141B2 (en) 2020-02-27 2022-09-13 International Business Machines Corporation Using video tracking technology to create machine learning datasets for tasks
CA3157926A1 (en) * 2020-03-06 2021-09-10 Marc Eder Systems and methods for building a virtual representation of a location
US11574443B2 (en) * 2020-03-30 2023-02-07 Tetavi Ltd. Techniques for improving mesh accuracy using labeled inputs
US20210329306A1 (en) * 2020-04-15 2021-10-21 Nvidia Corporation Video compression using neural networks
CN111582447B (zh) * 2020-04-30 2023-04-07 电子科技大学 基于多种网络特征的闭环检测方法
US11709917B2 (en) * 2020-05-05 2023-07-25 Nanjing University Point-set kernel clustering
US11275970B2 (en) * 2020-05-08 2022-03-15 Xailient Systems and methods for distributed data analytics
WO2021234623A1 (en) * 2020-05-22 2021-11-25 Cron Systems Pvt. Ltd. System and method for transposition of a detected object and its tracking to a different device
US11436812B2 (en) * 2020-05-29 2022-09-06 Open Space Labs, Inc. Machine learning based object identification using scaled diagram and three-dimensional model
US11541903B2 (en) * 2020-06-03 2023-01-03 Waymo Llc Autonomous driving with surfel maps
US11676392B2 (en) * 2020-06-03 2023-06-13 Waymo Llc Localization using surfel data
US11222232B1 (en) * 2020-06-19 2022-01-11 Nvidia Corporation Using temporal filters for automated real-time classification
CN113963281A (zh) * 2020-07-01 2022-01-21 中兴通讯股份有限公司 一种视频结构化算法的测试方法及装置
US20220063662A1 (en) * 2020-08-26 2022-03-03 Waymo Llc Autonomous driving with surfel maps
CN112131958B (zh) * 2020-08-28 2022-05-20 成都信息工程大学 一种自动识别西南低涡的方法
CN111985578A (zh) * 2020-09-02 2020-11-24 深圳壹账通智能科技有限公司 多源数据融合方法、装置、计算机设备及存储介质
US11417110B2 (en) 2020-09-09 2022-08-16 Waymo Llc Annotated surfel maps
US11561552B2 (en) * 2020-09-15 2023-01-24 Waymo Llc Detecting environment changes using surfel data
US11699274B2 (en) 2020-10-06 2023-07-11 Waymo Llc Long range localization with surfel maps
US11978266B2 (en) 2020-10-21 2024-05-07 Nvidia Corporation Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications
US11145076B1 (en) * 2020-10-27 2021-10-12 R-Go Robotics Ltd Incorporation of semantic information in simultaneous localization and mapping
CN112312113B (zh) * 2020-10-29 2022-07-15 贝壳技术有限公司 用于生成三维模型的方法、装置和系统
US11734880B2 (en) * 2020-12-31 2023-08-22 Waymo Llc Sensor calibration with environment map
CN112699263B (zh) * 2021-01-08 2023-05-23 郑州科技学院 基于ai的二维美术图像动态展示方法及装置
CN112785643A (zh) * 2021-02-02 2021-05-11 武汉科技大学 一种基于机器人平台的室内墙角二维语义地图构建方法
CN113094551B (zh) * 2021-02-19 2023-09-19 深圳市麦谷科技有限公司 行车记录仪视频的检索方法、装置、服务端及检索系统
WO2022187251A1 (en) * 2021-03-01 2022-09-09 Waymo Llc Generating scene flow labels from point clouds using object labels
CN113313742A (zh) * 2021-05-06 2021-08-27 Oppo广东移动通信有限公司 图像深度估计方法、装置、电子设备及计算机存储介质
US11640698B2 (en) 2021-05-27 2023-05-02 International Business Machines Corporation Mapping physical locations to fit virtualized AR and VR environments
CN113593053A (zh) * 2021-07-12 2021-11-02 北京市商汤科技开发有限公司 视频帧修正方法及相关产品
CN114280566B (zh) * 2021-11-30 2023-05-23 电子科技大学 一种类标签关联一维距离像识别方法
WO2023132817A1 (en) * 2022-01-04 2023-07-13 Hewlett-Packard Development Company, L.P. Temperature profile deformation predictions
CN115965673B (zh) * 2022-11-23 2023-09-12 中国建筑一局(集团)有限公司 基于双目视觉的集中式多机器人定位方法
CN116071694B (zh) * 2023-03-07 2023-06-23 浙江华是科技股份有限公司 船舶检测方法、装置及计算机可读存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7609860B2 (en) * 2005-06-14 2009-10-27 Mitsubishi Electric Research Laboratories, Inc. Bilinear illumination model for robust face recognition
JP5278770B2 (ja) * 2007-02-08 2013-09-04 ビヘイヴィアラル レコグニション システムズ, インコーポレイテッド 挙動認識システム
DE102007048320A1 (de) * 2007-10-09 2008-05-15 Daimler Ag Verfahren zur Anpassung eines Objektmodells an eine dreidimensionale Punktwolke
GB0818561D0 (en) * 2008-10-09 2008-11-19 Isis Innovation Visual tracking of objects in images, and segmentation of images
CN101930284B (zh) 2009-06-23 2014-04-09 腾讯科技(深圳)有限公司 一种实现视频和虚拟网络场景交互的方法、装置和系统
CN101763636B (zh) * 2009-09-23 2012-07-04 中国科学院自动化研究所 视频序列中的三维人脸位置和姿态跟踪的方法
US8786625B2 (en) 2010-09-30 2014-07-22 Apple Inc. System and method for processing image data using an image signal processor having back-end processing logic
US8494285B2 (en) * 2010-12-09 2013-07-23 The Hong Kong University Of Science And Technology Joint semantic segmentation of images and scan data
DE102011075253A1 (de) * 2011-05-04 2012-11-08 Eberhard-Karls-Universität Tübingen Verfahren zur Bestimmung der relativen Lage eines Objekts im Raum sowie optisches Eingabesystem
US8879828B2 (en) * 2011-06-29 2014-11-04 Matterport, Inc. Capturing and aligning multiple 3-dimensional scenes
TWI461963B (zh) * 2011-08-17 2014-11-21 Wistron Corp 電腦鍵盤及其控制方法
US10033979B2 (en) * 2012-03-23 2018-07-24 Avigilon Fortress Corporation Video surveillance systems, devices and methods with improved 3D human pose and shape modeling
WO2014033055A1 (en) * 2012-08-27 2014-03-06 Aktiebolaget Electrolux Robot positioning system
US9542626B2 (en) * 2013-09-06 2017-01-10 Toyota Jidosha Kabushiki Kaisha Augmenting layer-based object detection with deep convolutional neural networks
US20150332464A1 (en) * 2014-05-19 2015-11-19 Occipital, Inc. Methods for automatic registration of 3d image data
EP3032495B1 (en) * 2014-12-10 2019-11-13 Dassault Systèmes Texturing a 3d modeled object
GB2538751A (en) 2015-05-27 2016-11-30 Imp College Of Science Tech And Medicine Modelling a three-dimensional space
GB2576322B (en) * 2018-08-13 2022-11-09 Imperial College Innovations Ltd Mapping object instances using video data

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021060684A1 (ko) * 2019-09-29 2021-04-01 주식회사 작당모의 머신 러닝을 이용한 영상 내 객체 인식 방법 및 장치
WO2021097409A1 (en) * 2019-11-15 2021-05-20 Waymo Llc Generating environmental data
KR20210105550A (ko) * 2020-02-19 2021-08-27 한국과학기술원 3차원 장면 그래프 생성 방법 및 장치
KR20220049983A (ko) * 2020-10-15 2022-04-22 건국대학교 산학협력단 의미론적 분할 기반의 3차원 포인트 클라우드 분류 장치 및 방법
KR20220106661A (ko) * 2021-01-22 2022-07-29 한국과학기술연구원 증강현실 엔진에 독립적인 피처 데이터 기반의 엔터티 추적 방법 및 장치
KR20230102441A (ko) 2021-12-30 2023-07-07 주식회사 버넥트 맵 타겟 생성을 위한 사용자 인터페이스 제공 방법 및 그 시스템

Also Published As

Publication number Publication date
RU2019101759A (ru) 2020-07-24
WO2017220966A1 (en) 2017-12-28
US20190147220A1 (en) 2019-05-16
RU2019101759A3 (ko) 2020-09-30
AU2017281822A1 (en) 2019-01-03
CN109643368B (zh) 2023-09-22
CN109643368A (zh) 2019-04-16
US10915731B2 (en) 2021-02-09
SG11201811330WA (en) 2019-01-30
BR112018076556A2 (pt) 2019-04-02
GB2554633A (en) 2018-04-11
GB2554633B (en) 2020-01-22
JP7009399B2 (ja) 2022-01-25
JP2019520654A (ja) 2019-07-18
EP3475875A1 (en) 2019-05-01
GB201611033D0 (en) 2016-08-10

Similar Documents

Publication Publication Date Title
US10915731B2 (en) Detecting objects in video data
US12062200B2 (en) Mapping object instances using video data
JP6854780B2 (ja) 三次元空間のモデリング
CN113330490B (zh) 三维(3d)辅助个性化家庭对象检测
Whelan et al. Real-time large-scale dense RGB-D SLAM with volumetric fusion
Simo-Serra et al. Single image 3D human pose estimation from noisy observations
Baak et al. A data-driven approach for real-time full body pose reconstruction from a depth camera
Dockstader et al. Multiple camera tracking of interacting and occluded human motion
US20210382497A1 (en) Scene representation using image processing
WO2023178951A1 (zh) 图像分析方法、模型的训练方法、装置、设备、介质及程序
Argyros et al. Three-dimensional tracking of multiple skin-colored regions by a moving stereoscopic system
Judd Unifying motion segmentation, estimation, and tracking for complex dynamic scenes
RU2825722C1 (ru) Визуализация реконструкции 3d-сцены с использованием семантической регуляризации нормалей tsdf при обучении нейронной сети
Duong Hybrid machine learning and geometric approaches for single rgb camera relocalization
Clement On Learning Models of Appearance for Robust Long-Term Visual Navigation
Tyszkiewicz Incorporating Projective Geometry into Deep Learning
Elanattil Non-rigid 3D reconstruction of the human body in motion
Allain Volumetric tracking of 3D deformable shapes
Abdellaoui et al. Body tracking and motion analysis using hybrid model
Li Single view human pose tracking
Svoboda Learning models and regression for visual tracking and detection
Shah et al. ATR Using Multi-view Morphing

Legal Events

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