DE102017108255A1 - PARALLEL DETECTION OF PRIMITIVES IN A SCENE USING A ROUNDUM CAMERA SYSTEM - Google Patents

PARALLEL DETECTION OF PRIMITIVES IN A SCENE USING A ROUNDUM CAMERA SYSTEM Download PDF

Info

Publication number
DE102017108255A1
DE102017108255A1 DE102017108255.7A DE102017108255A DE102017108255A1 DE 102017108255 A1 DE102017108255 A1 DE 102017108255A1 DE 102017108255 A DE102017108255 A DE 102017108255A DE 102017108255 A1 DE102017108255 A1 DE 102017108255A1
Authority
DE
Germany
Prior art keywords
road
views
primitives
scene
parallel
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.)
Withdrawn
Application number
DE102017108255.7A
Other languages
German (de)
Inventor
Guangyu J. Zou
Upali P. Mudalige
Jinsong Wang
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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
Priority claimed from US15/487,753 external-priority patent/US10402670B2/en
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102017108255A1 publication Critical patent/DE102017108255A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)

Abstract

Es werden Techniken zur Detektion von Straßenszenenprimitiven unter Verwendung eines Fahrzeugkamerasystems offenbart. Bei einer beispielhaften Implementierung umfasst ein computerimplementiertes Verfahren, dass durch eine Verarbeitungsvorrichtung, die mindestens zwei parallele Verarbeitungskerne aufweist, mindestens ein Bild von einer Kamera empfangen wird, die mit einem Fahrzeug auf einer Straße verbunden ist. Die Verarbeitungsvorrichtung erzeugt eine Vielzahl von Ansichten aus dem mindestens einen Bild, welche ein Merkmalprimitiv enthalten. Das Merkmalprimitiv zeigt ein Fahrzeug oder andere interessierende Straßenszenenentitäten an. Unter Verwendung jedes der parallelen Verarbeitungskerne wird ein Satz von Primitiven aus einer oder mehreren der Vielzahl von Ansichten identifiziert. Die Merkmalprimitive werden unter Verwendung eines maschinellen Lernens und/oder klassischer Computervisionstechniken identifiziert. Die Verarbeitungsvorrichtung gibt auf der Grundlage der Vielzahl von Ansichten resultierende Primitive auf der Grundlage der Vielzahl von identifizierten Primitiven aus mehreren Ansichten auf der Grundlage der Vielzahl von identifizierten Entitäten aus.Techniques for detecting road scene primitives using a vehicle camera system are disclosed. In an example implementation, a computer-implemented method includes receiving, by a processing device having at least two parallel processing cores, at least one image from a camera connected to a vehicle on a road. The processing device generates a plurality of views from the at least one image containing a feature primitive. The feature primitive indicates a vehicle or other road scene entity of interest. Using each of the parallel processing cores, a set of primitives is identified from one or more of the plurality of views. The feature primitives are identified using machine learning and / or classical computer vision techniques. The processing device outputs primitives resulting from the plurality of views based on the plurality of identified primitives from a plurality of views based on the plurality of identified entities.

Description

QUERVERWEIS AUF VERWANDTE ANMELDUNGCROSS-REFERENCE TO RELATED APPLICATION

Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung mit der Nummer 62/324,596, die am 19. April 2016 eingereicht wurde und deren gesamter Offenbarungsgehalt hier durch Bezugnahme mit aufgenommen ist.This application claims the benefit of US Provisional Application No. 62 / 324,596, filed Apr. 19, 2016, the entire disclosure of which is incorporated herein by reference.

EINLEITUNGINTRODUCTION

Die vorliegende Offenbarung betrifft allgemein ein System mit mehreren Kameras eines Fahrzeugs und insbesondere ein Kamerasystem mit Rundumblick zur parallelen Detektion, Klassifizierung und Verfolgung von Primitiven.The present disclosure relates generally to a multi-camera system of a vehicle, and more particularly to an all-around camera system for parallel detection, classifying and tracking of primitives.

Ein Fahrzeug, etwa ein Auto, ein Motorrad, ein Schiff oder eine beliebige andere Art von Kraftfahrzeug kann mit einer oder mit mehreren Kameras ausgestattet sein, um Ansichten außerhalb des Fahrzeugs für einen Fahrer, für andere Insassen des Fahrzeugs und für das Wahrnehmungssystem von automatisierten Fahrzeugen bereitzustellen. Beispielsweise kann ein Fahrzeug Front-, Seiten- und/oder Heckkameras enthalten. Fahrzeuge mit Kameras an allen Seiten können ein Rundumblick-Kamerasystem bzw. ”Surround View”-Kamerasystem implementieren, das eine Vogelperspektive oder eine Ansicht von oben auf das Fahrzeug und seine Umgebung bereitstellt. Bilder von den Kameras können dem Fahrer oder einem anderen Insassen des Fahrzeugs auf einer Anzeige im Fahrzeug präsentiert werden, etwa auf dem Armaturenbrett, der Mittelkonsole, einer Heads-up-Anzeige usw. Zusätzlich können Bilder von den Kameras verwendet werden, um Objekte und Straßenmerkmale zu detektieren, die sich außerhalb des Fahrzeugs befinden.A vehicle, such as a car, a motorcycle, a ship, or any other type of motor vehicle, may be equipped with one or more cameras for viewing outside the vehicle for a driver, for other occupants of the vehicle, and for the automated vehicle sensing system provide. For example, a vehicle may include front, side and / or rear cameras. Vehicles with cameras on all sides can implement a surround view camera system that provides a bird's-eye view or top view of the vehicle and its surroundings. Images from the cameras may be presented to the driver or other occupant of the vehicle on a display in the vehicle, such as the dashboard, center console, heads-up display, etc. In addition, images from the cameras may be used to identify objects and road features to detect that are outside the vehicle.

ZUSAMMENFASSUNGSUMMARY

Bei einer beispielhaften Ausführungsform wird ein computerimplementiertes Parallelisierungsverfahren zum Detektieren von Primitiven beschrieben. Das Verfahren umfasst, dass durch eine Verarbeitungsvorrichtung, die mindestens zwei parallele Verarbeitungskerne aufweist, mindestens ein Bild von einer Kamera empfangen wird, die mit einem Fahrzeug auf einer Straße verbunden ist. Die Verarbeitungsvorrichtung erzeugt eine Vielzahl von Ansichten aus dem mindestens einen Bild, welche ein Merkmalprimitiv enthalten. Das Merkmalprimitiv zeigt eine oder mehrere interessierende Straßenszenenentitäten an. Unter Verwendung jedes der parallelen Verarbeitungskerne identifiziert die Verarbeitungsvorrichtung ein Merkmalprimitiv aus einer oder mehreren der Vielzahl von Ansichten. Die Straßenszenenentität wird unter Verwendung von maschinellem Lernen und/oder einer Computervisionstechnik identifiziert. Auf der Grundlage der Vielzahl von Ansichten gibt die Verarbeitungsvorrichtung einen Satz von resultierenden Straßenszenenprimitiven parallel aus. Der Satz von resultierenden Straßenszenenprimitiven beruht auf der identifizierten Straßenszenenentität.In an exemplary embodiment, a computer-implemented parallelization method for detecting primitives is described. The method includes receiving, by a processing device having at least two parallel processing cores, at least one image from a camera connected to a vehicle on a road. The processing device generates a plurality of views from the at least one image containing a feature primitive. The feature primitive indicates one or more street scene entities of interest. Using each of the parallel processing cores, the processing device identifies a feature primitive from one or more of the plurality of views. The street scene entity is identified using machine learning and / or a computer vision technique. Based on the plurality of views, the processing device outputs a set of resulting road scene primitives in parallel. The set of resulting street scene primitives is based on the identified street scene entity.

Bei einer anderen beispielhaften Ausführungsform wird ein System zur parallelen Detektion von Primitiven beschrieben. Das System umfasst eine Vielzahl von Kameras, die mit einem Fahrzeug verbunden sind, einen Speicher, der computerlesbare Anweisungen aufweist, und eine Verarbeitungsvorrichtung, die mindestens zwei parallele Verarbeitungskerne aufweist. Die Verarbeitungsvorrichtung ist ausgestaltet, um mindestens ein Bild von einer Kamera zu empfangen, die mit einem Fahrzeug auf einer Straße verbunden ist. Die Verarbeitungsvorrichtung erzeugt eine Vielzahl von Ansichten aus dem mindestens einen Bild, welche ein Merkmalprimitiv enthalten. Das Merkmalprimitiv zeigt eine oder mehrere interessierende Straßenszenenentitäten an. Unter Verwendung jedes der parallelen Verarbeitungskerne identifiziert die Verarbeitungsvorrichtung eine Straßenszenenentität aus einer oder mehreren der Vielzahl von Ansichten. Die Merkmalprimitive werden unter Verwendung von maschinellem Lernen und/oder einer Computervisionstechnik identifiziert. Auf der Grundlage der Vielzahl von Ansichten gibt die Verarbeitungsvorrichtung einen Satz von resultierenden Straßenszenenprimitiven parallel aus. Der Satz von resultierenden Straßenszenenprimitiven beruht auf der identifizierten Straßenszenenentität.In another exemplary embodiment, a system for parallel detection of primitives is described. The system includes a plurality of cameras connected to a vehicle, a memory having computer readable instructions, and a processing device having at least two parallel processing cores. The processing device is configured to receive at least one image from a camera connected to a vehicle on a road. The processing device generates a plurality of views from the at least one image containing a feature primitive. The feature primitive indicates one or more street scene entities of interest. Using each of the parallel processing cores, the processing device identifies a street scene entity from one or more of the plurality of views. The feature primitives are identified using machine learning and / or a computer vision technique. Based on the plurality of views, the processing device outputs a set of resulting road scene primitives in parallel. The sentence of resulting road scene primitives is based on the identified street scene entity.

Bei noch einer weiteren beispielhaften Ausführungsform umfasst ein Computerprogrammprodukt zur parallelen Detektion von Szenenprimitiven ein computerlesbares Speichermedium, das darin enthaltene Programmanweisungen aufweist. Die Programmanweisungen können von einer Verarbeitungsvorrichtung ausgeführt werden, um zu veranlassen, dass die Verarbeitungsvorrichtung ein Verfahren ausführt. Das Verfahren umfasst, dass von einer Verarbeitungsvorrichtung, die mindestens zwei parallele Verarbeitungskerne aufweist, mindestens ein Bild von einer Kamera empfangen wird, die mit einem Fahrzeug auf einer Straße verbunden ist. Die Verarbeitungsvorrichtung erzeugt eine Vielzahl von Ansichten aus dem mindestens einen Bild, die ein Merkmalprimitiv enthalten. Das Merkmalprimitiv zeigt eine oder mehrere interessierende Straßenszenenentitäten an. Unter Verwendung jedes der parallelen Verarbeitungskerne identifiziert die Verarbeitungsvorrichtung ein Merkmalprimitiv aus einer oder mehreren der Vielzahl von Ansichten. Die Straßenszenenentität wird unter Verwendung von maschinellem Lernen und/oder einer Computervisionstechnik identifiziert. Auf der Grundlage der Vielzahl von Ansichten gibt die Verarbeitungsvorrichtung einen Satz von resultierenden Straßenszenenprimitiven parallel aus. Der Satz von resultierenden Straßenszenenprimitiven beruht auf der identifizierten Straßenszenenentität.In yet another example embodiment, a computer program product for parallel detection of scene primitives comprises a computer readable storage medium having program instructions contained therein. The program instructions may be executed by a processing device to cause the processing device to execute a method. The method includes receiving from a processing device having at least two parallel processing cores at least one image from a camera connected to a vehicle on a road. The processing device generates a plurality of views from the at least one image containing a feature primitive. The feature primitive indicates one or more street scene entities of interest. Using each of the parallel processing cores, the processing device identifies a feature primitive from one or more of the plurality of views. The street scene entity is identified using machine learning and / or a computer vision technique. Based on the plurality of views, the processing device outputs a set of resulting road scene primitives in parallel. The set of resulting street scene primitives is based on the identified street scene entity.

