KR20190062171A - 자율 머신에서의 오작동 센서의 딥 러닝 기반의 실시간 검출 및 수정 - Google Patents

자율 머신에서의 오작동 센서의 딥 러닝 기반의 실시간 검출 및 수정 Download PDF

Info

Publication number
KR20190062171A
KR20190062171A KR1020180128300A KR20180128300A KR20190062171A KR 20190062171 A KR20190062171 A KR 20190062171A KR 1020180128300 A KR1020180128300 A KR 1020180128300A KR 20180128300 A KR20180128300 A KR 20180128300A KR 20190062171 A KR20190062171 A KR 20190062171A
Authority
KR
South Korea
Prior art keywords
sensor
autonomous
learning model
real
sensors
Prior art date
Application number
KR1020180128300A
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 KR20190062171A publication Critical patent/KR20190062171A/ko

Links

Images

Classifications

    • G06T5/77
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06T5/60
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • 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/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/803Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection

Abstract

일 실시예에 따른 자율 기계에서 손상된 센서의 심층 학습 기반의 실시간 검출 및 수정을 가능하게 하는 메커니즘이 설명된다. 본 명세서에 기술된 실시예의 장치는 하나 이상의 센서가 장면의 하나 이상의 이미지를 캡처하는 것을 가능하게 하는 검출 및 캡처 로직을 포함하며, 하나 이상의 이미지 중 하나의 이미지는 불명확하다고 판정되고, 하나 이상의 센서는 하나 이상의 카메라를 포함한다. 이 장치는 심층 학습 모델(deep learning model)이 이미지와 연관된 센서를 실시간으로 식별하는 것을 가능하게 하는 분류 및 예측 로직을 더 포함한다.

Description

