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-पैकेट को रोबोट या पीएलसी को भेजना
- 7.4. कैमरे से अलग-अलग प्रकार की छवियां
- 7.5. ध्वनि चेतावनी: प्रत्येक क्षेत्र के लिए अपनी ध्वनि
- 7.6. क्रियान्वयन लॉग और डेटाबेस
- 8. अन्य मोड और कार्य
- 9. सेटिंग्स, कंसोल, आवश्यकताएं और लाइसेंस
- 10. एक संक्षिप्त जाँच सूची और खराबी की पहचान
इस मैनुअल का उपयोग कैसे करें: पहला भाग बताता है कि इस विधि का उपयोग क्यों करना है और इससे किस परिणाम की उम्मीद की जा सकती है। भाग 3-5 एक खाली प्रोग्राम से लेकर एक कार्यात्मक निरीक्षण तक की प्रक्रिया को दर्शाते हैं, और आपको उन्हें क्रम से पूरा करना चाहिए। भाग 6-7 में सेंसर, आउटपुट और TCP को कनेक्ट करने के निर्देश दिए गए हैं। भाग 8-10 में अन्य सुविधाओं, सेटिंग्स और चेकलिस्ट दी गई हैं।
1. engiAI और ज़ोन-पेयर विधि क्यों?
engiAI Ethernet System - एक विजुअल निरीक्षण कार्यक्रम जो उत्पादन लाइन के लिए है। यह एक औद्योगिक या सामान्य कैमरे से एक फ्रेम लेता है, उसे क्षेत्रों में विभाजित करता है, प्रत्येक क्षेत्र की जांच एक प्रशिक्षित न्यूरल नेटवर्क द्वारा करता है, और परिणाम को एक क्रिया में बदल देता है: कैमरे के एक डिस्क्रीट आउटपुट पर सिग्नल, एक रोबोट या पीएलसी को एक टीसीपी संदेश, या लॉग में रिकॉर्ड। "ज़ोन-पेयर" विधि उन उत्पादों के लिए बनाई गई है, जिनमें "सही" तरीके से हर जगह एक निश्चित विशेषता होती है: प्रिंटेड सर्किट, असेंबली, लॉजमेंट में पुर्जों के सेट, और पैकेजिंग।
1.1. यह विधि, पूरे फ्रेम के वर्गीकरण की तुलना में क्या लाभ प्रदान करती है?
एक सामान्य दृष्टिकोण यह है कि पूरे फ्रेम या सभी क्षेत्रों पर एक ही मॉडल का उपयोग किया जाए, जिसमें "सामान्य / विसंगति" के दो वर्ग हों। लेकिन यह प्लेट पर काम नहीं करता: प्लेट के क्षेत्र 2 में BR1 पुल के नीचे की खाली जगह एक दोष है, जबकि प्लेट के किसी अन्य कोने में भी इसी तरह की खाली जगह सामान्य हो सकती है। एक ही मॉडल में इन दोनों को व्यक्त करना संभव नहीं है। दूसरा चरम दृष्टिकोण यह है कि प्रत्येक घटक के लिए एक अलग मॉडल का उपयोग किया जाए, जिसके लिए कई प्रशिक्षण और मेमोरी में कई फ़ाइलें आवश्यक होंगी।
ज़ोन-पेयर इसे इस तरह हल करता है: एक मॉडल होता है, और कक्षाओं की संख्या उस क्षेत्र की संख्या के बराबर होती है। "क्षेत्र" एक ऐसा आयत होता है जो एक घटक के चारों ओर होता है। "कक्षा" एक फ़ोल्डर होता है जिसमें चित्र होते हैं, जिन पर नेटवर्क सीखता है। प्रत्येक क्षेत्र का अपना युग्म होता है: "zone_001" (सामान्य क्षेत्र 1, उदाहरण के लिए, संधारित्र C30) और "zone_001_anomaly" (दोष क्षेत्र 1); "zone_002" और "zone_002_anomaly" - BR1 पुल। जब क्षेत्र 1 की जाँच की जाती है, तो प्रोग्राम केवल उसके युग्म पर ध्यान केंद्रित करता है, क्षेत्र 2 के बारे में उत्तरों का उपयोग नहीं किया जाता है। असामान्य कक्षाओं की आवश्यकता नहीं है: दोष क्षेत्र के स्वरूप को बदल देता है, और "सामान्य" में विश्वास स्वतः ही कम हो जाता है; लेकिन सिंथेटिक डेटा (4.6 अनुभाग) के साथ, उन्हें एक क्लिक में बनाया जा सकता है और वे विश्वसनीयता में उल्लेखनीय रूप से वृद्धि करते हैं।

1.2. गति: AI केवल आवश्यक भागों पर ध्यान केंद्रित करता है
न्यूरल नेटवर्क कभी भी पूरे फ्रेम को नहीं देखता। प्रत्येक क्षेत्र के लिए, केवल उसकी आयत काटा जाता है, और क्षेत्र की संख्या दो वर्गों में से एक का चयन करती है। एक ही फ्रेम के क्षेत्रों को समानांतर (अधिकतम चार थ्रेड्स) माना जाता है, और सभी क्षेत्रों के परिणाम एक साथ स्क्रीन पर प्रदर्शित होते हैं, न कि एक-एक करके।
- विश्लेषण की गति समय के अनुसार निर्धारित की जाती है। "कैमरे" टैब पर "सेकंड में विश्लेषण (AI)" स्लाइडर का मतलब है कि प्रति सेकंड ठीक N विश्लेषण किए जा रहे हैं, न कि "हर N-वें फ्रेम"। यह कैमरा की आवृत्ति और अनुमान के समय पर निर्भर करता है।
- डिफ़ॉल्ट रूप से GPU का उपयोग होता है। यह ONNX रनटाइम और CUDA के माध्यम से इन्फेरेंस करता है। यदि NVIDIA ग्राफिक्स कार्ड नहीं है, तो प्रोग्राम स्वचालित रूप से प्रोसेसर पर स्विच हो जाता है और इसके बारे में जानकारी स्थिति में प्रदर्शित करता है (GPU (CUDA) या CPU)।
- बिना कचरे के बफर। मेमोरी को एक बार में प्रत्येक स्ट्रीम में अलग-अलग हिस्सों में विभाजित किया जाता है और फिर से उपयोग किया जाता है; विश्लेषण का समय एक फ्रेम से दूसरे फ्रेम में नहीं बदलता।
- मॉडल को कार्य के अनुसार अनुकूलित किया गया। ज़ोन-पेयर प्रोग्राम स्वचालित रूप से इनपुट आकार को 128 पिक्सेल पर सेट करता है और YOLO11 नेटवर्क का उपयोग करता है, जिसका आकार "s" है। इस कॉन्फ़िगरेशन में, ज़ोन का आकार लगभग स्केल नहीं होता है, और नेटवर्क में सैकड़ों क्लास जोड़े को संसाधित करने के लिए पर्याप्त क्षमता होती है।
- लाइव कन्वेयर, कर्मचारियों की बचत करता है। जब कोई कर्मचारी कन्वेयर पर काम करता है, तो वह एक निश्चित अवधि के लिए काम पर रहता है, जिससे कर्मचारियों की आवश्यकता कम होती है। सर्किट बोर्ड की खोज और उसे एक बार व्यवस्थित करने के बाद ही कटिंग की प्रक्रिया शुरू होती है।
- यह प्रदर्शन विश्लेषण में बाधा नहीं डालता। यह टाइल 25 बार प्रति सेकंड से अधिक नहीं खींची जाती है और केवल कैमरे की नई फ़्रेम के आधार पर, छवि को स्क्रीन पर प्रदर्शित होने तक टाइल के आकार में छोटा किया जाता है, जबकि लॉग बैकग्राउंड थ्रेड द्वारा फ़ाइल में लिखा जाता है। 8-मेगापिक्सेल फ़्रेम और सैकड़ों क्षेत्रों के साथ, इंटरफ़ेस 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 सेट करता है, और प्रशिक्षण के दौरान, उन डेटा वृद्धि को अक्षम कर देता है जो असामान्य वर्गों के साथ संघर्ष करते हैं।
- कैमरा बटन के माध्यम से सेट किया जा सकता है। "स्वचालित रूप से AI (फ्रेम के आधार पर) के लिए सेटिंग्स" एक्सपोजर, कंट्रास्ट, गामा और व्हाइट बैलेंस को समायोजित करता है; USB कैमरों के लिए "फॉर्म के आधार पर स्वचालित चयन" और "पैरामीटर को लॉक करना" विकल्प उपलब्ध हैं।
- कैमरे की सेटिंग्स के पैक। पूर्व-निर्धारित सेटिंग्स को एक नाम के साथ सहेजा जाता है और सूची से चुना जा सकता है। कैमरा उन्हें तुरंत स्वीकार करता है और अपने मेमोरी में संग्रहीत करता है।
- एक ONNX फ़ाइल आउटपुट के रूप में। प्रशिक्षित मॉडल स्वचालित रूप से निर्यात किया जाता है और तुरंत निरीक्षण के लिए आवंटित किया जाता है, जिसमें कोई अतिरिक्त कदम शामिल नहीं हैं।
पूरा प्रक्रिया: कैमरा कनेक्ट करें → मॉडल बनाएं → क्षेत्रों को चिह्नित करें → संरेखण क्षेत्र को कैप्चर करें → "क्षेत्रों के अनुसार" कई ठीक किए गए बोर्डों पर → "क्षेत्रों में विसंगतियां" → AI मॉडल को प्रशिक्षित करें → "निरीक्षण" टैब। इसके बाद, क्षेत्रों पर ध्वनि, आउटपुट और TCP को जोड़ना बाकी है। शुरुआत के लिए आवश्यक: विंडोज 10/11 वाला कंप्यूटर (तेजी से निरीक्षण के लिए - NVIDIA ग्राफिक्स कार्ड), कैमरा, एक ठीक किया हुआ बोर्ड और प्रशिक्षण वातावरण स्थापित करने के लिए एक बार इंटरनेट। दोषपूर्ण बोर्डों की आवश्यकता नहीं है।
2. प्रोग्राम इंटरफेस एक मिनट में
मुख्य विंडो को दो भागों में विभाजित किया गया है। बाईं ओर - कैमरों से लाइव वीडियो और उसके ऊपर एक स्थिति बार। दाईं ओर - एक पैनल जिसमें सभी नियंत्रण मौजूद हैं। भागों के बीच की सीमा को ड्रैग किया जा सकता है; सभी विंडो के आकार, स्थिति और लेआउट को प्रोग्राम अपने डेटाबेस में याद रखता है।

वीडियो के ऊपर बटन
| बटन | यह क्या खोलता है |
|---|---|
| वीडियो को छिपाएं | स्क्रीन से चित्र हटा देता है। केवल ड्राइंग को संसाधित किया जाता है, इसलिए ऊर्जा की बचत होती है। |
| आउटपुट | संदर्भ विंडो: HIKROBOT और SICK कैमरों के डिस्क्रीट आउटपुट के संपर्क, टेस्टर के साथ जांच, लोड को कनेक्ट करना (अनुभाग 7.1)। |
| कैमरे | "कनेक्टेड कैमरों की सेटिंग्स" विंडो: कैमरों को जोड़ना, फिर से कनेक्ट करना, कैमरों को हटाना और हार्डवेयर से पढ़े गए सभी मापदंडों को देखना (अनुभाग 3.2)। |
| ट्रिगर | कैमरे के डिस्क्रीट इनपुट में बाहरी सेंसर को कनेक्ट करने के लिए, सर्किट आरेख और पिनआउट का उपयोग करना (अनुभाग 6)। |
| सामान्य मॉडल | "कैमरा → मॉडल" के नामित सेट, जिन्हें पूरे स्टैंड पर एक ही चयन के माध्यम से असाइन किया जा सकता है (अनुभाग 8)। |
| लेआउट (कॉलम) | कितने कैमरे एक पंक्ति में दिखाने हैं; «■» - एकल मोड (चयनित कैमरा बड़ा), «ऑटो» - सभी कैमरों में से एक, «⛶» - पूरे मॉनिटर पर कैमरे (Esc दबाएं)। |
| ROI क्षेत्र को दर्शाना | क्या वीडियो पर क्षेत्र के ग्रिड को चित्रित करना उचित है? |
दाएं ओर टैब
| टैब | नियुक्ति |
|---|---|
| Camera | चुने गए कैमरे के पैरामीटर: शटर स्पीड, एक्सपोजर, रंग, रिज़ॉल्यूशन, AI के लिए ऑटो-सेटिंग, सहेजे गए सेटिंग्स, विश्लेषण की गति। AI की सीमा अब यहां नहीं है - यह केवल "इंस्पेक्ट" टैब में ही उपलब्ध है। |
| OUTPUT | रिजेक्टर: क्षेत्र-विशिष्ट नियम - TCP-संदेशों को रोबोट/पीएलसी, कैमरे के डिस्क्रीट आउटपुट और ध्वनि अलर्ट, ट्रिगर लॉग और डेटाबेस को भेजना। |
| AI Model | मॉडल बनाना: फ़ोल्डर, कक्षाएं, क्षेत्र, क्षेत्र-वार तस्वीरें, क्षेत्र-वार विसंगतियां, सर्किट बोर्ड की संदर्भ छवि, और प्रशिक्षण के लिए सेटिंग्स और लॉन्च। |
| Inspect | कार्यशील टैब: कौन सा मॉडल निरीक्षण कर रहा है, क्षेत्र का निरीक्षण और सीमा, लाइव कन्वेयर, किस सिग्नल पर फ्रेम लेना है, बहु-मॉडल निरीक्षण के लिए स्लॉट। |
| Settings | इंटरफ़ेस भाषा (14 भाषाएँ), लाइसेंस खरीदना, सेटिंग्स को सहेजना और लोड करना, वीडियो रिकॉर्ड करना। |
| Console | घटना लॉग: कैमरों का कनेक्शन, प्रशिक्षण की प्रगति, रिजेक्टर का सक्रिय होना, चेतावनियाँ। स्क्रीन पर 800-1000 नवीनतम पंक्तियों को प्रदर्शित किया जाता है, और सभी जानकारी logs\engiai-*.log फ़ाइलों में लिखी जाती है। |
स्थिति पंक्ति
कнопों के ऊपर, सक्रिय कैमरे की स्थिति दिखाई जाती है: लाइव (एंड्रॉइड): 3264×2448 [एचडी यूएसबी कैमरा] — प्रकार, रिज़ॉल्यूशन और नाम; एआई: वेटिंग या एआई: जीपीयू (CUDA) — मॉडल किस पर काम कर रहा है और अंतिम विश्लेषण में कितने मिलीसेकंड लगे; नेट: कुल … सक्रिय … एमबी/से — गीगे-कैमरों से नेटवर्क पर पड़ने वाला लोड (हर 40% तक हरा, 70% तक नारंगी, उसके बाद लाल)। एक्सप लोड बैंड दर्शाता है कि एक्सपोजर फ्रेम अंतराल का कितना हिस्सा लेता है: यदि यह दाईं ओर जा रहा है, तो कैमरा अपेक्षित आवृत्ति को नहीं बनाए रख पाएगा।
प्रत्येक कैमरे के ऊपर एक शीर्षक होता है जिसमें उसका नाम, स्थिति "LIVE | AI:ON" और रीकनेक्ट बटन होता है। स्क्रीन पर राइट-क्लिक करने से क्षेत्र का मेनू खुलता है, और राइट-क्लिक करके स्क्रीन को पैन करना संभव होता है।
3. कैमरे: कनेक्शन और सेटअप
3.1. कौन से कैमरे समर्थित हैं
| प्रकार | कनेक्शन कैसे करें | प्रोग्राम से क्या कॉन्फ़िगर किया जा सकता है |
|---|---|---|
| HIKROBOT MV-CS (GigE, USB3) | नैटिव MVS SDK। यह केवल सीरियल नंबर के द्वारा खुलता है, क्रम महत्वपूर्ण नहीं है। | 6 माइक्रोमीटर का एक्सपोजर, dB में वृद्धि, FPS, रिज़ॉल्यूशन (AOI), ब्लैक लेवल 0…4095, सभी GenICam नोड्स (ऑटो-मोड, गामा, शार्पनेस, व्हाइट बैलेंस R/G/B, डिजिटल शिफ्ट, फ्लिप, GigE पैकेट)। ये पैरामीटर कैमरे के UserSet1 में लिखे जाते हैं। लाइन 0, लाइन 1 और GPIO लाइन 2 के लिए डिस्क्रीट इनपुट, आउटपुट। |
| SICK picoCam (IDS uEye, GigE) | uEye ड्राइवर। कैमरा IDS Camera Manager में "सही ढंग से कॉन्फ़िगर" स्थिति के साथ दिखाई देना चाहिए। सीरियल नंबर कैमरे के साथ मिलान किया जाता है, क्योंकि uEye में DeviceID प्रत्येक बार चलने पर बदल जाता है। | आउटपुट, एम्पलीफिकेशन 0…100, एफपीएस, रिज़ॉल्यूशन, ब्लैक लेवल 0…255, पिक्सेल क्लॉक, एम्पलीफिकेशन बूस्ट, आर/G/B चैनल के लिए हार्डवेयर एम्पलीफिकेशन, हार्डवेयर गामा, बायर लेआउट। ये पैरामीटर कैमरे की मेमोरी में लिखे जाते हैं। ऑप्टोपेयर पर ट्रिगर इनपुट, फ्लैश आउटपुट (150 mA)। |
| यूएसबी/वेबकैम। (सूची में - एंड्रॉइड) | OpenCV के माध्यम से DirectShow, जो moniker के अनुसार भिन्न होते हैं, इसलिए दो समान कैमरे भ्रमित नहीं होते। | 8K तक का रिज़ॉल्यूशन, FPS, और ड्राइवर के सभी गुण: चमक, कंट्रास्ट, संतृप्ति, टोन, शार्पनेस, गामा, एम्प्लीफिकेशन, ऑटो-फोकस, ऑटो-ब्लेंस, आदि। इसमें कोई प्रत्यक्ष इनपुट और आउटपुट नहीं हैं, केवल TCP उपलब्ध है। |
| RTSP IP कैमरा | `rtsp://admin:पासवर्ड@192.168.1.64:554/` जैसा लिंक मैन्युअल रूप से जोड़ा जाता है। | कैमरे के वेब इंटरफेस में एक्सपोजर, एम्प्लीफिकेशन, रिज़ॉल्यूशन और FPS सेट किए जा सकते हैं। इसमें ज़ोन, मॉडल और TCP शामिल हैं। |
कैमरों की संख्या पर कोई सख्त सीमा नहीं है: कैमरे एक ग्रिड में व्यवस्थित किए जा सकते हैं, और वास्तविक सेटअप पर 8 और 9 कैमरे एक साथ काम कर रहे थे। प्रत्येक कैमरे में अपने-अपने मॉडल, ज़ोन, सीमा और विश्लेषण की गति होती है।
3.2. कैमरा विंडो: जोड़ें, रीकनेक्ट करें, हटाएं
सूची के अंतर्गत दिए गए चेक, चुने गए कैमरे के लिए सक्रिय होते हैं: कैमरा चालू (अन्यथा, यह डिवाइस से डिस्कनेक्ट हो जाता है और स्क्रीन से गायब हो जाता है), वीडियो/क्षेत्र प्रदर्शित करें (केवल रेंडरिंग, विश्लेषण हमेशा चलता रहता है), चुने गए कैमरे के लिए AI सक्रिय। पुन: कनेक्ट करें बटन, AI और मॉडल के पूर्ण डिस्कनेक्शन और पुनः कनेक्शन के साथ, धारा को पुनः शुरू करता है और मॉडल को पुनः लोड करता है।
विंडो के दाहिने हिस्से में कैमरे से प्राप्त सभी पैरामीटर प्रदर्शित होते हैं, जो हार्डवेयर के साथ कनेक्ट होने पर एकत्र किए जाते हैं, साथ ही समूहों और इकाइयों के साथ: "कौन से पैरामीटर प्रदर्शित करें", कैमरे से पुनः प्राप्त करें, बफर में कॉपी करें। यह केवल देखने के लिए है: आप कैमरे के टैब पर पैरामीटर बदल सकते हैं।
3.3. HIKROBOT और SICK के लिए "कैमरा" टैब
यह मॉड्यूल कैमरे के साथ काम करता है, जिसका फ्रेम नीले रंग का है। जब यह कनेक्ट होता है, तो यह कैमरे में कुछ भी नहीं रिकॉर्ड करता: कैमरा सच्चाई का स्रोत है, जबकि स्लाइडर उसकी वैल्यू के अनुसार समायोजित होते हैं। केवल "पैरामीटर सहेजें" बटन (Сохранить параметры) का उपयोग करके सेटिंग्स को सहेजा जा सकता है।
"Hikrobot: कैमरा पैरामीटर (GenICam)" ब्लॉक
केवल वही प्रदर्शित होता है जो कैमरा कैप्चर करता है। पंक्तियाँ: ऑटो-एक्सपोजर (ऑफ / एक बार / निरंतर), ऑटो-एम्प्लीफिकेशन, गामा और गामा मोड, शार्पनेस, टोन, संतृप्ति, ऑटो-व्हाइट बैलेंस, चैनल के अनुसार व्हाइट बैलेंस, डिजिटल शिफ्ट, ब्लैक लेवल चालू, FPS की सीमा चालू, क्षैतिज और ऊर्ध्वाधर में घुमाव, GigE: पैकेट का आकार, GigE: पैकेट के बीच का विलंब, GigE: बैंडविड्थ की सीमा, परीक्षण छवि। "कैमरा से पैरामीटर को फिर से लोड करें" बटन तालिका को फिर से कॉन्फ़िगर करता है।
"इमेज का रंग" ब्लॉक
बाइयर का रंग पैटर्न (ऑटो / BGGR / RGGB / GRBG / GBRG), संतृप्ति 0…200 %, गामा 0,30…3,00, कंट्रास्ट 50…200 %, रीसेट बटन। यह प्रोग्रामिंग सभी फ्रेम के उपभोक्ताओं पर लागू होती है: प्रदर्शन, रिकॉर्डिंग, अनुमान और प्रशिक्षण के लिए चित्र, इसलिए प्रशिक्षण और निरीक्षण के दौरान चित्र समान होते हैं। HIKROBOT के लिए, रंग पैटर्न कैमरे के पिक्सेल फॉर्मेट से लिया जाता है, जबकि SICK के लिए, यह सेंसर से लिया जाता है और पहले फ्रेम के अनुसार समायोजित किया जाता है।
| पैरामीटर | यह क्या करता है | प्रभाव |
|---|---|---|
| सेकंड में AI विश्लेषण (AI) | निरीक्षण की गति की ऊपरी सीमा, 1...200 | कम — वीडियो कार्ड पर कम लोड; कैमरे से कनेक्शन पर निर्भर नहीं |
| एआई की सीमा | कैमरे टैब पर निर्धारित नहीं | क्षेत्र की पहचान की सीमा - केवल "इंस्पेक्ट" टैब (5.2 अनुभाग) पर, एक प्रति कैमरा |
| Exposure | एक्सपोजर का समय | संक्षेप में - चलती वस्तुओं पर कम प्रभाव; शून्य स्वीकार्य नहीं |
| Gain / Gain boost | मैट्रिक्स सिग्नल को बढ़ाना | चमक बढ़ाता है, लेकिन शोर भी जोड़ता है |
| Pixel clock (SICK) | सेंसर की आवृत्ति | यह FPS और एक्सपोजर की रेंज को बदल देता है, और उन्हें फिर से पढ़ा जाता है |
| FPS | मुक्त मोड में फ्रेम दर | ट्रिगर मोड में उपयोग नहीं किया जाता |
| चौड़ाई / ऊँचाई | फ्रेम का आकार (AOI) | छोटा फ्रेम - उच्च आवृत्ति और कम ट्रैफ़िक |
3.4. कैमरा टैब के लिए USB/वेबकैम
USB कैमरों के लिए, टैब "USB-कैमरा: रिज़ॉल्यूशन, FPS और गुण" दिखाता है। कैमरे द्वारा प्रदान नहीं किए जाने वाले ड्राइवर के गुण प्रदर्शित नहीं होते हैं; फ़ील्ड की सीमाएँ प्रोग्राम द्वारा निर्धारित की जाती हैं, क्योंकि DirectShow रेंज के बारे में कोई जानकारी नहीं होती है।
3.5. सहेजे गए कैमरे के सेटिंग्स (सेट)
"सहेजे गए कैमरे के सेटिंग्स" USB, SICK और HIKROBOT के लिए प्रदर्शित होते हैं। उपयुक्त पैरामीटर के साथ, उन्हें इस नाम से सहेजें: किसी अन्य प्लेट या अन्य प्रकाश व्यवस्था के लिए, सूची से एक सेट का चयन करना पर्याप्त है।
- से सहेजें… - यह वर्तमान मूल्यों को कैमरे से पढ़ता है और सेट का नाम पूछता है। यदि नाम पहले से मौजूद है, तो यह इसे बदलने का विकल्प देता है।
- सूची में सेट का चयन तुरंत कैमरे में पैरामीटर दर्ज करता है और उन्हें सुरक्षित रखता है: USB के लिए - डेटाबेस में, SICK और HIKROBOT के लिए - पैरामीटर फ़ाइल और कैमरे की मेमोरी (UserSet1 / EEPROM) में। फिर पैनल हार्डवेयर से मान पढ़ता है और दिखाता है कि कितने पैरामीटर स्वीकार किए गए हैं और कितने अस्वीकार किए गए हैं।
- पुन: सहेजें वर्तमान मूल्यों से चयनित सेट को फिर से लिखता है, नाम बदलें और हटाएं केवल डेटाबेस में मौजूद प्रविष्टि पर ही लागू होते हैं, कैमरे में सेट किए गए पैरामीटर नहीं बदलते।
सेट में शामिल: USB के लिए - रिज़ॉल्यूशन, FPS, ड्राइवर के गुण और ऑटो-मोड; SICK के लिए - एम्प्लीफिकेशन, एक्सपोजर, FPS, ब्लैक लेवल, पिक्सेल क्लॉक, गेन बूस्ट, व्हाइट बैलेंस R/G/B, हार्डवेयर गामा और सॉफ्टवेयर कलर; HIKROBOT के लिए - एम्प्लीफिकेशन, एक्सपोजर, FPS, ब्लैक लेवल और सभी GenICam नोड्स। औद्योगिक कैमरों के फ्रेम का आकार सेट में शामिल नहीं है: इसे बदलने से रिकॉर्डिंग फिर से शुरू हो जाती है। सभी एक ही प्रकार के कैमरों के लिए सेट समान होते हैं, इसलिए एक ही प्रकार के कैमरों के स्टैंड पर, एक सेट को प्रत्येक पर लगाया जाता है।
3.6. GigE नेटवर्क और रीकनेक्ट
- HIKROBOT के GigE पैकेट का आकार स्वचालित रूप से इष्टतम पर सेट होता है जब यह खुलता है; इसे मैन्युअल रूप से GenICam ब्लॉक में भी ठीक किया जा सकता है। Jumbo-फ्रेम 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 %. संदर्भ छवि हमेशा val में होती है: Ultralytics में, प्रत्येक वर्ग दोनों फ़ोल्डरों में होना चाहिए। |
| ग्रे रंग में प्रशिक्षण | मॉडल के लिए सामान्य ध्वज: रंग सामान्य, असामान्य और निरीक्षण से हटा दिया जाता है। एक ही मॉडल में रंगीन और ग्रे फ़ाइलों को मिलाना संभव नहीं है, प्रोग्राम आपको चेतावनी देगा। |
| स्लाइड, पिक्सेल · कहाँ | "यह क्षेत्र की विंडो, चिह्नित दिशाओं (← → ↑ ↓) में 0…2 पिक्सेल तक पूरी फ्रेम में स्थानांतरित होती है; छूटे हुए भाग को आस-पास के सर्किट बोर्ड के क्षेत्र से लिया जाता है, जिससे कट साफ रहता है। 'चेक' (सभी दिशाएं) प्रत्येक दिशा के लिए एक फ़ाइल बनाता है, जबकि 'एक यादृच्छिक' एक ही फ़ाइल बनाता है।" |
| घूर्णन, डिग्री · कहाँ | डिफ़ॉल्ट रूप से बंद: संरेखण क्षेत्र में, कोई घुमाव नहीं होता, और चालू करने पर दोष की सीमा धुंधली हो जाती है। "बाएं / दाएं", "सभी दिशाएं / एक यादृच्छिक" - यह स्लाइड की तरह है। |
| स्केल, % · कमी / वृद्धि | डिफ़ॉल्ट रूप से यह बंद रहता है। दो चेकबॉक्स - दो पहलू: कम करना (<100) और बढ़ाना (>100, यह विंडो क्षेत्र के आस-पास के क्षेत्रों को शामिल करता है)। प्रत्येक चिह्नित पहलू - एक अलग फ़ाइल। |
| चमक / कंट्रास्ट / गामा | प्रत्येक विकल्प के लिए रेंज से यादृच्छिक मान: चमक 88…112, कंट्रास्ट 88…112 %, गामा 98…102 % (छवि में); "तत्वों की ऑफसेट" प्रोफाइल में, प्रकाश को चौड़ा रखा गया है ताकि यह कोई संकेत न बने। |
| शोर (सिग्मा) / धुंधलापन | सेंसर का ग्रेन 3…8 स्तर, हल्की फोकस 0.4…0.8 px। |
| "सामान्य" कॉलम | जब चेक किया जाता है, तो यह अन्य के साथ सामान्य फ़ाइल में शामिल होता है; बिना चेक किए, यह एक अलग फ़ाइल "संदर्भ छवि + केवल यह दृश्य" बनाता है। जितने अधिक अलग-अलग, उतने ही अधिक फ़ाइलें प्रत्येक विकल्प के लिए। |


4.6. सिंथेटिक डेटा दो क्लिक में: तत्व आधार के साथ स्थानांतरित होता है
जिस डेटा पर यह मॉडल आधारित है। यह मॉडल विशेष रूप से तब अच्छा प्रदर्शन करता है जब इसे दोष के रूप में एक ऐसा क्षेत्र दिखाया जाता है जो न तो चित्रित है और न ही जिस क्षेत्र की जांच की जा रही है, साथ ही उसके आसपास के सर्किट के तत्व: जैसे कि स्क्रीन प्रिंटिंग लाइनें, ट्रेसेस, रंग और आधार का बनावट। यह प्रोग्राम क्षेत्र को उस तत्व के आकार तक छोटा कर देता है, और फिर उस क्षेत्र को स्थानांतरित या घुमाता है, ताकि आस-पास के फ्रेम के पिक्सेल से किनारों को भर दिया जा सके। परिणामस्वरूप, तत्व अपने मूल स्थान पर नहीं रहता है, बल्कि बिल्कुल उसी तरह दिखता है जैसा कि वास्तविक दोष, सेंसर की वास्तविक शोर, वास्तविक प्रकाश और वास्तविक सर्किट को देखकर कंट्रोलर को दिखाई देता है।
एक सामान्य क्षेत्र और एक असामान्य क्षेत्र केवल एक तत्व की आधार के सापेक्ष स्थिति में भिन्न होते हैं। बाकी सब कुछ समान होता है, इसलिए नेटवर्क "तत्व ↔ सर्किट बोर्ड" के बीच संबंध सीखता है, न कि धब्बे के रंग या प्रकाश व्यवस्था के बारे में।
दो क्लिक
अब और कुछ करने की आवश्यकता नहीं है: न तो दोषों को चिह्नित करना है, और न ही दोषपूर्ण सर्किट ढूंढना है। इसके बाद, AI मॉडल को प्रशिक्षित करें।
पहले और बाद में: प्रोग्राम क्या हासिल करता है




ये फ़ोल्डर, उपयोगकर्ता द्वारा देखे गए असामान्य तत्वों को दर्शाते हैं।
4.5 अनुभाग में सामान्य फ़ोल्डरों के साथ तुलना करें: अंतर केवल आधार के सापेक्ष तत्वों की स्थिति में है।


तत्वों का लेबलिंग: "गहरा" निशान क्यों है और इसे कैसे सेट किया जाता है
भागों के परतों पर एक लेबल होता है - 1-2 पिक्सेल की मोटाई वाले अक्षरों और रेखाएँ। यह लेबल एक बैच से दूसरे बैच में बदलता रहता है: अलग-अलग फ़ॉन्ट, कैपेसिटर पर लिखे अक्षरों की दिशा, कुछ प्रतीकों को मिटा दिया जाता है। यदि "खरोंच" जैसी कृत्रिम दोष को इसी तरह की पतली रेखा से दर्शाया जाता है, तो सेंसर इसे लेबल की रेखा और सेंसर की शोर से अलग नहीं कर पाएगा और दूसरे बैच के सही भागों को अस्वीकार करना शुरू कर देगा।
सिंथेटिक डेटा ज़ोन-पेयर इस समस्या को दोनों तरफ से हल करता है। पहले, मुख्य दोष - तत्व का विस्थापन - लेबल को शरीर के साथ ले जाता है, इसलिए लेबल एक सामान्य और असामान्य दोनों स्थितियों में समान दिखता है। दूसरे, डिफ़ॉल्ट रूप से खींचा गया रेखा/खरोंच मोटा (⅛ क्षेत्र, 3px से कम नहीं) होता है और यह स्पष्ट रूप से लेबल की रेखा जैसा नहीं होता। अब, रेखा की मोटाई को स्पष्ट रूप से परिभाषित किया जा सकता है: रेखा की मोटाई, px (0 = ऑटो) फ़ील्ड रेखा और क्रॉस दोनों पर लागू होता है।
चित्रित दोष (जैसे कि आयत, वृत्त, रेखा, "गायब तत्व", धुंधली пятन और अन्य) को एक संकुचित समूह में व्यवस्थित किया गया है: "उत्पादित क्षेत्र पर सिंथेटिक दोष"। डिफ़ॉल्ट रूप से, यह संकुचित और अक्षम होता है: बोर्ड पर मुख्य दोष - विस्थापन। इसे विशिष्ट कार्यों के लिए चालू करें: भरा हुआ क्षेत्र, अतिरिक्त बूंद, मिटा हुआ लेबल।
| आकृतियों के पैरामीटर | यह क्या निर्धारित करता है |
|---|---|
| आकार: ... से ... तक, क्षेत्र के प्रतिशत में / px | आकृति का आकार या लंबाई। प्रतिशत में - क्षेत्र के छोटे पक्ष से (किसी भी क्षेत्र के लिए); px में - सभी क्षेत्रों में समान, जो उपयोगी है जब वास्तविक दोष का आकार पिक्सेल में ज्ञात हो। |
| भरना | पूर्ण / सीमा / मिश्रण (सीमा भी "गहरी" है)। |
| रेखा की मोटाई, px | रेखा / निशान और क्रॉस। 0 - ऑटो (गहरी)। तत्वों को लेबल करने के लिए 3px से कम न जाएं। |
| दोष कहाँ है | केंद्र में, बाईं ओर, दाईं ओर, ऊपर, नीचे - आप आकृति को कहाँ रखना चाहते हैं (थोड़ी सी अनियमितता के साथ)। "सभी स्थितियाँ" विकल्प चुनने पर, प्रत्येक चिह्नित स्थान के लिए एक अलग फ़ाइल बनेगी; "एक यादृच्छिक" विकल्प चुनने पर, एक फ़ाइल बनेगी और स्थान चिह्नित स्थानों में से यादृच्छिक रूप से चुना जाएगा। विंडो के निचले भाग में स्थित फ़ाइल काउंटर, इन विकल्पों को ध्यान में रखते हुए तुरंत गणना करता है। |
| आकृतियों के रंग: 5 स्लॉट | पांच स्लॉट, नाम की सूची के बजाय। चेक - स्लॉट सक्रिय है, रंग यादृच्छिक रूप से चिह्नित रंगों में से लिया जाता है (±12 के चैनल में, ताकि यह एक ही रंग न हो)। नमूना बटन - पैलेट से रंग चुनें, 💧 पिपेट - कैमरे की लाइव फ़्रेम पर क्लिक करें (पहिया - ज़ूम, दाहिना बटन - पैन), और वास्तविक विवरण या प्लेट से रंग लें। डिफ़ॉल्ट रूप से दो स्लॉट सक्रिय हैं - गहरा और हल्का, बाकी तीन निष्क्रिय हैं। |
| "सामान्य" कॉलम | किसी दोष का प्रकार सामान्य फ़ाइल में अन्य "सामान्य" दोषों (जैसे, किसी स्थानांतरित तत्व पर खरोंच) के साथ एक साथ दर्ज किया जाता है। यदि चेक नहीं है, तो यह एक अलग फ़ाइल "सामान्य + केवल यह दोष" होगा। "सभी स्थितियों" वाला प्रकार हमेशा अलग होगा। |
4.7. क्षेत्र में विसंगतियाँ: सेटिंग विंडो
"ज़ोन-पेयर: असामान्य क्षेत्र" बटन सामान्य कटआउट से zone_NNN_anomaly कक्षाएं बनाता है। सभी क्षेत्र, सिवाय लाल (AI मॉडल के फ्रेम पर क्लिक करके बंद किए गए) क्षेत्रों को शामिल किया जाता है। असामान्यताओं की कक्षाएं हर जगह आवश्यक नहीं हैं: उन्हें केवल उन क्षेत्रों के लिए जोड़ें जहां वास्तव में दोष मौजूद है, जबकि अन्य क्षेत्रों को मॉडल पहचान के माध्यम से जांचा जाएगा।

| सेटिंग | यह क्या करता है |
|---|---|
| दोष पर प्रतिलिपि | एक ही संख्या सभी प्रकारों के लिए: प्रत्येक चिह्नित प्रकार के लिए कितने प्रतियां नई यादृच्छिक मापदंडों के साथ बनाई जाएं (डिफ़ॉल्ट रूप से 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 - सभी), डबल क्लिक - क्षेत्र संपादक।
- चुने हुए क्षेत्रों के लिए सोल्डरिंग नट्स… — "सोल्डरिंग नट्स: ट्रैक के बीच शॉर्ट सर्किट" नामक विंडो। यह प्रोग्राम स्वचालित रूप से क्षेत्र में ट्रैक (ओत्ज़ की सीमा, 2px या उससे अधिक चौड़ी हल्के पट्टियाँ) ढूंढता है, और आसन्न ट्रैकों के बीच एक अंतराल में सोल्डरिंग नट लगाता है, जो ट्रैकों के रंग, एक गहरे किनारे और चमक के साथ होता है। सेटिंग्स: ऊर्ध्वाधर या क्षैतिज ट्रैकों के बीच, 1 से 3 तस्वीरों पर सोल्डरिंग नट्स, क्षेत्र के 8 से 18% का आकार, क्षेत्र के लिए 5 तस्वीरें, जहाँ लगाना है - विसंगति में या सामान्य में, सतह पर प्रकाश, val - एक नई तस्वीर जिसमें अलग प्रकाश हो या सटीक प्रतिलिपि।
- क्षेत्र संपादक: ब्रश, पिपेट, रंग से दाग, क्षेत्र की प्रतिलिपि, सम्मिलित करें, स्टैम्प, प्लेट क्षेत्र; "सल्डर / क्षेत्र", "प्लेट", "छाया / मास्क", सफेद, काला; "प्रतिलिपि" फ़ील्ड और छवि बनाएँ बटन। इस प्रकार, एक दोष बनाया जाता है जो पहले रेखा पर मौजूद नहीं था: भरा हुआ क्षेत्र, अतिरिक्त तत्व, गायब लेबल।
एडिटर की फाइलें "edit_…" जैसे नामों से जानी जाती हैं और ये या तो "ज़ोन" श्रेणी में या फिर इसके किसी "असामान्य" पहलू में वर्गीकृत होती हैं। "इंस्पेक्ट" टैब में, वही विंडो खुलती है, लेकिन केवल देखने के लिए।
4.9. मॉडल का प्रशिक्षण
"AI मॉडल" टैब में "प्रशिक्षण सेटिंग्स" को स्वचालित रूप से पहली बार स्कैन के बाद क्षेत्रों के अनुसार भर दिया जाता है: इमेज साइज़ 128, मॉडल साइज़ s, एपोच 50, बैच 64। ये मान 108-137 पिक्सेल के क्षेत्रों के लिए हैं। 256 पिक्सेल के क्षेत्रों के लिए, जैसा कि उदाहरण में दिखाया गया है, इमेज साइज़ 192 या 256 सेट करें - इस स्थिति में कट लगभग सिकुड़ नहीं होगा (मुख्य विंडो में एपोच 100 और इमेज साइज़ 192 सेट हैं)। मूल्यों की जांच करें और "AI मॉडल को प्रशिक्षित करें" पर क्लिक करें।
| पैरामीटर | इसका क्या मतलब है | इसे कैसे चुनें |
|---|---|---|
| Epochs | मॉडल कितनी बार पूरी सेट देखेगा | डिफ़ॉल्ट रूप से 50; यदि असामान्य वर्गों की संख्या अधिक है, तो 100–150 |
| Batch Size | एक चरण में कितने चित्र | 64; यदि वीडियो मेमोरी कम है, तो कम करें |
| Image Size | कटआउट किस आकार में होते हैं, जो 32 से गुणा होता है | लगभग क्षेत्र का आकार: 128 के लिए 108–137 पिक्सेल का क्षेत्र; 256 पिक्सेल के लिए 192–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 | "GPU" चेकबॉक्स | डिफ़ॉल्ट रूप से चालू होता है; स्विच करने पर मॉडल को रीस्टार्ट किया जाता है |
| ग्रे विश्लेषण | "ग्रे विश्लेषण" चेकबॉक्स | यह स्वचालित रूप से उन मॉडलों के लिए चालू होता है जिन्हें ग्रे में प्रशिक्षित किया गया है; अनुमान लगाने से पहले कटआउट ग्रे में परिवर्तित किए जाते हैं |
5.5. पीले क्षेत्र: क्लिक करके क्षेत्र को बंद करें
लाइन पर, कुछ क्षेत्रों को अस्थायी रूप से नियंत्रण से बाहर करने की आवश्यकता हो सकती है: यह इसलिए हो सकता है क्योंकि कोई घटक इस बैच में स्थापित नहीं है, या कोई क्षेत्र किसी उपकरण से अवरुद्ध है, या सिस्टम का परीक्षण चल रहा है। इसके लिए, आपको ग्रिड या मॉडल को संपादित करने की आवश्यकता नहीं है; क्षेत्र सीधे वीडियो पर, केवल "निरीक्षण" टैब पर, निष्क्रिय किए जा सकते हैं।
"पीले क्षेत्र क्या करते हैं, यह सामान्य चेकबॉक्स पीले (क्लिक करके अक्षम) क्षेत्र चुप रहते हैं आउटपुट विंडो में "ऑडियो" टैब पर (डिफ़ॉल्ट रूप से सक्षम):"
| चेकबॉक्स | पीले क्षेत्रों का व्यवहार |
|---|---|
| चालू (डिफ़ॉल्ट रूप से) | क्षेत्र का विश्लेषण बिल्कुल नहीं होता: कटआउट नेटवर्क में नहीं भेजा जाता, "ऑफ" लेबल होता है, कोई आवाज या TCP-संदेश नहीं, और कैमरे का बंद होना। लाइव कन्वेयर में, पीले क्षेत्र का "सामान्य / विसंगति" पर कोई प्रभाव नहीं पड़ता। |
| बंद | पीला बॉर्डर केवल एक नोट के रूप में रहता है: क्षेत्र का विश्लेषण किया जा रहा है और यह सामान्य रूप से काम कर रहा है। यह सुविधाजनक है ताकि जांच के लिए क्षेत्रों को चिह्नित किया जा सके, बिना नियंत्रण को बंद किए। |
5.6. स्क्रीन और कंसोल पर क्या दिखाई देता है
- क्षेत्र के ऊपर परिणाम दर्ज किया गया है; क्षेत्र का ढांचा - रंग के अनुसार, जब कोई ट्रिगर सक्रिय होता है तो यह लाल रंग का होता है। जब 50 से अधिक क्षेत्र होते हैं, तो केवल हरे रंग का ढांचा दिखाई देता है, जबकि असामान्य और अनिश्चित क्षेत्र लाल रंग में दर्शाए जाते हैं। प्रत्येक फ्रेम में सैकड़ों क्षेत्रों के कारण, चित्र को पढ़ना और रेंडर करना मुश्किल हो गया था। पीले रंग के क्षेत्र को क्लिक करके बंद किया जा सकता है (अनुभाग 5.5)।
- नीचे दिए गए "ट्रिगर द्वारा विश्लेषण" पैनल में, टैब का निचला भाग प्रत्येक ट्रिगर इवेंट को एक पंक्ति में दिखाता है: `[घंटे:मिनट:सेकंड.मिलीसेकंड] कैमरा इनपुट + ट्रिगर 4 मिलीसेकंड | एआई 12 मिलीसेकंड #57` और प्रत्येक क्षेत्र के लिए परिणाम। ये पंक्तियाँ डेटाबेस में नहीं लिखी जाती हैं।
- वीडियो में किसी क्षेत्र पर राइट-क्लिक करने पर: "इस क्षेत्र में 'क्लास' → इसे '…' के रूप में मानें" इस क्षेत्र के लिए मॉडल की प्रतिक्रिया का नाम बदल देता है (यह मॉडल को नहीं बदलता, लेकिन रिजेक्टर और लॉग में एक नया नाम दिखाई देगा); साथ ही, "इस क्षेत्र के लिए रिजेक्टर बनाएं" और नियमों की गणना भी।
- जांच के चित्रों को सहेजें: निरीक्षण के चित्रों और फ़ाइलों को सहेजने का विकल्प। "फ़ोल्डर:" विकल्प में, उन फ़ाइलों को सहेजा जाएगा जिनमें चित्रित क्षेत्र शामिल हैं, और उनका फ़ाइल एक्सटेंशन "inspect_….jpg" होगा। प्रत्येक कैमरे के लिए यह सेटिंग अलग-अलग होती है।
- हर 10 मिनट में, "diag" नामक उप-फ़ोल्डर में, एक लाइव कन्वेयर बेल्ट की फ़्रेम और क्षेत्रों की एक टेक्स्ट सूची लिखी जाती है, और अंतिम 20 फ़ोटो संग्रहीत की जाती हैं - ताकि विवादित मामलों की जांच बिना फ़ोल्डर के आकार में वृद्धि के की जा सके।
6. ट्रिगर: कैमरे के इनपुट पर बाहरी सेंसर
मुख्य मोड: कन्वेयर के लिए, कैमरा सेंसर के एक निश्चित इनपुट से विद्युत सिग्नल के माध्यम से एक फ्रेम कैप्चर करता है। यह सबसे सटीक फ्रेम कैप्चरिंग का क्षण है: उत्पाद हमेशा एक ही फ्रेम में होता है, और विश्लेषण केवल एक बार उत्पाद पर किया जाता है। विंडो "ट्रिगर" सेंसर और कैमरे के बीच के कनेक्शन को एकत्र करता है और चयनित कनेक्टर के तहत कनेक्शन का एक आरेख बनाता है।


कनेक्टरों का विवरण
| पि | HIKROBOT MV-CS, 6 pin | SICK picoCam, 6 pin |
|---|---|---|
| 1 | DC_PWR — कैमरे के लिए 9-24 वॉट की बिजली आपूर्ति | जीएनडी - कैमरे का पावर स्रोत |
| 2 | OPTO_IN — लाइन 0 में प्रवेश (+), ट्रिगर सिग्नल | वीसीसी - कैमरे का 12-24 वॉट का पावर स्रोत |
| 3 | जीपीआईओ - लाइन 2, इनपुट या आउटपुट | ट्रिगर — — इनपुट ट्रिगर, ऑप्टोरे (-)। |
| 4 | OPTO_OUT - लाइन 1 का पॉजिटिव टर्मिनल (पॉजिटिव कनेक्शन)। | ट्रिगर + — ऑप्टोरेक्टर का इनपुट, (+) |
| 5 | OPTO_GND — एक सामान्य ऑप्टो-पार, जिसमें विपरीत तार शामिल हैं। | फ्लैश + - डिस्क्रीट आउटपुट (+) |
| 6 | जीएनडी - कैमरे का पावर स्रोत | फ्लैश - - डिस्क्रीट आउटपुट (-) |
7. आउटपुट: रिजेक्टर, कैमरे के डिस्क्रीट आउटपुट और टीसीपी
रिजेक्टर निरीक्षण के परिणाम को कार्रवाई में बदल देता है। यह नियम किसी विशिष्ट क्षेत्र (या मॉडल, वर्ग या चिह्नित क्षेत्रों में सभी क्षेत्रों पर) पर बनाया जाता है और तब सक्रिय होता है जब मॉडल उस क्षेत्र में निर्दिष्ट वर्ग को देखता है। क्रियाएं तीन हैं: कैमरे को या तो एक रोबोट या पीएलसी को एक TCP-पैकेट भेजना, कैमरे के डिजिटल आउटपुट को बदलना और ऑपरेटर को एक ध्वनि चेतावनी देना। प्रत्येक सक्रियण को लॉग में दर्ज किया जाता है।
7.1. आउटपुट: संपर्क और टेस्टर के साथ जांच
वीडियो पर स्थित "बाहर" बटन एक सूचनात्मक विंडो खोलता है, जो कुछ भी कॉन्फ़िगर नहीं करता है। यह दिखाता है कि किस संपर्क पर आउटपुट है, इसे बिना बिजली के टेस्टर से कैसे जांचा जाए, और लोड को कैसे कनेक्ट किया जाए।


- आउटपुट - "ड्राई कॉन्टैक्ट" वाला ऑप्टोपार: यह अपनी वोल्टेज नहीं देता, बल्कि केवल सर्किट को पूरा करता है। बाहरी पावर स्रोत की आवश्यकता होती है।
- टेस्टर का उपयोग करके जांच: आउटपुट बंद - खुले सर्किट (OL), चालू - सैकड़ों ओम। ज़ूमर दोनों मामलों में चुप रहता है, इसलिए संख्याएं देखें। यदि कुछ नहीं बदलता है - तो щуप्स को पलट दें, ऑप्टोपार ध्रुवीकृत है।
- भार: +24 В → लैंप → पिन «+», पिन «−» → GND। HIKROBOT के लिए 25 mA — सीमा: 27 mA पर सिग्नलिंग उपकरण, यदि इससे अधिक है, तो बिजली कम करें या एक इंटरमीडिएट रिले लगाएं। SICK के लिए, 20–30 mA पर लैंप सीधे कनेक्ट किया जा सकता है।
7.2. आउटपुट विंडो: क्षेत्र के लिए नियम
दाएं पैनल पर स्थित "OUTPUT" बटन (या क्षेत्र पर राइट-क्लिक करके → "इस क्षेत्र के लिए रिजेक्टर बनाएं") "OUTPUT - TCP-पैकेट और कैमरों की डिस्क्रीट आउटपुट" विंडो खोलता है। बाईं ओर, "कैमरे → AI मॉडल → कक्षाएँ → क्षेत्र" ट्री, जिसमें क्षेत्रों पर चेक शामिल हैं; दाईं ओर, "क्षेत्र के नियम", "ट्रिगर लॉग", और "डेटाबेस" टैब।

एक क्षेत्र कई TCP नियमों (विभिन्न रिसीवर) को धारण कर सकता है, लेकिन एक वर्ग के लिए केवल एक डिस्क्रीट आउटपुट नियम और एक वर्ग के लिए केवल एक ध्वनि अनुमति है। नियम डेटाबेस में संग्रहीत होते हैं और इन्फेरेंस स्ट्रीम से काम करते हैं: नियम मेमोरी में संग्रहीत होते हैं, एक क्षेत्र के पते पर एक खोज प्रत्येक फ्रेम में की जाती है, और सॉकेट और कैमरे के SDK को एक अलग फ़्लो-मैनेजर द्वारा संभाला जाता है ताकि विश्लेषण नेटवर्क पर निर्भर न रहे।
7.3. TCP पैकेट रोबोट या पीएलसी को
यह प्रोग्राम TCP-क्लाइंट के रूप में काम करता है: यह IP-एड्रेस और पोर्ट वाले रिसीवर से कनेक्ट होता है, कनेक्शन को खुला रखता है और उसका पुन: उपयोग करता है। जब कनेक्शन टूट जाता है, तो यह एक बार पुनः कनेक्ट करने और पुनः प्रयास करने का प्रयास करता है। स्ट्रिंग UTF-8 में CR+LF के साथ समाप्त होती है।
| फ़ील्ड | नियुक्ति |
|---|---|
| कनेक्शन का समय, मिलीसेकंड | डिफ़ॉल्ट रूप से 1000, 100…10000। |
| नियम भेजने का समय, मिलीसेकंड | स्वचालित नियमों को भेजने के बीच न्यूनतम अंतराल; 0 — कोई अंतराल नहीं। यहां तक कि क्लास बदलने का भी इंतजार होता है। |
| कमांड | शब्द जैसा है वैसा ही: "अप" - "अप" पैकेज। एक क्लास-एंगल की आवश्यकता है - एक प्रतिस्थापन जोड़ें: "J6 {class}" → "J6 235"। खाली - "डेटा" टेम्पलेट का उपयोग किया जाता है। |
| अपनी डेटा | यह एक वैकल्पिक पाठ है, जो `{data}` के स्थान पर डाला जाता है। |
| डेटा | नमूना पैकेज। खाली = "क्षेत्र संख्या और नाम" ({zoneId} {zone})। इस पर क्लिक करने से यह जोड़ा जाएगा, फिर से क्लिक करने से हटाया जाएगा; "सभी फ़ील्ड" एक संरचित टेम्पलेट बनाता है। |
| स्थापना | अर्थ | स्थापना | अर्थ |
|---|---|---|---|
| {zoneId} | क्षेत्र संख्या (1, 2, 3...) | {camera} | कैमरे का नाम |
| {zone} | क्षेत्र का नाम (आधार में संपादित किया जा सकता है) | {model} | एआई मॉडल का नाम |
| {class} | मॉडल ने जो वर्ग देखा | {time} | समय (घंटे:मिनट:सेकंड.मिलीसेकंड) |
| {conf} | आत्मविश्वास, % (बिंदु विभाजक के रूप में) | {date} | दिनांक (वर्ष-महीना-दिन) |
| {data} | "अपनी डेटा" से टेक्स्ट |
एक संरचित टेम्पलेट का उदाहरण: zoneId={zoneId};zone={zone};class={class};conf={conf};camera={camera};model={model};time={time};date={date};data={data}. संख्याएँ हमेशा एक निश्चित प्रारूप में होती हैं ताकि "87,6" जैसे मान PLC द्वारा संसाधित न किए जा सकें।
- कनेक्शन की जांच केवल सॉकेट को खोलता है और "कनेक्शन स्थापित" या "N मिलीसेकंड के बाद कोई प्रतिक्रिया नहीं" बताता है।
- टेस्ट भेजना वास्तव में एक स्ट्रिंग भेज रहा है; परिणाम बटन के बगल में दिखाई देता है, न कि विंडो में।
- पुष्टि करना। यदि "पुन: भेजें" विकल्प में टिक न हो, तो यह एक ही पैकेज भेजता है जब श्रेणी बदलती है, और जब तक रिसीवर "ok <पैकेज>" लिखकर जवाब नहीं देता, तब तक यह पैकेज को बार-बार भेजता रहता है। यदि टिक हो, तो यह एक निश्चित अंतराल पर पैकेज को भेजता रहता है, जब तक कि श्रेणी बनी रहती है।
- "अंतिम कमांड जीतती है": यदि मॉडल ने कुछ परिणाम दिए हैं, जबकि ऑपरेटर व्यस्त है, तो अंतिम परिणाम सफल होगा। कतार 512 कार्यों तक सीमित है।
7.4. कैमरे से अलग-अलग आउटपुट

| फ़ील्ड | नियुक्ति |
|---|---|
| आउटपुट | तरीका: ऑटो, SICK के लिए - फ्लैश पल्स (स्थिर स्तर) या GPIO; HIKROBOT के लिए - UserOutputValue या LineInverter (स्ट्रोब बंद)। MV-CS020/016-10GC नोड पर UserOutput का उपयोग नहीं किया जा सकता - प्रोग्राम स्वचालित रूप से LineInverter का चयन करेगा। |
| लाइन | SICK के लिए फ्लैश पल्स / GPIO1…6; HIKROBOT के लिए Line1 (आउटपुट), Line2 (दोतरफा) |
| स्तर | true / false / off। "off" का मतलब है कि नियम लागू है, लेकिन आउटपुट प्रभावित नहीं होता। |
| पल्स, ms (0 - चालू रखें) | 0 - स्तर तब तक चालू रहता है जब तक कि क्लास बदल न जाए; अन्यथा, 10…5000 ms की पल्स के साथ वापस आ जाता है। |
"बाहर की सुविधा चालू करें, बाहर की सुविधा बंद करें, इम्पल्स की जांच एक टेस्टर या लैंप का उपयोग करके की जाती है; कैमरा क्या कर सकता है सभी तरीकों का पता लगाता है और रिपोर्ट तैयार करता है। मैनुअल परीक्षण उसी जर्नल में लिखे जाते हैं।
7.5. ध्वनि चेतावनी: प्रत्येक क्षेत्र के लिए अलग ध्वनि
तीसरी प्रकार का नियम - कंप्यूटर पर प्रोग्राम के माध्यम से ध्वनि। ऑपरेटर को स्क्रीन देखने की आवश्यकता नहीं है: ध्वनि के संकेत के माध्यम से, वे सुनते हैं कि क्षेत्र दोष में चला गया है, और विभिन्न क्षेत्रों की अलग-अलग ध्वनियाँ बताती हैं कि यह कहाँ है। यह ध्वनि USB और RTSP जैसे सभी कैमरों के लिए उपलब्ध है, जिनमें अलग-अलग आउटपुट नहीं हैं।
| कार्यप्रणाली | यह कैसे काम करता है |
|---|---|
| "पुन: दोहराएँ" विकल्प के बिना | जब क्षेत्र का वर्गीकरण सफलतापूर्वक बदल दिया जाता है ( "वर्गीकरण परिवर्तन की पुष्टि" के बाद), तो ध्वनि एक बार बजती है। जब तक वर्गीकरण बना रहता है, तब तक कोई ध्वनि नहीं होती। |
| "वर्गीकरण बनाए रखने तक दोहराएँ" विकल्प के साथ | सिग्नल "पुनरावृत्ति अंतराल" के माध्यम से दोहराया जाता है, लेकिन जब तक क्षेत्र निर्दिष्ट वर्गीकरण में रहता है, तब तक यह अंतराल के बीच बार-बार नहीं बजता। |
| एक साथ कई दोषपूर्ण क्षेत्र | प्रत्येक क्षेत्र अपनी ध्वनि बजाता है; विभिन्न क्षेत्रों के सिग्नल एक-दूसरे को नहीं दबाते, केवल एक ही क्षेत्र की ध्वनि को दबाया जाता है। |
| लॉग | हर बार जब कोई ध्वनि उत्पन्न होती है, तो यह "सрабатываний का लॉग" में "ध्वनि..." के रूप में दर्ज की जाती है। यदि फ़ाइल नहीं मिलती है या ध्वनि उपकरण विफल हो जाता है, तो लॉग में एक त्रुटि संदेश दर्ज किया जाता है, और प्रोग्राम का संचालन जारी रहता है। |
| जाँच | इस नियम की जाँच करें तुरंत ध्वनि उत्पन्न करता है; क्षेत्र के सक्रिय होने का अनुकरण करें ध्वनि को TCP और आउटपुट के माध्यम से, युद्ध के क्रम के साथ उत्पन्न करता है। |
7.6. क्रियान्वयन लॉग और डेटाबेस
"सक्रियता लॉग" टैब में पिछले 300 रिकॉर्ड प्रदर्शित होते हैं, जिनमें निम्नलिखित जानकारी पंक्तियों में दिखाई जाती है: "घंटे:मिनट:सेकंड.मिलीसेकंड ✔/✖ कैमरा · मॉडल · श्रेणी · क्षेत्र → क्रिया [संदेश]।" यह जानकारी वास्तविक समय में अपडेट होती रहती है। यहां "अपडेट करें" और "लॉग साफ़ करें" जैसे बटन उपलब्ध हैं।

टैब (Tab) डेटाबेस।यह प्रोग्राम सभी डेटा को एक SQLite फ़ाइल में संग्रहीत करता है। rejectors.db "exe" फ़ाइल के बगल में कोई अलग सेवा नहीं है, पोर्ट काम नहीं कर रहा है, और कुछ भी स्थापित करने की आवश्यकता नहीं है। तालिकाएँ: "सेटिंग्स" (सेटिंग्स), "कैमरा" (कैमरा प्रोफाइल)। camera_models (कैमरों पर मौजूद मॉडल), क्षेत्र (क्षेत्रों के नाम और ज्यामिति), अस्वीकारकर्ता (नियम)। reject_log (पत्रिका) camera_param_files (कैमरों के मापदंडों की प्रतियां), camera_presets (कैमरों की सेटिंग्स के समूह)। डेटाबेस की एक प्रति सहेजें... यह उपकरण VACUUM INTO कमांड का उपयोग करके, सीधे चल रहे डेटाबेस का एक संपूर्ण स्नैपशॉट (नकल) बनाता है। डेटाबेस को कॉपी से लोड करें... यह प्रक्रिया पहले मौजूदा डेटा को सुरक्षित रखती है और फिर उसे पुनर्स्थापित करती है। आप DBeaver प्रोग्राम को बंद किए बिना, डेटाबेस को DBeaver में देख सकते हैं; हालांकि, डेटाबेस में बाहर से सीधे बदलाव करने की सलाह नहीं दी जाती है।
8. अन्य मोड और कार्य
सामान्य मॉडल: सामान्य / असामान्य और किसी भी श्रेणी।
उसी संपादक ROI का उपयोग सामान्य वर्गीकरण के लिए भी किया जा सकता है: गोलियां, ढक्कन, लेबल, और लॉट में मौजूद हिस्से। कक्षाएं "नया AI मॉडल" संवाद में निर्धारित की जाती हैं (डिफ़ॉल्ट रूप से normal और anomaly, नाम लैटिन अक्षरों में), क्षेत्र उत्पादों पर सेट किए जाते हैं, और "छवि बनाएं" बटन पर 1...50 के साथ, कैमरा (फ्रेम/स्लॉट) या एन्कोडर के माध्यम से, "छवियां बनाएं" श्रृंखला। "AI के लिए सिंथेटिक डेटा": सटीक 90°/180° के कोण, 360° का पूर्ण घूर्णन, चरण और सीमा के साथ, दर्पण, "डिग्री के अनुसार कक्षाएं" (प्रत्येक कोण को TCP के माध्यम से भेजा जाता है), चमक और कंट्रास्ट की सीमाएं। प्रशिक्षण - अल्ट्रालायटिस के पूर्ण ऑगमेंटेशन के साथ। इन मॉडलों के लिए आत्मविश्वास सीमा को "Inspect" टैब पर, ज़ोन-पेयर के समान ही स्थान पर निर्धारित किया जाता है।
बहु-मॉडल निरीक्षण (स्लॉट 1-20)
एक कैमरे में 20 मॉडल तक रखे जा सकते हैं: "ONNX को स्लॉट में जोड़ें", फिर "ROI → चयनित मॉडल में क्लास जोड़ें" - प्रत्येक मॉडल के लिए स्लॉट में अलग-अलग क्षेत्र चिह्नित किए जाते हैं, और सभी मॉडलों के परिणाम एक ही फ्रेम पर दिखाई देते हैं।
जब बहु-शैली दृष्टिकोण का उपयोग किया जाता है:
| परिस्थिति | इसे कैसे सेट करें |
|---|---|
| एक ही फ्रेम में विभिन्न कार्य | ज़ोन-पेयर, लेआउट और तत्वों की उपस्थिति की जांच करता है, जबकि सामान्य मॉडल दूसरे स्लॉट में, लेबल, स्टिकर, कनेक्टर का रंग या की का दिशा की जानकारी प्रदान करता है। दूसरे मॉडल के क्षेत्र को "ROI → चयनित मॉडल में क्लास जोड़ें" के माध्यम से अलग-अलग सेट किया जा सकता है। |
| गैर-स्थिर ग्रिड वाली वस्तु | गोलियाँ, ढक्कन, और घटक: सामान्य मॉडलों में, विभिन्न प्रकार की वस्तुओं को अलग-अलग वर्गों में व्यवस्थित किया जाता है ताकि वे एक-दूसरे के साथ मिश्रित न हों। |
| एक ही फ्रेम में दो अलग-अलग प्लेट | अलग-अलग स्लॉट में दो ज़ोन-पेयर मॉडल, जिनमें से प्रत्येक की अपनी संदर्भ छवि और ग्रिड होती है। मुख्य मॉडल की संदर्भ छवि के साथ एक लाइव कन्वेयर काम करता है। |
| स्थानांतरण अवधि | पुराना प्रशिक्षित मॉडल तब तक एक स्लॉट में रहता है जब तक कि नया ज़ोन-पेयर डेटा एकत्र नहीं कर लेता; दोनों एक ही फ्रेम में दिखाई देते हैं, और रिजेक्टर के नियम विश्वास के आधार पर स्थानांतरित किए जाते हैं। |
सीमा, विश्लेषण की गति, पीले क्षेत्र और रिजेक्टर के नियम सभी कैमरों के मॉडलों पर लागू होते हैं। "मॉडल हटाएं" बटन स्लॉट को साफ़ करता है और इसलिए पुष्टि मांगता है; "चुना हुआ हटाएं" एक मॉडल को स्लॉट से हटा देता है, लेकिन उसके फ़ाइलें और क्षेत्र डेटाबेस में बने रहते हैं।
सामान्य मॉडल
"सामान्य मॉडल" बटन "कैमरा → मॉडल" के सेट को निम्नलिखित नामों से सहेजता है: वर्तमान मॉडलों से बनाएं, सभी कैमरों पर लागू करें, वर्तमान से अपडेट करें, नाम बदलें, सेट हटाएं. आठ कैमरों से किसी अन्य उत्पाद में बदलाव करना एक ही विकल्प है। सेट को हटाने से केवल समूह हट जाता है: फ़ोल्डर, ONNX, क्षेत्र और नियम बरकरार रहते हैं। क्षेत्र "कैमरा + मॉडल" के जोड़े से संबंधित हैं: आठ कैमरों पर एक मॉडल - आठ स्वतंत्र लेबल।
कन्वेयर पर एन्कोडर और रिजेक्टर
COM-पोर्ट पर एन्कोडर वाले लाइनों के लिए (115200, ESP32): एन्कोडर कनेक्ट करें, ऑटो-कनेक्शन, स्थिति, शॉट की लंबाई और सुधार, शून्य सेट करें + शॉट लें। प्रशिक्षण और विश्लेषण के लिए "एन्कोडर के माध्यम से" शॉट लेना संभव है, जिससे उत्पाद के मार्ग पर फ्रेम समान रूप से होते हैं। पुराना रिजेक्टर समय के साथ, देरी और स्पैम विरोधी के रूप में, एन्कोडर कंट्रोलर पर REJECT कमांड भेजता है।
वीडियो और छवियों का रिकॉर्ड
सेटिंग्स टैब: सक्रिय कैमरे से वीडियो रिकॉर्डिंग शुरू करें और इसे `record_तारीख_समय.avi` (MJPG, कैमरे की वास्तविक फ्रेम प्रति सेकंड दर) फ़ाइल में सहेजें। प्रशिक्षण के लिए तस्वीरें `real_….jpg` प्रारूप में होंगी, और निरीक्षण के लिए तस्वीरें `inspect_….jpg` प्रारूप में होंगी, जिनमें चिह्नित क्षेत्र होंगे।
9. सेटिंग्स, कंसोल, आवश्यकताएं और लाइसेंस
Settings
- फ़ाइल में सहेजें / फ़ाइल से लोड करें - सभी सेटिंग्स (कैमरा, मॉडल, नियम) JSON प्रारूप में, जो कि रीइंस्टॉलेशन या दूसरे कंप्यूटर पर स्थानांतरित करने से पहले उपयोगी है। मूल स्रोत - डेटाबेस, JSON - डेटाबेस अनुपलब्ध होने की स्थिति में एक सुरक्षा उपाय। प्रत्येक सेटिंग्स में किए गए बदलाव स्वचालित रूप से सहेजे जाते हैं।
- शुरुआती सेटिंग्स को रीसेट करना - यह अपरिवर्तनीय है: यह कॉन्फ़िगरेशन और विंडो लेआउट को हटा देता है।
- इंटरफेस की भाषा - 14 भाषाएं; मुख्य विंडो तुरंत स्विच हो जाती है, जबकि अन्य विंडो अगली बार खुलने पर दिखाई देती हैं।
- सभी विंडो की स्थिति, आकार और मॉनिटर, विभाजकों की स्थिति - डेटाबेस में संग्रहीत हैं; जब मॉनिटर बंद होता है, तो विंडो दृश्य क्षेत्र में वापस आ जाती है।
Console
"कैमरा" और "ट्रिगर" पर चिह्नित विकल्प डिफ़ॉल्ट रूप से अक्षम हैं और संबंधित संदेशों को प्रदर्शित करते हैं (कैमरे के संदेश "ट्रिगर" मोड में जाते हैं); सभी डेटा, फिल्टर तक, फ़ाइलों logs\engiai-*.log में लिखा जाता है। कंसोल को बिना किसी रुकावट के हफ्तों तक चलने के लिए डिज़ाइन किया गया है: स्क्रीन पर 800 पंक्तियाँ प्रदर्शित होती हैं, और 1000 पुरानी पंक्तियों को हटा दिया जाता है; नई पंक्तियाँ प्रति सेकंड 4 बार एकत्र की जाती हैं, न कि एक-एक करके; नीचे की ओर स्क्रॉलिंग चालू है जब तक कि आप स्वयं ऊपर की ओर स्क्रॉल न कर लें; कंसोल में कोई ध्वनि नहीं है। क्षेत्र के वर्गीकरण को प्रति सेकंड 10 पंक्तियों से अधिक नहीं लिखा जाता है (शेष को एक काउंटर में रखा जाता है), लॉग फ़ाइल 20 एमबी तक की होती है, 14 दिनों से पुरानी फ़ाइलें शुरू होने पर हटा दी जाती हैं, लॉग में पिछले 20,000 रिकॉर्ड संग्रहीत होते हैं। बिना संसाधित त्रुटियाँ crash.log में, जबरन बंद करने के कारण runtime.log के पास स्थित हैं। यदि कुछ ठीक से काम नहीं कर रहा है, तो सबसे पहले यहां देखें।
आवश्यकताएं
| घटक | आवश्यकता |
|---|---|
| ऑपरेटिंग सिस्टम | Windows 10/11 x64. |
| निरीक्षण के लिए वीडियो कार्ड | NVIDIA (CUDA ड्राइवर के साथ); CUDA 13 और cuDNN 9 लाइब्रेरी प्रोग्राम के साथ शामिल हैं। बिना वीडियो कार्ड के, निरीक्षण स्वचालित रूप से प्रोसेसर पर होता है। |
| प्रशिक्षण | पायथन 3 (इंस्टॉलेशन के दौरान "python.exe" को PATH में जोड़ने के विकल्प को चेक करते हुए) और अल्ट्रालायटिक्स, ऑनएक्स, ऑनएक्सस्लिम, ऑनएक्सटाइम - ये पैकेज, पहली बार प्रशिक्षण के दौरान स्वचालित रूप से स्थापित हो जाते हैं। इंटरनेट की आवश्यकता होती है। प्रशिक्षण के लिए GPU का उपयोग PyTorch द्वारा निर्धारित किया जाता है। CUDA के बिना, CPU पर प्रशिक्षण धीमा होता है, लेकिन परिणाम वही होता है। |
| SICK कैमरे | IDS uEye ड्राइवर; कैमरे को IDS Camera Manager में दिखाई देना चाहिए। |
| HIKROBOT कैमरे | MVS SDK (लाइब्रेरी प्रोग्राम के साथ शामिल है); GigE के लिए - जम्बो-फ्रेम का समर्थन करने वाला नेटवर्क कार्ड। |
लाइसेंस और परीक्षण मोड
जब प्रोग्राम शुरू होता है, तो यह engi.live नामक लाइसेंस सर्वर से संपर्क करता है; केवल हार्डवेयर और संस्करण की पहचान के हैश भेजे जाते हैं, बिना किसी सीरियल नंबर या उपयोगकर्ता के नाम के। यदि सर्वर उपलब्ध नहीं है और अनुमति कैश में है, तो प्रोग्राम कैश का उपयोग करके काम करता है (इंटरनेट के बिना लाइनों के लिए)। बिना लाइसेंस के, 20 मिनट की परीक्षण अवधि सक्रिय होती है: विंडो के शीर्षक और "परीक्षण एमएम:СС" पंक्ति में एक काउंटर चलता है, और "सेटिंग्स" टैब पर "खरीदें" बटन खरीदारी पृष्ठ खोलता है। जब लाइसेंस सक्रिय होता है, तो काउंटर सक्रिय नहीं होता।
10. संक्षिप्त चेकलिस्ट और समस्या निवारण
शून्य से शुरुआत के लिए चेकलिस्ट
यदि कुछ गलत हो गया
| लक्षण | जाँच करने के लिए |
|---|---|
| कैमरा सूची में दिखाई नहीं दे रहा | बिजली और केबल; SICK के लिए - IDS कैमरा मैनेजर और IP, जो नेटवर्क के अंतर्गत है; HIKROBOT के लिए - आपातकालीन बंद होने के बाद 25 सेकंड तक प्रतीक्षा करें और "पुनः कनेक्ट" करें। |
| छवि अंधेरी, ग्रे या गलत रंगों में | कैमरा → "AI के लिए ऑटो-सेटिंग"; रंगीन SICK के लिए - बायर का लेआउट और व्हाइट बैलेंस; USB के लिए - "मानक", फिर "पैरामीटर को लॉक करें"। |
| फ्रेम कट हो रहे हैं, नेटवर्क लाल है | GigE: पैकेट का आकार 1500 या जम्बो, नेटवर्क कार्ड पर, पैकेटों के बीच विलंबता; कम FPS या कम फ्रेम; कैमरे के लिए अलग नेटवर्क कार्ड |
| "प्लेट नहीं मिला" / छवि छूट गई | संदर्भ छवि को कैप्चर नहीं किया गया या किसी अन्य प्रकाश में; कम सपोर्ट बिंदु - संरेखण क्षेत्र को बड़ा करें और विवरण के साथ; क्षेत्र में एक टेबल या कन्वेयर आ गया; खोज अवधि बढ़ाएं |
| क्षेत्र दूसरे प्लेट पर चले जा रहे हैं | प्लेट को निरीक्षण क्षेत्रों के अनुसार खोजा जा रहा है: प्लेट के चारों ओर (अनुभाग 4.4) संरेखण क्षेत्र के साथ संदर्भ छवि को फिर से कैप्चर करें; "ऑटो" मिलान मॉडल |
| अन्य बैच के सही प्लेटों की कमी | बॉडी पर अलग-अलग लेबल: इस बैच की सामान्य छवियों को जोड़ें; 3px से अधिक पतले सिंथेटिक खरोंच न करें (अनुभाग 4.6); जांचें कि दोष - विस्थापन है, रंग नहीं |
| NO_ZONE_CLASS चिह्नित क्षेत्र | सीखने के बाद ग्रिड बदल गया; ग्रिड को वापस लाएं या एक नया मॉडल बनाएं और फिर से कैप्चर करें |
| सभी क्षेत्र सही प्लेट पर लाल हैं | अन्य भुगतान या अन्य स्थिति, जिसमें कोई लाइव कन्वेयर सिस्टम न हो; सीमा बहुत अधिक है; तस्वीरें किसी अन्य प्रकाश में ली गई हैं; रंगीन और ग्रे फ़ाइलों को मिलाया गया है |
| मॉडल तत्व में बदलाव को नहीं पहचानता | px/mm को फिर से गणना करें (अनुभाग 1.3): छोटे पैमाने पर, बदलाव 5px से कम होना चाहिए; दृश्य क्षेत्र को कम करें या उच्च रिज़ॉल्यूशन वाला कैमरा लें; सामान्य रूप से बदलाव को न बढ़ाएं |
| प्रशिक्षण धीमा हो जाता है या बहुत धीमा | डिवाइस = CPU, यदि NVIDIA ग्राफिक्स कार्ड नहीं है; बैच आकार को कम करें; कंसोल देखें; जांचें कि Python PATH में है |
| निरीक्षण विफल हो जाता है | क्या best.onnx चुना गया है; क्या टेम्पो स्रोत चालू है (कैमरे / टाइमर / ट्रिगर के माध्यम से); क्या "AI का उपयोग न करें" बटन दबाया गया है; क्या कैमरे पर "AI चालू" चेकबॉक्स चिह्नित है |
| "N क्षेत्रों में बनाएं" नियम चुप रहता है | "सक्रिय" चेक बॉक्स दबाया गया है; नियम का वर्ग मॉडल के उत्तर से मेल खाता है (सामान्य / असामान्य); बाहर निकलने के लिए, स्तर "बंद" नहीं होना चाहिए; USB कैमरों में कोई आउटपुट नहीं है, केवल TCP |
| ध्वनि नहीं बजती | यह नियम बनाया गया है और इसे शामिल किया गया है। फ़ाइल "साउंड्स" फ़ोल्डर में मौजूद है (या "साउंड्स\कस्टम")। क्या ध्वनि के बीच कोई रुकावट है? यदि "पुन: चलाएं" विकल्प का उपयोग नहीं किया जाता है, तो ध्वनि केवल कक्षा बदलने पर ही बजती है। विंडोज की ध्वनि और आउटपुट डिवाइस की सेटिंग। |
| TCP पैकेट एक बार भेजा जाता है। | "दोहराएँ" नियम के अनुसार, रिसीवर को "ओके <पैकेज>" प्रतिक्रिया की प्रतीक्षा करनी होगी। या, "क्लास चालू रहने तक दोहराएँ" विकल्प को चालू करें या PLC के पक्ष पर प्रतिक्रिया को कॉन्फ़िगर करें। |
engiAI Ethernet System। बटन और फ़ील्ड के नाम आपके भाषा में जिस तरह से प्रदर्शित होते हैं, उसी तरह दिए गए हैं (स्क्रीनशॉट - रूसी इंटरफ़ेस से)। स्क्रीनशॉट मॉडल "model_4" पर लिए गए हैं (दो 256x256 क्षेत्र: C30 कैपेसिटर और BR1 ब्रिज), USB कैमरा 3264x2448, मॉडल ग्रे शेड्स में प्रशिक्षित किया गया है। संपादन 3, सितंबर 2026: दो क्षेत्रों का उदाहरण, मॉडल के फ़ोल्डरों का निर्माण, संरेखण क्षेत्र, सिंथेटिक डेटा "आधार वाली वस्तु" के साथ "पहले / बाद" चित्रों, रंग पैलेट और रेखा की मोटाई, लाल क्षेत्र, कंसोल।
