Pemeriksaan marking

engiAI · tombol TEKS
Mengenali dan memverifikasi tanda pada kabel, pipa, pita, dan kemasan

Kamera ditempatkan setelah printer atau mesin pemermarkan laser. engiAI membaca teks yang telah dicetak langsung dari aliran video: menggabungkan tulisan yang melewati area tersebut menjadi satu, membandingkannya dengan contoh atau daftar referensi, menyimpan setiap tanda yang ditemukan dalam database, dan mengirimkan hasilnya melalui jaringan – ke browser, dalam format JSON, dan ke pengendali melalui TCP.

1. Area/Wilayah: Bingkai pada video yang menunjukkan teks.
2. Contoh kalimat yang harus dicetak
3. Analisis Jaringan saraf membaca setiap frame
4. Kesimpulan "Terdeteksi" atau "Tidak terdeteksi" + basis data.
~10 frame/detik
Membaca area pada kartu grafis (CUDA)
RU + EN
Huruf Kiril, huruf Latin, angka, simbol
0 pelatihan
Model PaddleOCR siap digunakan langsung
HTTP + TCP
Browser, JSON, sinyal dari controller

Bagaimana cara kerjanya

engiAI — TEKS: jendela di samping video
Di sebelah kiri adalah video dari kamera, bingkai biru adalah area yang dikenali. Di sebelah kanan adalah jendela TULIS: potongan area, bingkai hijau di sekitar kata-kata yang terbaca, dan baris "Saat ini di area".

Tombol "TEKS" terletak di bar atas jendela utama "engiAI", di sebelah tombol KELUAR, KAMERA, TRIGGER, MODEL UMUM, dan HITUNG. Tombol ini membuka jendela "TEKS – pengenalan penanda". Jendela ini dapat tetap terbuka di atas video: area pada bingkai terlihat, selama jendela terbuka atau pengenalan diaktifkan.

Di bagian atas jendela terdapat tiga hal yang sama untuk semua tab:

  • Deteksi Teks — tombol utama. Selama kotak centang tidak dicentang, deteksi teks tidak akan berfungsi dan tidak membebani program.
  • ▭ Menentukan area – klik dan seret bingkai di video menggunakan tombol mouse apa pun. Saat jendela terbuka, bingkai dapat ditarik dan dihapus dengan klik kanan tanpa perlu menekan tombol. ✖ Menghapus area menghilangkan area tersebut.
  • Kondisi di sisi kanan: MENUNGGU penandaan, CATAT penandaan, JEDA atau BERDASARKAN SINYAL MASUK. Di bawahnya, informasi yang ditampilkan meliputi (GPU CUDA atau prosesor), jumlah frame per detik yang dibaca, dan jumlah milidetik yang digunakan untuk setiap frame.
Saran. Buat area yang lebih luas terlihat, meliputi bagian atas tulisan dan yang terentang sepanjang pergerakan: semakin banyak tanda yang berada dalam area tersebut, semakin kuat pula hasil perekaman. Kamera harus berada setelah tanda ditambahkan, teks harus jelas dan tidak buram.

Tab "penandaan" – hasil dan perbandingan dengan contoh

engiAI — TEKS: frasa contoh
Tab "penandaan": contoh frasa, pratinjau area, apa yang ada di area, dan apa yang dicatat, di bawahnya adalah daftar penandaan yang sudah jadi. Baris hijau adalah "Terkenali", merah adalah "Tidak dikenali", dalam kurung adalah persentase kecocokan dengan contoh.

Ini adalah tab kerja untuk operator. Di bagian atas, terdapat mode "Bandingkan semua dalam area dengan sampel":

engiAI — TEKS: Tanda
Kolom "Contoh" – frasa yang harus dicetak; "Persentase Kesamaan" – dari persentase berapa dianggap sebagai penandaan yang benar. Di sebelah kanan adalah status yang aktif.
1
Centang opsi "Bandingkan semua elemen dalam area dengan contoh" dan masukkan frasa lengkap ke dalam kolom "Contoh", misalnya Энергокомплект UTCAB-PV1-F 6 4 ТУ BY 300528652.036-2014 EAC 2026 Беларусь. Perhatikan bahwa huruf besar/kecil, spasi, dan karakter yang terlihat serupa antara huruf Rusia dan Latin (seperti T dan t, U dan y, E dan e) tidak berpengaruh.
2
Tentukan Tingkat Kesesuaian, %. 100 berarti setiap tanda cocok; 65–80 berarti ada ruang untuk kesalahan dalam pencetakan dan pembacaan.
3
Aktifkan fitur "Pengenalan Teks". Kalimat panjang tidak dapat dimuat sepenuhnya dalam area—program akan mengumpulkan kalimat tersebut secara bertahap, saat kalimat tersebut melewati area tersebut.

