KR20220133934A - 차량 블랙 박스 데이터의 인공지능 기반 지속성 - Google Patents

차량 블랙 박스 데이터의 인공지능 기반 지속성 Download PDF

Info

Publication number
KR20220133934A
KR20220133934A KR1020227029281A KR20227029281A KR20220133934A KR 20220133934 A KR20220133934 A KR 20220133934A KR 1020227029281 A KR1020227029281 A KR 1020227029281A KR 20227029281 A KR20227029281 A KR 20227029281A KR 20220133934 A KR20220133934 A KR 20220133934A
Authority
KR
South Korea
Prior art keywords
data
vehicle
events
classifying
model
Prior art date
Application number
KR1020227029281A
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 KR20220133934A publication Critical patent/KR20220133934A/ko

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • G07C5/0866Registering performance data using electronic data carriers the electronic data carrier being a digital video recorder in combination with video camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q9/00Arrangement or adaptation of signal devices not provided for in one of main groups B60Q1/00 - B60Q7/00, e.g. haptic signalling
    • B60Q9/008Arrangement or adaptation of signal devices not provided for in one of main groups B60Q1/00 - B60Q7/00, e.g. haptic signalling for anti-collision purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/161Decentralised systems, e.g. inter-vehicle communication
    • G08G1/163Decentralised systems, e.g. inter-vehicle communication involving continuous checking
    • 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
    • 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

Abstract

개시된 실시예는 차량에서 사고-전 데이터의 지속성을 개선하는 것에 관한 것이다. 일 실시예에서, 차량 버스를 통해 브로드캐스팅되는 이벤트들을 수신하는 단계; 머신 러닝 모델을 사용하여 이벤트들을 분류하는 단계-여기서, 분류하는 단계는 충돌이 임박했음을 나타내는 단계를 포함함-; 및 분류하는 단계에 응답하여 블랙 박스 디바이스의 순환 버퍼로부터 장기 저장 디바이스로 데이터를 복사하는 단계를 포함하는 방법이 개시된다.

Description

