engiAI
- Persyaratan
- Apa yang dilakukan
- Perizinan
Antarmuka engiAI tersedia dalam bahasa Indonesia: nama tombol dan kolom dalam panduan ini ditulis sesuai tampilannya di program.
Isi
- 1. Mengapa metode engiAI dan ZONA-PASANGAN?
- 1.1. Apa keuntungan metode ini dibandingkan dengan klasifikasi seluruh bingkai?
- 1.2. Kecepatan: AI hanya memproses informasi yang relevan.
- 1.3. Tingkat akurasi yang diharapkan: Menghitung berdasarkan kamera yang digunakan
- 1.4. Memulai dengan Cepat: Pengaturan telah disiapkan, area dan model dapat dipilih hanya dengan beberapa klik.
- 2. Antarmuka program dapat dipelajari dalam waktu satu menit.
- 3. Kamera: Pemasangan dan Pengaturan
- 3.1. Kamera apa saja yang didukung
- 3.2. Jendela KAMERA: menambahkan, mengubah, menghapus
- 3.3. Tab "Camera" untuk HIKROBOT dan SICK
- 3.4. Tab "Kamera" untuk USB/kamera web
- 3.5. Pengaturan kamera yang tersimpan (paket)
- 3.6. Jaringan GigE dan koneksi ulang
- 4. Model ZONA-PASANGAN: dari kisi-kisi hingga model yang telah dilatih
- 4.1. Bagaimana cara kerjanya: satu model, satu kelas untuk setiap zona
- 4.2. Membuat model
- 4.3. Menandai area pembayaran
- 4.4. Catat referensi: area penyelarasan
- 4.5. Citra berdasarkan zona: normal dan data sintetisnya
- 4.6. Data sintetis untuk kerusakan akibat dua kali penekanan: elemen bergerak bersama dengan dasar
- 4.7. Anomali Zona: Opsi Pengaturan
- 4.8. Referensi dengan zona: pelat solder dan editor zona
- 4.9. Pelatihan Model
- 5. Pemeriksaan
- 5.1. Menentukan model dan memeriksa area
- 5.2. Batas Pengenalan Zona
- 5.3. Konveyor yang fleksibel: dapat digunakan dalam berbagai posisi
- 5.4. Berdasarkan sinyal apa yang akan dianalisis
- 5.5. Zona Kuning: Menonaktifkan zona dengan mengklik
- 5.6. Apa yang dapat dilihat di layar dan di konsol
- 6. Pemicu: sensor eksternal pada bagian masuk kamera
- 7. Pilihan keluaran: rejector, keluaran digital kamera, dan TCP
- 7.1. Panduan: Keluaran: Kontak dan Pengujian dengan Alat Uji
- 7.2. Jendela OUTPUT: aturan untuk zona
- 7.3. Mengirim paket TCP ke robot atau PLC
- 7.4. Keluaran kamera yang terpisah
- 7.5. Pemberitahuan suara: suara khusus untuk setiap zona
- 7.6. Log aktivitas dan basis data
- 8. Mode dan tugas lainnya
- 9. Pengaturan, konsol, persyaratan, dan lisensi
- 10. Daftar periksa singkat dan identifikasi masalah
Cara menggunakan panduan ini. Bagian 1 menjelaskan tujuan metode dan hasil yang diharapkan. Bagian 3–5 adalah langkah-langkah dari program kosong hingga inspeksi yang berfungsi, lakukan secara berurutan. Bagian 6–7 adalah tentang menghubungkan sensor, output, dan TCP. Bagian 8–10 adalah tentang fitur, pengaturan, dan daftar periksa lainnya.
1. Mengapa metode engiAI dan ZONA-PASANGAN?
engiAI Ethernet System — adalah program inspeksi visual untuk jalur produksi. Program ini mengambil gambar dari kamera industri atau kamera biasa, membaginya menjadi zona-zona, memeriksa setiap zona menggunakan jaringan saraf yang telah dilatih, dan mengubah hasilnya menjadi tindakan: sinyal ke output kamera, pengiriman TCP ke robot atau PLC, atau pencatatan dalam log. Metode ZONA-PASANGAN dirancang untuk produk di mana setiap bagian memiliki fungsi yang "benar": papan sirkuit, perakitan, kumpulan komponen dalam wadah, dan pengemasan dengan tata letak yang teratur.
1.1. Apa yang diberikan oleh metode dibandingkan dengan klasifikasi seluruh gambar
Pendekatan yang umum adalah satu model dengan dua kelas, yaitu "normal / anomali", yang diterapkan pada seluruh gambar atau seluruh area secara bersamaan. Namun, pendekatan ini tidak berfungsi pada perangkat keras: area kosong di bawah jembatan BR1 di area 2 menunjukkan "cacat", sedangkan area kosong yang sama di sudut lain pada perangkat keras menunjukkan "normal". Satu set kelas tidak dapat mewakili kedua kondisi tersebut. Alternatif lainnya adalah model terpisah untuk setiap bagian, yang akan membutuhkan puluhan pelatihan dan puluhan file dalam memori.
ZONA-PASANGAN menyelesaikan masalah ini dengan cara: ada satu model, tetapi ada banyak kelas sesuai dengan jumlah zona. Zona adalah persegi panjang di sekitar satu komponen. Kelas adalah folder yang berisi gambar, di mana jaringan belajar. Setiap zona memiliki pasangan: zone_001 (zona normal 1, contoh: kapasitor C30) dan zone_001_anomaly (zona cacat 1); zone_002 dan zone_002_anomaly adalah jembatan BR1. Saat memeriksa zona 1, program hanya melihat pada pasangannya, jawaban untuk zona 2 tidak relevan. Kelas anomali bersifat opsional: cacat mengubah tampilan zona, dan kepercayaan pada zona "normal" berkurang secara otomatis; tetapi dengan data sintetis (bagian 4.6), mereka dapat dibuat dengan satu klik dan secara signifikan meningkatkan keandalan.

1.2. Kecepatan: AI hanya melihat potongan yang diperlukan
Jaringan saraf tidak pernah menerima seluruh gambar. Hanya bagian persegi panjang dari setiap area yang dipotong, dan nomor area dipilih dari dua kelas. Area dalam satu gambar dianggap secara paralel (hingga empat aliran), hasil dari semua area dikirim ke layar dalam satu paket, bukan untuk setiap area secara terpisah.
- Kecepatan analisis ditentukan berdasarkan waktu. Pengaturan "Analisis per detik (AI)" di tab Camera berarti tepat N analisis per detik, bukan "setiap N-an frame". Batas atas adalah frekuensi kamera dan waktu inferensi.
- GPU secara default. Proses inferensi dilakukan melalui ONNX Runtime dengan CUDA; jika tidak ada kartu grafis NVIDIA, program akan secara otomatis beralih ke prosesor dan mencatatnya dalam status (GPU (CUDA) atau CPU).
- Penyimpanan tanpa sampah. Ruang penyimpanan untuk potongan-potongan tertentu dialokasikan sekali per aliran dan digunakan kembali; waktu analisis tidak berubah secara tiba-tiba dari satu frame ke frame lainnya.
- Model untuk tugas tertentu. Untuk ZONA-PASANGAN, program secara otomatis menentukan ukuran input sebesar 128 px dan jaringan YOLO11 dengan ukuran "s": pemotongan area hampir tidak mengalami perubahan skala, dan jaringan memiliki kapasitas yang cukup untuk ratusan pasangan kelas.
- Konveyor otomatis menghemat tenaga kerja. Tenaga kerja dialokasikan untuk tugas-tugas yang dilakukan oleh AI, bukan untuk pencarian komponen; komponen dicari dan disusun sekali, dan kemudian area-area tersebut dipotong.
- Proses rendering tidak mengganggu analisis. Tile dirender tidak lebih dari 25 kali per detik, dan hanya berdasarkan frame baru dari kamera. Ukuran gambar dikurangi hingga ukuran tile sebelum ditampilkan di layar, sementara log ditulis oleh thread latar belakang. Antarmuka tetap responsif bahkan pada frame 8 megapixel dan ratusan area.
Pada bilah status di atas video, terdapat angka-angka sebenarnya: fps dan milidetik terakhir dari analisis, serta Eff – jumlah analisis yang benar-benar telah dilakukan dalam satu detik.
1.3. Seberapa akurat yang bisa diharapkan: kita menghitung menggunakan kamera kita sendiri
Program ini tidak menjamin pengukuran "0,5 mm" secara independen dari kamera dan lensa. Tingkat sensitivitas terhadap pergeseran ditentukan oleh jumlah piksel yang sesuai dengan satu milimeter pada produk, serta batas yang telah dipelajari oleh model tersebut. Ini dihitung dalam dua baris:
Pergeseran terkecil yang dapat dideteksi ≈ 5 piksel dibagi dengan (piksel/milimeter)
Angka 5 px adalah batas bawah pergeseran sintetis dalam pengaturan anomali yang direkomendasikan (dengan rentang normal 0–2 px). Pengaturan default dihitung untuk 11 px/mm: pada skala ini, 0,5 mm sama dengan 5–6 px, yang merupakan tujuan yang disepakati selama pengembangan. Silakan masukkan nilai Anda:
| Kamera (ukuran bingkai) | Diameter bidang pandang 100 mm | 200 mm | 300 mm | 400 mm |
|---|---|---|---|---|
| 3264 piksel (USB 8MP, seperti pada gambar) | 0,03 мм/px → perpindahan ≈ 0,15 mm | 0,06 → ≈ 0,3 mm | 0,09 → ≈ 0,45 mm | 0,12 → ≈ 0,6 mm |
| 2448 piksel (Kamera HIKROBOT 5MP) | 0,04 → ≈ 0,2 mm | 0,08 → ≈ 0,4 mm | 0,12 → ≈ 0,6 mm | 0,16 → ≈ 0,8 mm |
| 1920 piksel (picoCam SICK, HIKROBOT 2 MP) | 0,05 → ≈ 0,25 mm | 0,10 → ≈ 0,5 mm | 0,16 → ≈ 0,8 mm | 0,21 → ≈ 1,0 mm |
1.4. Memulai dengan Cepat: Pengaturan telah disiapkan, area dan model dapat dipilih hanya dengan beberapa klik.
Metode ini dirancang agar seorang teknolog yang tidak memiliki pengalaman dalam pembelajaran mesin dapat memperoleh model yang berfungsi dalam satu shift kerja. Semua yang dapat dipersiapkan sebelumnya sudah tersedia dan disimpan dalam basis program:
- Area per menit. Di editor ROI, tarik bingkai di sekitar elemen dan tentukan ukuran area (misalnya, 256 px). Jika ada banyak elemen yang berbaris rapi, tarik bingkai di seluruh area—program akan menghitung baris dan kolom secara otomatis.
- Data sintetis normal dan cacat telah diatur sebelumnya. Tombol "Kembali ke Pengaturan Standar", "Pergeseran Elemen", dan "Warna dan Warna" memungkinkan pemilihan profil yang sudah jadi. Jumlah file, frame dari kamera, dan waktu yang diharapkan ditampilkan sebelum tombol "Ambil" ditekan.
- Parameter pelatihan ditentukan secara otomatis. Setelah pengambilan gambar awal berdasarkan zona, program menetapkan Ukuran Gambar 128, Ukuran Model s, Epoch 50, Batch 64, dan menonaktifkan augmentasi selama pelatihan, yang bertentangan dengan kelas-kelas anomali.
- Kamera disesuaikan menggunakan tombol. "Penyesuaian otomatis untuk AI (berdasarkan frame)" akan mengatur kecepatan rana, penguatan, gamut warna, dan keseimbangan putih. Untuk kamera USB, terdapat opsi "Penyesuaian otomatis sesuai format" dan "Tetapkan parameter".
- Kumpulan pengaturan kamera. Pengaturan yang dipilih disimpan dengan nama tertentu dan dapat dipilih dari daftar. Kamera langsung menerima dan menyimpan pengaturan tersebut dalam memori internalnya.
- Satu file ONNX sebagai hasil. Model yang telah dilatih diekspor secara otomatis dan langsung ditugaskan untuk diperiksa, tanpa langkah tambahan.
Seluruh proses: menghubungkan kamera → membuat model → menandai area → menentukan area penyelarasan → "Foto berdasarkan area" pada beberapa papan yang berfungsi → "Anomali area" → MELUAR MODEL AI → Tab Inspect. Selanjutnya, perlu menambahkan suara, output, dan TCP ke area tersebut. Apa yang dibutuhkan untuk memulai: komputer dengan Windows 10/11 (untuk inspeksi cepat - kartu grafis NVIDIA), kamera, satu papan yang berfungsi, dan satu kali koneksi internet untuk menginstal lingkungan pelatihan. Papan yang rusak tidak diperlukan.
2. Antarmuka program dapat dipelajari dalam waktu satu menit.
Jendela utama dibagi menjadi dua bagian. Di sebelah kiri terdapat video langsung dari kamera dan bilah status di atasnya. Di sebelah kanan terdapat panel dengan tab, yang berisi semua kontrol. Batas antara kedua bagian dapat digeser; ukuran, posisi semua jendela, dan tata letak program disimpan dalam basis datanya.

Tombol di atas video
| Tombol | Apa yang dibuka |
|---|---|
| Sembunyikan video | Menghapus gambar dari layar. Analisis hanya dilakukan, hanya proses menggambar yang dihemat. |
| KELUARAN | Jendela referensi: kontak untuk saluran keluar kamera HIKROBOT dan SICK, pengujian dengan alat penguji, menghubungkan beban (bagian 7.1). |
| KAMERA | Jendela "Pengaturan kamera yang terhubung": menambahkan, menghubungkan kembali, menghapus kamera, dan melihat semua parameter yang dibaca dari perangkat keras (bagian 3.2). |
| TRIGGER | Menghubungkan sensor eksternal ke saluran keluar kamera dengan diagram dan penomoran pin (bagian 6). |
| MODEL UMUM | Kumpulan "kamera → model" yang ditetapkan untuk seluruh stasiun dengan satu pilihan (bagian 8). |
| Tata Letak (kolom) | Berapa banyak ubin kamera yang ditampilkan dalam satu baris; "■" — mode tunggal (kamera utama), "Auto" — berdasarkan jumlah kamera, "⛶" — kamera untuk seluruh monitor (tombol Esc). |
| Menampilkan Zona ROI | Menggambar kisi zona di atas video. |
Tab di sisi kanan
| Tab | Penetapan |
|---|---|
| Camera | Parameter kamera yang dipilih: kecepatan rana, penguatan, warna, resolusi, pengaturan otomatis untuk AI, kumpulan pengaturan yang disimpan, kecepatan analisis. Batas AI tidak ada di sini — hanya di tab "Inspect". |
| OUTPUT | rejector: aturan pada zona — pengiriman TCP ke robot/PLC, output kamera diskrit dan peringatan suara, log aktivasi, database. |
| AI Model | Membuat model: folder, kelas, kisi zona, tangkapan zona, anomali zona, referensi PCB, pengaturan dan memulai pelatihan. |
| Inspect | Tab kerja: model mana yang melakukan inspeksi, area yang diperiksa, dan ambang batas, pita konveyor, sinyal apa yang digunakan untuk mengambil gambar, slot untuk inspeksi multi-model. |
| Settings | Bahasa antarmuka (14 bahasa), pembelian lisensi, penyimpanan dan unggah pengaturan, perekaman video. |
| Console | Log kejadian: pemasangan kamera, jalannya pelatihan, aktivasi rejector, peringatan. Layar menampilkan 800-1000 baris terakhir, seluruhnya dicatat dalam file logs\engiai-*.log. |
Baris status
Di atas tombol, ditampilkan status kamera yang aktif: LIVE (Android): 3264×2448 [Kamera USB HD] — jenis, resolusi, dan nama; AI: MENUNGGU atau AI: GPU (CUDA) — perangkat yang digunakan model dan berapa milidetik yang dibutuhkan untuk analisis terakhir; Jaringan: total … aktif … Mbps — beban jaringan dari kamera GigE (hijau hingga 40% bandwidth, oranye hingga 70%, dan seterusnya berwarna merah). Garis Muatan Eksp menunjukkan berapa bagian dari interval frame yang digunakan oleh waktu eksposur: jika waktu eksposur mencapai batas kanan, kamera tidak dapat mempertahankan frekuensi yang ditentukan.
Setiap kamera memiliki topi dengan nama, status "LIVE | AI:ON", dan tombol untuk menghubungkan kembali. Klik kanan pada bingkai membuka menu area, klik kanan dengan menyeret — tampilan panorama pada bingkai yang diperbesar.
3. Kamera: koneksi dan pengaturan
3.1. Kamera apa yang didukung
| Jenis | Cara menghubungkannya | Apa yang dapat dikonfigurasi dari program |
|---|---|---|
| HIKROBOT MV-CS (GigE, USB3) | MVS SDK asli. Hanya dapat dibuka dengan nomor seri, urutan daftar tidak penting. | Resolusi 6 μm, peningkatan dalam dB, FPS (frame per second), resolusi (AOI), tingkat hitam 0…4095, semua fungsi GenICam (mode otomatis, gamma, ketajaman, keseimbangan putih R/G/B, pergeseran digital, pembalikan, paket GigE). Parameter ditulis dalam UserSet1 pada kamera itu sendiri. Input Line 0, output Line 1, GPIO Line 2. |
| SICK picoCam (IDS uEye, GigE) | Driver uEye. Kamera harus terlihat di IDS Camera Manager dengan status "dikonfigurasi dengan benar". Nomor seri dibandingkan dengan kamera karena DeviceID pada uEye berubah setiap kali dijalankan. | Penguatan, rentang 0…100, FPS, resolusi, tingkat hitam 0…255, frekuensi piksel, penguatan, penguatan perangkat untuk saluran R/G/B, rentang perangkat, tata letak Bayer. Parameter ditulis ke memori kamera. Input trigger pada optocoupler, output Flash (150 mA). |
| Kamera USB / web-kamera (terdaftar di Android) | DirectShow melalui OpenCV, berbeda karena moniker, sehingga dua kamera yang sama tidak membingungkan. | Dukungan hingga 8K, FPS, semua properti driver: kecerahan, kontras, saturasi, nada, ketajaman, gamut, peningkatan, kecepatan (otomatis), fokus (otomatis), keseimbangan putih (otomatis), kompensasi silau, dll. Tidak ada input dan output terpisah, hanya tersedia TCP. |
| Kamera IP RTSP | Tautan dengan format rtsp://admin:kata_sandi@192.168.1.64:554/… harus ditambahkan secara manual. | Kecepatan, peningkatan, resolusi, dan FPS dapat diatur di antarmuka web kamera itu sendiri. Di dalam program, terdapat zona, model, dan TCP. |
Tidak ada batasan jumlah kamera: kamera disusun dalam kisi dengan jumlah berapa pun; pada perangkat keras nyata, delapan dan sembilan kamera bekerja secara bersamaan. Setiap kamera memiliki model, zona, ambang batas, dan kecepatan analisisnya sendiri.
3.2. Jendela KAMERA: menambahkan, menghubungkan kembali, menghapus
Tanda centang pada daftar berlaku untuk kamera yang dipilih: Kamera aktif (jika tidak, kamera akan dimatikan dari perangkat dan menghilang dari layar), Menampilkan video/zona (hanya menampilkan, analisis selalu berjalan), AI aktif untuk kamera yang dipilih. Tombol Hubungkan Kembali melakukan pemutusan dan koneksi penuh dengan memulai ulang aliran AI dan memuat ulang model.
Bagian kanan jendela menampilkan semua parameter kamera yang dibaca dari perangkat keras saat terhubung, beserta kelompok dan satuan pengukuran: "Parameter mana yang ingin ditampilkan", Membaca ulang dari kamera, Menyalin ke clipboard. Ini hanya untuk melihat: untuk mengubah parameter, Anda dapat melakukannya di tab "Kamera".
3.3. Tab Kamera untuk HIKROBOT dan SICK
Fitur ini bekerja dengan kamera yang memiliki bingkai berwarna biru. Program tidak mencatat apa pun ke dalam kamera saat terhubung: kamera adalah sumber kebenaran, sedangkan slider menyesuaikan nilai-nilainya. Pengaturan hanya dapat disimpan secara sadar menggunakan tombol "Simpan Parameter".
Blok "Hikrobot: parameter kamera (GenICam)"
Hanya informasi yang diberikan oleh kamera yang ditampilkan. Pilihan: Eksposur Otomatis (Off / Sekali / Berkelanjutan), Peningkatan Otomatis, Rentang dan Mode Rentang, Ketajaman, Warna, Saturasi, Keseimbangan Putih Otomatis, Keseimbangan Putih berdasarkan Saluran, Pergeseran Digital, Tingkat Hitam Aktif, Pembatasan FPS Aktif, Rotasi Horizontal dan Vertikal, GigE: Ukuran Paket, GigE: Penundaan Antar Paket, GigE: Batas Bandwidth, Gambar Uji. Tombol "Baca Ulang Parameter dari Kamera" mengubah tabel.
Blok "WARNA GAMBAR"
Tata Letak Bayer (Auto / BGGR / RGGB / GRBG / GBRG), Saturasi 0…200 %, Gamma 0,30…3,00, Kontras 50…200 %, tombol reset. Pemrosesan perangkat lunak diterapkan pada semua konsumen bingkai: tampilan, perekaman, inferensi, dan gambar untuk pelatihan, sehingga gambar saat pelatihan dan saat inspeksi sama. Untuk HIKROBOT, tata letak diambil dari format piksel kamera, untuk warna SICK — dari sensor dan disesuaikan dengan bingkai pertama.
| Parameter | Apa yang dilakukan | Pengaruhnya |
|---|---|---|
| Analisis per detik (AI) | batas atas kecepatan inspeksi, 1…200 | lebih rendah — beban pada kartu grafis berkurang; tidak bergantung pada koneksi kamera |
| Tingkat Kecerdasan Buatan (AI) | tidak ditentukan pada tab "Kamera" | batas deteksi area — hanya pada tab "Inspect" (bagian 5.2), satu untuk setiap kamera |
| Exposure | waktu eksposur | singkatnya — mengurangi goresan pada produk yang bergerak; nilai nol tidak diperbolehkan |
| Gain / Gain boost | penguatan sinyal matriks | meningkatkan kecerahan, tetapi juga menambahkan noise |
| Pixel clock (SICK) | frekuensi sensor | mengubah rentang FPS dan waktu eksposur, nilai-nilai ini dibaca ulang |
| FPS | frekuensi frame dalam mode bebas | tidak digunakan dalam mode trigger |
| Lebar / Tinggi | Ukuran bingkai (AOI) | Bingkai yang lebih kecil berarti frekuensi yang lebih tinggi dan lalu lintas yang lebih rendah |
3.4. Tab Kamera untuk USB/kamera web
Untuk kamera USB, tab menampilkan blok "Kamera USB: resolusi, FPS, dan properti". Properti driver yang tidak diberikan oleh kamera tidak ditampilkan; batas bingkai ditentukan oleh program karena DirectShow tidak memberikan informasi tentang rentang.
3.5. Pengaturan kamera yang disimpan (paket)
Blok "Pengaturan kamera yang disimpan" ditampilkan untuk USB, SICK, dan HIKROBOT. Setelah menyesuaikan parameter sesuai dengan produk, simpan pengaturan tersebut dengan nama tertentu: untuk papan atau pencahayaan lain, cukup pilih paket dari daftar.
- Simpan sebagai… – membaca nilai saat ini dari kamera dan meminta nama perangkat. Jika nama sudah digunakan, menawarkan untuk mengganti nama.
- Memilih konfigurasi dalam daftar langsung menulis parameter ke kamera dan menyimpannya: untuk USB – ke database, untuk SICK dan HIKROBOT – ke file parameter dan memori kamera (UserSet1 / EEPROM). Kemudian, panel membaca kembali nilai dari perangkat keras dan menampilkan berapa banyak parameter yang telah ditetapkan, dan berapa banyak yang tidak.
- Simpan Ulang akan menimpa data yang dipilih dengan nilai-nilai saat ini, Ganti Nama dan Hapus hanya memengaruhi entri dalam database, sedangkan pengaturan pada kamera tidak berubah.
Isi dari setiap set: untuk USB – resolusi, FPS, properti driver, dan mode otomatis; untuk SICK – gain, waktu eksposur, FPS, tingkat hitam, clock piksel, peningkatan gain, keseimbangan putih R/G/B, gamut perangkat keras, dan warna perangkat lunak; untuk HIKROBOT – gain, waktu eksposur, FPS, tingkat hitam, dan semua node GenICam. Ukuran bingkai kamera industri tidak termasuk dalam set: mengubahnya akan memulai ulang perekaman. Set ini berlaku untuk semua jenis kamera, jadi satu set ditempatkan pada setiap kamera yang identik di stasiun.
3.6. Jaringan GigE dan koneksi ulang
- Ukuran paket GigE HIKROBOT disetel secara otomatis menjadi optimal saat dibuka; secara manual, Anda dapat memperbaikinya di blok GenICam. Bingkai Jumbo 8164–9000 mengurangi beban, dan jika bingkai terputus, atur 1500 dan tingkatkan penundaan antar paket.
- Baris `Net` menghitung beban dari setiap kamera berdasarkan data sendiri (ukuran muatan × frekuensi) dan membandingkannya dengan lalu lintas jaringan yang sebenarnya. Perbedaan yang signifikan menunjukkan hilangnya frame atau lalu lintas yang tidak diinginkan. Adaptor virtual dan filter NDIS (GigEVision, uEye, Npcap) tidak termasuk dalam perhitungan.
- Jika kamera terlihat, tetapi aliran tidak berjalan, klik Hubungkan Kembali (di jendela KAMERA atau di tile). Biasanya penyebabnya adalah kapasitas jaringan atau USB yang terbatas.
- PicoCam SICK kehilangan pengaturan saat deskriptor ditutup; jika tidak ada pengaturan dalam kamera itu sendiri, program menerapkan file parameter dan menawarkan untuk menekan "Simpan Parameter" untuk mencatatnya ke dalam kamera.
4. Model ZONA-PASANGAN: dari grid ke model terlatih
4.1. Bagaimana cara kerjanya: satu model, satu kelas untuk setiap zona
Model ZONA-PASANGAN adalah jaringan klasifikasi YOLO11 standar, yang memiliki jumlah kelas sebanyak jumlah zona, ditambah kelas-kelas opsional untuk mendeteksi anomali. Kelas adalah folder di dalam direktori `train` dan `val`. Program secara otomatis membuat semua folder; tidak perlu membuat folder secara manual. Berikut adalah contoh struktur folder model setelah pelatihan:



File real_…jpg — merupakan potongan langsung dari kamera (tercatat baik di train maupun val), syn_…jpg — data sintetis, edit_…jpg — hasil foto dari editor zona. Dalam contoh setelah pengambilan beberapa papan: zone_001 — 502 file di train dan 111 di val, zone_001_anomaly — 680 dan 144, zone_002 — 813 dan 181, zone_002_anomaly — 340 dan 60.
Program mengenali model sebagai "area pembayaran" secara otomatis, berdasarkan keberadaan kelas-kelas seperti zone_NNN. Nomor kelas adalah nomor zona yang unik dalam jaringan (1…N). Dari sini, aturan utama metode tersebut adalah:
4.2. Membuat model
4.3. Menandai zona pada papan

Zona merah: hapus zona dari data sintetis dengan satu klik
Pada tab "Model AI", klik dengan tombol kiri pada area yang sudah dibuat langsung pada video: area tersebut akan menjadi merah dan tidak akan termasuk dalam pengambilan gambar berdasarkan area dan anomali. Klik lagi akan mengembalikan area tersebut. Penghitung file di jendela data sintetis dihitung ulang secara otomatis, dan teks "mati N" di atas frame menunjukkan berapa banyak area yang dimatikan. Daftar area merah disimpan per kamera dan model; pada tab "Inspect", area yang sama tetap normal (dengan area kuningnya sendiri, lihat bagian 5.5).
4.4. Tetapkan referensi: area penyelarasan
Area inspeksi ditandai berdasarkan posisi papan sirkuit. Agar papan sirkuit lain dapat diposisikan dengan pergeseran dan rotasi pada jalur produksi, program menyimpan referensi: *frame* awal dan area penyelarasan—bagian dari papan sirkuit yang berisi detail yang digunakan untuk mencari posisi papan sirkuit pada setiap *frame* baru. Setelah menemukan area tersebut, program memindahkan area inspeksi ke papan sirkuit yang baru. Proses pengambilan gambar, data sintetis, dan inspeksi bekerja dengan cara ini.


| Model penyelarasan | Kapan memilih |
|---|---|
| Otomatis (disarankan) | Papan diselaraskan secara kaku (geser, putar, skala); perspektif hanya terhubung jika terlihat lebih baik secara signifikan. Akurasi pada area penyelarasan kecil – 1–2 px. |
| Kaku | Kamera melihat langsung dari atas, papan terletak datar. Pilihan yang paling stabil jika area penyelarasan kecil. |
| Perspektif | Kamera melihat dari sudut atau papan miring. Diperlukan area yang besar dengan titik di seluruh lebar, jika tidak, homografi akan "miring". |
Tombol "referensi dengan zona" membuka referensi yang tersimpan dengan kisi dan nomor zona (bagian 4.8). Plat yang ditemukan diperiksa untuk memastikan masuk akal: luas antara 0,5 hingga 2 kali luas referensi, bentuk empat sisi yang melengkung, dan titik-titik penyangga harus menempati setidaknya seperempat area di setiap sumbu – jika tidak, hasilnya akan dibuang, dan pesan "plat tidak ditemukan" akan muncul di konsol.
4.5. Foto berdasarkan area: normal dan data sintetisnya
Tombol ZONA-PASANGAN: foto berdasarkan zona berfungsi untuk: membagi gambar menjadi zona, menyisipkan potongan dari setiap zona ke dalam kategori yang sesuai zone_NNN, dan menambahkan data sintetis normal. Data sintetis normal adalah variasi hasil pengambilan gambar, bukan cacat: posisi plat sedikit berbeda, cahaya sedikit berbeda, dan sensor menghasilkan suara.

| Pengaturan | Apa yang dilakukan dan apa yang harus diatur secara default |
|---|---|
| Untuk setiap zona | Berapa banyak file sintetis yang dapat dibuat untuk satu potongan. Direkomendasikan 20, 0 – hanya sebagai referensi, maksimum 500. |
| Gambar berdasarkan waktu: setiap varian dari bingkai kamera baru | Diaktifkan, periode 800–1200 ms (tidak kurang dari waktu eksposur). Setiap varian diambil dari bingkai kamera yang baru: kebisingan sensor, getaran, dan pantulan cahaya yang sebenarnya, bukan yang digambar. |
| Setiap varian juga memiliki probabilitas, % | 20 %. Referensi selalu berada dalam val: setiap kelas di Ultralytics harus berada di kedua folder. |
| Melatih dalam skala abu-abu | Bendera model secara keseluruhan: warna dihapus dari normal, anomali, dan inspeksi. Tidak dapat mencampur file berwarna dan abu-abu dalam satu model, program akan memberikan peringatan. |
| Pergeseran, px · ke mana | Area pergeseran bergerak sepanjang seluruh bingkai sebesar 0…2 px pada arah yang ditandai (← → ↑ ↓); bagian yang hilang diambil dari area pada papan lain, sehingga potongan tetap rapi. Tanda centang semua arah memberikan satu file untuk setiap arah, satu arah acak — satu file. |
| Rotasi, ° · ke mana | Secara default, fitur ini dinonaktifkan: tidak ada rotasi, dan pengaturan area penyelarasan tidak memengaruhi. Opsi "kiri/kanan" dan "semua arah/arah acak" berfungsi seperti pada fitur pergeseran. |
| Skala, % · pengurangan / penambahan | Secara default, fitur ini dinonaktifkan. Dua tanda centang mewakili dua opsi: pengurangan (<100) dan peningkatan (>100, area zona mengambil tetangga dari bingkai). Setiap opsi yang dipilih akan menghasilkan file yang berbeda. |
| Kecerahan / Kontras / Gamma | Nilai acak dari rentang untuk setiap opsi: kecerahan 88…112, kontras 88…112 %, gamma 98…102 % (pada gambar); di profil "Pergeseran Elemen", kecerahan lebih lebar agar tidak menjadi indikator. |
| Noise (sigma) / Efek Buram | Ukuran butir sensor 3…8 tingkat, fokus ringan 0,4…0,8 px. |
| Kolom "umum" | Dengan tanda centang, tampilan ini masuk ke dalam file umum bersama dengan yang lainnya; tanpa tanda centang, file terpisah "referensi + hanya tampilan ini" dibuat. Semakin banyak tampilan terpisah, semakin banyak file untuk setiap opsi. |


4.6. Data sintetis cacat dalam dua kali klik: elemen bergeser bersama dengan alas
Data sintetis dibangun berdasarkan pengamatan. Model belajar dengan sangat baik ketika diberi contoh cacat berupa bukan hanya noda yang digambar, tetapi juga elemen yang diperiksa bersama dengan elemen-elemen pada papan di sekitarnya: garis-garis sablon, jalur, warna, dan tekstur dasar. Program mengurangi ukuran area hingga ukuran elemen, kemudian memindahkan atau memutar area tersebut, sambil mengisi tepi dengan piksel-piksel dari area tersebut. Akibatnya, elemen tersebut tidak berada di posisi yang seharusnya relatif terhadap dasar: tepat seperti yang dilihat oleh pengontrol saat terjadi cacat sebenarnya, dengan suara sensor yang sebenarnya, cahaya yang sebenarnya, dan papan yang sebenarnya.
Zona "normal" dan zona "anomali" hanya berbeda dalam posisi elemen relatif terhadap dasar. Semua aspek lainnya sama, sehingga jaringan belajar tentang hubungan "elemen ↔ papan sirkuit," bukan tentang perbedaan warna atau intensitas cahaya.
Dua kali klik
Tidak perlu melakukan pengaturan lebih lanjut: tidak perlu menggambar cacat atau mencari papan yang rusak. Selanjutnya, LATIHKAN MODEL AI.
Sebelum dan sesudah: apa yang dicapai oleh program




Folder anomali seperti yang dilihat pengguna
Bandingkan dengan folder normal dari bagian 4.5: perbedaannya hanya pada posisi detail relatif terhadap dasar.


Penandaan detail: mengapa goresan terlihat "tebal" dan bagaimana cara mengaturnya
Pada bagian-bagian komponen terdapat tanda – tulisan dan garis setebal 1–2 px. Tanda ini berbeda dari satu batch ke batch berikutnya: jenis huruf berbeda, tulisan pada kapasitor dibalik, sebagian simbol dihapus. Jika cacat sintetis berupa "goresan" digambar dengan garis yang sama tipisnya, jaringan tidak akan dapat membedakannya dari garis tanda dan dari kebisingan sensor, dan akan mulai menolak papan yang baik dari batch komponen yang berbeda.
Data sintetis ZONA-PASANGAN menutup ini dari dua sisi. Pertama, cacat utama—pergeseran elemen—memindahkan penanda bersama dengan badan, sehingga tulisan tidak menjadi indikator: tulisan tersebut terlihat sama baik dalam kondisi normal maupun anomali. Kedua, garis/goresan yang digambar secara default tebal (⅛ zona, tidak kurang dari 3 px) dan jelas tidak menyerupai garis penanda. Ketebalan sekarang ditentukan secara eksplisit: bidang Ketebalan Garis, px (0 = otomatis) berlaku untuk garis dan tanda silang.
Cacat yang digambar (seperti persegi, lingkaran, garis, "elemen yang hilang", bintik buram, dan lainnya) dikelompokkan dalam grup yang dapat diklip ( Cacat sintetis di atas potongan). Secara default, grup ini sudah diklip dan dinonaktifkan: cacat utama pada papan adalah pergeseran. Aktifkan untuk tugas-tugas tertentu: area yang tergenang, tetesan berlebih, atau label yang terhapus.
| Parameter bentuk | Apa yang ditentukan |
|---|---|
| Ukuran: dari … hingga, % dari zona / px | Ukuran atau panjang bentuk. Dalam persentase — dari sisi terkecil zona (sesuai dengan zona apa pun); dalam px — sama di semua zona, nyaman ketika ukuran cacat sebenarnya dalam piksel bingkai diketahui. |
| Pengisian | padat / garis / campuran (garis juga tebal). |
| Ketebalan garis, px | Garis / goresan dan tanda silang. 0 — otomatis (tebal). Untuk menandai detail, jangan gunakan di bawah 3 px. |
| Di mana cacat | Di tengah, di kiri, di kanan, di atas, di bawah – tempat untuk meletakkan figur (dengan sedikit variasi acak). Centang pada "semua posisi" berarti akan ada file terpisah untuk setiap posisi yang dipilih; "satu acak" berarti hanya akan ada satu file, dengan posisi yang dipilih secara acak dari posisi yang dipilih. Penghitung file di bagian bawah jendela akan memperhitungkan hal ini secara otomatis. |
| Warna-warna bentuk: 5 slot | Lima slot daripada daftar nama. Tanda centang — slot tersebut aktif, warna diambil secara acak dari yang telah dipilih (±12 per saluran, untuk menghindari hanya satu warna). Tombol dengan contoh — memilih warna dari palet, 💧 pipet — klik pada gambar langsung dari kamera (roda — zoom, tombol kanan — panorama) dan mengambil warna dari detail atau papan yang sebenarnya. Secara default, dua slot sudah aktif — gelap dan terang, tiga slot lainnya tidak aktif. |
| Kolom "umum" | Jenis cacat yang ditandai disimpan dalam file umum bersama dengan "file umum" lainnya (misalnya, goresan di atas elemen yang bergeser). Tanpa tanda centang, akan ada file terpisah "normal + hanya cacat ini". Jenis dengan "semua posisi" selalu terpisah. |
4.7. Anomali Zona: jendela pengaturan
Tombol ZONA-PASANGAN: anomali zona menciptakan kelas zone_NNN_anomaly dari potongan normal. Semua zona diambil, kecuali yang berwarna merah (zona yang dinonaktifkan dengan klik pada gambar dalam Model AI, bagian 4.3). Kelas anomali tidak diperlukan di semua zona: tambahkan untuk zona di mana cacat benar-benar terjadi, dan zona lainnya akan diperiksa oleh model berdasarkan pengenalan.

| Pengaturan | Apa yang dilakukan |
|---|---|
| Salinan ke cacat | Satu angka untuk semua jenis: berapa banyak salinan dengan parameter acak baru yang akan dibuat untuk setiap jenis yang ditandai (secara default 10). |
| ▸ Cacat sintetis di atas pemotongan | Kelompok default yang tersedia: persegi, persegi kecil, lingkaran, elips, segitiga, angka delapan, garis/goresan, salib, "elemen hilang", noda buram, perbaikan noise, bagian dari area lain. Parameter bentuk, lokasi, dan palet warna dijelaskan di bagian 4.6. |
| Pergeseran, px · ke mana · bentuk | Cacat utama pada papan. Area (lingkaran atau persegi) bergeser sebesar 5–12 px ke arah yang ditentukan: ← → ↑ ↓ dan dua diagonal ⤡ ⤢. skala vertikal / horizontal, ±% — ukuran area relatif terhadap zona: 0 — seluruh zona, −30 — area 30% lebih kecil (hanya elemen yang bergeser, dasar tetap), +30 — area lebih besar dari zona (mengambil elemen dari bingkai). semua arah — untuk setiap sisi sesuai dengan file. |
| Rotasi, ° · bentuk | Area (lingkaran atau persegi, skala yang sama ±%) berputar pada sudut acak dari rentang ke kedua arah. |
| Skala, % · pengurangan / penambahan | Area sebagai cacat: pengurangan 60–85% atau peningkatan 120–160%. Setiap sisi yang ditandai memiliki file sendiri. Biasanya dinonaktifkan pada papan. |
| «umum» untuk pergeseran dan rotasi | Jika kedua kotak centang tersebut dicentang, ini berarti satu elemen dalam satu file: pergeseran dan rotasi diterapkan dalam satu transformasi (bukan secara bergantian, jika tidak akan menghasilkan hasil yang tidak konsisten), skala area dan bentuk bersifat umum dan ditentukan pada pergeseran. |
| ▸ Sub-area | Area dibagi menjadi 2, 4, atau 9 bagian, dan di dalam setiap bagian, area berputar atau digeser; centang «setiap sub-area memiliki foto sendiri» memberikan satu file per bagian. Diperlukan untuk area besar dengan beberapa elemen. |
| Pencahayaan dan noise di atas setiap file cacat | Diaktifkan dan sama dengan normal: cacat harus berbeda dalam geometri, bukan dalam pencahayaan. |
| Foto berdasarkan waktu / di val | Setiap salinan dari bingkai baru kamera (800 ms), 20% dalam val, file pertama dari kelas selalu ada dalam val. |
4.8. Referensi dengan zona: pelat penyolder dan editor zona
Tombol "referensi dengan zona" membuka referensi papan yang telah disimpan dengan kisi-kisi. Di sini, data sintetis dibuat tanpa menggunakan kamera: roda untuk zoom, tombol kanan untuk panorama, tombol kiri untuk memilih zona (Ctrl untuk menambahkan, drag-and-drop dengan kotak, Ctrl+A untuk semua), klik ganda untuk editor zona.
- Kepingan solder untuk area yang dipilih… — jendela "Kepingan solder: hubungan pendek antara jalur". Program secara otomatis menemukan jalur dalam area (batas Ots, garis-garis terang dengan lebar ≥ 2 px), menempatkan tetesan solder di celah antara jalur-jalur yang berdekatan dengan warna jalur itu sendiri, dengan tepi gelap dan pantulan. Pengaturan: antara jalur vertikal atau horizontal, kepingan pada gambar 1…3, ukuran 8…18% area, gambar untuk area (5), tempat ditempatkan – di anomali atau di normal, pencahayaan permukaan, di val – gambar baru dengan pencahayaan yang berbeda atau salinan yang tepat.
- Editor area: alat Kuas, Pipet, Noda Warna, Salin Area, Tempel, Stempel, Area pelat; palet "solder / area", "papan", "bayangan / masker", putih, hitam; kolom "Salin" dan tombol Buat gambar. Dengan cara ini, cacat yang belum ada pada garis dapat digambar: area yang terisi, elemen tambahan, label yang hilang.
File editor mendapatkan nama seperti `edit_…` dan ditempatkan di dalam zona atau anomali zona tersebut. Pada tab "Inspect", jendela yang sama hanya dibuka untuk tujuan tampilan.
4.9. Pelatihan model
Bagian "Pengaturan Pelatihan" di tab Model AI akan terisi secara otomatis setelah pengambilan gambar berdasarkan zona: Ukuran Gambar 128, Ukuran Model s, Epochs 50, Batch 64. Ini adalah nilai untuk zona 108–137 px. Untuk zona 256 px, seperti pada contoh, atur Ukuran Gambar menjadi 192 atau 256 – pemotongan akan hampir tidak terkompresi (nilai Epochs 100 dan Ukuran Gambar 192 berada di jendela utama). Periksa nilai-nilainya dan klik "TRAIN AI MODEL".
| Parameter | Apa artinya | Bagaimana memilih |
|---|---|---|
| Epochs | Berapa kali model akan melihat seluruh kumpulan data | 50 untuk papan default; 100–150 jika ada banyak kelas anomali |
| Batch Size | Berapa banyak gambar dalam satu langkah | 64; jika memori video kurang, kurangi |
| Image Size | Ukuran potongan, kelipatannya 32 | Ukuran zona kira-kira: 128 untuk zona 108–137 px; 192–256 untuk zona 256 px, seperti pada contoh |
| Model Size | n / s / m / l / x | s — optimal untuk ratusan pasangan kelas; n tidak cukup kapasitas, m dan lebih tinggi — lebih lambat |
| Device | bagaimana cara melatih | 0 (GPU) dengan kartu grafis NVIDIA; tanpa CUDA, program akan secara otomatis beralih ke CPU |
| Workers | jumlah thread untuk persiapan data | 12 secara default untuk prosesor multi-core |
5. Inspeksi
Semua proses dilakukan pada tab "Inspect". Setelah pelatihan, model sudah ditetapkan; yang perlu dilakukan adalah memeriksa area, menetapkan ambang batas, memilih sumber kecepatan, dan jika pembayaran diterima dalam posisi apa pun, mengaktifkan jalur produksi otomatis.

5.1. Menentukan model dan memeriksa zona
5.2. Ambang batas pengenalan zona
Untuk setiap zona, jaringan memberikan probabilitas untuk semua kelas, tetapi keputusan hanya diambil dalam sepasang data. Nilai "normal" dihitung sebagai p(zone_N) / (p(zone_N) + p(zone_N_anomaly)) dan dikalikan dengan faktor "tingkat kepercayaan" — yang menunjukkan seberapa besar kemungkinan pasangan data tersebut menghasilkan keluaran dari jaringan (tingkat kepercayaan penuh jika nilainya 10% atau lebih). Skor akhir, yang berkisar antara 0 hingga 100%, dibandingkan dengan ambang batas: jika nilainya lebih tinggi, maka dianggap "normal", jika lebih rendah, maka dianggap "anomali".
Nilai default adalah 50%, disimpan di board.json bersama dengan model, dan diterapkan langsung tanpa perlu memulai ulang. Jika di bawah 50%, ambang batas semakin menuju normal: 25% → pemblokiran 6%, 10% → 0,4%, 1% → hampir semua berwarna hijau; 99% hanya melewati area yang pasti. Skala ini diperlukan agar operator dapat melihat perbedaan antara 5% dan 99%, bukan hanya area berwarna merah.
5.3. Alur kerja dinamis: dapat bekerja dalam posisi apa pun
Galochka Konveyor Otomatis: Pencarian PCB di Setiap Posisi mencakup pencarian PCB berdasarkan area penyelarasan sebelum setiap analisis: bingkai disesuaikan dengan referensi, area dipotong dari gambar yang disesuaikan, dan batas area serta zona (hijau - normal, merah - anomali) digambar pada video. Kolom Periode, ms menentukan seberapa sering PCB dicari (default 1000, pada gambar 2000). Indikator di samping: hijau "normal · N titik", merah "ANOMALI · N titik", oranye "PCB tidak ditemukan" atau "tidak ada referensi - catat". Hasil diambil berdasarkan satu analisis, tanpa akumulasi.
referensi dan area penyelarasan dicatat menggunakan tombol "Catat referensi", sama seperti saat pengambilan gambar (bagian 4.4); "referensi dengan area membuka untuk dilihat. Pada video, batas area penyelarasan dan titik-titik penahan berwarna biru digambarkan, yang digunakan untuk menyelaraskan. Area yang melebar di luar tepi bingkai setelah penyelarasan, akan dilewati dengan label "LEWATI".
5.4. Berdasarkan sinyal apa untuk dianalisis
Sumber kecepatan selalu satu: saat menambahkan yang baru, program akan menghapus yang lama.
| Cara | Cara mengaktifkan | Kapan digunakan |
|---|---|---|
| Berdasarkan kamera | Kotak centang "Berdasarkan kamera" | Kontrol berkelanjutan; kecepatan dibatasi dengan kenop "Analisis per detik" di tab Kamera |
| Berdasarkan timer | Kotak centang "Berdasarkan timer" dan interval, ms | Kontrol berkala, misalnya sekali per detik |
| Berdasarkan pemicu | Pilih koneksi dalam daftar "Pemicu" dan front "analisis + pada input" atau "–" | Konveyor dengan sensor pada input kamera: bingkai diambil pada saat kedatangan produk – cara yang paling akurat (bagian 6) |
| GPU | Kotak centang «GPU» | Diaktifkan secara default; mengubah pengaturan akan memuat ulang model |
| Analisis Abu-abu | Kotak centang «Analisis Abu-abu» | Diaktifkan secara otomatis untuk model yang dilatih dalam mode abu-abu; potongan diubah menjadi abu-abu sebelum inferensi |
5.5. Zona Kuning: Menonaktifkan zona dengan klik
Pada sebagian area, terkadang perlu untuk sementara waktu menghentikan kontrol: elemen tidak terpasang pada bagian ini, area tersebut ditutup oleh perangkat, sedang dalam proses debugging. Untuk ini, tidak perlu mengubah grid atau model, area tersebut dimatikan langsung pada video, hanya pada tab "Inspect".
Apa yang dilakukan oleh zona berwarna kuning, ditentukan oleh kotak centang umum "Zona berwarna kuning (dinonaktifkan dengan klik) tidak menghasilkan suara" di jendela OUTPUT pada tab "Suara" (diaktifkan secara default):
| Kotak centang | Perilaku zona kuning |
|---|---|
| Diaktifkan (secara default) | Zona tidak dianalisis sama sekali: potongan tidak dikirim ke jaringan, label «OFF», tidak ada suara, tidak ada transmisi TCP, atau keluaran kamera. Dalam lingkungan produksi, zona kuning tidak memengaruhi hasil «normal / anomali». |
| Dimatikan | Bingkai berwarna kuning hanya berfungsi sebagai catatan: area tersebut sedang dianalisis dan berfungsi seperti biasa. Ini sangat berguna untuk menandai area yang perlu diperiksa tanpa mengganggu proses kontrol. |
5.6. Apa yang dapat dilihat di layar dan di konsol
- Hasil telah dicatat untuk setiap area; batas area ditandai dengan warna tabel area, dan ketika pemicu aktif, batas tersebut berwarna merah. Ketika ada lebih dari 50 area, batas normal hanya ditampilkan dengan garis hijau, sedangkan area yang tidak pasti dan anomali diberi label dengan garis yang berbeda. Jumlah banyak label pada setiap frame membuat gambar sulit dibaca dan membebani proses rendering. Area berwarna kuning dapat dinonaktifkan dengan mengklik (bagian 5.5).
- Panel "Analisis Berdasarkan Pemicu" di bagian bawah tab menampilkan setiap aksi dalam format baris [jam:menit:detik.milidetik] Kamera Masuk + Pemicu 4 ms | AI 12 ms #57 dan hasilnya untuk setiap zona. Data ini tidak disimpan ke dalam database.
- Klik kanan pada area pada video: "Deteksi kelas di area ini → anggap ini sebagai «…»" mengubah nama respons model untuk area tersebut (tetapi tidak mengubah model itu sendiri, tetapi rejector dan log akan melihat nama baru); di sana juga terdapat opsi "Buat rejector untuk area ini" dan penghitung aturan.
- Centang opsi "Simpan hasil inspeksi" dan folder: File gambar dengan area yang ditandai akan disimpan dengan format inspect_….jpg. Pengaturan ini berbeda-beda untuk setiap kamera.
- Setiap 10 menit, sebuah frame dari proses produksi dan daftar zona teks ditulis ke subfolder diag, dan 20 frame terakhir disimpan – untuk analisis kasus-kasus yang kontroversial tanpa perlu memperbesar folder.
6. Pemicu: sensor eksternal pada bagian masuk kamera
Mode utama untuk konveyor: kamera mengambil gambar berdasarkan sinyal listrik dari sensor pada input diskretnya. Ini adalah momen pengambilan gambar yang paling akurat: produk selalu berada di lokasi yang sama dalam setiap gambar, dan analisis dilakukan hanya sekali untuk setiap produk. Bagian TRIGGER mengumpulkan komunikasi "sensor → kamera" dan menggambar diagram koneksi sesuai dengan terminal yang dipilih.


Membuat lubang untuk konektor
| Pin | HIKROBOT MV-CS, 6 pin | SICK picoCam, 6 pin |
|---|---|---|
| 1 | DC_PWR — Sumber daya untuk kamera 9–24 В | GND — catu daya kamera |
| 2 | OPTO_IN — Input Line 0 (+), sinyal pemicu | VCC — catu daya kamera 12–24 В |
| 3 | GPIO — Line 2, input atau output | Pemicu — Input trigger, optocoupler (−) |
| 4 | OPTO_OUT — keluaran Garis 1 (+) | Input Triger + — input opto-relay (+) |
| 5 | OPTO_GND — opto-isolator umum, kabel pengembalian | Flash + — output diskrit (+) |
| 6 | GND — catu daya kamera | Flash − — output diskrit (−) |
7. Output: rejector, output diskrit kamera dan TCP
"Rejector" mengubah hasil inspeksi menjadi tindakan. Aturan dibuat pada area tertentu (atau langsung pada semua area model, kelas, atau area yang ditandai), dan akan aktif ketika model mendeteksi kelas yang ditentukan di area tersebut. Ada tiga tindakan yang dapat dilakukan: mengirimkan paket TCP ke robot atau PLC, mengubah status output digital kamera, dan memberikan peringatan suara kepada operator. Setiap tindakan yang terjadi akan dicatat dalam log.
7.1. Panduan OUTPUT: kontak dan pengujian dengan alat penguji
Tombol "KELUAR" di atas video membuka jendela bantuan yang tidak melakukan pengaturan apa pun: jendela tersebut menunjukkan pada kontak mana outputnya, bagaimana cara memverifikasinya dengan multimeter tanpa daya, dan bagaimana cara menghubungkan beban.


- Output — "kontak kering" optocoupler: ia tidak memberikan tegangan sendiri, hanya menutup rangkaian. Membutuhkan sumber daya eksternal.
- Pengujian dengan alat penguji dalam mode Ω: output MATI — putus (OL), NYALA — ratusan Ohm. Buzzer tidak berbunyi dalam kedua kasus, lihat angka. Jika tidak ada perubahan — balikkan probe, optocoupler bersifat polar.
- Beban: +24 В → lampu → pin «+», pin «−» → GND. Untuk HIKROBOT 25 mA — batas: peralatan sinyal pada 27 mA sudah melebihi, kurangi daya atau pasang rel perantara. Untuk SICK, kapasitasnya besar, lampu 20–30 mA dapat dihubungkan langsung.
7.2. Jendela OUTPUT: aturan untuk zona
Tombol "OUTPUT" di panel kanan (atau klik kanan pada area → "Buat rejector untuk area ini") membuka jendela "OUTPUT — Paket TCP dan Output Digital Kamera". Di sebelah kiri, terdapat struktur "Kamera → Model AI → Kelas → Area" dengan tanda centang pada area; di sebelah kanan, terdapat tab "Aturan Area", "Log Aktivasi", dan "Database".

Satu zona dapat berisi beberapa aturan TCP (penerima yang berbeda), tidak lebih dari satu aturan output diskrit per kelas, dan tidak lebih dari satu suara per kelas. Aturan disimpan dalam database dan dijalankan dari aliran inferensi: aturan disimpan dalam memori, pencarian berdasarkan alamat zona dilakukan pada setiap frame, dan soket serta SDK kamera diakses oleh aliran-alur terpisah untuk memastikan analisis tidak bergantung pada jaringan.
7.3. Paket TCP untuk robot atau PLC
Program ini berfungsi sebagai klien TCP: terhubung ke alamat IP dan port penerima, menjaga koneksi tetap terbuka, dan menggunakannya kembali. Jika koneksi terputus, program akan mencoba untuk terhubung kembali dan mengirim ulang data sekali. Data yang dikirim akan dienkode dalam format UTF-8 dan diakhiri dengan karakter CR+LF.
| Bidang | Penetapan |
|---|---|
| Waktu tunggu koneksi, ms | 1000 secara default, 100…10000. |
| Waktu tunggu pengiriman aturan otomatis, ms | Jeda minimal antara pengiriman aturan otomatis; 0 — tanpa jeda. Bahkan perubahan kelas menunggu jeda ini. |
| Perintah | Kata-kata diterjemahkan secara harfiah: "up" – paket "up". Dibutuhkan sudut – tambahkan placeholder: "J6 {class}" → "J6 235". Kosong – menggunakan template "Data". |
| Data sendiri | Teks acak, digunakan sebagai pengganti `{data}`. |
| Data | Template pengiriman. Kosong = «nomor dan nama zona» ({zoneId} {zone}). Menekan pada bagian untuk mengisi akan menambahkannya, menekan berulang kali akan menghapusnya; «Semua bidang» akan membuat template yang terstruktur. |
| Penggantian | Arti | Penggantian | Arti |
|---|---|---|---|
| {zoneId} | Nomor zona (1, 2, 3…) | {camera} | Nama kamera |
| {zone} | Nama zona (diedit dalam basis data) | {model} | Nama model AI |
| {class} | Kelas yang dilihat oleh model | {time} | Waktu HH:MM:SS.ms |
| {conf} | Kepercayaan, % (titik sebagai pemisah) | {date} | Tanggal dalam format YYYY-MM-DD |
| {data} | Teks dari "Data Pribadi" |
Contoh template terstruktur: zoneId={zoneId};zone={zone};class={class};conf={conf};camera={camera};model={model};time={time};date={date};data={data}. Angka selalu dalam format yang konsisten, sehingga "87,6" tidak mengganggu proses pemrosesan pada PLC.
- Memeriksa koneksi hanya membuka soket dan memberikan pesan "koneksi berhasil" atau "tidak ada respons dalam N ms".
- Mengirim tes benar-benar mengirimkan string; hasilnya ditampilkan di samping tombol, bukan di jendela.
- Pengiriman. Jika tidak ada tanda centang "ulang", aturan ini mengirimkan satu paket saat kelas berubah, dan mengirimkannya berulang kali hingga penerima merespons dengan baris ok <paket>. Jika ada tanda centang, pengiriman akan diulang secara berkala selama kelas masih aktif.
- "Perintah Terakhir Menang": Jika model berhasil memberikan beberapa hasil sebelum operator sibuk, perintah terakhir akan dieksekusi. Antrian dibatasi hingga 512 perintah.
7.4. Keluaran Kamera yang Terpisah

| Bidang | Penetapan |
|---|---|
| Keluaran | Metode: otomatis, pada SICK – pin Flash (level konstan) atau GPIO; pada HIKROBOT – UserOutputValue atau LineInverter (strobo mati). Model MV-CS020/016-10GC tidak memiliki UserOutput – program akan memilih LineInverter secara otomatis. |
| Saluran | Pin Flash / GPIO1…6 pada SICK; Line1 (keluaran), Line2 (dua arah) pada HIKROBOT; Line0 – hanya input. |
| Level | true / false / off. "off" – aturan ada, tetapi keluaran tidak terpengaruh. |
| Pulsa, ms (0 – tahan) | 0 – level dipertahankan hingga perubahan kelas; jika tidak, pulsa 10…5000 ms dengan reset. |
Tombol "Aktifkan Output", "Nonaktifkan Output", dan "Impuls diperiksa menggunakan penguji atau lampu; "Kemampuan Kamera menanyakan semua metode dan mencetak laporan. Uji manual ditulis dalam jurnal yang sama.
7.5. Pemberitahuan Suara: Suara khusus untuk setiap zona
Jenis aturan ketiga adalah suara dari komputer dengan program. Operator tidak perlu melihat ke layar: dengan sinyal, ia mendengar bahwa zona tersebut telah mengalami kerusakan, dan suara yang berbeda di zona yang berbeda menunjukkan lokasi pastinya. Suara tersedia untuk semua kamera, termasuk USB dan RTSP, yang tidak memiliki output terpisah.
| Cara Kerjanya | Bagaimana cara kerjanya |
|---|---|
| Tanpa centang "ulang" | Suara hanya sekali saat perubahan kelas zona telah dikonfirmasi (setelah "Konfirmasi perubahan kelas"). Selama kelas tetap, tidak ada suara. |
| Dengan centang "ulang sampai kelas tetap" | Sinyal diulang melalui "Interval pengulangan", tetapi tidak lebih sering dari jeda antara suara, selama zona tetap dalam kelas yang ditentukan. |
| Beberapa zona dalam keadaan rusak secara bersamaan | Setiap zona menghasilkan suaranya sendiri; sinyal dari zona yang berbeda tidak saling menutupi, hanya suara dari zona yang sama yang diulang. |
| Log | Setiap kali terjadi kesalahan, akan tercatat dalam "Log Aktivasi" dengan baris "Suara «…»"; jika file tidak ditemukan atau perangkat audio mengalami masalah, baris dengan pesan kesalahan akan muncul, dan program akan terus berjalan. |
| Pemeriksaan | Memeriksa aturan ini langsung memutar suara; Mensimulasikan aktivasi zona memutar suara bersama dengan TCP dan keluaran melalui jalur tempur. |
7.6. Log Aktivasi dan Database
Tab "Log Aktivitas" menampilkan 300 catatan terbaru dalam format "HH:MM:SS.mmm ✔/✖ Kamera · Model · Kelas · Area → Tindakan [pesan]" dan diperbarui secara langsung. Tombol "Perbarui" dan "Hapus Log".

Tab Basis dataProgram ini menyimpan semua data dalam sebuah file SQLite rejectors.db Di samping file executable (exe), tidak ada layanan terpisah yang berjalan, dan port tidak aktif. Tidak perlu menginstal apa pun. Tabel-tabel yang ada meliputi: "settings" (pengaturan), "cameras" (profil kamera) camera_models (model pada kamera), zona (nama dan geometri zona), penolak (aturan) reject_log (majalah), camera_param_files (salinan parameter kamera), camera_presets (setelan konfigurasi kamera). Simpan salinan basis data... melakukan pencitraan lengkap dari tim VACUUM INTO langsung pada basis data yang sedang berjalan; Muat basis data dari salinan... Memulihkan data, dengan terlebih dahulu menyimpan versi data yang ada. Basis data dapat dilihat di DBeaver tanpa perlu menutup program; sebaiknya hindari melakukan perubahan atau penulisan data dari luar program.
8. Mode dan Tugas Lainnya
Model standar: normal / anomali dan semua kelas
Editor ROI yang sama juga digunakan untuk klasifikasi standar: tablet, tutup, label, dan komponen di dalam wadah. Kelas ditentukan dalam dialog "Model AI Baru" (secara default normal dan anomali, dengan nama dalam huruf Latin), zona ditetapkan pada produk, tombol "Buat Gambar" dengan jumlah lingkaran 1...50, seri "Buat Gambar" melalui kamera (frame/frame) atau encoder. Panel "Data Sintetis untuk AI": sudut yang tepat 90°/180°, putaran penuh 360° dengan langkah dan rentang, cermin, "kelas berdasarkan derajat" (setiap sudut ke kelas masing-masing — rejector mengirimkan sudut melalui TCP), rentang kecerahan dan kontras. Pelatihan menggunakan augmentasi Ultralytics yang lengkap. Ambang batas keyakinan untuk model-model ini ditentukan di tempat yang sama dengan ZONA-PASANGAN — di tab Inspect.
Inspeksi multi-model (slot 1–20)
Pada satu kamera, Anda dapat menampung hingga 20 model: Tambahkan ONNX ke slot, kemudian ROI → Tambahkan kelas ke model yang dipilih — setiap model dalam slot memiliki penandaan zona sendiri, dan hasil dari semua model ditampilkan pada satu bingkai.
Kapan multi-model diterapkan:
| Situasi | Cara mengatur |
|---|---|
| Beberapa tugas pada satu frame | ZONA-PASANGAN memeriksa tata letak dan keberadaan elemen, sedangkan model standar pada slot kedua — pelabelan, stiker, warna port, atau arah kunci. Zona dari model kedua ditempatkan secara terpisah melalui "ROI → Tambahkan kelas ke model yang dipilih". |
| Produk tanpa kisi tetap | Tablet, tutup, dan komponen dalam wadah: beberapa kelas jenis produk dalam model standar. Kelas yang serupa dipisahkan dalam slot yang berbeda agar tidak saling tumpang tindih. |
| Dua papan yang berbeda dalam satu tampilan | Dua model ZONA-PASANGAN dalam slot yang berbeda, masing-masing memiliki referensi dan kisi sendiri. Sistem konveyor berfungsi dengan referensi model utama. |
| Periode transisi | Model lama yang terlatih tetap berada dalam slot, sementara model ZONA-PASANGAN baru mengumpulkan statistik; keduanya terlihat dalam satu tampilan, aturan penolakan diterapkan sesuai dengan tingkat kepercayaan. |
Batasan, kecepatan analisis, zona kuning, dan aturan rejector berlaku untuk semua model kamera. Tombol "HAPUS MODEL" membersihkan dan slot, sehingga meminta konfirmasi; "Hapus yang dipilih" menghapus satu model dari slot, serta file dan zona-nya dalam database tetap tersimpan.
Model umum
Tombol "MODEL UMUM" menyimpan kumpulan "kamera → model" dengan nama: "Buat dari model yang ada", "Terapkan ke semua kamera", "Perbarui dari yang ada", "Ganti nama", "Hapus kumpulan". Pemindahan stand dari delapan kamera ke produk lain hanya memerlukan satu pilihan. Menghapus kumpulan hanya menghilangkan pengelompokan: folder, ONNX, zona, dan aturan tetap. Zona tersebut dimiliki oleh pasangan "kamera + model": satu model pada delapan kamera menghasilkan delapan penandaan independen.
Encoder dan rejector di konveyor
Untuk jalur dengan encoder pada port COM (115200, ESP32): sambungkan HUBUNGKAN ENCODER, otomatis terhubung, posisi, ukuran gambar, dan koreksi, Atur nol + AMBIL GAMBAR. Pengambilan gambar untuk pelatihan dan analisis dapat dilakukan "menggunakan encoder" – bingkai seragam sepanjang jalur produk. Rejector lama dengan penundaan waktu dan anti-spam mengirim perintah REJECT ke pengendali encoder.
Perekaman video dan foto
Tab Pengaturan: MULAI PEMBIDANGAN VIDEO dari kamera aktif ke dalam file record_tanggal_waktu.avi (MJPG, *frame rate* kamera yang sebenarnya). Gambar untuk pelatihan — real_….jpg, gambar untuk inspeksi — inspect_….jpg dengan area yang ditandai.
9. Pengaturan, konsol, persyaratan, dan lisensi
Settings
- SIMPAN KE FILE / IMPORT DARI FILE — semua pengaturan (kamera, model, aturan) dalam format JSON, sangat praktis sebelum instalasi ulang atau untuk memindahkan ke komputer lain. Sumber informasi yang terpercaya adalah basis data, JSON adalah cadangan jika basis data tidak dapat diakses. Setiap perubahan pengaturan akan disimpan secara otomatis.
- MENGHAPUS PENGATURAN AWAL — bersifat permanen: menghapus konfigurasi dan tata letak jendela.
- Bahasa antarmuka: 14 bahasa; jendela utama dapat diubah langsung, jendela lainnya dapat dibuka pada saat berikutnya.
- Posisi, ukuran, dan tampilan semua jendela, posisi pembatas – dalam database; saat monitor dimatikan, jendela kembali ke area yang terlihat.
Console
Kotak centang "Kamera" dan "Pemicu" secara default dinonaktifkan dan menampilkan pesan yang sesuai (pesan kamera dalam mode pemicu masuk ke bagian "Pemicu"); semua pesan ditulis ke file logs\engiai-*.log sebelum penyaringan. Konsol dirancang untuk penggunaan selama beberapa minggu tanpa perlu perhatian: 800 baris ditampilkan di layar, dan 1000 baris lama dihapus; baris baru dikumpulkan dalam kelompok 4 kali per detik, bukan satu per satu; fungsi gulir otomatis ke bawah diaktifkan sampai Anda menggulir ke atas; konsol tidak menghasilkan suara. Perubahan zona ditulis tidak lebih dari 10 baris per detik (sisanya dikumpulkan dalam penghitung), file log dibagi menjadi 20 MB, file yang lebih tua dari 14 hari dihapus saat dijalankan, log kejadian disimpan dalam database dengan 20.000 catatan terakhir. Kesalahan yang belum ditangani — di crash.log, penyebab penutupan paksa — di runtime.log di sebelah file exe. Jika ada yang tidak berfungsi dengan benar, lihat bagian ini terlebih dahulu.
Persyaratan
| Komponen | Persyaratan |
|---|---|
| Sistem Operasi | Windows 10/11 x64. |
| Kartu Grafis untuk Inspeksi | NVIDIA dengan driver CUDA; library CUDA 13 dan cuDNN 9 disertakan dengan program. Tanpa kartu grafis, inspeksi akan berjalan secara otomatis pada prosesor. |
| Pelatihan | Python 3 (dengan opsi "Tambahkan python.exe ke PATH" saat instalasi) dan paket ultralytics, onnx, onnxslim, onnxruntime — program akan menginstalnya secara otomatis saat pertama kali digunakan, diperlukan koneksi internet. GPU untuk pelatihan ditentukan oleh PyTorch; tanpa CUDA, pelatihan akan berjalan di CPU yang lebih lambat, hasilnya sama. |
| Kamera SICK | Driver IDS uEye; kamera harus terlihat di IDS Camera Manager. |
| Kamera HIKROBOT | SDK MVS (library disertakan dengan program); untuk GigE — kartu jaringan dengan dukungan untuk frame jumbo. |
Lisensi dan Mode Uji Coba
Saat dijalankan, program mengakses server lisensi engi.live; hanya hash dari ID perangkat dan versi yang dikirim, tanpa nomor seri dan nama pengguna. Jika server tidak ada dan izin telah di-cache, program akan berfungsi berdasarkan cache (untuk jalur tanpa internet). Tanpa lisensi, mode uji coba 20 menit akan aktif: di judul jendela dan di bar "AI", akan ada hitungan "UJI MM:SS", tombol "BELI" di tab Pengaturan akan membuka halaman pembelian. Jika lisensi aktif, hitungan tidak akan aktif.
10. Daftar periksa singkat dan pencarian masalah
Daftar periksa untuk papan:
Jika terjadi kesalahan
| Gejala | Hal yang perlu diperiksa |
|---|---|
| Kamera tidak muncul dalam daftar | daya dan kabel; untuk SICK — IDS Camera Manager dan IP dari subnet adaptor; untuk HIKROBOT setelah penutupan darurat, tunggu hingga 25 detik dan "Hubungkan Kembali" |
| Gambar gelap, abu-abu, atau warna yang salah | Kamera → «Pengaturan otomatis untuk AI»; untuk SICK berwarna — tata letak Bayer dan keseimbangan putih; untuk USB — «Standar», lalu «Tetapkan Parameter» |
| Frame terputus, jaringan merah | GigE: ukuran paket 1500 atau jumbo pada kartu jaringan, penundaan antar paket; FPS atau jumlah frame lebih rendah; kartu jaringan terpisah untuk kamera |
| "Kartu tidak ditemukan" / gambar terlewat | Referensi tidak terdeteksi atau diambil dalam kondisi pencahayaan yang berbeda; sedikit titik referensi — ambil area penyelarasan yang lebih besar dan dengan detail; area terkena meja atau konveyor; perpanjang periode pencarian |
| Area-area bergerak ke kartu lain | Kartu dicari berdasarkan area inspeksi: pastikan referensi dengan area penyelarasan berdasarkan detail kartu di sekitarnya (bagian 4.4); model penyelarasan "Otomatis" |
| Kartu yang rusak dari batch lain tidak tersedia | Pelabelan pada casing berbeda: tambahkan gambar normal dari batch ini; jangan membuat goresan sintetis yang lebih tipis dari 3 px (bagian 4.6); periksa apakah cacatnya adalah pergeseran, bukan warna |
| Area yang ditandai dengan NO_ZONE_CLASS | Jaringan berubah setelah pelatihan; kembalikan jaringan atau buat model baru dan ambil gambar lagi |
| Semua area berwarna merah pada kartu yang baik | pembayaran atau posisi lain tanpa konveyor aktif; ambang batas terlalu tinggi; foto diambil dengan pencahayaan yang berbeda; file berwarna dan abu-abu dicampur |
| Model tidak mendeteksi pergeseran elemen | menghitung px/mm (bagian 1.3): pada skala kecil, pergeseran kurang dari 5 px; mengurangi bidang pandang atau menggunakan kamera dengan resolusi yang lebih tinggi; jangan memperluas pergeseran normal |
| Pembelajaran menurun atau sangat lambat | Perangkat = cpu, jika tidak ada kartu grafis NVIDIA; mengurangi ukuran Batch; melihat Konsol; memastikan Python ada di PATH |
| Inspeksi tidak berfungsi | Apakah best.onnx telah dipilih; Apakah sumber kecepatan (melalui kamera / timer / pemicu) telah diaktifkan; Apakah tombol "TIDAK MENGGUNAKAN AI" belum ditekan; Apakah kotak centang "AI Aktif" pada kamera telah dicentang |
| Aturan rejector diam | apakah tombol "Buat di N zona" ditekan; centang "Aktif"; kelas aturan sesuai dengan jawaban model (anomali / normal); untuk keluar - tingkatnya bukan "off"; kamera USB tidak memiliki output, hanya TCP |
| Suara tidak dimainkan | aturan telah dibuat dan dimasukkan; file berada di folder sounds (atau sounds\custom); apakah ada jeda antara suara; tanpa opsi "ulang", suara hanya diputar saat kelas berubah; volume Windows dan perangkat keluaran |
| Paket TCP dikirim hanya sekali | tanpa opsi "mengulangi", sistem akan menunggu balasan "ok <paket>" dari penerima; centang opsi "ulangi hingga kelas aktif" atau atur balasan di sisi PLC. |
engiAI Ethernet System. Nama tombol dan kolom sesuai dengan tampilan dalam program Anda dalam bahasa yang Anda gunakan (screenshot – dari antarmuka berbahasa Rusia). Screenshot diambil pada model "model_4" (dua zona 256x256: kapasitor C30 dan jembatan BR1), kamera USB 3264x2448, model dilatih dalam skala abu-abu. Edisi 3, September 2026: contoh pada dua zona, pembuatan folder model, area penyelarasan, data sintetis "elemen dengan dasar" dengan gambar "sebelum / sesudah", palet dan ketebalan garis, zona merah, konsol.
