Method Article

تصميم وتنفيذ إطار عمل لاكتشاف المشاة المعتمد على مصفوفة البوابات القابلة للبرمجة ميدانيا لتطبيقات القيادة الذاتية

June 12th, 2026

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

توضح هذه المقالة البحثية تنفيذ خوارزمية اكتشاف المشاة في الوقت الحقيقي على أجهزة مصفوفة البوابات القابلة للبرمجة ميدانيا، وذلك بشكل أساسي لتطبيقات القيادة الذاتية. تجمع الخوارزمية بين مخطط التدرجات الموجهة (HoG) ومصنف آلة متجه الدعم (SVM)، وتظهر النتائج كفاءة من حيث السرعة واستهلاك الطاقة واستخدام الموارد.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

تقدم القيادة الذاتية طريقة واعدة لمواجهة العدد المتزايد من الوفيات الناتجة عن حوادث المرور. تتضمن المركبة الذاتية القيادة العديد من الميزات، لكن القدرة على اكتشاف المشاة أمر بالغ الأهمية وتحدي وذات صلة بمواقف زمنية حقيقية مثل المراقبة، وتتبع الأشخاص، والمراقبة. التعرف بدقة على المشاة صعب لأنهم قد يظهرون بأشكال ووضعيات ووضعيات مختلفة. يمكنهم ارتداء أنواع مختلفة من الملابس وأحيانا يكون مخفيا جزئيا أو يندمج مع الأشياء القريبة. تركز هذه الورقة على الكشف في الوقت الحقيقي عن المشاة للسيارات ذاتية القيادة باستخدام منصة أجهزة شهيرة: مصفوفة البوابات القابلة للبرمجة الميدانية (FPGA)، Ultra 96 v2. تطبق الدراسة طريقة لاكتشاف المشاة تعتمد على مخطط مدرج التدرجات الموجهة (HOG) مع مصنف آلة متجهة دعم (SVM) للتعرف على الأفراد في لوحة FPGA، مستفيدة من أدوات التوليف عالي المستوى (HLS). تم اختبار فعالية النظام على كل من الصور الثابتة والفيديو الحي. تظهر النتائج أن لوحات FPGA المتقدمة مثل Ultra 96 v2 تحسن بشكل كبير مؤشرات الأداء. يعمل النظام بتردد ساعة 150 ميجاهرتز مع استهلاك أقل من نصف الموارد المتاحة واستهلاك حوالي 2.5 واط من الطاقة. كما يبلغ النظام عن دقة اكتشاف المشاة التي تقترب من 95٪ ومقاييس فعالة أخرى لتقييم الكشف، مثل الدقة (78.6٪)، الاستدعاء (88.3٪)، ودرجة F1 (83.1٪). باختصار، يمكن للنظام المطور اكتشاف المشاة في الوقت الحقيقي ولديه القدرة على تحسين بيئة نقل ذكية وآمنة بشكل كبير.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

التنمية الحضرية وظهور المدن الذكية هما مواضيع تهم على مستوى العالم. تعمل جميع الدول على تطوير مدنها بحيث يمكن بناؤها بطريقة آمنة ومريحة للسكانالذين يعيشون فيها. لكن في الوضع الحالي، لوحظ أنه مع زيادة عدد السكان وزيادة الازدحام على الطرق، يرتفع معدل الوفيات الناتجة عن حوادث الطرق الناتجة عن إهمال القيادة وضعف الرؤية بشكل مقلق. حل واعد لهذه القضايا هو ظهور المركبات الذاتية القيادة حول العالم، والتي أطلقت ابتكارا 1,2,3,4، ويبذل الباحثون جهودا لتطوير مركبات ذاتية القيادة بالكامل تمكن الركاب من الاسترخاء دون أي قلق. تنبع الحاجة إلى تطوير المركبات الذاتية القيادة من حقيقة أن حتى السائقين ذوي الخبرة قد يواجهون ضغوطا أو معضلات أو إرهاق أو صعوبة في استشعار بيئتهم بسبب سوء الأحوال الجوية، وكل هذه المشاكل تؤدي إلى حوادث الطرق. تم تصميم المركبة ذاتية القيادة لتجنب الحوادث أثناء السفر، وتحسين استخدام موارد المحرك، والامتثال لقوانين المرور، مما سيعزز بلا شك وسائل النقل 2,4. المركبة الذاتية القيادة مجهزة بميزات وحساسات ووظائف متعددة تسمح لها بالإحساس بمحيطها بدقة عالية، وتجنب أي حوادث أو تصادمات، ولهذا أصبحت الآن حلا واعدا لجعل النقل آمناومحميا 1,2,3,4.

من بين جميع الميزات المدمجة في المركبات ذاتية القيادة، من أهم الميزات هو اكتشاف المشاة. يمكن لنظام كشف المشاة القوي أن يساعد بشكل كبير في تقليل وفيات حوادث الطرق 5,6,7,8، حيث أن غالبية ضحايا هذه الحوادث هم من المشاة. يتضمن اكتشاف المشاة تحديد الأفراد على الطريق وتجنب أي تصادم معهم. هذه الميزة ليست مفيدة فقط للسيارات ذاتية القيادة، بل أيضا لمجالات تطبيقية أخرى مثل مراقبة الحشود، وتحديد هوية الأشخاص، وتتبع 9,10,11. الجانب الرئيسي في عملية الكشف هذه هو سرعة ودقة الكشف. من الضروري اكتشاف المشاة بدقة وسرعة حتى يكون وقت الاستجابة في أدنى حد أدنى. هناك تحد هائل يفرضه اكتشاف المشاة. يمكن أن يكون المشاة على الطريق بأي ملابس أو مظهر أو وضعية، وقد يكونون غير مرئيين بسبب سوء الأحوال الجوية أو الانسداد10، 11، 12، 13، 14. علاوة على ذلك، من الممكن جدا أن المشاة لا يلتزمون بالقواعد بأنفسهم، ولا يمكن التحكم في طبيعة الإنسان، لذا فإن أفضل نهج ممكن هو تزويد المركبة بالذكاء للتعامل مع أي تصرف خاطئ وتجنب وقوع وفاة. يمكن فهم التدفق الكامل للعمل في هذا البحث والدافع وراء تنفيذ اكتشاف المشاة على الأجهزة بسهولة من الشكل 1 أدناه، الذي يشرح الحاجة إلى اكتشاف المشاة، ومجالات تطبيقه المختلفة، والتحديات المتضمنة، وتطبيقه على FPGA للاستفادة من الفوائد المقدمة.

figure-introduction-1
الشكل 1: اكتشاف المشاة. الحاجة إلى اكتشاف المشاة، ومجالات التطبيق الرئيسية لاكتشاف المشاة، والتحديات المرتبطة باكتشاف المشاة، وتدفق تنفيذ اكتشاف المشاة على لوحة FPGA. يرجى الضغط هنا لعرض نسخة أكبر من هذا الشكل.

لتحديد المشاة على الطريق، توجد العديد من الخوارزميات. يمكن تقسيم هذه المهمة بشكل أساسي إلى مهمتين فرعيتين رئيسيتين: الخطوة الأولى تستخرج الميزات من صورة إدخال، مع الاحتفاظ فقط بالميزات المهمة التي تنقل المعلومات ذات الصلة، مع تجاهل الميزات الزائدة. للتعرف الفعال على البشر أو المشاة في الصورة، من الضروري أن تشير هذه الخصائص إلى وجود شخصية بشرية داخل المشهد13،14. بعد هذا الاستخراج، يجب إرسال الميزات إلى مصنف يمكنه تحديد ما إذا كانت الميزات المحددة تتوافق مع الإنسان. لذلك، تتطلب الخوارزمية مرحلة استخراج ووصف الميزات، تليها خطوة تصنيف لتحديد وجود المشاة في مشهد الإدخال. هناك خوارزميات متنوعة متاحة لهذا الغرض. ومع ذلك، فإن الطريقة الأكثر قبولا لاكتشاف المشاة حتى الآن لا تزال الجمع بين مخطط التدرجات الموجهة (HoG) مع مصنف آلة المتجه الداعمة (SVM) 12,13,14,15. هناك العديد من الأمثلة على التطورات البرمجية، لكن الهدف في النهاية هو نقل التنفيذ إلى منصة عتادية متوافقة، والتي يمكن دمجها بعد ذلك في نظام التطبيق للاستخدام في الوقت الحقيقي. لذلك، التركيز الحالي ينصب على تحقيق الأجهزة. لذا يمكن القول إنه من الضروري تطوير تطبيق مادي مناسب لأنظمة كشف المشاة، حيث يمكن نشر كاميرات مزودة بأجهزة مناسبة على المركبات وتحديد المشاة على الطريق. عند النظر في الأجهزة المناسبة لهذه التطبيقات، فإن أحد الخيارات الأكثر استخداما هو مصفوفة البوابات القابلة للبرمجة الميدانية (FPGA) بسبب مزاياها العديدة، بما في ذلك تقليل وقت التصميم، وقابلية التوسع، وسهولة التعديلات، وإعادة التكوين، واستهلاك أقل للطاقةوالطاقة 15,16,17,18,19,20,21,22.

لقد تطورت لوحات FPGA باستمرار وتستخدم الآن على نطاق واسع لتطبيقات رؤية الحاسوب المعقدة والمتقدمة التي تتراوح من معالجة الصور الأساسية إلى اكتشاف الأجسام، والواقع المعزز، والتعلم العميق 20,21,22. حاليا، تقدم العديد من لوحات FPGA عالية الأداء قدرات معمارية استثنائية لاستيعاب المعالجة المكثفة المطلوبة لهذه التطبيقات المعقدة. إذا تم تنفيذ الميزات المتقدمة للمركبات ذاتية القيادة، مثل اكتشاف المشاة، على هذه المنصات العتادية، يمكن أن تكون هذه المنصات مفيدة جدا لتطوير النماذج الأولية السريعة لتحليل الأداء، وبعد التحسين، يمكن نقل الخوارزمية المنفذة إلى دوائر متكاملة فعلية لدمجها في النظام.

لأكثر من عقد من الزمن، كانت هناك منشورات مهمة تعتمد على تطبيق اكتشاف المشاة باستخدام طريقة HoG وSVM على منصات FPGA المختلفة. يلخص الجدول 1 المقالات في هذا المجال خلال الفترة من 2015 إلى 202515، 16، 17، 18، 19، 20، 21، 22، 23، 24، مع التركيز على العوامل الرئيسية مثل دقة الصورة، معدل الإنتاجية، أو عدد الإطارات في الثانية (FPS)، نوع المصنف، والنقاط البارزة الرئيسية أو المساهمات التي قدمها ورق.

المرجعمنصة FPGAدقة الصورةالمصنفأبرز النقاط / المساهمات
15زيلينكس زينك640×480آدابوستتنفيذ FPGA في الوقت الحقيقي؛ كفاءة الموارد؛ يستخدم الثنائية للتحسين؛ دقة اكتشاف جيدة.
16مجلس DE1-SOC الخاص بتيراسيك640×480SVMمستخرج HOG عالي الأداء؛ يدمج SVM؛ الكشف بمقياس واحد؛ خط أنابيب منخفض التأخير.
17ألتيرا DE2-115640×480آدابوستيقيم الأداء من وجهات نظر متعددة؛ تنفيذ FPGA ل HOG+AdaBoost؛ الكشف المباشر عن المشاة.
18إنتل ستراتيكس V640×480SVMكشف المشاة متعدد المقاييس؛ خط أنابيب HOG+SVM الصديق ل FPGA؛ تبرز المقايضات بين الدقة وكفاءة الأجهزة.
19زينك ألتراسكيلي+ MPSoC3840×2160SVMمعالجة UHD في الوقت الحقيقي؛ HOG+SVM في خط الأنابيب المستمر؛ تنفيذ SoC FPGA؛ تحسين النقاط الثابتة؛ هندسة معمارية قابلة للتوسع.
20غير محددغير محددSVMيحقق دقة اكتشاف >95٪؛ تنفيذ FPGA في الوقت الحقيقي؛ يستغل التوازي؛ تصميم دقيق لتقنية HOG+SVM FPGA لاكتشاف المشاة.
21Zync 7000 FPGA1920×1080SVMبنية تدفق عالي الإنتاجية ل HOG+SVM؛ يدعم دقة HD؛ خط أنابيب فعال لتسريع FPGA.
22ألترا96 (النسخة الأولى)240×320SVMتنفيذ FPGA باستخدام HLS؛ يكتشف إشارات المرور الحمراء؛ يحسب الاحتمالات في 891 منطقة؛ يتراوح زمن الاستجابة بين 153,838 إلى 19 دورة.
23زيلينكس زينكيو-7000 FPGA640 × 480HOG + SVMتم تنفيذ اكتشاف المشاة باستخدام HOG-SVM على FPGA، محققا أداء في الوقت الحقيقي مع استهلاك طاقة أقل مقارنة بمعالجة المعالج. تم إثبات خط أنابيب استخراج الميزات المحسن المناسب لتطبيقات الرؤية المدمجة.
24Xilinx Virtex-6 FPGA640 × 480كاشف الأجسام ذات النقطة الثابتة (ميزات شبيهة بهار)اقتراح تسريع FPGA عالي الإنتاجية لاكتشاف الأجسام باستخدام حساب النقاط الثابتة، مما يقلل التكلفة الحسابية مع الحفاظ على الدقة. أظهرت تسارعا بنسبة 15× مقارنة بتطبيقات المعالج مع استخدام موارد الأجهزة بكفاءة.

الجدول 1: مراجعة الأدبيات للأبحاث المبنية على اكتشاف المشاة في FPGA (2015–2025).

يلخص الجدول 1 أن هناك أدبيات واسعة في مجال اكتشاف المشاة، وتطبيق الأجهزة هو المجال الذي يهم الباحثون. ومن الواضح أيضا وجود تقنيات متقدمة للتعلم العميق وتعلم الآلة، مثل الكواشف القائمة على شبكات العصبية الالفافية (CNNs) مثل YOLO، وهياكل المحولات، وغيرها، لمهمة اكتشاف المشاة. بل إنها تتفوق حتى على خوارزمية HoG التقليدية من حيث الدقة، ولكن عند النظر في تنفيذ الأجهزة، فإن الخوارزميات المتقدمة تؤدي إلى استهلاك هائل للموارد23,24 بسبب تعقيدات الخوارزمية التي قد تؤثر أيضا على معايير أداء أخرى، كما لوحظ أنه بسبب التعقيدات الإضافية تكون السرعة أفضل قليلا في حالة خوارزمية HoG التقليدية24. 25. كما لوحظ أن التقنيات المتقدمة تستهلك طاقة أكبر عند تنفيذها على الأجهزة24,26. لذا، فإن هدف العمل المنفذ في هذه الورقة هو إجراء اكتشاف المشاة باستخدام إطار HoG التقليدي وSVM على أجهزة FPGA وتحقيق مقايضة دقة وسرعة وقوة ملائمة للتضمين في الوقت الحقيقي. من الجدول 1 يتضح تماما أنه عند تحليل الأعمال القائمة على HoG وSVM، يلاحظ وجود منشورات محدودة استخدمت لوحة تطوير FPGA27 المعتمدة على Zynq UltraScale+ MPSoC (نظام متعدد المعالجات على الشريحة) التي تم تقديمها مؤخرا لاستكشاف قدرات هذه اللوحات، حيث تطورت هذه اللوحات من وجهة نظر البنية، وتقدم إمكانيات كبيرة من حيث تنفيذ تطبيقات رؤية الحاسوب في الوقت الحقيقي عالية الجودة. هناك منشورات محدودة أنجزت نظام كشف المشاة بالكامل في الوقت الحقيقي على لوحات FPGA. ومع ذلك، ركزوا على التنفيذ الفعال أو تحسين المهام الوسيطة. علاوة على ذلك، تعتمد معظم هذه التطبيقات على تنفيذ النظام بأكمله على لوحة FPGA من خلال استخدام لغات وصف الأجهزة. قلة فقط استفادوا من أدوات التوليف عالي المستوى (HLS) لتسريع دورة التصميم. توضح هذه الورقة تصميم وتنفيذ الكشف اللحظي للمشاة على لوحة FPGA مخصصة لتطبيق القيادة الذاتية. تستخدم الورقة إطار عمل HoG وSVM لغرض اكتشاف المشاة على الصور الثابتة أو الفيديو أو إدخال الكاميرا الحقيقية. الأجهزة المستخدمة هي لوحة FPGA متطورة وصدرت حديثا، وهي Ultra96 v2، وهي بنية FPGA متقدمة تشكل منصة قوية لرؤية الحاسوب، ومعالجة الصور، وتعلم الآلة، والحوسبة الحافية، وغيرها. Ultra96 v2 هو لوحة تطوير تتميز بمعالج AMD Xilinx Zynq UltraScale+ MPSoC27 المعتمد على Arm. تشمل هذه اللوحة قسم نظام المعالجة (PS)، الذي يتكون من أنوية معالج مبنية على ARM تدير الجوانب البرمجية للمشروع، وقسم المنطق القابل للبرمجة (PL) الذي يسمح بتسريع الأجهزة القابل للتخصيص 20,21,22. معا، تعزز هذه المكونات وظائف النظام الهجين، حيث يدير جزء PS التحكم والتفاعل مع العناصر الخارجية، بينما يتعامل جزء PL مع منطق المعالجة الفعلي.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

