Digitale 3D-Gesichtsrekonstruktionslösung aktiviert durch
Skalierbare Intel® Xeon® Prozessoren der 3. Generation

Auf einen Blick

  • Intel hilft Tencent, seine PRN-Netzwerkbasierte digitale 3D-Gesichtsrekonstruktionslösung zu optimieren und zu verbessern und seine Einführung in verschiedene Spielprodukte zu fördern.

  • Technische Praktiken, die Tencent und Intel durchführten, zeigen, dass eine Quantisierung mit niedriger Genauigkeit eine effektive Art ist, um Inferenz und KI-Anwendungsleistung zu beschleunigen.

BUILT IN - ARTICLE INTRO SECOND COMPONENT

Die schnelle Entwicklung des Deep Learning hat mehr Aufmerksamkeit auf face-focused Anwendungen in der Computervision- und Mustererkennungs-Domäne auf sich gezogen. Infolgedessen werden digitale 3D-Gesichtsrekonstruktionstechniken, die 2D-Bilder verfeinern und zum Leben erwecken, zunehmend in Online-Spielen, Bildung und E-Commerce Bereichen gefunden.

Tencent Games arbeitet mit Intel zusammen, um eine neue digitale 3D-Gesichts-Rekonstruktionslösung zu erstellen. Erstanwender verwenden diese Lösung in Spiele-Charakter-Generation und Charakter-Modell-Wechsel, wodurch Gamer ein reibungsloseres Gamingerlebnis erhalten. Um die Leistung und Funktionen für diese Lösung zu bieten, verwendet Tencent Games die in die neuen skalierbaren Intel® Xeon® Prozessoren der 3. Generation (Codename Ice Lake) integrierte KI-Beschleunigung durch Intel® Deep Learning Boost (Intel® DL Boost) und das Intel® Low Precision Optimization Tool (Intel® LPOT), Teil Intel® oneAPI AI Analytics Toolkit. Gemeinsam verbessern diese Technologien deutlich die Inferenz-Effizienz und sorgen gleichzeitig für Genauigkeit und Präzision. Durch die Quantisierung des Position Map Regression Network (PRN) von FP32-basierter Inferenz bis hin zu INT8 kann Tencent die Inferenz-Effizienz verbessern und eine praktische Lösung für die digitale 3D-Gesichtsrekonstruktion bieten.

Dieser Blog stellt die Erforschung des Tencent Games Teams von PRN netzwerkbasierter digitaler 3D-Gesichtsrekonstruktion vor. Wir werden auch verschiedene Leistungsverbesserungen diskutieren, die mit den neuen skalierbaren Intel® Xeon® Prozessoren der 3. Generation und von Intel optimierter Software möglich gemacht wurden.

PRN-Netzwerkbasierte digitale 3D-Gesichtsrekonstruktionslösung

Da KI-Technik sich weiterentwickelt und Anwendungsfälle expandieren, gewinnt die digitale 3D-Gesichtsrekonstruktion mehr Aufmerksamkeit. Im Gegensatz zu 2D-Gesichtsbildern erfordert die digitale 3D-Gesichtsrekonstruktion nicht nur Farb- und Texturinformationen, sondern auch wichtige tiefe Informationen, um gekrümmte Oberflächen zu erstellen. Derzeit nutzen KI-Wissenschaftler eine Reihe von Deep-Learning-Methoden, wie z. B. das 3D-Morphable-Modell (3DMM) und das Volumetric Representation Network (VRN), um die 3D-Rekonstruktion von 2D-Gesichtsbildern zu erhalten.

Die Voraussetzung für vordefinierte einfache digitale 3D-Gesichtsmodelle oder Vorlage und kompliziertes Regressionsnetzwerk verursacht jedoch Komplexität mit hoher Rechenleistung und schlechte Echtzeit-Verarbeitung. Die zentrale Idee des PRN-Netzwerks besteht darin, alle 3D-Koordinaten von Face Point Clouds über eine UV-Positionsplan zu erfassen – indem semantische Informationen jedes UV-Polygons erhalten werden. Der zweite Schritt besteht darin, ein Encoder-Decoder konvolutionales neuronales Netzwerk (CNN) zu entwickeln, um von den 2D-Gesichtsbildern zu ihren entsprechenden Positionen im UV-Polygon zu projektieren. Das PRN-Netzwerk setzt nicht auf das vordefinierte grundlegende 3D-Gesichtsmodell oder die Vorlage. Vielmehr kann sie das gesamte Gesicht mit nur den semantischen Informationen des 2D-Bildes rekonstruieren; Als eine leichte Erweiterung des CNN-Netzwerks arbeitet es besser als andere Deep-Learning-Netzwerke und hat erhebliche Aufmerksamkeit der Branche auf sich gezogen. 

Abbildung 1. PRN-Netzwerk nutzt UV-Polygon-Projektion1

Tencent Games baut eine 3D-Gesichts-Rekonstruktionslösung auf Basis des PRN-Netzwerks auf, um KI-Funktionen in ihre Produktlinien zu integrieren. Bei der Entwicklung von Spielen oder anderen Produkten mit den Anforderungen an die 3D-Charaktermodellierung können KI-Techniker die 3D-Gesichts-Rekonstruktionstechnik nutzen, um 2D-Zahlen in Entwürfe von 3D-Modellen nach Batches zu konvertieren. Sie können die Details anpassen, Modellierungszeit sparen und die Entwicklungseffizienz verbessern. Bei einigen Spielen können Spieler ihr Gesicht hochladen und die Funktion „intelligente Gesichtspflege“ nutzen, um ein individuelleres 3D-Profil, mit seinen eigenen Gesichtsmerkmalen zu erstellen. Diese Fähigkeit, die in Abbildung 2 angezeigt wird, verbessert das Gamingerlebnis des Benutzers deutlich. 

Abbildung 2. Spiele-Charakter-Generation nutzt die digitale 3D-Gesichts-Rekonstruktionstechnik

Tencent Games erhöht die digitale 3D-Gesichtsrekonstruktion über Low-Precision Inference

Während das PRN-Netzwerk die leistungsstarke digitale 3D-Gesichtsrekonstruktion ermöglicht, hofft Tencent Games darauf, mehr Optimierungslösungen zu erstellen, die die Implementierungseffizienz und das Benutzererlebnis weiter verbessern.

Als erweitertes Modell des CNN-Netzwerks, verwendet ein typisches PRN-Netzwerk eine Encoder-Decoder Architektur, mit Gesichtsbildern als Eingabe und dem projizierten Positionsplan als Ausgabe. Die Encoder-Struktur besteht aus 10 kaskadierten Restblöcken und die Decoder-Struktur aus 17 Dekonvolution-Schichten. Die Aktivierungsebene wird von der ReLU-Funktion und der Ausgabeebene der Sigmoid-Funktion betrieben. Konvolutions- und Dekonvolutions-Computing in hohem Umfang verbrauchen massive Rechenleistung während des Schulens und Inferenz.

In der Vergangenheit wurden Deep Learning-Schulungen und -Inferenz mit dem FP32-Datensatz durchgeführt, das sehr anspruchsvoll auf Prozessorleistung, Arbeitsspeicher und sogar Stromverbrauch ist. Aktuelle Studien haben gezeigt, dass die Verwendung von Datensätzen mit niedriger Genauigkeit wie INT8 die Effizienz von Prozessoren und Speicher verbessern können, ohne die Ergebnisse von Deep Learning-Szenen deutlich zu beeinträchtigen, wie z. B. die Gesichtsbildverarbeitung. 2Datensätze mit niedriger Genauigkeit können auch dabei helfen, die Rechenleistung einzusparen und die Implementierung-Effizienz für häufig verwendete Deep Learning-Rechenaufgaben wie Konvolutions- und Dekonvolutions-Computing zu verbessern.

Abbildung 3 zeigt, dass Modelle, die mit FP32-Datensatz trainiert werden, durch Quantisierung in INT8 konvertiert werden und mit anschließenden Inferenzaufgaben fortgeführt werden können. Eine solche Quantisierungslösung kann die Genauigkeit bewahren und gleichzeitig hochwertige Datensätze trainieren und die Aufgabe während der Implementierung von Inferenz-Workloads bei höherer Taktfrequenz beschleunigen. Diese Funktionen verbessern die Gesamtleistung der Lösung deutlich. 

Abbildung 3: INT8-Quantisierung von Schulungsmodellen

Skalierbare Intel® Xeon® Prozessoren der 3. Generation und Quantisierungs-Tool für die Gesamtlösungsoptimierung

Zur besseren Arbeitseffizienz hat Tencent Games die neuen skalierbaren Intel® Xeon® Prozessoren der 3. Generation als Infrastruktur der Lösung angenommen. Die Plattform bietet mehr Kerne, weitere optimierte Architektur, höhere Speicherkapazität und verbesserte Sicherheitstechniken, um die Benutzer mit stärkerer Rechenleistung und Intel® DL Boost zur KI-Beschleuningung zu unterstützen.

Als einzigartiger KI-Beschleuniger entwickelt von Intel, basiert Intel® DL Boost auf Vector Neural Network Instruction (VNNI). Sie bietet eine Vielzahl von Deep Learning orientierten Funktionen, um Benutzern dabei zu helfen, komplexe KI-Workloads auf Intel® Architektur basierten Plattformen durchzuführen. So kann Intel® DL Boost beispielsweise mehrere Anweisungen in eine Anweisung integrieren, um die Optimierung von Mehrfach-Computing unter einem 8- oder 16-Bit-Datensatz zu unterstützen. Diese Fähigkeit ist für Lösungen notwendig, die massives Matrix-Multiplikations-Computing durchführen, wie z. B. das PRN-Netzwerk. Praxisbeispiele haben gezeigt, dass Entwickler, die folgenden Vorteile erhalten, indem sie den VNN-Befehlssatz nutzen, die von Intel® DL Boost bereitgestellt werden:

  • Verbesserte Rechengeschwindigkeit: Einige Rechenaufgaben können eine theoretische 4-fache Spitzen-Verbesserung der Rechengeschwindigkeit erzielen, mit dem neuen Befehlssatz unter INT8-Datensatz im Vergleich zu FP323;
  • Reduzierte Arbeitsspeicherzugriff-Workloads: Der neue Befehlssatz hilft dabei, den Größen- und Bandbreiten-Schwellenwert des Modellgewichts für den Speicherzugriff während der INT8-Inferenz zu reduzieren;
  • Verbesserte Inferenz-Effizienz: Durch die Integration mit Prozessor-Hardwarefunktionen, hilft Intel® DL Boost-Technik dabei, die Effizienz von INT8-Multiplikationen zu verbessern. Gleichzeitig unterstützen Intel® Optimierungen für TensorFlow und Apache MXNet auch INT8, um die Inferenz-Effizienz zu steigern.

Tencent Games implementiert die INT8-Quantisierung der Lösung mit Intel® LPOT und Intel® Optimierung für TensorFlow, beide als Teil des Intel® oneAPI AI Analytics Toolkit als einfaches, einfach zu bedienendes interoperables Paket. Das Toolkit umfasst optimierte Python-Frameworks und Bibliotheken, die mit oneAPI entwickelt wurden, um die Leistung von End-to-End-Datenwissenschaft und Machine-Learning-Workflows bei Intel Architekturen zu maximieren.

Intel® LPOT, eine Open-Source-Python-Bibliothek, kann nach einer gleichen Genauigkeits- und Präzisionsebene nach der Quantisierung aufrechterhalten und gleichzeitig die Bereitstellung von Inferenzlösungen mit niedriger Genauigkeit auf beliebten Deep Learning-Architekturen. Sie bietet diese Funktionen durch eine Reihe integrierter Strategien für automatische Anpassungen. Abbildung 4 zeigt die Grundstruktur von Intel® LPOT.  

Abbildung 4: Grundstruktur von Intel® LPOT

Intel® LPOT erleichtert die Anpassung an beliebte Deep Learning-Architekturen über die Framework-Adaptations-Schicht, was die Aufgaben von Tencent Games zur Architektur-Adaptation und -Optimierung reduziert. Intel® LPOT vereinfacht die automatische Abstimmung von Quantisierungsstrategien des PRN-Netzwerkmodells, unter Voraussetzung der tatsächlichen Anforderungen während des digitalen 3D-Gesichts-Rekonstruktionsprozesses mit seiner automatischen Abstimmungsvorrichtung des Kerns. Solche Abstimmungsstrategien können von den integrierten erweiterbaren Abstimmungsstrategien kommen oder vom Benutzer hinsichtlich der Leistung, Modellgröße und dem Einkapselungsverfahren eingestellt werden. Intel® LPOT kann auch die Architekturoptimierung über integrierte APIs, wie z. B. KL-Divergenzkalibrierung für TensorFlow und MXNet4 durchführen.

Validierungsergebnisse

Tencent Games und Intel haben mehrdimensionale Validierungstests auf der digitalen 3D-Gesichts-Rekonstruktionslösung durchgeführt, um die Leistungsverbesserung zu validieren, die von skalierbaren Intel® Xeon® Prozessoren der 3. Generation und Intel® LPOT-basierten INT8-Quantisierung bereitgestellt wird. Der erste Test verglich die Leistung der skalierbaren Intel® Xeon® Prozessoren der 2. Generation (Cascade Lake) ohne die INT8-Quantisierung. Wie Abbildung 5 zeigt, sah das PRN-Netzwerkmodell, das auf skalierbaren Intel® Xeon® Prozessoren der 3. Generation (Testkonfiguration) bereitgestellt wurde, eine 53-prozentige Verbesserung der Inferenz-Geschwindigkeit5.

Abbildung 5: Verbesserung in der Inferenz-Leistung, die durch skalierbare Intel® Xeon® Prozessoren der 3. Generation ohne INT8-Quantisierung aktiviert wurde (normalisierter Datenvergleich)

Abbildung 6 zeigt die INT8-Quantisierungsleistung zur Inferenz mit Intel® LPOT auf skalierbaren Intel® Xeon® Prozessoren der 3. Generation. Die Testgruppe 2-mit INT8-Quantisierung sah eine 2,76-fache Geschwindigkeitsverbesserung im Vergleich zur Inferenz auf skalierbaren Intel® Xeon® Prozessoren der 3. Generation ohne INT8-Quantisierung (Testkonfiguration 1). Testgruppe 2 zeigte auch eine 4,23-fache Verbesserung der Gesamtinferenzleistung im Vergleich zur Inferenz auf der Plattform der vorherigen Generation ohne INT8-Quantisierung (Ausgangskonfiguration)6.

Abbildung 6: Verbesserung der Inferenzleistung aktiviert durch skalierbare Intel® Xeon® Prozessoren der 3. Generation mit INT8-Quantisierung (normierter Datenvergleich)

Dieses Ergebnis wird expliziter mit Spieleentwicklern validiert. Laut internen Daten von Tencent Games benötigte die digitale 3D-Gesichtsrekonstruktion nach zehn Millisekunden vor und nur 10–20 Millisekunden nach der Migration auf die neue Plattform7. Diese Beschleunigungen führten zu erheblichen Einsparungen in der Modellierungszeit und verbessern gleichzeitig die Entwicklungseffizienz für die Spieleentwicklung mit massiven Charakter-Modellierungsaufgaben.

Das Benchmarking-Team führte auch Validierungstests durch, um zu sehen, ob die Lösung ein hohes Maß an Präzision erhalten kann und gleichzeitig die Effizienzverbesserung nach der INT8-Quantisierung zu gewährleisten. Die Ergebnisse zeigen, dass die INT8-Quantisierung keine erhebliche Auswirkung auf die Genauigkeit und Präzision haben wird, egal ob auf den skalierbaren Intel® Xeon® Prozessoren der 3. Generation oder der Plattform der neuesten Generation. Nehmen Sie beispielsweise die Genauigkeit — den Genauigkeitsverlust, der durch die Quantisierung verursacht wurde, betrug nur 0,00018.

Blick in die Zukunft

Die technischen Praktiken, die Tencent Games und Intel durchgeführt haben, zeigen, dass eine Quantisierung mit niedriger Genauigkeit eine effektive Methode ist, um die Inferenz zu beschleunigen und die KI-Anwendungsleistung zu verbessern. Die skalierbaren Intel® Xeon® Prozessoren der 3. Generation mit integriertem Intel® DL Boost bieten hervorragende Rechenleistung und KI-Beschleunigung, wodurch das Niveau der Genauigkeit und Präzision aufrechterhalten wird und gleichzeitig die digitale 3D-Gesichtsrekonstruktion erhöht werden kann.

Basierend auf dieser erfolgreichen Exploration hilft Intel Tencent Games, die digitale 3D-Gesichtsrekonstruktionslösung weiter zu optimieren und zu verbessern und seine Einführung in verschiedene Spieleprodukte zu fördern. Tencent Games und Intel planen die starke Rechenleistung und KI-Beschleunigungskapazität der Intel® Architektur basierten Produkte zu nutzen, um die Effizienz von KI-Anwendungen für eine größere Einführung in zusätzlichen Szenarien zu verbessern. 

Hinweis und Haftungsausschluss

1 Zugehörige Abbildungen und Einführung in das PRN-Netzwerk zitiert von: Yao Feng, Fan Wu, Xiaohu Shao, Yanfeng Wang, Xi Zhou, Joint 3D-Face Reconstruction und Dense Alignment mit Position Map Regression Network, https://arxiv.org/abs/1803.07835

2 Weitere Informationen finden Sie unter: https://www.intel.com/content/www/us/en/artificial-intelligence/posts/lowering-numerical-precision-increase-deep-learning-performance.html

3 Daten werden zitiert von: https://www.intel.com/content/www/us/en/artificial-intelligence/posts/intel-low-precision-optimization-tool.html

4 Weitere Informationen zu Intel® LPOT finden Sie unter: https://www.intel.com/content/www/us/en/artificial-intelligence/posts/intel-low-precision-optimization-tool.html

5.6.8 Testkonfiguration: Getested von Intel, Stand 19.3.2021 Baseline-Konfiguration: Prozessor: 2S Intel® Xeon® Platinum 82XX Prozessor (Cascade Lake), 24-core/48-thread, TurboBoost on, Hyper-Threading on; Arbeitsspeicher: 12*16 GB DDR4 2933; Datenspeicher: Intel® SSD *1; NIC: Intel® Ethernet Netzwerkadapter X722*1; BIOS: SE5C620.86B.0D.01.0438.032620191658(ucode:0x5003003);OS: CentOS Linux 8.3; Kernel: 4.18.0-240.1.1.el8_3.x86_64; Netzwerkmodell: PRN-Netzwerk; Datensatz: Dummy und 300W_LP,12 Instanzen/2 Sockel; Deep Learning-Framework: Intel® Optimierungen für TensorFlow 2.4.0; OneDNN:1.6.4; LPOT:1.1; Modelldatemformat: FP32; Testkonfiguration 1: Prozessor: 2S Intell® Xeon® Platinum 83XX Prozessor (Ice Lake), 36-Kern/72-Thread, TurboBoost on, Hyper-Threading on; Arbeitsspeicher: 16*16 GB DDR4 3200; Datenspeicher: Intell® SSD *1; NIC: Intel® Ethernet Controller X550T *1; BIOS: SE5C6200.86B.3020.P19.2103170131 (ucode: 0x8d05a260);OS: CentOS Linux 8.3; Kernel: 4.18.0-240.1.1.el8_3.x86_64; Netzwerkmodell: PRN-Netzwerk; Datensatz: Dummy und 300W_LP,18 Instanzen/2 Sockel;Deep Learning-Framework: Intel® Optimierungen für TensorFlow 2.4.0; OneDNN:1.6.4; LPOT:1.1; Modelldatenformat: FP32; Testkonfiguration 2: Prozessor: 2S Intel® Xeon® Platinum 83XX Prozessor (Ice Lake), 36-Kern /72-Thread, TurboBoost on, Hyper-Threading on; Arbeitsspeicher: 16*16 GB DDR4 3200; Datenspeicher: Intel® SSD *1; NIC: Intel® Ethernet Controller X550T *1; BIOS: SE5C6200.86B.3020.P19.2103170131 (ucode: 0x8d05a260);OS: CentOS Linux 8.3; Kernel: 4.18.0-240.1.1.el8_3.x86_64; Netzwerkmodell: PRN-Netzwerk; Datensatz: Dummy und 300W_LP,18 Instanzen/2 Sockel;Deep Learning-Framework: Intel® Optimierungen für TensorFlow 2.4.0; OneDNN:1.6.4; LPOT:1.1; Modelldatenformat: INT8.

7 Datenquelle: Tencent Games interne Statistik. Für weitere Informationen kontaktieren Sie bitte Tencent Games: https://game.qq.com

 

Die Leistung variiert je nach Verwendung, Konfiguration und anderen Faktoren. Erfahren Sie mehr unter www.Intel.com/PerformanceIndex​.  
Die Leistungsergebnisse beruhen auf Tests mit Stand der angegebenen Konfiguration und spiegelt möglicherweise nicht alle öffentlich erhältlichen Updates wider. Weitere Konfigurationsdetails siehe Backup. Kein Produkt und keine Komponente bieten absolute Sicherheit. 
Ihre Kosten und Ergebnisse können variieren. 
Für die Funktion bestimmter Technik von Intel kann entsprechend konfigurierte Hardware, Software oder die Aktivierung von Diensten erforderlich sein.
Intel hat keinen Einfluss auf und keine Aufsicht über die Daten Dritter. Sie sollten andere Quellen heranziehen, um die Genauigkeit zu beurteilen.
© Intel Corporation. Intel, das Intel Logo und andere Intel Markenbezeichnungen sind Marken der Intel Corporation oder ihrer Tochtergesellschaften. Andere Marken oder Produktnamen sind Eigentum der jeweiligen Inhaber.