DE112010005042B4 - Dezentrales Bildverarbeitungssystem mit Mehrphasensynchronisierung - Google Patents

Dezentrales Bildverarbeitungssystem mit Mehrphasensynchronisierung Download PDF

Info

Publication number
DE112010005042B4
DE112010005042B4 DE112010005042.2T DE112010005042T DE112010005042B4 DE 112010005042 B4 DE112010005042 B4 DE 112010005042B4 DE 112010005042 T DE112010005042 T DE 112010005042T DE 112010005042 B4 DE112010005042 B4 DE 112010005042B4
Authority
DE
Germany
Prior art keywords
image processing
processing system
master
system processor
results
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE112010005042.2T
Other languages
English (en)
Other versions
DE112010005042T5 (de
Inventor
James R. Mcclellan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cognex Corp
Original Assignee
Cognex Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cognex Corp filed Critical Cognex Corp
Publication of DE112010005042T5 publication Critical patent/DE112010005042T5/de
Application granted granted Critical
Publication of DE112010005042B4 publication Critical patent/DE112010005042B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • H04N23/662Transmitting camera control signals through networks, e.g. control via the Internet by using master/slave camera arrangements for affecting the control of camera image capture, e.g. placing the camera in a desirable condition to capture a desired image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)

Abstract

Verfahren zur Synchronisierung von Ergebnissen einer Vielzahl von Bildverarbeitungssystemprozessoren, das erfasste Bilder verarbeitet, um daraus Ergebnisse zu erstellen, umfassend die Schritte: Bereitstellung mindestens einer ersten Slavekamerabank, einschließlich mindestens eines (a) Masterbildverarbeitungssystemprozessors und mindestens eines (b) Slavebildverarbeitungssystemprozessors, der mit diesem verbunden ist; Bereitstellung einer Masterkamerabank, beinhaltend mindestens einen (c) Masterbildverarbeitungssystemprozessor und mindestens einen (d) Slavebildverarbeitungssystemprozessor, wobei der Masterbildverarbeitungssystemprozessor der Masterkamerabank mit dem Masterbildverarbeitungssystemprozessor der Slavekamerabank verbunden ist; In der Masterkamerabank, Empfangen eines Auslösers bei jedem Prüfzyklus und als Antwort darauf, Erfassung und Verarbeitung eines Bildes mit (c) dem Masterbildverarbeitungssystemprozessor und Ausgabe eines Auslösersignals aus dem Mastersynchronisierungsprozess, der mit (c) dem Masterbildverarbeitungssystemprozessor über eine Kommunikationsverbindung zusammenhängt, wobei das Signal eine eindeutige Prüfzykluskennung jeweils für: (d) den Slavebildverarbeitungssystemprozessor, (a) den Masterbildverarbeitungssystemprozessor und (b) den Slavebildverarbeitungssystemprozessor einschließt; Nach Erfassung und Verarbeitung von Bildern mit jedem von: (d) dem Slavebildverarbeitungssystemprozessor, (a) dem Masterbildverarbeitungssystemprozessor und (b) dem Slavebildverarbeitungssystemprozessor, Konsolidierung der Ergebnisse (c) des Masterbildverarbeitungssystemprozessors und (d) des Slavebildverarbeitungssystemprozessors, und in der ersten Slavekamerabank, Konsolidierung der Ergebnisse des (a) Masterbildverarbeitungssystemprozessors und des (b) Slavebildverarbeitungssystemprozessors und Übertragung der konsolidierten Ergebnisse mit der eindeutigen Prüfzykluskennung an den Mastersynchronisierungsprozess über die ...

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft Bildverarbeitungssysteme zum Einsatz bei der Prüfung von Teilen, Objekten und Oberflächen, und genauer Mehrkamerabildverarbeitungssysteme.
  • HINTERGRUND DER ERFINDUNG
  • Der Einsatz von fortschrittlichen Bildverarbeitungssystemen (auch „Machine Vision“ genannt) und der zugrundeliegenden Software wird zunehmend bei einer Reihe von Herstellungs- und Qualitätskontrollprozessen verwendet. Bildverarbeitung ermöglicht schnellere, genauere und reproduzierbare Ergebnisse bei der Herstellung sowohl von Massenprodukten als auch von Sonderanfertigungen. Typische Bildverarbeitungssysteme schließen eine oder mehrere Kameras ein (typischerweise mit kontaktlosen, ladungsgekoppelten Vorrichtungen (CCD) oder CMOSbasierten Bildelementen), die auf einen in Frage kommenden Bereich gerichtet sind, Bildfangschaltungs-/Bildverarbeitungselemente, die CCD-Bilder erfassen und übermitteln, eine oder mehrere Computer oder ntegrierte Verarbeitungsvorrichtungen, und eine Benutzeroberfläche zum Abspielen der Bildverarbeitungssoftwareanwendung und Handhabung der erfassten Bilder, und geeignete Beleuchtung des in Frage kommenden Bereichs.
  • Die Druckschriften WO 2007/110822 A1 und US 6970183 B1 zeigen Verfahren zum Synchronisieren von Ergebnissen einer Vielzahl von Bildbearbeitungsprozessoren, die erfasste Bilder verarbeiten, um daraus Ergebnisse zu erstellen.
  • Der Einsatz von mehreren Kameras (auch „Sensoren“ genannt) wird bei vielen Bildverarbeitungssystemanwendungen gewünscht. Mit einer solchen Anordnung von mehreren Kameras in einem Bildverabeitungssystem kann ein Teil oder Objekt auf einer beweglichen Linie gleichzeitig oder der Reihe nach aus verschiedenen Blickwinkeln abgebildet werden, wobei sich die Zuverlässigkeit des Prüfprozesses erhöht, wenn man Merkmale bei bestimmten Ansichten berücksichtigt, die in anderen Ansichten verdeckt sein können. So kann der Einsatz von mehreren Bildverarbeitungsvorrichtungen, oft eine pro Kamera, höhere Bandgeschwindigkeiten ermöglichen, da mehrere Verarbeitungsvorrichtungen gleichzeitig arbeiten können, um ein einzelnes Teil oder Gruppe von Teilen zu prüfen. Die Verarbeitungsvorrichtungen können im physikalischen Sinne nebeneinander liegen oder sie können weit getrennt und über ein Netzwerk oder einen anderen Kommunikationskanal miteinander verbunden sein. Das ist als dezentrales System oder dezentrale Anwendung bekannt, da die Verarbeitungskapazität physikalisch über mehrere Vorrichtungen verteilt ist. Höhere Bandgeschwindigkeiten sind möglich, wenn zusätzliche Verarbeitungsvorrichtungen eingesetzt werden, so dass jede Vorrichtung oder Gruppe von Vorrichtungen eines von einer Vielzahl von benachbarten Objekten bei jedem Prüfzyklus prüft (typischerweise geregelt durch ein Takt- und Auslösesignal). So bildet beispielsweise bei einem gegebenen Prüfzyklus eine erste Kamera oder Gruppe von Kameras einen ersten Teil ab (ein einzelnes Objekt oder einen Bereich eines Objektes oder einer Oberfläche), eine zweite Kamera/Gruppe von Kameras bildet gleichzeitig das nächste benachbarte Teil auf dem Band ab und eine dritte Kamera/Gruppe von Kameras bildet gleichzeitig ein drittes benachbartes Teil auf dem Band ab. Mehrere Verarbeitungsvorrichtungen, typischerweise eine pro Kamera oder eine pro Kameragruppe, arbeiten gleichzeitig, um alle drei Teile auf einmal zu prüfen. Das ist als ein Mehrphasensystem bekannt, wobei in diesem Beispiel drei Prüfphasen gleichzeitig innerhalb eines einzigen Prüfzyklus ausgeführt werden.
  • Im Allgemeinen erfassen und verarbeiten bei einer dezentralen Bildverarbeitungsanwendung mehrere Verarbeitungsteilsysteme jeweils mehrere Bilder, die einen einzelnen Teil oder Prüfzyklus betreffen, und kommunizieren diese Ergebnisse über ein Netzwerk oder einen anderen Kommunikatioskanal. Um ein gültiges Gesamtergebnis für einen gegebenen Prüfzyklus zu erzeugen, werden die Ergebnisse, die von allen Prozessoren im dezentralen System erzeugt werden, so kombiniert, dass sichergestellt ist, dass alle Ergebniswerte den gleichen Prüzzyklus betreffen. Da jedes Prüfergebnis eine unvorhersehbare Verarbeitungszeit aufweisen kann, ist es manchmal schwierig, zu bestimmen, ob ein gegebenes Ergebnis einen speziellen Prüfzyklus oder einen anderen Prüfzyklus betrifft. Das System als Ganzes muß ein Mittel aufweisen, um vorübergehende Probleme, wie etwa versäumte oder zusätzliche Auslösersignale, vorübergehende Stromunterbrechung zu einem oder mehreren Teilsystemen und unzuverlässige Kommunikationskanäle, automatisch festzustellen und den alten Zustand wiederherzustellen. Bei Anwendungen, die erhebliche Verarbeitungsenergie erfordern, kann es notwendig sein, eine einzelne Prüfaufgabe auf mehrere Prozessoren zu verteilen, was die Synchronisierung der Ergebnisse zu einer noch größeren Herausforderung macht.
  • Informationshalber bieten viele Hersteller von Machine Vision-Technologie Mehrkamerasysteme im wörtlichen Sinn an – mehrere Kameras, die alle eine einzige Prozessorbox versorgen, die normalerweise von einem PC definiert wird, oder eine unabhängige Verarbeitungseinheit. Die zentrale Verarbeitungseinheit (Central Processing Unit CPU) bei solchen Mehrkamerasystemen steuert es, wenn die Kameras ausgelöst werden, um ein Bild zu erfassen, und speichert die erfassten Bilder im Speicher, wobei die Anwendung die entsprechenden Bilder mit der Anwendung in Verbindung bringen kann.
  • Viele dezentrale Mehrkameraanwendungen verwenden einen programmierbaren Logikcontroller (PLC), um Ergebnisse aus einzelnen Bildverarbeitungssystemen in der Gesamtanordnung zu synchronisieren und zu kombinieren. Wenn die Synchronisierungsfähigkeit innerhalb der Bildverarbeitungssysteme selber fehlt, ist das die Standardlösung für das Problem der Synchronisierung.
  • Bestimmte Bildverarbeitungssysteme, wie etwa das In-Sight®-Produkt, das über die Firma Cognex Corporation in Natwick, Massachussetts, USA, bezogen werden kann, schließen einen WriteResult- und ReadResult-Steuerbefehl innerhalb ihrer Bildverarbeitungssystemanwendung ein. In-Sight ist eine abgeschlossene Kameraanordnung mit einer integrierten Verarbeitungsvorrichtung, die in der Lage ist, mit einem Netzwerk über entsprechende Netzwerkprotokolle, wie etwa Ethernet, zu kommunizieren. Die WriteResult- und ReadResult-Steuerbefehle machen es möglich, dass einzelne, miteinander verbundene Verarbeitungssysteme Daten über ein Netzwerk gemeinsam benutzen. Auf diese Weise kann ein Bildverarbeitungssystem als Masterprozessor agieren, und eins oder mehrere andere können als Slaveprozessoren agieren. Wenn eines der Bildverarbeitungssysteme eine Masterkamera ist, kann sie dazu verwendet werden, die Slavekamera(s) über Ethernet auf eine Art auszulösen, die sicherstellt, dass die erhaltenen Ergebnisse aus der/den Slavekamera(s) als Teil des gegenwärtigen Prüfzyklus identifiziert werden. Bei typischen Anordnungen werden die kombinierten Ergebnisse des Bildverarbeitungssystems für den Prüfzyklus im Allgemeinen aus der Masterkamera zu einem PLC kommuniziert, wo sie analysiert werden und ein Endergebnis oder Endergebnisse bestimmt wird/werden.
  • Wie oben beschrieben, um mehr Verarbeitungsenergie anzuwenden, haben bestehende Bildverarbeitungssystemanwendungen das Problem dadurch gelöst, dass sie verdoppelte Systeme, die in aufeinanderfolgenden Phasen ausgelöst werden, verwenden. Das kann hier als „Mehrphasen“-Ansatz bezeichnet werden. Das einfachste Beispiel setzt zwei Kameras und zwei Prozessoren ein, wobei jedes System jedes zweite Teil prüft. Komplexere Anwendungen können mehrere Banken von Kameras einsetzen, zum Beispiel drei Banken von Kameras und Prozessoren, die jeweils jedes dritte Teil prüfen, mit beliebiger Anzahl von Kameras in jeder Bank. Es ist möglich, die Ergebnisse extern in einem PLC oder, was schwierig ist, mit Hilfe von Netzwerkdatenfunktionen innerhalb des Bildverarbeitungssystems, wie etwa WriteResult und ReadResult, zu synchronisieren und zu serialisieren.
  • Es erweist sich trotzdem als aufwändig und zeitintensiv, eine verlässliche PLC-Anwendung zur Verfügung zu stellen, die Ergebnisse bei hoher Geschwindigkeit korrekt synchronisiert und sich bei vielen Arten von vorübergehenden Problemen, die die Synchronisierung der Ergebnisse eines gegebenen Prüfzyklus beeinträchtigen können, den alten Zustand wiederherstellt. Außerdem kommen zusätzlich Kosten und Komplexität zur Anwendung hinzu, wenn die Last der Synchronisierung auf den PLC geladen wird, und die Wartung wird schwieriger entsprechend der „Bildverarbeitungslogik“ im PLC-Programm, die normalerweise auch die Verarbeitungsgeräte steuert.
  • Ein Ansatz, um die Synchronisierung sicher zu stellen, ist, einen zentralen Prozessor für alle Bildverarbeitungsaufgaben zur Verfügung zu stellen, der mit mehreren einfachen Kameras (d. h. Kameras, die einfach Bilder erfasssen) in Verbindung steht. Allerdings leidet dieser Ansatz an einem Mangel an Skalierbarkeit. Werden mehr Kameras hinzugefügt, wird dem Prozessor zusätzlich Last aufgebürdet, der gleichzeitig eine Vielzahl von Bildern für BildVerarbeitung erhält. In einigen Fällen ist es möglich, Co-Prozessoren hinzuzunehmen, um die Verabeitungskapazität der Bildverarbeitung zu erhöhen, aber das bietet eine sehr eingeschränkte Skalierbarkeit im Vergleich zu einem dezentralen System auf einem Netzwerk, und ist schierig bei einem Mehrphasenansatz einzusetzen.
  • Im Handel erhältliche Funktionen für vernetzte Bildverarbeitungssysteme, wie etwa WriteResult and ReadResult, haben die Neigung nur dann verlässliche Ergebnisse zu liefern, wenn ein Mastersystem das Slavesystem über Ethernet-/Netzwerk-Verbindungen und -protokolle auslöst. Das heisst, solche Funktionen synchronisieren nicht Ergebnisse, wenn sie externe, fest verdrahtete Auslösersignale verwenden. Der Einsatz von externen Auslösern ist gebräuchlich, wenn Impulsgeber, Anwesenheitssensoren (z. B. Photodetektoren) und dergleichen eingesetzt werden, um der Bewegung und Position von Teilen entlang eines sich bewegenden Bandes und/oder interessierenden Bereichen auf einer Oberfläche, wie etwa einer laufenden Bahn, zu folgen. Jedes Systen wird ausgelöst, wenn vorherbestimmte Bewegung aufgetreten ist. Eine Besonderheit tritt auf, wenn ein Sensor einen Auslöser ausläßt, (beispielsweise wegen eines unzuverlässigen Photodetektors), dann erscheint das Ergebnis für dieses System nicht, und das gesamte System wird danach die Synchronität verlieren, da man annehmen kann, dass der nächste Auslöser für dieses System das Ergebnis für den vorhergegangenen Zyklus produziert. Diese Eingrenzung begrenzt ganz erheblich die Geschwindigkeit, mit der solch ein Master-/Slavesystem arbeiten kann, und macht es für viele Anwendungen nutzlos. Auch machen es diese Systemfunktionen schwierig, die Anwendung aufrecht zu erhalten, da jeder Slaveauftrag eine WriteResult-Funktion erhalten muß, die genau zu der Abfolge von Ergebnissen passt, die vom Master erwartet werden, und wenn die Abfolge nicht korrekt ist, gibt es keinen verlässlichen Weg, diesen Fehler zu entdecken. Darüberhinaus begrenzen solche netzwerkbasierten Systemfunktionen Skalierbarkeit, weil es unpraktisch ist, sie über eine Vielzahl von miteinander verbundenen Untersystemen aufrecht zu erhalten. Allgemeiner gesprochen, können vernetzte Näherungen zu langsam für einen Einsatz bei Hochgeschwindigkeits-, Vielphasen-, Mehrkameraanordnungen sein, weil frühere Anwendungen dieser Näherungen besser für Auslöser, die im Millisekundenbereich auftreten, geeignet waren, als die Mikrosekundenzeitbasis, die für eine Hochgeschwindigkeitsarbeit wünschenswert ist.
  • Bei einem Mehrphasensystem, das eine Vielzahl von Banken von Prozessoren einsetzt, die jeweils jede N-te Teil untersuchen, ist es extrem schwierig und oft unpraktisch, die Ergebnisse in einem PLC oder direkt zwischen Prozessoren zu synchronisieren. Das Überwinden dieser Einschränkungen bestand bisher aus dem Einsatz einer stärkeren Prozessors, wenn vorhanden und kosteneffektiv, wobei die Tatsache akzeptiert wurde, dass die Leistung nicht optimal sein wird, oder anderweitig, aus der Vermeidung des Einsatzes einer Mehrphasenanordnung.
  • Deshalb ist es Aufgabe der Erfindung, ein System und ein Verfahren vorzusehen, um Prüfungen bei einem gegebenen Zyklus zu synchronisieren, und die Ergebnisse aus den vielen dezentralen Prozessoren auf verlässliche Weise zu einem einzigen Prozessor zu kombinieren. Dieses System und dieses Verfahren sollen das Herstellen des alten Zustands bei den meisten Typen von zwischenzeitlichen Signalproblemen und anderen temporären Problemen (ausgelassene Auslöser, verlorene Teile, usw.), ermöglichen. Es ist ferner die Aufgabe, dass die Anordnung unvorhergesehene Netzwerkverzögerungen toleriert und in der Lage ist, Hochgeschwindigkeitsoperationen mit einer Reihe von Auslöserverfahren, einschließlich verdrahtete, externe Auslösung, auszuführen. Das System und das Verfahren sollen auch die Möglichkeit zur Skalierungsanwendung zu noch höheren Geschwindigkeiten durch eine Mehrphasensynchronisierung zulassen, in einer Art, die für den Benutzer transparent ist, und die die externe Kommunikation ermöglicht.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Diese Erfindung löst die Aufgabe durch ein fehlertolerantes System und Verfahren zur Synchronisierung der Prüfergebnisse einer skalierbaren Vielzahl von Bildverarbeitungssystemprozessoren, das eine schnelle Wiederherstellung des alten Zustands bei einer Reihe von Problemen zuläßt, wie etwa versäumte Auslöser, Extraauslöser und Stromausfall bei einem oder mehreren Systemprozessoren. Die Erfindung stellt ein System und Verfahren zur Synchronisierung der Ergebnisse einer Bildverarbeitungssystemprüfung zur Verfügung, die jeweils von einer Vielzahl von Prozessoren geliefert werden, die eine erste Bank umfasst (dabei kann es sich um die „Master“-Bank handeln), die einen Masterbildverarbeitungs-systemprozessor und mindestens einen Slavebildverarbeitungssystemprozessor enthält. Mindestens eine zweite Bank (dabei kann es sich um eine Mehrzahl von „Slave“-Banken handeln) enthält einen Masterbildverarbeitungssystemprozessor und mindestens einen Slavebildverarbeitungssystem-prozessor. Jeder Bildverarbeitungssystemprozessor in jeder Bank erzeugt Ergebnisse aus einem oder mehreren Bildern, die bei einem vorgegebenen Prüfzyklus erfasst und verarbeitet werden. Bei einer Ausführungsform werden Prozessoren mit jeweils einer vorgegebenen Kamera in Verbindung gebracht. Bei anderen Ausführungsformen werden die Prozessoren in einer oder mehreren Prozessorbank/en mit einer oder mehreren gemeinsam benutzten Kameras in Verbindung gebracht. Der Prüfzyklus kann auf einem externen Auslöser oder einem anderen Auslösersignal beruhen, und er kann einige oder alle Prozessoren/Banken in die Lage versetzen, Bilder zu einer vorgebenen Zeit/einem vorgebenen Zyklus zu erfassen und zu verarbeiten. Bei einem vorgebenen Zyklus kann jede der vielen Banken positioniert werden, um ein Bild eines betreffenden Bereiches einer Vielzahl von aufeinanderfolgenden Bereichen auf einer sich bewegenden Bahn zu erfassen. Der nächste Zyklus erfasst und verarbeitet Bilder einer nächsten Gruppierung von Objekten oder Bereichen längs der Bahn – und liefert dabei die Verarbeitungszeit zwischen jeder Bewegung der Gruppe von Teilen in das Blickfeld jeder Kamera. Ein Synchronisierungsprozess (a) erzeugt eine eindeutige Kennung und dieser gibt ein Auslösersignal mit der eindeutigen Kennung, die dem Masterprozessor in der ersten Bank zugeordnet ist, an jeden Slaveprozessore in der Masterbank und an jeden Master- und Slaveprozessore weiter, und (b) erhält konsolidierte Ergebnisse über den Masterprozessor der zweiten Bank, die die eindeutige Kennung und die konsolidierten Ergebnisse aus den Ergebnissen aus der ersten Bank haben. Dann (c) konsolidiert der Prozess die Ergebnisse für die Übertragung an ein Ziel, wenn die Ergebnisse vollständig sind und die eindeutige Kennung für alle Ergebnisse das Gleiche ist.
  • Bei einem Ausführungsbeispiel kann sich ein Synchronisierungsprozess in der Masterverarbeitungsvorrichtung der ersten oder „Master“-Bank befinden. Alternativ kann eine Gesamtkonsolidierung von Ergebnissen zur Synchronisierung durch einen vernetzten Prozessor erreicht werden, der Ergebnisse aus dem Masterbildverarbeitungssystemprozessor jeder Bank erhält. Kommunikation zwischen Banken und mit dem Synchronisierungsprozess kann mit Hilfe einer Netzwerkverbindung, wie etwa Ethernet, erreicht werden. Jede Verarbeitungsvorrichtung erfasst eine Zeitmarke, wenn jedes Ergebnis erzeugt ist oder jedes Bild erfasst ist. Solche Zeitmarken bieten eine Hilfestellung bei der Versicherung, dass empfangenene Ergebnisse während der Konsolidierung Teil des gleichen Prüfzyklus sind – insbesondere, wenn unabhängige Auslöser bei verschiedenen Prozessoren und/oder Prozessorbanken eingesetzt werden. Die Zeitmarken können einfach erzeugt werden, was auf der relativen Zeit beruht, bei der eine Nachricht durch einen Master gesendet wird und durch Slavevorrichtungen empfangen wird. Um die Zeitgenauigkeit zu verbessern, können die verschiedenen Verarbeitungsvorrichtun-gen im gesamten System durch eine Referenzuhreneinrichtung miteinander verbunden werden, die auf einer Masteruhr beruht, die Signale an die anderen Uhren über das Netzwerk übermittelt. Die kompletten, konsolidierten Ergebnisse (oder ein Fehler, wenn die Ergebnisse nicht korrekt oder unvollständig sind) werden an ein Ziel übermittelt, wie etwa einem Band-Controller. Der Controller kann dazu verwendet werden, ein Bewegungssteuersystem oder -vorrichtung, Teileauswurf, eine Abschaltung des Bandes oder einen Alarm zu betätigen, der eine Prüfsituation anzeigt, die einen solchen Vorgang erforderlich macht (z. B. ein fehlerhaftes Teil, das ausgeworfen werden muß, oder ein fehlerhafter Netzabschnitt, der Markierung und Entfernung notwendig macht). Im Allgemeinen sind Bildverarbeitungssystemprozessoren mit Kameras verbunden, die so positioniert sind, dass sie Bilder verschiedener Stellen auf dem Band erfassen oder sie sind durch eine Bewegungssteuervorrichtung positioniert – in diesem Falle kann eine einzige Kamera verschiedene Stellen abbilden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Beschreibung der Erfindung unten bezieht sich auf die beigefügten Zeichnungen, von denen:
  • 1 ein Blockschema eines Beispiels einer Anordnung von Bildverarbeitungssystemkameras und -prozessoren ist, mit Bezug auf Teile oder andere interessierende Bereiche auf einem sich bewegenden Band, gemäß eines Ausführungsbeispiels;
  • 2 ein Blockschema ist, das die Anwendungen zeigt, die sich in einem beispielhaften Slaveprozessorsystem der 1 befinden;
  • 3 ein Blockschema ist, das die Anwendungen zeigt, die sich in einem beispielhaften Masterprozessorsystem der 1 befinden;
  • 4 ein Flussdiagramm ist, das die Arbeit eines Masterprozessors während eines Beispiels eines Prüfzyklus zeigt;
  • 5 ein Flussdiagramm ist, das die Arbeit eines Slaveprozessors während eines Beispiels eines Prüfzyklus zeigt; und
  • 6 ein Blockschema einer Anordnung von Bildverarbeitungssystemprozessoren gemäß einer alternativen Ausführungsform zeigt, bei der ein einzelner Mastersynchronisierungsprozessor konsolidierte Ergebnisse aus einer Vielzahl von Mehrfachbildverarbeitungssystemprozessorenbanken erhält.
  • GENAUE BESCHREIBUNG
  • 1 ist ein schematisches Diagramm eines Beispiels einer Anordnung eines mehrphasigen, Mehrprozessorbildverarbeitungssystems 100 entsprechend eines Ausführungsbeispiels. Diese Anordnung 100 ist ein Beispiel einer breiten Variation von möglichen Kameraanordnungen gemäß der Ausführungsbeispiele. Die Anzahl der Kameras und ihre Platzierung ist sehr variabel. In diesem Beispiel wird angenommen, dass jede Kamera eine unabhängige Verarbeitungsvorrichtung enthält. Bei anderen Anordnungen können die Verarbeitungsvorrichtungen physikalisch von den Kameras getrennt sein, und jede mögliche Verarbeitungsvorrichtung kann Bilder aus einer oder mehreren Kameras verarbeiten. Ebenso können Kameras physikalisch oder optoelektronisch durch eine Bewegungssteuerungsvorrichtung (Block 202 in 2 und Block 302 in 3) manipuliert werden, um eine variable Erfassung von Bildern aus mehreren oder verschiedenen Positionen zu ermöglichen. Wie gezeigt, schließt das Beispiel einer Anordnung drei Bildverarbeitungs-systemprozessorenbanken 110, 120, 130 ein. Bei diesem Beispiel einer Anordnung sind die Prozessoren jeweils einer Kamera/einem Sensor zugeordnet. Bei anderen Ausführungen können die Prozessoren und/oder Prozessorbanken eine/n oder mehrere Kameras/Sensoren gemeinsam benutzen. Wenn ein vorgebener Prozessor eine vorgebenene Kamera mitbenutzt, kann ein Multiplexer (nicht gezeigt) bei einer herkömmlichen Anordnung eingesetzt werden, damit erfasste Bilder zu jedem Prozessor, wie jeweils passend, gelenkt werden können. Wenn Banken jeweils eine vorgebenene Kamera oder vorgebenene Kameras mitbenutzen, kann der Zugang zu einer Kamera sequentiell sein, wobei ein passender Controller (ebenfalls nicht gezeigt) eingesetzt wird. Bei diesem Ausführungsbeispiel sind jeder Bank 110, 120, 130 jeweils drei diskrete, besondere Bildverarbeitungssystemkameras (112, 114, 116), (122, 124, 126) und (132, 134, 136) zugeordnet. Die Kameras sind so positioniert, dass sie Stellen entlang eines sich bewegenden Bandes 140 aufnehmen, das Teile/Objekte (Pfeil 142) in Transportrichtung durch das Blickfeld jeder Kamerabank transportiert. Bei einem Ausführungsbeispiel, kann das Band 140 wirksam mit einem Impulsgeber 144 oder einer anderen Bewegungsmessungsvorrichtung verbunden sein. Eine Reihe von Anwesenheitsdetektoren 146, 147, 148 kann bei Ausführungsbeispielen mit Bezug auf die Banken 110, 120 130 vorgesehen sein. Die Detektoren 146, 147, 148 können bei einer Ausführungsform herkömmliche Photodetektoren sein. Sie entdecken den Durchlauf jedes Teils oder Objekts, Teil N (150), Teil N + 1 (152), Teil N + 2 (154) in das Sichtfeld der jeweiligen Bank 110, 120, 130. Es muss bemerkt werden, dass der Begriff „Objekt“, wie er hier benutzt wird, einzelne Teile oder einen einzelnen Bereich eines Gesamtteils oder einer Oberfläche einschliessen kann. Beispielsweise, kann ein „Objekt“, wie hier definiert, einen Bereich eines fortlaufenden Netzes umfassen, das sich durch das Sichtfeld jeder Bank bewegt.
  • Beispielsweise liefern der Impulsgeber 144 und/oder Detektoren 146, 147, 148 ein Signal an eine Auslösererzeugungsschaltung mit herkömmlichem Aufbau. Die Auslösererzeugungsschaltung kann einen externen Auslöser an jede der Banken und/oder Kameras in verschiedenen Ausführungsformen liefern. Bei einem grundlegenden Beispiel einer Auslöseranordnung wird der externe Auslöser auf jede Kamera gleichzeitig auf jedes dritte Teil, das das Sichtfeld jeder Bank passiert, angewendet. Zu diesem Zeitpunkt wird ein Bild des betreffenden Teils oder Objekts innerhalb des Sichtfeldes jeder Kamera erfasst. Der Einsatz von mehreren Verarbeitungsvorrichtungen in einer Bank hilft, sicher zu stellen, dass ein sich schnell bewegendes Teil vom Bilderfassungssystem durch einen oder mehrere Prozessoren (im Ganzen oder teilweise durch jeden Prozessor) vor dem nächsten Prüfzyklus voll aufgenommen und verarbeitet wird. Beispielsweise kann jede Kamera, die einer Bank zugeordnet ist, ein besonderes Merkmal (Deckel, Barcode, Etikett) usw, prüfen, und der Master kombiniert diese Ergebnisse, um festzustellen, ob die Prüfung vollständig und gültig ist. Es sollte wiederum klar sein, dass die Anzahl und die Anordnung von einzelnen Kameras und/oder Prozessoren höchst variabel ist, und die Anzahl der Kameras oder Prozessoren, die einer Bank zugeordnet ist, kann sich von der einer anderen unterscheiden. Ebenso können, während bei diesem Beispiel der Prüfzyklus auf einem gleichzeitigen Auslöserereignis beruht, Bilder auf der Basis von unabhängigen Auslöserereignissen oder anderen Faktoren (wie etwa einem selbstauslösenden Bildverarbeitungssystemprozess innerhalb eines oder mehrerer Prozessoren) erfasst und verarbeitet werden. Es muss angemerkt werden, dass der nächste Prüfzyklus bei diesem Beispiel so arbeiten würde, dass Bank 110 Teil N + 3 (nicht gezeigt) prüft, während die Banken 120, beziehungsweise 130, die Teile N + 4 und N + 5 prüfen (nicht gezeigt).
  • Die Prozessoren in den verschiedenen Banken sind miteinander verbunden, wobei ein gemeinsames Ethernet-Netzwerk eingesetzt wird, das durch die Verbindungen zwischen Prozessoren und zugeordneten Kameras in den Banken, wie gezeigt, dargestellt wird. Es wird ausdrücklich in Betracht gezogen, dass andere Netzwerk- oder Kommunikationstopologien bei alternativen Ausführungsformen eingesetzt werden können. Wie beispielsweise gezeigt, wird die am weitesten links dargestellte bank 110 als „Master“-Bank bezeichnet und die mittleren und die am weitesten rechts gelegenen Banken 120, 130 sind „Slave“-Banken. Ebenso ist innerhalb jeder Bank ein Prozessor „M“ ein Master 112, 122, 132 und zwei miteinander verbundene Prozessoren sind Slaves „S“ 114, 116, 124, 126, 134, 136 innerhalb der speziellen Bank. Die Verbindungen 160, 162 und 164 definieren den Fluss der Ergebnisse SR1, SR2, SR3 von den Slaves zum Mastersystem innerhalb jeder Bank. Die Verbindungen 170, 172 stellen den Fluss der konsolidierten Ergebnisse CR1, CR2 für die Prüfung jedes Teils 152, 154 dar, die zum Gesamtsystemmaster 112 in Bank 110 gesendet werden. Dieser Master 112 kann wiederum einen vollständigen Ergebnissatz für alle drei Teile 150, 152, 154 an einen externen Controller 180 senden. Der externe Controller 180 (zum Beispiel ein PLC) koordiniert die Ergebnisse aller Prozessoren und kann dazu verwendet werden, Alarm auszusenden, ein Bewegungssteuersystem oder einen Teileauswurf zu betätigen, das Band zu stoppen oder ein gutes/fehlerhaftes Teil oder einen Oberflächenbereich zu identifizieren. Er kann eine Anwendung umfassen, die Ergebnisse interpretiert oder kann eine elementare Eingabe/Ausgabevorrichtung sein (zum Beispiel einen Teileauswurf/Kicker betätigen). Bei einigen Ausführungs-beispielen kann der Gesamtsystemmaster 112 Geräte direkt steuern, wie etwa einen Teileauswurf, ohne dass ein externer Controller 180 nötig ist. Es sollte klar sein, dass der Systemdurchsatz beinahe linear anwachsen kann, wenn mehr Banken von Kameras und Verarbeitungsvorrichtungen zur Gesamtvorrichtung hinzugefügt werden, unter der Annahme, dass die Konsolidierung der Ergebnisse sehr viel weniger Verarbeitungsresourcen erfordert als die Prüfverarbeitung, was naturbedingt bei jeder Verarbeitungsvorrichtung auftritt. Prinzipiell kann diese Art von Hierarchie unendlich ausgedehnt werden, aber in der Praxis liefern zwei Ebenen, wie dargestellt, überragende Ergebnisse für ein weites Anwendungsgebiet.
  • Wenn der Controller 180 über einen einzigen Master 112 verbunden wird, ist der PLC oder ein anderer externer Controller frei von Mehrfacheingaben, die eine externe Synchronisierung erfordern, was ansonsten den Verarbeitungs-durchsatz des Controllers erhöhen würde. Es wird eher ein synchronisiertes und konsolidiertes Ergebnis für jeden Prüfzyklus geliefert. Dieses konsolidierte Ergebnis kann nicht alle der zugrunde liegenden Systemergebnisse einschließen (aufgrund eines versäumten Auslösers bei einem oder mehreren Prozessoren, usw.), doch der nächste Zyklus, der alle erforderlichen Ergebnisse enthält, umfasst eine Systemrückversetzung in den alten Zustand, bei der volle Synchronisierung der Ergebnisse in diesem zurückversetzten Zyklus sichergestellt ist).
  • Nun wird auf 2 Bezug genommen, die schematisch die verallgemeinerten Anwendungen 210, die sich in jedem Slaveprozessorsystem 200 befinden, darstellt. Diese Anordnung ist eine Darstellung einer großen Vielfalt von möglichen Organisationformen, die als Hardware, Software oder eine Kombination aus Hardware und Software implementiert werden können. Das System 200 schließt einen Bilderfassungsprozess (oder -prozesse) 220 ein, die externe Auslösersignale 222 von einer geeigneten Quelle, wie oben beschrieben, empfängt. Die Auslösesignale können auch interne Auslöseranweisungen umfassen, die von anderen Anwendungen innerhalb des Systems oder über das Netzwek empfangen werden. Der/die Bilderfassungsprozess(e) 220 sind verantwortlich für die Abbildung des Teils, Objekts oder des in Frage kommenden Bereiches zur geeigneten Zeit. Jedes erfasste Bild wird durch den/die Bildverarbeitungssystemprozess(e) 230 gespeichert und analysiert/verarbeitet. Die Bildverarbeitungssystemprozesse setzen jede annehmbare Prüf- oder Bildverarbeitungsanwendung ein, einschließlich derer, die trainierte Abbildungen eines Modellteils, -objektes oder -oberfläche (Subjekt) verwenden. Der Prozess kann das Bestehen/Verfehlen einer Prüfung, Position von Merkmalen in bis zu vier Dimensionen (d. h. die Position von Objekten in drei physikalischen Dimensionen plus die vierte Dimension – Position des Objekts zu dem Zeitpunkt), Lesen von Charakter- oder Symbolkodes, Messung der Dimensionen, Farbe usw. einschließen. Die Bildverarbeitungs-systemprozesse legen fest, ob ein vorgegebenes Subjekt den vorher festgelegten Prüfregeln folgt und einen absoluten Wert (bestanden/verfehlt), ein Ergebnis oder andere Information in Bezug auf jedes geprüfte Subjekt erzeugt.
  • Das Slavesystem 200 schließt weiter Netzwerkprozesse 240 ein, die Kommunikation mit anderen Vorrichtungen ermöglichen, einschließlich anderer Master- oder Slaveprozessorsysteme. Die Netzwerkprozesse können konventionelles Ethernet oder andere physikalische Kommunikationskanäle einsetzen, und sie können TCP/IP oder jedes andere annehmbare Protokoll wie etwa UDP verwenden, um Kommunikation herzustellen. Die Daten, die von den Bildverarbeitungssystemprozessen 230 erzeugt werden, einschließlich der Prüfergebnisse 242, sind über das Netzwek unter Verwendung der Netzwerkprozesse 240 gerichtet. Die Ergebnisse 242 sind an ein BankMmasterprozessorsystem adressiert. Wie unten beschrieben, liefert die Slaveanwendung 250 Synchronisierungsinformation (Zeitmarken, sequentielle Kennungen usw.) an die Prüfergebnisse 242. Die Slaveanwendung kann alternatierend als eine Reihe von Sendeanwendungen definiert werden, die Informationen an einen Master übermitteln und Empfangsanwendungen, die Informationen von einem Master empfangen, wie sie gebraucht werden, um hierin beschriebene Funktionen auszuführen. Das Timing der verschiedenen Vorrichtungen wird mit Hilfe einer Uhrenschaltung 260, die als gemeinsame Zeitreferenz dient, aufrechterhalten und synchronisiert, wie auch weiter unten beschrieben. Die Uhr 260 kann entsprechend IEEE 1588 bei einem Ausführungsbeispiel implementiert werden, obwohl andere Standards ausdrücklich in Betracht gezogen werden. Im Allgemeinen sendet eine Masteruhr innerhalb einer Vorrichtung (beispielsweise der Systemmaster 112) die aktuelle Zeit an die Slavebanken und zugeordnete Prozessoren. Die anderen Prozessoren verwenden ihre Uhr, um den relativen Versatz zwischen ihren Uhren und der Masteruhr festzustellen. Meldungen werden entsprechend dem Standardprotokoll ausgetauscht, um die korrekte Zeit bei jeder Vorrichtung festzustellen.
  • 3 zeigt ein Beispiel eines Masterprozessorsystems 300 mit einem Anwendungsstapel 310. Im Allgemeinen ist der Aufbau und die Funktion des Masterprozessors ähnlich dem/den Slaveprozessor(en) mit einigen Unterschieden, die ihn in die Lage versetzen als Bankmaster oder Gesamtsystemmaster in der Anordnung von Prozessoren zu arbeiten. Der/die Bilderfassungsprozess(e) arbeiten ähnlich wie der/die Prozess(e) 220 des oben beschriebenen Slaveprozessors 200. Sie wirken auf interne und/oder externe Auslöser 222, um Abbildungen von Subjekten zu erzeugen und zu speichern. Bildverarbeitungssystemprozess(e) 330 arbeiten auch ähnlich wie die (230) oben beschriebenen. Netzwerkprozesse (340) für den Master 300 werden angepasst, um konsolidierte Ergebnisse 342, die aus den Ergebnissen für den Master selber und allen Slaveergebnissen, die an den Master adressiert sind, bestehen, zu übermitteln. Der Empfang von Slaveergebnissen 242 wird von den Netzwerkprozessen 340 bearbeitet und zur Mastersynchronisierungsanwendung weitergeleitet, die die Funktionen der Slaveanwendung 250, die oben beschrieben ist, zur Bearbeitung der selbsterzeugten Ergebnisse einschließen kann, aber auch die Organisation der empfangenen Slaveergebnisse von anderen Prozessoren, wie oben beschrieben, bearbeitet. Die Anwendung 350 wirkt mit der gemeinsamen Referenzuhr 360 zusammen, die auf dem IEEE 1588 Standard oder einer anderen Zeitreferenz arbeitet, um Synchronisierung zwischen den miteinander verbundenen Prozessorsystemen zu liefern. Wenn die Uhr 360 sich im Master (112) befindet, kann die Uhr als Systemmasteruhr arbeiten. Ebenso, wenn ein spezielles System 300 als Gesamtsystemmaster (112) handelt, kann die Synchronisierungsanwendung 350 Masterbanksynchronisierungsprozesse 352 (gestrichelt gezwichnet), die geeignet sind, die konsolidierten Ergebnissse 370 von anderen Slaveebanken (120, 130) zu bearbeiten, einschließen. Im Allgemeinen können Masteranwendungen und Synchronisierungsprozesse verschiedene Sende- und Empfangsanwendungen einschließen, die Daten, die sie von den Slaveprozessoren und Slavebanken erhalten haben, bearbeiten, und die Daten auf Auslösern und Uhren an die Slaves übermitteln, und konsolidierte Ergebnisse an einen Controller übermitteln. Diese konsolidierten Ergebnisse 370 bestehen aus einem Bankmaster und Slaveergebnissen, die vom Bankmaster (122, 132) über das Netzwerk übertragen werden. Die übertragenen, konsolidierten Ergebnisse 342 schließen dann alle Prozessorergebnisse aus allen Banken ein, und diese Ergebnisse werden an den Prozessor (Block 380) übertragen.
  • Nun wird die Arbeit jedes Slaveprozessorsystems und Masterprozessorsystems bei einem Prüfzyklus genauer beschrieben mit Bezug auf die Flussdiagramme der 4, beziehungsweise 5. Wenn man zuerst den Mastervorgang 400 (4) betrachtet, so beginnt der Zyklus (Schritt 410) damit, dass das System auf ein Auslösersignal (Entscheidungsschritt 412) wartet. Nach Empfang eines Auslösers (über Entscheidungsschritt 412) beginnt das Mastersystem ein Bild zu erfassen (Schritt 414). Das System erzeugt auch eine eindeutige Kennung (Schritt 416) und sendet eine Auslösermeldung an ein oder mehrere Slavesysteme (Schritt 418). Die Meldung enthält die erzeugte Kennung, so dass der Prüfzyklus eindeutig identifiziert wird. Die Meldung kann auch eine Zeitmarke vom Mastersystem enthalten, wenn Master und Slave(s) eine gemeinsame Zeitreferenz benutzen, wie etwa die oben beschriebene IEEE 1588 Uhrenanordnung. Sie kann auch eine Positionsreferenz enthalten, wie etwa eine Impulsgeberposition oder Bewegungssteuerungskoordinaten. Die Erzeugung und Weiterleitung der Meldung über das Netzwerk geschieht, während lokale Bilderfassung und -verarbeitung im Master weiterlaufen. Es wird angemerkt, dass eine Zeitmarke und/oder eine Positionsreferenz vorteilhaft sind, wenn verschiedene Kameras unabhängig oder in einer bekannten Reihenfolge ausgelöst werden. Wenn die Ergebnisse nicht mit der richtigen Zeitmarke oder Positionsreihenfolge eingehen, kann ein Ergebnis zurückgewiesen werden – egal, wann die Ergebnisse tatsächlich über das Netzwerk empfangen wurden.
  • Wie in 5 gezeigt, startet der Slavesystemprozess 510 nach Erwarten und Empfang einer Auslösermeldung oder eines externen oder internen Auslösersignals (Entscheidungsschritt 512). Der Slave beginnt dann die Bilderfassung (Schritt 514). Der Prozess 500 nimmt die Zeitmarke und/oder Positionsreferenz auf, entweder als Inhalt der Auslösermeldung oder von der eigenen internen Uhr des Slave. Die Bilderfassung des Slave kann direkt durch die Meldung oder durch ein externes oder internes Signal ausgelöst werden, und sie ist ebenfalls zeitlich markiert. Wenn die Bilderfassung des Slave fertig ist, bestimmt er, ob eine Auslösermeldung empfangen wurde und ob ihre Zeitmarke innerhalb des vorbestimmten Zeit- oder Positionsfenster im Verhältnis zur Auslösezeit oder -position des Slave fällt (Entscheidungsschritte 516 und 518). Das Zeit-/Positionsfenster kann benutzerspezifizisch oder beliebig festgelegt sein, und es kann in jede Richtung unbegrenzt sein, um verschiedene Auslösereihen zuzulassen. Wenn keine solche Meldung innerhalb des spezifizischen Zeit-/Positionsfensters empfangen wird, wird ein Fehler erzeugt (Schritt 520). Ansonsten verarbeitet der Slave das Bild (Schritt 522) und sendet Ergebnisse zurück zum Mastersystem einschließlich der eindeutigen Kennung des Prüfzyklus von der Auslösermeldung des Master (Schritt 530). Das vervollständigt den speziellen Prüfzyklus für dieses Slavesystem, das nun die nächste Auslösermeldung erwartet (Schritte 510, 512).
  • Nun wird wieder der Masterprozess 400 der 4 betrachtet, wobei Schritt 418 verfolgt wird, bei dem eine Auslösermeldung zu jedem Slavesystem geschickt wird. Der Master beendet seine eigene Bilderfassung (Schritt 420) und verarbeitet das Bild mit Hilfe von geeigneten Bildverarbeitungssystemprozessen. Der Prozess 400 kann auf dem Masterbankmaster geschehen (Systemmaster) oder auf dem Master der Slavebank, wie weiter unten beschrieben, wobei der Unterschied in der Anzahl der konsolidierten Ergebnisse und dem letztendlichen Ziel der Ergebnisse besteht. Beim Prozess 400 wird ein Ergebnis aus diesem Prozessschritt 422 erzeugt. Das Ergebnis schließt die eindeutige Prüfkennung ein und kann eine Zeitmarke, die von der Masteruhr erzeugt wird, einschließen. Wenn der Master bereit ist die Ergebnisse seiner eigenen Prüfung mit Ergebnissen eines oder mehrerer Slavesysteme zu kombinieren, legt er zuerst fest, ob alle erforderlichen Ergebnisse empfangen wurden (Entscheidungsschritt 430). Er wartet auf den Empfang solcher Ergebnisse bis zu einer spezifizischen Zeitüberschreitung oder Position. Wenn erforderliche Ergebnisse vor der Zeitüberschreitung oder innerhalb der Position empfangen werden (Entscheidungsschritt 430), bestätigt der Prozess 400, dass die eindeutige Prüfkennung von dem/den Slave(s) mit der Prüfkennung des Master (aus Schritt 416) für den gegenwärtigen Prüfzyklus (Entscheidungsschritt 440) übereinstimmt. Wenn die Prüfkennungen übereinstimmen, werden die Ergebnisse akzeptiert und kombinierte Ergebnisse werden durch den Master im Schritt 450 erzeugt. Diese Kombination kann die Form eines Datenpackets haben, das auf jede akzeptable Art formatiert ist, damit die Informationen durch eine angschlossene Vorrichtung entschlüsselt werden können. Sie kann entsprechende Kopfzeilen, Enden oder andere formatierte Datenfelder einschließen. Wenn der Prozess 400 auf einem Slavebankmaster läuft, werden die kombinierten Ergebnisse zum Masterbankmaster übertragen (Schritt 460) und gemäß Schritt 450 auf dem Masterbankmaster kombiniert. Die Etgebnisse der gesamten Systemkombination können dann an den Controller gemäß Schritt 460 übertragen werden (laufen auf dem Masterbankmaster). Bei einigen Ausführungsformen kann der gesamte Systemmaster direkt externe Vorrichtungen steuern, wie etwa Mechanismen zum Teileauswurf, die auf den kombinierten Ergebnissen beruhen, ohne dass es erforderlich wäre, diese an einen externen Controller zu kommunizieren. Der spezielle Prüfzyklus ist dann vollständig (Schritt 470).
  • Die Prozesse 400, 500 ermöglichen automatische Erkennung und Rückgewinnung versäumter und unechter Auslöser zum Master und/oder den Slaves. Wenn ein Slave einen Auslöser versäumt hat oder eine Stromunterbrechung oder den Verlust eines Netzwerkpacketes als Ergebnis der Meldung erleidet, unterbricht der Master das Warten auf eine Antwort, die nie kommt (Schritt 432) und erzeugt einen Fehler (Schritt 480). Ein Fehler, der in einer Slavebank auftritt, wird von einem Slavebankmaster zum Masterbankmaster übermittelt (Systemmaster). Er wird dann über den Schritt 460 an den Controller weitergeleitet. Wenn der Fehler durch den Masterbankmaster (Systemmaster) erzeugt wurde, wird der Fehler direkt über den Schritt 460 an den Controller weitergeleitet. Wenn ein Slave einen Extraauslöser empfängt oder der Master eine Stromunterbrechung oder Verlust des Netzwerkpackets der Auslösermeldung hat, dann erkennt der Slave das Problem sofort, wenn er feststellt, dass innerhalb eines festgelegten Auslösefensters keine Meldung erhalten wurde, und erzeugt einen Fehler. In jedem Fall nimmt das System die normale Arbeit automatisch innerhalb von ein oder zwei Prüfzyklen wieder auf.
  • Allgemeiner gesprochen wird Mehrphasensynchronisierung erreicht, wenn jedes Mastersystem innerhalb einer Phasenbank abwechselnd ein Slave eines Master einer höheren Ebene ist. Es wird ausdrücklich in Betracht gezogen, dass drei oder mehr Ebenen von Master- und Slavevorrichtungen zusammen arrangiert werden können. Ebenfalls wird ausdrücklich in Betracht gezogen, dass der Gesamtsystemmaster ein separater Controller sein kann oder dass diese Funktion von dem Mastersystem einer Bank von Prozessoren wahrgenommen werden kann, wie in 1 gezeigt.
  • Nun wird 6 betrachtet, die eine alternative Ausführungsform einer Mehrfachbildverarbeitungssystem-prozessors-(und zugeordneter Kamera)Vorrichtung 600 darstellt. Bei diesem Ausführungsbeispiel sind eine Masterbank 610 und mindestens eine Slavebank 620 vorgesehen. Die Ergebnisse jedes Slaveprozessors 612, 622 werden mit denen des Bankmaster 614, 624 konsolidiert. Die konsolidierten Ergebnisse jeder Masterbank wird dann mit einem diskreten Masterprozessor 630 kombiniert, der den Synchronisierungsprozess 640 auf den kombinierten Ergebnissen in gleicher Weise wie der Masterprozess 400 in 4, bearbeitet. Bei einem weitern Ausführungsbeispiel können alle Ergebnisse zum Master 614 der Masterbank geleitet werden, aber weiter an den Prozessor 630 zur letzten Synchronisierung gegeben werden. Die kombinierten Ergebnisse oder jede Fehlerbedingung werden vom Masterprozessor 630 zum externen Controller 650 weitergegeben, wie allgemein oben beschrieben. Der diskrete Prozessor kann auch die eindeutige Kennung des Prüfzyklus und eine Zeitmarke, die auf einer internen Referenzuhr beruht, erzeugen.
  • Es sollte klar sein, dass die oben beschriebene Anordnung ein hoch skalierbares und allgemein fehlertolerantes System und Verfahren zur Implementierung eines Mehrfachkameraprüfsystems zur Verfügung stellt. Die Anzahl einzelner Bildverarbeitungssystemkameras ist ausgesprochen variabel und die Anzahl der Ebenen der Master- und Slavehierarchie ist ebenso variabel. Im Gegensatz zu früheren Näherungen, die einen externen PLC einsetzen, um Prüfungen zu synchronisieren, ermöglicht es diese Erfindung, dass dezentrale Bildverarbeitungsuntersysteme sich untereinander mit Hilfe eines Kommunikationskanals, wie etwa Ethernet, koordinieren. Ebenso liefern die Ausführungsbeispiele, im Gegensatz zu früheren Näherungen, wie etwa der Einsatz von WriteResult- und ReadResult-Funktionstypen, fehlertolerante Kommunikation egal wie Prüfungen ausgelöst werden, und können wesentlich schneller Fehler entdecken und sich davon erholen. Ausserdem liefert das Ausführungsbeispiel eine eindeutige und neue Technik für Mehrphasensynchronisierung von Prüfergebnissen.
  • Das Obige stellt eine genaue Beschreibung der Ausführungsbeispiele der Erfindung dar. Verschieden Änderungen und Ergänzungen können ohne Abweichung vom Sinn und Umfang dieser Erfindung gemacht werden. Jedes der verschiedenen oben beschriebenen Ausführungsbeispiele kann mit anderen beschriebenen Ausführungsbeispielen kombiniert werden um mehrere Merkmale zu liefern. Weiterhin, während das oben Gesagte eine Anzahl von separaten Ausführungsformen der Vorrichtung und des Verfahrens der vorliegenden Erfindung beschreibt, ist das, was hier beschrieben wurde, lediglich eine Erläuterung der Anwendung der Grundlagen der vorliegenden Erfindung dar. Beispielsweise dienen die Begriffe „Master“, „Slave“, „Bank“ und verwandte Begriffe zur Erläuterung von verschiedenen hierarchischen und organisatorischen Anordnungen der Kommunikation zwischen einer Vielzahl Bildverarbeitungssystemprozessoren, und können nicht als absolute Definitionen einer besonderen baulichen Anordnung herangezogen werden. Darüberhinaus können die hier beschriebenen verschiedenen Vorgänge und Prozesse mit Hilfe von Hardware, Software einschließlich computerlesbarer Programmanweisungen, oder einer Kombination von Hardware und Software implementiert werden. Dementsprechend ist diese Beschreibung nur als Beispiel zu sehen und nicht als anderweitige Einschränkung des Umfangs der Erfindung.