Bagaimana analisis frasa dilakukan di jalur:

  • Pencatatan dimulai dari awal kalimat. Jika fitur ini diaktifkan di tengah teks, bagian akhir teks akan dilewati – program akan menunggu awal kalimat berikutnya.
  • Setiap bingkai ditempatkan pada posisinya dalam contoh, dan setiap huruf menerima "suara" dari semua bingkai di mana huruf tersebut terlihat. Hasil akhirnya adalah varian yang paling sering terbaca. Kesalahan acak pada satu bingkai (misalnya, bagian huruf yang terpotong di tepi atau pantulan cahaya) diperbaiki oleh bingkai-bingkai di sekitarnya. Karena ada lebih banyak "suara" dari bingkai-bingkai yang berdekatan, hasilnya menjadi lebih akurat.
  • Hasilnya akan ditampilkan setelah seluruh frasa melewati area pemrosesan, atau jika tidak ada karakter baru yang terdeteksi selama periode waktu yang ditentukan pada tab "Pengenalan" (artinya, proses berhenti dan area tersebut kosong). Setelah hasil ditampilkan, program akan menunggu dimulainya frasa berikutnya; setiap frasa yang berdekatan akan diproses dan disimpan secara terpisah.
  • Program menentukan arah pergerakan sendiri atau mengambil dari pengaturan "Sumber Teks".

Selama proses pengenalan, di sisi kanan pintu, Anda dapat melihat angka: 40 dari 64 tanda, dan di baris "Diterima", Anda dapat melihat persentase kecocokan dan teks yang telah dikenali. Setelah proses selesai, hasilnya ditampilkan sebagai 73% – TERKENALI atau TIDAK TERKENALI. Hasil yang sama juga ditampilkan secara besar di atas video.

Tanpa centang "Bandingkan Semua di Area dengan Contoh" akan menghasilkan penyambungan berurutan: setiap tulisan dicatat dari awal hingga akhir sesuai dengan aturan di tab "Awal dan Akhir", dan jika diperlukan, dibandingkan dengan daftar referensi.

Di bawah daftar, terdapat kontrol:

  • Semua penanda / Hanya yang terakhir — berapa yang harus ditampilkan di sini dan dikembalikan ke browser.
  • Tanggal, waktu, dan penandaan / Hanya penandaan – informasi apa yang harus dikirim ke browser dan disimpan dalam format JSON.
  • ⚖ Membandingkan — membandingkan setiap tanda yang telah dibuat dengan referensi yang telah ditandai.
  • 💾 Simpan sebagai JSON, 📂 Unggah JSON (data yang diunggah menjadi referensi), Hapus daftar — menghapus baris dari layar dan dari browser, tetapi data tetap tersimpan di database.

Tab "Referensi" – daftar penandaan yang benar

engiAI — TEKS: Referensi
Tab "Referensi": penandaan yang telah diunggah, centang "Bandingkan dengan Ini", persentase kemiripan, dan koreksi berdasarkan standar.

Referensi diperlukan ketika ada beberapa penandaan yang berbeda (bagian, batch, pelanggan) di jalur, dan setiap yang dibaca harus ditemukan dalam daftar.

  • 📂 Unduh JSON — daftar dari file: JSON kami, array string, objek dengan bidang "text" atau hanya teks per baris untuk penandaan. Duplikat akan dihapus.
  • ✓ Tandai semuanya, ☐ Hapus semuanya, tanda centang pada setiap baris – untuk membandingkannya dengan referensi mana. ✖ Hapus referensi – menghapus daftar.
  • Kemiripan untuk pencocokan, % – 100 berarti karakter sama persis (tanpa memperhitungkan spasi dan huruf besar/kecil). Nilai di bawahnya menunjukkan bahwa ada kemungkinan kesalahan ketik atau kesalahan membaca.
  • Memperbaiki sesuai standar dari … % – jika teks yang dibaca mirip dengan referensi yang ditandai, tanda tersebut dicatat dengan teks standar (teks asli tetap disimpan dalam catatan).

Tab "Awal dan Akhir" – di mana penandaan berakhir

engiAI — TEKS: Awal dan akhir
Tab "Awal dan Akhir": teks awal dan akhir, jeda setelah akhir, waktu kosong, dan durasi rekaman terpanjang.

Aturan ini berfungsi dalam mode penggabungan berurutan (tanpa contoh), di mana program menentukan sendiri kapan penandaan dimulai dan berakhir:

  • Awal teks — pencatatan dimulai ketika teks ini dibaca di area tertentu (misalnya UTCAB). Kosong — dari teks apa pun. Jika teks awal muncul berulang, kemunculan kedua akan menyelesaikan penandaan. Memasukkan teks awal ke dalam penandaan — menyimpannya sebagai hasilnya.
  • Istirahat setelah selesai, ms — sebaiknya tidak mencatat apa pun setelah penandaan selesai.
  • Akhir teks – penandaan berakhir ketika teks ini telah dibaca (misalnya BY atau 2026).
  • Waktu kosong, ms – jika tidak ada teks di area tersebut, penandaan selesai dan disimpan.
  • Durasi terpanjang, yaitu — untuk teks yang ditulis secara kontinu tanpa spasi: setiap interval waktu tertentu akan dianggap sebagai penanda terpisah. 0 berarti tanpa batasan.

Contoh: awal "UTCAB", akhir "BY" – akan dicatat "UTCAB … BY", selanjutnya program menunggu "UTCAB" berikutnya. Perbandingan tanpa memperhatikan huruf besar/kecil, huruf Rusia dan Latin yang serupa dianggap sama.

Tab "Pengenalan": area, sudut, model

engiAI — TEKS: Pengenalan
Tab "Pengenalan": koordinat area yang tepat, sudut, dan peningkatan, ambang batas, menunggu tanda contoh baru, arah konveyor, kartu video, huruf dan tanda yang diizinkan, kamus.
  • Area pada bingkai, piksel – Koordinat X, Y, lebar, dan tinggi area pada bingkai asli: menyesuaikan bingkai dengan tepat, tanpa menggunakan mouse.
  • Memutar teks di area — bagaimana memutar area tersebut sehingga teks menjadi lurus. Teks bergerak dari atas ke bawah — «90° berlawanan arah jarum jam», dari bawah ke atas — «90° searah jarum jam». Anda dapat memutar video itu sendiri di layar pada tab «Putar Video».
  • Peningkatan – teks kecil lebih mudah dibaca jika area diperbesar; "Otomatis" secara otomatis menyesuaikan.
  • Tingkat Keyakinan Terendah, % – baris-baris yang dibaca dengan tingkat keyakinan terendah akan dihilangkan (bayangan, tepi huruf).
  • Panjang minimum untuk penandaan, tanda – hasil yang lebih pendek tidak akan disimpan.
  • Contoh: tidak ada tanda baru, MS – menunggu hasil – berapa lama harus menunggu jika tanda contoh tidak tiba (konveyor berhenti, area kosong, teks tidak terbaca). Setelah hasil diperoleh berdasarkan teks yang terbaca, analisis baru dimulai.
  • Sumber teks – dari sisi mana teks baru muncul dalam area tersebut. "Auto" menentukan berdasarkan bingkai, dengan bantuan, penyisipan lebih aman.
  • Menggunakan kartu grafis (GPU) — pada perangkat NVIDIA yang dilengkapi dengan CUDA, proses pembacaan data menjadi jauh lebih cepat.
  • Huruf dan Simbol – apa yang dapat ada dalam pelabelan: kata-kata dalam bahasa Inggris dan Rusia, hanya kata-kata dalam bahasa Inggris, atau simbol apa pun; angka dan spasi – selalu, simbol (titik, tanda hubung, garis miring, nomor, dll.) ditandai dengan tanda centang. Model hanya memilih simbol dari yang diizinkan – simbol yang tidak diperlukan tidak muncul, dan simbol yang serupa dikenali dengan lebih akurat.
  • Memilih kata berdasarkan kamus — kata yang dikenali (minimal 3 huruf, bukan angka atau kode), yang mirip dengan kata dari kamus dengan persentase tertentu, akan diganti dengan kata yang benar. Kamus berisi kata-kata sendiri (satu kata per baris) dan, jika dicentang, kata-kata dari referensi.

Di bagian ini, Anda dapat memilih model: "Pencarian Baris" (v3 – cepat, v5 server – lebih akurat untuk kartu grafis) dan "Membaca Teks" (alfabet Kiril, alfabet Latin dan angka; hanya alfabet Latin dan angka; alfabet bahasa Eropa; model server yang tepat; atau dua model sekaligus – kedua model membaca, opsi yang lebih andal dipilih). Model yang hilang dapat diunduh dengan tombol "⬇ Unduh". Tombol "⚖ Bandingkan Model di Zona Saat Ini" membandingkan zona terakhir dengan semua opsi – Anda dapat langsung melihat model mana yang paling akurat membaca penandaan Anda dan berapa lama waktu yang dibutuhkan.

Model tidak perlu dilatih. Model ini menggunakan PaddleOCR dan dapat membaca huruf Latin, Kiril, serta angka segera setelah instalasi. Penyesuaian hanya melibatkan menentukan area, sudut, dan daftar simbol yang diizinkan.

Tab "Database": semua penandaan disimpan

engiAI — TEKS: Basis data
Tab "Database": berapa banyak penandaan yang tersimpan, ekspor ke JSON, mengimpor hasil ekspor sebagai referensi, dan pembersihan.

Setiap penandaan yang terdeteksi disimpan dalam basis data program dengan tanggal, waktu, kamera, teks, dan hasil perbandingan – terlepas dari apa yang ditampilkan dalam daftar di layar.

  • 📤 Ekspor basis data (JSON) – semua penandaan disimpan dalam file untuk laporan atau transfer ke sistem akuntansi.
  • 📥 Mengunduh basis (penanda → referensi) — hanya teks penanda yang diambil dari hasil ekspor, dan teks tersebut menjadi referensi. Dengan demikian, perubahan yang telah diverifikasi dapat digunakan sebagai contoh untuk yang berikutnya.
  • 🗑 Membersihkan basis data — menghapus semua entri.

Tab "Jaringan" – hasil di browser dan dalam format JSON

engiAI — TEKS: Jaringan
Tab "Jaringan": server HTTP bawaan, alamat untuk terhubung melalui semua adaptor jaringan PC, dan daftar alamat API.

Tandai Kirim Data Melalui Jaringan — engiAI akan menjalankan server HTTP (port default 8096). Setiap komputer atau tablet di jaringan dapat membuka halaman dengan penandaan, perbandingan, dan referensi menggunakan browser biasa; tidak perlu menginstal apa pun. Tombol 📋 Salin dan 🌐 Buka di Browser mengambil alamat dari daftar.

AlamatApa yang diberikan
/halaman: penandaan, perbandingan, referensi, JSON
/api/markspenandaan – semua atau yang terakhir, dengan tanggal atau tanpa (seperti yang dipilih di jendela)
/api/marks?show=last&format=textpenandaan terakhir dalam teks sederhana
/api/lastpenandaan terakhir
/api/statestatus dan teks di area saat ini
/api/refsreferensi; POST /api/refs — unggah referensi (dalam format JSON).
/api/exportseluruh basis penandaan

Saat pertama kali dijalankan, firewall Windows mungkin meminta izin untuk mengakses engiAI—izinkan akses ke jaringan yang diperlukan.

Tab "Input" – tangkapan berdasarkan sinyal dari kontroler

engiAI — TEKS: Input
Tab "Input": Server TCP untuk menerima sinyal dari PLC atau sensor – jaringan, port, nilai sinyal, respons ke klien, dan verifikasi "Ambil gambar sekarang".

Ketika produk tiba di depan kamera berdasarkan sinyal (sensor, PLC, robot), tandai "Mengenali berdasarkan sinyal input (TCP)". "engiAI membuka server TCP; setiap sinyal menghasilkan satu gambar area: teks dikenali, dibandingkan, dan disimpan dalam database, sama seperti dalam mode berkelanjutan.

  • Jaringan — pada adaptor jaringan mana untuk menunggu sinyal (pada semua jaringan, pada adaptor mana saja); dapat memasukkan alamat IP secara manual. Port — secara default 8097.
  • Sinyal – apa yang dianggap sebagai kode. Secara default 1: berupa teks ("1", "1\r\n") atau byte 0x01.
  • Menanggapi pelanggan dengan teks yang dikenali – tanggapan berupa baris dengan penanda, saat perbandingan, hasilnya berupa OK atau NG melalui tabulasi; NO TEXT – teks tidak ditemukan, ERROR … – tidak ada area atau frame.
  • 📸 Foto saat ini (uji coba) — sama seperti sinyal, tetapi menggunakan tombol. Pengujian tanpa pengontrol dapat dilakukan dengan program TCP-UDP (klien): masukkan alamat, port, nilai "1", lalu klik "Kirim".

Fungsi masuk dan pengenalan terus-menerus bekerja secara bersamaan: jika "Pengenalan Teks" dicentang, program terus memantau konveyor, dan untuk setiap sinyal, program juga mengambil gambar tambahan.

Pengaturan cepat dalam 5 menit

1
Klik TEKS, lalu ▭ Pilih Area dan tarik kotak tersebut sepanjang teks pada video.
2
Pada tab "Pengenalan", pilih rotasi agar teks pada pratinjau menjadi lurus, perbesaran ×2–×4 untuk teks kecil, dan arah pergerakan konveyor.
3
Pada tab "Penandaan", tandai "Bandingkan semua di area dengan contoh", masukkan frasa dan ambang batas.
4
Aktifkan fitur "Pengenalan Teks". Setiap kalimat yang terdeteksi akan muncul dalam daftar dengan baris berwarna hijau ("Terdeteksi") atau merah ("Tidak Terdeteksi").
5
Jika diperlukan, aktifkan "Jaringan" untuk browser dan JSON, serta "Input" untuk sinyal dari kontroler.