KR20240012426A - 비제약 이미지 안정화 - Google Patents

비제약 이미지 안정화 Download PDF

Info

Publication number
KR20240012426A
KR20240012426A KR1020237042549A KR20237042549A KR20240012426A KR 20240012426 A KR20240012426 A KR 20240012426A KR 1020237042549 A KR1020237042549 A KR 1020237042549A KR 20237042549 A KR20237042549 A KR 20237042549A KR 20240012426 A KR20240012426 A KR 20240012426A
Authority
KR
South Korea
Prior art keywords
data
computer
implemented method
view
projection
Prior art date
Application number
KR1020237042549A
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 KR20240012426A publication Critical patent/KR20240012426A/ko

Links

Classifications

    • 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/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/388Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume
    • H04N13/393Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume the volume being generated by a moving, e.g. vibrating or rotating, surface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/689Motion occurring during a rolling shutter mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/44Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/46Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by combining or binning pixels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Battery Electrode And Active Subsutance (AREA)
  • Dry Formation Of Fiberboard And The Like (AREA)
  • Materials For Medical Uses (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 모션 데이터를 안정화하기 위한 시스템, 장치 및 방법에 관한 것이며, 상기 방법은 하나 이상의 소스로부터 객체와 관련된 데이터를 수신하는 수신 단계; 하나 이상의 기술을 사용하여 상기 데이터로부터 회전적으로 안정적인 시야를 설정하는 설정 단계; 하나 이상의 데이터 구조를 기반으로 안정적인 시야를 부호화(encoding)하는 부호화 단계이되, 상기 하나 이상의 데이터 구조는 적어도 1차원, 2차원 또는 그 이상의 차원 투영(dimensional projection)을 포함하는 것인, 부호화 단계; 및 부호화된 안정적인 시야로부터 모션 데이터를 추출하는 추출 단계이되, 모션 데이터가 안정화되는 것인, 추출 단계;를 포함한다.

Description

비제약 이미지 안정화
본원 출원은 비제약 전자 이미지 안정화 및 전방향 카메라 융합을 수행하기 위한, 즉 로봇 공학 및 스마트 카메라 애플리케이션에서 사용하기 위한 시스템, 장치(apparatus) 및 방법(들)에 관한 것이다.
이미지 안정화는 일반적으로 이미지 둘레의 자르기 창(cropping window)을 이동시켜 잘린 이미지의 내용이 정지된 것처럼 보이게 하거나, 또는 (카메라) 렌즈의 요소들을 물리적으로 작동시켜 센서 평면에서 이미지를 이동시키는 것을 의미한다. 또한, 이미지 안정화는 카메라 또는 이 카메라의 이미지를 안정화하기 위해 기계식 짐벌(mechanical gimbal)을 사용하는 것과 관련될 수 있다.
로봇 공학 및 스마트 카메라 애플리케이션의 문맥에서, 보통은 로봇 또는 센서가 소리를 내는 시각적 정보를 안정적인 방식으로 감지하는 것, 즉 세계에 대한 안정된 시야를 포착하는 것이 중요하다. 이는 이미지 안정화를 통해 달성될 수 있다.
그러나 이미지 안정화를 위한 현재의 방법들은, 일반적으로, 추가 렌즈 회전을 방지하는 기계적 및 광학적 제한사항으로 인해, 또는 전자 사례의 경우 과도한 자르기(excessive cropping)로 인해, 대략 몇 도 정도의 회전을 위해서만 효과적이다.
특히, 종래(또는 광학) 전자 안정화 접근법들은 광학 사례의 경우 렌즈 액추에이터 기계적 제한사항에 의해, 또는 전자 사례의 경우 과도한 이미지 자르기에 의해 제한되는 작은 각도 범위에 걸쳐서만 운영된다. 또한, 이러한 접근법들은 단일 시야 내로 다수의 카메라 이미지를 스티칭(stitching)하기 위한 내장 솔루션(built-in solution)이 부족하며, - 그 대신 특징 매칭(feature matching)에 의해 처리되어야만 한다.
카메라를 안정화하기 위해 기계식 짐벌을 사용하는 측면에서, 즉 회전에 대응하기 위해 외부에서 카메라에 다수의 액추에이터를 물리적으로 적용하는 측면에서, 카메라를 중심으로 제한받지 않는 회전을 허용하는 점 역시도 문제를 야기한다. 기계식 짐벌은 기계적으로 복잡하고, 비싸고, 전력 소모가 많고, 현저히 무거운 경향이 있고; 안정화 대역폭은 액추에이터 전력 및 전체 시스템 중량에 의해 제한되고; 안정화 동적 범위는 액추에이터 속도에 의해 제한되며; 단일 시야 내로 다수의 카메라 이미지를 스티칭하기 위해 추가 계산을 요구한다.
또한, 시스템의 시야를 부호화하기 위한 현재의 접근법들(approaches)은 특정 특성들을 나타내지 않고, 일부 접근법은 심지어 바람직하지 않을 수 있으며, 이는 상기 접근법들을 본 발명보다 상대적으로 더 열등하게 한다.
이러한 전술한 이유들에서, 적어도 전술한 문제들을 해결할 수 있고 현실적으로 달성되는 안정화의 품질 에뮬레이션(quality emulation)을 생성할 수 있는 비제약 전자 이미지 안정화 및 전방향 카메라 융합을 수행하는 방법, 시스템, 매체 및/또는 장치를 개발하는 것이 바람직하다.
하기에서 설명되는 실시예들은, 상기에서, 그리고 본원 출원 전체에 걸쳐서 설명되는 공지된 접근법들의 단점들 중 임의의 단점 또는 그 모두를 해결하는 구현예들로 제한되지 않는다.
이러한 발명의 내용은 하기에서 발명을 실시하기 위한 구체적인 내용에서 추가로 설명되는 개념들의 선택을 간소화된 형태로 소개하기 위해 제공된다. 이러한 발명의 내용은 청구되는 주제의 주요 특징들 또는 필수적인 특징들을 식별하도록 의도되는 것이 아닐뿐더러, 청구되는 주제의 범위를 결정하기 위해 사용되도록 의도되는 것도 아니다. 본 발명의 작업을 용이하게 하고, 그리고/또는 실질적으로 유사한 기술적 효과를 달성하기 위해 이용되는 변형들 및 대안의 특징들은 본원에서 개시되는 본 발명의 범위에 속하는 것으로 간주되어야 한다.
본 발명은 시야의 회전 안정화, 데이터에 대한 계산 수행과 관련하여 바람직한 특성들을 나타내는 시야 부호화용 데이터 구조들, 카메라 회전으로 인한 겉보기 모션(apparent motion)을 제거하기 위해 안정화를 사용함으로써 장면 모션(scene motion)의 추출 개선을 위한 예시적인 방법들과 상기 데이터 구조들을 사용하여 부호화된 시야에 대한 계산을 효율적으로 수행하는 방법들을 제공한다.
제1 양태에서, 본원 개시는 모션 데이터를 안정화하기 위한 컴퓨터 구현 방법을 제공하되, 상기 방법은 하나 이상의 소스로부터 객체들과 관련된 데이터를 수신하는 수신 단계; 하나 이상의 기술을 사용하여 상기 데이터로부터 회전적으로 안정적인 시야를 설정하는 설정 단계; 하나 이상의 데이터 구조를 기반으로 안정적인 시야를 부호화(encoding)하는 부호화 단계이되, 상기 하나 이상의 데이터 구조는 적어도 1차원, 2차원 또는 그 이상의 차원 투영(dimensional projection)을 포함하는 것인 부호화 단계; 및 부호화된 안정적인 시야로부터 안정적인 모션 데이터를 추출하는 추출 단계;를 포함한다.
제2 양태에서, 본원 개시는 모션 검출을 위한 데이터를 안정화하기 위한 컴퓨터 구현 방법을 제공하되, 상기 방법은 하나 이상의 소스로부터 객체들과 관련된 데이터를 수신하는 수신 단계; 하나 이상의 기술을 사용하여 상기 데이터로부터 회전적으로 안정적인 시야를 설정하는 설정 단계; 하나 이상의 데이터 구조를 기반으로 안정적인 시야를 부호화하는 부호화 단계이되, 상기 하나 이상의 데이터 구조는 적어도 1차원, 2차원 또는 그 이상의 차원 투영을 포함하는 것인 부호화 단계; 및 부호화된 안정적인 시야로부터, 상기 데이터에서 모션을 검출하기 위한 모션 데이터를 추출하는 추출 단계;를 포함한다.
제3 양태에서, 본원 개시는 모션을 검출하기 위한 장치를 제공하되, 상기 장치는 하나 이상의 소스로부터 데이터를 수신하기 위한 인터페이스; 및 하나 이상의 기술을 사용하여 상기 데이터로부터 안정적인 시야를 설정하고, 하나 이상의 데이터 구조가 2차원 또는 그 이상의 차원 투영을 포함하는 조건에서 상기 하나 이상의 데이터 구조를 기반으로 안정적인 시야를 부호화하며, 그리고 상기 데이터에서 객체 모션을 검출하기 위해 부호화된 안정적인 시야로부터 모션 데이터를 추출하도록 구성되는 하나 이상의 집적 회로;를 포함한다.
제4 양태에서, 본원 개시는 모션을 검출하기 위한 시스템을 제공하되, 상기 시스템은 하나 이상의 기술을 사용하여 상기 데이터로부터 안정적인 시야를 설정하도록 구성된 제1 모듈; 하나 이상의 데이터 구조가 2차원 또는 그 이상의 차원 투영을 포함하는 조건에서 상기 하나 이상의 데이터 구조를 기반으로 안정적인 시야를 부호화하도록 구성된 제2 모듈; 및 부호화된 안정적인 시야로부터 상기 데이터에서 객체 모션을 검출하기 위한 모션 데이터를 추출하도록 구성된 제3 모듈;을 포함한다.
본원에서 설명되는 방법들은 유형 저장 매체(tangible storage medium) 상에서 기계 판독 가능한 형태인 소프트웨어, 예를 들면 프로그램이 컴퓨터에서 실행될 때 본원에서 설명되는 방법들 중 임의의 방법의 단계들 모두를 수행하도록 적응된 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램의 형태인 소프트웨어에 의해 수행될 수 있되, 컴퓨터 프로그램은 컴퓨터 판독 가능한 매체에서 구현될 수 있다. 유형(또는 비-일시적) 저장 매체들의 예시들은 디스크, 썸드라이브(thumb drive), 메모리 카드 등을 포함하며, 그리고 전파 신호(propagated signal)는 포함하지 않는다. 소프트웨어는, 방법 단계들이 임의의 적합한 순서로, 또는 동시에 실행될 수 있도록, 병렬 프로세서 또는 직렬 프로세서에서 실행되기에 적합할 수 있다.
본원 출원은 펌웨어 및 소프트웨어가 가치 있고 별도로 거래 가능한 상품들일 수 있음을 인정한다. 이는, 원하는 기능들을 수행하기 위해 "덤(dumb)" 또는 표준 하드웨어에서 실행되거나 이런 하드웨어를 제어하는 소프트웨어를 포함하는 것으로 의도된다. 또한, 이는, 원하는 기능들을 수행하기 위해 실리콘 칩을 설계하거나, 또는 범용 프로그래밍 가능한 칩을 구성하는 데 사용되는 것처럼, HDL(하드웨어 설명 언어) 소프트웨어와 같은 하드웨어의 구성을 "설명"하거나 정의하는 소프트웨어를 포함하는 것으로도 의도된다.
본원에서 설명되는 임의의 특징은, 통상의 기술자에게 명백한 것처럼, 적절하게 결합될 수 있으며, 그리고 본 발명의 양태들 중 임의의 양태와 결합될 수 있다.
본 발명의 실시예들은 하기 도면들을 참조하여 예시에 의해 설명된다.
도 1은 모션 검출을 위한 데이터 안정화의 예시를 도시한 흐름도이다.
도 2는 RGB 또는 비-RGB 데이터 안정화의 예시를 도시한 개략도이다.
도 3은 2-D 투영의 예시들을 도시한 그림 다이어그램(pictorial diagram)이다.
도 4는 몰바이데 투영법(Mollweide projection)인, N_SIDE=4를 사용한 이중 픽셀화 HEALPix의 예시를 도시한 그림 다이어그램이다.
도 5는 방위 정사 투영법(Arzimuthal Orthographic projection)인, N_SIDE=4를 사용한 이중 픽셀화 HEALPix의 예시를 도시한 그림 다이어그램이다.
도 6은 방위 정사 투영법인, 이중 픽셀화 HEALPix 픽셀 경계의 예시를 도시한 그림 다이어그램이다.
도 7은 몰바이데 투영법인, 밴드 0을 사용한 이중 픽셀화 HEALPix의 예시를 도시한 그림 다이어그램이다.
도 8은 몰바이데 투영법인, 밴드 1을 사용한 이중 픽셀화 HEALPix의 예시를 도시한 그림 다이어그램이다.
도 9는 몰바이데 투영법인, 밴드 2를 사용한 이중 픽셀화 HEALPix의 예시를 도시한 그림 다이어그램이다.
도 10은 방위 정사 투영법인, 밴드 0을 사용한 이중 픽셀화 HEALPix의 예시를 도시한 그림 다이어그램이다.
도 11은 방위 정사 투영법인, 밴드 1을 사용한 이중 픽셀화 HEALPix의 예시를 도시한 그림 다이어그램이다.
도 12는 방위 정사 투영법인, 밴드 2를 사용한 이중 픽셀화 HEALPix의 예시를 도시한 그림 다이어그램이다.
도 13은 본 발명의 실시예들을 구현하기에 적합한 컴퓨팅 디바이스 또는 장치를 도시한 블록선도이다.
도 14는 기계 학습 모델과 함께 사용되는 훈련 데이터 세트의 일례를 나타낸 도해적 표현이다.
도 15는 예시의 데이터 구조에 의한 전처리(pre-processing) 후 훈련 데이터의 동일한 예시를 나타낸 도해적 표현이다.
공통 도면부호들은 유사한 특징들을 나타내기 위해 도면 전반에 걸쳐 사용된다.
본 발명의 실시예들은 하기에서 예시에 의해서만 설명된다. 이러한 예시들은, 비록 본 발명을 달성할 수 있었던 유일한 방식들이 아니긴 하지만, 현재 본원 출원인에게 알려진, 본 발명을 실행하도록 하기에 적합한 모드들을 나타낸다. 본원 설명은 예시의 기능들과 예시를 구성하고 작동하기 위한 단계들의 순서를 설명한다. 그러나 동일하거나 동등한 기능들 및 순서들은 다른 예시들에 의해서도 달성될 수 있다.
본 발명은 로봇 또는 검출기 장치에서와 같은 하나 이상의 소스 또는 카메라 소스로부터 완전히 회전 안정화된 시야 또는 안정적인 시야의 생성을 포함한다. 안정적인 시야는 전방향으로 설정될 수 있다. 본 발명은, 카메라 배향의 일부 측정을 사용하여, 하나 이상의 카메라로부터 회전 안정화된 전방향 시야를 생성하기 위해, 픽셀 비닝(pixel binning) 및 다운샘플링(downsampling)과 같은 기술들을 사용한다. 이는 실시간으로뿐만 아니라 온보드(on-board)에서도 적용될 수 있다. 또한, 완전히 회전 안정화된 시야를 설정하기 위한 기술로서 롤링 셔터 보정(rolling shutter correction)이 추가로 구현될 수 있다.
안정적인 시야가 제공되면, 다양한 광학 흐름 또는 기타 모션 추정 알고리즘들은 완전히 회전 안정화된 시야 및 관련된 임의의 부호화로부터 감지된 장면에서 분리된 병진 모션(translational motion)을 측정하기 위해 사용될 수 있다. 부호화는 (시각적 데이터의 임의의 도해적 표현, 즉 2-차원 투영을 나타내는) 임의의 데이터 구조, 또는 표 1에 상세하게 설명된 것들과 같은 특성들의 조합을 나타내는 본원에서 의도되는 임의의 투영들을 포함할 수 있다. 시각적 데이터의 2-차원 투영은, 2-차원 투영에서의 각각의 좌표와 관련된 깊이 정보/데이터를 포함함으로써 3-차원 투영에 대한 기초를 형성할 수 있다. 2차원 또는 3차원으로서의 구형 투영, 예를 들면 HEALPix 단일 또는 이중 픽셀화 데이터 구조들이 사용될 수 있되, 이는 투영의 동일한 픽셀 영역과 국소적 데카르트 본성(locally Cartesian nature)을 이용한다. 부호화된 시야는 결과적으로 광학 흐름 유형 알고리즘에 의해 처리되거나, 또는 그와 함께 사용될 수 있으며, 이는 전체적으로 보다 더 안정적이고 정확한 예측을 달성한다.
일반적으로, 본 발명은, 주로 로봇 공학 및 스마트 카메라 애플리케이션들에서 사용하기 위해, 비제약 전자 이미지 안정화 및 전방향 카메라 융합의 개념을 이용한다. 이는, 모션 블러(motion blur)를 최소화하기 위해 사진술에서 사용되는 전자 및 기계적 이미지 안정화와 달리, 카메라가 그 광학 중심을 중심으로 임의의 각도만큼 회전될 때, 안정화된 이미지에서 모션을 나타내지 않는 시야를 생성하는 것이다.
비제약 이미지 안정화
이미지 안정화는 일반적으로 2가지 다른 개념을 나타낸다. 첫 번째로, 사진술에서, 카메라 회전/진동으로 인한 모션 블러를 최소화하는 것은 전자 후처리(post-processing) 단계이거나, 또는 작동되는 렌즈 요소의 이용이다. 전자 사례의 경우, 이는 일반적으로 이미지 둘레의 자르기 창을 이동시켜 잘린 이미지의 내용이 정지된 것처럼 보이게 함으로써 기능하는 반면, 광학 사례의 경우에 이는 렌즈의 요소들을 물리적으로 작동시켜 센서 평면에서 이미지를 이동시킴으로써 기능한다. 이러한 방법들은, 일반적으로, 추가 렌즈 회전을 방지하는 기계적 및 광학적 제한사항으로 인해, 또는 전자 사례의 경우 과도한 자르기로 인해, 대략 몇 도 정도의 회전을 위해서만 효과적이다.
두 번째 공통 접근법은 카메라를 안정화하기 위해 기계식 짐벌의 이용에 있다. 이는 회전에 대응하기 위해 외부에서 카메라에 다수의 액추에이터를 물리적으로 적용하며, 이는 보통 카메라를 중심으로 하는 제한받지 않는 회전을 허용한다.
실제로 광학 흐름의 문맥에서(또는 다른 동등한 알고리즘들과 함께 사용되는) 이미지 안정화는 모션의 분리(isolation)를 제공한다. 회전으로 인한 모션에서 기인하는 카메라 병진(camera translation)으로 인한 모션의 분리는 카메라의 주변 장면의 모션과 관련된 알고리즘들의 정확성을 향상시킨다. 이는, 세계의 관심 영역들이 카메라의 틸팅(tilting)/패닝(panning)/요잉(yawing) 시 시야의 동일한 부분에서 유지되도록 보장하여, 프레임들 간의 공간적 일관성으로부터 이득을 얻을 수 있는 알고리즘들을 간소화한다.
비제약 전자 이미지 안정화/전자 짐벌의 이득은, 움직이는 부품들이 없고, 전력 효율적이며, 그리고 처리 지연이 제로에 가까운(프레임 주기의 1/10 미만) 실시간 또는 거의 실시간 동작이 가능하다는 점에 있다.
비제약 전자 이미지 안정화를 갖는 것은, CPU 또는 GPU와 달리, FPGA 또는 컴퓨터 비전 가속기 칩(유닛) 구현에 적합할 수 있다. 실제로, 비제약 전자 이미지 안정화는 사실상 눈/목/신체 작동을 사용하여 달성되는 안정화를 에뮬레이트하며, 이는 입력으로서 안정화된 이미지를 갖는 것에 의존하는 자연 유래 알고리즘들(nature-derived algorithms)의 이용을 가능하게 한다.
시야를 부호화하기 위한 데이터 구조
보통은 객체/로봇/센서가 자체 주변의 시각적 정보를 감지하는 것, 즉 세계에 대한 그 시야를 포착하는 것이 필요하다. 이는 전형적으로 다수의 이산점들에서 장면을 샘플링함으로써 달성되되, 각각의 점은 시야에서의 픽셀을 나타낸다. 이는 시각적 장면을 복수의 모자이크식 픽셀(tessellated pixel)로 나누는 효과를 가지되, 각각의 픽셀은 전형적으로 이러한 픽셀에 해당되는 장면 부분의 평균 조명(mean illumination)을 나타낸다. 이러한 세분화 및 이러한 픽셀들의 형상들은 무한수의 형태를 취할 수 있다. 그럼에도 불구하고, 일부 투영은, 예를 들면 균일한 픽셀 커버리지, 일관된 픽셀 형상들, 픽셀 레이아웃, 계산 표현 및 이러한 표현들에 저장된 데이터에 대한 추가 계산 연산을 수행하는 복잡성의 측면에서, 다른 투영들에 비해 장점이 있다. 회전 안정화된 경우, 이런 그리드의 배향은 흔히 일정하게 유지되되, 이동하는 카메라들의 정보는 이러한 그리드 상에 투영된다.
모든 투영 범위는, 예를 들면 큐브 맵, UV 구체, 유니큐브 맵, 아이코구체(icosphere) 및 골드버그 다면체(goldberg polyhedron)를 포함하지만, 그러나 이들로 제한되는 렌더링 및 모델링 공구들처럼 시야를 저장하기 위해 사용될 수 있다. 이상적인 투영은 하기 특성들을 나타낸다. - 국소적 데카르트 픽셀; 등면적 픽셀; 효율적인 비닝 알고리즘 - 최소의 초월 연산; 연속 - 무-특이성; 무-왜곡 - 객체들은 시야의 임의의 부분을 통해 볼 때 투영에서 동일한 표현을 가져야 한다; 메모리에서의 효율적인 표현; 연결된 픽셀 이웃들을 문의하는 효율적인 수단; 상이한 분해능의 영역들을 걸쳐 이어지게 하기 위해 여전히 공간 연산을 허용하는 동시에 다양한 분해능들에서 시야의 다양한 영역들을 샘플링하는 효율적인 수단; 적도를 중심으로 하는 영역의 픽셀 수평 경계들이 수평선과 정렬되도록 허용하는 픽셀 수평 경계들의 정렬.
이처럼 구체 부호화 데이터와 관련된 특성들은 주목할 만한 투영들과 함께 하기 표 1에 상세하게 설명되고 비교되어 있다. 표에는, "y"를 포함한 투영은 나열된 특성들로부터 이득을 얻거나, 또는 (적어도 본질적으로) 상기 나열된 특성들을 요구하는 반면, "-"는 그렇지 않다. 본 발명과 관련하여 이러한 특성들 각각의 중요성은 본원 출원의 다른 곳에서도 제공된다. 일부 투영의 그림 예시들은 도 3에 도시되어 있다.
표 1
표 1에서, 일부 픽셀은 "y*"로서 표시되는 삼각형 픽셀들로 변질되지만, 그러나 4개의 이웃 픽셀을 유지하며, 그리고 그렇게 여전히 정확히 4변형인 것처럼 탐색(traversal)될 수 있다.
회전 안정화된 이미지에 대한 계산
광학 흐름 추정은 일련의 이미지들에서 시간/모션 데이터를 추출하는 광범위한 알고리즘들 중 하나이다. 정지된 세계의 안쪽에서 캡처되는 이미지 시퀀스에서의 모션은 2개의 소스 중 하나에서 기인하되, 요컨대 세계를 통한 카메라의 병진으로 인한 모션 또는 세계에서 카메라의 회전으로 인한 모션에서 기인한다. 병진으로 인한 모션은 장면 기하학에 따라 달라지기는 하지만, 회전으로 인한 모션은 카메라의 회전 속도에 대한 지식으로부터 정확하게 계산될 수 있으며, 그리고 이렇게 이는 광학 흐름 알고리즘의 출력에서 보상될 수 있다. 이는 일부 알고리즘을 위해 동작할 수 있기는 하지만, 회전으로 인한 카메라 모션은 흔히 병진에 의해 생성되는 더 작은 신호들보다 상당히 더 커지기 때문에, 광학 흐름 추정기(optic flow estimator)가 큰 동적 범위 및 낮은 추정 노이즈를 소유할 것을 요구한다.
구형 이미지에 대한 효율적인 계산
큐브 맵은 효율적인 계산에 적합한 2D 그리드 상에 구체 시야를 캡처하는 수단으로서 3D 렌더링에서 오랫동안 사용되어 왔다. 시각적으로 이는 3D 렌더링 애플리케이션을 위해 충분한 솔루션이긴 하지만, 이러한 접근법은 시스템의 시야를 부호화하기에 바람직하지 못한 다수의 특성을 나타내는데, 예를 들면 고르지 않은 픽셀 샘플링, 일관되지 않은 픽셀 크기들 및 형상들, 및 이웃 픽셀들의 가변하는 레이아웃을 나타낸다. JPL의 HEALPix처럼, 이러한 문제들을 해결하기 위해 다른 구형 투영들이 개발되었기는 하지만, 이들 투영은 보통 한 번의 패스에서 전체 투영에 단일 계산을 적용하는 것보다는, 구체의 작은 영역들에 대한 계산을 수행하는 것과 더 관련이 있다.
효율적인 계산을 위해 설계된 기존 구형 투영들은, 전형적으로, 한 번의 패스(pass)에서 전체 투영에 단일 계산을 적용하는 것보다는, 예컨대 구면 조화 분석(spherical harmonic analysis)에서 구체의 작은 영역들에서의 효율적인 계산과 관련이 있다.
전자 이미지 안정화
본 발명의 일례에서, 동기화된 카메라들의 각각의 카메라 프레임 또는 프레임들의 세트는 출력 시야에서 단일 프레임으로 안정화된다. 각각의 개별 카메라 픽셀이 안정화되는 방식은 도 1 및 2에 도시되어 있다.
카메라 픽셀들은 알고리즘으로 스트리밍된다. 카메라 이미지들에는 이미지 처리가 적용될 수 있으며, 그런 후에, 카메라 이미지들은, 예를 들면 디베이어링(debayering), 상대적 조명 보상, 또는 기타 공통 이미지 처리 알고리즘들을 구현하기 위해, 안정화 알고리즘에 공급된다.
다운샘플링 시 픽셀 채널들을 개별적으로 축적하는 것과 같은 디베이어링의 구현은 이미지 안정화 이전에 카메라 데이터를 디베이어링해야 하는 필요성을 방지하는 데 도움이 될 수 있으며, 이로써 하드웨어/소프트웨어 자원이 확보된다.
각각의 카메라 픽셀의 경우, 단위 벡터는 특정한 기준 배향에 있을 때 데이터를 샘플링하는 세계 프레임 장면(world frame scene) 내로의 방향을 설명한다. 이러한 벡터는 카메라의 내재적 모델(intrinsic model) 및 외재적 모델(extrinsic model)을 토대로 계산될 수 있다. 이러한 계산은 해당하는 데이터를 필요한 만큼 생성하기 위해 모든 픽셀에 대해 온라인으로 수행될 수 있거나, 또는 연산의 시작 시, 또는 오프라인으로 한 번 수행될 수 있되, 결과들은 룩업테이블(LUT: lookup table)에 저장된다. 그런 다음, 정해진 픽셀에 대한 단위 벡터는 상기 LUT로부터 효율적으로 질의될 수 있되, 이는 프레임들 간의 동일한 계산의 반복을 방지한다.
그 외재적 매핑을 계산하는 토대가 되는 베이스 프레임에 상대적인 카메라의 배향의 측정치는 이미지 안정화 알고리즘에 제공된다. 이러한 상대적 회전에 의해 각각의 픽셀과 관련된 단위 벡터를 회전시킴으로써, 각각의 카메라 픽셀이 샘플링되고 있거나 샘플링되는 세계 프레임(world frame)에서의 방향을 계산할 수 있다.
이러한 단위 벡터(또는 동등한 좌표, 예컨대 구면 방위각 및 고도)는, 시스템의 안정화된 시야를 부호화하는 데 사용되는 안정화된 투영(예: 구형 투영) 내의 픽셀에 매핑된다. 다수의 카메라 픽셀은 동일한 구형 투영 픽셀에 매핑될 수 있거나, 또는 어떠한 픽셀도 매핑되지 않을 수 있다. 구형 표현(spherical representation)에서의 픽셀 인덱스는 비닝 함수(binning function)라고도 하는 카메라 픽셀의 단위 벡터의 함수로서 확인된다. 해당 픽셀을 비워진 상태로 둘 수 있는 구형 표현 픽셀에 카메라 픽셀들이 매핑되지 않을 때, 해당 픽셀의 이전 데이터를 유지할 수 있거나, 또는 해당 픽셀의 값이 이웃 픽셀들의 값을 토대로 보간될 수 있다. 다수의 픽셀이 안정화된 표현 픽셀에 할당될 때에는, 필터를 사용하여 반복적으로, 또는 프레임의 끝에서는 예컨대 평균을 취하여 해당 데이터를 결합할 수 있다. 이는 프레임 스트림의 픽셀들로서 메모리에 축적하고, 그런 다음 프레임의 끝에서 각각의 안정화된 표현 픽셀에 대한 평균을 취함으로써 구현될 수 있었다.
함께 배치되는 카메라들(또는 특정 애플리케이션을 위해 함께 배치된 카메라들에 적절하게 가까운 카메라들)의 경우, 이러한 접근법은 이미지 스티칭 방법을 제공하되, 이런 경우 다수의 카메라는, 자신들의 시야들이 겹쳐지는 경우, 안정화된 내부 표현의 동일한 부분에 데이터를 제공할 수 있다. 또한, 이러한 기술은, 시야에서의 불연속성이 인정되고, 그리고/또는 고려되는 경우, 함께 배치되지 않는 카메라들에도 적용될 수 있었다.
(로봇, 센서 등의) 시야 부호화
상기에서 열거한 속성들의 장점들(비닝 알고리즘의 처리하기 쉬운 계산, 등면적 픽셀, 무-특이성, 등위도 픽셀, 수평선으로 정렬되는 픽셀 에지, 및 국소적 데카르트 픽셀 정렬)을 고려하여, 가능한 접근법으로서 HEALPix 이중 픽셀화 알고리즘을 선택하였다. 그러나 이들과 유사한 표현들(예: 아이소큐브) 또는 변형들이 상기 중요 특성들 중 일부를 공유하는 것으로 이해된다. 이러한 시야에서 픽셀들의 균일한 분포 및 면적은 정확한 광학 흐름 계산(및 유사한 계산)을 위해 중요하며, 그리고 적도 둘레의 +/-45도 고도 영역에서 등위도 특성 및 수평 픽셀 경계들은 세계의 데카르트 축들에 상기 계산들의 결과를 매핑하는 데 유용하다.
(로봇의) 시야를 표현하기 위한 구형 투영의 이용은 일반적으로 로봇의 전체 시야를 캡처하고 다수의 카메라에서 기인하는 데이터를 결합하기 위한 수단을 제공한다. 이와 유사하게, 국소적 데카르트 및 등면적 픽셀들을 포함한 구형 투영의 이용은, 결과들의 일관된 스케일링(scaling)으로 시야에 대한 효율적인 계산을 허용하는 형태로, 로봇의 전체 시야를 캡처하는 수단을 제공한다.
HEALPix 알고리즘을 구현할 때, 2개의 N_SIDE 매개변수의 거듭제곱을 사용하여 계산을 간소화할 수 있는데, 그 이유는 이런 점이 다수의 나눗셈 및 곱셈을 비트 시프트들(bit shifts)로 대체되도록 허용하기 때문이다. 이는, 고정 소수점 구현과 같은 이런 알고리즘의 FPGA 구현을 위해 특히 유용하다. 또한, Movidius Myriad X와 같은 비전 가속기 칩에서의 사용을 위한 16비트 부동 소수점 정밀도로 알고리즘을 구현할 수 있으며, 이런 경우에도 다시 2N_SIDE 매개변수의 거듭제곱을 사용함으로써 부동 소수점 지수의 직접적인 조작을 통한 알고리즘 간소화를 허용한다.
(로봇의) 시야를 표현하기 위해 HEALPix 투영을 사용함에 따른 일부 장점은 하기와 같다.
- 비닝 알고리즘은 FPGA/ASIC에서의 효율적인 구현에 적합하되, 이는 단일 초월 함수(arctan)만을 평가하면 된다.
- 등면적 픽셀 - 시각적 장면의 균일한 샘플링이되, 이는 객체들이 여러 방향에서 볼 때 동일한 겉보기 크기(apparent size)를 유지함을 의미한다. 이는, 픽셀들 간의 공간적 관계, 예를 들면 상기 픽셀들 간의 광학 흐름 계산은 표현에서 임의의 2개의 인접 픽셀 간의 동일한 스케일을 유지하는 것을 의미한다.
- 무-특이성 - 원통형 또는 UV 투영과 달리, HEALPix는 모든 방향에서 명확한 상태로 유지된다.
- 국소적 데카르트 픽셀 - 종종, 구체의 국소 영역에서 2D 벡터들인, 구형 표면 상의 벡터들을 계산할 필요가 있다. 픽셀 및 그 이웃들이 이런 국소 영역에서 직교하여 배열된다면, 즉 픽셀 및 그 이웃들이 국소적으로 데카르트식이라면, 이들 2개의 벡터를 계산하는 알고리즘은 보통 2개의 1D 계산으로 분리될 수 있는데, 그 이유는, 직교하는 것에 의해, 2개의 방향이 많은 알고리즘에 대해 선형으로 분리될 수 있기 때문이다. 또한, 이런 특성이 없으면, 예를 들면 한 방향으로 픽셀과 그 이웃 간의 선에 정확히 평행한 모션은 처음부터 픽셀과 그 다음 2개의 이웃 CW 및 CCW 사이에서 측정된다. 장면에서의 움직임과 이런 이웃들 간 움직임 사이의 관계는 더 이상 선형으로 분리될 수 없으므로, 두 방향을 동시에 계산하지 않고는 이러한 픽셀에 대한 정확한 2D 벡터를 복구할 수 없으며, 이는 2개의 1D 알고리즘으로 2D 알고리즘의 분리를 방지한다.
- 등위도 픽셀 - 많은 알고리즘은 수평 장면 모션과 관련이 있으며, 그리고 이렇게 적도 둘레의 영역에서 수평 링으로 배열되는 픽셀들을 가짐에 따라 계산은 간소화될 수 있다.
- 효율적인 불균일 샘플링(heterogeneous sampling) - HEALPix 픽셀들은 재귀적으로 세분화되어 관심 영역에서의 샘플링 분해능을 증가시키거나, 또는 결합되어 정보가 적은 영역들에서 샘플링을 감소시킬 수 있다.
(로봇의) 시야를 표현하기 위해 HEALPix 이중 픽셀화 투영의 사용은 하기와 같은 추가 이득을 제공한다.
- 픽셀 에지들은 수평선으로 정렬된다. - 국소적 데카르트 및 등위도 픽셀 특성들과 결합될 때, 이는, 알고리즘들을 구현할 수 있는 위도의 원 둘레에서 연속적인 샘플링 밴드를 허용한다. 이러한 특성이 없으면, 투영을 중심으로 수평으로 이동하는 점은 2개의 평행한 픽셀 행 사이에서 이동할 때 시야에서 위아래로 이동하는 것처럼 보일 수 있다.
- 이런 투영의 구조는 구체를 3개의 직교 밴드(orthogonal band)로 분할하는 데 적합하며, 여기서는 각각의 픽셀이 픽셀의 국소적 데카르트 축들 각각을 따라서 적어도 한 번 샘플링된다. 적은 백분율의 픽셀들은 밴드 경계들에서 3회 샘플링된다.
이미지 안정화를 통해 카메라 픽셀들과 시야 내 픽셀들 간의 매핑은 공지되어 있기 때문에, 이러한 매핑을 반전시키고 보다 더 높은 속도로 관련된 카메라 픽셀들을 샘플링함으로써, 더 큰 시간 주파수로 시야에서의 영역들을 샘플링할 수 있다. 또한, 이런 영역을 세분화함으로써, 높은 공간 분해능으로 시야의 영역에서 샘플링할 수도 있다. 이는, 가변하는 정밀도(levels of detail)의 많은 내포 영역(nested region)을 갖도록 반복적으로, 그리고 다수의 영역에서 수행될 수 있었다. 이는, 시스템으로 하여금, 관심이 덜한 영역들의 처리를 최소화하면서, 장면의 관심 영역들로부터, 예를 들면 객체가 존재하는 영역들로부터 더 많은 정보를 수집하도록 허용하는 데 유용하다.
시야는 시각적 정보를 부호화해야 할 뿐만 아니라, 이는 다른 소스들의 데이터가 저장되는 구조로서 사용될 수 있다. 이는 다른 유형들의 센서 데이터, 예를 들면 빛의 다른 스펙트럼, 빛의 편광 정보, RADAR, LIDAR, 깊이 센서 등의 출력들일 수 있었거나, 또는 시야에 대한 메타 데이터, 예를 들면 이미지 분할(image segmentation)을 수행하기 위해 픽셀들의 라벨 지정, 또는 시야에서 객체들의 경계 상자(bounding box) 추적일 수 있었다.
시야에 대한 1D/2D 필터 또는 유사한 계산을 수행하는 수단으로서 시야로부터 3개의 밴드 추출
많은 컴퓨터 비전 애플리케이션 및 알고리즘은 2D 이미지에 걸친 1D 또는 2D 계산, 예를 들면 2D 커널(kernel)을 이용한 합성곱(convolution)을 포함한다. 전체 시야에 걸쳐 저장된 데이터에 이러한 동일한 기술들을 적용할 때, 시야의 각각의 점을 중심으로 하는 2D 매트릭스로서 이런 구형(또는 유사한) 데이터에 액세스하는 방법이 요구된다. 이는, 시야 상의 각각의 픽셀이 적어도 2개의 밴드에 의해 샘플링되도록, 데카르트 축들 각각을 둘러싸는 2D 데이터의 3개의 '밴드'로 구성되는 것으로서 시야를 처리함으로써 대략적으로 접근할 수 있다. 시야의 큐브 맵 표현의 경우, 상기 밴드들은 면들 (1,2,3,4), (1,5, 3,6) 및 (5,2,6,4)로 구성되되, 면들 (1,3), (2,4) 및 (5,6)은 서로 대향한다. 그런 다음, 알고리즘은 이러한 3개의 밴드 각각에 차례로 적용될 수 있되, 그 결과로 시야 픽셀당 2개의 데이터점(data point)의 계산이 이루어지며, 예를 들면 시야 상에 2D 벡터를 표현한다. 이러한 밴드들을 형성하는 픽셀 인덱스들은 오프라인으로, 또는 부팅 시 계산되어 룩업테이블에 저장될 수 있거나, 또는 즉시 계산될 수 있다. 밴드들은 병행 방식으로 처리될 수 있다. 일례에서, 시스템은 3개의 밴드에 대해 동시에 동일한 계산을 수행하도록 구성되거나, 또는 그에 추가로, 또는 그 대안으로 밴드를 알고리즘의 병렬 평가를 위한 섹션들로 분할하도록 구성된다.
이러한 접근법은, 상기에서 논의되는 다른 유사한 투영들(예: HEALPix, 유니큐브 등) 중 일부와 함께, HEALPix 이중 픽셀화 투영에 적용될 수 있거나, 또는 그와 함께 적용될 수 있다. 이는, 구체에서 1D/2D 계산의 효율적인 구현을 이용한 상기 투영들의 전술한 장점들의 결합을 허용한다. 이는, 예를 들면 내부 상태, 이전 프레임 또는 이전 상태 데이터와 같은 다른 소스들로부터 입력을 이끌어 내는 n-D 계산에도 쉽게 확장될 수 있었다. N_SIDE=4에 대한 이러한 밴드들의 예시들은 도 4~12에 도시되어 있다.
실제로 구형 시야(특히 HEALPix 이중 픽셀화 투영)로부터 3개의 직교 밴드의 추출은 1D 연산으로서 3개의 밴드 각각을 처리함으로써 구체에서 2D 또는 1D 연산을 수행하기 위한 효율적인 수단을 제공한다.
구형 데이터 구조로 부호화된 데이터에 대한 추론을 수행하도록 기계 학습 모델을 훈련시키기 위해 기존 데이터세트를 사용하는 수단으로서 훈련 데이터세트의 전처리
시스템은, 라벨 지정된 이미지들의 데이터세트와 같은 본원에서 설명되는 데이터 구조를 통해 입력 데이터를 캡처하기 위한 수단으로서 기계 학습(ML) 훈련 데이터를 적용하는 전처리 단계를 포함할 수 있다. 이는 안정화된 데이터 구조에 대해 동작할 기계 학습 모델들 또는 기술들을 훈련시키기 위해 기존 훈련 데이터세트를 사용하기 위한 수단일 수 있되, 이미지화된 객체는 원래 훈련 데이터세트 내의 객체들과 다른 특성들/특징들을 나타낼 수 있다. 결과적으로, ML 모델(들)은 상기 하나 이상의 데이터 구조에 따라서 모델 특징들을 업데이트하기 위해 상기 하나 이상의 데이터 구조에 대해 동작하도록 적응될 수 있다.
업데이트된 특징들은, 상기 하나 이상의 데이터 구조를 기반으로, 상기 데이터 내의 하나 이상의 객체를 분류하기 위해 ML 모델(들)에 의해 사용되되, 상기 하나 이상의 ML 모델은 안정적인 시야와 관련된 상기 부호화를 나타내는 객체를 인식하도록 구성된다. 일례에서, ML 모델은 구형 데이터 구조(spherical data structure)에서 자동차들을 인식하도록 훈련된다. 자동차들 및 관련된 라벨들을 포함하는 구형 데이터 구조의 필수 데이터세트는 훈련을 위해 사용될 수 있다. 이런 방법은 라벨 지정된 자동차들의 기존 데이터세트에 대해 훈련된 일반적인 ML 모델과 다르고 그보다 더 우세하다. 일반적인 ML 모델을 훈련시키기 위해 사용되는 임의의 이미지는 구형 데이터 구조를 적용하는 ML 모델(들)을 통해 생성된 특성들/특징들과 다른 특성들/특징들(즉, 분해능, 픽셀 형상, 왜곡)을 나타낸다.
ML 모델의 훈련을 위해, FoV 데이터 구조로 부호화된 데이터세트를 수동으로 캡처하고 라벨을 지정하고/주석을 추가하는 것 대신, 기존 라벨 세트를 데이터 구조 좌표계로 변환하면서, 자동차들의 이미지들은, 카메라 입력인 것처럼, 하나 이상의 데이터 구조 내로 직접적으로(또는 간접적으로 사소한 전처리를 통해) 공급될 수 있었다. 이는, 임의의 추가 데이터 캡처를 요구하지 않으면서, FoV 데이터 구조에 대해 동작할 모델을 훈련시키기에 적합한 데이터세트를 생성한다. 즉, 상기 하나 이상의 ML 모델은 하나 이상의 객체로 주석이 추가된 데이터를 사용하여 훈련되되, 주석이 추가된 데이터는 ML 모델들을 훈련시키기 위한 상기 하나 이상의 데이터 구조를 사용하여 변환된다. 그에 추가로, 또는 그 대안으로, 라벨 지정된 출력 데이터세트는 라벨 지정된 센서 입력의 데이터세트로부터 기계 학습 모델의 훈련을 위해 생성될 수 있되, 기계 학습 모델은 상기 하나 이상의 데이터 구조를 사용하여 부호화된 상기 데이터에 대해 동작하도록 구성된다.
본원 시스템에 의해 사용되는 ML 모델들 또는 기술들의 예시(들)는, 단지 예시로서, 라벨 지정되고, 그리고/또는 라벨 지정되지 않은 훈련 데이터세트를 기반으로 훈련된 모델을 생성하기 위해 사용될 수 있는 임의의 LM 기술 또는 알고리즘/방법; 하나 이상의 지도(supervised) ML 기술; 준지도(semi-supervised) ML 기술들; 선형 및/또는 비-선형 ML 기술들; 분류와 관련된 ML 기술들; 회귀와 관련된 ML 기술들 등 및/또는 이들의 조합들; 중 하나 이상을 포함하거나, 이들을 기반으로 할 수 있지만, 그러나 이들로 제한되지 않을 수 있다. ML 기술들/모델 구조들의 일부 예시는, 오직 예시로서, 능동 학습, 멀티태스크 학습, 전이 학습, 신경 메시지 구문 분석(parsing), 원샷 학습, 차원 축소, 결정 트리 학습, 연관 규칙 학습, 유사성 학습, 데이터 마이닝 알고리즘들/방법들, 인공 신경망들(NN), 오토인코더/디코더 구조들, 딥 NN들, 딥러닝(deep learning), 딥러닝 ANN들, 귀납적 논리 프로그래밍, 지원 벡터 머신들(SVM), 희소 사전 학습, 클러스터링, 베이지안 네트워크들, 강화 학습 유형들, 표현 학습, 유사성 및 메트릭 학습, 희소 사전 학습, 유전 알고리즘들, 규칙 기반 기계 학습, 학습 분류 시스템, 및/또는 이들의 하나 이상의 조합 등 중 하나 이상을 포함하거나 이들을 기반으로 할 수 있지만, 그러나 이들로 제한되지 않을 수 있다.
본원에서 설명되는 ML 모델(들) 또는 ML 기술(들) 중 임의의 모델 또는 기술을 훈련시키거나 적용할 목적으로 주석이 추가되거나 라벨이 지정되는 데이터의 예시(들)는 도 14 및 15에 도시된 것과 같은 훈련 데이터세트에서의 라벨 지정된 이미지들을 포함한다. 도 14 및 15에는 주석이 추가된 이미지들이 묘사되어 있다. 이러한 주석이 추가된 이미지들은 차량 분류를 위한 ML 모델을 훈련시키기 위해 사용되는 훈련 데이터세트의 부분이다.
도 1에는, 모션 검출을 위한 데이터를 안정화하는 예시의 프로세스 또는 방법들이 흐름도로 도시되어 있다. 특히 광학 흐름과 유사한 알고리즘을 이용한 계산을 위한 표현 형식으로(또는 투영으로서) 데이터를 보여주는 방법이 설명된다. 하나 이상의 소스로부터, 객체와 관련된 데이터가 수신된다. 회전적으로 안정적인 시야는 하나 이상의 기술을 사용하여 수신된 데이터로부터 설정된다. 안정적인 시야는 하나 이상의 데이터 구조를 기반으로 부호화된다. 데이터 구조들은 적어도 하나의 2D 투영, 또는 깊이 정보를 포함한 2D 투영으로부터 적응된 3차원 투영을 포함한다. 부호화로부터, 모션 데이터가 추출된다. 이러한 모션 데이터는 관련된 데이터로부터 객체의 모션을 검출하기 위해 사용된다.
단계 101에서는, 하나 이상의 소스로부터 객체 또는 이동하는 객체와 관련된 데이터가 수신된다. 상기 소스들은 디바이스, 로봇, 또는 기계의 센서 시스템과 관련된 하나 이상의 유형의 센서일 수 있다. 센서 시스템은 하나 이상의 모듈을 포함할 수 있다. 상기 하나 이상의 소스는 다양한 유형들의 카메라들일 수 있다. 소스들은, 예를 들면 시야와 관련된 데이터를 캡처하는 로봇 주변의 시각적 정보를 감지하도록 구성된다. 소스들은 다수의 이산점에서 장면을 샘플링함으로써 이미지 데이터를 수집할 수 있되, 각각의 이산점은 시야 상의 픽셀을 나타낸다. 하나 이상의 소스의 데이터는 디모자이크(demosaic)될 수 있다. 즉, 데이터가 비-RGB 데이터이거나, 또는 완전한 컬러링이 결여된 RGB 데이터일 때, 데이터는, 데이터 컬러링을 재구성하기 위해, 디모자이크 알고리즘으로 처리될 수 있다.
하나 이상의 소스로부터 수신되는 임의의 데이터는 시각적 정보에 상응하는 RGB 데이터이거나, 또는 비-RGB 데이터일 수 있되, 비-RGB 데이터는, 비-색상 정보, 예를 들면 빛의 스펙트럼의 데이터 또는 그와 관련된 데이터, 빛의 편광 정보, RADAR 또는 LIDAR의 출력, 깊이 인식, 거리 센서의 초음파 거리 정보, 온도, 그리고 메타데이터, 예컨대 의미론적 라벨 지정, 경계 상자 정점, 지형 유형, 또는 구역 지정, 예컨대 출입금지 구역, 충돌 시간 정보, 충돌 위험 정보, 청각, 후각, 신체 또는 임의의 기타 형태의 방향 센서 데이터, 중간 처리 데이터, 알고리즘에 의해 생성된 출력 데이터, 또는 기타 외부 소스들의 데이터와 관련된다. 이런 데이터를 수신하기 위한 각각의 소스들은 RGB 데이터인지, 또는 비-RGB 데이터인지 여부를 기반으로 적응된다. 데이터를 적합한 형식들로 전처리하기 위한 종래 단계들은 상기 적응과 관련하여 취해질 수 있되, 예를 들면 RADAR 샘플들을 픽셀화된 데이터로서 처리한다.
그에 추가로, 또는 그 대안으로, 픽셀 비닝 및 다운샘플링과 같은 기술들은 안정적인 시야를 설정하는 데 적용될 수 있되, 시야는 회전 안정화된 전방향이다. 일례에서, 픽셀 비닝은 3개의 색상 채널을 별도로 축적함으로써 상기 데이터를 디베이어링하도록 구성된다.
단계 103에서는, 상기 데이터로부터 하나 이상의 기술에 의해 회전적으로 안정적인 시야가 설정된다. 상기 기술들은 상기 하나 이상의 소스의 배향을 기반으로 상기 데이터로부터 회전 안정화된 전방향 시야를 생성하도록 구성되는 알고리즘들을 포함할 수 있다. 그에 추가로, 또는 그 대안으로, 상기 기술들은 롤링 셔터 보정을 수행하도록 구성되는 알고리즘들을 더 포함할 수 있다. 알고리즘들은, 각각의 카메라 프레임 내 각각의 개별 픽셀 행에 대해 카메라 포즈(camera pose)를 업데이트하여 상기 데이터 내의 롤링 셔터 인공물을 보상함으로써 그렇게 수행될 수 있다. 또한, 이러한 기술들은 데이터 구조 또는 투영에 따른 이기종 감지(heterogeneous sensing), 예컨대 HEALPix의 픽셀들의 내포된 본성(nested nature)의 사용과 관련하여 사용될 수 있다.
그에 추가로, 또는 그 대안으로, 시뮬레이션된 데이터는 실세계 자극(real world stimulus)을 에뮬레이트하기 위한 수단으로서 시야 내로 삽입되거나, 중첩되거나, 또는 어떤 다른 방식으로 결합되거나 통합될 수 있다. 시뮬레이션된 데이터는 입력 데이터의 부분일 수 있거나, 또는 별도의 데이터 스트림일 수 있다. 일례에서, 시스템은 실제로 비어 있는 방인 객체의 외양을 시뮬레이션할 수 있다. 이는 대안의 현실(reality)을 적용하는 것과 유사하다. 시뮬레이션된 데이터의 사용은 본원에서 설명되는 임의의 데이터 유형들 및 감지 양식들(sensing modalities)/소스들에 적용될 수 있다.
이러한 기술들은, RGB 또는 비-RGB의 여부와 무관하게, 안정적인 시야를 설정하기 위해 연속적인 방식으로 반복해서 수신되는 데이터를 첨가함으로써, 상기 입력 데이터를 처리할 수 있다. 예를 들면, 픽셀들은 스트리밍 방식으로 소비되되, 각각의 픽셀은 반복적인 방식으로 안정화된 프레임에 추가된다. 이러한 스트리밍은, 전체 카메라 이미지가 어느 곳에도 결코 저장될 필요가 없다는 점, 즉 메모리에 임시 저장되지 않고, 즉시 소비된다는 점에서 독특하다. 이는 즉시 수행될 수 있거나, 또는 부분적으로 또는 완전하게 버퍼링된 아키텍처들로 수행될 수 있었다. 즉, 처리된 데이터는 적어도 부분적으로 메모리에 저장될 수 있거나, 또는 상기 데이터를 메모리에 저장하지 않으면서 실시간으로 처리된다.
단계 105에서는, 하나 이상의 데이터 구조를 기반으로 안정적인 시야가 부호화되되, 상기 하나 이상의 데이터 구조는 적어도 하나의 2-차원 또는 3-차원 투영을 포함한다. 3-차원 투영은 2-차원 투영의 적응(adaptation)일 수 있다. 부호화는, 모션 데이터를 추출하기 위해, 상기 부호화로부터의 회전 모션으로부터 분리된 병진 모션을 평가하는 데 사용될 수 있다. 병진 모션은, 시야가 안정화될 때, 분리될 수 있다.
하나 이상의 데이터 구조는 구형 투영, 원통형 투영, 또는 의사-원통형 투영일 수 있다. 데이터 구조들은 등면적 투영 및/또는 국소적 데카르트 투영일 수 있거나, 또는 등면적 및 국소적 데카르트 특성들과 관련될 수 있다. 객체의 구형 투영은, 안정적인 시야가 이동하는 객체와 관련하여 적어도 부분적으로 비-안정화될 수 있는 정도로, 로봇 또는 디바이스와 같은 소스(들)와 함께 이동한다. 구형 투영은, 모션 추정 알고리즘을 사용하여 추출되는 모션 데이터가 이득을 얻을 수 있는 동일한 픽셀 면적 및 국소적 데카르트 본성과 같은 특징들을 포함할 수 있다. 알고리즘은, 로봇의 전체 시야를 캡처하기 위한, 그리고 다수의 카메라의 데이터를 결합하기 위한 로봇의 시야를 나타내는 구형 투영의 상기 특성들에 대하여 학습할 수 있다. 이는 결과적으로 결과들의 일관된 스케일링으로 시야에 대한 효율적인 계산을 허용한다. 알고리즘은 광학/시각적인 흐름 등일 수 있다. 등면적 투영 및 국소적 데카르트 투영과 관련된 특성들을 기반으로, 모션 데이터는 알고리즘을 사용하여 추출된다.
그에 추가로, 또는 그 대안으로, 안정적인 시야를 부호화하기 위한 데이터 구조는 (단일의) 계층적 등면적 등위도 픽셀화(HEALPix: Hierarchical Equal Area isoLatitude Pixelization) 투영일 수 있거나, 또는 HEALPix 투영의 이중 픽셀화 파생물일 수 있다. HEALPix 투영은 2^n HEALPix N_SIDE 매개변수들과 함께 적용될 수 있다. 또한, 광학 흐름이 계산되는 구조로서 HEALPix 단일 또는 이중 픽셀화 알고리즘의 사용은 동일한 픽셀 면적 및 국소적 데카르트 본성의 특성들로부터 이득을 얻는다. 이러한 이득은 전술한 부분들 및 본원 출원 전체에 걸쳐서 수반된다.
목적을 부호화하기 위한 데이터 구조는 본원에서 설명되는 FPGA 또는 비전 가속기 유닛 또는 기타 하드웨어 논리 구성요소와 같은 명시된 유형의 하드웨어에 맞춰 조정될 수 있다. 일례에서, FPGA에서는, HEALPix 및 HEALPix 이중 픽셀화의 고정 소수점 구현이 적용될 수 있다. 2^n HEALPix N_SIDE 매개변수들은 비트 시프트의 구현에 의해 나눗셈 및 곱셈을 간소화하는 데 사용될 수 있다. 다른 예시에서, FP16 수학을 사용하는 비전 가속기 유닛에서 HEALPix의 구현은, 지수의 덧셈/뺄셈으로서의 구현에 의해 나눗셈 및 곱셈을 간소화하기 위해 2^n HEALPix N_SIDE 매개변수들의 사용을 고려해 볼 때 동일하게 적용될 수 있다. FPGA 및 비전 가속기 유닛과 같은 하드웨어에서 데이터 구조의 적용은 성능 및 속도 모두의 측면에서 일반적인 CPU 구현보다 더 우세하다. 이는 특히 HEALPix 유형 데이터 구조 및 구현을 이용한 경우이다.
추가 예시에서, 직교 밴드들은 구형 투영과 관련된 하나 이상의 데이터 구조와 관련하여 추출될 수 있되, 직교 밴드들은 구형 투영의 식별 가능한 데카르트 축들을 중심으로 한다. 3개의 직교 밴드가 추출될 수 있다. 즉, 구형 투영이 HEALPix인 경우, 단일 또는 이중 픽셀화. 3개의 데카르트 축을 중심으로 HEALPix(또는 유사한) 구체를 둘러싸는 3개의 직교 밴드의 추출. 이중 픽셀화를 사용한 효율적인 밴드 추출의 가능화. 또한, 구형 투영 상에서 2D 합성곱을 각각의 밴드 둘레의 3개의 1D 합성곱으로 분리함으로써 2D 합성곱을 수행하기 위한 수단으로서 3개의 직교 밴드가 사용되되, 여기서 각각의 밴드의 링들은 끝 부분끼리 연결되는 것으로서 처리되어 픽셀들의 단일의 1D 라인을 형성한다. 효과적으로, 2D 합성곱의 수행을 개선하기 위해, 직교 밴드들 각각의 둘레의 1D 합성곱들이 생성된다. 또한, (직교하는) 밴드 구조를 사용하여 구체에 대한 임의의 종류의 공간 필터링도 보충될 수 있다.
또한, 직교 밴드들은, 원통형 투영과 같은 다른 투영들과 관련된 상기 하나 이상의 데이터 구조와 관련하여 추출될 수 있다. 원통형 투영에서, 직교 밴드들은, 수직 스트립들(vertical strips)을 기반으로 방향을 캡처하는 방식으로, 원통형 투영의 식별 가능한 데카르트 축들을 중심으로 한다. 이러한 수직 스트립들은 직교 밴드들과 동일한 방식으로 사용된다. 즉, 수직 밴드들의 북쪽 및 남쪽(극) 부분이 제거되면, 수직 밴드들은 직교 밴드들과 동일한 방식으로 사용될 수 있었다. 원통형 투영의 경우, 이미지는, 이미지 행들이 각각의 행의 양단에서 서로 연결되어 있는 루프형 2D 픽셀 그리드로서 표현되되, 이는 우선 행들의 둘레를 루핑(looping)하고 그런 다음 열들을 루핑함으로써 처리된다.
부호화 프로세스 동안 또는 그 후에, 이기종 감지는 설정될 때의 안정적인 시야에 도입될 수 있되, 안정적인 시야는 전방향성이다. 이는 본원에서 설명되는 것들과 같은 하나 이상의 기술에 의해 설정된다. 이기종 감지는 보다 더 높은 공간 또는 시간 분해능으로 시야의 일부 또는 특정 영역들만의 샘플링을 가능하게 한다. 즉, 보다 더 높은 공간 분해능으로 안정적인 시야의 적어도 일부분이 샘플링되거나, 또는 안정적인 시야의 영역들에 걸친 샘플링이 동적으로 이루어진다.
HEALPix 투영, 단일 또는 이중 픽셀화의 측면에서, 이기종 감지는 HEALPix의 픽셀들의 내포된 본성을 활용한다. 이는 센서 평면에서 하나 이상의 관심 영역을 보다 더 자주 샘플링하도록 하나 이상의 카메라의 제어를 허용한다. 이기종 감지는, 해당 관심 영역과 관련된 샘플링 속도를 제공하기 위해 상기 데이터로부터 관심 영역을 보다 더 자주 샘플링하도록 구성되되, 보다 더 높은 샘플링 속도와 관련된 상기 영역은 안정적인 시야 상에서 동적으로 이동할 수 있으면서 그 크기가 조절될 수 있다. 서로 다른 영역들은 서로 다른 샘플링 속도를 포함할 수 있다. 이기종 감지 동안, 하나 이상의 HEALPix 픽셀은 분할되어 안정적인 시야의 공간 분해능을 증가시킬 수 있다.
그 대안으로, 그리고 그에 추가로, HEALPix 데이터 구조 내의 관심 영역이 식별될 수 있다. 식별된 영역은, 다음 카메라 프레임으로부터, 이런 시야의 부분과 관련된 카메라 원시 데이터를 추출하기 위해 역 매핑(reverse mapping)을 생성하는 데 사용될 수 있다. 특히, 이는, 보다 더 높은 분해능의 이미지의 어느 부분들이 시야 데이터 구조 내의 어느 픽셀에 매핑될 수 있는지에 대한 정보이다. 이러한 매핑은 최대 분해능 이질성(heterogeneity)의 구현을 가능하게 한다. 매핑과 관련되어 생성된 데이터는, 메인 시야 데이터 구조 내에 통합되기보다는, 별도의 2D 이미지로서 표현될 수 있다. 매핑은 데이터 구조를 부호화하는 데 사용될 수 있다.
단계 107에서는, 해당 데이터에서 모션을 검출하기 위해 부호화된 안정적인 시야로부터 모션 데이터가 추출된다. 추출은 객체의 모션을 추정하는 광학 흐름 또는 유사한 알고리즘들을 통해 달성될 수 있다. 추출된 모션 데이터는 등면적 및 국소적 데카르트와 같은 투영들을 고려하고 이들 투영과 연관된다. 이러한 모션 검출은 하나 이상의 소스와 관련된 하나 이상의 모듈, 디바이스 또는 장치를 포함하는 시스템 상에서 수행될 수 있다. 모션 검출은 상기 소스들 상에서 직접적으로 계산될 수 있다. 상기 시스템, 디바이스 또는 장치는 검출기, 로봇의 일부분, 또는 드론형 디바이스일 수 있되, 이들은 하나 이상의 소스로부터 데이터를 수신하기 위한 인터페이스; 및 하나 이상의 기술을 사용하여 상기 데이터로부터 안정적인 시야를 설정하고, 하나 이상의 데이터 구조가 3-차원 투영을 포함하는 조건에서 하나 이상의 데이터 구조를 기반으로 안정적인 시야를 부호화하며, 그리고 상기 데이터에서 객체 모션을 검출하기 위해 부호화된 안정적인 시야로부터 모션 데이터를 추출하도록 구성되는 하나 이상의 집적 회로;를 포함한다.
도 2에는, 데이터 안정화의 예시가 개략도로 도시되어 있다. 도 2에는, 각각의 개별 카메라 픽셀이 안정화되는 방법이 묘사되어 있다. 도면에서, 카메라 픽셀들(201)은 축전기(또는 메모리를 포함한 기타 필터들)(215)에 의해 수신된다. 카메라 픽셀들(201)은, 축전기에 의해 수신되기 이전에, 개선된 픽셀 품질을 위해 선택적으로 전처리된다(203).
그에 추가로, 또는 그 대안으로, 이미지 처리는 카메라 이미지들에 적용될 수 있다. 이미지 처리 또는 이미지 프로세서는, 디베이어링, 상대적 조명 보상 등과 같은 이미지 안정화 알고리즘들의 사용을 포함할 수 있다. 이런 프로세스에서, 카메라의 내재적(및 외재적) 모델들에서의 픽셀 방향 벡터(205)는 온라인/실시간으로 수행함으로써, 또는 오프라인으로 채워진 룩업테이블에서 검색되어 계산될 수 있다. 룩업테이블은 효율적인 질의를 제공하되, 이는 프레임들 간의 반복되는 계산들을 방지한다. 실시간 수행은 하드웨어 제한사항을 수용한다.
카메라의 배향(207)의 추정은, 예를 들면 그 외재적 매핑(209)(extrinsic mapping)이 산출되거나 계산되는 토대가 되는 베이스 프레임에 상대적으로 회전 매트릭스의 형태로 수행된다. 또한, 이는, 픽셀 방향 벡터(205)와 함께 이미지 안정화 알고리즘에 제공된다. 외재적 매핑(209)을 사용하여, 이러한 상대적 회전에 의해 각각의 픽셀과 관련된 단위 벡터를 회전시킴으로써, 이미지 안정화 알고리즘은, 각각의 카메라 픽셀이 샘플링되는 세계 프레임에서의 방향을 계산한다.
보다 더 구체적으로는, 픽셀 방향 벡터(또는 동등한 좌표, 예컨대 구면 방위각 및 고도)는, 시스템의 안정화된 시야를 부호화하는 데 사용되는 안정화된 투영(예: 구형 투영) 내의 픽셀에 매핑된다. 예를 들면, 다수의 카메라 픽셀은 동일한 구형 투영 픽셀에 매핑될 수 있다. 구형 표현에서의 픽셀 인덱스는 비닝 함수(211)라고도 하는 카메라 픽셀의 방향(단위) 벡터의 함수로서 확인된다. 필터 또는 축전기(215)는 다수의 카메라의 데이터를 결합하는 데 사용될 수 있다. 카메라 픽셀들이 구형 표현에 매핑되지 않거나, 또는 픽셀이 비워진 상태로 유지될 수 있는 다른 예시에서, 시스템은 이전 값을 유지하거나 이런 누락된 데이터를 보간할 수 있다.
결합은 반복적으로 달성될 수 있거나, 또는 프레임의 끝에서는 예컨대 평균을 취함으로써 달성될 수 있다. 이는 프레임 스트림의 픽셀들로서 메모리(217)에 축적하고, 그런 다음 프레임(213)의 끝에서 각각의 안정화된 표현 픽셀에 대한 평균을 취함으로써 구현될 수 있었다.
함께 배치된 다수의 카메라를 사용할 때(또는 시야에서의 불연속성이 허용된다면 함께 배치되지 않은 카메라들을 사용할 때), 본 발명의 전술한 양태들은 효과적으로 이미지들을 스티칭하며, 여기서 카메라들은, 겹치는 시야들로부터 이득을 취하면서, 안정화된 내부 표현의 동일한 부분에 기여한다.
도 3에는, 2-D 투영의 예시들이 그림 다이어그램(pictorial diagram)으로 도시되어 있다. 도면에는 하기와 같은 4개의 투영이 있다. - UV 구체(301), 큐브 맵(303), 아이소큐브(305) 및 HEALPix(307). HEALPix(307)는 별도의 표현들로 추가로 도시되어 있다. 투영들과 관련된 특성들 또는 속성들은 표 1에 상세하게 설명되어 있다. 특성들(비닝 알고리즘의 처리하기 쉬운 계산, 등면적 픽셀, 무-특이성, 등위도 픽셀, 수평선으로 정렬되는 픽셀 에지, 및 국소적 데카르트 픽셀 정렬)을 기반으로, HEALPix 이중 픽셀화 알고리즘은 특정 상황들에서 더 우세한 것으로 증명될 수 있다. HEALPix 이중 픽셀화와 마찬가지로, 표 1의 다른 투영들은, 광학 흐름(및 유사한 알고리즘)을 사용하여 계산하기 위해 이런 시야 내 픽셀들의 균일한 분포 및 면적에 대해 사용될 수 있다. 적도 둘레의 +/-45도 고도 영역에서 등위도 특성 및 수평 픽셀 경계들은 세계의 데카르트 축들에 상기 계산들의 결과를 매핑하는 데 유용하다.
도 4~12에는, 이중 픽셀화 HEALPix 구현의 다양한 투영들이 그림 다이어그램으로 도시되어 있다. 본 발명으로 구현될 수 있었던 이중 픽셀화 HEALPix에 대해 상이한 투영들이 도시되어 있다.
구체적으로, 이중 픽셀화 HEALPix 투영들은, 등면적 의사-원통형 맵 투영인 몰바이데 투영법일 수 있거나, 또는 그 중심에서 평평한 표면에 대해 접선으로 지구본 상에서 선택된 점을 사용하여 원형 매핑을 생성하는 정사 투영법일 수 있다.
도 4, 7, 8, 9 및 10에는, 상이한 N_SIDE 매개변수들, 경계들 및 밴드들을 사용하는 몰바이데 투영법이 도시되어 있다. 도 5, 6, 11 및 12에는, 동일한 사항들을 사용하는 정사 투영법이 도시되어 있다. 2의 양의 정수 거듭제곱과 동일한 N_SIDE 매개변수들은 계산의 간소화를 위해 사용되되, 이는 다수의 나눗셈 및 곱셈을 비트 시프트들로 대체되도록 허용한다. 이는 FPGA 구현을 위해 특히 유용하다. 또한, 이는 부동 소수점 지수의 직접적인 조작을 통해 알고리즘 간소화를 허용하며, 이는 비전 가속기 유닛에서 16비트 부동 소수점 정밀도를 구현하는 데 도움이 된다.
도 4에는, 몰바이데 투영법인, N_SIDE=4를 사용한 이중 픽셀화 HEALPix의 예시가 도시되어 있다. 도 5에는, 정사 투영법인, N_SIDE를 사용한 예시의 이중 픽셀화 HEALPix가 도시되어 있되, 각각 N_SIDE=4, 32 및 64를 사용한 이중 픽셀화 HEALPix은 투영들의 부분으로서 각각 501, 503 및 505로서 도시되어 있다.
도 6에는, 정사 투영법을 사용하는 이중 픽셀화 HEALPix 픽셀 경계들의 예시가 도시되어 있다. 또한, 이기종 감지의 적용도 투영 상에 도시되어 있다. 특히 좌측 투영(601)은 이기종 감지를 이용하지 않으며, 우측 투영(603) 상에서는 이기종 감지가 보인다. 이기종 감지의 경우, 각각의 추가 픽셀은 보다 더 큰 픽셀의 등면적 4방향 세분화에 의해 생성되되, 각각의 새로운 또는 더 큰 픽셀은 반복적으로 세분화될 수 있되, 이는 4방향 세분화를 형성한다.
도 7에는, 밴드 0이 강조 표시된 이중 픽셀화 HEALPix의 예시가 개략도로 도시되어 있다. 도 8에는, 밴드 1이 강조 표시된 이중 픽셀화 HEALPix의 예시가 도시되어 있다. 도 9에는, 밴드 2가 강조 표시된 이중 픽셀화 HEALPix의 예시가 도시되어 있다. 도 7, 8 및 9는 몰바이데 투영법의 측면에서 도시되어 있다. 밴드 내의 각각의 픽셀에는 밴드 구조 내의 그 인덱스에 비례하는 휘도(brightness)가 할당된다. 픽셀 0은 검은색이며, 마지막 픽셀이 가장 밝다. 밴드의 바깥쪽 픽셀들에는 시각화를 목적으로 임의의 휘도가 할당된다.
도 10에는, 밴드 0이 강조 표시된 이중 픽셀화 HEALPix의 예시가 도시되어 있다. 도 11에는, 밴드 1이 강조 표시된 이중 픽셀화 HEALPix의 예시가 도시되어 있다. 도 12에는, 밴드 2가 강조 표시된 이중 픽셀화 HEALPix의 예시가 도시되어 있다. 도 10, 11 및 12는 정사 투영법의 측면에서 도시되어 있다. 도 10, 11 및 12는 밴드들의 개수와 관련하여 도 7, 8 및 9와 일치한다.
도 13에는, 본 발명의 하나 이상의 양태, 즉, 장치, 방법(들) 및/또는 프로세스(들), 이들의 조합들, 이들의 변형들, 및/또는 도 1 내지 12를 참조하여 설명한 것과 같은 것들, 및/또는 본원에서 설명되는 것과 같은 것들을 구현하는 데 사용될 수 있는 예시의 컴퓨팅 장치/시스템(400)이 블록선도로 도시되어 있다. 컴퓨팅 장치/시스템(1300)은 하나 이상의 프로세서 유닛(1302), 입력/출력 유닛(1304), 통신 유닛/인터페이스(1306), 메모리 유닛(1308)을 포함하되, 여기서 하나 이상의 프로세서 유닛(1302)은 입력/출력 유닛(1304), 통신 유닛/인터페이스(1306) 및 메모리 유닛(1308)에 연결되어 있다. 일부 실시예에서, 컴퓨팅 장치/시스템(1300)은 서버일 수 있거나, 또는 네트워크로 서로 연결된 하나 이상의 서버일 수 있다. 일부 실시예에서, 컴퓨팅 장치/시스템(1300)은, 시스템(들), 장치, 방법(들) 및/또는 프로세스(들), 이들의 조합들, 이들의 변형들, 및/또는 도 1 내지 12를 참조하여 설명되는 것과 같은 것들, 및/또는 본원에 설명되는 것과 같은 것들 중 하나 이상의 양태를 처리하거나 수행하기에 적합한 컴퓨터 또는 슈퍼컴퓨터/처리 설비 또는 하드웨어/소프트웨어일 수 있다. 통신 인터페이스(1306)는, 통신 네트워크를 통해, 본원에서 설명되는 것과 같은 본 발명을 구현하기 위한 하나 이상의 서비스, 디바이스, 서버 시스템(들), 클라우드 기반 플랫폼들, 및 주제 데이터베이스들 및/또는 지식 그래프들을 구현하기 위한 시스템들과 컴퓨팅 장치/시스템(1300)을 연결할 수 있다. 메모리 유닛(1308)은, 예시로서, 도 1 내지 12를 참조하여 설명된 것과 같은 프로세스(들)/방법(들)과 관련된 운영 시스템 및/또는 코드/구성요소(들); 본원에 설명된 것과 같은 본 발명을 구현하기 위한 프로세스(들)/방법(들)/시스템(들), 장치, 메커니즘 및/또는 시스템(들)/플랫폼들/아키텍처들, 이들의 조합들, 이들의 변형들, 및/또는 도 1 내지 12 중 적어도 하나를 참조하여 설명되는 것과 같은 것들을 호스팅하는 디바이스, 서비스 및/또는 서버(들)의 방법(들) 및/또는 프로세스(들) 중 하나 이상과 관련된 기능성 및/또는 하나 이상의 기능 또는 기능성을 구현하는 것과 관련된 추가 데이터, 애플리케이션들, 애플리케이션 펌웨어/소프트웨어 및/또는 추가 프로그램 명령어들, 코드 및/또는 구성요소들;이지만, 그러나 이들로 제한되지 않는 것들과 같은 하나 이상의 프로그램 명령어, 코드 또는 구성요소를 저장할 수 있다.
도 14에는, 길가에 주차된 자동차들, 및 자동차들 중 하나를 둘러싸는 직사각형 경계 상자가 회색 스케일 이미지로 도시되어 있되, 경계 상자는 객체 검출을 위한 기준점의 역할을 하고 상기 객체에 대한 충돌 상자(collision box)를 생성한다. 도면에서, 경계 상자에 의해 둘러싸인 자동차에는 주석이 추가되고 라벨이 지정되어 있다. 이미지는 상이한 유형들의 차량의 보다 더 큰 훈련 데이터세트의 일부일 수 있다. 훈련 데이터세트는 ML 기반 분류기 또는 임의의 기계 비전 알고리즘을 훈련시키기에 적합할 수 있다.
도 15는, 몰바이데 투영법을 사용한 전처리 후 차량의 동일한 회색 스케일 이미지이다. 도면에는, 시스템이 도면에 도시된 전처리된 적응으로 자동차의 원래 주석이 추가된 이미지를 변환하기 위해 몰바이데 투영법을 적용하는 방법이 도시되어 있다. 나머지 또는 주변 FoV는 몰바이데 투영법에 따라 검은색 배경색으로 표시되어 있다. 투영과 관련한 FoV는 이미지의 중심에 표시되어 있다. 도 14에서 원래 이미지를 포함한 훈련 데이터세트는 본원에서 설명되는 하나 이상의 데이터 구조에 의해 부호화될 수 있되, 이는 본원에서 설명되는 ML 애플리케이션을 위한 전처리 단계를 도시한 것이다.
상기 도 14 및 15에는, 본원에서 설명되는 하나 이상의 ML 모델과 함께 사용될 수 있으며, 그리고 본 발명의 임의의 하나 이상의 양태와 함께, 그리고 도 1 내지 13에 따라서 직접 또는 간접적으로 사용되도록 적용될 수 있는 예시적인 훈련 데이터가 도시되어 있다.
본 발명의 일 양태는 모션 검출을 위한 데이터를 안정화하기 위한 컴퓨터 구현 방법이되, 상기 방법은 하나 이상의 소스로부터 객체들과 관련된 데이터를 수신하는 수신 단계; 하나 이상의 기술을 사용하여 상기 데이터로부터 회전적으로 안정적인 시야를 설정하는 설정 단계; 하나 이상의 데이터 구조를 기반으로 안정적인 시야를 부호화하는 부호화 단계이되, 상기 하나 이상의 데이터 구조는 적어도 1차원, 2차원 또는 그 이상의 차원 투영을 포함하는 것인 부호화 단계; 및 부호화된 안정적인 시야로부터, 상기 데이터에서 모션을 검출하기 위한 모션 데이터를 추출하는 추출 단계;를 포함한다.
본 발명의 또 다른 양태는 모션을 검출하기 위한 장치이되, 상기 장치는 하나 이상의 소스로부터 데이터를 수신하기 위한 인터페이스; 및 하나 이상의 기술을 사용하여 상기 데이터로부터 안정적인 시야를 설정하고, 하나 이상의 데이터 구조가 차원 또는 그 이상의 차원 투영을 포함하는 조건에서 상기 하나 이상의 데이터 구조를 기반으로 안정적인 시야를 부호화하며, 그리고 상기 데이터에서 객체 모션을 검출하기 위해 부호화된 안정적인 시야로부터 모션 데이터를 추출하도록 구성되는 하나 이상의 집적 회로;를 포함한다.
본 발명의 또 다른 양태는 모션을 검출하기 위한 시스템이되, 상기 시스템은 하나 이상의 기술을 사용하여 상기 데이터로부터 안정적인 시야를 설정하도록 구성된 제1 모듈; 하나 이상의 데이터 구조가 2차원 또는 그 이상의 차원 투영을 포함하는 조건에서 상기 하나 이상의 데이터 구조를 기반으로 안정적인 시야를 부호화하도록 구성된 제2 모듈; 및 부호화된 안정적인 시야로부터 상기 데이터에서 객체 모션을 검출하기 위한 모션 데이터를 추출하도록 구성된 제3 모듈;을 포함한다.
본 발명의 또 다른 양태는 자체에 저장된 컴퓨터 판독 가능한 코드 또는 명령어들을 포함하는 컴퓨터 판독 가능한 매체이며, 컴퓨터 판독 가능한 코드 또는 명령어들은, 프로세서에서 실행될 때, 프로세서로 하여금 전술한 양태들 중 임의의 양태에 따른 컴퓨터 구현 방법을 구현하게 한다.
하기 옵션들은 상기에서 설명한 양태들 중 임의의 양태와 결합될 수 있는 것으로 이해되어야 한다.
일 옵션으로서, 상기 하나 이상의 기술은 상기 하나 이상의 소스의 배향을 기반으로 상기 데이터로부터 회전 안정화된 전방향 시야를 생성하도록 구성되는 알고리즘들을 포함한다.
또 다른 옵션으로서, 상기 하나 이상의 기술은 상기 데이터로부터 롤링 셔터를 보정하도록 구성된 알고리즘들을 더 포함한다.
또 다른 옵션으로서, 상기 하나 이상의 기술은 안정적인 시야를 설정하기 위해 연속적인 방식으로 수신된 데이터를 반복적으로 추가함으로써 상기 데이터를 소유한다.
또 다른 옵션으로서, 처리된 데이터는 적어도 부분적으로 메모리에 저장되거나, 또는 수신된 데이터는 상기 데이터를 메모리에 저장하지 않으면서 실시간으로 처리된다.
또 다른 옵션으로서, 모션 데이터를 추출하기 위해, 상기 부호화로부터의 회전 모션으로부터 병진 모션을 분리하는 분리 단계를 더 포함한다.
또 다른 옵션으로서, 상기 하나 이상의 데이터 구조는 구형 투영 또는 원통형 투영을 포함한다.
또 다른 옵션으로서, 객체의 구형 투영은 상기 하나 이상의 소스와 함께 이동한다.
또 다른 옵션으로서, 안정적인 시야는 이동하는 객체와 관련하여 적어도 부분적으로 비-안정화된다.
또 다른 옵션으로서, 상기 하나 이상의 데이터 구조는 계층적 등면적 등위도 픽셀화(HEALPix) 투영을 포함한다.
또 다른 옵션으로서, HEALPix 투영은 HEALPix 이중 픽셀화 파생물을 적용한다.
또 다른 옵션으로서, HEALPix 투영을 사용하여 2^n HEALPix n_side 매개변수들을 적용하는 적용 단계를 더 포함한다.
또 다른 옵션으로서, 상기 모션 데이터는 모션을 추정하기 위한 알고리즘을 사용하여 추출되되, 알고리즘은 동일한 픽셀 면적 및 국소적 데카르트 본성의 특성들과 관련하여 구성된다.
또 다른 옵션으로서, 상기 모션 데이터는 광학 흐름을 사용하여 추출된다.
또 다른 옵션으로서, 상기 하나 이상의 데이터 구조는 등면적 투영 및/또는 국소적 데카르트 투영을 포함한다.
또 다른 옵션으로서, 상기 모션 데이터는, 등면적 투영 및 국소적 데카르트 투영과 관련된 특성들을 기반으로, 광학 흐름 유형 추정을 사용하여 추출된다.
또 다른 옵션으로서, 본원 방법은 고정 소수점 구현을 사용하는 필드 프로그래밍 가능한 게이트 어레이에서 구현된다.
또 다른 옵션으로서, 본원 방법은 16-비트 부동 소수점 산술을 사용하는 비전 가속기 유닛에서 구현된다.
또 다른 옵션으로서, 본원 방법은 중앙 처리 유닛, 그래픽 처리 유닛, 텐서 처리 유닛, 디지털 신호 프로세서, 응용 주문형 집적 회로, 팹리스 반도체(fabless semiconductor), 반도체 지적 재산 코어, 또는 이들의 조합체 중 적어도 하나와 관련된 하나 이상의 프로세서에서 구현된다.
또 다른 옵션으로서, 구형 투영과 관련된 상기 하나 이상의 데이터 구조와 관련하여 직교 밴드들을 추출하는 추출 단계를 더 포함하되, 직교 밴드들은 구형 투영의 식별 가능한 데카르트 축들을 중심으로 한다.
또 다른 옵션으로서, 구형 투영은 HEALPix이다.
또 다른 옵션으로서, 구형 투영은 이중 픽셀화를 적용한다.
또 다른 옵션으로서, 직교 밴드들을 사용하여 구형 투영 상에 공간 필터링을 적용하는 적용 단계를 더 포함한다.
또 다른 옵션으로서, 2D 합성곱의 수행을 개선하기 위해, 직교 밴드들 각각의 둘레에 1D 합성곱을 생성함으로써, 구형 투영에서 2D 합성곱을 수행하는 수행 단계를 더 포함한다.
또 다른 옵션으로서, 원통형 투영과 관련된 상기 하나 이상의 데이터 구조와 관련하여 직교 밴드들을 추출하는 추출 단계를 더 포함하되, 직교 밴드들은, 상기 데이터의 수직 스트립들을 기반으로 방향을 캡처하는 방식으로, 원통형 투영의 식별 가능한 데카르트 축들을 중심으로 한다.
또 다른 옵션으로서, 하나 이상의 소스의 데이터는 디모자이크된다.
또 다른 옵션으로서, 회전 안정화된 전방향 시야를 생성하기 위해 픽셀 비닝 및 다운샘플링을 적용하는 적용 단계를 더 포함한다.
또 다른 옵션으로서, 데이터는 시각적 정보에 상응하는 RGB 데이터이다.
또 다른 옵션으로서, 픽셀 비닝은 3개의 색상 채널을 별도로 축적함으로써 상기 데이터를 디베이어링하도록 구성된다.
또 다른 옵션으로서, 안정적인 시야에 이기종 감지를 적용하는 적용 단계를 더 포함하되, 안정적인 시야는 하나 이상의 기술을 기반으로 전방향으로 설정된다.
또 다른 옵션으로서, 이기종 감지는 보다 더 높은 공간 분해능으로 안정적인 시야의 적어도 일부분을 부호화하는 부호화 단계를 포함한다.
또 다른 옵션으로서, 이기종 감지를 기반으로 안정적인 시야의 영역들에 걸쳐서 동적으로 샘플링하는 동적 샘플링 단계를 더 포함한다.
또 다른 옵션으로서, 이기종 감지는 HEALPix 투영 또는 이중 픽셀화와 관련하여 적용된다.
또 다른 옵션으로서, 이기종 감지는, 해당 관심 영역과 관련된 샘플링 속도를 제공하기 위해 상기 데이터로부터 관심 영역을 보다 더 자주 샘플링하도록 구성되되, 보다 더 높은 샘플링 속도와 관련된 상기 영역은 안정적인 시야 상에서 동적으로 이동할 수 있으면서 그 크기가 조절될 수 있고, 서로 다른 영역들은 서로 다른 샘플링 속도들을 포함한다.
또 다른 옵션으로서, 안정적인 시야의 공간 분해능을 증가시키기 위해 상기 데이터의 하나 이상의 HEALPix 픽셀을 분할하는 분할 단계를 더 포함한다.
또 다른 옵션으로서, 상기 데이터는 RGB 데이터 및 비-RGB 데이터를 포함하되, 비-RGB 데이터는 비-색상 정보와 관련된다.
또 다른 옵션으로서, 비-RGB 데이터는, 빛의 스펙트럼, 빛의 편광 정보, RADAR 또는 LIDAR의 출력, 깊이 인식, 거리 센서의 초음파 거리 정보, 온도, 그리고 메타데이터, 예컨대 의미론적 라벨 지정, 경계 상자 정점, 지형 유형, 또는 구역 지정, 예컨대 출입금지 구역, 충돌 시간 정보, 충돌 위험 정보, 청각, 후각, 신체 또는 임의의 기타 형태의 방향 센서 데이터, 중간 처리 데이터, 알고리즘에 의해 생성된 출력 데이터, 또는 기타 외부 소스들의 데이터와 관련된 데이터를 포함한다.
추가 옵션에서, 구형 투영과 관련된 상기 하나 이상의 데이터 구조와 관련하여 직교 밴드들을 추출하는 추출 단계를 더 포함하되, 추출된 직교 밴드들은 투영과 관련된 알고리즘과 함께 적용되도록 적응되고, 추출된 직교 밴드들은 상기 하나 이상의 데이터 구조에서 부호화로서 사용된다.
추가 옵션에서, 직교 밴드들은, 구형 투영을 기반으로 병행 방식으로 합성곱을 생성하기 위해 동시에 적용된다.
추가 옵션에서, 직교 밴드들 각각은 구형 투영과 관련된 합성곱을 생성하기 위한 병행 처리를 위해 분할된다.
추가 옵션에서, 상기 데이터의 제N-1 데이터 프레임을 기반으로 부호화된 안정적인 시야에서 관심 영역을 식별하는 식별 단계이되, 상기 데이터는 적어도 복수의 데이터 프레임을 포함하는 것인, 식별 단계; 상기 데이터의 제N 데이터 프레임에 상기 관심 영역을 매핑하는 매핑 단계; 및 매핑을 기반으로 상기 데이터로부터 데이트의 서브세트를 추출하는 추출 단계;를 더 포함한다.
추가 옵션에서, 데이터의 추출된 서브세트는 부호화된 안정적인 시야와 별개로 2D 이미지에 의해 표현된다.
추가 옵션에서, 매핑은 최대 분해능 이질성을 구현하기 위해 연속적으로 업데이트되되, 매핑은 안정적인 시야를 부호화하기 위해 적어도 부분적으로 적응된다.
추가 옵션에서, 상기 하나 이상의 소스는 직접적으로, 또는 간접적으로 외부 데이터를 수신하기에 적합한 적어도 하나의 카메라, 센서 또는 디바이스를 포함한다.
추가 옵션에서, 하나 이상의 시뮬레이션과 관련하여 시뮬레이션된 데이터를 수신하는 수신 단계를 더 포함하되, 시뮬레이션된 데이터는 상기 데이터로 시뮬레이션된 데이터를 삽입하거나 또는 중첩함으로써 안정적인 시야를 설정하는 데 사용된다.
추가 옵션에서, 상기 데이터는, 상기 데이터로 안정적인 시야를 설정하기 위한 상기 하나 이상의 소스에 상응하게 시뮬레이션된 데이터를 포함한다.
추가 옵션에서, 상기 하나 이상의 데이터 구조를 기반으로 ML 모델과 관련된 훈련 데이터의 세트를 선택하도록 구성된 하나 이상의 기계 학습(ML) 모델을 사용하여 상기 데이터를 생성하는 생성 단계를 더 포함한다.
추가 옵션에서, 상기 하나 이상의 ML 모델은 상기 하나 이상의 데이터 구조에 따라서 모델 특징들을 업데이트하기 위해 상기 하나 이상의 데이터 구조에 대해 동작하도록 적응된다.
추가 옵션에서, 상기 하나 이상의 데이터 구조를 기반으로, 상기 데이터 내의 객체를 분류하기 위해 하나 이상의 기계 학습(ML) 모델을 적용하되, 상기 하나 이상의 ML 모델은 안정적인 시야와 관련된 상기 부호화를 나타내는 객체를 인식하도록 구성된다.
추가 옵션에서, 상기 하나 이상의 ML 모델은 하나 이상의 객체로 주석이 추가된 데이터를 사용하여 훈련되되, 주석이 추가된 데이터는 ML 모델들을 훈련시키기 위한 상기 하나 이상의 데이터 구조를 사용하여 변환된다.
추가 옵션에서, 라벨 지정된 센서 입력의 데이터세트로부터 기계 학습 모델의 훈련을 위해 라벨 지정된 출력 데이터세트를 생성하되, 기계 학습 모델은 상기 하나 이상의 데이터 구조를 사용하여 부호화된 상기 데이터에 대해 동작하도록 구성된다.
본 발명을 사용하는 모션 검출을 위한 프로세스(들), 방법(들), 시스템(들) 및/또는 장치와 같이 상기에 설명한 것과 같은 본 발명의 실시예들, 예시들 및 양태들은 하나 이상의 클라우드 플랫폼, 하나 이상의 서버, 또는 컴퓨팅 시스템 또는 디바이스에서 구현될 수 있고, 그리고/또는 이들을 포함할 수 있다. 서버는 단일 서버, 또는 서버들의 네트워크를 포함할 수 있고, 클라우드 플랫폼은 복수의 서버, 또는 서버들의 네트워크를 포함할 수 있다. 일부 예시에서, 서버 및/또는 클라우드 플랫폼의 기능성은 서버들의 세계적으로 분산된 네트워크처럼 지리적 영역에 걸쳐 분산된 서버들의 네트워크에 의해 제공될 수 있으며, 그리고 사용자는 사용자 위치 등을 기반으로 서버들의 네트워크 중 적절한 하나에 연결될 수 있다.
상기 설명은 명확성을 위해 단일 사용자를 참조하여 본 발명의 실시예들을 논의한 것이다. 실제로 시스템은 복수의 사용자에 의해 공유될 수 있고, 가능하면 매우 많은 수의 사용자에 의해 동시에 공유될 수 있는 것으로 이해되어야 할 것이다.
상기에서 설명한 실시예들은 반자동이 되도록 구성될 수 있고, 그리고/또는 완전 자동이 되도록 구성된다. 일부 예시에서, 질의 시스템(들)/프로세스(들)/방법(들)의 사용자 또는 운영자는 수행될 프로세스(들)/방법(들)의 일부 단계를 수동으로 지시할 수 있다.
본 발명에 따르고, 그리고/또는 본원에 설명되는 것과 같은 모션 검출을 위한 시스템, 프로세스(들), 방법(들) 및/또는 장치에 대한 본 발명의 설명한 실시예들은 컴퓨팅 및/또는 전자 디바이스의 임의의 형태로서 구현될 수 있다. 상기 디바이스는, 라우팅 정보를 수집하고 기록하기 위해, 디바이스의 동작을 제어하도록 컴퓨터로 실행 가능한 명령어들을 처리하기 위한 마이크로프로세서, 컨트롤러 또는 다른 적합한 유형의 프로세서일 수 있는 하나 이상의 프로세서를 포함할 수 있다. 일부 예시에서, 예를 들면 칩 아키텍처 상의 시스템이 사용되는 경우, 프로세서들은 (소프트웨어나 펌웨어보다는) 하드웨어에서 프로세스/방법의 일부분을 구현하는 (가속기로서도 지칭되는) 하나 이상의 고정 기능 블록(fixed function block)을 포함할 수 있다.
연산 시스템 또는 임의의 다른 적합한 플랫폼 소프트웨어를 포함하는 플랫폼 소프트웨어는, 애플리케이션 소프트웨어가 디바이스 상에서 실행될 수 있도록 하기 위해, 컴퓨팅 기반 디바이스에서 제공될 수 있다.
본원에서 설명되는 다양한 기능들은 하드웨어, 소프트웨어 또는 이들의 임의의 조합체에서 구현될 수 있다. 소프트웨어에서 구현되는 경우, 기능들은, 하나 이상의 명령어 또는 코드로서, 컴퓨터 판독 가능한 매체 또는 비-일시적 컴퓨터 판독 가능한 매체에 저장되거나 그곳으로 전송될 수 있다. 컴퓨터 판독 가능한 매체들은 예컨대 컴퓨터 판독 가능한 저장 매체들을 포함할 수 있다. 컴퓨터 판독 가능한 저장 매체들은, 컴퓨터 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 또는 비휘발성, 제거 가능 또는 제거 불가능 매체들을 포함할 수 있다. 컴퓨터 판독 가능한 저장 매체들은 컴퓨터에 의해 평가될 수 있는 임의의 가용한 저장 매체들일 수 있다. 예시로서, 그리고 그에 제한되지 않으면서, 상기 컴퓨터 판독 가능한 저장 매체들은 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 장치, CD-ROM 또는 기타 광학 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 평가될 수 있는 명령어들 또는 데이터 구조들의 형태인 의도하는 프로그램 코드를 전달하거나 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함할 수 있다. 본원에서 사용되는 것과 같은 디스크(Disc 및 Disk)는 콤팩트디스크(CD), 레이저 디스크, 광디스크, 디지털 다목적 디스크(DVD), 플로피 디스크 및 블루레이 디스크(BD)를 포함한다. 또한, 전파 신호(propagated signal)는 컴퓨터 판독 가능한 저장 매체의 범위에 포함되지 않는다. 또한, 컴퓨터 판독 가능한 매체는 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함한 통신 매체들도 포함한다. 예를 들면 연결(connection) 또는 결합(coupling)이 통신 매체일 수 있다. 예를 들면, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술을 사용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송된다면, 이런 점도 통신 매체의 정의에 포함된다.
전술한 사항들의 조합들도 컴퓨터 판독 가능한 매체들의 범위에 포함되어야 한다.
그 대안으로, 또는 추가로, 본원에서 설명되는 기능성은 적어도 부분적으로 하나 이상의 하드웨어 논리 구성요소에 의해 수행될 수 있다. 예를 들면, 그리고 제한 없이, 사용될 수 있는 하드웨어 논리 구성요소들은 필드 프로그래밍 가능한 게이트 어레이(FPGA), 응용 주문형 집적 회로(ASIC), 응용 주문형 표준 제품(ASSP) 시스템-온-어-칩 시스템(SoCs), 복합 프로그래밍 가능한 논리 디바이스(CPLD), 양자 컴퓨터, 뉴로모픽 프로세서, 광 프로세서 등을 포함할 수 있다.
하드웨어 논리 구성요소들은, 중앙 처리 유닛, 그래픽 처리 유닛, 텐서 처리 유닛, 디지털 신호 프로세서, 응용 주문형 집적 회로, 팹리스 반도체, 상보적인 금속-산화물 반도체와 같은 반도체 지적 재산 코어, 또는 이들의 조합체 중 적어도 하나와 관련된 하나 이상의 프로세서를 포함할 수 있다.
비록 단일 시스템으로서 예시되어 있기는 하지만, 컴퓨팅 디바이스는 분산 시스템일 수 있는 것으로 이해되어야 한다. 따라서, 예를 들면, 여러 디바이스는 네트워크 연결에 의해 통신할 수 있으며, 그리고 컴퓨팅 디바이스에 의해 수행되는 것으로서 설명되는 작업들(tasks)을 집합적으로 수행할 수 있다.
비록 로컬 디바이스로서 예시되어 있기는 하지만, 컴퓨팅 디바이스는 원격에 위치될 수 있고 네트워크 또는 기타 통신 링크를 통해(예컨대 통신 인터페이스를 사용하여) 액세스될 수 있는 것으로 이해되어야 할 것이다.
'컴퓨터'란 용어는 본원에서 명령어들을 실행할 수 있도록 처리 능력을 갖춘 임의의 디바이스를 나타내는 데 사용된다. 당업계의 통상의 기술자라면, 상기 처리 능력은 많은 다양한 디바이스에 통합되고 그에 따라 '컴퓨터'란 용어는 PC, 서버, IoT 디바이스, 휴대폰, 개인 휴대 정보 단말기 및 많은 다른 디바이스를 포함한다는 점을 인식할 것이다.
당업계의 통상의 기술자라면, 프로그램 명령어들을 저장하는 데 활용되는 저장 장치들은 네트워크에 걸쳐 분산될 수 있다는 점을 인식할 것이다. 예를 들면, 원격 컴퓨터는 소프트웨어로서 설명되는 프로세스의 예시를 저장할 수 있다. 로컬 또는 터미널 컴퓨터는 원격 컴퓨터에 액세스하여 프로그램을 실행하기 위한 소프트웨어의 일부분 또는 그 모두를 다운로드할 수 있다. 그 대안으로, 로컬 컴퓨터는 필요에 따라 소프트웨어의 부분들을 다운로드하거나, 또는 로컬 터미널 컴퓨터에서 일부 소프트웨어 명령어를 실행하고 일부는 원격 컴퓨터(또는 컴퓨터 네트워크)에서 실행할 수 있다. 또한, 당업계의 통상의 기술자라면, 당업계의 기술자에게 공지된 종래 기술들을 활용함으로써, 소프트웨어 명령어들 중 모두 또는 일부분이 DSP, 프로그래밍 가능한 논리 어레이 등과 같은 전용 회로에 의해 실행될 수 있다는 점을 인식할 것이다.
상기에서 설명되는 이득들 및 장점들은 하나의 실시예와 관련될 수 있거나, 또는 여러 실시예와 관련될 수 있는 것으로 이해되어야 할 것이다. 실시예들은 언급한 문제들 중 임의의 문제 또는 그 모두를 해결하는 실시예들, 또는 언급한 이득들 및 장점들 중 임의의 이득 및 장점 또는 그 모두를 갖는 실시예들로 제한되지 않는다. 변형예들도 본 발명의 범위에 포함되는 것으로 고려되어야 한다.
어느 항목이 '단수' 명사로 언급되는 경우는 해당 항목들 중 하나 이상을 나타낸다. '포함하는'이란 용어는 본원에서 식별되는 방법 단계들 또는 요소들을 포함하는 것을 의미하는 데 사용되지만, 그러나 상기 단계들 또는 요소들은 배타적인 목록을 포함하지 않으며, 그리고 방법 또는 장치는 추가 단계들 또는 요소들을 포함할 수 있다.
본원에서 사용되는 것처럼, "구성요소" 및 "시스템이란 용어들은 프로세서에 의해 실행될 때 특정 기능성이 수행되도록 하는 컴퓨터로 실행 가능한 명령어들로 구성되는 컴퓨터 판독 가능한 데이터 저장장치를 포함하도록 의도된 것이다. 컴퓨터로 실행 가능한 명령어들은 루틴(routine), 기능 등을 포함할 수 있다. 또한, 구성요소 또는 시스템은 단일 디바이스로 국한될 수 있거나, 또는 여러 디바이스에 걸쳐 분산될 수 있는 것으로 이해되어야 한다. 또한, 본원에서 사용되는 것처럼, "예시적인", "예시" 또는 "실시예"란 용어는 "무언가의 예시 또는 예의 역할을 하는 것임"을 의미하는 것으로 의도된다. 또한, "보유하는"이란 용어가 '발명을 실시하기 위한 구체적인 내용' 또는 청구범위에서 사용되는 정도로, 상기 용어도 "포함하는"이 청구범위에서 전환적 단어로서 사용될 때 해석되는 것처럼, "포함하는"이란 용어와 유사한 방식으로 포괄적인 것으로 의도된다.
도면들은 예시적인 방법들을 도시하고 있다. 방법들이 특정한 연속 순서로 수행되는 일련의 행위인 것으로서 도시되고 설명되어 있기는 하지만, 방법들은 연속 순서순으로 제한되지 않는 것으로 이해되고 인정되어야 한다. 예를 들면, 일부 행위는 본원에서 설명되는 순서와 다른 순서로 발생할 수 있다. 또한, 하나의 행위가 다른 행위와 동시에 발생할 수 있다. 또한, 일부 사례에서, 본원에 설명되는 방법을 구현하기 위해 모든 행위가 요구되지 않을 수도 있다.
또한, 본원에서 설명되는 행위들은 하나 이상의 프로세서에 의해 구현되고, 그리고/또는 컴퓨터 판독 가능한 매체 또는 매체들에 저장될 수 있는 컴퓨터로 실행 가능한 명령어들을 포함할 수 있다. 컴퓨터로 실행 가능한 명령어들은 루틴, 서브-루틴, 프로그램, 실행 스레드(thread of execution) 등을 포함할 수 있다. 방법들의 행위들의 결과들은 컴퓨터 판독 가능한 매체에 저장되고, 디스플레이 디바이스 등에 표시될 수 있다.
본원에서 설명되는 방법들의 단계들의 순서는 예시적인 것이지만, 그러나 단계들은 임의의 적합한 순서로, 또는 적절한 경우 동시에 수행될 수 있다. 그에 추가로, 본원에서 설명되는 주제의 범위에서 벗어나지 않으면서, 단계들은 방법들 중 임의의 방법에 추가되거나 대체될 수 있거나, 또는 개별 단계들이 그로부터 삭제될 수 있다. 상기에서 설명된 예시들 중 임의의 예시의 양태들은 설명되는 다른 예시들 중 임의의 예시의 양태들과 결합되어 추구하는 효과를 잃지 않으면서 추가 예시들을 형성할 수 있다.
바람직한 실시예의 전술한 설명은 예시에 의해서만 제공되고 다양한 변형들은 당업계의 통상의 기술자에 의해 이루어질 수 있는 것으로 이해되어야 할 것이다.
상기에서 설명한 내용들은 하나 이상의 실시예의 예시들을 포함한다. 물론 전술한 양태들을 설명할 목적으로 상기한 디바이스들 또는 방법들의 가능한 모든 수정 및 변경을 설명할 수는 없지만, 그러나 당업계의 통상의 기술자라면, 다양한 양태들의 많은 추가 수정 및 치환이 가능하다고 인식할 수 있을 것이다. 따라서, 설명한 양태들은 첨부된 청구범위의 범위에 속하는 상기 변경, 수정 및 변형 모두를 포괄하도록 의도된다.

Claims (51)

  1. 모션 데이터를 안정화하기 위한 컴퓨터 구현 방법에 있어서, 상기 방법은
    하나 이상의 소스로부터, 객체와 관련된 데이터를 수신하는 수단 단계;
    상기 데이터로부터 하나 이상의 기술을 사용하여 회전적으로 안정적인 시야를 설정하는 설정 단계;
    하나 이상의 데이터 구조를 기반으로 안정적인 시야가 부호화하는 부호화 단계이되, 상기 하나 이상의 데이터 구조는 적어도 1-차원, 2-차원 또는 그 이상의 차원 투영을 포함하는 것인, 부화화 단계; 및
    상기 부호화된 안정적인 시야로부터 안정적인 모션 데이터를 추출하는 추출 단계;를 포함하는 것인, 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 하나 이상의 기술은 상기 하나 이상의 소스의 배향을 기반으로 상기 데이터로부터 회전 안정화된 전방향 시야를 생성하도록 구성되는 알고리즘들을 포함하는 것인, 컴퓨터 구현 방법.
  3. 제1항 및 제2항에 있어서, 상기 하나 이상의 기술은 상기 데이터로부터 롤링 셔터를 보정하도록 구성된 알고리즘들을 더 포함하는 것인, 컴퓨터 구현 방법.
  4. 제1항 내지 제3항에 있어서, 상기 하나 이상의 기술은 안정적인 시야를 설정하기 위해 연속적인 방식으로 수신된 데이터를 반복적으로 추가함으로써 상기 데이터를 소유하는 것인, 컴퓨터 구현 방법.
  5. 제4항에 있어서, 상기 처리된 데이터는 적어도 부분적으로 메모리에 저장되거나, 또는 상기 수신된 데이터는 상기 데이터를 메모리에 저장하지 않으면서 실시간으로 처리되는 것인, 컴퓨터 구현 방법.
  6. 제1항 내지 제5항에 있어서, 상기 방법은, 모션 데이터를 추출하기 위해, 상기 부호화로부터의 회전 모션으로부터 병진 모션을 분리하는 분리 단계를 더 포함하는 것인, 컴퓨터 구현 방법.
  7. 제1항 내지 제6항에 있어서, 상기 하나 이상의 데이터 구조는 구형 투영 또는 원통형 투영을 포함하는 것인, 컴퓨터 구현 방법.
  8. 제7항에 있어서, 상기 객체의 구형 투영은 상기 하나 이상의 소스와 함께 이동하는 것인, 컴퓨터 구현 방법.
  9. 제7항 또는 제8항에 있어서, 상기 안정적인 시야는 이동하는 객체와 관련하여 적어도 부분적으로 비-안정화되는 것인, 컴퓨터 구현 방법.
  10. 제1항 내지 제9항에 있어서, 상기 하나 이상의 데이터 구조는 계층적 등면적 등위도 픽셀화(HEALPix) 투영을 포함하는 것인, 컴퓨터 구현 방법.
  11. 제10항에 있어서, 상기 HEALPix 투영은 HEALPix 이중 픽셀화 파생물을 적용하는 것인, 컴퓨터 구현 방법.
  12. 제10항 또는 제11항에 있어서, 상기 방법은 HEALPix 투영을 사용하여 2^n HEALPix n_side 매개변수들을 적용하는 적용 단계를 더 포함하는 것인, 컴퓨터 구현 방법.
  13. 제10항 내지 제12항에 있어서, 상기 모션 데이터는 모션을 추정하기 위한 알고리즘을 사용하여 추출되되, 상기 알고리즘은 동일한 픽셀 면적 및 국소적 데카르트 본성의 특성들과 관련하여 구성되는 것인, 컴퓨터 구현 방법.
  14. 제10항 내지 제13항에 있어서, 상기 모션 데이터는 광학 흐름을 사용하여 추출되는 것인, 컴퓨터 구현 방법.
  15. 제1항 내지 제14항에 있어서, 상기 하나 이상의 데이터 구조는 등면적 투영 및/또는 국소적 데카르트 투영을 포함하는 것인, 컴퓨터 구현 방법.
  16. 제15항에 있어서, 상기 모션 데이터는, 등면적 투영 및 국소적 데카르트 투영과 관련된 특성들을 기반으로, 광학 흐름 유형 추정을 사용하여 추출되는 것인, 컴퓨터 구현 방법.
  17. 제1항 내지 제16항에 있어서, 상기 방법은 고정 소수점 구현을 사용하는 필드 프로그래밍 가능한 게이트 어레이에서 구현되는 것인, 컴퓨터 구현 방법.
  18. 제1항 내지 제16항에 있어서, 상기 방법은 16비트 부동 소수점 산술을 사용하는 비전 가속기 유닛에서 구현되는 것인, 컴퓨터 구현 방법.
  19. 제1항 내지 제16항에 있어서, 상기 방법은 중앙 처리 유닛, 그래픽 처리 유닛, 텐서 처리 유닛, 디지털 신호 프로세서, 응용 주문형 집적 회로, 팹리스 반도체, 반도체 지적 재산 코어, 또는 이들의 조합체 중 적어도 하나와 관련된 하나 이상의 프로세서에서 구현되는 것인, 컴퓨터 구현 방법.
  20. 제1항 내지 제19항에 있어서, 상기 방법은 구형 투영과 관련된 상기 하나 이상의 데이터 구조와 관련하여 직교 밴드들을 추출하는 추출 단계를 더 포함하되, 상기 직교 밴드들은 구형 투영의 식별 가능한 데카르트 축들을 중심으로 하는 것인, 컴퓨터 구현 방법.
  21. 제20항에 있어서, 상기 구형 투영은 HEALPix인 것인, 컴퓨터 구현 방법.
  22. 제20항 또는 제21항에 있어서, 상기 구형 투영은 이중 픽셀화를 적용하는 것인, 컴퓨터 구현 방법.
  23. 제20항 내지 제22항에 있어서, 상기 방법은 상기 직교 밴드들을 사용하여 상기 구형 투영 상에 공간 필터링을 적용하는 적용 단계를 더 포함하는 것인, 컴퓨터 구현 방법.
  24. 제20항 내지 제23항에 있어서, 상기 방법은, 2D 합성곱의 수행을 개선하기 위해, 상기 직교 밴드들 각각의 둘레에 1D 합성곱을 생성함으로써, 상기 구형 투영에서 2D 합성곱을 수행하는 수행 단계를 더 포함하는 것인, 컴퓨터 구현 방법.
  25. 제1항 내지 제19항에 있어서, 상기 방법은 원통형 투영과 관련된 상기 하나 이상의 데이터 구조와 관련하여 직교 밴드들을 추출하는 추출 단계를 더 포함하되, 상기 직교 밴드들은, 상기 데이터의 수직 스트립들을 기반으로 방향을 캡처하는 방식으로, 상기 원통형 투영의 식별 가능한 데카르트 축들을 중심으로 하는 것인, 컴퓨터 구현 방법.
  26. 제1항 내지 제19항에 있어서, 상기 방법은 구형 투영과 관련된 상기 하나 이상의 데이터 구조와 관련하여 직교 밴드들을 추출하는 추출 단계를 더 포함하되, 상기 추출된 직교 밴드들은 투영과 관련된 알고리즘과 함께 적용되도록 적응되고, 상기 추출된 직교 밴드들은 상기 하나 이상의 데이터 구조에서 부호화로서 사용되는 것인, 컴퓨터 구현 방법.
  27. 제20항 내지 제25항에 있어서, 상기 직교 밴드들은, 구형 투영을 기반으로 병행 방식으로 합성곱을 생성하기 위해 동시에 적용되는 것인, 컴퓨터 구현 방법.
  28. 제27항에 있어서, 상기 직교 밴드들 각각은 구형 투영과 관련된 합성곱을 생성하기 위한 병행 처리를 위해 분할되는 것인, 컴퓨터 구현 방법.
  29. 제1항 내지 제28항에 있어서, 하나 이상의 소스의 데이터는 디모자이크되는 것인, 컴퓨터 구현 방법.
  30. 제29항에 있어서, 상기 데이터는 시각적 정보에 상응하는 RGB 데이터인 것인, 컴퓨터 구현 방법.
  31. 제1항 내지 제30항에 있어서, 상기 방법은 회전 안정화된 전방향 시야를 생성하기 위해 픽셀 비닝 및 다운샘플링을 적용하는 적용 단계를 더 포함하는 것인, 컴퓨터 구현 방법.
  32. 제31항에 있어서, 상기 픽셀 비닝은 3개의 색상 채널을 별도로 축적함으로써 상기 데이터를 디베이어링하도록 구성되는 것인, 컴퓨터 구현 방법.
  33. 제1항 내지 제32항에 있어서, 상기 방법은, 상기 안정적인 시야에 이기종 감지를 적용하는 적용 단계를 더 포함하되, 상기 안정적인 시야는 하나 이상의 기술을 기반으로 전방향으로 설정되는 것인, 컴퓨터 구현 방법.
  34. 제33항에 있어서, 이기종 감지는 보다 더 높은 공간 분해능으로 상기 안정적인 시야의 적어도 일부분을 부호화하는 부호화 단계를 포함하는 것인, 컴퓨터 구현 방법.
  35. 제33항 또는 제34항에 있어서, 상기 방법은 상기 이기종 감지를 기반으로 상기 안정적인 시야의 영역들에 걸쳐서 동적으로 샘플링하는 동적 샘플링 단계를 더 포함하는 것인, 컴퓨터 구현 방법.
  36. 제33항 내지 제35항에 있어서, 상기 이기종 감지는 HEALPix 투영 또는 이중 픽셀화와 관련하여 적용되는 것인, 컴퓨터 구현 방법.
  37. 제33항 내지 제36항에 있어서, 상기 이기종 감지는, 해당 관심 영역과 관련된 샘플링 속도를 제공하기 위해 상기 데이터로부터 관심 영역을 보다 더 자주 샘플링하도록 구성되되, 보다 더 높은 샘플링 속도와 관련된 상기 영역은 상기 안정적인 시야 상에서 동적으로 이동할 수 있으면서 그 크기가 조절될 수 있고, 서로 다른 영역들은 서로 다른 샘플링 속도들을 포함하는 것인, 컴퓨터 구현 방법.
  38. 제33항 내지 제37항에 있어서, 상기 방법은, 상기 안정적인 시야의 공간 분해능을 증가시키기 위해 상기 데이터의 하나 이상의 HEALPix 픽셀을 분할하는 분할 단계를 더 포함하는 것인, 컴퓨터 구현 방법.
  39. 제1항 내지 제38항에 있어서, 상기 방법은
    상기 데이터의 제N-1 데이터 프레임을 기반으로 부호화된 안정적인 시야에서 관심 영역을 식별하는 식별 단계이되, 상기 데이터는 적어도 복수의 데이터 프레임을 포함하는 것인, 식별 단계;
    상기 데이터의 제N 데이터 프레임에 상기 관심 영역을 매핑하는 매핑 단계; 및
    매핑을 기반으로 상기 데이터로부터 데이터의 서브세트를 추출하는 추출 단계;를 더 포함하는 것인, 컴퓨터 구현 방법.
  40. 제39항에 있어서, 상기 데이터의 추출된 서브세트는 상기 부호화된 안정적인 시야와 별개로 2D 이미지에 의해 표현되는 것인, 컴퓨터 구현 방법.
  41. 제39항 또는 제40항에 있어서, 상기 매핑은 최대 분해능 이질성을 구현하기 위해 연속적으로 업데이트되되, 상기 매핑은 상기 안정적인 시야를 부호화하기 위해 적어도 부분적으로 적응되는 것인, 컴퓨터 구현 방법.
  42. 제1항 내지 제41항에 있어서, 상기 데이터는 RGB 데이터 및 비-RGB 데이터를 포함하되, 상기 비-RGB 데이터는 비-색상 정보와 관련되는 것인, 컴퓨터 구현 방법.
  43. 제42항에 있어서, 상기 비-RGB 데이터는, 빛의 스펙트럼, 빛의 편광 정보, RADAR 또는 LIDAR의 출력, 깊이 인식, 초음파 거리 정보, 온도, 및 메타데이터, 예컨대 의미론적 라벨 지정, 경계 상자 정점, 지형 유형, 또는 구역 지정, 예컨대 출입금지 구역, 충돌 시간 정보, 충돌 위험 정보, 청각, 후각, 신체 또는 임의의 기타 형태의 방향 센서 데이터, 중간 처리 데이터, 알고리즘에 의해 생성된 출력 데이터, 또는 기타 외부 소스들의 데이터와 관련된 데이터를 포함하는 것인, 컴퓨터 구현 방법.
  44. 제1항 내지 제43항에 있어서, 상기 하나 이상의 소스는 직접적으로, 또는 간접적으로 외부 데이터를 수신하기에 적합한 적어도 하나의 카메라, 센서 또는 디바이스를 포함하는 것인, 컴퓨터 구현 방법.
  45. 제1항 내지 제44항에 있어서, 상기 방법은, 하나 이상의 시뮬레이션과 관련하여 시뮬레이션된 데이터를 수신하는 수신 단계를 더 포함하되, 상기 시뮬레이션된 데이터는 상기 데이터로 시뮬레이션된 데이터의 삽입 또는 중첩으로 상기 안정적인 시야를 설정하는 데 사용되는 것인, 컴퓨터 구현 방법.
  46. 제1항 내지 제45항에 있어서, 상기 데이터는, 상기 데이터로 상기 안정적인 시야를 설정하기 위한 상기 하나 이상의 소스에 상응하게 시뮬레이션된 데이터를 포함하는 것인, 컴퓨터 구현 방법.
  47. 제1항 내지 제46항에 있어서, 상기 방법은, 상기 하나 이상의 데이터 구조를 기반으로, 상기 데이터 내의 객체를 분류하기 위해 하나 이상의 기계 학습(ML) 모델을 적용하는 적용 단계를 더 포함하되, 상기 하나 이상의 ML 모델은 상기 안정적인 시야와 관련된 상기 부호화를 나타내는 객체를 인식하도록 구성되는 것인, 컴퓨터 구현 방법.
  48. 제47항에 있어서, 상기 하나 이상의 ML 모델은 하나 이상의 객체로 주석이 추가된 데이터를 사용하여 훈련되되, 상기 주석이 추가된 데이터는 상기 ML 모델들을 훈련시키기 위한 상기 하나 이상의 데이터 구조를 사용하여 변환되는 것인, 컴퓨터 구현 방법.
  49. 제1항 내지 제48항에 있어서, 상기 방법은 라벨 지정된 센서 입력의 데이터세트로부터 기계 학습 모델의 훈련을 위해 라벨 지정된 출력 데이터세트를 생성하는 생성 단계를 더 포함하되, 상기 기계 학습 모델은 상기 하나 이상의 데이터 구조에 의해 저장되고 부호화된 상기 데이터에 대해 동작하도록 구성되는 것인, 컴퓨터 구현 방법.
  50. 모션 데이터를 안정화하기 위한 안정화 장치로서,
    하나 이상의 소스로부터 데이터를 수신하기 위한 인터페이스; 및
    하나 이상의 기술을 사용하여 상기 데이터로부터 안정적인 시야를 설정하고,
    하나 이상의 데이터 구조가 2차원 또는 그 이상의 차원 투영을 포함하는 조건에서 상기 하나 이상의 데이터 구조를 기반으로 상기 안정적인 시야를 부호화하며, 그리고
    상기 데이터에서 모션을 검출하기 위해, 부호화된 안정적인 시야로부터 안정적인 모션 데이터를 추출하도록 구성되는
    하나 이상의 집적 회로;를 포함하는 안정화 장치.
  51. 제50항에 있어서, 상기 하나 이상의 집적 회로는 제1항 내지 제49항 중 어느 한 항의 방법 단계들을 수행하도록 구성되는 것인, 안정화 장치.
KR1020237042549A 2021-05-25 2022-04-26 비제약 이미지 안정화 KR20240012426A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB2107427.3 2021-05-25
GB2107427.3A GB2608583B (en) 2021-05-25 2021-05-25 Unconstrained image stabilisation
PCT/GB2022/051055 WO2022248824A1 (en) 2021-05-25 2022-04-26 Unconstrained image stabilisation

Publications (1)

Publication Number Publication Date
KR20240012426A true KR20240012426A (ko) 2024-01-29

Family

ID=76637674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237042549A KR20240012426A (ko) 2021-05-25 2022-04-26 비제약 이미지 안정화

Country Status (10)

Country Link
EP (1) EP4348578A1 (ko)
JP (1) JP2024521816A (ko)
KR (1) KR20240012426A (ko)
CN (1) CN117529749A (ko)
AU (1) AU2022282825A1 (ko)
BR (1) BR112023024412A2 (ko)
CA (1) CA3217150A1 (ko)
GB (1) GB2608583B (ko)
IL (1) IL308537A (ko)
WO (1) WO2022248824A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2624542A (en) * 2023-10-24 2024-05-22 Opteran Tech Limited Stabilised 360 degree depth imaging system without image rectification

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8860825B2 (en) * 2012-09-12 2014-10-14 Google Inc. Methods and systems for removal of rolling shutter effects
US10404915B1 (en) * 2016-04-07 2019-09-03 Scott Zhihao Chen Method and system for panoramic video image stabilization
WO2018027340A1 (en) * 2016-08-06 2018-02-15 SZ DJI Technology Co., Ltd. Systems and methods for mobile platform imaging
US10425582B2 (en) * 2016-08-25 2019-09-24 Facebook, Inc. Video stabilization system for 360-degree video data
GB2562529B (en) * 2017-05-18 2019-12-11 Samsung Electronics Co Ltd Method and apparatus for stabilising 360 degree video
CN109040575B (zh) * 2017-06-09 2020-12-08 株式会社理光 全景视频的处理方法、装置、设备、计算机可读存储介质
GB2566478B (en) * 2017-09-14 2019-10-30 Samsung Electronics Co Ltd Probability based 360 degree video stabilisation
WO2019054611A1 (ko) * 2017-09-14 2019-03-21 삼성전자 주식회사 전자 장치 및 그 동작방법
CN111955005B (zh) * 2018-04-02 2022-07-19 三星电子株式会社 处理360度图像内容的方法和系统

Also Published As

Publication number Publication date
GB202107427D0 (en) 2021-07-07
JP2024521816A (ja) 2024-06-04
GB2608583B (en) 2023-10-11
WO2022248824A1 (en) 2022-12-01
BR112023024412A2 (pt) 2024-02-20
CN117529749A (zh) 2024-02-06
AU2022282825A1 (en) 2023-11-23
GB2608583A (en) 2023-01-11
IL308537A (en) 2024-01-01
CA3217150A1 (en) 2022-12-01
EP4348578A1 (en) 2024-04-10

Similar Documents

Publication Publication Date Title
Ming et al. Deep learning for monocular depth estimation: A review
Dong et al. Towards real-time monocular depth estimation for robotics: A survey
Sahu et al. Artificial intelligence (AI) in augmented reality (AR)-assisted manufacturing applications: a review
Alonso et al. 3d-mininet: Learning a 2d representation from point clouds for fast and efficient 3d lidar semantic segmentation
US11205298B2 (en) Method and system for creating a virtual 3D model
US11482014B2 (en) 3D auto-labeling with structural and physical constraints
WO2019223382A1 (zh) 单目深度估计方法及其装置、设备和存储介质
US11064178B2 (en) Deep virtual stereo odometry
de Queiroz Mendes et al. On deep learning techniques to boost monocular depth estimation for autonomous navigation
He et al. Ra-depth: Resolution adaptive self-supervised monocular depth estimation
CN114424250A (zh) 结构建模
Wu et al. Real-time stereo matching with high accuracy via Spatial Attention-Guided Upsampling
US11948310B2 (en) Systems and methods for jointly training a machine-learning-based monocular optical flow, depth, and scene flow estimator
dos Santos Rosa et al. Sparse-to-continuous: Enhancing monocular depth estimation using occupancy maps
Zhang et al. Review of visual simultaneous localization and mapping based on deep learning
CN116258859A (zh) 语义分割方法、装置、电子设备及存储介质
Shan et al. Discrete spherical image representation for cnn-based inclination estimation
Shi et al. Self-supervised learning of depth and ego-motion with differentiable bundle adjustment
KR20240012426A (ko) 비제약 이미지 안정화
Yang et al. An improved binocular stereo matching algorithm based on AANet
Song et al. Real-time terrain reconstruction using 3D flag map for point clouds
US20240244322A1 (en) Unconstrained image stabilisation
Zhang et al. Densely connecting depth maps for monocular depth estimation
Jiang et al. Ffpa-net: Efficient feature fusion with projection awareness for 3d object detection
Wang et al. A review of 3D object detection based on autonomous driving