engiAI

  • Koşullar
Windows 10/11 x64. CPU ve GPU analizleri – RTX 50+ sürümleri.

⬇ engiAI.rar (900 MB)

⬇ engiAI-ZONA-PARA-TR.pdf (5.4 MB)

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

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

SICK IDS Camera Manager - link 2

Kayıt

engiAI için başvuru yapmak

EngiAI (engiAI Ethernet System) — bir masaüstü görüntü işleme programıdır ve endüstriyel denetim ve üretim hattındaki ürünlerin kontrolü ve ayıklama için kullanılır. C# (.NET 9, WinForms) üzerinde yazılmıştır, Windows x64 üzerinde tek bir, bağımsız olarak derlenen AOT (Ahead-of-Time) çalıştırılabilir dosyası olarak çalışır.

  • Ne yapar
Kamera tutucuları: Endüstriyel Hikrobot (SDK), USB/DirectShow, IDS uEye ve ayrıca OpenCV aracılığıyla Android kameralar. Aynı anda birden fazla kamera.

Yapay Zeka Kontrolü: YOLO (ONNX Runtime / GPU-CUDA veya CPU) yapay zeka, nesneleri ve kusurları gerçek zamanlı olarak tanır.

ROI (İlgili Alan) Bölgeleri: Özelleştirilebilir kontrol alanları, sınıflar ve kurallarla tanımlanmış bölgeler, katalog.

Ayırıcı: Yapay zeka tarafından üretilen sinyal, ayrık çıkışa (kusur düzeltme) gönderilir. Bu, pin ayarının ve test cihazıyla kontrolün yapılmasıyla birlikte gerçekleşir.

Tetikleyiciler: Sahnenin çekilmesi, harici bir sinyale göre (ayarlı girişler, enkoder).

Model Eğitimi: Veri kümeleri, sentetik veri (dönüşler/yansıma/ışık seviyesi), YOLO11'in doğrudan programdan eğitimi.

Veritabanı: Yerel SQLite veritabanı (rejectors.db) – modeller, bölgeler, tetikleme günlüğü, kameraların durumu.

  • Lisanslama
Tek bir kurulum: Mod (Deneme / Lisans / Yasak)

Lisans olmadan: 20 dakika deneme modu; lisanslı durumda: sınırsız çalışma.

Donanıma bağlanma, çalışan tüm örneklerin kontrolü.

engiAI Ethernet System
BÖLGE-ÇİFT – Baskılı devre kartlarının ve montajların görsel denetimi

engiAI arayüzünün Türkçe sürümü yoktur; programı İngilizce arayüzle kullanın. Bu kılavuzda düğme ve alan adları Türkçeye çevrilmiştir — programda İngilizce karşılıklarını arayın.

Kontrolün özü, BÖLGE-ÇİFT'in çoklu bölge özelliğidir. Plakada, kontrol edilmesi gereken her bir eleman için ayrı bölgeler işaretlenmiştir. Her bir model, her bölge için "normal / anormallik" olmak üzere iki sınıf tanımlar ve yalnızca bu sınırlarda karar verir. Örneğin, kılavuzda iki bölge: C30 kondansatörü ve BR1 köprüsü; gerçek bir plakada onlarca sayıda bölge olabilir, ancak yöntem aynıdır.
Sentetik veri – bir elemanın tabandan otomatik olarak kaydırılması. Program, parçayı ve etrafındaki (hatlar, izler, taban rengi) devre üzerindeki alanı birlikte alır, alanı parçanın boyutuna kadar küçültür ve parçayı kaydırır veya döndürür. Eğitim için gereken kusurlar, tek bir kusurlu kart üzerinde değil, iki tıklama ile elde edilir.
Kullanım kılavuzu: Kamerayı nasıl bağlayacağınız, bölgeleri nasıl tanımlayacağınız, hizalama bölgesini nasıl kaydedeceğiniz, normal ve anormal durumları nasıl görüntüleyeceğiniz, modeli nasıl eğiteceğiniz, denetimi nasıl başlatacağınız ve denetimi nasıl bir robot veya PLC'ye bağlayacağınız: Sesli uyarılar, SICK ve HIKROBOT kameralarının ayrık çıkışları ve TCP mesajları aracılığıyla.
Adım 1Kamera
2. AdımAlan bölümleri için ızgara
3. AdımNormal ve Anormal Durumlar
4. AdımEğitim
5. Adım Denetim
6. AdımÇıkışlar ve TCP
Tüm ekran görüntüleri, çalışan bir programdan alınmıştır: vtlift yazılımı, 3264×2448 çözünürlüğe sahip USB kamerası, model_4 modeli, 256×256 çözünürlüğe sahip iki bölge (C30 kondansatörü ve BR1 köprüsü), gri tonlarında eğitilmiş. Program, HIKROBOT (GigE ve USB3) kameraları, SICK picoCam (uEye), USB/web kameraları ve RTSP üzerinden çalışan IP kameralarıyla çalışır. 3. sürüm - Eylül 2026.

İçerik

  1. 1. engiAI ve BÖLGE-ÇİFT yöntemi neden kullanılıyor?
  2. 1.1. Bu yöntem, tüm kareyi sınıflandırmaya kıyasla ne gibi avantajlar sağlar?
  3. 1.2. Hız: Yapay zeka, yalnızca gerekli bölümleri inceler.
  4. 1.3. Ne kadar doğruluk beklemeli: Kendi kameramıza göre hesaplama
  5. 1.4. Hızlı Başlangıç: Ayarlar belirlenmiş, bölgeler ve model birkaç tıklama ile ayarlanmış
  6. 2. Program arayüzünü sadece bir dakikada oluşturun
  7. 3. Kameralar: Bağlantı ve Ayarlar
  8. 3.1. Hangi kameralar destekleniyor?
  9. 3.2. KAMERA CAMI: eklemek, yeniden bağlamak, silmek
  10. 3.3. "Kamera" sekmesi: HIKROBOT ve SICK için
  11. 3.4. Kamera sekmesi (USB/web kamerası için)
  12. 3.5. Kaydedilmiş kamera ayarları (önceden tanımlanmış profiller)
  13. 3.6. GigE ağının ve yeniden bağlantının kurulumu
  14. 4. BÖLGE-ÇİFT modeli: Ağdan eğitilmiş modele geçiş
  15. 4.1. Yöntemin yapısı: Tek model, her bölge için ayrı bir sınıf
  16. 4.2. Bir model oluşturun
  17. 4.3. Ödeme alanındaki bölgeleri işaretleme
  18. 4.4. Referans noktası: hizalama alanı
  19. 4.5. Bölgesel görüntüleme: normal ve sentetik veri
  20. 4.6. Yapay veri hatası: Eleman, temele birlikte kayar
  21. 4.7. Bölge Bozuklukları: Ayar Seçenekleri
  22. 4.8. Referans noktaları ve bölgeler: Lehimleme noktaları ve bölge düzenleyicisi
  23. 4.9. Modelin Eğitimi
  24. 5. denetim
  25. 5.1. Modeli belirleyin ve bölgeleri kontrol edin
  26. 5.2. Tanınabilir alanın eşik değeri
  27. 5.3. Hareketli bant: Her pozisyonda kullanılabilen çözüm
  28. 5.4. Hangi sinyali analiz etmeli?
  29. 5.5. Sarı bölgeler: Bölgeyi tıklayarak kapatın
  30. 5.6. Ekran ve konsolda neler görülebilir
  31. 6. Tetikleyiciler: Kameranın girişine yerleştirilmiş dış sensör
  32. 7. Çıkışlar: Ayrılabilir, kameralardan gelen ayrık sinyaller ve TCP
  33. 7.1. Rehber: ÇIKISLAR: İletişim bilgileri ve test cihazı ile kontrol
  34. 7.2. Çıktı Penceresi: Bölgeye uygulanacak kural
  35. 7.3. TCP paketi, robot veya PLC'ye gönderilir
  36. 7.4. Kameranın ayrık çıkışı
  37. 7.5. Sesli uyarı: Her bölge için ayrı ses
  38. 7.6. Tetikleme kayıtları ve veri tabanı
  39. 8. Diğer modlar ve görevler
  40. 9. Ayarlar, konsol, gereksinimler ve lisans
  41. 10. Kısa kontrol listesi ve arıza tespiti

Nasıl kullanılacak: Bölüm 1, yöntemin neden gerekli olduğunu ve elde edilecek sonucu açıklar. 3-5. bölümler, boş bir programdan çalışan bir denetime geçiş sürecini anlatır; bu bölümleri sırayla uygulayın. 6-7. bölümler, sensörlerin, çıkışların ve TCP bağlantısının nasıl kurulacağını açıklar. 8-10. bölümler, diğer özellikler, ayarlar ve kontrol listesini içerir.

1. engiAI ve BÖLGE-ÇİFT yöntemi neden kullanılıyor?

engiAI Ethernet System — üretim hattı için görsel denetim yazılımıdır. Endüstriyel veya normal bir kameradan alınan bir görüntüyü, bölgelere ayırır, her bölgeyi eğitilmiş bir sinir ağıyla kontrol eder ve sonucu bir kamera çıkış sinyali, bir robot veya PLC'ye gönderilen bir TCP mesajı veya bir günlük kaydı olarak dönüştürür. BÖLGE-ÇİFT yöntemi, "her yerde doğru" olan ürünler için tasarlanmıştır: baskılı devre kartları, montajlar, parçaların biriktirme kutuları, düzenlenmiş ambalajlar.

1 model
Tüm bölgelere, yüzlerce farklı model yerine, tek bir model uygulanacak.
2 bölge
Örnek olarak, C30 kondansatörü ve BR1 köprüsü gösterilmiştir. Bu bileşenler, bir devre üzerinde onlarca sayıda bulunabilir.
≈5 px
"Normal / kusur" ayarının uygulandığı elemanın kaydırılması
2 kez
Canlı örneklerden, normal ve sentetik kusurlara kadar, eğitim amaçlı

1.1. Bu yöntem, tüm kareyi sınıflandırmaya kıyasla ne gibi avantajlar sağlar?

Standart yaklaşım, tüm kare veya tüm bölgeler için "normal / anomali" olmak üzere iki sınıf içeren tek bir model kullanmaktır. Ancak, bu sistem üzerinde çalışmaz: Köprü BR1'in bulunduğu 2. bölgedeki boş alan - bir hata, aynı boş alan başka bir bölgede ise - normaldir. Bu iki sınıfı tek bir modelde ifade etmek mümkün değildir. Diğer uç nokta ise, her bir parçayı ayrı bir modelle ele almak; bu da onlarca eğitim ve onlarca dosya gerektirir.

BÖLGE-ÇİFT, bu durumu şu şekilde çözüyor: Tek bir model kullanılır, ancak bölgelerin sayısına göre de sınıf sayısı belirlenir. "Bölge" bir parça etrafındaki dikdörtgen şeklindedir. "Sınıf", ağın öğrendiği resimlerin bulunduğu bir klasördür. Her bölge kendi çiftiyle çalışır: zone_001 (normal bölgeler 1, örneğin C30 kondansatörü) ve zone_001_anomaly (kusur bölgeleri 1); zone_002 ve zone_002_anomaly ise BR1 köprüsü. 1. bölgeyi kontrol ederken, program sadece onun çiftine bakar, 2. bölgeyle ilgili cevaplar kullanılmaz. Anomali sınıfları isteğe bağlıdır: Kusur, bölgenin görünümünü değiştirir ve "normal" güvenilirliği otomatik olarak düşer; ancak sentetik veri (4.6. bölüm) ile tek bir tıklama ile oluşturulabilir ve güvenilirliği önemli ölçüde artırır.

Canlı görüntüdeki devre örneği: İki alan – sağ üstteki BR1 köprüsü ve sol altındaki C30 kondansatör, her ikisi de "normal" olarak işaretli yeşil renktedir. Mavi çizgiler hizalama alanı sınırlarını, mavi noktalar ise devrenin çerçevede bulunan referans noktalarını gösterir.
Canlı görüntüdeki devre örneği: İki alan – sağ üstteki BR1 köprüsü ve sol altındaki C30 kondansatör, her ikisi de "normal" olarak işaretli yeşil renktedir. Mavi çizgiler hizalama alanı sınırlarını, mavi noktalar ise devrenin çerçevede bulunan referans noktalarını gösterir.
İki kişinin arasındaki karar17 numaralı bölgeyi değerlendirirken, ağdan yalnızca iki çıkış dikkate alınır: "normal 17 numaralı bölge" ve "17 numaralı bölgedeki anomali". Diğer yüzlerce sınıf, çözümde yer almadığı için, benzer komşu bölgeler de sonuçları etkilemez.
Başkasına ait sinyal normal şekilde geçemezEğer bir veya iki sinyal alanı, ağın %10'undan daha az sinyal yakalarsa, bu alan "tanınmayan" olarak kabul edilir. Bu, farklı bir sinyal veya sinyal alanının kayması anlamına gelir. Bu tür bir alan, normalde yüksek olasılıkla değil, bir kusur olarak kabul edilir.
Hata, bölgeyle orantılıdırSentetik hataların boyutu ve konumu, bölgenin boyutuna oranla belirlenir. 8 MP'lik bir karedeki, bir elemanın 0,5 milimetrelik kayması fark edilmezken, 128×128 px'lik bölgede bu, 5-6 piksellik bir değişimdir ve bu, belirgin bir miktardır.
Tam izin108–137 px boyutundaki alanın, neredeyse hiç ölçeklendirme yapılmadan ağa gönderilmesi. Tüm kareyi aynı 128 px'e sıkıştırmak, on kat daha fazla detay kaybına neden olurdu.
Hedef aralık: "normal / kusur" Sentetik veri, normal değerlerde 0-2 px aralığında bir varyasyon gösterirken, sentetik veri kusurlarında 5 px'lik bir kayma gösterir. Ağ, bu aralığa odaklanır, rastgele aydınlatma farklılıklarına değil.
Hedeflenen sonuçHer bölge, kendine özgü bir adres (model, tablo, hücre) ve bir isimle tanımlanmıştır. Her bölgeye, sesli uyarı, bölge numarasıyla TCP iletimi veya güvenlik kamerası çıkışı gibi kendi kurallarınız uygulanabilir.
Her pozisyonda ölçümOperatör, plakanın detaylı kısmını çerçevede işaretler. Her bir çerçeve, referans noktalarına göre hizalanır ve kontrol alanları, plaka 180 derece döndürülmüş veya kaydırılmış olsa bile (4.4. bölüm), yeni plakanın üzerinde bulunur.
Plakadan kaynaklanan kusur Sentetik kusur, çizilmiş bir leke değil, aynı zamanda plakayla birlikte kaydırılmış veya dönük bir elemandır. Model, "eleman ↔ plaka" arasındaki ilişkiyi öğrenir, ancak sadece lekenin rengini değil. Bu işlem iki adımda (4.6. bölüm) yapılır.
Anormal durumlar adım adım raporlanmaktadır Kusur, yalnızca gerçekte meydana geldiği yerlerde sınıflandırılır: lehim bağlantıları, eksik parçalar, kaymalar, çizikler. Model güncellenirken, ağ aynı kalır.

1.2. Hız: Yapay zeka sadece gerekli kesimleri inceler

Yapay zeka asla tam bir görüntü almaz. Her alan için sadece o alanın dikdörtgeni kesilir ve alan numarası, iki sınıflı bir seçim yapar. Aynı çerçevedeki alanlar paralel olarak (dört hatta kadar) değerlendirilir, tüm alanların sonuçları tek bir paket halinde ekrana gönderilir, tek tek alanlar yerine.

  • Analiz hızı, zamanla belirlenir. "Kamera sek başına analizler (AI)" kaydırıcısı, "Kamera sek başına N sayıda analiz" anlamına gelir ve "her N'inci kare" anlamına gelmez. Sınır, kamera frekansı ve çıkarım süresidir.
  • Varsayılan olarak GPU kullanılır. Çıkarım, ONNX Runtime ve CUDA aracılığıyla yapılır; eğer NVIDIA marka bir ekran kartı yoksa, program otomatik olarak işlemciye geçer ve bu durumu durum bölümünde belirtir (GPU (CUDA) veya CPU).
  • Gereksiz verilerden arındırılmış tamponlar. Veriler, tek bir seferde işlenerek ve yeniden kullanılarak, kareden kareye değişen analiz süreleri olmadan ayrılır.
  • Görev için model. BÖLGE-ÇİFT programı, giriş boyutunu otomatik olarak 128 px olarak ayarlar ve YOLO11 ağını "s" boyutunda kullanır: Bölgenin kesimi neredeyse hiç ölçeklenmez ve ağ, yüzlerce sınıf çifti için yeterli kapasiteye sahiptir.
  • Otomatik bant, iş gücü tasarrufu sağlar. İş gücü, anakart arama sürecinde daha az sıklıkla kullanılır; anakart arama ve hizalama işlemi bir kez yapılır ve ardından kesim işlemi gerçekleştirilir.
  • "Görüntü, analizi engellemez. Pano, saniyede en fazla 25 kez yeniden çizilir ve yalnızca yeni kamera çerçevesinden elde edilen görüntü, ekranda görüntülenmeden önce panonun boyutuna indirilir. Log, arka planda bir akış tarafından dosyaya yazılır. 8 megapiksel çözünürlüklü bir çerçeve ve yüzlerce alana sahipken, arayüz hala duyarlı kalır."

