AI Reasoning Practice丨Multichannel Extreme Performance Object Detection Best Practice Design Decryption

Zusammenfassung: Die Best-Practice-Design-Entschlüsselung der Mehrkanal-Zielerkennung mit extremer Leistung basierend auf CANN.

Dieser Artikel wurde von der HUAWEI CLOUD-Community geteilt: „ Best Practices of CANN-Based AI Reasoning 丨 Multi-channel Extreme Performance Target Detection Application Design Decryption “, Autor: Shengteng CANN.

Im aktuellen Bereich der künstlichen Intelligenz sind die beliebtesten Modelle zweifellos verschiedene von ChatGPT repräsentierte „Emporkömmling“-Modelle, die so hoch sind, dass man sie nicht anfassen kann. Im täglichen Leben der Menschen stellt jedoch die „leistungsstarke“ Zielerkennung, die durch das Yolo-Modell dargestellt wird, den praktischsten Anwendungsbedarf dar. Sie wird jeden Tag auf unterschiedliche Weise implementiert und auf alle Aspekte unseres täglichen Lebens angewendet.

Die Objekterkennung stellt eine Schlüsseltechnologie im Bereich Computer Vision dar. Ihre Aufgabe besteht darin, alle interessierenden Objekte im Bild herauszufinden und deren Kategorien und Positionen zu bestimmen. Da künstliche Intelligenz auf subtile Weise in das Leben der Menschen eindringt, konkurrieren alle Lebensbereiche um die Erschließung von Markträumen durch die Einführung von Technologien wie der Zielerkennung, und es drängen auch verschiedene Anforderungen an künstliche Intelligenz zur Zielerkennung, wie zum Beispiel:

  • Im Transportbereich kann die Objekterkennung zur Erkennung von Fußgängern, Fahrzeugen, Verkehrszeichen und anderen Objekten auf der Straße eingesetzt werden, um die Fahrsicherheit und den Verkehrskomfort zu verbessern.
  • Im Bereich Sicherheit können mithilfe der Objekterkennung wichtige Merkmale, bestimmte Verhaltensweisen oder verdächtige Objekte erkannt werden, um Sicherheitsbedrohungen schnell zu erkennen und zu identifizieren.
  • Im medizinischen Bereich kann die Zielerkennung zur Identifizierung von Körperteilen, Läsionen, Elektrokardiogrammen, CT-Bildern usw. eingesetzt werden, um so die Diagnose schnell zu unterstützen.
  • Im Lebensbereich kann die Objekterkennung in Smart Shopping, Smart Home und anderen Szenarien eingesetzt werden, um den Lebenskomfort der Menschen zu verbessern.

Allerdings ist die Hürde für die Entwicklung von KI-Anwendungen hoch und der Zyklus lang. Der Aufwand für das Verständnis verschiedener KI-Software-Stacks ist hoch, die Integration von KI-Algorithmusmodellen und Geschäftsmodellen ist schwierig und auch die Qualifikationsanforderungen an Entwickler sind hoch. Es ist dringend erforderlich, den Status quo zu verbessern, um die Entwicklungseffizienz von KI-Argumentationsanwendungen zu verbessern und die Entwicklungsschwelle zu senken. Zu diesem Zweck haben die technischen Experten von Ascend CANN die Best Practices für Zielerkennungsanwendungen entworfen und entwickelt, die es Entwicklern ermöglichen, Zielerkennungsanwendungen schnell auf der Ascend-Plattform bereitzustellen und problemlos Dutzende oder sogar Hunderte von Erkennungsergebnissen zu erhalten. Schauen wir uns die Gestaltungsideen dieser Praxis genauer an.

Grundlegende Anwendungszerlegung

Wir beginnen mit einem grundlegenden Anwendungsszenario für die Zielerkennungsinferenz. Der Inferenzprozess umfasst normalerweise die folgenden Teile:

GPU-KI-Inferenz-Geschäftsprozess

  1. Der Dateneingang ist der von der Kamera erhaltene Videodatenstrom, im Allgemeinen im H.264-Format.
  2. Verwenden Sie dann die FFmpeg-Software, um den kontinuierlichen Videostream zu deframen und zu dekodieren.
  3. Der nächste Schritt besteht darin, das dekodierte Bild vorzuverarbeiten, wobei normalerweise OpenCV verwendet wird, um das Bild zu skalieren, um die für das Modell erforderlichen Bildspezifikationen zu erhalten.
  4. Im Link zur Modellinferenz können Benutzer aus vielen Methoden wählen. Die typische Methode ist die Verwendung von TensorRT für die Entwicklung von Inferenzanwendungen.
  5. Die Nachbearbeitung der Zielerkennung erfordert NMS-Berechnungen, Bildrahmen und andere Vorgänge.
  6. In der Datenausgabephase implementiert der Benutzer nach Bedarf eine Ergebnispräsentationsform.

Anpassung der Argumentationsfunktion

Um die oben vorgestellte Objekterkennungsanwendung auf die Ascend-Plattform zu migrieren, müssen Entwickler lediglich auf die Anpassung des „Begründungs“-Links achten, der die folgenden zwei Schritte umfasst:

  1. Konvertieren Sie die Inferenzmodelldatei (Onnx-Modell oder PB-Modell) über das ATC-Tool in eine Offline-OM-Datei, die exklusiv für die Ascend-Plattform verfügbar ist.
  2. Verwenden Sie die AscendCL-Sprache, um die Logik des Modellladens und der Modellausführung zu entwickeln.

CANN-basierter AI-Argumentation-Geschäftsprozess

Nach Abschluss der beiden oben genannten Schritte wurden die Funktionen der Inferenzanwendung auf die Ascend-Plattform migriert. Wenn zu diesem Zeitpunkt die gesamte Argumentationsleistung nicht den idealen Erwartungen entspricht, muss in die Phase der Leistungsoptimierung und -verbesserung eingetreten werden.

Methode 1 zur Leistungsverbesserung: Ermöglichen Sie effiziente Kodierungs- und Dekodierungsfunktionen der DVPP-Hardware

DVPP (Digital Vision Pre-Processing, digitale Vision-Vorverarbeitung) ist die integrierte Bildverarbeitungseinheit des Ascend AI-Prozessors, die über die AscendCL-Mediendatenverarbeitungsschnittstelle leistungsstarke Hardwarebeschleunigungsfunktionen für die Medienverarbeitung bietet, die hauptsächlich die folgenden Funktionen umfassen:

  • VPC (Vision Preprocessing Core): Verarbeiten Sie Bilder in YUV, RGB und anderen Formaten, einschließlich Skalierung, Mattierung, Farbraumkonvertierung usw.
  • JPEGD (JPEG Decoder): JPEG-Komprimierungsformat → Bilddekodierung im YUV-Format.
  • JPEGE (JPEG Encoder): Bildkodierung im YUV-Format→JPEG-Komprimierungsformat.
  • VDEC (Video Decoder): H264/H265-Format → Videostream-Dekodierung im YUV/RGB-Format.
  • VENC (Video-Encoder): YUV420SP-Format → Videostream-Kodierung im H264/H265-Format.
  • PNGD (PNG-Decoder): Bilddekodierung im PNG-Format→RGB-Format.

DVPP-Position in der Logikarchitektur des Ascend 310 AI-Prozessors

Entwickler können die Hardware-Dekodierung und -Verarbeitung von Bildern über DVPP durchführen, um die Effizienz der Bildverarbeitung zu verbessern. Darüber hinaus handelt es sich bei DVPP und AI Core, der Recheneinheit für die Ausführung von Argumenten, um völlig unabhängige Hardwareeinheiten, sodass Sie sich nach der Verwendung von DVPP keine Gedanken über die Auswirkungen auf die Leistung der Ausführung von Argumenten machen müssen.

AI-Argumentation-Geschäftsprozess basierend auf CANN – Verwendung von DVPP zur Datenvorverarbeitung

Leistungsverbesserungsmethode 2: Erhöhen Sie die Datenparallelität vor und nach der Argumentation, sodass die Argumentationsschritte kontinuierlich ausgeführt werden können

Die Ascend-Plattform verwendet eine heterogene Computerarchitektur. Um die Superleistung des AI Core-Rechenkerns voll auszunutzen, muss sichergestellt werden, dass die für AI Core Computing erforderlichen Daten kontinuierlich und unterbrechungsfrei bereitgestellt werden können Zeitausgabe ohne Wartezeit. Um diese Fähigkeit zu realisieren, kann die parallele Pipeline des Argumentationsmoduls durch den Warteschlangenmechanismus zwischen Datenvorverarbeitung → Modellargumentation, Modellargumentation → Datennachverarbeitungsmodulen erhöht werden.

KI-Argumentation-Geschäftsprozess basierend auf CANN – Erhöhen Sie die parallele Pipeline der Argumentation durch die Warteschlange

In ähnlicher Weise können Warteschlangen auch zwischen der Aufteilung von FFmpeg-Videobildern und der DVPP-Verarbeitung verwendet werden, um die Parallelität weiter zu erhöhen. Es ist jedoch zu beachten, dass die Warteschlangendaten auf der Inferenzseite Hardwarespeicher verbrauchen und daher angemessen eingestellt werden müssen.

Leistungsverbesserungsmethode 3: Multithread-Parallelität, kontinuierliche Veröffentlichung der AI Core-Leistung

Multithreading ist ein wichtiges Mittel zur besseren Ausnutzung von Hardwareressourcen. Mit der Unterstützung von Multithreading können Videoeingaben von mehreren Kanälen und unterschiedlichen Quellen realisiert werden; für Szenarien mit mehreren Karten im Server wird auch die parallele Ausführung unterstützt mehrere Karten, wodurch die Leistung der Ascend-Software und -Hardware voll ausgeschöpft wird. Leistung.

CANN-basierter AI-Argumentation-Geschäftsprozess – Multithread-Parallelität

Basierend auf den Best Practices der Objekterkennung können Entwickler vorhandene KI-Argumentationsanwendungen problemlos auf die Ascend-Plattform migrieren und problemlos eine hohe Leistung erzielen. Entwickler können diese Vorgehensweise auch nutzen, um schnell mit der KI-Entwicklung zu beginnen und mit Inferenzanwendungen auf der Ascend-Plattform zu experimentieren. CANN wird sich auch in Zukunft darauf konzentrieren, die Benutzerfreundlichkeit der Anwendungsentwicklung zu verbessern und weiterhin den Anforderungen der Entwickler gerecht zu werden.

Klicken Sie auf „Link“ , um den Best-Practice-Quellcode für die leistungsstarke Mehrkanal-Objekterkennung zu erhalten.

 

Klicken Sie hier, um zu folgen und zum ersten Mal mehr über die neuen Technologien von Huawei Cloud zu erfahren~

Absolventen der Nationalen Volksuniversität haben die Informationen aller Schüler der Schule gestohlen, um eine Website zur Schönheitsbewertung zu erstellen, und wurden strafrechtlich festgenommen. Die neue Windows-Version von QQ basierend auf der NT-Architektur wird offiziell veröffentlicht. Die Vereinigten Staaten werden die Verwendung durch China einschränken von Amazon, Microsoft und anderen Cloud-Diensten, die Trainings-KI-Modelle bereitstellen. Open-Source-Projekte haben angekündigt, die Funktionsentwicklung zu stoppen . LeaferJS , die bestbezahlte technische Position im Jahr 2023, wurde veröffentlicht: Visual Studio Code 1.80, eine Open-Source- und leistungsstarke 2D-Grafikbibliothek , unterstützt Terminal-Image-Funktionen . Die Anzahl der Threads-Registrierungen hat 30 Millionen überschritten. „Änderung“ Deepin übernimmt Asahi Linux, um sich im Juli an das Apple M1-Datenbankranking anzupassen: Oracle steigt und öffnet die Punktzahl erneut
{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/u/4526289/blog/10086983
Empfohlen
Rangfolge