Beschreibung

LumiScan Object Finder findet bekannte Objekte in einem Kamerabild anhand ihrer Form. Sie beschreiben ein Objekt mit einem oder mehreren kleinen Bildern von ihm - seinen Vorlagen -, und die Anwendung meldet, wo dieses Objekt in einem größeren Bild erscheint, wie gut es übereinstimmt und mit welchem Ihrer Bilder es übereinstimmt.

Typische Einsatzfälle sind Anwesenheits- und Zählprüfungen, Positionsrückmeldung für einen Robotergriff, das Sortieren gemischter Teile auf einem Band und Orientierungsprüfungen vor einem Montageschritt.

Die Anwendung läuft auf ctrlX OS (ctrlX CORE oder ctrlX IPC), wo sie den ctrlX Data Layer verwendet, und auf einem PC mit Windows 11 oder Ubuntu 24.04, wo sie LumiScan Keryx verwendet. Ihre Knoten und die Art, wie sie aufgerufen werden, sind auf beiden gleich. Siehe Data-Layer-Referenz.

Was für jede LumiScan-App gleich ist - wie Adressen aufgebaut sind, der Handshake, die Aufrufmuster Execute und Stream, Statuscodes, Einstellungen und Werkzeuge - ist im Handbuch LumiScan Keryx beschrieben. Dieses Handbuch behandelt nur, was spezifisch für LumiScan Object Finder ist; seine eigenen Knoten sind in der Data-Layer-Referenz aufgeführt.

Wie ein Objekt erkannt wird

Das Matching erfolgt auf der Kontur des Objekts - der Richtung, in der sich die Helligkeit über seine Kanten hinweg ändert - und nicht auf den Helligkeitswerten selbst. Das hat zwei praktische Folgen.

Es ist tolerant gegenüber Beleuchtung und Oberflächenbeschaffenheit. Ein Teil, das in einer Zelle glänzend und in einer anderen matt ist oder aus einem anderen Winkel beleuchtet wird, zeigt immer noch dieselbe Kontur. Intensitätsbasiertes Matching hat hier Schwierigkeiten.

Es ist von sich aus nicht tolerant gegenüber Rotation und Größe. Die Anwendung dreht oder skaliert Ihre Vorlage nicht auf der Suche nach einer Übereinstimmung. Stattdessen wird ein Objekt durch mehrere Vorlagen beschrieben - eine pro Orientierung oder Arbeitsabstand, die Sie erkennen möchten. Vier Vorlagen erkennen vier Orientierungen.

Das ist der wesentliche Unterschied zu LumiScan Template Finder, der Helligkeiten korreliert und einen Bereich von Skalierungen und Rotationen durchsucht und ein orientiertes Rechteck meldet. Object Finder ist schneller und deutlich robuster gegenüber Beleuchtung und meldet ein achsenparalleles Rechteck sowie den Namen des gefundenen Objekts. Wählen Sie Object Finder, wenn Beleuchtung oder Oberfläche variieren und die Orientierungen bekannt sind; wählen Sie Template Finder, wenn der Winkel kontinuierlich und unbekannt ist.

Was die Anwendung tut

Die Anwendung bietet zwei Operationen.

Eine Vorlage anlegen schneidet eine rechteckige Region aus einem Live-Kamerabild aus und speichert sie als weitere Ansicht eines Objekts. So lernen Sie ein Objekt mit der echten Kamera, in der echten Beleuchtung, im echten Arbeitsabstand ein - ohne Dateiübertragung und ohne Bildbearbeitungsprogramm. Siehe Ein Objekt anlegen.

Ein Objekt finden durchsucht ein Live-Kamerabild und meldet jedes gefundene Vorkommen. Siehe Ein Objekt finden.

Beide lesen das Bild im Moment ihres Aufrufs vom Data-Layer-Bildknoten einer anderen Anwendung - normalerweise LumiScan Cam Driver -, sodass sie immer mit dem aktuellen Bild arbeiten. Ein Modul kann auch jedes Bild durchsuchen, das eine Kamera streamt, siehe Objekte auf einem Bild-Stream finden (experimentell).

Woher die Bilder kommen

Die Anwendung kommuniziert nicht selbst mit einer Kamera. Sie liest einen Bildknoten, den eine andere Anwendung auf dem Data Layer veröffentlicht und der als Adresse angegeben wird, zum Beispiel:

hdvisionsystems/lumiscan-cam-driver/camera1/output/image

Der Knoten muss data, width, height und pixel-type veröffentlichen - genau das, was LumiScan Cam Driver bereitstellt.

Objekte und Module

Ein Objekt ist etwas, das Sie finden möchten - eine Schraube, ein Halter -, beschrieben durch seine Vorlagen. Objekte gehören zur gesamten Anwendung, sodass ein einmal eingelerntes Objekt von jedem Modul gefunden werden kann.

Ein Modul ist eine konfigurierte Instanz der Suche: mit eigener Kameraadresse, eigenen Einstellungen und eigenen Ergebnissen unter einer eigenen Data-Layer-Adresse. Eine Installation kann mehrere Module betreiben, um mehrere Kameras gleichzeitig zu überwachen. Auf ctrlX OS deckt eine Lizenz zehn Module ab. Siehe Modulverwaltung.