KR20210104128A - 열린 차량 도어들을 검출하기 위한 분류기의 훈련 - Google Patents

열린 차량 도어들을 검출하기 위한 분류기의 훈련 Download PDF

Info

Publication number
KR20210104128A
KR20210104128A KR1020217022609A KR20217022609A KR20210104128A KR 20210104128 A KR20210104128 A KR 20210104128A KR 1020217022609 A KR1020217022609 A KR 1020217022609A KR 20217022609 A KR20217022609 A KR 20217022609A KR 20210104128 A KR20210104128 A KR 20210104128A
Authority
KR
South Korea
Prior art keywords
training
machine learning
sensor
learning classifier
vehicle
Prior art date
Application number
KR1020217022609A
Other languages
English (en)
Other versions
KR102607725B1 (ko
Inventor
쥔화 마오
로 포 츠이
충충 리
에드워드 스티븐 워커 주니어
Original Assignee
웨이모 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 웨이모 엘엘씨 filed Critical 웨이모 엘엘씨
Publication of KR20210104128A publication Critical patent/KR20210104128A/ko
Application granted granted Critical
Publication of KR102607725B1 publication Critical patent/KR102607725B1/ko

Links

Images

Classifications

    • 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
    • G06K9/6256
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06K9/6262
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0454
    • 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
    • G06N5/003
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/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/776Validation; Performance evaluation
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Traffic Control Systems (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Stored Programmes (AREA)
  • Train Traffic Observation, Control, And Security (AREA)
  • Image Analysis (AREA)

Abstract

열린 차량 도어들을 검출하도록 분류기를 훈련하기 위한 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램들을 포함하여, 방법들, 시스템들, 및 장치들이 제공된다. 방법들 중 하나는 복수의 초기 훈련 예를 획득하는 단계 - 각각의 초기 훈련 예는 (i) 센서 샘플들의 컬렉션으로부터의 센서 샘플, 및 (ⅱ) 센서 샘플을 열린 도어를 갖는 차량을 특성화하는 것으로서 분류하는 데이터를 포함함 - ; 복수의 추가 훈련 예를 생성하는 단계 - 생성하는 단계는, 각각의 초기 훈련 예에 대해: 센서 샘플들의 컬렉션으로부터, 초기 훈련 예 내의 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된 하나 이상의 추가 센서 샘플을 식별하는 단계를 포함함 - ; 및 기계 학습 분류기에 대한 업데이트된 가중치들을 생성하기 위해, 초기 훈련 예들 및 추가 훈련 예들을 포함하는 제1 훈련 데이터에 대해 기계 학습 분류기를 훈련하는 단계를 포함한다.

Description

열린 차량 도어들을 검출하기 위한 분류기의 훈련
관련 출원에 대한 상호 참조
본 출원은 2018년 12월 21일자로 출원된 미국 출원 제16/231,297호에 대한 우선권을 주장하며, 그 전체 내용은 본 개시내용에 참조로 포함된다.
기술분야
본 명세서는 자율 주행 차량들에 관한 것이다.
자율 주행 차량들은 자율 주행 자동차들, 선박들 및 항공기들을 포함한다. 자율 주행 차량들은 다양한 온보드 센서들 및 컴퓨터 시스템들을 사용하여 주변 개체들을 검출하고, 그러한 검출들을 사용하여 제어 및 내비게이션 결정을 내린다.
일부 자율 주행 차량들은 다양한 예측 작업들, 예를 들어 이미지들 내의 개체 분류를 위해, 뉴럴 네트워크들, 다른 유형들의 기계 학습 모델들, 또는 둘 다를 구현하는 온보드 컴퓨터 시스템들을 갖는다. 예를 들어, 뉴럴 네트워크은 온보드 카메라에 의해 포착된 이미지가 주변 자동차의 이미지일 가능성이 있는지를 결정하기 위해 사용될 수 있다. 뉴럴 네트워크들, 또는 간략하게는 네트워크들은 하나 이상의 입력으로부터 하나 이상의 출력을 예측하기 위해 복수 계층의 동작들을 사용하는 기계 학습 모델들이다. 뉴럴 네트워크들은 전형적으로 입력 계층과 출력 계층 사이에 위치된 하나 이상의 은닉 계층을 포함한다. 각각의 계층의 출력은 네트워크의 다른 계층, 예를 들어, 다음 은닉 계층 또는 출력 계층에 대한 입력으로 사용된다.
뉴럴 네트워크의 각각의 계층은 계층에 대한 입력에 대해 수행될 하나 이상의 변환 동작을 지정한다. 일부 뉴럴 네트워크 계층들은 뉴런이라고 지칭되는 동작들을 갖는다. 각각의 뉴런은 하나 이상의 입력을 수신하고 다른 뉴럴 네트워크 계층에 의해 수신되는 출력을 생성한다. 종종, 각각의 뉴런은 다른 뉴런들로부터 입력들을 수신하고, 각각의 뉴런은 하나 이상의 다른 뉴런에의 출력을 제공한다.
뉴럴 네트워크의 아키텍처는 네트워크에 어떤 계층들이 포함되는지, 및 그들의 속성들을 지정하는 것은 물론, 네트워크 내의 각각의 계층의 뉴런들이 어떻게 연결되는지를 지정한다. 즉, 아키텍처는, 어느 계층들이 자신들의 출력을 어느 다른 계층들에 대한 입력으로서 제공하는지, 및 어떻게 출력이 제공되는지를 지정한다.
각각의 계층의 변환 동작들은 그 변환 동작들을 구현하는 소프트웨어 모듈들이 설치된 컴퓨터들에 의해 수행된다. 따라서, 계층이 동작들을 수행하는 것으로서 설명되는 것은 그 계층의 변환 동작들을 구현하는 컴퓨터들이 동작들을 수행하는 것을 의미한다.
각각의 계층은 그 계층에 대한 파라미터들의 세트의 현재 값들을 사용하여 하나 이상의 출력을 생성한다. 따라서, 뉴럴 네트워크의 훈련은 입력에 대한 순방향 패스(forward pass)를 지속적으로 수행하고, 기울기 값들을 계산하고, 계산된 기울기 값들을 사용하여 각각의 계층의 파라미터들의 세트에 대한 현재 값들을 업데이트하는 것을 수반한다. 뉴럴 네트워크이 훈련되고 나면, 파라미터 값들의 최종 세트는 생산 시스템에서 예측들을 수행하기 위해 사용될 수 있다.
본 명세서는 컴퓨터 시스템이 자율 주행 차량 근처에 있는 개체가 특정 상태에 있는지의 예측을 생성하기 위해, 본 명세서에서 "기계 학습 분류기" 또는 "분류기"라고도 지칭되는 기계 학습 모델을 훈련할 수 있는 방법을 설명한다.
예를 들어, 기계 학습 모델은 자율 주행 차량 근처에 있는 다른 차량이 열린 도어 상태에 있는지, 즉 모든 도어가 폐쇄된 것에 대조적으로, 열린 도어를 갖는지를 예측하는 "열린 도어 분류기"일 수 있다. 즉, 차량을 특성화하는 입력이 주어지면, 열린 도어 분류기의 출력은 차량의 도어들 중 하나 이상이 열려있을 가능성을 표현하는 확률이다. 열린 도어 분류기가 훈련되고 나면, 훈련된 열린 도어 분류기는 차량에 배치될 수 있고, 자율 또는 반 자율 주행 결정을 내리기 위해 차량에 의해 사용될 수 있다.
다른 예로서, 기계 학습 모델은 자율 주행 차량 근처에 있는 통학 버스가 점멸등 상태에 있는지, 즉 통학 버스의 조명이 꺼진 상태(또는 지속적으로 켜진 상태)에 대조적으로 점멸하고 있는지를 예측할 수 있다.
다른 예로서, 기계 학습 모델은 자율 주행 차량 근처에 있는 다른 차량이 주차 상태에 있는지, 즉 다른 차량이 움직이고 있거나 일시적으로 정차해 있는 것에 대조적으로 주차되어 있는지를 예측할 수 있다.
본 개시내용의 일 양태에서, 방법은 특정 유형의 개체를 특성화하고 자율 주행 차량의 하나 이상의 센서에 의해 캡처된 센서 데이터로부터 생성되는 입력 센서 샘플을 수신하고, 입력 센서 샘플을 프로세싱하여, 개체가 특정 상태에 있을 예측된 가능성을 표현하는 특정 상태 점수를 생성하도록 구성되는 분류기를 훈련하는 단계를 포함한다.
분류기를 훈련하기 위해, 시스템은 복수의 초기 훈련 예를 획득하고 - 각각의 초기 훈련 예는 (i) 센서 샘플들의 컬렉션으로부터의 센서 샘플, 및 (ⅱ) 센서 샘플을 특정 상태에 있는 개체를 특성화하는 것으로서 분류하는 레이블 데이터를 포함함 - ; 복수의 추가 훈련 예를 생성하고 - 생성은 각각의 초기 훈련 예에 대해, 센서 샘플들의 컬렉션으로부터, 초기 훈련 예 내의 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된 하나 이상의 추가 센서 샘플을 식별하고, 각각의 추가 센서 샘플을, 특정 상태에 있는 개체를 특성화하는 센서 샘플로서 분류하는 것을 포함함 - ; 및 기계 학습 분류기에 대한 업데이트된 가중치들을 생성하기 위해, 초기 훈련 예들 및 추가 훈련 예들을 포함하는 제1 훈련 데이터에 대해 기계 학습 분류기를 훈련한다.
이러한 및 다른 구현들은 각각 이하의 특징들 중 하나 이상을 임의로 포함할 수 있다.
액션들은 기계 학습 분류기를 사용하여, 그리고 업데이트된 가중치들에 따라, 여분의 훈련 예들(further training examples)을 생성하는 단계; 및 기계 학습 분류기에 대한 추가 업데이트된 가중치들(further updated weights)을 생성하기 위해, 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 기계 학습 분류기를 훈련하는 단계를 더 포함한다.
기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 기계 학습 분류기를 훈련하는 단계는: 기계 학습 분류기에 대한 업데이트된 가중치들로부터 시작하여 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 제2 훈련 데이터에 대해 기계 학습 분류기를 훈련하는 단계를 포함할 수 있다.
기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 기계 학습 분류기를 훈련하는 단계는: 기계 학습 분류기에 대한 초기 가중치들로부터 시작하여 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 제2 훈련 데이터에 대해 기계 학습 분류기를 훈련하는 단계를 포함할 수 있다.
기계 학습 분류기를 사용하여, 그리고 업데이트된 가중치들에 따라, 여분의 훈련 예들을 생성하는 단계는: 각각의 후보 센서 샘플에 대한 각각의 열린 도어 점수를 생성하기 위해, 기계 학습 분류기를 사용하여, 그리고 업데이트된 가중치들에 따라, 센서 샘플들의 컬렉션으로부터 복수의 후보 센서 샘플 각각을 프로세싱하는 단계; 및 임계 점수를 초과하는 특정 점수를 갖는 각각의 후보 센서 샘플을, 특정 상태에 있는 개체를 특성화하는 센서 샘플로서 분류하는 단계를 포함할 수 있다.
복수의 센서 샘플로부터, 초기 훈련 예 내의 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된 하나 이상의 추가 센서 샘플을 식별하는 단계는: (i) 초기 훈련 예 내의 센서 샘플과 동일한 개체를 특성화하고 (ⅱ) 초기 훈련 예 내의 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된, 복수의 샘플 내의 각각의 센서 샘플을 추가 센서 샘플로서 식별하는 단계를 포함한다.
복수의 초기 훈련 예를 획득하는 단계는: 센서 샘플들의 컬렉션으로부터, 후보 초기 센서 샘플에 의해 특성화되는 개체의 본체의 윤곽 밖의 상당량의 측정치들을 각각 포함하는 복수의 후보 초기 센서 샘플을 식별하는 단계를 포함할 수 있다.
본 명세서에 설명된 주제의 특정 실시예들은 이하의 이점들 중 하나 이상을 실현하도록 구현될 수 있다.
자율 또는 반 자율 차량들은 차량이 환경을 통해 주행할 때 차량 주변의 환경에 관한 데이터를 수집하는 센서들을 갖는다. 이러한 센서들에 의해 많은 주행 시간 동안, 그리고 많은 상이한 자율 주행 차량들에 의해 수집된 데이터(본 명세서에서는 "로그 데이터"라고 지칭됨)는 자율 주행 차량의 동작들에 관련될 수 있는 다양한 예측들, 예를 들어 특정 종류의 개체가 특정 상태에 있는지의 예측들을 만들도록 기계 학습 모델을 훈련하기 위해 사용될 수 있다.
예를 들어, 내비게이션 동안 차량이 마주치는 차량들의 도어가 열려 있는지를 예측하는 기계 학습 모델은, 예를 들어 열린 도어를 통해 사람이 내리거나 타고 있는 경우에 브레이크를 적용함으로써, 또는 차량 또는 차량 조작자들의 향후 거동을 예측함으로써(즉, 차량의 도어가 열려 있는 경우, 이는 도어가 닫힌 후까지는 차량이 움직이기 시작하지 않을 것이라는 신호, 또는 차량이 물품을 싣거나 내리기 위해 정차하고 있다는 신호일 수 있음), 자율 주행 결정을 알리기 위해 사용될 수 있고, 또는 차량의 조작자에게 경고를 제공할 시기를 결정하기 위해 사용될 수 있다.
이러한 예측들을 만드는 기계 학습 모델들은 레이블이 지정된 훈련 데이터, 즉, 개체를 특성화하는 것으로서 분류된 센서 데이터로부터 생성되고 그 센서 데이터에 의해 특성화된 개체가 특정 상태에 있는지 여부를 식별하는 그라운드 트루스 레이블에 연관된 센서 샘플들에 대해 훈련될 수 있다.
그러나, 일부 유형의 개체들에 대해, 그리고 일부 특정 상태들에 대해, 수집된 로그 데이터는 그 유형의 개체들을 특성화하는 방대한 양의 센서 샘플들을 포함할 것이지만, 해당 개체들의 아주 적은 일부만이 특정 상태에 있을 것이다. 열린 도어를 갖는 차량을 예로 들면, 환경을 통해 주행하는 자율 주행 차량이 만나는 다른 차량들의 아주 적은 일부, 예를 들어 약 1 퍼센트 미만만이 열린 도어를 가질 것이고, 자율 주행 차량이 주행 동안 만나는 대다수의 다른 차량은 모두 도어를 닫고 있을 것이다.
이로 인해, 개체들을 특정 상태에 있는 것으로 분류하도록 분류기를 훈련하기 위한 고품질 훈련 데이터를 생성하는 것은 어려워진다. 특히, 열린 도어의 예를 다시 살펴보면, 로그 데이터 내의 센서 샘플들의 이러한 적은 일부가 열린 도어를 가지므로, 잡음 있고 올바르지 않게 레이블이 지정된 대량의 샘플들을 훈련 데이터 내에 또한 포함하지 않고서, 열린 도어들을 갖는 충분한 샘플들을 식별하기가 어렵다. 설명된 기술들을 사용하여 열린 도어 분류기를 훈련함으로써, 시스템은 훈련 초기에 정확하게 레이블이 지정된 훈련 데이터를 거의 또는 전혀 갖지 않고서도, 이 문제를 효과적으로 해결하고, 수집된 로그 데이터에 대해 분류기를 훈련할 수 있다. 즉, 설명된 기술들은 수집된 로그 데이터 내의 (대부분 부정적인) 방대한 수의 잠재적인 예들로부터 긍정 예들(positive examples)(예를 들어, 열린 도어를 갖는 차량의 예들)을 효과적으로 식별하고, 식별된 긍정 예들을 사용하여 개체들을 특정 상태에 있는 것으로서 정확하게 분류하도록 기계 학습 모델을 효과적으로 훈련한다.
특히, 열린 도어 예로 다시 돌아가면, 설명된 기술들을 사용하여, 시스템은 센서 데이터를 캡처하는 차량에 매우 가까운 열린 도어를 가진 차량을 특성화하는 비교적 적은 수의 긍정 예를 초기에 효과적으로 식별할 수 있다. 그러나, 다양한 거리에서 잘 수행하도록 분류기를 훈련하기 위해, 추가의 긍정 예들이 식별되어 분류기의 훈련에서 사용될 필요가 있다. 설명된 기술들은 이러한 추가 긍정 예들을 레이블을 지정하는 사람을 요구하지 않고서 자동화된 방식으로 식별하는 것을 허용하므로, 고도로 정확한 열린 도어 분류기가 야기된다.
본 명세서의 주제의 하나 이상의 실시예의 세부사항은 첨부 도면들 및 이하의 설명에서 제시된다. 주제의 다른 특징들, 양태들 및 이점들은 설명, 도면들 및 청구항들로부터 명백해질 것이다.
도 1은 예시적인 시스템의 도면이다.
도 2는 열린 도어 분류기를 훈련하기 위한 예시적인 프로세스의 흐름도이다.
도 3은 열린 도어 분류기를 훈련하기 위한 다른 예시적인 프로세스의 흐름도이다.
다양한 도면들에서 유사한 참조 번호들 및 지정들은 유사한 요소들을 나타낸다.
본 명세서는 차량, 예를 들어 자율 또는 반 자율 주행 차량이, 차량 근처에 있는 다른 차량들이 열린 도어들을 갖는지를 예측하기 위해, 본 명세서에서 "열린 도어 분류기" 또는 "분류기"라고도 지칭되는 훈련된 기계 학습 모델을 사용할 수 있는 방법을 설명한다. 본 명세서는 또한 정확하고 신뢰가능하게 예측들을 만들도록 그러한 열린 도어 분류기를 효과적으로 훈련하기 위해 로그 데이터가 사용될 수 있는 방법을 설명한다.
도 1은 예시적인 시스템(100)의 도면이다. 시스템(100)은 훈련 시스템(110) 및 온보드 시스템(130)을 포함한다.
온보드 시스템(130)은 물리적으로 차량(122)에 탑재되어 위치된다. 도 1의 차량(122)은 자동차로 도시되어 있지만, 온보드 시스템(130)은 임의의 적절한 차량 유형에 탑재되어 위치될 수 있다. 차량(122)은 환경을 통해 내비게이션하기 위해 완전 자율 주행 결정들을 정하고 실행하는 완전 자율 주행 차량일 수 있다. 차량(122)은 또한 인간 운전자를 돕기 위해 예측들을 사용하는 반 자율 주행 차량일 수 있다. 예를 들어, 예측이 인간 운전자가 다른 차량과 곧 충돌할 것임이 나타내는 경우, 차량(122)은 자율적으로 브레이크를 적용할 수 있다.
온보드 시스템(130)은 하나 이상의 센서 서브시스템(132)을 포함한다. 센서 서브시스템들(132)은 전자기파 복사의 반사들을 수신하는 컴포넌트들, 예를 들어 레이저 광의 반사들을 검출하는 라이다 시스템, 전파의 반사들을 검출하는 레이더 시스템, 또는 가시 광의 반사를 검출하는 카메라 시스템의 조합을 포함한다.
주어진 센서에 의해 생성되는 센서 데이터는 일반적으로, 반사된 복사의 거리, 방향, 및 강도를 나타낸다. 예를 들어, 센서는 특정 방향으로 전자기 복사의 하나 이상의 펄스를 전송할 수 있으며, 임의의 반사들의 강도는 물론, 반사가 수신된 시간을 측정할 수 있다. 거리는 펄스와 그것의 대응하는 반사 사이에 시간이 얼마나 오래 걸리는지를 결정함으로써 계산될 수 있다. 센서는 각도, 방위각 또는 둘 다에서 특정 공간을 지속적으로 스윕할 수 있다. 예를 들어, 방위각에서의 스윕은 센서가 동일한 시선을 따라 복수의 개체를 검출하는 것을 허용할 수 있다.
센서 서브시스템들(132) 또는 차량(122)의 다른 컴포넌트들은 또한 하나 이상의 센서로부터의 하나 이상의 원시 센서 측정치의 그룹을 다른 차량의 척도들로서 분류할 수 있다. 센서 측정치들의 그룹은 캡처되고 있는 센서 측정치들의 종류에 의존하여, 다양한 방식들 중 임의의 것으로 표현될 수 있다. 예를 들어, 원시 레이저 센서 측정치들의 각각의 그룹은 3차원 포인트 클라우드로서 표현될 수 있으며, 각각의 포인트는 강도 및 위치를 갖는다. 일부 구현들에서, 위치는 범위 및 높이 쌍으로서 표현된다. 카메라 센서 측정치들의 각각의 그룹은 이미지 패치, 예를 들어 RGB 이미지 패치로서 표현될 수 있다.
하나 이상의 원시 센서 측정치들의 그룹이 다른 차량의 척도로서 분류되고 나면, 센서 서브시스템들(132) 또는 차량(122)의 다른 컴포넌트들은 차량을 측정하는 센서 측정치들로부터 센서 샘플(155)을 생성한다. 일부 경우들에서, 센서 샘플(155)은 하나 이상의 센서로부터의 측정치들을 표현하고 동일한 차량을 동시에 각각 특성화하는 3차원 텐서이다. 예를 들어, 3차원 텐서는 주어진 시간에 다른 차량이 위치된 환경의 구역의 카메라 센서에 의해 캡처된 이미지의 패치, 주어진 시간에 다른 차량이 위치된 환경의 구역에 대응하는 레이저 센서들 중 하나 이상에 의해 캡처된 센서 데이터의 하나 이상의 투영, 예를 들어 하향식 관점으로부터의 투영의 부분들, 또는 둘 다를 포함할 수 있다.
센서 서브시스템들(132) 또는 다른 컴포넌트들은 센서 샘플(155)을 온보드 분류기 서브시스템(134)에 제공한다. 온보드 분류기 서브시스템(134)은 센서 샘플(155)을 사용하여 열린 도어 예측(165)을 생성한다. 위에서 설명된 바와 같이, 각각의 열린 도어 예측은 센서 데이터(155)에 의해 특성화되는 차량의 도어가 열려 있는지의 예측이다. 따라서, 각각의 예측은 입력 센서 샘플에 의해 특성화되는 차량의 도어가 열려 있을 예측된 가능성을 표현하는 점수, 예를 들어 확률이다.
온보드 분류기 서브시스템(134)은 열린 도어 예측들(165)을 만들도록 훈련된 열린 도어 분류기, 즉 기계 학습 모델의 동작들을 구현한다.
일부 경우들에서, 열린 도어 분류기는 센서 샘플(155), 즉, 센서 데이터로부터 생성된 3차원 텐서를 수신하고, 하나 이상의 컨벌루션 계층을 포함하는 복수의 계층을 통해 센서 샘플(155)을 프로세싱하여, 열린 도어 예측을 생성하는 컨볼루션 뉴럴 네트워크이다. 따라서, 온보드 분류기 서브시스템(134)은 뉴럴 네트워크의 아키텍처에 따라 뉴럴 네트워크의 각각의 계층의 각각의 동작들을 구현하는 소프트웨어 또는 하드웨어 모듈들을 갖는 하나 이상의 컴퓨팅 디바이스를 포함한다.
일부 다른 경우들에서, 열린 도어 분류기는 센서 샘플(155)로부터 도출된 더 낮은 차원의 특징들에서 작동하는 상이한 유형의 기계 학습 모델이다. 예를 들어, 열린 도어 분류기는 센서 샘플로부터 생성된 더 낮은 차원의 특징들을 입력으로서 수신하고 더 낮은 차원의 특징들로부터 열린 도어 예측을 생성하는 랜덤 포레스트 모델(random forest model) 또는 지원 벡터 기계 모델(support vector machine model)일 수 있다. 따라서, 온보드 분류기 서브시스템(134)은 더 낮은 차원의 특징들을 생성하고 모델의 동작들을 수행하는 데 필요한 동작들을 구현하는 소프트웨어 또는 하드웨어 모듈들을 갖는 하나 이상의 컴퓨팅 디바이스를 포함한다.
온보드 분류기 서브시스템(134)은 열린 도어 분류기가 모델 가중 값들(172)을 결정하기 위해 훈련 시스템(110)에 의해 훈련된 후 훈련 시스템(110)으로부터 수신된 모델 가중 값들(172)의 컬렉션을 로드함으로써 열린 도어 분류기의 동작들을 구현할 수 있다. 논리적으로 분리된 것으로서 도시되어 있지만, 모델 가중 값들(170) 및 동작들을 수행하는 소프트웨어 또는 하드웨어 모듈들이 실제로, 동일한 컴퓨팅 디바이스 상에 위치될 수 있고, 또는 실행 소프트웨어 모듈의 경우에는 동일한 메모리 디바이스에 저장될 수 있다.
온보드 분류기 서브시스템(134)은 열린 도어 분류기의 동작들의 일부 또는 전부를 구현하기 위해 하드웨어 가속 또는 다른 특수 목적 컴퓨팅 디바이스들을 사용할 수 있다. 예를 들어, 뉴럴 네트워크의 일부 계층들의 일부 동작들은 고도로 병렬화된 하드웨어에 의해, 예를 들어 그래픽 프로세싱 유닛 또는 다른 종류의 특수 컴퓨팅 디바이스에 의해 수행될 수 있다. 즉, 각각의 계층의 모든 동작들이 온보드 분류기 서브시스템(134)의 중앙 프로세싱 유닛(CPU)에 의해 수행될 필요는 없다.
온보드 분류기 서브시스템(134)은 열린 도어 예측들(165)을 계획 서브시스템(136), 사용자 인터페이스 서브시스템(138), 또는 둘 다에 제공할 수 있다.
계획 서브시스템(136)이 열린 도어 예측들(165)을 수신할 때, 계획 서브시스템(136)은 완전 자율 또는 반 자율 주행 결정을 내리기 위해 하나 이상의 열린 도어 예측(165)을 사용할 수 있다. 예를 들어, 열린 도어 예측들이 다른 차량의 도어가 열려 있을 가능성이 있음을 나타낸다면, 사람이 다른 차량의 열린 도어를 통해 타거나 내리고 있는 경우, 계획 서브시스템(136)은 차량(122)의 브레이크들을 적용하거나 그렇지 않으면 차량(122)의 이동 속도를 줄이기 위한 완전 자율 계획을 생성할 수 있다. 다른 예로서, 계획 서브시스템(136)은 개체의 가능한 미래 궤도를 예측하기 위해 열린 도어 예측을 사용할 수 있고, 차량(122)의 궤도를 계획할 때 가능한 미래 궤도를 사용할 수 있다. 다른 예로서, 계획 서브시스템(136)은 다른 차량의 도어가 열려 있을 때 인간 운전자가 브레이크를 적용하기 위한 반 자율 주행 권고를 생성할 수 있다.
사용자 인터페이스 서브시스템(138)은 열린 도어 예측들(165)을 수신할 수 있고, 다른 차량을 식별하고 다른 차량의 도어가 열려 있으며 사람들이 타거나 내리고 있을 수 있음을 차량(122)의 조작자에게 경고하는 사용자 인터페이스 프리젠테이션을 생성할 수 있다. 예를 들어, 사용자 인터페이스 서브시스템(138)은 다른 차량이 점유하고 있는 공간 구역의 표현을 포함하고 차량의 도어를 열린 것으로서 식별하는 이미지 또는 비디오 데이터를 갖는 사용자 인터페이스 프리젠테이션을 생성할 수 있다. 다음으로, 온보드 디스플레이 디바이스는 차량(122)의 승객이 볼 수 있도록 사용자 인터페이스 프리젠테이션을 디스플레이할 수 있다.
온보드 분류기 서브시스템(134)은 또한 열린 도어 분류기를 훈련하기 위해 훈련 시스템(110)에 의해 사용되는 로그 데이터(127)를 생성하기 위해 센서 데이터(155)를 사용할 수 있다. 온보드 시스템(130)은 로그 데이터(127)를 오프라인 배치들로(in offline batches) 또는 온라인 방식으로, 예를 들어 그것이 생성될 때마다 지속적으로, 훈련 시스템(110)에 제공할 수 있다.
로그 데이터(127)는 차량(122) 주변의 다른 차량들을 특성화하는 것으로서 분류된 차량(122)의 동작 동안 생성된 센서 데이터 샘플들을 포함한다.
훈련 시스템(110)은 전형적으로 하나 이상의 위치에 수백 또는 수천 대의 컴퓨터를 갖는 분산 컴퓨팅 시스템일 수 있는 데이터 센터(112) 내에서 호스팅된다.
훈련 시스템(110)이 차량으로부터 로그 데이터(127)를 수신할 때, 훈련 시스템(100)은 로그 데이터(127)를 로그 데이터 저장소(125)에 저장한다. 일반적으로, 로그 데이터 저장소(125)는 많은 수의 차량으로부터 수신된 로그 데이터를 저장하는데, 즉, 로그 데이터 저장소(125)는 많은 수의 상이한 차량의 동작 동안 캡처된 센서 데이터로부터 생성된 센서 샘플들을 저장한다. 일부 경우들에서, 로그 데이터 저장소(125)는 또한 시뮬레이션에서 생성된, 즉 시뮬레이션된 버전의 차량들이 실세계 환경의 소프트웨어 시뮬레이션을 통해 내비게이션할 때 생성된 로그 데이터를 포함할 수 있다.
훈련 시스템(110)은 열린 도어 예측들을 만들도록 구성된 분류기의 동작들을 구현할 수 있는 훈련 분류기 서브시스템(114)을 포함한다. 예를 들어, 분류기가 뉴럴 네트워크일 때, 훈련 분류기 서브시스템(114)은 뉴럴 네트워크의 아키텍처에 따라 뉴럴 네트워크의 각각의 계층의 각각의 동작들을 구현하는 소프트웨어 또는 하드웨어 모듈들을 갖는 복수의 컴퓨팅 디바이스를 포함한다.
일반적으로, 훈련을 위한 열린 도어 분류기는 온보드 열린 도어 분류기와 동일한 아키텍처 및 가중치들을 갖는다. 그러나, 훈련 시스템(110)은 분류기의 동작들을 계산하기 위해 온보드 시스템(134)에 의해 사용되는 것과 동일한 하드웨어를 사용할 필요가 없다. 즉, 훈련 시스템(110)은 CPU 단독, 고도로 병렬화된 하드웨어, 또는 이들의 소정의 조합을 사용할 수 있다.
훈련 시스템(100)은 로그 데이터 저장소(125)에 저장된 센서 샘플들을 사용하여, 열린 도어 분류기를 훈련하기 위한 훈련 예들(123)을 포함하는 훈련 데이터를 생성한다. 각각의 훈련 예(123)는 (i) 차량을 특성화하는 센서 샘플, 및 (ⅱ) 센서 샘플에서 차량의 자동차 도어가 열려 있는지를 나타내는 레이블, 즉 센서 샘플에 대해 열린 도어 분류기에 의해 생성되어야 하는 그라운드 트루스 출력을 식별하는 레이블을 포함한다. 훈련 데이터를 생성하는 것은 도 2 및 도 3을 참조하여 아래에 설명된다.
훈련 동안의 임의의 주어진 시간에서, 훈련 뉴럴 네트워크 서브시스템(114)은 모델 가중 값들(170)의 컬렉션에 저장된 현재 모델 가중 값들(115)을 사용하여 열린 도어 분류기의 동작들을 계산할 수 있다. 논리적으로 분리된 것으로 도시되어 있지만, 모델 가중 값들(170), 및 동작들을 수행하는 소프트웨어 또는 하드웨어 모듈들은 실제로 동일한 컴퓨팅 디바이스 상에 또는 동일한 메모리 디바이스 상에 위치될 수 있다.
훈련 분류기 서브시스템(114)은 입력으로서 훈련 예들(123)을 수신할 수 있다. 훈련 뉴럴 네트워크 서브시스템(114)은 각각의 훈련 예(123)에 대해 열린 도어 예측(135)을 생성할 수 있다. 훈련 엔진(116)은 열린 도어 예측들(135)을 분석하고, 열린 도어 예측들을 훈련 예들(123)에 대한 레이블들과 비교한다. 다음으로, 훈련 엔진(116)은 적절한 업데이트 기술, 예를 들어 역 전파를 갖는 확률적 경사 하강법(stochastic gradient descent with backpropagation)을 사용하여, 업데이트된 모델 가중 값들(145)을 생성한다. 다음으로, 훈련 엔진(116)은 업데이트된 모델 가중 값들(145)을 사용하여 모델 파라미터 값들(170)의 컬렉션을 업데이트할 수 있다.
훈련이 완료된 후, 훈련 시스템(110)은 완전 자율 또는 반 자율 주행 결정을 위해 열린 도어 예측들(165)을 만드는 데 사용하기 위해 온보드 시스템(130)에 모델 가중 값들(171)의 최종 세트를 제공할 수 있다. 훈련 시스템(110)은 온보드 시스템(130)에 대한 유선 또는 무선 연결에 의해 모델 가중 값들(171)의 최종 세트를 제공할 수 있다.
도 2는 열린 도어 분류기를 훈련하기 위한 예시적인 프로세스(200)의 흐름도이다. 프로세스는 적절하게 프로그래밍된 뉴럴 네트워크 시스템에 의해 수행되는 것으로 설명될 것이다. 편의상, 프로세스(200)는 하나 이상의 위치에 위치된 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 훈련 시스템, 예를 들어, 본 명세서에 따라 적절하게 프로그래밍된 도 1의 훈련 시스템(110)은 프로세스(200)를 수행할 수 있다.
시스템은 초기 긍정 훈련 샘플들을 획득한다(210).
본 명세서에서, 긍정 훈련 샘플은 차량을 특성화하며 센서 샘플에 의해 특성화되는 차량이 열린 도어를 가짐을 나타내는 레이블과 연관되어 있는 센서 샘플이다.
일부 경우들에서, 시스템은 로그 데이터 저장소 내의 특정 센서 샘플들을 초기 긍정 훈련 샘플들로서 식별하는 외부 시스템으로부터 데이터를 수신한다. 다른 경우들에서, 시스템은 로그 데이터 저장소 내의 특정 센서 샘플들을 긍정 훈련 샘플들로서 식별한다. 로그 데이터 저장소 내의 센서 샘플들로부터 초기 긍정 훈련 샘플을 식별하기 위한 예시적인 기술은 도 3을 참조하여 아래에 설명된다.
시스템은 로그 데이터 저장소 내의 센서 샘플들로부터 추가 긍정 훈련 샘플들을 식별한다(220).
보다 구체적으로, 시스템은 각각 (i) 초기 긍정 훈련 샘플들 중 각각의 것에 대응하고 (ⅱ) 대응하는 초기 긍정 훈련 샘플과 동일한 차량을 특성화하고, (ⅲ) 대응하는 초기 훈련 샘플보다 임계 시간량 미만 이전에 캡처된 추가 긍정 훈련 샘플을 식별한다.
특히, 초기 훈련 샘플들에 의해 특성화되는 차량들의 일부 또는 전부에 대해, 로그 데이터는 동일한 차량을 특성화하지만 대응하는 초기 훈련 샘플과는 상이한 시간들에 캡처된 다른 센서 샘플들을 포함할 것이다. 예를 들어, 주어진 차량의 센서들이 10 밀리초 당 하나의 샘플 속도로 데이터를 캡처하는 경우, 주어진 차량 근처에 20 밀리 초 넘게 있는 각각의 다른 차량은 복수의 샘플에 의해 특성화될 것이다.
일부 구현들에서, 초기 긍정 훈련 샘플들 각각에 대해, 시스템은 초기 긍정 훈련 샘플들과 동일한 차량을 특성화하는 것으로 분류되고 대응하는 초기 훈련 샘플보다 임계 시간량 미만 이전에 캡처된 로그 데이터 내의 임의의 샘플을 긍정 훈련 샘플로서 식별한다. 임계 시간량은 예를 들어 0.5초, 1초, 1.5초 또는 2초일 수 있다.
시스템은 각각의 추가 식별된 훈련 샘플을 긍정 훈련 샘플로서 지정하는데, 즉, 각각의 추가 식별된 훈련 샘플을 식별된 훈련 샘플이 열린 도어를 갖는 차량을 특성화한다는 것을 나타내는 레이블에 연관시킨다.
자동차 도어들은 소정 기간 동안 열린 채로 남아있는 경향이 있기 때문에, 또한 차량의 도어들이 열려있는 동안 차량이 정지되어 있는 경향이 있기 때문에, 추가 긍정 훈련 샘플들은 일반적으로 초기 훈련 샘플들에 비해, 샘플들을 생성한 차량으로부터 멀리 떨어진 차량들을 특성화하는 샘플들을 포함할 것이다. 그러나, 식별된 훈련 샘플들은 초기 훈련 샘플들에 대한 그들의 시간의 근접성에 기초하여 자동으로 생성되기 때문에 추가 샘플들에는 잡음이 있을 수 있는데, 즉 긍정 샘플들로서 잘못 분류된 샘플들을 포함할 수 있다.
시스템은 초기 훈련 샘플들 및 추가 훈련 샘플들을 포함하는 훈련 데이터에 대해 열린 도어 분류기를 훈련한다(230). 훈련 데이터는 또한 부정 훈련 샘플들, 즉 식별된 훈련 샘플이 어떠한 도어도 열려 있지 않은 차량을 특성화함을 나타내는 레이블에 연관된 훈련 샘플들을 포함한다. 시스템은 저장소로부터 센서 샘플들을 무작위로 선택함으로써 부정 훈련 샘플들을 생성할 수 있다. 즉, 차량들의 이러한 적은 일부가 열린 도어를 갖기 때문에, 저장소로부터 센서 샘플을 무작위로 선택하는 것은 고도로 정확한 부정 샘플을 생성할 가능성이 매우 높다.
특히, 시스템은 열린 도어 분류기에 의해 생성된 예측들과 대응하는 훈련 샘플들에 대한 그라운드 트루스 예측들 사이의 오류를 측정하는 손실 함수, 예를 들어 교차 엔트로피 손실 함수 또는 로그 우도 손실 함수를 최소화함으로써 분류기의 가중치들을 조절하도록 열린 도어 분류기를 훈련할 수 있다. 예를 들어, 분류기가 뉴럴 네트워크인 경우, 시스템은 역 전파를 갖는 경사 하강법을 사용하여 손실을 최소화하도록 분류기를 훈련한다.
일부 경우들에서, 도 3을 참조하여 이하 설명되는 바와 같이, 시스템은 추가 훈련 데이터에 대한 분류기를 더 훈련함으로써 분류기의 성능을 향상시킬 수 있다.
도 3은 열린 도어 분류기를 훈련하기 위한 다른 예시적인 프로세스(300)의 흐름도이다. 프로세스는 적절하게 프로그래밍된 뉴럴 네트워크 시스템에 의해 수행되는 것으로 설명될 것이다. 편의상, 프로세스(300)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 훈련 시스템, 예를 들어, 본 명세서에 따라 적절하게 프로그래밍된 도 1의 훈련 시스템(110)은 프로세스(300)를 수행할 수 있다.
시스템은 로그 데이터 저장소 내의 센서 샘플들로부터 후보 초기 긍정 샘플들을 식별한다(310). 후보 초기 긍정 샘플은 긍정 훈련 예에 포함될 후보인 센서 샘플이다.
특히, 시스템은 하나 이상의 기준을 충족하는 로그 데이터 저장소 내의 임의의 센서 샘플을 후보 초기 긍정 샘플로서 식별할 수 있다.
예를 들어, 시스템은 각각의 센서 샘플 내에서, 예를 들어 경계 상자 또는 차량의 본체를 포함하는 다른 기하학적 모양을 사용하여 센서 샘플에 의해 특성화되는 차량의 본체의 윤곽을 식별하는 데이터를 수신할 수 있다. 시스템은 후보 초기 긍정 샘플로서 차량의 본체의 윤곽을 벗어난 상당량의 측정치들을 포함하는 임의의 센서 샘플을 식별할 수 있다. 예를 들어, 센서 샘플들이 레이저 데이터를 포함하는 경우, 차량의 레이저 포인트들은 수신된 데이터에서 직사각형 모델로 함께 연결될 수 있다. 임계 부분을 초과하는 포인트들(예를 들어, 20개 초과의 포인트)이 직사각형 외부에 있고 직사각형 외부에 있는 포인트들이 경계 상자 외부의 임계 거리 초과(예를 들어, 0.5 미터 초과)로 확장되는 경우, 시스템은 샘플을 긍정 샘플로서 식별한다.
다른 예로서, 차량 근처에 작은 개체가 있는 경우, 기준이 충족될 수 있다. 즉, 시스템은 센서 샘플들 각각에 대해, 그 센서 샘플이 차량은 물론, 차량에 인접한 다른 개체를 특성화하는지를 식별하는 데이터를 수신할 수 있고, 센서 샘플이 차량 및 다른 개체를 특성화할 때, 센서 샘플을 긍정 샘플로서 식별할 수 있다.
시스템은 후보 초기 긍정 샘플들의 서브세트인 초기 긍정 샘플들을 획득한다(320).
예를 들어, 시스템은 인간 평가자들(human raters)이 후보 초기 긍정 샘플에 의해 특성화되는 차량의 도어들 중 임의의 것이 열려 있는지를 나타내는 입력들을 제출하는 것을 허용하는 사용자 인터페이스 내에서, 인간 평가자들에게 제시하기 위해, 각각의 초기 긍정 샘플의 시각적 표현들, 예를 들어 이미지들 또는 비디오들을 제공할 수 있다. 다음으로, 시스템은 인간 평가자가 열린 도어를 묘사하는 것으로 표시한 각각의 후보 초기 긍정 샘플을 초기 긍정 샘플로서 지정할 수 있다.
시스템은 초기 긍정 샘플을 사용하여 추가 긍정 샘플들을 식별하고(330), 도 2를 참조하여 위에서 설명된 바와 같이, 초기 긍정 샘플들 및 추가 긍정 샘플들(340)을 포함하는 훈련 데이터에 대해 열린 도어 분류기를 훈련한다.
임의로, 일단 분류기가 훈련되고 나면, 시스템은 훈련된 분류기를 사용하여 훈련 데이터를 수정함으로써 분류기의 모델 가중치들을 더 정제한다(단계(350)).
특히, 시스템은 훈련된 분류기를 사용하여 로그 데이터 저장소 내의 센서 샘플들의 일부 또는 전부를 프로세싱함으로써, 각각의 프로세싱된 센서 샘플에 대한 각각의 열린 도어 예측, 즉 각각의 확률을 생성한다. 다음으로, 시스템은 임계 확률, 예를 들어, 7, .8, .9 또는 .95를 초과하는 확률, 를 갖는 각각의 프로세싱된 센서 샘플을 긍정 훈련 샘플로서 훈련 데이터에 추가한다. 일부 경우들에서, 시스템은 인간 평가자들이 후보 초기 긍정 샘플에 의해 특성화되는 차량의 도어들 중 임의의 것이 열려 있는지를 나타내는 입력들을 제출하는 것을 허용하는 사용자 인터페이스에서, 인간 평가자들에게 제시하기 위해, 임계 값을 초과하는 확률들을 갖는 샘플들의 일부 또는 전부의 시각적 표현들, 예를 들어 이미지들 또는 비디오들을 제공한다. 다음으로, 시스템은 인간 평가자가 열린 도어를 묘사하는 것으로 표시한 각각의 후보 초기 긍정 샘플을 긍정 샘플로서 지정할 수 있다.
일부 경우들에서, 시스템은 또한 훈련 데이터를 수정할 때, 이전에 분류기를 훈련하는 데 사용된 긍정 예들의 일부 또는 전부를 제거한다. 예를 들어, 일부 구현들에서, 시스템은 이전에 훈련에 사용된 모든 추가 긍정 샘플(초기 긍정 샘플들에 대한 시간적 근접성에 기초하여 식별됨)을, 임계 값을 초과하는 확률을 갖는 프로세싱된 센서 샘플들로 대체한다.
시스템이 수정된 훈련 데이터를 생성하고 나면, 시스템은 수정된 훈련 데이터에 대해 분류기를 재훈련한다(단계(360)).
일부 구현들에서, 시스템은 분류기의 모델 가중치들을 미세 튜닝하기 위해 재훈련을 사용한다. 특히, 이러한 구현들에서, 시스템은 초기 훈련 동안과 동일하지만 초기 훈련의 결과로서 결정된 가중치들의 값들로부터 시작하여 손실 함수를 최소화하기 위해, 수정된 훈련 데이터에 대해 분류기를 훈련한다.
일부 다른 구현들에서, 시스템은 수정된 훈련 데이터에 대해 처음부터 분류기를 재훈련한다. 특히, 이러한 구현들에서, 시스템은 가중치들을 초기 값들로 리셋한 다음, 수정된 훈련 데이터에 대해 분류기를 훈련하여 가중치들의 초기 값들로부터 시작하는 손실 함수를 최소화한다.
따라서, 이러한 임의적 단계들을 수행함으로써, 시스템은 훈련된 분류기를 사용하여, 훈련된 분류기를 추가로 훈련하는 데 사용할 로그 데이터 저장소 내의 추가 긍정 샘플들을 식별한다. 그렇게 함으로써, 시스템은 초기 훈련 데이터 이전에 훈련 데이터에 추가된 잠재적으로 잡음이 있는 추가 긍정 샘플의 영향을 줄이면서도, 넓은 거리 범위에 있는 자동차들을 특성화하는 샘플들을 포함하는 훈련 데이터를 가질 수 있다.
또한 임의적으로, 시스템은 분류기 가중치들을 계속 정제하기 위해 단계들(350 및 360)을 1회 이상 반복할 수 있다. 예를 들어, 시스템은 센서 샘플들의 테스트 세트에 대한 훈련된 분류기의 정확도가 소정의 임계 정확도를 초과할 때까지 단계들(350 및 360)을 반복하거나, 미리 결정된 반복 횟수 동안 단계들(350 및 360)을 반복할 수 있다.
도 1 - 도 3은 열린 도어들을 갖는 차량들을 분류하도록 분류기를 훈련하는 데 사용되는 기술들을 설명한다. 그러나, 설명된 기술들은 일반적으로 개체들이 다른 특정 상태들에 있을 때 분류기들을 훈련하기 위해 적용될 수 있다. 특히, 설명된 기술들은 처음에 양질의 훈련 데이터가 제한되거나 이용가능하지 않지만, (1) 개체가 특정 상태에 있을 때 소정 량의 시간적 지속성이 예상되고, 개체의 다른 상태들은 매우 일반적이지만 그 특정 상태는 비교적 드물 때, 객체를 특정 상태에 있는 것으로 분류하기 위한 훈련 데이터를 생성하도록 분류기를 훈련하는 데 사용될 수 있다. 다른 그러한 예들 중에서 위에 주어진 특정 예들은 자동차들을 주차 상태에 있는 것으로서 분류하는 분류기, 또는 통학 버스를 점멸등 상태에 있는 것으로서 분류하는 분류기에 대한 훈련 데이터를 생성하는 것을 포함한다.
즉, 시스템은 특정 유형의 개체를 특성화하고 자율 주행 차량의 하나 이상의 센서에 의해 캡처된 센서 데이터로부터 생성되는 입력 센서 샘플을 수신하고, 입력 센서 샘플을 프로세싱하여 개체가 특정 상태에 있을 예측되는 가능성을 표현하는 특정 상태 점수를 생성하도록 구성되는 분류기를 훈련할 수 있다.
시스템은 복수의 초기 훈련 예를 획득하고 - 각각의 초기 훈련 예는 (i) 센서 샘플들의 컬렉션으로부터의 센서 샘플, 및 (ⅱ) 센서 샘플을 특정 상태에 있는 개체를 특성화하는 것으로서 분류하는 데이터를 포함함 - ; 복수의 추가 훈련 예를 생성하고 - 생성은 각각의 초기 훈련 예에 대해, 센서 샘플들의 컬렉션으로부터, 초기 훈련 예 내의 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된 하나 이상의 추가 센서 샘플을 식별하고, 각각의 추가 센서 샘플을, 특정 상태에 있는 개체를 특성화하는 센서 샘플로서 분류하는 것을 포함함 - ; 및 기계 학습 분류기에 대한 업데이트된 가중치들을 생성하기 위해, 초기 훈련 예들 및 추가 훈련 예들을 포함하는 제1 훈련 데이터에 대해 기계 학습 분류기를 훈련함으로써 분류기를 훈련한다.
본 명세서에 설명된 주제 및 기능적 동작들의 실시예들은 디지털 전자 회로, 유형으로(tangibly) 구현된 컴퓨터 소프트웨어 또는 펌웨어, 본 명세서에 개시된 구조물들 및 그 구조적 등가물을 포함하는 컴퓨터 하드웨어, 또는 그것들의 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 설명된 주제의 실시예들은 하나 이상의 컴퓨터 프로그램, 즉, 데이터 프로세싱 장치에 의한 실행을 위해 또는 그것의 동작을 제어하기 위해 유형의 비-일시적 저장 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 저장 매체는 기계 판독가능한 저장 디바이스, 기계 판독가능한 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령어들은, 인공적으로 생성된 전파 신호, 예를 들어 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치에 전송할 정보를 인코딩하도록 생성되는 기계 생성된 전기, 광학 또는 전자기 신호 상에 인코딩될 수 있다.
용어 "데이터 프로세싱 장치"는 데이터 프로세싱 하드웨어를 지칭하고, 예로서 프로그래밍가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함하는, 데이터를 프로세싱하기 위한 모든 종류들의 장치, 디바이스들, 및 머신들을 포괄한다. 장치는 또한, 기성품(off-the-shelf) 또는 맞춤형 병렬 프로세싱 서브시스템들, 예를 들어, GPU 또는 다른 종류의 특수 목적 프로세싱 서브시스템일 수 있거나 또는 이들을 더 포함할 수 있다. 장치는 또한, 특수 목적 로직 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)일 수 있거나 또는 이들을 더 포함할 수 있다. 장치는 임의로, 하드웨어에 부가적으로, 컴퓨터 프로그램들을 위한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 것의 조합을 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 스크립트, 또는 코드로도 지칭되거나 설명될 수 있는 컴퓨터 프로그램은 컴파일링된 또는 인터프리팅된 언어들, 또는 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 그것은 독립형 프로그램으로서 배치하는 것, 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적합한 다른 유닛으로서 배치하는 것을 포함하는 임의의 형태로 배치될 수 있다. 프로그램은 파일 시스템 내의 파일에 대응할 수도 있지만, 그러할 필요가 없을 수도 있다. 프로그램은 다른 프로그램들 또는 데이터, 예를 들어, 마크업 언어 문서에 저장되는 하나 이상의 스크립트들을 보유하는 파일의 일 부분에, 대상 프로그램에 전용되는 단일 파일에, 또는 복수의 조정된 파일들, 예를 들어, 하나 이상의 모듈들, 서브프로그램들, 또는 코드의 부분들을 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치되거나 또는 다수의 사이트들에 걸쳐 분산되고 데이터 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 또는 하나의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 명세서에서 사용될 때, "엔진" 또는 "소프트웨어 엔진"은 입력과는 상이한 출력을 제공하는 소프트웨어 구현 입/출력 시스템을 지칭한다. 엔진은, 라이브러리, 플랫폼, 소프트웨어 개발 키트(software development kit)("SDK"), 또는 객체와 같은, 기능성의 인코딩된 블록일 수 있다. 각각의 엔진은, 하나 이상의 프로세서 및 컴퓨터 판독가능 매체를 포함하는 임의의 적절한 유형의 컴퓨팅 디바이스, 예를 들어, 서버들, 모바일 폰들, 태블릿 컴퓨터들, 노트북 컴퓨터들, 음악 플레이어들, 전자책 판독기들, 랩톱 또는 데스크톱 컴퓨터들, PDA들, 스마트 폰들, 또는 다른 고정 또는 휴대용 디바이스들 상에서 구현될 수 있다. 부가적으로, 엔진들 중 2개 이상은 동일한 컴퓨팅 디바이스 상에서, 또는 상이한 컴퓨팅 디바이스들 상에서 구현될 수도 있다.
본 명세서에서 설명되는 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능 컴퓨터에 의해 수행될 수 있다. 프로세스 및 로직 흐름은 또한, 특수 목적 로직 회로, 예를 들어, FPGA 또는 ASIC에 의해, 또는 특수 목적 로직 회로와 하나 이상의 프로그래밍된 컴퓨터들의 조합에 의해 수행될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 범용 또는 특수 목적 마이크로프로세서들 또는 이들 양측 모두, 또는 임의의 다른 종류의 중앙 프로세싱 유닛에 기초할 수 있다. 일반적으로, 중앙 프로세싱 유닛은 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이들 양측 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령어들을 수행 또는 실행하기 위한 중앙 프로세싱 유닛, 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 중앙 프로세싱 유닛 및 메모리는 특수 목적 로직 회로에 의해 보충되거나 또는 그에 포함될 수 있다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예를 들어, 자기, 광자기 디스크들, 또는 광 디스크들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 또는 이들로 데이터를 전송하기 위해 동작적으로 결합되거나, 또는 이들 양측 모두로 될 것이다. 그러나, 컴퓨터는 그러한 디바이스들을 가질 필요가 없다. 더욱이, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 예로 들자면, 모바일 전화기, 개인 휴대 정보 단말기(personal digital assistant)(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템(Global Positioning System)(GPS) 수신기, 또는 휴대용 저장 디바이스, 예를 들어, 범용 직렬 버스(universal serial bus)(USB) 플래시 드라이브에 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체들은, 예로서 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 착탈가능 디스크들; 광자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태들의 비휘발성 메모리, 매체들 및 메모리 디바이스들을 포함한다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에서 설명되는 주제의 실시예들은 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스, 예를 들어, 마우스, 트랙볼, 또는 존재 감응형 디스플레이 또는 다른 표면을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 제공하는 데 사용될 수 있고; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 부가적으로, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 디바이스로부터 문서들을 수신함으로써; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호작용할 수 있다. 또한, 컴퓨터는, 텍스트 메시지들 또는 다른 형태들의 메시지를, 메시징 애플리케이션을 실행하고 있는 개인용 디바이스, 예를 들어, 스마트폰에 전송하고, 그에 대한 답으로, 사용자로부터 응답 메시지들을 수신함으로써 사용자와 상호작용할 수 있다.
본 명세서는 많은 특정 구현 세부사항들을 포함하지만, 이들은 임의의 발명의 범주에 대한 또는 청구될 수도 있는 것의 범주에 대한 제한들로서 해석되어서는 안 되고, 오히려 특정 발명들의 특정 실시예들에 특정될 수도 있는 특징들의 설명들로서 해석되어야 한다. 별개의 실시예들의 맥락에서 본 명세서에서 설명되는 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 맥락에서 설명되는 다양한 특징들은 또한 다수의 실시예들에서 별개로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 특징들은 특정 조합들로 작용하는 것으로서 상술되고 심지어 초기에는 그와 같이 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서 그 조합으로부터 삭제될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
마찬가지로, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행되는 것, 또는 예시된 모든 동작들이 수행되는 것을 요구하는 것으로서 이해되어서는 안 된다. 특정 상황들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수도 있다. 더욱이, 상술된 실시예들에서의 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로서 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 또는 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다.
발명의 주제의 특정 실시예들이 설명되었다. 다른 실시예들이 이하의 청구항들의 범주 내에 있다. 예를 들어, 청구항들에서 열거된 액션들은 상이한 순서로 수행되고 여전히 바람직한 결과들을 달성할 수 있다. 일례로서, 첨부 도면들에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해 도시된 특정 순서, 또는 순차적인 순서를 반드시 요구하지는 않는다. 특정 일부 경우들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수도 있다.

Claims (20)

  1. 복수의 가중치를 갖는 기계 학습 분류기를 훈련하는 컴퓨터 구현 방법으로서,
    상기 기계 학습 분류기는:
    제1 차량을 특성화하고, 제2 차량의 하나 이상의 센서에 의해 캡처된 센서 데이터로부터 생성되는 입력 센서 샘플을 수신하고,
    상기 입력 센서 샘플을 프로세싱하여, 상기 제1 차량이 열린 도어를 가질 예측된 가능성을 표현하는 열린 도어 점수를 생성하도록
    구성되고,
    상기 방법은:
    복수의 초기 훈련 예를 획득하는 단계 - 각각의 초기 훈련 예는 (i) 센서 샘플들의 컬렉션으로부터의 센서 샘플, 및 (ⅱ) 상기 센서 샘플을 열린 도어를 갖는 차량을 특성화하는 것으로서 분류하는 데이터를 포함함 - ;
    복수의 추가 훈련 예를 생성하는 단계 - 상기 생성하는 단계는, 각각의 초기 훈련 예에 대해:
    센서 샘플들의 컬렉션으로부터, 초기 훈련 예 내의 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된 하나 이상의 추가 센서 샘플을 식별하는 단계, 및
    각각의 추가 센서 샘플을, 열린 도어를 갖는 차량을 특성화하는 센서 샘플로서 분류하는 단계
    를 포함함 - ; 및
    상기 기계 학습 분류기에 대한 업데이트된 가중치들을 생성하기 위해, 상기 초기 훈련 예들 및 상기 추가 훈련 예들을 포함하는 제1 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 기계 학습 분류기를 사용하여, 그리고 상기 업데이트된 가중치들에 따라, 여분의 훈련 예들(further training examples)을 생성하는 단계; 및
    상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들(further updated weights)을 생성하기 위해, 상기 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 더 포함하는 방법.
  3. 제2항에 있어서, 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계는:
    상기 기계 학습 분류기에 대한 상기 업데이트된 가중치들로부터 시작하여 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 포함하는, 방법.
  4. 제2항에 있어서, 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계는:
    상기 기계 학습 분류기에 대한 초기 가중치들로부터 시작하여 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 포함하는, 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서, 상기 기계 학습 분류기를 사용하여, 그리고 상기 업데이트된 가중치들에 따라, 여분의 훈련 예들을 생성하는 단계는:
    각각의 후보 센서 샘플에 대한 각각의 열린 도어 점수를 생성하기 위해, 상기 기계 학습 분류기를 사용하여, 그리고 상기 업데이트된 가중치들에 따라, 상기 센서 샘플들의 컬렉션으로부터 복수의 후보 센서 샘플 각각을 프로세싱하는 단계; 및
    임계 점수를 초과하는 열린 도어 점수를 갖는 각각의 후보 센서 샘플을, 열린 도어를 갖는 차량을 특성화하는 센서 샘플로서 분류하는 단계
    를 포함하는, 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 복수의 센서 샘플로부터, 초기 훈련 예 내의 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된 하나 이상의 추가 센서 샘플을 식별하는 단계는:
    (i) 상기 초기 훈련 예 내의 상기 센서 샘플과 동일한 차량을 특성화하고 (ⅱ) 상기 초기 훈련 예 내의 상기 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된, 상기 복수의 샘플 내의 각각의 센서 샘플을 추가 센서 샘플로서 식별하는 단계
    를 포함하는, 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 복수의 초기 훈련 예를 획득하는 단계는:
    상기 센서 샘플들의 컬렉션으로부터, 상기 후보 초기 센서 샘플에 의해 특성화되는 상기 차량의 본체의 윤곽 밖의 상당량의 측정치들을 각각 포함하는 복수의 후보 초기 센서 샘플을 식별하는 단계
    를 포함하는, 방법.
  8. 하나 이상의 컴퓨터, 및 명령어들을 저장하는 하나 이상의 저장 디바이스를 포함하는 시스템으로서,
    상기 명령어들은 상기 하나 이상의 컴퓨터에 의해 실행될 때, 상기 하나 이상의 컴퓨터로 하여금, 복수의 가중치를 갖는 기계 학습 분류기를 훈련하기 위한 동작들을 수행하게 하고,
    상기 기계 학습 분류기는:
    제1 차량을 특성화하고, 제2 차량의 하나 이상의 센서에 의해 캡처된 센서 데이터로부터 생성되는 입력 센서 샘플을 수신하고,
    상기 입력 센서 샘플을 프로세싱하여, 상기 제1 차량이 열린 도어를 가질 예측된 가능성을 표현하는 열린 도어 점수를 생성하도록
    구성되고,
    상기 동작들은:
    복수의 초기 훈련 예를 획득하는 단계 - 각각의 초기 훈련 예는 (i) 센서 샘플들의 컬렉션으로부터의 센서 샘플, 및 (ⅱ) 상기 센서 샘플을 열린 도어를 갖는 차량을 특성화하는 것으로서 분류하는 데이터를 포함함 - ;
    복수의 추가 훈련 예를 생성하는 단계 - 상기 생성하는 단계는, 각각의 초기 훈련 예에 대해:
    센서 샘플들의 컬렉션으로부터, 초기 훈련 예 내의 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된 하나 이상의 추가 센서 샘플을 식별하는 단계, 및
    각각의 추가 센서 샘플을, 열린 도어를 갖는 차량을 특성화하는 센서 샘플로서 분류하는 단계
    를 포함함 - ; 및
    상기 기계 학습 분류기에 대한 업데이트된 가중치들을 생성하기 위해, 상기 초기 훈련 예들 및 상기 추가 훈련 예들을 포함하는 제1 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 포함하는, 시스템.
  9. 제8항에 있어서, 상기 동작들은:
    상기 기계 학습 분류기를 사용하여, 그리고 상기 업데이트된 가중치들에 따라, 여분의 훈련 예들을 생성하는 단계; 및
    상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 더 포함하는, 시스템.
  10. 제9항에 있어서, 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계는:
    상기 기계 학습 분류기에 대한 상기 업데이트된 가중치들로부터 시작하여 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 포함하는, 시스템.
  11. 제9항에 있어서, 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계는:
    상기 기계 학습 분류기에 대한 초기 가중치들로부터 시작하여 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 포함하는, 시스템.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서, 상기 기계 학습 분류기를 사용하여, 그리고 상기 업데이트된 가중치들에 따라, 여분의 훈련 예들을 생성하는 단계는:
    각각의 후보 센서 샘플에 대한 각각의 열린 도어 점수를 생성하기 위해, 상기 기계 학습 분류기를 사용하여, 그리고 상기 업데이트된 가중치들에 따라, 상기 센서 샘플들의 컬렉션으로부터 복수의 후보 센서 샘플 각각을 프로세싱하는 단계; 및
    임계 점수를 초과하는 열린 도어 점수를 갖는 각각의 후보 센서 샘플을, 열린 도어를 갖는 차량을 특성화하는 센서 샘플로서 분류하는 단계
    를 포함하는, 시스템.
  13. 제8항 내지 제12항 중 어느 한 항에 있어서, 복수의 센서 샘플로부터, 상기 초기 훈련 예 내의 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된 하나 이상의 추가 센서 샘플을 식별하는 단계는:
    (i) 상기 초기 훈련 예 내의 상기 센서 샘플과 동일한 차량을 특성화하고 (ⅱ) 상기 초기 훈련 예 내의 상기 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된, 상기 복수의 샘플 내의 각각의 센서 샘플을 추가 센서 샘플로서 식별하는 단계
    를 포함하는, 시스템.
  14. 제8항 내지 제13항 중 어느 한 항에 있어서, 상기 복수의 초기 훈련 예를 획득하는 단계는:
    상기 센서 샘플들의 컬렉션으로부터, 상기 후보 초기 센서 샘플에 의해 특성화되는 상기 차량의 본체의 윤곽 밖의 상당량의 측정치들을 각각 포함하는 복수의 후보 초기 센서 샘플을 식별하는 단계
    를 포함하는, 시스템.
  15. 하나 이상의 컴퓨터에 의해 실행될 때, 상기 하나 이상의 컴퓨터로 하여금: 복수의 가중치를 갖는 기계 학습 분류기를 훈련하기 위한 동작들을 수행하게 하는 명령어들을 저장하는 하나 이상의 컴퓨터 판독가능한 저장 매체로서,
    상기 기계 학습 분류기는:
    제1 차량을 특성화하고, 제2 차량의 하나 이상의 센서에 의해 캡처된 센서 데이터로부터 생성되는 입력 센서 샘플을 수신하고,
    상기 입력 센서 샘플을 프로세싱하여, 상기 제1 차량이 열린 도어를 가질 예측된 가능성을 표현하는 열린 도어 점수를 생성하도록
    구성되고,
    상기 동작들은:
    복수의 초기 훈련 예를 획득하는 단계 - 각각의 초기 훈련 예는 (i) 센서 샘플들의 컬렉션으로부터의 센서 샘플, 및 (ⅱ) 상기 센서 샘플을 열린 도어를 갖는 차량을 특성화하는 것으로서 분류하는 데이터를 포함함 - ;
    복수의 추가 훈련 예를 생성하는 단계 - 상기 생성하는 단계는, 각각의 초기 훈련 예에 대해:
    센서 샘플들의 컬렉션으로부터, 초기 훈련 예 내의 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된 하나 이상의 추가 센서 샘플을 식별하는 단계, 및
    각각의 추가 센서 샘플을, 열린 도어를 갖는 차량을 특성화하는 센서 샘플로서 분류하는 단계
    를 포함함 - ; 및
    상기 기계 학습 분류기에 대한 업데이트된 가중치들을 생성하기 위해, 상기 초기 훈련 예들 및 상기 추가 훈련 예들을 포함하는 제1 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 포함하는, 컴퓨터 판독가능한 저장 매체.
  16. 제15항에 있어서, 상기 동작들은:
    상기 기계 학습 분류기를 사용하여, 그리고 상기 업데이트된 가중치들에 따라, 여분의 훈련 예들을 생성하는 단계; 및
    상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 더 포함하는, 컴퓨터 판독가능한 저장 매체.
  17. 제16항에 있어서, 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계는:
    상기 기계 학습 분류기에 대한 상기 업데이트된 가중치들로부터 시작하여 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 포함하는, 컴퓨터 판독가능한 저장 매체.
  18. 제16항에 있어서, 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 여분의 훈련 예들을 포함하는 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계는:
    상기 기계 학습 분류기에 대한 초기 가중치들로부터 시작하여 상기 기계 학습 분류기에 대한 추가 업데이트된 가중치들을 생성하기 위해, 상기 제2 훈련 데이터에 대해 상기 기계 학습 분류기를 훈련하는 단계
    를 포함하는, 컴퓨터 판독가능한 저장 매체.
  19. 제16항 내지 제18항 중 어느 한 항에 있어서, 상기 기계 학습 분류기를 사용하여, 그리고 상기 업데이트된 가중치들에 따라, 여분의 훈련 예들을 생성하는 단계는:
    각각의 후보 센서 샘플에 대한 각각의 열린 도어 점수를 생성하기 위해, 상기 기계 학습 분류기를 사용하여, 그리고 상기 업데이트된 가중치들에 따라, 상기 센서 샘플들의 컬렉션으로부터 복수의 후보 센서 샘플 각각을 프로세싱하는 단계; 및
    임계 점수를 초과하는 열린 도어 점수를 갖는 각각의 후보 센서 샘플을, 열린 도어를 갖는 차량을 특성화하는 센서 샘플로서 분류하는 단계
    를 포함하는, 컴퓨터 판독가능한 저장 매체.
  20. 제15항 내지 제19항 중 어느 한 항에 있어서, 복수의 센서 샘플로부터, 초기 훈련 예 내의 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된 하나 이상의 추가 센서 샘플을 식별하는 단계는:
    (i) 상기 초기 훈련 예 내의 상기 센서 샘플과 동일한 차량을 특성화하고 (ⅱ) 상기 초기 훈련 예 내의 상기 센서 샘플이 캡처된 것보다 임계 시간량 미만 전에 캡처된, 상기 복수의 샘플 내의 각각의 센서 샘플을 추가 센서 샘플로서 식별하는 단계
    를 포함하는, 컴퓨터 판독가능한 저장 매체.
KR1020217022609A 2018-12-21 2019-12-23 열린 차량 도어들을 검출하기 위한 분류기의 훈련 KR102607725B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/231,297 US11514310B2 (en) 2018-12-21 2018-12-21 Training a classifier to detect open vehicle doors
US16/231,297 2018-12-21
PCT/US2019/068331 WO2020132676A2 (en) 2018-12-21 2019-12-23 Training a classifier to detect open vehicle doors

Publications (2)

Publication Number Publication Date
KR20210104128A true KR20210104128A (ko) 2021-08-24
KR102607725B1 KR102607725B1 (ko) 2023-11-30

Family

ID=69374376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217022609A KR102607725B1 (ko) 2018-12-21 2019-12-23 열린 차량 도어들을 검출하기 위한 분류기의 훈련

Country Status (6)

Country Link
US (2) US11514310B2 (ko)
EP (1) EP3881247A2 (ko)
JP (1) JP7203224B2 (ko)
KR (1) KR102607725B1 (ko)
CN (1) CN113366507B (ko)
WO (1) WO2020132676A2 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11514310B2 (en) * 2018-12-21 2022-11-29 Waymo Llc Training a classifier to detect open vehicle doors
DE102019203334A1 (de) * 2019-03-12 2020-09-17 Robert Bosch Gmbh Verfahren zum Durchführen einer Reaktion auf Personen an Fahrzeugen
US11710352B1 (en) 2020-05-21 2023-07-25 Zoox, Inc. Machine-learned model training for pedestrian attribute and gesture detection
CN111832496B (zh) * 2020-07-17 2023-11-03 南京康尼机电股份有限公司 一种轨道车门开关状态判断方法、装置及存储介质
US12065172B2 (en) * 2020-07-24 2024-08-20 Autobrains Technologies Ltd Open door predictor
SE544424C2 (en) * 2020-12-01 2022-05-24 Swanholm Tech Ab Safety wearable for egress detection from a work vehicle
JP2022104398A (ja) * 2020-12-28 2022-07-08 株式会社Subaru 車両の運転制御システム
CN113111708B (zh) * 2021-03-10 2023-12-29 北京爱笔科技有限公司 车辆匹配样本生成方法、装置、计算机设备和存储介质
US20230195840A1 (en) * 2021-12-18 2023-06-22 Gm Cruise Holdings Llc Labeling system for a vehicle appendage
CN114511023B (zh) * 2022-01-27 2024-06-28 腾讯科技(深圳)有限公司 分类模型训练方法以及分类方法
US20230243994A1 (en) * 2022-02-02 2023-08-03 Gm Cruise Holdings Llc Use of low frequency electromagnetic signals to detect occluded anomalies by a vehicle
US20230007914A1 (en) * 2022-09-20 2023-01-12 Intel Corporation Safety device and method for avoidance of dooring injuries

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018147871A1 (en) * 2017-02-10 2018-08-16 Nissan North America, Inc. Autonomous vehicle operational management

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10229033A1 (de) * 2002-06-28 2004-01-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Erkennen einer Unfallgefahr
JP5482670B2 (ja) 2011-01-12 2014-05-07 株式会社デンソー 物体検出装置
JP6381937B2 (ja) * 2014-03-17 2018-08-29 クラリオン株式会社 車両用ドア開閉制御装置
US10289962B2 (en) * 2014-06-06 2019-05-14 Google Llc Training distilled machine learning models
CN107181908B (zh) 2016-03-11 2020-09-11 松下电器(美国)知识产权公司 图像处理方法、图像处理装置及计算机可读记录介质
JP6796442B2 (ja) 2016-03-11 2020-12-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像処理方法、画像処理装置およびプログラム
US9987745B1 (en) 2016-04-01 2018-06-05 Boston Dynamics, Inc. Execution of robotic tasks
CN106102159A (zh) * 2016-05-24 2016-11-09 努比亚技术有限公司 一种操作执行方法和终端
US10487564B2 (en) * 2017-05-03 2019-11-26 GM Global Technology Operations LLC Door actuator adjustment for autonomous vehicles
US10019011B1 (en) * 2017-10-09 2018-07-10 Uber Technologies, Inc. Autonomous vehicles featuring machine-learned yield model
CA3079656C (en) * 2017-10-24 2021-11-23 Nissan North America, Inc. Localization determination for vehicle operation
US10955851B2 (en) * 2018-02-14 2021-03-23 Zoox, Inc. Detecting blocking objects
CN108596042A (zh) * 2018-03-29 2018-09-28 青岛海尔智能技术研发有限公司 开门控制方法和系统
US11514310B2 (en) * 2018-12-21 2022-11-29 Waymo Llc Training a classifier to detect open vehicle doors

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018147871A1 (en) * 2017-02-10 2018-08-16 Nissan North America, Inc. Autonomous vehicle operational management

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Narayanan et. al., Computer Science Artificial Intelligence, Using Data Analytics to Detect Anomalous States in Vehicles, 2015.12.25. 1부.* *
Nirmali et. al., IEEE Int. Conference on Industrial and Information Systems, Vehicular data acquisition and analytics system for real-time driver behavior monitoring and anomaly detection, 2017.12.16* *

Also Published As

Publication number Publication date
EP3881247A2 (en) 2021-09-22
US20230099920A1 (en) 2023-03-30
JP2022511968A (ja) 2022-02-01
JP7203224B2 (ja) 2023-01-12
US11514310B2 (en) 2022-11-29
WO2020132676A2 (en) 2020-06-25
CN113366507A (zh) 2021-09-07
KR102607725B1 (ko) 2023-11-30
US20200202209A1 (en) 2020-06-25
WO2020132676A3 (en) 2020-07-30
CN113366507B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
KR102607725B1 (ko) 열린 차량 도어들을 검출하기 위한 분류기의 훈련
US11783568B2 (en) Object classification using extra-regional context
US11861481B2 (en) Searching an autonomous vehicle sensor data repository
US11618481B2 (en) Agent trajectory prediction using anchor trajectories
AU2018288720B2 (en) Rare instance classifiers
CN113366496A (zh) 用于粗略和精细对象分类的神经网络
US11480963B2 (en) Vehicle intent prediction neural network
KR20200125731A (ko) 객체 검출 및 특성화를 위한 뉴럴 네트워크들
US20210295555A1 (en) Interacted Object Detection Neural Network
US11610423B2 (en) Spatio-temporal-interactive networks
EP4060626A1 (en) Agent trajectory prediction using context-sensitive fusion
CN114580702A (zh) 多模态多代理轨迹预测
US20240096076A1 (en) Semantic segmentation neural network for point clouds
US20210150349A1 (en) Multi object tracking using memory attention
US20230082079A1 (en) Training agent trajectory prediction neural networks using distillation
US20230072020A1 (en) Open vehicle doors prediction using a neural network model
US20230280753A1 (en) Robust behavior prediction neural networks through non-causal agent based augmentation

Legal Events

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