자율 기계에서의 손상된 센서의 심층 학습 기반의 실시간 검출 및 수정{DEEP LEARNING-BASED REAL-TIME DETECTION AND CORRECTION OF COMPROMISED SENSORS IN AUTONOMOUS MACHINES}
본 명세서에 기술된 실시예들은 일반적으로 데이터 처리에 관한 것으로, 보다 구체적으로는 자율 기계(autonomous machine)에서 손상된 센서를 심층 학습을 기반으로 하여 실시간으로 검출하고 수정할 수 있게 하는 것에 관한 것이다.
자율 기계는 앞으로 수년 내에 기하급수적으로 성장할 것으로 예상되며, 자율 주행과 같은 다양한 작업을 가능케 한다는 측면에서 카메라를 비롯한 센서가 성장을 주도할 것으로 기대된다.
종래의 기술은 정확도를 보장하기 위해 약간의 중복(redundancy)을 제공하는 데이터/센서 융합을 적용하려는 시도로 다수의 센서를 사용하지만, 이들 종래의 기술은 저품질의 또는 왜곡된 데이터를 제공하는 센서의 문제를 다루거나 우회할 수 없다는 점에서 분명한 한계가 있다.
실시예들은, 한정이 아닌 예로서, 도면으로 설명되며, 도면에서 동일한 참조 번호는 동일한 구성 요소를 지칭한다.
도 1은 일 실시예에 따른 센서 자동 검사 메커니즘을 이용하는 컴퓨팅 장치를 도시한 것이다.
도 2는 일 실시예에 따른 도 1의 센서 자동 검사 메커니즘을 도시한 것이다.
도 3a는 일 실시예에 따른 다수의 센서로부터의 정적 입력을 도시한 것이다.
도 3b는 일 실시예에 따른 단일 센서로부터의 동적 입력을 도시한 것이다.
도 3c는 일 실시예에 따른 단일 센서로부터의 동적 입력을 도시한 것이다.
도 4a는 일 실시예에 따른 심층 학습을 이용하여 손상된 센서를 실시간으로 검출하고 수정하기 위한 트랜잭션 시퀀스를 제공하는 아키텍처 셋업을 도시한 것이다.
도 4b는 일 실시예에 따른 심층 학습을 이용하여 손상된 센서를 실시간으로 검출하고 수정하기 위한 방법을 도시한 것이다.
도 5는 일 실시예에 따른 하나 이상의 실시예를 지원하고 구현할 수 있는 컴퓨터 장치를 도시한 것이다.
도 6은 일 실시예에 따른 하나 이상의 실시예를 지원하고 구현할 수 있는 컴퓨팅 환경의 실시예를 도시한 것이다.
이하의 설명에서, 다수의 특정 세부 사항이 설명된다. 그러나, 본 명세서에 설명된 실시예들은 이들 특정 세부 사항 없이 실시될 수도 있다. 다른 예들에서, 잘 알려진 회로, 구조 및 기법들은 설명을 이해하는데 방해되지 않도록 상세하게 설명하지 않았다.
실시예들은 자율 기계에서 손상된 센서를 심층 학습을 기반으로 하여 검출하고, 통지하고, 수정하기 위한 새로운 기술을 제공한다. 일 실시예에서, 자동 검사(auto-checking)는 손상된 센서의 검출, 손상된 센서의 경고를 위한 경보 발행, 손상된 센서의 임의의 왜곡을 실시간으로 수정하도록 제의하는 것 등 중에서 하나 이상을 포함할 수 있다.
실시예들은 임의의 개수 또는 유형의 센서로 제한되지 않지만, 간결성, 명확성 및 이해의 편의를 위해, 본 명세서 전체에 걸쳐 하나 이상의 카메라가 예시적인 센서로서 사용될 수 있으며, 그러나 실시예들이 이에 한정되지는 않는다.
"요청", "질의", "잡", "작업", "작업 항목" 및 "작업부하"와 같은 용어는 본 명세서에서 혼용될 수 있다. 마찬가지로, "애플리케이션" 또는 "에이전트"는 오픈 그래픽 라이브러리(Open Graphics Library)(OpenGL®), DirectX®11, DirectX®12와 같은 무료 렌더링 API와 같은 애플리케이션 프로그래밍 인터페이스(API)를 통해 제공되는 컴퓨터 프로그램, 소프트웨어 애플리케이션, 게임, 워크 스테이션 애플리케이션 등을 지칭하거나 포함할 수 있으며, 여기서 "디스패치(dispatch)"가 "작업 단위(work unit)" 또는 "드로(draw)"와 혼용될 수 있으며, 마찬가지로 "애플리케이션"은 "워크플로우" 또는 간단히 "에이전트"와 혼용될 수 있다. 예를 들어, 3차원(3D) 게임의 작업부하와 같은 작업부하는 각 프레임이 이미지(예컨대, 범선, 사람의 얼굴)를 나타낼 수 있는 임의의 수 및 유형의 "프레임"을 포함하고 발행할 수 있다. 또한, 각 프레임은 임의의 수 및 유형의 작업 단위를 포함할 수 있으며, 각 작업 단위는 그 대응하는 프레임으로 표현되는 이미지(예컨대, 요트, 사람의 얼굴)의 일부분(예컨대, 요트의 돛대, 사람의 얼굴의 이마)를 나타낼 수 있다. 그러나 일관성을 유지하기 위해, 각각의 용어가 본 명세서 전체에서 단일 용어(예컨대, '디스패치', '에이전트' 등)로 참조될 수 있다.
일부 실시예에서, "디스플레이 스크린" 및 "화면"과 같은 용어는 디스플레이 장치의 가시 부분(visible portion)에 대해 혼용될 수 있는 반면, 디스플레이 장치의 나머지는 스마트폰, 웨어러블 장치 등과 같은 컴퓨팅 장치에 내장될 수 있다. 실시예들은 임의의 특정 컴퓨팅 장치, 소프트웨어 애플리케이션, 하드웨어 컴포넌트, 디스플레이 장치, 디스플레이 스크린 또는 화면, 프로토콜, 표준 등으로 제한되지 않는다는 것에 유의하라. 예를 들어, 실시예들은 데스크톱, 랩톱, 태블릿 컴퓨터, 스마트폰, 헤드 장착형 디스플레이 및 기타 웨어러블 장치 등과 같은 임의의 수 및 유형의 컴퓨터 상의 임의의 수 및 유형의 실시간 애플리케이션에 적용될 수 있고 이들과 함께 사용될 수 있다. 또한, 예를 들어, 이 새로운 기술을 이용한 효율적 수행을 위한 렌더링 시나리오는 데스크톱 컴포지팅(desktop compositing)과 같은 간단한 시나리오에서부터 3D 게임, 증강 현실 애플리케이션 등과 같은 복잡한 시나리오에 이르기까지 다양할 수 있다.
콘볼루션 신경망(convolutional neural network), 즉, CNN, 신경망, 즉 NN, 심층 신경망(deep neural network), 즉 DNN, 순환 신경망(recurrent neural network), 즉 RNN 등과 같은 용어 또는 두문자어는 본 명세서 전체에서 혼용될 수 있다는 점에 유의하라. 또한, "자율 기계" 또는 간단히 "기계", "자율 차량" 또는 간단히 "차량", "자율 에이전트" 또는 간단히 "에이전트", "자율 장치" 또는 "컴퓨팅 장치", "로봇" 등은 본 명세서 전체에서 혼용될 수 있다.
도 1은 일 실시예에 따른 센서 자동 검사 메커니즘("자동 검사 메커니즘")(110)을 채용하는 컴퓨팅 장치(100)를 도시한 것이다. 컴퓨팅 장치(100)는 (제한없이) 스마트 커맨드 장치 또는 지능형 개인 비서, 가정/사무실 자동화 시스템, 가전 제품(예컨대, 세탁기, 텔레비전 등), 모바일 장치(예컨대, 스마트폰, 태블릿 컴퓨터 등), 게임 장치, 핸드헬드 장치, 웨어러블 장치(예컨대, 스마트워치, 스마트 팔찌 등), 가상 현실(VR) 장치, 헤드 마운티드 디스플레이(HMD), 사물 인터넷(IoT) 장치, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버 컴퓨터, 셋톱 박스(예컨대, 인터넷 기반 케이블 텔레비전 셋톱 박스), 위성 위치 확인 시스템(GPS) 기반 장치 등과 같은 임의의 수 및 유형의 스마트 장치를 포함하거나 나타내는 통신 및 데이터 처리 장치를 나타낸다.
일부 실시예에서, 컴퓨팅 장치(100)는 기계적 에이전트 또는 기계, 전자 에이전트 또는 기계, 가상 에이전트 또는 기계, 전자 기계적 에이전트 또는 기계 등과 같은 자율 기계 또는 인공 지능 에이전트를 (제한없이) 포함할 수 있다. 자율 기계 또는 인공 지능 에이전트의 예로는 로봇, 자율 주행 차량(예컨대, 자율 주행 차량, 자율 비행 비행기, 자율 항해 보트 등), 자율 장비(자동 건설 차량, 자동 의료 장비 등) 등을 포함할 수 있다. 또한, "자율 차량"은 자동차에 한정되는 것이 아니라, 로봇, 자율 장비, 가정용 자율 장치 등과 같은 임의의 수 및 유형의 자율 기계를 포함할 수 있으며, 그러한 자율 기계와 관련된 하나 이상의 작업 또는 동작이 자율 주행과 혼용될 수 있다.
또한, 예를 들어, 컴퓨팅 장치(100)는 단일 칩 상에 컴퓨팅 장치(100)의 다양한 하드웨어 및/또는 소프트웨어 컴포넌트를 통합한 시스템 온 칩("SoC" 또는 "SOC")과 같은 집적 회로("IC")를 호스팅하는 컴퓨터 플랫폼을 포함할 수 있다.
도시된 바와 같이, 일 실시예에서, 컴퓨팅 장치(100)는, (제한없이) 그래픽 처리 유닛("GPU" 또는 간단히 "그래픽 처리기")(114), 그래픽 드라이버("GPU 드라이버", "그래픽 드라이버 로직", "드라이버 로직", 사용자 모드 드라이버(UMD: User-Mode Driver), 사용자 모드 드라이버 프레임워크(UMDF: User-Mode Driver framework) 또는 간단히 "드라이버"라고 함)(116), 중앙 처리 장치("CPU" 또는 간단히 "애플리케이션 프로세서")(112), 메모리(104), 네트워크 장치, 드라이버 등과, 터치 스크린, 터치 패널, 가상 또는 표준 키보드, 가상 또는 표준 마우스, 포트, 커넥터 등과 같은 입력/출력(I/O) 소스(108)와 같은 임의의 수 및 유형의 하드웨어 및/또는 소프트웨어 컴포넌트를 포함할 수 있다. 컴퓨팅 장치(100)는 컴퓨팅 장치(100)의 하드웨어 및/또는 물리적 리소스와 사용자 사이의 인터페이스로서 기능하는 운영 체제(OS)(106)를 포함할 수 있다.
어떤 구현예에서는 전술한 예보다 더 적거나 또는 더 많은 장비를 갖춘 시스템이 선호될 수도 있다. 따라서, 컴퓨팅 장치(100)의 구성은 가격 제약, 성능 요건, 기술적 향상 또는 기타 상황과 같은 수많은 요인에 따라 구현마다 다를 수 있다.
실시예들은 페어런트보드, 하드와이어드 로직, 메모리 장치에 의해 저장되고 마이크로 프로세서에 의해 실행되는 소프트웨어, 펌웨어, ASIC(application specific integrated circuit), 및/또는 FPGA(field programmable gate array)를 사용하여 상호 연결된 하나 이상의 마이크로 칩 또는 집적 회로 중 어느 하나 또는 이들의 조합으로 구현될 수 있다. "로직", "모듈", "컴포넌트", "엔진" 및 "메커니즘"이라는 용어는, 예를 들어 소프트웨어 또는 하드웨어 및/또는 펌웨어와 같은 이들의 조합을 포함할 수 있다.
일 실시예에서, 도시된 바와 같이, 자동 검사 메커니즘(110)은 컴퓨팅 장치(100)의 I/O 소스(들)(108)와 통신하는 운영 체제(106)에 의해 호스팅될 수 있다. 다른 실시예에서, 자동 검사 메커니즘(110)은 그래픽 드라이버(116)에 의해 호스팅되거나 또는 활성화될 수 있다. 또 다른 실시예에서, 자동 검사 메커니즘(110)은 그래픽 처리 장치("GPU" 또는 간단히 "그래픽 처리기") 또는 그래픽 처리기(114) 또는 그래픽 처리기(114)의 펌웨어에 의해 호스팅되거나 그 일부일 수 있다. 예를 들어, 자동 검사 메커니즘(110)은 그래픽 처리기(114)의 프로세싱 하드웨어에 내장되거나 또는 그 일부로서 구현될 수 있다. 마찬가지로, 또 다른 실시예에서, 자동 검사 메커니즘(110)은 중앙 처리 장치("CPU" 또는 간단히 "애플리케이션 프로세서")에 의해 호스팅되거나 또는 그 일부일 수 있다. 예를 들어, 자동 검사 메커니즘(110)은 애플리케이션 프로세서(112)의 프로세싱 하드웨어에 내장되거나 또는 그 일부로서 구현될 수 있다.
또 다른 실시예에서, 자동 검사 메커니즘(110)은 컴퓨팅 장치(100)의 임의의 수 및 유형의 컴포넌트에 의해 호스팅되거나 또는 그 일부일 수 있는데, 예를 들면, 자동 검사 메커니즘(110)의 일부분은 운영 체제(116)에 의해 호스팅되거나 또는 그 일부일 수 있고, 다른 부분은 그래픽 처리기(114)에 의해 호스팅되거나 또는 그 일부일 수 있으며, 또 다른 부분은 애플리케이션 프로세서(112)에 의해 호스팅되거나 또는 그 일부일 수 있는 한편, 자동 검사 메커니즘(110)의 하나 이상의 부분은 운영 체제(116) 및/또는 컴퓨팅 장치(100)의 임의의 수 및 유형의 장치에 의해 호스팅되거나 또는 그 일부일 수 있다. 실시예들은 자동 검사 메커니즘(110)의 임의의 특정 구현 또는 호스팅에 한정되지 않으며, 자동 검사 메커니즘(110)의 하나 이상의 부분 또는 컴포넌트는 하드웨어, 소프트웨어, 또는 펌웨어와 같은 이들의 임의의 조합으로 이용되거나 구현될 수 있다.
컴퓨팅 장치(100)는 LAN, 광역 네트워크(WAN), 메트로폴리탄 지역 네트워크(MAN), 개인 영역 네트워크(PAN), 블루투스, 클라우드 네트워크, 모바일 네트워크(예컨대, 3세대(3G), 4세대(4G) 등), 인트라넷, 인터넷 등과 같은 네트워크에 대한 액세스를 제공하기 위해 네트워크 인터페이스를 호스팅할 수 있다. 네트워크 인터페이스는, 예를 들어 안테나(이는 하나 이상의 안테나(e)를 나타낼 수 있음)를 구비한 무선 네트워크 인터페이스를 포함할 수 있다. 네트워크 인터페이스는 또한, 예를 들어, 이더넷 케이블, 동축 케이블, 광섬유 케이블, 직렬 케이블 또는 병렬 케이블일 수 있는 네트워크 케이블을 통해 원격 장치와 통신하기 위한 유선 네트워크 인터페이스를 포함할 수 있다.
실시예들은, 예를 들어 컴퓨터, 컴퓨터 네트워크 또는 다른 전자 장치와 같은 하나 이상의 머신에 의해 실행될 경우, 하나 이상의 머신이 본 명세서에 기술된 실시예에 따른 동작을 수행하게 하는 머신 실행 가능한 명령어가 저장되어 있는 하나 이상의 머신 판독 가능한 매체를 포함할 수 있는 컴퓨터 프로그램 제품으로서 제공될 수 있다. 머신 판독 가능 매체는, 플로피 디스켓, 광학 디스크, CD-ROM(Compact Disc-Read Only Memory) 및 광 자기 디스크, ROM, RAM, EPROM(Erasable Programmable Read Only Memory), 자기 또는 광학 카드, 플래시 메모리, 또는 머신 판독 가능한 명령어를 저장하기에 적합한 다른 유형의 매체/머신 판독 가능한 매체를 포함할 수 있지만, 이에 한정되지는 않는다.
또한, 실시예들은 컴퓨터 프로그램 제품으로서 다운로드될 수 있으며, 프로그램은 원격 컴퓨터(예컨대, 서버)로부터, 통신 링크(예컨대, 모뎀 및/또는 네트워크 연결)를 통해 반송파 또는 기타 전파 매체로 구현되고/되거나 이에 의해 변조된 하나 이상의 데이터 신호를 통해, 요청 컴퓨터(예컨대, 클라이언트)로 전송될 수 있다.
본 명세서 전체에서, "사용자"란 용어는 "뷰어", "관찰자", "화자", "사람", "개인", "최종 사용자" 등과 혼용될 수 있다. 본 명세서 전체에서 "그래픽 도메인"과 같은 용어는 "그래픽 처리 장치", "그래픽 처리기" 또는 간단히 "GPU"와 혼용될 수 있으며, 마찬가지로 "CPU 도메인" 또는 "호스트 도메인"은 "컴퓨터 처리 장치", "애플리케이션 프로세서" 또는 단순히 "CPU"와 혼용될 수 있다.
"노드", "컴퓨팅 노드", "서버", "서버 장치", "클라우드 컴퓨터", "클라우드 서버", "클라우드 서버 컴퓨터", "머신", "호스트 머신", "장치", "컴퓨팅 장치", "컴퓨터", "컴퓨팅 시스템" 등과 같은 용어는 본 명세서 전체에서 혼용될 수 있다. 또한 "애플리케이션", "소프트웨어 애플리케이션", "프로그램", "소프트웨어 프로그램", "패키지", "소프트웨어 패키지" 등과 같은 용어는 본 명세서 전체에서 혼용될 수 있다. 또한, "작업", "입력", "요청", "메시지" 등과 같은 용어는 본 명세서 전체에서 혼용될 수 있다.
도 2는 일 실시예에 따른 도 1의 센서 자동 검사 메커니즘(110)을 도시한 것이다. 간략화를 위해, 도 1을 참조하여 이미 논의된 많은 세부 사항은 이후에 반복되거나 논의되지 않는다. 일 실시예에서, 자동 검사 메커니즘(110)은 (제한없이) 검출 및 캡처 로직(201), 결합 로직(203), 트레이닝 및 추론 로직(205), 통신/호환 로직(209), 및 분류 및 예측 로직(207)과 같은 임의의 수 및 유형의 컴포넌트를 포함할 수 있다.
컴퓨팅 장치(100)(본 명세서 전체에서 "자율 기계"라고도 함)는 또한 사용자 인터페이스(219)(예컨대, 그래픽 사용자 인터페이스(GUI) 기반의 사용자 인터페이스, 웹 브라우저, 클라우드 기반 플랫폼 사용자 인터페이스, 소프트웨어 애플리케이션 기반 사용자 인터페이스, 기타 사용자 또는 애플리케이션 프로그래밍 인터페이스(API) 등)를 포함하는 것으로 도시되어 있다. 컴퓨팅 장치(100)는, 카메라 A(242A), 카메라 B(242B), 카메라 C(242C), 카메라 D(242D)(예컨대, 인텔 리얼센스 카메라), 센서, 마이크로폰(241) 등과 같은 캡처/감지 컴포넌트(231)를 갖는 I/O 소스(들)(108), 및 디스플레이 장치(들) 또는 간단히 디스플레이(들)(244)(예컨대, 통합 디스플레이, 텐서 디스플레이, 프로젝션 스크린, 디스플레이 스크린 등), 스피커 장치(들) 또는 간단히 스피커(들)(243) 등과 같은 출력 컴포넌트(233)를 포함할 수 있다.
컴퓨팅 장치(100)는 하나 이상의 통신 매체(들)(230)(예컨대, 클라우드 네트워크, 근접 네트워크, 인터넷 등과 같은 네트워크들)를 통해 하나 이상의 데이터베이스(들)(225) 및/또는 하나 이상의 다른 컴퓨팅 장치에 액세스하고/하거나 통신하는 것으로 도시되어 있다.
일부 실시예에서, 데이터베이스(들)(225)는, 임의의 수 및 유형의 애플리케이션과 관련된 데이터, 메타 데이터 등이나, 하나 이상의 사용자, 물리적 위치 또는 영역, 적용 가능한 법률, 정책 및/또는 규정, 사용자 선호도 및/또는 프로파일, 보안 및/또는 인증 데이터, 히스토리 및/또는 선호 세부사항 등과 관련된 데이터 및/또는 메타데이터 등과 같은, 임의의 양 및 유형의 정보를 갖는 하나 이상의 저장 매체 또는 장치, 저장소, 데이터 소스 등을 포함할 수 있다.
전술한 바와 같이, 컴퓨팅 장치(100)는 캡처/감지 컴포넌트(231) 및 출력 컴포넌트(들)(233)를 포함하는 I/O 소스(108)를 호스팅할 수 있다. 일 실시예에서, 캡처/감지 컴포넌트(231)는, 제한적인 것은 아니지만 마이크로폰(들)(241)(예컨대, 초음파 마이크로폰), 카메라(들)(242A-242D)(예컨대, 2차원(2D) 카메라, 3차원(3D) 카메라, 적외선(IR) 카메라, 깊이 감지 카메라 등), 캐패시터, 무선 컴포넌트, 레이더 컴포넌트, 스캐너, 및/또는 가속도계 등을 포함하는 센서 어레이를 포함할 수 있다. 유사하게, 출력 컴포넌트(들)(233)는 임의의 수 및 유형의 스피커(들)(243), 디스플레이 장치(들)(244)(예컨대, 스크린, 프로젝터, 발광 다이오드(LED)) 및/또는 진동 모터 등을 포함할 수 있다.
예를 들어, 도시된 바와 같이, 캡처/감지 컴포넌트(들)(231)는 초음파 마이크로폰, 다이나믹 마이크로폰, 광섬유 마이크로폰, 레이저 마이크로폰 등과 같이 다중 마이크로폰 또는 마이크로폰 어레이와 같은 임의의 수 및 유형의 마이크로폰(241)을 포함할 수 있다. 하나 이상의 마이크로폰(241)은 컴퓨팅 장치(100)로 오디오 입력(예컨대, 사람의 음성)을 수용 또는 수신하고 이 오디오 또는 사운드를 전기 신호로 변환하기 위한 하나 이상의 입력 장치로서 기능한다. 유사하게, 하나 이상의 카메라(들)(242A-242D)가 장면, 물체 등의 이미지 및/또는 비디오를 검출하고 캡처하기 위한 하나 이상의 입력 장치로서 기능하며, 캡처된 데이터를 컴퓨팅 장치(100)에 비디오 입력으로서 제공한다.
실시예들은 임의의 수 또는 유형의 마이크로폰(들)(241), 카메라(242A-242D), 스피커(243), 디스플레이(244) 등에 제한되지 않는다. 예를 들어, 하나 이상의 마이크로폰(들)(241)이 다수의 사용자 또는 스피커(250)와 같은 스피커로부터 음성 또는 사운드를 동시에 검출하는데 사용될 수 있다. 마찬가지로, 검출 및 캡처 로직(201)에 의해 가능해지는 바와 같이, 하나 이상의 카메라(242A-242D)는, 지리적 위치(예컨대, 방) 및 그 내부 물건(예컨대, 가구, 전자 장치, 사람, 동물, 접시 등)의 이미지 및 비디오를 캡처하고, 컴퓨팅 장치(100)에서 자동 체크 메커니즘(110)에 의한 추가 프로세싱을 위해 캡처된 데이터로부터 일련의 이미지 또는 비디오 스트림을 형성하는데 사용될 수 있다.
이와 유사하게, 도시된 바와 같이, 출력 컴포넌트(들)(233)는, 사람이 듣거나 또는 소비하는 것과 같이 다양한 이유로, 컴퓨팅 장치(100)로부터 오디오를 출력 또는 발산하는 출력 장치로서 기능하는 임의의 수 및 유형의 스피커(243)를 포함할 수 있다. 예를 들어, 스피커(들)(243)는 마이크로폰(241)과 반대로 동작하는데, 스피커(243)는 전기 신호를 소리로 변환한다.
전술한 바와 같이, 실시예들은 마이크로폰(241), 카메라(242A-242D) 등과 같은 캡처/감지 컴포넌트(들)(231)의 일부이거나, 그 안에 내장되거나 또는 이에 연결되는 센서의 개수나 유형에 한정되지 않는다. 달리 말하면, 실시예들은 어떠한 개수 또는 유형의 센서에도 적용 가능하고 호환 가능하지만, 본 명세서에서는 간략하고 명확하게 논의할 목적으로 전반적으로 카메라(242A-242D)를 예로서 사용한다. 마찬가지로, 실시예들은 모든 유형 및 방식의 카메라에 적용 가능하며, 따라서 카메라(242A-242D)는 특정한 유형일 필요는 없다.
앞서 언급했듯이, 자율 주행 차량, 드론, 가전 제품 등과 같은 자율 기계의 성장과 함께, 모든 종류의 센서가, 자가 운전 차량의 경우에 바퀴 뒤의 눈 역할을 하는 센서와 같이, 자율 기계의 생존력에 필수적인 특정 작업에 영향을 미치고 촉진하는 방법을 선도할 것으로 기대된다. 따라서, 안전, 보안, 신뢰 등과 같은 여러 이유로, 특히 삶과 죽음의 상황, 비즈니스 환경 등에서 자율 시스템을 처리할 때, 데이터 품질이 중요한 요소가 된다.
고품질의 데이터는 컴퓨팅 장치(100)와 같은 자율 기계의 인공 지능(AI)이 고품질 성능을 내기 위한 고품질의 입력(예컨대, 이미지, 비디오 등)을 수신하는 것을 보증할 수 있다. 또한, 카메라(242A-242D)와 같은 센서들 중 하나가 결함이 있거나 또는 (예컨대, 렌즈 상의 진흙 또는 너무 짙은 안개 등으로 인해) 그것의 최대 성능을 수행하고 있지 않더라도, 컴퓨팅 장치(100)의 전체 성능은 그것의 정확성이 훼손되는 만큼 나빠질 수 있다.
예를 들어, 자동 검사 메커니즘(110)은 카메라(242A-242D)를 통해 필터링하여 카메라(242A-242D) 중 하나 이상의 카메라(242A-242D)로 고품질 입력보다 낮은 품질의 입력을 제공하거나 또는 그럴 가능성이 있는 이상(abnormality)을 검출하는 새로운 기법을 제공하는데, 여기서 카메라(242A-242D) 내에서의 또는 카메라(242A-242D)에 의한 그러한 이상은 렌즈 상의 오염물/진흙, 렌즈 앞의 장애물, 가림(occulation)(예컨대, 안개), 물리적 손상 기술 문제 등을 포함할 수 있다.
종래의 기술은 이러한 이상을 검출할 수 없으며, 따라서 종종 자율 기계의 센서에 의해 수집되는 데이터의 정확성을 보장할 수 없고, 이는 흔히 저품질의 데이터 또는 심지어 허위 데이터를 초래한다.
실시예들은 카메라(242A-242D)와 같은 센서로 이상을 실시간으로 검출하고, 필요하다면 경보 또는 경고를 발행하며, 그러한 이상을 수정 또는 수선하는 새로운 기술을 제공한다. 일 실시예에서, 자동 검사 메커니즘(110)은 자율 기계(100)와 같은 시스템에서 카메라(242A-242D)와 같은 각 센서의 상태를 검출하고 검사하기 위한 새로운 센서 자동 검사(SAC) 기법을 제공하여, 임의의 작업이 시작되기 전에(예컨대, 자율 주행 차량을 운전하기 전에) 모든 센서가 올바르게 작동하는지 확인하고, 센서가 계속해서 작동하고 있는지 확인하기 위해 지속적으로 센서를 검사하며, 이상이 발생하면 (운전과 같은) 임의의 작업 수행 중에 실시간으로 수리되게 한다.
일 실시예에서, 자동 검사 메커니즘(110)은 자율 기계(100)의 심층 학습을 이용하여 카메라(242A-242D) 및 임의의 다른 센서가 작동 상태에 있게 하거나 또는 어떠한 문제가 있는 경우에는 이들이 적어도 즉시 검출되어 수리될 수 있게 한다. 본 명세서에서 후술하는 바와 같이, 자동 검사 메커니즘(110)은 콘볼루션 신경망(CNN)의 콘볼루션 학습 분류기와 같은 심층 신경망(DNN)을 사용하여, 카메라(242A-242D) 및 다른 센서의 실시간 상태를 지속적으로 정확하게 검사하고, 그 후 트레이닝 데이터를 사용하여 카메라(242A-242D) 또는 다른 센서들 중 어느 것이 파손될 가능성이 있는지 또는 작동불능될 가능성이 있는지를 검출하고 예측한다.
기존 기법들의 주요 약점 중 하나는 카메라 렌즈가 먼지, 얼룩, 진흙 등과 같은 오염물로 덮인 경우인데, 왜냐하면 이런 일이 일어나면, 오염물의 수위가 어느 정도이든간에 카메라의 검출 또는 캡처 기능이 남아있지 않기 때문이다.
실시예들은 카메라(242A)와 같은 카메라의 렌즈 상에 얼룩이나 진흙이 묻는 경우와 같은 복잡한 문제를 다루기 위해 자율 기계(100)와 같은 자율 기계에 심층 학습을 이용하며, 이러한 오염물은 카메라(242A), 얼룩 및/또는 장면과 연관된 임의의 움직임 또는 변화를 고려하여 지속적으로 관측될 수 있다. 이는 결함이 있거나 가려진 카메라(242A)가 수선될 수 있도록 실시간으로 검출되고 관찰된다.
일 실시예에서, 자동 검사 메커니즘(110)의 검출 및 캡처 로직(201)은 다양한 위치에 위치한 하나 이상의 카메라(242A-242D)가 그 앞에 하나 이상의 장면을 캡처하도록 트리거하는데 사용될 수 있다. 몇몇 실시예들에서, 도 3a와 관련하여 도시된 바와 같이, 예컨대 동시에 다른 각도에서 장면을 캡처하는 정적 입력을 캡처하는 위치에 고정된 다수의 카메라(242A-242D)가 있을 수 있다. 마찬가지로, 도 3b에 도시된 바와 같이, 다른 실시예에서는, 카메라(242A)와 같은 단일 카메라가 동적 입력을 캡처하는 데 사용될 수 있는데, 예를 들면 여러 시점에서 동일 각도의 장면을 캡처할 수 있다. 도 3c와 관련하여 도시된 또 다른 입력에서, 얼룩 또는 오염물 그 자체가 동적이거나 움직일 수 있고, 따라서 카메라(242B)와 같은 카메라가 오염물의 움직임을 캡처하면서 장면을 캡처하는데 사용될 수 있다.
전술한 바와 같이, 캡처/감지 컴포넌트(231)의 센서는 단지 임의의 수 또는 유형의 카메라(242A-242D) 또는 마이크로폰(241)으로 제한되지 않으며, 센서는 광 검출 및 거리 측정(LiDAR) 센서, 초음파 센서, 및 본 명세서 전반에 걸쳐 언급되거나 설명되는 임의의 수 및 유형의 다른 센서들을 더 포함할 수 있고, 이러한 센서들로부터의 임의의 입력이, 분류 목적의 CNN의 소프트맥스(softmax) 계층과 같은 신경망에 입력될 수 있다.
자동 점검 메커니즘(110)을 다시 참조하면, 하나 이상의 카메라(242A-242D)가 장면을 캡처하고 있을 때, 임의의 카메라(242A-242D)에 대한 내부적인 또는 외부적인 문제가 검출될 수도 있는데, 내부적인 문제는 (예컨대, 렌즈나 카메라의 일부분이 파손되는) 임의의 물리적인 결함 또는 기술적인 문제(예컨대, 카메라 작동 중지)를 포함하는 반면에, 외부적인 문제는, 눈(snow), 나무, 먼지, 진흙, 사람, 동물 등과 같이, 장면의 뷰를 가로막는 렌즈 상에 또는 렌즈 내에 있을 수 있는 임의의 형태의 방해물(blockage)과 관련이 있다.
예를 들어, 카메라(242A)의 렌즈 상에 약간의 진흙이 발견되면, 검출 및 캡처 로직(201)이 트리거되어 진흙 또는 적어도 카메라(242A)로부터의 뷰가 어떻게 든 차단된다는 것을 검출할 수 있다. 임의의 카메라(242A)와 관련하여 어떠한 움직임이 있는 경우, 즉, 장면(예컨대, 사람의 움직임, 파도, 교통 움직임 등) 및/또는 진흙 그 자체(예컨대, 바람의 방향 또는 하방으로의 흐름 등)가 움직이는 경우, 검출 및 캡처 로직(201)은 카메라(242A)로부터의 뷰의 방해에 관한 정보뿐만 아니라 전술한 임의의 하나 이상의 움직임을 포함하는 그러한 데이터를 수집할 수 있다.
일단 데이터가 검출 및 캡처 로직(201)에 의해 수집되면, 입력으로서 결합 로직(203)으로 전달된다. 전술한 바와 같이, 실시예는 카메라 입력에 한정되지 않고, 그러한 입력은 LiDAR 입력, 레이더 입력, 마이크로폰 입력 등을 포함하는 다른 센서로부터 올 수도 있으며, 이들 센서로부터 동일 대상의 방향으로 어느 정도 중첩이 있을 수 있다. 일 실시예에서, 및/또는 동일 각도 또는 상이한 각도에서 동시에 또는 상이한 시점에 걸쳐 복수의 센서, 예컨대 둘 이상의 카메라(242A-242D)로부터 복수의 입력이 오는 경우, 및/또는 복수의 시점에 걸쳐 및/또는 동일 각도 또는 상이한 각도에서 동일 센서, 예컨대 카메라(242A)로부터 복수의 입력이 오는 경우, 결합 로직(203)은 이들 입력을 단일 입력으로 결합(또는 concat)하도록 트리거될 수 있다.
일 실시예에서, 다수의 입력들의 임의의 결합된 입력은 그 후 트레이닝 및 추론 로직(205)에 의한 트레이닝 및 추론을 위해 CNN과 같은 심층 학습 신경망 모델로 전달될 수 있다. 일 실시예에서, 결합 로직(203)은 데이터가 심층 학습 모델에 의해 처리되기 전에 결합을 수행하며, 따라서 트레이닝 과정에 도움이 되도록 순서를 설정하는 것이 더 바람직하고 그러한 융통성이 존재한다. 실시예들은 임의의 수 및 유형의 심층 학습 모델에 한정되지 않고, 따라서, CNN은 AlexNet, GoogLeNet, RESNET 등과 같이 일반적으로 사용되는 임의의 종류 또는 유형의 CNN 일 수 있다.
CNN과 같은 심층 학습 신경망/모델은 임의의 범위의 입력 데이터를 분석하고 학습하고 추론하기 위한 인공 신경망의 조합을 지칭하는 것으로 고려된다. 예를 들어, CNN은 훨씬 빠르며, 기존 알고리즘에 비해 상대적으로 적은 데이터 처리를 필요로 할 수 있다. 또한, 입력 데이터가 CNN에서 일단 수신되면, 이 데이터는 콘볼루션 계층, 풀링 계층, ReLU(Rectified Linear Unit) 계층, 완전 연결 계층, 손실/출력 계층 등과 같은 계층을 통해 처리될 수 있으며, 여기서 각각의 계층은 트레이닝 및 추론 목적을 위해 특정한 처리 작업을 수행한다.
예를 들어, 콘볼루션 계층은 입력 볼륨의 전체 깊이까지 연장되는 수용 필드가 있는 다수의 학습 필터 또는 커널을 갖는 코어 계층으로 간주될 수 있다. 이 콘볼루션 계층은, 입력으로부터의 임의의 데이터의 프로세싱이 개시되고 비선형 다운-샘플링의 형태가 수행되는 풀링 계층과 같은 다른 계층으로 이동하는 곳이며, 여기서, 예를 들어, 이들 비선형 다운 샘플링 함수는 최대 풀링과 같은 풀링을 구현할 수 있다. 마찬가지로, 데이터는 ReLU 계층에서 추가 처리 및 학습되며, 이는 비 포화 활성화 함수를 적용하여 콘볼루션 계층의 수용 필드에 영향을 주지 않고 판정 함수 및 네트워크의 비선형 성질을 증가시킨다.
실시예들은 CNN과 같은 신경망의 임의의 수 또는 유형의 계층으로 제한되지는 않지만, 트레이닝 과정은 여러 콘볼루션 및 풀링 계층 다음에 높은 수준의 추론이 제공되는 완전히 연결된 계층으로 계속될 수 있다. 즉, CNN은 입력 데이터를 수신하고, 기능 매핑, 샘플링, 콘볼루션, 서브 샘플링을 수행한 다음, 결과를 출력할 수 있다.
예를 들어, 손실/출력 계층은 트레이닝이 예측 라벨과 실제 라벨 간의 편차에 패널티를 주는 방식을 지정할 수 있는데, 여기서 이 손실/출력 계층은 CNN의 마지막 계층으로 간주될 수 있다. 예를 들어, 소프트맥스(softmax) 손실은 상호 배타적인 클래스의 단일 클래스를 예측하는 데 사용될 수 있다. 또한, 일 실시예에서, 분류 및 예측 로직(207), 예를 들어 손실/출력 계층의 소프트맥스 및 분류 계층은 2개의 계층이 각각 소프트맥스 계층 및 분류 계층 함수에 의해 생성되는 분류 및 예측에 사용될 수 있다.
일 실시예에서, 트레이닝 및 추론을 위해 입력들로부터 모든 데이터를 처리 한 후에, 분류 및 예측 로직(207)은 카메라들(242A-242D)과 같은 센서들 중 어느 것이 문제를 가질 수 있는지를 식별하는데 사용될 수 있다. 일단 식별되면, 분류 및 예측 로직(207)은 카메라(242A 내지 242D) 중 불량한 카메라에 관한 통지를 내릴 수 있는데, 디스플레이 장치(들)(244)에 통지를 디스플레이한다거나, 스피커 장치(들)(243)를 통해 이를 통지한다거나 할 수 있다. 일 실시예에서, 이 통지는 그 후 카메라(242A-242D) 중 결함있는 카메라를 찾아내고, 렌즈에서 진흙을 닦아내거나, 렌즈와 관련된 기술적인 결함을 수동으로 또는 자동으로 수정하거나, 카메라(242-242D) 중 결함이 있는 카메라를 다른 카메라로 교체 하는 등과 같이 문제를 해결하기 위해, 예컨대 사용자에 의해 사용될 수 있다.
일 실시예에서, 통지를 위해 소정의 라벨이 사용될 수 있는데, 라벨 0은 모든 센서가 양호하다는 것을 의미할 수 있고, 라벨 1은 제1 센서가 손상되었다는 것을 의미할 수 있고, 라벨 2는 제2 센서가 손상되었음을 나타낼 수 있으며, 라벨 3은 제3 센서가 손상되었다는 것을 의미할 수 있고, 라벨 4는 제4 센서가 손상되었다는 것을 의미하는 식으로 사용될 수 있다. 이와 유사하게, 라벨 1은 제1 센서가 양호하다는 것을 나타내고, 라벨 2는 제2 센서가 양호하다는 것을 나타내는 식으로 사용될 수도 있다. 실시예들은 임의의 형태의 통지에 한정되지 않고, 단어, 숫자, 이미지, 비디오, 오디오 등 중에서 임의의 것 또는 이들의 조합이 센서가 잘 작동하고 있는지 아닌지의 결과를 전달하는데 사용될 수도 있다.
또한, 예를 들어, 각각의 카메라(242A-242D)와 연관된 단일 입력 데이터 계층의 경우, 다수의 채널이, 예컨대 카메라가 4개(242A-242D)인 경우에 12(3*4=12)개의 채널이 4개의 카메라들(242A-242D)에 대응하는 4개의 이미지의 모든 데이터를 제공할 수 있으며, 이 데이터는 채널의 순서를 흐트림으로써 랜덤하게 로딩될 수 있다. 이 데이터를 사용하여, CNN과 같은 심층 학습 모델은 손실(트레이닝 동안) 및 정확도(검증 동안)를 계산할 수 있으며, 따라서 예측할 때, 라벨을 사용할 필요가 없을 수 있다. 일부 실시예에서, 트레이닝 및 추론 데이터에 의해 가능해지는 데이터의 강건한 트레이닝/추론을 제공하고 그 후 분류 및 예측 로직(207)에 의해 가능해지는 식별, 예측 등을 포함하는 정확한 결과를 제공하기 위해, 트레이닝 데이터는 카메라(242A-242D) 당 수천 또는 수만 개의 샘플 이미지와 같은 많은 이미지 샘플을 포함할 수 있는 반면에, 검증 데이터는 카메라(242A-242D) 당 수백 또는 수천 개의 샘플 이미지와 같은 이미지 샘플을 포함할 수 있다.
캡처/감지 컴포넌트(들)(231)는, 개인 미디어와 같은 미디어용 스틸 및/또는 비디오 적-녹-청(RGB) 및/또는 RGB-깊이(RGB-D) 이미지 캡처용으로 알려져 있는 깊이 감지 카메라 또는 캡처 장치(예컨대, 인텔 리얼센스 깊이 감지 카메라)와 같은 임의의 수 및 유형의 카메라(242A, 242B, 242C, 242D)를 더 포함할 수 있다. 깊이 정보를 갖는 이러한 이미지는, (제한없이) 장면 이해, 리포커싱, 합성, 시네마 그래프 등과 같은 다양한 컴퓨터 비전 및 계산 사진 효과에 효과적으로 사용되어 왔다. 이와 유사하게, 예를 들어, 디스플레이는, 내장형 또는 접속형 디스플레이 스크린, 디스플레이 장치, 프로젝터 등을 포함하는(그러나 이에 국한되지는 않음) 통합 디스플레이, 텐서 디스플레이, 입체 디스플레이 등과 같은 임의의 수 및 유형의 디스플레이를 포함할 수 있다.
캡처/감지 컴포넌트(들)(231)는 진동 컴포넌트, 촉각 컴포넌트, 컨덕턴스 요소, 생체 센서, 화학 검출기, 신호 검출기, 뇌파 계측기, 기능적 근적외선 분광기, 파 검출기, 힘 센서(예컨대, 가속도계), 조명 장치, 눈 추적 또는 시선 추적 시스템, 머리 추적 시스템 등 중에서 하나 이상을 더 포함할 수 있으며, 이들은 이미지(예컨대, 사진, 비디오, 영화, 오디오/비디오)와 같은 임의의 양 및 유형의 시각적 데이터, 오디오 스트림 또는 신호(예컨대, 사운드, 잡음, 진동, 초음파 등)와 같은 비 시각적 데이터, 전파(예컨대, 데이터, 메타데이터, 부호 등을 포함하는 무선 신호), 화학적 변화 또는 속성(예컨대, 습도, 체온 등), 생체 기록(예컨대, 얼굴 사진 등), 뇌파, 뇌 순환, 환경/기상 조건,지도 등을 캡처하는데 사용될 수 있다. "센서" 및 "검출기"는 본 명세서 전체에서 혼용될 수 있다. 또한, 하나 이상의 캡처/감지 컴포넌트(들)(231)는 조명 장치(예컨대, IR 조명 장치), 전등 설비, 발전기, 사운드 블로커 등과 같이 데이터의 캡처 및/또는 감지를 위한 지원 또는 보충 장치들 중 하나 이상을 더 포함할 수 있다.
일 실시예에서, 캡처/감지 컴포넌트(들)(231)는 임의의 수 및 유형의 컨텍스트를(예컨대, 모바일 컴퓨팅 장치 등과 관련이 있는 수평, 선형 가속도 등의 측정) 감지 또는 검출하기 위한 임의의 수 및 유형의 컨텍스트 센서(예컨대, 선형 가속도계)를 더 포함할 수 있다. 예를 들어, 캡처/감지 컴포넌트(들)(231)는, (제한없이) 가속도계(예컨대, 선형 가속도 등을 측정하는 선형 가속도계), 관성 장치(예컨대, 관성 가속도계, 관성 자이로스코프, 미세 전자 기계 시스템(MEMS) 자이로스코프, 관성 내비게이터 등), 및 중력에 의한 중력 가속도의 변화를 연구하고 측정하는 중력 변화율 측정기(gravity gradiometor) 등과 같은, 임의의 수 및 유형의 센서를 포함할 수 있다.
또한, 캡처/감지 컴포넌트(들)(231)은 (제한없이) 오디오/비주얼 장치 장치(예컨대, 카메라, 마이크로폰, 스피커 등), 상황 인식 센서(예컨대, 온도 센서, 오디오/비디오 장치의 하나 이상의 카메라로 작동하는 얼굴 표정 및 특징부 측정 센서, 배경색, 조명 등을 감지하는 환경 센서), (예컨대, 지문 감지 등을 위한) 생체 인식 센서, 일정 관리 및 판독 장치, GPS(global positioning system) 센서, 자원 요청자, 및/또는 TEE 로직을 포함할 수 있다. TEE 로직은 개별적으로 이용될 수도 있고 자원 요청자 및/또는 I/O 서브 시스템의 일부일 수도 있다. 캡처/감지 컴포넌트(231)는 음성 인식 장치, 사진 인식 장치, 얼굴 및 기타 신체 인식 컴포넌트, 음성-텍스트 변환 컴포넌트 등을 더 포함할 수도 있다.
이와 유사하게, 출력 컴포넌트(들)(233)는 터치의 시각화를 제공하는 예로서 촉각 효과기를 갖는 동적 촉감 터치 스크린을 포함할 수 있는데, 여기서 이러한 실시예는, 예컨대 사람의 손가락이 닿았을 때 손가락에 촉각 감각을 일으키거나 또는 유사한 느낌을 일으킬 수 있는 공간에 신호를 보낼 수 있는 초음파 발생기일 수 있다. 또한, 예를 들어 일 실시예에서, 출력 컴포넌트(들)(233)는 하나 이상의 광원, 디스플레이 장치 및/또는 스크린, 오디오 스피커, 촉감 컴포넌트, 컨덕턴스 요소, 골전도 스피커, 후각 또는 스멜 비주얼 및 넌비주얼 프리젠테이션 장치, 햅틱 또는 터치 비주얼 및/또는 넌비주얼 프리젠테이션 장치, 애니메이션 디스플레이 장치, 생체 디스플레이 장치, X선 디스플레이 장치, 고해상도 디스플레이, 높은 동적 범위 디스플레이, 멀티뷰 디스플레이, 가상 현실(VR) 및 증강 현실(AR) 중 적어도 하나를 위한 헤드 마운티드 디스플레이(HMD) 등을 포함할 수 있다.
실시예들은 임의의 특정한 수 또는 유형의 사용 사례 시나리오, 아키텍처 배치 또는 컴포넌트 셋업으로 제한되지 않지만, 간략화 및 명료성을 위해, 본 명세서 전체에 걸쳐 예시 및 설명이 예시적인 목적을 위해 제시되고 논의되지만, 실시예들은 이에 한정되지는 않는다. 또한, 본 명세서 전체에서, "사용자"는 컴퓨팅 장치(100)와 같은 하나 이상의 컴퓨팅 장치에 액세스하는 누군가를 지칭할 수 있으며, "사람", "개인", "인간", "그", "그녀", "아이", "어른", "뷰어", "플레이어", "게이머", "개발자", 프로그래머 등과 혼용될 수 있다.
통신/호환 로직(209)은, 변화하는 기술, 파라미터, 프로토콜, 표준 등과의 호환성을 보장하면서, 다양한 컴포넌트, 네트워크, 컴퓨팅 장치, 데이터베이스(들)(225) 및/또는 통신 매체(230) 등과, 임의의 수 및 유형의 다른 컴퓨팅 장치(예컨대, 웨어러블 컴퓨팅 장치, 모바일 컴퓨팅 장치, 데스크탑 컴퓨터, 서버 컴퓨팅 장치 등), 처리 장치(예컨대, 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU) 등), 캡처/감지 장치(예컨대, 오디오 센서, 후각 센서, 햅틱 센서, 신호 센서, 진동 센서, 화학 검출기, 전파 탐지기, 힘 센서, 기상/온도 센서, 신체/생체 센서, 스캐너 등과 같은 비시각적 데이터 센서/검출기 및 카메라 등과 같은 시각적 데이터 센서/검출기), 사용자/상황 인식 컴포넌트 및/또는 식별/검증 센서/장치(예컨대 생체 센서/검출기, 스캐너 등), 메모리 또는 저장 장치 장치, 데이터 소스, 및/또는 데이터베이스(들)(예컨대, 데이터저장 장치, 하드 드라이브, 고체 상태 드라이브, 하드 디스크, 메모리 카드 또는 장치, 메모리 회로 등), 네트워크(들)(예컨대, 클라우드 네트워크, 인터넷, 사물 인터넷, 인트라넷, 셀룰러 네트워크, 블루투스, 블루투스 저에너지(BLE), 블루투스 스마트, Wi-Fi 근접성, 무선 주파수 식별, 근거리 통신, 신체 영역 네트워크 등의 근접 네트워크), 무선 또는 유선 통신 및 관련 프로토콜(예컨대, Wi-Fi®, WiMAX, 이더넷 등), 연결 및 위치 관리 기술, 소프트웨어 애플리케이션/웹사이트(예컨대, 소셜 및/또는 비즈니스 네트워킹 웹사이트, 비즈니스 애플리케이션, 게임 및 기타 엔터테인먼트 애플리케이션 등), 프로그래밍 언어 등 사이의 동적 통신 및 호환성을 용이하게 하는데 사용될 수 있다.
본 명세서 전체에서, "로직", "컴포넌트", "모듈", "프레임워크", "엔진", "툴", "회로" 등과 같은 용어는 혼용될 수 있으며, 예를 들어, 소프트웨어, 하드웨어, 및/또는 펌웨어와 같은 소프트웨어와 하드웨어의 임의의 조합을 포함할 수 있다. 일례에서, "로직"은 컴퓨팅 장치(100)와 같은 컴퓨팅 장치의 운영 체제, 그래픽 드라이버 등의 하나 이상과 함께 작동할 수 있는 소프트웨어 컴포넌트를 지칭하거나 포함할 수 있다. 다른 예에서, "로직"은 컴퓨팅 장치(100)와 같은 컴퓨팅 장치의 애플리케이션 프로세서, 그래픽 처리기 등과 같은 하나 이상의 시스템 하드웨어 요소와 함께 또는 그 일부로서 물리적으로 설치될 수 있는 하드웨어 컴포넌트를 지칭하거나 포함할 수 있다. 또 다른 실시예에서, "로직"은 컴퓨팅 장치(100)와 같은 컴퓨팅 장치의 애플리케이션 프로세서 또는 그래픽 처리기 등의 펌웨어와 같은 시스템 펌웨어의 일부가 될 수 있는 펌웨어 컴포넌트를 지칭하거나 포함할 수 있다.
또한, "센서", "카메라", "자율 시스템", "센서 자동 검사", "심층 학습", "콘볼루션 신경망", "결합(concatenating)", "트레이닝", "추론", "분류", "예측", "리얼센스(RealSenseTM) 카메라", "실시간", "자동", "동적", "사용자 인터페이스", "카메라", "센서", "마이크로폰", "디스플레이 스크린", "스피커", "검증", "인증", "프라이버시", "사용자", "사용자 프로파일", "사용자 취향", "발신자", "수신자", "개인용 장치", "스마트 장치", "모바일 컴퓨터", "웨어러블 장치", "IoT 장치", "근접 네트워크", "클라우드 네트워크", "서버 컴퓨터", 등과 같은 특정한 브랜드, 단어, 용어, 구, 이름 및/또는 약어의 사용은 실시예들을 본 명세서 외의 제품이나 문헌에서 이러한 칭호의 소프트웨어 또는 장치로 한정하는 것으로 이해해서는 안 된다.
임의의 개수 및 유형의 컴포넌트가, 소정의 특징을 추가, 제거 및/또는 강화하는 것을 포함하는 다양한 실시예를 가능하게 하기 위한 자동 검사 메커니즘(110)에 추가되거나 자동 검사 메커니즘(110)으로부터 제거될 수도 있다. 자동 검사 메커니즘(110)의 이해의 편의, 간략화 및 명확성을 위해, 컴퓨팅 장치의 컴포넌트와 같은 많은 표준 및/또는 공지된 컴포넌트는 여기에 도시 또는 논의되지 않는다. 본 명세서에 설명된 실시예는 임의의 기술, 토폴로지, 시스템, 아키텍처 및/또는 표준에 한정되지 않으며 임의의 장래의 변경을 채택하고 적응할 만큼 충분히 동적 인 것으로 고려된다.
도 3a는 도 2를 참조하여 앞서 기술된 바와 같이 일 실시예에 따른 다수의 센서로부터의 정적 입력을 도시한 것이다. 간략화를 위해, 도 1 내지 도 2를 참조하여 전술한 많은 세부 사항은 이후에 논의되거나 반복되지 않을 수도 있다.
도시된 실시예에서, 장면의 4개의 이미지 A(301), B(303), C(305) 및 D(307)는 각각 도 2의 4개의 카메라 A(242A), B(242B), C(242C) 및 D(242D)에 의해 캡처된 것으로 도시되어 있고, 여기서 이들 다수의 이미지(301-307)는 일정 시간 동안 4개의 카메라(242A-242D)에 의해 캡처된 정적 데이터에 기초한다. 예를 들어, 카메라(242A-242D), 레이더 등과 같은 센서는 자동 주행 차량이 그들 근방 또는 주변의 물체를 인식하는 것과 같은 동일한 감지 목적을 위해 유사한 데이터를 캡처하는데 사용될 수 있다.
이 실시예에서, 단순히 설계 및 테스트를 위해, 4개의 카메라(242A-242D)가 동시에 그러나 상이한 각도 및/또는 위치에서 동일한 장면의 4개의 이미지(301-307)를 캡처하는 것으로 도시되어 있다. 또한, 도시된 바와 같이, 이미지들 중 이미지(301)와 같은 하나의 이미지는, 예컨대 카메라(242A)의 렌즈 상의 일부 종류의 얼룩(309)(예컨대, 진흙, 오물, 오염물 등)으로 인한 선명도 문제를 갖는 대응 카메라(242A)를 보여준다. 이러한 문제는 자율 주행 차량과 같은 자율 기계를 다룰 때 많은 문제를 야기할 수 있다고 생각된다.
일 실시예에서, 도 2를 참조하여 논의된 바와 같이, 수천 개의 데이터 입력과 같이 많은 양의 데이터를 수집하고 이를 CNN과 같은 심층 학습 모델에서 트레이닝 데이터, 검증 데이터 등으로서 사용함으로써, 도 1의 자동 검사 메커니즘(110)은 얼룩(309)을 실시간으로 검출할 수 있게 한다. 이 실시간 검출에 의해, 얼룩(309)을 실시간으로 수정할 수 있도록 실시간으로 통지하는 것이 가능해지며, 따라서 카메라(242A)에 관한 임의의 결함이 수선될 수 있고, 모든 카메라(242A-242D)가 제 기능을 할 수 있으며 데이터를 수집하여 도 1의 자율 기계(100)와 같은 자율 기계를 안전하고, 안정되며, 효율적으로 사용할 수 있다.
도 3b는 도 2를 참조하여 앞서 설명된 바와 같이 일 실시예에 따른 단일 센서로부터의 동적 입력을 도시한 것이다. 간략화를 위해, 도 1-3a를 참조하여 앞서 논의된 많은 세부 사항은 이후에 논의되거나 반복되지 않을 수도 있다.
이 도시된 실시예에서, 도 2의 카메라 D(242D)와 같은 단일 센서가 단일 장면이지만, 상이한 타임스탬프, 예컨대 상이한 시점을 갖는 네 개의 이미지 A(311), B(313), C(315), D(317)을 캡처하는데 사용될 수 있다. 이 도시된 패턴에서, 시간상 다른 시점에서 장면을 캡처한 것은, 예컨대 오른쪽에서 왼쪽으로 장면이 움직이는 것을 보여주지만, 얼룩(319)은 카메라 D(242D)의 렌즈 상의 하나의 지점과 같은 하나의 위치에 위치하는 것으로 도시되어 있다.
네 개의 이미지(311-317)에서 알 수 있듯이, 시간이 지남에 따라, 카메라(242D)에 의해 캡처된 객체(321)(예컨대, 책)는 (예컨대, 오른쪽에서 왼쪽으로) 움직이는 것처럼 보이지만, 얼룩(319)은 고정되어 있다(또는 실제로는 도 3c의 실시예에 도시된 바와 같이 다른 패턴으로 서서히 이동한다). 도 2 및 도 3a를 참조하여 기술된 바와 같이, 수천 개의 이미지가 수집되어 트레이닝 및 검증 목적을 위해 심층 학습 모델로 입력되며, 그 결과 심층 학습 모델이 테스트된다. 일단 테스트되면, 심층 학습 모델은 카메라(242D) 상의 얼룩(319)과 같은 센서의 문제점의 실시간 식별 및 수선에 사용될 수 있다.
도 3c는 도 2를 참조하여 앞서 기술된 바와 같이 일 실시예에 따른 단일 센서로부터의 동적 입력을 도시한 것이다. 간략화를 위해, 도 1-3b를 참조하여 앞서 논의된 많은 세부 사항은 이후에 논의되거나 반복되지 않을 수 있다.
일 실시예에서, 단일 센서를 통한 동적 입력을 갖는 도 3b를 참조하여 설명된 바와 같이, 이 도시된 실시예에서, 카메라 B(242B)와 같은 단일 센서가 단일 장면의 4개의 이미지 A(331), B(333), C(335), D(337)를 캡처하는데, 여기서 카메라(242B)의 렌즈 상의 얼룩(339)이 배경 장면에서 물체(341)(예컨대, 책)에 대해 움직이는 것으로 도시되어 있다. 예를 들어, 얼룩(339)은 시간의 경과에 따라 중력으로 인해 아래로 혹은 바람이나 카메라(242)의 움직임 등으로 인해 옆으로 흘러내리는 카메라(242B) 렌즈 상의 진흙 조각일 수 있다.
일 실시예에서, 전술한 바와 같이, 얼룩(339) 및 그의 움직임에 관한 이 데이터는 카메라(242B) 자체와 같은 하나 이상의 센서를 통해 캡처될 수 있고, CNN과 같은 트레이닝된 심층 학습 신경망/모델에 입력될 수 있으며, 그 후 심층 학습 신경망/모델은 얼룩(339)의 정확한 위치, 카메라(242B)와 같이 얼룩(339)에 의해 영향을 받는 센서를 실시간으로 예측하여 제공하며, 얼룩(339)을 카메라(242B)의 렌즈로부터 제거하는 방법과 같은 이 문제의 해결 방법을 실시간으로 제공한다.
일 실시예에서, 심층 학습 신경망/모델의 이러한 트레이닝은 데이터의 트레이닝 및 검증 및 심층 학습 모델의 테스트에 대한 예로서 (수천 개의) 이러한 입력들의 집합을 입력받음으로써 달성된다. 예를 들어, 심층 학습 모델은 먼저 CNN과 같은 심층 학습 신경망을 사용하여 카메라(242B)와 같은 모든 센서의 특징을 추출한 다음, 데이터를 융합하고 분류기를 사용하여 카메라(242B)와 같은 문제가 있는 센서를 식별한다. 예를 들어, 카메라(242B)는 라벨 2: 제2 센서 손상 등과 같은 라벨을 할당받을 수 있다.
도 4a는 일 실시예에 따른 심층 학습을 이용하여 손상된 센서의 실시간 검출 및 수정을 위한 트랜잭션 시퀀스를 제공하는 아키텍처 셋업(400)을 도시한 것이다. 간략화를 위해, 도 1 내지 도 3c를 참조하여 앞서 논의된 많은 세부 사항은 이후에 논의되거나 반복되지 않을 수 있다. 임의의 프로세스 또는 트랜잭션은, 도 1의 자동 검사 메커니즘(110)에 의해 활성화되는 하드웨어(예컨대, 회로, 전용 로직, 프로그램 가능한 로직 등), 소프트웨어(예컨대, 프로세싱 장치 상에서 실행되는 명령어), 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행될 수 있다. 이 도면과 연관된 임의의 프로세스 또는 트랜잭션은 프리젠테이션을 간략화하고 명료하게 하기 위해 선형 시퀀스로 도시되거나 열거될 수 있지만, 이들 중 임의의 개수는 병렬로, 비동기적으로 또는 상이한 순서로 수행될 수도 있다.
일 실시예에서, 아키텍처 셋업(400)에서의 트랜잭션 시퀀스는, 하나 이상의 센서로부터 수집된 데이터를, 심층 학습 모델(421)과 같은 심층 학습 모델에 입력하기 전에, 결합을 위해 순차적으로 복수 회 입력하는 단계(401)에서 시작한다. 이 데이터는 카메라, LiDAR, 레이더 등과 같은 임의의 수 및 유형의 센서에 의해 캡처된 데이터를 기반으로 하는 다수의 입력을 포함할 수 있지만, 이들 검출에는 어느 정도의 중복(예컨대, 장면에서 동일한 객체를 검출할 때)이 존재한다. 403에서, 도 2의 결합 논리(203)를 참조하여 설명된 바와 같이, 이들 입력으로부터의 데이터가 결합을 위해 전송되어, 이들 다수의 입력이 단일 입력으로 결합되고 트레이닝(405) 및 추론(407)을 위해 데이터 학습 모델(421)로 전송된다.
일 실시예에서, 결합은 데이터를 심층 학습 모델(421)의 외부에서 또는 심층 학습 모델(421)로 전송하기 전에 수행되며, 따라서 트레이닝(405)으로부터 최대한의 이익을 얻기 위한 순서의 설정에 대해 보다 양호한 유연성이 있는 것으로 고려된다. 도시된 바와 같이, 일 실시예에서, 추론(407)은 트레이닝(405)의 일부일 수 있고, 다른 실시예에서는 추론(407)과 트레이닝(405)이 별개로 수행될 수 있다.
일 실시예에서, 데이터가 심층 학습 모델(421)에 입력되면, CNN(409)에 입력되어 처리되며, 여기서 데이터의 처리는 도 2를 참조하여 자세히 설명한 바와 같이 다수의 계층을 통과한다. 예를 들어, 분류 계층(411)은 도 2를 참조하여 설명된 바와 같이, 완전히 연결된 계층, 소프트 맥스 계층 등과 같은 일반 분류 계층을 포함할 수 있다.
일 실시예에서, 아키텍처 셋업(400)에 의해 제공되는 트랜잭션 시퀀스는 출력 계층을 통해 결과(413)를 계속 획득할 수 있으며, 여기서 결과(413)는 하나 이상의 센서가 기술적으로 결함이 있는지 또는 객체 또는 오염물에 의해 가려지는지 또는 임의의 이유로 작동하지 않는지를 파악하거나 예측할 수 있다. 일단 결과(413)가 얻어지면, 다양한 라벨(415)이 비교되어, 하나 이상의 결함있는 센서에 관해 사용자에게 제공할 적절한 라벨 및 손실을 결정한다. 트랜잭션 시퀀스는 계속해서 데이터를 역 전파(417)할 수 있고, 결과적으로 심층 학습 모델(421)에서 더 많은 가중치 업데이트(419)가 수행된다.
도 4b는 일 실시예에 따른 심층 학습을 이용하여 손상된 센서의 실시간 검출 및 수정을 하기 위한 방법(450)을 도시한 것이다. 간략화를 위해, 도 1-4a를 참조하여 앞서 논의된 많은 세부 사항은 이후 논의되거나 반복되지 않을 수도 있다. 임의의 프로세스 또는 트랜잭션은 도 1의 자동 검사 메커니즘(110)에 의해 활성화되는 하드웨어(예컨대, 회로, 전용 로직, 프로그램 가능한 로직 등), 소프트웨어(예컨대, 프로세싱 장치 상에서 실행되는 명령어), 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행될 수 있다. 이 도면과 연관된 임의의 프로세스 또는 트랜잭션은 간략하고 명확하게 볼 수 있도록 선형 시퀀스로 도시되거나 열거될 수 있지만, 이들 중 임의의 개수는 병렬로, 비동기적으로 또는 상이한 순서로 수행될 수도 있다.
방법(450)은, 동시에 또는 시간 주기에 걸쳐 하나 이상의 센서(예컨대, 카메라)에 의해 캡처된 장면의 하나 이상의 이미지를 포함하는 데이터를 검출하는 블록(451)에서 시작되며, 여기서 이 데이터가 다수의 입력에 걸쳐 퍼져 있는 경우, 이들 다수의 입력은 결합되도록 제공된다. 블록(453)에서, 이들 다수의 입력은 데이터의 단일 입력으로 결합되고, 트레이닝, 추론, 검증 등과 같은 추가 처리를 위해 심층 학습 모델에 제공된다. 블록(455)에서, 이 데이터는 트레이닝 및 추론을 위해 심층 학습 모델에서 수신되며, 여기서 심층 학습 모델은 다수의 처리 계층을 갖는 신경망(예컨대, CNN)을 포함한다.
도 2를 참조하여 논의된 바와 같이, 트레이닝 및 추론 단계를 통해 전달되는 데이터는 자체의 다수의 처리 계층을 포함할 수 있는 CNN을 포함하는 여러 레벨에서 처리되고 수정될 수 있다. 일 실시예에서, 블록(457)에서, 트레이닝된 심층 학습 모델은 데이터를 분류하고 모든 처리 및 분류에 기초하여 결과를 예측한다. 예를 들어, 결과의 예측은 하나 이상의 센서 중 어느 것이 결함이 있거나 가려지는지를 실시간으로 표시하고 식별할 수 있으며, 따라서 결함이 있거나 가려진 센서가 실시간으로 수선될 수 있다.
도 5는 일 구현에 따른 컴퓨팅 장치(500)를 도시한 것이다. 예시된 컴퓨팅 장치(500)는 도 1의 컴퓨팅 장치(100)와 동일하거나 유사할 수 있다. 컴퓨팅 장치(500)는 시스템 보드(502)를 하우징한다. 보드(502)는, 한정적이지는 않지만 프로세서(504) 및 적어도 통신 패키지를 포함하는 다수의 컴포넌트를 포함할 수 있다. 통신 패키지는 하나 이상의 안테나(516)에 연결된다. 프로세서(504)는 보드(502)에 물리적 및 전기적으로 연결된다.
응용에 따라, 컴퓨팅 장치(500)는 보드(502)에 물리적으로 그리고 전기적으로 연결될 수도 연결되지 않을 수도 있는 기타 컴포넌트를 포함할 수 있다. 이들 기타 컴포넌트는, 한정적인 것은 아니지만, 휘발성 메모리(예컨대, DRAM)(508), 비휘발성 메모리(예컨대, ROM)(509), 플래시 메모리(도시되어 있지 않음), 그래픽 처리기(512), 디지털 신호 처리기(도시되어 있지 않음), 암호 프로세서(도시되어 있지 않음), 칩셋(514), 안테나(516), 터치스크린 디스플레이와 같은 디스플레이(518), 터치 스크린 제어기(520), 배터리(522), 오디오 코덱(도시되어 있지 않음), 비디오 코덱(도시되지 않음), 전력 증폭기(524), GPS 장치(526), 나침반(528), 가속도계(도시되어 있지 않음), 자이로스코프(도시되어 있지 않음), 스피커(l30), 카메라(532), 마이크로폰 어레이(534) 및 대용량 기억 장치(예컨대, 하드 디스크 드라이브)(510), 컴팩트 디스크(CD)(도시되어 있지 않음), 디지털 다목적 디스크(DVD)(도시되어 있지 않음) 등을 포함할 수 있다. 이들 컴포넌트는 시스템 보드(502)에 연결되거나, 시스템 보드에 장착되거나, 또는 임의의 다른 컴포넌트와 연결될 수 있다.
통신 패키지(506)는 컴퓨팅 장치(500)로/로부터 데이터를 전송하기 위한 무선 및/또는 유선 통신을 가능하게 한다. 용어 "무선" 및 그 파생어는 비 고체 매체를 통한 변조된 전자기 방사의 사용을 통해 데이터를 전달할 수 있는 회로, 장치, 시스템, 방법, 기술, 통신 채널 등을 기술하는데 사용될 수 있다. 이 용어는 어떤 실시예에서는 그렇지 않을 수도 있지만, 관련 장치가 와이어를 포함하지 않는다는 것을 의미하지는 않는다. 통신 패키지(506)는 Wi-Fi(IEEE 802.11 계열), WiMAX(IEEE 802.16 계열), IEEE 802.20, LTE(Long Term Evolution), Ev-DO, HSPA+, HSDPA+, HSUPA+, EDGE, GSM, GPRS, CDMA, TDMA, DECT, 블루투스, 이더넷 파생물 및 3G, 4G, 5G 이상으로 지정된 기타 무선 및 유선 프로토콜을 포함한다. 통신 장치(500)는 복수의 통신 패키지(506)를 포함할 수 있다. 예를 들어, 제1 통신 패키지(506)는 Wi-Fi 및 블루투스와 같은 단거리 무선 통신에 전용될 수 있고 제2 통신 패키지(506)는 GPS, EDGE, GPRS, CDMA, WiMAX, LTE, Ev-DO 등과 같은 장거리 무선 통신에 전용될 수 있다.
임의의 깊이 센서 또는 근접 센서를 포함하는 카메라(532)는 본 명세서에 설명된 바와 같이 변환, 분석, 노이즈 감소, 비교, 깊이 또는 거리 분석, 이미지 이해 및 다른 프로세스를 수행하기 위해 선택적 이미지 프로세서(536)에 연결된다. 프로세서(504)는 이미지 프로세서에 연결되어 인터럽트에 의한 프로세스를 구동하고, 파라미터를 설정하며, 이미지 프로세서 및 카메라의 동작을 제어한다. 화상 처리는 대신에 프로세서(504), 그래픽 CPU(512), 카메라(532), 또는 임의의 다른 장치에서 수행될 수 있다.
다양한 구현 예에서, 컴퓨팅 장치(500)는 랩톱, 넷북, 노트북, 울트라북, 스마트폰, 태블릿, PDA(personal digital assistant), 울트라 모바일 PC, 모바일 폰, 데스크톱 컴퓨터, 서버, 셋톱 박스, 엔터테인먼트 제어 유닛, 디지털 카메라, 휴대용 뮤직 플레이어 또는 디지털 비디오 레코더일 수 있다. 컴퓨팅 장치는 고정식, 휴대형 또는 웨어러블일 수 있다. 다른 구현 예에서, 컴퓨팅 장치(500)는 다른 곳에서 처리하기 위해 데이터를 처리하거나 데이터를 기록하는 임의의 다른 전자 장치 일 수 있다.
실시예는 마더보드, ASIC(application specific integrated circuit) 및/또는 FPGA(field programmable gate array)를 사용하여 상호 연결된 하나 이상의 메모리 칩, 제어기, CPU(중앙 처리 장치), 마이크로 칩 또는 집적 회로를 사용하여 구현될 수 있다. "로직"이라는 용어는 예로서, 소프트웨어 또는 하드웨어 및/또는 소프트웨어와 하드웨어의 조합을 포함할 수 있다.
"일 실시예", "실시예", "예시적인 실시예", "다양한 실시예" 등에 관한 언급은 그와 같이 기술된 실시예(들)가 특정한 특징, 구조 또는 특성을 포함할 수 있음을 나타내지만, 모든 실시예가 반드시 그런 특정한 특징, 구조 또는 특성을 포함하지는 않는다. 또한, 일부 실시예는 다른 실시예에 대해 설명된 특징들 중 일부 또는 전부의 특징을 가질 수도 있고 전혀 갖지 않을 수도 없다.
다음의 설명 및 청구 범위에서, "연결된"이라는 용어가 그 파생어와 함께 사용될 수 있다. "연결된"은 두 개 이상의 요소가 서로 협력하거나 상호 작용함을 나타내기 위해 사용되지만, 두 요소 사이에 물리적 또는 전기적 구성 요소가 개재되어 있을 수도 있고 그렇지 않을 수도 있다.
청구범위에서 사용된 바와 같이, 달리 명시되지 않는 한, 일반적인 요소를 설명하기 위해 서수 형용사 "제1", "제2", "제3" 등을 사용하는 것은 단순히 유사한 요소의 상이한 인스턴스가 참조되는 것을 나타내며, 그렇게 기술된 요소들이 시간적, 공간적, 순위적 또는 임의의 다른 방식으로 주어진 순서로 존재해야 한다는 것을 의미하지는 않는다.
도면 및 상기 설명은 실시예들을 제공한다. 당업자는 설명된 요소들 중 하나 이상이 단일 기능 요소로 결합될 수 있다는 것을 이해할 것이다. 대안적으로, 어떤 요소는 다수의 기능 요소로 분할될 수 있다. 일 실시예의 요소들이 다른 실시예에 추가될 수도 있다. 예를 들어, 본 명세서에 기술된 공정의 순서는 변경될 수 있으며, 본 명세서에서 설명된 방식으로 제한되지는 않는다. 또한, 임의의 흐름도의 동작은 도시된 순서로 구현될 필요가 없고, 모든 동작들이 반드시 수행될 필요도 없다. 또한, 다른 동작에 의존하지 않는 동작이 다른 동작들과 병행하여 수행될 수 있다. 실시예의 범위는 이들 특정 예에 의해 결코 제한되지 않는다. 구조, 치수 및 재료 사용의 차이와 같이 사양에 명시적으로 제공되는지 여부에 관계없이 다양한 변형이 가능한다. 실시예의 범위는 적어도 하기 청구 범위에 의해 주어진 만큼 넓다.
실시예들은, 예를 들어, 컴퓨터, 컴퓨터들의 네트워크, 또는 기타 전자 장치와 같은 하나 이상의 머신에 의해 실행될 때, 하나 이상의 머신으로 하여금 본 명세서에 기술된 실시예에 따른 동작들을 수행하게 하는 머신 실행 가능한 명령어가 저장되어 있는 하나 이상의 일시적 또는 비 일시적 머신 판독 가능한 저장 매체를 포함할 수 있는 컴퓨터 프로그램 제품으로서 제공될 수 있다. 머신 판독 가능 매체는 플로피 디스켓, 광 디스크, CD-ROM(Compact Disc-Read Only Memory) 및 광자기 디스크, ROM, RAM, EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read Only Memory), 자기 또는 광학 카드, 플래시 메모리, 또는 머신 실행 가능 명령어를 저장하기에 적합한 다른 유형의 매체/머신 판독 가능 매체를 포함할 수 있지만, 이에 한정되지는 않는다.
도 6은 전술한 동작을 지원할 수 있는 컴퓨팅 환경(600)의 일 실시예를 도시한 것이다. 모듈 및 시스템은 도 5에 도시된 것을 포함하는 다양한 하드웨어 아키텍처 및 폼 팩터로 구현될 수 있다.
커맨드 실행 모듈(601)은 커맨드를 일시 저장하고 실행하며 도시된 다른 모듈 및 시스템 사이에서 작업을 분배하는 중앙 처리 유닛을 포함한다. 커맨드 실행 모듈(601)은 명령어 스택, 중간 결과 및 최종 결과를 저장하는 캐시 메모리와, 애플리케이션 및 운영 체제를 저장하는 대용량 메모리를 포함할 수 있다. 커맨드 실행 모듈은 시스템의 중앙 조정 및 작업 할당 유닛 역할을 할 수도 있다.
스크린 렌더링 모듈(621)은 사용자가 볼 수 있도록 하나 이상의 다중 스크린 상에 객체를 묘사한다. 스크린 렌더링 모듈(621)은 아래에서 설명되는 가상 객체 거동 모듈(604)로부터 데이터를 수신하고, 적절한 스크린 또는 스크린들 상에 가상 객체 및 임의의 다른 객체 및 힘을 렌더링하도록 적응될 수 있다. 따라서, 가상 객체 거동 모듈로부터의 데이터는, 예를 들어, 가상 객체 및 연관된 제스처, 힘 및 객체의 위치 및 동력(dynamics)을 결정할 것이며, 그에 따라 스크린 렌더링 모듈은 가상 객체 및 관련 객체와 환경을 스크린 상에 묘사할 것이다. 스크린 렌더링 모듈은 또한 후술하는 인접 스크린 투시 모듈(607)로부터 데이터를 수신하여, 가상 객체가 인접한 스크린 투시 모듈(607)과 연관된 장치의 디스플레이로 이동될 수 있는 경우, 가상 객체에 대한 타겟 랜딩 영역을 묘사하도록 적응될 수 있다. 따라서, 예를 들어, 가상 객체가 주 스크린으로부터 보조 스크린으로 이동되는 경우, 인접 스크린 투시 모듈(607)은 스크린 렌더링 모듈로 데이터를 전송하여, 예컨대 그림자 형태로, 사용자의 손 동작 또는 안구 운동에 대해 그 트랙 상의 가상 객체에 대한 하나 이상의 타겟 랜딩 영역을 제시한다.
객체 및 제스처 인식 모듈(622)은 사용자의 손 및 팔 제스처를 인식하고 추적하도록 적용될 수 있다. 이러한 모듈은 손, 손가락, 손가락 제스처, 손의 움직임 및 디스플레이에 대한 손의 위치를 인식하는 데 사용될 수 있다. 예를 들어, 객체 및 제스처 인식 모듈은, 예를 들어 사용자가 다수의 스크린 중 하나 또는 다른 것에 가상 객체를 떨어뜨리거나 던지는 신체 부위 제스처를 만들었거나, 사용자가 다수의 스크린 중 하나 또는 다른 것의 베젤로 가상 객체를 이동시키는 신체 부위 제스처를 만들었음을 판정할 수 있다. 객체 및 제스처 인식 시스템은 카메라 또는 카메라 어레이, 마이크로폰 또는 마이크로폰 어레이, 터치 스크린 또는 터치 표면, 또는 포인팅 장치 또는 이들의 조합과 결합되어 사용자로부터의 제스처 및 커맨드를 검출할 수 있다.
객체 및 제스처 인식 시스템의 터치 스크린 또는 터치 표면은 터치 스크린 센서를 포함할 수 있다. 이 센서로부터의 데이터는 스크린 또는 표면 상의 사용자의 손의 터치 제스처를 가상 객체의 대응하는 동적 거동에 맵핑하는 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합에 공급될 수 있다. 센서 날짜는 운동량 및 관성 인자들에 이용되어, 화면에 대한 사용자의 손가락의 스와이프 속도와 같은 사용자의 손으로부터의 입력에 기초하여 가상 객체에 대한 운동량 거동을 허용한다. 핀치 제스처는 디스플레이 스크린으로부터 가상 객체를 들어올리거나, 가상 객체와 관련된 가상 바인딩을 생성하기 시작하거나 디스플레이상에서 줌인 또는 줌아웃하는 커맨드로서 해석될 수 있다. 터치 표면의 혜택 없이 하나 이상의 카메라를 사용하는 객체 및 제스처 인식 시스템에 의해 유사한 커맨드가 생성될 수 있다.
주의 방향 모듈(623)은 사용자의 얼굴이나 손의 위치 또는 방향을 추적하기 위해 카메라 또는 다른 센서를 구비할 수 있다. 제스처 또는 음성 커맨드가 내려지면 시스템은 제스처에 대한 적절한 화면을 결정할 수 있다. 일 예시에서, 카메라가 각 디스플레이 근처에 장착되어 사용자가 그 디스플레이를 마주하고 있는지 여부를 검출한다. 사용자가 디스플레이를 마주하고 있으면, 주의 방향 모듈 정보가 객체 및 제스처 인식 모듈(722)로 제공되어, 제스처 또는 커맨드가 활성 디스플레이에 대한 적절한 라이브러리와 연관되게 한다. 마찬가지로 사용자가 모든 화면을 바라보지 않으면, 커맨드가 무시될 수 있다.
장치 근접 검출 모듈(625)은 근접 센서, 나침반, GPS(global positioning system) 수신기, 개인 영역 네트워크 무선부 및 다른 유형의 센서를 삼각 측량 및 다른 기법과 함께 사용하여 다른 장치의 근접성을 판정할 수 있다. 주변 장치가 검출되면 그 장치는 시스템에 등록될 수 있으며, 그 유형이 입력 장치 또는 표시 장치 또는 둘 모두로서 판정할 수 있다. 입력 장치의 경우, 수신된 데이터는 그 후 객체 및 제스처 및 인식 모듈(622)에 적용될 수 있다. 디스플레이 장치의 경우, 수신된 데이터는 인접 스크린 투시 모듈(607)에 의해 고려될 수 있다.
가상 객체 거동 모듈(604)은 객체 속도 및 방향 모듈로부터 입력을 수신하고, 그러한 입력을 디스플레이에 보여지는 가상 객체에 적용하도록 구성된다. 따라서, 예를 들어, 객체 및 제스처 인식 시스템이 사용자 제스처를 해석하고, 사용자의 손의 캡처된 움직임을 인식된 움직임에 매핑함으로써, 가상 객체 추적 모듈이 가상 객체의 위치 및 움직임을 객체 및 제스처 인식 시스템에 의해 인식된 움직임에 연관시키며, 객체 속도 및 방향 모듈이 가상 객체의 움직임의 동력을 캡처하고, 가상 객체 거동 모듈이 객체 속도 및 방향 모듈로부터 입력을 수신하여 가상 객체의 움직임이 객체 속도 및 방향 모듈로부터의 입력에 대응시키도록 지시하는 데이터를 생성할 것이다.
한편, 가상 객체 추적 모듈(606)은 가상 객체가 디스플레이 근처의 3차원 공간에 위치하는 곳을 추적하고, 사용자의 어느 신체 부위가 가상 객체를 잡고 있는지를 객체 및 제스처 인식 모듈로부터의 입력에 기초하여 추적하도록 구성될 수 있다. 가상 객체 추적 모듈(606)은, 예를 들어, 가상 객체가 화면들 사이를 가로 질러 이동할 때 가상 객체를 추적할 수 있으며, 사용자의 어느 신체 부위가 그 가상 객체를 잡고 있는지를 추적할 수 있다. 가상 객체를 잡고 있는 신체 부위를 추적하면, 신체 부위의 기류를 계속해서 알 수 있고, 따라서 가상 객체가 하나 이상의 스크린 상에 놓여 졌는지 여부를 최종적으로 인식할 수 있다.
뷰 및 스크린 동기화 모듈(608)은 주의 방향 모듈(623)로부터 뷰 및 스크린의 선택 또는 둘 모두를 수신하며, 일부 경우에는 어느 뷰가 활성 뷰이고 어느 스크린이 활성 스크린인지를 결정하기 위한 음성 커맨드를 수신한다. 뷰 및 스크린 동기화 모듈(608)은 그 후 객체 및 제스처 인식 모듈(622)을 위한 관련 제스처 라이브러리가 로딩되게 한다. 하나 이상의 스크린 상의 애플리케이션의 다양한 뷰는 대안적인 제스처 라이브러리 또는 주어진 뷰에 대한 제스처 템플릿의 세트와 연관될 수 있다. 일례로서, 도 1a에서, 핀치-릴리스 제스처는 어뢰를 발사하지만 그림 1b에서는 동일한 제스처가 폭뢰를 발사한다.
장치 근접 검출 모듈(625)을 포함하거나 장치 근접 검출 모듈(625)에 결합될 수 있는 인접 스크린 투시 모듈(607)은 다른 디스플레이에 대한 하나의 디스플레이의 각도 및 위치를 결정하도록 구성될 수 있다. 투영된 디스플레이는, 예를 들어, 벽 또는 스크린 상에 투영된 이미지를 포함한다. 인근 스크린의 근접성 및 그로부터 투영된 디스플레이의 대응하는 각도 또는 방위를 검출하는 능력은, 예를 들어 적외선 방출기 및 수신기, 또는 전자기 또는 광 검출 감지 능력으로 달성될 수 있다. 터치 입력에 의해 디스플레이가 투영되도록 허용하는 기술의 경우, 입력 비디오를 분석하여 투영된 디스플레이의 위치를 결정하고 비스듬히 디스플레이함으로써 야기되는 왜곡을 수정할 수 있다. 가속도계, 자력계, 나침반 또는 카메라를 사용하여 장치가 유지되는 각도를 결정할 수 있는 반면, 적외선 방사체 및 카메라는 인접한 장치 상의 센서에 대한 스크린 장치의 방향이 결정될 수 있게 한다. 인접 스크린 투시 모듈(607)은 이러한 방식으로, 자신의 스크린 좌표에 대한 인접한 스크린의 좌표를 결정할 수 있다. 따라서, 인접 스크린 투시 모듈은 어느 장치가 서로 근접해 있는지를 판정할 수 있고, 하나 이상의 가상 객체가 스크린을 가로질러 이동하는 추가의 잠재적인 타겟을 결정할 수 있다. 인접 스크린 투시 모듈은 또한 스크린의 위치가 모든 기존의 객체 및 가상 객체를 나타내는 3차원 공간의 모델과 상관되도록 허용할 수 있다.
객체 속도 및 방향 모듈(603)은, 가상 객체 추적 모듈로부터의 입력을 수신함으로써, 움직이고 있는 가상 객체의 동력, 예컨대, 그것의 궤도, 속도(예컨대, 선형 속도 또는 각속도), 운동량(선형 운동량 또는 각 운동량) 등을 추정하도록 구성될 수 있다. 객체 속도 및 방향 모듈은 또한, 예를 들어 가속도, 편향, 가상 바인딩의 신축 정도 등과, 사용자의 신체 부위에 의해 릴리스된 경우의 가상 객체의 동적 거동을 추정함으로써, 임의의 물리적 힘의 동력을 추정하도록 구성될 수 있다. 객체 속도 및 방향 모듈은 또한 이미지의 움직임, 크기 및 각도 변화를 사용하여 손과 손가락의 속도와 같은 객체의 속도를 추정할 수 있다.
운동량 및 관성 모듈(602)은 이미지 평면 또는 3차원 공간에서의 이미지의 움직임, 이미지 크기, 및 객체의 각도 변화를 사용하여 공간 내 또는 디스플레이 상에서의 객체의 속도 및 방향을 추정할 수 있다. 운동량 및 관성 모듈은 객체 및 제스처 인식 모듈(622)에 결합되어 손, 손가락 및 기타 신체 부위에 의해 수행된 제스처의 속도를 추정한 다음 이들 추정치를 적용하여 제스처에 의해 영향을 받는 가상 객체에 대한 운동량 및 속도를 결정한다.
3D 이미지 상호작용 및 효과 모듈(605)은 하나 이상의 스크린 밖으로 연장되는 것으로 보이는 3D 이미지와의 사용자 상호 작용을 추적한다. (스크린면에 대해 가까워지고 멀어지는) z축에서 객체의 영향은 이들 객체가 서로에게 미치는 상대적인 영향과 함께 계산될 수 있다. 예를 들어, 사용자 제스처에 의해 던져진 객체는 가상 객체가 화면에 도착하기 전에 전경에 있는 3D 객체에 의해 영향을 받을 수 있다. 이 객체는 발사체의 방향이나 속도를 변경하거나 그것을 완전히 파괴할 수 있다. 객체는 3D 이미지 상호작용 및 효과 모듈에 의해 하나 이상의 디스플레이 상의 전경에서 렌더링될 수 있다. 도시된 바와 같이, 컴포넌트(601, 602, 603, 604, 605, 606, 607 및 608)와 같은 다양한 컴포넌트는 버스(609)와 같은 버스나 상호접속부를 통해 연결된다.
다음의 조항 및/또는 예는 추가적인 실시예 또는 예들과 관련된다. 이들 예에서의 특정 사항은 하나 이상의 실시예의 어느 곳에서나 사용될 수 있다. 상이한 실시예 또는 예들의 다양한 특징들은 포함된 일부 특징들과 다양하게 결합될 수 있고, 다른 특징들은 다양한 애플리케이션에 맞게 배제될 수도 있다. 예들은 방법, 방법의 동작을 수행하는 수단, 머신에 의해 수행될 때 머신으로 하여금 방법의 동작을 수행하게 하는 명령어를 포함하는 적어도 하나의 머신 판독 가능 매체, 또는 본 명세서에 설명된 실시예들 및 예들에 따른 하이브리드 통신을 가능하게 하는 장치 또는 시스템과 같은 청구대상을 포함할 수 있다.
일부 실시예는 자율 기계에서 손상된 센서의 심층 학습을 기반으로 한 실시간 검출 및 수정을 가능하게 하는 장치를 포함하는 예 1과 관련이 있으며, 이 장치는 하나 이상의 센서가 장면의 하나 이상의 이미지를 캡처하는 것을 가능하게 하는 검출 및 캡처 로직 - 상기 하나 이상의 이미지 중 하나의 이미지가 불명확하다고 판정되고, 상기 하나 이상의 센서는 하나 이상의 카메라를 포함함 - 과, 심층 학습 모델(deep learning model)이 상기 이미지와 연관된 센서를 실시간으로 식별하는 것을 가능하게 하는 분류 및 예측 로직을 포함한다.
예 2는 예 1의 청구 대상을 포함하고, 상기 하나 이상의 이미지와 연관된 하나 이상의 데이터 입력을 수신하여, 상기 하나 이상의 데이터 입력을 상기 심층 학습 모델에 의해 처리될 단일 데이터 입력으로 결합하는 결합 로직을 더 포함하며, 상기 장치는, 자율 주행 차량, 자율 비행 차량, 자율 항해 차량 및 자율 가정용 장치 중 하나 이상을 포함하는 자율 기계를 포함한다.
예 3은 예 1 및 2의 청구 대상을 포함하고, 상기 심층 학습 모델이 상기 단일 데이터 입력을 수신하여, 상기 불명확한 이미지와 연관된 센서를 실시간으로 식별하기 위한 트레이닝 과정 및 추론 과정을 포함하는 하나 이상의 심층 학습 과정을 수행하는 것을 가능하게 하는 트레이닝 및 추론 로직을 더 포함하며, 상기 센서는 카메라를 포함한다.
예 4는 예 1 내지 3의 청구 대상을 포함하고, 상기 트레이닝 및 추론 로직은 또한, 상기 심층 학습 모델이 복수의 데이터 입력을 수신하는 것과 상기 센서의 실시간 식별이 정확하고 시의적절하도록 상기 트레이닝 및 추론 과정을 통해 상기 복수의 데이터 입력을 실행하는 것을 가능하게 한다.
예 5는 예 1 내지 4의 청구 대상을 포함하고, 상기 심층 학습 모델은 하나 이상의 콘볼루션 신경망을 포함하는 하나 이상의 신경망을 포함하며, 상기 이미지는 상기 센서의 기술적인 결함 또는 상기 센서의 물리적 장애물(obstruction) 중 하나 이상으로 인하여 불명확하고, 상기 물리적 장애물은 사람, 식물, 동물, 센서를 가리는 물체, 또는 먼지, 얼룩, 진흙, 센서의 렌즈의 일부분을 덮는 오염물로 인한 것이다.
예 6은 예 1 내지 5의 청구 대상을 포함하고, 상기 분류 및 예측 로직은 상기 불명확한 이미지의 실시간 통지 및 상기 센서의 실시간 자동 수정(auto-correction) 중 하나 이상을 제공한다.
예 7은 예 1 내지 6의 청구 대상을 포함하고, 상기 장치는 공통 반도체 패키지 상에 애플리케이션 프로세서와 함께 배치된 그래픽 처리기를 갖는 하나 이상의 프로세서를 포함한다.
일부 실시예는 자율 기계에서 손상된 센서의 심층 학습을 기반으로 한 실시간 검출 및 수정을 가능하게 하는 방법을 포함하는 예 8과 관련이 있으며, 이 방법은, 하나 이상의 센서가 장면의 하나 이상의 이미지를 캡처하는 것을 가능하게 하는 단계 - 상기 하나 이상의 이미지 중 하나의 이미지가 불명확하다고 판정되고, 상기 하나 이상의 센서는 컴퓨팅 장치의 하나 이상의 카메라를 포함함 - 와, 심층 학습 모델이 상기 이미지와 연관된 센서를 실시간으로 식별하는 것을 가능하게 하는 단계를 포함한다.
예 9는 예 8의 청구 대상을 포함하고, 상기 하나 이상의 이미지와 연관된 하나 이상의 데이터 입력을 수신하여, 상기 하나 이상의 데이터 입력을 상기 심층 학습 모델에 의해 처리될 단일 데이터 입력으로 결합하는 단계를 더 포함하며, 상기 장치는, 자율 주행 차량, 자율 비행 차량, 자율 항해 차량 및 자율 가정용 장치 중 하나 이상을 포함하는 자율 기계를 포함한다.
예 10은 예 8 및 9의 청구 대상을 포함하고, 상기 심층 학습 모델이 상기 단일 데이터 입력을 수신하여, 상기 불명확한 이미지와 연관된 센서를 실시간으로 식별하기 위한 트레이닝 과정 및 추론 과정을 포함하는 하나 이상의 심층 학습 과정을 수행하는 것을 가능하게 하는 단계를 더 포함하며, 상기 센서는 카메라를 포함한다.
예 11은 예 8 내지 10의 청구 대상을 포함하고, 상기 심층 학습 모델은 또한 복수의 데이터 입력을 수신하고, 상기 센서의 실시간 식별이 정확하고 시의적절하도록 상기 트레이닝 및 추론 과정을 통해 상기 복수의 데이터 입력을 실행한다.
예 12는 예 8 내지 11의 청구 대상을 포함하고, 상기 심층 학습 모델은 하나 이상의 콘볼루션 신경망을 포함하는 하나 이상의 신경망을 포함하며, 상기 이미지는 상기 센서의 기술적인 결함 또는 상기 센서의 물리적 장애물 중 하나 이상으로 인하여 불명확하고, 상기 물리적 장애물은 사람, 식물, 동물, 센서를 가리는 물체, 또는 먼지, 얼룩, 진흙, 센서의 렌즈의 일부분을 덮는 오염물로 인한 것이다.
예 13은 예 8 내지 12의 청구 대상을 포함하고, 상기 불명확한 이미지의 실시간 통지 및 상기 센서의 실시간 자동 수정 중 하나 이상을 제공하는 단계를 더 포함한다.
예 14는 예 8 내지 13의 청구 대상을 포함하고, 상기 컴퓨팅 장치는 공통 반도체 패키지 상에 애플리케이션 프로세서와 함께 배치된 그래픽 처리기를 갖는 하나 이상의 프로세서를 포함한다.
일부 실시예는 프로세싱 장치에 결합된 메모리를 갖는 컴퓨팅 장치를 포함하는 데이터 처리 시스템을 포함하는 예 15와 관련이 있으며, 이 프로세싱 장치는 하나 이상의 센서가 장면의 하나 이상의 이미지를 캡처하는 것을 가능하게 하고 - 상기 하나 이상의 이미지 중 하나의 이미지가 불명확하다고 판정되고, 상기 하나 이상의 센서는 컴퓨팅 장치의 하나 이상의 카메라를 포함함 - , 심층 학습 모델이 상기 이미지와 연관된 센서를 실시간으로 식별하는 것을 가능하게 한다.
예 16은 예 15의 청구 대상을 포함하고, 상기 프로세싱 장치는 또한, 상기 동작들은, 상기 하나 이상의 이미지와 연관된 하나 이상의 데이터 입력을 수신하여, 상기 하나 이상의 데이터 입력을 상기 심층 학습 모델에 의해 처리될 단일 데이터 입력으로 결합하는 동작을 더 포함하며, 상기 장치는, 자율 주행 차량, 자율 비행 차량, 자율 항해 차량 및 자율 가정용 장치 중 하나 이상을 포함하는 자율 기계를 포함한다.
예 17은 예 15 및 16의 청구 대상을 포함하고, 상기 프로세싱 장치는 또한 상기 심층 학습 모델이 상기 단일 데이터 입력을 수신하여, 상기 불명확한 이미지와 연관된 센서를 실시간으로 식별하기 위한 트레이닝 과정 및 추론 과정을 포함하는 하나 이상의 심층 학습 과정을 수행하는 것을 가능하게 하며, 상기 센서는 카메라를 포함한다.
예 18은 예 15 내지 17의 청구 대상을 포함하고, 상기 심층 학습 모델은 또한 복수의 데이터 입력을 수신하고, 상기 센서의 실시간 식별이 정확하고 시의적절하도록 상기 트레이닝 및 추론 과정을 통해 상기 복수의 데이터 입력을 실행한다.
예 19는 예 15 내지 18의 청구 대상을 포함하고, 상기 심층 학습 모델은 하나 이상의 콘볼루션 신경망을 포함하는 하나 이상의 신경망을 포함하며, 상기 이미지는 상기 센서의 기술적인 결함 또는 상기 센서의 물리적 장애물 중 하나 이상으로 인하여 불명확하고, 상기 물리적 장애물은 사람, 식물, 동물, 센서를 가리는 물체, 또는 먼지, 얼룩, 진흙, 센서의 렌즈의 일부분을 덮는 오염물로 인한 것이다.
예 20은 예 15 내지 19의 청구 대상을 포함하고, 상기 프로세싱 장치는 또한, 상기 불명확한 이미지의 실시간 통지 및 상기 센서의 실시간 자동 수정 중 하나 이상을 제공한다.
예 21은 예 15 내지 20의 청구 대상을 포함하고, 상기 컴퓨팅 장치는 공통 반도체 패키지 상에 애플리케이션 프로세서와 함께 배치된 그래픽 처리기를 갖는 하나 이상의 프로세서를 포함한다.
일부 실시예는 다수의 사용자로부터의 다수의 음성의 동시 인식 및 처리를 가능하게 하는 장치를 포함하는 예 22과 관련이 있으며, 이 장치는 하나 이상의 센서가 장면의 하나 이상의 이미지를 캡처하는 것을 가능하게 하는 수단 - 상기 하나 이상의 이미지 중 하나의 이미지가 불명확하다고 판정되고, 상기 하나 이상의 센서는 하나 이상의 카메라를 포함함 - 과, 심층 학습 모델이 상기 이미지와 연관된 센서를 실시간으로 식별하는 것을 가능하게 하는 수단을 포함한다.
예 23은 예 22의 청구 대상을 포함하고, 상기 하나 이상의 이미지와 연관된 하나 이상의 데이터 입력을 수신하여, 상기 하나 이상의 데이터 입력을 상기 심층 학습 모델에 의해 처리될 단일 데이터 입력으로 결합하는 수단을 더 포함하며, 상기 장치는, 자율 주행 차량, 자율 비행 차량, 자율 항해 차량 및 자율 가정용 장치 중 하나 이상을 포함하는 자율 기계를 포함한다.
예 24는 예 22 및 23의 청구 대상을 포함하고, 상기 심층 학습 모델이 상기 단일 데이터 입력을 수신하여, 상기 불명확한 이미지와 연관된 센서를 실시간으로 식별하기 위한 트레이닝 과정 및 추론 과정을 포함하는 하나 이상의 심층 학습 과정을 수행하는 것을 가능하게 하는 수단을 더 포함하며, 상기 센서는 카메라를 포함한다.
예 25는 예 22 내지 24의 청구 대상을 포함하고, 상기 심층 학습 모델은 또한 복수의 데이터 입력을 수신하고 상기 센서의 실시간 식별이 정확하고 시의적절하도록 상기 트레이닝 및 추론 과정을 통해 상기 복수의 데이터 입력을 실행한다.
예 26은 예 22 내지 25의 청구 대상을 포함하고, 상기 심층 학습 모델은 하나 이상의 콘볼루션 신경망을 포함하는 하나 이상의 신경망을 포함하며, 상기 이미지는 상기 센서의 기술적인 결함 또는 상기 센서의 물리적 장애물 중 하나 이상으로 인하여 불명확하고, 상기 물리적 장애물은 사람, 식물, 동물, 센서를 가리는 물체, 또는 먼지, 얼룩, 진흙, 센서의 렌즈의 일부분을 덮는 오염물로 인한 것이다.
예 27은 예 22 내지 26의 청구 대상을 포함하고, 상기 불명확한 이미지의 실시간 통지 및 상기 센서의 실시간 자동 수정 중 하나 이상을 제공하는 수단을 더 포함한다.
예 28은 예 22 내지 27의 청구 대상을 포함하고, 상기 장치는 공통 반도체 패키지 상에 애플리케이션 프로세서와 함께 배치된 그래픽 처리기를 갖는 하나 이상의 프로세서를 포함한다.
예 29는, 컴퓨팅 장치에 의해 실행될 경우에, 청구항 또는 예 8 내지 14 중 어느 하나에 청구된 방법을 구현하거나 수행하는 복수의 명령어를 포함하는 적어도 하나의 비일시적 또는 유형의(tangible) 머신 판독가능한 매체를 포함한다.
예 30은, 컴퓨팅 장치에 의해 실행될 경우에, 청구항 또는 예 8 내지 14 중 어느 하나에 청구된 방법을 구현하거나 수행하는 복수의 명령어를 포함하는 적어도 하나의 머신 판독가능한 매체를 포함한다.
예 31은 청구항 또는 예 8 내지 14 중 어느 하나에 청구된 방법을 구현하거나 수행하는 메커니즘을 포함하는 시스템을 포함한다.
예 32는 청구항 또는 예 8 내지 14 중 어느 하나에 청구된 방법을 구현하거나 수행하는 수단을 포함하는 장치를 포함한다.
예 33은 청구항 또는 예 8 내지 14 중 어느 하나에 청구된 방법을 구현하거나 수행하도록 구성된 컴퓨팅 장치를 포함한다.
예 34는 청구항 또는 예 8 내지 14 중 어느 하나에 청구된 방법을 구현하거나 수행하도록 구성된 통신 장치를 포함한다.
예 35는, 컴퓨팅 장치에 의해 실행될 경우에, 임의의 선행 청구항에 청구된 방법을 구현하거나 수행하거나, 또는 장치를 실현하는 복수의 명령어를 포함하는 적어도 하나의 머신 판독가능한 매체를 포함한다.
예 36은, 컴퓨팅 장치에 의해 실행될 경우에, 임의의 선행 청구항에 청구된 방법을 구현하거나 수행하거나, 또는 장치를 실현하는 복수의 명령어를 포함하는 적어도 하나의 비일시적 또는 유형의 머신 판독가능한 매체를 포함한다.
예 37은 임의의 선행 청구항에 청구된 방법을 구현하거나 수행하거나, 또는 장치를 실현하는 메커니즘을 포함하는 시스템을 포함한다.
예 38은 임의의 선행 청구항에 청구된 방법을 수행하는 수단을 포함하는 장치를 포함한다.
예 39는 임의의 선행 청구항에 청구된 방법을 구현하거나 수행하거나, 또는 장치를 실현하도록 구성된 컴퓨팅 장치를 포함한다.
예 40은 임의의 선행 청구항에 청구된 방법을 구현하거나 수행하거나, 또는 장치를 실현하도록 구성된 통신 장치를 포함한다.
도면 및 상기 설명은 실시예의 예를 제공한다. 당업자는 설명된 요소들 중 하나 이상이 단일 기능 요소로 조합될 수 있다는 것을 이해할 것이다. 대안적으로, 어떤 요소는 다수의 기능 요소로 분할될 수 있다. 일 실시예로부터의 요소들이 다른 실시예에 추가될 수 있다. 예를 들어, 본 명세서에 기술된 프로세스의 순서는 변경될 수 있으며 본 명세서에 설명된 방식으로 제한되지는 않는다. 또한, 임의의 흐름도의 동작은 도시된 순서로 구현될 필요는 없다. 모든 거동을 반드시 수행해야 할 필요도 없다. 또한, 다른 행위에 의존하지 않는 행위는 다른 행위와 병행하여 수행될 수 있다. 실시예의 범위는 이들 특정 예에 의해 결코 제한되지 않는다. 구조, 치수 및 재료의 사용의 차이와 같이 사양에 명시적으로 제공되는지 여부에 관계없이 다양한 변형이 가능한다. 실시예의 범위는 적어도 하기 청구 범위에 의해 주어진 바와 같다.