Zusätzlich zu einem oder mehreren der hier beschriebenen Merkmale zeigt das resultierende Merkmalprimitiv in Übereinstimmung mit einer anderen Ausführungsform eine Straßenszenenentität an, die ein Fußgänger, ein Verkehrszeichen, ein Verkehrssignal und ein Straßenmerkmal sein kann.In addition to one or more of the features described herein, in accordance with another embodiment, the resulting feature primitive displays a street scene entity, which may be a pedestrian, a traffic sign, a traffic signal, and a road feature.

Bei einer andren beispielhaften Ausführungsform verwendet das maschinelle Lernen ein konvolutionelles neuronales Netzwerk.In another exemplary embodiment, machine learning uses a convolutional neural network.

Bei einer anderen beispielhaften Ausführungsform umfasst das Identifizieren der Straßenszenenentität bei jedem parallelen Verarbeitungskern ferner, dass bei jedem parallelen Verarbeitungskern eine Merkmalsextraktion ausgeführt wird, um die Straßenszenenentität aus einer Ansicht unter Verwendung eines neuronalen Netzwerks zu extrahieren. Die Verarbeitungsvorrichtung führt eine Klassifizierung der Straßenszenenentität unter Verwendung des neuronalen Netzwerks durch.In another exemplary embodiment, identifying the street scene entity in each parallel processing core further includes performing feature extraction on each parallel processing core to extract the street scene entity from a view using a neural network. The processing apparatus performs classification of the street scene entity using the neural network.

Bei noch einer anderen beispielhaften Ausführungsform identifiziert einer oder identifizieren mehrere der parallelen Verarbeitungskerne eine andere Straßenszenenentität aus einer anderen Ansicht als ein anderer der parallelen Verarbeitungskerne.In yet another example embodiment, one or more of the parallel processing cores identifies a different street scene entity from a different view than another of the parallel processing cores.

Bei einer anderen beispielhaften Ausführungsform analysiert ein paralleler Verarbeitungskern eine andere Ansicht als ein anderer der parallelen Verarbeitungskerne.In another exemplary embodiment, a parallel processing kernel analyzes a different view than another of the parallel processing kernels.

Bei einer anderen beispielhaften Ausführungsform enthält die Kamera eine Fischaugenlinse.In another exemplary embodiment, the camera includes a fisheye lens.

Die vorstehenden Merkmale und Vorteile und andere Merkmale und Vorteile der Offenbarung ergeben sich leicht aus der folgenden genauen Beschreibung, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen wird.The foregoing features and advantages and other features and advantages of the disclosure will be readily apparent from the following detailed description when read in conjunction with the accompanying drawings.

KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

Andere Merkmale, Vorteile und Details erscheinen nur als Beispiel in der folgenden genauen Beschreibung, wobei die genaue Beschreibung auf die Zeichnungen Bezug nimmt, in denen:Other features, advantages and details appear as an example only in the following detailed description, the detailed description of which refers to the drawings, in which:

1 ein Fahrzeug darstellt, das ein Verarbeitungssystem zur Detektion von Primitiven in Übereinstimmung mit Aspekten der vorliegenden Offenbarung enthält; 1 FIG. 10 illustrates a vehicle incorporating a processing system for detecting primitives in accordance with aspects of the present disclosure; FIG.

2 das Verarbeitungssystem von 1 in Übereinstimmung mit Aspekten der vorliegenden Offenbarung darstellt; 2 the processing system of 1 in accordance with aspects of the present disclosure;

3 die Bildverarbeitung von Bildern, die mit der Detektion von Primitiven verbunden ist, in Übereinstimmung mit Aspekten der vorliegenden Offenbarung darstellt; 3 illustrates the image processing of images associated with the detection of primitives in accordance with aspects of the present disclosure;

3 und 4 neuronale Netzwerke in Übereinstimmung mit Aspekten der vorliegenden Offenbarung darstellen, die zum Detektieren von Primitiven verwendet werden; 3 and 4 represent neural networks in accordance with aspects of the present disclosure used to detect primitives;

5 ein Flussdiagramm eines Verfahrens zur Detektion von Primitiven in Übereinstimmung mit Aspekten der vorliegenden Offenbarung darstellt; und 5 FIG. 10 is a flowchart of a method of detecting primitives in accordance with aspects of the present disclosure; FIG. and

6 ein Blockdiagramm eines Verarbeitungssystems zur Implementierung der hier beschriebenen Techniken in Übereinstimmung mit Aspekten der vorliegenden Offenbarung darstellt. 6 FIG. 10 is a block diagram of a processing system for implementing the techniques described herein in accordance with aspects of the present disclosure. FIG.

GENAUE BESCHREIBUNGPRECISE DESCRIPTION

Die folgende Beschreibung ist lediglich beispielhaft und ist nicht dazu gedacht, die vorliegende Offenbarung, ihre Anwendung oder Verwendungsmöglichkeiten zu beschränken. Es versteht sich, dass in den Zeichnungen einander entsprechende Bezugszeichen gleiche oder einander entsprechende Teile und Merkmale bezeichnen. Der Begriff ”Modul” bezeichnet, so wie er hier verwendet wird, eine Verarbeitungsschaltung, die eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert, oder Gruppe) mit Speicher, der ein oder mehrere Software- oder Firmwareprogramme ausführt, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten enthalten kann, welche die beschriebene Funktionalität bereitstellen.The following description is merely exemplary and is not intended to limit the present disclosure, its application, or uses. It is understood that in the drawings, like reference characters designate like or corresponding parts and features. The term "module" as used herein refers to a processing circuit comprising an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) with memory having one or more software components. or execute firmware programs, may include combinational logic circuitry and / or other suitable components that provide the described functionality.

Die hier beschriebenen technischen Lösungen stellen eine allgemeine Detektion von Primitiven in Straßenszenen unter Verwendung einer Kamera eines Fahrzeugs auf parallele Weise bereit. Beispielsweise verwenden die vorliegenden Techniken ein Rundumkamerasystem eines Fahrzeugs, um Straßenmerkmale in einem Nahbereich auf zuverlässige Weise und in Echtzeit zu detektieren, zu verfolgen und zu klassifizieren. Straßenmerkmale umfassen Fahrspurmarkierungen, Verkehrsrichtungsregelungsanzeigen, Bordsteine, Randstreifen und dergleichen, die auf oder in der Nähe der Straßenoberfläche angeordnet sind. Zum Detektieren von Straßenmerkmalen implementieren die vorliegenden Techniken ein Netzwerk zum tiefgehenden Lernen, um eine Detektion und Klassifizierung mehrerer Straßenmerkmale auf parallele Weise in einem Schritt und in Echtzeit zu ermöglichen. Bei einigen Beispielen können die Straßenmerkmale mit anderen Sensoren/Daten im Fahrzeug (z. B. Sensoren mit großer Reichweite, anderen Kameras, LIDAR-Sensoren, Karten usw.) zusammengeführt werden, um die Genauigkeit und Robustheit der Detektion und Klassifizierung zu verbessern. Bei zusätzlichen Beispielen können die Straßenmerkmale zur Eigenabbildung und Schwarmauslagerung bzw. zum Crowdsourcing verwendet werden, um eine Datenbank mit Straßenmerkmalen zu erzeugen und/oder zu aktualisieren.The technical solutions described herein provide for general detection of primitives in street scenes using a camera of a vehicle in a parallel manner. For example, the present techniques utilize an all-around camera system of a vehicle to detect, track, and classify road characteristics in a close range in a reliable manner and in real time. Road features include lane markings, traffic direction control displays, curbs, edge trim, and the like, located on or near the road surface. For detecting road features, the present techniques implement a deep learning network to detect and classify multiple ones To enable road characteristics in parallel in one step and in real time. In some examples, road characteristics may be merged with other sensors / data in the vehicle (eg, long range sensors, other cameras, LIDAR sensors, maps, etc.) to improve the accuracy and robustness of the detection and classification. In additional examples, the road characteristics may be used for self-imaging and swarm outsourcing or crowdsourcing to create and / or update a database of road features.

Merkmalprimitive können, so wie sie hier verwendet werden, ein Fahrzeug, einen Fußgänger, ein Verkehrszeichen oder -signal, eine Straßen- oder Fahrspurmarkierung (für einzelne oder mehrere Spuren), Randsteine, Randstreifen usw. umfassen. Bei einigen Aspekten können Merkmalprimitive Objekte, Straßen/Fahrspurmerkmale, die in Echtzeit zuverlässig detektiert werden, selbst wenn die Straßen/Fahrspurmerkmale durch umgebende Fahrzeuge oder Objekte teilweise verdeckt sind, sein. Weil mehrere Kameras überlappende Abschnitte der gleichen Objekte aufzeichnen, werden ein oder mehrere Bilder verwendet, um das gleiche Primitiv zu detektieren. In anderen Aspekten können unter Verwendung eines einzigen Quellbilds mehrere Primitive detektiert, identifiziert und ausgegeben werden.Feature primitives, as used herein, may include a vehicle, a pedestrian, a traffic sign or signal, a road or lane marker (for single or multiple lanes), curbs, edge trim, and so forth. In some aspects, feature primitives may be objects, road / lane features that are reliably detected in real time, even if the road / lane features are partially obscured by surrounding vehicles or objects. Because multiple cameras record overlapping portions of the same objects, one or more images are used to detect the same primitive. In other aspects, multiple primitives may be detected, identified and output using a single source image.

Verarbeitungsressourcen stellen eine Herausforderung dar, wenn mehrere Straßenszenenprimitive, die interessierende Straßenszenenentitäten anzeigen, aus Bildern/Daten einer hochauflösenden Kamera detektiert werden. Existierende Herangehensweisen verwenden mehrere Algorithmen anstelle eines einheitlichen tiefergehenden neuronalen Netzwerks zum Detektieren der Objekte, Verkehrszeichen, Straßenmerkmale usw. Existierende Algorithmen erfassen ein oder mehrere Bilder zu einem Zeitpunkt als elementare Dateneingabe. Diese existierenden Herangehensweisen sind Hardware/Prozessor-intensiv, zeitraubend, versagen beim Ausnutzen einer modernen Verarbeitungschip-Architektur mit vielen Kernen und sind bei einigen Verarbeitungsszenarien möglicherweise nicht von Vorteil.Processing resources pose a challenge when multiple road scene primitives indicating interest of street scene entities are detected from images / data of a high resolution camera. Existing approaches use multiple algorithms instead of a single in-depth neural network to detect the objects, traffic signs, road features, etc. Existing algorithms capture one or more images at a time as elementary data input. These existing approaches are hardware / processor intensive, time consuming, failing to exploit a modern multi-core processing chip architecture, and may not be beneficial in some processing scenarios.