يتم توضيح إجراء التنفيذ المستخدم في هذا البحث، المعتمد على اكتشاف المشاة باستخدام HoG + SVM على لوحة FPGA، مستفيدا من فوائد التوليف عالي المستوى، في الشكل 2 أدناه.

figure-protocol-1
الشكل 2: إجراءات التصميم لتنفيذ اكتشاف المشاة على لوحة FPGA. المرحلة 1: خوارزمية اكتشاف المشاة باستخدام HoG+SVM على أداة HLS وتوليد كتلة IP. المرحلة الثانية: خوارزمية اكتشاف المشاة باستخدام HoG+SVM لتنفيذ FPGA الفعلي وتوليد ملف البت. المرحلة 3: برمجة اللوحة باستخدام ملف البت المولد. يرجى الضغط هنا لعرض نسخة أكبر من هذا الشكل.

1. اكتشاف المشاة باستخدام HoG وSVM على أداة HLS

  1. قم بتحميل بيئة التطوير المتكاملة (IDE) في بايثون حسب خصائص النظام التي يتم عليها عملية التنزيل.
    ملاحظة: في هذا العمل، تم استخدام نسخة بايثون 3.10.
  2. تنفيذ سكريبت بايثون لتشغيل نموذج تدريب باستخدام خوارزمية HoG ومصنف SVM. ابدأ السكربت بتحميل العينات الموجبة والسالبة من مجموعة البيانات.
    ملاحظة: استخدم مجموعة بيانات INRIAرقم 11.
  3. استخرج ميزات HoG لنافذة بحجم 64 × 128.
  4. قسم بيانات التدريب والاختبار من مجموعة بيانات INRIA بنسبة 80/20 مع خلط عشوائي لإعادة الإنتاج.
    ملاحظة: يتم خلط مجموعة البيانات عشوائيا باستخدام دالة بايثون قبل تقسيم البيانات. لضمان قابلية التكرار بحيث يتم نفس التقسيم في كل مرة يتم فيها تثبيت قيمة البذور في الكود.
  5. تدريب باستخدام تصنيف متجه دعم C (SVC) SVM باستخدام نواة خطية.
  6. استخرج متجهات الوزن والانحياز.
  7. احفظ أوزان SVM والانحياز بصيغة Q8.8 الثابتة لتنفيذ FPGA.
    ملاحظة: يتم التحويل عن طريق تحجيم كل قيمة فاصلة عائمة تتولد أصالة بمقدار 256 (28) وتحويل النتيجة إلى عدد صحيح.
  8. اختبر النموذج المدرب من خلال سكريبت بايثون آخر وضبط معامل التنظيم C، حتى يتم حساب الدقة لتزيد عن 95٪.
    ملاحظة: تم الحصول على معامل تنظيم محسن: C = 0.05.
  9. افتح أداة HLS وأنشأ مشروعا جديدا مع اختيار رقم الجزء ك xczu3eg-sbva484-1-e.
  10. اكتب رمز اكتشاف المشاة على أداة التوليف عالية المستوى باستخدام لغات عالية المستوى مثل C++.
  11. في الكود، اكتب ثلاثة سكريبتات C++ مختلفة: واحد لواصف ميزات HoG ومصنف SVM، وآخر لمنصة الاختبار لتوفير مدخلات لصور الاختبار وحفظ صور الإخراج، والثالث لملف رأس يعلن عن المعلمات المستخدمة في الكود.
  12. في كود حساب ميزات HoG، قم بتغيير حجم الصورة إلى 640 × 480 وتطبيق بنية نافذة منزلقة بحجم نافذة 64 × 128. لكل نافذة، احسب مقدار التدرج والاتجاه لكل كتلة متداخلة بحجم 8 × 8.
    ملاحظة: من المهم مسح الصورة بالكامل من خلال مفهوم النافذة المنزلقة حتى يتم تغطية كل منطقة في الصورة وتحديد المشاة بكل الحجم الممكن.
  13. في الجزء الآخر من نفس الكود لوصف ميزة HoG، مرر التدرجات المحسوبة إلى مصنف SVM. اكتب الكود لمطابقة الميزات مع أوزان المصنف وقارن مع العتبة لتصنيف الميزة المكتشفة كميزة إنسان أو لا.
  14. انقر على تشغيل محاكاة C في أداة HLS لمحاكاة الكود بمساعدة منصة اختبار للتحقق من صحة وظائف الكود.
  15. قدم صورا مختلفة للكود وتحقق من صور المخرج مع المشاة المكتشفين.
  16. انقر على تشغيل C Synthesis لتركيب الكود لتعيين الكود إلى لغات الأجهزة بواسطة الأداة وتوليد تقارير التوقيت والاستخدام.
    ملاحظة: تقوم الأداة بفتح تقارير توليف HLS تلقائيا. يعرض هذا التقرير تقدير تردد الساعة المطلوب لتنفيذ المهمة المشفرة على منصة FPGA المختارة، كما يوفر تقديرا للموارد المستخدمة. هذه القيم المبلغ عنها هي تقديرات فقط، ويتم حساب المعاملات الفعلية فقط بعد التنفيذ على لوحة FPGA.
  17. انقر على تصدير RTL لتصدير كتلة الملكية الفكرية (IP) لخوارزمية HoG لاكتشاف المشاة.
    ملاحظة: يجب استخدام هذا العنوان في المراحل اللاحقة من التنفيذ.

2. برمجة لوحة FPGA

  1. افتح أداة برمجة FPGA وأنشئ مشروعا جديدا. اختر رقم الجزء ك xczu3eg-sbva484-1-e وأنشئ تصميم كتلة جديدة.
    ملاحظة: تم إنشاء هذا المخطط الكتل لإثبات التكامل بين الجزء من PS وPL في لوحة FPGA. بروتوكول الاتصال المستخدم هو بروتوكول واجهة التوسيع المتقدمة (AXI).
  2. ابحث عن كتالوج IP في الأداة وبمجرد العثور عليه افتحه.
  3. إنشاء مستودع مستخدم بإضافة مسار عنوان IP RTL المصدر في الخطوة 1.17.
  4. في نافذة تصميم الكتل الجديدة ، انقر بزر الفأرة الأيمن واختر إضافة عنوان IP. جميع عناوين IP ستكون مرئية، بما في ذلك تلك التي توفرها الأداة بالإضافة إلى المستودعات التي أضافها المستخدم.
  5. أضف كتلة Zync Ultrascale PS من المستودع.
    ملاحظة: تعكس هذه الكتلة جزء PS من النظام، المسؤول عن توليد الساعات المطلوبة، كما تحتوي على منافذ الرئيسية وتابعة للاتصال بعنوان IP HoG المستورد عبر كتلة الربط AXI، والتي تعمل على أساسيات بروتوكول AXI.
  6. أضف 8 عناوين IP ل HoG لأن النظام سيعالج 8 نوافذ في نفس الوقت للاستفادة من ميزة التوازي الذي توفره لوحة FPGA.
  7. أضف كتلة إعادة ضبط نظام المعالج ، وهي أيضا تتحكم في الساعة وإعادة ضبط كل كتلة في الرسم التخطيطي.
  8. أضف كتلين axi_smart connect لتوصيل عناوين HoG مع كتلة Zync PS. يظهر مخطط الكتل بالكامل مع الوصلات الكاملة في الشكل 3.
    ملاحظة: كما هو موضح في الشكل 3، تم عرض جميع الكتل التي يجب إضافتها إلى التصميم بوضوح. يتم التقاط الشكل 3 من الأداة ويظهر المنافذ الداخلية لكل كتلة بالإضافة إلى الترابط بين منافذ الكتل المختلفة. هذه الكتلة هي التصميم الرئيسي لأنها مسؤولة عن إنشاء الواجهة بين PS وجزء PL من لوحة FPGA.
  9. بعد إكمال التوصيلات كما هو موضح في الشكل 3، انقر على التحقق من التصميم.
    ملاحظة: التحقق من الصحة يتحقق أساسا من الاتصالات المفقودة أو المقطعة، مما قد يؤدي إلى مشاكل في مراحل لاحقة.
  10. انقر على التوليف ثم تنفيذ التصميم في ال tool بعد نجاح التحقق من مخطط الكتل.
    ملاحظة: يقوم Synthesis برسم مخطط الكتل المصمم ويعطيه على لوحة FPGA. ستبلغ هذه الخطوة عن أي مخالفات قد تشير إلى أن التصميم لا يمكن تنفيذه على الأجهزة.
  11. ستقوم الأداة أيضا بتوليد تقارير تتعلق بالتوقيت، واستخدام الموارد، واستهلاك الطاقة. افحص التقارير بعناية للتحقق من أي مخالفات توقيت وتحليل أداء النظام المصمم.
  12. انقر على إنشاء ملف تدفق البتات الذي سيولد ملف .bit المطلوب لبرمجة لوحة FPGA.

figure-protocol-2
الشكل 3: مخطط كتلة لاكتشاف المشاة باستخدام عنوان IP مستورد HoG + SVM. يرجى الضغط هنا لعرض نسخة أكبر من هذا الشكل.

3. التنفيذ النهائي على لوحة FPGA

  1. احصل على لوحة FPGA وأدخل بطاقة SD مع ملف الصورة المناسب في الفتحة على اللوحة.
  2. وصل اللوحة بالكمبيوتر أيضا.
  3. قم بتشغيل لوحة FPGA في وضع بطاقة SD لتفعيل برمجة بايثون عليها21,22.
  4. يمكنك الوصول إلى منصة Jupyter على اللوحة بعد توصيلها بالواي فاي.
  5. وصل كاميرا ويب باللوحة.
  6. اكتب كود بايثون لاستيراد ملف البت المنشأ وأداء مهمة الوصول إلى صور الكاميرا.
  7. في الكود، اكتب السكربت بحيث تكتب الصورة في ذاكرة لوحة FPGA عبر جزء PS وتمرر إلى جزء PL للمعالجة.
    ملاحظة: جزء PL من اللوحة الذي يتوافق مع عناوين HoG IP يصل إلى بكسلات الصورة عبر مواقع الذاكرة هذه ويعالجها ويوفر الدرجات كمخرجات.
  8. اكتب الكود المناسب بنفس سكريبت بايثون لقراءة الصور المعالجة وعرضها على شاشة الكمبيوتر.
    ملاحظة: هذا يكمل التصميم بالكامل وأصبح النظام جاهزا للنشر في التطبيقات الواقعية. جميع الرموز المستخدمة في هذه الدراسة تم رفعها كملفات ترميز تكميلية (الملف التكميلي 1 [Script_1_train_test.py]، الملف التكميلي 2 [Script_2_HLS_hog.cpp]، الملف التكميلي 3 [Script_3_HLS_test_bench.cpp]، الملف التكميلي 4 [Script_4_HLS_consts.h]، الملف التكميلي 5 [Script_5_jupyter_code.txt]).

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

تنفيذ اكتشاف المشاة على نظام HLS
يوضح الشكل 4 نتائج المحاكاة على أداة HLS لاكتشاف المشاة باستخدام HoG + SVM. يتم إدخال صورة إدخال مع مشاة كمدخل اختبار للرمز، ويتم عرض المخرج مع المشاة المكتشفين. هناك قسمان في الصورة. الكشف الأول يحتوي على العديد من الصناديق المحيطة بنفس المشاة مرارا وتكرارا، وفي الصورة الثانية، تزال الصناديق المتداخلة ويتم قمعها، لتبقى فقط صناديق الكشف الرئيسية.

figure-results-1
الشكل 4: نتيجة المحاكاة من أداة HLS. (أ، ب) صورتان مختلفتان للإدخال والصور الناتجة مع المشاة المكتشفين. يرجى الضغط هنا لعرض نسخة أكبر من هذا الشكل.

توفر أداة HLS أيضا تقارير توليف للتوقيت واستخدام الموارد. يبرز ملخص التوقيت الفترة الزمنية المطلوبة للتصميم ويوفر أقصى وأقل قيم زمن استجابة من حيث عدد الدورات. هذه المعلومات مفيدة لتقدير مقدار الوقت الذي يتطلبه التصميم لتنفيذ وتردد الساعة عند الانتقال إلى التطبيق الفعلي للأجهزة. يوضح الجدول 2 أدناه تقرير التوقيت بعد توليف HLS، والذي يوضح بوضوح أن فترة الساعة المستهدفة كانت 6 نانوثانية وأن التصميم استغرق 5.25 نانوثانية، وهو أقل من الهدف، وبالتالي يمكن أن تكون الفترة الزمنية 6 نانوثانية أو أكثر ولكن ليست أقل من 5 نانوثانية.

ملخص التوقيت
الساعةالهدفتقديرات
6.00 نانوثانية5.250 نانوثانية ثانية
ملخص الاستخدام
إجمالي / متوفرنسبة الاستخدام
BRAM18K22 / 4325%
DSP48E13 / 3603%
FF5611/ 1411203%
LUT9904/ 7056014%
أورام00

الجدول 2: تقرير تقديري لتوقيت واستخدام الموارد من أداة HLS لاكتشاف المشاة باستخدام HoG-SVM.

يوضح الجدول 2 أيضا تقرير الاستخدام. يظهر نسبة استخدام موارد FPGA المهمة على متن السفينة حسب اللوحة المستهدفة المختارة. بالنسبة لهذا التصميم الخاص باكتشاف المشاة، يظهر تقرير الاستخدام أن التصميم يستهلك 14٪ من جداول البحث (LUTs)، و3٪ من فليب فلوب (FFs)، و3٪ من معالجة الإشارات الرقمية (DSP)، و5٪ من ذاكرة الوصول العشوائي الكتل (BRAM). هذه التقديرات ليست تقارير الاستخدام الدقيقة، لكن التقارير الفعلية قريبة من هذه التقديرات. هذه فقط التقديرات التي يمكن حسابها بواسطة أدوات HLS. عادة ما يكون التطبيق الفعلي مختلفا جدا عن هذه التقديرات.

التنفيذ الفعلي ناتج عن برمجة الأجهزة
بعد أن يتم تعيين الكود إلى عنوان IP، والذي يتم استيراده في أداة برمجة FPGA، وتنفيذ التصميم على جهاز FPGA الفعلي، يتم أيضا توليد عدة تقارير. الأول هو ملخص التوقيت، الذي يوضح ما إذا كان تردد الساعة المقدم للتصميم كافيا أم لا. إذا تم استيفاء جميع قيود التوقيت ولم تكن هناك مخالفات، يمكن للتصميم المضي قدما. يوضح الجدول 3 أدناه ملخص التوقيت الذي تم إنشاؤه بواسطة الأداة. كما هو موضح في الجدول، يشير ملخص التوقيت إلى أسوأ تراخي سلبي، وهو 4.073 نانوثانية. وبما أن هذه القيمة إيجابية، فهذا يشير إلى أن هذا الوقت الكبير لا يزال متاحا. تشير القيم السلبية إلى أن FPGA يستغرق وقتا أطول لإتمام المهمة، وأن الساعة تعمل بسرعة. وبما أنه في هذه الحالة لا توجد قيم سالبة، فهذا يعني أن قيود التوقيت قد تحققت.

ملخص توقيت التصميم
الإعدادانتظرعرض النبضة
أسوأ سلبي Slack 4.073 نانوثانيةأسوأ تثبيت للترخي 0.010 نانوثانيةأسوأ عرض نبضي Slack 3.500 نانوثانية

الجدول 3: ملخص التوقيت الفعلي لاكتشاف المشاة على لوحة FPGA.

أيضا، تعرض الأداة تقارير استخدام الموارد، وهي الاستخدام الفعلي للموارد على متن السفينة حسب لوحة FPGA المختارة. في هذه الحالة، اللوحة المختارة هي لوحة تطوير FPGA27 المعتمدة على Zynq UltraScale+ MPSoC (نظام متعدد المعالجات على الشريحة). يوضح الجدول 4 أدناه استخدام الموارد، والشكل 5 يوضح التمثيل المخططي لاستخدام الموارد.

يشير ملخص الاستخدام إلى الاستهلاك الفعلي للموارد على متن السفينة نظرا لوجود 8 أنظمة HoG IPS مستخدمة بالتوازي، وكانت التقديرات المبلغ عنها من توليف HLS لنظام HoG IP واحد. ولكن حتى بعد هذا الاستخدام المكثف، فإن استخدام الموارد لكل مورد أقل من 50٪. يوضح الجدول 4 بوضوح الاستخدام بالنسبة للموارد المختلفة ونسبة استخدامها، والتي تظهر بشكل مصور في الشكل 5.

المصدرالاستخداممتوفرنسبة الاستخدام
LUT405367056057.45%
لوترام73042880025.36%
FF3334214112023.63%
برام6821631.48%
DSP12836035.56%
BUFG21961.02%

الجدول 4: تقرير الاستخدام الفعلي لاكتشاف المشاة على لوحة FPGA.

figure-results-2
الشكل 5: استخدام الموارد لاكتشاف المشاة على لوحة FPGA بعد التنفيذ الفعلي. ابحث عن الجداول (LUT): 57٪، LUTRAM: 25٪، Flip Flops (FF): 24٪، ذاكرة بلوك RAM (BRAM): 31٪، معالجات الإشارة الرقمية (DSP): 36٪، المخازن: 1٪. يرجى الضغط هنا لعرض نسخة أكبر من هذا الشكل.

التقرير الثالث يتعلق بتقديرات الطاقة التي تصدرها اللوحة لكمية استهلاك الطاقة في التصميم. يوضح الشكل 6 أدناه تقرير استهلاك الطاقة، الذي يظهر أن إجمالي الطاقة على الشريحة هو 2.435 واط. كما يتم عرض درجة حرارة الوصلة والطاقة المستهلكة لكل شبكة ومكون مهم. لا تبرز قياسات الطاقة أي استهلاك طاقة مقلق، وبالتالي يمكن اعتبار التصميم موفرا للطاقة.

figure-results-3
الشكل 6: تقدير القدرة لاكتشاف المشاة على لوحة FPGA بعد التنفيذ الفعلي. تقرير الطاقة الناتج عن الأدوات يعرض إجمالي استهلاك الطاقة ب 2.435 واط، كما يظهر توزيع الطاقة بين الموارد المختلفة على لوحة FPGA. يرجى الضغط هنا لعرض نسخة أكبر من هذا الشكل.

يتم إجراء تحليل آخر لفهم ميزة استخدام 8 عناوين HoG بدلا من عنوان IP واحد أو أكثر من 8 في مخطط الكتلة المنشأ، كما هو موضح في الشكل 3. تم حساب مقاييس الأداء المتعلقة بالأجهزة لكل من عنوان IP واحد ل HoG و8 عناوين HoG بالتوازي. يوضح الجدول 5 أدناه المقارنة.

مقياس الأداء1 IP8 حقوق IP
التوقيت (ns)5.312~5.25
التردد (ميغاهرتز)188150
القوة (W)1.92.43
LUTs499840536
FF / السجلات4,03133,342
DSP16128
برام8.568
ألعاب التصويب من منظور الشخص الأول~10–1183

الجدول 5: مقارنة مقاييس الأداء باستخدام عناوين IP فردية مقابل متعددة من HoG.

يوضح الجدول 5 بوضوح أنه عند النظر في الموارد مثل LUTs وFFs وDSPs وBRAM، فإن مع IP واحد من HoG و8 عناوين HoG IP، يكون التكبير خطيا مع زيادة تقارب 8 أضعاف في الموارد المستخدمة. وهذا متوقع بوضوح، حيث أن المزيد من حقوق الملكية الفكرية سيؤدي إلى استهلاك المزيد من الموارد. أيضا، إذا تم رصد التردد، فإن التردد الأقصى ينخفض قليلا بنسبة 20٪ من 188 ميجاهرتز إلى 150 ميجاهرتز. وهذا متوقع أيضا لأن المزيد من الكتل يؤدي إلى المزيد من الوصلات وبالتالي مسارات أطول، مما يؤدي إلى زيادة المسارات الحرجة. لكن العوامل المفيدة مثل الإطارات في الثانية (FPS) تتحسن من 10 إلى 83، مما يظهر تحجيما غير خطي في حالة FPS بسبب مفهوم التوازي المقدم بسبب 8 عناوين HoG. كما أن القدرة تتراوح من 1.9 واط إلى 2.4 واط، مما يشير إلى تحسين كفاءة الطاقة عبر التبطين. لذا، يشير هذا التحليل بوضوح إلى أن إدخال 8 عناوين HoG مفيد للتصميم، وأن التوسع فوق 8 قد يؤدي إلى الإفراط في استهلاك الموارد؛ لذا، لا يعتبر عدد الكتل التي تتجاوز 8 مفضلا.

نتائج اكتشاف المشاة بعد تنفيذ FPGA
وأخيرا، يتم دمج النظام بالكامل على لوحة FPGA، ويتم توليد ملف تدفق البت، والذي يتم برمجته بعد ذلك على اللوحة عبر بطاقة SD المجهزة بقدرة برمجة بايثون. بمجرد إقلاع اللوحة باستخدام بطاقة SD، يمكن الوصول إلى واجهة jupyter ويمكن كتابة كود بايثون وتشغيله على المنصة. يتم تشغيل واختبار كود بايثون لاكتشاف المشاة على صور إدخال مختلفة. تظهر نتيجة بعض الصور في الشكل 7 أدناه. تستخدم هذه الصور من مجموعة بيانات INRIA بالإضافة إلى صور عشوائية للمشاة تم الحصول عليها من مصادر مفتوحة المصدرعبر الإنترنت 26,27.

figure-results-4
الشكل 7: نتائج اكتشاف المشاة على الصور الثابتة عبر لوحة FPGA. تشمل الصور التي تم اختبارها صورا من مجموعة بيانات INRIA، وهي صور مفتوحة المصدر متاحة على جوجل لاختبار دقة الكشف في شوارع الهند المزدحمة. يرجى الضغط هنا لعرض نسخة أكبر من هذا الشكل.

كما يختبر النظام على التقاط الإطارات في الوقت الحقيقي عبر كاميرا ويب واكتشاف المشاة في الإطار، كما يتم اختبار النظام على مدخلات الفيديو المسجلة مسبقا للمشاة. تظهر نتائج ذلك في الشكل 8 والشكل 9. يعرض الشكل 8 مجموعة من الإطارات النموذجية التي التقطتها كاميرا الويب ونتائج اكتشاف المشاة في كل إطار، بينما يوضح الشكل 9 نتائج اكتشاف المشاة المنفذة على فيديو إدخال مقدم للنظام.

figure-results-5
الشكل 8: نتائج اكتشاف المشاة على الإطار الذي تلتقطه الكاميرا في الوقت الحقيقي عبر لوحة FPGA. التقاط الفيديو في الوقت الحقيقي عبر كاميرا ويب 720 P وإظهار الكشف اللحظي للمشاة. الصور الضبابية ناتجة عن التقاط لقطات من الفيديو المباشر المستمر. يرجى الضغط هنا لعرض نسخة أكبر من هذا الشكل.

figure-results-6
الشكل 9: نتائج اكتشاف المشاة على الفيديوهات المقدمة كمدخل للوحة FPGA. تم أخذ الفيديوهات من روابط مفتوحة المصدر. يرجى الضغط هنا لعرض نسخة أكبر من هذا الشكل.

تقدير مقاييس الأداء
لحساب الكفاءة وتحليل أداء التصميم المطبق أعلاه، من الضروري حساب مقاييس الأداء المفيدة لتقييم الأداء. تعتمد مقاييس الأداء لاكتشاف كفاءة خوارزمية الكشف أساسا على قيم الإيجابيات الحقيقية (TP)، والسلبيات الحقيقية (TN)، والإيجابيات الكاذبة (FP)، والسلبية الكاذبة (FN). من هذه القيم، يمكن حساب مقاييس الأداء مثل الدقة، الاسترجاع، درجة F1، الإيجابيات الكاذبة لكل صورة، والدقة وفقا للمعادلات الموضحة أدناه. لوحظ أن معظم الأوراق البحثية تنقل أدائها في الكشف من خلال معامل الدقة. لكن لوحظ أن حساب الدقة الذي يتضمن استخدام TN يمكن أن يكون معاملا مضللا، حيث لا يمكن حساب قيمة TN بشكل صحيح بالمعنى الحقيقي، لأنها تتضمن إيجاد عدد جميع نوافذ الكشف في صورة لا يوجد بها مشاة فعليا، كما أن الخوارزمية المطبقة تبلغ أيضا عن عدم وجود كشف. عادة ما يكون هذا العدد كبيرا جدا، حيث أن إجمالي نوافذ الكشف في الصورة كبير، والمناطق الخلفية في كل صورة عادة ما تتوافق مع مناطق لا يوجد بها مشاة. من خلال النظر عن كثب إلى صيغة الدقة المعروضة في المعادلات [1] – [5]، يمكن إدراك أنه بما أن قيمة TN ستكون مرتفعة جدا مقارنة ب TP+FP+FN، فإن معامل الدقة عادة ما يكون له قيمة عالية. لتقييم الأداء بشكل حقيقي، من الأفضل الإبلاغ عن مقاييس مثل الدقة، والاستدعاء، ودرجة الفورمولا 1 التي لا تعتمد على TN وبالتالي فهي أكثر دقة.

figure-results-7 [1]

figure-results-8 [2]

figure-results-9 [3]

figure-results-10 [4]

figure-results-11 [5]

لإيجاد قيم TP وTN وFN لهذه الورقة، تم تكرار التجربة على الصور الثابتة على عدد هائل من الصور. من نتائج كل صورة، تم حساب قيمة الإيجابيات الحقيقية، وهي عدد المشاة الذين تم اكتشافهم بشكل صحيح، والإيجابيات الكاذبة، وعدد المشاة الذين تم اكتشافهم بشكل خاطئ، والسلبية الكاذبة، وهي المشاة الفعليين الذين لم يتم اكتشافهم. تم الإبلاغ عن القيم التالية بعد إجراء التجارب وموضحة في الجدول 6 أدناه.

مقياس الأداءالقيمة
TP143
FP39
FN19
بريسيسون0.786 (78.6%)
الاستدعاء0.883 (88.3%)
نتيجة الفورمولا 10.831 (83.1%)
FPPI0.867

الجدول 6: مقاييس الأداء لخوارزمية اكتشاف المشاة المبنية على FPGA المنفذة.

لذا يصف الجدول 6 أعلاه دقة خوارزمية كشف المشاة من خلال مقاييس الأداء المختلفة، والدقة، والاستدعاء، ودرجة F1، وFPPI، عندما يتم تنفيذ الخوارزمية على منصة الأجهزة.

مقارنة الأداء مع تطبيقات HoG القائمة على FPGA الحالية
وأخيرا، يمكن مقارنة العمل المنفذ مع الأدبيات السابقة لتوضيح أي مساهمات مهمة لهذا البحث. هذا المقارنة موضح في الجدول 715، 16، 17، 21، 24أدناه. المقالات التي تجرى من خلالها المقارنة كلها تعتمد على تطبيقات اكتشاف المشاة المطبقة على منصات FPGA، والخوارزميات المستخدمة لهذه الاكتشافات هي نفسها للجميع، وهو HoG مع مصنف، وهو إما مصنف Adaboost أو SVM. حجم الصورة أيضا نفسه لكل واحد (640 × 480). يتم إجراء المقارنة بناء على معايير مثل تردد الساعة التي تؤثر على السرعة، والإطارات في الثانية، واستهلاك الطاقة، واستهلاك الموارد من حيث LUTs، وDSPs، والذاكرة، والقطع، والسجلات. لتحفيز مقارنة عادلة، فإن الأوراق البحثية التي تم النظر فيها للمقارنة لها دقة صور متشابهة، ولتطبيع مقارنة الموارد، يتم تطبيع كل استخدام للموارد عن طريق قسمة عدد الموارد المستهلكة على إجمالي الموارد المتاحة وفقا للوحة FPGA المستخدمة.

المرجعحجم الصورةمجلس FPGAتردد الساعةالإطارات في الثانية (FPS)القوةالبكسلات /الساعةLUTs (٪)DSP48s (٪)ذاكرة BRAMs / بتات الذاكرة (٪)السجلات/القواعد (FF) (٪)
15640×480زيلينكس زينك82.2 ميجاهرتز40-14020-
24640×480فيرتكس 6150 ميجاهرتز1019 W395322-
16640×480إعصار V162 ميجاهرتز5269 W0.99218610021
17640×480ألتيرا DE2-11550 ميجاهرتز1293.6 وايت-73-7260
21640×480Zync 7000100 ميجاهرتز2401.6 وايت-133110
هذا العمل640 × 480ألترا 96 v2150 ميجاهرتز832.435W0.063257353124

الجدول 7: مقارنة المعلمات والأداء لتنفيذ اكتشاف المشاة على FPGA