Claims (19)

  1. 자율 기계에서 손상된 센서를 심층 학습을 기반으로 실시간 검출 및 수정할 수 있게 하는 장치로서,
    하나 이상의 프로세서를 포함하되, 상기 하나 이상의 프로세서는
    하나 이상의 센서가 장면의 하나 이상의 이미지를 캡처하는 것을 가능하게 하는 검출 및 캡처 로직 - 상기 하나 이상의 이미지 중 하나의 이미지가 불명확하다고 판정되고, 상기 하나 이상의 센서는 하나 이상의 카메라를 포함함 - 과,
    심층 학습 모델(deep learning model)이 상기 이미지와 연관된 센서를 실시간으로 식별하는 것을 가능하게 하는 분류 및 예측 로직
    을 가능하게 하는 장치.
  2. 제1항에 있어서,
    상기 하나 이상의 프로세서는 또한, 상기 하나 이상의 이미지와 연관된 하나 이상의 데이터 입력을 수신하여, 상기 하나 이상의 데이터 입력을 상기 심층 학습 모델에 의해 처리될 단일 데이터 입력으로 결합하는 결합 로직(concatenation logic)을 가능하게 하며,
    상기 장치는, 자율 주행 차량, 자율 비행 차량, 자율 항해 차량 및 자율 가정용 장치 중 하나 이상을 포함하는 자율 기계를 포함하는
    장치.
  3. 제1항에 있어서,
    상기 하나 이상의 프로세서는 또한, 상기 심층 학습 모델이 상기 단일 데이터 입력을 수신하여, 상기 불명확한 이미지와 연관된 센서를 실시간으로 식별하기 위한 트레이닝 과정 및 추론 과정을 포함하는 하나 이상의 심층 학습 과정을 수행하는 것을 가능하게 하는 트레이닝 및 추론 로직을 가능하게 하고,
    상기 센서는 카메라를 포함하는
    장치.
  4. 제3항에 있어서,
    상기 트레이닝 및 추론 로직은 또한, 상기 심층 학습 모델이 복수의 데이터 입력을 수신하는 것과 상기 센서의 실시간 식별이 정확하고 시의적절하도록 상기 트레이닝 및 추론 과정을 통해 상기 복수의 데이터 입력을 실행하는 것을 가능하게 하는
    장치.
  5. 제1항에 있어서,
    상기 심층 학습 모델은 하나 이상의 콘볼루션 신경망을 포함하는 하나 이상의 신경망을 포함하며, 상기 이미지는 상기 센서의 기술적인 결함 또는 상기 센서의 물리적 장애물(obstruction) 중 하나 이상으로 인하여 불명확하고, 상기 물리적 장애물은 사람, 식물, 동물, 센서를 가리는 물체, 또는 먼지, 얼룩, 진흙, 센서의 렌즈의 일부분을 덮는 오염물로 인한 것인
    장치.
  6. 제1항에 있어서,
    상기 분류 및 예측 로직은 상기 불명확한 이미지의 실시간 통지 및 상기 센서의 실시간 자동 수정(auto-correction) 중 하나 이상을 제공하는
    장치.
  7. 제1항에 있어서,
    상기 하나 이상의 프로세서는 그래픽 처리기 및 애플리케이션 프로세서 중 하나 이상을 포함하며, 상기 그래픽 처리기는 공통 반도체 패키지 상에 애플리케이션 프로세서와 함께 배치되는
    장치.
  8. 자율 기계에서 손상된 센서를 심층 학습을 기반으로 실시간 검출 및 수정할 수 있게 하는 방법으로서,
    하나 이상의 센서가 장면의 하나 이상의 이미지를 캡처하는 것을 가능하게 하는 단계 - 상기 하나 이상의 이미지 중 하나의 이미지가 불명확하다고 판정되고, 상기 하나 이상의 센서는 컴퓨팅 장치의 하나 이상의 카메라를 포함함 - 와,
    심층 학습 모델이 상기 이미지와 연관된 센서를 실시간으로 식별하는 것을 가능하게 하는 단계를 포함하는
    방법.
  9. 제8항에 있어서,
    상기 하나 이상의 이미지와 연관된 하나 이상의 데이터 입력을 수신하여, 상기 하나 이상의 데이터 입력을 상기 심층 학습 모델에 의해 처리될 단일 데이터 입력으로 결합하는 단계를 더 포함하며,
    상기 장치는, 자율 주행 차량, 자율 비행 차량, 자율 항해 차량 및 자율 가정용 장치 중 하나 이상을 포함하는 자율 기계를 포함하는
    방법.
  10. 제8항에 있어서,
    상기 심층 학습 모델이 상기 단일 데이터 입력을 수신하여, 상기 불명확한 이미지와 연관된 센서를 실시간으로 식별하기 위한 트레이닝 과정 및 추론 과정을 포함하는 하나 이상의 심층 학습 과정을 수행하는 것을 가능하게 하는 단계를 더 포함하며,
    상기 센서는 카메라를 포함하는
    방법.
  11. 제10항에 있어서,
    상기 심층 학습 모델은 또한 복수의 데이터 입력을 수신하고, 상기 센서의 실시간 식별이 정확하고 시의적절하도록 상기 트레이닝 및 추론 과정을 통해 상기 복수의 데이터 입력을 실행하는
    방법.
  12. 제8항에 있어서,
    상기 심층 학습 모델은 하나 이상의 콘볼루션 신경망을 포함하는 하나 이상의 신경망을 포함하며, 상기 이미지는 상기 센서의 기술적인 결함 또는 상기 센서의 물리적 장애물 중 하나 이상으로 인하여 불명확하고, 상기 물리적 장애물은 사람, 식물, 동물, 센서를 가리는 물체, 또는 먼지, 얼룩, 진흙, 센서의 렌즈의 일부분을 덮는 오염물로 인한 것인
    방법.
  13. 제8항에 있어서,
    상기 불명확한 이미지의 실시간 통지 및 상기 센서의 실시간 자동 수정 중 하나 이상을 제공하는 단계를 더 포함하는
    방법.
  14. 제8항에 있어서,
    상기 컴퓨팅 장치는 그래픽 처리기 및 애플리케이션 프로세서 중 하나 이상을 갖는 하나 이상의 프로세서를 포함하며, 상기 그래픽 처리기는 공통 반도체 패키지 상에 상기 애플리케이션 프로세서와 함께 배치되는
    방법.
  15. 컴퓨팅 장치 상에서 실행될 경우에, 청구항 제8항 내지 제14항 중 어느 한 항에 청구된 방법을 구현하거나 또는 수행하는 복수의 명령어를 포함하는 적어도 하나의 머신 판독가능한 매체.
  16. 제8항 내지 제14항 중 어느 한 항에 청구된 방법을 구현하거나 또는 수행하는 메커니즘을 포함하는
    머신 판독가능한 매체.
  17. 제8항 내지 제14항 중 어느 한 항에 청구된 방법을 수행하는 수단을 포함하는 장치.
  18. 제8항 내지 제14항 중 어느 한 항에 청구된 방법을 구현하거나 또는 수행하도록 구성된 컴퓨팅 장치.
  19. 제8항 내지 제14항 중 어느 한 항에 청구된 방법을 구현하거나 또는 수행하도록 구성된 통신 장치.