Beispielhafte Ausführungsformen der Offenbarung umfassen oder liefern verschiedene technische Merkmale, technische Effekte und/oder Verbesserungen der Technologie. Beispielhafte Ausführungsformen der Offenbarung stellen einen hochgradig parallelen Mechanismus zur Detektion von Primitiven unter Verwendung von maschinellem Lernen bereit, um Probleme mit der Rechenineffizienz und Genauigkeit bei einer existierenden Detektion von Szenenprimitiven im Allgemeinen anzusprechen. Insbesondere detektieren die hier beschriebenen Ausführungsformen Straßenszenenprimitive, etwa Fußgänger, Verkehrszeichen, Verkehrssignale und Straßenmerkmale auf der Grundlage eines Bilds von einer Kamera, die mit einem Fahrzeug auf der Straße verbunden ist, indem mehrere Ansichten aus dem Bild erzeugt werden, das ein Merkmalprimitiv enthält, welches ein Fahrzeug und/oder ein anderes Objekt anzeigt, und identifizieren (z. B. unter Verwendung von tiefergehendem Lernen) das Primitiv, das eine interessierende Straßenszenenentität anzeigt, auf parallele Weise unter Verwendung von mindestens zwei parallelen Verarbeitungskernen, und geben ein Ergebnis auf der Grundlage der Ansammlung der Merkmalprimitive aus. Auf der Grundlage der Vielzahl von Ansichten gibt die Verarbeitungsvorrichtung einen Satz von resultierenden Straßenszenenprimitiven auf parallele Weise aus. Der Satz von resultierenden Straßenszenenprimitiven beruht auf der identifizierten Straßenszenenentität. Diese Aspekte der Offenbarung bilden technische Merkmale, welche den technischen Effekt des Verringerns der Rechengesamtbelastung, des Leistungsverbrauchs, der Hardwarekosten und der Zeit liefern.Exemplary embodiments of the disclosure include or provide various technical features, technical effects, and / or improvements to the technology. Exemplary embodiments of the disclosure provide a highly parallel mechanism for detecting primitives using machine learning to address problems with computational inefficiency and accuracy in existing scene primitive detection in general. In particular, the embodiments described herein detect road scene primitives such as pedestrians, traffic signs, traffic signals, and road features based on an image from a camera connected to a vehicle on the road by generating multiple views from the image containing a feature primitive indicates a vehicle and / or other object, and identifies (eg, using deeper learning) the primitive indicating a road scene entity of interest in a parallel manner using at least two parallel processing kernels, and gives a result on the basis the accumulation of the feature primitive. Based on the plurality of views, the processing device outputs a set of resulting road scene primitives in a parallel manner. The set of resulting street scene primitives is based on the identified street scene entity. These aspects of the disclosure provide technical features that provide the technical effect of reducing overall computational load, power consumption, hardware cost, and time.

Folglich verbessern die vorliegenden Techniken die Funktion von Verarbeitungssystemen, die wie hier beschrieben verwendet werden, um Straßenszenenprimitive zu detektieren. Als Ergebnis dieser technischen Merkmale und technischen Effekte stellen die hier beschriebenen Techniken eine Verbesserung zu existierenden Techniken zur Detektion von Straßenmerkmalen dar. Es ist festzustellen, dass die vorstehenden Beispiele von technischen Merkmalen, technischen Effekten und Verbesserungen der Technologie von beispielhaften Ausführungsformen der Offenbarung nur zur Veranschaulichung dienen und nicht umfassend sind.Thus, the present techniques enhance the function of processing systems used as described herein to detect road scene primitives. As a result of these technical features and technical effects, the techniques described herein are an enhancement to existing techniques for detecting road features. It should be understood that the foregoing examples of technical features, technical effects, and enhancements to the technology of exemplary embodiments of the disclosure are by way of illustration only serve and are not comprehensive.