Video ekranının üst kısmında, gerçek değerler görüntüleniyor: fps (saniye başına kare sayısı) ve son analizdeki milisaniye değeri, ayrıca Eff (saniyede tamamlanan analiz sayısı) de gösteriliyor.

1.3. Ne kadar hassasiyet beklemeli: Kendi kameranızla hesaplayın

Program, kamera ve lensin özelliklerine bağlı olarak "0,5 mm" gibi bir hassasiyet vaat etmez. Hata payı, bir ürünün bir milimetreye düşen piksel sayısı ve modelin eğitildiği sınırla belirlenir. Bu, iki satırda hesaplanır:

px/mm = karenin piksel cinsinden genişliği / görüş alanının milimetre cinsinden genişliği
En küçük fark edilebilir kayma yaklaşık olarak 5 pikseldir ve bu değer, pikselin milimetreye oranına bölünerek hesaplanır

5 px – önerilen anomali ayarlarında sentetik kaymanın alt sınırı (normal değerinin dağılımı ise 0–2 px). Varsayılan ayarlar 11 px/mm üzerine göre hesaplanmıştır: Bu ölçekte 0,5 mm, 5–6 px'e denk gelir ve bu, tasarım aşamasında belirlenen hedeftir. Kendi değerlerinizi girin:

Kamera (kare boyutu)Görüş alanı: 100 mm200 mm300 mm400 mm
3264 px (USB 8 MP, fotoğraflardaki gibi)0,03 mm/px → kayma ≈ 0,15 mm0,06 → ≈ 0,3 mm0,09 → ≈ 0,45 mm0,12 → ≈ 0,6 mm
2448 px (HIKROBOT 5 MP)0,04 → ≈ 0,2 mm0,08 → ≈ 0,4 mm0,12 → ≈ 0,6 mm0,16 → ≈ 0,8 mm
1920 px (SICK picoCam, HIKROBOT 2 MP)0,05 → ≈ 0,25 mm0,10 → ≈ 0,5 mm0,16 → ≈ 0,8 mm0,21 → yaklaşık 1,0 mm
Önemli. Bu, ani bir ışık değişiminde ve sabit ışıkta bir elemanın kaymasını değerlendirmek için kullanılan bir yöntemdir. Gerçek sınırı, "BÖLGE-ÇİFT: alan ↔ model" düğmesi ve eşik tanıma bölümü (5.2) ile kontrol ederek belirleyebilirsiniz: Her alanın kendine özgü bir kesimi vardır, bu nedenle de kendine özgü bir güvenilirliği vardır. Kameranın görüş alanı ne kadar küçük ve piksel sayısı ne kadar fazlaysa, modelin fark edebileceği hata o kadar küçüktür.

1.4. Hızlı Başlangıç: Ayarlar belirlenmiş, bölgeler ve model birkaç tıklama ile ayarlanmış

Bu yöntem, makine öğrenimi konusunda deneyim sahibi olmayan bir teknisyenin, tek bir vardiya içinde çalışan bir model elde etmesini amaçlamaktadır. Programın veritabanında önceden seçilebilen tüm parametreler ve ayarlar bulunmaktadır:

  • Dakikada alanlar. ROI düzenleyicisinde, belirli bir öğenin etrafına bir çerçeve çizin ve alanın boyutunu (örneğin, 256 px) belirtin. Eğer çok sayıda öğe varsa ve bunlar düzgün bir şekilde sıralanmışsa, tüm tablo üzerinde çerçeve çizin; program otomatik olarak satır ve sütunları sayacaktır.
  • Sentetik veri, normal ve hatalı örnekler önceden ayarlanmıştır. "Varsayılan", "Eleman Kaydırma" ve "Renk ve Boya" düğmeleri, önceden tanımlanmış profilleri etkinleştirir. Çekim düğmesine basılmadan önce, dosya sayısı, kamera kareleri ve beklenen süre görüntülenir.
  • Eğitim parametreleri otomatik olarak ayarlanır. İlk görüntü alındıktan sonra, program aşağıdaki ayarları yapar: Görüntü boyutu 128, model boyutu "s", epoch sayısı 50, batch boyutu 64. Eğitim sırasında, anormallik sınıflarıyla çakışan artırılmış veri (augmentasyon) teknikleri devre dışı bırakılır.
  • Kamera, düğme ile ayarlanır. "AI (her kare için) otomatik ayar", pozlama, kontrast, renk tonu ve beyaz dengesini otomatik olarak ayarlar; USB kameralar için "Şekil bazlı otomatik ayar" ve "Parametreleri sabitle" seçenekleri mevcuttur.
  • Kamera ayarları koleksiyonları. Seçilen parametreler, belirli bir isim altında kaydedilir ve listeden seçilebilir. Kamera, bu ayarları hemen alır ve hafızasında saklar.
  • Çıktıda tek bir ONNX dosyası bulunur. Eğitilmiş model otomatik olarak dışa aktarılır ve hemen denetim için atanır, ek adımlar gerekmez.

Tam yol: Kamerayı bağla → Model oluştur → Alanları işaretle → Hizalama bölgesini belirle → Birden fazla çalışır kart üzerinde "Alanlara göre fotoğraf" oluştur → "Alanlardaki anormallikler" → AI modelini eğit → "İnceleme" sekmesi. Bundan sonra, ses, çıkışlar ve TCP'yi alanlara bağlamak gerekiyor. Başlamak için gerekenler: Windows 10/11 işletim sistemine sahip bir bilgisayar (hızlı inceleme için NVIDIA ekran kartı), bir kamera, bir çalışır kart ve eğitim ortamını kurmak için bir internet bağlantısı. Çalışmayan kartlar gerekli değil.

2. Program arayüzünü sadece bir dakikada oluşturun

Ana pencere iki kısma ayrılmıştır. Sol kısımda, kameralardan gelen canlı video ve üzerinde bulunan durum çubuğu yer almaktadır. Sağ kısımda ise, tüm kontrollerin bulunduğu sekeli içeren bir panel bulunmaktadır. Bu bölümler arasındaki sınır sürüklenerek değiştirilebilir; program, tüm pencerelerin boyutlarını, konumlarını ve düzenini kendi veritabanında kaydeder.

Ana ekran: Sol tarafta, iki bölgeye sahip (her ikisi de yeşil – "normal") devre kartının canlı görüntüsü, sağ tarafta ise "model_4\best.onnx" modeli ile "İnceleme" sekmesi. Canlı akış etkinleştirilmiş, "normal · 112 nokta" göstergesi görüntüleniyor.
Ana ekran: Sol tarafta, iki bölgeye sahip (her ikisi de yeşil – "normal") devre kartının canlı görüntüsü, sağ tarafta ise "model_4\best.onnx" modeli ile "İnceleme" sekmesi. Canlı akış etkinleştirilmiş, "normal · 112 nokta" göstergesi görüntüleniyor.

Videonun üzerinde bulunan düğmeler

DüğmeNe açıyor
VİDEOYU SAKLAEkrandaki görüntüyü kaldırır. Analiz sadece çizim işleminden tasarruf sağlar.
ÇIKISLARBilgi kutusu: HIKROBOT ve SICK markalı kameraların ayrık çıkış bağlantı noktaları, test cihazıyla kontrol, yük bağlantısı (bölüm 7.1).
KAMERALAR"Bağlı kameraların ayarları" penceresi: kameraların eklenmesi, yeniden bağlanması, silinmesi ve donanımdan okunan tüm parametrelerin görüntülenmesi (3.2 bölüm).
TRİGERLERDış bir sensörü, şemayla ve pinleme ile kameranın diskret girişine bağlama (6. bölüm).
GENEL MODELLER"Kamera → model" adlandırılmış setler, tüm standa tek bir seçimle atanır (8. bölüm).
Düzen (Sütunlar)Kaç adet kamera görüntüsünün yan yana gösterileceği; "■" - tek kamera modu (seçilen kamera büyütülmüş), "Otomatik" - kameraların kök sayısı, "⛶" - tüm monitörde kameralar (Esc tuşu).
ROI bölgelerini görüntüleVideo üzerinde bölgelerin ızgarasını çizmek gerekli mi?

Sağdaki sekmeler

SekmeAmaç
CameraSeçilen kameranın parametreleri: pozlama, güçlendirme, renk, çözünürlük, yapay zeka için otomatik ayar, kaydedilmiş ayarlar, analiz hızı. Yapay zeka eşiği burada yok, sadece "İnceleme" sekmesinde bulunuyor.
OUTPUTAyırıcı: bölgelerdeki kurallar - robot/PLC'ye TCP ile veri gönderimi, kameranın dijital çıkışları ve sesli uyarılar, tetiklenme günlüğü, veri tabanı.
AI ModelModel oluşturma: klasör, sınıflar, bölgelerin ızgarası, bölgelere göre fotoğraf, bölgelerdeki anormallikler, referans kartları, ayarlar ve eğitim başlatma.
InspectÇalışma sekmesi: hangi model inceleme yapıyor, bölgelerin ve eşiğin kontrolü, canlı akış, hangi sinyalle kare alınacak, çoklu model denetleme yuvaları.
SettingsArayüz dili (14 dil), lisans satın alma, ayarların kaydedilmesi ve yüklenmesi, video kaydı.
ConsoleOlay Günlüğü: Kameraların bağlantısı, eğitim süreci, ayırıcıların tetiklenmesi, uyarılar. Ekran, son 800-1000 satırı tutar, tüm bilgiler logs\engiai-*.log dosyalarına kaydedilir.

Durum çubuğu

Ekranın üzerinde, aktif kameranın durumu gösterilir: LIVE (Android): 3264×2448 [HD USB Kamera] – tür, çözünürlük ve isim; AI: WAITING veya AI: GPU (CUDA) – model hangi donanımı kullanıyor ve son analiz için ne kadar süre harcadığı; Net: toplam … aktif … Mbit/s – GigE kameralarının ağ üzerindeki yükü (yeşil, bağlantının %40'ına kadar; turuncu, %70'e kadar; daha sonra kırmızı). Exp Load şeridi, çekim süresinin ne kadarını tutma süresi kullandığını gösterir: eğer bu değer sağa doğru hareket ederse, kamera belirtilen hızı tutamaz.

Her bir odanın duvar paneli, kendi adını, durumunu ( LIVE | AI:ON ) ve yeniden bağlanma düğmesini içerir. Ekranın üzerine sağ tıklamak, bölge menüsünü açar; sağ tıklayıp sürüklemek, büyütülmüş görüntü üzerinde panoramik görünüm sağlar.

3. Kameralar: Bağlantı ve ayar

3.1. Hangi kameralar destekleniyor

