شيك أخضر
تم نسخ الرابط إلى الحافظة

تحسين تطبيقات الرؤية الحاسوبية باستخدام التصورات

تعرّف على كيفية تحويل البيانات من تطبيقات الرؤية الحاسوبية إلى رسوم بيانية سهلة الفهم باستخدام حزمة Ultralytics Python للحصول على رؤى أفضل.

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

هذا صحيح بشكل خاص عندما يتعلق الأمر بتطبيقات الرؤية الحاسوبية. الرؤية الحاسوبية هي فرع من فروع الذكاء الاصطناعي (AI) يساعد الآلات على تفسير وفهم المعلومات المرئية من العالم المحيط، مثل الصور ومقاطع الفيديو. في حين أن نماذج الذكاء الاصطناعي للرؤية، مثل Ultralytics YOLO11يمكن أن تساعد في تحليل مثل هذه البيانات المرئية للحصول على معلومات، فإن تصور البيانات يساعد في وضع تلك المعلومات في شكل يسهل فهمه.

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

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

الشكل 1. مثال لتصور البيانات بناءً على مخرجات YOLO11.

لمحة عامة عن تصور البيانات في تطبيقات الرؤية الحاسوبية

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

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

فيما يلي بعض الأسباب الرئيسية التي تجعل تصور البيانات مفيدًا:

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

أنواع مختلفة من تصورات البيانات

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

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

الشكل 2. أمثلة على الرسوم البيانية التحليلية.

توليد رسوم بيانية تحليلية للحصول على رؤى حاسوبية

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

تجعل حزمة Ultralytics Python من السهل تدريب النماذج واكتشاف الكائنات وتشغيل التنبؤات وتصور النتائج. للبدء في استخدامها، ستحتاج إلى بيئة ترميز. إليك ثلاثة خيارات بسيطة:

  • واجهة سطر الأوامر (CLI): وهي أداة أساسية نصية فقط حيث يمكنك كتابة الأوامر لتشغيل الشيفرة البرمجية الخاصة بك. وهي لا تحتوي على واجهة مرئية، وتتفاعل معها عن طريق كتابة التعليمات في محطة طرفية أو موجه الأوامر.
  • دفاتر جوبيتر: وهي بيئة ترميز تفاعلية يمكنك من خلالها كتابة وتشغيل واختبار أجزاء صغيرة من التعليمات البرمجية (تسمى "خلايا") واحدة تلو الأخرى. تعرض النتائج مباشرةً أسفل كل خلية، مما يسهل فهم ما يحدث خطوة بخطوة. وهي مفيدة بشكل خاص للتعلم والتجريب.
  • Google كولاب: هذا الخيار هو نسخة مجانية مستندة إلى السحابة من دفاتر Jupyter Notebooks تعمل في متصفح الويب الخاص بك. وهو لا يتطلب أي إعداد على حاسوبك ويمنحك إمكانية الوصول إلى وحدات معالجة الرسومات المجانية لمعالجة أسرع.

تعد هذه الأدوات رائعة للبدء بسرعة، ولكن يمكن للمستخدمين أيضًا دمج Ultralytics في بيئات التطوير المتكاملة (IDEs) مثل Visual Studio Code (VS Code) أو في خطوط الإنتاج. لمزيد من الخيارات، استكشف وثائقUltralytics الرسمية.

الخطوة 1: إعداد البيئة

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

إذا كنت تعمل في Google Colab، فضع في اعتبارك أنه يستخدم CPU افتراضيًا، مما قد يؤدي إلى إبطاء الأداء. لتسريع الأمور، قم بالتبديل إلى GPU بالانتقال إلى قائمة "وقت التشغيل"، واختيار "تغيير نوع وقت التشغيل"، وتعيين مسرع الأجهزة على GPU (من الأفضل أن يكون T4).

لتجهيز بيئتك، ستحتاج إلى تثبيت حزمةUltralytics Python باستخدام الأمر المذكور أدناه. في الأدوات القائمة على دفتر الملاحظات مثل Colab أو Jupyter، تأكد من إضافة علامة تعجب (!) قبل الأمر.

pip install ultralytics

الخطوة 2: تنزيل ملف فيديو

بعد ذلك، سنحتاج إلى فيديو للعمل عليه. يمكنك بسهولة تنزيل واحد من موقع مخزون مجاني مثل Pexels. تأكد من اختيار مقطع فيديو يتضمن كائنات يمكن YOLO11 اكتشافها. بما أن النموذج مُدرَّب مسبقاً على مجموعة بيانات COCO، يمكنه التعرّف على الأجسام الشائعة مثل الأشخاص، والسيارات، والدراجات. 

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

الشكل 3. إطار من فيديو الإدخال يُظهر مناولة الأمتعة في مبنى المطار.

الخطوة 3: استيراد الحزم

بعد ذلك، يمكننا استيراد المكتبات اللازمة وتحميل فيديو الإدخال.

سنبدأ باستيراد OpenCV (cv2)، وهي مكتبة مستخدمة على نطاق واسع للعمل مع الصور والفيديو في الرؤية الحاسوبية. سنقوم أيضًا باستيراد مكتبة Ultralytics والتي تساعدنا في تشغيل اكتشاف الأجسام وإنشاء تحليلات من الفيديو.

بعد ذلك، سنحاول فتح ملف الفيديو من خلال تحديد مساره. تأكد من استبدال "path/to/video.mp4" بالموقع الفعلي لملف الفيديو الذي تم تنزيله. 

أيضًا، يتضمن مقتطف الكود أدناه فحصًا بسيطًا للتأكد من تحميل الفيديو بشكل صحيح. إذا كان المسار خاطئًا أو كان الملف تالفًا، سيتوقف البرنامج ويظهر رسالة خطأ: "خطأ في قراءة ملف الفيديو."

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

الخطوة 4: إعداد كاتب الفيديو

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

في المقتطف البرمجي أدناه، نستخرج أولًا الخصائص الرئيسية من الفيديو المُدخَل - العرض والارتفاع والإطارات في الثانية (fps). هذه القيم مأخوذة مباشرةً من الفيديو ومحوّلة إلى أعداد صحيحة للتأكد من أنها بالصيغة الصحيحة لكتابة الإخراج.

بعد ذلك، نستخدم الدالة cv2.VideoWriter لإنشاء ملف فيديو جديد باسم "analytics_output.avi" (يمكنك إعادة تسميته حسب الحاجة). يُحفظ الفيديو باستخدام صيغة MJPG، وهي طريقة ضغط فيديو شائعة. يتم ضبط دقة الإخراج على 1280×720 بكسل، بغض النظر عن حجم الفيديو الأصلي.

w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
out = cv2.VideoWriter(
    "analytics_output.avi",
    cv2.VideoWriter_fourcc(*"MJPG"),
    fps,
    (1280, 720), 
)

الخطوة 5: إعداد حل Ultralytics ytics

الآن، سنقوم بإعداد حل Ultralytics ytics لإنشاء رسوم بيانية من الفيديو. يمكنك اختيار كيفية عرض البيانات، مثل مخطط خطي أو دائري أو مساحي أو شريطي وأي نموذجYOLO المراد استخدامه. في هذا المثال، سنستخدم في هذا المثال نموذج "yolo11n.pt" خفيف الوزن ونعرض النتائج كرسم بياني مساحي.

analytics = solutions.Analytics(
    show=True, 
    analytics_type="area", 
    model="yolo11n.pt",   
)

الخطوة 6: معالجة فيديو الإدخال

يشغل الجزء الأخير من الكود حلقة تعالج الفيديو إطارًا واحدًا في كل مرة. يتم تمرير كل إطار إلى أداة التحليلات، والتي تقوم بتحديث الرسم البياني في الوقت الفعلي. ثم يُكتب الرسم البياني المحدَّث إلى فيديو الإخراج. إذا تعذرت قراءة إطار، تتوقف الحلقة. بعد معالجة جميع الإطارات، يتم حفظ الفيديو وإغلاق أي نوافذ مفتوحة.

frame_count = 0
while cap.isOpened():
    success, im0 = cap.read()
    if success:
        frame_count += 1
        results = analytics(im0, frame_count) 

        out.write(results.plot_im) 
    else:
        break
cap.release()
out.release()
cv2.destroyAllWindows() 

الخطوة 7: تجميع كل شيء معًا

أخيرًا، لنجمع كل شيء معًا. من خلال بضعة أسطر إضافية من الشيفرة، يمكننا إنشاء مقطعي فيديو: أحدهما يعرض نتائجاكتشاف كائنات YOLO11 مع المربعات المحدودة والتسميات، والآخر يعرض الرسوم البيانية للتحليلات في الوقت الفعلي.

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

إليك الكود الشامل مع أمثلة لكل من مخرجات التنبؤ والتحليلات.

import cv2
from ultralytics import YOLO, solutions

# Load model and video
model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('path/to/video.mp4')
assert cap.isOpened(), "Error opening video"

# Get properties
w, h = int(cap.get(3)), int(cap.get(4))
fps = cap.get(5)
analytics_res = (1280, 720)

# Writers for prediction and analytics videos
out_pred = cv2.VideoWriter('output_predictions.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, (w, h))
out_ana = cv2.VideoWriter('output_analytics.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, analytics_res)

# Analytics setup
analytics = solutions.Analytics(show=True, analytics_type="area", model='yolo11n.pt')

# Process frames
frame_count = 0
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break

    frame_count += 1
    pred_frame = model.track(frame, persist=True)[0].plot()
    out_pred.write(pred_frame)

    resized = cv2.resize(pred_frame, analytics_res)
    out_ana.write(analytics(resized, frame_count).plot_im)

cap.release(), out_pred.release(), out_ana.release(), cv2.destroyAllWindows()

عندما يتم تشغيل الكود أعلاه بنجاح، سينشئ مقطعي فيديو للإخراج. سيعرض ملف "output_predictions.avi" نتائج اكتشاف الكائنات مع المربعات المحدودة والتسميات، بينما سيعرض ملف "output_analytics.avi" الرسوم البيانية للتحليلات في الوقت الفعلي بناءً على عمليات الكشف.

الشكل 4. إطار من ملف "output_predictions.avi".

إليك إطار من مخرجات التحليلات بناءً على التنبؤات. باستخدام الرسم البياني المساحي، يمكننا الحصول على رؤى مثل التقلبات في عدد الحقائب بمرور الوقت، مثل الارتفاع المفاجئ حول الإطار 268، مما يشير إلى حركة أو نشاط الحقيبة في ذلك الجزء من الفيديو.

الشكل 5. تنبؤات YOLO11 في شكل رسم بياني مساحي.

استخدام الرسوم البيانية في تطبيقات الرؤية الحاسوبية في العالم الحقيقي

فيما يلي بعض تطبيقات الرؤية الحاسوبية في العالم الحقيقي حيث يكون لتصور البيانات تأثير كبير:

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

الوجبات الرئيسية

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

هل تريد معرفة المزيد عن الذكاء الاصطناعي؟ استكشف مستودع GitHub الخاص بنا، وتواصل مع مجتمعنا، وتحقق من خيارات الترخيص لدينا لبدء مشروع الرؤية الحاسوبية الخاص بك. تعرّف على المزيد حول الابتكارات مثل الذكاء الاصطناعي في التصنيع والرؤية الحاسوبية في مجال الخدمات اللوجستية على صفحات الحلول الخاصة بنا.

شعار LinkedInشعار تويترشعار الفيسبوكرمز نسخ الرابط

اقرأ المزيد في هذه الفئة

دعونا نبني المستقبل
من الذكاء الاصطناعي معا!

ابدأ رحلتك مع مستقبل التعلم الآلي

OSZAR »