Yolo فيجن شنتشن
شنتشن
انضم الآن

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

نوفولا لادي

4 دقائق قراءة

12 مايو 2025

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

إنشاء رسوم بيانية تحليلية للحصول على رؤى متعلقة بالرؤية الحاسوبية.

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

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

  • واجهة سطر الأوامر (CLI): هي أداة أساسية نصية فقط حيث يمكنك كتابة الأوامر لتشغيل الشيفرة البرمجية الخاصة بك. وهي لا تحتوي على واجهة مرئية، وتتفاعل معها عن طريق كتابة التعليمات في محطة طرفية أو موجه الأوامر.
  • دفاتر Jupyter: هي بيئة ترميز تفاعلية حيث يمكنك كتابة وتشغيل واختبار أجزاء صغيرة من التعليمات البرمجية (تسمى "الخلايا") واحدة تلو الأخرى. تعرض النتائج مباشرة أسفل كل خلية، مما يجعل من السهل فهم ما يحدث خطوة بخطوة. إنه مفيد بشكل خاص للتعلم والتجريب.
  • 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 detect. بما أن النموذج مُدرَّب مسبقاً على مجموعة بياناتCOCO يمكنه التعرّف على الأجسام الشائعة مثل الأشخاص، والسيارات، والدراجات. 

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

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

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

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

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

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

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

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 في شكل رسم بياني مساحي.

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

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

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

النقاط الرئيسية

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

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

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

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

ابدأ مجانًا