DE102016120775A1 - System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem - Google Patents

System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem Download PDF

Info

Publication number
DE102016120775A1
DE102016120775A1 DE102016120775.6A DE102016120775A DE102016120775A1 DE 102016120775 A1 DE102016120775 A1 DE 102016120775A1 DE 102016120775 A DE102016120775 A DE 102016120775A DE 102016120775 A1 DE102016120775 A1 DE 102016120775A1
Authority
DE
Germany
Prior art keywords
gradient
line
lines
edge points
image
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.)
Pending
Application number
DE102016120775.6A
Other languages
English (en)
Inventor
David Y. Li
Lowell D. Jacobson
Yu Feng Hsu
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 DE102016120775A1 publication Critical patent/DE102016120775A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/143Segmentation; Edge detection involving probabilistic approaches, e.g. Markov random field [MRF] modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/162Segmentation; Edge detection involving graph-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/181Segmentation; Edge detection involving edge growing; involving edge linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing

Abstract

Diese Erfindung stellt ein System und Verfahren zu Erkennen mehrerer Linienmerkmale in einem Bild bereit. Es werden zwei verwandte Schritte zum Identifizieren von Linienmerkmalen verwendet. Zuerst berechnet der Prozess x- und y-Komponenten des Gradientenfelds an jeder Bildstelle, projiziert das Gradientenfeld über eine Vielzahl von Unterbereichen und detektiert eine Vielzahl von Gradientenextrema, was eine Vielzahl von Kantenpunkten mit Position und Gradienten ergibt. Als Nächstes wählt der Prozess iterativ zwei Kantenpunkte aus, passt eine Modelllinie an sie an und berechnet, wenn Kantenpunktgradienten mit dem Modell übereinstimmen, die vollständige Reihe von Nicht-Ausreißer-Punkten, deren Position und Gradient mit dem Modell übereinstimmen. Die Kandidatenlinie mit der größten Anzahl von Nicht-Ausreißern wird festgehalten und die Reihe von übrigen Ausreißerpunkten wird abgeleitet. Der Prozess wendet dann wiederholt den Linienanpassungsvorgang auf diese und nachfolgende Reihen von Ausreißern an, um eine Vielzahl von Linienergebnissen zu erkennen. Der Prozess kann erschöpfend RANSAC-basiert sein.

Description

  • VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht den Vorteil der parallelen vorläufigen US-Patentanmeldung mit der Seriennr. 62/249,918 mit dem Titel SYSTEM AND METHOD FOR FINDING LIMES IN AN IMAGE WITH A VISION SYSTEM [SYSTEM UND VERFAHREN ZUM ERKENNEN VON LINIEN IN EINEM BILD MIT EINEM SICHTSYSTEM], eingereicht am 02.11.2015, deren Lehren durch Bezugnahme hierin aufgenommen sind.
  • GEGENSTAND DER ERFINDUNG
  • Diese Erfindung betrifft Maschinensichtsysteme und insbesondere Sichtsystemwerkzeuge, die Linienmerkmale in erfassten Bildern erkennen
  • HINTERGRUND DER ERFINDUNG
  • Maschinensichtsysteme (hierin auch einfach als „Sichtsysteme” bezeichnet”) werden für vielfältige Aufgaben in der Fertigung, Logistik und Industrie verwendet. Solche Aufgaben können Oberflächen- und Teileinspektion, Anordnung von Objekten während der Montage, Auslesen von Mustern und ID-Codes und jeden anderen Vorgang umfassen, bei dem visuelle Daten erfasst und zur Verwendung in weiteren Prozessen interpretiert werden. Sichtsysteme setzen typischerweise eine oder mehrere Kameras ein, die Bilder einer Szene erfassen, die ein Objekt oder Subjekt von Interesse enthält. Das Objekt/Subjekt kann stationär oder in relativer Bewegung sein. Bewegung kann ferner durch Informationen gesteuert sein, die durch das Sichtsystem abgeleitet sind, wie in dem Fall der Handhabung von Teilen durch einen Roboter.
  • Eine übliche Aufgabe für ein Sichtsystem ist das Erkennen und Kennzeichnen von Linienmerkmalen in einem Bild. Es werden vielfältige Werkzeuge zum Identifizieren und Analysieren solcher Linienmerkmale verwendet. Typischerweise sind diese Werkzeuge auf einen deutlichen Kontrastunterschied angewiesen, der in einem Abschnitt des Bilds auftritt. Dieser Kontrastunterschied wird unter Verwendung z. B. eines Messschieberwerkzeugs analysiert, um zu bestimmen, ob die einzelnen Punkte in dem Bild mit Kontrastunterschied zu einem linienartigen Merkmal zusammengesetzt werden können. Falls ja, wird eine Linie in dem Bild identifiziert. Insbesondere arbeiten die Werkzeuge, die Kantenpunkte erkennen, und diejenigen, die eine Linie an die Punkte anzupassen versuchen, unabhängig voneinander. Dies erhöht den Verarbeitungsaufwand und verringert die Zuverlässigkeit. Wenn ein Bild mehrere Linien umfasst, können solche Werkzeuge in ihrer Fähigkeit, sie exakt zu erkennen, eingeschränkt sein. Zudem können herkömmliche Linienerkennungswerkzeuge, die dazu ausgelegt sind, eine einzelne Linie in einem Bild zu erkennen, problematisch zu verwenden sein, wenn das Bild mehrere eng beabstandete Linien mit ähnlicher Ausrichtung und Polarität aufweist.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Diese Erfindung beseitigt Nachteile des Stands der Technik durch Bereitstellen eines Systems und Verfahrens zum Erkennen von Linienmerkmalen in einem Bild, das es ermöglicht, dass mehrere Linien effizient und genau identifiziert und gekennzeichnet werden. Zuerst berechnet der Prozess x- und y-Komponenten des Gradientenfelds an jeder Stelle des Bilds, projiziert das Gradientenfeld über eine Vielzahl von Bildunterbereichen und detektiert innerhalb jedes Unterbereichs eine Vielzahl von Gradientenextrema, was eine Vielzahl von Kantenpunkten mit zugehöriger Position und Gradienten ergibt. Als Nächstes wählt der Prozess iterativ zwei Kantenpunkte aus, passt eine Modelllinie an diese Kantenpunkte an und berechnet, wenn die Gradienten dieser Kantenpunkte mit der Modelllinie übereinstimmen, die vollständige Reihe von Nicht-Ausreißer-Punkten, deren Position und Gradient mit der Modelllinie übereinstimmen. Die Kandidatenlinie mit der größten Anzahl von Nicht-Ausreißern wird als ein Linienergebnis festgehalten und die Reihe von übrigen Ausreißerpunkten wird abgeleitet. Der Prozess wendet dann wiederholt den Linienanpassungsvorgang auf diese und nachfolgende Reihen von Ausreißern an, um eine Vielzahl von Linienergebnissen zu erkennen. Der Linienanpassungsvorgang kann erschöpfend sein oder auf einer Technik der Übereinstimmung mit einer zufälligen Stichprobe (random sample consensus, RANSAC) basieren.
  • In einer veranschaulichenden Ausführungsform wird ein System zum Erkennen von Linienmerkmalen in einem erfassten Bild bereitgestellt. Ein Sichtsystemprozessor empfängt Bilddaten einer Szene empfängt, die Linienmerkmale enthält. Ein Kantenpunktextraktor erzeugt Intensitätsgradientenbilder aus den Bilddaten und erkennt Kantenpunkte auf Grundlage der Intensitätsgradientenbilder. Ein Linienerkenner passt dann die Kantenpunkte an eine oder mehrere Linien auf Grundlage des Intensitätsgradienten in den Kantenpunkten an. Veranschaulichend führt der Linienerkenner einen RANSAC-basierten Prozess zum Anpassen von Nicht-Ausreißer-Kantenpunkten an neue Linien einschließlich der iterativen Definition von Linien aus Ausreißer-Kantenpunkten in Bezug auf vorab definierte Linien aus. Der Kantenpunktextraktor führt eine Gradientenfeldprojektion von Bereichen der Intensitätsgradientenbilder durch, die Linienmerkmale enthalten. Veranschaulichend ist die Gradientenfeldprojektion entlang einer Richtung ausgerichtet, die in Antwort auf eine erwartete Ausrichtung eines oder mehrerer der Linienmerkmale festgelegt ist, und die Gradientenfeldprojektion kann eine Granularität auf Grundlage eines Gauß-Kernels definieren. Veranschaulichend können die Bilddaten Daten aus einer Vielzahl von Bildern umfassen, die von einer Vielzahl von Kameras erfasst und auf einen gemeinsamen Koordinatenraum abgebildet sind. Die Bilddaten können ferner unter Verwendung eines Glättungs-(Gewichtungs-)kernels geglättet werden, der einen 1D-Gauß-Kernel oder eine andere Gewichtungsfunktion umfassen kann. Die Kantenpunkte können auf Grundlage eines Grenzwerts ausgewählt sein, der durch einen absoluten Kontrast und einen auf Grundlage durchschnittlicher Intensität der Bilddaten normierten Kontrast definiert ist. Veranschaulichend ist der Linienerkenner dazu ausgelegt und angeordnet, Kantenpunkte auszutauschen, die Abschnitte paralleler Linien oder sich kreuzender Linien darstellen, um falsche Ausrichtungen zu korrigieren, und/oder Linien mit Polaritätsvariation zu identifizieren, einschließlich Mischpolaritäten in Linienmerkmalen auf Grundlage von Gradientenwerten in den Kantenpunkten. Ferner ist der Kantenpunktextraktor veranschaulichend dazu angeordnet, eine Vielzahl von Gradientengrößenmaxima in jedem der Gradientenprojektion-Unterbereiche zu erkennen. Diese Gradientengrößenmaxima können jeweils als einige der Vielzahl von Kantenpunkten identifiziert sein und können von einem Ortsvektor und einem Gradientenvektor beschrieben sein. Zusätzlich kann der Linienerkenner dazu angeordnet sein, Übereinstimmung zwischen mindestens einem Kantenpunkt der extrahierten Vielzahl von Kantenpunkten und mindestens einer Kandidatenlinie der erkannten Vielzahl von Linien durch Berechnen einer Metrik zu bestimmen. Diese Metrik kann auf einem Abstand des mindestens einen Kantenpunkts von der Kandidatenlinie und einem Winkelunterschied zwischen einer Gradientenrichtung des Kantenpunkts und einer Normalenrichtung der Kandidatenlinie basieren.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die nachstehende Beschreibung der Erfindung betrifft die beigefügten Zeichnungen, von denen:
  • 1 ein Diagramm einer beispielhaften Sichtsystemanordnung ist, die Bilder eines Objekts erfasst, das mehrere Kantenmerkmale umfasst, und eines Sichtsystemprozessors, der ein Kantenerkennungswerkzeug/-modul gemäß einer veranschaulichenden Ausführungsform umfasst;
  • 2 ein Diagramm ist, das eine Übersicht des Systems und Verfahrens zur Kantenpunktextraktion und Linienerkennung aus einem erfassten Bild gemäß einer veranschaulichenden Ausführungsform darstellt;
  • 3 ein Ablaufdiagramm eines Kantenpunktextraktionsvorgangs gemäß dem System und Verfahren aus 2 ist;
  • 4 ein Diagramm einer Feldprojektion auf einem Bereich eines Bilds ist, das Kantenmerkmale umfasst, was Teil des Kantenpunktextraktionsvorgangs aus 3 ist;
  • 5 ein Diagramm ist, das die Anwendung eines Gauß-Kernels auf das Bild zum Glätten des Bilds zur Verwendung in dem Kantenpunktextraktionsvorgang aus 3 darstellt;
  • 6 ein Diagramm einer Feldprojektion einschließlich der Anwendung eines Gauß-Kernels zum Glätten der Projektion zur Verwendung in dem Kantenpunktextraktionsvorgang aus 3 ist;
  • 7 ein Diagramm ist, das eine graphische Übersicht des Kantenpunktextraktionsvorgangs aus 3 einschließlich der Anwendung von Gauß-Kerneln und Berechnung von absoluten und normierten Kontrastgrenzwerten für Kantenpunkte darstellt;
  • 8 ein Graph ist, der einen Bereich geeigneter Kontraste für Kantenpunkte darstellt, die einen ausreichenden absoluten Kontrastgrenzwert und normierten Kontrastgrenzwert aufweisen;
  • 9 ein Ablaufdiagramm eines Linienerkennungsvorgangs auf Grundlage erkannter Kantenpunkte in 3 ist, in dem ein beispielhafter RANSAC-Prozess gemäß einer veranschaulichenden Ausführungsform verwendet wird;
  • 10 und 11 Diagramme sind, die falsche beziehungsweise richtige Anordnung von Kantenpunkten relativ zu eng beabstandeten Linienmerkmalen darstellen;
  • 12 und 13 Diagramme sind, die falsche beziehungsweise richtige Anordnung von Kantenpunkten relativ zu sich kreuzenden Linienmerkmalen darstellen, die gemäß dem Linienerkenner des veranschaulichenden Systems und Verfahrens aufgelöst werden können;
  • 1417 Diagramme sind, die Beispiele für Linien darstellen, die Hell-Dunkel-Polarität, Dunkel-Hell-Polarität, entweder Hell-Dunkel- oder Dunkel-Hell-Polarität beziehungsweise Mischpolarität aufweisen, die gemäß dem Linienerkenner des veranschaulichenden Systems und Verfahrens aufgelöst werden können; und
  • 18 ein Diagramm ist, das eine Modifizierung des Abdeckungswerts für eine erkannte Linie hinsichtlich einer benutzerdefinierten Maske darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine beispielhafte Sichtsystemanordnung 100, die gemäß einer veranschaulichenden Ausführungsform eingesetzt werden kann, ist in 1 dargestellt. Das System 100 umfasst mindestens eine Sichtsystemkamera 110 und kann eine oder mehrere zusätzliche optionale Kameras 112 (phantomhaft dargestellt) umfassen. Die veranschaulichende(n) Kamera(s) 110, 112 umfasst/-en einen Bildsensor (oder Bildaufnehmer) S und zugehörige Elektronik zum Erfassen und Übertragen von Bildern an einen Sichtsystemprozess(or) 130, der in einem Einzelprozessor und/oder einer Rechenvorrichtung 140 instanziiert sein kann. Die Kamera 110 (und 112) umfasst eine geeignete Linse/Optik 116, die auf eine Szene fokussiert ist, die ein inspiziertes Objekt 150 enthält. Die Kamera 110 (und 112) kann interne und/oder externe Beleuchtungsvorrichtungen (nicht dargestellt) umfassen, die gemäß dem Bilderfassungsprozess funktionieren. Die Rechenvorrichtung 140 kann jedes annehmbare prozessorbasierte System sein, das zum Speichern und Handhaben von Bilddaten gemäß der veranschaulichenden Ausführungsform in der Lage ist. Zum Beispiel kann die Rechenvorrichtung 140 einen PC (wie dargestellt), Server, Laptop, Tabletcomputer, ein Smartphone oder eine ähnliche Vorrichtung umfassen. Die Rechenvorrichtung 140 kann geeignete Peripherie umfassen, wie etwa eine busbasierte Bilderfassungskarte, die mit der Kamera verbunden ist. In alternativen Ausführungsformen kann der Sichtprozessor teilweise oder vollständig innerhalb des Kamerakörpers selbst enthalten sein und mit anderen PCs, Servern und/oder kamerabasierten Prozessoren vernetzt sein, die Bilddaten teilen und verarbeiten. Die Rechenvorrichtung 140 umfasst optional eine geeignete Anzeige 142, die eine geeignete graphische Benutzerschnittstelle (GUI) unterstützen kann, die gemäß in dem Sichtsystemprozess(or) 130 bereitgestellten Sichtsystemwerkzeugen und -prozessoren 132 funktionieren kann. Es ist anzumerken, dass eine Anzeige in verschiedenen Ausführungsformen ausgelassen und/oder lediglich für Einrichtungs- und Wartungsfunktionen bereitgestellt werden kann. Die Sichtsystemwerkzeuge können Teil jedes annehmbaren Software- und/oder Hardware-Pakets sein, das zur Verwendung bei der Inspektion von Objekten annehmbar ist, wie etwa die von Cognex Corporation aus Natick, MA im Handel erhältlichen. Die Rechenvorrichtung kann ferner zugehörige Komponenten einer Benutzerschnittstelle (UI) umfassen, darunter zum Beispiel eine Tastatur 144 und Maus 146 sowie einen Touchscreen innerhalb der Anzeige 142.
  • Die Kamera(s) 110 (und 112) bilden einiges oder alles eines Objekts 150 ab, das innerhalb der Szene angeordnet ist. Jede Kamera definiert eine optische Achse OA, um die ein Sichtfeld auf Grundlage der Optik 116, Brennweite etc. festgelegt wird. Das Objekt 150 umfasst eine Vielzahl von Kanten 152, 154 und 156, die jeweils in unterschiedlichen Richtungen angeordnet sind. Zum Beispiel können die Objektkanten die eines innerhalb eines Smartphone-Körpers angebrachten Deckglases umfassen. Veranschaulichend kann/können die Kamera(s) das gesamte Objekt oder konkrete Stellen (z. B. Ecken, an denen das Glas auf den Körper trifft) abbilden. Ein (gemeinsamer) Koordinatenraum kann in Bezug auf das Objekt, eine der Kameras oder einen anderen Bezugspunkt (zum Beispiel eine sich bewegende Ablage, auf der das Objekt 150 getragen wird) festgelegt sein. Wie gezeigt ist der Koordinatenraum durch Achsen 158 dargestellt. Diese Achsen definieren veranschaulichend orthogonale x-, y- und z-Achsen und Drehung θz um die z-Achse in der x-y-Ebene.
  • Gemäß einer veranschaulichenden Ausführungsform interagiert der Sichtsystemprozess 130 mit einer oder mehreren Anwendungen/Prozessen (die auf der Rechenvorrichtung 140 ausgeführt werden), die gemeinsam eine Reihe von Sichtsystemwerkzeugen/-prozessen 132 umfassen. Diese Werkzeuge können vielfältige herkömmliche und spezialisierte Anwendungen umfassen, die zur Auflösung von Bilddaten verwendet werden – zum Beispiel können vielfältige Kalibrierungswerkzeuge und affine Abbildungswerkzeuge verwendet werden, um erfasste Bilddaten auf ein vorbestimmtes (z. B. gemeinsames) Koordinatensystem abzubilden. Werkzeuge, die Daten zur Graustufenintensität von Bildern auf Grundlage eines vorbestimmten Grenzwerts in ein Binärbild umwandeln, können ebenfalls umfasst sein. Gleichermaßen können Werkzeuge bereitgestellt sein, die den Intensitätsgradienten (Kontrast) zwischen benachbarten Bildpixeln (und Subpixeln) analysieren.
  • Der Sichtsystemprozess(or) 130 umfasst einen Linienerkennungsprozess, ein -werkzeug oder -modul 134, der bzw. das mehrere Linien in einem erfassten Bild gemäß einer veranschaulichenden Ausführungsform ausfindig macht. Daher wird auf 2 Bezug genommen, die graphisch eine Übersicht eines Linienerkennungsvorgangs 200 gemäß der veranschaulichenden Ausführungsform darstellt. Der Vorgang 200 besteht aus zwei Hauptteilen. Es wird ein Eingangsbild 210 an den Prozessor bereitgestellt. Wie dargestellt umfasst das Bild ein Paar sich schneidender Kanten 212 und 214. Diese können einen Eckbereich des vorstehend beschriebenen Objekts 150 darstellen. Ein Kantenpunktextraktor 220 verarbeitet das Eingangsbild 210, um eine Reihe 230 von Kandidatenkantenpunkten zu erhalten, die Kantenpunkte 232 und 234 umfassen, die entlang Kanten 212 beziehungsweise 214 liegen. Die Kantenpunkte 232, 234 und ihre zugehörigen Daten (z. B. untenstehend beschriebene Informationen zu Intensitätsgradienten) werden an einen rekursiven Linienerkenner 240 bereitgestellt, der eine Reihe iterativer Prozesse an ausgewählten Kantenpunkten ausführt. Das Ziel der iterativen Prozesse ist ein Versuch, andere erkannte Kantenpunkte an Kandidatenlinienmerkmale anzupassen. Der Linienerkennungsprozess 240 führt wie dargestellt zu erkannten Linien 252 und 254. Diese Ergebnisse können an andere nachgelagerte Prozesse 260 bereitgestellt werden, welche die Informationen verwenden – z. B. Anordnungsprozesse, robotergesteuerte Handhabung, Inspektion, ID-Auslesen, Teile-/Oberflächeninspektion etc.
  • Es wird auf 3 Bezug genommen, die einen Vorgang zum Extrahieren von Kantenpunkten gemäß einer Ausführungsform beschreibt. Es werden ein oder mehrere Bilder der Szene erfasst, die ein Objekt oder eine Oberfläche mit zu erkennenden Kantenmerkmalen enthält (Schritt 310). Das/die Bild(er) kann/können durch eine einzelne Kamera oder durch eine Vielzahl von Kameras extrahiert werden. In jedem Fall können die Bildpixel in Schritt 320 (optional) durch geeignete Kalibrierungsparameter auf einen neuen und/oder gemeinsamen Koordinatenraum abgebildet werden. Dieser Schritt kann ferner ein Glätten der Bilder wie nachstehend beschrieben umfassen. In bestimmten Ausführungsformen, in denen eine Vielzahl von Kameras diskontinuierliche Bereiche der Szene abbilden – zum Beispiel mit Fokus auf Eckbereichen eines größeren Objekts –, kann der gemeinsame Koordinatenraum für den leeren Bereich zwischen Sichtfeldern der Kameras aufkommen. Wie nachstehend beschrieben können Linien, die sich zwischen solchen Sichtfeldern erstrecken (z. B. die Objektkante, die zwei erkannte Eckbereiche verbindet), durch das System und Verfahren der veranschaulichenden Ausführungsform extrapoliert werden. Die zum Erkennen von Linien erforderlichen Kantenpunkte werden in dem geeigneten Koordinatenraum durch den Kantenpunktextraktor unter Verwendung der Gradientenfeldprojektion in Schritt 330 aus dem/den Bild(ern) extrahiert. Gradientenwerte werden zuerst für jeden Pixel berechnet, wodurch zwei Bilder für x- und y-Gradientenkomponenten erzeugt werden. Das/die Bild(er) wird/werden weiterhin durch Projizieren des Gradientenfelds über viele messschieberähnliche Bereiche verarbeitet. Im Gegensatz zu einem herkömmlichen Messschieberwerkzeug, das den Intensitätswert projiziert, kann durch Projektion des Gradientenfelds gemäß der Ausführungsform die Gradientenausrichtung beibehalten werden, was den anschließenden Linienerkennungsprozess wie nachstehend beschrieben erleichtert.
  • In Schritt 340 und ferner unter Bezugnahme auf das Diagramm aus 4 wird ein Abschnitt (ein messschieberähnlicher Bereich) 400 des Bilds, der die Kandidatenkantenmerkmale enthält, einer Gradientenfeldprojektion dargestellt durch eine Vielzahl von Projektionen 410, 420, 430 unterzogen, über die (annäherungsweise) erwartete Ausrichtung der Kanten in einer Suchrichtung (Pfeil SR) abgesucht, wobei die Projektionen über den Bereich 400 in einer orthogonalen Projektionsrichtung (Pfeil PR) wiederholt werden. Für jede Projektion (z. B. Projektion 420) erscheinen Kanten als lokale Maxima in einem der Projektion zugehörigen Gradientenfeld 440. Im Allgemeinen weist eine Reihe von Kantenpunkten innerhalb der Projektion, die einer Kante zugehörig ist, einen Intensitätsgradienten (Vektoren 552, 554) auf, der orthogonal zu der Ausdehnungsrichtung der Kante ist. Wie nachstehend beschrieben kann der Benutzer die Projektionsrichtung auf Grundlage erwarteter Linienausrichtung definieren. Alternativ kann dies standardmäßig oder durch einen anderen Mechanismus bereitgestellt sein – z. B. Analyse der Merkmale des Bilds.
  • Zwei Granularitätsparameter sind an dem vorstehend beschriebenen Schritt zur Gradientenprojektion beteiligt. Vor der Gradientenfeldberechnung kann der Benutzer sich dazu entscheiden, das Bild unter Verwendung eines isotropen Gauß-Kernels zu glätten. Eine erste Granularität bestimmt die Größe dieses Gauß-Glättungskernels. Wie in dem Diagramm 500 aus 5 dargestellt wird ein geeignet dimensionierter Gauß-Kernel (z. B. groß 512, mittel 514, klein 516) zum Glätten des Bilds 210 angewendet. Der erste Granularitätsparameter bestimmt damit die Größe des isotropen Gauß-Glättungskernels vor der Feldberechnung.
  • Nach der Gradientenfeldberechnung wird durch den Prozess dadurch eine Gauß-gewichtete Projektion ausgeführt statt einer einheitlichen Gewichtung in herkömmlichen Messschieberwerkzeugen. Daher bestimmt ein zweiter Granularitätsparameter die Größe des eindimensionalen (1D) Gauß-Kernels, der wie in 6 während der Feldprojektion verwendet wird, in dem der Bereich 600 einem Gauß-geglätteten Kernel 610, 620, 630 ausgesetzt wird. Während eines typischen Betriebs bestätigt der Benutzer (unter Verwendung der GUI) alle dem Bild überlagerten extrahierten Kanten und passt dann die Granularitäten und Kontrastgrenzwerte an, bis die Anzahl extrahierter Kanten entlang der zu erkennenden Linien zufriedenstellend erscheint, während eine übermäßige Anzahl von Kanten aufgrund von Hintergrundrauschen in dem Bild vermieden wird. Anders ausgedrückt ermöglicht es dieser Schritt, dass das Signal-Rausch-Verhältnis für die Bildeigenschaft optimiert wird. Diese Anpassung kann ferner in verschiedenen Ausführungsformen automatisch unter Verwendung eines Standardwerts durch das System ausgeführt werden. Es ist anzumerken, dass die Verwendung einer Gauß-Gewichtsfunktion einer von vielfältigen Ansätzen zur Gewichtung der Projektion ist, einschließlich (z. B.) einer einheitlichen Gewichtung.
  • Der Gesamtablauf von Gradientenfeldextraktion und -projektion ist graphisch in dem Diagramm 700 in 7 dargestellt. Die zwei Granularitätsparameter, der isotrope Gauß-Kernel 710 und der 1D-Gauß-Kernel 720, sind jeweils in jeder Hälfte des Gesamtdiagramms 700 dargestellt. Wie dargestellt wird jedes erfasste Bild 210 Glättung und Dezimierung 730 ausgesetzt. Das resultierende Bild 740 wird dann Gradientenfeldberechnung 750 wie vorstehend beschrieben ausgesetzt, um die zwei Gradientenbilder 752 und 754 zu erzeugen. Diese Gradientenbilder werden ferner als gx und gy dargestellt und stellen zwei orthogonale Achsen in dem gemeinsamen Koordinatenraum dar. Es ist anzumerken, dass zusätzlich zu zwei Gradientenbildern ferner typischerweise das Intensitätsbild 756 dem Glättungs-, Dezimierungs- und Projektionsprozess 760 (unter Verwendung einer Gauß-gewichteten Projektion 770 auf Grundlage des 1D-Gauß-Kernels 720) ausgesetzt wird, da die verarbeiteten Intensitätsinformationen ferner zur Berechnung normierter Kontraste gemäß einer Ausführungsform eingesetzt werden – nachstehend beschrieben. Das Ergebnis sind die Projektionsprofile von Gradientenbildern 772(gx), 774(gy) und Intensitätsbild 776.
  • Unter weiterer Bezugnahme auf Schritt 350 des Vorgangs 300 (3) werden dann geeignete Kantenpunkte durch Kombinieren der 1D-Projektionsprofile von sowohl x- als auch y-Gradientenbild extrahiert. Dies wird unter Verwendung einer groben Kontrastberechnung 780 und einer normierten Kontrastberechnung 790 auf Grundlage des Intensitätsbilds erreicht. Insbesondere werden alle lokalen Spitzen, bei denen sowohl grobe projizierte Gradientengrößen als auch normierte projizierte Gradientengrößen jeweilige Grenzwerte übersteigen, als ein Kandidatenkantenpunkt für anschließende Linienerkennung gemäß den folgenden veranschaulichenden Gleichungen angesehen: (gx 2 + gy 2)1/2 > TABS (gx 2 + gy 2)1/2/I > TNORM wobei gx und gy die Werte der x-Gradienten- beziehungsweise y-Gradienten-Projektion an einer Pixelstelle sind, I die Intensität ist, TABS ein absoluter Kontrastgrenzwert für grobe projizierte Gradientengrößen ist und TNORM ein normierter Kontrastgrenzwert für intensitätsnormierte projizierte Gradientengrößen ist.
  • Insbesondere wird ein Punkt lediglich als Kandidatenkantenpunkt angesehen, wenn sein absoluter und normierter Kontrast beide ihren jeweiligen Grenzwert übersteigen. Dies wird durch den oberen rechten Quadranten 810 in dem beispielhaften Graph 800 von normiertem Kontrastgrenzwert TNORM gegenüber absolutem Kontrastgrenzwert TABS dargestellt. Die Verwendung von dualen (absoluten und normierten) Grenzwerten unterscheidet sich im Allgemeinen von bestehenden Ansätzen, die typischerweise einen absoluten Kontrastgrenzwert einsetzen. Die Vorteile dualer Kontrastgrenzwerte sind eindeutig, wenn beispielsweise ein Bild sowohl dunkle als auch helle Intensitätsbereiche umfasst, die beide Kanten von Interesse umfassen. Um Kanten in dunklen Bereichen des Bilds zu detektieren, ist es wünschenswert, einen niedrigen Kontrastgrenzwert festzulegen. Eine derart niedrige Kontrastfestlegung kann jedoch zur Detektion falscher Kanten in den hellen Abschnitten des Bilds führen. Um umgekehrt die Detektion falscher Kanten in den hellen Bereichen des Bilds zu vermeiden, ist es wünschenswert, einen hohen Kontrastgrenzwert festzulegen. Bei einer hohen Kontrastfestlegung kann das System jedoch bei der angemessenen Detektion von Kanten in dunklen Bereichen des Bilds versagen. Durch Verwendung eines zweiten normierten Kontrastgrenzwerts zusätzlich zu dem herkömmlichen absoluten Kontrastgrenzwert kann das System angemessen Kanten sowohl in dunklen als auch hellen Bereichen detektieren und die Detektion falscher Kanten in hellen Bereichen des Bilds vermeiden. Daher dient die Verwendung dualer Kontrastgrenzwerte durch Ermöglichen der Detektion relevanter Kanten bei gleichzeitiger Vermeidung von Störkanten der Maximierung der Geschwindigkeit und Robustheit der anschließenden Linienerkennungsstufe des Gesamtprozesses.
  • Unter weiterer Bezugnahme auf Schritt 350 (3) werden die Kantenpunkte, sobald alle extrahiert sind, in einer Datenstruktur dargestellt und gespeichert, die dafür zweckdienlich ist, als Arbeitsgrundlage für anschließende Linienerkenner zu dienen. Man beachte zum Beispiel das folgende Tupel: p = (x, y, gx, gy, gm, go, I, gm/I, m, n) wobei (x, y) die Stelle des Kantenpunkts ist, (gx, gy) die Werte seiner jeweiligen x-Gradienten- und y-Gradienten-Projektionen sind, (gm, go) die aus (gx, gy) berechnete Gradientengröße und -ausrichtung ist, I die Intensität an der Kantenpunktstelle ist, gm/I der intensitätsnormierte Kontrast ist, der durch Dividieren der Gradientengröße gm durch die Intensität I erhalten wird, m der Bildindex ist und n der Projektionsbereichsindex ist. Die Stelle des Kantenpunkts kann wie in dem standardmäßigen Messschieberwerkzeug zur Verbesserung der Genauigkeit interpoliert werden.
  • Es ist anzumerken, dass der Kantenpunktextraktionsprozess im Allgemeinen wirkt, um Feldprojektionen in einer einzelnen Richtung auszuführen, die im Wesentlichen mit dem erwarteten Linienwinkel übereinstimmt. Das Werkzeug ist daher gegenüber Kanten in diesem Winkel am empfindlichsten und seine Empfindlichkeit fällt für Kanten in anderen Winkeln schrittweise ab, wobei die Abfallrate von den Granularitätsfestlegungen abhängt, die indirekt die Feldprojektionslänge bestimmen. Als Ergebnis ist der Prozess auf die Erkennung von Linien beschränkt, deren Winkel „nahe” des erwarteten Linienwinkels liegt, was von dem durch den Benutzer bestimmten Winkelbereich abhängt. Während der Prozess dazu angepasst ist, Linien zu erkennen, die nicht orthogonal sind, ist in Erwägung zu ziehen, dass er in verschiedenen Ausführungsformen dazu verallgemeinert werden könnte, Linien jedes Winkels über 360 Grad zu erkennen, indem Projektionen in mehreren Richtungen (omnidirektionale Linienerkennung) einschließlich orthogonaler Richtungen ausgeführt werden.
  • Nun unter Bezugnahme auf Schritt 360 des Vorgangs 300 (3) werden Kantenpunktkandidaten über dem Grenzwert an den Linienerkenner gemäß einer veranschaulichenden Ausführungsform bereitgestellt. Beispielsweise wirkt der Linienerkenner rekursiv und setzt (z. B.) Techniken auf Grundlage der Übereinstimmung mit einer zufälligen Stichprobe (RANdom SAmple Concensus, RANSAC) ein. Ferner wird auf den Linienerkennungsvorgang 900 in 9 Bezug genommen. In Schritt 910 gibt der Benutzer die maximale Anzahl erwarteter Linien in einem Bild neben einem erwarteten Winkel, einer Winkeltoleranz, Abstandstoleranz und (veranschaulichend) einem minimalen Abdeckungswert (im Allgemeinen nachstehend definiert) über (z. B.) die GUI an. Diese Parameter werden durch den Linienerkenner zum Ausführen der folgenden Prozesse verwendet. Die Linien werden in jedem Unterbereich des Bilds erkannt, indem ein RANSAC-Linienerkenner rekursiv betrieben wird, wobei die Kantenpunkt-Ausreißer einer Stufe zu den Eingangspunkten der nächsten Stufe werden. Daher wählt in Schritt 920 der Vorgang 900 ein Paar Kantenpunkte aus, die Teil der Gruppe von Kantenpunkten sind, die in dem Kantenerkennungsprozess als Extrema identifiziert worden sind. Der Vorgang 900 versucht, auf Grundlage von passenden Gradientenwerten (innerhalb des ausgewählten Toleranzbereichs), die mit einer Modelllinie übereinstimmen, eine Modelllinie an die ausgewählten Kantenpunkte anzupassen. In Schritt 924 wird/werden ein oder mehrere Linienkandidat(en) aus Schritt 922 ausgegeben. Jede Linienerkennungsstufe gibt eine Kandidatenlinie, ihre Nicht-Ausreißer und Ausreißer aus. Die ausgegebene(n) Linie(n) wird/werden einer Berechnung von Nicht-Ausreißer-Kantenpunkten ausgesetzt, die eine Position und einen Gradienten aufweisen, die mit dem Linienkandidaten übereinstimmen (Schritt 926). In Schritt 928 wird die Kandidatenlinie mit der größten Anzahl von Nicht-Ausreißern identifiziert. Die vorstehend beschriebene Linienerkennungsstufe (Schritte 920928) endet, wenn sie die maximale Anzahl von erlaubten RANSAC-Iterationen erreicht (Enscheidungsschritt 930). Die maximale Anzahl von Iterationen innerhalb jeder Linienerkennungsstufe wird automatisch unter Verwendung eines intern berechneten Worst-Case-Anteils von Ausreißern und einem von dem Benutzer angegebenen Sicherheitsgrad berechnet. Jede Linienerkennungsstufe gibt die Linie mit der maximalen Anzahl von erfassten Kantenpunkten aus allen ihren Iterationen aus – in Abhängigkeit von einer benutzerspezifizierten Anpassungstoleranz, geometrischen Einschränkungen und Polarität. Jeder Kantenpunkt kann lediglich der Nicht-Ausreißer-Liste einer einzigen Linie zugewiesen werden und jede Linie darf lediglich höchstens einen Kantenpunkt aus jedem Projektionsbereich enthalten. Die Gradientenausrichtung eines Kantenpunkts wird neben seiner Position verwendet, um zu bestimmen, ob er in die Nicht-Ausreißer-Liste einer Kandidatenlinie aufgenommen werden sollte. Insbesondere sollten Kantenpunkte eine Gradientenausrichtung aufweisen, die mit dem Winkel einer Kandidatenlinie übereinstimmt.
  • Wenn der Entscheidungsschritt 930 bestimmt, dass mehr Iterationen erlaubt sind, werden die Ausreißer aus dem besten Nicht-Ausreißer-Kandidaten an den RANSAC-Prozess (Schritt 920) ausgegeben (Schritt 940), um zum Erkennen eines Linienkandidaten verwendet zu werden.
  • Während jeder RANSAC-Iteration werden zwei Kantenpunkte, die zu unterschiedlichen Projektionsbereichen gehören, zufällig ausgewählt und es wird eine Linie an diese zwei Punkte angepasst. Die resultierende Kandidatenlinie wird nur weiter betrachtet, wenn ihr Winkel mit den Gradientenwinkeln beider Kanten in dem Punktpaar übereinstimmt und wenn der Winkel der Linie mit dem durch den Benutzer angegebenen Unsicherheitsbereich übereinstimmt. Im Allgemeinen ist die Gradientenrichtung eines Kantenpunkts nominell orthogonal, aber es ist erlaubt, dass sie um eine benutzerkonfigurierte Winkeltoleranz abweicht. Wenn eine Kandidatenlinie diese anfänglichen Prüfungen besteht, dann wird die Anzahl von Nicht-Ausreißer-Kantenpunkten bewertet, andernfalls wird eine neue RANSAC-Iteration eingeleitet. Ein Kantenpunkt wird nur als Nicht-Ausreißer einer Kandidatenlinie betrachtet, wenn seine Gradientenrichtung und -position mit der Linie übereinstimmen – auf Grundlage von durch den Benutzer angegebenen Gradientenwinkel- und Abstandstoleranzen.
  • Wenn die RANSAC-Iterationen das Maximum erreichen (Entscheidungsschritt 930), werden die Nicht-Ausreißer des besten erkannten Linienkandidaten einer verbesserten Linienanpassung ausgesetzt, unter Verwendung von (zum Beispiel) einer Regression der kleinsten Quadrate oder anderen annehmbaren Annäherungstechnik, und die Reihe von Nicht-Ausreißer-Kantenpunkten wird erneut bewertet, wobei diese Schritte ein Maximum von N (z. B. drei oder mehr) Mal wiederholt werden, bis die Anzahl von Nicht-Ausreißern sich nicht weiter erhöht oder verringert (Schritt 960). Dies ist die Linie, die in Schritt 970 als erkannt gekennzeichnet wird.
  • Der Entscheidungsschritt 980 bestimmt, ob mehr Linien zu erkennen sind (auf Grundlage von (z. B.) Absuchen weiterer Unterbereiche oder einem anderen Kriterium), und falls ja, springt der Prozess zurück zu Schritt 920, um an einer neuen Reihe von Kantenpunkten zu wirken (Schritt 982). Wenn die Punkte ausgeschöpft sind oder eine maximale Iterationsanzahl erreicht ist, gibt der Vorgang 900 in Schritt 990 eine Reihe (d. h. mehrere) erkannte Linien in dem Bild aus.
  • Der Mehrfachlinienerkenner ist dazu angepasst, in Fällen, bei denen zwei Linienergebnisse einander innerhalb des Inspektionsbereichs schneiden, eine endgültige Anpassung bestehender Ergebnisse vorzunehmen. Wie im Allgemeinen in 10 und 11 dargestellt können bei eng beabstandeten parallelen Linien 1010 und 1020 wegen des statistischen Charakters des RANSAC-Vorgangs mitunter falsche Linienergebnisse (d. h. 10) erhalten werden. Wenn solche Fehler vorkommen, kann jedoch ein Austausch von Nicht-Ausreißer-Punktgruppen (Pfeil 1120 in Gruppen 1110 in 11) mitunter die richtigen Linien mit erhöhten Abdeckungswerten und Resten mit verringerter Anpassung ausfindig machen. Punktaustausche können am wirkungsvollsten sein, wenn ein Bild wie dargestellt eng beabstandete parallele Linien enthält. Wenn das Bild umgekehrt Linien 1210 und 1220 enthält, die einander tatsächlich wie in 12 und 13 dargestellt kreuzen, dann sind die Abdeckungswerte nach einem Punktaustausch verringert (Pfeil 1230 in Gruppe 1240 in 12), sodass die ursprünglichen, vor dem Austausch erhaltenen Ergebnisse durch den Prozess beibehalten werden, um sich kreuzende Linien erfolgreich zu detektieren.
  • Es ist anzumerken, dass der RANSAC-Vorgang eine der vielfältigen Techniken ist, durch die der Linienerkenner Punkte an die Linie anpassen kann. In alternativen Ausführungsformen können die Kandidatenpunkte gemäß einer festgelegten Verschiebung dazwischen ausgewählt werden oder das Bild kann unter Verwendung von (z. B.) einer erschöpfenden Suchtechnik verarbeitet werden. Daher sollte wie hierin verwendet die Bezugnahme auf die RANSAC-Technik breit aufgefasst werden, sodass sie vielfältige ähnlicher Punktanpassungstechniken umfasst.
  • Zusätzliche Funktionen dieses Systems und Verfahrens können bereitgestellt werden. Diese umfassen Unterstützung von Mischpolarität, automatische Berechnung der Breite des Projektionsbereichs, Unterstützung von Linienerkennung mit Mehrfachsicht und Ermöglichen, dass das Eingangsbild frei von Vorverkrümmung ist, um optische Verzerrung zu beseitigen. Diese Funktionen werden weiter unten beschrieben.
  • Unter weiterer Bezugnahme auf die Beispiele aus 1416 unterstützt das System und Verfahren zur Linienerkennung der veranschaulichenden Ausführungsform im Allgemeinen standardmäßige Polaritätseinstellungen Hell-Dunkel, Dunkel-Hell und (beziehungsweise) Beide für den Kontrast zwischen Kanten, die erkannt werden. Zusätzlich kann das System und Verfahren ferner eine Mischpolaritätseinstellung (17) unterstützen, bei der sowohl eine Hell-Dunkel- als auch eine Dunkel-Hell-Eigenschaft in derselben Linie vorkommt. Linienerkennungsergebnisse aller vier Einstellungen sind in der folgenden Figur dargestellt. In einer veranschaulichenden Ausführungsform kann das System und Verfahren eine Mischpolaritätseinstellung umfassen, die das Erkennen einer einzigen Linie ermöglicht, die Kantenpunkte entgegengesetzter Polaritäten enthält. Dies unterscheidet sich von einer herkömmlichen Einstellung für „Beide” Polaritäten, bei der alle Kantenpunkte einer einzigen Linie eine der Polaritäten aufweisen – aber nur eine Polarität. Die Mischpolaritätseinstellung kann neben anderen Anwendungen vorteilhaft sein, wenn sie zur Analyse der hellen und dunklen Schachbretter von (z. B.) einer Kalibrierungsplatte verwendet wird.
  • Der Benutzer kann verbesserte Verschiebungsinvarianz von Linienerkennung auswählen. In einem solchen Fall setzt der Kantenpunktextraktor im Wesentlichen überlappte Projektionsbereiche ein, um die Ergebnisstabilität zu verbessern. Wenn die Bereiche einander nicht überlappen, können sich betrachtete Pixel möglicherweise bei der Verschiebung des Bilds aus den Projektionsbereichen bewegen, was zu schlechter Verschiebungsinvarianz bei Linienerkennungsergebnissen führt. Überlappte Projektionsbereiche stellen sicher, dass die betrachteten Pixel kontinuierlich durch Projektionsbereiche abgedeckt sind. Wenn überlappte Projektionsbereiche verwendet werden, dann kann neben möglicher Low-Level-Optimierung zur Beibehaltung der Geschwindigkeit inkrementelle Berechnung ausgeführt werden.
  • Der Benutzer kann Masken bereitstellen, die bestimmte Abschnitte des erfassten Bilds und/oder der abgebildeten Oberfläche von der Analyse in Hinblick auf Linienmerkmale ausschließen. Dies kann wünschenswert sein, wenn die Oberfläche bekannte Linienmerkmale umfasst, die nicht von Interesse sind z. B. Strichcodes, die durch andere Mechanismen analysiert werden, Text und andere Strukturen, die nicht zu der Aufgabe gehören, für die Linien zu erkennen sind. Daher kann der Kantenpunktextraktor Bildmaskierung unterstützen, wenn „irrelevante” Bereiche in einem Bild ausmaskiert werden können und „relevante” Bereiche einmaskiert werden. Wenn solche Maskierung auftritt, werden die Abdeckungswerte der erkannten Linien veranschaulichend gemäß der Anzahl von Kantenpunkten, die innerhalb der Maske fallen, erneut gewichtet.
  • Es wird auf den beispielhaften Bildbereich 1800 aus 18 Bezug genommen, der Abdeckungswerte darstellt, wenn Bildmasken vorliegen, und die Wirkung von Bildmaskierung auf solche Abdeckungswerte. Der Kantenpunktextraktor unterstützt Bildmaskierung, wenn „irrelevante Bereiche” in einem Bild ausmaskiert werden können. Wie dargestellt ist die erkannte Linie 1810 (auf Grundlage der „relevanten” Maskenbereiche 1820) durch relevante Kantenpunkte gekennzeichnet. Solche relevanten Kantenpunkte bestehen aus relevanten Kantenpunkt-Nicht-Ausreißern 1830 zu der Linie 1810 und relevanten Kantenpunkt-Ausreißern 1840 zu der Linie 1810. Irrelevante Kantenpunkte 1850 auf der Linie 1810 liegen zwischen relevanten Bereichen 1820 der Maske, wie in diesem Beispiel dargestellt, und sind nicht in der Berechnung des Abdeckungswerts enthalten, auch wenn sie als Nicht-Ausreißer auf der Linie liegen. Potentielle Stellen 1860 für Kantenpunkte entlang der Linie 1810 werden wie dargestellt ebenfalls bestimmt. Diese potentiellen Stellen werden zwischen bekannten Punkten mit vorhersagbarer Beabstandung auf Grundlage der Beabstandung erkannter Punkte positioniert. Veranschaulichend werden die Abdeckungswerte der erkannten Linien gemäß der Anzahl von Kantenpunkten, die innerhalb der Maske fallen, erneut gewichtet. Der Abdeckungswert wird daher folgendermaßen modifiziert: Abdeckungswert = Anzahl von relevanten Kantenpunkt-Nicht-Ausreißern zu Linie/(Anzahl von relevanten Kantenpunkt-Nicht-Ausreißern zu Linie + relevante Kantenpunkt-Ausreißer zu Linie + Anzahl von relevanten potentiellen Stellen von Kantenpunkten).
  • Nach Ausführen des Linienerkennungsprozesses gemäß dem System und Verfahren hierin können die erkannten Linien auf verschiedenen Weisen auf Grundlage von durch den Benutzer (über (z. B.) die GUI) angegebenen Sortierkriterien sortiert werden. Der Benutzer kann aus intrinsischen Sortiermaße wie etwa Nicht-Ausreißer-Abdeckungswert, Intensität oder Kontrast wählen. Der Benutzer kann ferner aus extrinsischen Sortiermaße wie etwa vorzeichenbehaftetem Abstand oder relativem Winkel wählen. Bei der Verwendung extrinsischer Sortiermaße kann der Benutzer ein Bezugsliniensegment angeben, auf dessen Grundlage die extrinsischen Maße der erkannten Linien zu berechnen sind.
  • Wie im Allgemeinen vorstehend beschrieben kann dieses System und Verfahren ein Mehrfachsichtfeld(MFOV)-Überlastung umfassen, bei der ein Vektor von Bildern aus unterschiedlichen Sichtfeldern in den Prozess geleitet werden kann. Die Bilder sollten alle in einem gemeinsamen Client-Koordinatenraum auf Grundlage einer Kalibrierung angeordnet sein. Wie vorstehend angemerkt kann diese Funktion bei Anwendungsszenarien außerordentlich hilfreich sein, in denen mehrere Kameras zum Erfassen von Teilbereichen eines einzelnen Teils verwendet werden. Da die Kantenpunkte Gradienteninformationen beibehalten, können Linienmerkmale, die zwischen Lücken in dem Sichtfeld projiziert werden, dennoch aufgelöst werden wenn die Gradienten in beiden Sichtfeldern für eine bestimmte Linienausrichtung und Anordnung in jedem Sichtfeld übereinstimmen.
  • Insbesondere erfordert das System und Verfahren keine (ermöglicht dem Bild das Fehlen von) Beseitigung von Verkrümmung (d. h. erfordert es nicht, dass das Bild entkrümmt wird), um nichtlineare Verzerrung zu beseitigen, unter der Annahme, dass die Verzerrung nicht schwerwiegend ist. Wenn das Bild nicht entkrümmt wird, kann das System und Verfahren dennoch Kandidatenkantenpunkte detektieren und die Punktpositionen und Gradientenvektoren durch eine nichtlineare Transformation abbilden.
  • Es versteht sich, dass der gemäß dem System und Verfahren und verschiedenen alternativen Ausführungsformen/Verbesserungen bereitgestellte Linienerkenner ein wirkungsvolles und robustes Werkzeug zum Bestimmen mehrerer Linienmerkmale unter vielfältigen Bedingungen ist. Im Allgemeinen, bei Verwendung zum Erkennen von Linienmerkmalen, weist das System und Verfahren keine besondere Einschränkung zu der maximalen Anzahl von in einem Bild zu erkennenden Linien auf. Nur Speicher und Berechnungszeit setzen der Anzahl von Linien, die erkannt werden können, praktische Grenzen.
  • Das Vorstehende ist eine ausführliche Beschreibung von veranschaulichenden erfindungsgemäßen Ausführungsformen. Verschiedene Modifizierungen und Ergänzungen können vorgenommen werden, ohne von dem Grundgedanken und Schutzbereich dieser Erfindung abzuweichen. Merkmale jeder der vorstehend beschriebenen verschiedenen Ausführungsformen können mit Merkmalen anderer beschriebener Ausführungsformen kombiniert werden, soweit angemessen, um eine Vielzahl von Merkmalskombinationen in zugehörigen neuen Ausführungsformen bereitzustellen. Während zudem das Vorstehende eine Anzahl separater Ausführungsformen der Vorrichtung und des Verfahrens der vorliegenden Erfindung beschreibt, ist das hierin Beschriebene lediglich veranschaulichend für die Anwendung der Grundsätze der vorliegenden Erfindung. Zum Beispiel sollten wie hierin verwendet die Begriffe „Prozess” und/oder „Prozessor” breit aufgefasst werden, sodass sie vielfältige elektronische auf Hardware und/oder Software basierende Funktionen und Komponenten umfassen (und sie können alternativ als funktionale „Module” oder „Elemente” bezeichnet werden). Außerdem kann ein dargestellter Prozess oder Prozessor mit anderen Prozessen und/oder Prozessoren kombiniert oder in verschiedene Unterprozesse oder -prozessoren unterteilt werden. Solche Unterprozesse und/oder Unterprozessoren können verschieden gemäß Ausführungsformen hierin kombiniert werden. Ebenso wird ausdrücklich in Erwägung gezogen, dass jede Funktion, jeder Prozess und/oder Prozessor hierin unter Verwendung elektronischer Hardware, Software bestehend aus einem nichtflüchtigen computerlesbaren Medium von Programmanweisungen oder einer Kombination aus Hardware und Software umgesetzt werden kann. Zusätzlich werden wie hierin verwendet verschiedene richtungs- und anordnungsanzeigende Begriffe wie etwa „vertikal”, „horizontal”, „aufwärts”, „abwärts”, „unten”, „oben”, „Seite”, „vorne”, „hinten”, „links”, „rechts” und dergleichen lediglich als relative Konventionen verwendet und nicht als absolute Richtungen/Anordnungen in Bezug auf einen festen Koordinatenraum wie etwa die Wirkrichtung der Schwerkraft. Zusätzlich bezieht sich der Begriff „im Wesentlichen” oder „annäherungsweise” bei seinem Einsatz in Bezug auf ein angegebenes Maß, einen Wert oder eine Eigenschaft auf eine Menge, die innerhalb eines normalen Betriebsbereichs zum Erzielen erwünschter Ergebnisse liegt, der jedoch Schwankung aufgrund inhärenter Ungenauigkeit und Fehler innerhalb der erlaubten Toleranzen des Systems (z. B. 1–5 Prozent) umfasst. Entsprechend ist es beabsichtigt, dass diese Beschreibung lediglich beispielhaft aufgefasst wird und den Schutzbereich dieser Erfindung nicht anderweitig einschränkt.

Claims (23)

  1. System zum Erkennen von Linienmerkmalen in einem erfassten Bild, umfassend: einen Sichtsystemprozessor, der Bilddaten einer Szene empfängt, die Linienmerkmale enthält, der einen Kantenpunktextraktor aufweist, der (a) ein Gradientenvektorfeld aus den Bilddaten berechnet, (b) das Gradientenvektorfeld über eine Vielzahl von Gradientenprojektion-Unterbereichen projiziert, und (c) eine Vielzahl von Kantenpunkten in jeweiligen der Gradientenprojektion-Unterbereiche auf Grundlage der projizierten Gradientendaten erkennt; und einen Linienerkenner, der eine Vielzahl von Linien erzeugt, die mit den aus dem Bild extrahierten Kantenpunkten übereinstimmen.
  2. System nach Anspruch 1, wobei der Linienerkenner einen RANSAC-basierten Prozess zum Anpassen von Nicht-Ausreißer-Kantenpunkten an neue Linien einschließlich der iterativen Definition von Linien aus Ausreißer-Kantenpunkten in Bezug auf vorab definierte Linien ausführt.
  3. System nach Anspruch 1, wobei die Gradientenfeldprojektion entlang einer Richtung ausgerichtet ist, die in Antwort auf eine erwartete Ausrichtung eines oder mehrerer der Linienmerkmale festgelegt ist.
  4. System nach Anspruch 1, wobei die Gradientenfeldprojektion eine Granularität auf Grundlage eines Gauß-Kernels definiert.
  5. System nach Anspruch 1, wobei der Kantenpunktextraktor dazu angeordnet ist, eine Vielzahl von Gradientengrößenmaxima in jedem der Gradientenprojektion-Unterbereiche zu erkennen, wobei die Gradientengrößenmaxima jeweils als einige der Vielzahl von Kantenpunkten identifiziert sind, die von einem Ortsvektor und einem Gradientenvektor beschrieben sind.
  6. System nach Anspruch 1, wobei der Linienerkenner dazu angeordnet ist, Übereinstimmung zwischen mindestens einem Kantenpunkt der extrahierten Vielzahl von Kantenpunkten und mindestens einer Kandidatenlinie der erkannten Vielzahl von Linien durch Berechnen einer Metrik, die auf einem Abstand des mindestens einen Kantenpunkts von der mindestens einen Kandidatenlinie und einem Winkelunterschied zwischen einer Gradientenrichtung des mindestens einen Kantenpunkts und einer Normalenrichtung der mindestens einen Kandidatenlinie basiert, zu bestimmen.
  7. System nach Anspruch 1, wobei die Bilddaten Daten aus einer Vielzahl von Bildern umfassen, die von einer Vielzahl von Kameras erfasst sind, wobei die Bilder auf einen gemeinsamen Koordinatenraum abgebildet sind.
  8. System nach Anspruch 1, weiterhin umfassend einen Glättungskernel, der die Bilddaten glättet.
  9. System nach Anspruch 8, wobei der Glättungskernel einen Gauß-Kernel umfasst.
  10. System nach Anspruch 1, wobei die Kantenpunkte auf Grundlage eines Grenzwerts ausgewählt sind, der durch einen absoluten Kontrast und einen auf Grundlage durchschnittlicher Intensität der Bilddaten normierten Kontrast definiert ist.
  11. System nach Anspruch 1, wobei der Linienerkenner dazu angeordnet ist, mindestens einige Kantenpunkte aus der extrahierten Vielzahl von Kantenpunkten auszutauschen, die Abschnitte paralleler Linien oder sich kreuzender Linien aus der erkannten Vielzahl von Linien darstellen, um falsche Ausrichtungen zu korrigieren.
  12. System nach Anspruch 1, wobei der Linienerkenner dazu angeordnet ist, Linien aus der erkannten Vielzahl von Linien zu identifizieren, die Polaritätsvariation aufweisen
  13. System nach Anspruch 12, wobei die identifizierten Linien Linien sind, die durch Mischpolaritäten in den Linienmerkmalen der erkannten Vielzahl von Linien auf Grundlage von Gradientenwerten in der extrahierten Vielzahl von Kantenpunkten definiert sind.
  14. Verfahren zum Erkennen von Linienmerkmalen in einem erfassten Bild, umfassend die folgenden Schritte: Empfangen von Bilddaten einer Szene mit einem Sichtsystemprozessor, wobei die Daten Linienmerkmale enthalten; Berechnen eines Gradientenvektorfelds aus den Bilddaten; Projizieren des Gradientenvektorfelds über eine Vielzahl von Gradientenprojektion-Unterbereichen; Erkennen einer Vielzahl von Kantenpunkten in jeweiligen der Gradientenprojektion-Unterbereiche auf Grundlage der projizierten Gradientendaten; und Erzeugen einer Vielzahl von Linien, die mit den aus dem Bild extrahierten Kantenpunkten übereinstimmen.
  15. Verfahren nach Anspruch 14, weiterhin umfassend Anwenden eines RANSAC-basierten Prozesses zum Anpassen von Nicht-Ausreißer-Kantenpunkten an neue Linien einschließlich der iterativen Definition von Linien aus Ausreißer-Kantenpunkten in Bezug auf vorab definierte Linien.
  16. Verfahren nach Anspruch 14, wobei die Gradientenfeldprojektion entlang einer Richtung ausgerichtet ist, die in Antwort auf eine erwartete Ausrichtung eines oder mehrerer der Linienmerkmale festgelegt ist.
  17. Verfahren nach Anspruch 14, wobei die Gradientenfeldprojektion eine Granularität auf Grundlage eines 1D-Gauß-Kernels definiert.
  18. Verfahren nach Anspruch 14, weiterhin umfassend Erkennen einer Vielzahl von Gradientengrößenmaxima in jedem der Gradientenprojektion-Unterbereiche, wobei die Gradientengrößenmaxima jeweils als einige der Vielzahl von Kantenpunkten identifiziert sind, die von einem Ortsvektor und einem Gradientenvektor beschrieben sind.
  19. Verfahren nach Anspruch 14, weiterhin umfassend Bestimmen von Übereinstimmung zwischen mindestens einem Kantenpunkt der extrahierten Vielzahl von Kantenpunkten und mindestens einer Kandidatenlinie der erkannten Vielzahl von Linien durch Berechnen einer Metrik, die auf einem Abstand des mindestens einen Kantenpunkts von der mindestens einen Kandidatenlinie und einem Winkelunterschied zwischen einer Gradientenrichtung des mindestens einen Kantenpunkts und einer Normalenrichtung der mindestens einen Kandidatenlinie basiert
  20. Verfahren nach Anspruch 14, wobei die Bilddaten Daten aus einer Vielzahl von Bildern umfassen, die von einer Vielzahl von Kameras erfasst und auf einen gemeinsamen Koordinatenraum abgebildet sind.
  21. Verfahren nach Anspruch 14, weiterhin umfassend Glätten der Bilddaten unter Verwendung eines Glättungskernels.
  22. Verfahren nach Anspruch 14, weiterhin umfassend Auswählen der Kantenpunkte auf Grundlage eines Grenzwerts, der durch einen absoluten Kontrast und einen auf Grundlage durchschnittlicher Intensität der Bilddaten normierten Kontrast definiert ist.
  23. Verfahren nach Anspruch 14, weiterhin umfassend mindestens eines aus (a) Austauschen von Kantenpunkten, die Abschnitte paralleler Linien oder sich kreuzender Linien darstellen, um falsche Ausrichtungen zu korrigieren, und (b) Identifizieren von Linien mit Polaritätsvariation in den Linienmerkmalen, einschließlich Mischpolaritäten in Linien auf Grundlage von Gradientenwerten in den Kantenpunkten.
DE102016120775.6A 2015-11-02 2016-10-31 System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem Pending DE102016120775A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562249918P 2015-11-02 2015-11-02
US62/249,918 2015-11-02

Publications (1)

Publication Number Publication Date
DE102016120775A1 true DE102016120775A1 (de) 2017-05-04

Family

ID=58546193

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016120775.6A Pending DE102016120775A1 (de) 2015-11-02 2016-10-31 System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem

Country Status (4)

Country Link
US (3) US10152780B2 (de)
JP (2) JP6934026B2 (de)
CN (2) CN112927249A (de)
DE (1) DE102016120775A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399892A (zh) * 2018-04-24 2019-11-01 北京京东尚科信息技术有限公司 环境特征提取方法和装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10937168B2 (en) 2015-11-02 2021-03-02 Cognex Corporation System and method for finding and classifying lines in an image with a vision system
DE102016120775A1 (de) 2015-11-02 2017-05-04 Cognex Corporation System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem
US9934578B2 (en) * 2016-08-15 2018-04-03 Macau University Of Science And Technology Method for edge detection
KR20180055070A (ko) * 2016-11-16 2018-05-25 삼성전자주식회사 재질 인식 및 재질 트레이닝을 수행하는 방법 및 장치
EP3555851B1 (de) * 2016-12-14 2021-09-22 Eyes Ltd Kantenerkennung in digitalisierten bildern
US11176675B2 (en) * 2017-02-01 2021-11-16 Conflu3Nce Ltd System and method for creating an image and/or automatically interpreting images
US11158060B2 (en) 2017-02-01 2021-10-26 Conflu3Nce Ltd System and method for creating an image and/or automatically interpreting images
US10471955B2 (en) * 2017-07-18 2019-11-12 lvl5, Inc. Stop sign and traffic light alert
JP2019220163A (ja) * 2018-06-06 2019-12-26 コグネックス・コーポレイション ビジョンシステムでラインを検出するためのシステム及び方法
JP6740288B2 (ja) * 2018-07-13 2020-08-12 ファナック株式会社 物体検査装置、物体検査システム、及び検査位置を調整する方法
CN111141208B (zh) * 2019-01-09 2021-08-27 银河水滴科技(北京)有限公司 一种平行线检测方法及装置
CN109993747A (zh) * 2019-03-22 2019-07-09 上海理工大学 融合点线特征的快速图像匹配方法
KR102205325B1 (ko) * 2019-06-14 2021-01-21 경북대학교 산학협력단 라인 검출 방법
US11410334B2 (en) * 2020-02-03 2022-08-09 Magna Electronics Inc. Vehicular vision system with camera calibration using calibration target
CN111724366B (zh) * 2020-06-16 2023-08-25 武汉工程大学 一种激光腔识别方法及装置
CN113096073B (zh) * 2021-03-19 2022-10-18 浙江华睿科技股份有限公司 化纤丝锭表面平整度检测方法及装置
CN113111674A (zh) * 2021-04-12 2021-07-13 广东奥普特科技股份有限公司 Aztec码定位与解码方法、系统、设备及存储介质
WO2023141903A1 (en) 2022-01-27 2023-08-03 Cognex Vision Inspection System (Shanghai) Co., Ltd. Easy line finder based on dynamic time warping method

Family Cites Families (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61120002A (ja) 1984-11-16 1986-06-07 Toyota Central Res & Dev Lab Inc 画像のコ−ナ点検出方法及びその装置
US4910786A (en) 1985-09-30 1990-03-20 Eichel Paul H Method of detecting intensity edge paths
US6405072B1 (en) * 1991-01-28 2002-06-11 Sherwood Services Ag Apparatus and method for determining a location of an anatomical target with reference to a medical apparatus
US6728404B1 (en) 1991-09-12 2004-04-27 Fuji Photo Film Co., Ltd. Method for recognizing object images and learning method for neural networks
US6005984A (en) 1991-12-11 1999-12-21 Fujitsu Limited Process and apparatus for extracting and recognizing figure elements using division into receptive fields, polar transformation, application of one-dimensional filter, and correlation between plurality of images
US6418424B1 (en) 1991-12-23 2002-07-09 Steven M. Hoffberg Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
EP0733233A4 (de) 1993-12-12 1997-05-14 Asp Solutions Usa Inc Vorrichtung und verfahren zur signalverarbeitung
JP3394104B2 (ja) 1993-12-24 2003-04-07 株式会社小松製作所 位置認識方式
US5559695A (en) 1994-12-27 1996-09-24 Hughes Aircraft Company Apparatus and method for self-calibrating visual time-to-contact sensor
JP3620884B2 (ja) 1995-03-01 2005-02-16 富士機械製造株式会社 画像処理装置
JP3366497B2 (ja) 1995-07-12 2003-01-14 松下電器産業株式会社 部品検出方法
EP0865637A4 (de) 1995-12-04 1999-08-18 Sarnoff David Res Center Erkennungssystem mit weitem und engen sichtfeld und verfahren
US6256109B1 (en) * 1996-05-29 2001-07-03 Richard Rosenbaum Image enlargement system
US6137893A (en) 1996-10-07 2000-10-24 Cognex Corporation Machine vision calibration targets and methods of determining their location and orientation in an image
JP3189870B2 (ja) * 1996-12-24 2001-07-16 シャープ株式会社 画像処理装置
US5974169A (en) 1997-03-20 1999-10-26 Cognex Corporation Machine vision methods for determining characteristics of an object using boundary points and bounding regions
EP0996091B1 (de) * 1998-04-07 2015-12-30 Omron Corporation Vorrichtung und verfahren zur bildverarbeitung, medium auf welchem die bildverarbeitung gespeichert ist und inspektionsvorrichtung
JPH11351827A (ja) * 1998-06-10 1999-12-24 Fuji Mach Mfg Co Ltd 画像処理装置
US6621924B1 (en) * 1999-02-26 2003-09-16 Sony Corporation Contour extraction apparatus, a method thereof, and a program recording medium
US6868175B1 (en) * 1999-08-26 2005-03-15 Nanogeometry Research Pattern inspection apparatus, pattern inspection method, and recording medium
US7796801B2 (en) * 1999-08-26 2010-09-14 Nanogeometry Research Inc. Pattern inspection apparatus and method
US7817844B2 (en) * 1999-08-26 2010-10-19 Nanogeometry Research Inc. Pattern inspection apparatus and method
US7415156B2 (en) 2000-01-28 2008-08-19 Carnegie Mellon University Parametric shape grammar interpreter
US6778699B1 (en) * 2000-03-27 2004-08-17 Eastman Kodak Company Method of determining vanishing point location from an image
WO2001078005A2 (en) 2000-04-11 2001-10-18 Cornell Research Foundation, Inc. System and method for three-dimensional image rendering and analysis
JP3776340B2 (ja) 2000-09-27 2006-05-17 エムヴイテック・ソフトウェア・ゲーエムベーハー 対象物認識システム及び方法
US7006694B1 (en) 2000-10-05 2006-02-28 Coreco Imaging, Inc. System and method for pattern identification
DE10157958B4 (de) 2000-11-29 2012-11-15 Omron Corp. Bildverarbeitungsverfahren und-vorrichtung
US6829384B2 (en) 2001-02-28 2004-12-07 Carnegie Mellon University Object finder for photographic images
JP4707249B2 (ja) * 2001-03-28 2011-06-22 Juki株式会社 部品位置検出方法及び装置
JP4199939B2 (ja) * 2001-04-27 2008-12-24 株式会社日立製作所 半導体検査システム
US6778688B2 (en) * 2001-05-04 2004-08-17 International Business Machines Corporation Remote authentication of fingerprints over an insecure network
US7217266B2 (en) * 2001-05-30 2007-05-15 Anderson R Rox Apparatus and method for laser treatment with spectroscopic feedback
US7190832B2 (en) 2001-07-17 2007-03-13 Amnis Corporation Computational methods for the segmentation of images of objects from background in a flow imaging instrument
JP3822468B2 (ja) * 2001-07-18 2006-09-20 株式会社東芝 画像処理装置及びその方法
US6845171B2 (en) * 2001-11-19 2005-01-18 Microsoft Corporation Automatic sketch generation
JP3780922B2 (ja) * 2001-11-30 2006-05-31 日産自動車株式会社 道路白線認識装置
JP3863014B2 (ja) * 2001-12-14 2006-12-27 株式会社東芝 物体検出装置及びその方法
US7636455B2 (en) * 2002-06-04 2009-12-22 Raytheon Company Digital image edge detection and road network tracking method and system
US7116823B2 (en) * 2002-07-10 2006-10-03 Northrop Grumman Corporation System and method for analyzing a contour of an image by applying a Sobel operator thereto
US7110602B2 (en) * 2002-08-21 2006-09-19 Raytheon Company System and method for detection of image edges using a polar algorithm process
US7133572B2 (en) * 2002-10-02 2006-11-07 Siemens Corporate Research, Inc. Fast two dimensional object localization based on oriented edges
JP4206723B2 (ja) * 2002-10-11 2009-01-14 オムロン株式会社 画像処理方法および画像処理装置
US7400770B2 (en) * 2002-11-06 2008-07-15 Hrl Laboratories Method and apparatus for automatically extracting geospatial features from multispectral imagery suitable for fast and robust extraction of landmarks
US7927278B2 (en) * 2002-12-13 2011-04-19 California Institute Of Technology Split-screen display system and standardized methods for ultrasound image acquisition and multi-frame data processing
US7236632B2 (en) * 2003-04-11 2007-06-26 Ricoh Company, Ltd. Automated techniques for comparing contents of images
US7983446B2 (en) 2003-07-18 2011-07-19 Lockheed Martin Corporation Method and apparatus for automatic object identification
US7500511B2 (en) 2003-09-24 2009-03-10 Magneco/Metrel, Inc. Molding composition and method of use
US7324661B2 (en) 2004-04-30 2008-01-29 Colgate-Palmolive Company Computer-implemented system and method for automated and highly accurate plaque analysis, reporting, and visualization
JP4327654B2 (ja) 2004-05-10 2009-09-09 シャープマニファクチャリングシステム株式会社 画像処理方法および画像処理装置ならびに画像処理プログラムおよび画像処理プログラムを記録した記録媒体
WO2006002320A2 (en) 2004-06-23 2006-01-05 Strider Labs, Inc. System and method for 3d object recognition using range and intensity
JP4328692B2 (ja) 2004-08-11 2009-09-09 国立大学法人東京工業大学 物体検出装置
JP2006260527A (ja) 2005-02-16 2006-09-28 Toshiba Corp 画像マッチング方法およびこれを用いた画像補間方法
WO2006114003A1 (en) 2005-04-27 2006-11-02 The Governors Of The University Of Alberta A method and system for automatic detection and segmentation of tumors and associated edema (swelling) in magnetic resonance (mri) images
WO2006127608A2 (en) 2005-05-23 2006-11-30 Nextcode Corporation Efficient finder patterns and methods for application to 2d machine vision problems
US7689016B2 (en) 2005-05-27 2010-03-30 Stoecker & Associates, A Subsidiary Of The Dermatology Center, Llc Automatic detection of critical dermoscopy features for malignant melanoma diagnosis
EP1897033A4 (de) 2005-06-16 2015-06-24 Strider Labs Inc System und verfahren zur erkennung in 2d-bildern mittels 3d-klassenmodellen
JP2007018269A (ja) 2005-07-07 2007-01-25 Nippon Telegr & Teleph Corp <Ntt> 映像中の動き確率計算方法、映像中の動き確率マップ計算方法、変化検出方法、及びプログラム
US20070165966A1 (en) 2005-07-15 2007-07-19 Yissum Research Development Co. Closed form method and system for matting a foreground object in an image having a background
JP4634250B2 (ja) * 2005-08-08 2011-02-16 Juki株式会社 矩形部品の画像認識方法及び装置
US7400414B2 (en) * 2005-10-31 2008-07-15 Mitutoyo Corporation Hand-size structured-light three-dimensional metrology imaging system and method
JP4248558B2 (ja) * 2006-03-24 2009-04-02 トヨタ自動車株式会社 道路区画線検出装置
US7831098B2 (en) 2006-11-07 2010-11-09 Recognition Robotics System and method for visual searching of objects using lines
DE102006062061B4 (de) 2006-12-29 2010-06-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computerprogramm zum Bestimmen einer Position basierend auf einem Kamerabild von einer Kamera
CN101231755B (zh) * 2007-01-25 2013-03-06 上海遥薇(集团)有限公司 运动目标跟踪及数量统计方法
JP4306744B2 (ja) 2007-03-01 2009-08-05 ソニー株式会社 生体認証装置
WO2008123584A1 (ja) 2007-04-04 2008-10-16 Sony Corporation 生体認証装置
US8063889B2 (en) 2007-04-25 2011-11-22 Honeywell International Inc. Biometric data collection system
US8675951B2 (en) 2007-05-11 2014-03-18 Three Pixels Wide Pty Ltd. Method and system for generating a 3D model
CN101358936B (zh) * 2007-08-02 2011-03-16 同方威视技术股份有限公司 一种利用双视角多能量透射图像进行材料识别的方法及系统
US8237935B2 (en) 2007-10-23 2012-08-07 Gii Acquisition, Llc Method and system for automatically inspecting parts and for automatically generating calibration data for use in inspecting parts
JP4627782B2 (ja) * 2008-03-05 2011-02-09 株式会社日立ハイテクノロジーズ エッジ検出方法、及び荷電粒子線装置
JP2009252959A (ja) * 2008-04-04 2009-10-29 Toshiba Corp パターン検査装置、パターン検査方法および半導体装置の製造方法
US8385644B2 (en) * 2008-07-08 2013-02-26 Zeitera, Llc Digital video fingerprinting based on resultant weighted gradient orientation computation
US8363973B2 (en) 2008-10-01 2013-01-29 Fuji Xerox Co., Ltd. Descriptor for image corresponding point matching
JP2010092199A (ja) 2008-10-07 2010-04-22 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
JP5645842B2 (ja) 2008-12-11 2014-12-24 アイマックス コーポレイション スケールスペースを使用した画像処理装置及び方法
JP5429869B2 (ja) * 2008-12-22 2014-02-26 株式会社 Ngr パターン検査装置および方法
US8442304B2 (en) 2008-12-29 2013-05-14 Cognex Corporation System and method for three-dimensional alignment of objects using machine vision
US8774498B2 (en) 2009-01-28 2014-07-08 Xerox Corporation Modeling images as sets of weighted features
JP5035284B2 (ja) * 2009-03-25 2012-09-26 株式会社日本自動車部品総合研究所 車両周辺表示装置
US9400769B2 (en) * 2009-08-06 2016-07-26 Hewlett-Packard Development Company, L.P. Document layout system
US8121618B2 (en) 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
CN102763123B (zh) 2009-12-02 2015-03-25 高通股份有限公司 通过使查询图像和模型图像中的检测到的关键点成群集而进行特征匹配
US8861853B2 (en) * 2010-03-19 2014-10-14 Panasonic Intellectual Property Corporation Of America Feature-amount calculation apparatus, feature-amount calculation method, and program
US8805083B1 (en) * 2010-03-21 2014-08-12 Jeffrey M. Sieracki System and method for discriminating constituents of image by complex spectral signature extraction
US8565536B2 (en) * 2010-04-01 2013-10-22 Microsoft Corporation Material recognition from an image
WO2011155161A1 (ja) 2010-06-11 2011-12-15 パナソニック株式会社 画像処理装置および画像処理方法
JP2012027617A (ja) 2010-07-21 2012-02-09 Canon Inc パターン識別装置、パターン識別方法及びプログラム
JP5597056B2 (ja) * 2010-08-02 2014-10-01 株式会社キーエンス 画像測定装置、画像測定方法及び画像測定装置用のプログラム
WO2012036306A1 (ja) 2010-09-17 2012-03-22 日本電気株式会社 携帯物領域抽出装置、携帯物領域抽出方法、及び、携帯物領域抽出プログラム
RU2458396C1 (ru) 2011-07-19 2012-08-10 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ редактирования статических цифровых комбинированных изображений, включающих в себя изображения нескольких объектов
US9179035B2 (en) 2011-07-19 2015-11-03 Samsung Electronics Co., Ltd. Method of editing static digital combined images comprising images of multiple objects
JP5783567B2 (ja) 2011-10-12 2015-09-24 国立大学法人鳥取大学 直線検出装置、直線検出方法、直線検出プログラム及び撮影システム
JP5743849B2 (ja) 2011-10-27 2015-07-01 株式会社日立製作所 映像解析装置及びシステム
US9122952B2 (en) * 2011-12-23 2015-09-01 Cognex Corporation Methods and apparatus for one-dimensional signal extraction
JP2013196308A (ja) 2012-03-19 2013-09-30 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラムおよび記録媒体
US9946947B2 (en) * 2012-10-31 2018-04-17 Cognex Corporation System and method for finding saddle point-like structures in an image and determining information from the same
JP2014092922A (ja) 2012-11-02 2014-05-19 Tottori Univ 検出装置、検出方法及び検出プログラム
JP2014149788A (ja) 2013-02-04 2014-08-21 Nippon Telegr & Teleph Corp <Ntt> 物体領域境界推定装置、物体領域境界推定方法及び物体領域境界推定プログラム
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
CN103390280B (zh) * 2013-07-26 2016-02-24 无锡信捷电气股份有限公司 基于灰度-梯度二维对称Tsallis交叉熵的快速阈值分割方法
US9269012B2 (en) 2013-08-22 2016-02-23 Amazon Technologies, Inc. Multi-tracker object tracking
CN103440654B (zh) * 2013-08-27 2016-08-10 南京大学 一种lcd异物缺陷检测方法
JP6209069B2 (ja) 2013-11-26 2017-10-04 日本電信電話株式会社 境界検出装置、境界検出方法及びコンピュータプログラム
CN103793880B (zh) * 2014-03-04 2016-09-21 山东科技大学 一种结构自适应和结构保持的图像局部扭曲方法
US20150324689A1 (en) 2014-05-12 2015-11-12 Qualcomm Incorporated Customized classifier over common features
AU2015261891A1 (en) 2014-05-23 2016-10-13 Ventana Medical Systems, Inc. Systems and methods for detection of biological structures and/or patterns in images
CN104008553B (zh) * 2014-06-17 2017-03-22 武汉武大卓越科技有限责任公司 融合影像梯度信息和分水岭方法的裂缝检测方法
CN106157283A (zh) 2015-04-01 2016-11-23 株式会社理光 道路分割物的检测方法和装置
DE102016009030B4 (de) 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
CN105260699B (zh) 2015-09-10 2018-06-26 百度在线网络技术(北京)有限公司 一种车道线数据的处理方法及装置
DE102016120775A1 (de) 2015-11-02 2017-05-04 Cognex Corporation System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem
JP6463593B2 (ja) 2015-11-02 2019-02-06 コグネックス・コーポレイション ビジョンシステムでラインを検出するためのシステム及び方法
US10235623B2 (en) 2016-02-12 2019-03-19 Adobe Inc. Accurate tag relevance prediction for image search
US10248124B2 (en) 2016-07-21 2019-04-02 Mobileye Vision Technologies, Inc. Localizing vehicle navigation using lane measurements
US10878574B2 (en) 2018-02-21 2020-12-29 Topcon Corporation 3D quantitative analysis of retinal layers with deep learning

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399892A (zh) * 2018-04-24 2019-11-01 北京京东尚科信息技术有限公司 环境特征提取方法和装置
CN110399892B (zh) * 2018-04-24 2022-12-02 北京京东尚科信息技术有限公司 环境特征提取方法和装置

Also Published As

Publication number Publication date
US20190378254A1 (en) 2019-12-12
JP7297018B2 (ja) 2023-06-23
JP6934026B2 (ja) 2021-09-08
CN107424160A (zh) 2017-12-01
US11854173B2 (en) 2023-12-26
US20210183032A1 (en) 2021-06-17
US10902568B2 (en) 2021-01-26
CN112927249A (zh) 2021-06-08
CN107424160B (zh) 2021-01-19
JP2019079553A (ja) 2019-05-23
US10152780B2 (en) 2018-12-11
US20170236258A1 (en) 2017-08-17
JP2021184307A (ja) 2021-12-02

Similar Documents

Publication Publication Date Title
DE102016120775A1 (de) System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem
DE102017220307B4 (de) Vorrichtung und Verfahren zum Erkennen von Verkehrszeichen
DE60114469T2 (de) Methode und Gerät zur Bestimmung von interessanten Bildern und zur Bildübermittlung
DE102013112040B4 (de) System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus
DE102013210478A1 (de) Geometrische vorkorrektur zur automatischen nummernschilderkennung
DE102012209316A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Sensordaten eines Stereosensorsystems
DE102015122116A1 (de) System und Verfahren zur Ermittlung von Clutter in einem aufgenommenen Bild
DE102021107333A1 (de) 3d-stellungsabschätzung mit einer 2d-kamera
DE102015207903A1 (de) Vorrichtung und Verfahren zum Erfassen eines Verkehrszeichens vom Balkentyp in einem Verkehrszeichen-Erkennungssystem
DE102017116853A1 (de) System und Verfahren zur automatischen Auswahl von 3D-Ausrichtungsalgorithmen in einem Sehsystem
DE112010002677T5 (de) Verfahren und vorrichtung zum bestimmen einer formübereinstimmung in drei dimensionen
EP3931798B1 (de) Schätzung der bewegung einer bildposition
DE112021003775T5 (de) Informationsverarbeitungsvorrichtung und informationsverarbeitungsverfahren
DE102016201741A1 (de) Verfahren zur Höhenerkennung
DE102008056868B3 (de) Lasererfassungsvorrichtung und Lasererfassungsverfahren
DE112019006414T5 (de) Vorrichtung und Verfahren zur Detektion von Menschen
DE102019115224A1 (de) System und verfahren zum auffinden und klassifizieren von linien in einem bild mittels eines schichtsystems
DE212022000040U1 (de) Logistikmanagementsystem auf der Basis eines zweidimensionalen Codes
EP3123393B1 (de) Verfahren zur optischen erkennung von zeichen
DE112021002781T5 (de) Verfahren und Apparate zum Erzeugen von Punktwolkenhistogrammen
DE102016125758B4 (de) Systeme und Verfahren zum Schätzen der Modulationsübertragungsfunktion in einem Optiksystem
DE112022001773T5 (de) Systeme und Verfahren zur Bestimmung eines adaptiven Bereichs von Interesse (ROI) für die Berechnung von Bildmetriken
DE112005000513T5 (de) Verfahren und Vorrichtung zum Bestimmen der Winkelstellung eines Objektes
WO2016131812A1 (de) Mobilgerät zum erfassen eines textbereiches auf einem identifikationsdokument
DE102020209080A1 (de) Bildverarbeitungssystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06T0007130000

Ipc: G06K0007100000

R082 Change of representative

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

R016 Response to examination communication
R082 Change of representative

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