engiAI
- الشروط
- ماذا يفعل؟
- الحصول على التراخيص
واجهة engiAI متاحة باللغة العربية: أسماء الأزرار والحقول في هذا الدليل مذكورة كما تظهر في البرنامج.
المحتوى
- 1. ما هي تقنيات engiAI وطريقة "منطقة-زوج"؟
- 1.1. ما الذي يقدمه هذا المنهج مقارنةً بتصنيف الصورة بأكملها؟
- 1.2. السرعة: يركز الذكاء الاصطناعي على المعلومات ذات الصلة فقط.
- 1.3. ما مدى الدقة المتوقعة: نحسب بناءً على كاميرتنا
- 1.4. بدء سريع: الإعدادات جاهزة، وتم تحديد المناطق ونموذج التصميم في عدد قليل من النقرات.
- 2. واجهة البرنامج في دقيقة واحدة.
- 3. الكاميرات: توصيل وإعداد
- 3.1. ما هي الكاميرات المدعومة؟
- 3.2. نافذة الكاميرا: إضافة، إعادة توصيل، حذف
- 3.3. قسم الكاميرا لـ HIKROBOT و SICK
- 3.4. قسم الكاميرا للـ USB/الكاميرا اللاسلكية
- 3.5. إعدادات الكاميرا المحفوظة (المجموعات)
- 3.6. شبكة GigE وإعادة الاتصال
- 4. نموذج المنطقة-الزوج: من الشبكة إلى النموذج المدرب
- 4.1. كيف يتم تنظيم هذه الطريقة: نموذج واحد، وفئة لكل منطقة.
- 4.2. إنشاء نموذج
- 4.3. تحديد المناطق المستهدفة في الدفع
- 4.4. تسجيل الصورة المرجعية: منطقة المحاذاة
- 4.5. صور حسب المناطق: طبيعي وبياناتها الاصطناعية
- 4.6. بيانات اصطناعية: عيب يتمثل في الحاجة إلى الضغط مرتين لتفعيل العنصر.
- 4.7. انحرافات في المناطق: نافذة الإعدادات
- 4.8. صورة مرجعية مع مناطق محددة: مسامير اللحام ومحرر المنطقة.
- 4.9. تدريب النموذج
- 5. فحص
- 5.1. تحديد النموذج والتحقق من المناطق.
- 5.2. حد التعرف على المنطقة
- 5.3. نظام النقل الذكي: قابل للاستخدام في أي وضع
- 5.4. ما هو الإشارة التي يجب تحليلها؟
- 5.5. المناطق الصفراء: إيقاف المنطقة بالنقر
- 5.6. ما يمكن رؤيته على الشاشة وفي سطر الأوامر
- 6. عوامل التشغيل: مستشعر خارجي على مدخل الكاميرا.
- 7. منافذ الإخراج: جهاز الرفض، ومنافذ الإخراج الرقمية للكاميرات و TCP.
- 7.1. دليل: المخرجات: معلومات الاتصال واختبار باستخدام جهاز القياس
- 7.2. نافذة الإخراج: قاعدة على المنطقة
- 7.3. إرسال حزمة TCP إلى جهاز أو وحدة تحكم منطقية (PLC)
- 7.4. إخراج الفيديو من الكاميرا بشكل منفصل
- 7.5. نظام الإشعارات الصوتية: إمكانية تحديد صوت خاص لكل منطقة.
- 7.6. سجل الأحداث وقاعدة البيانات
- 8. أنظمة وطرق أخرى
- 9. الإعدادات، واجهة المستخدم، والمتطلبات، والتراخيص.
- 10. قائمة مرجعية مختصرة وعملية للبحث عن الأعطال
كيفية استخدام الدليل. يشرح الجزء الأول الغرض من الطريقة والنتائج المتوقعة. الأجزاء 3-5 هي الخطوات من البرنامج الفارغ إلى البرنامج الذي يعمل، ويجب اتباعها بالترتيب. الأجزاء 6-7 هي توصيل المستشعرات والمخرجات و TCP. الأجزاء 8-10 هي الميزات الأخرى والإعدادات وقائمة المراجعة.
1. ما هي تقنيات engiAI وطريقة "منطقة-زوج"؟
engiAI Ethernet System - برنامج فحص بصري للخط الإنتاجي. يقوم بأخذ صورة من كاميرا صناعية أو عادية، وتقسيمها إلى مناطق، وفحص كل منطقة باستخدام شبكة عصبية مدربة، وتحويل النتيجة إلى إجراء: إرسال إشارة إلى منفذ الكاميرا، أو إرسال بيانات عبر بروتوكول TCP إلى الروبوت أو نظام التحكم المنطقي، أو تسجيل البيانات في سجل. تم تصميم طريقة "منطقة-زوج" للمنتجات التي يكون فيها كل جزء "صحيحًا" في مكانه: لوحات الدوائر المطبوعة، والتجميعات، ومجموعات المكونات في الصندوق، والتغليف مع الترتيب.
1.1. ما الذي يقدمه هذا المنهج مقارنةً بتصنيف الصورة بأكملها؟
النهج التقليدي هو استخدام نموذج واحد مع فئتين "طبيعي / غير طبيعي" لجميع الإطار أو لجميع المناطق في وقت واحد. هذا لا يعمل على اللوحة: وجود مساحة فارغة تحت الجسر BR1 في المنطقة 2 - خطأ، بينما وجود مساحة فارغة مماثلة في زاوية أخرى من اللوحة - أمر طبيعي. لا يمكن التعبير عن هذه الفئتين معًا. والنهج الآخر هو استخدام نموذج منفصل لكل جزء - وهذا يعني عشرات التدريبات وعشرات الملفات في الذاكرة.
يتم حل هذه المشكلة على النحو التالي: يتم استخدام نموذج واحد، وعدد الفئات يتطابق مع عدد المناطق. المنطقة هي مستطيل يحيط بجزء واحد. الفئة هي مجلد يحتوي على الصور التي تتعلم منها الشبكة. لكل منطقة زوج خاص بها: zone_001 (حالة طبيعية للمنطقة 1، في المثال - المكثف C30) و zone_001_anomaly (حالة عيب للمنطقة 1). zone_002 و zone_002_anomaly يمثلان الجسر BR1. عند فحص المنطقة 1، يقوم البرنامج بالنظر فقط إلى الزوج الخاص بها، ولا تدخل إجابات المنطقة 2 في الحساب. فئات الحالات الشاذة ليست ضرورية: يمكن أن يؤدي العيب إلى تغيير شكل المنطقة، مما يؤدي إلى انخفاض الثقة في "الحالة الطبيعية" تلقائيًا. ومع ذلك، باستخدام بيانات اصطناعية (القسم 4.6)، يمكن إنشاؤها بسهولة وتزيد بشكل ملحوظ من الموثوقية.