KR1020180128300A 2017-11-28 2018-10-25 자율 머신에서의 오작동 센서의 딥 러닝 기반의 실시간 검출 및 수정 KR20190062171A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/824,808 US20190025773A1 (en) 2017-11-28 2017-11-28 Deep learning-based real-time detection and correction of compromised sensors in autonomous machines
US15/824,808 2017-11-28

Publications (1)

Publication Number Publication Date
KR20190062171A true KR20190062171A (ko) 2019-06-05

Family

ID=65019077

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180128300A KR20190062171A (ko) 2017-11-28 2018-10-25 자율 머신에서의 오작동 센서의 딥 러닝 기반의 실시간 검출 및 수정

Country Status (4)

Country Link
US (1) US20190025773A1 (ko)
KR (1) KR20190062171A (ko)
CN (1) CN109840586A (ko)
DE (1) DE102018125629A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021126753A1 (en) * 2019-12-20 2021-06-24 UiPath, Inc. System and computer-implemented method for analyzing a robotic process automation (rpa) workflow
KR20220038858A (ko) 2020-09-21 2022-03-29 주식회사 스프링클라우드 가공된 자율주행 시나리오 데이터의 딥러닝 기반 불량 데이터 검출 장치 및 방법
US11494291B2 (en) 2019-12-20 2022-11-08 UiPath, Inc. System and computer-implemented method for analyzing test automation workflow of robotic process automation (RPA)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836895B1 (en) * 2015-06-19 2017-12-05 Waymo Llc Simulating virtual objects
WO2018033137A1 (zh) * 2016-08-19 2018-02-22 北京市商汤科技开发有限公司 在视频图像中展示业务对象的方法、装置和电子设备
US10678244B2 (en) 2017-03-23 2020-06-09 Tesla, Inc. Data synthesis for autonomous control systems
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11205143B2 (en) * 2018-02-16 2021-12-21 Accenture Global Solutions Limited Utilizing a machine learning model and natural language processing to manage and allocate tasks
KR101967339B1 (ko) * 2018-03-06 2019-04-09 단국대학교 산학협력단 심층학습 기반의 adas 센서 고장 진단 및 백업을 위한 장치 및 방법
WO2019172901A1 (en) * 2018-03-07 2019-09-12 Google Llc Virtual staining for tissue slide images
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
EP3855287A4 (en) * 2018-09-20 2022-04-20 Zhang, Hengzhong ADDITION SYSTEM AND ADDITION PROCESS FOR ADDING SMELL INFORMATION TO DIGITAL PHOTOS
CN115512173A (zh) 2018-10-11 2022-12-23 特斯拉公司 用于使用增广数据训练机器模型的系统和方法
KR102608981B1 (ko) * 2018-10-24 2023-12-01 한국전자통신연구원 향 시각화 시스템 및 방법
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US20200211553A1 (en) * 2018-12-28 2020-07-02 Harman International Industries, Incorporated Two-way in-vehicle virtual personal assistant
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
JP7225876B2 (ja) 2019-02-08 2023-02-21 富士通株式会社 情報処理装置、演算処理装置および情報処理装置の制御方法
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
EP3706270B1 (en) * 2019-03-07 2022-06-29 ABB Schweiz AG Artificial intelligence monitoring system using infrared images to identify hotspots in a switchgear
EP3706269B1 (en) * 2019-03-07 2022-06-29 ABB Schweiz AG Artificial intelligence monitoring system using infrared images to identify hotspots in a switchgear
CN116956174A (zh) * 2019-05-13 2023-10-27 北京绪水互联科技有限公司 用于进行冷头状态分类检测和寿命预测的分类模型和预测模型的生成方法
CN110163370B (zh) * 2019-05-24 2021-09-17 上海肇观电子科技有限公司 深度神经网络的压缩方法、芯片、电子设备及介质
US11797876B1 (en) * 2019-06-26 2023-10-24 Amazon Technologies, Inc Unified optimization for convolutional neural network model inference on integrated graphics processing units
CN110427945A (zh) * 2019-06-27 2019-11-08 福州瑞芯微电子股份有限公司 一种基于实物及手势的交互方法和计算机设备
US11250322B2 (en) * 2019-07-15 2022-02-15 Sony Interactive Entertainment LLC Self-healing machine learning system for transformed data
CN110379118A (zh) * 2019-07-26 2019-10-25 中车青岛四方车辆研究所有限公司 列车车下防火智能监控系统及方法
CN111137228B (zh) * 2019-11-18 2021-07-27 合创汽车科技有限公司 座舱屏幕控制方法、装置、计算机设备和存储介质
CN111010537B (zh) * 2019-12-06 2021-06-15 苏州智加科技有限公司 车辆控制方法、装置、终端及存储介质
CN111046365B (zh) * 2019-12-16 2023-05-05 腾讯科技(深圳)有限公司 人脸图像传输方法、数值转移方法、装置及电子设备
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
US11575807B2 (en) * 2020-01-20 2023-02-07 Monomer Software LLC Optical device field of view cleaning apparatus
DE102020107108A1 (de) * 2020-03-16 2021-09-16 Kopernikus Automotive GmbH Verfahren und System zum autonomen Fahren eines Fahrzeugs
US11574100B2 (en) * 2020-06-19 2023-02-07 Micron Technology, Inc. Integrated sensor device with deep learning accelerator and random access memory
DE102020209198A1 (de) * 2020-07-22 2022-01-27 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Bestimmung einer Abbildungs-Degradation eines bildgebenden Sensors
US20210018590A1 (en) * 2020-09-24 2021-01-21 Intel Corporation Perception system error detection and re-verification
CN112256094A (zh) * 2020-11-13 2021-01-22 广东博通科技服务有限公司 一种基于深度学习的激活函数装置及其使用方法
CN113049445B (zh) * 2021-03-22 2022-02-01 中国矿业大学(北京) 基于深度学习的水煤浆流动性检测装置及其检测方法
DE102021115140B4 (de) * 2021-06-11 2023-01-19 Spleenlab GmbH Verfahren zum Steuern einer Flugbewegung eines Fluggeräts zum Landen oder zum Abwerfen einer Ladung sowie Fluggerät
EP4125055A1 (en) * 2021-07-26 2023-02-01 Robert Bosch GmbH Neural network for classifying obstructions in an optical sensor
KR20230120086A (ko) * 2022-02-08 2023-08-16 현대자동차주식회사 M2m 시스템에서 소실 센서의 측정값 생성 방법 및 장치
WO2023249911A1 (en) * 2022-06-21 2023-12-28 Apple Inc. Occlusion classification and feedback
US20230020182A1 (en) * 2022-09-23 2023-01-19 Intel Corporation Technologies for source degradation detection and auto-tuning of cameras

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10201522A1 (de) * 2002-01-17 2003-07-31 Bosch Gmbh Robert Verfahren und Vorrichtung zur Erkennung von Sichtbehinderungen bei Bildsensorsystemen
US20190149813A1 (en) * 2016-07-29 2019-05-16 Faraday&Future Inc. Method and apparatus for camera fault detection and recovery

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021126753A1 (en) * 2019-12-20 2021-06-24 UiPath, Inc. System and computer-implemented method for analyzing a robotic process automation (rpa) workflow
US11494291B2 (en) 2019-12-20 2022-11-08 UiPath, Inc. System and computer-implemented method for analyzing test automation workflow of robotic process automation (RPA)
KR20220038858A (ko) 2020-09-21 2022-03-29 주식회사 스프링클라우드 가공된 자율주행 시나리오 데이터의 딥러닝 기반 불량 데이터 검출 장치 및 방법

Also Published As

Publication number Publication date
US20190025773A1 (en) 2019-01-24
DE102018125629A1 (de) 2019-05-29
CN109840586A (zh) 2019-06-04

Similar Documents

Publication Publication Date Title
KR20190062171A (ko) 자율 머신에서의 오작동 센서의 딥 러닝 기반의 실시간 검출 및 수정
US11024041B2 (en) Depth and motion estimations in machine learning environments
CN110363058B (zh) 使用单触发卷积神经网络的用于避障的三维对象定位
US11133033B2 (en) Cinematic space-time view synthesis for enhanced viewing experiences in computing environments
US10755425B2 (en) Automatic tuning of image signal processors using reference images in image processing environments
US10282623B1 (en) Depth perception sensor data processing
US10922536B2 (en) Age classification of humans based on image depth and human pose
US20210133996A1 (en) Techniques for motion-based automatic image capture
US10943335B2 (en) Hybrid tone mapping for consistent tone reproduction of scenes in camera systems
US20240104744A1 (en) Real-time multi-view detection of objects in multi-camera environments
WO2019111932A1 (ja) モデル学習装置、モデル学習方法及び記録媒体
KR102096191B1 (ko) 모니터링
US20190096073A1 (en) Histogram and entropy-based texture detection
US11474776B2 (en) Display-based audio splitting in media environments
CN114489341A (zh) 手势的确定方法和装置、电子设备和存储介质
US11972780B2 (en) Cinematic space-time view synthesis for enhanced viewing experiences in computing environments
WO2021075102A1 (ja) 情報処理装置、情報処理方法、及びプログラム
PAULO COLLISION DETECTION FOR UAVS USING EVENT CAMERAS
CN115661863A (zh) 行人检测模型的训练方法、行人检测方法、装置及系统
CN117043551A (zh) 机器人几何相机校准以及监测警报配置和测试
Pamnani DOT-HAZMAT: An Android application for detection of hazardous materials (HAZMAT)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal