Texas Instruments-Logo

Texas Instruments AM6x entwickelt mehrere Kameras

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Produkt

Technische Daten

  • Produktname: AM6x-Gerätefamilie
  • Unterstützter Kameratyp: AM62A (mit oder ohne integriertem ISP), AM62P (mit integriertem ISP)
  • Kamera-Ausgabedaten: AM62A (Raw/YUV/RGB), AM62P (YUV/RGB)
  • ISP HWA: AM62A (Ja), AM62P (Nein)
  • Deep Learning HWA: AM62A (Ja), AM62P (Nein)
  • 3D-Grafik-HWA: AM62A (Nein), AM62P (Ja)

Einführung in Mehrkameraanwendungen auf AM6x:

  • Eingebettete Kameras spielen in modernen Bildverarbeitungssystemen eine entscheidende Rolle.
  • Die Verwendung mehrerer Kameras in einem System erweitert die Möglichkeiten und ermöglicht Aufgaben, die mit einer einzelnen Kamera nicht erreichbar sind.

Anwendungen mit mehreren Kameras:

  • Sicherheitsüberwachung: Verbessert die Überwachungsabdeckung, Objektverfolgung und Erkennungsgenauigkeit.
  • Umgeben View: Ermöglicht Stereosehen für Aufgaben wie Hinderniserkennung und Objektmanipulation.
  • Kabinenrekorder und Kameraspiegelsystem: Bietet erweiterte Abdeckung und eliminiert tote Winkel.
  • Medizinische Bildgebung: Bietet verbesserte Präzision bei der chirurgischen Navigation und Endoskopie.
  • Drohnen und Luftbilder: Nehmen Sie hochauflösende Bilder aus verschiedenen Winkeln für verschiedene Anwendungen auf.

Anschließen mehrerer CSI-2-Kameras an das SoC:
Um mehrere CSI-2-Kameras an das SoC anzuschließen, befolgen Sie die Anweisungen im Benutzerhandbuch. Achten Sie auf die korrekte Ausrichtung und Verbindung jeder Kamera mit den dafür vorgesehenen Anschlüssen am SoC.

Anwendungshinweis
Entwicklung von Mehrkameraanwendungen auf AM6x

Jianzhong Xu, Qutaiba Saleh

ABSTRAKT
Dieser Bericht beschreibt die Anwendungsentwicklung mit mehreren CSI-2-Kameras auf der AM6x-Gerätefamilie. Ein Referenzdesign zur Objekterkennung mit Deep Learning auf vier Kameras auf dem AM4A-SoC wird mit Leistungsanalyse vorgestellt. Die allgemeinen Designprinzipien gelten auch für andere SoCs mit CSI-62-Schnittstelle, wie z. B. AM2x und AM62P.

Einführung

Eingebettete Kameras spielen in modernen Bildverarbeitungssystemen eine wichtige Rolle. Der Einsatz mehrerer Kameras in einem System erweitert die Möglichkeiten dieser Systeme und ermöglicht Funktionen, die mit einer einzelnen Kamera nicht möglich sind. Nachfolgend einige BeispieleampDateien von Anwendungen, die mehrere eingebettete Kameras verwenden:

  • Sicherheitsüberwachung: Mehrere strategisch platzierte Kameras sorgen für eine umfassende Überwachung. Sie ermöglichen Panorama views, reduzieren tote Winkel und verbessern die Genauigkeit der Objektverfolgung und -erkennung, wodurch die allgemeinen Sicherheitsmaßnahmen verbessert werden.
  • Umgeben View: Durch den Einsatz mehrerer Kameras entsteht ein Stereovisions-Setup, das dreidimensionale Informationen und die Tiefenschätzung ermöglicht. Dies ist entscheidend für Aufgaben wie die Hinderniserkennung in autonomen Fahrzeugen, die präzise Objektmanipulation in der Robotik und die Steigerung des Realismus bei Augmented-Reality-Erlebnissen.
  • Kabinenrekorder und Kameraspiegelsystem: Ein Kabinenrekorder mit mehreren Kameras kann mit einem einzigen Prozessor eine größere Abdeckung bieten. Ebenso kann ein Kameraspiegelsystem mit zwei oder mehr Kameras das Sichtfeld des Fahrers erweitern. view und beseitigen Sie tote Winkel auf allen Seiten eines Autos.
  • Medizinische Bildgebung: In der medizinischen Bildgebung können mehrere Kameras für Aufgaben wie die chirurgische Navigation eingesetzt werden. Dadurch erhalten Chirurgen mehrere Perspektiven für mehr Präzision. In der Endoskopie ermöglichen mehrere Kameras eine gründliche Untersuchung innerer Organe.
  • Drohnen und Luftbildaufnahmen: Drohnen sind oft mit mehreren Kameras ausgestattet, um hochauflösende Bilder oder Videos aus verschiedenen Blickwinkeln aufzunehmen. Dies ist nützlich für Anwendungen wie Luftbildfotografie, Landwirtschaftsüberwachung und Landvermessung.
  • Mit der Weiterentwicklung von Mikroprozessoren können mehrere Kameras in ein einziges System-on-Chip integriert werden.
    (SoC) für kompakte und effiziente Lösungen. Der AM62Ax SoC mit leistungsstarker Video-/Bildverarbeitung und Deep-Learning-Beschleunigung ist ein ideales Gerät für die oben genannten Anwendungsfälle. Ein weiteres AM6x-Gerät, der AM62P, ist für leistungsstarke eingebettete 3D-Display-Anwendungen konzipiert. Ausgestattet mit 3D-Grafikbeschleunigung kann der AM62P problemlos die Bilder mehrerer Kameras zusammenfügen und ein hochauflösendes Panoramabild erzeugen. viewDie innovativen Funktionen des AM62A/AM62P SoC wurden in verschiedenen Veröffentlichungen wie [4], [5], [6] usw. vorgestellt. Diese Anwendungsnotiz wiederholt diese Funktionsbeschreibungen nicht, sondern konzentriert sich stattdessen auf die Integration mehrerer CSI-2-Kameras in Embedded Vision-Anwendungen auf AM62A/AM62P.
  • Tabelle 1-1 zeigt die Hauptunterschiede zwischen AM62A und AM62P in Bezug auf die Bildverarbeitung.

Tabelle 1-1. Unterschiede zwischen AM62A und AM62P bei der Bildverarbeitung

SoC AM62A AM62P
Unterstützter Kameratyp Mit oder ohne integrierten ISP Mit integriertem ISP
Kamera-Ausgabedaten Raw/YUV/RGB YUV/RGB
ISP HWA Ja NEIN
Deep Learning HWA Ja NEIN
3-D-Grafik HWA NEIN Ja

Anschließen mehrerer CSI-2-Kameras an das SoC
Das Kamera-Subsystem auf dem AM6x SoC enthält die folgenden Komponenten, wie in Abbildung 2-1 dargestellt:

  • MIPI D-PHY-Empfänger: Empfängt Videostreams von externen Kameras und unterstützt bis zu 1.5 Gbit/s pro Datenspur für 4 Spuren.
  • CSI-2-Empfänger (RX): Empfängt Videostreams vom D-PHY-Empfänger und sendet die Streams entweder direkt an den ISP oder speichert die Daten im DDR-Speicher. Dieses Modul unterstützt bis zu 16 virtuelle Kanäle.
  • SHIM: Ein DMA-Wrapper, der das Senden der erfassten Streams über DMA in den Speicher ermöglicht. Mit diesem Wrapper können mehrere DMA-Kontexte erstellt werden, wobei jeder Kontext einem virtuellen Kanal des CSI-2-Empfängers entspricht.

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (2)

Durch die Verwendung virtueller CSI-6 RX-Kanäle können mehrere Kameras auf dem AM2x unterstützt werden, obwohl auf dem SoC nur eine CSI-2 RX-Schnittstelle vorhanden ist. Eine externe CSI-2-Aggregationskomponente wird benötigt, um mehrere Kamera-Streams zu kombinieren und an ein einzelnes SoC zu senden. Es können zwei Arten von CSI-2-Aggregationslösungen verwendet werden, die in den folgenden Abschnitten beschrieben werden.

CSI-2-Aggregator mit SerDes
Eine Möglichkeit, mehrere Kamera-Streams zu kombinieren, ist die Verwendung einer Serialisierungs- und Deserialisierungslösung (SerDes). Die CSI-2-Daten jeder Kamera werden von einem Serialisierer konvertiert und über ein Kabel übertragen. Der Deserialisierer empfängt alle serialisierten Daten der Kabel (ein Kabel pro Kamera), konvertiert die Streams zurück in CSI-2-Daten und sendet anschließend einen verschachtelten CSI-2-Stream an die einzelne CSI-2-RX-Schnittstelle des SoC. Jeder Kamera-Stream wird durch einen eindeutigen virtuellen Kanal identifiziert. Diese Aggregationslösung bietet den zusätzlichen Vorteil, dass sie Fernverbindungen von bis zu 15 m von den Kameras zum SoC ermöglicht.