1 stellt ein Fahrzeug 100 mit einem Verarbeitungssystem 110 zur Detektion von Straßenszenenprimitiven in Übereinstimmung mit Aspekten der vorliegenden Offenbarung dar. Zusätzlich zu dem Verarbeitungssystem 110 enthält das Fahrzeug 100 eine Anzeige 120, einen Sensor 122 und Kameras 130a, 130b, 130c, 130d (die hier gemeinsam als ”Kameras 130” bezeichnet werden). Das Fahrzeug 100 kann ein Auto, ein Lastwagen, ein Lieferwagen, ein Bus, ein Motorrad, ein Schiff, ein Flugzeug oder ein anderes geeignetes Fahrzeug 100 sein. 1 represents a vehicle 100 with a processing system 110 for detecting road scene primitives in accordance with aspects of the present disclosure. In addition to the processing system 110 contains the vehicle 100 an ad 120 , a sensor 122 and cameras 130a . 130b . 130c . 130d (which together are called "cameras 130 Be designated). The vehicle 100 can be a car, a truck, a van, a bus, a motorcycle, a ship, an airplane, or any other suitable vehicle 100 be.

Die Kameras 130 erfassen Bilder außerhalb des Fahrzeugs 100. Jede der Kameras 130 weist ein Sichtfeld (FOV) 131a, 131b, 131c, 131d auf (die gemeinsam hier als ”FOV 131” bezeichnet werden). Das FOV ist das Gebiet, das von einer Kamera beobachtet werden kann. Beispielsweise weist die Kamera 130a ein FOV 131a auf, die Kamera 131b weist ein FOV 131b auf, die Kamera 130c weist ein FOV 131c auf und die Kamera 131d weist ein FOV 131d auf. Die erfassten Bilder können das gesamte FOV für die Kamera sein oder sie können ein Abschnitt des FOV der Kamera sein.The cameras 130 Capture images outside the vehicle 100 , Each of the cameras 130 has a field of view (FOV) 131 . 131b . 131c . 131d (commonly referred to here as "FOV 131 Be designated). The FOV is the area that can be observed by a camera. For example, the camera points 130a a FOV 131 on, the camera 131b has an FOV 131b on, the camera 130c has an FOV 131c on and the camera 131d has an FOV 131d on. The captured images may be the entire FOV for the camera or they may be a portion of the FOV of the camera.

In Übereinstimmung mit Aspekten der vorliegenden Offenbarung können, obwohl vier Kameras 130a130d gezeigt sind, andere Anzahlen von Kameras implementiert werden (z. B. 2 Kameras, 3 Kameras, 5 Kameras, 8 Kameras, 9 Kameras usw.). Die erfassten Bilder können auf der Anzeige 120 angezeigt werden, um Ansichten außerhalb des Fahrzeugs 100 für den Fahrer/Bediener oder einen anderen Insassen des Fahrzeugs 100 bereitzustellen. Die erfassten Bilder können auf der Anzeige 120 als bewegte Bilder, Standbilder oder eine Kombination daraus angezeigt werden. Die Anzeige 120 kann ein Full Display Mirror (FDM) sein, der in der Lage ist, um Bilder von einer oder mehreren der Kameras 130 anzuzeigen. Der FDM kann in einem Modus ein herkömmlicher Spiegel sein oder er kann in einem anderen Modus eine Anzeige 120 sein, um digitale Bilder anzuzeigen. In accordance with aspects of the present disclosure, although four cameras 130a - 130d shown, other numbers of cameras are implemented (eg 2 cameras, 3 cameras, 5 cameras, 8 cameras, 9 cameras, etc.). The captured images may appear on the display 120 displayed to views outside the vehicle 100 for the driver / operator or another occupant of the vehicle 100 provide. The captured images may appear on the display 120 be displayed as moving pictures, still pictures or a combination thereof. The ad 120 can be a Full Display Mirror (FDM) that is capable of taking pictures of one or more of the cameras 130 display. The FDM may be a conventional mirror in one mode or may display in another mode 120 be to display digital pictures.

Es ist festzustellen, dass die erfassten Bilder ein Bild von einer der Kameras 130a130d sein können und/oder dass sie eine Kombination aus Bildern von mehr als einer der Kameras 130a130d sein können. In Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung können die von den Kameras 130 erfassten Bilder kombiniert werden, um eine vertikale Ansicht und/oder eine Vogelperspektiven”-Ansicht zu bilden, die eine Rundumsicht um das Fahrzeug 100 herum bereitstellt. In anderen Aspekten können die erfassten Bilder aus einem einzigen Bild beschafft werden, wobei mehrere Szenenprimitive aus dem einzelnen Bild auf parallele Weise detektiert werden. Es ist festzustellen, dass Kamerabilder von beliebigen anderen Anzeigen im Fahrzeug angezeigt werden können, etwa einer Anzeige an der Mittelkonsole, und Kamerabilder können von beliebigen anderen internen oder externen Fahrzeugkameras stammen.It can be seen that the captured images are an image of one of the cameras 130a - 130d and / or that they are a combination of images from more than one of the cameras 130a - 130d could be. In accordance with embodiments of the present disclosure, those of the cameras 130 Captured images are combined to form a vertical view and / or a bird's eye view that provides a 360 degree view of the vehicle 100 providing around. In other aspects, the captured images may be obtained from a single image, with multiple scene primitives being detected from the single image in a parallel manner. It will be appreciated that camera images may be displayed on any other display in the vehicle, such as a center console display, and camera images may be from any other internal or external vehicle camera.

Wie hier beschrieben ist, empfängt das Verarbeitungssystem 110 ein Bild von einer Kamera, die mit einem Fahrzeug auf einer Straße verbunden ist, es erzeugt eine Vielzahl von Ansichten der fraglichen Umgebung (z. B. des Primitivs) zumindest teilweise auf der Grundlage des Bilds, und es identifiziert das Objekt auf parallele Weise unter Verwendung mehrerer Kerne einer Verarbeitungsvorrichtung in dem Verarbeitungssystem. Das Verarbeitungssystem 110 ermittelt auf selektive Weise, welche der einen oder mehreren Ansichten erzeugt und von den parallelen Verarbeitungskernen verarbeitet werden sollen. Das Verarbeitungssystem 110 wird im Hinblick auf 2 in größerem Detail beschrieben. Das Verarbeitungssystem 110 kann außerdem Sensordaten von dem Sensor 122 empfangen, der ein oder mehrere von einem Lichtdetektions- und Entfernungssensor (LIDAR-Sensor), einer Kamera mit großer Reichweite, einem globalen Positionierungssystem (GPS) usw. sein kann. Die Sensordaten können verwendet werden, um die Detektion von Straßenmerkmalen zu verbessern.As described herein, the processing system receives 110 an image of a camera connected to a vehicle on a road, it generates a plurality of views of the environment in question (eg, the primitive) based at least in part on the image, and identifies the object in a parallel manner Using multiple cores of a processing device in the processing system. The processing system 110 selectively determines which of the one or more views are to be generated and processed by the parallel processing cores. The processing system 110 will be with regard to 2 described in more detail. The processing system 110 can also provide sensor data from the sensor 122 which may be one or more of a light detection and range (LIDAR) sensor, a long range camera, a global positioning system (GPS), and so forth. The sensor data can be used to improve the detection of road features.

Im Speziellen stellt 2 das Verarbeitungssystem 110 von 1 in Übereinstimmung mit Aspekten der vorliegenden Offenbarung dar. Das Verarbeitungssystem 110 enthält eine Verarbeitungsvorrichtung 202, einen Speicher 204, eine Ansichtserzeugungseinheit 212 und eine Einheit 214 zur Detektion von Primitiven. 2 wird mit Bezugnahme auf das Fahrzeug 100 von 1 beschrieben.Specifically 2 the processing system 110 from 1 in accordance with aspects of the present disclosure. The processing system 110 contains a processing device 202 , a store 204 , a view generation unit 212 and one unit 214 for the detection of primitives. 2 is with reference to the vehicle 100 from 1 described.

Die Verarbeitungsvorrichtung 102 kann mehrere Verarbeitungskerne 202a202n enthalten. Es ist festzustellen, dass eine beliebige Anzahl von parallelen Kernen in Betracht gezogen wird, obwohl nur zwei gezeigt sind. Die Verarbeitungskerne 202a202n führen eine parallele Rechenberechnung durch, bei welcher viele Berechnungen oder die Ausführung von Prozessen von jedem der Verarbeitungskerne gleichzeitig durchgeführt werden. Durch die parallele Verarbeitung können große Probleme unter Verwendung von maschinellem Lernen, in kleinere Probleme unterteilt werden (z. B. mehrere Ansichten, die aus einem oder mehreren Kamerabildern extrahiert werden), welche dann unter Verwendung tiefgehender neuronaler Netzwerke zum selben Zeitpunkt (parallel) durch die parallelen Verarbeitungskerne 202a202n gelöst werden können. Es gibt mehrere verschiedene Formen der parallelen Berechnung: unter anderem Bitebene, Anweisungsebene, Daten, und Aufgabenparallelismus. Es versteht sich, dass in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung verschiedene Konfigurationen und Rechenabläufe möglich sind. In allen Aspekten wenden die parallelen Verarbeitungskerne 202a202n in jedem Kern Maschinenlerntechniken an, die ein konvolutionelles neuronales Netzwerk nutzen, um mehrere Bilder parallel zu verarbeiten.The processing device 102 can have multiple processing cores 202a - 202n contain. It should be noted that any number of parallel cores are considered, although only two are shown. The processing cores 202a - 202n perform a parallel computation computation in which many computations or execution of processes from each of the processing cores are performed simultaneously. Through parallel processing, large problems can be subdivided into smaller problems using machine learning (e.g., multiple views extracted from one or more camera images), which are then performed (in parallel) using deep neural networks at the same time the parallel processing cores 202a - 202n can be solved. There are several different forms of parallel computation, including bit-plane, statement-level, data, and task-parallelism. It should be understood that various configurations and calculations are possible in accordance with embodiments of the present disclosure. In all aspects, the parallel processing kernels apply 202a - 202n in each core machine learning techniques that use a convolutional neural network to process multiple images in parallel.

Die verschiedenen Komponenten, Module, Einheiten, usw. die im Hinblick auf 2 beschrieben sind, können als Anweisungen, die in einem computerlesbaren Speichermedium gespeichert sind, als Hardwaremodule, als spezialisierte Hardware (z. B. anwendungsspezifische Hardware, anwendungsspezifische integrierte Schaltungen (ASICs), als eingebettete Controller, als handverdrahtete Schaltungen usw.) oder als eine oder mehrere Kombinationen von diesen implementiert werden.The various components, modules, units, etc. with regard to 2 may be described as instructions stored in a computer readable storage medium as hardware modules, as specialized hardware (eg, application specific hardware, application specific integrated circuits (ASICs), as embedded controllers, as hand wired circuits, etc.) or as one or more of several combinations of these are implemented.

Bei Beispielen können die hier beschriebenen Einheiten eine Kombination aus Hardware und Programmierung sein. Die Programmierung kann aus von einem Prozessor ausführbaren Anweisungen bestehen, die in einem konkreten Speicher gespeichert sind, und die Hardware kann die Verarbeitungsvorrichtung 202 zum Ausführen dieser Anweisungen enthalten. Folglich kann ein Systemspeicher (z. B. der Speicher 204) Programmanweisungen speichern, die, wenn sie von der Verarbeitungsvorrichtung 202 ausgeführt werden, die hier beschriebenen Einheiten implementieren. Es können auch andere Einheiten benutzt werden, die andere Merkmale und Funktionalitäten umfassen, die in anderen Beispielen hier beschrieben sind. Alternativ oder zusätzlich kann das Verarbeitungssystem 110 eine dedizierte Hardware enthalten, etwa eine oder mehrere integrierte Schaltungen, ASICs, anwendungsspezifische spezielle Prozessoren (ASSPs), im Feld programmierbare Gatearrays (FPGAs) oder eine beliebige Kombination aus den vorstehenden Beispielen für eine dedizierte Hardware, um die hier beschriebenen Techniken auszuführen.In examples, the units described herein may be a combination of hardware and programming. The programming may consist of processor executable instructions stored in a concrete memory and the hardware may be the processing device 202 to execute these instructions. Consequently, a System memory (for example, the memory 204 ) Store program instructions that when sent from the processing device 202 to implement the units described herein. Other units may be used that include other features and functionalities described in other examples herein. Alternatively or additionally, the processing system 110 dedicated hardware, such as one or more integrated circuits, ASICs, application specific special purpose processors (ASSPs), field programmable gate arrays (FPGAs), or any combination of the above examples of dedicated hardware to perform the techniques described herein.

Die Ansichtserzeugungseinheit 212 empfängt ein Bild (z. B. ein Ursprungsbild 312) von einer Kamera (z. B. von einer der Kameras 130) des Fahrzeugs 100. Das Bild kann einen Abschnitt einer Straße enthalten, auf welcher das Fahrzeug 100 positioniert ist und/oder entlang welcher das Fahrzeug 100 fährt. Die Ansichtserzeugungseinheit 212 kann verschiedene Ansichten der Straße und von Objekten auf oder rund um die Straße herum (z. B. Merkmale) als elementare Teile der Eingabedaten erzeugen. Beispielsweise kann die Ansichtserzeugungseinheit eine Ansicht der Straße zumindest teilweise auf der Grundlage des Bilds erzeugen. Das heißt, dass die Ansichtserzeugungseinheit 212 das Bild verwendet, um eine Ansicht der Straße so zu erzeugen, wie wenn der Blickpunkt der Kamera direkt über der Straße wäre und sie nach unten auf die Straße gerichtet wäre. In anderen Aspekten werden verschiedene andere Ansichten erzeugt, wie beispielsweise vertikale Ansichten, die eine Vorwärtsansicht (zentrale Ansicht) der Straße und/oder von Objekten vor dem Fahrzeug 100, Seitenansichten, Hinteransichten usw. darstellen.The view generation unit 212 receives an image (for example, an original image 312 ) from a camera (eg from one of the cameras 130 ) of the vehicle 100 , The image may include a portion of a road on which the vehicle 100 is positioned and / or along which the vehicle 100 moves. The view generation unit 212 may generate various views of the road and of objects on or around the road (eg features) as elementary parts of the input data. For example, the view generation unit may generate a view of the road based at least in part on the image. That is, the view generation unit 212 the image is used to create a view of the street as if the point of view of the camera were directly above the street and it was pointing down to the street. In other aspects, various other views are created, such as vertical views that are a forward view (central view) of the road and / or objects in front of the vehicle 100 , Side views, rear views, etc. represent.

In Übereinstimmung mit Aspekten der vorliegenden Offenbarung verwendet die Ansichtserzeugungseinheit 212 Fischaugenkamera-Bilderfassungstechniken, um das Bild zu erzeugen, aus welchem die eine oder die mehreren Ansichten erfasst werden. Daher können die Kameras 130a130c Fischaugenkameralinsen enthalten. Wenn eine Fischaugenkamera verwendet wird, kann die Ansichtserzeugungseinheit 212 unter Verwendung gegenwärtig verfügbarer Software- und Verarbeitungstechniken kalibriert werden, um radiale Verzerrungen zu kompensieren, welche von der Fischaugenlinse verursacht werden.In accordance with aspects of the present disclosure, the view generation unit uses 212 Fisheye camera image capture techniques to generate the image from which the one or more views are captured. Therefore, the cameras can 130a - 130c Fish eye camera lenses included. If a fisheye camera is used, the view generation unit can 212 are calibrated using currently available software and processing techniques to compensate for radial distortions caused by the fisheyes lens.

Sobald die Ansicht erzeugt ist, teilt das Verarbeitungssystem einen oder mehrere Abschnitte des Bilds/der Bilder den Verarbeitungskernen 202a202n zu. Folglich empfangen die Verarbeitungskerne 202a202n das Bild/die Bilder parallel und verarbeiten Aspekte des Bilds, um Szenenprimitive zu detektieren, die ein Fahrzeug, ein Objekt, eine Person usw. anzeigen.Once the view is created, the processing system shares one or more portions of the image (s) with the processing cores 202a - 202n to. Consequently, the processing cores receive 202a - 202n parallelize the image (s) and process aspects of the image to detect scene primitives that indicate a vehicle, object, person, etc.

Nachdem die Straßenszenenentität bei jedem der Verarbeitungskerne 202a202n (gleichzeitig) identifiziert wurde, verwendet die Primitivendetektionseinheit 214 ein konvolutionelles neuronales Netzwerk, um das Primitiv gleichzeitig in jeder der Vielzahl von erzeugten Ansichten, welche ein Primitiv zeigen, unter Verwendung von maschinellem Lernen zu identifizieren. Folglich sucht die Primitivendetektionseinheit 214 (parallel) in der Ansicht, unter Verwendung jedes der parallelen Verarbeitungskerne 202a202n, um Primitive zu detektieren.After the street scene entity at each of the processing cores 202a - 202n was identified (simultaneously) uses the primitive detection unit 214 a convolutional neural network for simultaneously identifying the primitive in each of the plurality of generated views showing a primitive using machine learning. Consequently, the primitive detection unit searches 214 (parallel) in the view, using each of the parallel processing kernels 202a - 202n to detect primitives.

Die Primitivendetektionseinheit 214 kann das Primitiv, das eine interessierende Straßenszenenentität anzeigt, unter Verwendung jedes der Verarbeitungskerne 202a202n zum gleichen Zeitpunkt identifizieren. Die Verarbeitungskerne 202a202n können ein einzelnes Primitiv oder mehrere Primitive gleichzeitig identifizieren. Wenn beispielsweise das zu identifizierende Primitiv ein Straßenmerkmal ist, bestimmt die Primitivendetektionseinheit 214 einen Typ des Straßenmerkmals (z. B. gerader Pfeil, Linksabbiegerpfeil usw.) sowie einen Ort des Straßenmerkmals (z. B. Pfeil voraus, Fahrradspur auf der linken Seite usw.) aus einem oder mehreren der Vielzahl von Bildern. Wenn das detektierte Primitiv ein Fahrzeug ist, bestimmt die Primitivendetektionseinheit 214 Informationen, die mit dem Typ des detektierten und identifizierten Fahrzeugs verbunden sind. Zum Beispiel bestimmt die Primitivendetektionseinheit 214 neben weiteren Informationen den Typ des Fahrzeugs (z. B. Fahrrad, Personenfahrzeug, Motorrad usw.), erwartete Eigenschaften für diesen Typ von Fahrzeug (z. B. Größe usw.) und/oder die geometrische Entfernung zu dem Fahrzeug 100 (z. B. Abstand und Position bezüglich des Fahrzeugs 100). Wenn das detektierte Primitiv eine Straßenmarkierung ist (z. B. ein Zeichen, ein Signal usw.), bestimmt die Primitivendetektionseinheit 214 das spezielle Signal oder Zeichen, sie bestimmt eine beabsichtigte Bedeutung für das Zeichen oder Signal, und sie nimmt die Bestimmungsinformationen in die Ausgabe auf (hier im Nachstehenden mit Bezug auf 3 beschrieben). Die Primitiven können in einer Datenbank vordefiniert sein (z. B. in einer Straßenmerkmalsdatenbank, in einer Straßenmarkierungsdatenbank usw.), und daher kann die Primitivendetektionseinheit 214 auf die Datenbank zugreifen, um die Bestimmung durchzuführen.The primitive detection unit 214 For example, the primitive indicating a road scene entity of interest can be identified using each of the processing cores 202a - 202n Identify at the same time. The processing cores 202a - 202n can identify a single primitive or multiple primitives at the same time. For example, if the primitive to be identified is a road feature, the primitive detection unit determines 214 a type of the road feature (eg, straight arrow, left turn arrow, etc.) and a location of the road feature (eg, arrow ahead, left side bicycle track, etc.) from one or more of the plurality of images. If the detected primitive is a vehicle, the primitive detection unit determines 214 Information associated with the type of vehicle detected and identified. For example, the primitive detection unit determines 214 among other information, the type of vehicle (eg, bicycle, personal vehicle, motorcycle, etc.), expected properties for that type of vehicle (eg, size, etc.) and / or the geometric distance to the vehicle 100 (eg distance and position with respect to the vehicle 100 ). If the detected primitive is a road marker (eg, a character, a signal, etc.), the primitive detection unit determines 214 the particular signal or character, determines an intended meaning for the character or signal, and incorporates the destination information into the output (hereinafter referred to as 3 described). The primitives may be predefined in a database (eg, in a road feature database, in a road marking database, etc.), and therefore the primitive detection unit may 214 access the database to perform the determination.

Um Straßenszenenprimitive zu detektieren, verwendet die Primitivendetektionseinheit 214 maschinelles Lernen und/oder klassische Computervisionstechniken. Insbesondere kann die Primitivendetektionseinheit 214 ein regelbasiertes Treffen von Entscheidungen und eine Plausibilisierung durch künstliche Intelligenz (AI) enthalten und verwenden, um die verschiedenen hier beschriebenen Operationen zu bewerkstelligen. Der Ausdruck ”maschinelles Lernen” beschreibt weit gefasst eine Funktion von elektronischen Systemen, die aus Daten lernen. Ein System, eine Einheit oder ein Modul zum maschinellen Lernen kann einen trainierbaren Algorithmus für maschinelles Lernen enthalten, der etwa in einer externen Cloudumgebung trainiert werden kann, um funktionale Beziehungen zwischen Eingaben und Ausgaben zu lernen, die gegenwärtig unbekannt sind, und das resultierende Modell kann von der Primitivendetektionseinheit 214 zum Detektieren von Primitiven verwendet werden.To detect street scene primitives, the primitive detection unit uses 214 machine learning and / or classical computer vision techniques. In particular, the primitive detection unit 214 include and use a rule-based decision-making and artificial intelligence (AI) plausibility check to accomplish the various operations described here. The term "machine learning" broadly describes a function of electronic systems that learn from data. A machine learning system, unit, or module may include a trainable machine learning algorithm that may be trained in, for example, an external cloud environment to learn functional relationships between inputs and outputs that are currently unknown and the resulting model may from the primitive detection unit 214 used to detect primitives.

In einer oder mehreren Ausführungsformen kann die Funktionalität des maschinellen Lernens unter Verwendung eines künstlichen neuronalen Netzwerks (ANN) implementiert werden, das trainiert werden kann, um eine gegenwärtig unbekannte Funktion auszuführen. In der Wissenschaft des maschinellen Lernens und Erkennens sind ANNs eine Familie von statistischen Lernmodellen, die durch die biologischen neuronalen Netzwerke von Tieren und insbesondere von dem Gehirn inspiriert sind. ANNs können verwendet werden, um Systeme und Funktionen zu schätzen oder zu approximieren, die von einer großen Anzahl von Eingaben abhängen. Bei einer anderen Ausführungsform kann die Funktionalität des maschinellen Lernens unter Verwendung eines konvolutionellen neuronalen Netzwerks (CNN) implementiert werden. Ein CNN ist eine Art von Vorwärtskopplung-ANN. Das maschinelle Lernen kann unter Verwendung eines beliebigen geeigneten Typs von neuronalem Netzwerk implementiert werden.In one or more embodiments, the machine learning functionality may be implemented using an artificial neural network (ANN) that may be trained to perform a currently unknown function. In the science of machine learning and cognition, ANNs are a family of statistical learning models that are inspired by the biological neural networks of animals and especially the brain. ANNs can be used to estimate or approximate systems and functions that depend on a large number of inputs. In another embodiment, the machine learning functionality may be implemented using a convolutional neural network (CNN). A CNN is a type of feed-forward ANN. Machine learning can be implemented using any suitable type of neural network.

ANNs können also sogenannte ”neuromorphe” Systeme aus miteinander verbundenen Prozessorelementen ausgeführt sein, die wie simulierte ”Neuronen” arbeiten und ”Botschaften” untereinander in der Form von elektronischen Signalen austauschen. Ähnlich wie die sogenannte ”Plastizität” von synaptischen Neurotransmitterverbindungen, die Botschaften zwischen biologischen Neuronen transportieren, werden die Verbindungen in ANNs, die elektronische Botschaften zwischen simulierten Neuronen befördern, mit numerischen Gewichtungen versehen, die der Stärke oder Schwäche einer gegebenen Verbindung entsprechen. Die Gewichtungen können auf der Grundlage von Erfahrung justiert und fein abgestimmt werden, wodurch ANNs auf Eingaben anpassbar und fähig zum Lernen gemacht werden. Zum Beispiel wird ein ANN zur Handschrifterkennung durch einen Satz von Eingabeneutronen definiert, die durch die Pixel eines Eingabebilds aktiviert werden können. Nachdem sie gewichtet und von einer Funktion umgeformt wurden, die von dem Entwickler des Netzwerks bestimmt wird, wird die Aktivierung dieser Eingabeneuronen dann an andere stromabwärts gelegene Neuronen weitergegeben, welche oft als ”versteckte” Neuronen bezeichnet werden. Dieser Prozess wird wiederholt, bis ein Ausgabeneuron aktiviert wird. Das aktivierte Ausgabeneuron bestimmt, welches Zeichen gelesen wurde.ANNs can thus be executed so-called "neuromorphic" systems of interconnected processor elements that work like simulated "neurons" and exchange "messages" among themselves in the form of electronic signals. Similar to the so-called "plasticity" of synaptic neurotransmitter compounds that carry messages between biological neurons, the compounds in ANNs that carry electronic messages between simulated neurons are given numerical weights that correspond to the strength or weakness of a given compound. The weights can be adjusted and fine-tuned based on experience, making ANNs adaptable to inputs and capable of learning. For example, an ANN for handwriting recognition is defined by a set of input neutrons that can be activated by the pixels of an input image. After being weighted and reshaped by a function determined by the designer of the network, activation of these input neurons is then passed on to other downstream neurons, often referred to as "hidden" neurons. This process is repeated until an output neuron is activated. The activated output neuron determines which character was read.

3 stellt ein neuronales Netzwerk 300 dar, das in Übereinstimmung mit Aspekten der vorliegenden Offenbarung zum Detektieren von Primitiven verwendet wird. Als allgemeiner Überblick über Ausführungsformen der vorliegenden Offenbarung ist das neuronale Netzwerk 300 ausgestaltet, um ein einzelnes Bild 312 als Eingabe zu empfangen und um dieses einzelne Bild in mehrere Aspekte zur parallelen Verarbeitung durch die Verarbeitungskerne 202a202n zu zerlegen. Das ursprüngliche ”Fischaugen”-Bild 312 wird von einem Zerlegungsabschnitt 302 in mehrere Ansichten von oben nach unten und vertikale Ansichten zerlegt, die das Auftreten eines oder mehrerer Primitive differenzieren, welche dann in separat trainierte tiefgehende neuronale Netze zur gleichzeitigen parallelen Detektion mehrerer Primitive und deren Klassifizierung eingespeist werden. Beispielsweise kann ein Einzelbild 312 eine Straßenszene sein, die als Fischaugenbild aufgenommen wurde. Das Bild 312 kann visuelle Informationen enthalten, die ausreichen, damit die Verarbeitungsvorrichtung 202 mit Hilfe des Zerlegungsabschnitts 302 das Bild 312 in mehrere Ansichten zerlegen (unterteilen) kann. Jede der mehreren Ansichten kann verschiedene Aspekte des gleichen Primitivs zeigen oder sie können ein oder mehrere Aspekte der andere Primitive zeigen. Jede Ansicht wird zu einer jeweiligen Merkmalsextraktionssektion 304a...304n der Verarbeitungskerne 202a202n gesendet. Ein Aspekt eines Primitivs kann beispielsweise eine Heckansicht eines überholenden Fahrzeugs sein. Ein weiterer Aspekt kann beispielsweise eine nach links verschobene Heckansicht des gleichen überholenden Fahrzeugs sein. Ein weiterer Aspekt kann beispielsweise eine Ansicht von oben des überholenden Fahrzeugs und von einem oder mehreren anderen Objekten in der Nähe des überholenden Fahrzeugs sein. Das eine oder die mehreren anderen Objekte werden als zweites Primitiv betrachtet, das sich von dem überholenden Fahrzeug unterscheidet (dem ersten Primitiv). Daher können sowohl das erste Primitiv als auch das zweite Primitiv in einigen oder allen der verschiedenen Ansichten erfasst sein, die aus dem einzelnen Fischaugenbild zerlegt wurden. In Übereinstimmung mit hier beschriebenen Ausführungsformen wird jede der verschiedenen zerlegten Ansichten, die dem Einzelbild 312 entnommen wurden, einem entsprechenden der Verarbeitungskerne 202a202n zur gleichzeitigen Verarbeitung zugeordnet. Das gleichzeitige Verarbeiten kann bei jedem einzelnen Kern umfassen, dass ein oder mehrere Primitive, die eine interessierende Straßenszenenentität in der Ansicht anzeigen, über eine jeweilige Merkmalsklassifikationssektion 306a...306n identifiziert werden. 3 represents a neural network 300 which is used to detect primitives in accordance with aspects of the present disclosure. As a general overview of embodiments of the present disclosure, the neural network is 300 designed to be a single image 312 as an input to receive and this single image in several aspects for parallel processing by the processing cores 202a - 202n disassemble. The original "fisheye" picture 312 is from a decomposition section 302 into several top-down views and vertical views that differentiate the occurrence of one or more primitives, which are then fed into separately trained deep neural networks for simultaneous parallel detection of multiple primitives and their classification. For example, a single image 312 a street scene that was taken as a fisheye image. The picture 312 may contain visual information sufficient to allow the processing device 202 with the help of the decomposing section 302 the picture 312 can decompose (subdivide) into multiple views. Each of the multiple views may show different aspects of the same primitive or may show one or more aspects of the other primitive. Each view becomes a respective feature extraction section 304a ... 304n the processing cores 202a - 202n Posted. For example, one aspect of a primitive may be a rear view of an overtaking vehicle. Another aspect may be, for example, a left-shifted rear view of the same overtaking vehicle. Another aspect may be, for example, a top view of the overtaking vehicle and one or more other objects in the vicinity of the overtaking vehicle. The one or more other objects are considered a second primitive that is different from the overtaking vehicle (the first primitive). Therefore, both the first primitive and the second primitive may be detected in some or all of the different views that have been decomposed from the single fisheye image. In accordance with embodiments described herein, each of the various disassembled views corresponding to the frame 312 taken from a corresponding one of the processing cores 202a - 202n assigned for concurrent processing. The concurrent processing at each individual kernel may include one or more primitives indicating a road scene entity of interest in the view via a respective feature classification section 306a ... 306n be identified.

Bei der Betrachtung von Ausführungsformen in größerem Detail wird nun 4 in Verbindung mit 3 betrachtet. 4 stellt eine andere Ansicht des neuronalen Netzwerks 300 in Übereinstimmung mit Aspekten der vorliegenden Offenbarung dar. Die Verarbeitungsvorrichtung 202 empfängt ein Bild 312 von einer oder mehreren Kameras 130a130d. Der (in 3 gezeigte) Zerlegungsabschnitt 302 empfängt das Bild 312 und zerlegt das Bild in Bestandteile (Ansichten 402a, 402b, 402c...402n). Jede der Ansichten 402a402n ist aus dem Bild 312 abgeleitet. In Übereinstimmung mit einer Ausführungsform bestimmt der Zerlegungsabschnitt 312, welche interessierenden Ansichten aus dem Einzelbild extrahiert werden sollen. Die Bestimmung beruht auf verschiedenen Faktoren, welche neben anderen Faktoren die Wahrscheinlichkeit, dass ein identifizierter Abschnitt des Bildes eine interessierende Entität enthält, und die Anzahl von interessierenden Entitäten in einer potentiellen Ansicht des Bilds umfassen. When considering embodiments in greater detail now 4 combined with 3 considered. 4 represents a different view of the neural network 300 in accordance with aspects of the present disclosure. The processing device 202 receives a picture 312 from one or more cameras 130a - 130d , The (in 3 shown) decomposition section 302 receives the picture 312 and decomposes the picture into components (views 402a . 402b . 402c ... 402n ). Each of the views 402a - 402n is out of the picture 312 derived. In accordance with one embodiment, the decomposition section determines 312 which views of interest should be extracted from the frame. The determination is based on various factors including, among other factors, the likelihood that an identified portion of the image contains an entity of interest and the number of entities of interest in a potential view of the image.

Der Merkmalsextraktionsabschnitt (jeweils 304a304n) in jedem der parallelen Verarbeitungskerne 202a202n verwendet ein neuronales Netzwerk, um Zwischenmerkmale 412 als Merkmalskarten zu extrahieren. Jede Ansicht 402a402n wird parallel verarbeitet, um Primitive 308a308n auszugeben. Die für Ansicht 402a gezeigten Verarbeitungsschritte werden als Beispiel für die parallele Bildverarbeitung beschrieben, die bei jedem Verarbeitungskern gleichzeitig stattfindet. Mit Bezug zunächst auf die oberste Verarbeitungslinie in 4 identifiziert der Merkmalsextraktionsabschnitt 304a ein oder mehrere Primitivmerkmale in Ansicht 402a und analysiert die Merkmale auf verschiedenen Ebenen (als Merkmalskarten 410, 412 und 414 dargestellt). Entsprechend gibt der Merkmalsextraktionsabschnitt 304a eine Merkmalskarte 414 an den Merkmalsklassifikationsabschnitt 306a aus, um die Primitive unter Verwendung der Merkmalskarten 414 auf der Grundlage von Primitiven zu klassifizieren, die in einer funktional verbundenen Datenbank aus Primitiven (nicht gezeigt) gespeichert sind. Der Merkmalsklassifizierungsabschnitt 306a identifiziert ein Merkmalprimitiv aus jeder der einen oder der mehreren der Vielzahl von Merkmalskarten 414 mit jedem der mindestens zwei parallelen Verarbeitungskerne unter Verwendung von maschinellem Lernen. Der Klassifizierungsabschnitt 306a306n gibt die Primitive 308a308n aus, welche Straßenszenenentitäten sein können, die in Fahrzeugfahrszenarien häufig vorkommen. Die Primitive 308a308n können zum Beispiel Fußgänger, Verkehrszeichen, Verkehrssignale, Straßenmerkmale, Geschwindigkeitbegrenzungsanzeiger, Fahrradspuranzeiger, Eisenbahnanzeiger, Schulzonenanzeiger, Richtungsanzeiger usw. sein.The feature extraction section (respectively 304a - 304n ) in each of the parallel processing cores 202a - 202n uses a neural network to intermediate features 412 as feature maps to extract. Every view 402a - 402n is processed in parallel to primitives 308a - 308n issue. The for view 402a The processing steps shown are described as an example of the parallel image processing that takes place simultaneously at each processing core. With reference first to the top processing line in 4 identifies the feature extraction section 304a one or more primitive features in view 402a and analyzes the features at different levels (as feature maps 410 . 412 and 414 shown). Accordingly, the feature extraction section gives 304a a feature card 414 to the feature classification section 306a out to the primitives using the feature cards 414 based on primitives stored in a primitives' functional database (not shown). The feature classification section 306a identifies a feature primitive from each of the one or more of the plurality of feature maps 414 with each of the at least two parallel processing cores using machine learning. The classification section 306a - 306n gives the primitive 308a - 308n which may be street scene entities that are common in vehicle driving scenarios. The primitives 308a - 308n For example, pedestrians, traffic signs, traffic signals, road features, speed limit indicators, bicycle lane indicators, railway indicators, school zone indicators, direction indicators, etc. may be provided.

Obwohl sie zum Beispiel als die Verarbeitung von Ansicht 402a beschrieben ist, ist festzustellen, dass die Primitivendetektionseinheit 214 unter Verwendung der Merkmalsextraktionsabschnitte 304a304n und der Klassifizierungsabschnitte 306a306n mehrere Primitive parallel als einen einzigen Schritt und in Echtzeit detektieren kann. Durch die Verwendung von maschinellem Lernen können Begrenzungen der Rechenineffizienz und der Genauigkeit bei der existierenden Detektion von Primitiven verringert werden.Although, for example, as the processing of view 402a It should be noted that the primitive detection unit 214 using the feature extraction sections 304a - 304n and the classification sections 306a - 306n detect multiple primitives in parallel as a single step and in real time. By using machine learning, limitations on computational inefficiency and accuracy in the existing detection of primitives can be reduced.

5 stellt ein Flussdiagramm eines Verfahrens 500 zur Detektion von Primitiven in Übereinstimmung mit Aspekten der vorliegenden Offenbarung dar. Das Verfahren 500 kann beispielsweise von dem Verarbeitungssystem 110 von 1 und 2, von dem Verarbeitungssystem 600 von 6 oder von einem beliebigen anderen geeigneten Verarbeitungssystem oder einer geeigneten Vorrichtung implementiert werden. 5 FIG. 3 illustrates a flowchart of a method 500 for detecting primitives in accordance with aspects of the present disclosure. The method 500 for example, from the processing system 110 from 1 and 2 , from the processing system 600 from 6 or implemented by any other suitable processing system or device.

Bei Block 502 empfängt das Verarbeitungssystem 110 mindestens ein Bild von einer Kamera, die mit einem Fahrzeug auf einer Straße verbunden ist. Das Verarbeitungssystem 210 enthält mindestens zwei parallele Verarbeitungskerne 202a202n, welche das eine oder die mehreren Bilder empfangen.At block 502 receives the processing system 110 at least one image of a camera connected to a vehicle on a road. The processing system 210 contains at least two parallel processing cores 202a - 202n which receive the one or more images.

Bei Block 504 erzeugt die Ansichterzeugungseinheit 212 eine Vielzahl von Ansichten aus dem einen oder den mehreren Bildern. Mindestens eines der Bilder enthält ein Merkmalprimitiv. Das Merkmalprimitiv zeigt die Anwesenheit eines Fahrzeugs und/oder einer anderen zum Betrieb des Fahrzeugs 100 interessierenden Straßenszenenentität an. Zum Beispiel kann das Primitiv ein Fußgänger oder ein Verkehrszeichen oder ein Verkehrssignal oder ein Straßenmerkmal usw. sein.At block 504 creates the view generation unit 212 a variety of views from the one or more images. At least one of the pictures contains a feature primitive. The feature primitive indicates the presence of one vehicle and / or another for operation of the vehicle 100 interesting street scene entity. For example, the primitive may be a pedestrian or a traffic sign or a traffic signal or a road feature, etc.

Bei Block 506 identifiziert die Primitivendetektionseinheit 214 ein Merkmalprimitiv aus einer oder mehreren der Vielzahl von Ansichten mit jedem der mindestens zwei parallelen Verarbeitungskerne unter Verwendung von maschinellem Lernen. Jeder der parallelen Verarbeitungskerne 202a202n kann die Straßenszenenentität der einen oder mehreren der Vielzahl von Ansichten in einem separaten Abschnitt identifizieren. Unter Verwendung von maschinellem Lernen (z. B. ein konvolutionelles neuronales Netzwerk, ein künstliches neuronales Netzwerk usw.) kann die Primitivendetektionseinheit 214 eine Merkmalsextraktion aus der Ansicht (innerhalb der Fahrspurbegrenzungen) unter Verwendung eines neuronalen Netzwerks ausführen. Nach dem Extrahieren des Merkmals führt die Primitivendetektionseinheit 214 unter Verwendung des neuronalen Netzwerks eine Klassifizierung des Merkmalprimitivs aus (z. B. bestimmt sie, welche Art von Primitiv). Die Primitivendetektionseinheit 214 identifiziert das Merkmalprimitiv, indem sie bei jedem parallelen Verarbeitungskern eine Merkmalsextraktion ausführt, um das Merkmalprimitiv aus einer Ansicht unter Verwendung eines neuronalen Netzwerks zu extrahieren. Sobald das Merkmalprimitiv klassifiziert wurde, hat die Primitivendetektionseinheit 214 das Merkmalprimitiv identifiziert.At block 506 identifies the primitive detection unit 214 a feature primitive of one or more of the plurality of views with each of the at least two parallel processing cores using machine learning. Each of the parallel processing cores 202a - 202n For example, the street scene entity may identify the one or more of the plurality of views in a separate section. Using machine learning (eg, a convolutional neural network, an artificial neural network, etc.), the primitive detection unit 214 perform feature extraction from view (within lane boundaries) using a neural network. After extracting the feature, the primitive detection unit performs 214 using the neural network, classifies the feature primitive (eg, determines which type of primitive). The primitive detection unit 214 identifies the feature primitive by performing feature extraction on each parallel processing kernel to obtain the feature primitive from a view using a neural network. Once the feature primitive has been classified, the primitive detection unit has 214 identifies the feature primitive.

Bei Block 508 gibt die Primitivendetektionseinheit 214 auf der Grundlage der Vielzahl von Ansichten einen Satz von resultierenden Straßenszenenprimitiven parallel aus. Der Satz der resultierenden Straßenszenenprimitiven beruht auf der identifizierten Straßenszenenentität. Ein Satz von resultierenden Straßenszenenprimitiven ist ein Satz, der die Straßenszenenprimitive enthält, die von den Verarbeitungskernen parallel verarbeitet wurden. Die Straßenszenenprimitive enthalten eine oder mehrere für den Betrieb des Kraftfahrzeugs 100 interessierende Entitäten, denen man auf der Straße begegnet. Es können auch zusätzliche Prozesse enthalten sein, und es versteht sich, dass die in 5 dargestellten Prozesse Veranschaulichungen repräsentieren, und dass andere Prozesse hinzugefügt werden können oder existierende Prozesse entfernt, modifiziert oder neu angeordnet werden können, ohne von dem Umfang und Geist der vorliegenden Offenbarung abzuweichen.At block 508 gives the primitive detection unit 214 based on the plurality of views, a set of resulting street scene primitives in parallel. The set of resulting street scene primitives is based on the identified street scene entity. A set of resulting road scene primitives is a sentence that contains the road scene primitives that were processed in parallel by the processing cores. The road scene primitives include one or more for the operation of the motor vehicle 100 Entities of interest encountered on the street. It may also contain additional processes, and it is understood that the in 5 represent representative processes, and that other processes may be added or existing processes removed, modified or rearranged without departing from the scope and spirit of the present disclosure.

Es versteht sich, dass die vorliegende Offenbarung in Verbindung mit einem beliebigen anderen Typ von Rechenumgebung implementiert werden kann, der nun bekannt ist oder später entwickelt werden wird. Zum Beispiel veranschaulicht 6 ein Blockdiagramm eines Verarbeitungssystems 600 zum Implementieren der hier beschriebenen Techniken. Bei Beispielen weist das Verarbeitungssystem 600 ein oder mehrere zentrale Verarbeitungseinheiten (Prozessoren) 21a, 21b, 21c usw. auf (die gemeinsam oder allgemein als Prozessoren 21 und/oder Verarbeitungsvorrichtungen bezeichnet werden). Bei Aspekten der vorliegenden Offenbarung kann jeder Prozessor 21 einen Mikroprozessor mit einem Computer mit reduziertem Anweisungssatz (RISC-Mikroprozessor) enthalten. Die Prozessoren 21 sind mit einem Systemspeicher (z. B. einem Speicher 24 mit wahlfreiem Zugriff (RAM)) und mit verschiedenen anderen Komponenten über einen Systembus 33 gekoppelt. Ein Festwertspeicher (ROM) 22 ist mit dem Systembus 33 gekoppelt und kann ein grundlegendes Eingabe/Ausgabe-System (BIOS) enthalten, welches bestimmte grundlegende Funktionen des Verarbeitungssystems 600 steuert.It is understood that the present disclosure may be implemented in conjunction with any other type of computing environment that is now known or later developed. For example, illustrated 6 a block diagram of a processing system 600 to implement the techniques described herein. In examples, the processing system 600 one or more central processing units (processors) 21a . 21b . 21c etc. (commonly or commonly referred to as processors 21 and / or processing devices). In aspects of the present disclosure, each processor 21 a microprocessor with a computer with a reduced instruction set (RISC microprocessor) included. The processors 21 are with a system memory (such as a memory 24 random access (RAM)) and various other components via a system bus 33 coupled. A read only memory (ROM) 22 is with the system bus 33 and may include a basic input / output system (BIOS) which contains certain basic functions of the processing system 600 controls.

Ferner sind ein Eingabe/Ausgabe-Adapter (I/O-Adapter) 27 und ein Netzwerkadapter 26 veranschaulicht, die mit dem Systembus 33 gekoppelt sind. Der I/O-Adapter 27 kann ein Small Computer System Interface (SCSI) Adapter sein, der mit einer Festplatte 23 und/oder einem anderen Speicherlaufwerk 25 oder einer beliebigen anderen ähnlichen Komponente kommuniziert. Der I/O-Adapter 27, die Festplatte 23 und die Speichervorrichtung 25 werden hier gemeinsam als Massenspeicher 34 bezeichnet. Ein Betriebssystem 40 zur Ausführung auf dem Verarbeitungssystem 600 kann im Massenspeicher 34 gespeichert sein. Ein Netzwerkadapter 26 verbindet den Systembus 33 mit einem äußeren Netzwerk 36, wodurch ermöglicht wird, dass das Verarbeitungssystem 600 mit anderen derartigen Systemen kommuniziert.Furthermore, an input / output adapter (I / O adapter) 27 and a network adapter 26 illustrated with the system bus 33 are coupled. The I / O adapter 27 can be a Small Computer System Interface (SCSI) adapter that comes with a hard disk 23 and / or another storage drive 25 or any other similar component. The I / O adapter 27 , the hard disk 23 and the storage device 25 are shared here as mass storage 34 designated. An operating system 40 for execution on the processing system 600 can be in mass storage 34 be saved. A network adapter 26 connects the system bus 33 with an external network 36 , which allows the processing system 600 communicates with other such systems.

Eine Anzeige (z. B. ein Anzeigemonitor) 35 ist mit dem Systembus 33 durch einen Anzeigeadapter 32 verbunden, welcher einen Grafikadapter, um die Leistung von grafikintensiven Anwendungen zu verbessern, und einen Videocontroller enthalten kann. Bei einem Aspekt der vorliegenden Offenbarung können die Adapter 26, 27 und/oder 32 mit einem oder mehreren I/O-Bussen verbunden sein, die mit dem Systembus 33 über eine (nicht gezeigte) Buszwischenbrücke verbunden sind. Geeignete I/O-Busse zum Anschließen peripherer Vorrichtungen wie etwa Festplattencontroller, Netzwerkadapter und Grafikadapter enthalten typischerweise geläufige Protokolle wie etwa das Peripheral Component Interconnect (PCI). Zusätzliche Eingabe/Ausgabevorrichtungen sind so gezeigt, dass sie mit dem Systembus 33 über den Anwenderschnittstellenadapter 28 und den Anzeigeadapter 32 verbunden sind. Eine Tastatur 29, eine Maus 30 und ein Lautsprecher 31 können über den Anwenderschnittstellenadapter 28 mit dem Systembus 33 verbunden sein, welcher beispielsweise einen Super-I/O-Chip enthalten kann, der mehrere Vorrichtungsadapter in eine einzige integrierte Schaltung integriert.An ad (for example, a display monitor) 35 is with the system bus 33 through a display adapter 32 which may include a graphics adapter to improve the performance of graphics-intensive applications, and a video controller. In one aspect of the present disclosure, the adapters 26 . 27 and or 32 connected to one or more I / O buses connected to the system bus 33 are connected via a bus bridge (not shown). Suitable I / O busses for connecting peripheral devices such as hard disk controllers, network adapters and graphics adapters typically include common protocols such as Peripheral Component Interconnect (PCI). Additional input / output devices are shown connected to the system bus 33 via the user interface adapter 28 and the display adapter 32 are connected. A keyboard 29 , a mouse 30 and a speaker 31 can through the user interface adapter 28 with the system bus 33 for example, which may include a super I / O chip that integrates multiple device adapters into a single integrated circuit.

Bei einigen Aspekten der vorliegenden Offenbarung enthält das Verarbeitungssystem 600 eine Grafikverarbeitungseinheit 37. Die Grafikverarbeitungseinheit 37 ist eine spezielle elektronische Schaltung, die konstruiert ist, um einen Speicher zu manipulieren und zu verändern, um das Erzeugen von Bildern in einem Framebuffer zu beschleunigen, der für die Ausgabe an einer Anzeige gedacht ist. Im Allgemeinen ist die Grafikverarbeitungseinheit 37 beim Manipulieren von Computergrafiken und bei der Bildverarbeitung sehr effizient, und sie weist eine hochgradig parallele Struktur auf, die sie effektiver als universale CPUs für Algorithmen macht, bei denen die Verarbeitung von großen Datenblöcken parallel erledigt wird.In some aspects of the present disclosure, the processing system includes 600 a graphics processing unit 37 , The graphics processing unit 37 is a special electronic circuit designed to manipulate and manipulate a memory to speed up the generation of images in a frame buffer intended for display on a display. In general, the graphics processing unit 37 It is very efficient in manipulating computer graphics and image processing, and it has a highly parallel structure that makes it more effective than universal CPUs for algorithms that handle the processing of large blocks of data in parallel.

Folglich enthält das Verarbeitungssystem 600 wie hier ausgestaltet eine Verarbeitungskapazität in der Form von Prozessoren 21, eine Speicherkapazität, die den Systemspeicher (z. B. RAM 24) und den Massenspeicher 34 enthält, Eingabemittel wie etwa Tastatur 29 und Maus 30 und eine Ausgabekapazität, die einen Lautsprecher 31 und eine Anzeige 35 umfasst. Bei einigen Aspekten der vorliegenden Offenbarung speichern ein Teil des Systemspeichers (z. B. RAM 24) und des Massenspeichers 34 gemeinsam ein Betriebssystem, um die Funktionen der verschiedenen Komponenten zu koordinieren, die im Verarbeitungssystem 600 gezeigt sind.Consequently, the processing system includes 600 as embodied herein, a processing capacity in the form of processors 21 , a storage capacity that stores system memory (such as RAM 24 ) and the mass storage 34 contains input means such as keyboard 29 and mouse 30 and an output capacity, which is a speaker 31 and an ad 35 includes. In some aspects of the present disclosure, a portion of the system memory (eg, RAM 24 ) and the mass storage 34 Together, an operating system to coordinate the functions of the various components used in the processing system 600 are shown.

Die Beschreibungen der verschiedenen Beispiele der vorliegenden Offenbarung wurden zu Veranschaulichungszwecken präsentiert, sind aber nicht so gedacht, dass sie umfassend oder auf die offenbarten Ausführungsformen beschränkt sind. Viele Modifikationen und Variationen werden sich dem Fachmann offenbaren, ohne von dem Umfang und dem Geist der beschriebenen Techniken abzuweichen. Die hier verwendete Terminologie wurde gewählt, um die Prinzipien der vorliegenden Techniken und die praktische Anwendung der technischen Verbesserungen gegenüber Technologien, die auf dem Markt anzutreffen sind, am besten erläutern zu können, oder um andere Fachleute in die Lage zu versetzen, die hier offenbarten Techniken zu verstehen.The descriptions of the various examples of the present disclosure have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described techniques. The terminology used herein has been chosen to best explain the principles of the present techniques and the practical application of the technical improvements over technologies found in the market, or to enable others skilled in the art to disclose the techniques disclosed herein to understand.

Obwohl die vorstehende Offenbarung mit Bezug auf beispielhafte Ausführungsformen beschrieben worden ist, versteht der Fachmann, dass verschiedene Veränderungen durchgeführt werden können und Elemente derselben durch Äquivalente ersetzt werden können, ohne von ihrem Umfang abzuweichen. Zudem können viele Modifikationen durchgeführt werden, um eine spezielle Situation oder ein spezielles Material an die Lehren der Offenbarung anzupassen, ohne von dem wesentlichen Umfang derselben abzuweichen. Es ist daher beabsichtigt, dass die vorliegenden Techniken nicht auf die speziellen offenbarten Ausführungsformen begrenzt werden, sondern dass sie alle Ausführungsformen enthalten werden, die in den Umfang der Anmeldung fallen.Although the foregoing disclosure has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope thereof. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the disclosure without departing from the essential scope thereof. It is therefore intended that the present techniques not be limited to the specific embodiments disclosed, but that they include all embodiments falling within the scope of the application.

Claims (10)

Computerimplementiertes Parallelisierungsverfahren, das umfasst, dass: durch eine Verarbeitungsvorrichtung, die mindestens zwei parallele Verarbeitungskerne aufweist, mindestens ein Bild von einer Kamera empfangen wird, die mit einem Fahrzeug auf einer Straße verbunden ist; durch die Verarbeitungsvorrichtung eine Vielzahl von Ansichten aus dem mindestens einen Bild erzeugt werden, welche ein Merkmalprimitiv enthalten, das eine oder mehrere interessierende Straßenszenenentitäten anzeigt/anzeigen; eine Straßenszenenentität aus einer oder mehreren der Vielzahl von Ansichten identifiziert wird, wobei jeder der mindestens zwei parallelen Verarbeitungskerne ein maschinelles Lernen und/oder eine Computervisionstechnik verwendet; und auf der Grundlage der Vielzahl von Ansichten einen Satz von resultierenden Straßenszenenprimitiven auf der Grundlage der identifizierten Straßenszenenentität parallel ausgegeben wird.A computer-implemented parallelization method, comprising: by a processing device having at least two parallel processing cores, at least one image is received from a camera connected to a vehicle on a road; the processing device generates a plurality of views from the at least one image containing a feature primitive indicating / displaying one or more road scene entities of interest; identifying a street scene entity from one or more of the plurality of views, each of the at least two parallel processing cores using machine learning and / or a computer vision technique; and based on the plurality of views, output a set of resultant road scene primitives in parallel based on the identified road scene entity. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Satz von resultierenden Straßenszenenprimitiven eine Straßenszenenentität anzeigt, die einen Fußgänger oder ein Verkehrszeichen oder ein Verkehrssignal oder ein Straßenmerkmal umfasst.The computer-implemented method of claim 1, wherein the set of resulting street scene primitives indicates a street scene entity comprising a pedestrian or a traffic sign or a traffic signal or a road feature. Computerimplementiertes Verfahren nach Anspruch 1, wobei das maschinelle Lernen ein konvolutionelles neuronales Netzwerk verwendet.The computer-implemented method of claim 1, wherein the machine learning uses a convolutional neural network. Computerimplementiertes Verfahren nach Anspruch 1, wobei das identifizieren der Straßenszenenentität bei jedem parallelen Verarbeitungskern ferner umfasst, dass: bei jedem parallelen Verarbeitungskern eine Merkmalsextraktion ausgeführt wird, um die Straßenszenenentität aus einer Ansicht unter Verwendung eines neuronalen Netzwerks zu extrahieren; und eine Klassifizierung der Straßenszenenentität unter Verwendung des neuronalen Netzwerks ausgeführt wird.The computer-implemented method of claim 1, wherein identifying the street scene entity in each parallel processing core further comprises: feature extraction is performed on each parallel processing core to extract the street scene entity from a view using a neural network; and a classification of the street scene entity is performed using the neural network. Computerimplementiertes Verfahren nach Anspruch 1, wobei ein paralleler Verarbeitungskern die Straßenszenenentität aus einer anderen Ansicht als ein anderer der parallelen Verarbeitungskerne identifiziert.The computer-implemented method of claim 1, wherein a parallel processing core identifies the street scene entity from a different view than another of the parallel processing kernels. Computerimplementiertes Verfahren nach Anspruch 5, das ferner umfasst, dass mindesten zwei verschiedene Straßenszenenentitäten identifiziert werden, und dass ein Resultat ausgegeben wird, das die zwei verschiedenen Straßenszenenentitäten anzeigt.The computer-implemented method of claim 5, further comprising identifying at least two different street scene entities, and outputting a result indicating the two different street scene entities. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Kamera eine Fischaugenlinse umfasst.The computer-implemented method of claim 1, wherein the camera comprises a fisheye lens. System zur Parallelisierung, wobei das System umfasst: eine Vielzahl von Kameras, die mit einem Fahrzeug verbunden sind; einen Speicher, der computerlesbare Anweisungen umfasst; und eine Verarbeitungsvorrichtung, die mindestens zwei parallele Verarbeitungskerne aufweist, und ausgestaltet ist, um: mindestens ein Bild von einer Kamera zu empfangen, die mit einem Fahrzeug auf einer Straße verbunden ist; eine Vielzahl von Ansichten aus dem mindestens einen Bild zu erzeugen, welche ein Merkmalprimitiv enthalten, das eine oder mehrere interessierende Straßenszenenentitäten anzeigt; eine Straßenszenenentität aus einer oder mehreren der Vielzahl von Ansichten zu identifizieren, wobei jeder der mindestens zwei parallelen Verarbeitungskerne ein maschinelles Lernen und/oder eine Computervisionstechnik verwendet; und auf der Grundlage der Vielzahl von Ansichten einen Satz von resultierenden Straßenszenenprimitiven auf der Grundlage der identifizierten Straßenszenenentität auszugeben.A system for parallelization, the system comprising: a plurality of cameras connected to a vehicle; a memory comprising computer readable instructions; and a processing device having at least two parallel processing cores and configured to: receive at least one image from a camera connected to a vehicle on a road; generate a plurality of views from the at least one image that include a feature primitive indicating one or more road scene entities of interest; identify a street scene entity from one or more of the plurality of views, each of the at least two parallel ones Processing cores used a machine learning and / or a computer vision technique; and output, based on the plurality of views, a set of resulting road scene primitives based on the identified street scene entity. System nach Anspruch 8, wobei ein paralleler Verarbeitungskern eine andere Ansicht als ein anderer der parallelen Verarbeitungskerne analysiert.The system of claim 8, wherein a parallel processing core analyzes a different view than another one of the parallel processing kernels. Computerprogrammprodukt zur parallelen Detektion von Szenenprimitiven, wobei das Computerprogrammprodukt umfasst: ein von einem Computer lesbares Speichermedium, das Programmanweisungen aufweist, die darin enthalten sind, wobei das von einem Computer lesbare Speichermedium kein transitorisches Signal per se ist, wobei die Programmanweisungen von einer Verarbeitungsvorrichtung ausführbar sind, die mindestens zwei parallele Verarbeitungskerne aufweist, um zu veranlassen, dass die Verarbeitungsvorrichtung ein Verfahren ausführt, das umfasst, dass: durch eine Verarbeitungsvorrichtung, die mindestens zwei parallele Verarbeitungskerne aufweist, mindestens ein Bild von einer Kamera empfangen wird, die mit einem Fahrzeug auf einer Straße verbunden ist; durch die Verarbeitungsvorrichtung eine Vielzahl von Ansichten aus dem mindestens einen Bild erzeugt wird, welche ein Merkmalprimitiv enthalten, das eine oder mehrere interessierende Straßenszenenentitäten anzeigt; eine Straßenszenenentität aus einer oder mehreren der Vielzahl von Ansichten mit jedem der mindestens zwei parallelen Verarbeitungskerne unter Verwendung eines maschinellen Lernens und/oder einer Computervisionstechnik identifiziert wird; und ein Satz von resultierenden Straßenszenenprimitiven auf der Grundlage der identifizierten Straßenszenenentität auf der Grundlage der Vielzahl von Ansichten parallel ausgegeben wird.A computer program product for parallel detection of scene primitives, the computer program product comprising: a computer readable storage medium having program instructions contained therein, wherein the computer readable storage medium is not a transitory signal per se, the program instructions being executable by a processing apparatus having at least two parallel processing cores to cause in that the processing device carries out a method comprising: by a processing device having at least two parallel processing cores, at least one image is received from a camera connected to a vehicle on a road; the processing device generates a plurality of views from the at least one image containing a feature primitive indicating one or more road scene entities of interest; identifying a street scene entity from one or more of the plurality of views with each of the at least two parallel processing cores using machine learning and / or a computer vision technique; and a set of resulting road scene primitives based on the identified street scene entity is output in parallel based on the plurality of views.
DE102017108255.7A 2016-04-19 2017-04-19 PARALLEL DETECTION OF PRIMITIVES IN A SCENE USING A ROUNDUM CAMERA SYSTEM Withdrawn DE102017108255A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662324596P 2016-04-19 2016-04-19
US62/324,596 2016-04-19
US15/487,753 2017-04-14
US15/487,753 US10402670B2 (en) 2016-04-19 2017-04-14 Parallel scene primitive detection using a surround camera system

Publications (1)

Publication Number Publication Date
DE102017108255A1 true DE102017108255A1 (en) 2017-10-19

Family

ID=59980909

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017108255.7A Withdrawn DE102017108255A1 (en) 2016-04-19 2017-04-19 PARALLEL DETECTION OF PRIMITIVES IN A SCENE USING A ROUNDUM CAMERA SYSTEM

Country Status (1)

Country Link
DE (1) DE102017108255A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017223264A1 (en) * 2017-12-19 2019-06-19 Robert Bosch Gmbh Method and device for driving an actuator
DE102018121866A1 (en) * 2018-09-07 2020-03-12 Valeo Schalter Und Sensoren Gmbh Method for depth estimation of two-dimensional sensor data
EP3594624A3 (en) * 2018-07-10 2020-04-29 Robert Bosch GmbH Method for measuring distance, and system for measuring distance
US10922557B2 (en) 2018-01-23 2021-02-16 Volkswagen Aktiengesellschaft Method for processing sensor data in multiple control units, preprocessing unit, and transportation vehicle
US20210303763A1 (en) * 2020-03-26 2021-09-30 Mappedin Inc. Systems and methods for geometry simplification and filtering

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017223264A1 (en) * 2017-12-19 2019-06-19 Robert Bosch Gmbh Method and device for driving an actuator
US10922557B2 (en) 2018-01-23 2021-02-16 Volkswagen Aktiengesellschaft Method for processing sensor data in multiple control units, preprocessing unit, and transportation vehicle
EP3594624A3 (en) * 2018-07-10 2020-04-29 Robert Bosch GmbH Method for measuring distance, and system for measuring distance
DE102018121866A1 (en) * 2018-09-07 2020-03-12 Valeo Schalter Und Sensoren Gmbh Method for depth estimation of two-dimensional sensor data
US20210303763A1 (en) * 2020-03-26 2021-09-30 Mappedin Inc. Systems and methods for geometry simplification and filtering

Similar Documents

Publication Publication Date Title
DE112020002602T5 (en) MULTI-OBJECT TRACKING USING CORRELATION FILTERS IN VIDEO ANALYSIS APPLICATIONS
DE112019000049T5 (en) OBJECT DETECTION AND DETECTION SECURITY SUITABLE FOR AUTONOMOUS DRIVING
DE102017108255A1 (en) PARALLEL DETECTION OF PRIMITIVES IN A SCENE USING A ROUNDUM CAMERA SYSTEM
DE112020002126T5 (en) DETECTION OF CROSSING POSES IN AUTONOMOUS MACHINE APPLICATIONS
DE112019000122T5 (en) REAL-TIME DETECTION OF TRACKS AND LIMITATIONS BY AUTONOMOUS VEHICLES
DE112019000279T5 (en) CONTROLLING AUTONOMOUS VEHICLES USING SAFE ARRIVAL TIMES
DE112020001396T5 (en) FORM FUSION FOR IMAGE ANALYSIS
DE112019006468T5 (en) DETECTION OF DISTANCE TO OBSTACLES IN APPLICATIONS WITH AUTONOMOUS MACHINERY
DE112020006410T5 (en) THREE-DIMENSIONAL INTERSECTION STRUCTURE PREDICTION FOR AUTONOMOUS DRIVING APPLICATIONS
DE102020111271A1 (en) Estimation of object poses
DE112020000369T5 (en) OBJECT DETECTION USING DISTORTED POLYGONS SUITABLE FOR PARKING DETECTION
DE102020132559A1 (en) TECHNOLOGY FOR THE APPLICATION OF DRIVING STANDARDS FOR THE BEHAVIOR PREDICTION OF AUTOMATED VEHICLES
DE112020001897T5 (en) Training of neural networks using basic truth data supplemented with map information for autonomous machine applications
DE102021100065A1 (en) USE OF NEURONAL NETWORKS FOR ERROR DETECTION IN APPLICATIONS FOR AUTONOMOUS DRIVING
DE102020117792A1 (en) EFFECTIVE USE OF OBSTACLE AND TRACK DETECTION TO DETERMINE TRACK ALLOCATIONS FOR OBJECTS IN AN ENVIRONMENT
DE102021123159A1 (en) ADAPTIVE OBJECT TRACKING ALGORITHM FOR AUTONOMOUS MACHINE APPLICATIONS
DE102021126648A1 (en) IMITATION TRAINING USING SYNTHETIC DATA
DE102021125234A1 (en) DATA EXTENSION INCLUDING BACKGROUND MODIFICATION FOR ROBUST PREDICTION WITH NEURAL NETWORKS
DE102019113114A1 (en) BEHAVIOR-CONTROLLED ROUTE PLANNING IN AUTONOMOUS MACHINE APPLICATIONS
US20170300767A1 (en) Parallel scene primitive detection using a surround camera system
DE102020100685A1 (en) PREDICTION OF TEMPORARY INFORMATION IN AUTONOMOUS MACHINE APPLICATIONS
DE112020006181T5 (en) EYE DETERMINATION WITH GLARE AS INPUT
DE102017108248A1 (en) STREET FEATURE RECOGNITION WITH A VEHICLE CAMERA SYSTEM
DE112021000104T5 (en) PROJECTING IMAGES TAKEN WITH FISHEYE LENSES FOR FEATURE RECOGNITION IN AUTONOMOUS MACHINE APPLICATIONS
DE102017208718A1 (en) Method of detecting objects in an image of a camera

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee