مقالة منهجية

بنية عتادية تكيفية الدقة للكشف عن الحواف باستخدام خوارزمية سوبل في الوقت الفعلي، تحقق قياساً دون خطي للموارد

17 مشاهدات

DOI:

10.3791/71589

أغسطس 28, 2026

في هذه المقالة

ملخص

يقدم هذا العمل تنفيذاً لخوارزمية سوبل (Sobel) لكشف الحواف استناداً إلى مصفوفات البوابات المنطقية القابلة للبرمجة ميدانياً (FPGA) على المنصة غير المتجانسة Ultra96-V2، مع تقييم استهلاك الموارد والطاقة والسرعة عبر دقة صور تتراوح من 256 × 256 إلى 2560 × 1440. وتُظهر البنية المقترحة توسعاً دون خطي (sub-linear) في الموارد لتطبيقات معالجة الصور في الوقت الفعلي.

الملخص

يعد كشف الحواف مجالاً رئيسياً ضمن الرؤية الحاسوبية، وقد أصبح جزءاً لا يتجزأ من مختلف مجالات التطبيق. يتيح كشف الحواف تحديد الحواف، وهي ميزات حاسمة في الصور وتمثل سمات مهمة تساعد في استخراج المعلومات الأساسية والمميزة من الصور. يجب أن يكون التنفيذ العتادي لكشف الحواف سريعاً، وأن يستخدم الحد الأدنى من الموارد، ويستهلك طاقة أقل، وأن يكون قابلاً للتكيف مع دقة الصور المختلفة. تنفذ هذه الورقة خوارزمية Sobel لكشف الحواف بدقة صور تكيفية، تتراوح من صورة منخفضة الدقة إلى الدقة العالية الكاملة، وتستخدم منصة مصفوفة بوابات منطقية قابلة للبرمجة ميدانياً (FPGA) غير متجانسة وحديثة، وهي Ultra96-V2. وتكشف النتائج أن 5% فقط من الموارد الموجودة على لوحة FPGA، بما في ذلك جداول البحث (LUTs)، والقالبات القلبية (FF)، ومعالج الإشارات الرقمية (DSP)، والذاكرة الكتلية (BRAM)، قد استُخدمت للصور منخفضة الدقة، بينما استُهلك ما يقرب من 23% من الموارد الموجودة على اللوحة للصور عالية الدقة. وهذا يوضح أن الزيادة في استهلاك الموارد عند الانتقال من الصور منخفضة الدقة إلى عالية الدقة هي أقل من 20%. بالإضافة إلى ذلك، يبلغ تبدد الطاقة حوالي 2 W لأعلى دقة، وسُجل أقصى تردد تشغيلي عند 136 MHz للصور عالية الدقة و 166 MHz للصور منخفضة الدقة، مما يظهر انخفاضاً في التردد بنسبة 18% فقط. تحقق البنية المقترحة تحجيماً دون خطي للموارد، مع زيادة في استهلاك الموارد بنسبة أقل من 20% وانخفاض في السرعة والطاقة بنسبة أقل من 20% عند التعامل مع زيادة بمقدار 56 ضعفاً في عدد البكسلات، وذلك بالاستفادة من مزايا بنية FPGA غير المتجانسة والحديثة. وبناءً على ذلك، فإن قدرة الدقة التكيفية مقترنة بالتحجيم المنخفض للموارد تجعل التصميم المقترح مناسباً بشكل خاص لتطبيقات كشف الحواف في الوقت الفعلي التي تتطلب معالجة صور عالية الجودة.

المقدمة

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

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

توجد طرق متعددة للكشف عن الحواف، بما في ذلك Sobel وPrewitt وRoberts وCanny وغيرها. ومن بين هذه التقنيات، يتميز الكشف عن الحواف بطريقة Sobel بفضل سهولة تطبيقه، وبساطة تنفيذه، ودقته العالية في اكتشاف الحواف3,4,5,6. ويقوم خوارزم Sobel Edge بتحديد تدرجات الصورة في الاتجاهين الأفقي والرأسي باستخدام النواتين Gx وGy على التوالي كما هو موضح أدناه2,4.

تُبرز Gx الحواف في الـ × والاتجاه، بينما يبرز Gy الحواف في اتجاه y12,13وعندما يتم دمجها معاً، فإنها تحدد جميع الحواف في الصورة بشكل كامل.6تُستخدم عملية الالتفاف باستخدام النواة (kernel) والنافذة المنزلقة لتطبيق تقنية "سوبل" (Sobel) للكشف عن الحواف في الصورة. حيث يتم استخراج نافذة من الصورة واحدة تلو الأخرى، بمقاس 3 في 3 بكسل مثلاً، ويُجرى التفاف هذه النافذة مع مصفوفة المرشح (filter matrix) للحصول على القيمة الجديدة للبكسل المركزي. وتُعالج الصورة بأكملها بهذه الطريقة مرة أخرى. وتُستخدم نواتان في تقنية "سوبل" للكشف عن الحواف: إحداهما لاستخراج الحواف في اتجاه المحور x، والأخرى في اتجاه المحور y. وللحصول على جميع الحواف، يتم دمج هاتين النتيجتين. وينتج عن تقنية "سوبل" للكشف عن الحواف نتائج دقيقة وموثوقة، يمكن تحسينها بشكل أكبر من خلال بعض عمليات المعالجة المسبقة.4,5,15يتم تفسير عملية كشف الحواف بطريقة Sobel الكاملة في الشكل 2.

على الرغم من أن جميع الدراسات المنشورة قد قدمت مساهمات كبيرة في مجال كشف الحواف، إلا أن معظم الأبحاث الرئيسية تركزت على دقة صور منخفضة، بينما يتعامل العمل المقدم في هذه الورقة مع دقة صور مختلفة، تتراوح من الصور منخفضة الدقة (256 × 256) إلى دقة الصور عالية الوضوح (HD) (2560 × 1440). وبناءً على ذلك، يعد استقصاء التنفيذ العتادي لخوارزمية Sobel لكشف الحواف لمختلف دقات الصور أمراً بالغ الأهمية لفهم كفاءة التنفيذ عند تطبيقها في سيناريوهات الوقت الفعلي ذات دقات الصور المتنوعة. وقد تم الاعتراف بمصفوفات البوابات المنطقية القابلة للبرمجة ميدانياً (FPGA) كمنصة مناسبة للتنفيذ العتادي، نظراً لملاءمتها للتطوير السريع للنماذج الأولية ومزاياها مثل القابلية لإعادة التشكيل، مما يسمح بإجراء تعديلات سهلة على التصميم دون الحاجة إلى تغيير تكوين العتاد بالكامل6,7,8,9,10,11,12,13. علاوة على ذلك، توفر FPGAs إمكانية المعالجة المتوازية والمعالجة المتسلسلة (pipelining)؛ وبمجرد تحسين مقاييس الأداء والتحقق من صحة المنصة، يمكن أن يتقدم التصميم نحو الإنتاج الفعلي للدوائر المتكاملة محددة التطبيقات (ASICs)14,15. وثمة ميزة مهمة أخرى لـ FPGA هي قابليتها لإعادة التشكيل، والتي تمكن المصممين من إجراء تعديلات على تصميم المنتج في أي وقت دون الحاجة إلى استبدال أي عتاد. فكل ما هو مطلوب هو إعادة برمجة الشريحة، وهو أمر يستغرق وقتاً أو جهداً ضئيلاً جداً، شريطة أن يكون المصمم متمرساً في لغات وصف العتاد مثل VHDL/Verilog4,6,13,16,17. وبالنسبة لتحليل تنفيذ FPGA، فإن المعايير الرئيسية التي تم أخذها في الاعتبار هي السرعة (التردد الأقصى)، واستغلال الموارد، وكفاءة الطاقة. يوضح الجدول 1 الكمية المتزايدة من الدراسات المنشورة في مجال FPGA، ويبين كيف تطورت منشورات FPGA خلال الفترة من 2006 إلى 2024. وهو يوضح بجلاء أن مجال أبحاث FPGA قد انتقل الآن إلى تطبيقات الوقت الفعلي، والواقع المعزز، وحوسبة الحافة، وغيرها من التطبيقات المتقدمة13,14,15,16,17,18,19,20,21,22,23.

يسلط الجدول 2 الضوء على الأعمال المنجزة في الدراسات السابقة المتعلقة بتنفيذ كاشف الحواف Sobel على مصفوفات البوابات المنطقية القابلة للبرمجة (FPGA) في الفترة من 2020 إلى 2025. يذكر الجدول 2 لوحة FPGA المستخدمة، والخوارزميات المنفذة، ومنهجية التصميم، والنتائج، والمقاييس، ومجال التطبيق، والتحديات التي واجهت كل مقال تمت الإشارة إليه.

أوصى المؤلفون4 باستخدام طريقة Sobel Edge ثمانية الاتجاهات لزيادة دقة اكتشاف الحواف، ومع ذلك، فقد أبلغوا عن استهلاك أعلى للموارد في المنهجية المقترحة. وقد استخدم Navinkumar وزملاؤه تقنية لتقليل العمليات الرياضية المعقدة للضرب والجذر التربيعي المتضمنة في الكشف التقليدي عن حواف Sobel، وذلك لتوفير الموارد المدمجة وتحسين السرعة9. ووثق المؤلفون17 استخدام خوارزمية Sobel Edge Detection لتحديد المسارات في أنظمة مساعدة السائق المتقدمة، وكان هدفهم هو تسريع عملية الاكتشاف مع تقليل وقت المعالجة. وبشكل عام، تم اقتراح استخدام اكتشاف الحواف كطريقة موثوقة لاستخراج المنطقة ذات الاهتمام في المستقبل، وهو ما قد يكون مفيداً جداً في مجموعة متنوعة من التطبيقات التي تتطلب استخراج المنطقة المطلوبة من الصورة مع تجاهل أي معلومات أخرى غير ضرورية. وشملت التحديات التي تم الإبلاغ عنها بشكل جماعي: الاستهلاك العالي للموارد والذاكرة، والحساسية للضوضاء، والتكلفة الحسابية العالية، ومحدودية القابلية للتوسع بالنسبة للصور ذات الدقة العالية4,5,6,11,12,13,21,22,23.

في هذا العمل، تم تنفيذ خوارزمية "سوبيل" (Sobel) التقليدية للكشف عن الحواف على لوحة FPGA من طراز Ultra96-V2، وذلك لدقة صور مختلفة تتراوح من الدقة المنخفضة 256 × 256 إلى دقة عالية الوضوح تبلغ 2560 × 1440. تعد Ultra96-V2 لوحة تجمع بين إمكانيات برمجة FPGA ومعالجة Arm القوية (Cortex-A53/R5) للتطبيقات عالية الأداء. تم إصدار هذه اللوحة لأول مرة في عام 2018، وهي تعتمد على عقدة تقنية FinFET بدقة 16 nm18.

لضمان إمكانية تكرار النتائج، نُفذت العملية بالكامل باستخدام سلسلة أدوات قياسية تتكون من Vivado HLS 2019.2 للتوليف عالي المستوى (HLS) و Vivado 2019.2 لعمليتي التسكين والتوجيه (place-and-route)، بالإضافة إلى صورة PYNQ الصادرة عن موارد Ultra96-V2. استُخدم كود HLS لاشتقاق الملكية الفكرية (IP) الخاصة بكاشف حواف Sobel، والتي تم تصديرها ودمجها في مجموعة تصميم Vivado. تم تنفيذ الـ IP في جزء المنطق القابل للبرمجة (PL)، بينما كان جزء نظام المعالجة (PS) في الـ FPGA مسؤولاً عن آليات التحكم ونقل البيانات. وتم الربط بين PS و PL من خلال بروتوكول AXI. جميع المقاييس المسجلة —التردد، واستهلاك الموارد، والطاقة— مأخوذة من تقارير ما بعد التنفيذ، وليس من تقديرات HLS. ظلت إعدادات التنفيذ ثابتة، وتم تغيير دقة الصور فقط طوال التجارب.

تتمثل الإنجازات الهامة لهذا العمل في انخفاض استهلاك الطاقة، وقلة استهلاك الموارد، والسرعة العالية. وتشير النتائج إلى أن استهلاك الموارد المدمجة يقل عن 20% (18% لجداول البحث (LUTs)، و11% للقلابات (FF)، و3% للذاكرة، و10% لمعالج الإشارات الرقمية (DSP)) بالنسبة للصور عالية الدقة، مما يشير إلى توافر إمكانات كبيرة لدمج المزيد من عمليات المعالجة على هذه الصور، وهو أمر متوقع في أي نظام رؤية حاسوبية، حيث أن اكتشاف الحواف ليس سوى خطوة وسيطة. كما يبلغ تبديد الطاقة قرابة 2 W، وسجل تردد التشغيل الأقصى 144 MHz. وتوضح النتائج أن زيادة أحجام الصور بنحو 56 مرة تؤدي إلى زيادة استهلاك الموارد بنسبة 20% فقط تقريبًا، كما انخفضت السرعة وكفاءة تبديد الطاقة بنسبة 20% فقط تقريبًا. يبحث هذا التحليل الخوارزمية بشكل مفصل من منظور مختلف لم يسبق ذكره في الدراسات السابقة، وهو ما يشير بالتالي إلى أن التنفيذ ملائم للغاية للتطبيقات في الوقت الفعلي دون الحاجة إلى حصر الصور في أحجام صغيرة أو دقة منخفضة، الأمر الذي يقلل بالتأكيد من كمية المعلومات المطلوبة في المراحل اللاحقة بعد عملية اكتشاف الحواف.

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

البروتوكول

1. تنفيذ اكتشاف حواف Sobel باستخدام أداة HLS

  1. افتح أداة Vivado HLS 2019.2 وأنشئ مشروعاً. اختر لوحة FPGA كـ Ultra96-V2.
  2. اكتب الكود بلغة المستوى العالي باستخدام لغة C++ لخوارزمية Sobel للكشف عن الحواف، مع جعل معامل حجم الصورة عاماً وغير ثابت.
    ملاحظة: عرض الصورة وارتفاعها غير ثابتين ومكتوبان كمعامل عام في الكود بحيث يمكن تغييرهما بسهولة عند تنويع دقة الصورة دون الحاجة إلى التغيير في مواقع متعددة.
  3. اكتب كود منصة الاختبار (test bench) لخوارزمية Sobel للكشف عن الحواف بلغة C++.
    ملاحظة: تُكتب منصة الاختبار لتوفير الصور المدخلة التي يتم اختبار الكود بناءً عليها.
  4. انقر على “run C simulation” لمحاكاة الكود للتحقق من الصحة الوظيفية. قدم صورة مدخلة إلى منصة الاختبار ثم تحقق من المخرج الناتج، والذي يجب أن يكون صورة تظهر فيها الحواف.
  5. انقر على “run C synthesis” لتخليق كود HLS وتصدير الـ IP الخاص بـ Sobel للكشف عن الحواف.
    ملاحظة: تقوم عملية التخليق بشكل أساسي برسم خريطة للتصميم المبرمج على مكونات مادية، وتجعل التصميم متوافقاً وجاهزاً للتنفيذ العتادي.
  6. راجع تقارير التوقيت واستهلاك الموارد التي أنشأتها الأداة، وتأكد من أن الوقت المقدر لا يتجاوز الوقت المستهدف.
    ملاحظة: جميع هذه النتائج من منصة HLS هي مجرد تقديرات، ويتم حساب المعاملات الفعلية فقط عند تنفيذ التصميم على FPGA.
  7. انقر على “export IP” لتصدير الـ IP الخاص بإجراء Sobel للكشف عن الحواف.
    ملاحظة: يُستخدم هذا الـ IP في الخطوة التالية أثناء تصميم المخطط الكتلي للتنفيذ على FPGA باستخدام أداة Vivado.

2. تنفيذ كشف الحواف بطريقة Sobel على منصة FPGA من طراز Ultra96-V2 باستخدام وحدة HLS IP المستخرجة

  1. افتح أداة Vivado Design Tool وأنشئ مشروعاً جديداً. اختر اللوحة المستهدفة Ultra96-V2 ثم انقر على “Create a new block design”.
  2. استورد وحدة IP الخاصة بـ Sobel edge التي تم تصديرها للتو من أداة HLS. أضف الكتل الضرورية الأخرى لإتمام عملية الربط بين جزء PS وجزء PL.
    ملاحظة: يستخدم المخطط الكتلي وحدات IP مهمة أخرى أيضاً، مثل Zynq Ultrascale IP وSmart Connect وprocessor reset، وغيرها لإنشاء الواجهة بين PS وPL باستخدام بروتوكول Advanced eXtensible Interface (AXI).
  3. انقر على “validate design” للتحقق من صحة التصميم الكتلي. تأكد من عدم وجود أي أخطاء في التصميم أبلغت عنها الأداة. في حال وجود أخطاء، اتبع تعليمات التصحيح ثم قم بالتحقق مرة أخرى.
    ملاحظة: تضمن هذه الخطوة عدم وجود توصيلات مفقودة في المخطط الكتلي، لكنها لا تتحقق من الصحة الوظيفية للتصميم الكتلي.
  4. انقر على “create the HDL wrapper” للحصول على كود HDL عام للتصميم الكتلي.
  5. انقر على “run synthesis” لإجراء عملية التركيب (synthesis) للتصميم للتحقق من أي أخطاء مبلغ عنها. إذا لم يتم العثور على أخطاء، فستشير الأداة إلى نجاح عملية التركيب. بعد إتمام التركيب بنجاح، اطلع على تقارير التوقيت الخاصة بالتركيب للتحقق من وجود أي انتهاكات في التوقيت.
  6. للتحقق من انتهاكات التوقيت، تأكد من عدم ظهور أي من قيم التوقيت بنص أحمر، لأن ذلك يشير إلى أن الوقت المستخدم يتجاوز الوقت المستهدف، مما يعني وجود انتهاكات.
  7. انقر على “run implementation” لتنفيذ التصميم وتقييم تقرير التوقيت والطاقة واستهلاك الموارد.
  8. قم بتوليد ملف “.bit” لبرمجة لوحة FPGA.
    ملاحظة: يظهر المخطط الكتلي للكشف عن حواف Sobel على لوحة Ultra96-V2 في الشكل 3. وكما ذكر سابقاً، فإن المخطط الكتلي مطلوب أساساً لإنشاء واجهة بين جزء PS وجزء PL في لوحة FPGA.

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

  1. لتحضير بطاقة SD، قم بتنزيل ملف صورة PYNQ بصيغة (.img) المخصص للوحة Ultra96-V216 وتثبيت الملف الذي تم تنزيله على بطاقة SD.
  2. قم بتشغيل اللوحة في وضع الإقلاع من بطاقة SD عن طريق تحديد وضعيات المفتاح وفقاً لدليل مرجع Ultra96-V2.
  3. قم بزيارة عنوان URL التالي، http://192.168.3.1، وأدخل اسم المستخدم وكلمة المرور، وكلاهما “xilinx” عند المطالبة بذلك.
    ملاحظة: يُفضل استخدام متصفح Google Chrome لتجنب أي تعارضات تقنية.
  4. قم بالولوج إلى منصة Jupyter واكتب كود Python للجزء الخاص بنظام البرمجيات (PS) لقراءة الصور أو مقاطع الفيديو المدخلة، وإرسال الصورة التي تمت قراءتها إلى الجزء الخاص بنظام العتاد القابل للبرمجة (PL) لمعالجتها.
  5. اكتب كوداً لمهمة إعادة كتابة الصور المعالجة من المنطق القابل للبرمجة (PL) إلى نظام المعالجة (PS) وعرض النتيجة.
    ملاحظة: لعرض النتائج على لوحة Ultra96-V2، تُستخدم منصة PYNQ، والتي تسهل عملية عرض الصور المخرجة بشكل كبير من خلال استخدام أكواد Python ومكتبات OpenCV.
    الشكل 4 يوضح الخطوات المتبعة في نهج Ultra96-V2 كما هو مبين في هذا القسم والمخرجات التي تم الحصول عليها.

النتائج

يناقش هذا القسم النتائج التي تم الحصول عليها في تصميم كاشف حواف سوبيل (Sobel edge detection) على لوحة Ultra96-V2. الشكل 5 يظهر أدناه صورا للمدخلات والمخرجات التي تم الحصول عليها من خلال محاكاة تركيب المستوى العالي (HLS). الصور المستخدمة هي صور قياسية بحجم 512 × 512. وتوضح هذه النتائج أن كود HLS المكتوب للكشف عن الحواف بطريقة Sobel صحيح وظيفياً، حيث يجب أن تكون الحواف واضحة تماماً في الصور الناتجة.

يوضح الجدول 3 تقارير التصنيع والمعاملات الناتجة للتوقيت واستهلاك الموارد على لوحة Ultra96-V2 مع جزء FPGA من طراز xczu3eg-sbva484-1-e. يتكون التقرير من معلومات متعلقة بالتوقيت توضح ما إذا كان التصميم يستوفي قيود التوقيت المحددة من قبل المستخدم. وفقًا لملخص التوقيت، فإن الوقت المقدر وهو 8.54 ns أقل من الوقت المستهدف وهو 10 ns، مما يشير بوضوح إلى أن التصميم يستوفي قيود المستخدم.

تُنتج أدوات HLS أيضاً تقديراً لاستخدام الموارد، مما يزود المصمم بتقدير للاستخدام المحتمل للموارد الموجودة على اللوحة. ولا يمكن توليد معاملات الاستخدام الفعلية إلا بعد التنفيذ المادي للأجهزة. وعلى الرغم من وجود فئات ضخمة ومختلفة من الموارد في FPGA، إلا أن المكونات المادية الأكثر استخداماً هي LUTs (جداول البحث)، وFFs (القالبات)، وDSP Slices (شرائح معالجة الإشارات الرقمية)، والذاكرة.

يوضح الجدول 3 أيضاً التوقيت الفعلي واستهلاك الموارد عند تطوير كشف الحواف بطريقة Sobel على لوحة Ultra96-V2 للصور عالية الدقة. ويظهر تحليل التوقيت أن أسوأ ارتخاء سلبي (worst negative slack) هو 3.102 ns، مما يشير إلى وجود وقت كافٍ للمعالجة، وبالتالي تم تحقيق سرعة ساعة تبلغ 14 MHz. كما أن تردد التشغيل الذي تم تحقيقه وهو 144 MHz عند دقة 1920 × 1080 يتوافق مع إنتاجية تبلغ حوالي 29 MP/s، وهو ما يتجاوز 62 MP/s المطلوبة لمعالجة فيديو عالي الدقة (Full HD) في الوقت الفعلي بمعدل 30 fps. ولفهم توسع الموارد والتأثير على المعلمات عند الانتقال من الصور منخفضة الدقة إلى الصور عالية الدقة، تم عرض الجدول من خلال النتائج التجريبية التي تتضمن تكرار نفس الخطوات لدققات مختلفة.

يوضح الجدول 4 حجم الصورة وبالتالي إجمالي البكسلات، ثم تردد التشغيل، والقدرة، واستهلاكات الموارد من حيث LUTs وFFs وBRAM وDSP. ويمكن الإشارة بوضوح إلى أنه عند الانتقال من أصغر دقة مدروسة وهي 256 × 256 إلى أعلى دقة وهي 2560 × 1440، والتي تتضمن زيادة تقارب 56 ضعفاً في عدد البكسلات، فإن المعلمات تتغير بنسبة 20% فقط. ويشير هذا بوضوح إلى توسع الموارد بشكل دون خطي (sub-linear)، حيث تزداد البيانات المطلوب معالجتها عدة أضعاف، بينما يكون التدهور في مقاييس الأداء ضئيلاً جداً، مما يجعل النظام مناسباً للنشر في الوقت الفعلي.

تُظهر النتائج المعروضة في Table 4 بوضوح أن تطبيق كاشف حواف Sobel على لوحة Ultra96-V2 يوفر مزايا كبيرة للمهام التي تتطلب دقة قابلة للتكيف، حيث تظل مقاييس الأداء محسنة ولا تظهر تغيرات ملحوظة عند تحديث حجم الصورة من دقة منخفضة إلى دقة عالية. ويُعزى هذا النجاح إلى نهج التنفيذ الهجين الذي يتجنب تحميل منطق FPGA ببيانات الصور بشكل مفرط، مما يمكّن معالج اللوحة من إدارة عبء عمل الصور الكبير. يقوم المعالج ببساطة بنقل بيانات الصورة إلى مكون منطق FPGA، وأي زيادة في قياس الموارد أو انخفاض في التردد الأقصى يكون ناتجاً فقط عن حجم البيانات الكبير الذي يتطلب معالجة أكثر. وبذلك، يمكن القول إن النهج المتبع في هذا البحث يحقق قياساً للموارد دون خطي (sublinear resource scaling) على الرغم من زيادة بكسلات الصورة بنحو 56 ضعفاً.

كما تمت مقارنة العمل المنفذ مع التصميمات الحالية لفهم المقارنة بين مقاييس الأداء، مثل دقة الصورة، وتردد الساعة، واستهلاك الطاقة، واستخدام الموارد. يوضح الجدول 5 المقارنة مع أحدث الدراسات المرجعية.

كما هو موضح بجلاء في الجدول 5، فإن العمل المنفذ في هذه الورقة البحثية يمتلك مقاييس أداء مناسبة، إلا أن الحلول الحالية في التطبيقات السابقة المذكورة9,10 تمتلك معاملات أفضل. ولكن عند إجراء مقارنة شاملة، يمكن ملاحظة أن كلا العملين السابقين9,10 قد اعتمدا على دقة صور منخفضة ومنصات FPGA قديمة، بينما النتائج الموضحة في هذه الورقة تعتمد على دقة صور تكيفية، حيث تتراوح أحجام الصور المعتبرة من أدنى دقة وهي 256 × 256 وصولاً إلى دقة عالية تصل إلى 2560 × 140. وتشير النتائج إلى أن نهج كشف الحواف بطريقة Sobel المنفذ، والذي يسخر قدرات كل من المعالج والجزء المنطقي في لوحة FPGA غير المتجانسة Ultra96-V2، قد أثبت فائدته في تحقيق توسع فرعي للموارد (sub-linear resource scaling) مع زيادة عدد البكسلات بنحو 56 مرة، في حين أن استهلاك الموارد لم يزد إلا بنسبة 20%، كما أن التدهور في الطاقة والسرعة كان أيضاً أقل من 20%. وبالنسبة لأدنى دقة، تم استخدام 5% فقط من الموارد، وكان الحد الأقصى للاستهلاك 23% فقط، مما يترك إمكانية كبيرة لعمليات معالجة إضافية. وبناءً على ذلك، يمكن القول بوضوح إنه بسبب الاختلاف في دقة الصور، يصعب إجراء المقارنة، ولكن إذا تم تحليل التصميم المنفذ في هذا العمل، فإن تردد الساعة يبلغ 136 MHz، واستهلاك الطاقة هو 2 W، واستهلاك الموارد يقل عن 23% من إجمالي الموارد الموجودة على اللوحة. ومن المهم الإشارة إلى أن التطبيقات المذكورة في الأعمال السابقة9,10 تظهر مقاييس أداء فردية متفوقة. ومع ذلك، تجدر الإشارة إلى أن كلا العملين قد قوما بتقييم تصميماتهما عند دقة صورة واحدة ثابتة، بينما تم تقييم العمل المقترح عبر نطاق واسع من الدقات من 256 × 256 إلى 2560 × 1440. لذا فإن أهداف التصميم تختلف جوهرياً، حيث ركز العمل9,10 على تحسين ذروة الأداء عند دقة واحدة، بينما تعطي البنية المقترحة الأولوية للتكيف والتوسع الفرعي للموارد عبر دقات متعددة. وهذا يجعل التصميم المنفذ مناسباً للتطبيقات التي تتطلب كشف الحواف.

وبناءً على ذلك، يمكن القول إنه في هذا العمل، يتم تعريف القياس الخطي الفرعي للموارد (sub-linear resource scaling) على أنه الحالة التي تكون فيها نسبة الزيادة في استهلاك الموارد أقل بكثير من نسبة الزيادة في عدد البكسلات. فعندما تزداد الدقة من 256 × 256 إلى 2560 × 140، يزداد عدد البكسلات بنسبة 560% تقريبًا، بينما تزداد نسبة استهلاك الموارد على اللوحة بنسبة أقل من 20%. ويؤكد معدل نمو الموارد المنخفض بشكل غير متناسب هذا، والناتج مباشرة عن استراتيجية التقسيم غير المتجانس PS-PL، سلوك القياس الخطي الفرعي للبنية المقترحة. وبينما يُظهر التنفيذ المقترح قياسًا خطيًا فرعيًا للموارد عبر نطاق الدقة المختبر، يجب ملاحظة بعض القيود لضمان التفسير الدقيق للنتائج؛ حيث ينخفض تردد التشغيل بنسبة 18% عند الانتقال من الدقة المنخفضة إلى العالية، وقد يتطلب الاستقراء لما وراء 2560 × 140 تعديلاً في البنية للحفاظ على إغلاق التوقيت (timing closure). بالإضافة إلى ذلك، وبما أن نقل بيانات الصور يتم إدارته بواسطة معالج ARM، فإن عبء النقل من جانب PS ينمو خطيًا مع عدد البكسلات، وقد يحد ذلك من الإنتاجية في تطبيقات بث الفيديو المستمر عالي الدقة بشكل يتجاوز ما تشير إليه مقاييس جانب PL وحدها.

مخطط لتطبيقات اكتشاف الحواف: الروبوتات، التصوير، الواقع المعز، الأتمتة، المراقبة.
الشكل 1مجالات تطبيق متنوعة للكشف عن الحواف. توضيح لمجالات التطبيق التمثيلية التي يُستخدم فيها كشف الحواف بشكل شائع، بما في ذلك الرؤية الحاسوبية، والتصوير الطبي، والمراقبة، والروبوتات، والأتمتة الصناعية. يرجى النقر هنا لعرض نسخة أكبر من هذا الشكل.

معالجة الصور: مخطط كشف الحواف باستخدام مؤثر سوبيل مع نوى الالتفاف على الصورة المدخلة.
الشكل 2وصف الخطوات في خوارزمية سوبل لكشف الحواف. مخطط سير العمل الذي يوضح عملية كشف الحواف بطريقة سوبل (Sobel)، بما في ذلك استخراج نافذة صورة بحجم 3 × 3، والالتفاف باستخدام نوى سوبل الأفقية والعمودية، وتوليد صورة المخرجات التي تم فيها كشف الحواف. يرجى النقر هنا لعرض نسخة أكبر من هذا الشكل.

مخطط كتلي لـ Zynq UltraScale+، وبنية النظام التي توضح تدفق البيانات ومكونات الربط البيني AXI.
الشكل 3مخطط صناديقي مُنفذ للكشف عن الحواف بطريقة "سوبل" (Sobel) على لوحة FPGA من طراز Ultra96-V2، باستخدام الربط البيني بين نظام المعالجة (PS) والجزء المنطقي القابل للبرمجة (PL). مخطط صندوقي يوضح بنية العتاد والربط البيني لنظام المعالجة (PS)، والمنطق القابل للبرمجة (PL)، ونوى الملكية الفكرية (IP cores) الداعمة المستخدمة في تنفيذ مصفوفة البوابات المنطقية القابلة للبرمجة ميدانياً (FPGA). يرجى النقر هنا لعرض نسخة أكبر من هذا الشكل.

عملية حرق صورة PYNQ ومسار تصميم Vivado؛ إعداد بطاقة SD، والتحقق من الصحة، وتوليد ملف البتات.
الشكل 4خطوات برمجة لوحة Ultra96-V2 للكشف عن الحواف بطريقة سوبل (Sobel) باستخدام منصة PYNQ، ونتيجة الكشف عن الحواف بطريقة سوبل على صورة مدخلة. مخطط سير العمل الذي يوضح إجراء البرمجة للوحة Ultra96-V2 باستخدام منصة PYNQ وصورة مخرجات نموذجية تم الحصول عليها بعد تنفيذ مصفوفة البوابات المنطقية القابلة للبرمجة ميدانياً (FPGA). يرجى النقر هنا لعرض نسخة أكبر من هذا الشكل.

كشف الألوان والحواف في معالجة الصور؛ شبكة مقارنة بين الصور الأصلية والصور المحسنة الحواف.
الشكل 5نتائج محاكاة كشف الحواف بطريقة سوبيل (Sobel) على صور قياسية مختلفة باستخدام برنامج Vivado HLS (2019.2). صور إدخال تمثيلية ومخرجات كشف الحواف المقابلة لها، تم الحصول عليها أثناء المحاكاة الوظيفية لخوارزمية Sobel لكشف الحواف باستخدام برنامج Vivado HLS 2019.2. يرجى النقر هنا لعرض نسخة أكبر من هذا الشكل.

الجدول 1: تطور تطبيقات FPGA في أبحاث الرؤية الحاسوبية (206–2024).ملخص لتطبيقات الرؤية الحاسوبية التمثيلية القائمة على FPGA والتي تم الإبلاغ عنها بين عامي 206 و2024. يرجى النقر هنا لتحميل هذا الجدول.

الجدول 2: الدراسات الأدبية ذات الصلة بتنفيذ خوارزميات اكتشاف الحواف على مصفوفة البوابات المنطقية القابلة للبرمجة (FPGA) للفترة (2020-2025). مقارنة بين عمليات تنفيذ اكتشاف الحواف الحديثة القائمة على FPGA، بما في ذلك المنصة، والمنهجية، ومقاييس الأداء المسجلة. يرجى النقر هنا لتحميل هذا الجدول.

الجدول 3: تنفيذ اكتشاف حواف Sobel على FPGA: المعاملات المقدرة والمعاملات الفعلية. نتائج تخليق HLS المقدرة وما يقابلها من التوقيت واستهلاك الموارد بعد التنفيذ التي تم الحصول عليها لتنفيذ FPGA. يرجى النقر هنا لتحميل هذا الجدول.

الجدول 4: استخدام الموارد ومقاييس الأداء لخوارزمية سوبل لكشف الحواف المطبقة على دقة صور مختلفة. مقاييس الأداء، وتردد التشغيل، واستهلاك الطاقة، واستخدام موارد FPGA للتنفيذ المقترح عبر دقة صور مختلفة. يرجى النقر هنا لتحميل هذا الجدول.

الجدول 5: مقارنة بين كشف حواف Sobel المنفذ والنسخ الموجودة على FPGA.مقارنة تنفيذ FPGA المقترح مع تنفيذات كشف حواف Sobel التي تم الإبلاغ عنها سابقاً باستخدام مقاييس أداء تمثيلية. يرجى النقر هنا لتحميل هذا الجدول.

المناقشة

تركز هذه الورقة على تنفيذ خوارزمية Sobel للكشف عن الحواف، والتي تعد مكوناً أساسياً في تطبيقات متنوعة عبر مجالات متعددة من الرؤية الحاسوبية ومعالجة الصور2,3,4,5,6. وقد تم تنفيذ خوارزمية Sobel للكشف عن الحواف باستخدام أداة Vivado HLS، مما أتاح البرمجة بلغات عالية المستوى بدلاً من الاعتماد على لغات وصف العتاد. تم تشغيل كود Vivado HLS على لوحة Ultra96-V2. وتشير نتائج ما بعد التنفيذ إلى أن التصميم المنفذ يدعم الصور عالية الدقة ويعمل بتردد 136 MHz مع استهلاك طاقة قدره 2 W وأقل من 20% من إجمالي موارد اللوحة. كما أظهرت النتائج أن هذا النهج مناسب للدقة التكيفية للصور، حيث قد تتطلب التطبيقات المختلفة استخدام أحجام صور متنوعة، وعادة ما يكون الكشف عن الحواف خطوة وسيطة2,3,4,5,6، يتم تنفيذها بشكل متكرر جداً في مسارات التصميم المعقدة. وبناءً على ذلك، يمكن القول إن النظام المصمم يمكن نشره في التطبيقات التي تعمل في الوقت الفعلي وتتطلب الكشف عن الحواف. كما يشير التوفر الكبير للموارد إلى إمكانية دمج خطوات معالجة أخرى متنوعة في النظام المطور6,7,8,9,10,11,12,13,14,15.

يتطلب التنفيذ الناجح لكاشف حواف سوبل (Sobel edge detector) على لوحة Ultra96-V2 اهتماماً دقيقاً بعدة جوانب عملية. حيث يعمل إطار عمل PYNQ على تبسيط التفاعل بين نظام المعالجة (PS) والمنطق القابل للبرمجة (PL) بشكل كبير من خلال تمكين التحكم في الأجهزة عبر مكتبات Python، مما يقلل من جهد تطوير البرمجيات. ومع ذلك، يجب تحميل صورة PYNQ الصحيحة من المصدر الرسمي، وتكوين بطاقة SD بشكل مناسب قبل النشر. كما يعد التحقق الوظيفي من تصميم HLS باستخدام منصات اختبار (test benches) شاملة أمراً ضرورياً قبل تصدير الملكية الفكرية (IP)، حيث يساعد التحقق المبكر في تحديد الأخطاء الخوارزمية وأخطاء الواجهة قبل التنفيذ العتادي. وخلال عمليات تنفيذ FPGA، يتطلب تصميم المخطط الكتلي (block diagram) أيضاً اهتماماً كبيراً من المصمم، إذ يُنصح بفهم بنية عتاد FPGA المستخدم بدقة، ومن ثم اختيار الكتل المناسبة وإجراء التوصيلات. ولا يُنصح بأتمتة التوصيلات بالكامل، لأن ذلك قد يؤدي إلى فقدان بعض التوصيلات أو وجود توصيلات غير مناسبة للتصميم المراد اتباعه. وفي هذه المرحلة من واجهة PS–PL، قد تمنع أخطاء مثل تعيين عناوين AXI غير الصحيحة، أو عدم تطابق نطاقات الساعة (clock-domain mismatches)، أو عمليات نقل DMA غير المهيأة بشكل صحيح، حدوث اتصال ناجح بين المعالج والمنطق القابل للبرمجة. ويمكن تحديد هذه المشكلات باستخدام أدوات التحقق من التصميم في برنامج Vivado وحلها عن طريق مراجعة تعيينات العناوين، وتكوينات الساعة، وتوصيلات المقاطعة (interrupt connections)، وإعدادات DMA قبل توليد تدفق البتات (bitstream). وأثناء تنفيذ FPGA، قد تحدث انتهاكات في التوقيت (timing violations) بسبب المسارات التجميعية الطويلة أو عدم كفاية أنابيب المعالجة (pipelining). ويمكن أن يساعد زيادة مراحل أنابيب المعالجة، أو تحسين هياكل الحلقات التكرارية، أو تخفيف قيود التوقيت عند الاقتضاء، في تحقيق إغلاق التوقيت (timing closure).

بينما يثبت هذا العمل صحة بنية تقسيم PS-PL المقترحة خصيصاً لكشف الحواف بطريقة Sobel، فإن النهج المعماري قابل للتعميم بطبيعته. فأي خوارزمية يمكن التعبير عنها كعملية تلافيف لنافذة منزلقة — بما في ذلك Prewitt أو Roberts أو Laplacian of Gaussian أو مرحلة التدرج في خوارزمية Canny — يمكن تنفيذها بنهج مماثل، مع إدخال تغييرات في تصميم HLS بشكل أساسي3,4,5,6. وهناك بعض القيود التي تشوب العمل المقترح؛ أحد هذه القيود هو التأخير الناتج عن نقل البيانات بين جزئي PS و PL في الـ FPGA، مما يؤثر على زمن التنفيذ الكلي للخوارزمية. علاوة على ذلك، فإن نتيجة القياس دون الخطي (sub-linear scaling) خاصة بالبنية غير المتجانسة لـ Ultra96-V216 وقد لا تنطبق بشكل مباشر على منصات FPGA المتجانسة التي تفتقر إلى نواة معالج مخصصة.

يتضمن النطاق المستقبلي إجراء المزيد من التحسينات على التصميم من خلال عمليات تحسين معينة قد تؤدي إلى زيادة السرعة وتقليل استهلاك الطاقة بشكل أكبر. كما يعد تطويع التنفيذ ليتناسب مع سيناريوهات الوقت الفعلي جانباً آخر محتملاً للنظر فيه في المستقبل.

الإفصاحات

يصرح المؤلفون بعدم وجود تضارب في المصالح. ولم يتم استخدام أي أدوات ذكاء اصطناعي (AI) في إعداد هذه المخطوطة.

شكر وتقدير

ليس لدى المؤلفين أي شكر لتقديمه. لم يتلق هذا البحث أي تمويل خارجي.

المواد

قائمة المواد المستخدمة في هذه المقالة
الاسمالشركةرقم فهرسيالتعليقات
Ultra96-V2 FPGA Board Xilinx طُرح في عام 2018منصة تنفيذ عتادية تُستخدم لتنفيذ خوارزمية اكتشاف المشاة
Vivado HLS AMD2019.2أداة توليف عالية المستوى تُستخدم للبرمجة عالية المستوى لكود اكتشاف المشاة الوارد في الورقة البحثية لتصدير الملكية الفكرية (IP)
Vivado AMD2019.2أداة برمجة FPGA تُستخدم لبرمجة لوحة Ultra 96 v2 FPGA بخوارزمية Sobel لكشف الحواف 

المراجع

  1. Rani N. Image processing techniques: a review. J Today Ideas Tomorrow Technol. 2017;5(1):40-9.
  2. Gonzalez RC. Digital image processing. Pearson Education; India; 2009.
  3. Jena KK, Mishra S, Mishra S. An edge detection approach for fractal image processing. In: Examining Fractal Image Processing and Analysis. IGI Global; 2020. p. 1-22.
  4. Gayathri AG, Remya AS. VLSI implementation of improved Sobel edge detection algorithm [conference presentation]. Presented at: 2021 International Conference on Communication, Control and Information Sciences (ICCISc); 2021 Jun 16. Available from: https://ieeexplore.ieee.org/
  5. Obaid MT. Efficient Implementation of Sobel Edge Detection with ZYNQ-7000 [Master's thesis]. Purdue University.
  6. Asharani P, et al. A inventive method for door detection on FPGA using Sobel edge algorithm [conference presentation]. Presented at: 2022 2nd International Conference on Intelligent Technologies (CONIT); 2022 Jun 24. Available from: https://ieeexplore.ieee.org/
  7. Shylashree N, Anil Naik M, Sridhar V. Design and implementation of image edge detection algorithm on FPGA. Int J Circuits Syst Signal Process. 2022;16:628-36.
  8. Zhou G, Guo S, Chen Z. FPGA-based improved Sobel operator edge detection. Front Comput Intell Syst. 2023;5(2):6-11.
  9. Navinkumar K, Logesh R, VishnuBabu P, Ananthalakshmi AV. FPGA implementation of Sobel edge detection algorithm. EAI Endorsed Trans Internet Things. 2024;10.
  10. Ravichandran S, et al. Parallel processing of Sobel edge detection on FPGA: enhancing real-time image analysis. Sensors. 2025;25(12):3649.
  11. Baloch A, et al. Hardware synthesize and performance analysis of intelligent transportation using Canny edge detection algorithm. Int J Eng Manuf. 2021;11(4):22-32.
  12. Patel CS, Solanki N, Tailor N. Analysis of edge detection using Zynq based SoC FPGA. Turk Online J Qual Inq. 2021;12(7).
  13. Kashyap S, Bhandari AK, Giri P. Low resource FPGA implementation based efficient image edge detector architecture. Multimed Tools Appl. 2024;83(9):25595-615.
  14. Dakshayani V, et al. Design of a Gabor filter-based image denoising hardware model. Electronics. 2022;11(7):1063.
  15. Belmessaoud NM, Bentoutou Y, El-Mezouar MC. FPGA implementation of feature detection and matching using ORB. Microprocess Microsyst. 2022;94:104666.
  16. Castells-Rufas D, et al. A survey of FPGA-based vision systems for autonomous cars. IEEE Access. 2022;10:132525-63.
  17. Vedavyas Y, Vasavi S, Harsha SS, Subhash MS. An FPGA-based adaptive real-time quality enhancement system for drone imagery. SN Comput Sci. 2022;4(1):84.
  18. Avnet. Ultra96-V2 Single Board Computer Hardware User's Guide. Revision 1.0. Avnet; 2020 May.
  19. Singh G, et al. Optimizing IoT capabilities: leveraging FPGA for superior performance, efficiency and security [conference presentation]. Presented at: 2024 5th International Conference for Emerging Technology (INCET); 2024 May 24. Available from: https://ieeexplore.ieee.org/
  20. Kaur A. A survey on FPGA implementations in embedded augmented reality applications [conference presentation]. Presented at: 6th Edition of International Conference on Wireless Networks and Embedded Systems (WECON); 2018 Nov 16. Available from: https://ieeexplore.ieee.org/
  21. Kalaiselvi A, Sajina S, Nithish S, Sowmiya M. Implementation of Sobel edge detection. Int Res J Mod Eng Technol Sci. 2023;5(3):701-11.
  22. Narasimhamurthy CG, Kulkarni S. Fast architecture for low level vision and image enhancement for reconfigurable platform [conference presentation]. Presented at: 2021 International Conference on Advances in Electrical, Computing, Communication and Sustainable Technologies (ICAECT); 2021 Feb 19. Available from: https://ieeexplore.ieee.org/
  23. Pujare A, Sawant P, Sharma H, Pichhode K. Hardware implementation of Sobel edge detection algorithm [conference presentation]. Presented at: ITM Web of Conferences; 2020. Available from: https://www.itm-conferences.org/

إعادة الطباعة والأذونات

الوسوم

EngineeringComputer VisionField Programmable Gate ArrayImage ProcessingImage ResolutionSobel Edge Detection