ما الذي تعالجه برامج الرؤية القائمة على الأحداث؟
تُبلغ كاميرا الأحداث عن تغيرات في السطوع بدلاً من تقديم إطار فيديو تقليدي في كل فاصل زمني. عادةً ما يحدد الحدث الذي تم فك تشفيره البكسل والقطبية والطابع الزمني. يجب أن يحافظ تطبيقك على معنى تلك الحقول من خلال الاكتساب والتصفية والتسجيل والاستدلال. ال المقارنة القائمة على الحدث مقابل المقارنة القائمة على الإطار يشرح متى يكون نموذج البيانات هذا مفيدًا.
التمييز بين ثلاثة تنسيقات في التصميم: تشفير المستشعر أو النقل، وتمثيل الحدث الذي تم فك تشفيره والذي يستخدمه البرنامج، والتمثيل الذي تم تمريره إلى الخوارزمية. يخدم الملف الذي يحتوي على حزم مستشعرات أولية ومجموعة من الأحداث التي تم فك تشفيرها وصورة متراكمة أغراضًا مختلفة. يمكن أن يؤدي التحويل بينهما إلى تغيير استخدام الذاكرة وتكلفة المعالجة ومعلومات التوقيت المتاحة في اتجاه مجرى النهر.
| التمثيل | مفيدة ل | سؤال التكامل |
|---|---|---|
| الحزم الخام أو تسجيل البائع | إعادة إنتاج سلوك الاستحواذ وفك التشفير | هل يستطيع جهاز فك التشفير الذي تم نشره قراءة هذا الجهاز بالضبط ومراجعة التنسيق؟ |
| الأحداث التي تم فك شفرتها | التصفية وتحليل التوقيت والخوارزميات الأصلية للحدث | ما هي وحدة الطابع الزمني ومجال الساعة واتفاقية الإحداثيات؟ |
| الأسطح الزمنية أو الموترات الشبيهة بالفوكسل | الخوارزميات التي تحتاج إلى تمثيل زمني منظم | ما هي إعدادات المحفوظات والتجميع والتسوية التي يجب إعادة إنتاجها؟ |
| صور الحدث المتراكمة | التصور أو مرحلة معالجة الصور المتوافقة | ما مقدار التأخير وفقدان المعلومات الذي تسببه نافذة التراكم؟ |
كيفية تقييم SDK لكاميرا الأحداث
ابدأ بالمستشعر الدقيق والبرامج الثابتة للكاميرا والمنصة المضيفة. لا يوفر العرض التوضيحي لسطح المكتب دعمًا لصورة Linux المضمنة أو معالج ARM أو ترخيص الإنتاج الخاص بك. اطلب من المورد أنظمة التشغيل المدعومة وبنيات وحدة المعالجة المركزية وشروط إعادة التوزيع ومتطلبات واجهة الكاميرا. تحقق من التطبيق على النظام الأساسي المقصود قبل الالتزام بلوحة الناقل.
- الاستحواذ: اكتشاف الجهاز وتكوينه وفك تشفيره والإبلاغ عن الأخطاء.
- التوقيت: أصل الطابع الزمني، ومعالجة التمرير، والمشغلات الخارجية، ومحاذاة الأجهزة المتعددة.
- إمكانية تكرار نتائج: التسجيلات وتصدير التكوين وإصدار البرنامج المحدد.
- النشر: عملية مقطوعة الرأس، والثنائيات المدعومة، وسلوك إعادة التشغيل، وشروط الترخيص.
- إمكانية الملاحظة: عدد الأحداث وعمق قائمة الانتظار والبيانات المسقطة واستخدام موارد المضيف.
بناء خط أنابيب مع حدود توقيت واضحة
أبقِ عملية الاستحواذ منفصلة عن التصورات الباهظة الثمن وكتابة القرص والاستدلال النموذجي. وإلا فإن المستهلك البطيء يمكن أن يؤخر البيانات الجديدة حتى قبل أن تبدأ الخوارزمية. تحديد قائمة انتظار محدودة وسياسة التحميل الزائد الصريحة. إن إسقاط النافذة الأقدم وتقليل المنطقة محل الاهتمام والتوقف بسبب وجود خطأ له عواقب مختلفة؛ اختر السلوك الذي يناسب التطبيق وسجل عند حدوثه.
استخدم الطوابع الزمنية للمستشعر لوصف وقت حدوث الملاحظات، وساعة مضيفة رتيبة لقياس فترات المعالجة. لا يؤدي طرح الطوابع الزمنية من الساعات غير المرتبطة إلى إنتاج زمن وصول صالح من طرف إلى طرف. إذا كان من الضروري دمج الكاميرا مع IMU أو كاميرا تقليدية، فقم بتأسيس علاقة الساعة وعملية المعايرة الموضحة في موقعنا دليل تزامن الانصهار الاستشعار.
مثال صغير لفحص التسجيل
يقوم مثال Python التالي بإحصاء الأحداث التي تم فك تشفيرها في تسجيل مدعوم والإبلاغ عن مدى الطوابع الزمنية الخاصة بها. يستخدم واجهة برمجة تطبيقات البث Metavision الموثقة ويتطلب تثبيت وتسجيل SDK متوافق. إنه مثال للفحص، وليس معيار كاميرا Alvexis أو كاشف.
import argparse
from metavision_sdk_stream import Camera, CameraStreamSlicer
parser = argparse.ArgumentParser()
parser.add_argument("recording")
args = parser.parse_args()
source = Camera.from_file(args.recording)
count, first_us, last_us = 0, None, None
for batch in CameraStreamSlicer(source.move()):
events = batch.events
if events.size:
start = int(events["t"][0])
end = int(events["t"][-1])
first_us = start if first_us is None else min(first_us, start)
last_us = end if last_us is None else max(last_us, end)
count += int(events.size)
span_s = 0.0 if first_us is None else (last_us - first_us) / 1_000_000
print({"events": count, "event_timestamp_span_s": span_s})
يغطي نطاق الطابع الزمني الحدث الأول وحتى الأخير الذي تمت ملاحظته؛ ولا يقيس مدة الملف أو تأخير الاستحواذ أو إنتاجية المعالجة. تحتاج الفترات الفارغة وعمليات إعادة ضبط الساعة إلى معالجة منفصلة في الإنتاج. احتفظ بتكوين الجهاز وتسجيل البيانات الوصفية بجانب الملف حتى يتمكن مهندس آخر من إعادة إنتاج التفسير.
التحقق من صحة المشاهد الهادئة والمشاهد المزدحمة والتعافي من الفشل
اختبر مشهدًا ثابتًا وحركة تمثيلية ومشهدًا يتطلب جهدًا متعمدًا. يمكن أن يؤدي الوميض واهتزاز الكاميرا والحركة المركبة إلى إنشاء معدلات أحداث مختلفة تمامًا. قم بتسجيل السلوك النموذجي وأسوأ الحالات التي لاحظتها. كرر ذلك مع التخزين والاتصالات النشطة، لأن أحمال العمل هذه تتنافس على الذاكرة ووقت وحدة المعالجة المركزية.
| اختبار | سجل | القرار الذي يؤيده |
|---|---|---|
| إعادة تشغيل نفس التسجيل | التكوين والاختلافات في الإخراج ومدة المعالجة | هل يمكن تقييم تغيير البرنامج بشكل متكرر؟ |
| زيادة نشاط المشهد | عمق قائمة الانتظار، وفقدان الحدث، وعمر الإخراج | هل يظل النظام قابلاً للاستخدام في ظل حمل الذروة؟ |
| تغيير نافذة المعالجة | دقة التطبيق وتأخير المستشعر إلى الإخراج | ما هي المفاضلة بين التوقيت/التفاصيل التي تناسب المتطلبات؟ |
| افصل الجهاز وأعد توصيله | وقت الاسترداد وإعادة ضبط الساعة واستمرارية التسجيل | هل يمكن للخدمة المنشورة التعافي بشكل متوقع؟ |
عندما تستخدم الخوارزمية شبكة عصبية، تحقق من الموتر الناتج والمشغلين المدعومين قبل اختيار المسرع. لا تتطلب كاميرا الأحداث وحدة NPU تلقائيًا، ولا تقبل وحدة NPU تدفق الأحداث تلقائيًا. لدينا دليل هندسة FPGA وNPU وMPU يفصل بين خدمات الاستحواذ والمعالجة المسبقة والاستدلال والتطبيق.
أسئلة قبل اختيار حزمة البرامج
هل يمكنني استخدام نموذج رؤية الكمبيوتر العادي؟
فقط بعد تحديد تمثيل الإدخال المتوافق والتحقق من صحة سلوكه. قد يسمح تجميع الأحداث في الصور بإعادة استخدام مرحلة معالجة الصور، ولكنه يغير توزيع البيانات ويضيف نافذة توقيت. تقييم التطبيق الكامل على البيانات التمثيلية.
هل يثبت العرض التوضيحي للكمبيوتر المحمول العامل التوافق المضمن؟
لا. تأكد من بنية وحدة المعالجة المركزية ونظام التشغيل وواجهة المستشعر وبرنامج التشغيل وترخيص SDK والاستخدام المستدام للموارد للنظام الأساسي المستهدف الفعلي.
ما الذي يجب أن أرسله لمناقشة الاندماج؟
أرسل مرجع الكاميرا أو المستشعر، وتسجيل العينة، والإخراج المقصود، والتأخير المقبول، والنظام الأساسي المضيف، والواجهة، وبيئة النشر. هذه المدخلات تجعل المناقشة ملموسة بما يكفي لتحديد مخاطر التكامل الأولى.
المراجع التقنية
- Prophesee: البدء باستخدام واجهة Python لبث البيانات
- Prophesee: قراءة الأحداث من الكاميرات والملفات
- جاليجو وآخرون: الرؤية القائمة على الأحداث – دراسة استقصائية
تصف أمثلة البائعين النظام البيئي المدعوم الخاص بهم. تأكد من التوافق والترخيص للجهاز المختار والنشر.
