BR112021003944B1 - Sistema de processamento de dados e método implementado por computador e meio de armazenamento legível por computador não transitório - Google Patents

Sistema de processamento de dados e método implementado por computador e meio de armazenamento legível por computador não transitório Download PDF

Info

Publication number
BR112021003944B1
BR112021003944B1 BR112021003944-9A BR112021003944A BR112021003944B1 BR 112021003944 B1 BR112021003944 B1 BR 112021003944B1 BR 112021003944 A BR112021003944 A BR 112021003944A BR 112021003944 B1 BR112021003944 B1 BR 112021003944B1
Authority
BR
Brazil
Prior art keywords
event
vehicle
data
interest
captured
Prior art date
Application number
BR112021003944-9A
Other languages
English (en)
Other versions
BR112021003944A2 (pt
Inventor
Hari Balakrishnan
Samuel Ross Madden
Original Assignee
Cambridge Mobile Telematics Inc
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 Cambridge Mobile Telematics Inc filed Critical Cambridge Mobile Telematics Inc
Priority claimed from PCT/US2019/049418 external-priority patent/WO2020051168A1/en
Publication of BR112021003944A2 publication Critical patent/BR112021003944A2/pt
Publication of BR112021003944B1 publication Critical patent/BR112021003944B1/pt

Links

Abstract

SISTEMAS E MÉTODOS PARA CLASSIFICAR O COMPORTAMENTO DE MOTORISTA. Técnicas de processamento de dados e sistemas para processar dados telemáticos associados a um veículo, tal como um automóvel, para classificar como o veículo está sendo operado por um motorista. Os dados telemáticos podem incluir o uso de dados de imagem capturada por uma câmera do veículo. Os dados de imagem são processados em conjunto com dados telemáticos veiculares tais como dados de posição, velocidade, aceleração do veículo obtidos, por exemplo, a partir de sensores de smartphone. Os dados de imagem são processados e usados por um sistema de processamento para fornecer um contexto para os dados telemáticos. Os dados de imagem e os dados telemáticos são classificados pelo sistema de processamento para identificar o comportamento de direção do motorista, determinar as manobras de direção que ocorreram, pontuar a qualidade de direção do motorista, ou uma combinação deles.

Description

PEDIDO RELACIONADO
[001] Este pedido reivindica prioridade para o Pedido de Patente Provisório U.S. No. 62/726.916, depositado em 4 de setembro de 2018, intitulado "SISTEMAS E MÉTODOS PARA PROCESSAMENTO DE IMAGEM DE DADOS TELEMÁTICOS PARA CLASSIFICAR CONTEXTUALMENTE O COMPORTAMENTO DE MOTORISTA", os conteúdos inteiros do qual são incorporados aqui por referência.
CAMPO TÉCNICO
[002] Esta invenção em geral descreve telemática, especificamente telemática de veículo.
ANTECEDENTES
[003] Telemática pode se referir ao campo de enviar, receber, e armazenar dados relacionados com os dispositivos de telecomunicação, dispositivos de sistema de posicionamento global (GPS), ou outros sensores para o propósito de controlar, observar, analisar, ou de outro modo interagir com um dispositivo remoto relacionado com aqueles sensores. Em alguns casos, um ou mais sensores fornecendo dados telemáticos podem estar relacionados a um veículo, tal como um automóvel. Os dados telemáticos fornecidos pelos sensores podem ser usados para observar o comportamento do veículo e do motorista do veículo.
SUMÁRIO
[004] Em um aspecto, é fornecido um sistema de processamento de dados. O sistema de processamento de dados inclui uma câmera configurada para capturar dados de imagem, um ou mais sensores configurados para capturar dados telemáticos, e um mecanismo de classificação de recurso para gerar métrica de classificação para um vetor de recurso realizando uma ou mais operações. As uma ou mais operações incluem gerar, baseado pelo menos parcialmente nos dados de imagem e dados telemáticos, o vetor de recurso, com o vetor de recurso compreendendo recursos representando eventos de interesse dos dados de imagem e dados telemáticos. As uma ou mais operações incluem determinar, usando a lógica de aprendizado de máquina, uma métrica de classificação para cada recurso do vetor de recurso. O sistema de processamento de dados inclui um mecanismo de previsão configurado para gerar um valor de previsão indicativo de uma probabilidade prevista de um dos eventos de interesse que ocorre realizando uma ou mais operações. As uma ou mais operações incluem atribuir a cada recurso, baseado pelo menos parcialmente na métrica de classificação do recurso respectivo, um peso de previsão. As uma ou mais operações incluem determinar o valor de previsão baseado pelo menos parcialmente em pesos de previsão para recursos restantes do vetor de recurso.
[005] O evento de interesse pode incluir um ou mais de: um evento de velocidade relativa, um evento de distância seguinte, um evento de densidade de tráfego, um evento de andamento, um evento de parada perdida, um evento de comportamento de viragem, um evento de parada brusca, um evento de visibilidade prejudicada, ou um evento de comportamento da faixa de pedestre. Os recursos podem incluir um ou mais de: um semáforo, um veículo, uma placa de sinalização, uma sinalização de rua, um pedestre, um ciclista, ou um animal. Os dados telemáticos podem incluir um ou mais de: dados de aceleração, dados de posição, e dados de força de sinal sem fio. Os dados de imagem podem incluir um ou mais de: uma imagem ou uma série de imagens ou um vídeo.
[006] O mecanismo de previsão pode ser configurado para gerar uma pontuação de risco que está associada com um motorista baseado pelo menos parcialmente no valor de previsão. O mecanismo de previsão e o mecanismo de classificação de recurso pode ser parte de um dispositivo móvel. O mecanismo de previsão e o mecanismo de classificação de recursos podem ser parte de um dispositivo de veículo. O mecanismo de previsão e o mecanismo de classificação de recurso podem também ser uma parte de um serviço de computação remoto com o qual o veículo ou dispositivo de móvel se comunica.
[007] Estes e outros aspectos, recursos, e implementações podem ser expressas como métodos, aparelho, sistemas, componentes, produtos de programa, métodos de fazer negócio, meios ou etapas para realizar uma função, e em outras maneiras, e se tornarão evidentes a partir das descrições seguintes, incluindo as concretizações.
[008] Implementações dos métodos e sistemas descritas neste relatório incluem uma ou mais das vantagens seguintes. Quando oposta a técnicas tradicionais para avaliar o comportamento de motorista usando dados telemáticos, dados de imagem (por exemplo, dados de vídeo) é processado e classificado para fornecer um contexto para dados telemáticos capturados para avaliar um comportamento do motorista. Por exemplo, dados de posição, velocidade, e aceleração de sensores de smartphones, sensores no veículo, e dispositivos de telemática pós-venda fornecem dados telemáticos que o sistema de processamento descrito neste relatório classifica para pontuar a qualidade de direção. Uma pontuação maior, por exemplo, pode corresponder com um comportamento de direção mais seguro e/ou menos arriscado (por exemplo, com relação a uma pontuação menor indicando risco aumentado em comportamento de direção). O comportamento do motorista é classificado e pontuado baseado em fatores tais como distração de fone, velocidade excessiva (por exemplo, 24,14 km por hora acima de um limite de velocidade listado), eventos de parada brusca ou severa (por exemplo, frenagem) (por exemplo, fazendo a velocidade do veículo diminuir 11,26 km por hora em um 1 segundo, fazendo a velocidade do veículo diminuir para 32,18 km por hora em 1 segundo, e assim em diante), aceleração agressiva (por exemplo, fazendo o veículo aumentar em velocidade por 12,87 km por hora em um segundo) ou curvas, milhagem dirigida, as durações de viagem, os horários de viagens, etc. tais atuações de motorista são identificadas a partir de dados telemáticos e rotulados como comportamentos de risco que podem impactar negativamente a pontuação de um motorista. Para aumentar a precisão, quando comparada com técnicas tradicionais, de rotulagem dos dados telemáticos, os dados telemáticos (por exemplo, dados de posição, dados de velocidade, dados de aceleração, e assim em diante) são processados e classificados com os dados de imagem. O sistema de processamento de dados usa o contexto adicional dos dados de imagem para classificar os dados telemáticos como indicativo de um comportamento de motorista arriscado com confiança aumentada, por exemplo, determinando subsequentemente se os dados telemáticos indicando um comportamento de risco devem afetar negativamente uma pontuação do motorista e/ou em quanto. Os dados de imagem podem fornecer um contexto para os dados telemáticos para determinar se o motorista está correndo riscos inapropriados ao dirigir ou se o motorista está respondendo a um ambiente de maneira apropriada. Por exemplo, um motorista pode precisar frear porque o motorista estava seguindo outro veículo de muito perto, mas o motorista pode também precisar frear subitamente para evitar outro motorista ignorando um sinal de parar. Os dados de imagem podem fornecer o contexto necessário para determinar se o motorista é culpado, parcialmente culpado, ou se o motorista estava dirigindo apropriadamente.
[009] Os detalhes de uma ou mais implementações da invenção são apresentadas nos desenhos anexos e na descrição abaixo. Outros recursos, objetivos e vantagens da invenção serão evidentes a partir da descrição e desenhos, e a partir das concretizações.
DESCRIÇÃO DOS DESENHOS
[0010] A figura 1 mostra um sistema exemplar para processor dados para classificar de modo contextual o comportamento do motorista.
[0011] A figura 2 mostra um método para processamento de dados para classificar de modo contextual o comportamento do motorista.
[0012] A figura 3 mostra dados de imagem exemplar.
[0013] A figura 4 mostra um exemplo de um sistema de processamento de dados para realizar operações de aprendizado de máquina para detectar eventos de interesse.
[0014] Símbolos de referência similares nos vários desenhos indicam elementos iguais.
DESCRIÇÃO DETALHADA
[0015] Esta invenção descreve técnicas de processamento de dados e sistemas para processar dados telemáticos associados a um veículo, tal como um automóvel, para classificar como o veículo está sendo operado por um motorista. Os dados de imagem são processados em conjunto com os dados telemáticos (por exemplo, dados de posição, dados de velocidade, dados de aceleração, e assim em diante) obtidos a partir dos sensores (por exemplo, sensores de smartphones, um dispositivo telemático embutido, ou sensores de dispositivos similares no veículo, e assim em diante). Os dados de imagem (por exemplo, dados de vídeo) são processados e usados por um sistema de processamento para fornecer um contexto par os dados telemáticos. Os dados de imagem e os dados telemáticos são classificados pelo sistema de processamento para identificar o comportamento de direção do motorista, determinar as manobras de direção que ocorreram, pontuar a qualidade de direção do motorista, ou uma combinação delas.
[0016] Uma aplicação exemplar de identificar e classificar o comportamento de um motorista pode ser para avaliação de risco para apólices de seguro automotivo, onde os motoristas com manobras mais arriscadas apresentam maior risco de colisões. Os sistemas e processos descritos neste relatório determinam uma pontuação de direção para motoristas para prever o risco de uma colisão. Por exemplo, uma pontuação para um motorista pode indicar uma probabilidade deste motorista se envolver em uma colisão. A pontuação, gerada pelos sistemas e métodos descritos neste relatório, pode também ser útil para um número de outras aplicações, tais como definir prêmios de seguro, fornecer descontos e recompensas por direção segura, conduzir contextos de direção segura, e fornecer feedback e percepções aos motoristas de modo que possam melhorar sua direção.
[0017] Os sistemas e métodos descritos neste relatório são configurados para coletar, processar e armazenar dados de imagem (por exemplo, vídeo) para uso na classificação do comportamento do motorista. Os sistemas e métodos descritos neste relatório superam os desafios de, entre outros, coletar, processar, armazenar e transmitir as quantidades de dados exigidas para fornecer um contexto de imagem para dados telemáticos. O sistema pode ser configurado para processar os dados de vídeo localmente para o veículo para reduzir as exigências de largura de banda para transmitir dados de vídeo de um ambiente de computação remoto (por exemplo, um ambiente de computação em nuvem). Isto permite que o sistema analise os dados de imagem para o contexto porque enviar todos os dados de imagem capturados para servidores por meio de redes sem fio pode, em alguns casos, consumir largura de banda de rede significante e armazenamento em telefones. Os sistemas de métodos descritos neste relatório podem reduzir uma quantidade de processamento de computador exigida em sistemas e técnicas anteriores para reduzir a energia necessária para fornecer contexto para os dados telemáticos. Por exemplo, reduzir a energia de computação necessária pode reduzir o consumo de baterias de um dispositivo móvel que pode estar processando os dados e assim permitir tempos de operação mais longos para o dispositivo.
[0018] Este relatório descreve uma variedade de comportamentos contextuais que, quando opostos a sistemas e técnicas anteriores, podem ser recentemente identificados a partir de dados de imagem. Este relatório descreve sistemas e métodos para inferir contexto a partir de dados de imagem, atribuindo risco aos comportamentos contextuais, ou ambos.
[0019] A figura 1 mostra um sistema exemplar 100 para processor dados para classificar de modo contextual o comportamento do motorista. O sistema 100 inclui uma câmera 102 configurada para capturar dados de imagem 112. Os dados de imagem 112 podem representar imagens individuais para processamento de dados, vídeo, uma série de imagens, e assim em diante. O sistema 100 inclui um ou mais sensores 104 que recolhem dados de sensor 114 (por exemplo, dados telemáticos). Os sensores 104 incluem um ou mais acelerômetros, sensores de posicionamento (por exemplo, sensores de GPS), sensores de alcance, sensores acústicos, sensores de detecção de ultravioleta (UV), sensores de infravermelho, e assim em diante. Tomados juntos, os dados de sensor 114 e os dados de imagem 112 podem ser combinados para gerar dados coletivos 108. O veículo 118 inclui um sistema de computação a bordo (local) (por exemplo, unidade de processamento) 106 para armazenar e processar os dados coletivos 108. Uma vez que o sistema de computação local 106 processou os dados coletivos 108 (como descrito abaixo), os dados coletivos pré-processados 116 são transmitidos para um ambiente de computação remoto 110 (por exemplo, um ambiente de computação em nuvem). O veículo 118 pode incluir qualquer dispositivo de transporte que está navegando, tipicamente sendo acionado por um operador no veículo. O veículo 118 pode incluir um carro, caminhão, van, etc.
[0020] A câmera 102 pode ser configurada para capturar dados de imagem 112 de um ambiente em torno do veículo 118 (ver, por exemplo, figura 3). A câmera 102 pode ser montada em qualquer lugar no veículo 110 para capturar dados de imagem 112 do ambiente em torno do veículo, tais como dados de imagem que podem ser pertinentes em fornecer contexto para os dados de sensor 114 recolhidos pelos sensores 104. Por exemplo, a câmera 102 pode se voltar para uma direção longitudinal com relação ao movimento do veículo 118 (por exemplo, uma câmera de painel voltada para frente ou uma câmera voltada para trás) para capturar a cena como visto pelo motorista do veículo 118. A câmera 102 pode ser equipada com uma lente grande angular para acomodar um ângulo de visualização similar àquele do motorista (por exemplo, em torno de 130 graus). Qualquer distorção ótica da imagem causada por uma lente pode ser corrigida pelo processamento de imagem. Em algumas implementações, a câmera não inclui uma lente grande angular, e nenhuma correção de distorção é realizada. Em algumas implementações, a câmera 102 é parte do veículo 118. Em algumas implementações, a câmera 102 e uma parte de um dispositivo de computação móvel, tal como um celular, câmera de painel, e assim em diante. Embora a implementação mostrada mostre somente uma câmera 102, implementações não são limitadas assim. Em algumas implementações, o sistema 100 inclui mais que uma câmera 102. Por exemplo, o sistema pode incluir quatro câmeras 102, duas voltadas na direção longitudinal com relação ao movimento do veículo 118 e duas voltadas em direções laterais com relação ao movimento do veículo 118.
[0021] Os sensores 104, como descrito acima, incluem qualquer sensor que possa fornecer dados telemáticos 114 ao sistema de computação 106 do veículo 118. Os sensores 104 podem ser montados no veículo 118 propriamente dito (por exemplo, ser uma parte do sistema de computação do veículo, não mostrado). Em algumas implementações, os sensores 104 são uma parte de um dispositivo de computação móvel (por exemplo, um smartphone) que não é uma parte do sistema de computação de veículo local 106. Em tais casos, o dispositivo de computação móvel faz interface com o sistema de operação do veículo por um ou mais protocolos de comunicação. Por exemplo, o dispositivo de computação móvel pode se comunicar com o veículo 118 usando protocolos tais como Bluetooth, TCP/IP, Zigbee ou outros protocolos de comunicação IEEE 802.15.4, e comunicação hardwire (por exemplo, por meio de Barramento Serial Universal (USB) ou protocolos Firewire IEEE 1394, etc.)
[0022] Os sensores disponíveis em um dispositivo de comunicação móvel que podem ser úteis em capturar dados telemáticos 114 incluem, mas não são limitados a, sensores de posição (por exemplo, sistema de Posicionamento Global, GPS), um acelerômetro de três eixos para medir a aceleração do telefone ao longo de três eixos ortogonais, e um giroscópio de três eixos para medir a velocidade angular do telefone ao longo dos três eixos.
[0023] Usam o termo "dispositivo móvel" para incluir, por exemplo, qualquer tipo de equipamento que pode ser carregado por um usuário sem exigir conexão com fio a um link de comunicação e está sujeito a ser usado, enquanto um usuário está dirigindo, de modo que possa causar distração do usuário ao dirigir. Em algumas implementações, dispositivos móveis incluem celulares, dispositivos usáveis (por exemplo, relógios inteligentes), mas podem também incluir tablets, laptops, etc.
[0024] O sistema de computação local 106 do veículo 118 é descrito posteriormente em detalhe adicional com respeito à figura 4. O sistema de computação local 106 inclui uma ou mais unidades de processamento para processar os dados coletivos 108. O sistema de computação local 106 inclui um armazenamento para armazenar os dados coletivos 108 e quaisquer outros dados exigidos para processar os dados coletivos 108. O sistema de computação local 106 pode estar integrado com a câmera 102, os sensores 104, um dispositivo móvel, um dispositivo de computação a bordo do veículo 118, ou uma combinação deles, entre outros. Em algumas implementações, o sistema de computação local 106 é uma parte do veículo propriamente dito, e pode controlar outras funções de veículo. Em algumas implementações, o sistema de computação local 106 é uma parte de um dispositivo móvel (por exemplo, o dispositivo de computação móvel que inclui um ou mais sensores 104 e/ou câmera 102).
[0025] O ambiente de computação remoto 110 inclui um ou mais dispositivos de processamento em rede que são configurados para enviar e receber dados do sistema de computação local 106. O ambiente de computação remoto 110 pode incluir um ambiente de computação em nuvem para processamento em nuvem. O ambiente de computação remoto 110 recebe dados, tais como dados telemáticos pré-processados 116 do sistema de computação 106, e realiza computações adicionais para determinar uma pontuação de risco para o motorista do veículo 118. Por exemplo, o ambiente de computação remoto 110 pode realizar operações de classificação de aprendizado de máquina nos dados telemáticos pré-processados 116 para classificar os dados, como mostrando uma quantidade de risco (por exemplo, um valor ponderado de risco), e subsequentemente gerar uma pontuação para o motorista, ajustar a pontuação para o motorista, ou ambos. Assim, em um nível alto, o sistema 100 pode ser usado para capturar dados de sensor 114 (dados telemáticos 114) e dados de imagem 112, e determinar uma pontuação de risco contextualizada com base pelo menos parcialmente nos dados capturados.
[0026] Em algumas implementações, um usuário (por exemplo, um motorista do veículo 118) instala um aplicativo móvel (app) em um telefone celular e dirige com o dispositivo móvel no veículo 118 (por exemplo, fixado em uma parte do veículo 118). O aplicativo pode ser executado em um estado de segundo plano, detectando automaticamente a partida e parada de cada viagem do veículo 118 usando informação de localização e interfaces de programação de aplicativo de atividade do telefone celular (APIs) (por exemplo, fornecidos pelo sistema de operação do dispositivo). Em algumas implementações, os dados de localização são aumentados com a informação dos sensores inerciais no telefone. Em algumas implementações, sinais sem fio de um dispositivo no veículo, tal como um dispositivo de tag, podem ser usados, tal como descrito na Publicação de Pedido de Patente U.S. No. 2015/0312655, incorporado aqui em totalidade por referência.
[0027] O sistema de computação local 106 é capaz de receber os dados de sensor 114 dos sensores 104 quando o usuário (do telefone) está dirigindo. Estes dados de sensor 114 são analisados e inicialmente processados pelo sistema de computação local 106 (que, em algumas implementações, está integrado com o telefone celular). Os dados de sensor 114 são transmitidos para o ambiente de computação remoto 110 (tal como u ambiente de computação em nuvem) através de uma rede sem fio (por exemplo, Wi-Fi, celular, ou qualquer outra rede fornecendo conectividade com os servidores). No ambiente de computação remoto 110, um mecanismo telemático 120 processa os dados pré-processados 116 do sistema de computação local 106 para estimar com precisão a dinâmica do veículo e os padrões de movimento do telefone celular dentro do veículo. Em algumas implementações, tais computações estão rodando no sistema de computação local 106, propriamente dito, sem os dados serem enviados para o ambiente de computação remoto 110.
[0028] Dados dos sensores 104 são contextualizados com dados de imagem 112 para fornecer o contexto adequado para os tipos de eventos de "risco" que são identificados a partir dos dados de sensor 114. Por exemplo, um evento de frenagem devido a um animal saltando na frente do veículo 118 pode estar associado com comportamento de direção menos arriscado que um evento de frenagem causado porque o motorista que estava distraído com seu telefone e, como resultado, falhar em ver um semáforo ficar vermelho. Um evento de frenagem brusca causado por um motorista que não antecipa um pedestre ou ciclista pode ser determinado como um comportamento mais arriscado que um evento de frenagem brusca em um sinal de parar em uma rua vazia.
[0029] Fornecer tal contexto a partir dos dados de imagem 112 supera vários inconvenientes para os sistemas de medição de comportamento do motorista sem os dados de imagem 112. Por exemplo, o sistema 100 é capaz de identificar eventos que estão indisponíveis, e, portanto, não sendo substancialmente causados por comportamento de direção arriscado exibido pelo motorista. Por exemplo, no caso de um evento de frenagem brusca ou severa em resposta à presença de um animal, ou sinalizar um usuário por excesso de velocidade em um ambiente onde as velocidades prevalecentes de outros carros estão bem acima dos limites de velocidades indicados podem não ser considerados comportamentos de risco.
[0030] Adicionalmente, o sistema 100 pode identificar situações de risco que não visíveis como eventos de aceleração ou velocidade excessiva. Por exemplo, comportamentos tais como passando frequentemente em estradas de duas pistas, dirigindo na neve, ou passando por sinais de parada podem ser identificados a partir os dados de imagem 112.
[0031] Tal análise pelo sistema 100 pode melhorar a capacidade do sistema 100 para medir apropriadamente o risco e fornecer avaliações de risco e fornecer avaliações de risco mais precisas a consumidores dos dados de segurança do motorista, tais como aplicativos de seguro. Além disso, a experiência para motorista usando tecnologia de avaliação de risco é melhorada, à medida que os motoristas podem frequentemente sentir que são penalizados injustamente por manobras inevitáveis que são marcadas como arriscadas devido a uma falta de contexto para os dados de sensor 114.
[0032] Como descrito em mais detalhe abaixo, aumentar dados telemáticos com dados de imagem a partir de câmeras no veículo pode fornecer uma maneira de inferir esta informação contextual. Usando algoritmos de visão de computador, numerosos objetos e recursos encontrados ao dirigir podem ser reconhecidos e rotulados para fornecer informação contextual para melhor pontuação de qualidade de motorista. Além do mais, os dados de imagem capturada podem ajudar com engajamento e feedback do usuário. Por exemplo, fornecer segmentos de vídeo para usuários que exibem comportamentos que diminuem a sua pontuação podem ajudá-los a lembrar, entender e evitar manobras de risco.
[0033] Como descrito previamente com referência à figura 1, os dados de imagem 112 da câmera 102 são combinados com outros dados de sensor 114 (por exemplo, dados telemáticos) dos sensores 104, (por exemplo, em dispositivos móveis, componentes eletrônicos no veículo, dispositivos pós-venda, ou combinação dos mesmos) e pré-processados pelo sistema de computação local 106 (que pode ser integrado com um dispositivo móvel, um dispositivo de telemática dedicado, sistemas de computação a bordo, a câmera 102, ou uma combinação deles) para identificar de modo contextual eventos relevantes dos dados de imagem 112, ou partes de filtro dos dados de imagem 112 que incluem eventos de interesse. Certos elementos dos dados pré-processados 116 são então transmitidos ao ambiente de computação remoto 110 para refinamento e processamento posterior. Uma variedade de implementações é possível. Em algumas implementações, todo o processamento e captura dos dados de imagem 112 é realizado pela câmera 102. Em algumas implementações, todo processamento e captura dos dados de sensor 114 é realizado pelos sensores 104. Em algumas implementações, o sistema de computação local 106 do veículo 118 é capaz de realizar todo o processamento dos dados de imagem 112 e os dados de sensor 114 sem o uso do ambiente de computação remoto 110.
[0034] Alguns exemplos de comportamentos de direção específicos e informação contextual que são identificáveis a partir dos dados de imagem 112 capturados pela câmera 102 incluem um ou mais do seguinte: a velocidade relativa (por exemplo, se um motorista está se deslocando mais rápido ou mais lento que outros carros na rua ou limites de velocidade postados); distância de seguimento do veículo com relação a outros veículos na rua (por exemplo, "tailgating"); densidade de tráfego (por exemplo, se o veículo 118 está sendo operado em trafego de pare e siga ou uma medida do número de outros veículos na proximidade do veículo 118); identificar paradas perdidas em sinais de parada ou semáforo (por exemplo, quando o veículo 118 falha em fazer uma parada completa antes de avançar através de um sinal de parar ou uma luz vermelha em um semáforo); acelerações bruscas através de luzes amarelas (por exemplo, quando o veículo 118 acelera ao encontrar uma luz amarela em um semáforo); comportamento de curva (por exemplo, identificar quando um sinal de virar à esquerda do veículo 118 não é ativado antes de fazer uma curva à esquerda em países de direção do lado direito ou quando um veículo 118 faz uma curva à esquerda em um semáforo antes que o semáforo ative um sinal de virar à esquerda que indica quando o veículo 118 deve fazer uma curva à esquerda); eventos de frenagem brusca contextualizada (por exemplo, reconhecendo se um evento de frenagem brusca foi devido à aparição súbita de uma pessoa, animal ou outro veículo); condições meteorológicas (por exemplo, determinar se a visibilidade do motorista do veículo 118 está prejudicada porque o veículo 118 está sendo operado na neve, chuva, ou nevoeiro); condições de iluminação ambiente; se o motorista falhou em parar ou reduzir ao cruzar com pedestres e ciclistas; e se o veículo 118 está operando muito perto de pedestres e outros veículos.
[0035] O sistema 100 pode usar um ou mais métodos para inferior os elementos acima a partir de dados de imagem, aceleração, velocidade e posição, como descrito posteriormente em mais detalhe. O sistema 100 pode usar um objeto e um módulo de detecção e reconhecimento de caixa delimitadora (algumas vezes referido como um detector de objeto) para processar quadros de imagem, tal como Yolo ou SSD. Este detector de objeto é capaz de identificar objetos tais como carros, pessoas, bicicletas, e sinais de trânsito e semáforos, e fornecer uma caixa delimitadora aproximada em torno de cada objeto detectado. Adicionalmente, a capacidade do detector de objeto de posicionar de modo aproximado o objeto em 3D é assumida, dado que a câmera 102 está em uma orientação conhecida e fixa no veículo 118, como descrito em Eric Royer, Máxime Lhuillier, Michael Dhome, Jean-Marc Lavest, Monocular Vision for Mobile Robot Localization and Autonomous Navigation, International Journal of Computer Vision, Springer Verlag, 2007, 74(3), pp. 237-260, que é incorporado aqui em totalidade por referência. O detector de objeto é capaz de produzir uma sequência de detecções de objeto da forma: classe de objeto, tempo, posição x, posição y, largura, altura
[0036] Onde a posição x se refere a uma distância (por exemplo em metros) para a esquerda (negativa) ou direita (positiva) da câmera 102, e a posição y é uma distância na frente da câmera 102.
[0037] Além disso, dada uma detecção, os métodos de rastreamento de objeto baseado tanto no aprendizado de máquina (por exemplo, GOTURN), fluxo ótico, ou outros métodos de coerência visual, podem ser usados para seguir um objeto com o tempo, podem ser usados, dado um objeto de classe C detectado no tempo t1, determinar se uma detecção posterior de um objeto de classe C no tempo t2 é o mesmo objeto.
[0038] Além disso, uma estimativa da velocidade, posição e direção do veículo 118, incluindo a câmera 102 é assumida estar disponível em uma taxa de amostra regular (por exemplo, uma vez por segundo). Isto pode ser obtido usando os sensores 114.
[0039] Métodos que o sistema pode utilizar para extrair os oito comportamentos contextuais previamente descritos serão agora explicados.
Velocidade Relativa
[0040] A velocidade relativa é definida como se o veículo 118 estivesse se movendo em ou substancialmente acima ou abaixo da velocidade prevalecente de outros veículos no ambiente próximo ao veículo 118. Pode-se presumir arriscado para dirigir muito mais rápido ou mais lento que outros veículos. O método para determinar a velocidade relativa pode incluir estimar a velocidade de cada objeto medindo sua mudança em distância relativa da câmera 102 com o tempo. Dado um objeto O na posição Y DI no tempo T1, que está posteriormente na posição Y no tempo T2, a velocidade de O com relação ao veículo 118 pode ser definida como (D2-D1)/(T2-T1).
[0041] A pontuação de velocidade relativa do veículo 118 sobre uma janela de tempo W[Ta, Tb], entre os tempos Ta e Tb, é definida usando o método abaixo. Simplesmente tirando a média de todas as velocidades relativas de ouros veículos observados durante a janela de tempo podem sobrecarregar a contribuição de alguns veículos que estão se movendo muito rápido ou muito lento. Portanto, o método para contar a fração de outros veículos que estão se movendo significantemente mais rápido ou mais lento que o veículo 118 pode ser desejável. A abordagem pode ser descrita em pseudocódigo de acordo com o seguinte: Inicializar Count = 0, TreshCount = 0 Dado um conjunto de todos os veículos V detectados mais que uma vez durante W, Para cada v distinto em V, detectado primeiro no tempo Tv1 em W e último no tempo Tv2 em W, com posições de "eixo-y" correspondentes Dv1 e Dv2 (a origem do eixo y é a localização do veículo de observação) Seja Sv = (Dv2 - Dv1)/(Tv2 - Tv1) Seja Count = Count + 1 Se Sv> speedTresh: TreshCount = TreshCount + 1 Se Sv<-speedTresh: TreshCount = TreshCount - 1 Pontuação de Velocidade Relativa = TreshCount/Count
[0042] Assim, a pontuação de velocidade relativa pode ser um número entre -1 e +1 indicando que fração de outros veículos está se movendo de modo significantemente mais lento ou mais rápido que o veículo 118 sobre um período de tempo particular. Usos particulares desta métrica para avaliar o risco total do motorista são descritos em mais detalhe posteriormente.
Distância de Seguimento
[0043] Seguir outros veículos de muito perto, particularmente em uma rodovia, pode ser considerado como um comportamento de risco. A distância de seguimento pode ser computada em um método similar à velocidade relativa. Por exemplo, a Métrica de Distância de Seguimento pode ser um número entre 0 e 1 indicando que fração de tempo durante uma janela em que o veículo esta sendo operado perto de outro veículo dentro de alguma distância limite daquele veículo (por exemplo, menos que 3,05 metros atrás do outro veículo).
[0044] Para cada detecção de veículo, se o veículo detectado está aproximadamente diretamente na rente do motorista (isto é, a posição x está na faixa de [treshX, +treshX], para algum valor pequeno de treshX), a detecção é adicionada a um compartimento de detecção [DetectedSet]. Então, para uma janela de tempo W[Ta, Tb], a fração de tempo que a distância de seguimento foi menor que algum limite [treshY] é produzida como mostrado no pseudocódigo seguinte: Inicializar closeCount = 0, Count = 0 Dado um conjunto de todos os veículos em detectedSet detectados durante a janela W = [T1, T2] Para cada v em detectedSet, seja d = v.yPosition, isto é a distância do veículo: Se d<treshX Seja closeCount = closeCount +1 Seja Count = Count + 1 Métrica de Distância de Seguimento = closeCount/Count \
[0045] Usos particulares desta métrica para avaliar todo o risco do motorista são descritos posteriormente em mais detalhe.
Densidade de Tráfego
[0046] Dirigir em áreas de alta densidade de tráfego pode aumentar a probabilidade de colisões, como situações de "pare e siga" podem ser propensas ao risco. Em algumas implementações, a densidade de tráfego é estimada medindo o número de outros veículos próximos ao veículo 118 em uma dada janela de tempo. No entanto, para evitar medir outros veículos se deslocando na direção oposta com relação ao veículo 118, os dados de imagem 112 e os dados de sensor 114 podem ser usados para medir o número de outros veículos se deslocando na mesma direção que o veículo 118. Por exemplo, outros veículos se deslocando na mesma direção com relação ao veículo 118 podem ser medidos identificando outros veículos detectados mais de uma vez em uma janela de tempo nos dados de imagem 112. Isto explora o fato que, em muitos casos, outros veículos se deslocando na direção oposta com relação ao veículo 118 são improváveis de serem visíveis por mais que uns poucos quadros de imagem. Se outro veículo particular está presente em muitos quadros que um número limite de quadros (por exemplo, tanto um limite dinâmico quanto estático) então este outro veículo particular pode ser identificado como se deslocando na mesma direção. O limite pode ser determinado dinamicamente dependendo de fatores ambientais, tais como a velocidade do veículo 118 e uma localização do veículo 118.Por exemplo, se o veículo 119 não está se movendo (por exemplo, estacionado), então a métrica de densidade de tráfego pode ser ignorada. No entanto, se o veículo 118 não está se movendo, mas em um segmento de uma rodovia designada por movimento, pode ser determinado que o veículo 118 é parado em uma luz vermelho (por exemplo, o sistema 100 pode determinar, baseado nos dados de imagem 112, que o veículo 118 está em uma posição estática devido a uma luz vermelho), ou pode ser determinado que o veículo 118 está em um evento de tráfego de "pare e siga". Usando a medida seguinte: DensityRisk = número de outros veículos V detectado mais que uma vez durante a janela de tempo;uma "publicação de risco de densidade de tráfego" pode ser usada para avaliar o risco total do motorista. Exemplos de usar esta métrica para avaliar o risco total de motorista é descrito em mais detalhe abaixo.
Paradas de Andamento/Deslocamento em Luzes Amarelas
[0047] Mover através de sinais de parada (por exemplo, quando o veículo 118 não para completamente antes de prosseguir através de um sinal de parada) e acelerar através de luzes amarela/vermelha podem ser considerados manobras de risco que podem ser detectadas das dadas de imagem 112. Quando o veículo 118 progride através de um sinal de parar ou semáforo, o sistema 100 pode determinar se o veículo 118 falhou em diminuir ou parar antes de prosseguir através dele. Por exemplo, o sistema 100 pode identificar um sinal de parada ou luz vermelha usando os dados de imagem 112, e então determinar se o veículo 118 vem de uma parada completa dentro de uns poucos segundos de observar o sinal ou luz. Em alguns casos, um sinal de parada pode ser detectado pelo sistema 100, mas pode não estar na direção de deslocamento do veículo 118. Em tais casos, o sistema 100 pode ignorar o sinal de parada ou luz. Tal determinação pode ser feita baseada em outros dados (tais como baseados na colocação/orientação da câmera 102 no/dentro do veículo 118, a posição do sinal/luz nos quadros subsequentes dos dados de imagem 112, a posição do veículo 118, e assim em diante).
[0048] Dada uma janela de tempo, este sistema 100 pode medir um número de casos em que o veículo 118 falhou em parar completamente por um sinal de parada ou luz vermelha. Para cada caso, o sistema 100 pode determinar um ou mais do seguinte: a localização da falha, se a falha correspondia a uma luz de parada vermelha/amarela ou sinal de parada, e a distribuição de velocidade durante a falha (incluindo a velocidade mínima). O sistema 100 pode usar estes dados para atribuir uma pontuação de risco para cada caso, como descrito posteriormente em mais detalhe. Em algumas implementações, quando o veículo 118 prossegue através de uma luz amarela, o sistema 100 determina a distância que o veículo estaca da luz amarela. Por exemplo, se a luz está amarela por um número de quadros abaixo de um número limite de quadros, o sistema 100 pode determinar que existe um risco relativamente pequeno (ou nenhum risco) associado com o progresso através da luz amarela, porque, por exemplo, fazer com que o veículo 118 pare subitamente poderia ser um comportamento mais arriscado, de modo que se outro veículo está seguindo o veículo 118 e o motorista do veículo que estava atrás não estivesse esperando que o veículo 118 parasse.
Comportamento na curva
[0049] Em alguns casos, virar o veículo 118 pode ser considerado arriscado e virar à esquerda (em países de direção do lado direito) contra o tráfego em sentido contrário pode ser especialmente perigoso. Usando dados de imagem 112, o sistema 100 pode identificar quando uma curva para a esquerda está "desprotegida" (por exemplo, quando uma luz de tráfego não exibe uma seta de curva à esquerda especificamente permitindo a curva, e quando existe tráfego em sentido contrário de modo que o veículo 118 deve cruzar o tráfego em sentido contrário para completar a curva).
[0050] Dada uma janela de tempo W dos dados de sensor 114, incluindo informação de localização e direção, bem como os dados de imagem 112, o sistema 100 pode identificar curvas à esquerda em informação de direção, como períodos de <K segundos com um D graus de mudança de direção maior em uma direção no sentido anti- horário (para a esquerda), onde K e D são limites configuráveis, tipicamente 30 segundos e 60 graus. Para cada curva, o sistema 100 pode extrair dados de imagem 112 de P segundos antes do início da curva, até e incluindo os K segundos depois da curva.
[0051] Para cada curva, o sistema 100 pode usar os dados de imagem 112 para identificar 1) se havia uma seta de curva à esquerda verde em qualquer um dos quadros de imagem da imagem dos dados de imagem 112, e/ou 2) a velocidade e número de outros veículos em sentido contrário observados durante a curva. Para determinar se outro veículo particular é um veículo em sentido contrário, o sistema 100 pode identificar observações consecutivas do mesmo outro veículo, e determinar se a localização relativa do outro veículo particular (por exemplo, distância y) está diminuindo com o tempo. Porque as curvas à esquerda podem levar vários segundos para serem executadas completamente, a maior parte dos outros veículos em sentido contrário será observada em um número de quatros de imagem (ao contrário do caso de densidade de tráfego onde a maioria dos veículos em sentido contrário se moverá rapidamente para fora do quadro). Para ma dada janela, a métrica de curva de risco mede o número de curvas à esquerda com mais que V veículos em sentido contrário, onde V é um limite configurável (tal como 2). Detalhes adicionais em como esta métrica pode ser usada para avaliar o risco total do motorista, são descritos posteriormente.
Paradas Bruscas Contextualizadas
[0052] Eventos de frenagem brusca ou severa devido a um evento imprevisível, tal como um animal aparecendo subitamente no caminho do veículo 118, pode não ser necessariamente ser preditivo de um risco futuro do motorista. Por esta razão, pode ser benéfico atribuir níveis diferentes de risco para diferentes eventos de frenagem brusca ou severa com base no contexto inferível a partir de dados de imagem.
[0053] Para cada evento de frenagem brusca detectado pelo sistema 190 a partir dos dados de sensor 114 (onde um evento de frenagem brusca pode ser definido como desaceleração acima de algum limite por algum tempo, tal como 11,26 km por hora em 1 segundo) o sistema 100 pode realizar operações incluindo o seguinte:
[0054] Extrair os dados de vídeo VD nos C segundos antes do evento (por exemplo, C = 2 segundos)
[0055] Seja detectObjects = todos os objetos v em VD onde a distância x.y<T1 metros e I distância v.xl <T2 metros (onde T1 e T2 são limites configuráveis, por exemplo, 5 metros e 2 metros).
[0056] Seja métrica de parada de contexto = riskFunction (detectedObjects, magnitude de evento).
[0057] A riskFunction pode permitir diferentes níveis de risco a serem atribuídos a diferentes tipos de objetos. Por exemplo, cães e veados, que podem se mover de modo relativamente rápido quando comparados com outros animais, podem ser atribuídos um nível baixo de risco porque os motoristas podem não necessariamente prevê-los. Por outro lado, pedestres e bicicletas, que se movem de modo mais previsível que cães e veados, mas podem entrar ainda na rodovia e modo imprevisível, podem ser atribuídos um nível de risco moderado, e todos os outros objetos (ou nenhum objeto) podem ser atribuídos com o nível de risco mais alto. Detalhes adicionais de como esta métrica pode ser usada para avaliar o risco total do motorista, são descritos abaixo.
Visibilidade Prejudicada
[0058] O mau tempo pode frequentemente prejudicar a visibilidade, aumentando o risco de dirigir. Os dados da imagem 112 capturada pela câmera 102 podem ser usados para medir a visibilidade. Por exemplo, o sistema 100 pode avaliar a distorção geral indicada pelos dados de imagem 112, avaliar o brilho e iluminação geral (levando em conta as variações causadas, por exemplo, pela abertura da câmera 102) ou ambos. Em algumas implementações, para atribuir risco quando o motorista do veículo 102 não pode observar completamente os objetos, o sistema 100 pode medir a relação entre distância y máxima de um veículo detectado (ou objeto) em uma janela de tempo W versus o k° percentil da distância y de todos os veículos detectados (ou objetos) pelo tempo todo (onde k é um parâmetro configurável, que é 95 em algumas implementações). Em algumas implementações, o sistema 100 realiza operações de acordo com o seguinte: Seja maxHistoricalY = k° percentil da distância y de todas as detecções de veículos Seja windowMax = 0 Para uma dada janela de tempo W = [T1, T2], seja V = todas as detecções de veículo em [T1, T2] Para cada v em V, se a distância v.y< windowMax, seja windowMax = distância v.y Seja métrica de visibilidade = 0 Se windowMax>0 e windowMax /maxHistoricaly<visThresh, Seja métrica de visibilidade = log (1/windowMax/maxHistoricaly) Onde visThresh é um parâmetro configurável, <1, tipicamente 0,9.
[0059] Consequentemente, em alguns casos, a métrica de visibilidade é inversamente proporcional à maior distância detectada para um veículo na janela de tempo. Detalhes adicionais de como esta métrica pode ser usada para pontuar um risco do motorista devido à visibilidade prejudicada, são descritos posteriormente.
Comportamento na faixa de pedestre
[0060] Motoristas que não param seus veículos para pedestres em faixas de pedestres podem correr o risco de causar ferimentos em pedestre. Além disso, uma falha em parar em uma faixa de pedestre ocupada por um pedestre pode também ser um sinal de distração do motorista (porque o motorista não está dirigindo com atenção), ou impaciência, que pode estar correlacionado com comportamento de direção arriscado. Em algumas implementações o sistema 100 detecta este comportamento de acordo com o seguinte: Em uma dada Janela W = [T1, T2] Seja P = cada objeto pedestre p que é detectado, onde existe também um objeto de faixa de pedestre presente; a distância y do pedestre e faixa de pedestre estão dentro de D metros um do outro, onde D é um limite configurável, tipicamente 1 metro; a caixa delimitadora detectada do pedestre se sobrepõe à caixa delimitadora da faixa de pedestre , indicando que o pedestre está na faixa de pedestre; a distância y para P é <DCross; onde DCross é um parâmetro configurável indicando que o motorista está perto da faixa de pedestre, tipicamente 10 metros; e onde DCross pode depender da velocidade do veículo; Ped Metric = 0 Para cada p de P, permitir que desacelerado ser uma variável binária que indica se o veículo não desacelerou em alguma velocidade <SCross, onde SCross é um parâmetro configurável, tipicamente 5 m/seg, indicando que a velocidade reduziu ao se aproximar da faixa de pedestre; Ped Metric - Ped Metric + desacelerado
[0061] Assim, a métrica de pedestre pode ser uma medida do número de faixas de pedestres ocupadas por pedestres em que o veículo 118 falhou em desacelerar. Detalhes adicionais de como a métrica de pedestre usada para pontuar o risco relacionado com faixa de pedestre do motorista, são descritos posteriormente.
Atribuir Risco a Comportamentos
[0062] O sistema 100 gera, para cada motorista, um vetor de pontuações de risco, indicando seu grau de exposição a certos comportamentos arriscados. Por exemplo, um vetor de risco pode se um ou mais dos seguintes: risco de distração, risco de frenagem e risco de velocidade relativa.
[0063] Dada uma coleção de tais vetores de risco para diferentes motoristas como dados históricos de frequência de acidente para aqueles motoristas, um modelo (por exemplo, modelo linear generalizado, ou GLM) pode então ser ajustado aos dados para prever a colisão ou frequência de sinistros a partir das variáveis de risco. Em algumas implementações, o mecanismo de aprendizado de máquina 300 (por exemplo, como descrito posteriormente em relação à figura 4) pode ser usado para classificar/identificar eventos para calcular uma pontuação de risco.
1. Velocidade Relativa
[0064] O sistema 100 é capaz de determinar uma ou mais pontuações de velocidade relativa. Por exemplo, o sistema 100 pode computar uma pontuação lenta, que é determinada com relação à frequência com a qual o motorista dirige o veículo 118 abaixo da velocidade predominante, e uma pontuação rápida, com relação à frequência que o motorista dirige o veículo acima da velocidade predominante.
[0065] O sistema 100 é capaz de identificar segmentos de Estrada onde o comportamento de velocidade é determinado ser mais relevante (por exemplo, segmentos de rodovia onde os motoristas em geral devem se deslocar em ou em torno o limite de velocidade predominante). Identificar tais segmentos de rodovia pode incluir a corresponder a trajetória do veículo 118 em um mapa rodoviário (por exemplo, como descrito na Patente U.S. 8.457.880, incorporado em totalidade por referência aqui), onde os segmentos no mapa rodoviário são rotulados com sua classe (por exemplo, auto-estrada, rua de superfície, etc.). O sistema 100 é capaz de determinar os períodos de tempo em que o veículo 118 estava atravessando um conjunto consecutivo de tais segmentos, e determinar uma métrica de velocidade relativa M para cada período de tempo (usando a definição de velocidade relativa acima, por exemplo, um número entre -1 e 1). Tal métrica pode ser produzida para cada intervalo de T minutos ou menos que o veículo 118 estava sendo operado, de modo que, por exemplo, se T era 5 minutos, e o veículo 118 atravessou uma sequência de rodovias por 20 minutos, o sistema 100 pode produzir 4 métrica. Para cada métrica M, se I Ml > limite (por exemplo, 0,25), e se M é positivo, o sistema 100 pode incrementar a pontuação rápida do motorista. Inversamente, se M é negativo, o sistema 100 pode incrementar a pontuação lenta do motorista. O risco de velocidade relativa lenta e rápida do motorista acumula quanto mais frequentemente o usuário engata em direção lenta/rápida. Em algumas implementações, o sistema 100 não normaliza para a quantidade total de direção, ou o número de vezes que o motorista operou o veículo 118 em uma estrada particular.
2. Distância de seguimento
[0066] Computar uma pontuação de risco para distância de seguimento pode incluir identificar períodos em que o veículo 118 estava operando em segmentos em que "tailgating" estreitamente outros veículos é mais arriscado (por exemplo, segmentos de autoestrada) que outros segmentos (por exemplo, ruas residenciais) e então acumula "uma pontuação de risco de seguimento" baseado na quantidade total de tempo de "tailgating" gasto. Dado um conjunto de períodos de tempo quando o veículo 118 estava atravessando um segmento de rodovia (que, como previamente descrito, pode ser inferido por meio de correspondência de mapa), o sistema 100 é capaz de dividir aqueles períodos de tempo em janelas de no máximo T minutos, e determinar a métrica de distância seguinte para cada janela. O sistema 100 é capaz de incrementar a pontuação seguinte geral por 1 para cada tal janela quando a métrica de distância de seguimento está acima de algum limite (por exemplo, 0,25). Desta maneira, o sistema 100 pode acumular a métrica de risco de distância de seguimento como o motorista opera o veículo 118 próximo a outro veículo (por exemplo, "tailgating") com o tempo.
3. Densidade de Tráfego
[0067] O sistema 100 pode determinar a pontuação de risco para densidade de tráfego dividindo todo o tempo de direção do motorista em intervalos de comprimento T ou mais curto (em mais implementações, o valor de T é 5 minutos), e medir o número de tais intervalos quando a métrica de densidade excede D veículos. O valor D pode ser selecionado baseado na resolução da câmera 102 em uso e o detector de objeto, como pode existir variabilidade considerável com respeito ao número de pixels que outro veículo particular deve ocupar para ser identificado por detectores de objeto diferentes.
4. Paradas perdidas (paradas em andamento/com falhas)
[0068] O sistema 100 pode determinar a pontuação de risco para paradas em andamento/com falhas medindo um número de paradas perdidas durante um período de pontuação (por exemplo, duas semanas). Em algumas implementações, algumas paradas perdidas podem ter peso maior que outras. Por exemplo, se o veículo 118 está prosseguindo através de um sinal de parar mais rápido que certa velocidade (por exemplo, 24,14 km por hora) através do sinal de parada, esta parada perdida pode ter peso mais alto que em casos em que o veículo 118 prossegue através de luzes amarelas ou prossegue lentamente (por exemplo, 3,22 km por hora) através de um sinal de parada.
5. Comportamento em curva
[0069] O sistema 100 pode determinar a pontuação de risco para curvas inseguras somando todas as métricas de curva calculadas determinadas para o motorista.
6. Paradas bruscas contextualizadas
[0070] O sistema 100 pode determinar o risco de parada brusca contextualizada como a soma da métrica de parada brusca contextualizada sobre todos os eventos de frenagem brusca. Em algumas implementações, esta métrica de risco contextualizada pode ser usada no lugar do risco de frenagem melhorado sem imagem, ou em conjunto com ele.
7. Visibilidade Prejudicada
[0071] O sistema 100 pode determinar a pontuação de risco total dividindo o tempo de direção em janelas de T minutos, e então somando a métrica de visibilidade sobre todas as tais janelas.
8. Comportamento em faixas de pedestres
[0072] O sistema 100 pode determinar uma pontuação de risco total para comportamento em faixa de pedestres somando a métrica de faixa de pedestres sobre todo o tempo de direção. Em algumas implementações, a métrica pode ser determinada para diferentes tipos de estradas separadamente, e estradas maiores com veículos mais rápidos (por exemplo, rodovias com tráfego leve) podem ser dimensionadas de modo que tenham peso maior que estradas menores com veículos mais lentos (por exemplo, bairros residenciais).
Manipular Dados de Imagem em Sistemas de Computação Móveis
[0073] Um desafio da análise de imagem com base me smartphone pode estar relacionado à manipulação do volume de dados produzidos por câmeras em largura de banda e eficiência energética. Processar, transmitir, e armazenar estes dados pode esgotar a bateria do smartphone, usar largura de banda de rede preciosa, e também construir grandes volumes de armazenamento em servidores.
[0074] Métodos são descritos aqui para processar os dados de imagem 112 que podem ajudar a aliviar estas questões enquanto ainda permitem que os métodos previamente dês ritos sejam executados em uma maneira eficiente em energia e computacionalmente.
[0075] Em vez de transmitir todos os dados de imagem 112 para o ambiente de computação remoto 110, o sistema 100 pode processar dados de aceleração, velocidade e posição no sistema de computação local 106, identificar faixas de tempo de interesse, e transmitir os dados de sensor 114 correspondendo com as faixas de tempo de interesse para o ambiente de computação remoto 110. Para reduzir mais a largura de banda, algoritmos de processamento local podem ser aplicados os dados (por exemplo, no celular) antes de transmitir para o ambiente de computação remoto 110. Por exemplo, se um objetivo é identificar densidade de tráfego, o sistema 100 pode identificar outros veículos usando processadores no telefone, e então transmitir a informação relacionada com o número de carros e proximidade com cada carro (como identificado pelo processamento no telefone) para o ambiente de computação remoto 110.
[0076] Em algumas implementações, porque algoritmos de processamento podem ser computacionalmente dispendiosos, uma abordagem para determinar se é mais barato processar no sistema de computação local 106 ou no ambiente de computação remoto pode ser determinada com base em capacidades de processamento do sistema de computação local. Por exemplo, o sistema 100 pode gerar um perfil indicando tempos de computação para cada um do sistema de computação local 106 e o ambiente de computação remoto 110.
[0077] Voltando à figura 2, é mostrado um método para processamento de imagem de dados telemáticos para classificar de modo contextual o comportamento do motorista. O sistema de computação 106 (por exemplo, celular) captura e armazena (202) os dados de vídeo localmente, tanto na câmera quando no armazenamento de dispositivo. Além disso, o sistema de computação 106 captura outros dados telemáticos, tal como dados de localização, velocidade, aceleração, e rotação (giro). Os outros dados 104 são carregados (204) para o ambiente de computação remoto 110 para processamento, e um conjunto de períodos de tempo "interessantes", tais como lugares onde o usuário engatou em frenagem brusca ou velocidade excessiva são transmitidos para o sistema de computação 106.
[0078] O vídeo dos períodos de tempo interessantes é processado (208) localmente, e tanto os resultados de que processamento ou os dados locais, ou ambos, são transmitidos (210) para o ambiente de computação remoto 110 para processamento adicional. A determinação de que tipo de processamento que é aplicado localmente depende da análise específica sendo feita (por exemplo, cuja métrica está sendo calculada como descrito acima), bem como as capacidades do telefone.
[0079] Especificamente, um método para selecionar se aplicar o processamento localmente no sistema de computação local 106 ou remotamente no ambiente de computação remoto 110 funciona como segue: Suponha que existe um conjunto de vídeo, D, que custou (em dólares ou energia) T(D) para transmitir do telefone para o servidor. Adicionalmente, supor que existe um custo P(D) para processar estes dados com algum algoritmo de processamento local no telefone, produzindo um conjunto de dados reduzido D’, com um custo T(D’) para transmitir do telefone para o servidor. T(D) e P(D) podem ser estimados transmitindo/processando uma pequena quantidade de dados localmente e observando métricas de nível OS em consumo de energia, por exemplo. Este método então escolhe processar dados localmente e transmitir D’ quando T(D)>T(D’) ^ P(D), e de outro modo envia D diretamente para o servidor para processamento.
[0080] Em alguns casos, o método 200 descrito previamente com referência à figura 2 pode perder alguns eventos de interesse. Por exemplo, o método 200 pode perder um evento em que o veículo 118 está acelerando através de luzes amarelas que não são sinalizadas como eventos de aceleração extrema. Por exemplo, em alguns casos, um telefone celular não processa cada quadro do vídeo devido a exigências computacionais, e, portanto, o telefone celular pode priorizar quadros de vídeo para processamento.
[0081] Para superar esta limitação potencial, o sistema de computação 106 é configurado para executar a detecção no telefone em um subconjunto de quadros de vídeo, mesmo aqueles que não contêm "eventos interessantes" como no método 200 descrito previamente com referência à figura 2. Portanto, o sistema 100 pode ser configurado para escolher em que subconjunto de quadros aplicar o algoritmo de detecção.
[0082] A maioria de objetos e comportamentos de interesse em uma situação de direção, especialmente quando não existe desaceleração severa (por exemplo, devido a uma colisão), ocorre no vídeo por vários segundos. Por exemplo, sinais de parada e semáforos podem normalmente ser visíveis por vários segundos quando um motorista se aproxima. Assim, pode não ser necessário analisar cada quadro do vídeo (que pode ser capturado em 30 fps ou mais), e em vez do sistema 100 pode ser configurado para processar um quadro a cada poucos segundos para determinar e o quadro contém um sinal de parada ou semáforo.
[0083] Em alguns casos, os dados de sensor 104 podem fornecer contexto sobre onde ocorrem eventos interessantes nos dados de imagem 112. Por exemplo, sinais de parada em geral podem não estar localizados em rodovias, animais podem em geral não estar presente em ambientes urbanos, e motoristas podem em geral desacelerar ao se aproximar de um sinal de parada. Este conhecimento geral pode ser usado para gerar ponderações para quadros ou grupos de quadros incluídos nos dados de imagem 112. As ponderações podem ser usadas para priorizar quadros de imagem para processamento.
[0084] Por exemplo, estas observações podem levar a um método geral que atribui um valor para cada quadro com base em se outros quadros próximos foram analisados, com base em estatísticas observadas sobre a frequência de diferentes tipos de objetos, ou ambos. Estes valores podem ser atribuídos até certa taxa de quadros por segundo para limitar o consumo de bateria, ou somente quando o telefone está carregado (por exemplo, conectado em uma fonte de energia).
[0085] O processo de atribuir tais valores pode ser descrito de acordo com o pseudocódigo seguinte: Quando o telefone ou dispositivo de processamento tem energia suficiente (por exemplo, está conectado): Seja V = conjunto de quadros de vídeo, amostrados em algum intervalo regular, por exemplo, uma vez por segundo Para cada quadro não processado f em V: Seja E = Eventos Interessantes em torno de f (por exemplo, frenagem brusca, velocidade, etc.) Seja C - Contexto de Direção em torno de f (por exemplo, auto-estrada vs não auto-estrada, urbano vs rural) Seja H = histórico de detector em torno de f (por exemplo, último detector executado a k segundos) Se (deve processar? (f, E, C, H) Seja D = escolher detector (f, E,C,H) Seja fD = D(f)//executar o detector Se (fD não está vazio): Salvar fD como um detector Enfileirar fD para transmissão para o servidor Marcar f como processado
[0086] Portanto, a escolha de se processar um quadro pode depender dos eventos no momento que o quadro foi capturado, o contexto de direção (por exemplo, se o veículo 118 está atravessando uma auto-estrada), bem como há quanto tempo e o que foi detectado última vez que um quadro foi analisado (por exemplo, quando o veículo 118 está se movendo em velocidade baixa em um ambiente urbano congestionado, pode não ser benéfico processar novos quadros tão frequentemente quanto quando o veículo 118 está se movendo em velocidade rápida em um ambiente rural). A escolha do detector de objeto para uso pode depender desta informação contextual. Por exemplo, um detector de objeto diferente pode ser usado em configurações urbanas vs rurais. Isto pode ser importante porque detectores de objeto podem levar mais tempo para detectar objetos e podem ser mais lentos quando precisam ser capazes de detectar mais ou maiores classes de objetos.
[0087] A figura 3 mostra dados de imagem exemplares 300. Uma câmera voltada para frente 102 captura luzes de rua 306, sinais de rua 304, e outros veículos 302 como recursos. Quando o veículo 118 se move para frente, quadros subsequentes dos dados de imagem 200 capturados pela câmera 102 mostram os outros veículos, rodovia, sinais de rua, etc. em posições atualizadas no quadro. Os dados de posição/velocidade recolhidos dos sensores 104 podem ser usados para mapear as características dos dados de imagem 300 de um quadro para o seguinte para fazer determinações de eventos de interesse, como descrito previamente. Em algumas implementações, estas características são extraídas dos dados de imagem 300 usando técnicas de aprendizado de máquina, tal como descrito posteriormente com referência à figura 4.
[0088] A figura 4 mostra um exemplo de um sistema de processamento de dados 400 para realizar operações de aprendizado de máquina. Em algumas implementações, o sistema de processamento de dados 400 pode incluir um ou ambos do dispositivo de computação local 106 e o ambiente de computação remoto 110. O sistema de processamento de dados 400 inclui um mecanismo de classificação de recurso 402 e um mecanismo de previsão 404. O mecanismo de classificação de recurso 402 e o mecanismo de previsão 404 podem estar em comunicação entre eles, com um dispositivo de cliente 105, ou ambos.
[0089] Os eventos de risco identificados (como descrito previamente) são representados pelas características de um vetor de recurso 406. O vetor de recurso 406 representa de modo conciso as características dos dados capturados 112, 114, e podem ser processados pelo sistema de processamento de dados 400, tal como usando uma rede neural ou outras técnicas de aprendizado de máquina. O vetor de recurso 406 é gerado usando a lógica de vetor de recurso 408. A lógica de vetor de recurso 408 é capaz de processar os dados 112, 114 (isto é, os dados coletivos 108) que são capturados pela câmera 102 e sensores 104, e transformar os dados 112, 114 em um vetor formatado que represente os recursos dos dados de imagem 112 e dados de sensor 114. Estes recursos podem ser úteis para identificar eventos de interesse. Em um exemplo ilustrativo, uma detecção de um grupo de pixels vermelhos dos dados de imagem 112 pode ser um recurso que é usado para determinar se um sinal de parada ou luz vermelha é detectado em um quadro de imagem. Em outro exemplo, um vetor de valores de aceleração pode ser usado para identificar eventos de frenagem brusca.
[0090] O vetor de recurso 406 é enviado do dispositivo do cliente para o mecanismo de classificação de recurso 402 do sistema de processamento de dados 400. O mecanismo de classificação de recurso 402 inclui lógica que transforma o vetor de recurso 406 em dados de classificação de recurso 414 que pode ser usado para fazer previsões de eventos de interesse para o motorista pelo mecanismo de previsão 404. O mecanismo de classificação de recurso 402 inclui um mecanismo lógico de transformação de recurso 410 e lógica de aprendizado de máquina 412.
[0091] A lógica de transformação de recurso 410 é capaz de transformar o vetor de recurso em entradas para a lógica de aprendizado de máquina 412. Por exemplo, a lógica de transformação de recurso 410 pode normalizar os recursos do vetor de recurso 406 para valores que podem ser reconhecidos pela lógica de aprendizado de máquina 412, tal como entradas de ativação para uma rede neural. Em algumas implementações, a lógica de aprendizado de máquina 412 é uma máquina de vetor de suporte. Em algumas implementações, os recursos do vetor de recurso 406 são transformados em valores entre 0 e 1 através de uma transformação não linear, onde o valor normalizado representa um nível de ativação para a rede neural, e onde a escala normalizada é uma representação não linear dos valores dos recursos antes do processo de normalização. Os valores para os quais os recursos são transformados podem depender de um tipo de lógica de aprendizado de máquina sendo usada, e o esquema de ponderação associado com a lógica de aprendizado de máquina.
[0092] A lógica de aprendizado de máquina 412 (por exemplo, uma rede neural, máquina de vetor de suporte, etc.) é capaz de receber os recursos normalizados do vetor de recurso 406 e dados de classificação de computação 414, tal como através de um processo de aprendizado profundo. Por exemplo, a lógica de rede neural pode incluir uma rede neural de memória a longo prazo, que rastreia dependências entre os recursos do vetor de recurso 406. Outras redes neurais recorrentes podem ser usadas, bem como outros classificadores de aprendizado de máquina.
[0093] Os dados de classificador de recurso 414 incluem métrica de classificação para um ou mais dos recursos do vetor de recurso 406 para valores de interesse de recursos conhecidos, tal como de uma biblioteca de recurso. Por exemplo, a classificação de percentagem pode ser computada para cada recurso. O mecanismo de previsão 404 pode comparar os valores de classificação de dados de classificador de recurso 414 para uma classificação de limite, e descartar recursos com classificação insuficiente. Porque os recursos podem ter dependências um do outro, a métrica de classificação pode ser determinada antes dos recursos serem descartados.
[0094] Em algumas implementações, os valores de métrica de classificação podem ser armazenados em um índice de recurso. O índice é capaz de mostrar os valores de classificação para cada recurso do índice. O mecanismo de previsão 404, usando os valores de classificação, é capaz de gerar dados de previsão 416 representando um ou mais valores de previsão para cada evento de interesse. Se um valor de previsão está acima de um valor limite predeterminado, o mecanismo de previsão 404 pode prever que o evento de interesse ocorreu. Por exemplo, o limite predeterminado pode ser um valor de previsão acima de 50%. Em algumas implementações, para reduzir falsos positivos ou falsos negativos, o limite predeterminado pode ser uma percentagem maior ou uma percentagem menor que 50%.
[0095] Como usado neste relatório, o termo "veículo" é definido amplamente para incluir, por exemplo, qualquer tipo de meio de transporte terrestre tais como um carro, caminhão, ônibus, bicicleta, motocicleta, ou veículo de passeio, dentre outros.
[0096] Embora, para fins lucrativos, um motorista tenha sido descrito no contexto de um motorista humano, implementações não são assim limitadas. Por exemplo, um motorista pode se referir a um computador de bordo (por exemplo, direção autônoma) ou uma combinação de motorista humano e um computador de bordo (por exemplo, direção semi-autônoma).
[0097] Outras implementações estão dentro do escopo e espírito da descrição e concretizações. Adicionalmente, devido à natureza de software, as funções descritas acima podem ser implementadas usando software, hardware, firmware, cabeamento, ou combinações de qualquer uma destas. Recursos implementando funções podem também ser fisicamente localizadas em várias posições, incluindo ser distribuída de modo que partes das funções são implementadas em diferentes localizações físicas. O uso do termo "um" como usado neste relatório não é usado em uma maneira limitante e portando não significa excluir um significado múltiplo ou um significado de "um ou mais" para o termo "um". Adicionalmente, na medida em que é reivindicada prioridade para um pedido de patente provisória, deve ser entendido que o pedido de patente provisória não é limitante, mas inclui exemplos de como as técnicas descritas aqui podem ser implementadas.
[0098] Outras implementações estão dentro do escopo das concretizações.

Claims (17)

1. Sistema de processamento de dados, caracterizado pelo fato de que compreende: um ou mais processadores; e memória armazenando um método executável por um ou mais processadores para coordenar (a) detecção de pelo menos um evento de interesse que pode ter ocorrido em um veículo (118) durante um ou mais momentos a partir de dados de posição, velocidade ou aceleração capturados por um ou mais sensores (104) no veículo (118), com (b) processamento de uma combinação de dados de posição, velocidade ou aceleração capturados pelos ou mais sensores (104) no veículo (118) durante os um ou mais momentos e dados de imagem (112) capturados por uma câmera (102) no veículo (118) durante os um ou mais momentos para determinar uma probabilidade prevista do pelo menos um evento de interesse ter ocorrido, o método armazenado que é executável por um ou mais processadores para coordenar (a) com (b) compreendendo um método armazenado executável por um ou mais processadores para: receber eletronicamente os dados de posição, velocidade ou aceleração capturados pelos um ou mais sensores (104) no veículo (118); processar os dados de posição, velocidade ou aceleração para detectar dados indicativos de pelo menos um evento de interesse que pode ter ocorrido no veículo (118) durante um ou mais momentos; em resposta à detecção dos dados indicativos do pelo menos um evento de interesse, processar uma combinação dos dados de posição, velocidade ou aceleração capturados pelos um ou mais sensores (104) no veículo (118) durante os um ou mais momentos e dados de imagem (112) capturados pela câmera (102) no veículo (118) durante os um ou mais momentos, incluindo: receber eletronicamente os dados de imagem (112) capturados pela câmera (102) no veículo (118) durante os um ou mais momentos; combinar os dados de imagem (112) capturados durante os um ou mais momentos e os dados de posição, velocidade, ou aceleração capturados durante os um ou mais momentos para gerar e armazenar eletronicamente dados coletivos (108) representando o pelo menos um evento de interesse; e determinar, com base pelo menos parcialmente nos dados coletivos (108) armazenados eletronicamente, um contexto do pelo menos um evento de interesse.
2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que o evento de interesse compreende um evento de velocidade relativa, um evento de distância seguinte, um evento de densidade de tráfego, um evento de andamento, um evento de parada perdida, um evento de comportamento de viragem, um evento de parada brusca, um evento de visibilidade prejudicada, ou um evento de comportamento da faixa de pedestre.
3. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são configurados para gerar uma pontuação de risco que está associada a um motorista do veículo (118) com base pelo menos parcialmente no contexto e no pelo menos um evento de interesse, em que o pelo menos pelo menos um evento de interesse está associado a um risco, e em que o risco é ajustado com base no contexto para gerar a pontuação de risco para o motorista do veículo (118).
4. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que os dados de imagem (112) compreendem uma ou mais de uma imagem e uma série de imagens.
5. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são parte de um dispositivo móvel ou de um dispositivo de veículo (118).
6. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são configurados para: receber informações sobre um contexto no veículo (118) antes dos um ou mais momentos; e determinar se deve processar os dados de imagem (112) capturados pela câmera (102) no veículo (118) durante os um ou mais momentos com base, pelo menos em parte, nas informações sobre o contexto no veículo (118) antes dos um ou mais momentos.
7. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são configurados para: gerar um vetor de recurso compreendendo recursos dos dados coletivos (108) representando pelo menos um evento de interesse; determinar, usando lógica de aprendizado de máquina, uma métrica de classificação para cada recurso do vetor de recursos; atribuir a cada recurso, com base, pelo menos parcialmente, na métrica de classificação do respectivo recurso, um peso de previsão; e determinar, com base pelo menos parcialmente nos dados coletivos (108) e nos pesos de previsão, o contexto de pelo menos um evento de interesse.
8. Método implementado por computador, caracterizado pelo fato de que compreende as etapas de: receber dados de posição, velocidade, ou aceleração capturados por um ou mais sensores (104) em um veículo (118); processar os dados de posição, velocidade, ou aceleração para detectar dados indicativos de pelo menos um evento de interesse no veículo (118) que pode ter ocorrido durante uma ou mais vezes; em resposta à detecção dos dados indicativos do pelo menos um evento de interesse, processar uma combinação dos dados de posição, velocidade ou aceleração capturados pelos um ou mais sensores (104) no veículo (118) durante um ou mais momentos e dados de imagem (112) capturados por uma câmera (102) no veículo (118) durante os um ou mais momentos, incluindo: receber os dados de imagem (112) capturados pela câmera (102) no veículo (118) durante os um ou mais momentos; combinar os dados de imagem (112) capturados durante os um ou mais momentos e os dados de posição, velocidade ou aceleração capturados durante os um ou mais momentos para gerar e armazenar dados coletivos (108) representando o pelo menos um evento de interesse; e gerar, com base pelo menos parcialmente nos dados coletivos (108) armazenados, um contexto do pelo menos um evento de interesse.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que um ou mais dos dados de imagem (112) e os dados de posição, velocidade ou aceleração são processados por um dispositivo móvel para gerar dados pré-processados, e em que os dados pré-processados são enviados para um ambiente de computação para processamento posterior.
10. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que o pelo menos um evento de interesse compreende um ou mais de um evento de velocidade relativa, um evento de distância seguinte, um evento de densidade de tráfego, um evento de andamento, um evento de parada perdida, um evento de comportamento de viragem, um evento de parada brusca, um evento de visibilidade prejudicada, ou um evento de comportamento da faixa de pedestre.
11. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que compreende gerar uma pontuação de risco que está associada a um motorista do veículo (118) com base, pelo menos parcialmente, no contexto e no pelo menos um evento de interesse, em que o pelo menos um evento de interesse está associado a um risco, e em que o risco é ajustado com base no contexto para gerar a pontuação de risco para o motorista do veículo (118).
12. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que compreende: gerar um vetor de recursos compreendendo recursos dos dados coletivos (108) representando pelo menos um evento de interesse; determinar, usando lógica de aprendizado de máquina, uma métrica de classificação para cada recurso do vetor de recursos; atribuir a cada recurso, com base pelo menos parcialmente na métrica de classificação do respectivo recurso, um peso de previsão; e determinar, com base pelo menos parcialmente nos dados coletivos (108) e nos pesos de previsão, o contexto de pelo menos um evento de interesse.
13. Meio de armazenamento legível por computador não transitório caracterizado pelo fato de que tem um método executável por um ou mais processadores para fazer com que os processadores executem operações compreendendo: receber eletronicamente dados de posição, velocidade ou aceleração capturados por um ou mais sensores (104) em um veículo (118); processar os dados de posição, velocidade ou aceleração para detectar dados indicativos de pelo menos um evento de interesse que pode ter ocorrido no veículo (118) durante um ou mais momentos; em resposta à detecção dos dados indicativos dos pelo menos um eventos de interesse, processar uma combinação dos dados de posição, velocidade ou aceleração capturados pelos um ou mais sensores (104) no veículo (118) durante os um ou mais momentos e dados de imagem (112) capturados por uma câmera (102) no veículo (118) durante os um ou mais momentos, incluindo: receber eletronicamente os dados de imagem (112) capturados pela câmera (102) no veículo (118) durante os um ou mais momentos; combinar os dados de imagem (112) e os dados de posição, velocidade ou aceleração para gerar e armazenar eletronicamente dados coletivos (108) representando o pelo menos um evento de interesse; e gerar, com base pelo menos parcialmente nos dados coletivos (108) armazenados eletronicamente, um contexto do pelo menos um evento de interesse.
14. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 13, caracterizado pelo fato de que um ou mais dos dados de imagem (112) e os dados de posição, velocidade ou aceleração são processados por um dispositivo móvel para gerar dados pré-processados, e em que os dados pré- processados são enviados para um ambiente de computação remoto (110) para processamento adicional.
15. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 13, caracterizado pelo fato de que o pelo menos um evento de interesse compreende um evento de velocidade relativa, um evento de distância seguinte, um evento de densidade de tráfego, um evento de andamento, um evento de parada perdida, um evento de comportamento de viragem, um evento de parada brusca, um evento de visibilidade prejudicada, ou um evento de comportamento da faixa de pedestre.
16. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 13, caracterizado pelo fato de que as operações compreendem gerar uma pontuação de risco que está associada a um motorista do veículo (118) com base, pelo menos parcialmente, no contexto e no pelo menos um evento de interesse, em que o pelo menos um evento de interesse está associado a um risco, e em que o risco é ajustado com base no contexto para gerar a pontuação de risco para o motorista do veículo (118).
17. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 13, caracterizado pelo fato de que tem um método executável por um ou mais processadores para fazer com que um ou mais processadores executem operações compreendendo: gerar um vetor de recursos compreendendo características dos dados coletivos (108) representando pelo menos um evento de interesse; determinar, usando lógica de aprendizado de máquina, uma métrica de classificação para cada recurso do vetor de recursos; atribuir a cada recurso, com base pelo menos parcialmente na métrica de classificação do respectivo recurso, um peso de previsão; e determinar, com base pelo menos parcialmente nos dados coletivos (108) e nos pesos de previsão, o contexto de pelo menos um evento de interesse.
BR112021003944-9A 2018-09-04 2019-09-04 Sistema de processamento de dados e método implementado por computador e meio de armazenamento legível por computador não transitório BR112021003944B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862726916P 2018-09-04 2018-09-04
US62/726,916 2018-09-04
PCT/US2019/049418 WO2020051168A1 (en) 2018-09-04 2019-09-04 Systems and methods for classifying driver behavior

Publications (2)

Publication Number Publication Date
BR112021003944A2 BR112021003944A2 (pt) 2021-05-18
BR112021003944B1 true BR112021003944B1 (pt) 2023-07-25

Family

ID=

Similar Documents

Publication Publication Date Title
US11315026B2 (en) Systems and methods for classifying driver behavior
US11990036B2 (en) Driver behavior monitoring
JP7399075B2 (ja) 情報処理装置、情報処理方法及びプログラム
US20210304593A1 (en) Method and system for determining traffic-related characteristics
Shirazi et al. Looking at intersections: a survey of intersection monitoring, behavior and safety analysis of recent studies
CN107031656B (zh) 用于车轮止动器检测的虚拟传感器数据生成
US10922970B2 (en) Methods and systems for facilitating driving-assistance to drivers of vehicles
US20170330455A1 (en) Driving determination device and detection device
KR102133913B1 (ko) 딥러닝 기반의 객체인식을 이용한 객체별 맞춤 정보제공 안내전광판 시스템 및 그 제어 방법
US20200117912A1 (en) System and method for determining vehicle data set familiarity
WO2017123665A1 (en) Driver behavior monitoring
US20160297433A1 (en) Long Term Driving Danger Prediction System
CN111094095B (zh) 自动地感知行驶信号的方法、装置及运载工具
WO2019116423A1 (ja) 教師データ収集装置
US10691958B1 (en) Per-lane traffic data collection and/or navigation
Detzer et al. Analysis of traffic safety for cyclists: The automatic detection of critical traffic situations for cyclists
Singh et al. A Review: Techniques of vehicle detection in Fog
BR112021003944B1 (pt) Sistema de processamento de dados e método implementado por computador e meio de armazenamento legível por computador não transitório
JP7276276B2 (ja) 危険運転検出装置、危険運転検出システム、及び危険運転検出プログラム
JP7238821B2 (ja) 地図生成システム及び地図生成プログラム
JP2022056153A (ja) 一時停止検出装置、一時停止検出システム、及び一時停止検出プログラム
Carmona et al. Analysis of Aggressive Driver Behaviour using Data Fusion.
KR102340902B1 (ko) 스쿨존을 모니터링하는 장치 및 방법
US11741721B2 (en) Automatic detection of roadway signage
US20210405641A1 (en) Detecting positioning of a sensor system associated with a vehicle