차량 블랙 박스 데이터의 인공지능 기반 지속성
관련 출원
본 출원은 2020년 2월 6일에 출원되고 "차량 블랙 박스 데이터의 인공 지능 기반 지속성"이라는 명칭의 미국 특허 출원번호 제16/783,377호에 대한 우선권을 주장하며, 그 전체 개시 내용이 본 명세서에 참고로 포함된다.
기술 분야
개시된 실시예는 자동차 시스템 및 증가된 데이터 지속성을 필요로 하는 잠재적인 충돌 또는 다른 상황을 예측하는 머신 러닝(ML) 모델에 기초하여 차량 전자 데이터 레코더 디바이스(블랙 박스 디바이스로도 알려짐)의 동작을 조정하기 위한 시스템에 관한 것이다.
미국에서는 매년 약 600만 건의 차량 충돌이 발생한다. 이러한 많은 차량들에는 블랙 박스라고도 하는 이벤트 데이터 레코더(EDR) 디바이스가 장착되어 있다. 이러한 디바이스는 속도 데이터, 제어 데이터(예를 들어, 방향 지시등 사용) 및 기타 데이터와 같이 차량에서 생성된 데이터를 기록한다. 일반적으로 자동차의 블랙 박스는 순환 버퍼(cyclic buffer)에 제한된 지속시간(예를 들어, 몇 분)의 데이터만 기록한다. 이 시나리오에서 블랙 박스는 시간이 지남에 따라 가장 오래된 데이터를 새로운 데이터로 계속 덮어쓰기한다. 이러한 디바이스는 차량의 동작에 관계없이 정적으로 구성되어 일관되게 동작된다. 따라서 현재의 블랙 박스는 디바이스의 기록 "창" 외부에서 발생하는 중요한 데이터를 캡처하지 못하는 경우가 많다.
이러한 구성은 충돌 직전에 발생하는 데이터를 식별하는 데 유용할 수 있지만 충돌로 이어지는 관련 데이터를 캡처하지 못한다. 앞서 말한 것 외에도 모든 자동차 디바이스는 공간 및 전력 문제로 인해 제약을 받는다. 따라서 차량이 움직이는 동안 가능한 모든 데이터를 단순히 기록하는 것은 실용적이지 않다. 이러한 순진한 접근 방식은 상당한 전력 및 저장 공간을 필요로 하며, 이는 현재 자동차에서 실현될 수 없는 요구 사항이다.
개시된 실시예는 충돌이 발생할 수 있음을 예측한 후 블랙 박스 데이터를 지능적으로 유지하기 위한 머신 러닝 기반(machine learning-based) 방법을 제공함으로써 이러한 및 다른 기술적 문제를 해결한다.
실시예는 유사한 참조가 유사한 요소를 나타내는 첨부 도면들의 도면에서 제한이 아니라 예의 방식으로 예시된다.
도 1은 본 개시내용의 일부 실시예에 따른 블랙 박스 시스템을 도시한 블록도이다.
도 2는 본 개시내용의 일부 실시예에 따른 예측된 충돌에 기초하여 차량 이벤트 데이터를 유지하기 위한 방법을 예시하는 흐름도이다.
도 3은 본 개시내용의 일부 실시예에 따른 사고 데이터에 기초하여 머신 러닝 모델을 재훈련하기 위한 방법을 예시하는 흐름도이다.
도 4는 본 개시내용의 일부 실시예에 따른 위양성 및 네거티브 이벤트에 기초하여 머신 러닝 모델을 최적화하기 위한 방법을 예시하는 흐름도이다.
도 5는 본 개시내용의 일부 실시예에 따른 차량용 컴퓨팅 시스템을 예시하는 블록도이다.
개시된 실시예는 머신 러닝(ML) 모델을 사용하여 블랙 박스 데이터를 유지하기 위한 디바이스, 방법, 및 컴퓨터 판독 가능 매체를 설명한다. 예시된 실시예에서, 훈련된 ML 모드는 차량에 설치되고 차량에서 브로드캐스팅되는 이벤트 데이터를 모니터링한다. ML 모델은 이러한 이벤트 데이터 포인트들을 분류하고 이벤트 데이터가 충돌 가능성이 있음을 나타내는지 여부를 결정한다. 만약 그렇다면, 방법은 블랙 박스의 순환 버퍼(cyclic buffer)로부터 데이터를 복사하기 시작하여, 기존의 블랙 박스와 비교하여 충돌이 일어나기 훨씬 전의 블랙 박스 데이터를 유지한다. 또한, 전술한 프로세스의 동작 동안 축적된 데이터를 기반으로 ML 모델의 성능을 향상시키는 기술이 개시된다.
도 1은 본 발명의 일부 실시예에 따른 블랙 박스 시스템을 나타내는 블록도이다.
도시된 실시예에서, 블랙 박스 시스템(100) 및 차량 시스템(102)은 버스(118)에 연결된다. 차량 시스템(102) 및 버스(118)의 유형에 대한 세부사항은 도 5에 제공되며 여기서 반복되지 않는다. 일반적으로, 차량 시스템(102)은 버스(118)를 통해 차량의 동작과 관련된 이벤트 또는 데이터를 송신한다.
도시된 실시예에서, 블랙 박스 시스템(100)은 전통적인 블랙 박스(104) 및 영구 블랙 박스(persistent black box)(110)를 포함한다. 예시된 실시예에서, 블랙 박스(104)는 차량에 현재 사용되는 임의의 유형의 표준 블랙 박스 하드웨어를 포함할 수 있다. 다른 실시예에서, 블랙 박스(104)는 차량에 설치된 블랙 박스 시스템(100)의 일부로서 구체적으로 제공될 수 있다. 이러한 방식으로 영구 블랙 박스(110)는 기존 블랙 박스를 개조하는 데 사용할 수 있는 반면 신규 생산에서는 전체 블랙 박스 시스템(100)이 차량에 설치될 수 있다.
도시된 블랙 박스(104)는 제어기(106) 및 순환 버퍼(108)를 포함한다. 제어기(106)는 관련 이벤트에 대해 버스(118)를 모니터링하고 이러한 이벤트를 순환 버퍼(108)에 저장한다. 일 실시예에서, 제어기(106)는 순환 버퍼(108)에서 모든 검출된 이벤트들을 포워딩한다. 다른 실시예에서, 제어기(106)는 이벤트를 순환 버퍼(108)에 기록하는 것을 선택적으로 활성화 및 비활성화할 수 있다. 예를 들어, 일부 시스템에서 제어기(106)는 충돌을 검출할 때만(예를 들어, 에어백이 작동될 때, 충돌 센서가 트리거링될 때 또는 다른 전자 제어 디바이스, ECU가 충돌을 나타낼 때) 데이터를 순환 버퍼에 기록할 수 있다. 일 예로서, 제어기(106)는 종종 사고를 선행하는 바퀴잠김방지식 주제동장치(ABS)가 활성화될 때만 데이터를 기록할 수 있다.
순환 버퍼(108)는 논리 링(logical ring)에 데이터를 저장하도록 구성된 저장 디바이스를 포함한다. 즉, 기록된 제1 위치가 버퍼(108)의 제1 위치인 경우, 제어기(106)는 버퍼(108)의 순차적 위치에서 데이터 기록을 계속한다. 버퍼(108)의 끝에 도달하면, 제어기(106)는 버퍼(108)의 제1 위치를 덮어쓰기하고 데이터 덮어쓰기를 계속하여 링형 구조를 시뮬레이션한다. 제어기(106)는 버퍼(108)의 임의의 위치에서 기록을 시작할 수 있지만 버퍼(108)의 끝에 도달할 때 버퍼(108)의 전면에 대해 랩핑(wrapping)하면서 항상 순차적으로 기록한다. 구체적으로, 순환 버퍼의 동작 세부사항은 당업계에 공지되어 있고 그러한 세부사항은 본 명세서에서 반복되지 않는다.
현재 차량에서, 블랙 박스(104), 버스(118) 및 차량 시스템(102)이 존재할 수 있고 제한된 양의 데이터를 순환 버퍼(108)에 기록할 수 있다. 그러나, 도 1의 개선된 시스템에 도시된 바와 같이, 개선된 블랙 박스 시스템(100)에는 영구 블랙 박스(PBB)(110)가 장착된다. PBB(110)는 자체 제어기(112), 하나 이상의 ML 모델들(114) 및 장기 저장소(LTS)(116)를 포함한다. 일 실시예에서, 제어기(112)는 시스템 온 칩(system-on-a-chip), 전용 마이크로프로세서, 마이크로제어기, 필드 프로그래밍 가능 게이트 어레이, 또는 다른 처리 요소를 포함할 수 있다. 제어기(112)는 디바이스를 제어하고 운영 체제로 동작하는 펌웨어(firmware)를 포함할 수 있다. ML 모델(114)은 일반적으로 영구 메모리(persistent memory)에 저장된다. 일부 실시예에서, ML 모델(114)은 플래시 저장소 또는 유사한 저장소에 저장된다. 다른 실시예에서, ML 모델(114)은 전기적으로 소거 가능한 프로그램 가능 판독 전용 메모리(EEPROM)에 저장될 수 있다. 저장소가 모델들을 지속적으로 저장하는 한 특정 저장소 유형은 제한되지 않는다. 장기 저장소(116)는 유사하게 전력이 제거된 후에도 데이터를 유지하는 영구 저장 매체를 포함한다. 일부 실시예에서, LTS(116)는 변조 방지(tamper-proof)된 보안 메모리 디바이스를 포함한다. 일부 실시예에서, LTS(116)는 심각한 데이터 손실(예를 들어, 충돌로 인한)로부터 복구하기 위한 상당한 오류 정정 능력을 포함한다.
예시된 실시예에서, 제어기(112)는 버스(118)로부터 이벤트를 수신한다. 따라서, 예시된 실시예에서, 제어기(112)는 블랙 박스(104)에 의해 처리된 동일한 이벤트들을 처리한다. 예시된 실시예에서, 제어기(112)는 인터페이스를 통해 이벤트들을 수신하고 이벤트들을 ML 모델(114)에 입력한다. 일부 실시예에서, 제어기(112)는 이벤트들을 윈도우화하고 ML 모델(114)에 대한 입력으로서 다수의 이벤트들을 제공할 수 있다. 일부 실시예에서, 제어기(112)는 ML 모델을 실행하고 ML 모델(114)로부터 모델을 정의하는 파라미터를 검색한다.
다른 실시예에서, ML 모델(114)은 텐서 처리 유닛(TPU) 또는 다른 AI 가속기와 같은 전용 인공 지능(AI) 프로세서를 포함할 수 있다. 이 실시예에서, 제어기(112)는 분류 동작을 수행하는 AI 가속기에 입력 데이터(차량 이벤트)를 송신한다.
어느 시나리오에서나, 제어기(112)는 잠재적인 사고 또는 충돌 또는 사고나 충돌 없음을 나타내는지 여부에 따른 이벤트 데이터의 분류를 수신한다. 본 명세서서 사용된 "사고"는 차량 충돌, 시스템 오류 또는 기타 조건과 같이 이벤트 데이터에 대한 액세스가 유용할 수 있는 모든 이벤트를 나타낸. 일부 실시예에서, 이 분류는 이진방식이다. 다른 실시예에서, 이는 기본 데이터(underlying data)에 기초하여 사고가 발생할 가능성을 나타내는 연속 값일 수 있다. 설명되는 바와 같이, ML 모델은 사고 전에 발생하는 이벤트 데이터를 사용하여 훈련되는 신경망 또는 유사한 유형의 머신 러닝 모델을 포함할 수 있다. 또한 사고 이전에는 발생하지 않은 이벤트 데이터를 사용하여 ML 모델이 훈련될 수 있다. 따라서 가속 및 제동 패턴, ECU 경고 및 기타 데이터와 같은 이벤트 데이터는 훈련 데이터로 전체적으로 처리되고 모든 이벤트 데이터를 분류하기 위한 일반 모델을 생성하는 데 사용할 수 있다.
제어기(112)가 사고 가능성이 있다는 표시를 수신하면, 제어기(112)는 이벤트 데이터를 LTS(116)에 기록하기 시작한다. 일 실시예에서, 제어기(112)는 버스(118)로부터 LTS(116)로 직접 이벤트 데이터를 복사한다.
다른 실시예에서, 제어기(112)는 제어기(106)를 통해 순환 버퍼(108)에 저장된 데이터에 액세스할 수 있다. 이 실시예에서, PBB(110)는 이벤트 데이터를 필터링하는데 복잡성을 추가하는 것을 피하고 대신 제어기(106)의 기능을 활용하려고 시도한다. 즉, 블랙 박스(104)는 관련 데이터만을 순환 버퍼(108)로 처리하도록 미리 구성될 수 있다. 따라서, 제어기(112)는 이 데이터를 "스니핑(sniffing)"하고 데이터를 LTS(116)에 저장하여, 제어기(112) 및 PBB(110)의 작업량을 줄일 수 있다. 다른 실시예에서, 제어기(106)는 버퍼(108)에 데이터를 덮어쓰기하려고 하는 것을 검출할 때 제어기(112)(그리고 궁극적으로 LTS(116))에 순환 버퍼(108)를 "플러시(flush)"하도록 구성된다.
임의의 시나리오에서, LTS(116)의 결과 데이터는 예측된 사고 이전에 발생하는 이벤트 데이터를 포함한다. 전술한 동작들 및 기타 동작들은 도 2 내지 도 4의 설명에서 보다 충분히 설명된다.
도 2는 본 개시내용의 일부 실시예에 따른 예측된 충돌에 기초하여 차량 이벤트 데이터를 유지하기 위한 방법을 예시하는 흐름도이다. 예시된 실시예에서, 방법은 (도 1에 기술된 바와 같이) 영구 블랙 박스 디바이스의 제어기에 의해 전적으로 수행될 수 있다. 다른 실시예에서, 특정 블록들은 다음 설명에서 지시되는 바와 같이 중앙 서버에 의해 수행될 수 있다.
블록(202)에서, 방법은 차량 데이터를 수신한다.
예시된 실시예에서, 차량 데이터는 하나 이상의 차량 컴퓨팅 시스템(예를 들어, ECU 디바이스)에 의해 버스를 통해 송신된 데이터그램(datagram)을 포함한다. 일부 실시예에서, 신호는 버스를 통해 브로드캐스팅 또는 멀티캐스팅될 수 있다. 일부 실시예에서, 버스는 차량 내의 컴퓨팅 시스템의 컴포넌트들 사이에서 데이터 신호 또는 제어 신호, 또는 둘 모두를 통신하도록 구성된다. 일부 실시예에서 버스는 차량 버스를 포함하지만 다른 버스가 사용될 수 있다. 예에는 가속/제동 데이터, ABS 시스템 이벤트, 충돌 센서 신호, 안정성 제어 시스템 메시지 등이 포함되지만 이에 제한되지는 않는다. 예시된 실시예에서, 이벤트 데이터는 차량 버스로부터의 원시 이벤트 데이터를 포함한다. 이 원시 데이터는 기존 블랙 박스 시스템에서 캡처한 것보다 더 많은 데이터를 포함한다. 일례로, 방법은 엔터테인먼트 시스템(entertainment system)에 의해 생성된 데이터와 같이 블랙 박스 시스템에 의해 정상적으로 처리되지 않는 데이터를 수집할 수 있다. 이 예에서, 사용자가 대시보드 내 엔터테인먼트 디바이스 또는 다른 중앙 콘솔(center console) 디바이스를 조작하고 있음을 나타내는 데이터는 사고 가능성을 예측하는 데 사용될 수 있다. 유사하게, 중앙 콘솔에 의한 방향의 빈번한 재계산 또는 지도 이미지 요청은 사용자가 도로가 아닌 차량의 화면에 집중하고 있음을 나타낼 수 있다. 일반적으로 이러한 종류의 데이터는 버퍼의 제한된 용량을 감안할 때 블랙 박스 레코더에 의해 기록되지 않는다. 또한, 버퍼의 크기에 따라, 이 데이터 예는 충돌 전에 발생할 수 있으므로 기록되지 않을 수 있다. 일부 실시예에서, 이러한 유형의 데이터는 사고 전에 상당히 발생할 수 있고 일반적으로 초기에 검출된 이벤트 후(예를 들어, 30분)에 충돌이 발생할 수 있지만 일반적으로 운전자가 위험한 방식으로 차량을 운전하고 있음을 나타낼 수 있다. 따라서 원시 이벤트를 사용하면 사용자 행동을 보다 총체적으로 모델링할 수 있다.
블록(204)에서, 방법은 ML 모델을 사용하여 차량 데이터를 분류한다.
예시된 실시예에서, ML 모델은 분류된 데이터를 사용하여 훈련된 예측 모델을 포함한다. 일 실시예에서, ML 모델은 인공 신경망(ANN), 컨볼루션 신경망(CNN), 순환 신경망(RNN), 자동 인코더 등과 같은 신경망을 포함한다. 도시된 실시예에서, 모델의 계층들의 수는 실험 및 훈련을 기초로 구성될 수 있다. 대안적으로, 예측 모델은 지원 벡터 머신(SVM), 결정 트리(decision tree) 또는 나이브 베이즈 분류기(na
Figure pct00001
ve Bayes classifier)와 같은 비신경망 네트워크를 포함할 수 있다.
예시된 실시예에서, ML 모델은 분류된 이벤트 데이터를 사용하여 훈련된다. 구체적으로, 차량에서 생성된 이벤트 데이터는 알려진 사고(또는 사고 없음)를 기반으로 기록 및 라벨링된다. 그런 다음 이 라벨링된 이벤트 데이터는 궁극적으로 가중치들의 세트(예를 들어, 신경망의 경우) 및 기타 모델 파라미터를 생성하는 ML 모델을 훈련하는 데 사용된다. 그런 다음 이러한 파라미터는 차량에 의해 저장되고 현재 이벤트 데이터가 사고를 나타내는지 여부를 예측하는 데 사용된다. 일부 실시예에서, 차량은 캡처된 이벤트 데이터 및 확인된 사고에 기초하여 네트워크를 재훈련하도록 구성될 수 있다. 예를 들어 ML 모델이 사고가 발생할 수 있다고 예측했지만 나중에 예측이 위양성(false positive)으로 식별되면 예측과 관련된 이벤트 데이터가 적절하게 분류되어 ML 모델을 재훈련하는 데 사용될 수 있다.
대안적으로, 또는 전술한 것과 함께, 위에서 설명된 ML 모델은 원격으로 저장될 수 있다. 이 실시예에서, 중앙 서버는 모든 ML 모델들을 관리한다. 따라서, 블록(202)에서 이벤트들이 캡처될 때, 이러한 이벤트들은 분류를 위해 중앙 서버로 송신된다. 그러면 중앙 서버는 분류 결과를 차량에 반환한다. 이러한 방식으로, 시스템은 ML 모델들의 총 수를 최소화하고 모델 훈련과 재훈련을 중앙 집중화하여, 모델의 예측 정확도를 빠르게 향상시킬 수 있다.
대안으로 또는 전술한 것과 함께, 중앙 서버에 의해 생성된 모델은 관련 차량에 배포될 수 있다. 이 실시예에서, 서버는 모델이 개선됨에 따라 차량 내 ML 모델을 주기적으로 업데이트할 수 있다. 이러한 방식으로, 중앙 서버는 수집된 광범위한 데이터를 활용하는 동시에 개별 차량 내 모델들이 빠른 예측(셀룰러, 네트워크 등 넓은 영역에 대한 액세스가 없는 영역에서의 예측 포함)을 위해 사용될 수 있다.
예시된 실시예에서, ML 모델의 출력은 위험 레벨(risk level)이다. 이 실시예에서, 위험 레벨은 이진 값(예를 들어, 하이 또는 로우)을 포함할 수 있거나 연속 값(예를 들어, 1과 0 사이)을 포함할 수 있다.
블록(206)에서, 방법은 ML 모델의 출력이 사고 발생 위험이 낮거나 높음을 나타내는지 여부를 결정한다. 일부 실시예에서, 분류하는 단계는 신호에 의해 추출된 것이 신뢰도(confidence)의 임계 레벨 내에서 발생할 가능성이 있는지 여부를 분류하는 단계를 포함한다. 일부 실시예에서, 신뢰도의 임계 레벨은 ML 모델에 의해 출력된다.
위에서 설명된 바와 같이, 일부 실시예에서, ML의 출력은 이진방식 따라서 방법은 2개의 라벨들 중 어느 것이 이벤트 데이터에 적용되었는지 여부를 결정한다.
다른 실시예에서, ML 모델의 출력은 연속 값을 포함한다. 이 시나리오에서, 방법은 블록(208)에서의 추가 처리가 수행되어야 하는지 여부를 결정하기 위해 임계치와 값을 비교할 수 있다. 예를 들어, 임계치는 0.5(50%)일 수 있다. 따라서, 방법은 ML 모델의 출력이 0.5 이상인 경우에만 블록(208)을 수행할 것이다.
다른 실시예에서, ML 모델의 출력은 라벨(예를 들어, 하이 또는 로우) 및 라벨과 연관된 신뢰도 레벨을 포함할 수 있다. 이 실시예에서, 방법은 라벨이 높은 사고 가능성을 나타내고 신뢰도가 설정된 임계치(예를 들어, 50%)를 초과하는 경우에만 블록(208)을 실행할 수 있다.
다른 실시예에서, ML 모델의 출력은 위험 가능성(이산적 또는 연속적)을 포함할 수 있고 또한 사고가 발생할 수 있을 때까지의 시간을 포함할 수 있다. 일부 실시예에서, 이 시간은 LTS 디바이스의 기록 속성(아래에서 설명됨)을 구성하는 데 사용될 수 있다.
블록(208)에서, 방법은 차량 데이터를 장기 저장소에 저장한다.
일 실시예에서, 방법은 버스 상에서 전송된 모든 차량 데이터를 특정 지속시간(후술됨) 동안 장기 저장 디바이스에 저장한다. 다른 실시예에서, 방법은 식별된 서브시스템에 기초하여 모든 데이터의 서브세트만을 저장할 수 있다. 예를 들어, 이 방법은 사고 예측과 관련이 없는 일부 서브시스템을 무시할 수 있다. 다른 실시예에서, 방법은 이미 처리되어 전통적인 블랙 박스의 순환 버퍼에 저장된 데이터만을 장기 저장 데이터로 저장한다. 도시된 실시예에서, 방법은 장기 저장소의 크기에 의해 실질적으로 제한되지 않는다. 즉, 장기 저장소는 기존의 블랙 박스의 제한된 순환 버퍼에 비해 상대적으로 제한된 지속시간(예를 들어, 30분) 동안의 모든 데이터의 기록이 가능하도록 고용량 저장 디바이스를 포함할 수 있다.
일 실시예에서, ML 모델은 또한 TTA(time-to-accident) 값을 예측한다. 이 TTA 값은 과거 사고 데이터로부터 학습될 수 있고 방법이 동작하는 기간을 구성하기 위해 방법에 의해 사용될 수 있다(블록(212)에 의해 게이팅됨).
도시된 바와 같이, 이 방법은 두 가지 조건들 중 하나가 발생할 때까지 차량 데이터를 장기 저장 디바이스에 계속 저장한다.
블록(210)에서, 방법은 제1 조건이 발생하는지 여부를 결정한다. 예시된 실시예에서, 제1 조건은 차량이 사고(예를 들어, 충돌)에 연루되었는지 여부를 결정하는 것을 포함한다. 일 실시예에서, 방법 구현 블록(210)은 들어오는(incoming) 이벤트 데이터를 모니터링하고 데이터 중 임의의 것이 사고를 나타내는지 여부를 결정할 수 있다. 예를 들어, 이 방법은 차량의 충돌 센서로부터의 데이터가 송신된 데이터인지 여부를 결정할 수 있다. 대안적으로, 또는 전술한 것과 함께, 방법은 임의의 이벤트 데이터가 에어백이 작동되었음을 나타내는지 여부를 결정할 수 있다.
블록(214)에서, 방법이 사고가 발생했다고 결정하면, 방법은 사고 후처리 동작을 수행한다. 예시된 실시예에서, 이러한 동작은 차량 및 일부 시나리오에서 시스템의 구성에 따라 달라질 수 있다. 일 실시예에서, 방법은 기록 보존(archiving)을 위해 중앙 서버에 장기 저장소의 전체 콘텐츠를 자동으로 업로드하려고 시도할 수 있다. 이 동작은 PBB에 전용 셀룰러(cellular) 또는 위성 트랜시버(satellite transceiver)와 및 배터리가 장착되어 있어야 함을 요구한다. 이 하드웨어는 차량의 통신 인터페이스가 작동하지 않는 경우 PBB가 데이터를 업로드할 수 있도록 한다. 대안적으로 또는 전술한 것과 함께, 후처리 동작은 변조를 방지하기 위해 LTS를 강화하는 것(hardening)을 포함할 수 있다. 예를 들어, 골든(golden) 암호화 키를 사용하여 사고가 발생한 후 LTS를 암호화할 수 있다. 일부 실시예에서, LTS는 항상 암호화될 수 있다. 대안적으로, 또는 전술한 것과 관련하여, 후처리 동작은 모든 가능한 데이터가 기록되었음을 보장하기 위해 순환 버퍼의 콘텐츠를 LTS로 비우는 것을 포함할 수 있다.
블록(216)에서, 방법은 LTS의 이벤트 데이터를 사용하여 ML 모델을 업데이트한다.
예시된 실시예에서, 사고가 검출되었기 때문에, 방법은 LTS의 데이터를 고위험으로 라벨링된 훈련 데이터로 사용할 수 있다. 일부 실시예에서, 이벤트 데이터는 이벤트들의 세트를 포함한다. 그런 다음 각 이벤트는 고위험으로 라벨링되고 결과의 2-요소 튜플(tuple)(이벤트, 고위험)은 훈련 데이터로 사용된다. 일부 실시예에서, 방법은 ML 모델이 사고가 발생할 때까지 얼마나 걸릴지 예측할 수 있게 하기 위해 튜플(이벤트, TTA, 고위험)에 TTA 값을 더 추가할 수 있다. TTA를 계산하기 위해, 방법은 이벤트 데이터의 기존 타임스탬프를 사용할 수 있다. 이 타임스탬프는 버스를 통해 송신된 데이터에 포함될 수 있거나 블록(202)에서 차량 데이터를 수신할 때 방법에 의해 추가될 수 있다. 그런 다음 이 방법은 사고 이벤트(예를 들어, 충돌 센서 값)와 이벤트 타임스탬프 사이의 마이크로초 수를 계산하여 예를 들어 이벤트와 사고 사이의 마이크로초 수를 생성한다.
블록(212)에서, 방법은 아직 사고가 발생하지 않았다고 결정할 때 사고의 위험이 남아 있는지를 결정한다.
일부 실시예에서, 블록(212)은 미리 설정된 타이머를 카운트다운하는 것을 포함할 수 있다. 예를 들어, 방법은 사고가 발생하지 않는 1시간 동안 블록(208)을 실행할 수 있다. 대안적으로, 일부 실시예에서, 방법은 LTS에 저장 용량이 있는 동안 블록(208)을 실행할 수 있다. 이 실시예에서, 블록(212)에서의 결정은 잠재적인 사고의 위험이 아니라 저장 용량이 남아 있는지 여부에 기초한다.
다른 실시예에서, 방법은 블록(208)에서 데이터를 저장하는 기간을 동적으로 평가한다. 제1 실시예에서, 방법은 ML 모델로부터 추정된 TTA를 수신한다. 그 다음, 방법은 블록(212)에서 사용되는 타이머를 설정하기 위해 이 시간을 사용할 수 있다. 따라서, 모델이 20분 내에 사고를 예측한다면, 방법은 적어도 20분 동안 블록(208)을 실행할 것이다. 유사하게, TTA가 반환되지 않는 일부 실시예에서, 방법은 블록(208)에서 데이터를 얼마나 오래 저장할 것인지 여부를 결정하기 위한 메트릭으로서 사고의 가능성 또는 신뢰도 레벨을 사용할 수 있다. 즉, 가능성이 없는 사고에 대해 이 방법은 제한된 시간 동안만 블록(208)에서 데이터를 기록할 수 있다. 대조적으로, 사고 가능성이 높은 경우, 이 방법은 블록(208)에서 더 오랜 시간 동안 데이터를 기록할 수 있다.
궁극적으로, 블록(212)에서, 방법은 크래시(crash)가 발생하지 않았으며 데이터가 더 이상 LTS에 기록되어서는 안 된다고 결정하는데, 이는 위험이 지나갔거나 저장 용량이 남아 있지 않기 때문이다. 어느 경우든, 방법은 블록(218)으로 진행한다.
블록(218)에서, 방법은 차량 데이터의 장기 저장소를 불활성화한다. 이 단계에서, 방법은 LTS에 액세스하는 모든 루틴을 비활성화하고 모든 향후 데이터 기록을 일시적으로 중지한다(즉, 블록(206)에서 조건이 충족될 때까지).
블록(220)에서, 방법은 네거티브(negative) 데이터 샘플로 ML 모델을 업데이트한다. 예시된 실시예에서, 블록(220)에서 수행되는 절차는 블록(216)에서 수행되는 절차와 유사하고 이전에 제공된 특정 세부사항은 여기서 반복되지 않는다. 특히, 블록(220)에서의 주요 차이점은 임의의 이벤트에 할당된 라벨이 사고 가능성이 낮거나 없음으로 설정된다는 것이다. 또한, TTA 값(구현된 경우)은 사고가 발생하지 않았기 때문에 0 또는 널(null)로 설정된다. 예시된 실시예에서, 네거티브 데이터 샘플의 사용은 모델의 정확도를 증가시킨다. 이것은 블록(216)의 포지티브(positive) 데이터 샘플과 결합할 때 특히 그러하다.
블록(222)에서, 방법은 장기 저장소를 정리한다(cleaning). 일부 실시예에서, 이 블록은 선택적이다. 구현되는 경우, 방법은 데이터의 모든 위치에 0 또는 1을 기록하여, 기록된 모든 데이터를 효과적으로 삭제함으로써 LTS를 정리할 수 있다. 일부 실시예에서, 방법은 또한 LTS가 이 단계에서 적절하게 기능하는지 여부를 결정하기 위해 자체 테스트를 실행할 수 있다. 정리는 데이터 무결성(integrity)이 나머지 데이터에 의해 부정적인 영향을 받지 않도록 한다.
예시된 실시예에서, 블록들(216, 220)은 이전에 설명된 바와 같이 차량에 의해 또는 중앙 위치에서 수행될 수 있다. ML 모델의 재훈련에 대한 자세한 내용은 다음 도 3 및 4에서 제공된다.
도 3은 본 개시내용의 일부 실시예에 따른 사고 데이터에 기초하여 머신 러닝 모델을 재훈련하기 위한 방법을 예시하는 흐름도이다.
블록(302)에서, 방법은 분류된 데이터를 사용하여 사고 모델을 훈련시킨다.
일 실시예에서, 도 3에 도시된 방법은 중앙 서버 또는 다른 원격 데이터 시스템에 의해 구현될 수 있다. 예시된 실시예에서, 분류된 데이터는 차량에 의해 기록되고 알려진 사고 또는 알려진 비사고 이벤트와 관련된 데이터 포인트를 포함할 수 있다. 일부 실시예에서, 데이터는 사고 후에 분석되는 전통적인 블랙 박스로부터 생성될 수 있다. 따라서, 블랙 박스 버퍼의 데이터는 사고와 관련된 것으로 라벨링될 수 있다. 예시된 실시예에서, 방법은 분류된 데이터를 사용하여 신경망과 같은 ML 모델을 훈련시킨다.
블록(304)에서, 방법은 사고 모델을 하나 이상의 차량들에 송신한다.
일 실시예에서, 중앙 서버는 ML 모델의 생성을 관리하고 이러한 ML 모델 데이터를 수신하도록 구성된 임의의 차량에 ML 모델(예를 들어, 모델 파라미터)을 배포할 수 있다. 일부 실시예에서, 차량은 ML 모델을 주기적으로 리프레시(refresh)하도록 구성될 수 있다. 다른 실시예에서, 중앙 서버는 훈련 후에 ML 모델을 차량에 푸시하도록 구성될 수 있다.
블록(306)에서, 방법은 이벤트 데이터 및 사고 라벨링을 수신한다.
도시된 실시예에서, 이벤트 데이터는 차량의 장기 저장 디바이스에 저장된 데이터를 포함한다. 설명된 바와 같이, 차량은 블록(304)에서 송신된 ML 모델을 사용하고 사고를 예측한 후에 이 데이터를 저장할 수 있다. 일부 실시예에서, 방법은 충돌 또는 사고가 실제로 발생했는지 여부를 나타내는 플래그 및 이벤트들의 세트를 수신한다. 방법은 이 플래그를 사용하여 그에 따라 모든 데이터를 라벨링할 수 있다. 따라서, 블록(306)에서, 방법은 새로운, 라벨링된 훈련 데이터세트를 획득한다.
일부 실시예에서, 방법은 원시 이벤트 데이터에 대해 동작할 수 있다. 그러나, 다른 실시예에서, 방법은 데이터를 표준 형태로 정규화할 수 있다. 이를 위해 XSLT(extensible stylesheet language transformation) 또는 이와 유사한 메커니즘(예를 들어, 파서(parser))을 사용하여 다양한 형식의 이벤트 데이터를 표준 형식으로 변환할 수 있다. 따라서, 일부 실시예에서, 방법은 모든 차량들에 대한 단일 모델을 훈련하기 위해 다수의 차량들 및 장비의 다수의 제조사들/모델로부터의 데이터를 사용할 수 있다.
다른 실시예에서, 방법은 각 제조사에 대해, 그리고 다른 실시예에서, 각 제조사의 각 모델에 대해 별도의 모델들을 생성할 수 있다. 일부 실시예에서, 방법은 글로벌 모델(global model)을 생성하고 이 글로벌 모델을 사용하여 각 제조사 및/또는 모델에 대한 서브 모델들을 생성할 수 있다. 이렇게 하면 작은 체적의 제조업체/모델이 여전히 강력한 글로벌 모델을 활용할 수 있다.
블록(308)에서, 방법은 새로 수신된 데이터를 사용하여 모델을 재훈련한다. 이 프로세스는 블록(302)에서 수행되는 것과 동일한 방식으로 수행될 수 있지만, 새로운 데이터로 수행될 수 있다.
블록(310)에서, 방법은 훈련된 사고 모델을 차량에 재송신한다. 블록(308)에서와 같이, 이 블록은 블록(304)에서 수행된 것과 유사한 방식으로 수행될 수 있다.
예시된 실시예에서 지시된 바와 같이, 블록들(306 내지 310)은 중앙 서버의 수명 동안 연속적으로 수행될 수 있다. 즉, 중앙 서버는 새로운 데이터가 수신되면 모델을 지속적으로 재훈련할 수 있다. 일부 실시예에서, 이것은 주문형(on-demand) 프로세스일 수 있다. 다른 실시예에서, 이 방법은 차량들로부터 라벨링된 이벤트 데이터를 구축할 수 있고 충분한 데이터가 집계되었을 때 규칙적인 간격으로 모델만을 재훈련할 수 있다. 이러한 방식으로, 방법은 실제 데이터와 신뢰할 수 있는 라벨링 기술을 기반으로 차량에 지속적으로 개선된 모델을 제공할 수 있다.
도 4는 본 개시의 일부 실시예에 따른 위양성 및 네거티브 이벤트에 기초하여 머신 러닝 모델을 최적화하기 위한 방법을 예시하는 흐름도이다.
블록(402)에서, 방법은 차량으로부터 또는 일부 실시예에서 도 3에 설명된 바와 같이 중앙 서버에 저장된 데이터로부터 이벤트 데이터 및 사고 라벨링을 수신한다. 이벤트 데이터 및 사고 라벨링의 세부 사항은 이전 도면들에 제공되며 여기서 반복되지 않는다.
블록(404)에서, 방법은 위양성 비율(rate)을 계산한다. 예시된 실시예에서, 위양성 비율은 사고와 관련되지 않은 것으로 라벨링된 이벤트들의 수를 비교함으로써 계산될 수 있다.
구체적으로, 블록(402)에서 수신된 데이터는 PBB 디바이스의 LTS에 저장된 데이터를 포함한다. 이 데이터는 ML 모델이 사고가 발생할 것으로 예측한 경우에만 기록된다. 도 2에서 설명된 바와 같이, 이 데이터는 모델을 재훈련하는 데 사용되며 사고 또는 충돌이 실제로 검출되었는지 여부에 따라 라벨링이 생성된다. 도 3에 설명된 바와 같이, 이 이벤트 및 라벨 데이터는 일부 실시예에서 모델 재훈련을 위해 중앙 서버로 송신된다. 따라서, 도 4의 방법은 사고 이전에 발생했거나 사고 이전에 발생하지 않은 것으로 라벨링된 이벤트들의 세트에 액세스할 수 있다. 데이터는 사고가 예측될 때만 기록되기 때문에 사고 이전에 발생하지 않은 것으로 라벨링된 이벤트는 위양성으로 간주될 수 있다.
예시된 실시예에서, 방법은 한 번에 이벤트들의 집단(batch)에 대해 동작할 수 있다. 일부 실시예에서, 이 집단은 시스템의 성능 특성을 분석하도록 구성될 수 있다. 예를 들어, 이 방법은 1년치 데이터에 대해 실행하거나 ML 모델의 성능을 정량화하기 위해 마지막으로 방법을 실행한 이후의 데이터의 세트에 대해 실행할 수 있다.
블록(406)에서, 방법은 위양성 비율이 미리 설정된 임계치를 초과하는지 여부를 결정한다. 일부 실시예에서, 이 임계치는 LTS에 데이터를 저장하기 위한 비용 인자(cost factor)에 기초하여 조정될 수 있다. 즉, 이벤트 데이터를 저장하는 비용(금전적 및 대역폭) 대 모델의 정확도의 밸런싱을 위해 임계치가 설정될 수 있다. 예시된 실시예에서, 위양성 비율은 라벨링된 이벤트들의 전체 수에 대한 위양성 수를 계산함으로써 계산될 수 있다. 위양성 비율이 임계치보다 작으면 방법이 종료된다.
블록(408)에서, 방법은 위양성 임계치가 임계치를 초과하는 경우 위양성을 줄이기 위해 ML 모델을 조정한다.
ML 모델을 조정하기 위해 다양한 기술이 사용될 수 있다. 일례로, 위양성 데이터세트는 데이터의 임의의 경향을 결정하기 위해 분석될 수 있다. 이 예에서, 클러스터링 알고리즘(clustering algorithm)을 사용하여 데이터를 클러스터링할 수 있다. 그런 다음 클러스터링 결과를 사용하여 위양성과 관련된 현저한(prominent) 피쳐를 식별할 수 있다. 예를 들어, 앞유리 와이퍼의 동작이 사고와 잘못 연관될 수 있다. 이 경우 방법은 이 피쳐에 대한 가중치를 줄일 수 있다. 대안적으로, 방법은 전체 피쳐들이 무시되어야 한다고 지정할 수 있다.
대안적으로, 또는 전술한 것과 함께, 위양성 데이터를 기반으로 신경망의 다양한 가중치 및 기능이 조정될 수 있다. 예를 들어, 위양성 비율을 기반으로 방법은 그에 따라 신경망의 활성화 함수(activation function) 또는 손실 함수(loss function)를 조정할 수 있다. 일부 실시예에서, 이것은 활성화/손실 함수들의 파라미터를 조정하고 위양성 데이터에 대한 ML 모델을 테스트하는 것을 포함할 수 있다. 그런 다음 업데이트된 ML 모델로 적절하게 분류된 데이터 포인트들의 세트를 테스트하여 ML 모델의 개선을 확인할 수 있다.
또 다른 실시예에서, 방법은 변화하는 ML 모델 기술을 지원하기 위한 증거(evidence)를 제공할 수 있다. 예를 들어 RNN 대신 CNN가 테스트되고 두 모델들의 성능이 비교될 수 있다.
모델을 조정하고 성능 향상을 확인한 후, 방법이 종료되고 업데이트된 모델이 도 3에 설명된 대로 사용된다.
도 5는 본 개시내용의 일부 실시예에 따른 차량용 컴퓨팅 시스템을 예시하는 블록도이다.
도 5에 도시된 시스템은 차량 내에 전체적으로 설치될 수 있다. 일부 실시예에서, 일부 컴포넌트들(예를 들어, 서브시스템(100) 이외의 컴포넌트 및 서브시스템)는 기존의 자율 및 비자율 차량 서브시스템을 포함할 수 있다.
시스템은 선택적으로 선택적인 자율 차량 서브시스템(502)을 포함한다. 도시된 실시예에서, 자율 차량 서브시스템(502)은 지도 데이터베이스(502a), 레이더 디바이스(502b), 라이다 디바이스(502c), 디지털 카메라(502d), 소나 디바이스(502e), GPS 수신기(502f) 및 관성 측정 유닛(502g)을 포함한다. 자율 차량 서브시스템(502)의 컴포넌트들의 각각은 대부분의 현재 자율주행 차량에 제공되는 표준 컴포넌트들을 포함한다. 일 실시예에서, 지도 데이터베이스(502a)는 라우팅 및 네비게이션에 사용되는 복수의 고화질 3차원 지도를 저장한다. 레이더 디바이스(502b), 라이더 디바이스(502c), 디지털 카메라(502d), 소나 디바이스(502e), GPS 수신기(502f) 및 관성 측정 유닛(502g)은 당업계에 공지된 바와 같이 자율 차량 전체의 다양한 위치에 설치된 다양한 개별 디바이스들을 포함할 수 있다. 예를 들어, 이러한 디바이스들은 위치 인식, 충돌 회피 및 기타 표준 자율 차량 기능을 제공하기 위해 자율 차량의 주변을 따라 설치될 수 있다. 일부 실시예에서 자율 서브시스템(502)은 차량에 내장되는 반면, 다른 실시예에서 자율 서브시스템(502)은 애프터마켓(aftermarket) 시스템을 포함한다.
차량 서브시스템(506)은 시스템 내에 추가로 포함된다. 차량 서브시스템(506)은 다양한 잠금 방지 제동 시스템(506a), 엔진 제어 유닛(502b), 및 변속기 제어 유닛(502c)을 포함한다. 이러한 컴포넌트들은 자율 차량 서브시스템(502) 및/또는 블랙 박스 시스템(504)에 의해 생성된 데이터에 응답하여 차량의 동작을 제어하는 데 사용될 수 있다. 자율 차량 서브시스템(502)과 차량 서브시스템(506) 사이의 표준 자율 차량 상호작용은 일반적으로 당업계에 공지되어 있으며 본명세서에서 상세하게 설명되지 않는다.
시스템의 처리 측은 하나 이상의 프로세서(510), 단기 메모리(512), RF 시스템(518), 그래픽 처리 장치(GPU)(516), 장기 저장소(518) 및 하나 이상의 인터페이스(520)를 포함한다.
하나 이상의 프로세서(510)는 중앙 처리 장치, FPGA, 또는 자율 차량의 동작을 지원하는 데 필요한 임의의 범위의 처리 디바이스를 포함할 수 있다. 메모리(512)는 프로세서(510)에 의해 요구되는 데이터의 임시 저장을 위한 DRAM 또는 다른 적절한 휘발성 RAM을 포함한다. RF 시스템(518)은 셀룰러 트랜시버 및/또는 위성 트랜시버를 포함할 수 있다. 장기 저장소(514)는 하나 이상의 고용량 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다. 일반적으로, 장기 저장소(514)는 예를 들어 고화질 지도, 라우팅 데이터, 및 영구적 또는 반영구적 저장을 필요로 하는 임의의 다른 데이터를 저장하는 데 사용될 수 있다. GPU(516)는 자율 차량 서브시스템(502a)으로부터 수신된 데이터를 처리하기 위한 하나 이상의 고처리량 GPU 디바이스를 포함할 수 있다. 마지막으로, 인터페이스(520)는 자율 차량(예를 들어, 인-대시 스크린) 내에 위치된 다양한 디스플레이 유닛을 포함할 수 있다.
시스템은 앞의 도면들에 예시된 방법들에 의해 요구되는 동작들을 수행하는 블랙 박스 시스템(100)을 추가로 포함한다. 블랙 박스 시스템(100)의 세부사항은 도 1에서 더 완전하게 설명되고 도 1의 첨부된 설명은 여기서 반복되지 않는다.
일부 실시예에서, 입력 데이터를 모니터링하고 동작을 수행하고 데이터를 다음 단계로 출력함으로써 위에 설명된 방법의 단계들은 각 단계가 독립적으로 실행될 수 있는 것과 같은 연속 프로세스로 구현될 수 있음을 이해해야 한다. 또한 각 방법에 대한 이러한 단계들은 각 단계가 트리거링되고 특정 출력을 생성해야 하는 이벤트에서 트리거링될 수 있는 개별 이벤트 프로세스들로 구현될 수 있다. 또한 각 도면은 설명에 제시된 것보다 더 복잡한 컴퓨터 시스템의 가능한 더 큰 방법 내에서 최소 방법을 나타내는 것으로 이해되어야 한다. 따라서, 각 도면에 예시된 단계는 더 복잡한 시스템의 더 큰 방법과 관련된 다른 단계로 들어오고 나가는 다른 단계와 결합될 수 있다.
본 명세서에 설명된 차량은 차량이 달리 지정되지 않는 한 모든 유형의 차량일 수 있음을 이해해야 한다. 차량은 자동차, 트럭, 보트 및 비행기뿐만 아니라 군사, 건설, 농업 또는 레크리에이션 용도의 차량 또는 차량 장비를 포함할 수 있다. 차량, 차량 부품 또는 차량의 운전자나 승객이 사용하는 전자 디바이스는 차량 전자 디바이스로 간주될 수 있다. 차량 전자 디바이스는 엔진 관리, 점화, 라디오, 카푸터, 텔레매틱스, 차량 내 엔터테인먼트 시스템 및 기타 차량 부품용 전자 디바이스를 포함할 수 있다. 차량 전자 디바이스는 점화 및 엔진 및 변속기 제어와 함께 또는 그에 의해 사용될 수 있고, 이는 가스 동력 자동차, 트럭, 오토바이, 보트, 비행기, 군용 차량, 지게차, 트랙터 및 굴착기와 같은 내연 동력 기계가 장착된 차량에서 찾을 수 있다. 또한, 차량 전자 디바이스는 하이브리드 또는 전기 자동차와 같은 하이브리드 및 전기 자동차에서 발견되는 전기 시스템의 제어를 위해 관련 요소에 의해 또는 관련 요소와 함께 사용될 수 있다. 예를 들어, 전기 자동차는 배터리 시스템 관리뿐만 아니라 주 추진 모터 제어를 위해 전력 전자 디바이스를 사용할 수 있다. 그리고 자율주행 차량은 거의 전적으로 차량 전자 디바이스에 의존한다.
이전의 상세한 설명의 일부는 컴퓨터 메모리 내의 데이터 비트에 대한 동작의 알고리즘 및 기호 표현의 관점에서 제시되었다. 이러한 알고리즘 설명 및 표현은 데이터 처리 기술 분야의 기술자가 자신의 작업 내용을 해당 기술 분야의 다른 사람에게 가장 효과적으로 전달하기 위해 사용하는 방법이다. 알고리즘은 여기서 일반적으로 원하는 결과로 이어지는 자체 일관된 동작들의 시퀀스로 간주된다. 동작들은 물리량의 물리적 조작이 필요한 동작들이다. 일반적으로 반드시 그런 것은 아니지만 이러한 양은 저장, 결합, 비교 및 조작할 수 있는 전기 또는 자기 신호의 형태를 취한다. 주로 일반적인 사용을 위해 이러한 신호를 비트, 값, 요소, 기호, 문자, 용어, 숫자 등으로 지칭하는 것이 때때로 편리한 것으로 입증되었다.
그러나 이러한 용어 및 유사한 용어는 적절한 물리량과 관련되어야 하며 이러한 양에 적용되는 편리한 라벨일 뿐이라는 점을 염두에 두어야 한다. 본 개시는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스를 참조할 수 있으며, 이는 컴퓨터 시스템의 레지스터와 메모리 내에서 물리적(전자적) 수량으로 표현된 데이터를 컴퓨터 시스템 메모리나 레지스터 또는 기타 정보 저장 시스템 내에서 물리적 수량으로 유사하게 표현된 다른 데이터로 조작하고 변환한다.
본 개시는 또한 본 명세서의 동작들을 수행하기 위한 디바이스에 관한 것이다. 이 디바이스는 의도된 목적을 위해 특별히 제작될 수 있고 또는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이와 같은 컴퓨터 프로그램은 컴퓨터 판독가능 저장 매체, 예를 들어, 플로피 디스크, 광 디스크, CD-ROM 및 광자기 디스크를 포함한 임의의 유형의 디스크, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광학 카드, 또는 전자 명령어를 저장하는 데 적합한 임의의 유형의 미디어에 저장될 수 있고, 이들 각각은 컴퓨터 시스템 버스에 연결된다.
본 명세서에 제시된 알고리즘과 디스플레이는 본질적으로 어떤 컴퓨터나 다른 디바이스와도 관련이 없다. 다양한 범용 시스템이 본 명세서의 교시에 따라 프로그램과 함께 사용될 수 있거나, 방법을 수행하기 위해 보다 전문화된 디바이스를 구성하는 것이 편리할 수 있다. 이러한 다양한 시스템의 구조는 아래 설명에 설명된 대로 나타난다. 또한, 본 개시는 임의의 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어가 본 명세서에 설명된 바와 같이 본 개시내용의 교시를 구현하기 위해 사용될 수 있다는 것이 이해될 것이다.
본 개시내용은 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있으며, 이는 본 개시에 따른 프로세스를 수행하기 위해 컴퓨터 시스템(또는 다른 전자 디바이스)을 프로그래밍하는 데 사용될 수 있는 명령어가 저장된 머신 판독 가능 매체를 포함할 수 있다. 머신 판독 가능 매체는 머신(예를 들어, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 일부 실시예에서, 머신 판독가능(예를 들어, 컴퓨터 판독가능) 매체는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 컴포넌트 등과 같은 머신(예를 들어, 컴퓨터) 판독가능 저장 매체를 포함한다.
전술한 명세서에서, 본 개시내용의 실시예는 그 특정 예시적인 실시예를 참조하여 설명되었다. 다음의 청구범위에 기재된 바와 같이 본 개시내용의 실시형태의 보다 넓은 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음이 명백할 것이다. 따라서, 본 명세서 및 도면은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다.

Claims (20)

  1. 방법에 있어서,
    차량과 관련된 이벤트(event)들을 나타내는 시그널링(signaling)을 수신하는 단계-여기서, 상기 시그널링은 상기 차량 내의 컴퓨팅 시스템(computing system)의 컴포넌트(component)들 사이에서 데이터 신호 또는 제어 신호, 또는 둘 모두를 통신하도록 구성된 버스(bus)를 통해 브로드캐스팅 또는 멀티캐스팅됨-;
    상기 수신된 시그널링에 적어도 부분적으로 기초하여 머신 러닝 모델(machine learning model)을 사용하여 상기 이벤트들을 분류하는 단계-여기서, 상기 분류하는 단계는 상기 차량과 다른 오브젝트(object) 사이의 충돌이 임박했음을 나타내는 단계를 포함함-; 및
    상기 분류하는 단계에 응답하여 상기 컴퓨팅 시스템 내의 제1 디바이스의 순환 버퍼(cyclic buffer)로부터 저장 디바이스로 데이터를 복사하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 이벤트들을 나타내는 상기 시그널링을 수신하는 단계는 상기 차량의 복수의 서브시스템들로부터 원시(raw) 이벤트 데이터를 수신하는 단계를 포함하는, 방법.
  3. 제1항에 있어서, 상기 충돌이 임박했음을 나타내는 단계는 신뢰도(confidence)의 임계 레벨 내에서 충돌이 발생할 가능성이 있음을 식별하는 단계를 포함하는, 방법.
  4. 제1항에 있어서, 상기 이벤트들을 분류하는 단계는 신경망(neural network)을 사용하여 상기 이벤트들을 분류하는 단계를 포함하는, 방법.
  5. 제4항에 있어서, 상기 저장 디바이스에 저장된 상기 데이터를 이용하여 상기 신경망을 재훈련하는 단계를 더 포함하는, 방법.
  6. 제5항에 있어서, 상기 재훈련하는 단계는 상기 분류하는 단계 후에 실제 충돌이 검출되었는지 여부에 기초하여 상기 장기 저장 디바이스에 저장된 상기 데이터를 라벨링하는 단계(labeling)를 더 포함하는, 방법.
  7. 제1항에 있어서, 위양성(false positive) 및 위음성(false negative) 이벤트들의 세트를 식별하는 단계 및 상기 위양성 및 위음성 이벤트들에 기초하여 상기 머신 러닝 모델의 파라미터를 조정하는 단계를 더 포함하는, 방법.
  8. 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 명령어를 유형적으로 저장하기 위한 비일시적 컴퓨터 판독 가능 저장 매체로, 상기 컴퓨터 프로그램 명령어는:
    차량과 관련된 이벤트들을 나타내는 시그널링을 수신하는 단계-여기서, 상기 시그널링은 상기 차량 내의 컴퓨팅 시스템의 컴포넌트들 사이에서 데이터 신호 또는 제어 신호, 또는 둘 모두를 통신하도록 구성된 버스를 통해 브로드캐스팅 또는 멀티캐스팅됨-;
    상기 수신된 시그널링에 적어도 부분적으로 기초하여 머신 러닝 모델을 사용하여 상기 이벤트들을 분류하는 단계-여기서, 상기 분류하는 단계는 상기 차량과 다른 오브젝트 사이의 충돌이 임박했음을 나타내는 단계를 포함함-; 및
    상기 분류하는 단계에 응답하여 상기 컴퓨팅 시스템 내의 제1 디바이스의 순환 버퍼로부터 저장 디바이스로 데이터를 복사하는 단계를 정의하는, 비일시적 컴퓨터 판독가능 저장 매체.
  9. 제8항에 있어서, 이벤트들을 나타내는 상기 시그널링을 수신하는 단계는 상기 차량의 복수의 서브시스템들로부터 원시 이벤트 데이터를 수신하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  10. 제8항에 있어서, 충돌이 임박했음을 나타내는 단계는 신뢰도의 임계 레벨 내에서 상기 충돌이 발생할 가능성이 있음을 식별하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  11. 제8항에 있어서, 상기 이벤트들을 분류하는 단계는 신경망을 사용하여 상기 이벤트들을 분류하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  12. 제11항에 있어서, 상기 명령어는 장기 저장 디바이스에 저장된 상기 데이터를 사용하여 상기 신경망을 재훈련하는 단계를 더 정의하는, 비일시적 컴퓨터 판독가능 저장 매체.
  13. 제12항에 있어서, 상기 재훈련하는 단계는 상기 분류하는 단계 후에 실제 충돌이 검출되었는지 여부에 기초하여 상기 장기 저장 디바이스에 저장된 상기 데이터를 라벨링하는 단계를 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  14. 제8항에 있어서, 상기 명령어는 위양성 및 위음성 이벤트들의 세트를 식별하는 단계 및 상기 위양성 및 위음성 이벤트들에 기초하여 상기 머신 러닝 모델의 파라미터를 조정하는 단계를 더 정의하는, 비일시적 컴퓨터 판독가능 저장 매체.
  15. 장치에 있어서,
    프로세서; 및
    상기 프로세서에 의한 실행을 위한 프로그램 로직을 유형적으로 저장하기 위한 저장 매체를 포함하고, 상기 저장된 프로그램 로직은 상기 프로세서로 하여금:
    차량과 관련된 이벤트들을 나타내는 시그널링을 수신하는 것-여기서, 상기 시그널링은 상기 차량 내의 컴퓨팅 시스템의 컴포넌트들 사이에서 데이터 신호 또는 제어 신호, 또는 둘 모두를 통신하도록 구성된 버스를 통해 브로드캐스팅 또는 멀티캐스팅됨-;
    상기 수신된 시그널링에 적어도 부분적으로 기초하여 머신 러닝 모델을 사용하여 상기 이벤트들을 분류하는 것-여기서, 상기 분류하는 것은 상기 차량과 다른 오브젝트 사이의 충돌이 임박했음을 나타내는 것을 포함함-; 및
    상기 분류하는 것에 응답하여 상기 컴퓨팅 시스템 내의 제1 디바이스의 순환 버퍼로부터 저장 디바이스로 데이터를 복사하는 것의 동작들을 수행하게 하는, 장치.
  16. 제15항에 있어서, 충돌이 임박했음을 나타내는 것은 신뢰도의 임계 레벨 내에서 상기 충돌이 발생할 가능성이 있음을 식별하는 것을 포함하는, 장치.
  17. 제15항에 있어서, 상기 이벤트들을 분류하는 것은 신경망을 사용하여 상기 이벤트들을 분류하는 것을 포함하는, 장치.
  18. 제17항에 있어서, 상기 저장된 프로그램 로직은 상기 프로세서로 하여금 장기 저장 디바이스에 저장된 상기 데이터를 사용하여 상기 신경망을 재훈련하는 것의 동작을 수행하게 하는, 장치.
  19. 제18항에 있어서, 상기 재훈련하는 것은 상기 분류하는 것 후에 실제 충돌이 검출되었는지 여부에 기초하여 상기 장기 저장 디바이스에 저장된 상기 데이터를 라벨링하는 것을 더 포함하는, 장치.
  20. 제15항에 있어서, 상기 저장된 프로그램 로직은 상기 프로세서로 하여금 위양성 및 위음성 이벤트들의 세트를 식별하는 것 및 상기 위양성 및 위음성 이벤트들에 기초하여 상기 머신 러닝 모델의 파라미터를 조정하는 것의 동작을 수행하게 하는, 장치.
KR1020227029281A 2020-02-06 2021-02-03 차량 블랙 박스 데이터의 인공지능 기반 지속성 KR20220133934A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/783,377 US20210245659A1 (en) 2020-02-06 2020-02-06 Artificial intelligence-based persistence of vehicle black box data
US16/783,377 2020-02-06
PCT/US2021/016403 WO2021158655A1 (en) 2020-02-06 2021-02-03 Artificial intelligence-based persistence of vehicle black box data

Publications (1)

Publication Number Publication Date
KR20220133934A true KR20220133934A (ko) 2022-10-05

Family

ID=77177949

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227029281A KR20220133934A (ko) 2020-02-06 2021-02-03 차량 블랙 박스 데이터의 인공지능 기반 지속성

Country Status (5)

Country Link
US (1) US20210245659A1 (ko)
EP (1) EP4100929A4 (ko)
KR (1) KR20220133934A (ko)
CN (1) CN115398496A (ko)
WO (1) WO2021158655A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4256823A1 (en) * 2020-12-01 2023-10-11 Ridecell, Inc. Systems and methods for extracting data from autonomous vehicles
EP4210018A1 (en) * 2022-01-11 2023-07-12 GEOTAB Inc. Systems and methods for vehicle reversing detection using edge machine learning

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8157047B2 (en) * 1995-06-07 2012-04-17 Automotive Technologies International, Inc. Occupant protection systems control techniques
US20080147267A1 (en) * 2006-12-13 2008-06-19 Smartdrive Systems Inc. Methods of Discretizing data captured at event data recorders
US9098956B2 (en) * 2013-09-26 2015-08-04 Lytx, Inc. Dynamic uploading protocol
JP6940612B2 (ja) * 2016-09-14 2021-09-29 ナウト, インコーポレイテッドNauto, Inc. ニアクラッシュ判定システムおよび方法
EP4357241A2 (en) * 2016-12-22 2024-04-24 Kitty Hawk Corporation Distributed flight control system
US10752239B2 (en) * 2017-02-22 2020-08-25 International Business Machines Corporation Training a self-driving vehicle
US11022971B2 (en) * 2018-01-16 2021-06-01 Nio Usa, Inc. Event data recordation to identify and resolve anomalies associated with control of driverless vehicles
US11176760B2 (en) * 2018-01-25 2021-11-16 Micron Technology, Inc. In-vehicle monitoring and reporting apparatus for vehicles
US20190302766A1 (en) * 2018-03-28 2019-10-03 Micron Technology, Inc. Black Box Data Recorder with Artificial Intelligence Processor in Autonomous Driving Vehicle
US10699137B2 (en) * 2018-08-14 2020-06-30 Verizon Connect Ireland Limited Automatic collection and classification of harsh driving events in dashcam videos
US11182986B2 (en) * 2018-10-10 2021-11-23 Micron Technology, Inc. Real-time selection of data to collect in autonomous vehicle
US20200017114A1 (en) * 2019-09-23 2020-01-16 Intel Corporation Independent safety monitoring of an automated driving system
US20200057896A1 (en) * 2019-09-26 2020-02-20 Intel Corporation Vehicle risk recognition and avoidance

Also Published As

Publication number Publication date
WO2021158655A1 (en) 2021-08-12
US20210245659A1 (en) 2021-08-12
EP4100929A1 (en) 2022-12-14
CN115398496A (zh) 2022-11-25
EP4100929A4 (en) 2024-03-06

Similar Documents

Publication Publication Date Title
US11893835B2 (en) In-vehicle monitoring and reporting apparatus for vehicles
US6995663B2 (en) Driving workload estimation
US10909782B1 (en) Data management for vehicle event data recorder
CN107015550B (zh) 诊断测试执行控制系统和方法
KR20220133934A (ko) 차량 블랙 박스 데이터의 인공지능 기반 지속성
CN112673407A (zh) 用于预测的车辆事故警告和规避的系统和方法
CN111311914A (zh) 车辆行驶事故监控方法、装置和车辆
US11300954B2 (en) System and methods to improve automated driving utilization
US10977882B1 (en) Driver health profile
US20220261304A1 (en) Information processing device and information processing method
WO2022245916A1 (en) Device health code broadcasting on mixed vehicle communication networks
US20230059485A1 (en) Black box operations controlled by driver mental state evaluation
CN112712608B (zh) 用于通过车辆收集性能数据的系统和方法
CN115943396A (zh) 使用机器学习检测车辆故障和网络攻击
US11222213B2 (en) Vehicle behavior detection system
US11263837B2 (en) Automatic real-time detection of vehicular incidents
US20230103670A1 (en) Video analysis for efficient sorting of event data
WO2022245915A1 (en) Device-level fault detection
CN116601065A (zh) 一种自动驾驶数据采集和闭环管理的方法及系统
US10906553B2 (en) Systems and methods for vehicle acceleration event prediction inhibit
CN114103988A (zh) 安全监控装置、包括其的车辆及相应的方法、设备和介质
WO2022113261A1 (ja) 情報収集システム、サーバ、車両、方法、及びコンピュータ可読媒体
US20240053747A1 (en) Detection of autonomous operation of a vehicle
CN116534003A (zh) 碰撞风险评估方法、系统及存储介质
JP2023523688A (ja) 車両生成データを記録及び管理する方法及びシステム