engiAI

  • Anforderungen
Windows 10/11 x64. Analyse von CPU und GPU – Versionen RTX 50+.

⬇ engiAI.rar (900 MB)

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

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

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

SICK IDS Camera Manager - link 2

Registrierung

Anmeldung bei engiAI

EngiAI (engiAI Ethernet System) – eine Desktop-Software für industrielle Bildverarbeitung, die für die Inspektion und Qualitätskontrolle von Produkten auf Förderbändern verwendet wird. Sie ist in C# (.NET 9, WinForms) geschrieben und wird als ein eigenständiger, vorab kompiliertes (AOT) ausführbarer Datei unter Windows x64 erstellt.

⬇ engiAI Beschreibung.pdf (74 KB)
  • Was es tut
Kameraüberwachung: Industrielle Kameras von Hikrobot (SDK), USB/DirectShow, IDS uEye sowie Android-Kameras über OpenCV. Mehrere Kameras gleichzeitig.

KI-Inspektion: Die YOLO-Neuronetz (ONNX Runtime / GPU-CUDA oder CPU) erkennen Objekte und Defekte in Echtzeit.

ROI-Zonen: Konfigurierbare Kontrollbereiche mit Klassen und Regeln, benannte Zonen, Verzeichnis.

Ausschleuser (Ableiter): Generiert ein Signal für einen diskreten Ausgang (zum Ableiten des Ausschuss), mit Konfiguration der Pinbelegung und Überprüfung mit einem Testgerät.

Auslöser: Aufnahme eines Bildes durch ein externes Signal (diskrete Eingänge, Encoder).

Modelltraining: Datensätze, synthetische Daten (Drehungen/Spiegelung/Helligkeit), direktes Training von YOLO11 innerhalb der Software.

Speicher: Lokaler SQLite-Datenbank (rejectors.db) – Modelle, Zonen, Ereignisprotokoll, Kamerazustand.

  • Lizenzen
Einheitliche Installation: Modus (Test / Lizenz / Sperrung)

Ohne Lizenz: 20 Minuten Testmodus; mit Lizenz: uneingeschränkte Nutzung.

Hardware-Bindung, Kontrolle aller laufenden Instanzen.

engiAI Ethernet System
ZONE-PAAR – visuelle Inspektion von Leiterplatten und Baugruppen

Die Benutzeroberfläche von engiAI ist auf Deutsch verfügbar: Die Namen von Schaltflächen und Feldern sind in diesem Handbuch so angegeben, wie sie im Programm erscheinen.

Das Ziel der Inspektion ist die Unterscheidung verschiedener Bereiche (ZONE-PAAR). Auf der Platine werden Bereiche markiert – jeder Bereich, der überprüft werden muss. Ein Modell weist für jeden Bereich ein Paar von Klassifikationen ("Normal / Anomalie") zu und löst nur innerhalb dieses Paares. Im Beispiel der Anleitung gibt es zwei Bereiche: den Kondensator C30 und die Brücke BR1; auf einer realen Platine können es jedoch Hunderte sein, und die Methode ist die gleiche.
Synthetische Daten – automatische Verschiebung des Bauteils vom Leiterplattenuntergrund. Das Programm nimmt das Bauteil zusammen mit dem umliegenden Bereich der Leiterplatte (Linien, Leiterbahnen, Farbe des Untergrunds) auf, reduziert den Bereich auf die Größe des Bauteils und verschiebt oder dreht es. Die Erstellung des Schulungsbaus erfolgt in zwei Schritten, ohne dass eine einzelne defekte Platine benötigt wird.
Benutzerhandbuch: Wie man die Kamera anschließt, Zonen markiert, den Ausrichtungsbereich festlegt, Normal- und Abweichungen erfasst, das Modell trainiert, die Inspektion startet und diese mit Ausschleuser verbindet: akustischen Alarmen, diskreten Ausgängen der Kameras von SICK und HIKROBOT sowie TCP-Nachrichten für den Roboter oder die SPS.
Schritt 1Kamera
Schritt 2Zonennetz
Schritt 3Normale und Anomalien
Schritt 4Schulung
Schritt 5Inspektion
Schritt 6Ausgänge und TCP
Alle Screenshots wurden mit dem laufenden Programm erstellt: vtlift-Software, USB-Kamera 3264×2448, Modell model_4 für zwei Zonen 256×256 (Kondensator C30 und BR1-Brücke), trainiert in Graustufen. Das Programm unterstützt Kameras von HIKROBOT (GigE und USB3), SICK picoCam (uEye), USB-/Webkameras und IP-Kameras über RTSP. Version 3 – September 2026.

Inhalt

  1. 1. Warum engiAI und die ZONE-PAAR-Methode
  2. 1.1. Was bietet die Methode im Vergleich zur Klassifizierung des gesamten Bildes?
  3. 1.2. Geschwindigkeit: Der KI-Algorithmus verarbeitet nur die relevanten Ausschnitte.
  4. 1.3. Welche Genauigkeit kann erwartet werden: Berechnung anhand unserer eigenen Kamera
  5. 1.4. Schneller Start: Einstellungen sind voreingestellt, Bereiche und Modell können mit wenigen Klicks angepasst werden.
  6. 2. Die Bedienoberfläche der Software in nur einer Minute erlernen
  7. 3. Kameras: Anschließen und Konfiguration
  8. 3.1. Welche Kameras werden unterstützt?
  9. 3.2. Kamerafenster: hinzufügen, neu konfigurieren, entfernen
  10. 3.3. Register "Kamera" für HIKROBOT und SICK
  11. 3.4. Register "Kamera" für USB-/Webcam
  12. 3.5. Gespeicherte Kamerainstellungen (Voreinstellungen)
  13. 3.6. GigE-Netzwerk und Neustart
  14. 4. Das ZONE-PAAR-Modell: Vom Raster zur trainierten Modell
  15. 4.1. Funktionsweise: Ein Modell, eine Klasse pro Zone
  16. 4.2. Ein Modell erstellen
  17. 4.3. Bereiche für die Abrechnung markieren
  18. 4.4. Referenz festlegen: Ausrichtungsbereich
  19. 4.5. Bildaufnahmen nach Bereichen: Normal und ihre synthetischen Daten
  20. 4.6. Synthetische Daten: Mit zwei Klicks: Das Element verschiebt sich zusammen mit der Basis.
  21. 4.7. Anomalien in den Zonen: Einstellungen
  22. 4.8. Referenz mit Zonen: Lötpads und Zoneneditor
  23. 4.9. Training des Modells
  24. 5. Inspektion
  25. 5.1. Modell auswählen und Bereiche überprüfen
  26. 5.2. Erkennungsgrenze der Zone
  27. 5.3. Der "lebende" Förderband: Kostenlose Nutzung in jeder Position
  28. 5.4. Welches Signal soll analysiert werden?
  29. 5.5. Gelbe Zonen: Zone deaktivieren durch Klick
  30. 5.6. Was auf dem Bildschirm und in der Konsole sichtbar ist
  31. 6. Auslöser: Ein externer Sensor am Kameraingang
  32. 7. Ausgänge: Ausschleuser, diskrete Ausgänge für Kameras und TCP
  33. 7.1. Handbuch: Ausgänge – Kontakte und Überprüfung mit einem Messgerät
  34. 7.2. Ausgabefenster: Regel für die Zone
  35. 7.3. TCP-Paket an den Roboter oder die SPS
  36. 7.4. Einzelne Ausgabekanal
  37. 7.5. Auditive Benachrichtigung: Eigene Töne für jede Zone
  38. 7.6. Protokoll für Ausführungen und Datenbank
  39. 8. Andere Modi und Aufgaben
  40. 9. Einstellungen, Konsole, Anforderungen und Lizenz
  41. 10. Kurze Checkliste und Fehlerbehebung

Wie man das Benutzerhandbuch verwendet. Abschnitt 1 erklärt, warum die Methode benötigt wird und welches Ergebnis erwartet werden kann. Abschnitte 3–5 beschreiben den Weg von einem leeren Programm zu einer funktionierenden Inspektion – führen Sie diese in der Reihenfolge aus. Abschnitte 6–7 beschreiben die Verbindung von Sensoren, Ausgängen und TCP. Abschnitte 8–10 beschreiben die verbleibenden Funktionen, Einstellungen und Checklisten.

1. Warum engiAI und die ZONE-PAAR-Methode

engiAI Ethernet System – ein visuelles Inspektionssystem für Produktionslinien. Es nimmt ein Bild von einer Industrie- oder Standardkamera auf, teilt es in Zonen auf, prüft jede Zone mithilfe eines trainierten neuronalen Netzes und wandelt das Ergebnis in eine Aktion um: ein Signal an den Ausgabeport der Kamera, eine TCP-Nachricht an einen Roboter oder eine SPS, oder eine Aufzeichnung in einem Protokoll. Die ZONE-PAAR-Methode ist für Produkte geeignet, bei denen „die richtige“ Sache an jedem Ort vorhanden ist: Leiterplatten, Baugruppen, Einzelteile in einem Behälter, Verpackungen mit spezifischer Anordnung.

1 Modell
Für alle Zonen auf der Platine, anstatt hunderter einzelner Modelle
2 Zonen
Im Beispiel des Benutzerhandbuchs: Kondensator C30 und Brücke BR1. Auf der Platine können es hunderte sein
≈5 px
Verschiebung des Elements, auf das die Grenze "Normal / Ausschuss" eingestellt ist
2 Klicks
Von Live-Bildern bis zu Normal- und synthetischen Auswahlen für das Training

1.1. Was bietet die Methode im Vergleich zur Klassifizierung des gesamten Bildes?

Ein üblicher Ansatz ist ein einzelnes Modell mit zwei Klassen ("normal / Anomalie") für den gesamten Bildbereich oder für alle Bereiche gleichzeitig. Auf der Platine funktioniert dies jedoch nicht: Ein leerer Bereich unter der Brücke BR1 im Bereich 2 – Ausschuss, und ein ähnlicher leerer Bereich in einem anderen Bereich der Platine – Normal. Eine solche Kombination von Klassen lässt sich nicht darstellen. Eine weitere Extreme ist ein separates Modell für jedes Detail – dies würde Dutzende von Trainings und Dutzende von Dateien im Speicher erfordern.

ZONE-PAAR löst dies wie folgt: Es gibt ein einziges Modell, aber so viele Klassen, wie es Zonen gibt. "Zone" ist ein Rechteck um ein einzelnes Bauteil. "Klasse" ist ein Ordner mit Bildern, auf denen das Netzwerk lernt. Jede Zone hat ein eigenes Paar: "zone_001" (Normal Zone 1, Beispiel: Kondensator C30) und "zone_001_anomaly" (Ausschuss Zone 1); "zone_002" und "zone_002_anomaly" sind die BR1-Brücke. Bei der Überprüfung der Zone 1 betrachtet das Programm nur ihr Paar, die Antworten für Zone 2 sind nicht relevant. Die Klassen für Anomalien sind optional: Der Ausschuss verändert das Aussehen der Zone, und das Vertrauen in "Normal" sinkt von selbst; aber mit synthetischen Daten (Abschnitt 4.6) lassen sie sich mit einem Klick erstellen und erhöhen die Zuverlässigkeit deutlich.

Beispiel: Ein Live-Bild einer Platine zeigt zwei Bereiche – die BR1-Brücke oben rechts und den Kondensator C30 unten links, beide grün und mit der Bezeichnung „normal“. Die blauen Linien markieren den Ausrichtungsbereich, die blauen Punkte sind Referenzpunkte, anhand derer die Platine im Bild identifiziert wird.
Beispiel: Ein Live-Bild einer Platine zeigt zwei Bereiche – die BR1-Brücke oben rechts und den Kondensator C30 unten links, beide grün und mit der Bezeichnung „normal“. Die blauen Linien markieren den Ausrichtungsbereich, die blauen Punkte sind Referenzpunkte, anhand derer die Platine im Bild identifiziert wird.
Entscheidung innerhalb des PaaresBei der Überprüfung der Zone 17 werden nur zwei Ausgänge der Netzstruktur berücksichtigt: „Normalzone 17“ und „Anomaliezone 17“. Die übrigen Hunderten von Klassen sind nicht involviert, sodass ähnliche benachbarte Zonen das Ergebnis nicht beeinflussen.
Eine fremde Zone wird nicht als "Normal" erkanntWenn zwei Klassen innerhalb einer Zone weniger als 10 % der Netzabdeckung erreichen, wird die Zone als "nicht erkannt" markiert: Dies bedeutet, dass es sich um eine andere Zone oder eine verzerrte Netzabdeckung handelt. Eine solche Zone wird als "Ausnahme" betrachtet, und nicht als "Normal".
Der Defekt ist proportional zur ZoneDie Größe und Position der synthetischen Defekte werden in Bezug auf die Größe der Zone angegeben. Eine Verschiebung eines Elements um 0,5 Millimeter auf einem 8-Megapixel-Bild ist nicht erkennbar, während sie innerhalb der 128×128-Pixel-Zone eine Größe von 5–6 Pixeln beträgt – dies ist eine deutliche Größe.
Vollständige AuflösungEin Bereich von 108–137 Pixeln wird ohne nennenswerte Skalierung an das Netzwerk mit einer Auflösung von 128×128 übertragen. Um das gesamte Bild in diese 128 Pixel zu komprimieren, müssten Details um ein Vielfaches reduziert werden.
Zielgrenze "Normal / Ausschuss" Die synthetischen Daten für "Normal" zeigen eine Streuung von 0–2 Pixeln, während die synthetischen Daten für "Ausschuss" einen Versatz von 5 Pixeln aufweisen. Das Netzwerk lernt diese spezifische Grenze, und nicht zufällige Unterschiede in der Beleuchtung.
ZieladresseJede Zone hat eine eindeutige Adresse (Modell, Tabelle, Zelle) und einen Namen. Auf jede Zone kann eine eigene Regel angewendet werden, z. B. ein akustisches Signal, eine TCP-Nachricht mit der Zone-Nummer oder ein digitaler Ausgang der Kamera.
Kompatibel in jeder Position Der Bediener markiert den Ausrichtungsbereich auf dem Bild – den Bereich der Platte mit den Details. An den Referenzpunkten wird jeder Bildausschnitt mit dem Referenzbild ausgerichtet, und die Inspektionsbereiche befinden sich auf der neuen Platine, auch wenn diese verschoben oder gedreht wurde, beispielsweise um 180 Grad (Abschnitt 4.4).
Komponente von der PlatineEin synthetischer Defekt ist nicht einfach nur ein nicht gezeichneter Fleck, sondern ein verschobener oder gedrehtes Element zusammen mit einem Teil der Platine. Das Modell lernt die Beziehung „Komponente ↔ Platine“, und nicht die Farbe des Flecks. Dies geschieht in zwei Schritten (Abschnitt 4.6).
Abweichungen werden schrittweise gemeldetDie Klassen im Ausschuss werden nur dort hinzugefügt, wo der Ausschuss tatsächlich vorkommt: Lötbrücken, fehlende Elemente, Versetzungen, Kratzer. Das Modell wird weiter trainiert, während das Gitter unverändert bleibt.

1.2. Geschwindigkeit: KI betrachtet nur die relevanten Ausschnitte

Das neuronale Netzwerk erhält niemals das gesamte Bild. Für jeden Bereich wird nur sein Rechteck ausgeschnitten, und die Anzahl der Bereiche wird durch zwei Klassen bestimmt. Bereiche eines Bildes werden parallel betrachtet (bis zu vier Threads), und das Ergebnis aller Bereiche wird auf einmal auf dem Bildschirm angezeigt, nicht aber für jeden Bereich einzeln.

  • Die Analysegeschwindigkeit wird durch die Zeit bestimmt. Der Schieberegler "Analysen pro Sekunde (AI)" im Reiter "Kamera" bedeutet genau N Analysen pro Sekunde, und nicht "jeden N-ten Frame". Die Obergrenze ist die Bildrate und die Inferenzzeit.
  • Standardmäßig wird die GPU verwendet. Die Ausführung erfolgt über die ONNX Runtime mit CUDA. Wenn keine NVIDIA-Grafikkarte vorhanden ist, schaltet das Programm automatisch auf die CPU um und informiert darüber im Status (GPU (CUDA) oder CPU).
  • Puffer ohne unnötige Daten. Der Speicher für die Auszüge wird einmal pro Datenstrom reserviert und wiederverwendet; die Analysezeit ändert sich nicht von Frame zu Frame.
  • Modell für die spezifische Aufgabe. Für ZONE-PAAR legt das Programm automatisch die Eingabegröße auf 128 Pixel und das YOLO11-Netzwerk der Größe „s“ fest: Der Ausschnitt der Zone wird kaum skaliert, und das Netzwerk hat genügend Kapazität für Hunderte von Klassenpaaren.
  • Ein automatisierter Förderband spart Arbeitskräfte. Der Arbeitsgang erfolgt nicht häufiger als die Suche nach der Platine; die Platine wird einmal gesucht und ausgerichtet, und erst dann werden die Zonen ausgeschnitten.
  • Die Anzeige stört die Analyse nicht. Das Bild wird nicht häufiger als 25 Mal pro Sekunde neu gezeichnet und wird nur anhand des neuen Kamerabildes verkleinert, bis es auf dem Bildschirm angezeigt wird. Der Log wird von einem Hintergrundprozess in eine Datei geschrieben. Die Benutzeroberfläche bleibt auch bei 8-Megapixel-Bildern und Hunderten von Zonen reaktionsschnell.

In der Statusleiste oberhalb des Videos sind die tatsächlichen Werte sichtbar: fps (Bildrate) und die Millisekunden der letzten Analyse sowie Eff (Anzahl der tatsächlich durchgeführten Analysen pro Sekunde).

1.3. Welche Genauigkeit kann erwartet werden: Berechnung mit meiner Kamera

Das Programm verspricht keine „0,5 mm“ unabhängig von Kamera und Objektiv. Die Empfindlichkeit gegenüber Verschiebungen wird durch die Anzahl der Pixel bestimmt, die auf ein Millimeter des Objekts entfallen, sowie durch die Grenze, mit der das Modell trainiert wurde. Dies wird in zwei Zeilen berechnet:

px/mm = Bildbreite in Pixeln geteilt durch die Sichtfeldbreite in Millimetern
Die minimale, wahrnehmbare Verschiebung beträgt ungefähr 5 Pixel geteilt durch die Umrechnungsrate von Pixeln zu Millimetern (px/mm)

Die Zahl 5 px – die untere Grenze der synthetischen Verschiebung bei den empfohlenen Einstellungen für Anomalien (der Normal-Abstand beträgt dabei 0–2 px). Die Standardeinstellungen basieren auf 11 px/mm: bei diesem Maß entspricht 0,5 mm 5–6 px, was das Ziel ist, das bei der Entwicklung festgelegt wurde. Bitte geben Sie Ihre eigenen Werte ein:

Kamera (Bildbreite)Brennweite 100 mm200 mm300 mm400 mm
3264 px (USB 8 MP, wie auf den Fotos)0,03 mm/px → Verschiebung ≈ 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 → ≈ 1,0 mm
Wichtig. Dies ist eine Bewertung aus der unteren Perspektive für die Verschiebung eines Elements bei einem plötzlichen Wechsel und gleichbleibendem Licht. Überprüfen Sie die tatsächliche Grenze mit der Schaltfläche „ZONE-PAAR: Zonen ↔ Modell“ und dem Erkennungsschwellenwert (Abschnitt 5.2): Jede Zone hat ihre eigenen Ausreißer, und daher auch ihre eigene Genauigkeit. Je kleiner das Sichtfeld und je mehr Pixel die Kamera hat, desto kleiner ist der Fehler, den das Modell erkennen kann.

1.4. Schneller Start: Einstellungen sind voreingestellt, Bereiche und Modell in wenigen Klicks

Diese Methode soll es ermöglichen, dass ein Techniker ohne Erfahrung im Bereich des maschinellen Lernens innerhalb eines Schutzes ein funktionierendes Modell erhält. Alle Einstellungen, die im Voraus festgelegt werden können, sind bereits festgelegt und werden in der Datenbank des Programms gespeichert:

  • Berechnung pro Minute. Im ROI-Editor ziehen Sie einen Rahmen um das Element und geben Sie die Größe der Zone an (z. B. 256 Pixel). Wenn es viele Elemente gibt, die in einer geraden Reihe angeordnet sind, ziehen Sie den Rahmen über die gesamte Platine – das Programm berechnet dann automatisch die Zeilen und Spalten des Gitters.
  • Synthetische Daten: Normal- und Ausschussmodus sind voreingestellt. Die Tasten "Standard", "Elementverschiebung" und "Farbe und Lack" wechseln zwischen vordefinierten Profilen. Die Anzahl der Dateien, die Anzahl der Kamerabilder und die geschätzte Bearbeitungszeit werden angezeigt, bevor Sie auf "Aufnehmen" klicken.
  • Die Trainingsparameter werden automatisch festgelegt. Nach dem ersten Scan werden die folgenden Werte festgelegt: Bildgröße 128, Modellgröße s, Epochen 50, Batch 64, und während des Trainings werden die Augmentierungen deaktiviert, die mit den Anomalieklassen in Konflikt stehen.
  • Die Kamera wird über eine Taste eingestellt. Die Funktion "Automatische Einstellung für KI (pro Bild)" wählt Belichtungszeit, Verstärkung, Farbton und Weißabgleich; für USB-Kameras gibt es die Funktionen "Automatische Anpassung an Formate" und "Parameter speichern".
  • Kamerainstellungssets. Die ausgewählten Parameter werden unter einem bestimmten Namen gespeichert und können aus einer Liste ausgewählt werden. Die Kamera übernimmt diese Einstellungen sofort und speichert sie in ihrem Speicher.
  • Eine einzige ONNX-Datei als Ergebnis. Das trainierte Modell wird automatisch exportiert und sofort für eine Inspektion bereitgestellt. Es sind keine weiteren Schritte erforderlich.

Gesamter Prozess: Kamera anschließen → Modell erstellen → Bereiche markieren → Ausrichtungsbereich festlegen → "Bild per Bereich" auf mehreren funktionierenden Platinen → "Anomalien der Bereiche" → KI-Modell trainieren → Register "Inspektion". Danach müssen noch Sound, Ausgänge und TCP auf die Bereiche gelegt werden. Was für den Start benötigt wird: Computer mit Windows 10/11 (für eine schnelle Inspektion: NVIDIA-Grafikkarte), Kamera, eine funktionierende Platine und einmal Internet für die Installation der Trainingsumgebung. Defekte Platinen sind nicht erforderlich.

2. Benutzeroberfläche des Programms in einer Minute

Das Hauptfenster ist in zwei Teile unterteilt. Links befindet sich das Live-Video von den Kameras und eine Statusleiste. Rechts befindet sich eine Bedienleiste mit Register, in der alle Steuerelemente enthalten sind. Die Grenze zwischen den Teilen kann verschoben werden; die Größe, Position aller Fenster und die Anordnung speichert das Programm in seiner Datenbank.

Hauptfenster: Links: Live-Ansicht der Platine mit zwei Zonen (beide grün – „normal“), rechts: Register „Inspektion“ mit dem Modell model_4\best.onnx. Der Live-Band ist aktiviert, und der Indikator „Normal · 112 Punkte“ wird angezeigt.
Hauptfenster: Links: Live-Ansicht der Platine mit zwei Zonen (beide grün – „normal“), rechts: Register „Inspektion“ mit dem Modell model_4\best.onnx. Der Live-Band ist aktiviert, und der Indikator „Normal · 112 Punkte“ wird angezeigt.

Tasten über dem Video

TasteWas sie öffnet
VIDEO AUSBLENKENEntfernt das Bild vom Bildschirm. Die Analyse wird fortgesetzt, nur das Zeichnen wird gespart.
AUSGABENReferenzfenster: Kontaktdaten für die diskreten Ausgänge der Kameras von HIKROBOT und SICK, Überprüfung mit einem Tester, Anschluss einer Last (Abschnitt 7.1).
KAMERENFenster "Einstellungen der verbundenen Kameras": Hinzufügen, Neuverbinden, Löschen von Kameras und Anzeigen aller Parameter, die von der Hardware ausgelesen wurden (Abschnitt 3.2).
AUSLÖSERAnschluss eines externen Sensors an den diskreten Eingang der Kamera mit Schema und Pinbelegung (Abschnitt 6).
ALLGEMEINE MODELLEBenannte Kamerensätze ("Kamera → Modell"), die dem gesamten Stand mit einer einzigen Auswahl zugewiesen werden (Abschnitt 8).
Anordnung (Spalten)Wie viele Kamerabilder sollen nebeneinander angezeigt werden; "■" – Einzelbildmodus (ausgewählte Kamera im Großformat), "Auto" – basierend auf der Anzahl der Kameras, "⛶" – Kameras für den gesamten Monitor (Auswahl Esc).
ROI-Zonen anzeigenZeichnen Sie ein Raster von Zonen auf das Video.

Rechte Register

RegisterZuweisung
CameraParameter der ausgewählten Kamera: Verschlusszeit, Verstärkung, Farbe, Auflösung, automatische Einstellung für KI, gespeicherte Einstellungen, Analysegeschwindigkeit. Die KI-Schwellenwerte sind hier nicht mehr vorhanden – sie sind nur im Register "Inspektion" verfügbar.
OUTPUTAuslöser: Regeln für die Zonen – TCP-Datenübertragung an den Roboter/SPS, digitale Ausgänge der Kamera und akustische Signale, Ereignisprotokoll, Datenbank.
AI ModelModell erstellen: Ordner, Klassen, Raster von Zonen, Bilder pro Zone, Anomalien von Zonen, Referenzplatine, Einstellungen und Start des Trainings.
InspectArbeitsbereich: Welche Modell inspiziert, Überprüfung von Zonen und Schwellenwerten, Live-Band, bei welchem Signal ein Bild aufgenommen wird, Slots für die Mehrfachmodell-Inspektion.
SettingsSprache der Benutzeroberfläche (14 Sprachen), Kauf einer Lizenz, Speichern und Laden von Einstellungen, Videoaufzeichnung.
ConsoleProtokoll: Aktivierung der Kameras, Verlauf des Trainings, Auslöseereignisse, Warnmeldungen. Auf dem Bildschirm werden die letzten 800–1000 Zeilen angezeigt, während alle Informationen in die Dateien logs\engiai-*.log geschrieben werden.

Statuszeile

Über den Tasten wird der Status der aktiven Kamera angezeigt: LIVE (Android): 3264×2448 [HD USB Kamera] – Typ, Auflösung und Name; KI: WAITING oder KI: GPU (CUDA) – Auf welcher Hardware die KI arbeitet und wie viele Millisekunden die letzte Analyse benötigt hat; Net: insgesamt … aktiv … Mbit/s – Die Netzlast durch GigE-Kameras (grün bis 40 % der Bandbreite, orange bis 70 %, danach rot). Die Balken Exp Load zeigen, welcher Anteil des Bildintervalls durch die Verschlusszeit beansprucht wird: Wenn der Verschluss nach rechts geht, kann die Kamera die angegebene Bildrate nicht halten.

Jeder Kamerabild hat einen eigenen Titel, den Status "LIVE | AI:ON" und eine Schaltfläche zum erneuten Verbinden. Durch Klicken mit der rechten Maustaste auf das Bild öffnet sich das Menü der Zone, und durch Ziehen mit der rechten Maustaste wird eine Panoramaansicht des vergrößerten Bildes angezeigt.

3. Kameras: Verbindung und Konfiguration

3.1. Welche Kameras werden unterstützt

TypWie wird sie verbundenWas wird über das Programm konfiguriert
HIKROBOT MV-CS
(GigE, USB3)
Native MVS SDK. Wird ausschließlich anhand der Seriennummer geöffnet, die Reihenfolge der Auflistung ist irrelevant.Ausgabe: 6 µm, Verstärkung in dB, FPS, Auflösung (AOI), Schwarzpegel: 0…4095, alle GenICam-Funktionen (automatische Modi, Gamma, Schärfe, Weißabgleich R/G/B, digitaler Versatz, Spiegelung, GigE-Pakete). Die Parameter werden im UserSet1 der Kamera eingegeben. Diskreter Eingang Line 0, Ausgang Line 1, GPIO Line 2.
SICK picoCam
(IDS uEye, GigE)
uEye-Treiber. Die Kamera muss im IDS Camera Manager mit dem Status "richtig konfiguriert" angezeigt werden. Die Seriennummer wird mit der Kamera verglichen, da sich die DeviceID bei uEye bei jedem Start ändert.Auswahl, Verstärkung 0…100, Bildrate, Auflösung, Schwarzpegel 0…255, Pixel-Takt, Verstärkungsboost, Hardware-Verstärkung der Kanäle R/G/B, Hardware-Gamma, Bayer-Anordnung. Die Parameter werden im Speicher der Kamera gespeichert. Eingang des Trigger-Signals über einem Opto-Paar, Ausgang für Flash (150 mA).
USB / Webcam
(in der Liste: Android)
DirectShow über OpenCV, unterscheiden sich durch den Moniker, daher können zwei identische Kameras nicht verwechselt werden.Unterstützung bis 8K, FPS, alle Eigenschaften des Treibers: Helligkeit, Kontrast, Sättigung, Farbton, Schärfe, Farbbereich, Verstärkung, Belichtungszeit (automatisch), Fokus (automatisch), Weißabgleich (automatisch), Blendkompensation usw. Es gibt keine dedizierten Eingänge und Ausgänge, nur TCP ist verfügbar.
IP-Kamera RTSPDie URL im Format `rtsp://admin:passwort@192.168.1.64:554/…` muss manuell hinzugefügt werden.Belichtungszeit, Verstärkung, Auflösung und FPS werden über die Web-Oberfläche der Kamera selbst eingestellt. Die Software bietet Zonen, Modell und TCP.

Es gibt keine feste Begrenzung für die Anzahl der Kameras: Die Kameras können in einem Raster beliebig angeordnet werden; In realen Installationen wurden acht und neun Kameras gleichzeitig verwendet. Jede Kamera hat ihre eigenen Modelle, ihre eigenen Zonen, ihren eigenen Schwellenwert und ihre eigene Analysegeschwindigkeit.

3.2. Kamerasfenster: Hinzufügen, neu verbinden, entfernen

1
Klicken Sie auf "KAMEREN" über das Video. Ein Fenster mit dem Titel "EINRICHTUNGEN FÜR VERBUNDENE KÄMERA" wird vollständig angezeigt (zum Schließen: Esc).
2
Drücken Sie + "Kameras hinzufügen". Das Programm wird das Netzwerk und USB nach Geräten durchsuchen und alle gefundenen Geräte in einer Liste anzeigen: Hikrobot … Seriennummer: … IP-Adresse: …, SICK … Seriennummer: … DeviceID: …, Android …. SICK-Kameras werden innerhalb von maximal 4 Sekunden abgefragt, da das GigE-Gerät nicht sofort im Treiber angezeigt wird. Ein bereits in Gebrauch befindliches oder falsch adressiertes SICK-Gerät wird mit einem Warnsymbol ⚠ und der entsprechenden Ursache gekennzeichnet.
3
Markieren Sie die gewünschten Kameras und klicken Sie auf "Hinzufügen". Fügen Sie eine IP-Kamera über den Button "+ RTSP-Kamera über Link" hinzu. Während die Kameras verbunden werden, wird ein Bildschirm mit der Schaltfläche "Kamera überspringen" angezeigt.
4
Die Kamera wird in der Liste unter der Zeile Name | Typ | Seriennummer | LIVE oder OFFLINE | KI: EIN | Anzeige: EIN angezeigt, und ihre Videoübertragung befindet sich auf der linken Seite des Hauptfensters.

Die Häkchen unterhalb der Liste beeinflussen die ausgewählte Kamera: Kamera aktiviert (ansonsten wird sie vom Gerät getrennt und verschwindet vom Bildschirm), Video/Bereiche anzeigen (nur die Darstellung, die Analyse läuft immer), KI für die ausgewählte Kamera aktiviert. Der Button Neu verbinden führt zu einer vollständigen Trennung und erneuten Verbindung, wodurch der KI-Datenstrom neu gestartet und die Modelle neu geladen werden.

Der rechte Teil des Fensters zeigt alle von der Hardware erfassten Kameraparameter an, zusammen mit den Gruppen und Einheiten: „Welche Parameter anzeigen?“, Wieder ablesen von der Kamera, In den Speicher kopieren. Dies ist lediglich eine Anzeige: Die Parameter können Sie im Reiter „Kamera“ ändern.

Wichtig. Die HIKROBOT-Kamera, die über GigE arbeitet, verfügt über eine exklusive Verbindung. Nach einem unerwarteten Programmende bleibt sie belegt, bis das Heartbeat-Signal verloren geht; das Programm wartet bis zu 25 Sekunden (10 Versuche) und meldet "Kamera wird von einem anderen Prozess verwendet". Bei SICK versucht das Programm, den IP-Adresse automatisch zu korrigieren, falls dieser nicht aus dem Subnetz des Adapters stammt.

3.3. Registerkarte "Camera" für HIKROBOT und SICK

Das Modul arbeitet mit der Kamera, die durch einen blauen Rahmen hervorgehoben ist. Die Software protokolliert beim Verbinden keine Daten in der Kamera: die Kamera ist die Quelle der Wahrheit, während die Schieberegler auf ihre Werte eingestellt werden. Die Einstellungen können nur bewusst über den Button "Parameter speichern" gespeichert werden.

1
Im unteren Bereich geben Sie die Breite (W) und Höhe (H) des Bildes (oder wählen Sie eine vordefinierte Einstellung aus der Liste, in der nur die von dieser Kamera unterstützten Größen aufgeführt sind) ein und klicken Sie auf AUFTRAGEN. In der Regel wird der gesamte Kamerabild verwendet. Die Größe wird auf die nächste verfügbare Stufe (AOI) der Kamera abgerundet.
2
Klicken Sie auf Automatische Einstellung für KI (basierend auf dem Bild). Das Programm wählt den Verschluss (Priorität) und die Verstärkung (maximal 40) aus, um den 99,5. Perzentil der Helligkeit auf 220…248 zu bringen, ohne Überbelichtung, und setzt dann den Gamma-Wert auf 1,50, die Sättigung auf 115 % und den Kontrast auf 105 % sowie die automatische Weißabgleich-Funktion. Das Häkchen "Automatisch" aktiviert den kontinuierlichen Modus: Überprüfung und Anpassung alle 3 Sekunden, falls sich das Licht ändert.
3
Falls erforderlich, können Sie die folgenden Einstellungen manuell anpassen: Belichtung (Schieberegler in Mikrosekunden, Bezeichnung in ms, bis 1 Sekunde), Verstärkung, Bildrate, Schwarzpegel. Für SICK sind zusätzlich Pixel-Takt (legt die maximale Bildrate und die minimale Belichtungszeit fest), Verstärkungsboost, Hardware-Farbraum, Rot/Grün/Blau-Ausgleich verfügbar.
4
Drücken Sie „Parameter speichern”: Die Datei camera_params\<SN>.ini und die Dateneintrag im Kamerageheime – UserSet1 bei HIKROBOT (mit der Standardeinstellung) und EEPROM bei SICK. Das Ergebnis wird auf der entsprechenden Schaltfläche angezeigt („✔ Gespeichert”). Für HIKROBOT gibt es ein Kästchen „Automatische Speicherung im Kamerageheime (UserSet1) nach 5 Sekunden nach Änderung”.

Block "Hikrobot: Kameraparameter (GenICam)"

Es werden nur die Werte angezeigt, die die Kamera ausgibt. Zeilen: Automatische Belichtung (Ein / Einmal / Kontinuierlich), Automatische Verstärkung, Bereich und Bereichseinstellung, Schärfe, Farbton, Sättigung, Automatische Weißabgleich, Weißabgleich pro Kanal, Digitaler Versatz, Schwarzwert aktiviert, FPS-Limit aktiviert, Horizontale und vertikale Drehung, GigE: Paketgröße, GigE: Verzögerung zwischen Paketen, GigE: Bandbreitenlimit, Testbild. Die Schaltfläche "Parameter von der Kamera neu laden" aktualisiert die Tabelle.

Block "FARBE DES BILDES"

Bayer-Farbraum (Auto / BGGR / RGGB / GRBG / GBRG), Sättigung 0…200 %, Gamma 0,30…3,00, Kontrast 50…200 %, Reset-Taste. Die Softwareverarbeitung wird auf alle Bildquellen angewendet: Anzeige, Aufnahme, Inferenz und Bilder für das Training. Daher ist das Bild beim Training und bei der Inspektion identisch. Für HIKROBOT wird die Farbraum aus dem Pixelformat der Kamera übernommen, für farbige SICK-Sensoren wird er aus dem Sensor gelesen und durch das erste Bild verfeinert.

ParameterWas es tutWelchen Einfluss es hat
Analyse pro Sekunde (KI)Höchste Inspektionstempo: 1…200Je niedriger das Tempo, desto geringer die Belastung der Grafikkarte; unabhängig von der Kameraverbindung.
Schwellenwert für KIWird nicht auf dem Reiter "Camera" festgelegt.Schwellenwert für die Erkennung der Zone: nur auf dem Reiter "Inspect" (Abschnitt 5.2), jeweils für eine Kamera.
ExposureExpositionszeitJe kürzer die Expositionszeit, desto weniger Bewegungsunschärfe; eine Null ist nicht zulässig.
Gain / Gain boostSignalverstärkung der MatrixErhöht die Helligkeit, fügt aber auch Rauschen hinzu.
Pixel clock (SICK)Taktrate des SensorsÄndert die FPS- und Auslösebereiche, diese werden neu gelesen.
FPSBildrate im FreihaltungsmodusNicht im Auslöser-Modus verwendet
Breite / HöheBildgröße (AOI)Kleineres Bild – höhere Frequenz und weniger Datenverkehr
Wichtig. Nehmen Sie Bilder für das Training unter den gleichen Bedingungen auf, unter denen die Linie tatsächlich eingesetzt wird: gleiche Beleuchtung, gleiche Geschwindigkeit, gleiche Kamerapoosition. Nach dem Ändern der Einstellungen erinnert die Software im Konsolenfenster daran, dass das Modell mit den neuen Bildern erneut trainiert werden muss.

3.4. Register "Kamera" für USB-/Webkameras

Für USB-Kameras zeigt das Register den Block "USB-Kamera: Auflösung, FPS und Eigenschaften". Eigenschaften des Treibers, die die Kamera nicht bereitstellt, werden nicht angezeigt; die Bildbereiche werden von der Software festgelegt, da DirectShow keine Informationen über die Bereiche bereitstellt.