Die im AM3x Linux SDK unterstützten Serialisierer und Deserialisierer FPD-Link bzw. V6-Link (SerDes) sind die gängigsten Technologien für diese Art von CSI-2-Aggregationslösung. Sowohl der FPD-Link- als auch der V3-Link-Deserialisierer verfügen über Rückkanäle, über die Frame-Sync-Signale zur Synchronisierung aller Kameras gesendet werden können, wie in [7] erläutert.
Abbildung 2-2 zeigt ein BspampMöglichkeit, den SerDes zu verwenden, um mehrere Kameras an ein einzelnes AM6x-SoC anzuschließen.

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (3)

Ein ExampEine Ausführungsform dieser Aggregationslösung finden Sie im Arducam V3Link Camera Solution Kit. Dieses Kit verfügt über einen Deserializer-Hub, der vier CSI-4-Kamera-Streams sowie vier Paare V2link-Serialisierer und IMX4-Kameras aggregiert, einschließlich FAKRA-Koaxialkabeln und 3-poligen FPC-Kabeln. Das später besprochene Referenzdesign basiert auf diesem Kit.

CSI-2-Aggregator ohne Verwendung von SerDes
Dieser Aggregatortyp kann direkt mit mehreren MIPI CSI-2-Kameras verbunden werden und die Daten aller Kameras zu einem einzigen CSI-2-Ausgabestream aggregieren.

Abbildung 2-3 zeigt ein Bspample eines solchen Systems. Diese Art der Aggregationslösung verwendet keinen Serialisierer/Deserialisierer, ist aber durch die maximale Distanz der CSI-2-Datenübertragung von bis zu 30 cm begrenzt. Das AM6x Linux SDK unterstützt diese Art von CSI-2-Aggregator nicht

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (4)

Aktivieren mehrerer Kameras in der Software

Softwarearchitektur des Kamerasubsystems
Abbildung 3-1 zeigt ein Blockdiagramm auf hoher Ebene der Kameraaufnahmesystemsoftware im AM62A/AM62P Linux SDK, entsprechend dem HW-System in Abbildung 2-2.

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (5)

  • Diese Softwarearchitektur ermöglicht dem SoC den Empfang mehrerer Kamera-Streams mithilfe von SerDes, wie in Abbildung 2-2 dargestellt. Der FPD-Link/V3-Link SerDes weist jeder Kamera eine eindeutige I2C-Adresse und einen virtuellen Kanal zu. Für jede Kamera sollte ein eindeutiges Gerätebaum-Overlay mit der eindeutigen I2C-Adresse erstellt werden. Der CSI-2 RX-Treiber erkennt jede Kamera anhand der eindeutigen virtuellen Kanalnummer und erstellt einen DMA-Kontext pro Kamera-Stream. Für jeden DMA-Kontext wird ein Videoknoten erstellt. Die Daten jeder Kamera werden dann empfangen und entsprechend per DMA im Speicher abgelegt. User-Space-Anwendungen nutzen die der jeweiligen Kamera entsprechenden Videoknoten, um auf die Kameradaten zuzugreifen. Beispiel:ampInformationen zur Verwendung dieser Softwarearchitektur finden Sie in Kapitel 4 – Referenzdesign.
  • Jeder spezifische Sensortreiber, der mit dem V4L2-Framework kompatibel ist, kann in dieser Architektur Plug-and-Play verwendet werden. Informationen zur Integration eines neuen Sensortreibers in das Linux SDK finden Sie in [8].

Image Pipeline-Softwarearchitektur

  • Das AM6x Linux SDK bietet das GStreamer (GST)-Framework, das im Server-Bereich zur Integration der Bildverarbeitungskomponenten für verschiedene Anwendungen eingesetzt werden kann. Der Zugriff auf die Hardwarebeschleuniger (HWA) auf dem SoC, wie z. B. den Vision Pre-processing Accelerator (VPAC) oder ISP, den Video-Encoder/Decoder und die Deep-Learning-Rechenmaschine, erfolgt über GST. plugins. Der VPAC (ISP) selbst besteht aus mehreren Blöcken, darunter Vision Imaging Sub-System (VISS), Lens Distortion Correction (LDC) und Multiscalar (MSC), die jeweils einem GST-Plugin entsprechen.
  • Abbildung 3-2 zeigt das Blockdiagramm einer typischen Bildpipeline von der Kamera bis zur Kodierung oder Deep
    Lernanwendungen auf AM62A. Weitere Informationen zum End-to-End-Datenfluss finden Sie in der EdgeAI SDK-Dokumentation.

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (6)

Für AM62P ist die Bildpipeline einfacher, da auf AM62P kein ISP vorhanden ist.

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (7)

Mit einem für jede Kamera erstellten Videoknoten ermöglicht die GStreamer-basierte Bildpipeline die gleichzeitige Verarbeitung mehrerer Kameraeingänge (verbunden über dieselbe CSI-2 RX-Schnittstelle). Ein Referenzdesign mit GStreamer für Mehrkameraanwendungen finden Sie im nächsten Kapitel.

Referenzdesign

In diesem Kapitel wird ein Referenzdesign für die Ausführung von Anwendungen mit mehreren Kameras auf AM62A EVM vorgestellt. Dabei wird das Arducam V3Link Camera Solution Kit verwendet, um 4 CSI-2-Kameras an AM62A anzuschließen und die Objekterkennung für alle 4 Kameras auszuführen.

Unterstützte Kameras
Das Arducam V3Link-Kit funktioniert sowohl mit FPD-Link/V3-Link-basierten Kameras als auch mit Raspberry Pi-kompatiblen CSI-2-Kameras. Folgende Kameras wurden getestet:

  • D3 Engineering D3RCM-IMX390-953
  • Leopard Imaging LI-OV2312-FPDLINKIII-110H
  • IMX219-Kameras im Arducam V3Link Camera Solution Kit

Einrichten von vier IMX219-Kameras
Befolgen Sie die Anweisungen in der Kurzanleitung zum AM62A Starter Kit EVM, um das SK-AM62A-LP EVM (AM62A SK) einzurichten, und in der Kurzanleitung zur ArduCam V3Link Camera Solution, um die Kameras über das V62Link-Kit mit dem AM3A SK zu verbinden. Stellen Sie sicher, dass die Pins an den Flexkabeln, Kameras, der V3Link-Platine und dem AM62A SK korrekt ausgerichtet sind.

Abbildung 4-1 zeigt den Aufbau des Referenzdesigns in diesem Bericht. Die Hauptkomponenten des Aufbaus sind:

  • 1X SK-AM62A-LP EVM-Platine
  • 1X Arducam V3Link d-ch Adapterplatine
  • FPC-Kabel, das Arducam V3Link mit SK-AM62A verbindet
  • 4X V3Link-Kameraadapter (Serialisierer)
  • 4X HF-Koaxialkabel zum Anschluss von V3Link-Serialisierern an das V3Link-D-Ch-Kit
  • 4X IMX219 Kameras
  • 4X CSI-2 22-Pin-Kabel zum Anschluss von Kameras an Serialisierer
  • Kabel: HDMI-Kabel, USB-C zur Stromversorgung von SK-AM62A-LP und 12-V-Stromversorgung für V3Link d-ch-Kit)
  • Weitere Komponenten, die in Abbildung 4-1 nicht dargestellt sind: Micro-SD-Karte, Micro-USB-Kabel für den Zugriff auf SK-AM62A-LP und Ethernet für das Streaming

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (8)

Konfigurieren von Kameras und CSI-2 RX-Schnittstelle
Richten Sie die Software gemäß den Anweisungen in der Arducam V3Link-Kurzanleitung ein. Nach dem Ausführen des Kamera-Setup-Skripts „setup-imx219.sh“ werden das Kameraformat, das CSI-2-RX-Schnittstellenformat und die Routen von jeder Kamera zum entsprechenden Videoknoten korrekt konfiguriert. Für die vier IMX219-Kameras werden vier Videoknoten erstellt. Der Befehl „v4l2-ctl –list-devices“ zeigt alle V4L2-Videogeräte an, wie unten dargestellt:

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (9)

Unter tiscsi6rx gibt es sechs Videoknoten und einen Medienknoten. Jeder Videoknoten entspricht einem vom CSI1-RX-Treiber zugewiesenen DMA-Kontext. Von den sechs Videoknoten werden vier für die vier IMX2-Kameras verwendet, wie in der folgenden Medienpipeline-Topologie dargestellt:

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (10)

Wie oben gezeigt, verfügt die Medieneinheit 30102000.ticsi2rx über sechs Quellpads, von denen jedoch nur die ersten vier verwendet werden, jeweils für einen IMX6. Die Medienpipeline-Topologie lässt sich auch grafisch darstellen. Führen Sie den folgenden Befehl aus, um einen Punkt zu generieren file:

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (11)

Führen Sie dann den folgenden Befehl auf einem Linux-Host-PC aus, um ein PNG zu generieren file:Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (12)

Abbildung 4-2 ist ein Bild, das mit den oben angegebenen Befehlen erstellt wurde. Die Komponenten der Softwarearchitektur aus Abbildung 3-1 sind in diesem Diagramm dargestellt.

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (13)

Streaming von vier Kameras
Bei richtiger Hardware- und Softwarekonfiguration können Mehrkameraanwendungen im Benutzerbereich ausgeführt werden. Beim AM62A muss der ISP optimiert werden, um eine gute Bildqualität zu erzielen. Informationen zur ISP-Optimierung finden Sie im AM6xA ISP Tuning Guide. Die folgenden Abschnitte zeigen BeispieleampDateien zum Streamen von Kameradaten auf ein Display, zum Streamen von Kameradaten in ein Netzwerk und zum Speichern der Kameradaten auf files.

Streaming von Kameradaten zur Anzeige
Eine grundlegende Anwendung dieses Multikamerasystems besteht darin, die Videos aller Kameras auf ein Display zu streamen, das mit demselben SoC verbunden ist. Im Folgenden sehen Sie eine GStreamer-Pipeline, z. B.ample des Streamings von vier IMX219 auf ein Display (die Videoknotennummern und v4l-Subdev-Nummern in der Pipeline ändern sich wahrscheinlich von Neustart zu Neustart).

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (14) Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (15)

Streaming von Kameradaten über Ethernet
Anstatt die Kameradaten auf ein Display zu streamen, das mit demselben SoC verbunden ist, können die Daten auch über Ethernet gestreamt werden. Die Empfangsseite kann entweder ein weiterer AM62A/AM62P-Prozessor oder ein Host-PC sein. Im Folgenden finden Sie ein BeispielampMethode zum Streamen der Kameradaten über Ethernet (der Einfachheit halber werden zwei Kameras verwendet) (beachten Sie das in der Pipeline verwendete Encoder-Plugin):

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (16)

Das Folgende ist ein BeispielampMöglichkeit, die Kameradaten zu empfangen und auf ein Display auf einem anderen AM62A/AM62P-Prozessor zu streamen:

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (17)

Speichern von Kameradaten auf Files
Anstatt die Daten auf ein Display oder über ein Netzwerk zu streamen, können die Kameradaten lokal gespeichert werden. files. Die folgende Pipeline speichert die Daten jeder Kamera in einem file (mit zwei Kameras als Example der Einfachheit halber).

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (18)Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (19)

Multikamera-Deep-Learning-Inferenz

AM62A ist mit einem Deep-Learning-Beschleuniger (C7x-MMA) mit bis zu zwei TOPS ausgestattet, die verschiedene Deep-Learning-Modelle für Klassifizierung, Objekterkennung, semantische Segmentierung und mehr ausführen können. Dieser Abschnitt zeigt, wie AM62A vier Deep-Learning-Modelle gleichzeitig auf vier verschiedenen Kamera-Feeds ausführen kann.

Modellauswahl
TIs EdgeAI-ModelZoo bietet Hunderte hochmoderner Modelle, die von ihren ursprünglichen Trainingsframeworks in ein einbettungsfreundliches Format konvertiert/exportiert werden, um sie auf den Deep-Learning-Beschleuniger C7x-MMA auszulagern. Der cloudbasierte Edge AI Studio Model Analyzer bietet ein benutzerfreundliches Tool zur Modellauswahl. Es wird dynamisch aktualisiert und umfasst alle von TI EdgeAI-ModelZoo unterstützten Modelle. Das Tool erfordert keine Vorkenntnisse und bietet eine benutzerfreundliche Oberfläche zur Eingabe der gewünschten Funktionen für das gewünschte Modell.

Für dieses Multikamera-Deep-Learning-Experiment wurde das Modell TFL-OD-2000-ssd-mobV1-coco-mlperf ausgewählt. Dieses Multi-Objekt-Erkennungsmodell wurde im TensorFlow-Framework mit einer Eingabeauflösung von 300×300 entwickelt. Tabelle 4-1 zeigt die wichtigsten Merkmale dieses Modells, wenn es mit dem cCOCO-Datensatz mit etwa 80 verschiedenen Klassen trainiert wird.

Tabelle 4-1. Wichtige Funktionen des Modells TFL-OD-2000-ssd-mobV1-coco-mlperf.

Modell Aufgabe Auflösung FPS mAP 50 %

Genauigkeit bei COCO

Latenz/Frame (ms) DDR BW

Auslastung (MB/Frame)

TFL-OD-2000-ssd-

mobV1-coco-mlperf

Erkennung mehrerer Objekte 300 × 300 ~152 15.9 6.5 18.839

Pipeline-Setup
Abbildung 4-3 zeigt die 4-Kamera Deep Learning GStreamer-Pipeline. TI bietet eine Suite von GStreamer plugins die es ermöglichen, einen Teil der Medienverarbeitung und der Deep-Learning-Inferenz auf die Hardwarebeschleuniger auszulagern. Einige Beispieleampweniger davon plugins umfassen tiovxisp, tiovxmultiscaler, tiovxmosaic und tidlinferer. Die Pipeline in Abbildung 4-3 enthält alle erforderlichen plugins für eine Multipath-GStreamer-Pipeline für 4 Kameraeingänge, jeweils mit Medienvorverarbeitung, Deep-Learning-Inferenz und Nachverarbeitung. Die duplizierte plugins für jeden der Kamerapfade sind zur einfacheren Darstellung im Diagramm gestapelt.
Die verfügbaren Hardwareressourcen werden gleichmäßig auf die vier Kamerapfade verteilt. Beispielsweise enthält AM62A zwei Bildmultiskalierer: MSC0 und MSC1. Die Pipeline reserviert MSC0 explizit für die Verarbeitung der Pfade Kamera 1 und Kamera 2, während MSC1 für Kamera 3 und Kamera 4 reserviert ist.

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (21)

Die Ausgabe der vier Kamera-Pipelines wird mithilfe des Plugins tiovxmosaic verkleinert und zusammengefügt. Die Ausgabe wird auf einem einzelnen Bildschirm angezeigt. Abbildung 4-4 ​​zeigt die Ausgabe der vier Kameras mit einem Deep-Learning-Modell zur Objekterkennung. Jede Pipeline (Kamera) läuft mit 30 FPS und insgesamt 120 FPS.

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (22)

Als Nächstes folgt das vollständige Pipeline-Skript für den Multikamera-Deep-Learning-Anwendungsfall, der in Abbildung 4-3 dargestellt ist.

Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (23) Texas-Instruments-AM6x-Entwicklung-Mehrfachkamera-Abb.- (24)

Leistungsanalyse

Das Setup mit vier Kameras unter Verwendung der V3Link-Karte und des AM62A SK wurde in verschiedenen Anwendungsszenarien getestet, darunter die direkte Anzeige auf einem Bildschirm, Streaming über Ethernet (vier UDP-Kanäle), Aufzeichnung auf 4 separaten files und mit Deep-Learning-Inferenz. In jedem Experiment haben wir die Bildrate und die Auslastung der CPU-Kerne überwacht, um die Fähigkeiten des gesamten Systems zu untersuchen.

Wie bereits in Abbildung 4-4 ​​gezeigt, verwendet die Deep-Learning-Pipeline das GStreamer-Plugin tiperfoverlay, um die CPU-Kernauslastung als Balkendiagramm am unteren Bildschirmrand anzuzeigen. Standardmäßig wird das Diagramm alle zwei Sekunden aktualisiert, um die Auslastung als Prozentwert anzuzeigen.tage. Neben dem tiperfoverlay GStreamer-Plugin ist das perf_stats-Tool eine zweite Möglichkeit, die Kernleistung direkt auf dem Terminal anzuzeigen, mit der Option zum Speichern in einem fileDieses Tool ist genauer als das tTiperfoverlay, da letzteres die ARMm-Kerne und den DDR zusätzlich belastet, um das Diagramm zu zeichnen und auf dem Bildschirm zu überlagern. Das Tool perf_stats wird hauptsächlich verwendet, um Ergebnisse zur Hardwareauslastung in allen in diesem Dokument gezeigten Testfällen zu sammeln. Zu den wichtigen Verarbeitungskernen und Beschleunigern, die in diesen Tests untersucht wurden, gehören die Hauptprozessoren (vier A53-Arm-Kerne mit 1.25 GHz), der Deep-Learning-Beschleuniger (C7x-MMA mit 850 MHz), der VPAC (ISP) mit VISS und Multiscalern (MSC0 und MSC1) sowie DDR-Operationen.

