شماره ركورد
24478
شماره راهنما
ELE2 480
عنوان
پياده سازي بهينه قطعه بندي معنايي بر روي سخت افزار مبتني بر ZYNQ
مقطع تحصيلي
كارشناسي ارشد
رشته تحصيلي
مهندسي برق - سيستم هاي الكترونيك ديجيتال
دانشكده
فني و مهندسي
تاريخ دفاع
1403/10/26
صفحه شمار
72 ص.
استاد راهنما
محمد كاظمي ورنامخاستي
كليدواژه فارسي
قطعهبندي معنايي , شبكههاي عصبي عميق , ZYNQ , Vitis-AI , كوانتايز , DPU
چكيده فارسي
Over the past few years, deep learning advances have opened up new avenues for improved scientific methods, autonomous systems, and smart applications across fields. Although object detection algorithms have been widely used for object detection from images, they might not be suitable for certain applications, e.g., tumor detection in radiology or autonomous driving applications. In these scenarios, a more accurate method is required, i.e., pixel-level object recognition. Image segmentation, therefore, presents a viable solution for these applications. Semantic segmentation is a machine vision method based on convolutional neural networks (CNNs) for labeling the objects in an image.
In view of the strong computational requirements and power consumption with deep neural networks, ZYNQ has been utilized in this research for the purpose of hardware acceleration. The UNet and PIDNet models have been implemented on the ZYNQ platform using the Cityscapes and CamVid datasets. The UNet model has been implemented in TensorFlow and PyTorch environments on the CamVid dataset, the results of which have been comprehensively evaluated. On the other hand, the PIDNet model has been trained on the Cityscapes dataset using a PyTorch environment and transferred onto ZYNQ.
As not all the operations of PIDNet are accelerated by the DPU (Deep Learning Processing Unit), the DPU and CPU subgraphs become more in number, resulting in constant data transfers between the CPU and DPU. This results in increased power consumption, longer execution time, and reduced inference speed. In order to address this problem, a solution has been proposed by altering the implementation of the network. In this solution, the PIDNet architecture is reconfigured by substituting unsupported operations with their DPU-supported alternatives. These substitutions involve substitution of the sum operation along the channel dimension, substitution of heterogeneous multiplication and subtraction operations, substitution of interpolation functions with a scale factor of more than 8, substitution of the Sigmoid activation function, and elimination of the ReLU activation function. Although these substitutions compromise the accuracy of the network slightly, they improve inference speed on ZYNQ substantially.
In the proposed framework, the mIoU showed a decrease from 76.15% to 74.58%. The inference speed, on the other hand, showed an improvement from 0.23 FPS to 2.16 FPS.
كليدواژه لاتين
Semantic segmentation , Deep neural network , ZYNQ , Vitis-AI , Quantization , DPU
عنوان لاتين
Optimized Implementation of Semantic Segmentation on ZYNQ-Based Hardware
گروه آموزشي
مهندسي برق
چكيده لاتين
امروزه در حوزه يادگيري عميق فرصتهاي جديدي براي روشهاي علمي پيشرفته، عملياتهاي مستقل و كاربردهاي هوشمندانه براي كاربردهاي گوناگون ارائه شدهاست. در بسياري از زمينهها براي تشخيص اشياء در تصاوير از الگوريتمهاي تشخيص شي استفاده ميشود اما در بعضي كاربردها مانند تشخيص تومور در تصاوير پزشكي يا خودروهاي خوردان تشخيص اشياء مفيد نخواهد بود و نياز به تشخيص اشياء در سطح پيكسل است. از اين رو قطعهبندي تصوير يك راه حل براي اين دسته از كاربردها است. قطعهبندي معنايي يك فرآيند بينايي كامپيوتر است كه از شبكههاي عصبي كانولوشني براي طبقهبندي اشياء درون يك تصوير استفاده ميكند.
باتوجه به حجم محاسبات بسيار بالاي شبكههاي عصبي عميق و توان مصرفي آنها در اين پاياننامه از ZYNQ استفاده شدهاست. دو شبكه UNET و PIDNet با مجموعه داده cityscape و camvid برروي ZYNQ پيادهسازي شدهاند. شبكه UNET براي هر دو محيط توسعه TensorFlow و PyTorch برروي مجموعه داده camvid پيادهسازي شده و نتايج آن بررسي شدهاست. شبكه PIDNet برروي مجموعه داده cityscape در محيط PyTorch آموزش ديده و برروي ZYNQ پيادهسازي شدهاست. از آنجايي كه تمامي عمليات مدل PIDNet توسط واحد پردازشي DPU پشتيباني نميشود، تعداد زيرگرافهاي اختصاصيافته به DPU و CPU افزايش يافته است. اين امر منجر به تبادل مكرر داده بين CPU و DPU شده كه موجب افزايش توان مصرفي و زمان اجراي پردازش، در نتيجه كاهش كارايي و سرعت ميشود. به منظور رفع اين محدوديت، يك روش پيشنهادي ارائه شده است. در اين روش پيشنهادي، ساختار شبكه PIDNet تغيير يافته و عملياتهايي كه قابل پشتيباني توسط DPU نيستند با عملياتهاي قابل پشتيباني توسط DPU جايگزين شدهاند. اين عملياتها شامل جايگزيني تابع sum روي بُعد كانال، جايگزيني تابع ضرب ناهمگن، جايگزيني تابع تفريق ناهمگن، جايگزيني تابع درونيابي با مقياس بيش از 8، جايگزيني تابع فعالساز Sigmoid و حذف تابع فعالساز Relu است. اين تغييرات منجر شد صحت شبكه كمي افت كند اما سرعت استنتاج روي ZYNQ بهبود يابد. در پيادهسازي شبكه پيشنهادي، mIoU از 76.15 به 74.58 درصد افت داشته اما سرعت از 0.23 فريم بر ثانيه به 2.16 فريم بر ثانيه رسيدهاست.
تعداد فصل ها
5
فهرست مطالب pdf
122224
نويسنده