1.2. السرعة: يتعامل الذكاء الاصطناعي فقط مع الأجزاء المطلوبة
لا تحصل الشبكة العصبية على الصورة بأكملها. يتم استخراج مستطيل فقط لكل منطقة، ويختار رقم المنطقة زوجًا من الفئات. تعتبر المناطق في صورة واحدة بشكل متوازٍ (حتى أربعة مسارات)، ويتم إرسال نتيجة جميع المناطق إلى الشاشة في دفعة واحدة، وليس منطقة واحدة فقط.
- يتم تحديد معدل التحليل بناءً على الوقت. يشير شريط التمرير "عدد التحليلات في الثانية (AI)" في علامة "الكاميرا" إلى تحديد عدد التحليلات في الثانية بالضبط، وليس "كل N-ة صورة". الحد الأقصى هو معدل الكاميرا ووقت الاستنتاج.
- استخدام وحدة معالجة الرسوميات بشكل افتراضي. يتم التشغيل باستخدام ONNX Runtime مع CUDA؛ إذا لم تتوفر وحدة معالجة الرسوميات من NVIDIA، فإن البرنامج ينتقل تلقائيًا إلى استخدام المعالج، ويظهر ذلك في الحالة (وحدة معالجة الرسوميات (CUDA) أو المعالج).
- ذاكرة خالية من الفوضى. يتم تحديد مناطق الذاكرة المخصصة للقطع مرة واحدة لكل إطار، ويتم إعادة استخدامها؛ ولا يتغير وقت التحليل من إطار إلى آخر.
- نموذج مُصمم للمهمة المحددة. بالنسبة للمنطقة الزوجية، تقوم البرنامج بتعيين حجم الإدخال بـ 128 بكسل، وتستخدم شبكة YOLO11 بحجم "s": يتم تقطيع المنطقة بشكل كبير، ولكن الشبكة قادرة على التعامل مع مئات أزواج الفئات.
- العمل الآلي يوفر الموارد البشرية. يتم إرسال الموظف إلى قائمة الانتظار، وليس بشكل متكرر مثل عملية البحث عن المكونات؛ يتم البحث عن المكون وتحديد موقعه مرة واحدة، ثم يتم قطع المناطق المحددة.
- العرض لا يعيق التحليل. يتم تحديث الشاشة (البلاطة) بمعدل لا يتجاوز 25 مرة في الثانية، وذلك فقط عند ظهور إطار جديد من الكاميرا. يتم تصغير الصورة إلى حجم البلاطة قبل عرضها على الشاشة، ويتم تسجيل البيانات في ملف في الخلفية. يظل الواجهة سريعة الاستجابة حتى مع إطارات بدقة 8 ميجابكسل ومئات المناطق.
في شريط الحالة الموجود فوق الفيديو، تظهر الأرقام الفعلية: عدد الإطارات في الثانية (fps)، ووقت آخر تحليل بالمللي ثانية، بالإضافة إلى Eff، والذي يمثل عدد التحليلات التي تمت فعليًا في الثانية.
1.3. ما مدى الدقة التي يمكن توقعها: نقوم بتحليل الصورة باستخدام كاميرتنا
البرنامج لا يعد بـ "0.5 ملم" بشكل مستقل عن الكاميرا والعدسة. يتم تحديد حساسية الانحراف بناءً على عدد البكسلات لكل ملم من المنتج، وحدود التدريب التي تم استخدامها في النموذج. يتم حساب ذلك في سطرين:
أقل انزياح يمكن ملاحظته ≈ 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 ملم |
1.4. بدء التشغيل بسرعة: الإعدادات جاهزة، المناطق والنماذج في عدد قليل من النقرات
يعتمد هذا الأسلوب على تمكين المهندس الذي ليس لديه خبرة في التعلم الآلي من الحصول على نموذج عملي خلال فترة عمل واحدة. جميع الإعدادات التي يمكن تحديدها مسبقًا، تم تحديدها وتخزينها في قاعدة بيانات البرنامج:
- تحديد المناطق في الدقيقة الواحدة. في محرر ROI، اسحب الإطار حول العنصر المحدد، وحدد حجم المنطقة (على سبيل المثال، 256 بكسل). إذا كان هناك العديد من العناصر مرتبة بشكل متجاور، اسحب الإطار ليشمل كامل اللوحة - ستحسب البرنامج الصفوف والأعمدة تلقائيًا.
- بيانات اصطناعية طبيعية، مع إعدادات افتراضية. الأزرار "الإعدادات الافتراضية"، "تعديل العناصر"، و "اللون واللون" تتيح اختيار الملفات والإعدادات الجاهزة. يتم عرض عدد الملفات، وصور من الكاميرا، والوقت المتوقع قبل الضغط على "التقاط صورة".
- يتم تحديد معلمات التدريب تلقائيًا. بعد التقاط الصور في المناطق المختلفة، تقوم البرنامج بتعيين حجم الصورة 128، وحجم النموذج "s"، وعدد الدورات 50، والحجم الدفعة 64، بالإضافة إلى تعطيل عمليات التحسين التي تتعارض مع فئات الحالات الشاذة أثناء التدريب.
- يتم ضبط الكاميرا باستخدام زر. "التعديل التلقائي للذكاء الاصطناعي (لكل إطار)" يختار سرعة الغالق، والتقوية، والسطوع، وتوازن اللون الأبيض؛ بالنسبة لكاميرات USB، تتوفر خيارات "التعديل التلقائي ليتناسب مع التنسيقات" و "تثبيت الإعدادات".
- مجموعات إعدادات الكاميرا. يتم حفظ الإعدادات المحددة تحت اسم معين، ويمكن التبديل بينها من القائمة، وتقبل الكاميرا هذه الإعدادات على الفور وتخزنها في ذاكرتها.
- ملف واحد بتنسيق ONNX كناتج. يتم تصدير النموذج المدرب تلقائيًا، ويتم تعيينه على الفور للفحص، ولا يتطلب ذلك أي خطوات إضافية.
الخطوة الكاملة: توصيل الكاميرا → إنشاء نموذج → تحديد المناطق → تحديد منطقة المحاذاة → "لقطات حسب المناطق" على عدة لوحات تعمل بشكل صحيح → "تشوهات المناطق" → تدريب نموذج الذكاء الاصطناعي → علامة "Inspect". بعد ذلك، يجب إضافة الصوت والمخرجات و TCP إلى المناطق. ما هو مطلوب للبدء: جهاز كمبيوتر مع نظام Windows 10/11 (للفحص السريع - بطاقة رسومات NVIDIA)، كاميرا، لوحة واحدة تعمل بشكل صحيح، وواحدة فقط من شبكة الإنترنت لتثبيت بيئة التدريب. لا حاجة للوحات التالفة.
2. واجهة البرنامج في دقيقة واحدة
يتم تقسيم النافذة الرئيسية إلى جزأين. على اليسار، يوجد الفيديو المباشر من الكاميرات، بالإضافة إلى شريط الحالة فوقه. على اليمين، توجد لوحة تحتوي على علامات تبويب، حيث يتم التحكم في كل شيء. يمكن سحب الحدود بين الجزأين؛ وتتذكر البرنامج أبعاد ومواقع جميع النوافذ والتخطيط في قاعدة بياناته.

أزرار فوق الفيديو
| زر | يفتح |
|---|---|
| إخفاء الفيديو | يزيل الصورة من الشاشة. يستمر التحليل، ويتم توفير الطاقة فقط في عملية الرسم. |
| المخرجات | نافذة المساعدة: معلومات الاتصال بمنافذ الإخراج المحددة للكاميرات 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. نافذة الكاميرا: إضافة، إعادة الاتصال، حذف
تؤثر العلامات الموجودة أسفل القائمة على الكاميرا المحددة. الكاميرا قيد التشغيل (وإلا فإنها ستنفصل عن الجهاز وستختفي من الشاشة) عرض الفيديو/المناطق (هذا مجرد رسم توضيحي، والتحليل يعمل دائمًا) تم تفعيل الذكاء الاصطناعي للكاميرا المحددةزر إعادة توصيل يقوم بإجراء عملية إيقاف وتشغيل كاملة، مع إعادة تشغيل تدفق الذكاء الاصطناعي وإعادة تحميل النماذج.
يعرض الجزء الأيمن من النافذة جميع معلمات الكاميرا التي تم قراءتها من الجهاز عند الاتصال، مع تجميعها ووحدات القياس الخاصة بها. تتضمن الخيارات: "عرض معلمات"، "إعادة القراءة من الكاميرا"، و "نسخ إلى المخزن المؤقت". هذه مجرد معاينة: يمكن تعديل المعلمات في علامة التبويب "الكاميرا".
3.3. علامة "Camera" لـ HIKROBOT و SICK
تعمل هذه النافذة مع الكاميرا، حيث يتم تمييز مربعات التحكم الخاصة بها بإطار أزرق. عند الاتصال، لا تسجل البرنامج أي بيانات في الكاميرا؛ فالكاميرا هي مصدر الحقيقة، وتتغير قيم أشرطة التمرير لتتوافق مع قيم الكاميرا. يمكن حفظ الإعدادات فقط عن طريق الضغط على الزر "حفظ الإعدادات" بشكل واعٍ.
وحدة "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 لا يوفر معلومات عن النطاقات.
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. تقوم البرنامج بإنشاء جميع المجلدات تلقائيًا؛ ولا يلزم إنشاء أي مجلد يدويًا. إليكم شكل مجلد النموذج بعد التدريب:



ملفات real_…jpg — هذه المقاطع هي لقطات حقيقية تم الحصول عليها من الكاميرا (يتم تسجيلها في كل من مجموعة التدريب ومجموعة التحقق) syn_…jpg — بيانات مُصطنَعة edit_…jpg — لقطات من محرر المنطقة. في المثال التالي، بعد التقاط صور لعدة لوحات: zone_001 — 502 ملف في مجموعة التدريب و 111 ملف في مجموعة التحقق zone_001_anomaly — 680 و 144 zone_002 — 813 و 181، zone_002_anomaly — 340 و 60.
تتعرف البرنامج على النموذج تلقائيًا كـ "منطقة دفع"، وذلك بناءً على وجود الفئات المحددة (zone_NNN). رقم الفئة هو رقم المنطقة في الشبكة (1…N). ومن هنا، ينبع المبدأ الأساسي للطريقة:
4.2. إنشاء النموذج
4.3. تحديد المناطق على اللوحة

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


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

| الإعدادات | ما الذي يتم إنشاؤه وما هي القيم الافتراضية؟ |
|---|---|
| خيارات اصطناعية لكل منطقة | كم عدد الملفات الاصطناعية التي يمكن إنشاءها لكل مقطع؟ يوصى بـ 20، 0 - فقط الصورة المرجعية، و 500 كحد أقصى. |
| صور حسب الوقت: كل خيار من لقطة جديدة من الكاميرا | مفعل، الفترة الزمنية 800-1200 مللي ثانية (أقل من سرعة الغالق). يتم الحصول على كل خيار من لقطة حية جديدة: الضوضاء الحقيقية للكاميرا، والاهتزاز، وتأثير الإضاءة بدلاً من الرسم. |
| كما يتم تحديد احتمالية لكل خيار بنسبة مئوية: | 20%. الصورة المرجعية موجودة دائمًا: يجب أن يكون لكل فئة في Ultralytics وجود في كلا المجلدين. |
| التدريب باستخدام الألوان الرمادية | علم النموذج العام: يتم إزالة اللون من الصور الطبيعية، والأشياء الشاذة، وفحص الألوان. لا يمكن خلط الملفات الملونة والرمادية في نموذج واحد، وستقوم البرنامج بإعلامك بذلك. |
| الإزاحة، بكسل · إلى أين | ينزاح نافذة المنطقة على كامل الإطار بمقدار 0…2 بكسل في الاتجاهات المحددة (← → ↑ ↓); يتم استنساخ الشريط المفقود من المنطقة المجاورة على اللوحة، ويظل الفتح مستقيماً. العلامة جميع الاتجاهات تعطي لكل اتجاه ملف واحد، ملف واحد عشوائي - ملف واحد. |
| الدوران، درجة · إلى أين | افتراضيًا، يتم تعطيل الميزة: لا يوجد دوران، ويؤدي التفعيل إلى تشويه الحدود مع الخطأ. "إلى اليسار / إلى اليمين"، "في جميع الاتجاهات / اتجاه عشوائي" - كما في حالة الإزاحة. |
| المقياس، % · تقليل / زيادة | افتراضيًا، يكون الوضع معطلاً. وجود علامتين يعني: تقليل (أقل من 100) وزيادة (أكثر من 100، ويستمد الإطار المنطقة من الإطار المجاور). كل جانب محدد يمثل ملفًا منفصلاً. |
| السطوع / التباين / النطاق | قيمة عشوائية من النطاق لكل خيار: سطوع 88…112، تباين 88…112، نطاق 98…102 (في الصورة); في ملف "تعديل موضع العناصر"، يكون السطوع أوسع لمنع حدوث أي خلل. |
| الضوضاء (سيجما) / التشويش | حجم المستشعر 3…8 مستويات، تركيز خفيف 0,4…0,8 بكسل. |
| عمود "عام" | مع تحديد المربع، يتم تضمين هذا الخيار في الملف العام مع الخيارات الأخرى؛ بدون تحديد المربع، يتم إنشاء ملف منفصل "الصورة المرجعية + هذا الخيار فقط". كلما زاد عدد الخيارات، زاد عدد الملفات لكل خيار. |


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




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


تسمية الأجزاء: لماذا الخط "سميك" وكيف يتم ذلك؟
توجد علامات على أجزاء المكونات، وهي عبارة عن كتابات وخطوط بسمك 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. |
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 Size | n / s / m / l / x | s - هو الأمثل لعدة مئات من أزواج الفئات؛ n - غير كافٍ، m و أعلى - أبطأ |
| Device | ما هي الطريقة المستخدمة للتدريب؟ | 0 (وحدة معالجة رسومية) مع بطاقة رسومية NVIDIA؛ إذا لم تكن هناك CUDA، فإن البرنامج سيقوم تلقائيًا بالتبديل إلى وحدة المعالجة المركزية. |
| Workers | عدد سلاسل معالجة البيانات: | 12 بشكل افتراضي، لعملية متعددة النواة. |
5. الفحص
تتم جميع العمليات في علامة التبويب "Inspect". النموذج قد تم تعيينه بالفعل بعد التدريب؛ يبقى التحقق من المناطق، وتحديد الحد، واختيار مصدر السرعة، وإذا كانت الدفعة تصل في أي وضع، يتم تفعيل خط التجميع.

5.1. تحديد النموذج والتحقق من المناطق
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٪، وليس فقط المناطق الحمراء.
5.3. خط معالجة متصل: يمكن استخدامه في أي وضع
"Гаلوчка خط تجميع حي: الدفع في أي وضع يتضمن البحث عن الدفعة في منطقة المحاذاة قبل كل تحليل: يتم دمج الإطار مع الصورة المرجعية، ويتم تحديد المناطق من الصورة المدمجة، ويتم رسم حدود منطقة المحاذاة والمناطق (الأخضر: طبيعي، الأحمر: غير طبيعي) على الفيديو. يحدد الحقل الفترة، مللي ثانية عدد مرات البحث عن الدفعة (افتراضيًا 1000، في الصورة 2000). يشير المؤشر بجوار: "طبيعي · N نقاط"، "غير طبيعي · N نقاط"، أو "لم يتم العثور على الدفعة" أو "لا توجد صورة مرجعية - حدد". يتم اتخاذ القرار بناءً على تحليل واحد فقط، دون تجميع النتائج.
يتم تحديد منطقة الإحداث و منطقة المحاذاة باستخدام نفس الزر "تحديد الصورة المرجعية" كما هو الحال عند التصوير (القسم 4.4); "الصورة المرجعية مع المناطق " تفتحها لعرضها. في الفيديو، يتم رسم حدود منطقة المحاذاة ونقاط الدعم الزرقاء، والتي تتطابق مع اللوحة. يتم تجاهل المناطق التي تتجاوز حدود الإطار بعد المحاذاة، مع وضع علامة "SKIP".
5.4. ما هو الإشارة المستخدمة للتحليل؟
يظل مصدر السرعة ثابتًا: عند إضافة جديد، يقوم البرنامج بإزالة القديم.
| الطريقة | كيفية التفعيل | متى يتم التطبيق |
|---|---|---|
| عن طريق الكاميرا | خانة "عن طريق الكاميرا" | مراقبة مستمرة؛ يتم تحديد السرعة باستخدام شريط التمرير "عدد التحاليل في الثانية" في علامة التبويب "الكاميرا" |
| عن طريق المؤقت | خانة "عن طريق المؤقت" والفترة (مللي ثانية) | مراقبة دورية، على سبيل المثال مرة واحدة في الثانية |
| عن طريق المؤقت | اختيار الاتصال في قائمة "المؤقت" ووضع "تحليل عند + على المدخل" أو "عند -" | نظام مع مستشعر على مدخل الكاميرا: يتم التقاط الإطار في لحظة وصول المنتج - الطريقة الأكثر دقة (القسم 6) |
| GPU | ☐ "وحدة معالجة الرسوميات" | مفعل افتراضيًا؛ التبديل يعيد تشغيل النموذج |
| تحليل الألوان الرمادية | ☐ "تحليل الألوان الرمادية" | يتم تفعيله تلقائيًا للنماذج التي تم تدريبها باستخدام الألوان الرمادية؛ يتم تحويل القطع إلى اللون الرمادي قبل الاستنتاج |
5.5. المناطق الصفراء: إيقاف المنطقة بالنقر
في بعض الحالات، قد يكون من الضروري إخراج بعض المناطق من نطاق التحكم مؤقتًا: العنصر غير مثبت في هذه المجموعة، المنطقة محظورة بواسطة أداة، يتم إجراء عملية تصحيح. ولا يتطلب ذلك تعديل الشبكة أو النموذج، بل يتم إيقاف تشغيل المناطق مباشرة على الفيديو، فقط في علامة التبويب "Inspect".
ما الذي تفعله المناطق الصفراء، يتم تحديدها عن طريق مربع الاختيار المناطق الصفراء (معطلة بالنقر) تكون صامتة في نافذة الإخراج، في علامة التبويب "الصوت" (مفعلة افتراضيًا):
| مربع الاختيار | سلوك المناطق الصفراء |
|---|---|
| مفعل (افتراضيًا) | لا يتم تحليل المنطقة على الإطلاق: لا يتم إرسال القطعة إلى الشبكة، ولا يوجد علامة "OFF"، ولا يوجد أي بيانات TCP، ولا يوجد خروج من الكاميرا. في خط الإنتاج، لا تؤثر المنطقة الصفراء على الحكم "طبيعي / غير طبيعي". |
| تم إيقاف التشغيل | تبقى الإطار الأصفر مجرد علامة: المنطقة قيد التحليل وتعمل بشكل طبيعي. إنه مريح لتمييز المناطق التي يجب فحصها دون تعطيل المراقبة. |
5.6. ما يظهر على الشاشة وفي وحدة التحكم
- تم تحديد النتيجة لكل منطقة؛ إطار المنطقة هو لون جدول المنطقة، ويصبح أحمر عند تفعيل المؤشر. عندما يكون عدد المناطق أكثر من 50، تظهر إطار المنطقة فقط باللون الأخضر، بينما تظهر المناطق غير المؤكدة والمنطقيات الأخرى بإطارات مختلفة. كان وجود مئات من الإطارات لكل إطار يعيق قراءة الصورة ويزيد من عبء الرسم. تم تعطيل المناطق الصفراء بالنقر (القسم 5.5).
- تُظهر لوحة "التحليل حسب المشغل" الموجودة في الجزء السفلي من التبويبة كل عملية تفعيل على حدة، مع عرض تفاصيل مثل: [ساعات:دقائق:ثواني.أجزاء من الثانية] الكاميرا، المدخل، والمشغل، بالإضافة إلى زمن الاستجابة (4 مللي ثانية) ووقت معالجة الذكاء الاصطناعي (12 مللي ثانية) ورقم التسلسل (#57). يتم عرض النتائج لكل منطقة على حدة. لا يتم حفظ هذه البيانات في قاعدة البيانات.
- النقر بزر الماوس الأيمن على المنطقة في الفيديو: "تصنيف الكشف في هذه المنطقة → اعتبارها "…" " يعيد تسمية استجابة النموذج لهذه المنطقة (ولكن لا يصلح النموذج، ولكن جهاز الرفض والسجل سيظهران الاسم الجديد)؛ بالإضافة إلى ذلك، "تفعيل جهاز الرفض لهذه المنطقة" وعداد القواعد.
- "خانة الاختيار "حفظ صور الفحص" والمجلد: يتم حفظ اللقطات التي تحتوي على المناطق المرسومة في ملفات بامتداد inspect_….jpg. تختلف إعدادات هذا الخيار لكل كاميرا."
- مرة كل 10 دقائق، يتم إنشاء مجلد فرعي باسم `diag` يحتوي على إطار صورة من خط الإنتاج، وقائمة نصية للمناطق، ويحتوي على آخر 20 صورة - وذلك لتحليل الحالات المتنازع عليها دون الحاجة إلى توسيع المجلد.
6. أجهزة الاستشعار: مستشعر على مدخل الكاميرا
الوضع الأساسي لنظام النقل: يلتقط الكاميرا إطارًا بناءً على إشارة كهربائية من المستشعر في مدخلها المنفصل. هذه هي الدقة القصوى لالتقاط الصورة: يكون المنتج في نفس موقع الإطار دائمًا، ويتم التحليل مرة واحدة فقط على المنتج. الوحدة TRIGGER تجمع بين الاتصال "المستشعر → الكاميرا" ورسم مخطط التوصيل وفقًا للمقبس المحدد.


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


- المخرج: "مقبس" مستشعر الضوء: لا يوفر جهدًا خاصًا به، بل فقط يكمل الدائرة. يتطلب مصدر طاقة خارجي.
- اختبار باستخدام جهاز قياس في وضع Ω: المخرج "إيقاف" - انقطاع (OL)، "تشغيل" - مئات الأوم. لا يصدر صوت البوق في كلا الحالتين، يرجى الرجوع إلى الأرقام. إذا لم يتغير شيء - اقلب الطرفين، مستشعر الضوء له قطبية.
- التيار: +24 فولت → لمبة → طرف " + "، طرف " - " → GND. بالنسبة لـ HIKROBOT، الحد الأقصى هو 25 مللي أمبير، وإذا تجاوزت هذه القيمة، فقلل من الطاقة أو استخدم مفتاحًا وسيطًا. بالنسبة لـ SICK، فإن التيار المسموح به كبير، ويمكن توصيل اللمبة التي تستهلك 20-30 مللي أمبير مباشرة.
7.2. نافذة الإخراج: قاعدة المنطقة
يفتح زر "OUTPUT" الموجود في اللوحة اليمنى (أو النقر بزر الماوس الأيمن على المنطقة واختيار "إنشاء جهاز رفض لهذه المنطقة") نافذة "OUTPUT - حزم TCP والمخرجات الرقمية للكاميرات". على الجانب الأيسر، يوجد هيكل شجري يمثل "الكاميرات ← نماذج الذكاء الاصطناعي ← الفئات ← المناطق"، مع وجود علامات اختيار بجانب المناطق. وعلى الجانب الأيمن، توجد علامات تبويب: "قواعد المنطقة"، "سجل التنبيهات"، و "قاعدة البيانات".

يمكن أن تحتوي منطقة واحدة على عدة قواعد 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. مخرج الكاميرا المنفصل

| الحقل | التخصيص |
|---|---|
| الإخراج | الطريقة: تلقائي، في SICK: إشارة الفلاش (مستوى ثابت) أو GPIO؛ في HIKROBOT: UserOutputValue أو LineInverter (إشارة الفلاش مطفأة). لا توجد مخرجات UserOutput في نماذج MV-CS020/016-10GC - ستختار البرنامج LineInverter تلقائيًا. |
| الخط | إشارة الفلاش / GPIO1…6 في SICK؛ الخط 1 (المخرج)، الخط 2 (ثنائي الاتجاه) في HIKROBOT؛ الخط 0 - فقط الإدخال. |
| المستوى | صحيح / خاطئ / إيقاف التشغيل. "إيقاف التشغيل" - يعني وجود قاعدة، ولكن لا يتم تفعيل المخرج. |
| الإشارة، مللي ثانية (0 - الاحتفاظ) | 0 - يتم الاحتفاظ بالمستوى حتى تغيير الفئة؛ وإلا، يتم إرسال إشارة 10…5000 مللي ثانية مع العودة. |
الأزرار "تشغيل الخرج", "إيقاف الخرج", "نبضة يتم التحقق منها باستخدام جهاز اختبار أو مصباح؛ بينما "ما يمكن للكاميرا القيام به " يستعلم عن جميع الطرق ويطبع تقريرًا. يتم كتابة الاختبارات اليدوية في نفس المجلد.
7.5. تنبيه صوتي: صوت خاص لكل منطقة
النوع الثالث من القاعدة: صوت على الكمبيوتر مع البرنامج. لا يحتاج المشغل إلى النظر إلى الشاشة: عند تلقي الإشارة، يستمع إلى أن المنطقة قد أصبحت "خاطئة"، وتساعد الأصوات المختلفة في المناطق المختلفة على تحديد الموقع بالضبط. الصوت متاح لجميع الكاميرات، بما في ذلك USB و RTSP، والتي لا تحتوي على منافذ منفصلة.
| آلية العمل | كيف يعمل هذا؟ |
|---|---|
| بدون علامة "تكرار" | يصدر صوت مرة واحدة عند تأكيد تغيير فئة المنطقة (بعد "تأكيد تغيير الفئة"). طالما استمرت الفئة، تكون المنطقة صامتة. |
| مع علامة "تكرار حتى استمرار الفئة" | تتكرر الإشارة عبر "فترة التكرار"، ولكن ليس أكثر من الفاصل الزمني بين الأصوات، طالما أن المنطقة تظل في الفئة المحددة. |
| عدة مناطق في حالة "خطأ" في نفس الوقت | تلعب كل منطقة صوتها الخاص؛ لا تطفئ الأصوات من مناطق مختلفة بعضها البعض، بل يتم إطفاء تكرار منطقة واحدة فقط. |
| السجل | كل مرة يتم فيها التشغيل، يتم تسجيلها في "سجل الأحداث" بسطر "الصوت: ...". إذا لم يتم العثور على الملف أو فشل الجهاز الصوتي، يتم تسجيل سطر الخطأ، وتستمر البرنامج في العمل. |
| التحقق | التحقق من هذا القانون يؤدي إلى تشغيل الصوت على الفور؛ محاكاة عمل المنطقة يؤدي إلى تشغيل الصوت مع بروتوكول 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. قائمة تحقق قصيرة وعملية للبحث عن الأخطاء
قائمة مرجعية من الصفر للوحة
إذا حدث خطأ ما
| الاعراض | ما يجب التحقق منه |
|---|---|
| لم تظهر الكاميرا في القائمة | مصدر الطاقة والكابل؛ بالنسبة لـ 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: مثال على منطقتين، إنشاء مجلدات النموذج، منطقة المحاذاة، بيانات اصطناعية "عنصر ذو أساس" مع صور "قبل / بعد"، لوحة الألوان وسمك الخط، مناطق حمراء، لوحة التحكم.
