ES3032881T3 - System and method for obtaining training data - Google Patents

System and method for obtaining training data

Info

Publication number
ES3032881T3
ES3032881T3 ES19859523T ES19859523T ES3032881T3 ES 3032881 T3 ES3032881 T3 ES 3032881T3 ES 19859523 T ES19859523 T ES 19859523T ES 19859523 T ES19859523 T ES 19859523T ES 3032881 T3 ES3032881 T3 ES 3032881T3
Authority
ES
Spain
Prior art keywords
classifier
vehicle
trigger
sensor data
neural network
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES19859523T
Other languages
English (en)
Inventor
Andrej Karpathy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tesla Inc
Original Assignee
Tesla 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=69777876&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES3032881(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Tesla Inc filed Critical Tesla Inc
Application granted granted Critical
Publication of ES3032881T3 publication Critical patent/ES3032881T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/08—Learning methods
    • G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • G—PHYSICS
    • G05—CONTROLLING; REGULATING
    • G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02—Control of position or course in two dimensions
    • G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00—Pattern recognition
    • G06F18/20—Analysing
    • G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00—Pattern recognition
    • G06F18/20—Analysing
    • G06F18/24—Classification techniques
    • G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133—Distances to prototypes
    • G06F18/24137—Distances to cluster centroïds
    • G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/04—Architecture, e.g. interconnection topology
    • G06N3/045—Combinations of networks
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/04—Architecture, e.g. interconnection topology
    • G06N3/0464—Convolutional networks [CNN, ConvNet]
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/08—Learning methods
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/08—Learning methods
    • G06N3/09—Supervised learning
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00—Arrangements for image or video recognition or understanding
    • G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00—Arrangements for image or video recognition or understanding
    • G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00—Arrangements for image or video recognition or understanding
    • G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00—Scenes; Scene-specific elements
    • G06V20/50—Context or environment of the image
    • G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00—Scenes; Scene-specific elements
    • G06V20/50—Context or environment of the image
    • G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G—PHYSICS
    • G08—SIGNALLING
    • G08G—TRAFFIC CONTROL SYSTEMS
    • G08G1/00—Traffic control systems for road vehicles
    • G08G1/01—Detecting movement of traffic to be counted or controlled
    • G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108—Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0112—Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
    • G—PHYSICS
    • G08—SIGNALLING
    • G08G—TRAFFIC CONTROL SYSTEMS
    • G08G1/00—Traffic control systems for road vehicles
    • G08G1/01—Detecting movement of traffic to be counted or controlled
    • G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125—Traffic data processing
    • G08G1/0129—Traffic data processing for creating historical data or processing based on historical data
    • G—PHYSICS
    • G08—SIGNALLING
    • G08G—TRAFFIC CONTROL SYSTEMS
    • G08G1/00—Traffic control systems for road vehicles
    • G08G1/01—Detecting movement of traffic to be counted or controlled
    • G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125—Traffic data processing
    • G08G1/0133—Traffic data processing for classifying traffic situation
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88—Lidar systems specially adapted for specific applications
    • G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00—Machine learning
    • G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00—Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08—Detecting or categorising vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)

Abstract

Se describen sistemas y métodos para obtener datos de entrenamiento. Un método de ejemplo incluye la recepción de un sensor y la aplicación de una red neuronal a sus datos. Se aplica un clasificador de disparo a un resultado intermedio de la red neuronal para determinar una puntuación de clasificador para los datos del sensor. Con base, al menos en parte, en la puntuación del clasificador, se determina si se debe transmitir a través de una red informática al menos una parte de los datos del sensor. Si la determinación es positiva, los datos del sensor se transmiten y se utilizan para generar datos de entrenamiento. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Sistema y método para la obtención de datos de entrenamiento
CAMPO TÉCNICO
La presente exposición se refiere a sistemas y técnicas de aprendizaje automático. Más específicamente, la presente exposición se refiere a técnicas para la generación de datos de entrenamiento.
ANTECEDENTES
Los sistemas de aprendizaje profundo (“deep learning”) utilizados para aplicaciones tales como la conducción autónoma se desarrollan mediante el entrenamiento de un modelo de aprendizaje automático. Normalmente, el rendimiento del sistema de aprendizaje profundo está limitado por lo menos en parte por la calidad del conjunto de entrenamiento utilizado para entrenar el modelo. En muchas ocasiones, se invierten recursos significativos en la recopilación, gestión activa (en inglés, "curating") y anotación de los datos de entrenamiento. El esfuerzo requerido para crear el conjunto de entrenamiento puede ser significativo y a menudo resulta tedioso. Además, con frecuencia resulta difícil recopilar datos para casos de uso particulares en los que un modelo de aprendizaje automático necesita mejorar.
Alain Guillaume et al: "Understanding intermediate layers using linear classifier probes", 14 de octubre de 2016, p. 1 9, se refiere a modelos de redes neuronales.
Mariusz Bojarski et al: "End to End Learning for Self-Driving Cars", Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, 25 de abril de 2016, se refiere a coches con conducción autónoma.
DESCRIPCIÓN RESUMIDA DE LA INVENCIÓN
La invención se define en las reivindicaciones independientes. Las realizaciones preferentes se exponen en las reivindicaciones dependientes.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Los dibujos siguientes y las descripciones asociadas se proporcionan con el fin de ilustrar realizaciones de la presente exposición.
La Figura 1A es un diagrama esquemático que ilustra un automóvil circulando por una carretera y detectando un neumático situado en la carretera.
La Figura 1B es un diagrama de bloques que ilustra una realización de un sistema para generar datos de entrenamiento.
La Figura 2 es un diagrama de flujo que ilustra una realización de un procedimiento para aplicar un clasificador de disparadores al resultado intermedio de un modelo de aprendizaje automático.
La Figura 3 es un diagrama de flujo que ilustra una realización de un procedimiento para crear un clasificador de disparadores utilizando el resultado intermedio de un modelo de aprendizaje automático.
La Figura 4 es un diagrama de flujo que ilustra una realización de un procedimiento para identificar posibles datos de entrenamiento utilizando un clasificador de disparadores y transmitir datos de sensores.
La Figura 5 es un diagrama de flujo que ilustra una realización de un procedimiento para desplegar datos de entrenamiento a partir de datos correspondientes a casos de uso identificados por un clasificador de disparadores. La Figura 6 es un diagrama de flujo que ilustra una realización de un procedimiento para ejecutar una selección de un clasificador en un vehículo y transmitir datos de sensores.
La Figura 7 es un diagrama de bloques que ilustra una realización de un sistema de aprendizaje profundo para identificar datos de entrenamiento potenciales.
DESCRIPCIÓN DETALLADA
Introducción
La presente especificación describe innovaciones que, como mínimo, abordan los siguientes problemas técnicos. Las técnicas efectivas de aprendizaje automático están basadas en conjuntos de datos de entrenamiento que se utilizan para informar los modelos subyacentes de aprendizaje automático. Por ejemplo, una red neuronal puede entrenarse utilizando miles, cientos de miles, millones, o más, ejemplos. Durante el entrenamiento, dichos ejemplos pueden utilizarse para ajustar los parámetros de la red neuronal (p. ej., ponderaciones, sesgos, etc.). Además, estos ejemplos pueden utilizarse para ajustar los hiperparámetros de la red neuronal (p. ej., el número de capas). De esta manera, el acceso a los datos de entrenamiento es una limitación a la utilización de tales técnicas de aprendizaje automático.
A medida que los modelos de aprendizaje automático se vuelven más complejos, tales como las redes neuronales más profundas, se incrementa la necesidad de conjuntos de datos de entrenamiento de gran tamaño. Estas redes neuronales más profundas pueden requerir un mayor número de ejemplos de entrenamiento que las redes neuronales menos profundas para garantizar que su capacidad de generalización sea alta. Por ejemplo, aunque una red neuronal puede haber sido entrenada para ser muy precisa con respecto a los datos de entrenamiento, podría ser que la red neuronal no generalice bien a ejemplos futuros no vistos. En este ejemplo, la red neuronal podría beneficiarse de la inclusión de ejemplos adicionales en los datos de entrenamiento.
Puede apreciarse que la obtención de datos de entrenamiento puede suponer enormes obstáculos técnicos. Por ejemplo, determinados modelos de aprendizaje automático pueden utilizarse para clasificar características u objetos incluidos en imágenes. En el presente ejemplo, un modelo de aprendizaje automático puede aprender a reconocer un primer objeto (p. ej., un automóvil) a partir de un segundo objeto (p. ej., una señal de stop). La efectividad de estos modelos de aprendizaje automático puede verse limitada por el número de ejemplos de las características u objetos. Por ejemplo, una entidad podría desear que el modelo de aprendizaje automático reconozca una bicicleta que circula por la calle. A título de otro ejemplo, la entidad podría desear que el modelo de aprendizaje automático reconociese una bicicleta que está siendo transportada en la parte trasera de un coche. Ante la ausencia de ejemplos de entrenamiento suficientes, el modelo de aprendizaje automático puede no ser lo suficientemente preciso en su reconocimiento para ser utilizable. En general, una entidad podría requerir que una serie de personas dedique grandes esfuerzos a etiquetar imágenes para la inclusión de determinadas características u objetos. Por ejemplo, las personas pueden verse obligadas a revisar manualmente las imágenes y después asignar etiquetas a partes de las imágenes que correspondan a determinadas características u objetos.
Una realización es un sistema y un método que resuelve este problema mediante la generación rápida de datos de entrenamiento. En una realización, los datos de entrenamiento pueden incluir ejemplos de cualquier característica aprendible deseada. Con respecto a la visión por ordenador, los datos de entrenamiento pueden generarse rápidamente e incluyen ejemplos de cualquier objeto o característica deseada en las imágenes. Estos objetos o características podrían representar típicamente "'casos límite", que resultan difíciles de identificar. Por ejemplo, se pueden generar datos de entrenamiento que incluyan imágenes de escenas complejas deseadas por una entidad. En este ejemplo, la entidad podría preferir la obtención de imágenes que representen bicicletas en la parte trasera o delantera de los vehículos (p. ej., una bicicleta que está siendo transportada en un portabicicletas delantero de un autobús público).
La entidad descrita anteriormente puede aprovechar una multitud (p. ej., miles o millones) de vehículos que están circulando por diversas carreteras, o bien por zonas navegables, del mundo. Estos vehículos pueden incluir, o bien pueden tener acceso a sensores (p. ej., cámaras). Al desplazarse estos vehículos, pueden capturar información de los sensores. Por ejemplo, la información de sensores puede ser capturada durante el curso normal de funcionamiento de los vehículos. La información de sensores puede ser utilizada por los vehículos para determinadas funciones de conducción automatizada, tales como la navegación en carriles. Sin embargo, en una realización, el sistema incluye circuitos y software que permiten a los vehículos recopilar ejemplos de características de imagen u objetos deseados por la entidad para ser utilizados como datos de entrenamiento para sistemas de aprendizaje automático.
Por ejemplo, los clasificadores (p. ej., redes neuronales pequeñas o poco profundas, máquinas de soporte vectorial, etc.) pueden ser cargados en por lo menos una parte de los vehículos. Los vehículos pueden obtener información de sensores (p. ej., imágenes o vídeos) durante el funcionamiento normal y los clasificadores pueden configurarse para identificar características u objetos específicos representados en la información del sensor. Antes de ser proporcionados a los vehículos, estos clasificadores pueden ser entrenados para clasificar imágenes según si incluyen o no características u objetos específicos de imagen. Por ejemplo, se puede utilizar un número limitado de ejemplos de las características u objetos específicos de imagen (p. ej., cien, mil, etc.) para entrenar estos clasificadores. Tal como se describirá, los clasificadores pueden clasificar los datos de sensores utilizando información de una capa intermedia de un modelo de aprendizaje automático que se ejecuta en los vehículos. Un ejemplo de modelo de aprendizaje automático puede incluir una red convolucional. El modelo de aprendizaje automático de ejemplo puede utilizarse, por lo menos en parte, para las características de conducción automatizada descritas anteriormente. De esta manera, los clasificadores pueden aprovechar el modelo de aprendizaje automático de ejemplo existente.
Se puede cargar una multitud de estos clasificadores en un sistema informático dentro de un vehículo, de modo que el clasificador se pueda utilizar para reconocer características u objetos de imagen específicos asociados con los clasificadores. Las imágenes capturadas que el clasificador designa que incluyen la característica u objeto particular a continuación pueden ser transmitidas a un sistema de servidor central y utilizadas como datos de entrenamiento para sistemas de redes neuronales. Debido a que los clasificadores pueden aprovechar los modelos de aprendizaje automático existentes que ya están siendo ejecutados por los vehículos durante el funcionamiento habitual, los clasificadores podrían resultar eficientes en términos de requisitos de procesamiento. Además, puede haber un gran número de vehículos que circulen en entornos diferentes, lo que aumenta la probabilidad de obtener ejemplos de "casos límite" difíciles de encontrar de determinadas características. De esta manera, la entidad puede obtener rápidamente información de sensores (p. ej., imágenes) que representan características u objetos de imagen específicos para la entidad.
En la presente especificación, un objeto o característica que se va a aprender puede representar cualquier objeto, entorno, característica del mundo real, etc., que se pueda capturar en datos de sensores. Entre los objetos o características de ejemplo pueden incluirse un neumático en una carretera, una salida de túnel, una bicicleta, un árbol con ramas que se extienden hacia una carretera, una escena en la que los vehículos están orientados de una manera particular o realizando una acción o maniobra en particular, y de esta manera sucesivamente. Además, en el presente documento se hace referencia a la identificación de datos de entrenamiento para un caso de uso o propósito. Un caso de uso o propósito de ejemplo puede incluir la identificación de uno o más objetos, características, etc. Además, aunque la presente especificación describe vehículos que obtienen información de sensores, tales como imágenes, se puede entender que las características descritas en la presente memoria pueden ser ampliamente aplicables. Por ejemplo, se pueden proporcionar clasificadores a los dispositivos de usuario (p. ej., teléfonos inteligentes) y utilizarse para reconocer características o objetos de imagen particulares. A modo de otro ejemplo, los clasificadores pueden utilizarse en aviones, vehículos aéreos no tripulados, vehículos no tripulados, etc.
Generación de datos de entrenamiento
Se describe una técnica de entrenamiento de redes neuronales para identificar datos de entrenamiento adicionales que resulten relevantes para casos de uso particulares. Mediante la identificación y recopilación de entrenamiento adicionales, particularmente datos para casos de uso difíciles de analizar correctamente, puede reentrenarse un sistema de aprendizaje profundo para mejorar su rendimiento. Por ejemplo, se puede identificar un caso de uso difícil y se pueden recopilar datos basados en el caso de uso. A continuación, puede entrenarse un nuevo modelo de aprendizaje automático con los nuevos datos recopilados que supere al modelo anterior. El modelo de aprendizaje automático existente se utiliza con un clasificador de disparadores para identificar datos de entrenamiento relevantes. Los datos de entrenamiento relevantes se envían de vuelta para su procesamiento con el fin de crear nuevos datos de entrenamiento. En algunas realizaciones, se crea un conjunto de datos inicial representativo del caso de uso objetivo y se utiliza para crear un clasificador de disparadores.
Por ejemplo, un sistema de aprendizaje profundo para la conducción autónoma puede tener dificultades para analizar e identificar una salida de túnel. Se crea un conjunto de datos de entrenamiento con ejemplos positivos y negativos de una salida de túnel. El clasificador de disparadores se entrena con un conjunto de datos de entrenamiento inicial utilizando una salida intermedia de una capa del modelo de aprendizaje automático existente. En algunas realizaciones, la capa es la capa intermedia. Por ejemplo, los datos del conjunto de entrenamiento se alimentan a un modelo de aprendizaje automático existente y la salida de la penúltima capa del modelo se utiliza como entrada para entrenar un clasificador de disparadores. En algunas realizaciones, el clasificador de disparadores es una máquina de vectores de soporte que se entrena fuera de línea a partir de la aplicación de aprendizaje profundo desplegada. Una vez entrenado, el clasificador de disparadores puede instalarse o desplegarse para funcionar junto a un sistema de aprendizaje profundo que ya está en uso dentro de un sistema de conducción autónoma de un vehículo. Por ejemplo, el clasificador de disparadores puede implementarse a través de una red inalámbrica que descarga e instala el clasificador de disparadores en el vehículo. El clasificador de disparadores se aplica a la salida intermedia de la misma capa del sistema de aprendizaje profundo desplegado para determinar una puntuación del clasificador. En algunas realizaciones, la entrada al clasificador de disparadores es la salida intermedia de una capa de una red neuronal convolucional (RNC) aplicada a datos de sensores capturados por un vehículo autónomo, por ejemplo, datos de imagen capturados por cámaras en el vehículo.
En algunas realizaciones, el clasificador de disparadores, implementado utilizando una única máquina de vectores de soporte, una pequeña red neuronal u otro clasificador apropiado, puede aplicarse a toda la imagen capturada y/o a ubicaciones específicas de la imagen. Por ejemplo, el clasificador de disparadores se puede aplicar en cada ubicación de una imagen o en un subconjunto de ubicaciones. El clasificador de disparadores puede aplicarse para escanear eficazmente las características de la red neuronal espacialmente para identificar partes pequeñas, tales como carritos de compras, animales, etc. Una vez aplicado, el clasificador de disparadores determina una puntuación de clasificador y, dependiendo de la puntuación, se identifican y retienen los datos de sensores como datos de entrenamiento potencialmente útiles. A modo de un ejemplo, el clasificador de disparadores puntúa los datos de sensores de una cámara en función de la probabilidad de que los datos representen una salida de túnel. Los datos de sensores que obtienen una puntuación alta y que probablemente representan una salida de túnel se retienen y se marcan para ser utilizados como datos de entrenamiento. En algunas realizaciones, se aplican propiedades de disparador, tales como filtros, al clasificador de disparadores para determinar las condiciones que deben cumplirse para proceder con la determinación de una puntuación de clasificador, las circunstancias bajo las cuales la puntuación del clasificador excede un umbral y/o las condiciones necesarias para conservar los datos de sensores. Por ejemplo, en algunas realizaciones, los datos de sensores se puntúan y se recopilan a lo sumo una vez cada intervalo, tal como no más de una vez cada 30 minutos. La puntuación del clasificador debe exceder un umbral para que los datos de sensores sean recopilados y conservados. En el caso de que los datos de sensores cumplan con el umbral configurado, los datos de sensores se conservan y se utilizan como posibles nuevos datos de entrenamiento. En una realización, los datos de sensores se cargan de forma inalámbrica a un servidor que gestiona el sistema de datos de entrenamiento.
En algunas realizaciones, se recopilan y conservan metadatos adicionales junto con los datos de sensores, tales como la ubicación, el tipo de carretera, el modelo del vehículo, si el vehículo es de conducción por la izquierda o por la derecha, la hora del día, la puntuación del clasificador, la duración desde el último envío de datos de sensores, y/o parámetros de control del vehículo/condiciones de funcionamiento como velocidad, aceleración, dirección, frenado, ángulo de dirección, etc. En diversas realizaciones, los datos y metadatos se transmiten a un servidor de datos informáticos donde se utilizan para crear un nuevo conjunto de datos de entrenamiento para mejorar la aplicación del sistema de aprendizaje profundo para el caso de uso particular. Por ejemplo, los datos de sensores conservados que están asociados a salidas de túneles se identifican con el clasificador de disparadores y se utilizan para crear datos de entrenamiento adicionales para identificar salidas de túneles.
En algunas realizaciones, después de cargar los datos de sensores, se revisan y anotan para crear un nuevo conjunto de datos de entrenamiento que se utiliza para mejorar las funciones de conducción autónoma del vehículo. Por ejemplo, los datos pueden anotarse como muestras positivas de salidas de túneles y pueden utilizarse para complementar un conjunto de datos de entrenamiento original que incluye muchos más casos de uso. Se entrena un nuevo modelo de aprendizaje automático utilizando el nuevo conjunto de datos gestionado para mejorar la red neuronal del vehículo autónomo, y a continuación se implementa en los vehículos como una actualización del sistema de vehículo autónomo. El nuevo modelo de aprendizaje automático implementado presenta una capacidad mejorada para detectar el caso de uso particular (por ejemplo, salidas de túneles) que es el objetivo del clasificador de disparadores. A modo de un ejemplo, el modelo mejorado presentará una mayor precisión y rendimiento en la identificación de salidas del túneles. Entre los ejemplos adicionales de casos de uso se incluyen clasificadores de disparadores entrenados para identificar objetos particulares (p. ej., carritos de compras, animales, etc.), las condiciones de la carretera, el tiempo meteorológico, los patrones de conducción, los riesgos, etc.
En diversas realizaciones, el clasificador de disparadores puede desarrollarse y desplegarse en una flota de vehículos sin actualizar el software principal del vehículo, tal como los componentes de un sistema de aprendizaje profundo utilizado para la conducción autónoma. Los nuevos y actualizados clasificadores de disparadores que se vinculan y asocian con el software de redes neuronales existente del vehículo se pueden enviar a los vehículos con mucha más frecuencia y con poco o ningún impacto sobre la funcionalidad central del vehículo, tal como la conducción, los sistemas de seguridad y la navegación, entre otros. Por ejemplo, puede entrenarse un clasificador de disparadores para identificar caminos de adoquines, para desplegarse en una flota de vehículos y comenzar a recopilar imágenes y datos relacionados de caminos de adoquines en cuestión de minutos. Utilizando las técnicas descritas, la velocidad para recopilar datos de entrenamiento relevantes para casos de uso específicos se mejora enormemente con poco o ningún impacto en el funcionamiento continuo del vehículo o sobre el conductor o pasajeros del vehículo. Se pueden desplegar nuevos clasificadores de disparadores sin un procedimiento de instalación largo y laborioso. El procedimiento se puede llevar a cabo de forma remota y dinámica, por ejemplo, utilizando una actualización por aire, sin necesidad de llevar el vehículo a un centro de servicio. Después de dicha actualización, el clasificador de disparadores puede comenzar a escanear las imágenes capturadas en busca de aquellas que cumplan las condiciones del disparador, y a continuación subir las imágenes que cumplan con esas condiciones como objetos futuros de datos de entrenamiento.
En algunas realizaciones, los datos de sensores son transmitidos y recibidos por diferentes dispositivos. Por ejemplo, un vehículo equipado con tecnología de conducción autónoma, que incluye sensores para recopilar información relacionada con su entorno, recibe datos de sensores de sus sensores. En algunas realizaciones, el vehículo está equipado con sensores, tales como cámaras, sensores de ultrasonidos, sensores de radar, LiDAR y/o otros sensores apropiados, para capturar datos relacionados con la conducción autónoma. En algunas realizaciones, se aplica una red neuronal a los datos de sensores. Por ejemplo, se aplica una red neuronal convolucional (RNC) a los datos de sensor recibidos, tales como una imagen de la carretera delante del vehículo. La RNC puede utilizarse para identificar objetos en los datos de sensores capturados y el resultado de aplicar la red neuronal se utiliza para controlar el vehículo. A título de ejemplo, se identifican las líneas de los carriles de la carretera y se utilizan para mantener el vehículo entre las líneas de carril identificadas.
Se aplica un clasificador de disparadores a una salida intermedia de la red neuronal para determinar una puntuación de clasificador para los datos de sensores. La salida intermedia de una capa se envía a un clasificador de disparadores, que determina una puntuación de clasificador para los datos de sensores. En algunas realizaciones, la red neuronal incluye múltiples capas intermedias y es configurable la salida intermedia particular (y la capa correspondiente) de la que se recibe la entrada en el clasificador de disparadores. Por ejemplo, el clasificador de disparadores se puede configurar para recibir la salida de la capa que es la penúltima, la antepenúltima, la anterior a la antepenúltima, etc. En algunas realizaciones, la salida intermedia es la salida de cualquiera de las capas intermedias de la red neuronal. En algunas realizaciones, la salida intermedia puede ser la salida de la primera capa de la red neuronal. Se realiza una determinación de si transmitir a través de una red informática por lo menos una parte de los datos de sensores, basándose por lo menos en parte en la puntuación del clasificador. Se toma una determinación basándose en si la puntuación del clasificador supera un umbral requerido para conservar los datos de sensores y transmitirlos para su uso posteriormente. En algunas realizaciones, la determinación se realiza en función de la puntuación del clasificador y de si se cumplen las condiciones adicionales del clasificador de disparadores. Pueden utilizarse ejemplos de las condiciones requeridas con el fin de filtrar los datos de sensores capturados que están basados en la ubicación del vehículo, la cantidad de tiempo que el vehículo ha estado circulando, el tipo de vehículo, si una característica de conducción autónoma ha sido desactivada recientemente, etc. Los datos de sensores que cumplen las condiciones requeridas y el umbral de puntuación se transmiten a través de una red informática, tal como una red wifi o de telefonía móvil, a un ordenador servidor para su procesamiento adicional. En algunas realizaciones, los datos se procesan para crear un conjunto de datos de entrenamiento nuevo o adicional. En diversas realizaciones, los datos de entrenamiento incluyen tanto datos de entrenamiento como datos de validación.
Ejemplos de diagramas de bloques
La Figura 1A es un diagrama esquemático que ilustra un vehículo que circula por una carretera y que recopila datos de entrenamiento de su entorno. En el diagrama de bloques de ejemplo, circula un vehículo 102 por una carretera. El vehículo 102 incluye sensores, tales como cámaras, radares, etc., de manera que los sensores capturan información sobre un volumen 104 de sensor en torno al vehículo 102. Se ilustra un sensor 107 de ejemplo en la Figura 1A. Por ejemplo, el vehículo 102 puede obtener imágenes del entorno del vehículo 102. Estas imágenes obtenidas pueden analizarse con el fin de entender el entorno. Por ejemplo, las imágenes pueden analizarse para clasificar los objetos representados en las imágenes. En el presente ejemplo, las imágenes pueden analizarse para identificar otros vehículos, marcas viales, árboles u otra vegetación, obstáculos en la carretera, peatones, señales, etc. Tal como se describirá con más detalle posteriormente, el vehículo 102 puede aprovechar técnicas de aprendizaje automático para analizar la información de los sensores. Por ejemplo, se pueden utilizar una o más redes neuronales convolucionales para clasificar objetos incluidos en el volumen 104 del sensor de ejemplo. Se incluye a continuación un ejemplo de descripción de un sistema de aprendizaje profundo 700 que puede utilizar el vehículo 102, con respecto a la Figura 1B y la Figura 7.
Aunque las técnicas de aprendizaje automático descritas anteriormente se pueden utilizar para analizar la información del sensor, se debe apreciar que determinados objetos o entornos del mundo real pueden resultar difíciles de entender o clasificar con precisión por el vehículo 102. Por ejemplo, se muestra un neumático 106 posicionado en la carretera por la que circula el vehículo 102. Ser capaz de reconocer este neumático 106 puede mejorar la seguridad y el rendimiento del vehículo 102. A título de ejemplo, el vehículo 102 puede realizar técnicas de conducción automatizada para navegar evitando el neumático 106 si el neumático 106 está en el camino del vehículo 102. Además, incluso si el neumático no está en la trayectoria del vehículo 102, reconocer el neumático 102 todavía podría afectar la conducción automatizada del vehículo 102. Por ejemplo, otros vehículos pueden desviarse repentinamente hacia el carril 102 del vehículo para evitar el neumático 106. En el presente ejemplo, poder identificar el neumático 106 puede informar, de esta manera, movimientos futuros predichos del vehículo 102 (p. ej., desacelerar preventivamente a medida que se acerca otro vehículo al neumático 106).
De esta manera, puede resultar beneficioso para el vehículo 102 identificar con precisión el neumático 106 como incluido en el volumen 104 del sensor. Sin embargo, y tal como se ha descrito anteriormente, poder identificar el neumático 106 puede requerir una cantidad sustancial de datos de entrenamiento. Los datos de entrenamiento pueden incluir imágenes de multitudes de neumáticos de todas las configuraciones que se encuentran en diversas carreteras. Los datos de entrenamiento pueden mejorarse mediante la inclusión de imágenes de diferentes neumáticos en diferentes carreteras. Además, los datos de entrenamiento pueden mejorarse con imágenes de diferentes neumáticos en diferentes carreteras en diferentes entornos de conducción. Por ejemplo, puede resultar ventajoso disponer de imágenes de neumáticos parcialmente incluidos en nieve en diferentes carreteras. A título de otro ejemplo, puede resultar ventajoso disponer de imágenes de neumáticos desinflados en caminos polvorientos. La adquisición de acceso a dichas imágenes puede suponer grandes retos técnicos.
Tal como se describirá, se puede entrenar uno o más clasificadores para reconocer neumáticos. Por ejemplo, los clasificadores pueden entrenarse utilizando un conjunto limitado de ejemplos de entrenamiento. Estos clasificadores pueden proporcionarse al vehículo 102 mediante una actualización por aire (OTA, por sus siglas en inglés). Por ejemplo, la actualización OTA puede recibirse de forma inalámbrica a través del vehículo 102 (p. ej., mediante wifi, mediante señales de telefonía móvil, tales como las redes LTE, etc.). A continuación, un clasificador puede analizar la información de sensores obtenida del vehículo 102. Si el clasificador detecta que un neumático está representado en la información del sensor (p. ej., una imagen), el vehículo 102 puede transmitir la información del sensor a un sistema externo para su procesamiento. Este sistema externo puede agregar dicha información de los sensores recibida para crear conjuntos de datos de entrenamiento de neumáticos. Tal como se describirá, estos conjuntos de datos de entrenamiento pueden utilizarse para entrenar modelos de aprendizaje automático complejos que se ejecutan en el vehículo 102 (p. ej., redes neuronales convolucionales). De esta manera, los modelos de aprendizaje automático, y de esta manera, la capacidad del vehículo 102 para realizar tareas de conducción automatizada, pueden mejorarse.
La Figura 1B es un diagrama de bloques que ilustra la generación de datos de entrenamiento. En dicha ilustración, los datos de sensores 108 están siendo recibidos por el vehículo 102. Los datos de sensores 108 pueden incluir una o más imágenes o vídeos que representan el neumático 106 ilustrado en la Figura 1. Estos datos de sensores 108 pueden proporcionarse a un sistema de aprendizaje profundo 700 de uno o más procesadores, que está incluido en el vehículo 102. Un ejemplo de aspectos del sistema de aprendizaje profundo 700 se ilustra en la Figura 1B.
Tal como se ilustra, el sistema de aprendizaje profundo 700 puede utilizar técnicas de aprendizaje automático de ejemplo, tales como una red neuronal convolucional, para analizar los datos de sensores recibidos 108. Tal como se describe en la Figura 2, los datos de sensores 108 pueden preprocesarse (p. ej., normalizarse, pasarse a través de un filtro, etc.). Se puede apreciar que una red neuronal convolucional puede incluir una multitud de capas convolucionales. Estas capas convolucionales pueden aplicar filtros convolucionales de tal manera que se crean volúmenes de salida. En algunas realizaciones, se pueden utilizar una o más capas completamente conectadas o densas como capas finales para clasificar características u objetos incluidos en los datos de sensores 108. A título de ejemplo, se pueden utilizar una o más capas softmax o clasificadores logísticos independientes para clasificar las características u objetos. De esta manera, el sistema de aprendizaje profundo 700 puede identificar objetos, entornos, etc. del mundo real, que están incluidos en el volumen 104 del sensor que circunda al vehículo 102. Basándose en la identificación de dichos objetos, entornos, etc. del mundo real, el vehículo 102 puede realizar tareas de conducción automatizada. De esta manera, el vehículo 102 puede implementar la red neuronal convolucional durante su funcionamiento habitual.
El sistema de aprendizaje profundo 700 incluye uno o más clasificadores. Por ejemplo, los clasificadores A-N 110A-110N se ilustran en la Figura 1B. Estos clasificadores 110A-110N podrían haber sido recibidos a través de actualizaciones OTA en el vehículo 102 (p. ej., actualizaciones periódicas proporcionadas al vehículo). Antes de recibir los clasificadores 110A-110N, una entidad puede haberlos entrenado para identificar las características u objetos respectivos tal como están representados en los datos de sensores. Por ejemplo, el clasificador A 110A puede haber sido entrenado para identificar una escena nevada. A título de otro ejemplo, el clasificador N 110N puede haber sido entrenado para identificar neumáticos, bicicletas en una carretera, etc. La entidad puede haber entrenado los clasificadores 110A-110N utilizando datos de entrenamiento limitados. Por ejemplo, el clasificador N 110N puede haber sido entrenado utilizando 100, 500 o 1.000 ejemplos de neumáticos en una carretera o un tipo específico de neumático en un tipo específico de carretera.
Tal como se ilustra, los clasificadores 110A-110N pueden utilizar la información obtenida de una capa intermedia de un modelo de aprendizaje automático de ejemplo (p. ej., una red neuronal convolucional). Por ejemplo, las características 112 pueden obtenerse de una capa intermedia de la red neuronal convolucional. Debido a que la red neuronal convolucional puede ser entrenada para clasificar o alternativamente identificar características u objetos en los datos de los sensores, los clasificadores pueden aprovechar esta capacidad preexistente. A título de ejemplo, la red neuronal convolucional puede aprender a aplicar filtros convolucionales para aprender características indicativas de objetos del mundo real. La red neuronal convolucional puede entonces clasificar características como correspondientes a categorías o clases específicas de objetos del mundo real.
Al entrenar los clasificadores 110A-110N, por lo tanto, pueden ser entrenados utilizando información obtenida de una capa intermedia de la red neuronal convolucional. Por ejemplo, el clasificador 110N puede entrenarse utilizando un conjunto de datos de entrenamiento limitado de imágenes que representan neumáticos. En el presente ejemplo, las imágenes pueden proporcionarse a la red neuronal convolucional de ejemplo. En una capa intermedia particular de la red neuronal convolucional, las características 112 pueden proporcionarse al clasificador 110N. El clasificador 110N seguidamente puede entrenarse para asignar una puntuación alta del clasificador a una imagen que muestra un neumático. El clasificador 110N puede entrenarse opcionalmente para asignar una puntuación baja del clasificador a una imagen que no muestra un neumático. De esta manera, el clasificador 110N puede aprovechar la red neuronal convolucional, que tal como se ha indicado anteriormente puede utilizarse durante el funcionamiento habitual del vehículo 102.
Tal como se ilustra en la Figura 1B, los clasificadores 110A-110N reciben características 112 de una capa intermedia de la red neuronal convolucional. Opcionalmente, los clasificadores 110A-110N pueden utilizar características de diferentes capas intermedias. Por ejemplo, el clasificador N 110N puede utilizar características de una primera capa (p. ej., la capa 4, 5, etc.), mientras que el clasificador A 110N puede utilizar características de una segunda capa (p. ej., 6, 7, etc.). Durante el entrenamiento, se puede identificar una capa específica de cada clasificador de la que recibir características. Por ejemplo, la capa específica puede identificarse en función de la precisión del clasificador de entrenamiento correspondiente con respecto a un conjunto de datos de validación.
Con respecto al neumático 106 ilustrado en la Figura 1A, uno de los clasificadores 110A-110N puede ser entrenado para identificar neumáticos. Por ejemplo, el clasificador N 110N puede ser entrenado para identificar neumáticos. En el presente ejemplo, el clasificador N 110N puede asignar una puntuación de clasificador a los datos de sensores 108. En el ejemplo ilustrado, el clasificador N 110N ha asignado una puntuación de clasificador que supera un umbral (p. ej., 0,5, 0,7, etc.). El vehículo 102 puede, por lo tanto, transmitir los datos de sensores 108 a un sistema externo (p. ej., un sistema de generación de datos de entrenamiento 120). Por ejemplo, el vehículo puede transmitir los datos de sensores 108 a través de una red (p. ej., Internet) mediante wifi, servicio de telefonía móvil, etc.
Por lo tanto, el sistema externo 120 puede recibir datos de sensores 108 de una multitud de vehículos. Por ejemplo, el sistema externo 120 puede recibir imágenes que muestran neumáticos de vehículos que, durante el curso normal de funcionamiento, podrían llegar a pasar cerca de los neumáticos. Ventajosamente, estos neumáticos pueden ser de diferentes tipos, pueden estar desinflados o en estados de deterioro, pueden representarse bajo diferentes condiciones de la carretera, pueden estar parcialmente ocultos, etc. Los clasificadores 110A-110N pueden, como ejemplo, utilizar puntuaciones de clasificador que causan la transmisión de una multitud de datos de sensores 108 al sistema externo 120. Por ejemplo, una parte de las imágenes transmitidas al sistema 120 podría no incluir neumáticos. En algunas realizaciones, la entidad puede, de esta manera, revisar y descartar rápidamente ciertas imágenes. Las imágenes restantes pueden agregarse en grandes conjuntos de datos de entrenamiento y utilizarse para actualizar los modelos de aprendizaje automático que se ejecutan en el vehículo. Por ejemplo, la red neuronal convolucional puede entrenarse para identificar neumáticos. Opcionalmente, se pueden asignar cajas u otra información de marcaje a las imágenes incluidas en los conjuntos agregados de datos de entrenamiento.
En algunas realizaciones, el vehículo 102 puede presentar un mayor número de clasificadores de los que actualmente se están ejecutando en el vehículo 102. Por ejemplo, el vehículo 102 puede presentar 50, 75 o 100 clasificadores. Sin embargo, durante el funcionamiento del vehículo 102, el vehículo 102 puede ejecutar 20, 30, 40 o más de los clasificadores. Por ejemplo, el vehículo 102 puede determinar puntuaciones de clasificador respectivas para un subconjunto de los clasificadores totales almacenados por el vehículo 102. Opcionalmente, cada clasificador puede ejecutarse durante un período de tiempo específico antes de ser intercambiado por otro clasificador.
Además, el vehículo 102 puede ejecutar determinados clasificadores dependiendo de uno o más disparadores. A título de ejemplo, el vehículo 102 podría recibir información que identifique ubicaciones, o ubicaciones aproximadas, que es conocido que presentan determinados objetos, características, o que muestran determinados entornos del mundo real. Por ejemplo, el vehículo 102 puede acceder a información del mapa que identifica que una salida de túnel se encuentra en una zona determinada. En el presente ejemplo, el vehículo 102 puede asegurarse de que un clasificador asociado a la identificación de salidas de túneles esté ejecutándose en un momento en que el vehículo 102 esté próximo al túnel.
A título de otro ejemplo, el sistema externo 120 puede recibir opcionalmente información de ubicación junto con los datos de sensores recibidos. De esta manera, el sistema externo 120 puede identificar que un número umbral de vehículos ha transmitido datos de sensores basados en el mismo clasificador para una zona particular del mundo real. A título de ejemplo, el sistema externo 120 puede identificar que una rampa de acceso particular presenta un obstáculo en la carretera. A título de otro ejemplo, el sistema externo 120 puede identificar que una rampa de acceso particular presenta un determinado tipo de obstáculo en la carretera. El sistema 120 puede entonces transmitir información a una parte de los vehículos para ejecutar el mismo clasificador cuando se encuentren próximo a la zona particular del mundo real. De esta manera, el sistema 120 puede garantizar que es capaz de obtener una mayor cantidad de datos de entrenamiento basados en este mismo sensor.
Además, el sistema 120 puede ordenar a los vehículos que transmitan datos de sensores incluso si el clasificador indicado anteriormente no asigna una puntuación de clasificador superior a un umbral. A título de ejemplo, el sistema 120 puede recibir datos de sensores de un número umbral de vehículos próximos a una ubicación del mundo real. En el presente ejemplo, el sistema 120 puede ordenar a cualquier vehículo dentro de una distancia umbral de esa ubicación del mundo real para que transmita datos de sensores (p. ej., imágenes) incluso si sus clasificadores no generan una puntuación de clasificador superior a un umbral. Debido a que el clasificador puede entrenarse en un conjunto de entrenamiento con un número limitado de ejemplos (p. ej., 100 o 1.000, tal como se ha indicado anteriormente), dependiendo del ángulo de un vehículo particular con respecto a un objeto, el clasificador particular del vehículo podría no identificar el objeto. Sin embargo, los datos de sensores podrían resultar útiles para la generación de un conjunto de entrenamiento robusto para el objeto. Por ejemplo, el objeto puede ser parcialmente visible en las imágenes obtenidas por el vehículo particular y, por lo tanto, puede resultar útil en un conjunto de entrenamiento grande para identificar el objeto. De esta manera, el sistema externo 120 puede anular el clasificador y causar que el vehículo en particular transmita datos de sensores.
En todas las situaciones en las que el sistema externo 120 recibe información de ubicación, o cualquier información identificativa, se debe entender que la información puede ser anonimizada. Además, dichas técnicas pueden requerir el consentimiento afirmativo del usuario (p. ej., optar por participar).
Ejemplos de diagramas de flujo
La Figura 2 es un diagrama de flujo que ilustra una realización de un procedimiento para aplicar un clasificador de disparadores al resultado intermedio de un modelo de aprendizaje automático. En algunas realizaciones, se utiliza el procedimiento de la Figura 2 para recopilar y conservar datos de sensores capturados por sensores para un modelo de aprendizaje automático para la conducción autónoma que cumple con un caso de uso particular. Por ejemplo, el caso de uso particular puede estar asociado a la identificación de determinadas características, objetos, entornos, etc. En algunas realizaciones, el procedimiento de la Figura 2 se implementa en un vehículo habilitado para la conducción autónoma, ya sea que el control de conducción autónoma esté activado o no. Por ejemplo, los datos de sensores se pueden recopilar en los momentos inmediatamente después de que se desactive la conducción autónoma o durante la conducción del vehículo por un conductor humano. En algunas realizaciones, las técnicas descritas en la Figura 2 pueden aplicarse a otros sistemas de aprendizaje profundo fuera del contexto de la conducción autónoma para mejorar el conjunto de datos de entrenamiento, particularmente para casos de uso difíciles de analizar. En diversas realizaciones, el clasificador de disparadores se ha entrenado utilizando la salida intermedia de una capa del aprendizaje automático y datos de entrenamiento diseñados para el caso de uso.
En algunas realizaciones, se pueden utilizar múltiples disparadores y/o múltiples clasificadores juntos para identificar datos de sensores para múltiples casos de uso. Por ejemplo, puede utilizarse un disparador para identificar túneles, otro para pozos de inspección, otro para bifurcaciones en una carretera, etc. En algunas realizaciones, los componentes funcionales de un clasificador de disparadores para determinar una puntuación de clasificador y/o aplicar condiciones requeridas están compartidas entre diferentes disparadores. En algunas realizaciones, cada disparador se especifica utilizando un vector ponderado, un sesgo opcional y una o más métricas de umbral con los que comparar la puntuación del clasificador. En algunas realizaciones, se especifican condiciones adicionales requeridas, tales como la hora del día, la localización del vehículo, el tipo de carretera, etc., para un disparador particular. Por ejemplo, un disparador puede requerir que los datos de sensores de un túnel se capturen solo al amanecer y al atardecer. A título de otro ejemplo y que resulta útil para reducir la duplicación de datos, un disparador puede requerir que los datos de sensores se capturen como máximo cada 30 minutos y solo después de que el vehículo haya estado circulando durante por lo menos 20 minutos. En diversas realizaciones, el umbral del disparador o disparadores y las condiciones requeridas son propiedades especificadas para el clasificador de disparadores.
En 201, se reciben datos de sensores. Por ejemplo, un vehículo equipado con sensores captura datos de sensores y proporciona los datos de sensores a una red neuronal que se ejecuta en el vehículo. En algunas realizaciones, los datos de sensores pueden ser datos visuales, datos de ultrasonidos, datos de LiDAR u otros datos de sensor apropiados. Por ejemplo, se captura una imagen con una cámara frontal de alto rango dinámico. A título de otro ejemplo, los datos de ultrasonidos se capturan a partir de un sensor de ultrasonidos situado en un lateral. En algunas realizaciones, el vehículo está equipado con múltiples sensores para la captura de datos. Por ejemplo, en algunas realizaciones, ocho cámaras de visión periférica están fijadas a un vehículo y proporcionan 360 grados de visibilidad en torno al vehículo con un alcance de hasta 250 metros. En algunas realizaciones, entre los sensores de la cámara se incluyen una cámara frontal gran angular, una cámara frontal de ángulo estrecho, una cámara de visión trasera, cámaras laterales orientadas hacia adelante y/o cámaras laterales orientadas hacia atrás. En algunas realizaciones, se utilizan sensores de ultrasonidos y/o de radar para capturar detalles circundantes. Por ejemplo, se pueden fijar doce sensores de ultrasonidos al vehículo para detectar tanto objetos duros como blandos. En algunas realizaciones, se utiliza un radar frontal para capturar datos del entorno circundante. En diversas realizaciones, los sensores de radar son capaces de capturar detalles del entorno a pesar de la intensa lluvia, la niebla, el polvo y otros vehículos. Los diversos sensores se utilizan para capturar el entorno que rodea al vehículo y la imagen capturada se proporciona para el análisis de aprendizaje profundo.
En 203, se preprocesan los datos de sensores. En algunas realizaciones, se pueden llevar a cabo uno o más pases de preprocesamiento de los datos de sensores. Por ejemplo, los datos pueden ser preprocesados para eliminar ruido, corregir problemas de alineación y/o desenfoque, etc. En algunas realizaciones, se lleva a cabo una o más pasadas de filtrado diferentes de los datos. Por ejemplo, se puede aplicar un filtro de paso alto a los datos y se puede aplicar un filtro de paso bajo a los datos para separar diferentes componentes de los datos de sensores. En diversas realizaciones, la etapa de preprocesamiento lleva a cabo en 203 es opcional y/o puede incorporarse en la red neuronal.
En 205, se inicia el análisis de aprendizaje profundo de los datos de sensores. En algunas realizaciones, el análisis de aprendizaje profundo se lleva a cabo sobre los datos de sensores que se han preprocesado opcionalmente en 203. En diversas realizaciones, el análisis de aprendizaje profundo se lleva a cabo utilizando una red neuronal, tal como una red neuronal convolucional (RNC). En diversas realizaciones, el modelo de aprendizaje automático se entrena fuera de línea y se instala en el vehículo para llevar a cabo inferencias sobre los datos de sensores. Por ejemplo, el modelo puede entrenarse para identificar líneas de carril de carretera, obstáculos, peatones, vehículos en movimiento, vehículos estacionados, espacios transitables, etc., según corresponda. En diversas realizaciones, la red neuronal incluye múltiples capas, incluyendo una o más capas intermedias.
En 207, se identifican los datos de entrenamiento potenciales. Por ejemplo, los datos de sensores que pueden utilizarse para entrenar el modelo de aprendizaje automático se identifican a partir de los datos de sensores analizados utilizando el análisis de aprendizaje profundo. En algunas realizaciones, los datos de entrenamiento identificados son datos asociados a un caso de uso particular. Por ejemplo, los casos de uso posibles pueden involucrar la identificación de: una carretera curva, una rampa de incorporación a la autopista, una rampa de salida de la autopista, la entrada a un túnel, la salida de un túnel, un obstáculo en la carretera, una bifurcación en la carretera, líneas o marcas de carriles, espacio transitable, señalización de la carretera, contenido de las señales (p. ej., palabras, números, símbolos, etc.), y/o otras características según corresponda para la conducción autónoma. En diversas realizaciones, el caso de uso representado en los datos de sensores se identifica mediante la utilización de la salida intermedia de una capa de la red neuronal utilizada para el análisis de aprendizaje profundo y un clasificador de disparadores. Un clasificador de disparadores determina un puntuación de clasificador utilizando la salida de una capa intermedia de una red neuronal. Una puntuación de clasificador que supera un umbral y cumple con las condiciones requeridas especificadas junto con el disparador se identifica como datos de entrenamiento potenciales. En diversas realizaciones, el umbral se utiliza para identificar ejemplos positivos del caso de uso. Por ejemplo, un puntuación de clasificación más alta indica una mayor probabilidad de que los datos de sensores sean representativos del caso de uso. En algunas realizaciones, la puntuación del clasificador es un número entre menos uno y más uno. Una puntuación más cercana a más uno es más probable que sea representativa del caso de uso que es el objetivo. En diversas realizaciones, se utilizan condiciones especificadas por filtros adicionales, tales como la hora del día, el tipo de vehículo, la localización, etc., para identificar datos de sensores para el caso de uso que es el objetivo.
En 209, se transmiten los datos de sensores identificados. Por ejemplo, los datos de sensores identificados en 207 se transmiten a un ordenador servidor para el procesamiento adicional. En algunas realizaciones, el procesamiento adicional incluye la creación de un conjunto de entrenamiento utilizando los datos de sensores identificados. En diversas realizaciones, los datos de sensores se transmiten inalámbricamente, por ejemplo, a través de una conexión wifi o de telefonía móvil, desde un vehículo a un centro de datos. En algunas realizaciones, los metadatos se transmiten junto con los datos de sensores. Por ejemplo, los metadatos pueden incluir la puntuación del clasificador, la hora del día, una marca de tiempo, la localización, el tipo de vehículo, parámetros de control y/o funcionamiento del vehículo, tales como velocidad, aceleración, frenado, si la conducción autónoma está activada, ángulo de dirección, etc. Entre los metadatos adicionales se incluyen el tiempo desde que se transmitieron los últimos datos de sensores, el tipo de vehículo, las condiciones meteorológicas, las condiciones de la carretera, etc.
En 211, se realiza el posprocesamiento de los datos. En algunas realizaciones, se utilizan diferentes técnicas de posprocesamiento para mejorar la calidad y/o reducir la cantidad de datos necesarios para representar los datos. En algunas realizaciones, la salida del análisis de aprendizaje profundo se fusiona con el resultado del aprendizaje profundo aplicado a otros sensores. En algunas realizaciones, el posprocesamiento se utiliza para suavizar el análisis realizado sobre diferentes datos de sensores. Los datos procesados pueden utilizarse para controlar el vehículo. En 211 también puede procesarse información adicional referida a los datos. Por ejemplo, información tal como la configuración del sistema de conducción autónoma, incluyendo qué características de conducción autónoma están habilitadas, puede combinarse con el análisis de aprendizaje profundo. Otra información puede incluir los parámetros de funcionamiento y/o control del vehículo y/o datos ambientales, tales como un mapa, topografía y/o datos de GPS. En algunas realizaciones, el posprocesamiento puede incluir la combinación del resultado del análisis de aprendizaje profundo llevado a cabo en datos de otros sensores para crear una representación unificada del entorno circundante al vehículo. En algunas realizaciones, la etapa de posprocesamiento en 211 es una etapa opcional.
En 213, se proporcionan los resultados del análisis de aprendizaje profundo al control del vehículo. Por ejemplo, los resultados son utilizados por un módulo de control del vehículo para controlar el vehículo en la conducción autónoma. En algunas realizaciones, el control del vehículo puede modular la velocidad y/o la dirección del vehículo. En diversas realizaciones, el control del vehículo puede estar desactivado, pero los resultados intermedios del análisis de aprendizaje profundo en 205 se utilizan para identificar datos de entrenamiento en 207 y transmitir los datos de sensores identificados en 209. De esta manera, se puede utilizar el análisis de aprendizaje profundo para identificar y conservar datos de entrenamiento adecuados incluso cuando el vehículo no está bajo el control del sistema de conducción autónoma. En diversas realizaciones, los datos de los sensores se identifican y conservan cuando el sistema de conducción autónoma está activo.
La Figura 3 es un diagrama de flujo que ilustra una realización de un procedimiento para crear un clasificador de disparadores utilizando el resultado intermedio de un modelo de aprendizaje automático. En algunas realizaciones, se utiliza el procedimiento de la Figura 3 para entrenar un clasificador de disparadores para identificar y conservar datos de sensores relevantes para un caso de uso particular. Por ejemplo, los datos de sensores procesados por un sistema de aprendizaje profundo durante su uso regular incluyen un subconjunto de datos que resultan útiles como datos de entrenamiento. Puede entrenarse el clasificador de disparadores para que identifique casos de uso, tales como entradas de túneles, salidas de túneles, bifurcaciones en la carretera, una carretera curva, rampas de incorporación y otras características apropiadas y útiles para la conducción autónoma, utilizando los resultados intermedios de un sistema de aprendizaje profundo para la conducción autónoma. Mediante la utilización de los resultados intermedios de un sistema de aprendizaje profundo con el clasificador de disparo, se mejora enormemente la eficiencia de la identificación y recopilación. En diversas realizaciones, el clasificador de disparadores entrenado se instala junto con las propiedades de disparador en un sistema de aprendizaje profundo desplegado para recopilar y conservar datos de entrenamiento potenciales para casos de uso relevantes. En algunas realizaciones, el clasificador de disparadores es una máquina de vectores de soporte, aunque se pueden utilizar otros clasificadores apropiados. Por ejemplo, en algunas realizaciones, el clasificador de disparadores es una red neuronal y puede incluir una o más capas intermedias. En algunas realizaciones, el sistema de aprendizaje profundo desplegado utiliza el procedimiento de la Figura 2.
En 301, se preparan datos de entrenamiento. Por ejemplo, se preparan ejemplos positivos y negativos de un caso de uso particular como datos de entrenamiento. A título de un ejemplo, se recopilan y anotan ejemplos positivos y negativos de una salida de túnel. El conjunto de datos gestionado y anotado se utiliza para crear un conjunto de entrenamiento. En algunas realizaciones, la anotación incluye etiquetar los datos y puede ser llevada a cabo por un gestor humano de los datos. En algunas realizaciones, el formato de los datos es compatible con un modelo de aprendizaje automático utilizado en una aplicación de aprendizaje profundo desplegada. En diversas realizaciones, los datos de entrenamiento incluyen datos de validación para someter a ensayo la precisión del modelo entrenado.
En 303, se aplica un análisis de aprendizaje profundo a los datos de entrenamiento. Por ejemplo, se utiliza un modelo de aprendizaje automático existente para iniciar un procedimiento de aprendizaje profundo. En algunas realizaciones, el modelo de aprendizaje profundo es una red neuronal, tal como una red neuronal convolucional (RNC) con múltiples capas. En algunas realizaciones, la RNC puede incluir tres o más capas intermedias. Entre los ejemplos del análisis de aprendizaje profundo se incluyen una red neuronal para la conducción autónoma. En diversas realizaciones, el análisis de aprendizaje profundo se inicia mediante alimentación de los datos de entrenamiento preparados en 301 a una red neuronal para producir los resultados de capa intermedia.
En 305, se entrena un clasificador de disparadores. En algunas realizaciones, un clasificador de disparadores es una máquina de vectores de soporte o una pequeña red neuronal. En diversas realizaciones, la entrada al clasificador de disparadores es la salida de la primera o una capa intermedia de un modelo de aprendizaje automático del sistema de aprendizaje profundo. La capa particular utilizada para la entrada puede ser configurable. Por ejemplo, la salida de la penúltima capa, de la antepenúltima capa, de la capa anterior a la antepenúltima capa, etc., hasta la primera capa se puede utilizar como entrada para entrenar el clasificador de disparadores. En diversas realizaciones, los resultados anotados de los datos de entrenamiento se utilizan con los datos en bruto (tales como los datos de imagen) para entrenar el clasificador de disparadores. Mediante la utilización de ejemplos positivos y negativos, el clasificador de disparadores se entrena para identificar la probabilidad de que una entrada (por ejemplo, una entrada de datos de sensores) sea compatible con un caso de uso particular, tal como la salida de un túnel. En algunas realizaciones, los resultados del clasificador de disparadores entrenado se validan utilizando un conjunto de datos de validación creado en 301. En algunas realizaciones, el clasificador de disparadores se entrena utilizando una red neuronal fuera de línea que coincide con la red neuronal implementada en el vehículo.
En algunas realizaciones, la salida de una red neuronal es un vector de características que identifica características de los datos de entrada (tal como una imagen en bruto). Entre las características se pueden incluir el número de vehículos, el número de señales, el número de carriles, etc., en los datos en bruto. Las salidas intermedias de las capas, p. ej., las capas procesadas antes de la capa final, incluyen información semántica de los datos de entrada en bruto. En algunas realizaciones, la salida intermedia de la capa puede representarse en forma de vector y el vector presenta más elementos que la salida vectorial de la capa final. Por ejemplo, una salida final de una red neuronal puede ser un vector de 32 elementos, mientras que la salida de la penúltima capa puede ser un vector de 64 elementos. En diversas realizaciones, la salida de la primera y las capas intermedias de la red neuronal (tal como, por ejemplo, un vector de 64 elementos) incluye una mayor cantidad de información semántica asociada con los datos de entrada en bruto que la salida de la capa final de la red neuronal (tal como, por ejemplo, un vector de 32 elementos) y de esta manera se utiliza para entrenar el clasificador de disparadores. En algunas realizaciones, la capa particular seleccionada para entrenar el clasificador de disparadores puede seleccionarse dinámicamente. Por ejemplo, se puede seleccionar una capa intermedia particular (tal como una capa anterior) en función de una mejora en la precisión de esa capa en particular en comparación con otra capa (tal como una capa más cercana a la capa final). En algunas realizaciones, se selecciona la capa particular basándose en la eficiencia de utilización de la capa. Por ejemplo, se puede seleccionar una capa con un vector de salida más pequeño en el caso de que los resultados obtenidos utilizando la capa cumplan con las demandas de precisión.
En algunas realizaciones, la entrada de diferentes capas intermedias se utiliza para entrenar más de un clasificador de disparadores y los diferentes clasificadores entrenados se comparan entre sí. Se utiliza un equilibrio entre precisión y rendimiento para determinar cuál de los múltiples clasificadores se va a utilizar. Por ejemplo, la salida de una capa intermedia anterior es necesaria para algunos casos de uso, mientras que la salida de una capa intermedia posterior es suficiente para otros casos de uso. La salida de la capa intermedia óptima puede determinarse mediante la comparación de múltiples clasificadores de disparadores entrenados. En diversas realizaciones, la capa de la red neuronal desde la que se recibirá un resultado intermedio se selecciona dinámicamente como parte del procedimiento de entrenamiento del clasificador de disparadores.
En algunas realizaciones, el clasificador entrenado puede especificarse con un vector y un factor de sesgo. Por ejemplo, el clasificador entrenado puede ser un vector de ponderaciones que están desplazados por un factor de sesgo, determinando una puntuación de clasificador. En algunas realizaciones, el número de elementos del vector es igual al número de elementos de la salida de la capa intermedia utilizada y el número de elementos de la entrada para entrenar el clasificador. Por ejemplo, en el caso de que la salida de la capa intermedia utilizada para entrenar el clasificador sea de 1.024 elementos, los datos de entrada utilizados para entrenar el clasificador de disparadores son 1.024 elementos y el clasificador de disparadores resultante puede representarse como un vector ponderado de 1024 componentes y un sesgo. En algunas realizaciones, el sesgo es opcional y puede ser tenido en cuenta a partir de los componentes del vector ponderado.
En 307, se determinan las propiedades de disparador para el clasificador entrenado en 305. Por ejemplo, se puede determinar un umbral que se compara con la puntuación del clasificador determinada por el clasificador de disparadores entrenado. Por ejemplo, una puntuación de clasificador que supere el umbral indica que la entrada en bruto asociada a la puntuación es probablemente un ejemplo positivo del caso de uso que es el objetivo. Por ejemplo, un clasificador de disparadores entrenado para identificar salidas de túneles determina una puntuación de clasificador. Utilizando un umbral de 0,5, una puntuación de clasificador de 0,7 indica que los datos son probablemente representativos de una salida de túnel. En algunas realizaciones, un puntuación de -1,0 es un ejemplo negativo y un puntuación de 1,0 es un ejemplo positivo. Las puntuaciones del clasificador están comprendidas entre -1,0 y 1,0 para indicar la probabilidad de que la entrada en bruto sea un ejemplo positivo o negativo del caso de uso que es el objetivo.
En algunas realizaciones, entre las propiedades de disparador se incluyen condiciones requeridas tales como filtros de disparador. Los filtros de disparador son filtros utilizados para restringir la conservación de datos de sensores a las condiciones descritas. Por ejemplo, los datos de sensores pueden ser disparados para su conservación en función de la localización asociada a los datos. Entre otros ejemplos se incluyen el tiempo transcurrido desde que se disparó el último dato de sensor y la identificación positiva, el tiempo transcurrido desde que se inició la conducción, la hora del día, la localización, el tipo de carretera, etc. En diversas realizaciones, se pueden especificar una o más propiedades de disparador para limitar las condiciones bajo las que se utiliza el clasificador de disparadores para recopilar y conservar datos de sensores.
En 309, se despliegan el clasificador de disparadores y las propiedades de disparador. Por ejemplo, el clasificador y propiedades de disparadores utilizadas para activar el clasificador para conservar datos de sensores están instalados junto a un sistema de aprendizaje profundo. Por ejemplo, el clasificador y propiedades de disparadores pueden estar empaquetados en forma de un binario pequeño que se transmite inalámbricamente a un vehículo. En algunas realizaciones, el clasificador y propiedades de disparadores empaquetados se transmiten en forma de una actualización por aire utilizando tecnología inalámbrica, tal como una conexión de red wifi o de telefonía móvil. Una vez recibido en el vehículo, el clasificador y propiedades de disparadores se instalan como parte del sistema de conducción autónoma. En algunas realizaciones, solo se instala el clasificador de disparadores. En algunas realizaciones, el clasificador de disparadores y el modelo de aprendizaje profundo para la conducción autónoma están instalados juntos. En diversas realizaciones, el modelo de aprendizaje automático del sistema de conducción autónoma coincide con el utilizado para entrenar el clasificador de disparadores.
La Figura 4 es un diagrama de flujo que ilustra una realización de un procedimiento para identificar datos de entrenamiento potenciales utilizando un clasificador de disparadores. En algunas realizaciones, el clasificador de disparadores se ejecuta de manera conjunta con un sistema de aprendizaje profundo. Por ejemplo, se utiliza un sistema de aprendizaje profundo que utiliza un modelo de aprendizaje automático que coincide con el utilizado para entrenar el clasificador de disparadores como parte de un sistema de conducción autónoma. El clasificador de disparadores analiza los datos de sensores por lo menos parcialmente analizados por el sistema de aprendizaje profundo para identificar si los datos de sensores cumplen con casos de uso particulares que justifican la conservación de los datos de sensores. A continuación, los datos de sensores se transmiten a un ordenador servidor y pueden ser utilizados para crear datos de entrenamiento para un modelo de aprendizaje automático revisado con un rendimiento mejorado en la identificación del caso de uso particular. Entre los ejemplos de los casos de uso se incluyen identificar una rampa de incorporación, una salida de túnel, un obstáculo en la carretera, una bifurcación en la carretera, tipos específicos de vehículos, etc. En algunas realizaciones, se utilizan parámetros de disparador para configurar las condiciones bajo las que el clasificador de disparadores identifica un resultado relevante. En algunas realizaciones, se utilizan uno o más clasificadores y parámetros de disparadores para identificar uno o más casos de uso diferentes. En algunas realizaciones, el procedimiento de la Figura 4 se lleva a cabo en 205, 207, 209, 211 y/o 213 de la Figura 2. En algunas realizaciones, el clasificador de disparadores utilizado en el procedimiento de la Figura 4 se entrena utilizando el procedimiento de la Figura 3.
En 401, se inicia un análisis de aprendizaje profundo. Por ejemplo, un análisis de aprendizaje profundo de un sistema de conducción autónoma se inicia con datos de sensores capturados por sensores unidos a un vehículo. En algunas realizaciones, el análisis de aprendizaje profundo iniciado incluye el preprocesamiento de los datos de sensores. En diversas realizaciones, el análisis de aprendizaje profundo utiliza un modelo de aprendizaje automático entrenado con múltiples capas, incluyendo una o más capas intermedias. En algunas realizaciones, la salida de la primera capa y de cualquier capa intermedia se considera una salida intermedia. En diversas realizaciones, una salida intermedia es la salida de una capa de un modelo de aprendizaje automático que no es la salida final (p. ej., la salida de la capa final del modelo).
En 403, se completa la inferencia utilizando una capa del análisis de aprendizaje profundo. Por ejemplo, una red neuronal incluye múltiples capas, incluidas capas intermedias seguidas de una capa final. La salida de cada capa (p. ej., un resultado intermedio) se alimenta como entrada a la siguiente capa. En algunas realizaciones, la salida de la primera capa y de cada capa intermedia se considera una salida intermedia. En diversas realizaciones, el resultado de determinar la salida de una sola capa es un vector que puede utilizarse como entrada de la siguiente capa. En algunas realizaciones, la entrada a la primera capa de una red neuronal son datos de sensores, tales como datos de imagen. En algunas realizaciones, la red neuronal es una red neuronal convolucional.
En 405, se determina si la salida del análisis de capa realizado en 403 es el resultado de la capa final de la red neuronal. En el caso de que la salida no sea el resultado de la capa final, por ejemplo, si la salida es un resultado intermedio, el procesamiento continúa hasta 409. En el caso de que la salida sea el resultado de la capa final de la red neuronal, la inferencia realizada utilizando el modelo de aprendizaje automático está completa y el procesamiento continúa en 407. En algunas realizaciones, la salida en 405 proporcionada a 407 es un vector de característica.
En 407, los resultados de llevar a cabo el análisis de aprendizaje profundo en los datos de sensores se proporcionan al control del vehículo. En algunas realizaciones, los resultados son procesados posteriormente. Por ejemplo, pueden combinarse los resultados de una o más redes neuronales diferentes para la entrada de uno o más sensores diferentes. En algunas realizaciones, el control del vehículo se implementa utilizando un módulo de control del vehículo para controlar el funcionamiento del vehículo. Por ejemplo, el control del vehículo puede modificar la velocidad, la dirección, la aceleración, el frenado, etc. del vehículo para la conducción autónoma. En algunas realizaciones, el control del vehículo puede habilitar o deshabilitar las luces de giro, las luces de freno, los faros y/u operar otros controles/señales del vehículo, incluyendo controles de red, tales como el envío de mensajes de red a través de una red inalámbrica, tal como una red wifi o de telefonía móvil. En diversas realizaciones, el control del vehículo puede no estar habilitado para controlar activamente el vehículo, por ejemplo, cuando una función de conducción autónoma está desactivada. Por ejemplo, el análisis de aprendizaje profundo en 401 y 403 se lleva a cabo para proporcionar resultados como entrada al clasificador de disparadores con el fin de identificar datos de entrenamiento potenciales incluso cuando el sistema de conducción autónoma no está controlando activamente el vehículo.
En 409, se determina si la capa de la red neuronal y las condiciones de disparador son adecuadas para aplicar el clasificador de disparadores. Por ejemplo, las propiedades del disparador indican las condiciones requeridas para aplicar el clasificador de disparadores. Entre los ejemplos de condiciones se incluyen si el tiempo transcurrido desde la última captura ha superado un tiempo mínimo, si ha transcurrido un tiempo mínimo de conducción, si la hora del día está comprendida dentro de un cierto intervalo, etc. Entre los ejemplos de diferentes momentos del día se pueden incluir amanecer, atardecer, periodo diurno, periodo nocturno, etc. Algunos requisitos condicionales adicionales pueden estar basados en la localización, el tiempo meteorológico, las condiciones de la carretera, el tipo de carretera, el tipo de vehículo, la desconexión de una función de conducción autónoma, el ángulo de dirección (p. ej., exceder un umbral de ángulo de dirección), el cambio en la aceleración, la activación de los frenos, o cualquier otra característica apropiada. Entre los ejemplos de diferentes condiciones meteorológica se pueden incluir nieve, granizo, aguanieve, lluvia, lluvia intensa, cielo encapotado, soleado, nublado, brumoso, etc. Las diferentes condiciones pueden estar especificadas por las propiedades del disparador. En algunas realizaciones, diferentes casos de uso pueden utilizar diferentes propiedades de disparador y el resultado intermedio de diferentes capas de la red neuronal. Por ejemplo, algunos casos de uso pueden ser más eficientes y producir resultados de alta calidad utilizando el resultado intermedio de una capa posterior de la red neuronal. Otros casos de uso pueden requerir un resultado intermedio anterior para identificar ejemplos útiles de datos de sensores que cumplan con el caso de uso. En algunos casos, las propiedades del disparador utilizadas para especificar las condiciones para aplicar el clasificador de disparadores pueden estar anidadas utilizando múltiples comprobaciones condicionales y/o operadores lógicos, tales como los operadores Y (AND) y O (OR).
En 411, se determina una puntuación de clasificador de disparadores. Una puntuación de clasificador de disparadores se determina mediante la aplicación del clasificador de disparadores a los resultados intermedios de la red neuronal. En algunas realizaciones, la aplicación del clasificador de disparadores utiliza un vector ponderado y un sesgo opcional para determinar la puntuación del clasificador asociada a los datos de sensores. En algunas realizaciones, un clasificador de disparadores es una máquina de vectores de soporte o una pequeña red neuronal. En algunas realizaciones, el rendimiento del clasificador de disparadores se mejora mediante la ejecución del clasificador en un procesador de inteligencia artificial (IA) personalizado. Por ejemplo, un procesador de iA puede realizar una operación de producto escalar entre dos vectores en muy pocos ciclos y/o múltiples productos escalares con un desperdicio limitado de ciclos. En algunas realizaciones, el puntuación del clasificador determinado es un número de coma flotante que representa la probabilidad de que los datos de sensores sean un ejemplo positivo (o negativo) del caso de uso que es el objetivo. Por ejemplo, puede utilizarse un intervalo particular, tal como entre -1 y 1, para representar la probabilidad de que los datos de sensores sean un ejemplo negativo o positivo del caso de uso que es el objetivo.
En 413, se determina si la puntuación del clasificador supera un umbral y si se cumplen las condiciones de disparador requeridas. Se compara una puntuación de clasificador con un valor umbral. En caso de que la puntuación del clasificador supere el valor umbral, el procesamiento continúa a 415. En caso de que la puntuación del clasificador no supere el valor umbral, el procesamiento continúa a 403. En algunas realizaciones, se pueden aplicar condiciones adicionales requeridas para el disparador después de determinar la puntuación del clasificador. Por ejemplo, la puntuación del clasificador determinada puede compararse con puntuaciones de clasificadores determinadas anteriormente dentro de un determinada ventana temporal. A título de otro ejemplo, la puntuación del clasificador determinada puede compararse con puntuaciones previamente determinadas de la misma localización. A título de otro ejemplo, los datos de sensores pueden ser necesarios para cumplir tanto con una condición de tiempo como con una condición de localización. Por ejemplo, solo se pueden conservar como datos potenciales los datos de sensores con la puntuación más alta de la misma localización dentro de los últimos 10 minutos. En diversas realizaciones, las condiciones pueden incluir propiedades de disparador que funcionan como un filtro para transmitir o no transmitir los datos de sensores. En algunas realizaciones, las condiciones en 413 son opcionales y solo se compara la puntuación del clasificador con el umbral.
En algunas realizaciones, existe un umbral separado para ejemplos positivos y para ejemplos negativos. Por ejemplo, se puede utilizar un umbral de 0,5 y -0,5 para identificar los datos de los sensores positivos y negativos como datos de entrenamiento potenciales. Las puntuaciones del clasificador entre 0,5 y 1,0 se utilizan para identificar ejemplos positivos y las puntuaciones del clasificador entre -1,0 y -0,5 se utilizan para identificar ejemplos negativos. En algunas realizaciones, solo se conservan ejemplos positivos para su transmisión.
En 415, se transmiten los datos de sensores identificados. Por ejemplo, los datos de sensores identificados se transmiten a un ordenador servidor (p. ej., el sistema de generación de datos de entrenamiento 120) donde pueden utilizarse para crear datos de entrenamiento. En diversas realizaciones, los datos de entrenamiento incluyen un conjunto de datos de entrenamiento y un conjunto de datos de validación. En algunas realizaciones, los datos de sensores transmitidos incluyen metadatos. Entre los ejemplos de metadatos se pueden incluir el tiempo de los datos, una marca de tiempo, las condiciones de la carretera, las condiciones meteorológicas, la localización, el tipo de vehículo, si el vehículo es de conducción por la izquierda o por la derecha, la puntuación del clasificador, el caso de uso, un identificador de la red neuronal, un identificador del clasificador de disparadores, una versión defirmwareasociada al sistema de conducción autónoma, u otros metadatos apropiados asociados a los datos de sensores y/o al vehículo. En algunas realizaciones, la hora del día puede indicar un período de tiempo, tal como el atardecer, el amanecer, la noche, el periodo diurno, el periodo de luna llena, un eclipse solar, etc. Por ejemplo, se puede transmitir un identificador de la red neuronal y/o del clasificador de disparadores para identificar el modelo de aprendizaje automático particular que se utilizó para entrenar el clasificador de disparadores y que se utilizó para determinar la puntuación del clasificador. En algunas realizaciones, los datos de sensores y/o los metadatos en primer lugar se comprimen antes de ser transmitidos. En algunas realizaciones, los datos de sensores se envían en lotes para transferir los datos de sensores de manera más eficiente. Por ejemplo, se lleva a cabo la compresión de múltiples imágenes de datos de sensores y se transmite conjuntamente una serie de datos de sensores.
La Figura 5 es un diagrama de flujo que ilustra una realización de un procedimiento para crear datos de entrenamiento a partir de datos correspondientes a casos de uso identificados por un clasificador de disparadores. Por ejemplo, los datos de sensores recibidos se procesan para crear datos de entrenamiento para entrenar un modelo de aprendizaje automático. En algunas realizaciones, los datos de sensores corresponden a datos de conducción capturados a través de un sistema de conducción autónoma que utiliza un clasificador de disparadores. En algunas realizaciones, los datos de sensores se reciben utilizando el procedimiento de la Figura 4 mediante un clasificador de disparadores entrenado utilizando el procedimiento de la Figura 3. En algunas realizaciones, los datos de sensores corresponden a datos de sensores capturados basándose en casos de uso particulares, tales como la identificación de una bifurcación en la carretera, una rampa de incorporación, una rampa de salida, una entrada a un túnel, etc. En algunas realizaciones, los datos de sensores recibidos corresponden solo a ejemplos positivos del caso de uso. En algunas realizaciones, los datos de sensores incluyen tanto ejemplos positivos como ejemplos negativos. En diversas realizaciones, los datos de sensores incluyen metadatos, tales como la puntuación del clasificador, la localización, la hora del día u otros metadatos apropiados.
En 501, se reciben datos de sensores que cumplen con las condiciones de disparador. Por ejemplo, se reciben datos de sensores que corresponden a un caso de uso particular y pueden utilizarse como datos de entrenamiento potenciales. En diversas realizaciones, los datos de sensores están en el formato que el modelo de aprendizaje automático utiliza como entrada. Por ejemplo, los datos de sensores pueden ser datos de imagen en bruto o datos de imagen procesados. En algunas realizaciones, los datos son datos capturados de sensores de ultrasonidos, radar, sensores de LiDAR u otra tecnología apropiada. En diversas realizaciones, las condiciones de disparador se especifican utilizando un clasificador de disparadores y propiedades de disparador, tal como se describe en referencia a las Figuras 2 a 4.
En 503, los datos de sensores se convierten en datos de entrenamiento. Por ejemplo, los datos de sensores recibidos en 501 incluyen datos identificados como datos de entrenamiento potencialmente útiles. En algunas realizaciones, los datos de sensores recibidos se comprimen para mejorar la eficiencia en la transmisión de los datos desde un vehículo localizado a distancia y en primer lugar se descomprimen. En algunas realizaciones, se revisan los datos para determinar si los datos de sensores representan con precisión el caso de uso que es el objetivo. Por ejemplo, se revisa un caso de uso que es el objetivo, a fin de identificar ejemplos de una salida de túnel para determinar si los datos de sensores en bruto son efectivamente de una salida de túnel. En algunas realizaciones, se utiliza un modelo de aprendizaje automático altamente preciso para confirmar si los datos de sensores representan el caso de uso que es el objetivo. En algunas realizaciones, un ser humano revisa y confirma si los datos de sensores representan el caso de uso que es el objetivo. En algunas realizaciones, los datos útiles para el entrenamiento están anotados. Por ejemplo, los datos pueden estar marcados como un ejemplo positivo o un ejemplo negativo. En algunas realizaciones, los datos están anotados para el objeto que es el objetivo y pueden estar etiquetados. Por ejemplo, los marcadores de carril, señales, semáforos, etc. pueden estar anotados dependiendo del caso de uso que es el objetivo. En diversas realizaciones, la anotación puede ser utilizada para el entrenamiento y/o verificación del modelo de aprendizaje automático entrenado.
En 505, los datos de entrenamiento convertidos en 503 se preparan como conjuntos de datos de entrenamiento y validación. En diversas realizaciones, los datos de sensores convertidos en 503 se preparan como un conjunto de datos para el entrenamiento y un conjunto de datos de validación para validar el modelo de aprendizaje automático. En algunas realizaciones, los datos de entrenamiento de 503 se fusionan con conjuntos de datos de entrenamiento existentes. Por ejemplo, un conjunto de datos de entrenamiento existente aplicable a la mayoría de los casos de uso se fusiona con los nuevos datos de entrenamiento convertidos para mejorar la cobertura de un caso de uso particular. Los nuevos datos de entrenamiento convertidos resultan útiles para mejorar la precisión del modelo en la identificación del caso de uso particular. En algunas realizaciones, se descartan y/o sustituyen algunas partes de los datos de entrenamiento existentes con los nuevos datos de entrenamiento.
En 507, se entrena un modelo de aprendizaje automático. Por ejemplo, se entrena un modelo de aprendizaje automático utilizando los datos preparados en 505. En algunas realizaciones, el modelo es una red neuronal, tal como una red neuronal convolucional (RNC). En diversas realizaciones, el modelo incluye múltiples capas intermedias. En algunas realizaciones, la red neuronal puede incluir múltiples capas, incluidas múltiples capas de convolución y agrupamiento. En algunas realizaciones, el modelo de entrenamiento se valida utilizando un conjunto de datos de validación creado a partir de los datos de sensores recibidos.
En 509, se despliega el modelo de aprendizaje automático entrenado. Por ejemplo, el modelo de aprendizaje automático entrenado se instala en un vehículo como una actualización del sistema de aprendizaje autónomo. Por ejemplo, se puede utilizar una actualización por aire para instalar el nuevo modelo. En algunas realizaciones, la actualización es una actualización defirmwaretransmitida utilizando una red inalámbrica, tal como una red wifi o de telefonía móvil. En algunas realizaciones, el nuevo modelo se utiliza para entrenar nuevos clasificadores de disparadores. En diversas realizaciones, los clasificadores de disparadores existentes basados en el modelo anterior están obsoletos y se despliegan nuevos clasificadores de disparadores basados en el modelo recién entrenado. En algunas realizaciones, el nuevo modelo de aprendizaje automático se instala durante el mantenimiento del vehículo.
La Figura 6 es un diagrama de flujo que ilustra una realización de un procedimiento para causar la selección de un clasificador en un vehículo. El procedimiento puede ser opcionalmente implementado por un vehículo, tal como un vehículo de uno o más procesadores. Por ejemplo, un vehículo puede disponer de una multitud de clasificadores almacenados. En el presente ejemplo, el vehículo puede ejecutar un subconjunto de los clasificadores para conservar recursos de procesamiento. Por ejemplo, el vehículo puede determinar las puntuaciones de clasificadores para solo el subconjunto. Tal como se describe en la Figura 1B, el vehículo puede actualizar el subconjunto periódicamente (p. ej., seleccionar un nuevo clasificador después de transcurrir una cantidad umbral de tiempo). En algunas realizaciones, el vehículo puede recibir información de un sistema externo (p. ej., el sistema 120) que identifica que el vehículo debe ejecutar uno o más clasificadores específicos.
En el bloque 601, el vehículo ejecuta clasificadores. Tal como se ha indicado anteriormente, el vehículo puede obtener datos de sensores y determinar puntuaciones de clasificador basándose en los datos de sensores.
En el bloque 603, el vehículo recibe un disparador para seleccionar un nuevo clasificador. El vehículo puede monitorizar su localización a través de, como mínimo, un receptor de sistema de navegación global por satélite (GNSS, por sus siglas en inglés). En algunas realizaciones, el vehículo puede tener acceso a información cartográfica. La información cartográfica puede identificar determinadas características o casos de uso para los que puede resultar ventajoso obtener datos de entrenamiento. A título de un ejemplo, la información cartográfica puede identificar salidas de túneles. A título de otro ejemplo, la información cartográfica puede identificar una carretera secundaria parcialmente tapada u oculta. A título de otro ejemplo, la información cartográfica puede identificar la localización de un estilo o tipo particular de carril para bicicletas (p. ej., un carril para bicicletas elevado o desplazado). El vehículo puede determinar cuándo está próximo (p. ej., a una distancia umbral) a una característica o caso de uso particular. El vehículo puede entonces obtener información que identifique un nuevo clasificador asociado con una característica o caso de uso particular. Este nuevo clasificador puede ser ejecutado por el vehículo en este caso a fin de determinar las puntuaciones del clasificador para los datos de sensores recibidos.
Además, el vehículo puede transmitir información de localización al sistema externo. El sistema externo puede entonces transmitir información al vehículo sobre uno o más nuevos clasificadores que el vehículo debe ejecutar. Por ejemplo, el sistema externo puede transmitir un identificador único asociado a cada clasificador. Tal como se describe en la Figura 1B, el sistema externo puede haber recibido información de un mismo clasificador que se está ejecutando en por lo menos un número particular de vehículos (p. ej., 1, 3, 10, 20). Estos vehículos pueden haber estado dentro de una distancia umbral (p. ej., un radio) el uno del otro, de manera que el sistema externo determina la existencia de una característica o caso de uso próximo a su localización. De esta manera, el sistema externo puede ordenar al vehículo que ejecute el mismo clasificador en el caso de que se encuentre dentro de una distancia umbral de la localización. De esta manera, el sistema externo puede obtener datos de sensores asociados a este clasificador.
En el bloque 605, el vehículo ejecuta el nuevo clasificador. Tal como se describe en el presente documento, el nuevo clasificador puede obtener información de una capa intermedia de un modelo de aprendizaje automático (p. ej., una red neuronal convolucional). En el bloque 607, el vehículo determina entonces las puntuaciones del clasificador. En el bloque 609, el vehículo transmite seguidamente datos de sensores (p. ej., imágenes) basándose en una puntuación de clasificador que excede un umbral. Tal como se ha indicado anteriormente, los datos de sensores pueden transmitirse junto con metadatos.
La Figura 7 es un diagrama de bloques que ilustra una realización de un sistema de aprendizaje profundo para identificar datos de entrenamiento potenciales. Por ejemplo, el diagrama de bloques incluye diferentes componentes de un sistema de aprendizaje profundo conectados a un clasificador de disparadores para conducción autónoma, en donde un subconjunto de los datos de sensores capturados para la conducción autónoma se identifica como datos de entrenamiento potenciales. En algunas realizaciones, el sistema de aprendizaje profundo puede analizar pasivamente los datos de sensores y la salida intermedia de una capa del sistema de aprendizaje profundo se utiliza como entrada para un clasificador de disparadores. En algunas realizaciones, el sistema de aprendizaje profundo analiza y controla activamente el funcionamiento del vehículo, a la vez que también identifica y conserva datos de sensores potencialmente útiles para crear datos de entrenamiento adicionales. En algunas realizaciones, el sistema de conducción autónoma se utiliza para la conducción autónoma o para la conducción asistida por el conductor del vehículo. En diversas realizaciones, los procedimientos de las Figuras 2 a 6 utilizan un sistema de aprendizaje profundo y/o componentes de un sistema tal como el que se describe en la Figura 7.
En el ejemplo mostrado, el sistema de aprendizaje profundo 700 es una red de aprendizaje profundo que incluye sensores 701, preprocesador de imágenes 703, red de aprendizaje profundo 705, procesador de inteligencia artificial (IA) 707, módulo de control del vehículo 709, interfaz de red 711 y módulo clasificador de disparadores 713. En diversas realizaciones, los diferentes componentes están conectados entre sí para establecer comunicación. Por ejemplo, los datos de sensores de los sensores 701 se envían al preprocesador de imágenes 703. Los datos de sensor procesados del preprocesador de imágenes 703 se envían a la red de aprendizaje profundo 705 que se ejecuta en el procesador de IA 707. La salida de la red de aprendizaje profundo 705 que se ejecuta en el procesador de IA 707 se alimenta al módulo de control del vehículo 709. Los resultados intermedios de la red de aprendizaje profundo 705 que se ejecuta en el procesador de IA 707 se alimentan al módulo clasificador de disparadores 713. Los datos de sensores que disparan la conservación para la transmisión por el módulo clasificador de disparadores 713 se envían a través de la interfaz de red 711. En algunas realizaciones, el módulo clasificador de disparadores 713 se ejecuta en el procesador de IA 707. En diversas realizaciones, la interfaz de red 711 se utiliza para comunicarse con servidores remotos, realizar llamadas telefónicas, enviar y/o recibir mensajes de texto, transmitir datos de sensores identificados por el módulo clasificador de disparadores 713, etc. basándose en el funcionamiento autónomo del vehículo y/o en los resultados del módulo clasificador de disparadores 713. En algunas realizaciones, el sistema de aprendizaje profundo 700 puede incluir componentes adicionales o menos componentes, según resulte apropiado. Por ejemplo, en algunas realizaciones, el preprocesador de imágenes 703 es un componente opcional. A título de otro ejemplo, en algunas realizaciones, se utiliza un componente de posprocesamiento (no mostrado) para realizar el posprocesamiento de la salida de la red de aprendizaje profundo 705 antes de que la salida se proporcione al módulo de control del vehículo 709.
En algunas realizaciones, los sensores 701 incluyen uno o más sensores. En diversas realizaciones, los sensores 701 pueden estar fijados a un vehículo, en diferentes ubicaciones del vehículo y/u orientados en una o más direcciones diferentes. Por ejemplo, los sensores 701 pueden estar fijados en la parte frontal, los laterales, la parte trasera y/o el techo, etc. del vehículo en direcciones que miran hacia adelante, hacia atrás, hacia los lados, etc. En algunas realizaciones, los sensores 701 pueden ser sensores de imagen, tales como cámaras de alto rango dinámico. En algunas realizaciones, los sensores 701 incluyen sensores no visuales. En algunas realizaciones, los sensores 701 incluyen radares, LiDAR y/o sensores de ultrasonidos, entre otros. En algunas realizaciones, los sensores 701 no están montados en el vehículo con el módulo de control del vehículo 709. Por ejemplo, los sensores 701 pueden estar montados en vehículos vecinos y/o fijados a la carretera o al entorno y se incluyen como parte de un sistema de aprendizaje profundo para capturar datos de sensores.
En algunas realizaciones, el preprocesador de imágenes 703 se utiliza para preprocesar los datos de los sensores 701. Por ejemplo, el preprocesador de imágenes 703 puede utilizarse para preprocesar los datos de sensores, dividir los datos de sensores en uno o más componentes y/o post-procesar uno o más componentes. En algunas realizaciones, el preprocesador de imágenes 703 es una unidad de procesamiento gráfico (GPU, por sus siglas en inglés), una unidad central de procesamiento (CPU, por sus siglas en inglés), un procesador de señales de imagen o un procesador de imágenes especializado. En diversas realizaciones, el preprocesador de imágenes 703 es un procesador de mapeo de tonos para procesar datos de alto rango dinámico. En algunas realizaciones, el preprocesador de imágenes 703 se implementa como parte del procesador de inteligencia artificial (IA) 707. Por ejemplo, el preprocesador de imágenes 703 puede ser un componente del procesador de IA 707.
En algunas realizaciones, la red de aprendizaje profundo 705 es una red de aprendizaje profundo para implementar el control de vehículos autónomos. Por ejemplo, la red de aprendizaje profundo 705 puede ser una red neuronal artificial, tal como una red neuronal convolucional (RNC), que se entrena utilizando datos de sensores y su salida se proporciona al módulo de control del vehículo 709. En algunas realizaciones, se utiliza un duplicado de la red neuronal de la red de aprendizaje profundo 705 para crear el clasificador de disparadores del módulo de clasificador de disparadores 713.
En algunas realizaciones, el procesador de inteligencia artificial (IA) 707 es un procesador dehardwarepara ejecutar la red de aprendizaje profundo 705 y/o el módulo clasificador de disparadores 713. En algunas realizaciones, el procesador de IA 707 es un procesador de IA especializado para realizar inferencias utilizando una red neuronal convolucional (RNC) sobre datos de sensores. En algunas realizaciones, el procesador de IA 707 está optimizado para la profundidad de bits de los datos de sensores. En algunas realizaciones, el procesador de IA 707 está optimizado para operaciones de aprendizaje profundo, tales como operaciones de redes neuronales, incluyendo la convolución, productos escalares, operaciones con vectores y/o matrices, entre otras. En algunas realizaciones, el procesador de IA 707 se implementa utilizando una unidad de procesamiento gráfico (GPU). En diversas realizaciones, el procesador de IA 707 está acoplado a una memoria que está configurada para proporcionar al procesador de IA instrucciones que, al ejecutarse, causan que el procesador de IA lleve a cabo un análisis de aprendizaje profundo sobre los datos de sensores de entrada recibidos y determine un resultado de aprendizaje automático utilizado, por lo menos en parte, para el funcionamiento autónomo de un vehículo. En algunas realizaciones, el procesador de IA 707 está configurado para generar los resultados intermedios de una o más capas de la red de aprendizaje profundo 705 a fin de activar el módulo clasificador 713 y determinar una puntuación del clasificador.
En algunas realizaciones, el módulo de control del vehículo 709 se utiliza para procesar la salida del procesador de inteligencia artificial (IA) 707 y para traducir la salida en una operación de control de un vehículo. En algunas realizaciones, el módulo de control del vehículo 709 se utiliza para controlar el vehículo para la conducción autónoma. En algunas realizaciones, el módulo de control del vehículo 709 puede ajustar la velocidad y/o la dirección del vehículo.
Por ejemplo, el módulo de control del vehículo 709 puede utilizarse para controlar un vehículo mediante el frenado, la dirección, el cambio de carril, la aceleración y la incorporación a otro carril, etc. En algunas realizaciones, el módulo de control del vehículo 709 se utiliza para controlar la iluminación del vehículo, tal como las luces de freno, las luces de giro, los faros, etc. En algunas realizaciones, el módulo de control del vehículo 709 se utiliza para controlar las condiciones de audio del vehículo, tal como el sistema de sonido del vehículo, la reproducción de alertas de audio, la activación de un micrófono, la activación del claxon, etc. En algunas realizaciones, el módulo de control del vehículo 709 se utiliza para controlar sistemas de notificación, incluidos los sistemas de advertencia para informar al conductor y/o a los pasajeros sobre eventos de conducción, tales como una posible colisión o la aproximación a un destino previsto. En algunas realizaciones, el módulo de control del vehículo 709 se utiliza para ajustar sensores, tales como los sensores 701 de un vehículo. Por ejemplo, el módulo de control del vehículo 709 puede utilizarse para cambiar los parámetros de uno o más sensores, tal como modificar la orientación, cambiar la resolución de salida y/o el tipo de formato, incrementar o reducir la tasa de captura, ajustar el rango dinámico capturado, ajustar el enfoque de una cámara, habilitar y/o deshabilitar un sensor, etc. En algunas realizaciones, el módulo de control del vehículo 709 puede utilizarse para cambiar los parámetros del preprocesador de imágenes 703, tal como modificar el rango de frecuencia de los filtros, ajustar los parámetros de detección de características y/o bordes, ajustar los canales y la profundidad de bits, etc. En diversas realizaciones, el módulo de control del vehículo 709 se utiliza para implementar la conducción autónoma y/o la conducción asistida por el conductor de un vehículo.
En algunas realizaciones, la interfaz de red 711 es una interfaz de comunicación para enviar y/o recibir datos, incluyendo datos de voz. En diversas realizaciones, una interfaz de red 711 incluye una interfaz de telefonía móvil o inalámbrica para conectarse a servidores remotos, para realizar y recibir llamadas de voz, para enviar y/o recibir mensajes de texto, para transmitir datos de sensores, para recibir actualizaciones del sistema de conducción autónoma que incluyen clasificadores y propiedades de disparadores, etc. Por ejemplo, la interfaz de red 711 puede utilizarse para recibir una actualización de las instrucciones y/o parámetros de funcionamiento de los sensores 701, preprocesador de imágenes 703, red de aprendizaje profundo 705, procesador de IA 707, módulo de control del vehículo 709 y/o módulo clasificador de disparadores 713. Por ejemplo, puede actualizarse un modelo de aprendizaje automático de la red de aprendizaje profundo 705 utilizando la interfaz de red 711. A título de otro ejemplo, la interfaz de red 711 puede utilizarse para actualizar elfirmwarede los sensores 701 y/o los parámetros operativos del preprocesador de imagen 703, tales como los parámetros de procesamiento de imagen.
En algunas realizaciones, la interfaz de red 711 se utiliza para transmitir datos de sensores identificados por el módulo clasificador de disparadores 713. Por ejemplo, los datos de sensores correspondientes a un caso de uso particular identificado por un clasificador de disparadores y que cumplen con las condiciones de las propiedades de disparador asociadas se transmiten a través de la interfaz de red 711 a un ordenador servidor, tal como un ordenador servidor remoto. En algunas realizaciones, el clasificador de disparadores y las propiedades de disparador se actualizan a través de la interfaz de red 711. El clasificador de disparadores actualizado y las propiedades de disparador están instalados en el módulo clasificador de disparadores 713 y se utilizan para identificar y conservar datos de sensores correspondientes a un caso de uso particular.
En algunas realizaciones, la interfaz de red 711 se utiliza para contactar con los servicios de emergencia en caso de un accidente o un casi accidente. Por ejemplo, en caso de una colisión, la interfaz de red 711 puede utilizarse para contactar a los servicios de emergencia para obtener ayuda y puede informar a los servicios de emergencia sobre la localización del vehículo y los detalles de la colisión. En diversas realizaciones, la interfaz de red 711 se utiliza para implementar características de conducción autónoma, tales como acceder a la información del calendario para recuperar y/o actualizar un destino y/o el tiempo de llegada esperado.
En algunas realizaciones, el módulo clasificador de disparadores 713 se utiliza para identificar y conservar datos de sensores correspondientes a un caso de uso particular. Por ejemplo, el módulo clasificador de disparadores 713 determina una puntuación de clasificador para unos datos capturados por uno o más sensores de entre los sensores 701. La puntuación del clasificador se compara con un umbral y puede conservarse y transmitirse a través de la interfaz de red 711 a un ordenador servidor remoto. En algunas realizaciones, el módulo clasificador de disparadores 713 utiliza propiedades de disparador para determinar si se cumplen las condiciones apropiadas para determinar un puntuación de clasificador y/o conservar datos de sensores que cumplan con un umbral de puntuación de clasificador. En algunas realizaciones, el módulo clasificador de disparadores es una máquina de vectores de soporte y recibe la salida intermedia de la red de aprendizaje profundo 705 en forma de una entrada representativa de los datos de sensores de los sensores 701. En algunas realizaciones, el módulo clasificador de disparadores 713 está configurado para recibir los resultados intermedios de una o múltiples capas de la red de aprendizaje profundo 705. La salida de la capa particular puede depender del clasificador de disparadores y/o de las propiedades del disparador. Por ejemplo, algunos casos de uso pueden utilizar un resultado intermedio anterior y otros pueden utilizar un resultado intermedio posterior. En algunas realizaciones, el procesador de IA 707 puede utilizarse para realizar el procesamiento del módulo clasificador de disparadores 713. En diversas realizaciones, los datos de sensores identificados por el módulo clasificador de disparadores 713 se utilizan para crear nuevos conjuntos de datos de entrenamiento para identificar casos de uso particulares.
Los diversos aspectos, realizaciones, implementaciones o características de las realizaciones descritas pueden utilizarse por separado o en cualquier combinación. Diversos aspectos de las realizaciones descritas pueden implementarse mediantesoftware, hardwareo una combinación dehardwareysoftware.Las realizaciones descritas también pueden realizarse en forma de código legible por ordenador en un medio legible por ordenador para el control de operaciones de fabricación o en forma de código legible por ordenador en un medio legible por ordenador para el control de una línea de fabricación. El medio legible por ordenador es cualquier dispositivo de almacenamiento de datos que puede almacenar datos, que posteriormente pueden ser leídos por un sistema informático. Entre los ejemplos de medios legibles por ordenador se incluyen memoria de solo lectura, memoria de acceso aleatorio, CD-ROM, HDD, DVD, cinta magnética y dispositivos de almacenamiento de datos ópticos. El medio legible por ordenador también puede distribuirse a través de sistemas informáticos conectados en red, de modo que el código legible por ordenador se almacene y ejecute de manera distribuida.
También se apreciará que cada uno de los procedimientos, métodos y algoritmos descritos en el presente documento y/o representados en las figuras pueden implementarse y automatizarse total o parcialmente mediante módulos de código ejecutados por uno o más sistemas informáticos físicos, procesadores dehardware,circuitos específicos para aplicaciones y/ohardwareelectrónico configurado para ejecutar instrucciones informáticas específicas y particulares. Por ejemplo, los sistemas informáticos pueden incluir ordenadores de propósito general (p. ej., servidores) programados con instrucciones informáticas específicas u ordenadores de propósito específico, circuitos de propósito específico, etc. Puede compilarse un módulo de código y vincularse a un programa ejecutable, instalado en una biblioteca de enlace dinámico, o puede estar escrito en un lenguaje de programación interpretado. En algunas realizaciones, circuitos pueden llevar a cabo operaciones y métodos particulares, que son específicos para una función determinada.
Además, determinadas realizaciones de la funcionalidad de la presente exposición son lo suficientemente complejas desde el punto de vista matemático, computacional o técnico, que puede ser necesario el hardware específico de la aplicación o uno o más dispositivos de computación física (que utilizan las instrucciones ejecutables especializadas apropiadas) para llevar a cabo la funcionalidad, por ejemplo, debido al volumen o la complejidad de los cálculos necesarios o para proporcionar resultados prácticamente en tiempo real. Por ejemplo, un vídeo puede incluir muchos fotogramas, cada uno con millones de píxeles, y es necesariohardwareinformático específicamente programado para procesar los datos de vídeo y proporcionar una tarea o aplicación de procesamiento de imágenes deseada en un tiempo comercialmente razonable.
Pueden almacenarse módulos de código o cualquier tipo de datos en cualquier tipo de medio no transitorio legible por ordenador, tal como almacenamiento físico que incluye discos duros, memoria de estado sólido, memoria de acceso aleatorio (RAM, por sus siglas en inglés), memoria de solo lectura (ROM, por sus siglas en inglés), disco óptico, almacenamiento volátil o no volátil, combinaciones de los mismos y/o similares. En algunas realizaciones, el medio legible por ordenador no transitorio puede ser parte de uno o más del módulo local de procesamiento y datos, el módulo de procesamiento remoto y el repositorio de datos remoto. Los métodos y módulos (o datos) también pueden transmitirse en forma de señales de datos generadas (p. ej., como parte de una onda portadora u otra señal propagada analógica o digital) en una variedad de medios de transmisión legibles por ordenador, incluyendo medios basados en tecnología inalámbrica y medios por cable, y pueden adoptar diversas formas (p. ej., como parte de una señal analógica única o multiplexada, o como múltiples paquetes o tramas digitales discretas). Los resultados de los procedimientos o etapas de procedimiento descritos pueden almacenarse, de forma persistente o de otra manera, en cualquier tipo de almacenamiento informático tangible no transitorio o pueden comunicarse a través de un medio de transmisión legible por ordenador.
Los procedimientos, bloques, estados, etapas o funcionalidades en los diagramas de flujo descritos en la presente documento y/o representados en las figuras adjuntas deben entenderse como potencialmente representativos de módulos de código, segmentos o partes de código que incluyen una o más instrucciones ejecutables para implementar funciones específicas (p. ej., lógicas o aritméticas) o etapas en el procedimiento. Los diversos procedimientos, bloques, estados, etapas o funcionalidades pueden agruparse, reorganizarse, añadirse, eliminarse, modificarse o cambiarse con respecto a los ejemplos ilustrativos proporcionados en el presente documento. En algunas realizaciones, los sistemas informáticos adicionales o diferentes, o módulos de código, pueden llevar a cabo algunas o todas las funcionalidades descritas en el presente documento.

Claims (11)

  1. REIVINDICACIONES
    i.Método implementado por un sistema de procesador incluido en un vehículo, en donde el método comprende:
    recibir (201) datos de sensores desde una pluralidad de sensores incluidos en el vehículo, en donde los datos de sensores comprenden imágenes,
    aplicar (203) una red neuronal a los datos de los sensores,
    aplicar un clasificador de disparadores de entre una pluralidad de clasificadores de disparadores a un resultado intermedio de la red neuronal para determinar una puntuación de clasificador para los datos de sensores que indican la probabilidad de que los datos de sensores representen una o más características de interés de un caso de uso correspondiente al clasificador de disparadores, en donde la una o más características de interés comprenden uno o más objetos, en donde el clasificador de disparadores ha sido entrenado a través de un sistema remoto (120), que está situado a distancia del vehículo, en base a entradas de un conjunto de datos de entrenamiento que comprenden imágenes iniciales en la red neuronal, en donde las imágenes iniciales representan la una o más características de interés, en donde el clasificador de disparadores está configurado para identificar imágenes que representan la una o más características de interés, y en donde el vehículo está configurado para aplicar la pluralidad de clasificadores de disparadores al resultado intermedio, y
    en respuesta a la determinación de que la puntuación del clasificador supera un umbral, transmitir por lo menos una parte de los datos de sensores al sistema remoto (120) a través de una red informática; recibir, desde el sistema remoto (120), una red neuronal actualizada entrenada por el sistema remoto en base a por lo en la parte transmitida de los datos de sensores, y
    controlar el vehículo utilizando la red neuronal actualizada.
  2. 2. Método según la reivindicación 1, en el que el resultado intermedio es una salida de una capa intermedia de la red neuronal, en particular una salida de la penúltima capa de la red neuronal, o en el que el clasificador de disparadores especifica una capa particular de la red neuronal de la que recibir el resultado intermedio.
  3. 3. Método según la reivindicación 1, en el que la red neuronal es una red neuronal convolucional.
  4. 4. Método según la reivindicación 1, en el que el clasificador de disparadores se ha entrenado utilizando un vector de entrada, en donde el vector de entrada es una salida de una capa de la red neuronal, en particular, una capa seleccionada dinámicamente de la red neuronal.
  5. 5. Método según la reivindicación 4, que además comprende: recibir el clasificador de disparadores de manera inalámbrica desde el sistema remoto (120).
  6. 6. Método según la reivindicación 1, en el que el clasificador de disparadores se ha generado basándose en una necesidad de mejora identificada para la red neuronal.
  7. 7. Método según la reivindicación 1, en el que:
    entre las características de interés se incluyen uno o más de los siguientes: una entrada de túnel, una salida de túnel, una bifurcación en una carretera, un obstáculo en una carretera, líneas de carril de carretera o espacio transitable.
  8. 8. Método según la reivindicación 1, en el que determinar si aplicar el clasificador de disparadores está basado en la satisfacción de una o más condiciones requeridas.
  9. 9. Método según la reivindicación 8, en el que la condición o condiciones requeridas son indicativas de uno o más de los siguientes: una duración de tiempo de circulación, si una función de conducción autónoma ha sido desactivada recientemente, un tipo de vehículo, un umbral de ángulo de dirección, o un tipo de carretera particular especificado para el clasificador de disparadores
  10. 10. Método según la reivindicación 8, en el que el sistema procesador aplica el clasificador de disparadores si la localización del vehículo se encuentra dentro de una distancia umbral a una localización recibida desde el sistema remoto (120).
  11. 11. Método según la reivindicación 1, que comprende, además:
    transmitir por lo menos la parte de los datos y metadatos de sensores que identifican uno o más de los siguientes: una puntuación de clasificador, una localización, una marca de tiempo, un tipo de carretera, un tiempo transcurrido desde los datos de sensores transmitidos anteriormente, o un tipo de vehículo, o transmitir por lo menos la parte de los datos de sensores y las condiciones de funcionamiento del vehículo que identifican uno o más de los siguientes: una velocidad del vehículo, una aceleración del vehículo, un frenado del vehículo o un ángulo de dirección del vehículo.
    Método según la reivindicación 1, que comprende, además, recibir a través de la red informática el clasificador de disparadores representado por un vector de ponderaciones, en donde el clasificador de disparadores puede representarse mediante el vector de ponderaciones y un sesgo.
    Producto de programa informático, en donde el producto de programa informático comprende instrucciones informáticas que, al ser ejecutadas por un sistema de procesador, causan que el sistema de procesador lleve a cabo el método según una de las reivindicaciones anteriores.
    Sistema (700), que comprende:
    una pluralidad de sensores (701) en un vehículo,
    un procesador de inteligencia artificial (707),
    un módulo (709) de control del vehículo,
    un procesador de señales de imagen (703) configurado para:
    la recepción de una imagen capturada utilizando el sensor,
    el procesamiento de la imagen capturada, y
    proporcionar la imagen procesada a una red neuronal,
    una memoria acoplada con el procesador de inteligencia artificial, en donde la memoria está configurada para proporcionar al procesador de inteligencia artificial (707) instrucciones que, cuando son ejecutadas por el procesador de inteligencia artificial (707),
    causan que el procesador de inteligencia artificial (707):
    reciba la imagen procesada,
    lleve a cabo una inferencia utilizando la red neuronal sobre la imagen procesada,
    proporcione un resultado intermedio de la red neuronal a un clasificador de disparadores de una pluralidad de clasificadores de disparadores, en donde el clasificador de disparadores se utiliza para determinar una puntuación del clasificador correspondiente a la imagen capturada que indica una probabilidad de que la imagen capturada represente una o más características de interés de un caso de uso correspondiente al clasificador de disparadores, en donde la característica o características de interés que comprenden uno o más objetos, en donde el clasificador de disparadores ha sido entrenado a través de un sistema remoto (120), que está situado a distancia del vehículo, basándose en la entrada de un conjunto de datos de entrenamiento que comprende imágenes iniciales en la red neuronal, en donde las imágenes iniciales representan la característica o características de interés, en donde el clasificador de disparadores está configurado para identificar imágenes que representan la característica o características de interés, y en donde el vehículo está configurado para aplicar la pluralidad de clasificadores de disparadores al resultado intermedio,
    en respuesta a determinar que la puntuación del clasificador supera un umbral, la transmisión de por lo menos una parte de la imagen capturada al sistema remoto (120) a través de una red informática, la recepción, desde el sistema remoto (120), de una red neuronal actualizada y entrenada por el sistema remoto basándose por lo menos en la parte transmitida de los datos de sensores, y
    el control del vehículo utilizando la red neuronal actualizada.
ES19859523T 2018-09-14 2019-09-13 System and method for obtaining training data Active ES3032881T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862731651P 2018-09-14 2018-09-14
PCT/US2019/051121 WO2020056331A1 (en) 2018-09-14 2019-09-13 System and method for obtaining training data

Publications (1)

Publication Number Publication Date
ES3032881T3 true ES3032881T3 (en) 2025-07-28

Family

ID=69777876

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19859523T Active ES3032881T3 (en) 2018-09-14 2019-09-13 System and method for obtaining training data

Country Status (7)

Country Link
US (1) US20210271259A1 (es)
EP (2) EP3850549B1 (es)
JP (3) JP7227358B2 (es)
KR (3) KR102538768B1 (es)
CN (2) CN112771548B (es)
ES (1) ES3032881T3 (es)
WO (1) WO2020056331A1 (es)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11507099B2 (en) 2018-09-10 2022-11-22 Drisk, Inc. Systems and methods for graph-based AI training
IL270540A (en) * 2018-12-26 2020-06-30 Yandex Taxi Llc Method and system for training a machine learning algorithm to recognize objects from a distance
WO2020185234A1 (en) * 2019-03-14 2020-09-17 Hewlett-Packard Development Company, L.P. Preprocessing sensor data for machine learning
US11983909B2 (en) 2019-03-14 2024-05-14 Hewlett-Packard Development Company, L.P. Responding to machine learning requests from multiple clients
ES2905570T3 (es) 2019-03-19 2022-04-11 2Hfutura Sa Técnica para la recuperación eficiente de datos de personalidad
KR102693851B1 (ko) * 2019-10-25 2024-08-13 현대모비스 주식회사 자동차용 센서 통합 모듈
EP3819888B1 (en) * 2019-11-05 2023-12-27 Valeo Comfort and Driving Assistance Vehicle system of a vehicle for detecting and validating an event using a deep learning model
CN113924462A (zh) * 2020-01-03 2022-01-11 移动眼视觉科技有限公司 用于确定物体尺寸的导航系统和方法
US20210326699A1 (en) * 2020-04-21 2021-10-21 Inrix, Inc. Travel speed prediction
DE102020212147A1 (de) * 2020-09-28 2022-03-31 Robert Bosch Gesellschaft mit beschränkter Haftung Datenbasierte Fortschreibung des Trainings von Klassifikatornetzwerken
DE102020215656A1 (de) 2020-12-10 2022-06-15 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Generieren von Anomalie-Trainingsdaten für ein künstliches Neuronales Netz
WO2022146945A1 (en) * 2020-12-30 2022-07-07 Flir Unmanned Aerial Systems Ulc Systems and methods for learning and finding objects in-the-wild
WO2022165525A1 (en) * 2021-01-28 2022-08-04 Drisk, Inc. Systems and methods for autonomous vehicle control
DE102021201539A1 (de) 2021-02-18 2022-08-18 Zf Friedrichshafen Ag Erzeugung von Trainingsdaten für einen Algorithmus des maschinellen Lernens
EP4047514B1 (en) 2021-02-19 2023-10-11 Zenseact AB Platform for perception system development for automated driving system
EP4047515B1 (en) * 2021-02-19 2023-10-11 Zenseact AB Platform for perception system development for automated driving systems
WO2022215605A1 (ja) * 2021-04-08 2022-10-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理装置、及び情報処理プログラム
DE102021204143A1 (de) * 2021-04-26 2022-10-27 Volkswagen Aktiengesellschaft Gewinnung eines Sensor-Datensatzes eines Fahrzeugs einer Fahrzeugflotte
EP4082862B1 (en) * 2021-04-29 2026-05-13 Zenseact AB Platform for path planning system development for automated driving system
KR20230021457A (ko) * 2021-08-05 2023-02-14 현대모비스 주식회사 차량의 장애물 감지 시스템 및 방법
WO2023023265A1 (en) 2021-08-19 2023-02-23 Tesla, Inc. Vision-based system training with simulated content
US12462575B2 (en) 2021-08-19 2025-11-04 Tesla, Inc. Vision-based machine learning model for autonomous driving with adjustable virtual camera
US12505682B2 (en) * 2021-09-08 2025-12-23 Motive Technologies, Inc. Close following detection using machine learning models
CN113920222B (zh) * 2021-09-13 2025-03-25 北京三快在线科技有限公司 获取地图建图数据的方法、装置、设备及可读存储介质
KR102893795B1 (ko) * 2021-09-27 2025-12-03 포티투닷 주식회사 자율주행 모드를 구현하는 인공지능 모델을 재학습시키는 장치 및 서버
CA3181843A1 (en) 2021-09-29 2023-03-29 Matt3r Technologies Inc. Methods and systems for monitoring driving automation
GB2628028B (en) * 2021-10-08 2025-06-11 Samsung Electronics Co Ltd Method, system and apparatus for monocular depth estimation
KR102416691B1 (ko) * 2021-11-24 2022-07-06 주식회사 마크애니 다중 객체 인식용 기계학습을 위한 다중 데이터셋 기반 학습 장치 및 방법
DE102021214334B3 (de) 2021-12-14 2023-06-07 Continental Autonomous Mobility Germany GmbH Fahrzeugdatensystem und Verfahren zur Ermittlung von relevanten bzw. übertragenswerten Fahrzeugdaten eines Umgebungserfassungssensors
KR20230099518A (ko) * 2021-12-27 2023-07-04 현대자동차주식회사 자율 주행 학습 데이터 취득 장치 및 그 방법
EP4231196A1 (en) * 2022-02-17 2023-08-23 Volvo Car Corporation Methods and apparatus for training a machine learning algorithm
EP4436851A4 (en) * 2022-03-15 2025-03-12 Huawei Technologies Co., Ltd. System and method for optimizing a motion planner for an autonomous vehicle
JP7725398B2 (ja) * 2022-03-16 2025-08-19 株式会社東芝 判定装置、判定方法、および判定プログラム
CN114662691A (zh) * 2022-03-25 2022-06-24 芜湖雄狮汽车科技有限公司 自动驾驶车辆的特征知识库系统及方法
US12243295B2 (en) * 2022-03-31 2025-03-04 GM Global Technology Operations LLC Robust neural network learning system
DE102022111180A1 (de) 2022-05-05 2023-11-09 Bayerische Motoren Werke Aktiengesellschaft Computer-implementiertes verfahren und vorrichtung zur auslegung einer datensammelkampagne für ein kraftfahrzeug
DE102022111325A1 (de) 2022-05-06 2023-11-09 Bayerische Motoren Werke Aktiengesellschaft Verfahren und vorrichtung zur ermittlung einer fehlfunktion eines kraftfahrzeugs
US12623691B2 (en) 2022-05-20 2026-05-12 Tesla, Inc. Fail-safe corrective actions based on vision information for autonomous vehicles
KR20240029392A (ko) 2022-08-26 2024-03-05 현대자동차주식회사 자율주행차량의 성능 저하 검출 장치 및 그 방법
JP2025535012A (ja) 2022-09-30 2025-10-22 テスラ,インコーポレイテッド アクチュエータおよびアクチュエータ設計方法論
US20240236278A9 (en) * 2022-10-19 2024-07-11 Magna Electronics Inc. System and method to efficiently perform data analytics on vehicle sensor data
KR20240073631A (ko) 2022-11-18 2024-05-27 현대자동차주식회사 딥러닝 모델의 학습 영상 수집 장치 및 그 방법
DE102023200611A1 (de) 2023-01-26 2024-08-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Erfassen von Informationen eines Fahrassistenzsystems
US12697994B1 (en) 2023-05-02 2026-08-04 Zoox, Inc. Conversion of driving logs to simulations for autonomous vehicle testing and validation
US12576879B1 (en) * 2023-05-02 2026-03-17 Zoox, Inc. Conversion of driving logs to simulations for autonomous vehicle testing and validation
CN116679977A (zh) * 2023-05-22 2023-09-01 同济大学 一种应用于自动驾驶汽车的闭环在线自学习架构
DE102023114238A1 (de) * 2023-05-31 2024-12-05 Bayerische Motoren Werke Aktiengesellschaft Bestimmung eines befahrenen Straßenabschnitts
JPWO2024253004A1 (es) * 2023-06-05 2024-12-12
WO2025225191A1 (ja) * 2024-04-22 2025-10-30 株式会社デンソー 車両制御装置及びプログラム
WO2026024363A1 (en) * 2024-07-24 2026-01-29 Hello Everyday, Inc. Radar-based human presence monitoring system with edge filtering and cloud-based feedback
WO2026071151A1 (ja) * 2024-09-30 2026-04-02 京セラ株式会社 通信方法及びユーザ装置
US20260103190A1 (en) * 2024-10-10 2026-04-16 Artem Maksimovich VOLKOV Method for training a machine learning model
WO2026116377A1 (ja) * 2024-11-29 2026-06-04 株式会社デンソー データ収集方法、データ収集システムおよびモデル生成方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313467B2 (en) * 2000-09-08 2007-12-25 Automotive Technologies International Inc. System and method for in-vehicle communications
CN101599126B (zh) * 2009-04-22 2012-09-19 哈尔滨工业大学 利用全局互信息加权的支持向量机分类器
US9015093B1 (en) * 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9542626B2 (en) * 2013-09-06 2017-01-10 Toyota Jidosha Kabushiki Kaisha Augmenting layer-based object detection with deep convolutional neural networks
JP6044556B2 (ja) * 2014-01-16 2016-12-14 株式会社デンソー 学習システム、車載装置、及び、サーバ
CN105320957B (zh) * 2014-07-10 2022-02-15 腾讯科技(深圳)有限公司 分类器训练方法和装置
US20170046510A1 (en) * 2015-08-14 2017-02-16 Qualcomm Incorporated Methods and Systems of Building Classifier Models in Computing Devices
US10289949B2 (en) * 2015-09-29 2019-05-14 International Business Machines Corporation Incident prediction and response using deep learning techniques and multimodal data
JP6622047B2 (ja) * 2015-10-02 2019-12-18 株式会社東芝 通信処理装置、及び通信処理方法
JP6656357B2 (ja) * 2016-04-04 2020-03-04 オリンパス株式会社 学習方法、画像認識装置およびプログラム
US20180004210A1 (en) * 2016-07-01 2018-01-04 nuTonomy Inc. Affecting Functions of a Vehicle Based on Function-Related Information about its Environment
JP2018026040A (ja) * 2016-08-12 2018-02-15 キヤノン株式会社 情報処理装置および情報処理方法
JP2018055259A (ja) * 2016-09-27 2018-04-05 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2018060268A (ja) * 2016-10-03 2018-04-12 株式会社日立製作所 認識装置および学習システム
US10748075B2 (en) * 2016-10-21 2020-08-18 Stmicroelectronics, Inc. Method and apparatus for energy efficient probabilistic context awareness of a mobile or wearable device user by switching between a single sensor and multiple sensors
KR20180055708A (ko) * 2016-11-16 2018-05-25 삼성전자주식회사 이미지를 처리하는 전자 장치 및 방법
US10318827B2 (en) * 2016-12-19 2019-06-11 Waymo Llc Object detection neural networks
JP2018125777A (ja) * 2017-02-02 2018-08-09 パナソニックIpマネジメント株式会社 撮像装置、学習サーバ、撮像システム
CN107766876B (zh) * 2017-09-19 2019-08-13 平安科技(深圳)有限公司 驾驶模型训练方法、驾驶人识别方法、装置、设备及介质
CN107818335A (zh) * 2017-10-09 2018-03-20 南京航空航天大学 一种基于多分类器自适应加权的钢轨裂纹识别方法

