engiAI

  • الشروط
ويندوز 10/11 (64 بت). تحليل وحدة المعالجة المركزية ووحدة معالجة الرسومات - إصدارات RTX 50+.

⬇ engiAI.rar (900 MB)

⬇ engiAI-ZONA-PARA-AR.pdf (5.6 MB)

⬇ engiAI-doc-new-AR.pdf (12 MB)

SICK IDS Camera Manager ⬇ ids-software-suite-win-4.96.1.zip (184 MB)

SICK IDS Camera Manager - link 2

التسجيل

تقديم طلب للحصول على engiAI

EngiAI (نظام engiAI Ethernet System) هو برنامج مكتبي للرؤية الحاسوبية يُستخدم في الفحص الصناعي وفحص جودة المنتجات على خط الإنتاج. تم تطويره باستخدام لغة C# (.NET 9، WinForms)، ويتم تجميعه في ملف تنفيذي مستقل يعمل بتقنية AOT (ترجمة مسبقة إلى كود الآلة) لنظام التشغيل Windows x64.

  • ماذا يفعل؟
التقاط الصور من الكاميرات: كاميرات صناعية من Hikrobot (SDK)، و USB/DirectShow، و IDS uEye، بالإضافة إلى كاميرات Android عبر OpenCV. يمكن استخدام عدة كاميرات في نفس الوقت.

فحص الذكاء الاصطناعي: تستخدم شبكات الذكاء الاصطناعي YOLO (ONNX Runtime / وحدة معالجة الرسوميات - CUDA أو وحدة المعالجة المركزية) للتعرف على الكائنات والأخطاء في الوقت الفعلي.

مناطق التحكم (ROI): مناطق قابلة للتخصيص للتحكم، مع تحديد الفئات والقواعد، ومناطق مُسمّاة، وقائمة.

جهاز الرفض (Rejector): بناءً على نتائج الذكاء الاصطناعي، يقوم بإخراج إشارة إلى منفذ إخراج رقمي (لإيقاف الخطأ)، مع إعداد توصيل الأسلاك واختبار باستخدام جهاز اختبار.

المحفزات: التقاط الإطار بناءً على إشارة خارجية (مدخلات رقمية، مشغلات).

تدريب النماذج: مجموعات البيانات، بيانات اصطناعية (إزالات/مرآة/سطوع)، تدريب YOLO11 مباشرة من البرنامج.

مخزن البيانات: قاعدة بيانات SQLite محلية (rejectors.db) - نماذج، مناطق، سجل الأحداث، حالة الكاميرات.

  • الحصول على التراخيص
تجميع واحد: وضع (تجريبي / ترخيص / حظر)

بدون ترخيص - وضع تجريبي لمدة 20 دقيقة؛ مع ترخيص - تشغيل بدون قيود.

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

engiAI Ethernet System
فحص بصري للدوائر المطبوعة والتجميعات.

واجهة engiAI متاحة باللغة العربية: أسماء الأزرار والحقول في هذا الدليل مذكورة كما تظهر في البرنامج.

جوهر الفحص هو تقسيم المنطقة إلى مناطق متداخلة. يتم تحديد المناطق على اللوحة، حيث تمثل كل جزء يحتاج إلى فحص. تحتوي كل نموذج على زوج من الفئات ("طبيعي / غير طبيعي") لكل منطقة، ويقوم بتحليلها فقط داخل هذا الزوج. في مثال دليل، هناك منطقتان: المكثف C30 والجسور BR1؛ وقد تكون هناك مئات من هذه المناطق في اللوحة الفعلية، ولكن المنهج هو نفسه.
بيانات اصطناعية - تحريك تلقائي للعنصر من القاعدة. تقوم البرنامج بأخذ الجزء مع المنطقة المحيطة به على اللوحة (خطوط، مسارات، لون القاعدة)، ويقلل من حجم المنطقة إلى حجم الجزء، ثم يحركه أو يديره. يتم إنشاء بيانات العيب في ضغطة واحدة فقط، دون الحاجة إلى لوحة معيبة واحدة.
دليل المستخدم: كيفية توصيل الكاميرا، وتحديد المناطق، وتحديد منطقة المحاذاة، والتقاط الصور الطبيعية وغير الطبيعية، وتدريب النموذج، وتشغيل الفحص، وربطه بالجهاز: من خلال الإشعارات الصوتية، ومخرجات الكاميرات من SICK و HIKROBOT، ونقل البيانات عبر TCP إلى الروبوت أو PLC.
الخطوة الأولىالكاميرا
الخطوة 2شبكة المناطق
الخطوة 3الطبيعي والأشياء غير الطبيعية
الخطوة 4التدريب
الخطوة 5الفحص
الخطوة 6منافذ TCP
تم التقاط جميع الصور من خلال برنامج يعمل: وحدة vtlift، كاميرا USB 3264×2448، طراز model_4، لـ 256×256 (مكثف C30 وجسر BR1)، وتم تدريبها على الألوان الرمادية. يعمل البرنامج مع كاميرات HIKROBOT (GigE و USB3)، و SICK picoCam (uEye)، وكاميرات USB/ويب، وكاميرات IP عبر RTSP. الإصدار 3 - سبتمبر 2026.

المحتوى

  1. 1. ما هي تقنيات engiAI وطريقة "منطقة-زوج"؟
  2. 1.1. ما الذي يقدمه هذا المنهج مقارنةً بتصنيف الصورة بأكملها؟
  3. 1.2. السرعة: يركز الذكاء الاصطناعي على المعلومات ذات الصلة فقط.
  4. 1.3. ما مدى الدقة المتوقعة: نحسب بناءً على كاميرتنا
  5. 1.4. بدء سريع: الإعدادات جاهزة، وتم تحديد المناطق ونموذج التصميم في عدد قليل من النقرات.
  6. 2. واجهة البرنامج في دقيقة واحدة.
  7. 3. الكاميرات: توصيل وإعداد
  8. 3.1. ما هي الكاميرات المدعومة؟
  9. 3.2. نافذة الكاميرا: إضافة، إعادة توصيل، حذف
  10. 3.3. قسم الكاميرا لـ HIKROBOT و SICK
  11. 3.4. قسم الكاميرا للـ USB/الكاميرا اللاسلكية
  12. 3.5. إعدادات الكاميرا المحفوظة (المجموعات)
  13. 3.6. شبكة GigE وإعادة الاتصال
  14. 4. نموذج المنطقة-الزوج: من الشبكة إلى النموذج المدرب
  15. 4.1. كيف يتم تنظيم هذه الطريقة: نموذج واحد، وفئة لكل منطقة.
  16. 4.2. إنشاء نموذج
  17. 4.3. تحديد المناطق المستهدفة في الدفع
  18. 4.4. تسجيل الصورة المرجعية: منطقة المحاذاة
  19. 4.5. صور حسب المناطق: طبيعي وبياناتها الاصطناعية
  20. 4.6. بيانات اصطناعية: عيب يتمثل في الحاجة إلى الضغط مرتين لتفعيل العنصر.
  21. 4.7. انحرافات في المناطق: نافذة الإعدادات
  22. 4.8. صورة مرجعية مع مناطق محددة: مسامير اللحام ومحرر المنطقة.
  23. 4.9. تدريب النموذج
  24. 5. فحص
  25. 5.1. تحديد النموذج والتحقق من المناطق.
  26. 5.2. حد التعرف على المنطقة
  27. 5.3. نظام النقل الذكي: قابل للاستخدام في أي وضع
  28. 5.4. ما هو الإشارة التي يجب تحليلها؟
  29. 5.5. المناطق الصفراء: إيقاف المنطقة بالنقر
  30. 5.6. ما يمكن رؤيته على الشاشة وفي سطر الأوامر
  31. 6. عوامل التشغيل: مستشعر خارجي على مدخل الكاميرا.
  32. 7. منافذ الإخراج: جهاز الرفض، ومنافذ الإخراج الرقمية للكاميرات و TCP.
  33. 7.1. دليل: المخرجات: معلومات الاتصال واختبار باستخدام جهاز القياس
  34. 7.2. نافذة الإخراج: قاعدة على المنطقة
  35. 7.3. إرسال حزمة TCP إلى جهاز أو وحدة تحكم منطقية (PLC)
  36. 7.4. إخراج الفيديو من الكاميرا بشكل منفصل
  37. 7.5. نظام الإشعارات الصوتية: إمكانية تحديد صوت خاص لكل منطقة.
  38. 7.6. سجل الأحداث وقاعدة البيانات
  39. 8. أنظمة وطرق أخرى
  40. 9. الإعدادات، واجهة المستخدم، والمتطلبات، والتراخيص.
  41. 10. قائمة مرجعية مختصرة وعملية للبحث عن الأعطال

كيفية استخدام الدليل. يشرح الجزء الأول الغرض من الطريقة والنتائج المتوقعة. الأجزاء 3-5 هي الخطوات من البرنامج الفارغ إلى البرنامج الذي يعمل، ويجب اتباعها بالترتيب. الأجزاء 6-7 هي توصيل المستشعرات والمخرجات و TCP. الأجزاء 8-10 هي الميزات الأخرى والإعدادات وقائمة المراجعة.

1. ما هي تقنيات engiAI وطريقة "منطقة-زوج"؟

engiAI Ethernet System - برنامج فحص بصري للخط الإنتاجي. يقوم بأخذ صورة من كاميرا صناعية أو عادية، وتقسيمها إلى مناطق، وفحص كل منطقة باستخدام شبكة عصبية مدربة، وتحويل النتيجة إلى إجراء: إرسال إشارة إلى منفذ الكاميرا، أو إرسال بيانات عبر بروتوكول TCP إلى الروبوت أو نظام التحكم المنطقي، أو تسجيل البيانات في سجل. تم تصميم طريقة "منطقة-زوج" للمنتجات التي يكون فيها كل جزء "صحيحًا" في مكانه: لوحات الدوائر المطبوعة، والتجميعات، ومجموعات المكونات في الصندوق، والتغليف مع الترتيب.

نموذج واحد
لكافة مناطق اللوحة، بدلاً من مائة نموذج منفصل.
2 مناطق
في المثال: المكثف C30 والدوائر المتكاملة BR1. قد تحتوي اللوحة على مئات منها.
≈5 px
تحريك العنصر الذي تم تعيين حدود "طبيعي / عيب" له.
انقر مرتين
من صورة حية إلى عيب طبيعي وصناعي للتدريب

1.1. ما الذي يقدمه هذا المنهج مقارنةً بتصنيف الصورة بأكملها؟

النهج التقليدي هو استخدام نموذج واحد مع فئتين "طبيعي / غير طبيعي" لجميع الإطار أو لجميع المناطق في وقت واحد. هذا لا يعمل على اللوحة: وجود مساحة فارغة تحت الجسر BR1 في المنطقة 2 - خطأ، بينما وجود مساحة فارغة مماثلة في زاوية أخرى من اللوحة - أمر طبيعي. لا يمكن التعبير عن هذه الفئتين معًا. والنهج الآخر هو استخدام نموذج منفصل لكل جزء - وهذا يعني عشرات التدريبات وعشرات الملفات في الذاكرة.

يتم حل هذه المشكلة على النحو التالي: يتم استخدام نموذج واحد، وعدد الفئات يتطابق مع عدد المناطق. المنطقة هي مستطيل يحيط بجزء واحد. الفئة هي مجلد يحتوي على الصور التي تتعلم منها الشبكة. لكل منطقة زوج خاص بها: zone_001 (حالة طبيعية للمنطقة 1، في المثال - المكثف C30) و zone_001_anomaly (حالة عيب للمنطقة 1). zone_002 و zone_002_anomaly يمثلان الجسر BR1. عند فحص المنطقة 1، يقوم البرنامج بالنظر فقط إلى الزوج الخاص بها، ولا تدخل إجابات المنطقة 2 في الحساب. فئات الحالات الشاذة ليست ضرورية: يمكن أن يؤدي العيب إلى تغيير شكل المنطقة، مما يؤدي إلى انخفاض الثقة في "الحالة الطبيعية" تلقائيًا. ومع ذلك، باستخدام بيانات اصطناعية (القسم 4.6)، يمكن إنشاؤها بسهولة وتزيد بشكل ملحوظ من الموثوقية.

مثال: صورة حية لمكون: منطقتان - جسر BR1 في الأعلى على اليمين، ومكثف C30 في الأسفل على اليسار، وكلاهما أخضر مع تسمية "normal". الخطوط الزرقاء هي حدود المنطقة، والنقاط الزرقاء هي نقاط الدعم التي يتم استخدامها للعثور على المكون في الصورة.
مثال: صورة حية لمكون: منطقتان - جسر BR1 في الأعلى على اليمين، ومكثف C30 في الأسفل على اليسار، وكلاهما أخضر مع تسمية "normal". الخطوط الزرقاء هي حدود المنطقة، والنقاط الزرقاء هي نقاط الدعم التي يتم استخدامها للعثور على المكون في الصورة.
القرار داخل الزوجعند فحص المنطقة 17، يتم اختيار مخرجين فقط من الشبكة: "طبيعي منطقة 17" و "خلل في منطقة 17". لا تشارك المناطق الأخرى المكونة من مئات الفئات في القرار، لذلك لا تؤثر المناطق المجاورة المشابهة على النتيجة.
النتائج غير الطبيعية لا يمكن اعتبارها "طبيعية" إذا كانت نسبة الفئات في منطقة ما أقل من 10٪ من إجمالي البيانات، فإن هذه المنطقة تعتبر "غير معروفة": وهذا يشير إلى وجود خطأ أو تحيز في البيانات. تُعتبر هذه المنطقة "خللًا" وليست "طبيعية" بدرجة عالية من الاحتمال.
يتناسب العيب مع حجم المنطقةيتم تحديد حجم وموقع العيوب الاصطناعية بالنسبة لحجم المنطقة. أي حركة لعنصر بمقدار نصف مليمتر في إطار بمقاس 8 ميجابكسل غير ملحوظ، بينما داخل منطقة 128×128 بكسل، يمثل ذلك 5-6 بكسلات، وهي قيمة ملحوظة.
الاستخدام الكامل يتم إرسال منطقة بحجم 108-137 بكسل إلى الشبكة بأبعاد 128×128 تقريبًا دون تغيير حجم. سيتطلب الأمر ضغط الصورة بأكملها في نفس الأبعاد (128 بكسل)، مما يؤدي إلى فقدان تفاصيل بشكل كبير.
الحد الفاصل بين "طبيعي / عيب"تُظهر البيانات الاصطناعية الطبيعية تشتتًا يتراوح بين 0-2 بكسل، بينما تُظهر البيانات الاصطناعية "العيوب" انحرافًا يبدأ من 5 بكسل. تتعلم الشبكة تحديد هذا الحد الفاصل بدقة، وليس الاختلافات العشوائية في الإضاءة.
النتيجة المطلوبةلكل منطقة عنوان ثابت (نموذج، جدول، خلية) واسم. يمكن تعيين قاعدة مخصصة على أي منطقة: تنبيه صوتي، أو إرسال TCP مع رقم المنطقة، أو إخراج رقمي للكاميرا.
التثبيت في أي وضع يقوم المشغل بتحديد منطقة التثبيت في الصورة – وهي الجزء الذي يحتوي على المكونات. ثم يتم محاذاة كل صورة مع الصورة المرجعية باستخدام نقاط التثبيت، حتى لو تم وضع اللوحة بشكل مائل أو بزاوية 180 درجة (المقطع 4.4).
عيب من اللوحة نفسها العيب الاصطناعي ليس بقعة غير مرسومة، بل هو عنصر متحرك أو مائل مع جزء من اللوحة. يتعلم النموذج العلاقة بين "العنصر واللوحة"، وليس لون البقعة. يتم ذلك في خطوتين (القسم 4.6).
يتم الإبلاغ عن التشوهات تدريجيًايتم إضافة فئات العيوب فقط في الأماكن التي تظهر فيها العيوب بالفعل: وصلات اللحام، العناصر المفقودة، الانحراف، الخدوش. يتم إعادة تدريب النموذج، بينما تبقى الشبكة كما هي.

1.2. السرعة: يتعامل الذكاء الاصطناعي فقط مع الأجزاء المطلوبة

لا تحصل الشبكة العصبية على الصورة بأكملها. يتم استخراج مستطيل فقط لكل منطقة، ويختار رقم المنطقة زوجًا من الفئات. تعتبر المناطق في صورة واحدة بشكل متوازٍ (حتى أربعة مسارات)، ويتم إرسال نتيجة جميع المناطق إلى الشاشة في دفعة واحدة، وليس منطقة واحدة فقط.

  • يتم تحديد معدل التحليل بناءً على الوقت. يشير شريط التمرير "عدد التحليلات في الثانية (AI)" في علامة "الكاميرا" إلى تحديد عدد التحليلات في الثانية بالضبط، وليس "كل N-ة صورة". الحد الأقصى هو معدل الكاميرا ووقت الاستنتاج.
  • استخدام وحدة معالجة الرسوميات بشكل افتراضي. يتم التشغيل باستخدام ONNX Runtime مع CUDA؛ إذا لم تتوفر وحدة معالجة الرسوميات من NVIDIA، فإن البرنامج ينتقل تلقائيًا إلى استخدام المعالج، ويظهر ذلك في الحالة (وحدة معالجة الرسوميات (CUDA) أو المعالج).
  • ذاكرة خالية من الفوضى. يتم تحديد مناطق الذاكرة المخصصة للقطع مرة واحدة لكل إطار، ويتم إعادة استخدامها؛ ولا يتغير وقت التحليل من إطار إلى آخر.
  • نموذج مُصمم للمهمة المحددة. بالنسبة للمنطقة الزوجية، تقوم البرنامج بتعيين حجم الإدخال بـ 128 بكسل، وتستخدم شبكة YOLO11 بحجم "s": يتم تقطيع المنطقة بشكل كبير، ولكن الشبكة قادرة على التعامل مع مئات أزواج الفئات.
  • العمل الآلي يوفر الموارد البشرية. يتم إرسال الموظف إلى قائمة الانتظار، وليس بشكل متكرر مثل عملية البحث عن المكونات؛ يتم البحث عن المكون وتحديد موقعه مرة واحدة، ثم يتم قطع المناطق المحددة.
  • العرض لا يعيق التحليل. يتم تحديث الشاشة (البلاطة) بمعدل لا يتجاوز 25 مرة في الثانية، وذلك فقط عند ظهور إطار جديد من الكاميرا. يتم تصغير الصورة إلى حجم البلاطة قبل عرضها على الشاشة، ويتم تسجيل البيانات في ملف في الخلفية. يظل الواجهة سريعة الاستجابة حتى مع إطارات بدقة 8 ميجابكسل ومئات المناطق.

في شريط الحالة الموجود فوق الفيديو، تظهر الأرقام الفعلية: عدد الإطارات في الثانية (fps)، ووقت آخر تحليل بالمللي ثانية، بالإضافة إلى Eff، والذي يمثل عدد التحليلات التي تمت فعليًا في الثانية.

1.3. ما مدى الدقة التي يمكن توقعها: نقوم بتحليل الصورة باستخدام كاميرتنا

البرنامج لا يعد بـ "0.5 ملم" بشكل مستقل عن الكاميرا والعدسة. يتم تحديد حساسية الانحراف بناءً على عدد البكسلات لكل ملم من المنتج، وحدود التدريب التي تم استخدامها في النموذج. يتم حساب ذلك في سطرين:

px/مم = عرض الإطار بالبكسل مقسومًا على عرض مجال الرؤية بالمليمتر
أقل انزياح يمكن ملاحظته ≈ 5 بكسل مقسومًا على (بكسل/مليمتر)

الرقم 5 بكسل - الحد الأدنى للانحراف الاصطناعي في الإعدادات الموصى بها (وهو تشتت طبيعي يتراوح بين 0-2 بكسل). تم تصميم الإعدادات الافتراضية لـ 11 بكسل/ملم: في هذا القياس، 0.5 ملم تعادل 5-6 بكسل، وهو الهدف المتفق عليه أثناء التصميم. يرجى إدخال قيمك الخاصة:

الكاميرا (عرض الإطار)زاوية الرؤية 100 ملم200 ملم300 ملم400 ملم
3264 بكسل (كاميرا USB 8 ميجابكسل، كما في الصور)0.03 ملم/بكسل → انحراف ≈ 0.15 ملم0.06 → ≈ 0.3 ملم0.09 → ≈ 0.45 ملم0.12 → ≈ 0.6 ملم
2448 بكسل (كاميرا HIKROBOT 5 ميجابكسل)0.04 → ≈ 0.2 ملم0.08 → ≈ 0.4 ملم0.12 → ≈ 0.6 ملم0.16 → ≈ 0.8 ملم
1920 بكسل (كاميرا SICK picoCam، كاميرا HIKROBOT 2 ميجابكسل)0.05 → ≈ 0.25 ملم0.10 → ≈ 0.5 ملم0.16 → ≈ 0.8 ملم0.21 → ≈ 1.0 ملم
هام. هذه هي طريقة التقييم من الأسفل لحركة العنصر عند وجود خلفية ساطعة وإضاءة ثابتة. للتحقق من الحدود الفعلية، استخدم زر "منطقة-زوج: مناطق ↔ نموذج" وحدود التعرف (القسم 5.2): لكل منطقة حدودها الخاصة، وبالتالي مستوى الثقة الخاص بها. كلما كان مجال الرؤية أصغر وزادت دقة الكاميرا، كلما كان الخطأ الذي يمكن للنموذج اكتشافه أصغر.

1.4. بدء التشغيل بسرعة: الإعدادات جاهزة، المناطق والنماذج في عدد قليل من النقرات

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

  • تحديد المناطق في الدقيقة الواحدة. في محرر ROI، اسحب الإطار حول العنصر المحدد، وحدد حجم المنطقة (على سبيل المثال، 256 بكسل). إذا كان هناك العديد من العناصر مرتبة بشكل متجاور، اسحب الإطار ليشمل كامل اللوحة - ستحسب البرنامج الصفوف والأعمدة تلقائيًا.
  • بيانات اصطناعية طبيعية، مع إعدادات افتراضية. الأزرار "الإعدادات الافتراضية"، "تعديل العناصر"، و "اللون واللون" تتيح اختيار الملفات والإعدادات الجاهزة. يتم عرض عدد الملفات، وصور من الكاميرا، والوقت المتوقع قبل الضغط على "التقاط صورة".
  • يتم تحديد معلمات التدريب تلقائيًا. بعد التقاط الصور في المناطق المختلفة، تقوم البرنامج بتعيين حجم الصورة 128، وحجم النموذج "s"، وعدد الدورات 50، والحجم الدفعة 64، بالإضافة إلى تعطيل عمليات التحسين التي تتعارض مع فئات الحالات الشاذة أثناء التدريب.
  • يتم ضبط الكاميرا باستخدام زر. "التعديل التلقائي للذكاء الاصطناعي (لكل إطار)" يختار سرعة الغالق، والتقوية، والسطوع، وتوازن اللون الأبيض؛ بالنسبة لكاميرات USB، تتوفر خيارات "التعديل التلقائي ليتناسب مع التنسيقات" و "تثبيت الإعدادات".
  • مجموعات إعدادات الكاميرا. يتم حفظ الإعدادات المحددة تحت اسم معين، ويمكن التبديل بينها من القائمة، وتقبل الكاميرا هذه الإعدادات على الفور وتخزنها في ذاكرتها.
  • ملف واحد بتنسيق ONNX كناتج. يتم تصدير النموذج المدرب تلقائيًا، ويتم تعيينه على الفور للفحص، ولا يتطلب ذلك أي خطوات إضافية.

الخطوة الكاملة: توصيل الكاميرا → إنشاء نموذج → تحديد المناطق → تحديد منطقة المحاذاة → "لقطات حسب المناطق" على عدة لوحات تعمل بشكل صحيح → "تشوهات المناطق" → تدريب نموذج الذكاء الاصطناعي → علامة "Inspect". بعد ذلك، يجب إضافة الصوت والمخرجات و TCP إلى المناطق. ما هو مطلوب للبدء: جهاز كمبيوتر مع نظام Windows 10/11 (للفحص السريع - بطاقة رسومات NVIDIA)، كاميرا، لوحة واحدة تعمل بشكل صحيح، وواحدة فقط من شبكة الإنترنت لتثبيت بيئة التدريب. لا حاجة للوحات التالفة.

2. واجهة البرنامج في دقيقة واحدة

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

النافذة الرئيسية: على اليسار، شاشة تعرض لوحة الدوائر مع منطقتين (كلاهما أخضر - "طبيعي")، وعلى اليمين، علامة "Inspect" مع النموذج model_4\best.onnx. يتم تشغيل خط الإنتاج، ويظهر مؤشر "طبيعي · 112 نقطة".
النافذة الرئيسية: على اليسار، شاشة تعرض لوحة الدوائر مع منطقتين (كلاهما أخضر - "طبيعي")، وعلى اليمين، علامة "Inspect" مع النموذج model_4\best.onnx. يتم تشغيل خط الإنتاج، ويظهر مؤشر "طبيعي · 112 نقطة".

أزرار فوق الفيديو

زريفتح
إخفاء الفيديويزيل الصورة من الشاشة. يستمر التحليل، ويتم توفير الطاقة فقط في عملية الرسم.
المخرجاتنافذة المساعدة: معلومات الاتصال بمنافذ الإخراج المحددة للكاميرات HIKROBOT و SICK، والتحقق باستخدام جهاز الاختبار، وتوصيل الحمل (القسم 7.1).
الكاميراتنافذة "إعدادات الكاميرات المتصلة": إضافة، وإعادة توصيل، وحذف الكاميرات وعرض جميع المعلمات التي تم قراءتها من الأجهزة (القسم 3.2).
المحفزاتتوصيل مستشعر خارجي بمنفذ الإخراج الخاص بالكاميرا مع مخطط التوصيل (القسم 6).
النماذج العامةمجموعات "الكاميرا ← النموذج" المحددة، والتي يتم تعيينها لجميع المنصات من خلال اختيار واحد (القسم 8).
التخطيط (الأعمدة)عدد البلاطات التي يتم عرضها في صف واحد؛ "■" - وضع فردي (الكاميرا الكبيرة)، "أوتو" - بناءً على عدد الكاميرات، "⛶" - كاميرات على كامل الشاشة (الخروج بالضغط على مفتاح Esc).
عرض مناطق ROIرسم شبكة المناطق فوق الفيديو.

علامات التبويب على اليمين

علامة التبويبالتخصيص
Cameraإعدادات الكاميرا المحددة: سرعة التصوير، التكبير، اللون، الدقة، إعدادات تلقائية للذكاء الاصطناعي، مجموعات الإعدادات المحفوظة، سرعة التحليل. لم تعد حدود الذكاء الاصطناعي هنا - فهي موجودة فقط في علامة التبويب "Inspect".
OUTPUTجهاز الرفض: قواعد في المناطق - إرسال TCP إلى الروبوت/التحكم المنطقي، مخرجات الكاميرا المنفصلة والإشعارات الصوتية، سجل الأحداث، قاعدة البيانات.
AI Modelإنشاء النموذج: مجلد، فئات، شبكة المناطق، صورة للمناطق، حالات الشذوذ في المناطق، صورة الدائرة المرجعية، الإعدادات وبدء التدريب.
Inspectعلامة العمل: أي نموذج يقوم بالمسح، مناطق الفحص، والحد، خط التجميع الحي، الإشارة التي يتم التقاط الفيديو بناءً عليها، فتحات المسح متعدد النماذج.
Settingsلغة الواجهة (14 لغة)، شراء الترخيص، حفظ وتحميل الإعدادات، تسجيل الفيديو.
Consoleسجل الأحداث: توصيل الكاميرات، سير التدريب، عمل وظيفة الرفض، التحذيرات. يتم الاحتفاظ بـ 800-1000 السطور الأخيرة على الشاشة، ويتم تسجيل كل شيء في الملفات logs\engiai-*.log.

شريط الحالة

بالنسبة للأزرار، يتم عرض حالة الكاميرا النشطة: LIVE (Android): 3264×2448 [كاميرا USB عالية الدقة] - نوع، ودقة، واسم؛ AI: WAITING أو AI: GPU (CUDA) - ما تعتقد به النموذج وكم من الوقت استغرق التحليل الأخير؛ Net: إجمالي … نشط … ميجابيت/ثانية - الحمل على الشبكة من كاميرات GigE (أخضر حتى 40% من النطاق، برتقالي حتى 70%، ثم أحمر). يشير النطاق Exp Load إلى النسبة التي يشغلها وقت التعريض من إطار الصورة: إذا كان وقت التعريض متجهًا لليمين، فلن تتمكن الكاميرا من الحفاظ على معدل الإطارات المعلن.

تحتوي كل كاميرا على مربع يضم اسم الكاميرا، وحالتها (مباشر | الذكاء الاصطناعي: مفعل)، وزر لإعادة الاتصال. يؤدي النقر بزر الماوس الأيمن على الإطار إلى فتح قائمة المناطق، بينما يؤدي النقر بزر الماوس الأيمن مع السحب إلى تدوير الصورة في الإطار المكبر.

3. الكاميرات: الاتصال والإعداد

3.1. الكاميرات المدعومة

النوعكيفية الاتصالما الذي يتم ضبطه من البرنامج
HIKROBOT MV-CS
(GigE, USB3)
مجموعة تطوير MVS الأصلية. يتم فتحه فقط باستخدام رقم السلسلة، ولا يهم ترتيب القائمة.إعدادات: 6 ميكروثانية، تضخيم بالديسيبل، إطار في الثانية (FPS)، الدقة (AOI)، مستوى اللون الأسود (0…4095)، جميع وظائف GenICam (الوضع التلقائي، التباين، الحدة، توازن اللون الأبيض (R/G/B)، الإزاحة الرقمية، التدوير، حزم GigE). يتم إدخال المعلمات في قسم "UserSet1" الخاص بالكاميرا. مدخل Line 0، مخرج Line 1، منفذ GPIO رقم 2.
SICK picoCam
(IDS uEye, GigE)
برنامج uEye. يجب أن تكون الكاميرا مرئية في برنامج IDS Camera Manager مع حالة "تم ضبطها بشكل صحيح". يتم التحقق من رقم السلسلة مع الكاميرا، لأن رقم الجهاز في uEye يتغير في كل مرة يتم فيها التشغيل.الحد، التكبير 0…100، معدل الإطارات في الثانية، الدقة، مستوى اللون الأسود 0…255، ساعة البكسل، زيادة التكبير، مكبرات إلكترونية للقنوات R/G/B، نطاق إلكتروني، تخطيط باير. يتم كتابة المعلمات في ذاكرة الكاميرا. مدخل التريجر على الديود البصري، ومخرج الفلاش (150 مللي أمبير).
كاميرا ويب (كاميرا متصلة عبر منفذ USB)
(في القائمة: نظام أندرويد)
DirectShow من خلال OpenCV، تختلف في المونيكر، لذلك لا يمكن الخلط بين كامرتين متطابقتين.دعم حتى 8K، معدل الإطارات، جميع خصائص برنامج التشغيل: السطوع، التباين، التشبع، اللون، الحدة، النطاق، التكبير، التعريض (تلقائي)، التركيز (تلقائي)، توازن اللون الأبيض (تلقائي)، التعويض عن الإضاءة، إلخ. لا توجد مدخلات ومخرجات منفصلة، فقط TCP متاح.
كاميرا IP بتقنية RTSPيتم إدخال الرابط الذي يبدأ بـ `rtsp://admin:كلمة_المرور@192.168.1.64:554/…` يدويًا.يتم تحديد التعريض، التكبير، الدقة ومعدل الإطارات في واجهة الويب الخاصة بالكاميرا. في البرنامج: المناطق، النموذج، و TCP.

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

3.2. نافذة الكاميرا: إضافة، إعادة الاتصال، حذف

1
اضغط على الكاميرات الموجودة فوق الفيديو. سيظهر نافذة "إعدادات الكاميرات المتصلة" على الشاشة بأكملها (لإغلاق النافذة، اضغط على مفتاح Esc).
2
اضغط على + إضافة كاميرات. ستقوم البرنامج بالاستعلام عن الشبكة و USB وعرض كل ما تم العثور عليه في قائمة واحدة: Hikrobot … رقم السلسلة: … عنوان IP: …, SICK … رقم السلسلة: … معرف الجهاز: …, Android …. يتم استعلام كاميرات SICK لمدة تصل إلى 4 ثوانٍ، وذلك لأن جهاز GigE لا يظهر على الفور في برنامج التشغيل. يتم وضع علامة ⚠ على كاميرا SICK التي هي قيد الاستخدام أو التي تم توجيهها بشكل غير صحيح، مع ذكر السبب.
3
حدد الكاميرات المطلوبة واضغط على "إضافة". يمكنك إضافة كاميرا IP باستخدام الزر "+"، وكاميرا RTSP باستخدام الرابط.... أثناء عملية الاتصال بالكاميرات، تظهر شاشة انتظار مع زر "تخطي الكاميرا".
4
ستظهر الكاميرا في القائمة بسطر: اسم | نوع | رقم التسلسل | "عبر الإنترنت" أو "غير متصل" | "AI:ON" | "التشغيل":ON، وسيتم عرض الفيديو الخاص بها في الجزء الأيسر من النافذة الرئيسية.

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

يعرض الجزء الأيمن من النافذة جميع معلمات الكاميرا التي تم قراءتها من الجهاز عند الاتصال، مع تجميعها ووحدات القياس الخاصة بها. تتضمن الخيارات: "عرض معلمات"، "إعادة القراءة من الكاميرا"، و "نسخ إلى المخزن المؤقت". هذه مجرد معاينة: يمكن تعديل المعلمات في علامة التبويب "الكاميرا".