Claims (22)

  1. Verfahren zur Synchronisierung von Ergebnissen einer Vielzahl von Bildverarbeitungssystemprozessoren, das erfasste Bilder verarbeitet, um daraus Ergebnisse zu erstellen, umfassend die Schritte: Bereitstellung mindestens einer ersten Slavekamerabank, einschließlich mindestens eines (a) Masterbildverarbeitungssystemprozessors und mindestens eines (b) Slavebildverarbeitungssystemprozessors, der mit diesem verbunden ist; Bereitstellung einer Masterkamerabank, beinhaltend mindestens einen (c) Masterbildverarbeitungssystemprozessor und mindestens einen (d) Slavebildverarbeitungssystemprozessor, wobei der Masterbildverarbeitungssystemprozessor der Masterkamerabank mit dem Masterbildverarbeitungssystemprozessor der Slavekamerabank verbunden ist; In der Masterkamerabank, Empfangen eines Auslösers bei jedem Prüfzyklus und als Antwort darauf, Erfassung und Verarbeitung eines Bildes mit (c) dem Masterbildverarbeitungssystemprozessor und Ausgabe eines Auslösersignals aus dem Mastersynchronisierungsprozess, der mit (c) dem Masterbildverarbeitungssystemprozessor über eine Kommunikationsverbindung zusammenhängt, wobei das Signal eine eindeutige Prüfzykluskennung jeweils für: (d) den Slavebildverarbeitungssystemprozessor, (a) den Masterbildverarbeitungssystemprozessor und (b) den Slavebildverarbeitungssystemprozessor einschließt; Nach Erfassung und Verarbeitung von Bildern mit jedem von: (d) dem Slavebildverarbeitungssystemprozessor, (a) dem Masterbildverarbeitungssystemprozessor und (b) dem Slavebildverarbeitungssystemprozessor, Konsolidierung der Ergebnisse (c) des Masterbildverarbeitungssystemprozessors und (d) des Slavebildverarbeitungssystemprozessors, und in der ersten Slavekamerabank, Konsolidierung der Ergebnisse des (a) Masterbildverarbeitungssystemprozessors und des (b) Slavebildverarbeitungssystemprozessors und Übertragung der konsolidierten Ergebnisse mit der eindeutigen Prüfzykluskennung an den Mastersynchronisierungsprozess über die Kommunikationsverbindung; und Bestimmung mit dem Mastersynchronisierungsprozess, ob die konsolidierten Ergebnisse aus der Masterkamerabank und die konsolidierten Ergebnisse aus der ersten Slavekamerabank vollständig sind, und dass alle Prüfzykluskennungen gleich sind, und, wenn die Ergebnisse vollständig und gleich sind, Übermittlung der vollständigen Ergebnisse an ein vorgegebenes Ziel.
  2. Verfahren nach Anspruch 1, wobei der Mastersynchronisierungsprozess vom (c) Masterbildverarbeitungsprozessor ausgeführt wird.
  3. Verfahren nach Anspruch 1, wobei der Mastersynchronisierungsprozess durch einen diskreten Prozessor ausgeführt wird, der operativ mit mindestens dem (c) Masterbildverarbeitungssystemprozessor und dem vorgegebenen Ziel verbunden ist.
  4. Verfahren nach Anspruch 1, weiter umfassend: Bereitstellung mindestens einer zweiten Slavekamerabank, einschließlich mindestens eines (e) Masterbildverarbeitungssystemprozessors und mindestens eines (f) Slavebildverarbeitungssystemprozessors, der mit ihm verbunden ist, und Empfang des Auslösers bei jedem Prüfzyklus in der Masterkamerabank, und als Antwort darauf Ausgabe eines zweiten Auslösersignals aus dem Mastersynchronisierungsprozess, der die eindeutige Prüfzykluskennung jeweils: (e) des Masterbildverarbeitungssystemprozessors und (f) des Slavebildverarbeitungssystemprozessors einschließt, und, nach Erfassung und Verarbeitung eines Bildes jeweils mit: (e) dem Masterbildverarbeitungssystemprozessor und (f) dem Slavebildverarbeitungssystemprozessor, Konsolidierung der Ergebnisse (e) des Masterbildverarbeitungssytemprozessors und (f) des Slavebildverarbeitungssystemprozessors und Übermittlung der konsolidierten Ergebnisse mit der eindeutigen Prüfzykluskennung an den Mastersynchronisierungsprozess über die Kommunikationsverbindung, und Bestimmung mit dem Mastersynchronisierungsprozess, ob die konsolidierten Ergebnisse aus der Masterkamerabank und die konsolidierten Ergebnisse aus der ersten Slavekamerabank und der zweiten Slavekamerabank vollständig sind, und, wenn die Ergebnisse vollständig und gleich sind, Übermittlung der vollständigen Ergebnisse an das vorgebenene Ziel.
  5. Verfahren nach Anspruch 1, weiter umfassend: bei Feststellung durch den Synchronisierungsprozess wenigstens eines von: (i) die Ergebnisse sind nicht vollständig und (ii) alle Prüfzykluskennungen sind nicht gleich, Anzeige eines Fehlers an den Controller.
  6. Verfahren nach Anspruch 1, weiter umfassend Bereitstellung einer gemeinsamen Zeitreferenz jeweils für: (c) den Masterbildverarbeitungssystemprozessor, (d) den Slavebildverarbeitungssystemprozessor, (a) den Masterbildverarbeitungssystemprozessor und (b) den Slavebildverarbeitungssystemprozessor, und Anhängen einer Zeitmarke an deren Ergebnisse im Prüfzyklus, die auf der gemeinsamen Zeitreferenz basiert.
  7. Verfahren nach Anspruch 6, wobei der Synchronisierungsprozess Vollständigkeit der konsolidierten Ergebnisse feststellt, basierend auf einer bekannten Zeitabfolge zwischen jeder Zeitmarke auf jedem Ergebnis.
  8. Verfahren nach Anspruch 1, wobei der Auslöser einen externen Auslöser umfasst und wobei das Verfahren weiter umfasst: Erzeugung des externen Auslösers aus mindestens einem aus einer Gruppe, bestehend aus einem Präsenzmelder, der Objekte wahrnimmt, einem Impulsgeber, der Bewegung wahrnimmt, und einem Bewegungssteuersystem mit einer Positionsreferenz.
  9. Verfahren nach Anspruch 1, weiter umfassend: Durchführung einer Maßnahme in Bezug auf ein sich bewegendes Band, die auf den vollständigen Ergebnissen am vorgegebenen Ziel beruht.
  10. Verfahren nach Anspruch 1, weiter umfassend eine Vielzahl von Kameras jeweils in Verbindung mit den Bildverarbeitungssystemprozessoren, die Bilder erfassen, wobei eine oder mehrere der Kameras entweder (a) positioniert sind, damit sie vorgegebene Positionen auf einem sich bewegenden Band sehen, oder (b) durch eine Bewegungssteuerungsvorrichtung positioniert werden, um Bilder von vorgegebenen Positionen zu erfassen.
  11. Verfahren nach Anspruch 1, weiter umfassend eine gemeinsame Positionsreferenz zu jedem von: (c) dem Masterbildverarbeitungssystemprozessor, (d) dem Slavebildverarbeitungssystemprozessor, (a) dem Masterbildverarbeitungssystemprozessor und (b) dem Slavebildverarbeitungssystemprozessor, und Anhängen einer Positionsreferenz an deren Ergebnisse beim Prüfzyklus, basierend auf der gemeinsamen Positionsreferenz.
  12. Verfahren nach Anspruch 11, wobei der Synchronisierungsprozess Vollständigkeit der konsolidierten Ergebnisse feststellt, basierend auf einer Beziehung der Positionen zwischen jeder Positionsreferenz auf jedem Ergebnis.
  13. System zur Synchronisierung von Ergebnissen einer Vielzahl von Bildverarbeitungssystemprozessoren, die erfasste Bilder verarbeiten, um daraus Ergebnisse zu erzeugen, umfassend: Eine erste Slavekamerabank, einschließlich mindestens eines (a) Masterbildverarbeitungssystemprozessors und mindestens eines (b) Slavebildverarbeitungssystemprozessors, der mit ihm verbunden ist; Eine Masterkamerabank, beinhaltend mindestens einen (c) Masterbildverarbeitungssystemprozessor und mindestens einen (d) Slavebildverarbeitungssystemprozessor, wobei der Masterbildverarbeitungssystemprozessor der Masterkamerabank mit dem Masterbildverarbeitungssystemprozessor der Slavekamerabank verbunden ist, die Masterkamerabank einen Bilderfassungsprozess beinhaltet, der bei jedem Prüfzyklus einen Auslöser empfängt, und als Antwort darauf ein Bild mit dem (c) Masterbildverarbeitungssystemprozessor erfasst und verarbeitet, und einen Mastersynchronisierungsprozess, der ein Auslösersignal ausgibt, das mit dem (c) Masterbildverarbeitungssystemprozessor über eine Kommunikationsverbindung verbunden ist, wobei das Signal eine eindeutige Prüfzykluskennung einschließt jeweils an: den (d) Slavebildverarbeitungssytemprozessor, den (a) Masterbildverarbeitungssystemprozessor und den (b) Slavebildverarbeitungssystemprozessor; Einen Konsolidierungsprozess, der, nachdem ein Bild erfasst und verarbeitet wurde, jeweils mit: dem (d) Slavebildverarbeitungssystemprozessor, dem (a) Masterbildverarbeitungssystemprozessor und dem (b) Slavebildverarbeitungssystemprozessor, der Ergebnisse des (c) Masterbildverarbeitungssystemprozessors und des (d) Slavebildverarbeitungssystemprozessors konsolidiert und die konsolidierten Ergebnisse in der ersten Slavekamerabank, wobei die Ergebnisse des (a) Masterbildverarbeitungssystemprozessors und des (b) Slavebildverarbeitungssystemprozessors konsolidiert werden, mit der eindeutigen Prüfzykluskennung an den Mastersynchronisierungsprozess über die Kommunikationsverbindung übermittelt, wobei der Mastersynchronisierungsprozess bestimmt, ob die konsolidierten Ergebnisse aus der Masterkamerabank und die konsolidierten Ergebnisse der ersten Slavekamerabank vollständig sind, und dass alle Prüfzykluskennungen gleich sind, und ob die Ergebnisse vollständig und gleich sind, wobei die vollständigen Ergebnisse an ein vorgegebenes Ziel übermittelt werden.
  14. System nach Anspruch 13, wobei sich der Mastersynchronisierungsprozess im (c) Masterbildverarbeitungssystemprozessor befindet.
  15. System nach Anspruch 13, wobei sich der Mastersynchronisierungsprozess in einem diskreten Prozessor befindet, der operativ wenigstens mit dem (c) Masterbildverarbeitungssystemprozessor und dem vorgegebenen Ziel verbunden ist.
  16. System nach Anspruch 13, weiter umfassend: eine gemeinsame Zeitreferenz in jeweils: (c) dem Masterbildverarbeitungssystemprozessor, (d) dem Slavebildverarbeitungssystemprozessor, (a) dem Masterbildverarbeitungssystemprozessor und (b) dem Slavebildverarbeitungssystemprozessor, und eine Zeitmarke, die an deren Ergebnisse im Prüfzyklus angehängt wird.
  17. System nach Anspruch 16, wobei der Auslöser ein externer Auslöser ist, und wobei der externe Auslöser von wenigstens einem aus einer Gruppe, bestehend aus einem Präsenzmelder, der Objekte wahrnimmt, einem Imulsgeber, der Bewegung wahrnimmt, und einem Bewegungssteuerungssystem mit einer Positionsreferenz, erzeugt wird.
  18. System nach Anspruch 13, weiter umfassend eine gemeinsame Positionsreferenz, die jeweils: (c) dem Masterbildverarbeitungssystemprozessor, (d) dem Slavebildverarbeitungssystemprozessor, (a) dem Masterbildverarbeitungssystemprozessor und (b) dem Slavebildverarbeitungssystemprozessor zur Verfügung gestellt wird, und wobei eine Positionsreferenz an deren Ergebnissen beim Prüfzyklus angehängt wird, basierend auf der gemeinsamen Positionsreferenz.
  19. System nach Anspruch 18, wobei der Synchronisierungsprozess Vollständigkeit der konsolidierten Ergebnisse, basierend auf einer Positionsbeziehung zwischen jeder Positionsreferenz auf jedem Ergebnis beruht, bestimmt.
  20. System nach Anspruch 13, weiter umfassend eine Vielzahl von Kameras, jeweils in Verbindung mit den Bildverarbeitungssystemprozessoren, die Bilder erfassen, wobei eine oder mehrere der Kameras entweder (a) positioniert ist/sind, um vorgegebene Positionen auf einem sich bewegenden Band zu sehen oder (b) von einer Bewegungssteuerungsvorrichtung positioniert werden, um Bilder von vorgegebenen Positionen zu erfassen.
  21. System zur Synchronisierung von Ergebnissen von Bildverarbeitungssystemprüfung, die von jedem einer Vielzahl von Prozessoren erzeugt werden, umfassend: Eine erste Bank, die einen Masterbildverarbeitungssystemprozessor und mindestens einen Slavebildverarbeitungssystemprozessor enthält, wobei jeder Ergebnisse aus einem oder mehreren Bildern erzeugt, die bei einem Prüfzyklus erfasst und verarbeitet werden; Eine zweite Bank, die einen Masterbildverarbeitungssystemprozessor und mindestens einen Slavebildverarbeitungssystemprozessor enthält, wobei jeder Ergebnisse aus einem oder mehreren Bildern erzeugt, die bei einem Prüfzyklus erfasst und verarbeitet werden; Ein Synchronisierungsprozess, der (a) eine eindeutige Kennung erzeugt, und der ein Auslösersignal mit der eindeutigen Kennung, verbunden mit dem Masterprozessor in der ersten Bank, zu jedem der Slaveprozessoren in der ersten Bank weiterleitet und zu jedem der Master- und der Slaveprozessoren in der zweiten Bank, und (b) konsolidierte Ergebnisse über den Masterprozessor der zweiten Bank empfängt, die die eindeutige Kennung und konsolidierte Ergebnisse der Ergebnisse aus der ersten Bank aufweisen, und (c) die Ergebnisse zur Übermittlung an ein Ziel konsolidiert, wenn die Ergebnisse vollständig sind und die eindeutige Kennung aller Ergebnisses gleich ist.
  22. System nach Anspruch 21, wobei der Synchronisierungsprozess die Ergebnisse konsolidiert, in dem basierend auf einer bekannten Reihenfolge zwischen einer Zeitmarke auf jedem Ergebnis festgestellt wird, ob die Ergebnisse vollständig sind.