TipBağlantı şekliProgramdan yapılandırılanlar
HIKROBOT MV-CS
(GigE, USB3)
Yerel MVS SDK. Sadece seri numarası ile açılır, sıralama önemli değildir.Çıkarım: 6 µs, artış (dB), FPS, çözünürlük (AOI), siyah seviyesi (0…4095), tüm GenICam düğmeleri (otomatik modlar, gama, keskinlik, beyaz dengesi (R/G/B), dijital kaydırma, ters çevirme, GigE paketleri). Parametreler, kameranın kendi UserSet1 bölümüne yazılır. Line 0 giriş, Line 1 çıkışı, GPIO Line 2.
SICK picoCam
(IDS uEye, GigE)
uEye sürücüsü. Kameranın, "doğru şekilde yapılandırılmış" durumunda IDS Camera Manager'da görünmesi gerekir. Seri numarası, çünkü uEye'nin DeviceID'si her çalıştırmada değişir.Kontrast, parlaklık: 0...100, kare hızı (FPS), çözünürlük, siyah seviyesi: 0...255, piksel saat hızı, kazanç artışı, donanım aracılığıyla yapılan kırmızı (R) kanal güçlendirmesi/G/BCihazın gama aralığı, Bayer düzeni. Parametreler, kamera belleğine yazılır. Optokuplörün girişine bir tetik sinyali verilir, çıkışı ise flaş devresine (150 mA) bağlanır.
USB web kamerası
(listedeki seçeneklerden: Android)
OpenCV üzerinden DirectShow, moniker açısından farklıdır, bu nedenle aynı iki kamera karıştırılmaz.8K'ya kadar çözünürlük, FPS, tüm sürücü özellikleri: parlaklık, kontrast, doygunluk, ton, keskinlik, gama, güçlendirme, pozlama (otomatik), odak (otomatik), beyaz dengesi (otomatik), aydınlatma kompanzasyonu vb. Sadece TCP üzerinden erişilebilir, ayrı giriş ve çıkış yoktur.
IP kamerası RTSP`rtsp://admin:parola@192.168.1.64:554/… şeklinde bir bağlantı, elle eklenir.Pozlama, güçlendirme, çözünürlük ve FPS, kameranın kendi web arayüzünde ayarlanır. Programda ise bölgeler, model ve TCP bilgileri bulunur.

Kamera sayısı üzerinde kesin bir sınırlama bulunmamaktadır: Pencereler, herhangi bir sayıda ızgara şeklinde düzenlenebilir; gerçek durumlarda, 8 ve 9 kamera aynı anda çalıştırılmıştır. Her kameranın kendi modelleri, kendi bölgeleri, kendi eşik değeri ve kendi analiz hızı vardır.

3.2. KAMERA EKRANI: Ekle, yeniden bağlan, sil

1
Videonun üzerinde bulunan "KAMERLER" düğmesine tıklayın. Bu, tüm ekranda "BAĞLI KAMERLER AYARLARI" penceresini açacaktır (kapatmak için Esc tuşuna basın).
2
"x1 + Kameraları Ekle" düğmesine tıklayın. Program, ağ ve USB bağlantılarını tarayacak ve bulduğu tüm cihazları tek bir listede gösterecektir: Hikrobot … Seri Numarası: … IP Adresi: …, SICK … Seri Numarası: … Cihaz Kimliği: …, Android …. SICK kameralarının taraması 4 saniyeye kadar sürebilir, çünkü GigE cihazı sürücüde anında görünmeyebilir. Kullanılan veya yanlış yapılandırılmış SICK kameraları, nedeni belirtilerek ⚠ işaretiyle işaretlenecektir.
3
İstenen kameraları işaretleyin ve "Ekle" düğmesine tıklayın. IP kameralarını "+ RTSP bağlantısı" düğmesiyle ekleyin. Kameraların bağlandığı süre boyunca, "Kamera geç" düğmesiyle geçilebilir bir ekran gösterilir.
4
Kamera, listede "Ad | Tür | Seri Numarası | ÇEVrimiçi veya ÇEVrimiçi Değil | AI: Açık | Ekran: Açık" şeklinde bir satırda görünecek ve videoları ise ana pencerenin sol tarafında yer alacaktır.

Aşağıdaki seçenekler, seçilen kamera için geçerlidir: Kamera açık (aksi takdirde cihazdan bağlantısı kesilir ve ekrandan kaybolur), Video/bölgeleri göster (sadece görüntüleme, analiz her zaman çalışır), Seçilen kamera için yapay zeka etkin. Bağlantıyı Kes/Yeniden Bağla düğmesi, bağlantıyı tamamen keser ve yeniden bağlar, böylece yapay zeka akışı yeniden başlatılır ve modeller yeniden yüklenir.

Pencerenin sağ tarafı, cihaza bağlandığında okunan tüm kamera parametrelerini, grupları ve ölçü birimleriyle birlikte gösterir: "Hangi parametreleri göstereceğim", "Kameradan tekrar oku", "Kopyala". Bu sadece bir görüntüleme alanıdır; parametreleri değiştirmek için "Kamera" sekmesini kullanabilirsiniz.

Önemli. HIKROBOT markalı, GigE bağlantı kullanan kamera, tek bir bağlantı noktasıyla çalışır. Programın beklenmedik bir şekilde kapanması durumunda, kamera bağlantısı "heartbeat" süresi boyunca aktif kalır; program, 25 saniyeye kadar (10 deneme) bekler ve "kamera başka bir işlem tarafından kullanılıyor" şeklinde bir hata mesajı verir. SICK cihazlarında, yanlış bir IP adresi tespit edildiğinde, program, eğer IP adresi adaptörün alt ağına ait değilse, bir kez otomatik olarak düzeltmeye çalışır.

3.3. "Kamera" sekmesi: HIKROBOT ve SICK için

Bu sekme, mavi bir çerçeveyle belirtilen kamera ile çalışır. Program, bağlandığında kameraya herhangi bir veri yazmaz; kamera, gerçek değerleri temsil eder ve kaydırıcılar bu değerlere göre ayarlanır. Ayarları yalnızca "Parametreleri Kaydet" düğmesine tıklayarak bilinçli olarak kaydedebilirsiniz.

1
Aşağıdaki alanlara, `Genişlik (W)` ve `Yükseklik (H)` değerlerini girin (veya yalnızca bu kameranın desteklediği boyutları içeren listeden bir ön ayarı seçin) ve `ÇÖZÜMÜ UYGULA` düğmesine tıklayın. Genellikle, kameranın tam çerçevesi kullanılır. Boyut, kameranın AOI (Alan Of Interest) adımına göre aşağı doğru yuvarlanır.
2
"Otomatik Ayar (Görüntüye Göre)" seçeneğine tıklayın. Program, parlaklık dağılımının 99,5'inci yüzdesinin 220…248 aralığında, aşırı parlama olmadan yer almasını sağlamak için, pozlama (öncelik) ve kontrast (en fazla 40) değerlerini otomatik olarak ayarlar. Ardından, 1,50'lik gamut, %115 doygunluk, %105 kontrast ve otomatik beyaz dengesi ayarlanır. "Otomatik" kutucuğu işaretlendiğinde, sürekli bir mod etkinleştirilir: ışık değiştiğinde her 3 saniyede bir kontrol ve ayar yapılır.
3
Gerekirse, aşağıdaki ayarları elle yapın: Düşüş (Exposure) (mikrosaniye cinsinden, ms cinsinden değer, 1 s'ye kadar), Güçlendirme (Gain), Birim Başına Çerçeve Sayısı (FPS), Kara Seviyesi (Black Level). SICK için ayrıca Piksel Saat (Pixel Clock) (çerçeve sayısını ve minimum maruz kalma süresini belirler), Güçlendirme Artışı (Gain Boost), Donanım Gamı (Hardware Gamma), Kırmızı / Yeşil / Mavi (WB Red / Green / Blue) ayarlarını da kullanabilirsiniz.
4
"Ayarları Kaydet" düğmesine tıklayın: camera_params\<SN>.ini dosyası ve kamera belleğine (HIKROBOT için "UserSet1" - varsayılan ayarlar, SICK için "EEPROM") kayıt işlemi gerçekleşecektir. Sonuç, düğme üzerinde ("✔ Kaydedildi") gösterilecektir. HIKROBOT için, değişiklikten sonra 5 saniye içinde kameraya (UserSet1) otomatik olarak kaydetme seçeneği bulunmaktadır.

"«Hikrobot: Kameranın Parametreleri (GenICam)"

Sadece kameradan gelen bilgiler görüntülenir. Seçenekler: Otomatik pozlama (Kapalı / Tek / Sürekli), Otomatik kontrast, Gama ve gama modu, Keskinlik, Ton, Yoğunluk, Otomatik beyaz dengesi, Kanal başına beyaz dengesi, Dijital kaydırma, Kara seviyesi etkin, FPS limiti etkin, Yatay ve dikey çevirme, GigE: Paket boyutu, GigE: Paketler arası gecikme, GigE: Bant genişliği limiti, Test görüntüsü. "Kamera parametrelerini yeniden okla" düğmesi tabloyu yeniden yapılandırır.

"GÖRSEL RENK" BLOĞU

Bayyer düzeni (Auto / BGGR / RGGB / GRBG / GBRG), doygunluk 0…200 %, gama 0,30…3,00, kontrast 50…200 %, sıfırlama düğmesi. Bu yazılım, tüm karelerin işlenmesine uygulanır: görüntüleme, kaydetme, çıkarım ve eğitim için fotoğraflar, bu nedenle eğitim ve denetim sırasında görüntü aynıdır. HIKROBOT için düzen, kameranın piksel formatından alınır, renkli SICK cihazları için ise sensörden ve ilk kareye göre ayarlanır.

ParametreNe yaparEtkilediği şey
Saniyedeki analiz (AI)Üst sınır, 1...200Daha düşük değer, daha az video kartı yükü; Kameranın bağlantısından bağımsızdır
AI eşiği"Kamera" sekmesinde tanımlanmazBölge tanıma eşiği - sadece "İnceleme" (5.2 bölüm) sekmesinde, her kameraya göre bir tane
ExposurePozlama süresiÖzetle, hareketli parçaların daha az yağlanması gerekir; ancak bu mümkün değildir.
Gain / Gain boostMatris sinyalinin güçlendirilmesiParlaklığı artırır, ancak gürültü ekler.
Pixel clock (SICK)Sensörün saat frekansıFPS ve çekim sürelerini değiştirir, bunlar yeniden okunur.
FPSSerbest moddaki kare hızıTrigger modunda kullanılmaz.
Genişlik / YükseklikKare boyutu (AOI)Daha küçük kare – daha yüksek hız ve daha az trafik
Önemli. Eğitim için aynı koşullarda (aynı aydınlatma, aynı hız, aynı kamera pozisyonu) fotoğraflar çekin. Ayarlar değiştiğinde, program konsol üzerinden, modelin yeni karelerle yeniden eğitilmesi gerektiğini hatırlatır.

3.4. USB/Web Kamerası için "Kamera" sekmesi

USB kameralar için, sekmede "USB Kamerası: Çözünürlük, FPS ve özellikler" bloğu bulunur. Kameradan doğrudan alınmayan sürücü özellikleri gösterilmez; çünkü DirectShow, aralıkları belirtmez.

1
"İzin" ve "Uygula" düğmeleri. "Kontrol Et" düğmesi, VGA'dan 8K'ye kadar olan standart çözünürlükleri tarar ve yalnızca kamera tarafından desteklenen çözünürlükleri listede gösterir. "Kamera Formatı" satırı, gerçek çözünürlüğü ve kare hızını (FPS) gösterir.
2
Otomatik pozlama, otomatik odaklama ve otomatik B শাumluğu ayarlarını ayarlayın, ardından "Parametreleri kaydedin (otomatik modu kapatın, mevcut ayarları kaydedin)" düğmesine basın: Otomatik mod devre dışı kalır, program aynı parlaklıkta manuel pozlamayı otomatik olarak belirler (otomatik mod etkinken, sürücü en son manuel pozlamayı verir, değerler ve format veritabanında kaydedilir ve her bir sonraki bağlantıda bu kameranın ayarları otomatik olarak uygulanır.
3
AI ile Geliştirilmiş: Otomatik olarak şekilleri algılama (20-60 saniye, canlı görüntülerden pozlama ve kontrast ayarı, kriter: belirgin kenarlar, aşırı parlama olmaması), Şekiller, renk yok, Şekiller, yumuşak, Geri Al, Standart.
4
Veriler, klavyeye basmadan doğrudan kameraya kaydedilir ve hemen veritabanına yazılır. "Kameradan özellikleri yeniden okla" düğmesi, kameranın gerçekten veriyi aldığını gösterir.
Öneri. Yapay zeka için renkleri, kameranın doygunluğunu ayarlamak yerine, genel bir seçenek olan "Gri tonlamalı olarak eğit" (modelin genel ayarı) seçeneğiyle ayarlamak daha iyi olabilir. Bu seçenek, "Kamera" sekmesinde (veya "AI Model" sekmesinde "Gri tonlamalı eğitim" olarak da adlandırılır) bulunur. Bu durumda, hem eğitim için kullanılan görüntüler hem de denetim görüntüleri gri tonlamalı olacak, ancak kamera operatöre renk bilgilerini sağlamaya devam edecektir. Örnek olarak verilen model, gri tonlamalı olarak eğitilmiştir.

3.5. Kaydedilmiş kamera ayarları (paketler)

"Kaydedilmiş Kamera Ayarları" bölümü, USB, SICK ve HIKROBOT için görüntülenir. Ürüne uygun parametreleri ayarladıktan sonra, bunları "Diğer bir kart veya farklı bir aydınlatma için" gibi bir isim altında kaydedebilirsiniz.

  • Kaydet olarak… – Kameradan mevcut değerleri okur ve bir koleksiyonun adını sorar. Eğer isim zaten kullanılıyorsa, yeniden yazmayı önerir.
  • Seçilen ayarın listesinde parametreler otomatik olarak kameraya kaydedilir ve sabitlenir: USB için – veritabanına, SICK ve HIKROBOT için – parametre dosyasına ve kameranın belleğine (UserSet1 / EEPROM) kaydedilir. Daha sonra panel, donanım üzerindeki değerleri okur ve hangi parametrelerin kabul edildiğini, hangilerinin değiştirildiğini gösterir.
  • `Yeniden Kaydet seçilen kaydı mevcut değerlerle yeniden yazarken, `Yeniden Adlandır ve `Sil komutları yalnızca veritabanındaki kaydı etkiler, kamera ayarları değişmez.

Setin içeriği: USB kameralar için: çözünürlük, kare hızı (FPS), sürücü özellikleri ve otomatik modlar; SICK kameralar için: kazanç, pozlama süresi, kare hızı, siyah seviyesi, piksel saat hızı, kazanç artışı, beyaz dengesi (R/G/B), donanım gama düzeltmesi ve yazılım renk ayarları; HIKROBOT kameralar için: kazanç, pozlama süresi, kare hızı, siyah seviyesi ve tüm GenICam düğümleri. Endüstriyel kameraların kare boyutu sete dahil değildir; bunun değiştirilmesi, "tutucu" uygulamasının yeniden başlatılmasını gerektirir. Setler, aynı tipteki tüm kameralar için geneldir, bu nedenle aynı tipteki kameralardan oluşan bir standda, her bir kamera için bir set kullanılır.

3.6. GigE ağı ve yeniden bağlantı

  • GigE paketi HIKROBOT'in boyutu otomatik olarak en uygun şekilde ayarlanır; ancak GenICam bloğunda manuel olarak da düzeltilebilir. Jumbo kareler (8164–9000), yükü azaltır; kırık kareler için 1500 değerini kullanın ve paketler arasındaki gecikmeyi artırın.
  • `Net` adlı bölüm, her bir kameradan gelen yükü, kendi verilerine göre (kullanılabilir yükün boyutu × frekans) hesaplar ve ağ kartlarının gerçek giriş trafiğiyle karşılaştırır. Önemli bir fark, çerçevelerin kaybolması veya yabancı trafiğin varlığı anlamına gelir. Hesaplamadan çıkarılan sanal adaptörler ve NDIS filtreleri (GigEVision, uEye, Npcap) de dahil edilmemektedir.
  • Eğer kamera görünür ancak veri akışı sağlanmıyorsa, "Yeniden Bağlan" (Kamera penceresinde veya panellerde) seçeneğine tıklayın. Genellikle sebep, ağın veya USB bağlantısının bant genişliğinde bir sorun olabilir.
  • SICK picoCam cihazı, bir ayar dosyasını kapattığında ayarları kaybetir. Eğer kamerada önceden bir ayar dosyası yoksa, program önceden tanımlanmış bir ayar dosyası kullanır ve kullanıcının bu ayarları kameraya kaydetmek için "Ayarları Kaydet" düğmesine tıklamasını önerir.

4. BÖLGE-ÇİFT modeli: ağdan eğitilmiş modele

4.1. Yöntemin yapısı: Her bölge için bir model, her bölge için bir sınıf

BÖLGE-ÇİFT modeli, YOLO11 adlı standart bir sınıflandırma ağıdır ve sınıfların sayısı, bölgelerin sayısına eşittir, ayrıca isteğe bağlı anomali sınıfları da bulunur. Bir sınıf, `train` ve `val` içindeki bir klasördür. Program, tüm klasörleri otomatik olarak oluşturur; manuel olarak hiçbir şey oluşturmaya gerek yoktur. Eğitimden sonra, modelin klasörü aşağıdaki gibi görünür:

Klasör model_4: train ve val – görüntüler, data.json – bölgeler, live_template – referans kartı, board.json – eşik değeri, best.onnx – eğitilmiş ağ.
Klasör model_4: train ve val – görüntüler, data.json – bölgeler, live_template – referans kartı, board.json – eşik değeri, best.onnx – eğitilmiş ağ.
model_4\ train\ Eğitim amaçlı fotoğraflar zone_001\ Normal beton (C30 mukavemeti): real_... kameradan, syn_... sentetik veri zone_001_anomaly\ kusur bölgesi 1: syn_…_combo1_d, _rotate1 … zone_002\ Normal bölgeler 2 (BR1) zone_002_anomaly\ "Hata alanı, Bölge 2" veya "Hata bölgesi, 2. bölge" val\ Doğrulama kümesi: Aynı dört klasör kullanılır ve bunlar otomatik olarak doldurulur data.json Bölgeler: Tablolar, koordinatlar, boyut, renk, açık/kapalı; sınıflar; yuvalar live_template.png / .txt Referans kartı: çerçeve, hizalama alanı, kırmızı (hariç tutulan) bölgeler live_template_zones.png Çizilmiş bölgeleri ve numaralandırılmış alanları içeren referans şeması board.json Tanıma eşik değeri ({ "eşik": 0.50 }) train_gray.txt "Gri tonlamalarıyla oluşturulmuş bir görünüm" özelliği best.onnx Eğitilmiş model, denetim görevini üstlenmek için kullanılır runs\ diag\ *.cache işle ilgili: öğrenme süreci, analiz için kullanılan görüntüler, öğrenme verileri (önbellek)
train: Her bölge için iki klasör – normal ve anormallik.
train: Her bölge için iki klasör – normal ve anormallik.
val: Aynı yapı, program çekim sırasında otomatik olarak doldurur.
val: Aynı yapı, program çekim sırasında otomatik olarak doldurur.

Dosyalar real_…jpg – gerçek kamera çekimleri (hem "train" hem de "val" klasörlerinde kaydedilir), syn_…jpg – sentetik veri, edit_…jpg – alan editöründen çekilen görüntüler. Örnekte, birkaç platformun çekiminden sonra: zone_001 – "train" klasöründe 502, "val" klasöründe 111 dosya, zone_001_anomaly – 680 ve 144, zone_002 – 813 ve 181, zone_002_anomaly – 340 ve 60 dosya bulunmaktadır.

Tek bir depolama alanı. Modeldeki tüm işaretleme – kontrol alanları, hizalama alanı, sınıflar ve yuvalar – yalnızca model klasöründe bulunur: data.json ve live_template.txt. Programın veritabanında artık alanlar bulunmamaktadır, bu nedenle ROI düzenleyici, "AI Model" sekmesinde ve "Inspect" sekmesinde aynı alanları gösterir. Model klasörü, hiçbir şeyi kaybetmeden tamamen başka bir bilgisayara kopyalanabilir. Eski modeller, ilk açıldığında otomatik olarak dosyaya aktarılır.

Program, var olan zone_NNN gibi sınıflara sahip bir modeli otomatik olarak "ödül" olarak tanır. Sınıf numarası, ızgara içindeki bölgenin genel numarasıdır (1…N). Bu nedenle, yöntemin temel kuralı şudur:

Önemli. Alanlar, modelin bir parçasıdır. Derslerin çekiminden sonra, alanlar değiştirilemez (eklenemez, silinemez, yeniden düzenlenemez): alan numaraları derslerle aynı olmayacak ve bu alanlara "NO_ZONE_CLASS" etiketi verilecektir. Alanların değiştirilmesi gerekiyorsa, yeni bir model oluşturun.

4.2. Model oluşturmak

1
"AI Modeli" sekmesini açın ve "Yeni bir yapay zeka modeli oluştur" düğmesine tıklayın.
2
Anak dizin ve model adını belirtin (program, boş model_N alanını önerir). Varsayılan sınıf listesi, normal ve anomali sınıflarını içerir; BÖLGE-ÇİFT için bunlar gerekli değildir; bölgeler için oluşturulan sınıflar, ilk bölge bazlı çekim sırasında otomatik olarak oluşturulacaktır. Bunları silebilir veya boş bırakabilirsiniz: eğitim öncesinde, program boş sınıfları silmeyi önerecektir.
3
"Modeli Oluştur" düğmesine tıklayın. Disk üzerinde "train" ve "val" adlı klasörler oluşturulacak, model düzenleme için açılacaktır (denetim modunda çalışmayacaktır). Eğer model zaten mevcutsa, bunun yerine "Model Klasörünü Seç" seçeneğini kullanın.

4.3. Plakadaki bölgeleri işaretlemek

1
Kamera önüne, parçanın tam olarak nasıl yerleştirileceğini gösteren şekilde, düzgün bir şekilde yerleştirin. "ROI → sınıfına ekle (eğitim modeli)" butonuna tıklayın.
2
"ROI'yi Sınıfa Ekle" diyaloğunda, herhangi bir sınıfı seçin (etikleme için bu önemli değil) veya yeni bir isim girin ve "Tamam + ROI'yi Aç" düğmesine tıklayın. Daha sonra, burada tüm alan sınıfları, zone_### şablonuna göre gruplandırılmış olarak görüntülenecektir: bir grup üzerine tıklamak, onu seçer; ikinci tıklama, seçimi kaldırır; "Grup'u Sil" düğmesi, tüm grup ve görüntüleri birlikte siler.
3
"ROI'yi Seç" penceresi açılacaktır. Sol tuşuyla, kontrol etmek istediğiniz parçanın etrafına bir çerçeve çizin. "Alan Boyutu, px" alanı görünecektir: boyut bilgisini girin (32'ye bölünebilen bir değer, örneğin 256) ve Enter tuşuna basın – çerçeve düz bir kareye dönüşecek ve boyut bilgisi görüntülenecektir. Her parçayı kontrol etmek için bu işlemi tekrarlayın. Örnekte, C30 ve BR1 etrafındaki iki alan bulunmaktadır.
4
Eğer çok sayıda detay varsa ve bunlar düzgün bir şekilde düzenlenmişse, ızgara kullanmak daha kolaydır: Çerçeveyi tüm plakaya yerleştirin ve bölgenin boyutunu belirtin; bu, kaç satır ve sütunun elde edildiğini gösterecektir. Ya da, `Bölge ızgarası` bloğunda satır, sütun, hücre genişliği ve yüksekliğini belirleyin ve "Izgarayı oluştur" düğmesine tıklayın. Izgarayı fare ile hassas bir şekilde ürüne taşıyabilirsiniz.
5
Sağ panel, her bölgenin boyutunu ve "aktif" yazan bir onay işareti ile birlikte gösterir; aktif olmayan bir bölge, denetimde sınıf oluşturmaz ve tamamen gizli olan bölge, denetimde yer almaz. "Tüm bölgeler ✓ / ✗", "Renk", "Sil", "Tüm bölgeleri sil" butonları. Pencereyi Enter tuşuyla kapatın – bölgeler data.json içinde saklanacak ve videoda sarı renkte görünecektir.
AI Model sekmesindeki etiketleme sonucu: Canlı karede iki sarı alan – BR1 sağ üstte ve C30 sol altta. Sağ tarafta, BÖLGE-ÇİFT modeli butonları, "Alanları işaretleyiciye göre ürünle eşleştir" seçeneği ve eğitim ayarları bulunur.
AI Model sekmesindeki etiketleme sonucu: Canlı karede iki sarı alan – BR1 sağ üstte ve C30 sol altta. Sağ tarafta, BÖLGE-ÇİFT modeli butonları, "Alanları işaretleyiciye göre ürünle eşleştir" seçeneği ve eğitim ayarları bulunur.
Önemli Not. Parça, alanın önemli bir bölümünü kaplamalı, ancak etrafında yine de bazı boşluklar (yollar, etiketler, alanlar) kalmalıdır. Bu "temel" alan, daha sonra sentetik veri oluşturmak için (4.6. bölüm) kullanılır. 0603-1206 boyutundaki bileşenlere sahip devre kartları için, 11 px/mm oranında 128 px iyi bir sonuç verir. Kondansatörler, köprüler ve bağlantı noktaları için ise, örneğe göre 192-256 px boyutları uygundur. Ağ girişinin (Image Size) boyutu, genellikle alanın boyutuna yaklaşık olarak ayarlanmalıdır.

Kırmızı alanlar: sentetik veri ile tek tıklamayla alanı hariç tutmak

"AI Modeli" sekmesinde, önceden oluşturulmuş bir alanı doğrudan videoya tıklayarak seçin: Alan kırmızı renge dönecek ve bölgesel analizlerde ve anormallik tespitinde kullanılmayacaktır. Tekrar tıklamak, alanı eski haline getirir. Sentetik veri pencerelerindeki dosya sayıları anında güncellenir ve karenin üstündeki "devre dışı N" yazısı, kaç alanın devre dışı olduğunu gösterir. Kırmızı alanların listesi, kamera ve modele göre saklanır; "İncele" sekmesinde aynı alan normal görünür (orada kendi sarı alanları bulunur - bölüm 5.5).

4.4. Referansı kaydetmek: hizalama alanı

Kontrol alanları, bir PCB'nin konumuna göre işaretlenmiştir. Böylece, farklı bir PCB'yi kaydırıp döndürerek kontrol hattına yerleştirmek mümkün olur. Program, referans olarak canlı bir kareyi ve hizalama bölgesi olarak, ürünün her yeni karede aranacağı PCB üzerindeki detaylı bölümü kaydeder. Bölümü bulduktan sonra, program kontrol alanlarını yeni PCB'ye aktarır. Bu, görüntüleme, sentetik veri ve kontrol süreçlerinde kullanılır.

İki farklı dikdörtgen. Kontrol alanları, model tarafından kontrol edilen alanlardır (yeşil alanlar). Ayarlama alanı, aranan devre için kullanılan bir işaret (turuncu çerçeve)dir. Destek noktaları asla kontrol alanlarının içinde yer almaz: Eğer devre, kondansatörün üzerinde aranıyorsa, kaydırılmış kondansatör hem kontrol alanını hem de hatayı görünür hale getirecektir. Bu nedenle, hizalama alanında, baskı, delikler, devreler ve mikroçipleri kullanın, ancak masa ve bantı kullanmayın.
1
"AI Model" sekmesinde "Ürüne işaretlerle bölgeleri sabitle" seçeneğine tıklayın ve "Arama süresi, ms" (varsayılan olarak 100) değerini girin. Kartı kameranın altına yerleştirin ve "Referansı kaydet" düğmesine tıklayın.
2
"Hizalama bölgesi: Nerede arayacağınızı" adında bir pencere, canlı bir görüntü ve yeşil alanlarla birlikte kontrol imkanı sunar. Sol tuşuyla, parçaların detaylarını içeren devre üzerinde bir çerçeve sürükleyin. Sağ tarafta, "Destek Noktaları: N · Uyum: Sert / Görüş açısı" başlığı altında, yüzlerce nokta göreceksiniz. "Küçük bir alan seçerseniz, alanı daha da genişletin." Yeni çerçeve, eski çerçeveyi değiştirir, sağ tuşuyla ise kaldırılır.
3
✔ Belirlenen alana göre bölgeleri arayın düğmesine tıklayın. İkinci düğme ✔ Bölge kontrolüne göre bölgeleri arayın, alanları otomatik olarak belirler – ancak sadece bir alan seçildiğinde. Eğer Her seferinde hizalama bölgesini sorun seçeneği işaretlenmemişse, sonraki konum aynı alanı, pencere olmadan tekrar belirleyecektir.
4
Program, "referansın kaydedildiği bilgisi" ve "Zon N, bağlantı 1, noktalar K" gibi bilgileri yazdırır ve live_template.png ve live_template.txt (kare, alan, kırmızı bölgeler) değerlerini kaydeder. "Çekim alanlarını kare üzerinde gösterme" seçeneği, bulunan bölgeleri videoda gösterir ve ödeme için kullanılan referans noktaları, mavi noktalarla işaretlenir; bu sayede programın hangi noktaya "bağlandığı" görülebilir.
hizalama alanı penceresi: turuncu çerçeve – detaylarla (3000 referans noktası) olan devre parçası, yeşil alanlar ise C30 ve BR1 kontrol alanlarıdır ve çerçeveye dahil değildir.
hizalama alanı penceresi: turuncu çerçeve – detaylarla (3000 referans noktası) olan devre parçası, yeşil alanlar ise C30 ve BR1 kontrol alanlarıdır ve çerçeveye dahil değildir.
Canlı görüntü, hizalama tamamlandıktan sonra: bölgeler kendi detaylarına göre tespit edilmiş ve "normal" olarak işaretlenmiş, mavi çizgiler hizalama bölgesinin sınırlarını, mavi noktalar ise devre üzerindeki eşleşen destek noktalarını (bu noktalar bölgelere dahil edilmiyor) gösterir.
Canlı görüntü, hizalama tamamlandıktan sonra: bölgeler kendi detaylarına göre tespit edilmiş ve "normal" olarak işaretlenmiş, mavi çizgiler hizalama bölgesinin sınırlarını, mavi noktalar ise devre üzerindeki eşleşen destek noktalarını (bu noktalar bölgelere dahil edilmiyor) gösterir.
Birleştirme modeliNe zaman kullanılmalı?
Araç (önerilir)Devre, sert bir şekilde birleştirilir (kayma, döndürme, ölçeklendirme); perspektif yalnızca belirgin şekilde daha iyi hizalandığında kullanılır. Küçük bir hizalama bölgesinde doğruluk 1-2 px'dir.
SertKamera doğrudan yukarıdan bakıyor, devre düz bir şekilde duruyor. Küçük bir hizalama bölgesi varsa en istikrarlı seçenektir.
PerspektifKamera eğimli veya devre eğimli. Geniş bir alan, tüm genişlik boyunca noktalarla birlikte gereklidir, aksi takdirde homografi "yanıltıcı" olabilir.

"referans ile alanlar" düğmesi, önceden kaydedilen referansı (grid ve alan numaralarıyla birlikte) (4.8. bölüm) açar. Bulunan plaka, mantıksal olarak kontrol edilir: alanın 0,5 ila 2 referans alanı arasında olması, düzgün bir dörtgen şeklinde olması ve destek noktalarının her bir eksende en az çeyrek alan kaplaması gerekmektedir; aksi takdirde sonuç geçersiz sayılır ve konsolda "plaka bulunamadı" yazılır.

Önemli. Daha önce, ekran üzerinde az sayıda bölge tespit edilirdi; bunun nedeni, ödeme bölümlerine göre belirlenmesiydi. Lütfen, referans noktalarını, plakanın detaylarına göre ve hizalama bölgesine göre yeniden belirleyin: Bu kılavuzdaki plaka üzerinde bulunan bölge sayısı, 46-51'den 134'ten 106-112'ye yükselmiştir.

4.5. Bölgesel görüntü: normal ve sentetik verisi

"BÖLGE-ÇİFT: bölgelere göre çekim" düğmesi şu işi yapar: canlı görüntüyü bölgelere ayırır, her bir bölgenin kesilmiş halini ilgili klasörüne yerleştirir zone_NNN ve "normal sentetik veri" ekler. "Normal sentetik veri", çekim sırasında oluşan rastgele değişiklikleri ifade eder, bir arıza değildir: örneğin, kartın yanlış yerleştirilmesi, farklı bir aydınlatma veya sensördeki gürültü gibi.

"BÖLGE-ÇİFT: Bölgeye göre fotoğraf": Seçenek sayısı, zamanlara göre fotoğraflar, val içindeki pay, bölge penceresinin tamamına göre kaydırma/dönüş/ölçekleme, "nereye" seçimi, aydınlatma ve gürültü, toplam dosya sayısı. Pencere, fare ile genişletilebilir.
"BÖLGE-ÇİFT: Bölgeye göre fotoğraf": Seçenek sayısı, zamanlara göre fotoğraflar, val içindeki pay, bölge penceresinin tamamına göre kaydırma/dönüş/ölçekleme, "nereye" seçimi, aydınlatma ve gürültü, toplam dosya sayısı. Pencere, fare ile genişletilebilir.
AyarlarNe yapar ve varsayılan olarak ne ayarlanmalıdır?
Her bölge için sentetik seçeneklerTek bir kesit için kaç sentetik dosya oluşturulmalıdır. Önerilen değerler 20, 0 - sadece referans, maksimum 500.
Zamanlara göre fotoğraflar: Her seçenek, yeni bir kamera çerçevesinden alınırAçık, 800–1200 ms (minimum pozlama süresi). Her seçenek, gerçek bir kamera çerçevesinden alınır: sensör gürültüsü, titreşim ve ışık parlaması, çizilmiş olanlar yerine.
Her seçenek ayrıca val ile olasılık olarak belirtilir:%20. Referans her zaman val'de bulunur: Ultralytics'te her sınıfın her iki klasörde de bulunması gerekir.
Gri tonlarda eğitmeGenel modelin rengi, normal, anormalleri ve denetimden çıkarılır. Renkli ve gri dosyaları aynı modelde karıştırmak mümkün değildir, program bunu size bildirecektir.
Kaydırma, px · nereyeZonadaki pencere, işaretlenmiş yönlerde (← → ↑ ↓) tüm çerçeve boyunca 0…2 px hareket eder; eksik olan kısım, komşu devre kartının bölümünden alınır ve kesim düzgün kalır. "tüm yönler" seçeneği, her yön için ayrı bir dosya oluşturur, "rastgele bir yön" seçeneği ise tek bir dosya oluşturur.
Dönüş, ° · nereyeVarsayılan olarak kapalı: plaka, hizalama bölgesinde sabitlendiğinde dönüş yoktur, ancak etkinleştirildiğinde kusur ile sınır bulanıklaşır. "Sol / sağ", "tüm yönler / rastgele" gibi kaydırma ile aynıdır.
Ölçek, % · küçültme / büyütmeVarsayılan olarak kapalıdır. İki işaretli kutu, iki farklı durumu temsil eder: azaltma (<100) ve artırma (>100, alan, komşu karelerden alır). İşaretli her bir taraf, ayrı bir dosyayı temsil eder.
Parlaklık / Kontrast / GamaHer seçeneğe göre aralıktaki rastgele değer: parlaklık 88…112, kontrast %88…112, gama %98…102 (fotoğrafta); "Elemanların kaydırma" profilinde, ışık daha geniş olacak şekilde, bir işaret olmaması için ayarlanmıştır.
Gürültü (sigma) / BulanıklıkSensör tanımı 3…8 seviye, hafif odaklanma 0,4…0,8 px.
"Genel" sütunu"Evet" seçeneği ile, bu görünüm diğerleriyle birlikte genel dosyaya girer; "Hayır" seçeneği, "referans + sadece bu görünüm" şeklinde ayrı bir dosya oluşturur. Ne kadar çok ayrı görünüm varsa, o kadar çok dosya olur.
1
BÖLGE-ÇİFT: Bölgeye göre fotoğraf seçeneğine tıklayın. Diyalogun alt kısmında, önceden belirlenmiş bir seçenek var: "1 dosya, 21 bölge (tren verisi), yaklaşık 5 (test verisi). Toplamda yaklaşık 52 dosya. Kameradan çekilen 20 fotoğraf, yaklaşık 16 fotoğraf." (iki bölge için).
2
Seçenekleri belirleyin: Varsayılan (0-2 px kayma, parlaklık ±5, kontrast 95-105 %), Elemanların kaydırılması (0-1 px kayma, parlaklık -10...10) veya Renk ve ton (0-2 px kayma, parlaklık ±2, kontrast ve gama kapatılmış, böylece ton belirgin kalır).
3
`İndir düğmesine tıklayın. Oluşturma işlemi arka planda, "Bölüm 1/2 · 26 dosya · Çerçeve 4/20" ilerleme penceresi ve iptal düğmesi ile birlikte gerçekleşir. Tamamlandığında: "Bitti: 2 bölüm → sınıflar zone_001…zone_002, dosyalar: 52". Program, hemen eğitim ayarlarını belirler: Resim Boyutu 128, Model Boyutu s, Döngüler 50, Parti 64 (4.9 bölüm).
4
Aynı düğmeyi kullanarak, birden fazla farklı, çalışır durumda olan anak kart üzerinde aynı fotoğrafı çekin. Güvenilir bir model için, her bir sınıf için toplamda en az 80 dosya, ve daha önemlisi, 5-10 adet gerçek örnek (anak kartlar) değil, yüzlerce varyasyon içeren tek bir fotoğraf yeterli olmalıdır.
tren\zone_001 — normal C30, iletken üzerinde: real_… kamera ile syn_…_n1…n20, kaydırma ekleri (shiftd, shiftl, shiftr, shiftu) ile. Yazı, her zaman tabana göre aynı konumdadır.
tren\zone_001 — normal C30, iletken üzerinde: real_… kamera ile syn_…_n1…n20, kaydırma ekleri (shiftd, shiftl, shiftr, shiftu) ile. Yazı, her zaman tabana göre aynı konumdadır.
train\zone_002: Normal BR1: real_... Üç katmanlı yapılar ve hafif dönüş (rotl, rotr) ve kaydırma seçenekleri.
train\zone_002: Normal BR1: real_... Üç katmanlı yapılar ve hafif dönüş (rotl, rotr) ve kaydırma seçenekleri.

4.6. Sentetik veri, iki tıklama ile: eleman, tabanla birlikte hareket ediyor

Sentetik veri oluşturmak için kullanılan gözlem. Model, kusuru (hatayı) çizilmiş bir nokta yerine, inceleme edilen elemanın kendisi ve etrafındaki devre elemanları (örneğin, serigrafi çizgileri, yollar, taban rengi ve dokusu) ile birlikte gösterildiğinde özellikle iyi öğrenir. Program, alanı inceleme elemanının boyutuna kadar küçültür ve ardından bu alanı kaydırır veya döndürür, böylece çerçevedeki komşu piksellerle kenarı doldurur. Sonuç olarak, eleman, gerçek kusuru, gerçek sensör gürültüsünü, gerçek ışığı ve gerçek devreyi gördüğü gibi, tabanla doğru konumda değildir.

Normal ve anormal bir bölge arasındaki fark, sadece elemanın tabana göre konumunda yatmaktadır. Her şeyin geri kalanı aynıdır, bu nedenle ağ, "eleman ↔ devre kartı" ilişkisini öğrenir, lekenin tonunu veya aydınlatmayı değil.

İki tıklama

1
BÖLGE-ÇİFT: Bölgeye ait fotoğraf → Fotoğraf çek. Her bölgedeki normal görünümler, 20 farklı çekim varyasyonuyla (pencere kaydırma 0-2 px, ışık, gürültü) zone_NNN kategorilerine ayrılır.
2
BÖLGE-ÇİFT: anormallikler → Oluştur. Varsayılan ayarlar, her iki türdeki kaymayı da içerir: bölgeyi tüm yönlerde 5-12 px'e kaydırmak ve elemanın alanını (70% alanı, daire) 15-180°'ye döndürmek. Dosyalar zone_NNN_anomaly sınıfına taşınır.

Artık başka bir şey yapılamaz: kusur çizmek veya hatalı devre kartlarını aramak gibi. Bundan sonra, AI MODELİNİ EĞİT.

Ön ve Son: Program ne elde ediyor?

ÖN: Çalışır durumda olan bir anak kartın canlı görüntüsü. Her iki alan da yeşil — "normal".
ÖN: Çalışır durumda olan bir anak kartın canlı görüntüsü. Her iki alan da yeşil — "normal".
SON: Aynı alanlara, anormallik klasörlerinden (C30 sağa-aşağı, BR1 sola dönük) sentetik veri yerleştiriliyor. Her iki alan da kırmızı — "anormallik". Ayrıca, gerçek bir arızada da anak kartın görünümü aynı olacaktır.
SON: Aynı alanlara, anormallik klasörlerinden (C30 sağa-aşağı, BR1 sola dönük) sentetik veri yerleştiriliyor. Her iki alan da kırmızı — "anormallik". Ayrıca, gerçek bir arızada da anak kartın görünümü aynı olacaktır.
Büyük, Alan 1 (C30): Sol tarafta, kameradan normal, sağ tarafta sentetik veri — eleman ve taban sağa-aşağı hareket ediyor, kenar diğer karedeki elemanlarla dolu.
Büyük, Alan 1 (C30): Sol tarafta, kameradan normal, sağ tarafta sentetik veri — eleman ve taban sağa-aşağı hareket ediyor, kenar diğer karedeki elemanlarla dolu.
Büyük, Alan 2 (BR1): Sağ tarafta, elemanın alanı 180 derece döndürülmüş — alanlar yerinde, gövde yanlış yöne bakıyor.
Büyük, Alan 2 (BR1): Sağ tarafta, elemanın alanı 180 derece döndürülmüş — alanlar yerinde, gövde yanlış yöne bakıyor.

Klasörler, kullanıcı tarafından görülen anormalliklerin aynısıdır.

4.5 bölümündeki "normal" klasörlerle karşılaştırın: Fark sadece, parçanın tabanla olan konumudur.

tren\zone_001_anomaly – hata C30. Her bir t000, t001… kopyasında, dokuz dosya bulunur: combo1_d, _dl, _dr, _l, _r, _u, _ul, _ur – alan 5-12 px'lik bir şekilde sekiz yöne kaydırılmıştır (d = aşağı, u = yukarı, l = sola, r = sağa), rotate1 – kondansatörün alanı döndürülmüştür.
tren\zone_001_anomaly – hata C30. Her bir t000, t001… kopyasında, dokuz dosya bulunur: combo1_d, _dl, _dr, _l, _r, _u, _ul, _ur – alan 5-12 px'lik bir şekilde sekiz yöne kaydırılmıştır (d = aşağı, u = yukarı, l = sola, r = sağa), rotate1 – kondansatörün alanı döndürülmüştür.
train\zone_002_anomaly: Kusur BR1: Devre kartının yüzeyi ve bağlantı noktaları, sekiz farklı yöne doğru kaydırılmış ve rastgele bir açıyla döndürülmüştür. Devre kartı ve bağlantı noktalarının dokusu gerçekçidir.
train\zone_002_anomaly: Kusur BR1: Devre kartının yüzeyi ve bağlantı noktaları, sekiz farklı yöne doğru kaydırılmış ve rastgele bir açıyla döndürülmüştür. Devre kartı ve bağlantı noktalarının dokusu gerçekçidir.
Dosya adlarını nasıl okuyacağınız. syn_<Tarih>_t003_combo1_dr.jpg — 3. kopya, genel dosya, aşağı-sağa kaydırma (d = aşağı, r = sağ, u = yukarı, l = sol); …_rotate1.jpg — öğenin alanı döndürme; …_scale1_dn/_up — daha küçük veya daha büyük yönde ölçekleme; …_tl/_c/_br — alanın konumu (köşesi, merkezi). Dosya adından, dosyadaki hangi hatanın olduğunu her zaman anlaşılabilir, ve gereksiz olanlar, "Sentetik veri sınıfını (eğitim + değer) sil" düğmesiyle alan penceresinde silinir.

Parçaların etiketlenmesi: "Çizgi" neden kalın ve nasıl ayarlanır?

Parçaların üzerinde, 1-2 px kalınlığındaki çizgiler ve işaretler bulunmaktadır. Bu işaretler, parti ile parti arasında değişiklik gösterir: farklı bir yazı tipi, kapasitör üzerindeki etiket farklı bir yöne çevrilmiş, bazı semboller silinmiştir. Eğer "çizik" gibi bir yapay kusur, aynı ince çizgiyle çizilirse, sistem bu çizgiyi, etiket işaretini ve sensör gürültüsünü ayırt edemeyecek ve farklı parti parçalarından gelen düzgün devre kartlarını reddetmeye başlayacaktır.

Sentetik veri, bu durumu iki farklı açıdan ele alıyor. İlk olarak, temel sorun olan elemanın kayması, etiketleme işaretini de birlikte taşıdığı için, işaretin hem normal durumda hem de anormalde aynı görünmesini sağlıyor. İkinci olarak, varsayılan olarak çizilen çizgi/çizik kalın (⅛ alan, en az 3 px) ve açıkça bir işaretleme çizgisine benzemiyor. Kalınlık artık açıkça belirtiliyor: Çizgi kalınlığı, px (0 = otomatik) alanı, hem çizgiyi hem de çapraz işaretini etkiliyor.

Çizilmiş kusurlar (dikdörtgen, daire, çizgi, "kaybolan eleman", bulanık nokta ve diğerleri) "Yüzeydeki sentetik kusurlar" altında toplanmıştır. Varsayılan olarak kapalı ve devre dışıdır: anakarttaki ana kusur, kayma şeklidir. Belirli görevler için etkinleştirin: dökülmüş alan, gereksiz damla, silinmiş etiket.

Şekillerin parametreleriBelirleyen şey
Boyut: ...'den ..., alanın %'si / pxŞeklin veya uzunluğunun boyutu. Yüzde olarak, alanın daha küçük kenarından (%); px olarak, tüm alanlarda aynıdır, gerçek kusurun piksel cinsinden bilindiğinde kullanışlıdır.
DolguTam / Çerçeve / Karışık (çerçeve de kalın).
Çizgi / Çizgi ve çaprazın kalınlığı, pxÇizgi / Çizgi ve çapraz: 0 - Otomatik (kalın). Parçaları etiketlemek için 3 px'in altına inmeyin.
Kusurun yeriMerkeze, sola, sağa, yukarıya, aşağıya – figürü nereye yerleştireceğiniz (biraz rastgele dağılımla). Tüm pozisyonlar için işaretlenmiş her bir yere ayrı bir dosya; rastgele bir pozisyon için ise tek bir dosya, pozisyon işaretlenmiş yerlerden rastgele seçilir. Pencerenin altındaki dosya sayacı, bunu otomatik olarak hesaba katar.
Şekillerin renkleri: 5 slotBeş slot yerine, isimlerin listesi. İşaretli kutu – slot aktif olur, renk rastgele seçilir (±12 kanal üzerinden, böylece tek bir ton olmaması sağlanır). Örnek seçme düğmesi – paletten renk seçin, 💧 pipet – kameradan canlı bir kareye tıklayın (döngü – yakınlaştırma, sağ tuş – panoramik görüntü), gerçek bir detaydan veya plandan renk alın. Varsayılan olarak iki slot etkinleştirilmiştir: koyu ve açık, diğer üçü devre dışıdır.
"Genel" sütunuBelirtilen kusur türü, diğer "genel" kusurlar (örneğin, kaydırılmış bir elemanın üzerinde oluşan çizik gibi) ile birlikte genel dosyaya eklenir. "Etiketli" seçeneği seçilmediğinde, kusur ayrı bir dosyada "normal + sadece bu kusur" olarak kaydedilir. "Tüm pozisyonlar" seçeneği her zaman ayrı bir dosyada bulunur.

4.7. Bölgesel Anormalikler: Ayar Penceresi

`BÖLGE-ÇİFT: Anormal Alanlar` düğmesi, normal alanlardan `zone_NNN_anomaly` sınıflar oluşturur. Tüm alanlar, kırmızı (AI Model, 4.3 bölümünde tıklanarak kapatılmış) alanlar hariç, seçilir. Anormal alan sınıfları her yerde gerekli değildir: Bunları, kusurun gerçekten görüldüğü alanlar için ekleyin, diğer alanlar ise model tarafından tanınabilir olacak şekilde kontrol edilecektir.

"BÖLGE-ÇİFT: bölgesel anormallik" penceresi: kusurun üzerine kopyalanan; parametreleri, konumunu ve paleti olan, katlanabilir çizilmiş şekiller grubu; alanın şekli ve ±% ölçeği ile birlikte alanın kaydırılması, döndürülmesi ve ölçeklendirilmesi; alt bölgeler; kusurun üzerine aydınlatma; zaman ve val değerlerine göre görüntüler.
"BÖLGE-ÇİFT: bölgesel anormallik" penceresi: kusurun üzerine kopyalanan; parametreleri, konumunu ve paleti olan, katlanabilir çizilmiş şekiller grubu; alanın şekli ve ±% ölçeği ile birlikte alanın kaydırılması, döndürülmesi ve ölçeklendirilmesi; alt bölgeler; kusurun üzerine aydınlatma; zaman ve val değerlerine göre görüntüler. Pencere, fare ile genişletilebilir.
AyarlarNe yapar
Kusurun üzerine kopyalananTek sayı tüm türler için: Her işaretlenmiş tür için, yeni rastgele parametrelerle kaç kopyanın oluşturulacağını (varsayılan olarak 10).
▸ Kesim alanındaki yapay kusurlarVarsayılan olarak katlanmış grup: dikdörtgen, küçük dikdörtgenler, daire, elips, üçgen, sekiz, çizgi/çizik, çapraz, `eksik eleman, bulanık nokta, gürültü düzeltmesi, başka bir bölgeden bir parça. Şekillerin, konumun ve renk paletinin parametreleri – 4.6. bölüm.
Kaydırma, px · nereye · şekilAna arıza, kart üzerindeki belirli bölgelerde (dikey/yatay veya çapraz) 5-12 px'lik bir kayma: ← → ↑ ↓ ve iki çapraz yönde (⤡ ⤢). dikey/yatay ölçek, ±% – alanın, bölgeye göre boyutu: 0 – tüm bölge, -30 – bölge, bölgenin %30 daha küçük (sadece eleman kayıyor, temel aynı kalıyor), +30 – bölge, bölgenin %30 daha büyük (çevredeki öğeleri de dahil ediyor). tüm yönler – her yö için, dosya içinde.
Dönüş, ° · şekilAlan (dairesel veya kare, aynı ölçek ±%) rastgele bir açıda iki yönde dönüyor.
Ölçek, % · küçültme / büyütmeAlanın kusur olarak kullanımı: %60–85 oranında azaltma veya %120–160 oranında artırma. Her işaretlenmiş taraf için ayrı bir dosya. Genellikle devre dışıdır.
"Ortak" kaydırma ve dönüşEğer her iki kutu da işaretliyse, bu, ``bir öğenin aynı dosyada tanımlanması anlamına gelir: kaydırma ve döndürme tek bir dönüşümle uygulanır (sırayla değil, aksi takdirde "karışık" bir sonuç elde edilir), alanın ölçeği ve şekli ortak ve kaydırma ile belirlenir.
▸ Alt bölgelerAlan 2, 4 veya 9 parçaya ayrılır ve her birinin içinde ayrı bir alan dönüyor veya kaydırılıyor; "Her alt bölge için ayrı fotoğraf" seçeneği, her parçaya ayrı bir dosya veriyor. Birden fazla öğe içeren büyük alanlar için gereklidir.
Her kusur dosyasının üzerinde ışık ve gürültüAçık ve normal: Kusur, ışık yerine geometrik olarak farklı olmalıdır.
Zamanla / val'deki fotoğraflarHer bir kopyada, kameradan yeni çekilen kare (800 ms), %20 oranında val, ilk sınıf dosyası her zaman val'de bulunur.
1
"BÖLGE-ÇİFT: anomali alanlar" seçeneğine tıklayın. Sonuç önceden belirlenmiş: "Alan: 2 · kopyaya: 2 dosya · alana: 20 · toplam ≈ 40 (+ val'deki kısım)". "Tüm yönlerde" ifadesiyle dosya kopyalaması dokuz olur, yukarıdaki klasörlerde olduğu gibi.
2
Seçim yapın: Varsayılan (5–12 px'lik alan kayması + alan, şekil ve alt alanların döndürülmesi ve kapatılması), Elemanların kaydırılması (sadece 4–12 px'lik kayma, normaldeki gibi), veya Renk ve ton (şekiller, "eleman kayboldu", palet renkleri, kayma olmadan). Değişikliklerinizi pencere hemen kaydeder, her tıklamada.
3
"Oluştur" düğmesine tıklayın. zone_NNN_anomaly sınıfları model ağacında görünecektir. Görüntüdeki kusurları, "ROI" (İlgi Alanı) seçeneğiyle ilgili sınıflara ekleyin.
Önemli. Sentetik kayma aralığının alt sınırı (5 px), normal aralığının (0–2 px) hemen üzerinde yer almaktadır. Normal aralığını 5 px'e genişletmeyin ve anormallik aralığını 2 px'e daraltmayın: sınır kaybolacak ve model gerçek kartlarda dalgalanmaya neden olacaktır. Farklı bir hassasiyet gerekiyorsa, her iki sınırı tutarlı bir şekilde değiştirin ve bunları milimetre cinsinden yeniden hesaplayın (1.3. bölüm).

4.8. Alanlarla referans: Lehimleme plakaları ve alan düzenleyici

"referans ile alanlar" düğmesi, kaydedilmiş referans ağı ile ilgili bilgileri açar. Bu durumda, kamera olmadan sentetik veri oluşturulur: tekerlek ile yakınlaştırma, sağ tuş ile panoramik görüntü, sol tuş ile alan seçimi (Ctrl ile ekleme, sürükleme ile çerçeveleme, Ctrl+A ile tüm alanlar), çift tıklama ile alan düzenleyici.

  • Seçilen bölgeler için lehimleme çubukları… – "Lehimleme çubukları: yol araları arasındaki kısa devre" penceresi. Program, seçilen bölgedeki (Ots eşiği, 2 px veya daha geniş beyaz şeritler) yolları otomatik olarak bulur, bu yolların aralarındaki boşluğa, kendi renklerine, koyu kenara ve ışık efektiyle bir lehimleme çubuğu yerleştirir. Ayarlar: Yatay veya dikey yollar arasında, 1-3 numaralı fotoğraflardaki lehimleme çubukları, bölgenin %8-18'i, bölge için (5) fotoğraf, nereye yerleştirilecek: anormale veya normal, yüzey aydınlatması, val – farklı bir aydınlatma ile yeni bir fotoğraf veya tam bir kopyası.
  • Alan düzenleyici: Fırça, Pipet, Renkli Lek, Alanı Kopyala, Yapıştır, Damga, Plaka Alanı; "lehim / alan", "kart", "gölge / maske", beyaz, siyah paleti; "Kopyala" alanı ve "Fotoğraf Oluştur" düğmesi. Bu, çizimde henüz hattın üzerinde olmayan kusurları gösterir: Doldurulmuş alan, gereksiz eleman, eksik etiket.

Editör tarafından oluşturulan dosyalara `edit_…` gibi adlar verilir ve bunlar ya bir bölgeye veya bu bölgenin bir anormalliğine atanır. "İncele" sekmesinde, aynı pencere yalnızca görüntüleme amacıyla açılır.

4.9. Modelin eğitimi

"AI Model" sekmesindeki "Eğitim Ayarları" bölümü, ilk görüntüleme işleminden sonra otomatik olarak aşağıdaki değerlerle doldurulur: Görüntü Boyutu 128, Model Boyutu s, Döngüler 50, Parti 64. Bu değerler 108–137 px aralığındaki bölgeler için geçerlidir. 256 px'lik bölgeler için, örneğe olduğu gibi, Görüntü Boyutu'nu 192 veya 256 olarak ayarlayın; bu durumda kesme işlemi neredeyse hiç sıkışmaz (ana pencerenin ayarlarında Döngüler 100 ve Görüntü Boyutu 192 olarak ayarlanmıştır). Değerleri kontrol edin ve "AI MODELİNİ EĞİT" düğmesine tıklayın.

ParametreAnlamıNasıl seçilir
EpochsModelin tüm veri kümesini kaç kez gözden geçireceğiVarsayılan olarak 50; çok sayıda anomali sınıfı varsa 100–150
Batch SizeTek adımda kaç görüntü64; video belleği yetersizse azaltın
Image SizeKesilmiş görüntülerin boyutu, 32'ye bölünebilirYaklaşık alan boyutu: 108–137 px için 128; 256 px'lik alanlar için 192–256
Model Sizen / s / m / l / xs — yüzlerce çift sınıf için optimum; n yeterli kapasiteye sahip değil, m ve üzeri daha yavaş
Deviceeğitim için hangi yöntemi kullanmak0 (GPU) ile NVIDIA marka bir ekran kartı; CUDA programı yoksa, program otomatik olarak CPU'ya geçecektir.
Workersveri hazırlama akışları12 varsayılan olarak çok çekirdekli işlemci için
1
Program, başlangıçta aşağıdaki öğeleri kontrol eder: boş sınıfların, val içindeki gereksiz klasörlerin silinmesini önerir ve val'i, orada boş olduğunda bulur. İlk çalıştırmada, eğitim ortamı (Python 3, ultralytics, onnx, onnxslim, onnxruntime paketleri) kurulur – internet bağlantısı ve birkaç dakika gerekir.
2
BÖLGE-ÇİFT modeli için eğitim, erasing, flip, crop ve randaugment gibi işlemler olmadan yapılır: Bu işlemler, anomali sınıflarıyla (ters çevrilmiş alan, farklı bir alandır) çakışır. İlgili satır konsola yazılır.
3
"Durdur" düğmesi kırmızıya dönüyor, sağdaki halka, her dönemdeki ilerlemeyi yüzde olarak gösteriyor. Eğitim sürecinin ilerleyişi, konsolda görülebilir. İki bölge ve 100 dönem için, bu işlem bir grafik kartıyla yaklaşık 10-15 dakika sürüyor.
4
Program, tamamlandıktan sonra, `best.onnx` öğesini modelin kök dizinine aktarır ve hemen "denetim" olarak işaretler. "ONNX'i İhrac Et" düğmesi, yeniden eğitmeden aynı işlemi tekrarlar.
İpucu. "kusur" veya yeni katmanlar ekledikten sonra, aynı düğmeyi kullanarak eklemeyi tamamlayın: eklemeyi tamamlayın, "YAPAY ZEKÂ MODELİNİ EĞİT" seçeneğini tıklayın ve best.onnx mevcut modeli üzerine yazın. Bu işlem sırasında ağ yapısını değiştirmeyin.

5. denetim

Tüm işlemler, "Inspect" sekmesinde gerçekleştirilir. Model, eğitimden sonra zaten tanımlanmıştır; kalan işlemler, bölgeleri kontrol etmek, eşik değerini ayarlamak, hız kaynağını seçmek ve ödeme herhangi bir pozisyonda gelirse, canlı bir akış hattını etkinleştirmektir.

"İnceleme" sekmesinde: model_4\best.onnx modeli, "Kontrol sınıfları: PLAKA - Bölge 2, 2 anomali sınıfı", Bölge N, zone_N / zone_N_anomaly çifti içinde çözülüyor, eşik %50, 2000 ms'lik canlı bir akış, "normal - 112 nokta" göstergesi.
"İnceleme" sekmesinde: model_4/best.onnx modeli, "Kontrol sınıfları: PLAKA - Bölge 2, 2 anomali sınıfı", Bölge N, zone_N / zone_N_anomaly çifti içinde çözülüyor, eşik %50, 2000 ms'lik canlı bir akış, "normal - 112 nokta" göstergesi, altında hız kaynağı ve "GPU", "Gri analiz" işaretleri. Görüntüde her iki bölge de yeşildir - "normal".

5.1. Modeli ve bölgeleri atayın ve kontrol edin

1
Eğer model atanmamışsa, "ONNX MODELİNİ SEÇ" seçeneğine tıklayın ve model klasöründe "best.onnx" yolunu belirtin. "Sınıflar" satırı, tüm sınıfları gösterecektir; isimler, ONNX dosyasından alınacağından, çıkış numaralarının isimlerle kesin olarak eşleştiğinden emin olabilirsiniz.
2
Tıklayın BÖLGE-ÇİFT: bölgeler ↔ model (kontrol, eşik)Pencerede şu bilgiler gösteriliyor: "Ağdaki sunucu sayısı: 2 / Sınıflar..." zone_NNN Modelde: 2, anomali sınıfı: 2. "Her bir ızgara alanı kendi sınıfına sahiptir." "Modeldeki sınıflı alanlar" veya "Izgaradaki sınıfları olmayan alanlar" uyarıları, ızgaranın eğitimden sonra değiştirildiğini gösterir.
3
Yapay Zeka Kullanımını Kısıtla Bu kameradaki analizi geçici olarak devre dışı bırakır, ancak ayarları silmez (her kamerada kendi ayarı bulunur); "Modeli Kaldır" Model ve bölümleri tamamen siler.

5.2. Bölge tanıma eşiği

Her bir bölge için, ağ tüm sınıfların olasılıklarını verir, ancak karar yalnızca çiftler içinde alınır. "Normal" durumu için, q = p(zone_N) / (p(zone_N) + p(zone_N_anomaly)) oranı, "tanıma" faktörüyle çarpılır; bu faktör, çiftin ağın çıktısını ne kadar etkilediğini gösterir (yüzde 10 veya daha yüksek bir değer, tam tanıma anlamına gelir). Sonuç olarak elde edilen 0 ile 100 arasındaki değer, bir eşik değeriyle karşılaştırılır: değer eşiğin üzerindeyse normal, değer eşiğin altındaysa anomali olarak sınıflandırılır.

Varsayılan eşik %50'dir ve board.json içinde, modelin yanında saklanır ve hemen uygulanır, yeniden başlatma gerekmez. %50'den düşük bir eşik, normal değerlere daha fazla yaklaşır: %25 → 6% kesim, %10 → 0,4%, %1 → neredeyse tüm alan yeşildir; %99 yalnızca güvenli alanları geçirir. Bu ölçek, operatörün %5 ve %99 arasındaki farkı görmesini sağlar, ancak sadece kırmızı alanları değil.

Öneri. On adet, önceden test edilmiş kartlar üzerinde eşik değerini belirleyin: değeri artırın, ancak tüm bölgelerin yeşil kalmasını sağlayın, ardından bilinen hatalı kartlarda kontrol edin. Program, her 10 saniyede bir konsola "[BÖLGE-ÇİFT] … normal N, anomali M, eşik 0.50; en kötü q: z17:0.31 …" şeklinde bir satır yazacaktır; bu, hangi bölgelerin eşik değerine en yakın olduğunu gösterir.

5.3. Canlı akış: herhangi bir pozisyonda

Canlı bant: Her pozisyonda arama özelliği, her analiz öncesinde, plakaların hizalama bölgesine göre arama yapmayı içerir: görüntü, referans ile eşleştirilir, kesim alanları eşleştirilmiş görüntüden çıkarılır ve video üzerinde hizalama bölgesinin ve alanlarının (yeşil - normal, kırmızı - anormallik) sınırları çizilir. Periyot, ms alanı, plakanın ne sıklıkla aranacağını (varsayılan olarak 1000, fotoğraf üzerinde 2000) belirler. Yanındaki gösterge: yeşil "normal · N noktası", kırmızı "ANORMAL · N noktası", turuncu "plaka bulunamadı" veya "referans yok - kaydedin". Değerlendirme, bir analiz sonucuna göre yapılır, biriktirme özelliği yoktur.

Referans ve hizalama alanı, çekim sırasında kullanılan aynı düğme (Referansı Sabitle ile) ile belirlenir (4.4. bölüm); Referans ve Alanlar seçeneği, bu alanı görüntülemek için açılır. Videoda, hizalama alanı ve plakanın hizalanması için kullanılan mavi destek noktaları çizilir. Ayarlama işleminden sonra, çerçeve dışına taşan alanlar, BİT etiketiyle işaretlenir.

5.4. Hangi sinyalle analiz edilecek

Hız kaynağı her zaman aynıdır: yeni bir şey eklendiğinde, program önceki olanı alır.

YöntemNasıl ÇalıştırılırNe Zaman Kullanılır
Kamera ile"Kamera ile" seçeneğiSürekli kontrol; hız, "Kamera" sekmesindeki "Saniyedeki Analizler" kaydırıcısı ile sınırlıdır
Zamanlayıcı ile"Zamanlayıcı ile" seçeneği ve aralık (ms)Düzenli veya seyrek kontrol, örneğin saniyede bir
Tetikleyici ile"Tetikleyici" listesinden bir bağlantı seçin ve giriş için "olumlu (+) ile analiz" veya "olumsuz (-) ile analiz" seçeneğini belirleyinKamera girişindeki sensörlü bant: ürün geldiğinde kare alınır - en doğru yöntem (6. bölüm)
GPU"GPU" seçeneğiVarsayılan olarak etkinleştirilmiştir; anahtarı değiştirmek modelin yeniden yüklenmesine neden olur
Gri Analizi"Gri Analizi" kutucuğuGri renklerde eğitilmiş modeller için otomatik olarak etkinleştirilir; çıkarımlar öncesinde kesimler gri renge dönüştürülür

5.5. Sarı Bölgeler: Bölgeyi tıklayarak kapat

Bu alanda, bazı bölgelerin kontrol dışına çıkarılması gerekebilir: Bu, belirli bir parçanın bu sürüme ait olmaması, bölgenin bir cihaz tarafından kapatılması veya hata ayıklama yapılması durumunda ortaya çıkar. Bunun için, ağ veya modeli değiştirmeye gerek yoktur; bölgeler doğrudan videoda kapatılabilir, sadece "İncele" sekmesinde.

1
Kamera panelindeki bir alana sol tıklayın: Alan sarı renge dönecek ve analizden çıkarılacaktır. Aynı alana tekrar tıklamak, onu tekrar analize dahil edecektir.
2
Bölge grubu: Sol tuşu basılı tutun ve çerçeveyi ödemenin üzerinden sürükleyin. Çerçeveye giren tüm bölgeler kapatılır; eğer hepsi zaten sarıysa, çerçeve onları tekrar etkinleştirir. Çevirerek de çalışır.
3
Sarı bölgelerin listesi, kamera ve modele göre veritabanında saklanır, programın yeniden başlatılması ve kameranın yeniden bağlanmasıyla güncellenir. Konsola "[Bölgeler] … kapatıldı: N" şeklinde bir satır yazılır.

"Sarı alanların ne işe yaradığı, Sarı (tıklama ile devre dışı bırakılmış) alanlar, "Ses" sekmesindeki "Çıkış" penceresinde varsayılan olarak etkinleştirilmiş durumda, "Ses" sekmesindeki "Çıkış" penceresinde, "Sarı" alanlar için belirlenen ayarlar, genel bir onay kutusu aracılığıyla kontrol edilir:

Kontrol kutusuSarı bölgelerin davranışı
Etkin (varsayılan)Bölge hiç analiz edilmez: Kesim ağa gönderilmez, "OFF" etiketi, hiçbir ses veya TCP gönderimi, kamera çıkışı olmaz. Canlı ortamda, sarı bölge "normal / anormallik" kararına etki etmez.
KapatılmışSarı çerçeve sadece bir not olarak kalır: Bölge analiz ediliyor ve normal şekilde çalışıyor. Kontrolü kapatmadan, kontrol için işaretlenmiş bölgeleri belirtmek için kullanışlıdır.
Önemli Not: Sarı alanlardaki "Kontrol Kutusu" ayarlarını silmek gerekli değildir: Bu ayarlar etkinleştirildiğinde, alanlar sonuç almaz. Ancak, ayarların geri etkinleştirilmesi durumunda, alanlar hemen çalışmaya başlayacaktır.

5.6. Ekran ve konsolda görülebilirler

  • Alanlar üzerinde sonuç belirlenmiştir; çerçeve, alanların renklerine göre belirlenmiştir ve tetiklendiğinde kırmızı renkte görünür. 50'den fazla alan olduğunda, güvenilir normal durum sadece yeşil çerçeve ile gösterilirken, anormallikler ve güvenilmez alanlar farklı renklere sahip olur: Her karede yüzlerce alanın görüntü okunmasını zorlaştırması ve çizim yükünü artırması nedeniyle, sarı alanlar tıklama ile kapatılmıştır (5.5. bölüm).
  • "Tetikleyiciye Göre Analiz" adlı panel, sekmenin alt kısmında yer alır ve her tetiklenmeyi bir satır halinde gösterir: [ss:dd:ff.mmm] Kamera girişi + TETİKLEYİCİ 4 ms | Yapay Zeka 12 ms #57. Her bölge için sonuçlar da bu satırlarda belirtilir. Bu satırlar veritabanına kaydedilmez.
  • Videodaki bir bölgeye sağ tıklamak: "Bu bölgedeki algılama sınıfı → bu bölge için yanıtı «…» olarak yeniden adlandırır" (Bu, modeli düzeltmez, ancak ayırıcı ve günlük yeni bir ad görür); aynı zamanda "Bu bölge için ayırıcı oluştur" ve kural sayacı.
  • "Fotoğrafları kaydet" seçeneği etkinleştirildiğinde ve "klasör" seçeneği belirlendiğinde: çizilmiş bölgeler içeren kareler, `inspect_….jpg` uzantılı dosyalara kaydedilir. Her kameranın kendi özel ayarları vardır.
  • Her 10 dakikada, diag adlı alt klasöre, canlı üretim hattından çekilen bir görüntü ve alanların listesi yazılır. Ayrıca, en son 20 görüntü de saklanır – böylece, klasörün büyümesi olmadan, tartışmalı durumların incelenmesi için kullanılabilir.

3. Tetikleyiciler: Kameranın girişine yerleştirilmiş sensör

Ana mod: Kamera, sensörün elektrik sinyaliyle, ayrık girişinden bir kare yakalar. Bu, en doğru kare yakalama anıdır: Ürün, her zaman karede aynı konumdadır ve analiz tek bir kez yapılır. `TRİGERLER` penceresi, "sensör → kamera" bağlantısını toplar ve seçilen bağlantı noktası için bağlantı şemasını çizer.

HIKROBOT için TETİKLEMELER (6 pinli): PNP sensörü, sinyal 2 numaralı pine, ortak pin 5, pin bağlantı şeması.
HIKROBOT için TETİKLEMELER (6 pinli): PNP sensörü, sinyal 2 numaralı pine, ortak pin 5, pin bağlantı şeması.
Aynı şekilde SICK picoCam (6 pin) için de geçerlidir: sinyal, 4 numaralı pinde (+) ve ortak pin 3'te (-) bulunur.
Aynı şekilde SICK picoCam (6 pin) için de geçerlidir: sinyal, 4 numaralı pinde (+) ve ortak pin 3'te (-) bulunur.
1
Videonun üzerinde bulunan "TRİGERLER" düğmesine tıklayın. "Triger ekipmanı" seçeneğini (listede BAOLSEN QAF-Q2P optik sensör, 4 tel; herhangi bir PNP veya NPN çıkışlı sensör de aynı şekilde bağlanır), "Kamera bağlantı noktası" (HIKROBOT 6 pin veya SICK picoCam 6 pin), "Kamera (hangi model)" ve "Sensör çıkış tipi: PNP - sinyal "artı"yı değiştirir (normal durum), NPN - "eksi"yi değiştirir, +24V için 1-4,7kΩ direnç gereklidir" seçeneklerini seçin.
2
Şemayı çizime göre birleştirin: Sensör ve kameranın 24V güç, sensörün sinyal kablosu kameranın girişine, giriş kablosunun 0V'a geri dönmesi. Sensörün beyaz kablosu, ikinci çıkışı oluşturur ve bu bağlantı yapılmaz.
3
"Bağlantıyı Oluştur" düğmesine tıklayın. Bağlantı veritabanında saklanır; aynı bağlantılar tekrar oluşturulmaz. "Bağlantıyı Sil" düğmesi, seçilen bağlantıyı siler.
4
"İncele" sekmesinde, "Tetikleyici" listesinden bir bağlantı seçin ve "girişte + ile analiz" (24V geldiğinde kare yakalama) veya "girişte - ile analiz" seçeneklerinden birini belirleyin. Program, kamerayı tetikleyici moduna geçirir: HIKROBOT için TriggerMode = Açık, TriggerSource = Line0 olarak ayarlanır; SICK cihazı için ise, tutucu durdurulur, mod değiştirilir ve yeniden başlatılır. Yanındaki daire, giriş seviyesini gösterir.

Bağlantı şeması

PiniHIKROBOT MV-CS, 6 pinSICK picoCam, 6 pin
1DC_PWR – Kameranın güç kaynağı: 9–24 VGND — Kameranın güç bağlantısı
2OPTO_IN — Giriş Hattı 0 (+), tetik sinyaliVCC — Kameranın 12–24V güç
3GPIO — 2. hattı, giriş veya çıkışTetikleyici − — Optik sensör giriş (-)
4OPTO_OUT — Line 1'den çıkan çıkış (+)Triggere aktivasyonu + — Optik transdüktörün (+) girişi
5OPTO_GND — Genel optik bağlantı, ters kabloFlash + — Ayrık çıkış (+)
6GND — Kameranın güç bağlantısıFlash − — Ayrık çıkış (-)
Önemli. Kameradaki "Baba" ve kabloda "Anne" bağlantıları birbirinin aynısıdır. Tek referans noktası, ayarlanabilir kontak (büyük bir boşluk); SICK'te bu, 1 ve 6 numaralı kontaklar arasında ve kablonun aynasında sağa doğru yer alır. Bağlantıları, elinizde tuttuğunuz taraftan okuyun. Bağlantıda bir hata, yanmış bir girişi gösterir: yakınlarda güç ve çıkış bulunur. SICK'in bağlantısını, test ederek doğrulayın.
Önemli Not: "Olumlu" yönündeki (+) sinyali, değil de düşüş yönündeki sinyali ölçün: Gerçek bir test cihazında, (+) yönündeki sinyalin zaman aralığı 4,2 ms, düşüş yönündeki sinyalin ise 40,7 ms oldu. Sensörün kontrolü: Kahverengi ve mavi renkler arasındaki voltaj her zaman 24 V'tur, bu güç kaynağıdır; sinyali, siyah ve mavi renkler arasındaki, ışın kesişim noktasında kontrol edin. Eğer değişmiyorsa, siyah renkten kahverengi renge 2–10 kOhm değerinde bir direnç ekleyin; bu durumda 24↔0 V, NPN anlamına gelir.

7. Çıkışlar: ayırıcı, kameralardan ayrık çıkışlar ve TCP

Ayırıcı, kontrol sonucunu eyleme dönüştürür. Kurallar, belirli bir alanda (veya modelin, sınıfın veya işaretlenmiş alanların tümünde) veya doğrudan oluşturulur ve model, bu alanda belirtilen sınıfı gördüğünde tetiklenir. Eylemler üç türdedir: Robota veya PLC'ye TCP ile veri gönderme, kameranın dijital çıkışını değiştirme ve operatöre sesli uyarı verme. Her tetikleme, bir günlük kaydına yazılır.

7.1. Çıkışlar kılavuzu: kontaklar ve test cihazıyla kontrol

Videodaki "ÇIKIŞLAR" düğmesi, hiçbir ayar yapmayan bir bilgi penceresini açar: Bu pencere, hangi çıkışın hangi kontaktlarda olduğunu, güç olmadan nasıl test edileceğini ve nasıl bir yük bağlayılacağını gösterir.

HIKROBOT – Line 1 (optik transdüktör) çıkışı, 4 (+) ve 5 (-) pinlerine bağlanır, maksimum akım 25 mA'dır.
HIKROBOT – Line 1 (optik transdüktör) çıkışı, 4 (+) ve 5 (-) pinlerine bağlanır, maksimum akım 25 mA'dır.
SICK picoCam – 5 numaralı (+) ve 6 numaralı (-) pinlerde bulunan (optik) flaş bağlantı noktası, sürekli olarak 150 mA akım sağlar.
SICK picoCam – 5 numaralı (+) ve 6 numaralı (-) pinlerde bulunan (optik) flaş bağlantı noktası, sürekli olarak 150 mA akım sağlar.
  • "Kuruyarak" çalışan optoparın çıkışı: kendi voltajını vermez, sadece devreyi tamamlar. Harici bir güç kaynağı gereklidir.
  • Ω modunda test cihazıyla kontrol: Çıkış KAPALI - Devre kesintisi (OL), AÇIK - Yüzlerce Ohm. Zümer, her iki durumda da sessizdir, sayılara bakın. Hiçbir değişiklik olmazsa, uçları ters çevirin, optopar polarize edilmiştir.
  • Yük: +24 V → lamba → "pin +", "pin -" → GND. HIKROBOT için 25 mA – sınır: 27 mA'da sinyal armatürü zaten, gücü düşürün veya ara röle kullanın. SICK için, 20-30 mA'lık lamba doğrudan bağlanabilir.

7.2. ÇIKIS penceresi: Bölge kuralları

Sağdaki paneldeki "OUTPUT" düğmesine (veya alana sağ tıklayıp "Bu alana ayırıcı oluştur") tıklamak, "OUTPUT – Kameraların TCP iletimleri ve ayrık çıkışları" penceresini açar. Sol tarafta, "Kameralar → Yapay Zeka Modelleri → Sınıflar → Alanlar" şeklinde bir ağaç yapısı bulunur ve alanlar üzerinde işaretler bulunur; sağ tarafta ise "Alan Kuralları", "Tetiklenme Günlüğü" ve "Veritabanı" gibi sekeler bulunur.

ÇIKIS penceresi: Bölgenin sol tarafındaki bölgelerin listesi, "Kural" grubu ve TCP ile ilgili ayarlar.
ÇIKIS penceresi: Bölgenin sol tarafındaki bölgelerin listesi, "Kural" grubu ve TCP ile ilgili ayarlar.
1
Ağdaki bir alanı seçin (sağdaki başlık, yolu `HD USB Kamera → model_5 → 1 → Alan 1 (T1.C1)` olarak gösterecektir). `+ Yeni TCP`, `+ Yeni Ayrık` veya `+ Yeni Ses` butonlarına tıklayın.
2
"Kural" grubunda, "Yapay Zeka Sınıfı" seçeneğini, kuralın hangi durumda etkinleşmesini istediğinizi belirterek ayarlayın (BÖLGE-ÇİFT için bu, "anormallik" veya "normal" olabilir; "*" herhangi bir sınıf anlamına gelir). "Etkin" kutusunu işaretleyin. Gerekirse, "Sınıf değişene kadar tekrarla" seçeneğini işaretleyebilir ve tekrar aralığını belirleyebilirsiniz. Ayrıca, "Sınıf değişikliğinin doğrulanması, ms" değerini (varsayılan olarak 1500) ayarlayarak, sınıf değişikliğinin geçerli sayılması için yeni sınıfın kaç ardışık kez aynı kalması gerektiğini belirleyebilirsiniz.
3
Lütfen "TCP" (bölüm 7.3), "Kamera Çıkışı" (bölüm 7.4) veya "Ses" (bölüm 7.5) sekmesini doldurun.
4
Kontrol zincirini beklemeksizin: Bu kuralı kontrol et (paket gönderir veya çıkış sinyali verir), Bölge aktivasyonunu simüle et (Bölge kurallarını, anti-gürültü ve log ile birlikte savaş moduna aktarır).
5
"1 Bölgeye Oluştur" seçeneğine tıklayın. Eğer birden fazla bölge işaretlenmişse, buton "N Bölgeye Oluştur" olarak değişir; model düğümünde "Tüm modele kaydet", sınıf düğümünde ise "Sınıfa kaydet" seçenekleri bulunur. Alt kısımda: "İşaretlenenleri etkinleştir / devre dışı bırak / sil" seçeneği yer alır.

Bir bölge, farklı alıcılar için birden fazla TCP kuralı taşıyabilir, ancak bir sınıfa yalnızca bir ayrık çıkış kuralı ve bir sınıfa yalnızca bir ses tanıma kuralı atanabilir. Kural, veritabanında saklanır ve çıkarım akışından çalıştırılır: kurallar bellekte tutulur, bir bölge adresine ait bir arama her karede yapılır ve soketler ve kamera SDK'sı, analizlerin ağ beklemesini önlemek için ayrı bir yönetici iş parçacığında çalıştırılır.

7.3. TCP paketi robot veya PLC'ye

Bu program, TCP istemcisi gibi çalışır: belirtilen IP adresi ve port üzerindeki alıcıya bağlanır, bağlantıyı açık tutar ve tekrar kullanır. Bağlantı kesildiğinde, bir kez yeniden bağlanmaya ve tekrar etmeye çalışır. Metin, sonuna CR+LF eklenerek UTF-8 formatına dönüştürülür.

AlanAmaç
Bağlantı süresi, msVarsayılan olarak 1000, 100...10000.
Kuralın otomatik gönderim süresi, msOtomatik kural gönderimleri arasındaki minimum duraklama; 0 - duraklama yok. Hatta bir sınıf değişikliği de bu duraklamayı bekler.
KomutKelime tam olarak olduğu gibi: "up" – "up" paketi. Bir sınıf açısı gerekiyor – bir yer tutucu ekleyin: "J6 {class}" → "J6 235". Boş – "Veriler" şablonu kullanılıyor.
Kendi verilerinizBu, `{data}` yerine yerleştirilebilecek rastgele bir metindir.
VerilerGönderi şablonu. Boş = "alan numarası ve adı" ({zoneId} {zone}). Bu alanı eklemek için tıklayın, tekrar tıklamakla kaldırılır; "Tüm alanlar" ise yapılandırılmış bir şablon oluşturur.
DeğerlendirmeDeğerDeğerlendirmeDeğer
{zoneId}Bölge numarası (1, 2, 3...){camera}Kamera adı
{zone}Bölge adı (veritabanında düzenlenebilir){model}Yapay zeka modeli adı
{class}Modelin gördüğü sınıf{time}Saat:Dakika:Saniye.Milisaniye
{conf}Güvenilirlik, % (virgül ayırıcı olarak kullanılır){date}Tarih (YYYY-MM-DD)
{data}"Kendi Veriler" adlı kaynaktan alınan metin.

Örnek yapılandırılmış şablon: `zoneId={zoneId};zone={zone};class={class};conf={conf};camera={camera};model={model};time={time};date={date};data={data}. Sayılar her zaman tutarlı bir formatta olacak şekilde, örneğin "87,6" gibi değerlerin PLC tarafından ayrıştırılmasını engellemek için.

  • `Bağlantıyı kontrol et yalnızca bağlantıyı açar ve "bağlantı kuruldu" veya "N ms içinde yanıt alınamadı" gibi bir mesaj verir.
  • Test gönderme özelliği gerçekten de bir metin gönderiyor; sonuç, butonun yanına değil, pencereye değil gösteriliyor.
  • Otomatik gönderim. "Tekrarla" seçeneği işaretlenmemişse, gönderim bir kez yapılır ve alıcı "ok <paket" şeklinde bir yanıt vermeden tekrar gönderilir. "Tekrarla" seçeneği işaretlenmişse, gönderim sınıfın geçerli olduğu süre boyunca belirli aralıklarla tekrar gönderilir.
  • «Son çıkan sonuç kazanır»: Eğer model, görevlendirici meşgulken birkaç sonuç üretebilmişse, en son çıkan sonuç otomatik olarak kabul edilir. İşlem sırası 512 işlemle sınırlıdır.

7.4. Kameranın ayrık çıkışı

"Kamera Çıkış" bölümü: Çıkış yöntemi, çizgi, seviye, darbe ve manuel kontrol düğmeleri. USB kameralarda ayrı çıkışlar bulunmamaktadır; yalnızca TCP kullanılabilir.
"Kamera Çıkış" bölümü: Çıkış yöntemi, çizgi, seviye, darbe ve manuel kontrol düğmeleri. USB kameralarda ayrı çıkışlar bulunmamaktadır; yalnızca TCP kullanılabilir.
AlanAmaç
ÇıkışYöntem: SICK cihazlarında, "Flash-pin" (sabit seviye) veya GPIO pinleri kullanılabilir; HIKROBOT cihazlarında ise "UserOutputValue" veya "LineInverter" (strob özelliği devre dışı) kullanılabilir. MV-CS020/016-10GC modelindeki "UserOutput" modülünde bu seçenekler bulunmamaktadır; bu durumda program otomatik olarak "LineInverter"i seçecektir.
HattıSICK cihazında, "Flash-pin" veya GPIO1...6 pinleri; HIKROBOT cihazında ise "Line1" (çıkış), "Line2" (iki yönlü) ve "Line0" (sadece giriş) pinleri bulunmaktadır.
Seviyedoğru / yanlış / kapalı. "Kapalı" – Bu, bir ayarın etkinleştirilmesi gerektiği anlamına gelir, ancak ayarın kendisi değiştirilmez.
İvme, ms (0 — tut)0 — Bu seviye, sınıf değişene kadar korunur; aksi takdirde, 10…5000 ms aralığında bir geri dönüş sinyali gönderilir.

`Çıkışı Aç, Çıkışı Kapat, Impuls düğmeleri, test cihazı veya lamba ile kontrol edilir; `Kamera Neler Yapabilir bölümü, tüm yöntemleri sorgular ve rapor oluşturur. Elle yapılan testler de aynı deftere yazılır.

Bir çıkış üzerinde birden fazla bölge. Eğer bir pin üzerinde birden fazla bölgeye ait kurallar varsa, çıkış mantıksal "VE" olarak değerlendirilir: Yüksek yalnızca tüm bölgeler Yüksek isterse, en az bir bölge Düşük ise çıkış Düşüktür. Bu, "N numaralı çıkış üzerinde bölgeler, Düşük talep ediyor → Yüksek/Düşük" şeklinde bir dizede belirtilir. Bu, bir çıkışın, onlarca bölgeden oluştuğunu gösterir.
Önemli. SICK'in flash-pin'i, hem dijital çıkış hem de aydınlatma için aynıdır: Eğer bu pin'e bir darbeli lamba bağlıysa, GPIO'yu kullanın. Anti-gürültü kuralları: varsayılan olarak 500 ms (en az 200), olay içermeyen tekrarlar günlükte kaydedilmez.

7.5. Sesli uyarı: Her bölge için ayrı ses

Üçüncü türdeki kural, bilgisayar üzerinde bir program aracılığıyla ses sinyali göndermektir. Operatör ekrana bakmak zorunda değildir: bir sinyal alarak, bir alanın hataya düştüğünü duyabilir ve farklı alanlardaki sesler, hatanın tam olarak nerede olduğunu belirtir. Bu ses, USB ve RTSP gibi, ayrı çıkışlara sahip olan tüm kameralarla kullanılabilir.

1
Ağdaki bir alanı seçin ve "+ Yeni Ses" üzerine tıklayın. "Kural" grubunda, bir sınıf (örneğin "anomali") belirtin ve "Etkin" kutusunu işaretleyin.
2
`Ses` sekmesinde, listeden bir sinyal seçin. Dahili olarak on tane var: kısa, çift, üçlü sinyal, düşük ve yüksek ton, yükselen ve düşen, alarm-siren, uzun korna, çan. `Oynat` düğmesi, seçilen sinyali çalacaktır.
3
Kendi sesi: "Dosyanızı yükleyin" seçeneğine tıklayın ve WAV, MP3 veya WMA formatını seçin. Dosya, programın yanındaki "sesler\özel" klasörüne kopyalanır (USB bellek çıkarılabilir) ve "kendi" etiketiyle listede görünür. "Sesler klasörü" düğmesi bu klasörü açar: dosyalar doğrudan buraya eklenebilir.
4
`Sesler arasındaki süreyi, 1000 ila 10000 ms arasında ayarlayın. Bu süre içinde, sinyalin çalması duracak ve alan sınıfı tekrar değişse bile ses tekrar çalmayacak: 10000 ms'de operatör, 10 saniyede en fazla bir sinyali duyacak.
5
"Oluştur" düğmesine tıklayın veya bölgeleri işaretleyerek hepsine aynı anda bir kural oluşturun. Her bölge için farklı bir ses: diğer bölge için farklı bir sinyalle tekrar edin.
6
Tıklanarak devre dışı bırakılan sarı alanlar, "duraklama" alanı aktifken ses çıkarmaz. "İncele" sekmesindeki (bölüm 5.5) tıklanarak devre dışı bırakılan alanlar, herhangi bir ses üretmez ve modelin tamamında TCP bağlantısı veya kamera çıkışı sağlamaz.
DavranışNasıl Çalışır
"Tekrarla" seçeneği yokkenSadece onaylanan bölge sınıflandırma değişikliği durumunda ses duyulur ("Bölge Sınıflandırma Onaylandı"dan sonra). Bölge sınıflandırması geçerli olduğu sürece sessizlik olur.
"Tekrarla, Bölge Sınıflandırması Geçerli Kalıncaya Kadar" seçeneğiyleSinyal, "Tekrar Aralığı" içinde tekrar eder, ancak bölge belirtilen sınıflandırmaya ait olduğu sürece, sesler arasındaki aralığın daha uzunluğunda tekrar etmez.
Aynı anda birden fazla bölgeHer bölge kendi sesini çalar; farklı bölgelerdeki sesler birbirini engellemez, sadece aynı bölgeden gelen ses tekrar eder.
GünlükHer çalma, "Ses: ..." şeklinde "Çalışma Günlüğü"ne yazılır. Dosya bulunamazsa veya ses cihazı çalışmazsa, hata mesajı yazılır ve program çalışmaya devam eder.
KontrolBu kuralı kontrol et hemen sesi çalmaya başlar; Bölge etkinliğini simüle et sesi, TCP ve çıkışları savaş modunda çalmaya devam eder.
Öneri. En önemli bölgelere (bağlantı noktaları, güç elemanları) siren veya üçlü sinyal kurun, diğerlerine ise kısa süreli sinyaller verin. Böylece, tüm sınıf için oluşturulan ses sinyali, modelin veya sınıfın ağdaki seçimiyle belirlenir: Her kusur için ayrı bir sinyal.

7.6. Çalışma Günlüğü ve Veritabanı

"Olay Günlüğü" sekmesi, son 300 kaydı satırlar halinde gösterir: "SS:DD:SS.ms ✔/✖ Kamera · Model · Sınıf · Bölge → Eylem [mesaj]". Bu kayıtlar, gerçek zamanlı olarak güncellenir. "Yenile" ve "Günlüğü Temizle" butonları bulunmaktadır.

"Veritabanı" sekmesi: Verinin nerede saklandığı, yedekleme ve tek bir dosya ile veritabanının kurtarılması.
"Veritabanı" sekmesi: Verinin nerede saklandığı, yedekleme ve tek bir dosya ile veritabanının kurtarılması.

Sekme "Veritabanı": Program, tüm verileri SQLite dosyası rejectors.db içinde, yürütülebilir dosyanın yanında saklar; ayrı bir hizmet yoktur, port dinlenmez, herhangi bir şey yüklenmesi gerekmez. Tablolar: settings (ayarlar), cameras (kamera profilleri), camera_models (kamera modelleri), zones (alan adları ve geometrileri), rejectors (kurallar), reject_log (günlük), camera_param_files (kamera parametrelerinin kopyaları), camera_presets (kamera ayarları kümeleri). "Veritabanının bir kopyasını kaydet… komutu, VACUUM INTO komutu aracılığıyla çalışan veritabanının bütün bir kopyasını oluşturur; "Kopyadan veritabanını yükle… mevcut veritabanını önceden kaydederek geri yükler. Veritabanı, programı kapatmadan DBeaver'da görüntülenebilir; dışarıdan yazmaya gerek yoktur.

8. Diğer modlar ve görevler

Standart modeller: normal / anomali ve tüm sınıflar

Aynı ROI editörü, normal sınıflandırma için de kullanılabilir: tabletler, kapaklar, etiketler, kalıplardaki parçalar. Sınıflar, "Yeni AI Modeli" diyaloğunda (varsayılan olarak normal ve anomali, isimler büyük harflerle) belirlenir ve bölgeler ürünlere atanır. "Fotoğraf Çek" düğmesi, 1…50 daire sayısı ile, kamera veya enkoder üzerinden fotoğraf çekmek için kullanılır. "Fotoğrafları Oluştur" seçeneği, kamera (kare/çerçeve) veya enkoder üzerinden fotoğraf çekmeyi sağlar. "AI için sentetik veri" paneli: hassas 90°/180° dönüşler, 360°'lik tam dönüşler (adım ve aralık ile), yansıma, "dereceye göre sınıflar" (her açıyı kendi sınıfına atar - ayırıcı açıyı TCP üzerinden gönderir), parlaklık ve kontrast aralıkları. Eğitim, Ultralytics'in tam artırmaları ile yapılır. Bu tür modeller için güven aralığı, "BÖLGE-ÇİFT" için de aynı yerde, "İncele" sekmesinde belirlenir.

Çoklu model denetimi (1-20 numaralı yuvalar)

Tek bir kamerada 20 modele kadar yer verebilirsiniz: `ONNX'i bir alana ekleyin, ardından `ROI → Seçilen modele bir sınıf ekleyin – Her modelin alanları ayrı olarak işaretlenir ve tüm modellerin sonuçları tek bir karede gösterilir.

BÖLGE-ÇİFT yuvaları genellikle gerekli değildir. Tek bir model, tüm kartı kapsayabilir: her bölge için farklı sınıf kombinasyonları olduğundan, daha önce birden fazla model oluşturulmasının amacı olan "benzer sınıfların birleştirilmesi" artık gerekli değildir. Tipik bir kurulumda, bir BÖLGE-ÇİFT modeli kart üzerinde bulunur, diğer yuvalar boş kalır.

Çoklu modelin ne zaman kullanıldığı:

DurumNasıl yapılandırılmalı
Tek karede farklı görevlerBÖLGE-ÇİFT, düzeni ve öğelerin varlığını kontrol ederken, ikinci yuvalardaki standart model, etiket, çıkartma, kablo rengi veya anahtar yönünü işaretler. İkinci modelin bölgeleri, "ROI → Seçilen modele sınıf ekle" yoluyla ayrı ayrı tanımlanır.
Sabit bir ızgara olmayan ürünlerTabletler, kapaklar, parçalar: Standart modellerde ürünün türüne ait birkaç sınıf. Benzer sınıflar, birbirleriyle karışmamaları için farklı yuvalara ayrılır.
Tek karede iki farklı devreİki farklı bölgede çalışan BÖLGE-ÇİFT modeli, her birinin kendi referansı ve ağı vardır. Canlı akış, ana modelin referansı ile çalışır.
Geçiş dönemiEski eğitilmiş model, yeni BÖLGE-ÇİFT modelinin istatistik toplamasını beklerken, aynı alanda görünür kalır; ayırıcı kuralları, güvenilirliğe göre aktarılır.

Bu eşik, analiz hızı, sarı bölgeler ve ayrıcı kurallar, tüm kamera modelleri için geçerlidir. "MODELİ KALDIR" düğmesi, slotları temizler ve onay ister; "Seçilen modeli kaldır" düğmesi, bir modeli slottan, dosyalarından ve veritabanındaki bölgelerinden siler.

Genel modeller

Buton "GENEL MODELLER" şu "kamera → model" kümesini, aşağıdaki adlarla kaydeder: "Mevcut modellere göre oluştur, Tüm kameralara uygula, Mevcutlerden güncelle, Yeniden adlandır, Kümeyi sil. Sekiz kameradan farklı bir ürüne geçiş, tek bir seçimle yapılır. Kümeyi silmek, sadece gruplamayı kaldırır: klasörler, ONNX, bölgeler ve kurallar kalır. Bölgeler, "kamera + model" çiftine aittir: Sekiz kamerada bir model, sekiz bağımsız işaret anlamına gelir.

Akışta bulunan enkoder ve ayırıcı

COM portunda enkoder için (115200, ESP32): ENKODERİ BAĞLA, otomatik bağlantı, konum, çekim adımı ve düzeltme, Sıfırı Ayarla + ÇEK. Eğitim ve analiz için çekimler "Enkoder ile" yapılabilir; bu durumda çekimler, ürünün yoluna göre tutarlı olacaktır. Eski zamanlayıcı, gecikme ve anti-spam özelliği ile enkoder kontrol cihazına REJECT komutunu gönderir.

Video ve görüntü kaydı

"Ayarlar" sekmesi: AKTİF KAMERA ile VİDEO KAYDI, dosya adı: record_tarih_saat.avi (MJPG, kameranın gerçek FPS değeri). Eğitim için çekilen fotoğraflar: real_….jpg, kontrol için çekilen fotoğraflar: inspect_….jpg (çizilmiş bölgelerle).

9. Ayarlar, konsol, gereksinimler ve lisans

Settings

  • DOSYAYA KAYDET / DOSYADAN YÜKLE – Tüm ayarlar (kamera, modeller, kurallar) JSON formatında, yeniden kurulum öncesinde veya ikinci bir bilgisayara aktarırken kullanışlıdır. Kaynağın güvenilirliği, JSON formatında saklanmasıdır; böylece bu kaynağa erişilemez durumda olması durumunda yedek alınabilir. Tüm ayar değişiklikleri otomatik olarak kaydedilir.
  • TEMEL AYARLARI – Kalıcı olarak siler: yapılandırmayı ve pencere düzenini kaldırır.
  • Arayüz dili – 14 dil; ana pencere hemen değiştirilir, diğer pencereler ise bir sonraki açılışta değiştirilir.
  • Tüm pencerelerin, ayırıcıların konumu, boyutu ve monitör, veritabanında saklanır; monitör kapalıyken pencere görünür alana geri döner.

Console

"Kamera" ve "Tetikleyici" kutucukları varsayılan olarak işaretlenmemiştir ve ilgili mesajların görüntülenmesini sağlar (kamera mesajları "Tetikleyici" modunda görüntülenir); tüm veriler, filtrelerden önce logs\engiai-*.log dosyalarına yazılır. Konsol, dikkat gerektirmeden haftalar boyunca çalışacak şekilde tasarlanmıştır: ekranda 800 satır tutulur, 1000 eski satır silinir; yeni satırlar, saniyede 4 paket halinde toplanır, tek tek değil; otomatik aşağı kaydırma, siz yukarı kaydırdığınızda devreye girer; konsolda ses yoktur. Bölge değişiklikleri, saniyede 10 satıdan fazla yazılmaz (diğerleri bir sayaçta toplanır), günlük dosyası 20 MB'lık parçalara ayrılır, 14 günden eski dosyalar başlatıldığında silinir, tetikleme günlükleri veritabanında son 20.000 kaydı saklar. Çözülmemiş hatalar crash.log bölümünde, zorla kapatılma nedenleri ise exe dosyasına yakın runtime.log bölümünde yer alır. Bir şeyin düzgün çalışmadığını fark ederseniz, öncelikle buraya bakın.

Koşullar

BileşenGereksinim
İşletim sistemiWindows 10/11 x64.
Kontrol için kullanılan ekran kartıNVIDIA CUDA sürücüsü ile birlikte; CUDA 13 ve cuDNN 9 kütüphaneleri programla birlikte gelir. Ekran kartı olmadan, kontrol otomatik olarak işlemci üzerinde yapılır.
EğitimPython 3 (kurulum sırasında "python.exe"ı PATH'e ekleme seçeneği işaretlenmiş) ve ultralytics, onnx, onnxslim, onnxruntime paketleri – program, ilk eğitim sırasında bunları otomatik olarak yükler. İnternet bağlantısı gereklidir. Eğitim için GPU, PyTorch tarafından belirlenir; CUDA olmadan, eğitim CPU üzerinde daha yavaş çalışır, ancak sonuç aynıdır.
SICK kameralarıIDS uEye sürücüsü; Kameranın IDS Camera Manager'da görünür olması gerekir.
HIKROBOT markalı kameralarMVS SDK (kütüphane, programla birlikte gelir); GigE için – jumbo kareleri destekleyen ağ kartı.

Lisans ve deneme modu

Programın başlatılması sırasında, engi.live adlı lisans sunucusuna erişilir. Sadece donanım kimlikleri ve sürüm bilgileri, seri numaraları ve kullanıcı adları olmadan, hashlenmiş olarak gönderilir. Sunucu mevcut değilse ve izin önbelleğe alınmışsa, program önbelleğe göre çalışır (internet bağlantısı olmayan ortamlarda). Lisans olmadan, 20 dakikalık bir deneme sürümü etkin olur: pencere başlığında ve yapay zeka satırında "DENEME SS:DK" şeklinde bir sayaç görünür. "Ayarlar" sekmesindeki ALIŞVERİŞ düğmesi, satın alma sayfasını açar. Geçerli bir lisans varsa, sayaç görünmez.

10. Kısa kontrol listesi ve arıza tespiti

Plak için sıfırdan başlayan kontrol listesi

1
KAMERALAR → «+ Kameraları ekle» → kendi kameralarınızı işaretle → Ekle.
2
Kamera sekmesi: Çözünürlük → «AI için otomatik ayar (kare bazlı)» (veya USB'de "Parametreleri sabitle") → "Parametreleri kaydet" → "Kaydet olarak..." ayar kümesi. İsteğe bağlı olarak, "Gri tonlarda eğit" seçeneği.
3
AI Modeli → "Yeni bir AI modeli oluştur" → isim.
4
"ROI → eğitim modeli (sınıfa ekle)" → her detayın etrafına çerçeve → alan boyutu (örneğin, 256) → Enter. Yüzlerce benzer detayın için, tüm plak üzerinde çerçeve ve ızgara.
5
«Alanları ürünle ilgili işaretlere göre tanımla» → «Referansı tanımla» → Plakanın detaylarıyla ilgili alanı çerçevele (denetim alanları değil) → «✔ Belirlenen alana göre alanları ara».
6
«BÖLGE-ÇİFT: Alanlara göre fotoğraf» → «Fotoğraf çek». 3-5 sağlam plakada tekrar edin. Gereksiz alanları, çerçevede tıklayarak önceden kapatın (kırmızı).
7
«BÖLGE-ÇİFT: Alanlardaki anormallikler» → «Oluştur»: Eleman ve tabanı birlikte kaydırma ve döndürme zaten etkinleştirilmiştir. Gerekirse, "referans alanlarıyla birlikte" lehimleri etkinleştirin.
8
Yapay zeka modelini eğitin (Görüntü boyutu 128, s, 50 dönem) → %100'e ulaşana kadar bekleyin → best.onnx otomatik olarak atanacak.
9
İnceleme → «BÖLGE-ÇİFT: Alanlar ↔ Model» → Uyumlu olup olmadığını kontrol et → eşik değeri. "Kamera ile" veya tetik seçin. Hareketli plaka için "Canlı bant".
10
ÇIKTI → Alanları seç → Anomali sınıfı için kural (ses, TCP veya kamera çıkışı) → «Alanın tetiklenmesini simüle et» → "N alanında oluştur".

Eğer bir sorun oluşursa

BelirtilerKontrol edilmesi gerekenler
Kamera listede görünmüyorGüç kaynağı ve kablo; SICK — IDS Kamera Yöneticisi ve adaptör alt ağından IP için; HIKROBOT için, arıza durumunda 25 saniye bekleme ve "Yeniden Bağlan"
Görüntü koyu, gri veya yanlış renklerdeKamera → «Otomatik Ayarlar için Yapay Zeka»; renkli SICK için – Bayer düzeni ve beyaz dengesi; USB için – «Standart», ardından «Parametreleri Sabitle»;
Kareler kesiliyor, Net kırmızıGigE: Paket boyutu 1500 veya jumbo, ağ kartı arasında paket gecikmesi; daha düşük FPS veya daha az kare; kameraya ayrı bir ağ kartı
«Kart Bulunamadı» / fotoğraf alınamadıReferans belirlenmedi veya farklı bir ışıkta çekildi; az sayıda referans noktası – hizalama bölgesini daha büyük ve detaylı hale getirin; bölgeye masa veya konveyer girdi; arama süresini artırın
Alanlar farklı bir karta kayıyorKart, hizalama bölgesinden ve kartın etrafındaki detaylara göre aranıyor (4.4. bölüm); otomatik birleştirme modeli
Farklı bir parti kusurlu kartlar eksikKasa üzerindeki etiketler farklı: bu partiden normal görüntüleri ekleyin; sentetik çizikleri 3 px'in altına (4.6. bölüm) çıkarmayın; kusurun kayma olup olmadığını kontrol edin, rengi değil.
NO_ZONE_CLASS işaretli bölgelerAğ, eğitimden sonra değişiyor; orijinal ağı geri yükleyin veya yeni bir model oluşturun ve yeniden çekin.
Tüm bölgeler düz olan kart üzerinde kırmızı görünüyor.Farklı bir kart veya canlı bir bant olmadan farklı bir konum; eşik çok yüksek; görüntüler farklı bir ışık altında çekildi; renkli ve gri dosyalar karıştırıldı.
Model, elemanın kaymasını algılamıyor.px/mm'yi yeniden hesaplayın (1.3. bölüm): küçük ölçekte kayma 5 px'in altında olmalı; görüş alanını küçültün veya daha yüksek çözünürlüklü bir kamera kullanın; normal kaymayı genişletmeyin.
Eğitim yavaş veya çok yavaş oluyor.Cihaz = CPU, eğer NVIDIA ekran kartı yoksa; Batch Size'ı azaltın; Konsolu kontrol edin; Python'un PATH değişkeninde olduğundan emin olun.
Kontrol çalışmıyor.`best.onnx` seçildi mi; hız kaynağı (kamera / zamanlayıcı / tetik) etkinleştirildi mi; "Yapay Zeka Kullanma" seçeneği işaretlenmedi mi; kameradaki "Yapay Zeka Etkin" seçeneği işaretli mi?
Ayırıcı kuralları sessiz."N bölgelerde oluştur" seçeneği tıklanmış mı; "Etkin" seçeneği işaretli mi; kuralların sınıfı, modelin cevabı ile aynı mı (anormal / normal); çıkış için seviye "off" değil olmalı; USB kameralarda çıkış yok, sadece TCP var.
Ses çalmamaktadır.Ses dosyası oluşturulmuş ve etkinleştirilmiştir; dosya "sounds" (veya "sounds\custom") klasöründe bulunmaktadır; sesler arasında bir duraklama olup olmadığı; "tekrar çal" seçeneği seçildiğinde ses yalnızca sınıf değiştiğinde çalmaktadır; Windows ses seviyesi ve çıkış cihazı ayarları.
TCP paketi yalnızca bir kez gönderilir."Tekrarla" özelliği, alıcının "<paket> ok" şeklinde bir yanıt beklemesini sağlar; "Tekrarla, sınıfın devam ettiği sürece" seçeneğini işaretleyin veya PLC tarafında yanıtı yapılandırın.

engiAI Ethernet System. Buton ve alanların isimleri, programda sizin dilinizde (ekranda gösterilen ekran görüntüleri - Rus arayüzünden) olduğu gibi verilmiştir. Ekran görüntüleri, "model_4" modelinde (iki 256x256 bölge: C30 kapasitörü ve BR1 köprüsü), 3264x2448 çözünürlüklü bir USB kamerası ve gri tonlarında eğitilmiş bir model üzerinde alınmıştır. 3. sürüm, Eylül 2026: İki bölge üzerinde bir örnek, modelin klasörlerinin oluşturulması, hizalama bölgesi, "temellendirilmiş eleman" sentetik veri, "önce / sonra" görselleri, renk paleti ve çizgi kalınlığı, kırmızı bölgeler, konsol.