Tabelle 5-1 zeigt die Leistung und Ressourcenauslastung bei Verwendung von AM62A mit vier Kameras für drei Anwendungsfälle, einschließlich Streaming von vier Kameras auf ein Display, Streaming über Ethernet und Aufzeichnung auf vier separate files. In jedem Anwendungsfall werden zwei Tests implementiert: nur mit der Kamera und mit Deep-Learning-Inferenz. Außerdem zeigt die erste Zeile in Tabelle 5-1 die Hardwareauslastung, wenn nur das Betriebssystem ohne Benutzeranwendungen auf AM62A ausgeführt wurde. Dies wird als Vergleichsbasis für die Bewertung der Hardwareauslastung der anderen Testfälle verwendet. Wie in der Tabelle gezeigt, liefen die vier Kameras mit Deep Learning und Bildschirmanzeige jeweils mit 30 FPS, insgesamt also 120 FPS für die vier Kameras. Diese hohe Bildrate wird mit nur 86 % der vollen Kapazität des Deep-Learning-Beschleunigers (C7x-MMA) erreicht. Außerdem ist es wichtig zu beachten, dass der Deep-Learning-Beschleuniger in diesen Experimenten mit 850 MHz statt 1000 MHz getaktet war, was nur etwa 85 % seiner Maximalleistung entspricht.

Tabelle 5-1. Leistung (FPS) und Ressourcennutzung von AM62A bei Verwendung mit 4 IMX219-Kameras für Bildschirmanzeige, Ethernet-Stream, Aufzeichnung auf Files und Durchführen von Deep Learning Inferencing

Anwendung n Pipeline (Betrieb

)

Ausgabe FPS Durchschnittliche Pipeline s FPS

gesamt

MPUs A53s @ 1.25

GHz [%]

MCU R5 [%] DLA (C7x-MMA) @ 850

MHz [%]

VISS [%] MSC0 [%] MSC1 [%] DDR

Rd [MB/s]

DDR

Wr [MB/s]

DDR

Gesamt [MB/s]

Keine App Basislinie: Kein Betrieb NA NA NA 1.87 1 0 0 0 0 560 19 579
Kamera nur Strom zum Bildschirm Bildschirm 30 120 12 12 0 70 61 60 1015 757 1782
Streamen über Ethernet UPD: 4

Anschlüsse 1920×1080

30 120 23 6 0 70 0 0 2071 1390 3461
Aufzeichnen Zu files 4 files 1920×1080 30 120 25 3 0 70 0 0 2100 1403 3503
Nocken mit Deep Learning Deep Learning: Objekterkennung MobV1-coco Bildschirm 30 120 38 25 86 71 85 82 2926 1676 4602
Deep Learning: Objekterkennung MobV1-Coco und Stream over Ethernet UPD: 4

Anschlüsse 1920×1080

28 112 84 20 99 66 65 72 4157 2563 6720
Deep Learning: Objekterkennung MobV1-Coco und Aufzeichnung zu files 4 files 1920×1080 28 112 87 22 98 75 82 61 2024 2458 6482

Zusammenfassung
Dieser Anwendungsbericht beschreibt die Implementierung von Multikamera-Anwendungen auf der AM6x-Gerätefamilie. Ein Referenzdesign basierend auf dem V3Link Camera Solution Kit und dem AM62A SK EVM von Arducam wird im Bericht vorgestellt. Es umfasst mehrere Kameraanwendungen mit vier IMX219-Kameras, z. B. Streaming und Objekterkennung. Anwendern wird empfohlen, das V3Link Camera Solution Kit von Arducam zu erwerben und diese Beispiele zu replizieren.amples. Der Bericht bietet auch eine detaillierte Analyse der Leistung von AM62A bei Verwendung von vier Kameras in verschiedenen Konfigurationen, einschließlich der Anzeige auf einem Bildschirm, Streaming über Ethernet und Aufzeichnung auf files. Es zeigt auch die Fähigkeit von AM62A, Deep Learning-Inferenzen auf vier separaten Kamera-Streams parallel durchzuführen. Wenn Sie Fragen zur Ausführung dieser Beispiele habenamples, senden Sie eine Anfrage im TI E2E-Forum.

Verweise

  1. AM62A Starter Kit EVM-Kurzanleitung
  2. Kurzanleitung zur ArduCam V3Link-Kameralösung
  3. Edge AI SDK-Dokumentation für AM62A
  4. Edge AI Smart-Kameras mit energieeffizientem AM62A-Prozessor
  5. Kameraspiegelsysteme auf AM62A
  6. Fahrer- und Belegungsüberwachungssysteme auf AM62A
  7. Quad-Channel-Kameraanwendung für Surround View und CMS-Kamerasysteme
  8. AM62Ax Linux Academy zum Aktivieren des CIS-2-Sensors
  9. Edge AI ModelZoo
  10. Edge AI Studio
  11. Perf_stats-Tool

In diesem Anwendungshinweis erwähnte TI-Teile:

WICHTIGER HINWEIS UND HAFTUNGSAUSSCHLUSS

TI STELLT TECHNISCHE DATEN UND ZUVERLÄSSIGKEITSDATEN (EINSCHLIESSLICH DATENBLÄTTER), DESIGNRESSOURCEN (EINSCHLIESSLICH REFERENZDESIGNS), ANWENDUNGS- ODER SONSTIGE ENTWICKLUNGSHINWEISE BEREIT, WEB WERKZEUGE, SICHERHEITSINFORMATIONEN UND ANDERE RESSOURCEN „WIE BESEHEN“ UND MIT ALLEN FEHLERN UND LEHNT ALLE AUSDRÜCKLICHEN UND STILLSCHWEIGENDEN GEWÄHRLEISTUNGEN AUS, EINSCHLIESSLICH JEGLICHER STILLSCHWEIGENDEN GEWÄHRLEISTUNGEN DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK ODER NICHT RECHTLICH .

Diese Ressourcen sind für erfahrene Entwickler gedacht, die mit TI-Produkten arbeiten. Sie sind allein verantwortlich für

  1. die Auswahl der geeigneten TI-Produkte für Ihre Anwendung,
  2. Entwerfen, Validieren und Testen Ihrer Anwendung und
  3. Stellen Sie sicher, dass Ihre Anwendung die geltenden Standards und alle anderen Sicherheits-, Schutz-, behördlichen oder sonstigen Anforderungen erfüllt.

Diese Ressourcen können ohne vorherige Ankündigung geändert werden. TI gestattet Ihnen die Nutzung dieser Ressourcen ausschließlich für die Entwicklung einer Anwendung, die die in der Ressource beschriebenen TI-Produkte verwendet. Die anderweitige Vervielfältigung und Darstellung dieser Ressourcen ist untersagt. Es wird keine Lizenz für andere geistige Eigentumsrechte von TI oder Dritten gewährt. TI lehnt jegliche Verantwortung für Ansprüche, Schäden, Kosten, Verluste und Verbindlichkeiten ab, die sich aus Ihrer Nutzung dieser Ressourcen ergeben, und Sie stellen TI und seine Vertreter von allen Ansprüchen, Schäden, Kosten, Verlusten und Verbindlichkeiten frei, die sich aus Ihrer Nutzung dieser Ressourcen ergeben.

Die Produkte von TI unterliegen den Verkaufsbedingungen von TI oder anderen anwendbaren Bedingungen, die entweder auf ti.com oder in Verbindung mit solchen TI-Produkten bereitgestellt werden. Die Bereitstellung dieser Ressourcen durch TI erweitert oder ändert die anwendbaren Garantien oder Garantieausschlüsse von TI für TI-Produkte nicht.

TI erhebt Einspruch gegen alle von Ihnen vorgeschlagenen zusätzlichen oder anderen Bedingungen und lehnt diese ab.

WICHTIGER HINWEIS

  • Postanschrift: Texas Instruments, Postfach 655303, Dallas, Texas 75265
  • Urheberrecht © 2024, Texas Instruments Incorporated

Häufig gestellte Fragen

F: Kann ich mit der Gerätefamilie AM6x jeden Kameratyp verwenden?

Die AM6x-Familie unterstützt verschiedene Kameratypen, darunter auch solche mit und ohne integriertem ISP. Weitere Informationen zu den unterstützten Kameratypen finden Sie in den Spezifikationen.

: Was sind die Hauptunterschiede zwischen AM62A und AM62P bei der Bildverarbeitung?

Zu den wichtigsten Unterschieden gehören unterstützte Kameratypen, Kameraausgabedaten sowie das Vorhandensein von ISP HWA, Deep Learning HWA und 3D Graphics HWA. Einen detaillierten Vergleich finden Sie im Abschnitt „Spezifikationen“.

 

Dokumente / Ressourcen

Texas Instruments AM6x entwickelt mehrere Kameras [pdf] Benutzerhandbuch
AM62A, AM62P, AM6x Entwicklung mehrerer Kameras, AM6x, Entwicklung mehrerer Kameras, mehrere Kameras, Kamera

Verweise

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *