Digital synthesis of R-CNN elements for automatic blurring of licence plates and faces for the European GDPR 2016/679 compliance
Resumo
Resumo: Em 25 de maio de 2018 - O Regulamento Geral de Proteção de Dados (EU) 2016/679 foi implementado a fim de assegurar o processo de tratamento dos dados dos cidadãos da EU, removendo a divulgação não autorizada de dados pessoais sem o consentimento do referido indivíduo para uso geral. Tecnologias modernas de visão computacional podem desfocar com sucesso as imagens que expõem faces ou placas de veículos usando Deep Learning Convolutional Neural Networks (DLCNNs) através de GPUs. Entretanto, devido à natureza genérica do processador GPU, o roteamento digital não é otimizado para processar eficientemente usos específicos da aplicação, tais como o algoritmo CNN. O objetivo desta pesquisa é criar um circuito integrado digital usando uma Field Programmable Gate Array (FPGA) implementando funções estratégicas de partes sintetizáveis dos algoritmos You Only Look Once (YOLO) v4, OpenPose, e PoseNet. É implementada a otimização de consumo de recursos de Convolutional Neural Networks (CNNs) já existentes para GPUs usando a estrutura de FPGAs. As comparações são realizadas considerando taxa de quadros, latência e consumo de energia para os seguintes dispositivos de processamento: a Unidade Central de Processamento (CPU) Intel® Core™ i7-10750H, GeForce® Giga Texel Shader eXtreme (GTX) 1660 Ti, e GeForce® Ray Tracing Texel eXtreme (RTX) 2080 Graphics Processing Unit (GPU) e uma FPGA ZCU104-XCZU7EV-2FFVC1156 MPSoC. Os diferentes modelos de redes neurais são implementados desde flutuantes até um ponto fixo nas plataformas citadas. As CNNs de detecção de objetos são avaliadas utilizando a métrica de precisão média (mAP). Algoritmos de keypoint detection são avaliados usando-se a similaridade de pontos-chave de objeto (OKS). Foi desenvolvido um algoritmo de poda de rede que pode, com uma taxa de compressão de 50%, melhorar a taxa de quadros do algoritmo YOLO V4 de 4 FPS (CPU) e 45 FPS (GPU) para 179 FPS na FPGA enquanto reduz o consumo de energia em 50,8% (1,192 mJ/Frame) em comparação com a CPU testada (2,423 mJ/Frame) e uma média de 32,4% (1,763 mJ/Frame) em comparação com a GPU com uma ligeira perda de precisão. Usando as métricas acima mencionadas e precisão normalizada, a PoseNet obteve uma performance média de 300 FPS, contra 37 FPS na CPU e 128 FPS na GPU, obtendo respectivamente 61,1% e 51,9% (0,429 mJ/Frame) de redução do consumo de energia relacionado às implementações da CPU (1,104 mJ/Frame) e GPU (0,872 mJ/Frame), respectivamente. O trabalho desenvolvido prova que a implementação das CNNs testadas nos dispositivos FPGA através do projeto de um circuito lógico personalizado pode aumentar significativamente o desempenho em termos de ocupação de superfície, velocidade e consumo de energia; e reduzir os custos no desenvolvimento de aplicações. Abstract: On May 25th, 2018 - The General Data Protection Regulation (EU) 2016/679 was implemented in order to secure the handling process of EU citizens' data by removing unauthorized disclosure of personal data without the referred individual's consent for general use. Modern computer vision technology can successfully blur images exposing faces or vehicle plates using deep learning convolutional neural networks (DLCNNs) via Graphics Processing Units (GPUs). However, due to the generic nature of the GPU processor, the digital routing is not optimized to efficiently process-specific application uses, such as the CNN algorithm. The goal of this research is to create a digital integrated circuit using a Field-programmable gate array (FPGA) implementing strategic functions of synthesizable parts of the You Only Look Once (YOLO) v4, OpenPose, and PoseNet algorithms. Optimization of the already extant GPU implemented Convolutional Neural Networks (CNNs) in terms of resource consumption using the FPGA device structure is implemented. Comparisons are carried out considering frame rate, latency, and energy consumption, for the following processing devices: the Intel® Core™ i7-10750H Processor Central Processing Unit (CPU), GeForce® Giga Texel Shader eXtreme (GTX) 1660 Ti, and GeForce® Ray Tracing Texel eXtreme (RTX) 2080 Graphics Processing Units (GPUs) and a ZCU104-XCZU7EV-2FFVC1156 MPSoC FPGA. The different neural network models are implemented from floating to a fixed point onto the cited platforms. Object detection CNNs are evaluated using the mean Average Precision (mAP) metric. Pose algorithms are evaluated using Object Keypoint Similarity (OKS). A network pruning algorithm has been developed that can, with a 50% compression rate, improve the frame rate of the YOLO V4 algorithm from 4 FPS (CPU) and 45 FPS (GPU) to 179 FPS on the FPGA while reducing the energy consumption by 50.8% (1.192 mJ/Frame) compared to the tested CPU (2.423 mJ/Frame) and a 32.4% (1.763 mJ/Frame) means compared to the GPU with a slight accuracy loss. Using the aforementioned metrics and normalized accuracy, PoseNet has obtained a mean performance of 300 FPS, against 37 FPS on the CPU and 128 FPS on the GPU, and obtaining respectively 61.1% and 51.9% (0.429 mJ/Frame) energy consumption reductions related to the CPU (1.104 mJ/Frame) and GPU (0.872 mJ/Frame) implementations, respectively. The developed work proves that implementing the tested CNNs on FPGA devices by designing a customized logic circuit can significantly increase performance in terms of surface occupation, speed, and energy consumption; and reduce overall costs in project development. Abstrakt: Am 25. Mai 2018 wurde die Allgemeine Datenschutzverordnung (EU) 2016/679 eingeführt, um den Umgang mit den Daten von EU-Bürgern zu sichern, indem die unbefugte Weitergabe personenbezogener Daten ohne die Zustimmung der betreffenden Person für die allgemeine Verwendung verhindert wird. Moderne Computer-Vision- Technologien können mit Hilfe von Deep Learning Convolutional Neural Networks (DLCNNs) über Graphics Processing Units (GPUs) erfolgreich Bilder unscharf machen, auf denen Gesichter oder Fahrzeugkennzeichen zu erkennen sind. Aufgrund des generischen Charakters des GPU-Prozessors ist das digitale Routing jedoch nicht für die effiziente Verarbeitung spezifischer Anwendungen, wie z. B. des CNN-Algorithmus, optimiert. Das Ziel dieser Forschungsarbeit ist es, eine digitale integrierte Schaltung mit Hilfe eines Field-programmable Gate Array (FPGA) zu entwickeln, die strategische Funktionen der synthetisierbaren Teile der Algorithmen You Only Look Once (YOLO) v4, OpenPose und PoseNet implementiert. Es wird eine Optimierung der bereits existierenden GPU-implementierten Convolutional Neural Networks (CNNs) in Bezug auf den Ressourcenverbrauch unter Verwendung der FPGA-Bausteinstruktur durchgeführt. Es werden Vergleiche hinsichtlich der Bildrate, der Latenz und des Energieverbrauchs für die folgenden Verarbeitungsgeräte durchgeführt: die Intel® Core™ i7-10750H Prozessor Central Processing Unit (CPU), GeForce® Giga Texel Shader eXtreme (GTX) 1660 Ti und GeForce® Ray Tracing Texel eXtreme (RTX) 2080 Grafikverarbeitungseinheiten (GPUs) und ein ZCU104-XCZU7EV-2FFVC1156 MPSoC FPGA. Die verschiedenen neuronalen Netzwerkmodelle werden auf den genannten Plattformen von der Fließkomma- zur Festkommaberechnung implementiert. Die CNNs zur Objekterkennung werden mit der Metrik der mittleren durchschnittlichen Präzision (mAP) bewertet. Die Pose-Algorithmen werden anhand der Object Keypoint Similarity (OKS) bewertet. Es wurde ein Netzwerk-Beschneidungsalgorithmus entwickelt, der mit einer Kompressionsrate von 50% die Bildrate des YOLO V4 Algorithmus von 4 FPS (CPU) und 45 FPS (GPU) auf 179 FPS auf dem FPGA verbessern kann, während der Energieverbrauch um 50,8% (1,192 mJ/Frame) im Vergleich zur getesteten CPU (2,423 mJ/Frame) und um 32,4% (1,763 mJ/Frame) im Vergleich zur GPU mit einem leichten Genauigkeitsverlust reduziert wird. Unter Verwendung der oben genannten Metriken und der normalisierten Genauigkeit hat PoseNet eine durchschnittliche Leistung von 300 FPS erreicht, gegenüber 37 FPS auf der CPU und 128 FPS auf der GPU, und eine Senkung des Energieverbrauchs um 61,1% bzw. 51,9% (0,429 mJ/Frame) in Bezug auf die CPU- (1,104 mJ/Frame) und GPU-Implementierungen (0,872 mJ/Frame) erzielt. Die entwickelte Arbeit beweist, dass die Implementierung der getesteten CNNs auf FPGA-Bausteinen durch den Entwurf einer angepassten Logikschaltung die Leistung in Bezug auf Flächenbelegung, Geschwindigkeit und Energieverbrauch erheblich steigern und die Kosten senken kann.
Collections
- Dissertações [215]