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

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:
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 mm | 200 mm | 300 mm | 400 mm |
|---|---|---|---|---|
| 3264 px (USB 8 MP, wie auf den Fotos) | 0,03 mm/px → Verschiebung ≈ 0,15 mm | 0,06 → ≈ 0,3 mm | 0,09 → ≈ 0,45 mm | 0,12 → ≈ 0,6 mm |
| 2448 px (HIKROBOT 5 MP) | 0,04 → ≈ 0,2 mm | 0,08 → ≈ 0,4 mm | 0,12 → ≈ 0,6 mm | 0,16 → ≈ 0,8 mm |
| 1920 px (SICK picoCam, HIKROBOT 2 MP) | 0,05 → ≈ 0,25 mm | 0,10 → ≈ 0,5 mm | 0,16 → ≈ 0,8 mm | 0,21 → ≈ 1,0 mm |
1.4. 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.

Tasten über dem Video
| Taste | Was sie öffnet |
|---|---|
| VIDEO AUSBLENKEN | Entfernt das Bild vom Bildschirm. Die Analyse wird fortgesetzt, nur das Zeichnen wird gespart. |
| AUSGABEN | Referenzfenster: Kontaktdaten für die diskreten Ausgänge der Kameras von HIKROBOT und SICK, Überprüfung mit einem Tester, Anschluss einer Last (Abschnitt 7.1). |
| KAMEREN | Fenster "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ÖSER | Anschluss eines externen Sensors an den diskreten Eingang der Kamera mit Schema und Pinbelegung (Abschnitt 6). |
| ALLGEMEINE MODELLE | Benannte 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 anzeigen | Zeichnen Sie ein Raster von Zonen auf das Video. |
Rechte Register
| Register | Zuweisung |
|---|---|
| Camera | Parameter 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. |
| OUTPUT | Auslöser: Regeln für die Zonen – TCP-Datenübertragung an den Roboter/SPS, digitale Ausgänge der Kamera und akustische Signale, Ereignisprotokoll, Datenbank. |
| AI Model | Modell erstellen: Ordner, Klassen, Raster von Zonen, Bilder pro Zone, Anomalien von Zonen, Referenzplatine, Einstellungen und Start des Trainings. |
| Inspect | Arbeitsbereich: Welche Modell inspiziert, Überprüfung von Zonen und Schwellenwerten, Live-Band, bei welchem Signal ein Bild aufgenommen wird, Slots für die Mehrfachmodell-Inspektion. |
| Settings | Sprache der Benutzeroberfläche (14 Sprachen), Kauf einer Lizenz, Speichern und Laden von Einstellungen, Videoaufzeichnung. |
| Console | Protokoll: 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
| Typ | Wie wird sie verbunden | Was 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 RTSP | Die 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
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.
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.
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.
| Parameter | Was es tut | Welchen Einfluss es hat |
|---|---|---|
| Analyse pro Sekunde (KI) | Höchste Inspektionstempo: 1…200 | Je niedriger das Tempo, desto geringer die Belastung der Grafikkarte; unabhängig von der Kameraverbindung. |
| Schwellenwert für KI | Wird 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. |
| Exposure | Expositionszeit | Je kürzer die Expositionszeit, desto weniger Bewegungsunschärfe; eine Null ist nicht zulässig. |
| Gain / Gain boost | Signalverstärkung der Matrix | Erhö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. |
| FPS | Bildrate im Freihaltungsmodus | Nicht im Auslöser-Modus verwendet |
| Breite / Höhe | Bildgröße (AOI) | Kleineres Bild – höhere Frequenz und weniger Datenverkehr |
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.
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:



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.
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:
4.2. Modell erstellen
4.3. Zonen auf der Platine markieren

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.


| Modell für die Ausrichtung | Wann 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. |
| Fest | Die Kamera schaut direkt von oben, die Platine liegt flach. Die stabilste Variante, wenn der Ausrichtungsbereich klein ist. |
| Perspektive | Die 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".
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.

| Einstellung | Was wird erstellt und welche Standardeinstellungen gibt es? |
|---|---|
| Für jede Zone synthetische Varianten | Wie 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 Kamerabild | Ein- 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 Graustufen | Allgemeiner 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 wo | Das 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 wo | Standardmäß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öhung | Standardmäß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 / Farbtiefe | Zufä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ärfe | Sensorauflö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. |


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:
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




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.


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 Formen | Was sie festlegt |
|---|---|
| Größe: von … bis, % der Zone / px | Größ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üllung | vollständig / Kontur / gemischt (auch die Kontur ist dick). |
| Linienstärke, px | Linie / 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 Slots | Fü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.

| Einstellung | Was es tut |
|---|---|
| Kopie des Defekts | Eine 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 Ausschnitt | Standardmäß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 · Form | Hauptdefekt 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, ° · Form | Der Bereich (Kreis oder Quadrat, gleiches Maß ±%) dreht sich um einen zufälligen Winkel innerhalb des Bereichs in beide Richtungen. |
| Skala, % · Reduzierung / Erhöhung | Der 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 Drehung | Wenn 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. |
| ▸ Unterbereiche | Der 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 Defektdatei | Ein- und Normal: Der Defekt sollte sich in der Geometrie unterscheiden, nicht in der Beleuchtung. |
| Bilder nach Zeit / in val | Jede Kopie aus dem neuen Bild des Kameras (800 ms), 20 % in val, die erste Datei der Klasse in val ist immer vorhanden. |
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".
| Parameter | Was bedeutet das? | Wie wählt man? |
|---|---|---|
| Epochs | Wie 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 Size | Wie viele Bilder pro Schritt? | 64; wenn der Videospeicher nicht ausreicht, verringern Sie ihn |
| Image Size | Welche 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 Size | n / s / m / l / x | s — optimal für Hunderte von Klassenpaaren; n ist nicht ausreichend, m und höher ist langsamer |
| Device | wofür trainieren | 0 (GPU) mit NVIDIA-Grafikkarte; ohne CUDA schaltet das Programm automatisch auf die CPU um |
| Workers | Anzahl der Datenvorbereitungs-Threads | 12 (Standard für Mehrkernprozessoren) |
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.

5.1. Modell und Zonen zuweisen und überprüfen
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.
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.
| Methode | Wie einrichten | Wann anwenden |
|---|---|---|
| Über die Kamera | Checkbox "Über die Kamera" | Kontinuierliche Überwachung; Geschwindigkeit begrenzt durch den Schieberegler "Analyse pro Sekunde" im Bereich Kamera |
| Über einen Timer | Checkbox "Über den Timer" und Intervall in Millisekunden | Regelmäßige, z.B. einmal pro Sekunde |
| Über einen Auslöser | Auswahl 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) |
| GPU | Rechteck mit dem Aufkleber „GPU“ | ist standardmäßig aktiviert; das Umschalten führt zu einer Neuladung des Modells. |
| Graue Farbanalyse | Das 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".
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ästchen | Verhalten 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“. |
| Ausgeschaltet | Der 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. |
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.


Beschriftung der Anschlüsse
| Pin | HIKROBOT MV-CS, 6 pin | SICK picoCam, 6 pin |
|---|---|---|
| 1 | DC_PWR – Stromversorgung der Kamera: 9–24 V | GND – Stromversorgung der Kamera |
| 2 | OPTO_IN – Eingang Linie 0 (+), Auslösesignal | VCC – Stromversorgung der Kamera (12–24 V) |
| 3 | GPIO – Line 2, Eingang oder Ausgang | Auslöser – Eingang des Auslösers, des Optokupfers |
| 4 | OPTO_OUT – Ausgang Linie 1 (+) | Auslöser + – Eingang des Optotransistors (+) |
| 5 | OPTO_GND – ein allgemeiner Optokoppler, mit Rückleitung. | Flash + – Diskreter Ausgang (+) |
| 6 | GND – Stromversorgung der Kamera | Flash – – Diskreter Ausgang (-) |
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.


- 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".

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.
| Feld | Zuweisung |
|---|---|
| Verbindungszeit, ms | Standardmäßig 1000, 100…10000. |
| Zeit für den Versand der Regel, ms | Minimaler Abstand zwischen automatischen Regelversendungen; 0 – ohne Abstand. Selbst der Wechsel des Klassensystems benötigt diesen Abstand. |
| Befehl | Der 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 Daten | Ein beliebiger Text, der anstelle von `{data}` eingefügt wird. |
| Daten | Vorlage 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. |
| Eingabe | Bedeutung | Eingabe | Bedeutung |
|---|---|---|---|
| {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

| Feld | Zuweisung |
|---|---|
| Ausgang | Art: 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. |
| Linie | Flash-Pin / GPIO1…6 bei SICK; Line1 (Ausgang), Line2 (bidirektional) bei HIKROBOT; Line0 – nur Eingang. |
| Pegel | true / 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.
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.
| Funktionsweise | Wie 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 gleichzeitig | Jede Zone gibt ihren eigenen Ton ab; die Signale verschiedener Zonen überdecken sich nicht, sondern nur die Wiederholung einer einzelnen Zone. |
| Protokoll | Jede 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üfung | Dieses 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. |
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: 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.
Wann Mehrfach-Modellierung angewendet wird:
| Situation | Wie einrichten |
|---|---|
| Verschiedene Aufgaben auf einem einzelnen Frame | ZONE-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 Rasterstruktur | Tabletten, 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 Bild | Zwei ZONE-PAAR-Modelle in verschiedenen Slots, jeweils mit eigener Referenz und eigener Rasterstruktur. Der Produktionsprozess arbeitet mit der Referenz des Hauptmodells. |
| Übergangsphase | Das 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
| Komponente | Anforderung |
|---|---|
| Betriebssystem | Windows 10/11 x64. |
| Inspektions-Grafikkarte | NVIDIA mit CUDA-Treiber; CUDA 13 und cuDNN 9 Bibliotheken werden mit der Software geliefert. Ohne Grafikkarte erfolgt die Inspektion automatisch auf der CPU. |
| Schulung | Python 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-Kameras | IDS uEye-Treiber; die Kamera muss im IDS Camera Manager sichtbar sein. |
| HIKROBOT-Kameras | MVS 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
Wenn etwas nicht funktioniert
| Symptom | Was zu überprüfen ist |
|---|---|
| Die Kamera erscheint nicht in der Liste | Stromversorgung 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 Farben | Kamera → „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 rot | GigE: 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 fehlt | Referenz 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 Platine | Die 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 fehlen | Kennzeichnung 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_CLASS | Das Raster wurde nach dem Training geändert; Raster wiederherstellen oder ein neues Modell erstellen und neu aufnehmen |
| Alle Zonen sind auf einer funktionierenden Platine rot | anderes 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 Elements | Berechnung 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 langsam | Device = 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 nicht | Ist 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 Ton | Die 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.