DE112010005042.2T 2009-12-29 2010-12-21 Dezentrales Bildverarbeitungssystem mit Mehrphasensynchronisierung Expired - Fee Related DE112010005042B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/648,801 2009-12-29
US12/648,801 US8704903B2 (en) 2009-12-29 2009-12-29 Distributed vision system with multi-phase synchronization
PCT/US2010/061533 WO2011090660A1 (en) 2009-12-29 2010-12-21 Distributed vision system with multi-phase synchronization

Publications (2)

Publication Number Publication Date
DE112010005042T5 DE112010005042T5 (de) 2012-10-18
DE112010005042B4 true DE112010005042B4 (de) 2016-11-24

Family

ID=43971018

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010005042.2T Expired - Fee Related DE112010005042B4 (de) 2009-12-29 2010-12-21 Dezentrales Bildverarbeitungssystem mit Mehrphasensynchronisierung

Country Status (5)

Country Link
US (2) US8704903B2 (de)
JP (2) JP5957168B2 (de)
CN (2) CN105915781B (de)
DE (1) DE112010005042B4 (de)
WO (1) WO2011090660A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8704903B2 (en) 2009-12-29 2014-04-22 Cognex Corporation Distributed vision system with multi-phase synchronization
US20110298916A1 (en) * 2011-04-18 2011-12-08 Lmi Technologies Ltd. Sensor system processing architecture
US20130070113A1 (en) * 2011-09-13 2013-03-21 Cognex Corporation Master and Slave Machine Vision System
US9459607B2 (en) 2011-10-05 2016-10-04 Opteon Corporation Methods, apparatus, and systems for monitoring and/or controlling dynamic environments
US9260122B2 (en) * 2012-06-06 2016-02-16 International Business Machines Corporation Multisensor evidence integration and optimization in object inspection
KR101596078B1 (ko) * 2012-06-12 2016-02-26 엘에스산전 주식회사 캔오픈 네트워크의 구성 방법, 캔오픈 네트워크의 슬레이브 장치의 동작 방법 및 캔오픈 네트워크를 이용한 피엘씨 장치 제어 시스템
US10664994B2 (en) * 2013-02-25 2020-05-26 Cognex Corporation System and method for calibration of machine vision cameras along at least three discrete planes
US9615035B2 (en) * 2013-05-19 2017-04-04 Microsoft Technology Licensing, Llc Competitive photo rig
US9123172B2 (en) * 2013-05-20 2015-09-01 Steven Sebring Systems and methods for producing visual representations of objects
DE102013209940A1 (de) * 2013-05-28 2014-12-04 Conti Temic Microelectronic Gmbh Kamerasystem für Fahrzeuge
JP6234110B2 (ja) * 2013-08-12 2017-11-22 株式会社キーエンス 画像処理センサシステム
EP2905136B1 (de) * 2014-02-07 2018-03-28 Müller Martini Holding AG Verfahren und Vorrichtung zum Überwachen einer Druckweiterverarbeitungsmaschine
WO2016002130A1 (ja) * 2014-06-30 2016-01-07 パナソニックIpマネジメント株式会社 撮影方法、撮影システム、端末装置およびサーバ
CN104202519A (zh) * 2014-08-27 2014-12-10 上海海事大学 多相机同步触发装置、多相机同步拍照系统、多相机同步拍照方法
JP6452386B2 (ja) * 2014-10-29 2019-01-16 キヤノン株式会社 撮像装置、撮像システム、撮像装置の制御方法
CN104898489A (zh) * 2015-05-29 2015-09-09 上海发那科机器人有限公司 一种视觉定位系统连接结构
CN105354848B (zh) * 2015-11-11 2019-04-23 首钢集团有限公司 一种热镀锌产线的康耐视表面质量检测系统的优化方法
DE102015119444B4 (de) * 2015-11-11 2018-01-18 Protechna Herbst Gmbh & Co. Kg Vorrichtung und Verfahren zur Überwachung einer laufenden Warenbahn
USD782559S1 (en) 2015-12-03 2017-03-28 Durst Sebring Revolution, Llc Photo booth
USD798936S1 (en) 2015-12-03 2017-10-03 Durst Sebring Revolution, Llc Photo booth
USD781948S1 (en) 2015-12-03 2017-03-21 Durst Sebring Revolution, Llc Photographic imaging system
USD812671S1 (en) 2015-12-03 2018-03-13 Durst Sebring Revolution, Llc 3D imaging system
USD822746S1 (en) 2016-02-05 2018-07-10 Durst Sebring Revolution, Llc Photo booth
CN105933972A (zh) * 2016-04-05 2016-09-07 上海小蚁科技有限公司 同步系统和方法
US10182180B2 (en) 2016-09-07 2019-01-15 Peau Productions, Inc. Multiple camera control system
WO2018101510A1 (ko) * 2016-11-30 2018-06-07 주식회사 노크 복수의 콘텐츠 지원 디바이스를 이용하여 콘텐츠를 제공하기 위한 방법, 그리고 상기 방법이 실현되도록 하기 위한 콘텐츠 지원 디바이스
US10834443B2 (en) * 2017-01-27 2020-11-10 Appario Global Solutions (AGS) AG Method and system for transmitting alternative image content of a physical display to different viewers
DE102017000856A1 (de) * 2017-01-31 2018-08-02 Seidenader Maschinenbau Gmbh Verfahren zur computergestützten Konfiguration eines Inspektionssystems
CN110326285B (zh) * 2017-03-02 2021-06-25 索尼半导体解决方案公司 图像传感器和控制系统
CN107552413B (zh) * 2017-08-15 2020-03-31 昆山易分蓝电子科技有限公司 聚乙烯颗粒原料抽检分级系统的组织管理方法
DE102017011656A1 (de) 2017-12-15 2019-06-19 Volker Kren Verfahren zur vernetzungsunabhängigen synchronisierten Generierung einer Bilderserie
CN112240888A (zh) * 2019-07-18 2021-01-19 广州翔声智能科技有限公司 一种视觉检测方法及视觉检测系统
US11048518B2 (en) * 2019-09-26 2021-06-29 The Boeing Company Synchronous operation of peripheral devices
CN112797900B (zh) * 2021-04-07 2021-07-06 中科慧远视觉技术(北京)有限公司 多相机板材尺寸测量方法
US12045686B2 (en) 2021-12-23 2024-07-23 Datalogic Usa, Inc. Fixed retail scanner with multi-port network switch and related methods

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970183B1 (en) * 2000-06-14 2005-11-29 E-Watch, Inc. Multimedia surveillance and monitoring system including network configuration
WO2007110822A1 (en) * 2006-03-28 2007-10-04 Koninklijke Philips Electronics N.V. Method and apparatus for synchronising recording of multiple cameras

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5164827A (en) 1991-08-22 1992-11-17 Sensormatic Electronics Corporation Surveillance system with master camera control of slave cameras
EP0815688B1 (de) * 1995-03-24 2000-05-10 PPT Vision, Inc. Maschinensichtsteuersystem
US6175652B1 (en) 1997-12-31 2001-01-16 Cognex Corporation Machine vision system for analyzing features based on multiple object images
US6483935B1 (en) 1999-10-29 2002-11-19 Cognex Corporation System and method for counting parts in multiple fields of view using machine vision
JP2001155289A (ja) * 1999-12-01 2001-06-08 Sony Corp 情報通信システムおよび方法
US6826173B1 (en) 1999-12-30 2004-11-30 At&T Corp. Enhanced subscriber IP alerting
JP2004509401A (ja) * 2000-09-13 2004-03-25 ネクストエンジン・インコーポレーテッド キャプチャファイルの忠実度を保証するように監視または制御された撮像システム
JP3787498B2 (ja) 2001-02-13 2006-06-21 キヤノン株式会社 撮像装置及び撮像システム
US7369680B2 (en) 2001-09-27 2008-05-06 Koninklijke Phhilips Electronics N.V. Method and apparatus for detecting an event based on patterns of behavior
JP2004266458A (ja) * 2003-02-28 2004-09-24 Shimadzu Corp 撮影装置、および、同期撮影タイミング制御器
JP3937332B2 (ja) 2003-03-11 2007-06-27 ソニー株式会社 撮影システム
US7567914B2 (en) * 2003-04-30 2009-07-28 Genworth Financial, Inc. System and process for dominance classification for insurance underwriting suitable for use by an automated system
JP4487513B2 (ja) * 2003-08-13 2010-06-23 株式会社安川電機 物体認識装置
JP2005250650A (ja) 2004-03-02 2005-09-15 Nec Electronics Corp マルチレイヤシステム及びクロック制御方法
US7155336B2 (en) 2004-03-24 2006-12-26 A9.Com, Inc. System and method for automatically collecting images of objects at geographic locations and displaying same in online directories
JP2008507229A (ja) 2004-07-19 2008-03-06 グランドアイ,エルティーディー 広角ビデオカメラのズーム機能の自動拡張
US7671893B2 (en) * 2004-07-27 2010-03-02 Microsoft Corp. System and method for interactive multi-view video
JP2006295396A (ja) * 2005-04-07 2006-10-26 Matsushita Electric Ind Co Ltd 監視カメラ及び監視カメラシステム、並びに監視制御方法
US8310554B2 (en) 2005-09-20 2012-11-13 Sri International Method and apparatus for performing coordinated multi-PTZ camera tracking
JP4735255B2 (ja) * 2005-12-29 2011-07-27 オムロン株式会社 画像処理装置および画像処理装置の動作条件設定方法
US20080004532A1 (en) * 2006-06-30 2008-01-03 Kevin Rubey System and method for transmitting identification data in an in-vivo sensing device
US7760238B2 (en) * 2007-07-25 2010-07-20 National Instruments Corporation Vision system with deterministic low-latency communication
GB2452765A (en) 2007-09-14 2009-03-18 Dooworks Fz Co Combining multiple image streams by reducing the colour depth of each bit stream combining them onto a single stream
JP4983729B2 (ja) * 2008-06-05 2012-07-25 株式会社島津製作所 撮影装置
KR101208427B1 (ko) * 2008-12-22 2012-12-05 한국전자통신연구원 동기화된 다중 영상 취득을 위한 다중 카메라 제어 및 영상저장 장치 및 방법
US8704903B2 (en) 2009-12-29 2014-04-22 Cognex Corporation Distributed vision system with multi-phase synchronization
US20130073847A1 (en) 2011-09-13 2013-03-21 Cognex Corporation Encryption authentication of data transmitted from machine vision tools

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970183B1 (en) * 2000-06-14 2005-11-29 E-Watch, Inc. Multimedia surveillance and monitoring system including network configuration
WO2007110822A1 (en) * 2006-03-28 2007-10-04 Koninklijke Philips Electronics N.V. Method and apparatus for synchronising recording of multiple cameras

Also Published As

Publication number Publication date
CN105915781B (zh) 2020-02-11
WO2011090660A1 (en) 2011-07-28
CN102640490B (zh) 2016-04-20
US9325894B2 (en) 2016-04-26
US8704903B2 (en) 2014-04-22
JP2013516146A (ja) 2013-05-09
US20150049212A1 (en) 2015-02-19
CN105915781A (zh) 2016-08-31
DE112010005042T5 (de) 2012-10-18
CN102640490A (zh) 2012-08-15
JP2016225990A (ja) 2016-12-28
US20110157389A1 (en) 2011-06-30
JP5957168B2 (ja) 2016-07-27
JP6190003B2 (ja) 2017-08-30

Similar Documents

Publication Publication Date Title
DE112010005042B4 (de) Dezentrales Bildverarbeitungssystem mit Mehrphasensynchronisierung
DE69232476T2 (de) Feststellung von Fehlern
DE112016000909T5 (de) Überwachungsvorrichtung und Überwachungsverfahren
WO2002076033A2 (de) Synchrones, getaktetes kommunikationssystem mit dezentralen ein-/ausgabe-baugruppen und verfahren zur einbindung dezentraler ein-/ausgabe-baugruppen in ein solches system
DE102005029440A1 (de) System und Verfahren zum Synchronisieren von Operationen einer Mehrzahl von Vorrichtungen über Meldungen über ein Kommunikationsnetzwerk
DE102017123615B4 (de) Konfigurierbares Sicherheitsmodul zur Erfassung digitaler oder analoger Eingangs- oder Ausgangssignale
DE112010004237B4 (de) Techniken zur verbesserten Messung von Taktverschiebungen
DE102005045855A1 (de) Verfahren und Vorrichtung zur Erleichterung der Einstellung von Systemen, bei welchen Objekten bewegt werden
DE102013104894A1 (de) Bildverarbeitungssysteme und Verfahren mit prädiktiver Bewegungsregelung
EP2504259A1 (de) Fördereinrichtung und verfahren zum betrieb einer fördereinrichtung
DE19917354A1 (de) Synchronisationsverfahren für eine Haupteinheit und mindestens eine Nebeneiheit mit internen, miteinander zu synchronisierenden Zeitgebern, hiermit korrespodierndes Kommunikationssystem sowie Haupteinheit und Nebeneinheit eines derartigen Kommunikationssystems
DE102018220271A1 (de) Optische Aufnahmevorrichtung und Verfahren zur optischen Aufnahme
DE69518128T2 (de) Bilddatenverarbeitungsvorrichtung mit Bilddatenteilungsfunktion und Verfahren zur Verarbeitung von Bilddaten
DE102017009983A1 (de) Bilderfassungsvorrichtung und Bilderfassungsverfahren
DE102009040649A1 (de) Verfahren und Vorrichtung zur Erzeugung von digitalen Einzelbildern von scheibenförmigen Elementen in einem Herstellungsprozess
EP3425324B1 (de) Verfahren zur parametrierung eines sensors
WO2005086408A1 (de) Schnittstellenvorrichtung und verfahren zur synchronisation von daten
WO2019076600A1 (de) Verfahren und vorrichtung zum rückwirkungsfreien und integritätsgeschützten synchronisieren von log-daten
WO2014090657A1 (de) Zuweisen von zeitstempeln zu empfangenen datenpaketen
DE102013218305A1 (de) Verfahren und Vorrichtung zum Synchronisieren einer Steuereinheit und mindestens einer zugeordneten Peripherieeinheit
DE102012016544B4 (de) Robotersystem mit einer funktion zum erfassen einer fehlfunktion einer kamera
DE19815647A1 (de) Verfahren zur Synchronisation einer lokalen auf eine zentrale Zeitbasis, und Vorrichtung zur Durchführung des Verfahrens mit bevorzugten Verwendungen
DE102017109456A1 (de) Mikroskopsystem und Verfahren zum Betreiben eines Mikroskopsystems
DE102006012275B4 (de) Datenübertragungs- und verarbeitungssystem mit sicherem Erfassen von kritischen Zuständen
DE112020004344T5 (de) Kommunikationsvorrichtung, kommunikationsverfahren und programm

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 112010006124

Country of ref document: DE

R020 Patent grant now final
R082 Change of representative

Representative=s name: PATENTANWAELTE OLBRICHT, BUCHHOLD, KEULERTZ PA, DE

R082 Change of representative

Representative=s name: PATENTANWAELTE OLBRICHT, BUCHHOLD, KEULERTZ PA, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee