تعزيز تطبيقات الرؤية الحاسوبية باستخدام التصورات المرئية
تعرّف على كيفية تحويل البيانات الناتجة عن تطبيقات الرؤية الحاسوبية إلى رسوم بيانية سهلة الفهم باستخدام حزمة Ultralytics لـ Python للحصول على رؤى أفضل.
Nuvola Ladi9 دقيقة قراءة
تُنشأ كميات هائلة من البيانات كل دقيقة، من مطارات ومحطات قطارات إلى مراكز تسوق. ومع اتساع استخدام الذكاء الاصطناعي، يجري الآن تحليل الكثير من هذه البيانات ومعالجتها. لكن نتائج نماذج الذكاء الاصطناعي قد تجعل أحياناً ملاحظة الأنماط أو فهم الاتجاهات من النظرة الأولى أمراً صعباً. وهنا يأتي دور تصور البيانات، إذ يحوّل المخرجات المعقدة إلى معلومات واضحة وسهلة الاستيعاب.
وينطبق ذلك بوجه خاص على تطبيقات الرؤية الحاسوبية. فـالرؤية الحاسوبية فرع من الذكاء الاصطناعي (AI) يساعد الآلات على تفسير المعلومات المرئية من العالم المحيط وفهمها، مثل الصور ومقاطع الفيديو. وبينما تساعد نماذج الذكاء الاصطناعي للرؤية، مثل Ultralytics YOLO11، على تحليل هذه البيانات المرئية واستخلاص المعلومات منها، يساعد تصور البيانات على عرض تلك المعلومات بتنسيق يسهل فهمه.
ببساطة، يسد تصور البيانات الفجوة بين البيانات الخام والفهم الفعلي باستخدام رسوم بيانية تحليلية ذات دلالة. وهذا مهم لأن أداء الآلات للمهام وحده لا يكفي؛ بل نحتاج إليها أيضاً لتروي قصة.
وهذه الحاجة إلى سرد القصص هي بالتحديد سبب تنامي مجال تصور البيانات، إذ يُتوقع أن تبلغ قيمة السوق $18.36 billion بحلول عام 2030. وقد استكشفنا سابقاً كيف يمكن للرؤية الحاسوبية تقديم رؤى قيّمة للأعمال. أما اليوم، فسنمضي خطوة إضافية ونشرح كيفية إنشاء رسوم بيانية تحليلية واضحة وغنية بالمعلومات لتطبيقات الرؤية الحاسوبية باستخدام حزمة Ultralytics.

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

الشكل 2. أمثلة على الرسوم البيانية التحليلية.
إنشاء رسوم بيانية تحليلية لاستخلاص رؤى من الرؤية الحاسوبية#
بعد أن استكشفنا ماهية تصور البيانات وأهمية الأنواع المختلفة من الرسوم البيانية التحليلية، دعونا نلقي نظرة أقرب على كيفية استخدام حل Ultralytics للتحليلات لتصور نتائج تنبؤات نموذج الرؤية الحاسوبية لديك. وقبل شرح الخطوات بالتفصيل، لنلقِ نظرة على الأدوات وخيارات الإعداد لتدريب حزمة Ultralytics ونماذجها واستخدامها، مثل YOLO11.
تسهّل حزمة Ultralytics Python تدريب النماذج واكتشاف الأجسام وإجراء التنبؤات وتصور النتائج. للبدء باستخدامها، ستحتاج إلى بيئة للبرمجة. إليك ثلاثة خيارات بسيطة:
- واجهة سطر الأوامر (CLI): أداة أساسية نصية فقط، تتيح لك كتابة الأوامر لتشغيل الشيفرة. ليس لها واجهة مرئية؛ إذ تتفاعل معها بكتابة التعليمات في الطرفية أو موجه الأوامر.
- دفاتر Jupyter: بيئة برمجة تفاعلية تتيح لك كتابة أجزاء صغيرة من الشيفرة (تُسمى «خلايا») وتشغيلها واختبارها واحدة تلو الأخرى. وتعرض النتائج مباشرة أسفل كل خلية، مما يسهل فهم ما يحدث خطوة بخطوة. وهي مفيدة خصوصاً للتعلم والتجريب.
- Google Colab: خيار مجاني قائم على السحابة، وهو إصدار من دفاتر Jupyter يعمل في متصفح الويب. لا يتطلب أي إعداد على حاسوبك، ويمنحك إمكانية الوصول إلى وحدات GPU مجانية لمعالجة أسرع.
تُعد هذه الأدوات رائعة للبدء بسرعة، لكن يمكن للمستخدمين أيضًا دمج Ultralytics في بيئات التطوير المتكاملة (IDEs)، مثل Visual Studio Code (VS Code)، أو في مسارات الإنتاج. لمزيد من الخيارات، استكشف وثائق Ultralytics الرسمية.
الخطوة 1: إعداد البيئة#
بعد اختيار البيئة المفضلة لديك، تتمثل الخطوة التالية في إعدادها لتشغيل التنبؤات وتصور النتائج. يمكنك استخدام أي من البيئات المذكورة أعلاه، وفقًا لما يناسبك أكثر.
إذا كنت تعمل في Google Colab، فتذكر أنه يستخدم CPU افتراضيًا، ما قد يؤدي إلى بطء الأداء. لتسريع العمل، انتقل إلى قائمة "Runtime"، واختر "Change runtime type"، ثم عيّن مسرّع الأجهزة على GPU (ويُفضّل T4).
لإعداد بيئتك، ستحتاج إلى تثبيت حزمة Ultralytics Python باستخدام الأمر المذكور أدناه. وفي الأدوات المعتمدة على دفاتر الملاحظات، مثل Colab أو Jupyter، تأكد من إضافة علامة تعجب (!) قبل الأمر.
pip install ultralyticsالخطوة 2: تنزيل ملف فيديو#
بعد ذلك، سنحتاج إلى فيديو للعمل عليه. يمكنك تنزيل مقطع بسهولة من موقع مجاني للوسائط، مثل Pexels. احرص على اختيار فيديو يتضمن أجسامًا يستطيع Ultralytics YOLO11 اكتشافها. وبما أن النموذج مدرّب مسبقًا على مجموعة بيانات 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 للتحليلات#
سنُعد الآن حل Analytics من Ultralytics لإنشاء رسوم بيانية من الفيديو. يمكنك اختيار طريقة عرض البيانات، مثل مخطط خطي أو دائري أو مساحي أو شريطي، واختيار نموذج YOLO الذي ستستخدمه. في هذا المثال، سنستخدم نموذج YOLO11n خفيف الوزن («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: تجميع كل الأجزاء#
أخيرًا، لنجمع كل الأجزاء معًا. فباستخدام بضعة أسطر إضافية من التعليمات البرمجية، يمكننا إنشاء مقطعي فيديو ناتجين: يعرض أحدهما نتائج اكتشاف الأجسام باستخدام Ultralytics YOLO11 مع مربعات الإحاطة والتسميات، بينما يعرض الآخر الرسوم البيانية للتحليلات في الوقت الفعلي.
لتحقيق ذلك، سنُعِدّ مثيلين من VideoWriter؛ أحدهما لحفظ فيديو التنبؤات، والآخر للتحليلات. يتضمن هذا الإصدار من التعليمات البرمجية تتبع الأجسام وإنشاء المخططات معًا، ما يتيح لك مشاهدة نتائج الاكتشاف إلى جانب الرؤى المرئية.
إليك التعليمات البرمجية الكاملة، إلى جانب أمثلة على مخرجات التنبؤات والتحليلات.
import cv2
from ultralytics import YOLO, solutions
# تحميل النموذج والفيديو
model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('path/to/video.mp4')
assert cap.isOpened(), "Error opening video"
# الحصول على الخصائص
w, h = int(cap.get(3)), int(cap.get(4))
fps = cap.get(5)
analytics_res = (1280, 720)
# أدوات الكتابة لفيديوهات التنبؤات والتحليلات
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 = solutions.Analytics(show=True, analytics_type="area", model='yolo11n.pt')
# معالجة الإطارات
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. تصورات تنبؤات Ultralytics YOLO11 في مخطط مساحي.
استخدام المخططات في تطبيقات الرؤية الحاسوبية الواقعية#
فيما يلي بعض تطبيقات الرؤية الحاسوبية الواقعية التي يكون لتصور البيانات فيها أثر ملموس:
- الرعاية الصحية: يمكن لأنظمة الرؤية الحاسوبية مراقبة نشاط المرضى وحركة الموظفين واستخدام المعدات في الوقت الفعلي. وينتج عن ذلك كميات كبيرة من البيانات المرئية التي قد يكشف تصورها عن أنماط، مثل أوقات ذروة إشغال المرضى أو تأخر الاستجابة.
- البيع بالتجزئة والتجارة الإلكترونية: يمكن استخدام الذكاء الاصطناعي للرؤية لتتبع حركة العملاء ومدة وقوفهم أمام الرفوف وتفاعلهم مع المنتجات. ويمكن للتحليلات المرئية، مثل المخططات الشريطية أو الدائرية، إبراز مناطق المتجر أو المنتجات التي تحظى بأكبر قدر من الاهتمام، ما يساعد تجار التجزئة على تحسين عرض المنتجات وزيادة معدلات التحويل.
- التصنيع: تستطيع الكاميرات المزودة بنماذج الرؤية الحاسوبية مراقبة خطوط التجميع للكشف عن العيوب ومخالفات السلامة وحالة المعدات. ويمكن لتصور البيانات إظهار اتجاهات أنواع العيوب الأكثر شيوعًا أو إبراز الفترات الزمنية التي تسجل أعلى معدلات الأخطاء، ما يتيح اتخاذ القرارات بسرعة أكبر وإجراء الصيانة الوقائية.
أبرز النقاط#
باستخدام حزمة Ultralytics، يمكنك بسهولة تحويل لقطات الفيديو إلى مخططات واضحة وغنية بالمعلومات تكشف ما يحدث، مثل تتبع عدد الأشخاص أو الأجسام التي تظهر بمرور الوقت. وبدلًا من مراجعة ساعات من الفيديو يدويًا، يمكنك إنشاء ملخصات مرئية تبرز الأنماط والاتجاهات الرئيسية، ما يسهّل اتخاذ الإجراءات بسرعة. وسواء كان ذلك في المستشفيات أو متاجر البيع بالتجزئة أو منشآت التصنيع، تحوّل هذه المخططات مخرجات الذكاء الاصطناعي المعقدة إلى رؤى يستطيع الجميع فهمها والاستفادة منها.
هل ترغب في معرفة المزيد عن الذكاء الاصطناعي؟ استكشف مستودعنا على GitHub، وتواصل مع مجتمعنا، واطّلع على خيارات الترخيص لبدء مشروعك في الرؤية الحاسوبية. اكتشف المزيد عن ابتكارات مثل الذكاء الاصطناعي في التصنيع والرؤية الحاسوبية في الخدمات اللوجستية على صفحات حلولنا.
بقلم
التعليقات
اطرح سؤالًا، أو شارك نتائجك، أو ساعد شخصًا آخر.