Also Published As

Publication number Publication date
JP7227358B2 (ja) 2023-02-21
CN118447348A (zh) 2024-08-06
CN112771548B (zh) 2024-06-04
JP7512452B2 (ja) 2024-07-08
JP7851990B2 (ja) 2026-04-27
EP3850549A1 (en) 2021-07-21
EP3850549A4 (en) 2022-06-15
WO2020056331A1 (en) 2020-03-19
EP3850549B1 (en) 2025-05-28
JP2023053031A (ja) 2023-04-12
US20210271259A1 (en) 2021-09-02
KR102662474B1 (ko) 2024-04-30
EP4586218A3 (en) 2025-09-24
CN112771548A (zh) 2021-05-07
KR20240063182A (ko) 2024-05-09
EP4586218A2 (en) 2025-07-16
KR20230079505A (ko) 2023-06-07
KR102538768B1 (ko) 2023-06-01
KR20210045454A (ko) 2021-04-26
JP2024123217A (ja) 2024-09-10
JP2021536072A (ja) 2021-12-23

Similar Documents

Publication Publication Date Title
JP7851990B2 (ja) トレーニングデータを取得するためのシステム及び方法
CN113614851B (zh) 从时间序列元素生成用于机器学习的地面真值
US11087494B1 (en) Image-based depth data and localization
US10937178B1 (en) Image-based depth data and bounding boxes
US12300002B2 (en) Pipeline architecture for road sign detection and evaluation
US11126873B2 (en) Vehicle lighting state determination
US10984543B1 (en) Image-based depth data and relative depth data
US10657391B2 (en) Systems and methods for image-based free space detection
US20250076486A1 (en) Fusion of radar and infrared data for object detection and tracking
CN113646772A (zh) 预测用于自主驾驶的三维特征
US12012108B1 (en) Prediction models in autonomous vehicles using modified map data
US12545274B2 (en) Peer-to-peer vehicular provision of artificially intelligent traffic analysis
US20250191385A1 (en) Electronic device and method for identifying character string of license plate of vehicle
US20250304109A1 (en) Systems and methods of determining changes in pose of an autonomous vehicle
US12352850B1 (en) Geo-localization using 3D sensor data
US20230256988A1 (en) Dynamic lidar adjustments based on av road conditions
WO2023096716A1 (en) Encoding relative object information into node edge features
HK40044289A (en) System and method for obtaining training data
US20260057540A1 (en) System and method of off-board object detection by a vehicle
HK40044289B (en) System and method for obtaining training data
US20250157325A1 (en) Systems and methods for encouraging pedestrian group movement