كما هو موضح في الجدول 7 أعلاه، يمكن ملاحظة أنه عند مقارنة التنفيذ في هذا البحث مع الأعمال السابقة، تظهر المقارنات تحسنا كبيرا من حيث السرعة. لوحة FPGA قادرة على العمل بتردد ساعة 150 ميجاهرتز، مما يعني أن الفترة الزمنية لإتمام المهمة بأكملها أقل من 6 نانوثان. على الرغم من أن بعض الأعمال السابقة أبلغت عن معدل إطارات أعلى بكثير، إلا أنه من خلال الفحص الدقيق يمكن تحليل أن هذه الميزة تأتي على حساب استهلاك طاقة أعلى وكذلك الاستخدام شبه الكامل لبعض الموارد. إذا أخذنا استهلاك الطاقة في الاعتبار مقارنة بهذا العمل، فإن الطاقة المبلغ عنها أيضا أقل من الجانب المطلوب، وتشير استخدامات الموارد إلى أن استهلاك كل مورد أكبر قليلا من بعض التنفيذات، لكنه يساوي أو أقل من 50٪ (57٪ LUTs، 35٪ DSPs، و31٪ BRAM)، مما يدل على مساحة كبيرة لتنفيذ المزيد من المهام في هذا التصميم. بشكل عام، يمكن القول إن العمل المنفذ في هذه الورقة يحقق موازنة متوازنة بين الأداء والطاقة واستخدام الموارد. بالإضافة إلى ذلك، أظهر العمل المعروض توازيا قابلا للتوسع عبر عدة كتل IP دون التأثير بشكل كبير على معايير الأداء.

الملف التكميلي 1: Script_1_train_test.py.يرجى الضغط هنا لتحميل هذا الملف.

الملف الإضافي 2: Script_2_HLS_hog.cpp. يرجى الضغط هنا لتحميل هذا الملف.

الملف التكميلي 3: Script_3_HLS_test_bench.cpp. يرجى الضغط هنا لتحميل هذا الملف.

الملف التكميلي 4: Script_4_HLS_consts.h.يرجى الضغط هنا لتحميل هذا الملف.

الملف التكميلي 5: Script_5_jupyter_code.txt.يرجى الضغط هنا لتحميل هذا الملف.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

تنفذ هذه الدراسة بشكل فعال نظام كشف المشاة في الوقت الحقيقي باستخدام خوارزمية HoG + SVM على أجهزة FPGA متقدمة تعتمد على لوحة تطوير Zynq UltraScale+ MPSoCرقم 24. تشير النتائج إلى أن خوارزمية HoG التقليدية للكشف البشري11 تحقق دقة تقارب 95٪ وتستخدم فقط نصف موارد FPGA المدمجة (LUTs، FFs، BRAM، DSPs)، مما يترك قدرة هائلة على تضمين معالجة أكبر بكثير لأداء بعض المهام المختلفة. عند تحليل نهج التنفيذ بالكامل، يلاحظ وجود خطوات حرجة متداخلة. إحدى الخطوات الرئيسية هي تدريب نموذج SVM 18,19,24 بمجموعة بيانات مناسبة لاكتشاف المشاة الفعال بحيث يتم استخراج الأوزان واستخدامها في برمجة FPGA. سيشير رمز التدريب إلى دقة الأداء، ويجب ضبط عتبة الكشف بعناية من خلال معامل التنظيم لتحقيق دقة تقارب 95٪. المعايير المختارة في التدريب هي أوصاف HoG المخصصة بحجم نافذة 64 × 128، حجم كتلة 16 × 16، حجم خلية 8 × 8، وعدد صناديق يتم اختياره ب 9. حاليا، تم إجراء التدريب على مجموعة بيانات INRIAرقم 11 مع 2416 صورة إيجابية و1218 صورة سلبية. تشمل الزيادة تدوير الصور لتوفير النسخة المعكوسة الأفقية. سيتم معالجة إدراجات رئيسية أخرى، مثل تقييم النموذج في ظروف ضعف الرؤية أو اختلافات في المقاييس، في أعمال مستقبلية لضمان قابلية التكرار والمتانة. يجب أن تتضمن مجموعة البيانات التي تم النظر فيها للتدريب صورا للمشاة في أوضاع مختلفة، ويجب أن تتضمن أيضا صورا لا تحتوي على أي مشاة18,19.

الخطوة الحاسمة الأخرى هي إنشاء مخطط الكتل للنظام بأكمله بحيث يمكن لجزء PS من لوحة FPGA التواصل مع جزء PL. في هذه الخطوة، يجب التأكد من أن كل كتلة مميزة بالمنافذ الصحيحة وأنها متصلة بشكل صحيح مع الكتل الأخرى. توفر الأداة أيضا توجيها تلقائيا مع اقتراحات لمساعدة المصمم. خطوة حاسمة جدا هي تعيين العناوين بعد إكمال مخطط الكتلة. يجب تعيين عناوين IP المستوردة ل HoG حسب عمقها، ويجب ألا تكون هذه العناوين متطابقة لأي عنوانين IP. هذه العناوين مطلوبة في كود بايثون على بطاقة SD لمساعدة جزء PS في لوحة FPGA على فهم موقع العنوان في PL الذي يجب عليه الوصول إليه لقراءة وكتابة البيانات. لذا فإن الخطوة التحدي هي تطوير الواجهة على منصة بايثون التي تسمح للمستخدم بتغذية الصور الداخلة/الفيديوهات/تغذية الكاميرا الحية إلى FPGA، وعرض صورة الإخراج مع المشاة المكتشفين بعد استلام الصور المعالجة من FPGA. يحتاج كود بايثون إلى كتابة مع رسائل تصحيح مختلفة حتى يتمكن المصمم من عرض النتائج الوسيطة، وفي حال حدوث أعطال، يمكن تشخيص وتصحيح الأخطاء. تم قضاء وقت هائل في هذا البحث لإنشاء واجهة مناسبة بين ال PS وجزء PL. تمكن سكريبت بايثون لهذه الواجهة من الوصول إلى بيانات عناوين HoG بعد عدة تكرارات، وكان تضمين عدة عبارات لعرض النتائج الوسيطة مفيدا جدا في استكشاف الأخطاء وتصحيحها.

أحد القيود الملحوظة في هذه الطريقة هو استخدام جزء بايثون لإنشاء الواجهة بين PS وجزء PL من FPGA. بينما قللت منصة بايثون وقت التصميم بشكل كبير، إلا أنها أدخلت عبئا إضافيا يؤثر على الأداء في الوقت الحقيقي. أبلغ نظام كشف المشاة المعجل بالأجهزة عن معدل نقل 83 إطار في الثانية، لكن الأداء العام للنظام تأثر بسبب التأخير أو أصبح غير مستجيب أثناء اختبار الكاميرا الحية بسبب التأخيرات الناتجة عن نقل البيانات بين PS وPL. المنظور المستقبلي يحمل إمكانية تطوير نظام متكامل معجل بالأجهزة دون أي اعتماد على البرمجيات.

على الرغم من وجود قيود كما هو موضح أعلاه، إلا أن البحث يساهم بشكل كبير حيث يمكن تكييف النظام المطور بسلاسة لاكتشاف المشاة في الصور الثابتة، أو البث الحي، أو مدخلات الفيديو. تتطلب هذه الطرق الثلاث تعديلات طفيفة فقط على كود بايثون على منصة Jupyter، مما يثبت قدرة النظام على التكيف السريع مع سيناريوهات مختلفة. تشير النتائج إلى أن التنفيذ على بنى FPGA المتقدمة يحقق نتائج مشجعة، حيث أن معايير الأداء محسنة للغاية، مما ينتج عنه قيم جيدة ومقبولة. تردد الساعة المحقق مشابه للأدبياتالسابقة 14، 15، 16، 20، 23، مما يشير إلى أن السرعة لم تتأثر، بينما يشير استهلاك الطاقة الأدنى إلى عدم وجود مشاكل في التدفئة. بالإضافة إلى ذلك، يظهر استخدام الموارد أن جميع الموارد تستخدم بأقل من 50٪، مما يشير إلى إمكانات كبيرة لمزيد من التحسينات التصميمية.

يمكن استخدام النظام المطور في أي تطبيق يتطلب مهمة اكتشاف البشر، ويمكن تكييفه لتطبيقات الوقت الحقيقي. كما قد تركز الجهود المستقبلية على إزالة القيود المذكورة من خلال تطوير النظام بالكامل إما على الجزء الإضافي من خلال جعل منطق FPGA يقرأ صور الإدخال ويعرض صور الإخراج المعالجة بنفسه، حيث لا تزال الموارد المتوفرة على متن السفينة ما يقرب من 50٪. وأيضا إذا كان من المقرر استخدام دمج PS وPL، فيمكن تطوير الواجهات من خلال أدوات تطوير البرمجيات (SDK). يمكن أن تشمل الامتدادات الأخرى تحديد المشاة في ظروف جوية أقسى بكثير أو خلال انخفاض الرؤية، أو تحديد المشاة المحجوبين المختبئين خلف أشياء أخرى، مما يتطلب تعديلات على الخوارزمية. التعديل الوحيد المطلوب في هذه الحالات هو استبدال الأوزان المدربة على SVM بعد التدريب المناسب وفقا للتحدي المختار، وبقية النظام لا تتطلب أي تعديلات أخرى. لذا فإن النظام المطبق مناسب جدا للتكيف مع سيناريوهات تحدية أخرى بسهولة. رؤية مستقبلية أخرى قد تكون التركيز على دمج ميزات إضافية في النظام لإنشاء مركبة ذاتية القيادة بالكامل باستخدام لوحة FPGA المتقدمة.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

يعلن المؤلفون أنهم لا يواجهون تضارب مصالح.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
بايثونبايثونالإصدار 3.10
لوحة FPGA ألترا 96 V2 Xilinx تم تقديمه في 2018منصة تنفيذ الأجهزة المستخدمة لتنفيذ خوارزمية اكتشاف المشاة
فيفادو AMD2019.2أداة برمجة FPGA المستخدمة لبرمجة لوحة FPGA Ultra 96 v2 باستخدام خوارزمية اكتشاف المشاة 
فيفادو HLS AMD2019.2أداة التوليف عالية المستوى المستخدمة في برمجة رمز اكتشاف المشاة على مستوى عال في الورقة لتصدير الملكية الفكرية (IP)

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Nkuzo, L., Sibiya, M., Markus, E. Computer vision-based applications in modern cars for safety purposes: A systematic literature review. 2023 Conference on Information Communications Technology and Society (ICTAS), Durban, South Africa, , (2023).
  2. Nidamanuri, J., Nibhanupudi, C., Assfalg, R., Venkataraman, H. A progressive review - Emerging technologies for ADAS driven solutions. IEEE Trans Intell Veh. 7 (2), 326-341 (2021).
  3. Bathla, G., et al. Autonomous vehicles and intelligent automation: Applications, challenges, and opportunities. Mob Inf Syst. 2022, 7632892(2022).
  4. Yamamoto, R., Izumi, Y., Aono, R., Nagahara, T., Tanaka, T., Liao, W., Mitsuyama, Y. Development of autonomous driving system based on image recognition using programmable SoCs. 2021 International Conference on Field-Programmable Technology (ICFPT), Auckland, New Zealand, , (2021).
  5. Kasem, A., Reda, A., Vásárhelyi, J., Bouzid, A. A survey about intelligent solutions for autonomous vehicles based on FPGA. Carpathian J Electr Comput Eng. , (2021).
  6. Nane, R., et al. A survey and evaluation of FPGA high-level synthesis tools. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 35 (10), 1591-1604 (2015).
  7. Cao, J., et al. Pedestrian detection algorithm for intelligent vehicles in complex scenarios. Sensors. 20 (13), 3646(2020).
  8. Chen, W., Zhu, Y., Tian, Z., Zhang, F., Yao, M. Occlusion and multi-scale pedestrian detection: a review. Array. 19, 100318(2023).
  9. Galvao, L. G., Abbod, M., Kalganova, T., Palade, V., Huda, M. N. Pedestrian and vehicle detection in autonomous vehicle perception systems—A review. Sensors. 21 (21), 7267(2021).
  10. Akshayaa, S., Nithin, S. Comparative study of pedestrian detection techniques for driver assistance system. 2021 Second International Conference on Electronics and Sustainable Communication Systems (ICESC), Coimbatore, India, , (2021).
  11. Dalal, N., Triggs, B. Histograms of oriented gradients for human detection. Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), San Diego, CA, USA, , (2005).
  12. Singh, G., Kaur, A., Bhardwaj, V., Shrivastava, S. Optimizing IoT capabilities: leveraging FPGA for superior performance, efficiency and security. 2024 5th International Conference for Emerging Technology (INCET), Belgaum, India, , (2024).
  13. Shrivastava, S., Kumar, B. V., Gupta, R., Sharma, V. Advancements in real-time image processing using Kintex and Virtex FPGAs: enhancing speed, efficiency, and versatility. 2025 IEEE International Conference on Interdisciplinary Approaches in Technology and Management for Social Innovation (IATMSI), Gwalior, India, , (2025).
  14. Rettkowski, J., Boutros, A., Göhringer, D. Real-time pedestrian detection on a Xilinx Zynq using the HOG algorithm. 2015 International Conference on Reconfigurable Computing and FPGAs (ReConFig), Riviera Maya, Mexico, , (2015).
  15. Ngo, V., Casadevall, A., Codina, M., Castells-Rufas, D., Carrabina, J. A high-performance HOG extractor on FPGA. arXiv. , 1802.02187(2018).
  16. Adiono, T., Prakoso, K. S., Putratama, C. D., Yuwono, B., Fuada, S. HOG-AdaBoost implementation for human detection employing FPGA ALTERA DE2-115. Int J Adv Comput Sci Appl. 9 (10), 353-358 (2018).
  17. Dürre, J., Paradzik, D., Blume, H. A HOG-based real-time and multi-scale pedestrian detector demonstration system on FPGA. Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, California, USA, , (2018).
  18. Wasala, M., Kryjak, T. Real-time HOG+SVM based object detection using SoC FPGA for a UHD video stream. 2022 11th Mediterranean Conference on Embedded Computing (MECO), Budva, Montenegro, , (2022).
  19. Lin, Y. Research on HOG-SVM pedestrian detection method based on FPGA. Appl Computat Eng. 9, 272-281 (2023).
  20. Ranawaka, P., et al. Application specific architecture for hardware accelerating HOG-SVM to achieve high throughput on HD frames. 2019 IEEE 30th International Conference on Application-Specific Systems, Architectures and Processors (ASAP), New York, NY, USA, 2160, 131-134 (2019).
  21. Luo, J. H., Lin, C. H. Pure FPGA implementation of an HOG based real-time pedestrian detection system. Sensors. 18 (4), 1174(2018).
  22. Ma, X., Najjar, W. A., Roy-Chowdhury, A. K. Evaluation and acceleration of high-throughput fixed-point object detection on FPGAs. IEEE Transactions on Circuits and Systems for Video Technology. 25 (6), 1051-1062 (2015).
  23. Weng, G. Real-time pedestrian recognition on low computational resources. arXiv. , 2309.01353(2023).
  24. Nguyen, T. A., Tran-Thi, T. Q., Bui, D. H., Tran, X. T. FPGA-based human detection system using HOG-SVM algorithm. 2023 International Conference on Advanced Technologies for Communications (ATC), Da Nang, Vietnam, , (2023).
  25. Tarchoun, B., Khalifa, A. B., Dhifallah, S., Jegham, I., Mahjoub, M. A. Hand-crafted features vs deep learning for pedestrian detection in moving camera. Traitement du Signal. 37 (2), 209-216 (2020).
  26. Suleiman, A., Chen, Y. H., Emer, J., Sze, V. Towards closing the energy gap between HOG and CNN features for embedded vision. 2017 IEEE International Symposium on Circuits and Systems (ISCAS), Baltimore, MD, USA, , (2017).
  27. Ultra96-V2 Single Board Computer Hardware User’s Guide. , Avnet. Available from: https://www.avnet.com (2025).

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Pedestrian DetectionAutonomous DrivingField Programmable Gate ArrayFPGA ImplementationReal Time DetectionHistogram Of Oriented GradientsSupport Vector MachineHigh Level SynthesisUltra 96 V2Smart Transportation

Related Articles