انتقل إلى المحتوى

دليل البدء السريع: كاميرا Raspberry Pi و Pi مع YOLOv5 و YOLOv8

يهدف هذا الدليل الشامل إلى تسريع رحلتك مع YOLO نماذج الكشف عن الكائنات على Raspberry Pi باستخدام كاميرا Pi. سواء كنت طالبا أو هاويا أو محترفا ، فقد تم تصميم هذا الدليل لمساعدتك على العمل في أقل من 30 دقيقة. يتم اختبار التعليمات هنا بدقة لتقليل مشكلات الإعداد ، مما يسمح لك بالتركيز على استخدام YOLO لمشاريعك المحددة.



شاهد: تحديثات وتحسينات Raspberry Pi 5.

المتطلبات المسبقه

  • راسبيري باي 3 أو 4 أو 5
  • كاميرا Pi
  • نظام التشغيل راسبيري باي ٦٤ بت

قم بتوصيل كاميرا Pi بجهاز Raspberry Pi عبر كابل CSI وقم بتثبيت نظام التشغيل Raspberry Pi 64 بت. تحقق من الكاميرا باستخدام الأمر التالي:

libcamera-hello

يجب أن تشاهد موجز فيديو من الكاميرا.

اختر ما لديك YOLO الإصدار: YOLOv5 أو YOLOv8

يوفر لك هذا الدليل المرونة للبدء بأي منهما YOLOv5 أو YOLOv8. كلا الإصدارين لهما مزايا فريدة وحالات استخدام. الخيار لك ، ولكن تذكر أن هدف الدليل ليس مجرد إعداد سريع ولكن أيضا أساس قوي لعملك المستقبلي في اكتشاف الكائنات.

تفاصيل الأجهزة: في لمحة

لمساعدتك في اتخاذ قرار مستنير بشأن الأجهزة ، قمنا بتلخيص تفاصيل الأجهزة الرئيسية ل Raspberry Pi 3 و 4 و 5 في الجدول أدناه:

ميزة راسبيري باي 3 راسبيري باي 4 راسبيري باي 5
وحده المعالجه المركزيه 1.2 جيجا هرتز رباعي النواة ARM Cortex-A53 1.5 جيجا هرتز رباعي النواة 64 بت ARM Cortex-A72 2.4 جيجا هرتز رباعي النواة 64 بت Arm Cortex-A76
كبش 1 جيجابايت LPDDR2 2 جيجابايت أو 4 جيجابايت أو 8 جيجابايت LPDDR4 التفاصيل غير متوفرة بعد
منافذ يو اس بي 4 منافذ USB 2.0 ٢ منفذ يو إس بي ٢,٠، ٢ منفذ يو إس بي ٣,٠ ٢ منفذ يو إس بي ٣,٠، ٢ منفذ يو إس بي ٢,٠
شبكة إيثرنت وواي فاي 802.11n جيجابت إيثرنت وواي فاي 802.11ac شبكة جيجابت إيثرنت مع دعم PoE + ، وشبكة Wi-Fi® 802.11ac مزدوجة النطاق
اداء أبطأ ، قد يتطلب أخف وزنا YOLO نماذج أسرع ، يمكن تشغيل معقدة YOLO نماذج التفاصيل غير متوفرة بعد
متطلبات الطاقة 2.5A امدادات الطاقة 3.0A USB - C امدادات الطاقة التفاصيل غير متوفرة بعد
الوثائق الرسمية رابط رابط رابط

يرجى التأكد من اتباع التعليمات الخاصة بطراز Raspberry Pi الخاص بك لضمان عملية إعداد سلسة.

بداية سريعة مع YOLOv5

يوضح هذا القسم كيفية الإعداد YOLOv5 على Raspberry Pi بكاميرا Pi. تم تصميم هذه الخطوات لتكون متوافقة مع مكدس كاميرا libcamera الذي تم تقديمه في Raspberry Pi OS Bullseye.

تثبيت الحزم الضرورية

  1. تحديث راسبيري باي:

    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get autoremove -y
    
  2. استنساخ YOLOv5 مستودع:

    cd ~
    git clone https://github.com/Ultralytics/yolov5.git
    
  3. قم بتثبيت التبعيات المطلوبة:

    cd ~/yolov5
    pip3 install -r requirements.txt
    
  4. بالنسبة إلى Raspberry Pi 3 ، قم بتثبيت إصدارات متوافقة من PyTorch و Torchvision (تخطي ل Raspberry Pi 4):

    pip3 uninstall torch torchvision
    pip3 install torch==1.11.0 torchvision==0.12.0
    

حور detect.py

لتمكين تدفقات TCP عبر SSH أو CLI، هناك حاجة إلى تعديلات طفيفة في detect.py.

  1. مفتوح detect.py:

    sudo nano ~/yolov5/detect.py
    
  2. البحث عن ملف is_url سطر لقبول تدفقات TCP:

    is_url = source.lower().startswith(('rtsp://', 'rtmp://', 'http://', 'https://', 'tcp://'))
    
  3. التعليق على view_img سطر:

    # view_img = check_imshow(warn=True)
    
  4. حفظ وخروج:

    CTRL + O -> ENTER -> CTRL + X
    

بدء دفق TCP باستخدام Libcamera

  1. بدء دفق TCP:

    libcamera-vid -n -t 0 --width 1280 --height 960 --framerate 1 --inline --listen -o tcp://127.0.0.1:8888
    

حافظ على تشغيل جلسة العمل الطرفية هذه للخطوات التالية.

أجرى YOLOv5 استدلال

  1. قم بتشغيل الزر YOLOv5 الكشف:

    cd ~/yolov5
    python3 detect.py --source=tcp://127.0.0.1:8888
    

بداية سريعة مع YOLOv8

اتبع هذا القسم إذا كنت مهتما بالإعداد YOLOv8 بدلا. الخطوات متشابهة تماما ولكنها مصممة خصيصا ل YOLOv8الاحتياجات الخاصة.

تثبيت الحزم الضرورية

  1. تحديث راسبيري باي:

    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get autoremove -y
    
  2. قم بتثبيت الزر ultralytics Python حزمة:

    pip3 install ultralytics
    
  3. اعاده تمهيد:

    sudo reboot
    

بدء دفق TCP باستخدام Libcamera

  1. بدء دفق TCP:

    libcamera-vid -n -t 0 --width 1280 --height 960 --framerate 1 --inline --listen -o tcp://127.0.0.1:8888
    

أجرى YOLOv8 استدلال

لإجراء الاستدلال باستخدام YOLOv8، يمكنك استخدام ما يلي Python مقتطف الشفرة:

from ultralytics import YOLO

model = YOLO('yolov8n.pt')
results = model('tcp://127.0.0.1:8888', stream=True)

while True:
    for result in results:
        boxes = result.boxes
        probs = result.probs

الخطوات التالية

تهانينا على الإعداد الناجح YOLO على راسبيري باي الخاص بك! لمزيد من التعلم والدعم ، قم بزيارة Ultralyticsومؤسسة كشمير العالمية.

شكر وتقدير واستشهادات

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

لمزيد من المعلومات حول أنشطة مؤسسة كشمير العالمية ، يمكنك زيارة موقع الويب الخاص بهم.



تم النشر في 2023-11-12, اخر تحديث 2024-02-03
المؤلفون: جلين جوشر (2)

التعليقات