1
Auflösung und Anwenden. Der Button Überprüfen wählt aus Standardauflösungen von VGA bis 8K und zeigt nur die Auflösungen an, die die Kamera akzeptiert hat. Die Zeile „Kameramodus“ zeigt die tatsächliche Auflösung und die Bildrate (FPS).
2
Lassen Sie die automatische Belichtung, den Autofokus und die automatische Bildeinstellung sich einstellen, und klicken Sie dann auf "Parameter speichern (automatische Funktion deaktivieren, Einstellungen beibehalten)": Die automatische Funktion wird deaktiviert, und das Programm wählt automatisch die manuelle Belichtungszeit, um den gleichen Helligkeitsgrad zu erreichen (der Treiber gibt bei aktivierter automatischer Funktion die zuletzt gewählte manuelle Einstellung aus, während die Werte und das Format in der Datenbank gespeichert und bei jeder anschließenden Verwendung dieser Kamera angezeigt werden.
3
Reihe Unter KI: Automatische Anpassung an Formen (20–60 Sekunden, Anpassung der Belichtungs- und Kontrastwerte basierend auf Live-Bildern, Kriterium: Schärfe der Konturen ohne Überbelichtung), Formen, ohne Farbe, Formen, weich, Zurücksetzen, Typische.
4
Die Werte, die in den Feldern eingegeben werden, gelangen sofort in die Kamera, ohne dass die Eingabetaste gedrückt werden muss, und werden dann direkt in die Datenbank übertragen. Die Schaltfläche "Eigenschaften von der Kamera neu lesen" zeigt, dass die Kamera die Daten tatsächlich empfangen hat.
Tipp. Für die KI ist es besser, die Farbe nicht durch die Sättigung der Kamera zu reduzieren, sondern durch eine allgemeine Option: "In Graustufen trainieren (globale Modelleinstellung)" im Reiter "Kamera" (im Reiter "KI-Modell" wird sie als "In Graustufen trainieren" bezeichnet). Dadurch werden sowohl die Trainingsbilder als auch die Überprüfungsbilder in Graustufen dargestellt, während die Kamera weiterhin Farbinformationen für den Bediener liefert. Das in dem Beispiel verwendete Modell wurde in Graustufen trainiert.

3.5. Gespeicherte Kamerainstimmungen (Sets)

Das Register "Gespeicherte Kamerainstimmungen" wird für USB, SICK und HIKROBOT angezeigt. Wählen Sie die Parameter für das Produkt aus und speichern Sie diese unter einem Namen. Für andere Platinen oder andere Beleuchtung ist es ausreichend, eine Auswahl aus der Liste auszuwählen.

  • Als… – liest die aktuellen Werte von der Kamera aus und fragt nach dem Namen des Datensatzes. Wenn der Name bereits verwendet wird, wird er zur Überschreibung angeboten.
  • Auswahl des Sets in der Liste schreibt die Parameter direkt in die Kamera und speichert sie: für USB – in der Datenbank, für SICK und HIKROBOT – in einer Parameterdatei und im Speicher der Kamera (UserSet1 / EEPROM). Anschließend liest das Bedienfeld die Werte von der Hardware aus und zeigt an, welche Parameter übernommen und welche abweichend sind.
  • Neu speichern überschreibt den ausgewählten Datensatz mit den aktuellen Werten. Umbenennen und Löschen wirken nur auf den Datensatz in der Datenbank, die Einstellungen in der Kamera ändern sich nicht.

Was ist im Set enthalten: Bei USB sind Auflösung, FPS, Treiber-Eigenschaften und automatische Modi enthalten; bei SICK sind Verstärkung, Belichtungszeit, FPS, Schwarzpegel, Pixel-Takt, Verstärkungsboost, Weißabgleich R/G/B, Hardware-Gamut und Software-Farbe enthalten; bei HIKROBOT sind Verstärkung, Belichtungszeit, FPS, Schwarzpegel und alle GenICam-Module enthalten. Die Größe des Bildfelds von Industrie-Kameras ist nicht im Set enthalten: Eine Änderung führt zu einem Neustart des Aufnahmes. Die Sets sind für alle Kameras desselben Typs geeignet, daher wird ein Set auf einem Stand mit identischen Kameras für jede Kamera platziert.

3.6. GigE-Netzwerk und Neustart

  • Die Größe des GigE-Pakets von HIKROBOT wird automatisch auf optimal eingestellt, wenn es geöffnet wird; manuell kann es im GenICam-Block angepasst werden. Große Bilder (8164–9000) reduzieren die Belastung, bei unterbrochenen Bildern sollten Sie 1500 und die Inter-Paket-Verzögerung erhöhen.
  • Die Zeile `Net` berechnet die Last von jeder Kamera anhand ihrer eigenen Daten (Nutzlast x Frequenz) und vergleicht diese mit dem tatsächlichen eingehenden Netzwerkverkehr. Eine deutliche Abweichung bedeutet einen Datenverlust oder fremden Netzwerkverkehr. Virtuelle Adapter und NDIS-Filter (z. B. GigEVision, uEye, Npcap) werden aus der Berechnung ausgeschlossen.
  • Wenn die Kamera sichtbar ist, aber der Datenstrom nicht übertragen wird, bitte den Button "Neu verbinden" (im Kameraschirm oder auf dem Tile) anklicken. Die Ursache liegt meistens an der Netzwerk- oder USB-Bandbreite.
  • Die SICK picoCam verliert ihre Einstellungen beim Schließen des Descriptors. Wenn keine Einstellungen in der Kamera vorhanden sind, wendet das Programm die Parameterdatei an und fordert den Benutzer auf, "Einstellungen speichern" zu klicken, um diese in der Kamera zu speichern.

4. Modell ZONE-PAAR: Von Raster zu trainiertem Modell

4.1. Funktionsweise: Ein Modell, eine Klasse pro Zone

Das Modell ZONE-PAAR ist ein typisches YOLO11-Klassifikationsnetzwerk, das so viele Klassen hat wie Zonen, plus optionale Klassen für Anomalien. Eine Klasse entspricht einem Ordner innerhalb von `train` und `val`. Das Programm erstellt alle Ordner automatisch; es ist nicht erforderlich, sie manuell zu erstellen. So sieht ein Ordner des Modells aus, wie er nach dem Training aussieht:

Ordner model_4: train und val – Bilder, data.json – Bereiche, live_template – Referenzplatinen, board.json – Schwellenwert, best.onnx – trainierte Netzwerk.
Ordner model_4: train und val – Bilder, data.json – Bereiche, live_template – Referenzplatinen, board.json – Schwellenwert, best.onnx – trainierte Netzwerk.
model_4 Train\ Trainingsdaten zone_001\ Normalzone 1 (C30): real_… aus der Kamera, syn_… synthetische Daten zone_001_anomaly\ Ausschusszone 1: syn_…_combo1_d, _rotate1 … zone_002\ Normalzone 2 (BR1) zone_002_anomaly\ Ausschusszone 2 val\ Validierungsdatensatz: die vier gleichen Ordner werden automatisch gefüllt data.json Zonen: Tabellen, Koordinaten, Größe, Farbe, aktiviert/deaktiviert; Klassen; Slots live_template.png / .txt Referenzpläne: Frame, Ausrichtungsbereich, rote (ausgeschlossene) Zonen live_template_zones.png Referenz mit gezeichneten Zonen und Nummern board.json Schwellenwert für die Erkennung der Zone ({ "threshold": 0.50 }) train_gray.txt Merkmal "Graustufen-Set" best.onnx Trainierte Modell – es wird für die Inspektion verwendet runs\ diag\ *.cache Hilfsdaten: Trainingsverlauf, Bilder zur Analyse, Trainings-Cache
train: Zwei Ordner pro Zone – Normal und Anomalie.
train: Zwei Ordner pro Zone – Normal und Anomalie.
val: Gleiche Struktur, das Programm füllt sie automatisch beim Aufnehmen.
val: Gleiche Struktur, das Programm füllt sie automatisch beim Aufnehmen.

Die Dateien real_…jpg stellen echte Aufnahmen von der Kamera dar (werden sowohl in train als auch in val gespeichert), syn_…jpg sind synthetische Daten, edit_…jpg sind Aufnahmen aus dem Bereichseditor. Im Beispiel nach der Aufnahme mehrerer Platinen: zone_001 – 502 Dateien in train und 111 in val, zone_001_anomaly – 680 und 144, zone_002 – 813 und 181, zone_002_anomaly – 340 und 60.

Ein Speicherort. Die gesamte Modellstruktur – Bereiche zur Inspektion, Ausrichtungsbereich, Klassen und Slots – befindet sich ausschließlich im Modellordner: data.json und live_template.txt. Es gibt keine weiteren Bereiche mehr in der Datenbank, daher zeigen sowohl der ROI-Editor auf den Registerkarten "AI Model" als auch der "Inspect"-Editor dieselben Bereiche an. Der gesamte Modellordner kann problemlos auf einen anderen Computer kopiert werden, ohne Daten zu verlieren. Alte Modelle werden automatisch beim ersten Öffnen in eine Datei übertragen.

Das Programm erkennt das Muster automatisch als "Zahl" anhand der Anwesenheit von Klassen wie `zone_NNN`. Die Klassennummer ist die eindeutige Nummer der Zone im Raster (1…N). Daraus ergibt sich die Hauptregel des Verfahrens:

Wichtig. Die Zonen sind Teil des Modells. Nach der Erstellung der Klassen können sie nicht mehr geändert werden (nicht hinzugefügt, gelöscht oder neu angeordnet): Die Zonennummern werden dann nicht mehr mit den Klassen übereinstimmen, und diese Zonen erhalten die Kennzeichnung NO_ZONE_CLASS. Wenn die Zonen geändert werden müssen, erstellen Sie ein neues Modell.

4.2. Modell erstellen

1
Öffnen Sie den Tab "KI-Modell" und klicken Sie auf "Neue KI-Modell erstellen".
2
Geben Sie den übergeordneten Ordner und den Modellnamen an (das Programm schlägt eine freie model_N vor). Die Standardliste der Klassen enthält normal und anomaly; für ZONE-PAAR sind diese nicht erforderlich – die Klassen für die Zonen werden automatisch beim ersten Scan nach Zonen erstellt. Sie können sie löschen oder leer lassen: Bevor das Training beginnt, schlägt das Programm vor, die leeren Klassen zu entfernen.
3
Klicken Sie auf Modell erstellen. Auf der Festplatte werden die Ordner train und val erstellt. Das Modell wird für die Bearbeitung geöffnet (es wird nicht automatisch geladen). Wenn bereits ein Modell vorhanden ist, wählen Sie stattdessen Modellordner auswählen.

4.3. Zonen auf der Platine markieren

1
Legen Sie die korrekte Platine genau so in die Kammer, wie sie später auf der Linie liegen soll. Klicken Sie auf ROI → zu Klasse hinzufügen (Trainingsmodell).
2
Im Dialog "ROI-Klasse definieren" wählen Sie eine beliebige Klasse (die für die Kennzeichnung irrelevant ist) oder geben Sie einen neuen Namen ein und klicken Sie auf "OK + ROI öffnen". Später werden hier alle Zonenkategorien angezeigt, gruppiert nach dem Muster zone_###: Durch Klicken auf eine Gruppe wird diese ausgewählt, ein zweites Klicken hebt die Auswahl auf; der Button "Gruppe löschen" entfernt die gesamte Gruppe zusammen mit den Bildern.
3
Es öffnet sich das Fenster "ROI-Auswahl". Ziehen Sie mit der linken Maustaste einen Rahmen um das Element. Ein Feld "Zonegröße, Pixel" erscheint: geben Sie die Größe ein (die auf ein Vielfaches von 32, z. B. 256, zugeschnitten ist) und drücken Sie die Eingabetaste – der Rahmen wird zu einem gleichmäßigen Quadrat mit der Größenangabe. Wiederholen Sie dies für jedes Element, das Sie überprüfen müssen. Im Beispiel gibt es zwei Zonen: um C30 und um BR1.
4
Wenn es viele Details gibt, die gleichmäßig angeordnet sind, ist es praktischer, ein Raster zu verwenden: Legen Sie die Rahmenstruktur über die gesamte Fläche und geben Sie die Größe des Bereichs an – das Hilfsprogramm zeigt Ihnen, wie viele Zeilen und Spalten entstanden sind. Alternativ können Sie in dem Block `Raster von Bereichen` die Anzahl der Zeilen, Spalten, Breite und Höhe der Zellen sowie auf `Raster erstellen` klicken. Das Raster kann mit der Maus präzise auf das Produkt verschoben werden.
5
Die rechte Seite zeigt jede Zonenübersicht mit Größe und dem Haken "aktiviert". Eine deaktivierte Zone erzeugt keine Klasse, eine vollständig ausgeblendete Tabelle nimmt nicht an der Inspektion teil. Die Schaltflächen Alle Zonen ✓ / ✗, Farbe, Löschen, Alle Zonen löschen. Schließen Sie das Fenster mit der Eingabetaste – die Zonen werden in data.json gespeichert und erscheinen im Video gelb.
Ergebnis der Markierung auf der Registerkarte "AI Model": Zwei gelbe Zonen auf dem Live-Bild – BR1 oben rechts und C30 unten links. Rechts befinden sich die Tasten für das Modell ZONE-PAAR, das Kontrollkästchen "Zonen mit Markern zum Produkt zuweisen" und die Trainingsoptionen.
Ergebnis der Markierung auf der Registerkarte "AI Model": Zwei gelbe Zonen auf dem Live-Bild – BR1 oben rechts und C30 unten links. Rechts befinden sich die Tasten für das Modell ZONE-PAAR, das Kontrollkästchen "Zonen mit Markern zum Produkt zuweisen" und die Trainingsoptionen.
Hinweis. Das Bauteil sollte einen erheblichen Teil der Fläche einnehmen, wobei um das Bauteil herum noch etwas Platz für Leiterbahnen, Beschriftungen und Anschlüsse verbleibt. Diese "Grundfläche" wird dann für die Erstellung synthetischer Daten (Abschnitt 4.6) verwendet. Für Platinen mit Bauteilen der Größe 0603–1206 ist eine Größe von 128 Pixeln bei 11 Pixeln pro Millimeter gut geeignet; für Kondensatoren, Brücken und Anschlüsse sind 192–256 Pixel, wie im Beispiel, empfehlenswert. Die Größe des Eingangs für das Bild (Image Size) sollte dann ungefähr der Größe der Fläche entsprechen.

Rote Zonen: Eine Zone mit einem Klick aus synthetischen Daten entfernen

Auf dem Reiter "KI-Modell" klicken Sie mit der linken Maustaste auf einen bereits erstellten Bereich direkt im Video: Der Bereich wird rot und nimmt nicht an der zonalen Erfassung oder der Anomalieerkennung teil. Ein erneuter Klick setzt ihn wieder zurück. Die Dateizähler in den Fenstern für synthetische Daten werden sofort aktualisiert, und die Aufschrift "aus N" über dem Frame zeigt an, wie viele Bereiche deaktiviert sind. Die Liste der roten Bereiche wird pro Kamera und Modell gespeichert; auf dem Reiter "Überprüfen" bleibt derselbe Bereich normal (dort gibt es eigene, gelbe Bereiche – siehe Abschnitt 5.5).

4.4. Referenz festlegen: Ausrichtungsbereich

Die Inspektionsbereiche sind anhand einer bestimmten Position auf der Platine definiert. Um es möglich zu machen, eine andere Platine in die Linie einzuführen, wobei diese verschoben und gedreht wird, speichert das Programm eine Referenz: ein aktuelles Bild und einen Ausrichtungsbereich – einen Bereich der Platine mit Details, anhand dessen das Produkt in jedem neuen Bild gesucht wird. Sobald der Bereich gefunden wurde, überträgt das Programm die Inspektionsbereiche auf die neue Platine. So funktioniert die Bildaufnahme, die Generierung synthetischer Daten und die Inspektion.

Zwei verschiedene Rechtecke. Inspektionsbereiche sind die Bereiche, die das Modell überprüft (grüne Bereiche). Ausrichtungsbereich ist der Bereich, in dem die Platine gesucht wird (orangefarbiger Rahmen). Die Referenzpunkte dürfen niemals innerhalb der Inspektionsbereiche platziert werden: Wenn die Platine anhand des Kondensators gesucht würde, würde ein verschobener Kondensator nicht nur den Bereich, sondern auch den Ausschuss unsichtbar machen. Daher sollten Sie beim Ausrichtungsbereich die Siebdruck, Löcher, Leiterbahnen und die umliegenden Mikrochips verwenden, aber nicht den Tisch und die Förderbänder.
1
Auf dem Reiter "KI-Modell" aktivieren Sie das Kontrollkästchen "Zonen mit Markern zu dem Produkt festlegen" und geben den Suchzeitraum in Millisekunden (Zeitraum, ms) ein (Standard: 100). Legen Sie die Platine unter die Kamera und klicken Sie auf "Referenz festlegen".
2
Es öffnet sich ein Fenster mit dem Titel „Ausrichtungsbereich: Wo soll die Platine gesucht werden“, das ein Live-Bild und grüne Inspektionsbereiche anzeigt. Ziehen Sie mit der linken Maustaste den Rahmen über den Bereich der Platine mit den Details. Auf der rechten Seite sehen Sie sofort „Referenzpunkte: N · Ausrichtung: fest / Perspektive“. Es sollten Hunderte von Punkten vorhanden sein. Wenn „weniger Punkte“ angezeigt werden, vergrößern Sie den Rahmen mit „größeren Bereich“. Der neue Rahmen ersetzt den alten, die rechte Maustaste löscht ihn.
3
Klicken Sie auf ✔ Sucht nach Bereichen, die durch den markierten Bereich definiert sind. Der zweite Knopf ✔ Sucht nach Bereichen, die durch die Inspektionszonen definiert sind sucht nach Bereichen, die durch die Felder definiert sind – nur, wenn keine anderen Felder in der Nähe liegen. Wenn das Kontrollkästchen Bitte Ausrichtungsbereich jedes Mal abfragen deaktiviert ist, wird die nächste Fixierung den vorherigen Bereich ohne Fenster wiederherstellen.
4
Das Programm schreibt „Referenz bestätigt. Zone N, 1 Ankerpunkte, Punkte K“ und speichert live_template.png und live_template.txt (Bild, Bereich, rote Zonen). Das Kästchen Bereiche der Aufnahme auf dem Bild anzeigen zeichnet die gefundenen Bereiche auf dem Video, während die Ankerpunkte, anhand derer die Abrechnung erstellt wurde, als blaue Punkte angezeigt werden – so ist ersichtlich, an welchen Punkten sich das Programm „orientiert“.
Bereich für Ausrichtung: Orangefarbiger Rahmen – Bereich der Platte mit den Details (3000 Referenzpunkte), grün – Bereiche der Inspektion C30 und BR1, die nicht in den Rahmen fallen.
Bereich für Ausrichtung: Orangefarbiger Rahmen – Bereich der Platte mit den Details (3000 Referenzpunkte), grün – Bereiche der Inspektion C30 und BR1, die nicht in den Rahmen fallen.
Live-Ansicht nach der Ausrichtung: Die Bereiche sind auf den entsprechenden Teilen zu finden und mit „normal“ gekennzeichnet, blaue Linien – Grenzen des Ausrichtungsbereichs, blaue Punkte – übereinstimmende Referenzpunkte auf den Platten (diese fallen nicht in die Bereiche).
Live-Ansicht nach der Ausrichtung: Die Bereiche sind auf den entsprechenden Teilen zu finden und mit „normal“ gekennzeichnet, blaue Linien – Grenzen des Ausrichtungsbereichs, blaue Punkte – übereinstimmende Referenzpunkte auf den Platten (diese fallen nicht in die Bereiche).
Modell für die AusrichtungWann wählen
Automatisch (empfohlen)Die Platine wird fest ausgerichtet (Verschieben, Drehen, Skalieren); die Perspektive wird nur dann angewendet, wenn sie deutlich besser übereinstimmt. Genauigkeit im kleinen Ausrichtungsbereich – 1–2 Pixel.
FestDie Kamera schaut direkt von oben, die Platine liegt flach. Die stabilste Variante, wenn der Ausrichtungsbereich klein ist.
PerspektiveDie Kamera ist in einem Winkel oder die Platine ist geneigt. Es wird ein großer Bereich mit Punkten über die gesamte Breite benötigt, andernfalls wird die Homographie verzerrt.

Die Schaltfläche "Referenz mit Zonen" öffnet die gespeicherte Referenz mit Raster und Zonen-Nummern (siehe Abschnitt 4.8). Die gefundene Platine wird auf ihre Plausibilität geprüft: Die Fläche sollte zwischen 0,5 und 2 Flächen der Referenz liegen, sie sollte ein konkaves Viereck bilden und die Eckpunkte sollten mindestens ein Viertel der Fläche entlang jeder Achse einnehmen – andernfalls wird das Ergebnis verworfen und in der Konsole steht: "Platine nicht gefunden".

Wichtig. Früher wurden die Bereiche, in denen die Messung erfolgte, nur bei einer geringen Anzahl von Bereichen auf dem Bild angezeigt – dies lag daran, dass die Messung anhand der einzelnen Bereiche erfolgte. Durch die Neuanordnung des Referenzbereichs auf den Details der Platine: Die Anzahl der gefundenen Normal-Bereiche auf dieser Platine, wie sie in diesem Handbuch angegeben ist, hat von 46–51 auf 106–112 von 134 gestiegen.

4.5. Aufnahme nach Bereichen: Normal und ihre synthetischen Daten

Die Schaltfläche "ZONEN-PAAR: Aufnahme nach Zonen" dient dazu, das Bild in Zonen aufzuteilen: Sie teilt das Originalbild in Zonen auf, speichert den Ausschnitt jeder Zone in ihrer entsprechenden Kategorie zone_NNN und fügt synthetische Normaldaten hinzu. "Synthetische Normaldaten" sind eine Variation der Aufnahme, und nicht ein Fehler: Die Platine wurde nicht ganz korrekt platziert, das Licht ist leicht anders, der Sensor ist verrauscht.

"ZONE-PAAR: Bild nach Zonen": Anzahl der Optionen, Bilder nach Zeit, Anteil in Val, Verschieben/Drehen/Skalieren des Bildbereichs im gesamten Bild mit der Auswahl "wo", Beleuchtung und Rauschen, Gesamtzahl der Dateien. Das Fenster wird durch Mausbedienung vergrößert.
"ZONE-PAAR: Bild nach Zonen": Anzahl der Optionen, Bilder nach Zeit, Anteil in Val, Verschieben/Drehen/Skalieren des Bildbereichs im gesamten Bild mit der Auswahl "wo", Beleuchtung und Rauschen, Gesamtzahl der Dateien. Das Fenster wird durch Mausbedienung vergrößert.
EinstellungWas wird erstellt und welche Standardeinstellungen gibt es?
Für jede Zone synthetische VariantenWie viele synthetische Dateien können für ein einzelnes Bild erstellt werden? Es wird empfohlen, 20 zu erstellen, wobei 0 nur Referenzdateien sind und maximal 500.
Bilder zu bestimmten Zeitpunkten: Jeder Varianten aus einem neuen KamerabildEin- und ausgeschaltet, Zeitraum 800–1200 ms (mindestens die Belichtungszeit). Jeder Varianten wird aus einem neuen, realen Bild erstellt: tatsächlicher Sensorrauschen, Vibration und Lichtflimmern anstelle von gezeichneten.
Jeder Varianten wird auch in der "val"-Datei mit einer Wahrscheinlichkeit von % angegeben:20 %. Die Referenzdatei befindet sich immer in der "val"-Datei: Bei Ultralytics muss jeder Klassen in beiden Ordnern vorhanden sein.
Training in GraustufenAllgemeiner Modus: Farbe wird aus "Normal", "Anomalien" und "Inspektion" entfernt. Es ist nicht möglich, farbige und graue Dateien in einem Modell zu mischen; das Programm wird warnen.
Verschiebung, px · nach woDas Fenster für die Verschiebung bewegt sich über den gesamten Bildbereich um 0…2 Pixel in den markierten Richtungen (← → ↑ ↓). Der fehlende Streifen wird von der benachbarten Platine übernommen, wodurch der Ausschnitt gleich bleibt. Das Symbol alle Richtungen ermöglicht für jede Richtung eine separate Datei, eine zufällige Datei.
Drehung, ° · nach woStandardmäßig ist es deaktiviert: Es gibt keine Drehung, wenn die Ausrichtung auf einen bestimmten Bereich festgelegt ist, und das Aktivieren verschwimmt die Grenze mit dem Ausschuss. "Links/Rechts", "Alle Richtungen/zufällig" – wie bei einem Verschieben.
Skala, % · Reduzierung / ErhöhungStandardmäßig ist es deaktiviert. Zwei Häkchen bedeuten zwei Seiten: Reduzierung (<100) und Erhöhung (>100, wobei die Zone die Nachbarn aus dem Bild übernimmt). Jede markierte Seite entspricht einer eigenen Datei.
Helligkeit / Kontrast / FarbtiefeZufällige Wert innerhalb des Bereichs für jede Option: Helligkeit 88…112, Kontrast 88…112 %, Farbtiefe 98…102 % (auf dem Bild); im Profil "Elementverschiebung" ist das Licht breiter, um nicht als Zeichen zu wirken.
Rauschen (Sigma) / UnschärfeSensorauflösung 3…8 Stufen, leichte Unschärfe 0,4…0,8 px.
Spalte "Allgemein"Mit Häkchen wird es zusammen mit den anderen in die allgemeine Datei aufgenommen; ohne Häkchen wird eine separate Datei "Referenz + nur diese Ansicht" erstellt. Je mehr einzelne Ansichten, desto mehr Dateien pro Option.
1
Klicken Sie auf ZONE-PAAR: Aufnahme nach Zonen. Die Zeile am unteren Rand des Dialogs berechnet bereits: „Für Option: 1 Datei. Für Zone: 21 in train, ≈5 in val. Insgesamt ≈ 52 Dateien. Aufnahmen von der Kamera: 20, ≈16 davon“ (für zwei Zonen).
2
Wählen Sie den Profil: Standard (Verschiebung 0–2 px, Helligkeit ±5, Kontrast 95–105 %), Verschiebung der Elemente (Verschiebung 0–1 px, Helligkeit −10…10) oder Farbe und Ton (Verschiebung 0–2 px, Helligkeit ±2, Kontrast und Farbton deaktiviert, um den Farbton als Unterscheidungsmerkmal zu erhalten).
3
Klicken Sie auf "Abbrechen". Die Generierung läuft im Hintergrund mit einem Fortschrittsbalken "Zone 1/2 · 26 Dateien · Frame 4/20" und einem Abbruch-Button. Nach Abschluss: "Fertig: 2 Zonen → Klassen zone_001…zone_002, Dateien: 52". Das Programm setzt sofort die Lernparameter für eine Gebühr fest: Bildgröße 128, Modellgröße s, Epochen 50, Batch 64 (Abschnitt 4.9).
4
Wiederholen Sie das Bild mit dem gleichen Knopf auf mehreren verschiedenen, funktionierenden Platinen. Für eine zuverlässige Analyse sind mindestens 80 Dateien pro Klasse erforderlich, aber vor allem mehrere echte Exemplare (5–10 Platinen), und nicht nur ein Bild mit Hunderten von Varianten.
Zug/zone_001 – Normaler C30 in der Leitung: real_… von der Kamera und syn_…_n1…n20 mit Verschiebesuffixen (shiftd, shiftl, shiftr, shiftu). Die Beschriftung befindet sich immer korrekt relativ zum Grund.
Zug/zone_001 – Normaler C30 in der Leitung: real_… von der Kamera und syn_…_n1…n20 mit Verschiebesuffixen (shiftd, shiftl, shiftr, shiftu). Die Beschriftung befindet sich immer korrekt relativ zum Grund.
Zug \zone_002 — Normal BR1: real_… mit drei Schienen und Varianten mit leichtem Winkel (rotl, rotr) und Versatz.
Zug \zone_002 — Normal BR1: real_… mit drei Schienen und Varianten mit leichtem Winkel (rotl, rotr) und Versatz.

4.6. Synthetische Daten: Verschiebung des Elements zusammen mit der Basis

Die Grundlage für die generierten synthetischen Daten. Das Modell lernt besonders gut, wenn es beim Erkennen von Fehlern nicht mit einem simulierten Fleck, sondern mit dem tatsächlich zu prüfenden Bauteil zusammen mit den umliegenden Bauteilen der Platine konfrontiert wird: mit den Leiterbahnen, den Beschriftungen, der Farbe und der Textur der Platine. Das Programm verkleinert den Bildbereich auf die Größe des Bauteils und verschiebt oder rotiert diesen Bereich, wobei der Rand mit benachbarten Pixeln des Bildes aufgefüllt wird. Dadurch wird das Bauteil in Bezug auf die Platine genau so dargestellt, wie es ein menschlicher Prüfer bei einem tatsächlichen Fehler sehen würde, inklusive des realen Rauschens des Sensors, der realen Lichtverhältnisse und der realen Platine.

Eine normale und eine anomale Zone unterscheiden sich nur in der Position des Elements relativ zur Grundfläche. Ansonsten sind sie identisch, daher lernt das Netzwerk die Verbindung "Element ↔ Platine", anstatt Unterschiede in der Fleckenbildung oder der Beleuchtung zu erkennen.

Zwei Klicks:

1
ZONEN-PAAR: Aufnahme nach ZonenAufnehmen. Die Normal-Auschnitte jeder Zone mit 20 verschiedenen Aufnahmemöglichkeiten (Fensterverschiebung 0–2 Pixel, Helligkeit, Rauschen) werden in die Klassen zone_NNN übertragen.
2
ZONEN-PAAR: Anomalien der ZonenErstellen. Die Standardeinstellungen umfassen bereits beide Arten der Verschiebung: Verschiebung der Zone um 5–12 px in alle Richtungen und Drehung des Bereichs des Elements (70 % der Zone, Kreis) um 15–180°. Die Dateien werden in die Klassen zone_NNN_anomaly verschoben.

Es sind keine weiteren Einstellungen erforderlich: weder die Ausschuss-Funktion zu konfigurieren, noch defekte Platinen zu identifizieren. Danach: TRAIN AI MODEL.

Vor und nach: Was die Software erreicht

VOR: Ein lebendiges Bild einer funktionierenden Platine. Beide Bereiche sind grün – „normal“.
VOR: Ein lebendiges Bild einer funktionierenden Platine. Beide Bereiche sind grün – „normal“.
NACH: Die synthetischen Daten aus den Fehlerspaltenordnern (C30 verschoben nach rechts und unten, BR1 gedreht) werden in die gleichen Bereiche eingesetzt. Beide Bereiche sind rot – „Fehler“. Die Platine wird auch so aussehen, wie sie tatsächlich in der Produktionslinie aussieht.
NACH: Die synthetischen Daten aus den Fehlerspaltenordnern (C30 verschoben nach rechts und unten, BR1 gedreht) werden in die gleichen Bereiche eingesetzt. Beide Bereiche sind rot – „Fehler“. Die Platine wird auch so aussehen, wie sie tatsächlich in der Produktionslinie aussieht.
Groß, Bereich 1 (C30): Links: Normal aus der Kamera, rechts: synthetische Daten – das Element zusammen mit der Basis ist nach unten und rechts verschoben, der Rand ist von den Nachbarn aus dem Bild gefüllt.
Groß, Bereich 1 (C30): Links: Normal aus der Kamera, rechts: synthetische Daten – das Element zusammen mit der Basis ist nach unten und rechts verschoben, der Rand ist von den Nachbarn aus dem Bild gefüllt.
Groß, Bereich 2 (BR1): Rechts: Der Bereich des Elements ist um 180° gedreht – die Flächen sind an der richtigen Stelle, der Gehäuse ist falsch.
Groß, Bereich 2 (BR1): Rechts: Der Bereich des Elements ist um 180° gedreht – die Flächen sind an der richtigen Stelle, der Gehäuse ist falsch.

Ordner für Anomalien, wie der Benutzer sie sieht

Vergleichen Sie mit den Ordnern "Normal" aus Abschnitt 4.5: Der einzige Unterschied ist die Position des Bauteils relativ zur Basis.

train\zone_001_anomaly – Ausschuss C30. In jeder Kopie von t000, t001… befinden sich neun Dateien: combo1_d, _dl, _dr, _l, _r, _u, _ul, _ur – der Bereich ist um 5–12 px in acht Richtungen verschoben (d = unten, u = oben, l = links, r = rechts), rotate1 – der Bereich des Kondensators ist gedreht.
train\zone_001_anomaly – Ausschuss C30. In jeder Kopie von t000, t001… befinden sich neun Dateien: combo1_d, _dl, _dr, _l, _r, _u, _ul, _ur – der Bereich ist um 5–12 px in acht Richtungen verschoben (d = unten, u = oben, l = links, r = rechts), rotate1 – der Bereich des Kondensators ist gedreht.
train\zone_002_anomaly – Ausschuss BR1: Der Gehäusekörper ist auf jede der acht Seiten des Modells montiert und in eine zufällige Richtung gedreht. Die Leiterplatte und die Lötstellen sind authentisch.
train\zone_002_anomaly – Ausschuss BR1: Der Gehäusekörper ist auf jede der acht Seiten des Modells montiert und in eine zufällige Richtung gedreht. Die Leiterplatte und die Lötstellen sind authentisch.
Wie man Dateinamen liest. syn_<Datum>_t003_combo1_dr.jpg – Kopie 3, allgemeine Datei, Verschiebung nach rechts/unten (d = unten, r = rechts, u = oben, l = links); …_rotate1.jpg – Drehung des Bereichs des Elements; …_scale1_dn/_up – Skalierung in die kleinere oder größere Richtung; …_tl/_c/_br – Wo sich der Bereich befand (Ecke, Mitte). Durch den Namen ist immer klar, welcher Fehler in der Datei vorliegt, und der überflüssige Bereich wird mit dem Button "Synthetische Daten Klasse (train + val) löschen" im Bereichfenster entfernt.

Kennzeichnung von Bauteilen: Warum die "dicke" Linie und wie man das einstellt

Auf den Bauteilen befinden sich Kennzeichnungen – Schriftzeichen und Strichpunkte mit einer Dicke von 1–2 px. Diese können sich von Charge zu Charge unterscheiden: andere Schriftart, die Beschriftung auf dem Kondensator ist anders ausgerichtet, einige Symbole sind ausgetreten. Wenn ein synthetischer Defekt, wie z. B. ein Kratzer, mit derselben dünnen Linie dargestellt wird, kann das System ihn nicht von dem Strich der Kennzeichnung und dem Rauschen des Sensors unterscheiden und beginnt, fehlerhafte Platinen aus einer anderen Charge zu verwerfen.

Synthetische Daten: Das ZONE-PAAR deckt dies von beiden Seiten ab. Erstens verursacht die Hauptausschussursache – eine Elementverschiebung – eine Bewegung des Markierungselements zusammen mit dem Gehäuse, sodass die Beschriftung kein Unterscheidungsmerkmal darstellt: sie sieht sowohl im Normalzustand als auch bei einer Anomalie gleich aus. Zweitens ist die standardmäßig gezeichnete Linie / Kratzer fett (⅛ der Zone, nicht weniger als 3 Pixel) und unterscheidet sich eindeutig von einer Markierungsstrichen. Die Dicke wird jetzt explizit festgelegt: das Feld Linienstärke, Pixel (0 = automatisch) beeinflusst sowohl die Linie als auch das Kreuz.

Zeichnerische Fehler (Rechteck, Kreis, Linie, "fehlender Bauteil", verschwommenes Fleck und andere) sind in einer zusammenfaltbaren Gruppe Synthetische Fehler auf dem Ausschnitt zusammengefasst. Standardmäßig ist sie zusammengefaltet und deaktiviert: Auf der Platine ist der Hauptfehler eine Verschiebung. Aktivieren Sie sie für spezifische Aufgaben: Gefüllte Fläche, unnötiger Tropfen, abgenutzte Kennzeichnung.

Parameter für FormenWas sie festlegt
Größe: von … bis, % der Zone / pxGröße oder Länge der Form. In Prozent: vom kleineren Seiten der Zone (proportional zu jeder Zone); in px: gleich auf allen Zonen, praktisch, wenn die tatsächliche Größe des Defekts in Pixeln des Bildes bekannt ist.
Füllungvollständig / Kontur / gemischt (auch die Kontur ist dick).
Linienstärke, pxLinie / Kratzer und Kreuz. 0 = automatisch (dick). Für die Kennzeichnung von Bauteilen sollten Sie nicht unter 3 px gehen.
Wo befindet sich der Defekt?Zentriert, links, rechts, oben, unten – wo die Figur platziert werden soll (mit einer leichten, zufälligen Streuung). Das Häkchen "alle Positionen" bedeutet, dass für jeden markierten Platz eine separate Datei erstellt wird; "eine zufällige" bedeutet, dass eine einzelne Datei erstellt wird, wobei die Position zufällig aus den markierten Positionen ausgewählt wird. Der Dateizähler unten im Fenster berücksichtigt dies automatisch.
Farben der Formen: 5 SlotsFünf Slots anstelle einer Liste von Namen. Ein Häkchen bedeutet, dass der Slot aktiv ist. Die Farbe wird zufällig aus den ausgewählten Slots ausgewählt (ungefähr 12 Farben pro Kanal, um eine einheitliche Farbgebung zu vermeiden). Ein Button mit einem Beispiel ermöglicht die Auswahl einer Farbe aus einer Palette. Ein Pipetten-Symbol ermöglicht es, eine Farbe aus einem Kamerabild auszuwählen (das Rädchen dient zum Zoomen, die rechte Maustaste zur Panoramafunktion) und eine Farbe von einem realen Detail oder einer Platine zu übernehmen. Standardmäßig sind zwei Slots aktiviert: ein dunkler und ein heller, die restlichen drei sind deaktiviert.
Spalte "Allgemein"Der markierte Defekt wird zusammen mit anderen "allgemeinen" Defekten (z. B. Kratzer über einem verschobenen Element) in einer gemeinsamen Datei gespeichert. Ohne Markierung wird eine separate Datei "Normal + nur dieser Defekt" erstellt. Die Ansicht mit "allen Positionen" ist immer separat.

4.7. Anomalien von Zonen: Einstellungen-Fenster

Die Schaltfläche "ZONEN-PAAR: Anomalien" erstellt Klassen "zone_NNN_anomaly" aus den Normal-Bereichen. Alle Bereiche werden ausgewählt, außer den roten (deaktivierten Bereichen, die durch einen Klick im AI Model, Abschnitt 4.3, festgelegt werden). Die Anomalie-Klassen sind nicht überall erforderlich: Fügen Sie sie nur für die Bereiche hinzu, in denen Ausschuss tatsächlich vorkommt, und die anderen Bereiche werden vom Modell anhand der Erkennung überprüft.

Das Fenster "ZONE-PAAR: Zonenanomalie": Kopie des Defekts oben; zusammenfaltbare Gruppe gezeichneter Formen mit Parametern, Position und Farbpalette; Verschieben, Drehen und Skalieren der Zone mit Form und Skalierung ±%; Unterzonen; Beleuchtung über dem Defekt; Zeit- und Val-Aufnahmen.
Das Fenster "ZONE-PAAR: Zonenanomalie": Kopie des Defekts oben; zusammenfaltbare Gruppe gezeichneter Formen mit Parametern, Position und Farbpalette; Verschieben, Drehen und Skalieren der Zone mit Form und Skalierung ±%; Unterzonen; Beleuchtung über dem Defekt; Zeit- und Val-Aufnahmen. Das Fenster wird durch Klicken vergrößert.
EinstellungWas es tut
Kopie des DefektsEine Zahl für alle Arten: Wie viele Kopien mit zufälligen Parametern sollen für jeden markierten Typ erstellt werden (Standard: 10).
▸ Synthetische Defekte über dem AusschnittStandardmäßig ausgewählte Gruppe: Rechteck, kleine Rechtecke, Kreis, Ellipse, Dreieck, Acht, Linie/Rille, Kreuz, `fehlendes Element`, verschwommenes Fleck, Rauschunterdrückung, Teil einer anderen Zone. Parameter der Formen, Position und Farbpalette – Abschnitt 4.6.
Verschiebung, px · wo · FormHauptdefekt der Platine. Der Bereich (Kreis oder Quadrat) verschiebt sich um 5–12 Pixel in die angegebenen Richtungen: ← → ↑ ↓ und die beiden Diagonalen ⤡ ⤢. Skalierung vertikal / horizontal, ±% – Größe des Bereichs relativ zur Zone: 0 – gesamte Zone, -30 – Bereich um 30 % kleiner (nur das Element wird verschoben, die Basis bleibt erhalten), +30 – Bereich größer als die Zone (nimmt Nachbarn aus dem Bild auf). Alle Richtungen – für jede Seite im Dateipfad.
Drehung, ° · FormDer Bereich (Kreis oder Quadrat, gleiches Maß ±%) dreht sich um einen zufälligen Winkel innerhalb des Bereichs in beide Richtungen.
Skala, % · Reduzierung / ErhöhungDer Bereich als Defekt: Reduzierung um 60–85 % oder Erhöhung um 120–160 %. Jede markierte Seite – eine eigene Datei. Auf der Platine ist normalerweise deaktiviert.
«gemeinsam» für Verschiebung und DrehungWenn beide Kästchen aktiviert sind, bedeutet dies, dass ein einzelnes Element in einer Datei betrifft: Verschiebung und Drehung werden durch eine einzige Transformation angewendet (nicht nacheinander, da dies zu einem "Durcheinander" führen würde), und die Größe des Bereichs sowie die Form sind gemeinsam und werden durch die Verschiebung festgelegt.
▸ UnterbereicheDer Bereich wird in 2, 4 oder 9 Teile aufgeteilt, und innerhalb jedes Bereichs dreht sich oder verschiebt sich ein eigener Bereich; das Häkchen „ein Bild für jeden Unterbereich“ erzeugt eine Datei pro Teil. Dies ist für große Bereiche mit mehreren Elementen erforderlich.
Beleuchtung und Rauschen über jeder DefektdateiEin- und Normal: Der Defekt sollte sich in der Geometrie unterscheiden, nicht in der Beleuchtung.
Bilder nach Zeit / in valJede Kopie aus dem neuen Bild des Kameras (800 ms), 20 % in val, die erste Datei der Klasse in val ist immer vorhanden.
1
Klicken Sie auf ZONE-PAAR: Anomalien der Zonen. Das Ergebnis wird im Voraus berechnet: „Zone: 2 · auf Kopie: 2 Dateien · auf Zone: 20 · insgesamt ≈ 40 (+ Teil in val)“. Bei der Verschiebung der Dateien auf eine Kopie ergeben sich neun, wie in den obigen Ordnern.
2
Wählen Sie den Profil: Standard (Verschiebung der Zone 5–12 px + Drehung des Bereichs, der Formen und Unterbereiche werden zusammengefasst und deaktiviert), Verschiebung der Elemente (nur Verschiebung von 4–12 px, Licht wie bei Normal) oder Farbe und Farbe (Formen, "Element fehlt", Farben aus der Palette, ohne Verschiebung). Das Fenster speichert Ihre Änderungen sofort, bei jedem Klick.
3
Klicken Sie auf "Erstellen". Die Klassen "zone_NNN_anomaly" erscheinen im Modellbaum. Fügen Sie die entsprechenden Elemente aus der Linie manuell zu den gleichen Klassen über ROI → "Zu Klasse hinzufügen" hinzu.
Wichtig. Der untere Grenzwert für die synthetische Verschiebung (5 px) befindet sich direkt über dem Bereich "Normal" (0–2 px). Erweitern Sie "Normal" nicht auf 5 px und reduzieren Sie die Anomalie nicht auf 2 px: die Grenze verschwimmt, und das Modell wird auf echten Platinen instabil sein. Wenn eine andere Empfindlichkeit erforderlich ist, ändern Sie beide Grenzen zusammenhängend und berechnen Sie sie in Millimetern (Abschnitt 1.3).

4.8. Referenz mit Zonen: Lötpads und Zonen-Editor

Die Schaltfläche "Referenz mit Bereichen" öffnet die gespeicherte Referenzplatte mit Raster. Hier werden synthetische Daten ohne Kamera erstellt: Rad – Zoom, rechte Taste – Panorama, linke Taste – Auswahl von Bereichen (Strg – hinzufügen, Ziehen – mit Rahmen, Strg+A – alle), Doppelklick – Bereichseditor.

  • Lötfetzen für die ausgewählten Bereiche… – Fenster „Lötfetzen: Kurzschluss zwischen Leiterbahnen“. Das Programm findet automatisch die Leiterbahnen im Bereich (mit Ots-Schwellwert, hellen Streifen mit ≥ 2 px Breite), platziert einen Tropfen Lötfett zwischen den benachbarten Leiterbahnen, wobei die Farbe der Leiterbahnen, eine dunkle Kante und ein Reflex verwendet werden. Einstellungen: zwischen vertikalen oder horizontalen Leiterbahnen, Anzahl der Lötfetzen auf den Bildern 1…3, Größe des Bereichs (8…18 %), Anzahl der Bilder pro Bereich (5), wo platziert werden soll – in eine Anomalie oder in Normal, Beleuchtung der Oberfläche, in „val“ – ein neues Bild mit anderer Beleuchtung oder eine exakte Kopie.
  • Bereichseditor: Werkzeuge: Pinsel, Pipette, Farbfläche, Bereich kopieren, Einfügen, Stempel, Bereich für Leiterplatten; Farbpalette: "Lötfarbe / Fläche", "Platine", "Schatten / Maske", Weiß, Schwarz; Feld "Kopieren" und Schaltfläche Bild erstellen. So wird ein Ausschuss dargestellt, der bisher nicht auf der Linie vorhanden war: eine gefüllte Fläche, ein unnötiges Element, ein fehlendes Etikett.

Die Dateien des Editors erhalten die Namen `edit_…` und werden einer bestimmten Zone oder einer Anomalie zugewiesen. Auf der Registerkarte "Inspektion" wird dieses Fenster jedoch nur zum Anzeigen geöffnet.

4.9. Modelltraining

Die Gruppe "Trainingsoptionen" im Reiter "KI-Modell" wird automatisch ausgefüllt, nachdem der erste Scan in Zonen durchgeführt wurde: Bildgröße 128, Modellgröße s, Epochen 50, Batch 64. Dies sind die Werte für die Zonen 108–137 Pixel. Für die Zonen mit 256 Pixel, wie im Beispiel, setzen Sie Bildgröße auf 192 oder 256 – der Ausschnitt wird dann kaum komprimiert (die Werte für die Hauptfenster sind Epochs 100 und Bildgröße 192). Überprüfen Sie die Werte und klicken Sie auf "KI-MODELL TRAINIEREN".

ParameterWas bedeutet das?Wie wählt man?
EpochsWie oft wird das Modell den gesamten Datensatz durchlaufen?Standardmäßig 50 für die Platine; 100–150, wenn es viele Klassen von Anomalien gibt
Batch SizeWie viele Bilder pro Schritt?64; wenn der Videospeicher nicht ausreicht, verringern Sie ihn
Image SizeWelche Größe haben die Ausschnitte, multipliziert mit 32?Ungefähre Größe der Zone: 128 für die Zone 108–137 Pixel; 192–256 für die Zone 256 Pixel, wie im Beispiel
Model Sizen / s / m / l / xs — optimal für Hunderte von Klassenpaaren; n ist nicht ausreichend, m und höher ist langsamer
Devicewofür trainieren0 (GPU) mit NVIDIA-Grafikkarte; ohne CUDA schaltet das Programm automatisch auf die CPU um
WorkersAnzahl der Datenvorbereitungs-Threads12 (Standard für Mehrkernprozessoren)
1
Vor dem Start überprüft das Programm die Einstellungen: Es schlägt vor, leere Klassen und unnötige Ordner in "val" zu löschen und "val" dort zu erstellen, wo es leer ist. Beim ersten Start wird die Trainingsumgebung eingerichtet (Python 3, Ultralytics-Pakete, onnx, onnxslim, onnxruntime) – eine Internetverbindung und einige Minuten sind erforderlich.
2
Für das "ZONE-PAAR"-Modell erfolgt das Training ohne "erasing", "flip", "crop" und "randaugment": Diese Augmentierungen kollidieren mit den Anomalieklassen (eine umgekehrte Zone ist bereits eine andere Zone). Die entsprechende Zeile wird in der Konsole ausgegeben.
3
Der Knopf wird rot, wenn "STOP AI MODEL" gedrückt wird, und die Ringanzeige rechts zeigt den Prozentsatz pro Epoche an. Der Trainingsverlauf kann in der Konsole eingesehen werden. Für zwei Zonen und 100 Epochen auf einer Grafikkarte dauert dies etwa 10–15 Minuten.
4
Nach Abschluss der Ausführung wird best.onnx in das Stammverzeichnis des Modells exportiert und sofort für die Inspektion markiert. Die Schaltfläche "ONNX exportieren" führt den Export erneut durch, ohne das Modell neu zu trainieren.
Rat. Die Feinabstimmung nach dem Hinzufügen einer Ausschussgruppe oder neuer Datensätze erfolgt mit demselben Knopf: Der Datensatz wird erweitert, und das KI-Modell wird trainiert best.onnx Es wird überschrieben. Bitte berühren Sie dabei das Gitter nicht.

5. Inspektion

Alle Schritte werden im Bereich "Inspect" durchgeführt. Das Modell wurde bereits trainiert und zugewiesen; es bleiben noch die Überprüfung der Bereiche, die Festlegung eines Schwellenwerts, die Auswahl der Tempoquelle und, falls die Zahlung in jeder Position eingeht, die Aktivierung des Live-Bandes.

Funktion "Inspektion": Modell model_4\best.onnx, Zeile "Klassifizierung der Inspektion: SCHALTPLATTE – Zone 2, Anomalieklasse 2. Zone N wird innerhalb des Bereichs zone_N / zone_N_anomaly behandelt, Schwellenwert 50 %, dynamische Überprüfung mit einer Periode von 2000 ms und dem Indikator "Normal · 112 Punkte"
Funktion "Inspektion": Modell model_4\best.onnx, Zeile "Inspektionsklassen: SCHALTPLATTE – Zone 2, Anomalieklasse 2. Zone N wird innerhalb der Bereiche zone_N / zone_N_anomaly behandelt, Schwellwert 50 %, Live-Band mit einer Periode von 2000 ms und dem Indikator "Normal – 112 Punkte", unten Quelle für die Geschwindigkeit und die Markierungen "GPU", "Graue Analyse". Auf dem Bild sind beide Zonen grün – "normal".

5.1. Modell und Zonen zuweisen und überprüfen

1
Wenn kein Modell ausgewählt wurde, klicken Sie auf "ONNX-MODELL FÜR INSPEKTION AUSWÄHLEN" und geben Sie best.onnx im Modellordner ein. Die Zeile "Inspektionsklassen" zeigt alle Klassen an; die Namen werden aus der ONNX-Datei selbst entnommen, sodass die Ausgabennummern garantiert mit den Namen übereinstimmen.
2
Klicken Sie auf ZONEN-PAAR: Zonen ↔ Modell (Überprüfung, Schwellenwert). Das Fenster zeigt Folgendes an: "Anzahl der Zonen im Gitter: 2 / Anzahl der Klassen zone_NNN im Modell: 2, Anzahl der Anomalieklassen: 2 / Jede Zone im Gitter hat eine eigene Klasse ✔". Warnungen wie "Zonen ohne Klasse im Modell" oder "Klassen ohne Zone im Gitter" bedeuten, dass das Gitter nach dem Training verändert wurde.
3
KI NICHT VERWENDEN schaltet die Analyse auf dieser Kamera vorübergehend ab, ohne Einstellungen zu löschen (eigene Flagge für jede Kamera); MODELL LÖSCHEN entfernt das Modell und die Slots vollständig.

5.2. Schwellenwert für die Zone-Erkennung

Für jede Zone werden die Wahrscheinlichkeiten aller Klassen ausgegeben, aber die Entscheidung wird nur innerhalb der entsprechenden Zone getroffen. Der Faktor „Erkennung“ – also wie gut die Kombination tatsächlich einen Ausgang der Zone nutzt (volle Erkennung bei 10 % oder höher) – wird mit der Wahrscheinlichkeit q = p(zone_N) / (p(zone_N) + p(zone_N_anomaly)) multipliziert. Die abschließende Bewertung von 0…100 % wird mit einem Schwellenwert verglichen: höher als normal, niedriger als Anomalie.

Der Standardwert beträgt 50 %, und er wird in board.json zusammen mit dem Modell gespeichert und sofort angewendet, ohne dass das System neu gestartet werden muss. Werte unter 50 % führen dazu, dass der Normalbereich immer stärker betont wird: 25 % → Abschneiden bei 6 %, 10 % → 0,4 %, 1 % → fast vollständig grün; 99 % lassen nur sichere Bereiche durch. Diese Skala dient dazu, dem Bediener den Unterschied zwischen 5 % und 99 % deutlich zu machen, anstatt nur rote Bereiche anzuzeigen.

Hinweis. Wählen Sie einen Schwellenwert auf einer Gruppe von 10 eindeutig funktionierenden Platinen aus: Erhöhen Sie den Wert, bis alle Bereiche grün bleiben, und überprüfen Sie dann die Platinen mit bekannten Defekten. Das Programm schreibt alle 10 Sekunden eine Zeile in die Konsole: "[ZONEN-PAAR] … normal N, Fehler M, Schwellenwert 0,50; schlechteste Werte: z17:0,31 …" – dadurch ist ersichtlich, welche Bereiche dem Schwellenwert am nächsten liegen.

5.3. Live-Pipeline: Platten in jeder Position

Live-Band: Suche nach Bauteilen in jeder Position beinhaltet die Suche nach Bauteilen innerhalb eines definierten Bereichs vor jeder Analyse: Das Bild wird mit einer Referenz ausgerichtet, die Bereiche werden aus dem ausgerichteten Bild ausgeschnitten, und die Bereiche (grün für "Normal", rot für "Anomalie") werden auf dem Video markiert. Das Feld Zeit, ms bestimmt, wie oft nach dem Bauteil gesucht wird (Standard: 1000, auf dem Bild: 2000). Ein Indikator neben dem Feld zeigt: Grün für "Normal · N Punkte", Rot für "ANOMALIE · N Punkte", Orange für "Bauteil nicht gefunden" oder "Keine Referenz – bitte bestätigen". Die Entscheidung basiert auf einer einzelnen Analyse, ohne eine kumulative Berechnung.

Der Referenz- und Ausrichtungsbereich werden mit der gleichen Taste „Referenz fixieren" markiert, wie bei der Aufnahme (Abschnitt 4.4); „Referenz mit Zonen" ermöglicht deren Anzeige. Auf dem Video werden die Grenzen des Ausrichtungsbereichs und die blauen Referenzpunkte eingezeichnet, an denen die Platine ausgerichtet wurde. Bereiche, die nach der Ausrichtung über den Bildrand hinausgehen, werden mit dem Hinweis ÜBERSPringen" markiert.

5.4. Über welchen Signal die Analyse durchführen

Die Quelle des Tempos ist immer gleich: Beim Starten einer neuen Anwendung wird die vorherige gelöscht.

MethodeWie einrichtenWann anwenden
Über die KameraCheckbox "Über die Kamera"Kontinuierliche Überwachung; Geschwindigkeit begrenzt durch den Schieberegler "Analyse pro Sekunde" im Bereich Kamera
Über einen TimerCheckbox "Über den Timer" und Intervall in MillisekundenRegelmäßige, z.B. einmal pro Sekunde
Über einen AuslöserAuswahl der Verbindung in der Liste "Auslöser" und des Signals "Analyse bei + am Eingang" oder "bei -"Kanal mit Sensor am Eingang der Kamera: Der Bildausschnitt wird aufgenommen, wenn das Produkt eintrifft – die genaueste Methode (Abschnitt 6)
GPURechteck mit dem Aufkleber „GPU“ist standardmäßig aktiviert; das Umschalten führt zu einer Neuladung des Modells.
Graue FarbanalyseDas Kästchen "Graue Analyse"Die Modelle, die mit Graustufen trainiert wurden, werden automatisch aktiviert. Die Ausgaben werden vor der Auswertung in Graustufen umgewandelt.

5.5. Gelbe Zonen: Zone deaktivieren durch Klick

Auf der Linie kann es erforderlich sein, bestimmte Bereiche vorübergehend aus dem System zu entfernen: Der betreffende Bauteil ist nicht in dieser Version vorhanden, der Bereich ist durch eine Vorrichtung gesperrt, und es werden Fehlerbehebungen durchgeführt. Hierfür ist es nicht erforderlich, das Raster oder das Modell zu ändern. Die Bereiche werden direkt im Video deaktiviert, und zwar auf dem Reiter "Inspektion".

1
Klicken Sie mit der linken Maustaste auf den Bereich auf dem Kamerabild: Der Bereich wird gelb und wird nicht mehr analysiert. Ein erneutes Klicken aktiviert ihn wieder.
2
Funktionsbereich: Halten Sie die linke Maustaste gedrückt und ziehen Sie den Rahmen über die Zahlung. Alle Bereiche, die sich innerhalb des Rahmens befinden, werden deaktiviert; wenn sie bereits gelb markiert waren, werden sie durch den Rahmen wieder aktiviert. Die Funktion funktioniert auch beim Zoomen mit der Maus.
3
Die Liste der gelben Zonen wird in der Datenbank pro Kamera und Modell gespeichert und erfordert einen Neustart des Programms sowie eine erneute Verbindung zur Kamera. In der Konsole wird die Zeile „[Zonen] … gelöscht: N“ angezeigt.

Was die gelben Zonen tun, wird durch den allgemeinen Kontrollkästchen Gelbe (durch Klicken deaktivierte) Zonen sind stumm im Bereich "Audio" im Ausgabe-Fenster festgelegt (standardmäßig aktiviert):

KontrollkästchenVerhalten in den gelben Zonen
Aktiviert (standardmäßig)Die Zone wird überhaupt nicht analysiert: Der Auszug wird nicht an das Netzwerk gesendet, das Signal „OFF“ wird nicht übertragen, es gibt keine TCP-Datenübertragung oder Kamerabewegungen. In der realen Umgebung hat die gelbe Zone keinen Einfluss auf die Bewertung „Normal / Anomalie“.
AusgeschaltetDer gelbe Rahmen dient lediglich als Markierung: Der Bereich wird analysiert und funktioniert wie gewohnt. Es ist praktisch, um Bereiche für die Überprüfung zu kennzeichnen, ohne die Kontrolle zu unterbrechen.
Hinweis. Die Regeln von Ausschleuser für gelbe Zonen müssen nicht deaktiviert werden: Wenn sie aktiviert sind, erhalten sie keine Ergebnisse, aber sobald sie deaktiviert werden, funktionieren die Zonen sofort wieder.

5.6. Was auf dem Bildschirm und in der Konsole sichtbar ist

  • Das Ergebnis für die jeweilige Zone ist markiert; der Rahmen ist durch die Farbe der Zonen angezeigt, wobei bei Auslösung einer Aktion eine rote Farbe angezeigt wird. Wenn mehr als 50 Zonen vorhanden sind, wird die sichere Normalanzeige nur durch einen grünen Rahmen angezeigt, während Anomalien und unsichere Zonen mit entsprechenden Markierungen versehen werden. Hunderte von Markierungen pro Frame erschwerten das Lesen des Bildes und belasteten die Darstellung. Gelbe Zonen können durch Klicken deaktiviert werden (Abschnitt 5.5).
  • Die "Auslöser-Analyse"-Leiste am unteren Rand des Tabs zeigt jede Auslösung in einer Zeile: [hh:mm:ss.mmm] Eingangskamera + AUSLÖSER 4 ms | KI 12 ms #57 und das Ergebnis für jede Zone. Diese Zeilen werden nicht in die Datenbank geschrieben.
  • Rechtsklick auf den Bereich im Video: „Klassifizierung in diesem Bereich → als „…“ betrachten“ benennt die Antwort des Modells für diesen Bereich um (ändert das Modell nicht, aber Ausschleuser und das Protokoll sehen den neuen Namen); zusätzlich „Ausschleuser für diesen Bereich“ und die Regelzählung.
  • Häkchen setzen bei "Inspektionsbilder speichern" und Ordner: Die Bilder mit den eingezeichneten Bereichen werden als Dateien im Format inspect_….jpg gespeichert. Die Einstellungen sind für jede Kamera individuell.
  • Alle 10 Minuten wird ein Bild des laufenden Produktionsprozesses und eine Textliste der Bereiche in ein Unterverzeichnis diag geschrieben. Die letzten 20 Bilder werden dort gespeichert, um Streitfälle ohne weiteres Vergrößern der Ordner zu bearbeiten.

6. Auslöser: Ein externer Sensor am Kameraingang

Der Hauptmodus für die Förderanlage: Die Kamera nimmt einen Bildausschnitt basierend auf dem elektrischen Signal eines Sensors an ihrem diskreten Eingang auf. Dies ist der präziseste Zeitpunkt für die Aufnahme: Das Produkt befindet sich immer an der gleichen Stelle im Bild, und die Analyse erfolgt genau einmal für das Produkt. Das Fenster "TRIGGER" sammelt die Verbindung "Sensor → Kamera" und erstellt ein Schaltplan für die Verbindung mit dem ausgewählten Anschluss.

Taster-Set für HIKROBOT (6 Pins): PNP-Sensor, Signal an Pin 2, Masse an Pin 5, Pinbelegung.
Taster-Set für HIKROBOT (6 Pins): PNP-Sensor, Signal an Pin 2, Masse an Pin 5, Pinbelegung.
Dies gilt auch für die SICK picoCam (6-pol): Signal an Pin 4 (Trigger +), gemeinsamer Pin 3 (Trigger −).
Dies gilt auch für die SICK picoCam (6-pol): Signal an Pin 4 (Trigger +), gemeinsamer Pin 3 (Trigger −).
1
Klicken Sie auf TRIGGER über das Video. Wählen Sie Trigger-Gerät (z. B. optischer Sensor BAOLSEN QAF-Q2P, 4 Drähte; jeder Sensor mit PNP- oder NPN-Ausgang kann auf die gleiche Weise angeschlossen werden), Kamerenanschluss (HIKROBOT 6-polig oder SICK picoCam 6-polig), Kamera (welche genau) und Art des Sensorsignals: PNP – der Signalkontakt ist "Plus" (normaler Fall), NPN – der Signalkontakt ist "Minus", ein Widerstand von 1–4,7 kOhm bei 24 V ist erforderlich.
2
Erstellen Sie das Schaltbild anhand des Bildes: Stromversorgung des Sensors und der Kamera von einem 24-V-Block, Signalleitung des Sensors an den Eingang der Kamera, die Rückleitung des Eingangs an 0 V. Der weiße Draht des Sensors ist der zweite Ausgang, dieser wird nicht angeschlossen.
3
Klicken Sie auf Verbindung erstellen. Die Verbindung wird in der Datenbank gespeichert; identische Verbindungen werden nicht doppelt erfasst. Die Schaltfläche Verbindung löschen entfernt die ausgewählte.
4
Auf dem Reiter Inspektion wählen Sie die entsprechende Verbindung in der Liste Auslöser und den Front: "Analyse bei + Eingang" (Bild bei 24 V) oder "Analyse bei - Eingang". Das Programm schaltet die Kamera in den Auslöser-Modus: Bei HIKROBOT ist TriggerMode = On, TriggerSource = Line0, während SICK den Erfassungsprozess stoppt, den Modus setzt und neu startet. Der Kreis daneben zeigt den Eingangswert an.

Beschriftung der Anschlüsse

PinHIKROBOT MV-CS, 6 pinSICK picoCam, 6 pin
1DC_PWR – Stromversorgung der Kamera: 9–24 VGND – Stromversorgung der Kamera
2OPTO_IN – Eingang Linie 0 (+), AuslösesignalVCC – Stromversorgung der Kamera (12–24 V)
3GPIO – Line 2, Eingang oder AusgangAuslöser – Eingang des Auslösers, des Optokupfers
4OPTO_OUT – Ausgang Linie 1 (+)Auslöser + – Eingang des Optotransistors (+)
5OPTO_GND – ein allgemeiner Optokoppler, mit Rückleitung.Flash + – Diskreter Ausgang (+)
6GND – Stromversorgung der KameraFlash – – Diskreter Ausgang (-)
Wichtig. Die Anschlüsse "Vater" (an der Kamera) und "Mutter" (am Kabel) sind entgegengesetzt. Der einzige Orientierungspunkt ist der Schlüssel (ein großer Ausschnitt des Kontakts); bei SICK befindet er sich zwischen den Kontakten 1 und 6 und verläuft bei der Spiegelung nach rechts. Beachten Sie die Kontakte von der Seite, die Sie halten. Ein Fehler bei der Verdrahtung bedeutet, dass die Stromversorgung und der Ausgang beschädigt sind. Die Verdrahtung von SICK kann durch einen Test bestätigt werden.
Hinweis. Messen Sie entlang der Vorderseite mit "+", nicht mit dem Abfall: Der Zeitunterschied zwischen den Bildern entlang der Vorderseite betrug 4,2 ms, entlang des Abfalls 40,7 ms. Überprüfung des Sensors: Die Verbindung zwischen Braun und Blau ist immer 24 V, dies ist die Versorgungsspannung; der Signalbereich befindet sich zwischen Schwarz und Blau, wobei der Strahl überlappt wird. Wenn er sich nicht ändert, fügen Sie einen Widerstand von 2–10 kOhm von Braun nach Braun hinzu; 24↔0 V bedeutet dann NPN.

7. Ausgänge: Ausschleuser, diskrete Ausgänge der Kamera und TCP

Der "Ausschleuser" wandelt das Ergebnis einer Inspektion in eine Aktion um. Die Regel wird für einen bestimmten Bereich (oder direkt für alle Bereiche eines Modells, einer Klasse oder markierten Bereiche) definiert und wird ausgelöst, wenn das Modell in diesem Bereich den angegebenen Typ erkennt. Die drei möglichen Aktionen sind: Senden eines TCP-Pakets an den Roboter oder die SPS, Umschalten des digitalen Ausgangs der Kamera und das Auslösen einer akustischen Warnung für den Bediener. Jedes Auslösen wird in einem Protokoll gespeichert.

7.1. Ausgänge: Kontakte und Überprüfung mit einem Multimeter

Die Schaltfläche "AUSGÄNGE" über dem Video öffnet ein Hilfenfenster, das keine Einstellungen vornimmt: Es zeigt an, welche Anschlüsse für die Ausgänge verwendet werden, wie man sie mit einem Multimeter ohne Stromversorgung überprüfen kann und wie man eine Last anschließen kann.

HIKROBOT – Ausgang Line 1 (Optokoppler) auf den Pins 4 (+) und 5 (−), maximaler Strom 25 mA.
HIKROBOT – Ausgang Line 1 (Optokoppler) auf den Pins 4 (+) und 5 (−), maximaler Strom 25 mA.
SICK picoCam – Flash-Pin (Optokoppler) auf den Pins 5 (+) und 6 (−), 150 mA konstant.
SICK picoCam – Flash-Pin (Optokoppler) auf den Pins 5 (+) und 6 (−), 150 mA konstant.
  • Ausgang – „trockener Kontakt“ des Optokopplers: Er liefert keine eigene Spannung, sondern schließt lediglich den Stromkreis. Ein externer Stromversorgung ist erforderlich.
  • Überprüfung mit einem Multimeter im Ω-Modus: Ausgang AUS – Unterbrechung (OL), EIN – Hunderte von Ohm. Der Piepton ist in beiden Fällen stumm, beachten Sie die Zahlen. Wenn sich nichts ändert – kehren Sie die Messspitzen um, der Optokoppler ist polarisiert.
  • Last: +24 V → Lampe → Pin "+", Pin "-" → GND. Für HIKROBOT: 25 mA – Grenze: Die Signalisierung mit 27 mA überschreitet diese Grenze, reduzieren Sie die Stromversorgung oder verwenden Sie ein Zwischenrelais. Für SICK: Großer Spielraum, die Lampe mit 20–30 mA kann direkt angeschlossen werden.

7.2. OUTPUT-Fenster: Regel für Zone

Der Button "AUSGABE" in der rechten Leiste (oder ein Rechtsklick auf den Bereich → "Ausschleifer für diesen Bereich erstellen") öffnet das Fenster "AUSGABE – TCP-Pakete und diskrete Ausgänge der Kameras". Links befindet sich eine Baumstruktur "Kameras → KI-Modelle → Klassen → Bereiche" mit Häkchen, die die ausgewählten Bereiche anzeigen. Rechts befinden sich die Reiter "Bereichsregeln", "Aktivitätsprotokoll" und "Datenbank".

OUTPUT-Fenster: Baum der Zonen links, Liste der Regeln für die Zone, Gruppe "Regel" und Register "TCP" mit Einstellungen.
OUTPUT-Fenster: Baum der Zonen links, Liste der Regeln für die Zone, Gruppe "Regel" und Register "TCP" mit Einstellungen.
1
Wählen Sie eine Zone im Baum (der Titel rechts zeigt den Pfad HD USB Kamera → model_5 → 1 → Zone 1 (T1.C1) an). Klicken Sie auf + Neue TCP, + Neue Diskrete oder + Neue Audio.
2
In der Gruppe "Regel" wählen Sie "KI-Klasse", bei der die Auslösung erfolgen soll (für ZONE-PAAR ist dies "Anomalie" oder "Normal"; "*" – jede Klasse), aktivieren Sie das Kontrollkästchen "Aktiviert", und gegebenenfalls verwenden Sie "Wiederholen, bis die Klasse aktiv ist" mit einer Wiederholungsrate und "Bestätigung der Klassenumstellung, ms" (standardmäßig 1500: die neue Klasse muss so lange aktiv bleiben, damit die Umstellung als gültig erkannt wird).
3
Füllen Sie den Abschnitt TCP (Abschnitt 7.3), Kameraausgang (Abschnitt 7.4) oder Audio (Abschnitt 7.5) aus.
4
Überprüfen Sie die Kette ohne Wartezeit: Dieses Regel überprüfen (sendet ein Paket oder gibt ein Signal zum Auslösen), Zone-Auslöser simulieren (führt alle Regeln der Zone durch einen Schuss mit Anti-Rauschen und Magazin aus).
5
Klicken Sie auf "Erstellen für 1 Zone". Wenn mehrere Zonen ausgewählt sind, ändert sich die Schaltfläche in "Erstellen für N Zonen"; bei der Modell-Instanz lautet sie "Speichern für das gesamte Modell", bei der Klassen-Instanz lautet sie "Speichern für die Klasse". Unten: "Aktivieren / Deaktivieren / Löschen für ausgewählte".

Eine Zone kann mehrere TCP-Regeln (verschiedene Empfänger) enthalten, jedoch maximal eine Regel für einen diskreten Ausgang pro Klasse und maximal einen Ton pro Klasse. Die Regel wird in der Datenbank gespeichert und wird von einem Inferenz-Thread ausgeführt: Die Regeln werden im Speicher gehalten, eine Suche nach der Zone pro Frame erfolgt, und separate Threads verwalten die Sockets und die SDK der Kamera, um sicherzustellen, dass die Analyse nicht auf die Netzwerkverbindung warten muss.

7.3. TCP-Paket an Roboter oder SPS

Das Programm funktioniert als TCP-Client: Es verbindet sich mit der IP-Adresse und dem Port des Empfängers, hält die Verbindung offen und verwendet sie wiederholt. Bei Verbindungsabbrüchen werden ein einmaliger Verbindungsversuch und eine Wiederholung durchgeführt. Die Daten werden im UTF-8-Format mit einem CR+LF-Zeilenumbruch am Ende übertragen.

FeldZuweisung
Verbindungszeit, msStandardmäßig 1000, 100…10000.
Zeit für den Versand der Regel, msMinimaler Abstand zwischen automatischen Regelversendungen; 0 – ohne Abstand. Selbst der Wechsel des Klassensystems benötigt diesen Abstand.
BefehlDer Text wird wörtlich übersetzt: "up" – Paket "up". Benötigt ein Klass-Eck – fügen Sie eine Platzhalter-Eingabe hinzu: "J6 {class}" → "J6 235". Leer – verwendet das Muster "Daten".
Eigene DatenEin beliebiger Text, der anstelle von `{data}` eingefügt wird.
DatenVorlage für den Versand. Leer = "Zonennummer und -name" ({zoneId} {zone}). Durch Klicken auf die Platzhalter wird dieser hinzugefügt; durch erneutes Klicken wird er entfernt; "Alle Felder" erstellt eine strukturierte Vorlage.
EingabeBedeutungEingabeBedeutung
{zoneId}Zonennummer (1, 2, 3...){camera}Kameraname
{zone}Zonennamen (wird in der Datenbank geändert){model}Name des KI-Modells
{class}Klasse, die das Modell erkannt hat{time}Zeit im Format HH:MM:SS.ms
{conf}Konfidenz, % (Punkt als Trennzeichen){date}Datum im Format JJJJ-MM-TT
{data}Text aus "Eigene Daten"

Beispiel für ein strukturierter Format: `zoneId={zoneId};zone={zone};class={class};conf={conf};camera={camera};model={model};time={time};date={date};data={data}. Die Zahlen müssen immer im invarianten Format vorliegen, damit beispielsweise "87,6" die Analyse durch die SPS nicht stört.

  • Verbindung prüfen führt lediglich dazu, dass der Socket geöffnet wird und entweder die Meldung „Verbindung hergestellt“ oder „Keine Antwort innerhalb von N ms“ angezeigt wird.
  • Test senden sendet tatsächlich eine Zeichenkette; das Ergebnis wird neben dem Button angezeigt, nicht im Fenster.
  • Automatisches Versenden. Wenn das Feld "wiederholen" nicht aktiviert ist, wird ein Paket gesendet, sobald die Klasse geändert wird, und dieses wird wiederholt, bis der Empfänger mit der Zeile ok <Paket> antwortet. Wenn das Feld aktiviert ist, wird das Paket in regelmäßigen Abständen wiederholt, solange die Klasse aktiv ist.
  • "Die letzte Aktion hat Vorrang": Wenn das Modell mehrere Ergebnisse generiert hat, während der Operator beschäftigt ist, wird die letzte Aktion ausgeführt. Die Warteschlange ist auf 512 Aufgaben begrenzt.

7.4. Diskreter Ausgabekanal der Kamera

Register „Kameraausgang": Art des Ausgangs, Linie, Pegel, Impuls, manuelle Prüfknöpfe. USB-Kameras verfügen nicht über diskrete Ausgänge – nur TCP ist verfügbar.
Register „Kameraausgang": Art des Ausgangs, Linie, Pegel, Impuls, manuelle Prüfknöpfe. USB-Kameras verfügen nicht über diskrete Ausgänge – nur TCP ist verfügbar.
FeldZuweisung
AusgangArt: Auto (bei SICK: Flash-Pin (konstanter Pegel) oder GPIO; bei HIKROBOT: UserOutputValue oder LineInverter (Strob ausgeschaltet)). Die Modelle MV-CS020/016-10GC des UserOutput-Kanals verfügen nicht über eine – das Programm wählt automatisch LineInverter.
LinieFlash-Pin / GPIO1…6 bei SICK; Line1 (Ausgang), Line2 (bidirektional) bei HIKROBOT; Line0 – nur Eingang.
Pegeltrue / false / off. „off“ bedeutet, dass eine Regel vorhanden ist, aber der Ausgang nicht beeinflusst wird.
Impuls, ms (0 – halten)0 – der Pegel wird bis zum Wechsel der Klasse gehalten; andernfalls ein Impuls von 10…5000 ms mit Rückkehr.

Die Tasten "Ausgang einschalten", "Ausgang ausschalten", "Impuls werden mit einem Multimeter oder einer Lampe geprüft; "Was die Kamera kann fragt nach allen Möglichkeiten und erstellt einen Bericht. Manuelle Tests werden ebenfalls in demselben Protokoll dokumentiert.

Mehrere Zonen auf einem Ausgang. Wenn auf einen Pin mehrere Regeln angewendet werden, wird der Ausgang als logisches "UND" betrachtet: Er ist nur HIGH, wenn alle Zonen HIGH anfordern, aber sobald eine Zone LOW anfordert, ist der Ausgang LOW. Dies wird im Logbuch als "Zonen auf Ausgang N, fordern LOW k → HIGH/LOW" aufgeführt. Somit wird ein Ausgang, der "gut" funktioniert, aus Hunderten von Zonen auf einer Platine zusammengesetzt.
Wichtig. Bei SICK ist der Flash-Pin für sowohl den digitalen Ausgang als auch für die Hintergrundbeleuchtung derselbe: Wenn eine Impuls-Lampe angeschlossen ist, sollte der GPIO-Pin verwendet werden. Die Anti-Rauschen-Regel lautet: 500 ms als Standard (mindestens 200 ms), Ereignisse werden nicht in das Log geschrieben, wenn keine Ereignisse auftreten.

7.5. Tonalarme: Eigener Ton für jede Zone

Der dritte Typ der Regel – der Ton über den Computer mit der Software. Der Bediener muss nicht auf den Bildschirm schauen: er hört durch ein Signal, dass eine Zone in den Ausschuss (Abfallbehälter) gelangt ist, und verschiedene Töne in verschiedenen Zonen geben an, wo genau. Der Ton ist für alle Kameras verfügbar, einschließlich USB- und RTSP-Kameras, die keine dedizierten Ausgänge haben.

1
Wählen Sie einen Bereich im Baum aus und klicken Sie auf "+ Neuer Klang". Im Abschnitt "Regel" geben Sie die Klasse ein (z. B. "Anomalie") und aktivieren Sie das Kontrollkästchen "Aktiviert".
2
Auf dem Reiter "Sound" wählen Sie ein Signal aus der Liste aus. Es gibt zehn integrierte: kurzer Ton, doppelter Ton, dreifacher Ton, tiefer und hoher Ton, aufsteigender und absteigender Ton, Alarm-Sirene, langer Hufeisen, Glocke. Die Schaltfläche "Abspielen" spielt das ausgewählte Signal ab.
3
Eigene Datei: Klicken Sie auf "Datei hochladen" und wählen Sie WAV, MP3 oder WMA aus. Die Datei wird in den Ordner "sounds\custom" neben dem Programm kopiert (die Festplatte kann entfernt werden) und erscheint in der Liste mit der Bezeichnung "eigen". Die Schaltfläche "Ordner für Sounds" öffnet diesen Ordner: Dateien können direkt dort abgelegt werden.
4
Legen Sie den Wert für "Pause zwischen den Tönen, ms" zwischen 1000 und 10000 fest. Während dieser Zeit wird der Ton nach dem Signal nicht wiederholt, selbst wenn sich die Zone erneut geändert hat: Bei 10000 ms hört der Bediener nicht öfter als ein Signal pro 10 Sekunden.
5
Klicken Sie auf "Erstellen für 1 Zone" oder markieren Sie die Zonen mit Häkchen und erstellen Sie die Regel für alle auf einmal. Für jede Zone einen anderen Ton: wiederholen Sie dies mit einem anderen Signal für eine andere Zone.
6
Das Kontrollkästchen "Gelbe (deaktivierte Bereiche) sind stummgeschaltet" ist standardmäßig aktiviert: Bereiche, die über den "Inspect"-Tab (Abschnitt 5.5) deaktiviert wurden, erzeugen keine Geräusche und ermöglichen weder die TCP-Steuerung noch die Kamerasteuerung für das gesamte Modell.
FunktionsweiseWie es funktioniert
Ohne das Häkchen "wiederholen"Ein Ton, wenn die Änderung der Zone bestätigt wurde (nach "Änderung bestätigen"). Solange die Zone in diesem Zustand bleibt, herrscht Stille.
Mit dem Häkchen "wiederholen, solange die Zone in diesem Zustand bleibt"Das Signal wird über den "Wiederholintervall" wiederholt, aber nicht häufiger als die Pause zwischen den Tönen, solange die Zone in der angegebenen Klasse verbleibt.
Mehrere Zonen im Ausschuss gleichzeitigJede Zone gibt ihren eigenen Ton ab; die Signale verschiedener Zonen überdecken sich nicht, sondern nur die Wiederholung einer einzelnen Zone.
ProtokollJede Auslösung wird in der "Ereignisprotokol" als Zeile "Geräusch „…“" aufgezeichnet. Wenn die Datei nicht gefunden wird oder das Audiogerät ausfällt, wird eine Fehlermeldung angezeigt, und das Programm wird fortgesetzt.
ÜberprüfungDieses Regel überprüfen löst sofort einen Ton aus; Zone-Aktivierung simulieren sendet den Ton zusammen mit TCP und den Ausgängen über den Kampfmodus aus.
Hinweis. Verwenden Sie für die wichtigsten Bereiche (Anschlüsse, Stromversorgung) eine Sirene oder einen doppelten Signalton, für die restlichen Bereiche kurze Signale. Dadurch wird durch einen einzelnen Ton klar, ob sofort zur Linie gerannt werden muss. Die Signalwahl für die gesamte Modellklasse erfolgt durch die Auswahl des Modells oder der Klasse im Baum: ein Signal für jeden Ausschuss.

7.6. Ereignisprotokol und Datenbank

Der Tab "Aktivitätsprotokoll" zeigt die letzten 300 Einträge in den Zeilen "HH:MM:SS.mmm ✔/✖ Kamera · Modell · Klasse · Zone → Aktion [Nachricht]" und wird dynamisch aktualisiert. Die Schaltflächen "Aktualisieren" und "Protokoll löschen".

Register "Datenbank": Speicherort, Kopie und Wiederherstellung der Datenbank mit einer einzigen Datei.
Register "Datenbank": Speicherort, Kopie und Wiederherstellung der Datenbank mit einer einzigen Datei.

Register Datenbank: Das Programm speichert alle Daten in einer SQLite-Datei rejectors.db zusammen mit der ausführbaren Datei – es gibt keinen separaten Dienst, kein Port wird abgehört, keine Installation ist erforderlich. Tabellen: settings (Einstellungen), cameras (Kameraprofile), camera_models (Kameramodelle), zones (Zonennamen und -geometrie), rejectors (Regeln), reject_log (Protokoll), camera_param_files (Kopien der Kameraparameter), camera_presets (Kamereneinstellungssets). Datenbank-Kopie speichern… erstellt einen vollständigen Snapshot mit dem VACUUM INTO-Befehl direkt auf der aktiven Datenbank; Datenbank aus Kopie laden… stellt die aktuelle Datenbank wieder her, nachdem die aktuelle Version zuvor gespeichert wurde. Die Datenbank kann in DBeaver angezeigt werden, ohne das Programm zu schließen; es ist nicht empfehlenswert, von außen darauf zu schreiben.

8. Andere Modi und Aufgaben

Normale Modelle: normal / abnormal und alle Klassen

Der gleiche ROI-Editor funktioniert auch für die einfache Klassifizierung: Tabletten, Deckel, Etiketten, Teile im Behälter. Die Klassen werden im Dialog "Neue KI-Modell" (standardmäßig normal und Anomalie, Namen in Großbuchstaben) festgelegt, die Zonen werden auf die Produkte gesetzt, die Schaltfläche "Foto erstellen" mit der Anzahl der Kreise 1…50, die Reihe "Fotos erstellen" über die Kamera (Bild/Frame) oder den Encoder. Das Panel "Synthetische Daten für KI": präzise Drehungen von 90°/180°, vollständige Drehung von 360° mit Schritt und Bereich, Spiegel, "Klassen nach Grad" (jeder Winkel in seine eigene Klasse – Ausschleuser sendet den Winkel über TCP), Helligkeits- und Kontrastbereiche. Das Training erfolgt mit den vollständigen Augmentationen von Ultralytics. Der Konfidenzschwellenwert für diese Modelle wird dort festgelegt, wo auch für ZONE-PAAR – auf dem Tab "Inspektion".

Mehrfach-Modell-Inspektion (Schlitze 1–20)

Auf einer einzigen Kamera können bis zu 20 Modelle angezeigt werden: ONNX in den Slot hinzufügen, dann ROI → Klasse für das ausgewählte Modell hinzufügen – Jedes Modell im Slot hat seine eigene Bereichsmarkierung, und die Ergebnisse aller Modelle werden auf einem einzigen Bild angezeigt.

Für ZONE-PAAR-Module sind in der Regel keine Steckplätze erforderlich. Ein einzelnes Modell deckt bereits den gesamten Bereich ab: Jede Zone hat ihre eigenen Klassen, daher ist die Notwendigkeit, mehrere Modelle zu verwenden, um ähnliche Klassen zu kombinieren, hier nicht mehr relevant. Ein typischer Aufbau besteht aus einem einzigen ZONE-PAAR-Modul auf der Platine, wobei die Steckplätze leer sind.

Wann Mehrfach-Modellierung angewendet wird:

SituationWie einrichten
Verschiedene Aufgaben auf einem einzelnen FrameZONE-PAAR prüft die Anordnung und das Vorhandensein von Elementen, während das normale Modell im zweiten Schacht die Kennzeichnung, den Aufkleber, die Farbe des Anschlusses oder die Richtung des Schlüssels markiert. Die Zonen des zweiten Modells werden separat über "ROI → Klasse zu ausgewähltem Modell hinzufügen" festgelegt.
Produkt ohne feste RasterstrukturTabletten, Abdeckungen, Teile im Gehäuse: verschiedene Ausführungsarten in Standardmodellen. Ähnliche Ausführungen werden in verschiedenen Slots angeordnet, um eine Vermischung zu vermeiden.
Zwei verschiedene ZONE-PAAR-Modelle in einem BildZwei ZONE-PAAR-Modelle in verschiedenen Slots, jeweils mit eigener Referenz und eigener Rasterstruktur. Der Produktionsprozess arbeitet mit der Referenz des Hauptmodells.
ÜbergangsphaseDas alte, trainierte Modell bleibt im Slot, während das neue ZONE-PAAR Daten sammelt; beide sind auf einem Bild sichtbar, und die Ausschleuser-Regeln werden nach Bedarf übertragen.

Die Schwellenwerte, die Analysegeschwindigkeit, die gelben Zonen und die Regeln von Ausschleuser gelten für alle Kameramodelle. Die Schaltfläche "MODELL LÖSCHEN" löscht und leert den Slot, daher wird eine Bestätigung abgefragt; "Ausgewählte löschen" entfernt ein bestimmtes Modell aus dem Slot, die Dateien und Zonen bleiben in der Datenbank erhalten.

Allgemeine Modelle

Die Schaltfläche "ALLGEMEINE MODELLE" speichert den Satz "Kamera → Modell" unter dem Namen: "Aus aktuellen Modellen erstellen", "Auf alle Kameras anwenden", "Aus aktuellen aktualisieren", "Umbenennen", "Satz löschen". Der Wechsel von einem Stand mit acht Kameras zu einem anderen Produkt erfolgt mit einer einzigen Auswahl. Das Löschen des Satzes entfernt nur die Gruppierung: Ordner, ONNX, Zonen und Regeln bleiben erhalten. Die Zonen gehören zu einem Paar "Kamera + Modell": Ein Modell auf acht Kameras entspricht acht unabhängigen Markierungen.

Encoder und Ausschleuser auf der Produktionslinie

Für Linien mit Encoder an einem COM-Port (115200, ESP32): Verbindung ENCODER VERBINDEN, automatische Verbindung, Position, Bildschritt und Korrektur, Null einstellen + BILDER. Die Aufnahme für Schulungszwecke und die Analyse können "mit dem Encoder" erfolgen – die Bilder sind gleichmäßig entlang der Produktbahn. Der alte Ausschleuser sendet mit Verzögerung und Anti-Spam-Funktion den Befehl "ABWEISEN" an den Encoder-Controller.

Video- und Bildaufnahmen

Registerkarte "Einstellungen": "VIDEOAUFNAHME STARTEN mit der aktiven Kamera in der Datei record_datum_uhrzeit.avi (MJPG, tatsächliche Bildrate der Kamera). Trainingsbilder: real_….jpg, Inspektionsbilder: inspect_….jpg mit eingezeichneten Bereichen.

9. Einstellungen, Konsole und Lizenz

Settings

  • IN DATEIEN SPEICHERN / AUS DATEI LADEN – Alle Einstellungen (Kamera, Modelle, Regeln) in JSON-Format, praktisch vor einer Neuinstallation oder zum Übertragen auf einen zweiten Computer. Die Quelle der Wahrheit ist die Datenbank, JSON ist ein Sicherheitsnetz, falls diese nicht verfügbar ist. Jede Änderung der Einstellungen wird automatisch gespeichert.
  • WÜRDIGEN – ist irreversibel: löscht die Konfiguration und die Fensteranordnung.
  • Sprache der Benutzeroberfläche: 14 Sprachen; das Hauptfenster wird sofort angezeigt, die anderen Fenster werden beim nächsten Öffnen angezeigt.
  • Position, Größe und Monitor aller Fenster, Positionen der Trennlinien – in der Datenbank gespeichert; wenn der Monitor deaktiviert ist, kehrt das Fenster in den sichtbaren Bereich zurück.

Console

Die Kästchen "Kameras" und "Auslöser" sind standardmäßig deaktiviert und ermöglichen die Anzeige der entsprechenden Meldungen (die Meldungen der Kamera werden im "Auslöser"-Modus angezeigt); alle Daten werden in die Dateien logs\engiai-*.log geschrieben, bevor die Filter angewendet werden. Die Konsole ist für Wochen ohne Unterbrechung ausgelegt: auf dem Bildschirm werden 800 Zeilen angezeigt, wobei 1000 alte Zeilen entfernt werden; neue Zeilen werden in Gruppen von 4 Zeilen pro Sekunde hinzugefügt, nicht einzeln; die automatische Scrollfunktion ist aktiviert, bis Sie manuell nach oben scrollen; die Konsole hat keinen Ton. Änderungen der Zonenklassen werden nicht häufiger als 10 Zeilen pro Sekunde protokolliert (der Rest wird in einem Zähler zusammengefasst); die Logdatei hat eine Größe von 20 MB, ältere Dateien werden beim Start gelöscht; die Datenbank speichert die letzten 20.000 Einträge. Unverarbeitete Fehler werden in crash.log angezeigt, die Ursachen für das erzwungene Beenden befinden sich in runtime.log neben der ausführbaren Datei. Wenn etwas nicht richtig funktioniert, schauen Sie hier zuerst.

Anforderungen

KomponenteAnforderung
BetriebssystemWindows 10/11 x64.
Inspektions-GrafikkarteNVIDIA mit CUDA-Treiber; CUDA 13 und cuDNN 9 Bibliotheken werden mit der Software geliefert. Ohne Grafikkarte erfolgt die Inspektion automatisch auf der CPU.
SchulungPython 3 (mit dem Haken "PATH mit python.exe erweitern" während der Installation) und die Pakete ultralytics, onnx, onnxslim, onnxruntime – das Programm installiert sie automatisch beim ersten Training. Eine Internetverbindung ist erforderlich. Die GPU für das Training wird automatisch von PyTorch erkannt; ohne CUDA erfolgt das Training auf der CPU langsamer, aber das Ergebnis ist gleich.
SICK-KamerasIDS uEye-Treiber; die Kamera muss im IDS Camera Manager sichtbar sein.
HIKROBOT-KamerasMVS SDK (Bibliothek wird mit der Software geliefert); für GigE: Netzwerkkart mit Unterstützung für Jumbo-Frames.

Lizenz und Testmodus

Bei der Ausführung sendet das Programm eine Anfrage an den Lizenzserver engi.live; nur die Hash-Werte der Geräte- und Versions-IDs werden gesendet, ohne Seriennummern oder Benutzernamen. Wenn der Server nicht verfügbar ist und die Lizenz gespeichert ist, arbeitet das Programm mit dem Cache (für Verbindungen ohne Internet). Bei fehlender Lizenz wird ein Testmodus von 20 Minuten aktiviert: Im Titel des Fensters und in der Statusleiste wird "TEST MM:SS" angezeigt, und der Button "KAUFEN" auf dem Reiter "Einstellungen" öffnet die Kaufseite. Bei einer gültigen Lizenz wird der Testmodus nicht aktiviert.

10. Kurze Checkliste und Fehlerbehebung

Checkliste von Grund auf für die Platine

1
KAMEREN → „+ Kameras hinzufügen“ → Ihre Kameras auswählen → Hinzufügen.
2
Register "Kamera": Auflösung → „Automatische Einstellung für KI (pro Bild)“ (oder „Parameter festlegen“ bei USB) → „Parameter speichern“ → „Als…“ Einstellungen speichern. Optional: „In Graustufen trainieren“.
3
KI-Modell → „Neues KI-Modell erstellen“ → Name.
4
„ROI → In Klasse (Trainingsmodell) hinzufügen“ → Rahmen um jeden Bauteil → Bereichsgröße (z. B. 256) → Eingabetaste. Für Hunderte identischer Bauteile: Rahmen um die gesamte Platine und ein Raster.
5
Häkchen „Zonen mit Markierungen zum Produkt zuordnen“ → „Referenz zuweisen“ → Bereich auf dem Bild mit den Bauteilen markieren (nicht der Inspektionsbereich) → „✔ Zonen anhand des markierten Bereichs suchen“.
6
„ZONE-PAAR: Aufnahme pro Zone“ → „Aufnehmen“. Auf 3–5 funktionierenden Platinen wiederholen. Unnötige Zonen vorher mit einem Klick auf dem Bild ausschalten (rot).
7
«PAAR-ZONE: Anomalien in Zonen» → «Erstellen»: Verschiebung und Drehung des Elements zusammen mit der Basis sind bereits enthalten. Falls erforderlich, werden die Lötpunkte in „Referenz mit Zonen“ festgelegt.
8
TRAINIERE KI-MODELL (Bildgröße 128, s, 50 Epochen) → Warten auf 100 % → best.onnx wird automatisch zugewiesen.
9
Überprüfen → «PAAR-ZONE: Zonen ↔ Modell» → Übereinstimmung prüfen → Schwellwert. Entweder über die Kamera oder einen Auslöser auswählen. Für bewegliche Platinen: „Lebender Förderband“.
10
AUSGABE → Zonen auswählen → Regel für die Anomali-Klasse (Geräusch, TCP oder Kamerabild) → „Zone-Auslösung simulieren“ → „Auf N Zonen erstellen“.

Wenn etwas nicht funktioniert

SymptomWas zu überprüfen ist
Die Kamera erscheint nicht in der ListeStromversorgung und Kabel; für SICK: IDS Camera Manager und IP-Adresse aus dem Adapternetzwerk; für HIKROBOT: Nach einem Not-Aus 25 Sekunden warten und „Neu verbinden“
Bild ist dunkel, grau oder hat falsche FarbenKamera → „Automatische Einstellung für KI“; für farbige SICK: Bayer-Matrix und Weißabgleich; für USB: „Standardwerte“, dann „Parameter speichern“
Bilder werden unterbrochen, Netzwerk ist rotGigE: Paketgröße 1500 oder Jumbo auf der Netzwerkkarte, Latenz zwischen Paketen; geringere Bildrate oder weniger Frames; separate Netzwerkkarte für die Kamera
„Komponente nicht gefunden“ / Bild fehltReferenz nicht erfasst oder bei anderem Licht aufgenommen; wenige Referenzpunkte – Bereich für die Ausrichtung vergrößern und mit Details; der Bereich wurde von einem Tisch oder Förderband betreten; Suchzeitraum verlängern
Zonen verschieben sich auf einer anderen PlatineDie Platine wurde anhand der einzelnen Inspektionsbereiche gesucht: Referenz mit Ausrichtungsbereich auf die Details der Platine um (Abschnitt 4.4); Automatischer Ausrichtungsmodus
Defekte Komponenten einer anderen Charge fehlenKennzeichnung auf den Gehäusen ist anders: Normalbilder dieser Charge hinzufügen; keine synthetischen Kratzer mit weniger als 3 Pixeln (Abschnitt 4.6); prüfen, ob der Fehler eine Verschiebung ist und nicht eine Farbabweichung
Gebiete mit Markierung NO_ZONE_CLASSDas Raster wurde nach dem Training geändert; Raster wiederherstellen oder ein neues Modell erstellen und neu aufnehmen
Alle Zonen sind auf einer funktionierenden Platine rotanderes Zahlungssystem oder andere Position ohne aktiven Förderband; der Schwellenwert ist zu hoch; die Bilder wurden bei anderem Licht aufgenommen; farbige und graue Dateien wurden gemischt
Das Modell erkennt keine Verschiebung des ElementsBerechnung von px/mm (Abschnitt 1.3): bei geringer Skalierung beträgt die Verschiebung weniger als 5 px; das Sichtfeld verkleinern oder eine Kamera mit höherer Auflösung verwenden; die Verschiebung nicht erweitern
Das Training ist instabil oder sehr langsamDevice = cpu, falls keine NVIDIA-Grafikkarte vorhanden ist; die Batch-Größe verringern; die Konsole überprüfen; sicherstellen, dass Python im PATH ist
Die Inspektion funktioniert nichtIst best.onnx ausgewählt? Ist die Tempo-Quelle aktiviert (über Kamera / Timer / Auslöser)? Ist der Schalter "KI NICHT VERWENDEN" nicht aktiviert? Ist das Kästchen "KI aktiviert" auf der Kamera aktiviert?
Die Regel von Ausschleuser ist stumm"Erstellen auf N Zonen" wurde gedrückt; der Haken "Aktiviert" ist gesetzt; die Klassifizierung der Regel stimmt mit der Antwort des Modells überein (abweichend / normal); um zu beenden, ist der Level nicht "aus"; USB-Kameras haben keine Ausgänge, nur TCP
Kein TonDie Regel wurde erstellt und aktiviert; die Datei befindet sich im Ordner "sounds" (oder "sounds\custom"); gibt es eine Pause zwischen den Tönen? Das Abspielen des Tons erfolgt nur beim Wechsel des Klassen, wenn "wiederholen" nicht aktiviert ist; Lautstärke von Windows und Ausgabegerät.
Die TCP-Paket wird nur einmal gesendet."Wiederholen"-Funktion: Der Empfänger muss mit "ok <Paket>" antworten; Aktivieren Sie das Kontrollkästchen "Wiederholen, solange der Modul aktiv ist" oder konfigurieren Sie die Antwort auf der SPS-Seite.

engiAI Ethernet System. Die Namen der Tasten und Felder sind so angegeben, wie sie in Ihrem Sprachinterface angezeigt werden (Screenshots – aus der russischen Benutzeroberfläche). Die Screenshots wurden auf dem Modell "model_4" erstellt (zwei Bereiche 256×256: Kondensator C30 und Brücke BR1), USB-Kamera 3264×2448, das Modell wurde in Graustufen trainiert. Redaktion 3, September 2026: Beispiel für zwei Bereiche, Erstellung von Modellordnern, Ausrichtungsbereich, synthetische Daten "Element mit Basis" mit Bildern "vor / nach", Farbpalette und Linienstärke, rote Bereiche, Konsole.