هام. كاميرا HIKROBOT المتصلة عبر GigE تحتفظ باتصال حصري. بعد إغلاق البرنامج بشكل غير طبيعي، تظل الكاميرا مشغولة حتى انتهاء إشارة "القلب"، ويقوم البرنامج بالانتظار لمدة تصل إلى 25 ثانية (10 محاولات) وإعلام المستخدم بـ "الكاميرا مشغولة بعملية أخرى". بالنسبة لـ SICK، إذا كان عنوان IP غير صحيح، يحاول البرنامج إصلاحه مرة واحدة، إذا لم يكن عنوان IP ضمن نطاق شبكة المحول.

3.3. علامة "Camera" لـ HIKROBOT و SICK

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

1
في الأسفل، أدخل العرض (W) و الارتفاع (H) للشاشة (أو اختر قيمة من القائمة، والتي تحتوي فقط على الأبعاد التي تدعمها هذه الكاميرا)، ثم اضغط على تطبيق الدقة. عادةً ما يتم استخدام دقة الشاشة الكاملة. يتم تقريب حجم الشاشة إلى أقرب قيمة متوافقة مع دقة الكاميرا.
2
اضغط على "تعديل تلقائي للذكاء الاصطناعي (بناءً على الإطار). تقوم البرنامج باختيار سرعة التصوير (الأولوية) وزيادة الإضاءة (لا تتجاوز 40)، بحيث يقع 99.5% من قيم الإضاءة بين 220 و 248 دون حدوث انعكاس، ثم يضبط اللون 1.50، والتشبع 115%، والتباين 105%، ويقوم بتفعيل التوازن التلقائي للون الأبيض. عند تحديد مربع "تلقائي"، يتم تفعيل الوضع المستمر: يتم التحقق والتعديل كل 3 ثوانٍ، إذا تغيرت الإضاءة.
3
إذا لزم الأمر، قم بتعديل الإعدادات يدويًا: التعريض (مقياس بالمايكروثانية، تسمية بالملي ثانية، حتى 1 ثانية)، التحكم في الإضاءة، عدد الإطارات في الثانية، مستوى اللون الأسود. بالإضافة إلى ذلك، بالنسبة لـ SICK، معدل الساعة (يحدد الحد الأقصى لعدد الإطارات في الثانية وأقصر مدة التعريض)، زيادة التحكم في الإضاءة، نطاق الألوان، توازن اللون الأبيض (أحمر/أخضر/أزرق).
4
اضغط على "حفظ الإعدادات": سيتم حفظ الملف `camera_params\<SN>.ini وتسجيل الإعدادات في ذاكرة الكاميرا تحت اسم "UserSet1" في جهاز HIKROBOT (مع تعيين الإعدادات الافتراضية)، وسيتم حفظها في ذاكرة EEPROM في جهاز SICK. سيظهر الناتج على الزر نفسه ("✔ تم الحفظ"). بالنسبة لجهاز HIKROBOT، يوجد خيار "الحفظ التلقائي" في الكاميرا (UserSet1) بعد 5 ثوانٍ من التغيير.

وحدة "Hikrobot: إعدادات الكاميرا (GenICam)"

يتم عرض ما تظهره الكاميرا فقط. الخيارات: "وضع التعريض التلقائي" (تشغيل / مرة واحدة / مستمر)، "تعزيز تلقائي"، نطاق الألوان، ونوع نطاق الألوان، الحدّة، اللون، والتشبع، "توازن اللون الأبيض" التلقائي، "توازن اللون الأبيض" حسب القنوات، "تحويل رقمي"، "مستوى اللون الأسود مُفعل"، "حد FPS مُفعل"، "تدوير أفقي ورأسي"، "GigE: حجم الحزمة"، "GigE: تأخير بين الحزم"، "GigE: حد النطاق"، "صورة اختبار". زر "إعادة قراءة إعدادات الكاميرا" يعيد تنسيق الجدول.

وحدة "لون الصورة"

تنسيق باير (ألوان / BGGR / RGGB / GRBG / GBRG)، التشبع 0…200 %، قيمة ألفا 0.30…3.00، التباين 50…200 %، زر إعادة الضبط. يتم تطبيق المعالجة البرمجية على جميع عناصر الإطار: العرض، التسجيل، الاستنتاج، والصور للتدريب، لذلك تكون الصورة متطابقة أثناء التدريب وفي الفحص. بالنسبة لـ HIKROBOT، يتم استخراج التنسيق من تنسيق البكسل الخاص بالكاميرا، وفي حالة أجهزة SICK الملونة، يتم استخراجه من المستشعر ويتم توضيحه من الإطار الأول.

المعلمماذا يفعل؟التأثير عليه
تحليل في الثانية (AI)حد أقصى لسرعة الفحص، 1…200أقل: يقلل من الضغط على بطاقة الرسوميات؛ لا يعتمد على توصيل الكاميرا.
حد الذكاء الاصطناعي:لا يتم تحديد الحد في علامة "الكاميرا".حد التعرف على المنطقة: يتم تحديده فقط في علامة "الفحص" (القسم 5.2)، واحد لكل كاميرا.
Exposureوقت التعريض:بمعنى آخر: يقلل من التشويش الناتج عن حركة الأجزاء؛ لا يمكن أن يكون الصفر.
Gain / Gain boostتعزيز إشارة المصفوفة:يزيد من السطوع، ولكنه يضيف ضوضاء.
Pixel clock (SICK)تردد المستشعر:يغير نطاقات الإطارات والتعريض، ويتم إعادة قراءتها.
FPSتردد الإطارات في الوضع الحر:لا يستخدم في وضع التنشيط.
العرض / الارتفاعحجم الإطار (AOI)كلما كان الإطار أصغر، زادت التردد وقل الترافيك
هام. قم بتصوير الصور لغرض التدريب في نفس الظروف التي ستعمل فيها الكاميرا: نفس الإضاءة، ونفس السرعة، ونفس وضع الكاميرا. بعد تغيير إعدادات الصورة، تذكر البرنامج في واجهة المستخدم أنه يجب إعادة تدريب النموذج باستخدام الصور الجديدة.

3.4. علامة "الكاميرا" للكاميرات USB/الويب

بالنسبة للكاميرات USB، تعرض العلامة كتلة "كاميرا USB: الدقة، معدل الإطارات والخصائص". لا تظهر خصائص برنامج التشغيل التي لا ترسلها الكاميرا؛ يتم تحديد حدود الحقول بواسطة البرنامج، لأن DirectShow لا يوفر معلومات عن النطاقات.

1
التحقق و التطبيق. زر التحقق يعرض الأحجام القياسية من VGA إلى 8K، ويحتفظ فقط بالأحجام التي وافق عليها الكاميرا. تعرض السطر "تنسيق الكاميرا" الحجم الفعلي ومعدل الإطارات في الثانية.
2
قم بتفعيل إعدادات التعريض التلقائي، والتركيز التلقائي، وتوازن اللون الأبيض، ثم اضغط على زر "تثبيت الإعدادات (إيقاف التشغيل التلقائي، والحفاظ على الإعدادات الحالية)": سيتم إيقاف التشغيل التلقائي، وستقوم البرنامج تلقائيًا باختيار سرعة الغالق اليدوية المناسبة للحصول على نفس مستوى الإضاءة (عندما يكون التشغيل التلقائي مفعلًا، يعرض البرنامج آخر إعداد يدوي تم اختياره، وليس الإعداد الذي تم اختياره تلقائيًا)، وسيتم حفظ هذه القيم والتنسيق في قاعدة البيانات، وسيتم تطبيقها في كل مرة يتم فيها توصيل هذه الكاميرا.
3
التصنيف: تحت إشراف الذكاء الاصطناعي: تحديد الأشكال تلقائيًا وفقًا للشكل (20-60 ثانية، تعديل التعريض والتباين بناءً على اللقطات الحية، المعيار: وضوح الحواف بدون انعكاسات)، أشكال، بدون لون, أشكال، ناعمة, إعادة, نمطية.
4
القيم الموجودة في الحقول تنتقل إلى الكاميرا فورًا، دون الحاجة إلى الضغط على مفتاح "Enter"، ويتم تسجيلها على الفور في قاعدة البيانات. تتيح الزر "إعادة قراءة الخصائص من الكاميرا" إثبات أن الكاميرا قد تلقت البيانات بالفعل.
نصيحة. بالنسبة للذكاء الاصطناعي، من الأفضل إزالة اللون ليس عن طريق تعديل تشبع الكاميرا، بل عن طريق تفعيل الخيار العام "التدريب باستخدام تدرجات الرمادي (إعداد عام للنموذج)" في علامة التبويب "الكاميرا" (وفي علامة التبويب "نموذج الذكاء الاصطناعي"، يُعرف هذا الخيار بـ "التدريب باستخدام الرمادي"): بهذه الطريقة، ستكون الصور المستخدمة للتدريب وعمليات الفحص باللون الرمادي، بينما ستستمر الكاميرا في عرض الألوان للمشغل. النموذج الموجود في المثال تم تدريبه باستخدام تدرجات الرمادي.

3.5. إعدادات الكاميرا المحفوظة (المجموعات)

تظهر كتلة "إعدادات الكاميرا المحفوظة" للكاميرات USB و SICK و HIKROBOT. بعد اختيار المعلمات المناسبة للمنتج، احفظها باسم: أو اختر مجموعة من القائمة إذا كنت تستخدم لوحة مختلفة أو إضاءة مختلفة.

  • حفظ باسم… - يقرأ القيم الحالية من الكاميرا ويطلب اسم المجموعة. إذا كان الاسم مستخدمًا بالفعل، فإنه يقترح استبداله.
  • اختيار مجموعة المعلمات في القائمة يكتب المعلمات مباشرة في الكاميرا ويحفظها: بالنسبة لـ USB، يتم حفظها في قاعدة البيانات، وبالنسبة لـ SICK و HIKROBOT، يتم حفظها في ملف المعلمات وفي ذاكرة الكاميرا (UserSet1 / EEPROM). ثم تقوم اللوحة بقراءة القيم من الأجهزة وعرض عدد المعلمات التي تم تحديدها، وعدد المعلمات التي تم تغييرها.
  • إعادة الحفظ تعيد كتابة المجموعة المختارة بقيمها الحالية، بينما تغيير الاسم و الحذف يؤثران فقط على السجل في قاعدة البيانات، ولا يتغير الإعدادات في الكاميرا.

ماذا يتضمن المجموع: بالنسبة لواجهة USB، يتضمن الدقة، ومعدل الإطارات (FPS)، وخصائص برنامج التشغيل، وأنماط التشغيل التلقائي. وبالنسبة لـ SICK، يتضمن الكسب، ووقت التعريض، ومعدل الإطارات، ومستوى اللون الأسود، وتردد البكسل، وزيادة الكسب، وتوازن اللون الأبيض (R/G/B)، ومعالجة جاما المدمجة، وإعدادات الألوان البرمجية. وبالنسبة لـ HIKROBOT، يتضمن الكسب، ووقت التعريض، ومعدل الإطارات، ومستوى اللون الأسود، وجميع عناصر GenICam. حجم الإطار الخاص بالكاميرات الصناعية غير مشمول في المجموع: تغيير حجم الإطار يؤدي إلى إعادة تشغيل عملية الالتقاط. المجموعات موحدة لجميع الكاميرات من نفس النوع، لذلك يتم تركيب مجموعة واحدة لكل كاميرا متطابقة على الكشك.

3.6. شبكة GigE وإعادة الاتصال

  • يتم ضبط حجم حزمة GigE تلقائيًا على الأمثل عند الفتح؛ يمكن تعديله يدويًا في كتلة GenICam. تقلل الحزم الكبيرة (8164-9000) من الحمل، وعندما تكون الإطارات متقطعة، اضبطها على 1500 وقم بزيادة التأخير بين الحزم.
  • تعتبر السطر `Net` الحمل من كل كاميرا بناءً على بياناتها الخاصة (حجم الحمولة × التردد)، وتقارنها مع حركة المرور الفعلية على بطاقات الشبكة. إذا كان هناك اختلاف كبير، فهذا يعني فقدان الإطارات أو وجود حركة مرور غير مرغوب فيها. تم استبعاد أجهزة الشبكة الافتراضية ومرشحات NDIS (مثل GigEVision و uEye و Npcap) من الحساب.
  • إذا كانت الكاميرا مرئية ولكن لم يتم تشغيل البث، اضغط على "إعادة الاتصال" (في نافذة الكاميرا أو على المربع). عادةً، يكون السبب هو محدودية عرض النطاق الترددي للشبكة أو منفذ USB.
  • تُفقد إعدادات "SICK picoCam" عند إغلاق الوصف، وإذا لم يكن هناك مجموعة إعدادات في الكاميرا نفسها، فإن البرنامج يطبق ملف الإعدادات ويقترح الضغط على "حفظ الإعدادات" لتسجيلها في الكاميرا.

4. نموذج منطقة-زوج: من الشبكة إلى النموذج المدرب

4.1. كيف يعمل المنهج: نموذج واحد، فئة لكل منطقة.

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

المجلد model_4: صور التدريب والتحقق، data.json: المناطق، live_template: صورة لوحة التحكم، board.json: الحد، best.onnx: الشبكة المدربة.
المجلد model_4: صور التدريب والتحقق، data.json: المناطق، live_template: صورة لوحة التحكم، board.json: الحد، best.onnx: الشبكة المدربة.
model_4 التدريب صور للتدريب zone_001 منطقة طبيعية 1 (C30): real_... من الكاميرا، syn_... بيانات اصطناعية zone_001_anomaly عيب منطقة 1: syn_..._combo1_d، _rotate1 ... zone_002 منطقة طبيعية 2 (BR1) zone_002_anomaly عيب منطقة 2 التحقق مجموعة اختبار: نفس الأربعة مجلدات، يتم ملؤها تلقائيًا data.json المناطق: جداول، إحداثيات، حجم، لون، مُفعّلة/معطلة؛ الفئات؛ فتحات live_template.png / .txt صورة مرجعية للوحة: إطار، منطقة المحاذاة، مناطق حمراء (مُعلّقة) live_template_zones.png صورة مرجعية مع مناطق ورقم board.json حد اكتشاف المنطقة ({ "threshold": 0.50 }) train_gray.txt خاصية "مجموعة في تدرجات الرمادي" best.onnx النموذج المُدرَّب - يتم تعيينه للفحص runs\ diag\ *.cache للاستخدام الداخلي: مسار التدريب، صور للتحليل، ذاكرة التخزين المؤقت للتدريب
تدريب: مجلدان لكل منطقة - طبيعي وأعطال.
تدريب: مجلدان لكل منطقة - طبيعي وأعطال.
اختبار: نفس الهيكل، يقوم البرنامج بملئه تلقائيًا عند التصوير.
اختبار: نفس الهيكل، يقوم البرنامج بملئه تلقائيًا عند التصوير.

ملفات real_…jpg — هذه المقاطع هي لقطات حقيقية تم الحصول عليها من الكاميرا (يتم تسجيلها في كل من مجموعة التدريب ومجموعة التحقق) syn_…jpg — بيانات مُصطنَعة edit_…jpg — لقطات من محرر المنطقة. في المثال التالي، بعد التقاط صور لعدة لوحات: zone_001 — 502 ملف في مجموعة التدريب و 111 ملف في مجموعة التحقق zone_001_anomaly — 680 و 144 zone_002 — 813 و 181، zone_002_anomaly — 340 و 60.

موقع تخزين واحد. جميع عناصر التخطيط في النموذج - مناطق الفحص، منطقة المحاذاة، والفئات والفتحات - موجودة فقط في مجلد النموذج: data.json و live_template.txt. لم تعد هناك مناطق في قاعدة البيانات، لذلك فإن أدوات ROI في علامة "نموذج الذكاء الاصطناعي" وفي علامة "الفحص" تعرض نفس المناطق، ويمكن نسخ مجلد النموذج بالكامل إلى جهاز كمبيوتر آخر دون فقدان أي شيء. يتم نقل النماذج القديمة تلقائيًا عند فتحها لأول مرة.

تتعرف البرنامج على النموذج تلقائيًا كـ "منطقة دفع"، وذلك بناءً على وجود الفئات المحددة (zone_NNN). رقم الفئة هو رقم المنطقة في الشبكة (1…N). ومن هنا، ينبع المبدأ الأساسي للطريقة:

هام. المناطق هي جزء من النموذج. بعد التصوير، لا يمكن تغييرها (إضافة أو حذف أو إعادة ترتيب الجداول): سيصبح رقم المناطق غير متطابق مع أرقام الفصول، وستحصل هذه المناطق على علامة NO_ZONE_CLASS. إذا كان من الضروري تغيير المناطق، فيجب إنشاء نموذج جديد.

4.2. إنشاء النموذج

1
افتح علامة التبويب "نموذج الذكاء الاصطناعي" وانقر على "إنشاء نموذج ذكاء اصطناعي جديد".
2
حدد المجلد الأبوي واسم النموذج (يقترح البرنامج فئة model_N). يحتوي القائمة الافتراضية للفئات على normal و anomaly; بالنسبة للمنطقة "زوج"، لا حاجة لها - سيتم إنشاء فئات المناطق تلقائيًا عند التقاط الصور حسب المناطق. يمكنك حذفها أو تركها فارغة: قبل التدريب، سيقترح البرنامج حذف الفئات الفارغة.
3
اضغط على إنشاء النموذج. سيظهر مجلدان train و val على القرص، وسيصبح النموذج متاحًا للتحرير (ولكنه لن يتم تحميله تلقائيًا). إذا كان النموذج موجودًا بالفعل، فاختر اختيار مجلد النموذج بدلاً من ذلك.

4.3. تحديد المناطق على اللوحة

1
ضع اللوحة بشكل صحيح تحت الكاميرا، بحيث تكون في نفس الوضع الذي ستكون عليه على الخط. اضغط على ROI → إضافة إلى الفئة (نموذج التدريب).
2
في نافذة "حفظ منطقة الاهتمام (ROI) في الفئة"، اختر أي فئة (لا يهم للفئة المستخدمة في التسمية)، أو أدخل اسمًا جديدًا، ثم انقر على موافق + فتح منطقة الاهتمام. لاحقًا، ستظهر هنا جميع فئات مناطق الاهتمام، مجمعة حسب النمط zone_###: النقر على المجموعة يحددها، والنقر مرة أخرى يلغي تحديدها؛ زر حذف المجموعة يزيل المجموعة بأكملها، بما في ذلك الصور المرتبطة بها.
3
سيظهر نافذة "تحديد منطقة ROI". استخدم زر الفأرة الأيسر لتحديد المنطقة المحيطة بالعنصر. سيظهر حقل "حجم المنطقة، بكسل": أدخل الحجم (سيتم التقريب إلى مضاعف 32، على سبيل المثال 256)، ثم اضغط على Enter - ستصبح المنطقة مربعًا منتظمًا مع تسمية الحجم. كرر هذه العملية لكل عنصر تحتاج إلى فحصه. في المثال، هناك منطقتان: واحدة حول C30 وأخرى حول BR1.
4
إذا كانت هناك العديد من التفاصيل وهي مرتبة بشكل متساوٍ، فإن استخدام الشبكة يكون أكثر ملاءمة: ببساطة، قم بتمرير الإطار على طول اللوحة وحدد حجم المنطقة - سيظهر لك عدد الصفوف والأعمدة الناتج. أو، يمكنك تحديد عدد الصفوف والأعمدة، وعرض وارتفاع الخلية في الكتلة `شبكة المناطق، ثم الضغط على `إنشاء الشبكة`. يمكن سحب الشبكة بدقة إلى المنتج باستخدام الماوس.
5
اللوحة اليمنى تعرض كل جدول للمناطق، مع إظهار حجم المنطقة وعلامة "مفعلة". المنطقة التي تم تعطيلها لا تُستخدم، والجداول المخفية لا تشارك في الفحص. الأزرار هي: "جميع المناطق ✓ / ✗"، "اللون"، "حذف"، "حذف جميع المناطق". لإغلاق النافذة، اضغط على مفتاح الإدخال (Enter) - سيتم حفظ المناطق في data.json وستظهر على الفيديو باللون الأصفر.
النتيجة: تحديد المناطق في علامة "نموذج الذكاء الاصطناعي": منطقتان باللون الأصفر في الصورة الحية - BR1 في الأعلى من اليمين و C30 في الأسفل من اليسار. على اليمين: أزرار النموذج منطقة-زوج، علامة "تثبيت المناطق على المنتج باستخدام العلامات"، وإعدادات التدريب.
النتيجة: تحديد المناطق في علامة "نموذج الذكاء الاصطناعي": منطقتان باللون الأصفر في الصورة الحية - BR1 في الأعلى من اليمين و C30 في الأسفل من اليسار. على اليمين: أزرار النموذج منطقة-زوج، علامة "تثبيت المناطق على المنتج باستخدام العلامات"، وإعدادات التدريب.
نصيحة. يجب أن تشغل المكون جزءًا كبيرًا من المساحة، مع ترك مساحة صغيرة للدوائر والملصقات والمواقع. هذه المساحة هي التي تُستخدم لاحقًا في إنشاء البيانات الاصطناعية (القسم 4.6). بالنسبة للمكونات 0603-1206 بحجم 11 بكسل/مليم، فإن الحجم 128 بكسل يعمل بشكل جيد. بالنسبة للمكثفات والمقايس والموصلات، فإن الحجم 192-256 بكسل، كما هو موضح في المثال. بعد ذلك، يتم تحديد حجم مدخل الشبكة (Image Size) بحيث يكون تقريبًا مساوياً لحجم المساحة.

المناطق الحمراء: إزالة المنطقة من البيانات الاصطناعية بنقرة واحدة.

في علامة التبويب "نموذج الذكاء الاصطناعي"، انقر بزر الفأرة الأيسر على المنطقة التي تم إنشاؤها بالفعل مباشرةً على الفيديو: ستصبح المنطقة باللون الأحمر ولن تشارك في عملية التقاط الصور بناءً على المناطق أو في الكشف عن الحالات الشاذة. يؤدي النقر مرة أخرى إلى استعادة المنطقة إلى حالتها الأصلية. يتم إعادة حساب عدد الملفات في نوافذ "البيانات الاصطناعية" على الفور، ويعرض النص "معطل N" الموجود فوق الإطار عدد المناطق التي تم تعطيلها. يتم تخزين قائمة المناطق المحددة باللون الأحمر لكل كاميرا ونموذج؛ وفي علامة التبويب "الفحص"، تظل نفس المنطقة عادية (وهناك مناطق أخرى، باللون الأصفر، كما هو موضح في القسم 5.5).

4.4. تثبيت الصورة المرجعية: منطقة المحاذاة.

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

مربعان مختلفان. مناطق الفحص هي المناطق التي يتم فحصها بواسطة النموذج (الخضراء). منطقة المحاذاة هي العلامة التي يتم البحث عن الدائرة (إطار برتقالي) بناءً عليها. لا يتم وضع نقاط الدعم داخل مناطق الفحص: إذا تم البحث عن الدائرة بناءً على المكثف نفسه، فإن المكثف المتحرك سيجلب معه منطقة الفحص، وبالتالي سيصبح الخطأ غير مرئي. لذلك، في منطقة المحاذاة، استخدم الطباعة الشاشة، والفجوات، والمسارات، والدوائر المتكاملة المجاورة، ولكن لا تستخدم الطاولة أو السطح.
1
في علامة التبويب "نموذج الذكاء الاصطناعي"، ضع علامة في المربع "تثبيت المناطق المرتبطة بالمنتج بناءً على العلامات"، وقم بتحديد "فترة البحث، بالمللي ثانية" (القيمة الافتراضية هي 100). ضع اللوحة تحت الكاميرا واضغط على "تثبيت الصورة المرجعية".
2
سيظهر نافذة "منطقة المحاذاة: ما الذي يجب البحث عنه في اللوحة" مع عرض حي و مناطق خضراء للفحص. اسحب إطار باستخدام زر الفأرة الأيسر لتحديد الجزء من اللوحة مع التفاصيل. سترى على اليمين "نقاط الإسناد: N · المحاذاة: صارمة / منظور": يجب أن تكون هناك مئات من النقاط، وفي حالة "الحد الأصغر، اختر منطقة أكبر" قم بتوسيع الإطار. الإطار الجديد سيحل محل الإطار القديم، ويمكن حذف الإطار باستخدام الزر الأيمن.
3
اضغط على ✔ البحث عن المناطق المحددة. أما الزر ✔ البحث عن المناطق المحددة، فإنه يحدد المناطق بناءً على المناطق المحددة، ولكن فقط عندما لا توجد أي مناطق أخرى قريبة. إذا تم إلغاء مربع الاختيار السؤال عن منطقة المحاذاة في كل مرة، فإن التسجيل التالي سيعيد تحديد نفس المنطقة دون الحاجة إلى النافذة.
4
تُظهر البرنامج "تم تحديد الصورة المرجعية. المنطقة N، نقاط التثبيت 1، نقاط K" وتحفظ live_template.png و live_template.txt (الإطار، المنطقة، المناطق المحددة باللون الأحمر). ويظهر مربع الاختيار إظهار مناطق التصوير على الإطار المناطق التي تم تحديدها على الفيديو، بينما تظهر نقاط التثبيت التي استندت إليها العملية، على شكل نقاط زرقاء، مما يوضح ما تعتمده البرنامج.
نافذة منطقة المحاذاة: إطار برتقالي - منطقة اللوحة مع التفاصيل (3000 نقطة مرجعية)، أخضر - مناطق الفحص C30 و BR1، والتي لا تقع ضمن الإطار.
نافذة منطقة المحاذاة: إطار برتقالي - منطقة اللوحة مع التفاصيل (3000 نقطة مرجعية)، أخضر - مناطق الفحص C30 و BR1، والتي لا تقع ضمن الإطار.
اللقطة الحية بعد التثبيت: تم تحديد المناطق على تفاصيلها ووضع علامة عليها بـ "طبيعي"، الخطوط الزرقاء - حدود منطقة المحاذاة، النقاط الزرقاء - نقاط مرجعية متطابقة على تفاصيل اللوحة (لا تقع ضمن هذه المناطق).
اللقطة الحية بعد التثبيت: تم تحديد المناطق على تفاصيلها ووضع علامة عليها بـ "طبيعي"، الخطوط الزرقاء - حدود منطقة المحاذاة، النقاط الزرقاء - نقاط مرجعية متطابقة على تفاصيل اللوحة (لا تقع ضمن هذه المناطق).
نموذج المحاذاةمتى يتم الاختيار
سيارة (موصى به)يتم محاذاة اللوحة بشكل ثابت (انزلاق، دوران، تغيير الحجم)؛ يتم توصيل المنظور فقط إذا كان يتطابق بشكل ملحوظ. دقة في منطقة المحاذاة الصغيرة - 1-2 بكسل.
ثابتكاميرا تنظر بشكل مباشر من الأعلى، اللوحة مستوية. الخيار الأكثر استقرارًا إذا كانت منطقة المحاذاة صغيرة.
منظوركاميرا بزاوية أو اللوحة مائلة. مطلوب منطقة كبيرة مع نقاط على كامل العرض، وإلا فإن "الرؤية" ستكون مشوهة.

يفتح زر "الصورة المرجعية مع المناطق" الصورة المرجعية المحفوظة مع الشبكة وأرقام المناطق (القسم 4.8). يتم فحص اللوحة التي تم العثور عليها للتأكد من صحتها: يجب أن تكون مساحتها بين 0.5 و 2 من مساحة الصورة المرجعية، وأن تكون عبارة عن شكل رباعي محدب، وأن تشغل نقاط الدعم ما لا يقل عن ربع المساحة على كل محور. إذا لم يتحقق ذلك، يتم رفض النتيجة، ويظهر في وحدة التحكم رسالة "لم يتم العثور على اللوحة".

هام. إذا كانت المناطق التي "تخرج" فيها العناصر في السابق محدودة في عددها على الصورة، فإن السبب هو أن الدفع كان يتم على أساس المناطق نفسها. يرجى إعادة التقاط الصورة مع التركيز على منطقة محاذاة المكونات على اللوحة: في اللوحة الموجودة في هذا الدليل، فإن عدد المناطق التي تم تحديدها طبيعيًا قد زاد من 46-51 إلى 106-112 من بين 134.

4.5. صورة حسب المنطقة: طبيعية وبياناتها الاصطناعية

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

نافذة "منطقة-زوج: لقطات حسب المناطق": عدد الخيارات، لقطات حسب الوقت، النسبة في val، تحريك/تدوير/تكبير نافذة المنطقة على كامل الصورة مع اختيار "إلى أين"، الإضاءة والضوضاء، عداد الملفات النهائي. يتم توسيع النافذة باستخدام الماوس.
نافذة "منطقة-زوج: لقطات حسب المناطق": عدد الخيارات، لقطات حسب الوقت، النسبة في val، تحريك/تدوير/تكبير نافذة المنطقة على كامل الصورة مع اختيار "إلى أين"، الإضاءة والضوضاء، عداد الملفات النهائي. يتم توسيع النافذة باستخدام الماوس.
الإعداداتما الذي يتم إنشاؤه وما هي القيم الافتراضية؟
خيارات اصطناعية لكل منطقةكم عدد الملفات الاصطناعية التي يمكن إنشاءها لكل مقطع؟ يوصى بـ 20، 0 - فقط الصورة المرجعية، و 500 كحد أقصى.
صور حسب الوقت: كل خيار من لقطة جديدة من الكاميرامفعل، الفترة الزمنية 800-1200 مللي ثانية (أقل من سرعة الغالق). يتم الحصول على كل خيار من لقطة حية جديدة: الضوضاء الحقيقية للكاميرا، والاهتزاز، وتأثير الإضاءة بدلاً من الرسم.
كما يتم تحديد احتمالية لكل خيار بنسبة مئوية:20%. الصورة المرجعية موجودة دائمًا: يجب أن يكون لكل فئة في Ultralytics وجود في كلا المجلدين.
التدريب باستخدام الألوان الرماديةعلم النموذج العام: يتم إزالة اللون من الصور الطبيعية، والأشياء الشاذة، وفحص الألوان. لا يمكن خلط الملفات الملونة والرمادية في نموذج واحد، وستقوم البرنامج بإعلامك بذلك.
الإزاحة، بكسل · إلى أينينزاح نافذة المنطقة على كامل الإطار بمقدار 0…2 بكسل في الاتجاهات المحددة (← → ↑ ↓); يتم استنساخ الشريط المفقود من المنطقة المجاورة على اللوحة، ويظل الفتح مستقيماً. العلامة جميع الاتجاهات تعطي لكل اتجاه ملف واحد، ملف واحد عشوائي - ملف واحد.
الدوران، درجة · إلى أينافتراضيًا، يتم تعطيل الميزة: لا يوجد دوران، ويؤدي التفعيل إلى تشويه الحدود مع الخطأ. "إلى اليسار / إلى اليمين"، "في جميع الاتجاهات / اتجاه عشوائي" - كما في حالة الإزاحة.
المقياس، % · تقليل / زيادةافتراضيًا، يكون الوضع معطلاً. وجود علامتين يعني: تقليل (أقل من 100) وزيادة (أكثر من 100، ويستمد الإطار المنطقة من الإطار المجاور). كل جانب محدد يمثل ملفًا منفصلاً.
السطوع / التباين / النطاققيمة عشوائية من النطاق لكل خيار: سطوع 88…112، تباين 88…112، نطاق 98…102 (في الصورة); في ملف "تعديل موضع العناصر"، يكون السطوع أوسع لمنع حدوث أي خلل.
الضوضاء (سيجما) / التشويشحجم المستشعر 3…8 مستويات، تركيز خفيف 0,4…0,8 بكسل.
عمود "عام"مع تحديد المربع، يتم تضمين هذا الخيار في الملف العام مع الخيارات الأخرى؛ بدون تحديد المربع، يتم إنشاء ملف منفصل "الصورة المرجعية + هذا الخيار فقط". كلما زاد عدد الخيارات، زاد عدد الملفات لكل خيار.
1
اضغط على منطقة-زوج: صورة حسب المناطق. السطر الموجود في أسفل مربع الحوار يحدد مسبقًا: "لخيار: ملف واحد. للمنطقة: 21 في القطار، ≈5 في المجموعة التجريبية. إجمالي عدد الملفات: ≈ 52 ملف. عدد الصور من الكاميرا: 20، ≈16 منها". (للمنطقتين).
2
اختر الملف: افتراضي (إزاحة 0-2 بكسل، سطوع ±5، تباين 95-105%)، إزاحة العناصر (إزاحة 0-1 بكسل، سطوع -10...10)، أو اللون واللون (إزاحة 0-2 بكسل، سطوع ±2، تم تعطيل التباين والمدى، للحفاظ على اللون كخاصية مميزة).
3
اضغط على زر "إيقاف". تبدأ عملية المعالجة في الخلفية مع نافذة تعرض التقدم: "منطقة 1/2 · ملفات 26 · إطار 4/20" وزر "إلغاء". عند الانتهاء: "تم: منطقتان → فئات zone_001…zone_002، ملفات: 52". تقوم البرنامج تلقائيًا بضبط إعدادات التدريب لتتناسب مع اللوحة: حجم الصورة 128، حجم النموذج صغير، عدد الدورات 50، حجم الدفعة 64 (القسم 4.9).
4
كرر التصوير باستخدام نفس الزر على عدة لوحات سليمة مختلفة. لضمان الحصول على نتائج دقيقة، يجب أن يحتوي كل فئة على ما لا يقل عن 80 ملفًا، والأهم من ذلك، وجود عدة نسخ فعلية (5-10 لوحات)، وليس صورة واحدة تحتوي على مئات الخيارات.
train\zone_001 — تركيبة طبيعية C30 في الموصل: real_... من الكاميرا و.. syn_..._n1...n20 مع اللاحقات التي تشير إلى الإزاحة (shiftd، shiftl، shiftr، shiftu). يظل النص دائمًا في مكانه بالنسبة إلى الأساس.
train\zone_001 — تركيبة طبيعية C30 في الموصل: real_... من الكاميرا و.. syn_..._n1...n20 مع اللاحقات التي تشير إلى الإزاحة (shiftd، shiftl، shiftr، shiftu). يظل النص دائمًا في مكانه بالنسبة إلى الأساس.
trainzone_002 - طبيعي BR1: real_... مع ثلاثة مراحل وخيارات تتضمن دورانًا خفيفًا (rotl، rotr) وإزاحة.
trainzone_002 - طبيعي BR1: real_... مع ثلاثة مراحل وخيارات تتضمن دورانًا خفيفًا (rotl، rotr) وإزاحة.

4.6. بيانات اصطناعية: خطأ في ضغطة واحدة: يتحرك العنصر مع القاعدة

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

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

ضغطة واحدة

1
منطقة-زوج: صورة حسب المناطقالتقاط الصور. يتم استخراج كل منطقة بشكل طبيعي مع 20 خيارًا لتوزيع التقاط الصور (تحريك النافذة 0-2 بكسل، الإضاءة، الضوضاء) ويتم تصنيفها في الفئات zone_NNN.
2
منطقة-زوج: أخطاء في المنطقةإنشاء. تتضمن الإعدادات الافتراضية كلا النوعين من التحويل: تحويل المنطقة بمقدار 5-12 بكسل في جميع الاتجاهات و تدوير منطقة العنصر (70% من المنطقة، دائرة) بمقدار 15-180 درجة. يتم حفظ الملفات في الفئات zone_NNN_anomaly.

لا حاجة لتعديل أي شيء آخر: لا داعي للرسم أو البحث عن اللوحات المعيبة. بعد ذلك، تدريب نموذج الذكاء الاصطناعي.

قبل وبعد: ما الذي تحققته البرنامج

قبل: صورة حية للوحة سليمة. كلا المنطقتين أخضوان - "طبيعي".
قبل: صورة حية للوحة سليمة. كلا المنطقتين أخضوان - "طبيعي".
بعد: يتم وضع بيانات اصطناعية من مجلدات الأخطاء - C30 يتحرك إلى اليمين والأسفل، BR1 يتم تدويره. كلا المنطقتين حمراوان - "خطأ". بالإضافة إلى ذلك، ستظهر اللوحة بشكل طبيعي في حالة وجود عيب حقيقي على الخط.
بعد: يتم وضع بيانات اصطناعية من مجلدات الأخطاء - C30 يتحرك إلى اليمين والأسفل، BR1 يتم تدويره. كلا المنطقتين حمراوان - "خطأ". بالإضافة إلى ذلك، ستظهر اللوحة بشكل طبيعي في حالة وجود عيب حقيقي على الخط.
كبير، المنطقة 1 (C30): على اليسار طبيعي من الكاميرا، وعلى اليمين بيانات اصطناعية - يتم تحريك الجزء مع القاعدة إلى الأسفل واليمين، الحافة ممتلئة بالقطع من الصورة.
كبير، المنطقة 1 (C30): على اليسار طبيعي من الكاميرا، وعلى اليمين بيانات اصطناعية - يتم تحريك الجزء مع القاعدة إلى الأسفل واليمين، الحافة ممتلئة بالقطع من الصورة.
كبير، المنطقة 2 (BR1): على اليمين، يتم تدوير الجزء بزاوية 180 درجة - المساحات في مكانها، الجسم لا يواجه الاتجاه الصحيح.
كبير، المنطقة 2 (BR1): على اليمين، يتم تدوير الجزء بزاوية 180 درجة - المساحات في مكانها، الجسم لا يواجه الاتجاه الصحيح.

المجلدات التي تعرض الأخطاء كما يراها المستخدم

قارنها بالمجلدات الطبيعية من القسم 4.5: الفرق الوحيد هو في موقع الجزء بالنسبة للقاعدة.

train\zone_001_anomaly - عيب مصنف تحت رمز C30. في كل نسخة (t000، t001، إلخ)، توجد تسعة ملفات: combo1_d، و _dl، و _dr، و _l، و _r، و _u، و _ul، و _ur. تم إزاحة هذه الملفات بمقدار 5-12 بكسل في ثماني اتجاهات (d = لأسفل، u = للأعلى، l = لليسار، r = لليمين). "rotate1" يشير إلى أن منطقة المكثف قد تم تدويرها.
train\zone_001_anomaly - عيب مصنف تحت رمز C30. في كل نسخة (t000، t001، إلخ)، توجد تسعة ملفات: combo1_d، و _dl، و _dr، و _l، و _r، و _u، و _ul، و _ur. تم إزاحة هذه الملفات بمقدار 5-12 بكسل في ثماني اتجاهات (d = لأسفل، u = للأعلى، l = لليسار، r = لليمين). "rotate1" يشير إلى أن منطقة المكثف قد تم تدويرها.
train\zone_002_anomaly - عيب BR1: انزلق جسم الدائرة الكهربائية من أماكن التثبيت وتوجه في اتجاهات مختلفة، بزوايا عشوائية. الملمس الخاص باللوحة الكهربائية وأماكن التثبيت أصلي.
train\zone_002_anomaly - عيب BR1: انزلق جسم الدائرة الكهربائية من أماكن التثبيت وتوجه في اتجاهات مختلفة، بزوايا عشوائية. الملمس الخاص باللوحة الكهربائية وأماكن التثبيت أصلي.
كيفية قراءة أسماء الملفات. syn_<تاريخ>_t003_combo1_dr.jpg - نسخة رقم 3، ملف عام، تحريك لأسفل-يمين (d = لأسفل، r = لليمين، u = لأعلى، l = لليسار); …_rotate1.jpg - تدوير منطقة العنصر؛ …_scale1_dn/_up - تغيير الحجم إلى اتجاه أصغر أو أكبر؛ …_tl/_c/_br - تحديد موقع المنطقة (الزاوية، المركز). من خلال الاسم، يمكن تحديد العيب الموجود في الملف بالضبط، ويمكن حذف البيانات الزائدة باستخدام زر "حذف بيانات اصطناعية (مجموعة التدريب + مجموعة الاختبار)" في نافذة المناطق.

تسمية الأجزاء: لماذا الخط "سميك" وكيف يتم ذلك؟

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

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

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

معلمات الأشكالما تحدده:
الحجم: من … إلى، % من المنطقة / بكسلحجم أو طول الشكل. في النسبة المئوية: من أصغر جانب من المنطقة (بشكل متناسب مع أي منطقة)، وفي وحدات البكسل: متساوٍ في جميع المناطق، وهو مفيد عندما يكون حجم العيب الفعلي معروفًا بالبكسل في الإطار.
التعبئةمستمرة / حدود / خليط (الحدود أيضًا سميكة).
سمك الخط، بكسلالخط / الخدش والتقاطع. 0 - تلقائي (سميك). لا تستخدم هذا للتمييز بين الأجزاء، يجب ألا يكون أقل من 3 بكسل.
أين يقع العيب؟في المنتصف، من اليسار، من اليمين، من الأعلى، من الأسفل – أين يتم وضع الشكل (مع بعض التوزيع العشوائي). علامة اختيار جميع المواقع – لكل موقع محدد في الملف؛ موقع واحد عشوائي – ملف واحد، موقع عشوائي من المواقع المحددة. عداد الملفات في أسفل النافذة يراقب ذلك تلقائيًا.
ألوان الأشكال: 5 فتحاتبدلاً من قائمة الأسماء، توجد خمسة خانات. علامة التحديد تشير إلى أن الخانة نشطة. يتم اختيار اللون عشوائيًا من بين الألوان المحددة (حوالي 12 لونًا لكل قناة، لتجنب استخدام نفس الدرجة اللونية). زر "عينة" يسمح باختيار لون من لوحة الألوان. أداة "القطارة" تسمح بأخذ لون من إطار الفيديو المباشر للكاميرا (عجلة القيادة للتقريب، الزر الأيمن للتحريك البانورامي) من تفاصيل أو مكونات حقيقية. افتراضيًا، يتم تفعيل خانتين: الداكنة والفاتحة، بينما الخانات الثلاث الأخرى معطلة.
عمود "عام"يتم تسجيل نوع العيب في ملف مشترك مع أنواع أخرى (مثل الخدوش على عنصر متحرك). بدون علامة، يتم إنشاء ملف منفصل "طبيعي + هذا العيب فقط". نوع "جميع المواقع" يتم إنشاؤه دائمًا كملف منفصل.

4.7. تشوهات المناطق: نافذة الإعدادات

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

نافذة "منطقة-زوج: تشوهات المناطق": يتم نسخ العيب إلى الأعلى؛ مجموعة قابلة للطي من الأشكال المرسومة مع المعلمات والموقع واللوحة اللونية؛ تحريك، وتدوير وتكبير المنطقة مع شكل المنطقة ومقياس ±%; مناطق فرعية؛ إضاءة فوق العيب؛ صور حسب الوقت وقيمة.
نافذة "منطقة-زوج: تشوهات المناطق": يتم نسخ العيب إلى الأعلى؛ مجموعة قابلة للطي من الأشكال المرسومة مع المعلمات والموقع واللوحة اللونية؛ تحريك، وتدوير وتكبير المنطقة مع شكل المنطقة ومقياس ±%; مناطق فرعية؛ إضاءة فوق العيب؛ صور حسب الوقت وقيمة. يتم تمديد النافذة باستخدام الماوس.
الإعداداتماذا يفعل؟
نسخ إلى العيبقيمة واحدة لجميع الأنواع: كم عدد النسخ التي يجب إنتاجها مع معلمات عشوائية جديدة لكل نوع محدد (افتراضيًا 10).
▸ عيوب اصطناعية في سطح القطعالمجموعة الافتراضية: مستطيل، مستطيلات صغيرة، دائرة، قطع ناقص، مثلث، رقم ثمانية، خط/خدش، صليب، عنصر مفقود، بقعة ضبابية، تصحيح للضوضاء، جزء من منطقة أخرى. تتضمن الإعدادات الخاصة بالأشكال والموقع ولوحة الألوان القسم 4.6.
التحريك، بكسل · إلى أين · الشكلالخلل الرئيسي في اللوحة. تتحرك المنطقة (دائرة أو مربع) بمقدار 5-12 بكسل في الاتجاهات المحددة: ← → ↑ ↓ وخطاكي قطري ⤡ ⤢. مقياس عمودي / أفقي، ±% - حجم المنطقة بالنسبة للمنطقة: 0 - المنطقة بأكملها، -30 - المنطقة أصغر بنسبة 30% (ينتقل العنصر فقط، يبقى الأساس)، +30 - المنطقة أكبر من المنطقة (تتضمن العناصر المجاورة من الصورة). جميع الاتجاهات - بالنسبة لكل اتجاه في الملف.
الزاوية، درجة · الشكليتم تدوير المنطقة (أو الشكل، سواء كان دائرة أو مربع، بنفس المقاس ±%) بزاوية عشوائية ضمن النطاق في كلا الاتجاهين.
المقياس، % · تقليل / زيادةنافذة المنطقة كعيب: تقليل بنسبة 60-85% أو زيادة بنسبة 120-160%. كل جانب محدد له ملف خاص. عادةً ما تكون مفتاح المنطقة مطفأ.
"العمومي" بالنسبة للانزلاق والدوران.إذا تم تحديد كلا الخيارين، فهذا يعني أن: هذه قطعة واحدة موجودة في ملف واحد: يتم تطبيق الإزاحة والدوران باستخدام تحويل واحد (وليس بالتتابع، وإلا سينتج عن ذلك "خلط" غير مرغوب فيه)، وتكون مقياس المنطقة والشكل مشتركة وتُحدد في إعدادات الإزاحة.
▸ المناطقيتم تقسيم المنطقة إلى 2 أو 4 أو 9 أجزاء، وكل جزء يحتوي على منطقة خاصة يتم التقاط صورة لها بشكل منفصل؛ بينما تتيح العلامة "صورة لكل منطقة فرعية" الحصول على صورة لكل جزء على حدة. هذا مفيد للمناطق الكبيرة التي تحتوي على عناصر متعددة.
إضاءة وتحديد مستوى الضوضاء لكل ملف يحتوي على عيب.يجب أن يكون العيب واضحًا من الناحية الشكلية، وليس بسبب اختلاف في الإضاءة.
صور حسب التوقيت / في "val"كل نسخة من الإطار الجديد (800 مللي ثانية)، 20% في val، الملف الأول من الفئة دائمًا في val.
1
اضغط على منطقة-زوج: أخطاء المناطق. والنتيجة محسوبة مسبقًا: "المناطق: 2 · على نسخة: 2 ملف · على المنطقة: 20 · إجمالي ≈ 40 (+ جزء في val)". مع "جميع الاتجاهات"، يصبح عدد تحويل الملفات إلى نسخة تسعة، كما هو الحال في المجلدات المذكورة أعلاه.
2
اختر الملف: افتراضي (إزاحة المنطقة 5–12 بكسل + تدوير المنطقة، والشكل، والمناطق الفرعية، مع إخفاء وإيقاف التشغيل)، إزاحة العناصر (فقط إزاحة 4–12 بكسل، مع الحفاظ على لون طبيعي)، أو اللون واللون (الشكل، "إزالة العنصر"، الألوان من لوحة الألوان، بدون إزاحة). يتم تذكر التغييرات التي تجريها النافذة تلقائيًا، مع كل ضغطة.
3
اضغط على إنشاء. سيظهر المجموعات zone_NNN_anomaly في شجرة النموذج. لإضافة خط، قم بإضافته إلى نفس المجموعات من خلال منطقة الاهتمام → إضافة إلى المجموعة.
هام. الحد الأدنى للتحول الاصطناعي (5 بكسل) يقع مباشرة فوق النطاق الطبيعي (0-2 بكسل). لا تزيد النطاق الطبيعي إلى 5 بكسل ولا تقلل من النطاق الشاذ إلى 2 بكسل: سيختفي الحد، وستتذبذب النماذج على اللوحات الفعلية. إذا كنت بحاجة إلى حساسية مختلفة، فغيّر كلا الحدين بشكل متسق وقم بتحويلهما إلى مليمتر (القسم 1.3).

4.8. الصورة المرجعية مع المناطق: وصلات اللحام ومحرر المنطقة

يفتح زر "الصورة المرجعية مع المناطق" الصورة المرجعية المحفوظة للوحة، مع وجود شبكة. هنا، يتم إنشاء البيانات الاصطناعية بدون كاميرا: عجلة التمرير - للتكبير، الزر الأيمن - للتحريك البانورامي، الزر الأيسر - لاختيار المناطق (Ctrl - للإضافة، السحب - لإنشاء إطار، Ctrl+A - لتحديد الكل)، النقر المزدوج - لفتح محرر المناطق.

  • قطع اللحام المخصصة للمناطق المحددة… - نافذة "قطع اللحام: اتصال بين المسارات". البرنامج يحدد المسارات تلقائيًا في المنطقة (حدود منطقة أوتس، الشرائح الفاتحة بعرض ≥ 2 بكسل)، ويضع قطرة لحام في الفجوة بين المسارات المتجاورة، بنفس لون المسارات، مع حافة داكنة وإضاءة. الإعدادات: بين المسارات الرأسية أو الأفقية، قطع اللحام في الصور 1-3، حجم المنطقة 8-18٪، صور للمنطقة (5)، حيث يتم وضعها - في منطقة غير طبيعية أو طبيعية، إضاءة السطح، في "val" - صورة جديدة بإضاءة مختلفة أو نسخة طبق الأصل.
  • محرر المنطقة: الأدوات: الفرشاة، الملعقة، إزالة اللون، نسخ المنطقة، إدراج، الطابع، منطقة اللوحات؛ لوحة الألوان "الموصل / المنطقة"، "اللوحة"، "الظل / القناع"، الأبيض، الأسود؛ حقل "النسخ" وزر إنشاء صورة. بهذه الطريقة يتم رسم العيب الذي لم يكن موجودًا على الخط: منطقة مملوءة، عنصر زائد، غياب العلامة.

تُعطى ملفات المحرر أسماء مثل `edit_…`، وتُضاف إلى فئة المنطقة أو أي انحراف فيها. في علامة "Inspect"، يتم فتح نفس النافذة فقط للمعاينة.

4.9. تدريب النموذج

يتم ملء المجموعة المسماة "إعدادات التدريب" الموجودة في علامة التبويب "نموذج الذكاء الاصطناعي" تلقائيًا بعد أول عملية التقاط للصور بناءً على المناطق: حجم الصورة 128، حجم النموذج صغير (s)، عدد الدورات التدريبية 50، حجم الدفعة 64. هذه القيم مخصصة للمناطق التي يبلغ حجمها 108-137 بكسل. بالنسبة للمناطق التي يبلغ حجمها 256 بكسل، كما هو موضح في المثال، قم بتعيين حجم الصورة إلى 192 أو 256 - في هذه الحالة، لن يتم تقليل حجم الصورة بشكل كبير (في لقطة النافذة الرئيسية، تم تعيين عدد الدورات التدريبية إلى 100 وحجم الصورة إلى 192). تحقق من القيم واضغط على تدريب نموذج الذكاء الاصطناعي.

المعلمماذا يعني؟كيفية الاختيار
Epochsكم مرة سيقوم النموذج بمراجعة المجموعة بأكملهاافتراضيًا 50 لوحة؛ 100-150 إذا كان هناك العديد من فئات الحالات الشاذة
Batch Sizeكم صورة في كل خطوة64؛ إذا كانت ذاكرة الفيديو غير كافية، قللها
Image Sizeإلى أي حجم يتم تقليل القطع، بحيث يكون مضاعفًا لـ 32حجم المنطقة التقريبي: 128 لمنطقة 108-137 بكسل؛ 192-256 لمنطقة 256 بكسل، كما في المثال
Model Sizen / s / m / l / xs - هو الأمثل لعدة مئات من أزواج الفئات؛ n - غير كافٍ، m و أعلى - أبطأ
Deviceما هي الطريقة المستخدمة للتدريب؟0 (وحدة معالجة رسومية) مع بطاقة رسومية NVIDIA؛ إذا لم تكن هناك CUDA، فإن البرنامج سيقوم تلقائيًا بالتبديل إلى وحدة المعالجة المركزية.
Workersعدد سلاسل معالجة البيانات:12 بشكل افتراضي، لعملية متعددة النواة.
1
قبل بدء التشغيل، يقوم البرنامج بفحص المجموعة: يقترح حذف الفئات الفارغة، والمجلدات الزائدة في "val"، ويحدد موقع "val" حيث يكون فارغًا. عند التشغيل الأول، يتم تثبيت بيئة التدريب (Python 3، حزم ultralytics، onnx، onnxslim، onnxruntime) - يتطلب ذلك اتصالاً بالإنترنت وبعض الدقائق.
2
للتدريب باستخدام نموذج "منطقة-زوج"، لا يتم استخدام erasing، flip، crop، و randaugment: هذه التحسينات تتعارض مع فئات الحالات الشاذة (المنطقة المعكوسة هي منطقة أخرى). يتم كتابة السطر المناسب في وحدة التحكم.
3
تتحول الزر إلى اللون الأحمر إيقاف نموذج الذكاء الاصطناعي، ويظهر المقياس الموجود على اليمين النسبة المئوية لكل حقبة. يمكن رؤية عملية التدريب في وحدة التحكم. بالنسبة لـ 2 منطقة و 100 حقبة على بطاقة الرسومات، يستغرق ذلك حوالي 10-15 دقيقة.
4
بعد انتهاء البرنامج، يتم تصدير best.onnx إلى جذر مجلد النموذج، ويتم تعيينه على الفور للفحص. تكرر الزر تصدير ONNX عملية التصدير دون الحاجة إلى إعادة التدريب.
نصيحة. يتم التدريب الإضافي بعد إضافة عيب أو نماذج جديدة باستخدام نفس الزر: يتم إضافة البيانات، ثم يتم الضغط على زر "تدريب نموذج الذكاء الاصطناعي" (best.onnx)، ويتم استبدال البيانات القديمة ببيانات جديدة. مع ذلك، لا تقم بتغيير إعدادات الشبكة.

5. الفحص

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

في قسم "الفحص": النموذج model_4\best.onnx، السطر "فئات الفحص: اللوحة - المنطقة 2، فئات الشذوذ 2. يتم حل المنطقة N داخل المنطقة zone_N / zone_N_anomaly، مع حد 50%"، خط إنتاج حي بفاصل زمني 2000 مللي ثانية، مع مؤشر "طبيعي - 112 نقطة"
في قسم "الفحص": النموذج model_4\best.onnx، السطر "فئات الفحص: اللوحة - المنطقة 2، فئات الشذوذ 2. يتم حل المنطقة N داخل المنطقة zone_N / zone_N_anomaly، مع حد 50%"، شريط نقل مستمر مع فترة 2000 مللي ثانية، ومؤشر "طبيعي - 112 نقطة"، في الأسفل: مصدر السرعة وعلامات "وحدة معالجة الرسوميات"، "تحليل رمادي". في الصورة، كلا المنطقتين أخضيتان - "طبيعي".

5.1. تحديد النموذج والتحقق من المناطق

1
إذا لم يتم تحديد النموذج، فانقر على «اختيار نموذج ONNX للفحص»، وحدد best.onnx في مجلد النموذج. ستعرض السطر "فئات الفحص" جميع الفئات؛ ويتم استخلاص الأسماء من ملف ONNX نفسه، لذا فإن أرقام المخرجات تتطابق دائمًا مع الأسماء.
2
اضغط على منطقة-زوج: مناطق ↔ نموذج (للتحقق، العتبة). يعرض النافذة ما يلي: "عدد المناطق في الشبكة: 2 / عدد الفئات zone_NNN في النموذج: 2، عدد فئات الشذوذ: 2 / كل منطقة في الشبكة لها فئتها الخاصة ✔". التحذيرات "مناطق بدون فئة في النموذج" أو "فئات بدون منطقة في الشبكة" تعني أن الشبكة تم تغييرها بعد التدريب.
3
لا تستخدم الذكاء الاصطناعي يعطل التحليل على هذه الكاميرا مؤقتًا، دون حذف الإعدادات (يحتوي كل جهاز على علامة خاصة به); حذف النموذج يحذف النموذج والفتحات تمامًا.

5.2. عتبة التعرف على المنطقة

لكل منطقة، تقوم الشبكة بإعطاء احتمالات لجميع الفئات، ولكن يتم اتخاذ القرار فقط داخل المجموعة المكونة من عنصرين. يتم ضرب النسبة q = p(zone_N) / (p(zone_N) + p(zone_N_anomaly)) في "مستوى التعرف" - أي مدى تم تخصيص المجموعة بالفعل للمخرج الخاص بالشبكة (مستوى التعرف الكامل عند 10% أو أعلى). يتم مقارنة النتيجة النهائية (من 0 إلى 100%) مع الحد، حيث يشير "أعلى" إلى طبيعي، و "أقل" إلى غير طبيعي.

القيمة الافتراضية هي 50٪، ويتم تخزينها في board.json بجوار النموذج، وتطبق على الفور دون الحاجة إلى إعادة تشغيل. إذا كانت القيمة أقل من 50٪، فإن النطاق يصبح أكثر طبيعية: 25٪ → يتم استبعاد 6٪، و 10٪ → 0.4٪، و 1٪ → تقريبًا كل المنطقة خضراء؛ و 99٪ تسمح فقط بالمنطقة الموثوقة. هذه المقياس ضروري حتى يتمكن المشغل من رؤية الفرق بين 5٪ و 99٪، وليس فقط المناطق الحمراء.

نصيحة. حدد قيمة الحد على مجموعة من عشرة لوحات معروف أنها تعمل بشكل صحيح: ارفع القيمة تدريجيًا حتى تظل جميع المناطق خضراء، ثم اختبر على لوحات معروف بها عيب. كل 10 ثوانٍ، ستكتب البرنامج في سطر الأوامر السطر "[منطقة-زوج] … normal N، anomaly M، الحد 0.50؛ أسوأ q: z17:0.31 …]"، وهذا يوضح أي المناطق أقرب إلى الحدود.

5.3. خط معالجة متصل: يمكن استخدامه في أي وضع

"Гаلوчка خط تجميع حي: الدفع في أي وضع يتضمن البحث عن الدفعة في منطقة المحاذاة قبل كل تحليل: يتم دمج الإطار مع الصورة المرجعية، ويتم تحديد المناطق من الصورة المدمجة، ويتم رسم حدود منطقة المحاذاة والمناطق (الأخضر: طبيعي، الأحمر: غير طبيعي) على الفيديو. يحدد الحقل الفترة، مللي ثانية عدد مرات البحث عن الدفعة (افتراضيًا 1000، في الصورة 2000). يشير المؤشر بجوار: "طبيعي · N نقاط"، "غير طبيعي · N نقاط"، أو "لم يتم العثور على الدفعة" أو "لا توجد صورة مرجعية - حدد". يتم اتخاذ القرار بناءً على تحليل واحد فقط، دون تجميع النتائج.

يتم تحديد منطقة الإحداث و منطقة المحاذاة باستخدام نفس الزر "تحديد الصورة المرجعية" كما هو الحال عند التصوير (القسم 4.4); "الصورة المرجعية مع المناطق " تفتحها لعرضها. في الفيديو، يتم رسم حدود منطقة المحاذاة ونقاط الدعم الزرقاء، والتي تتطابق مع اللوحة. يتم تجاهل المناطق التي تتجاوز حدود الإطار بعد المحاذاة، مع وضع علامة "SKIP".

5.4. ما هو الإشارة المستخدمة للتحليل؟

يظل مصدر السرعة ثابتًا: عند إضافة جديد، يقوم البرنامج بإزالة القديم.

الطريقةكيفية التفعيلمتى يتم التطبيق
عن طريق الكاميراخانة "عن طريق الكاميرا"مراقبة مستمرة؛ يتم تحديد السرعة باستخدام شريط التمرير "عدد التحاليل في الثانية" في علامة التبويب "الكاميرا"
عن طريق المؤقتخانة "عن طريق المؤقت" والفترة (مللي ثانية)مراقبة دورية، على سبيل المثال مرة واحدة في الثانية
عن طريق المؤقتاختيار الاتصال في قائمة "المؤقت" ووضع "تحليل عند + على المدخل" أو "عند -"نظام مع مستشعر على مدخل الكاميرا: يتم التقاط الإطار في لحظة وصول المنتج - الطريقة الأكثر دقة (القسم 6)
GPU☐ "وحدة معالجة الرسوميات"مفعل افتراضيًا؛ التبديل يعيد تشغيل النموذج
تحليل الألوان الرمادية☐ "تحليل الألوان الرمادية"يتم تفعيله تلقائيًا للنماذج التي تم تدريبها باستخدام الألوان الرمادية؛ يتم تحويل القطع إلى اللون الرمادي قبل الاستنتاج

5.5. المناطق الصفراء: إيقاف المنطقة بالنقر

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

1
انقر بزر الماوس الأيسر على المنطقة الموجودة في لوحة الكاميرا: ستتحول المنطقة إلى اللون الأصفر وستخرج من نطاق التحليل. النقر مرة أخرى سيعيد تفعيلها.
2
مجموعة المناطق: اضغط على الزر الأيسر واسحب الإطار على اللوحة. يتم إيقاف جميع المناطق التي تقع داخل الإطار؛ وإذا كانت جميعها بالفعل صفراء، فإن الإطار يعيد تفعيلها. يعمل أيضًا عند تكبير باستخدام عجلة الفأرة.
3
يتم تخزين قائمة المناطق الصفراء في قاعدة البيانات حسب الكاميرا والنموذج، ويستمر في العمل بعد إعادة تشغيل البرنامج وإعادة توصيل الكاميرا. يتم كتابة السطر "[المناطق] ... تم إيقاف المناطق: N" في وحدة التحكم.

ما الذي تفعله المناطق الصفراء، يتم تحديدها عن طريق مربع الاختيار المناطق الصفراء (معطلة بالنقر) تكون صامتة في نافذة الإخراج، في علامة التبويب "الصوت" (مفعلة افتراضيًا):

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

5.6. ما يظهر على الشاشة وفي وحدة التحكم

  • تم تحديد النتيجة لكل منطقة؛ إطار المنطقة هو لون جدول المنطقة، ويصبح أحمر عند تفعيل المؤشر. عندما يكون عدد المناطق أكثر من 50، تظهر إطار المنطقة فقط باللون الأخضر، بينما تظهر المناطق غير المؤكدة والمنطقيات الأخرى بإطارات مختلفة. كان وجود مئات من الإطارات لكل إطار يعيق قراءة الصورة ويزيد من عبء الرسم. تم تعطيل المناطق الصفراء بالنقر (القسم 5.5).
  • تُظهر لوحة "التحليل حسب المشغل" الموجودة في الجزء السفلي من التبويبة كل عملية تفعيل على حدة، مع عرض تفاصيل مثل: [ساعات:دقائق:ثواني.أجزاء من الثانية] الكاميرا، المدخل، والمشغل، بالإضافة إلى زمن الاستجابة (4 مللي ثانية) ووقت معالجة الذكاء الاصطناعي (12 مللي ثانية) ورقم التسلسل (#57). يتم عرض النتائج لكل منطقة على حدة. لا يتم حفظ هذه البيانات في قاعدة البيانات.
  • النقر بزر الماوس الأيمن على المنطقة في الفيديو: "تصنيف الكشف في هذه المنطقة → اعتبارها "…" " يعيد تسمية استجابة النموذج لهذه المنطقة (ولكن لا يصلح النموذج، ولكن جهاز الرفض والسجل سيظهران الاسم الجديد)؛ بالإضافة إلى ذلك، "تفعيل جهاز الرفض لهذه المنطقة" وعداد القواعد.
  • "خانة الاختيار "حفظ صور الفحص" والمجلد: يتم حفظ اللقطات التي تحتوي على المناطق المرسومة في ملفات بامتداد inspect_….jpg. تختلف إعدادات هذا الخيار لكل كاميرا."
  • مرة كل 10 دقائق، يتم إنشاء مجلد فرعي باسم `diag` يحتوي على إطار صورة من خط الإنتاج، وقائمة نصية للمناطق، ويحتوي على آخر 20 صورة - وذلك لتحليل الحالات المتنازع عليها دون الحاجة إلى توسيع المجلد.

6. أجهزة الاستشعار: مستشعر على مدخل الكاميرا

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

نافذة "أجهزة الاستشعار" لـ HIKROBOT (6 أطراف): مستشعر PNP، إشارة إلى الطرف 2، الطرف المشترك 5، مخطط التوصيل.
نافذة "أجهزة الاستشعار" لـ HIKROBOT (6 أطراف): مستشعر PNP، إشارة إلى الطرف 2، الطرف المشترك 5، مخطط التوصيل.
نفس الشيء لـ SICK picoCam (6 أطراف): إشارة إلى الطرف 4 (Trigger +)، الطرف المشترك 3 (Trigger −).
نفس الشيء لـ SICK picoCam (6 أطراف): إشارة إلى الطرف 4 (Trigger +)، الطرف المشترك 3 (Trigger −).
1
اضغط على زر "تفعيل" بجوار الفيديو. اختر نوع المستشعر (مثل مستشعر BAOLSEN QAF-Q2P البصري، مع 4 أسلاك؛ أو أي مستشعر آخر مع منفذ PNP أو NPN، يتم توصيله بنفس الطريقة)، منفذ الكاميرا (HIKROBOT 6 أطراف أو SICK picoCam 6 أطراف)، الكاميرا (حدد نوعها) و نوع خرج المستشعر: PNP - يتم توصيل "الجهد الموجب" (وهو الوضع الطبيعي)، NPN - يتم توصيل "الجهد السالب"، ويتطلب مقاومة بقيمة 1-4.7 كيلو أوم مع جهد 24 فولت.
2
قم بتجميع الدائرة وفقًا للرسم: مصدر طاقة المستشعر والكاميرا من بلوك 24 فولت، سلك الإشارة للمستشعر إلى مدخل الكاميرا، سلك الإدخال العكسي إلى 0 فولت. سلك المستشعر الأبيض - الطرف الثاني، لا يتم توصيله.
3
اضغط على الزر "إنشاء اتصال". يتم حفظ الاتصال في قاعدة البيانات، ولا يتم تكرار الاتصالات المتطابقة. يتيح لك زر "حذف الاتصال" إزالة الاتصال المحدد.
4
في علامة التبويب Inspect، حدد العلاقة في القائمة Trigger، بالإضافة إلى: "تحليل + عند الدخول" (إطار عند ظهور 24 فولت) أو "تحليل - عند الدخول". تقوم البرنامج بتحويل الكاميرا إلى وضع التشغيل: في HIKROBOT، يتم تعيين TriggerMode على "تشغيل"، و TriggerSource على "Line0"، بينما في SICK، يتم إيقاف الالتقاط، وتعيين الوضع وإعادة التشغيل. يشير الدائرة المجاورة إلى مستوى الدخول.

مخطط التوصيل للموصلات

الطرفHIKROBOT MV-CS, 6 pinSICK picoCam, 6 pin
1DC_PWR – جهد التشغيل للكاميرا: 9-24 فولتGND — سلك التأريض الخاص بالكاميرا
2OPTO_IN — مدخل الخط 0 (+)، إشارة التفعيلVCC — مصدر طاقة الكاميرا (12-24 فولت)
3GPIO — سلك 2، مدخل أو مخرجمدخل التريجر - (-)، مستشعر الضوء
4OPTO_OUT - منفذ الخط 1 (+)مدخل التريجر + — طرف الإدخال الخاص بالترانزستور، الطرف الموجب للإرتباط الضوئي
5OPTO_GND - جهاز إضاءة واحد، مع سلك العودةFlash + — مخرج رقمي (+)
6GND — سلك التأريض الخاص بالكاميراFlash − — مخرج رقمي (-)
هام. يجب التأكد من أن طرفي التوصيل "الأب" الموجود في الكاميرا و "الأم" الموجود في الكابل متطابقان. المعيار الوحيد هو المفتاح (فتحة صغيرة في المحرك). في نظام SICK، يقع المفتاح بين الاتصالين 1 و 6، وعندما يتم عكس الاتصالين، يوجه المفتاح إلى اليمين. يجب تحديد الاتصالات من الجانب الذي تمسك به. إذا كان هناك خطأ في الاتصال، فهذا يعني وجود ماس كهربائي: يوجد مصدر الطاقة والمخرج بجوار بعضهما. يجب التأكد من توصيلات SICK عن طريق اختبارها.
نصيحة. قم بقياس الجهد عبر "الرأس الموجي" (+)، وليس عبر "المنحنى": في جهاز الاختبار الفعلي، كان تشتت الوقت بين الرأس الموجي 4.2 مللي ثانية، وبين المنحنى 40.7 مللي ثانية. فحص المستشعر: يجب أن يكون الجهد بين الأسود والأزرق دائمًا 24 فولت، وهذا هو جهد التشغيل؛ أما الإشارة، فيجب أن تكون بين الأسود والأزرق، مع توجيه الشعاع. إذا لم تتغير، ضع مقاومة تتراوح بين 2-10 أوم بين الأسود والأزرق؛ و 24 فولت↔0 فولت يعني NPN.

7. المخرجات: جهاز الرفض، والمخرجات الرقمية للكاميرات و TCP

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

7.1. دليل المخرجات: جهات الاتصال واختبارها باستخدام جهاز قياس

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

HIKROBOT — مخرج سلك 1 (مستشعر الضوء) على الأطراف 4 (+) و 5 (−)، والتيقود 25 مللي أمبير.
HIKROBOT — مخرج سلك 1 (مستشعر الضوء) على الأطراف 4 (+) و 5 (−)، والتيقود 25 مللي أمبير.
SICK picoCam — سلك الفلاش (مستشعر الضوء) على الأطراف 5 (+) و 6 (−)، بقوة 150 مللي أمبير بشكل مستمر.
SICK picoCam — سلك الفلاش (مستشعر الضوء) على الأطراف 5 (+) و 6 (−)، بقوة 150 مللي أمبير بشكل مستمر.
  • المخرج: "مقبس" مستشعر الضوء: لا يوفر جهدًا خاصًا به، بل فقط يكمل الدائرة. يتطلب مصدر طاقة خارجي.
  • اختبار باستخدام جهاز قياس في وضع Ω: المخرج "إيقاف" - انقطاع (OL)، "تشغيل" - مئات الأوم. لا يصدر صوت البوق في كلا الحالتين، يرجى الرجوع إلى الأرقام. إذا لم يتغير شيء - اقلب الطرفين، مستشعر الضوء له قطبية.
  • التيار: +24 فولت → لمبة → طرف " + "، طرف " - " → GND. بالنسبة لـ HIKROBOT، الحد الأقصى هو 25 مللي أمبير، وإذا تجاوزت هذه القيمة، فقلل من الطاقة أو استخدم مفتاحًا وسيطًا. بالنسبة لـ SICK، فإن التيار المسموح به كبير، ويمكن توصيل اللمبة التي تستهلك 20-30 مللي أمبير مباشرة.

7.2. نافذة الإخراج: قاعدة المنطقة

يفتح زر "OUTPUT" الموجود في اللوحة اليمنى (أو النقر بزر الماوس الأيمن على المنطقة واختيار "إنشاء جهاز رفض لهذه المنطقة") نافذة "OUTPUT - حزم TCP والمخرجات الرقمية للكاميرات". على الجانب الأيسر، يوجد هيكل شجري يمثل "الكاميرات ← نماذج الذكاء الاصطناعي ← الفئات ← المناطق"، مع وجود علامات اختيار بجانب المناطق. وعلى الجانب الأيمن، توجد علامات تبويب: "قواعد المنطقة"، "سجل التنبيهات"، و "قاعدة البيانات".

نافذة الإخراج: قائمة المناطق من اليسار، وقائمة قواعد المنطقة، ومجموعة "قاعدة"، وفهرس TCP مع الإعدادات.
نافذة الإخراج: قائمة المناطق من اليسار، وقائمة قواعد المنطقة، ومجموعة "قاعدة"، وفهرس TCP مع الإعدادات.
1
اختر المنطقة في الشجرة (سيظهر المسار كاميرا USB HD → model_5 → 1 → المنطقة 1 (T1.C1) في العنوان الموجود على اليمين). اضغط على + جديد TCP، + جديد منفصل أو + جديد صوت.
2
في المجموعة القاعدة، حدد فئة الذكاء الاصطناعي التي يجب أن تكون نشطة (للمنطقة "زوج"، فهي إما غير طبيعية أو طبيعية; * - أي فئة)، وقم بتحديد مربع مفعل. إذا لزم الأمر، حدد تكرار العملية حتى تبقى الفئة مع تحديد الفاصل الزمني للتكرار، و تأكيد تغيير الفئة، مللي ثانية (القيمة الافتراضية هي 1500: يجب أن تستمر الفئة الجديدة لفترة محددة حتى يتم اعتبار التغيير).
3
املأ القسم TCP (القسم 7.3)، أو القسم مخرج الكاميرا (القسم 7.4)، أو القسم الصوت (القسم 7.5).
4
تحقق من السلسلة دون الحاجة إلى انتظار: التحقق من هذا القانون (يرسل حزمة أو يرسل إشارة للخروج)، محاكاة عمل منطقة (يقوم بتمرير جميع قوانين المنطقة عبر سلسلة الأوامر مع الحماية من الضوضاء والسجل).
5
اضغط على إنشاء لـ 1 منطقة. إذا تم تحديد مربعات اختيار لعدة مناطق، فسيتحول الزر إلى إنشاء لـ N منطقة; في نقطة النموذج: "حفظ لنموذج كامل"، وفي نقطة الفئة: "حفظ للفئة". في الأسفل: تفعيل / إلغاء تفعيل / حذف للمحددة.

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

7.3. إرسال حزمة TCP إلى الروبوت أو PLC

تعمل هذه البرنامج كعميل TCP: تتصل بعنوان IP ومنفذ جهاز الاستقبال، وتحافظ على اتصال مفتوح وتعيد استخدامه. في حالة انقطاع الاتصال، تقوم البرنامج بمحاولة واحدة لإعادة الاتصال وإرسال البيانات مرة أخرى. يتم ترميز النص باستخدام UTF-8 مع إضافة حرفي إرجاع السطر (CR+LF) في النهاية.

الحقلالتخصيص
وقت الانتظار للاتصال، مللي ثانيةافتراضيًا 1000، من 100 إلى 10000.
وقت انتظار إرسال القاعدة، مللي ثانيةالفاصل الزمني الأدنى بين إرسال القواعد تلقائيًا؛ 0 يعني عدم وجود فاصل. حتى تغيير الفئة ينتظر هذا الفاصل.
الأمرالنص يظهر كما هو: "up" - تعني "الشحنة". مطلوب زاوية - أضف استبدال: "J6 {class}" → "J6 235". فارغ - يستخدم القالب "البيانات".
بياناتكنص عشوائي، يتم استخدامه بدلاً من `{data}`.
البياناتنموذج الطلب. فارغ = "رقم واسم المنطقة" ({zoneId} {zone}). النقر على "إضافة" يضيفه، والنقر على "حذف" يزيله؛ "جميع الحقول" يحدد نموذجًا منظمًا.
الاستبدالالمعنىالاستبدالالمعنى
{zoneId}رقم المنطقة (1، 2، 3...){camera}اسم الكاميرا
{zone}اسم المنطقة (يتم تعديله في قاعدة البيانات){model}اسم نموذج الذكاء الاصطناعي
{class}الفئة التي رصدها النموذج{time}الوقت (ساعات:دقائق:ثوانٍ.أجزاء من الثانية)
{conf}المستوى من الثقة، (%) (نقطة كفاصل){date}التاريخ (YYYY-MM-DD)
{data}النص من "بيانات المستخدم"

مثال على نموذج منظم: zoneId={zoneId};zone={zone};class={class};conf={conf};camera={camera};model={model};time={time};date={date};data={data}. يجب أن تكون الأرقام دائمًا بتنسيق ثابت، حتى لا يؤدي "87,6" إلى تعطيل عملية التحليل في نظام التحكم.

  • التحقق من الاتصال ببساطة يفتح منفذًا ويعرض رسالة تفيد بـ "تم الاتصال" أو "لم يتم استلام رد خلال N مللي ثانية".
  • إرسال الاختبار يعمل بالفعل ويرسل السلسلة. يتم عرض النتيجة بجانب الزر، وليس داخل النافذة.
  • إرسال رسالة بريد إلكتروني. إذا لم يتم تحديد مربع "إعادة الإرسال"، فسيتم إرسال رسالة واحدة عند تغيير الفئة، وسيتم إرسالها بشكل متكرر حتى يستجيب المستلم بعبارة ok <الرسالة>. أما إذا تم تحديد مربع "إعادة الإرسال"، فسيتم إعادة الإرسال بشكل دوري طالما استمرت الفئة.
  • "آخر أمر يفوز": إذا تمكن النموذج من إعطاء عدة نتائج أثناء انشغال المشرف، فسيتم تنفيذ آخر أمر. الحد الأقصى للطلبات هو 512.

7.4. مخرج الكاميرا المنفصل

علامة "مخرج الكاميرا": طريقة الإخراج، والخط، والمستوى، والإشارة، وأزرار التحقق اليدوي. لا توجد مخرجات منفصلة في كاميرات USB - المتاح فقط هو TCP.
علامة "مخرج الكاميرا": طريقة الإخراج، والخط، والمستوى، والإشارة، وأزرار التحقق اليدوي. لا توجد مخرجات منفصلة في كاميرات USB - المتاح فقط هو TCP.
الحقلالتخصيص
الإخراجالطريقة: تلقائي، في SICK: إشارة الفلاش (مستوى ثابت) أو GPIO؛ في HIKROBOT: UserOutputValue أو LineInverter (إشارة الفلاش مطفأة). لا توجد مخرجات UserOutput في نماذج MV-CS020/016-10GC - ستختار البرنامج LineInverter تلقائيًا.
الخطإشارة الفلاش / GPIO1…6 في SICK؛ الخط 1 (المخرج)، الخط 2 (ثنائي الاتجاه) في HIKROBOT؛ الخط 0 - فقط الإدخال.
المستوىصحيح / خاطئ / إيقاف التشغيل. "إيقاف التشغيل" - يعني وجود قاعدة، ولكن لا يتم تفعيل المخرج.
الإشارة، مللي ثانية (0 - الاحتفاظ)0 - يتم الاحتفاظ بالمستوى حتى تغيير الفئة؛ وإلا، يتم إرسال إشارة 10…5000 مللي ثانية مع العودة.

الأزرار "تشغيل الخرج", "إيقاف الخرج", "نبضة يتم التحقق منها باستخدام جهاز اختبار أو مصباح؛ بينما "ما يمكن للكاميرا القيام به " يستعلم عن جميع الطرق ويطبع تقريرًا. يتم كتابة الاختبارات اليدوية في نفس المجلد.

عدة مناطق في نفس المنفذ. إذا تم تطبيق قواعد عدة مناطق على منفذ واحد، فسيتم اعتبار المنفذ كـ "و" منطقي: سيكون HIGH فقط عندما تطلب جميع المناطق HIGH، ولكن إذا كانت أي منطقة تطلب LOW، فسيكون المنفذ LOW. يتم تمثيل ذلك في السجل كسلسلة "مناطق في المنفذ N، تطلب LOW k → HIGH/LOW". وبالتالي، يتم تجميع منفذ واحد "جزء صالح" من مئات مناطق اللوحة.
هام. في جهاز SICK، يتم استخدام نفس الدبوس (flash-pin) لكل من خرج رقمي وإضاءة: إذا تم توصيل مصباح يعمل بالنبض به، فيجب استخدام GPIO. قواعد التخفيف من التردد: 500 مللي ثانية بشكل افتراضي (أقل من 200 مللي ثانية)، ولا يتم تسجيل التكرارات بدون أحداث في السجل.

7.5. تنبيه صوتي: صوت خاص لكل منطقة

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

1
حدد المنطقة في الشجرة، ثم اضغط على + إضافة صوت جديد. في المجموعة "القاعدة"، حدد الفئة (مثل خلل)، وقم بتحديد مربع الاختيار مفعل.
2
في علامة التبويب "الصوت"، اختر الإشارة من القائمة. هناك عشر إشارات مدمجة: إشارة قصيرة، إشارة مزدوجة، إشارة ثلاثية، نغمة منخفضة ونغمة عالية، إشارة تصاعدية وهابطة، صوت إنذار، صفارة، صوت طويل، جرس. يتيح زر "تشغيل" تشغيل الإشارة المحددة.
3
صوتك: اضغط على تحميل ملفك وحدد تنسيق WAV أو MP3 أو WMA. يتم نسخ الملف إلى المجلد sounds\custom بجوار البرنامج (يمكن إخراج الفلاش) ويظهر في القائمة مع علامة "صوتك". تفتح الزر مجلد الصوت هذا المجلد: يمكنك وضع الملفات فيه مباشرة.
4
حدد فترة التوقف بين الأصوات، مللي ثانية بين 1000 و 10000 مللي ثانية. خلال هذه الفترة، لن يتم تكرار الصوت بعد الإشارة، حتى إذا تغيرت فئة المنطقة مرة أخرى: عند 10000 مللي ثانية، سيسمع المشغل الإشارة مرة واحدة فقط كل 10 ثوانٍ.
5
اضغط على "إنشاء في منطقة واحدة" أو حدد المناطق بعلامات التحديد وأنشئ القاعدة مباشرةً في جميع المناطق. لكل منطقة صوت خاص بها: كرر العملية باستخدام إشارة مختلفة للمنطقة الأخرى.
6
تم تفعيل خانة الاختيار "المناطق الصفراء (المعطلة بالنقر) صامتة" افتراضيًا أسفل حقل الإيقاف المؤقت: المناطق التي تم تعطيلها بالنقر على علامة التبويب "Inspect" (القسم 5.5) لا تصدر أي صوت ولا تؤثر على إشارات TCP أو إخراج الكاميرا في جميع أنحاء النموذج.
آلية العملكيف يعمل هذا؟
بدون علامة "تكرار"يصدر صوت مرة واحدة عند تأكيد تغيير فئة المنطقة (بعد "تأكيد تغيير الفئة"). طالما استمرت الفئة، تكون المنطقة صامتة.
مع علامة "تكرار حتى استمرار الفئة"تتكرر الإشارة عبر "فترة التكرار"، ولكن ليس أكثر من الفاصل الزمني بين الأصوات، طالما أن المنطقة تظل في الفئة المحددة.
عدة مناطق في حالة "خطأ" في نفس الوقتتلعب كل منطقة صوتها الخاص؛ لا تطفئ الأصوات من مناطق مختلفة بعضها البعض، بل يتم إطفاء تكرار منطقة واحدة فقط.
السجلكل مرة يتم فيها التشغيل، يتم تسجيلها في "سجل الأحداث" بسطر "الصوت: ...". إذا لم يتم العثور على الملف أو فشل الجهاز الصوتي، يتم تسجيل سطر الخطأ، وتستمر البرنامج في العمل.
التحققالتحقق من هذا القانون يؤدي إلى تشغيل الصوت على الفور؛ محاكاة عمل المنطقة يؤدي إلى تشغيل الصوت مع بروتوكول TCP والمخرجات من خلال عملية القتال.
نصيحة. استخدم صفارات الإنذار أو إشارات متعددة على المناطق الأكثر أهمية (المنافذ، المكونات الكهربائية)، وعلى المناطق الأخرى استخدم إشارات قصيرة. بهذه الطريقة، سيشير الصوت الواحد إلى ما إذا كان يجب التحرك بسرعة إلى الخط أم لا. يتم تحديد إشارة الصوت لجميع نماذج النموذج عن طريق اختيار عقدة النموذج أو الفئة في الشجرة: إشارة واحدة لكل عيب.

7.6. سجل الأحداث وقاعدة البيانات

تظهر علامة التبويب "سجل العمليات" آخر 300 سجل في شكل الصفوف "الساعة:الدقيقة:الثانية.أجزاء ✔/✖ الكاميرا · الطراز · الفئة · المنطقة → الإجراء [رسالة]" ويتم تحديثها بشكل مباشر. وأزرار "تحديث" و "مسح السجل".

علامة "قاعدة البيانات": تحديد مكان تخزين البيانات، وإنشاء نسخة واستعادة قاعدة البيانات في ملف واحد.
علامة "قاعدة البيانات": تحديد مكان تخزين البيانات، وإنشاء نسخة واستعادة قاعدة البيانات في ملف واحد.

علامة التبويب "قاعدة البيانات": البرنامج يخزن كل شيء في ملف SQLite rejectors.db بجوار ملف التنفيذ (exe) - لا توجد خدمة منفصلة، ولا يتم الاستماع إلى أي منفذ، ولا يلزم تثبيت أي شيء. الجداول: "settings" (الإعدادات)، "cameras" (ملفات تعريف الكاميرات)، camera_models (نماذج الكاميرات)، "zones" (أسماء وهندسة المناطق)، "rejectors" (القواعد)، reject_log (سجل الأحداث)، camera_param_files (نسخ من إعدادات الكاميرات)، camera_presets (مجموعات من إعدادات الكاميرات). الزر "حفظ نسخة من قاعدة البيانات..." يقوم بعمل نسخة كاملة باستخدام الأمر VACUUM INTO مباشرة على قاعدة البيانات النشطة؛ الزر "تحميل قاعدة البيانات من نسخة..." يقوم باستعادة قاعدة البيانات، مع حفظ النسخة الحالية أولاً. يمكن عرض قاعدة البيانات باستخدام برنامج DBeaver دون إغلاق البرنامج؛ لا ينبغي الكتابة إلى قاعدة البيانات من الخارج.

8. أوضاع ومهام أخرى

نماذج قياسية: normal / anomaly وأي فئات

يعمل محرر ROI أيضًا في التصنيف العادي: الأقراص، والأغطية، والملصقات، والأجزاء في الحاويات. يتم تحديد الفئات في نافذة "نموذج الذكاء الاصطناعي الجديد" (افتراضيًا، "normal" و "anomaly"، مع استخدام الأحرف اللاتينية)، ويتم تحديد المناطق على المنتجات. يمكن استخدام زر "التقاط صورة" مع عدد الدوائر من 1 إلى 50، ويمكن إنشاء سلسلة من الصور "إنشاء صور" إما بناءً على معدل الإطارات لكل ثانية أو بناءً على ترميز البيانات. لوحة "بيانات اصطناعية للذكاء الاصطناعي": تتضمن إعدادات لدورانات دقيقة بزاوية 90 درجة/180 درجة، ودوران كامل بزاوية 360 درجة مع تحديد الخطوة والنطاق، وعكس الصورة، وخيار "فئات حسب الدرجات" (حيث يتم إرسال كل زاوية إلى جهاز الرفض عبر بروتوكول TCP)، بالإضافة إلى نطاقات السطوع والتباين. يتم التدريب باستخدام تقنيات توسيع البيانات الكاملة من Ultralytics. يتم تحديد عتبة الثقة لهذه النماذج في نفس المكان الذي يتم فيه تحديد عتبة الثقة لمنطقة-زوج، وذلك في علامة التبويب "الفحص".

فحص متعدد النماذج (المنافذ 1-20)

يمكن وضع ما يصل إلى 20 نموذجًا في كاميرا واحدة: إضافة ONNX إلى المكان المخصص، ثم ROI → إضافة فئة إلى النموذج المختار - لكل نموذج في المكان المخصص، توجد تسميات مناطق خاصة به، وتظهر نتائج جميع النماذج في إطار واحد.

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

متى يتم تطبيق تعدد النماذج:

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

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

النماذج العامة

الزر `الموديلات العامة` يحتفظ بمجموعة "الكاميرا ← الموديل" تحت الاسم: `إنشاء من الموديلات الحالية`، `تطبيق على جميع الكاميرات`، `تحديث من الموديلات الحالية`، `تغيير الاسم`، `حذف المجموعة`. الانتقال من مجموعة من ثماني كاميرات إلى منتج آخر هو اختيار واحد فقط. حذف المجموعة يزيل فقط التجميع: المجلدات، ONNX، المناطق والقواعد، بينما تبقى المجلدات والمناطق. المناطق تنتمي إلى الزوج "الكاميرا + الموديل": موديل واحد على ثماني كاميرات - ثماني علامات مستقلة.

المُشفّر وجهاز الرفض على خط الإنتاج

للمحاور التي تحتوي على مُشغّل على منفذ COM (115200، ESP32): توصيل توصيل المُشغّل، التوصيل التلقائي، الموقع، خطوة التصوير، والتصحيح، تحديد الصفر + التصوير. يمكن إجراء التصوير للتدريب وتحليل "بمساعدة المُشغّل" - تكون الإطارات متساوية على طول مسار المنتج. يقوم جهاز الرفض القديم، الذي يعمل بجدول زمني مع تأخير ومكافحة التطفل، بإرسال أمر الرفض إلى وحدة التحكم في المُشغّل.

تسجيل الفيديو والصور

علامة التبويب "الإعدادات": بدء تسجيل الفيديو من الكاميرا النشطة إلى ملف record_تاريخ_وقت.avi (بصيغة MJPG، ومعدل الإطارات الفعلي للكاميرا). الصور المستخدمة للتدريب: real_….jpg. الصور المستخدمة للفحص: inspect_….jpg مع المناطق المرسومة.

9. الإعدادات، والواجهة، والمتطلبات، والتراخيص

Settings

  • حفظ في ملف / تحميل من ملف - جميع الإعدادات (الكاميرا، النماذج، القواعد) بتنسيق JSON، وهو أمر مريح قبل إعادة التثبيت أو لنقل الإعدادات إلى جهاز آخر. المصدر الموثوق هو قاعدة البيانات، و JSON هو نسخة احتياطية في حالة عدم توفرها. يتم حفظ كل تغيير في الإعدادات تلقائيًا.
  • إلغاء الإعدادات الافتراضية - عملية لا رجعة فيها: تقوم بإزالة الإعدادات وتغيير ترتيب النوافذ.
  • لغة الواجهة: 14 لغة؛ يتم تبديل النافذة الرئيسية على الفور، بينما يتم فتح النوافذ الأخرى عند الفتح التالي.
  • موقع وحجم ومراقبة جميع النوافذ، ومواقع الفواصل - كلها مخزنة في قاعدة البيانات؛ عند إيقاف المراقبة، تعود النافذة إلى المنطقة المرئية.

Console

الخانق "الكاميرات" و "المشغّل" معطلان بشكل افتراضي، ويظهران الرسائل المقابلة (عند تفعيل المشغّل، تظهر رسائل الكاميرا في قسم "المشغّل")؛ يتم تسجيل كل شيء في الملفات logs\engiai-*.log قبل تطبيق الفلاتر. تم تصميم وحدة التحكم للعمل لعدة أسابيع دون تدخل: يتم عرض 800 سطر على الشاشة، ويتم حذف 200 سطر قديم عند الوصول إلى 1000؛ يتم تجميع السطور الجديدة على شكل مجموعات 4 مرات في الثانية، وليس سطرًا واحدًا؛ تم تفعيل التمرير التلقائي للأسفل حتى تقوم أنت بالتمرير للأعلى؛ لا يوجد صوت في وحدة التحكم. يتم تسجيل تغييرات المناطق (لا يزيد عن 10 أسطر في الثانية، ويتم تجميع الباقي في عداد)، يتم تقسيم ملف السجل إلى 20 ميجابايت، يتم حذف الملفات التي يزيد عمرها عن 14 يومًا عند التشغيل، ويحتوي ملف السجلات على آخر 20000 سجل. الأخطاء غير المعالجة موجودة في crash.log، وأسباب إغلاق الوحدة بشكل إجباري موجودة في runtime.log بجوار ملف exe. إذا كان هناك أي شيء لا يعمل بشكل صحيح، فابحث هنا أولاً.

الشروط

المكونالمتطلبات
نظام التشغيلWindows 10/11 x64.
بطاقة رسومات للفحصبطاقة NVIDIA مع برنامج تشغيل CUDA؛ يتم توفير مكتبات CUDA 13 و cuDNN 9 مع البرنامج. يتم إجراء الفحص على المعالج تلقائيًا بدون بطاقة رسومات.
التدريبPython 3 (مع تحديد "إضافة python.exe إلى PATH" أثناء التثبيت)، ومجموعات مكتبات ultralytics، و onnx، و onnxslim، و onnxruntime - تقوم البرنامج بتثبيتها تلقائيًا عند التدريب الأول، ويتطلب اتصالاً بالإنترنت. يتم تحديد وحدة معالجة الرسومات (GPU) للتدريب بناءً على PyTorch؛ بدون CUDA، يكون التدريب على وحدة المعالجة المركزية (CPU) أبطأ، والنتيجة هي نفسها.
كاميرات SICKبرنامج تشغيل IDS uEye؛ يجب أن تكون الكاميرا مرئية في برنامج IDS Camera Manager.
كاميرات HIKROBOTمجموعة تطوير MVS (يتم توفير المكتبة مع البرنامج)؛ لـ GigE، يجب أن تكون هناك بطاقة شبكة تدعم إطارات jumbo.

الترخيص والوضع التجريبي

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

10. قائمة تحقق قصيرة وعملية للبحث عن الأخطاء

قائمة مرجعية من الصفر للوحة

1
الكاميرات → "إضافة كاميرات" → تحديد الكاميرات الخاصة بك → إضافة.
2
علامة "الكاميرا": الدقة → "تفعيل التعديل التلقائي للذكاء الاصطناعي (لكل إطار)" (أو "تحديد المعلمات" عبر USB) → "حفظ المعلمات" → "حفظ كـ…" مجموعة إعدادات. اختياريًا: "تدريب على تدرجات الرمادي".
3
نموذج الذكاء الاصطناعي → "إنشاء نموذج ذكاء اصطناعي جديد" → الاسم.
4
"منطقة ROI → إضافة إلى الفئة (نموذج التدريب)" → إطار حول كل جزء → حجم المنطقة (على سبيل المثال، 256) → Enter. بالنسبة للمئات من الأجزاء المتشابهة: إطار على كامل اللوحة وشبكة.
5
علامة "تحديد المناطق على المنتج باستخدام العلامات" → "تحديد الصورة المرجعية" → تحديد المنطقة على الإطار التي تحتوي على الأجزاء (وليس منطقة الفحص) → "✔ البحث عن المناطق في المنطقة المحددة".
6
"منطقة-زوج: صورة للمناطق" → "التقاط". تكرار ذلك على 3-5 لوحات سليمة. يمكن إيقاف المناطق غير الضرورية مسبقًا بالنقر على الإطار (باللون الأحمر).
7
«منطقة-زوج: أخطاء المناطق» → «إنشاء»: تم تضمين تحريك وتدوير العنصر مع القاعدة بالفعل. إذا لزم الأمر، يتم إضافة مسامير اللحام في «الصورة المرجعية مع المناطق».
8
تدريب نموذج الذكاء الاصطناعي (حجم الصورة: 128، دقة منخفضة، 50 حقبة) → الانتظار حتى الوصول إلى 100٪ → best.onnx يتم تعيينه تلقائيًا.
9
فحص → «منطقة-زوج: المناطق ↔ النموذج» → التحقق من المطابقة → الحد. «باستخدام الكاميرا» أو تحديد المحفز. بالنسبة للوحة المتحركة، استخدم «حزام النقل الحي».
10
الإخراج → تحديد المناطق → قاعدة للطبقة (صوت، TCP أو إخراج الكاميرا) → «محاكاة عمل المنطقة» → «إنشاء في N مناطق».

إذا حدث خطأ ما

الاعراضما يجب التحقق منه
لم تظهر الكاميرا في القائمةمصدر الطاقة والكابل؛ بالنسبة لـ SICK، استخدم IDS Camera Manager و IP من شبكة الأداة؛ بالنسبة لـ HIKROBOT، انتظر لمدة 25 ثانية بعد الإغلاق الطارئ ثم «أعد الاتصال».
الصورة مظلمة أو رمادية أو ذات ألوان غير صحيحةالكاميرا → «إعداد تلقائي للذكاء الاصطناعي»; بالنسبة للكاميرا SICK الملونة، استخدم تخطيط باير وتوازن اللون الأبيض؛ بالنسبة لـ USB، استخدم «الإعدادات القياسية»، ثم «تثبيت المعلمات».
توقف اللقطات، اللون أحمر.GigE: حجم الحزمة 1500 أو "ج Jumbo" على بطاقة الشبكة، تأخير بين الحزم؛ عدد إطارات أقل أو عدد إطارات أقل؛ بطاقة شبكة منفصلة للكاميرا
"لم يتم العثور على اللوحة" / تم حذف الصورةالصورة المرجعية لم يتم تحديدها أو التقاطها في ظروف إضاءة مختلفة؛ عدد قليل من نقاط الدعم - تحديد منطقة المحاذاة بشكل أكبر مع تفاصيل؛ دخلت منطقة طاولة أو حزام؛ زيادة فترة البحث
تتحرك المناطق إلى لوحة أخرىتم البحث عن اللوحة بناءً على المناطق المحددة للفحص: إعادة تحديد الصورة المرجعية من منطقة المحاذاة مع تفاصيل اللوحة المحيطة (القسم 4.4)؛ نموذج "تلقائي" للمطابقة
توجد لوحات أخرى مع أجزاء معيبةعلامات مختلفة على الأغلفة: إضافة صور طبيعية من هذه الدفعة؛ تجنب عمل خدوش اصطناعية أقل من 3 بكسل (القسم 4.6)؛ التحقق من أن العيب هو انحراف وليس لونًا
المناطق المسماة NO_ZONE_CLASSتغيرت الشبكة بعد التدريب؛ استعادة الشبكة أو إنشاء نموذج جديد والتقاط الصور مرة أخرى
جميع المناطق حمراء على اللوحة السليمةطريقة أخرى أو وضع مختلف بدون نظام نقل حي؛ الحد مرتفع جدًا؛ الصور تم التقاطها في إضاءة مختلفة؛ تم خلط الملفات الملونة والرمادية
النموذج لا يلاحظ حركة العنصرإعادة حساب px/مم (القسم 1.3): عند التكبير، تكون الحركة أقل من 5 بكسل؛ تقليل مجال الرؤية أو استخدام كاميرا ذات دقة أعلى؛ لا يجب توسيع الحركة بشكل طبيعي
انخفاض في الأداء أو بطء شديدDevice = cpu، إذا لم تكن هناك بطاقة رسومات NVIDIA؛ تقليل حجم الدفعة؛ التحقق من وحدة التحكم؛ التأكد من وجود Python في المسار
فحص الفشلهل تم اختيار best.onnx؟ هل تم تفعيل مصدر السرعة (عن طريق الكاميرا / المؤقت / المستشعر)؟ هل تم الضغط على زر "عدم استخدام الذكاء الاصطناعي"؟ هل تم تحديد مربع "تم تفعيل الذكاء الاصطناعي" في إعدادات الكاميرا؟
قاعدة الرفض صامتةتم الضغط على "إنشاء في N مناطق"؛ تم تحديد "مفعل"؛ يتطابق نوع القاعدة مع نتيجة النموذج (خلل / طبيعي)؛ لإيقاف التشغيل، يجب أن يكون المستوى "غير مفعل"؛ لا توجد مخرجات لكاميرات USB، فقط TCP
الصوت لا يتم تشغيلهتم إنشاء القاعدة وإضافتها؛ الملف موجود في مجلد "sounds" (أو "sounds\custom")؛ هل هناك تأخير بين الأصوات؟؛ عند عدم تفعيل خيار "تكرار"، يتم تشغيل الصوت فقط عند تغيير الفئة؛ مستوى الصوت في نظام التشغيل والجهاز المستخدم.
يتم إرسال حزمة TCP مرة واحدة.بدون الحاجة إلى "تكرار"، ينتظر النظام ردًا من المستلم على شكل "تم استلام <المرسلة>"، أو يمكن تحديد خيار "التكرار حتى يتم إغلاق البرنامج" أو تكوين الاستجابة على جانب وحدة التحكم.

engiAI Ethernet System. أسماء الأزرار والحقول مطابقة لما يظهر في البرنامج بلغتك (لقطات شاشة - من واجهة اللغة الروسية). تم التقاط لقطات الشاشة على نموذج «model_4» (منطقتان بحجم 256×256: مكثف C30 وجسر BR1)، وكاميرا USB بحجم 3264×2448، وتم تدريب النموذج على الألوان الرمادية. نسخة 3، سبتمبر 2026: مثال على منطقتين، إنشاء مجلدات النموذج، منطقة المحاذاة، بيانات اصطناعية "عنصر ذو أساس" مع صور "قبل / بعد"، لوحة الألوان وسمك الخط، مناطق حمراء، لوحة التحكم.