-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung betrifft Systeme zum maschinellen Sehen.
-
HINTERGRUND
-
Bildgebungssysteme werden in Produktionsumgebungen verwendet, um stehende Komponenten automatisch zu untersuchen. Bildgebungssysteme streben danach, dreidimensionale Informationen (3D-Informationen) über ein Objekt in einem Sichtfeld für Qualitätsuntersuchungen, Nachbauten, Robotik und ähnliche Systeme zu ermitteln. Derartige Systeme setzen eine Strukturbeleuchtung als Teil eines Stereo-Bildgebungssystems ein, um Licht auf ein Sichtfeld zu projizieren, digitale Bilder eines Objekts in dem Sichtfeld aufzunehmen und um geometrische Verfahren und Dekodierungstechniken anzuwenden, um Bildtiefen bzw. Tiefenschärfen unter Verwendung der digitalen Bilder zu berechnen.
-
Die Druckschrift „A Novel Approach for Edge Detection of Images“ in International Conference on Computer and Automation Engineering, 2009, 49-53 offenbart einen K-Means-Algorithmus zur Kantenerkennung von Graustufenbildern unter Verwendung von künstlichen Bildattributen wie etwa Mittelwert und Standardabweichung von Pixelintensitätswerten.
-
In der Druckschrift
US 7 254 268 B2 ist eine Objektextraktion offenbart, bei der aus einer Videosequenz ein oder mehrere Objekte extrahiert werden, die verwendet werden, um eine neue Videosequenz zu erstellen, wobei die Objekte in einen gewählten Hintergrund integriert werden und/oder eine gewählte Audioaufzeichnung hinzugefügt wird, um die neue Videosequenz zu erstellen.
-
Die Druckschrift „A Comparative Analysis of Thresholding and Edge Detection Segmentation Techniques“ in International Journal of Computer Applications, 39, 2012, 15, 29-34 vergleicht Techniken zur Erkennung von Schwellenwerten und Kanten zur Bildsegmentierung.
-
In der Druckschrift „Local Threshold and Boolean Function Based Edge Detection“ in IEEE Transactions on Consumer Electronics, 45, 1999, 3, 674-679 werden zwei Techniken zur Kantenerkennung in Bildern kombiniert, um durch Rauschen verursachte Kanten aus den detektierten Kanten zu entfernen.
-
ZUSAMMENFASSUNG
-
Ein System zum maschinellen Sehen, das eine digitale Kamera enthält, kann verwendet werden, um ein Objekt in einem Sichtfeld zu untersuchen. Ein Verfahren zum Untersuchen des Objekts umfasst, dass mithilfe der digitalen Kamera ein ursprüngliches digitales Bild aufgenommen wird, das eine Vielzahl von Pixeln und zugehörigen Lichtintensitäten für das Sichtfeld umfasst, welches das Objekt enthält. Es wird eine Bitmap-Bilddatei für das ursprüngliche digitale Bild erzeugt, welche die Vielzahl von Pixeln und die zugehörigen Lichtintensitäten für das Blickfeld umfasst, welches das Objekt enthält. Unter Verwendung eines Controllers werden ein Mittelwert und eine Standardabweichung der Lichtintensitäten der Vielzahl von Pixeln der Bitmap-Bilddatei für das ursprüngliche digitale Bild dynamisch ermittelt. Es werden neue Bilddateien erzeugt, wobei jede neue Bilddatei einen Teil der Vielzahl von Pixeln mit zugehörigen Lichtintensitäten innerhalb eines vorgeschriebenen Bereichs von Lichtintensitäten enthält, der durch den Mittelwert und die Standardabweichung definiert ist. Aus jeder der neuen Bilddateien werden Liniensegmente extrahiert und die aus den neuen Bilddateien extrahierten Liniensegmente werden zusammengeführt und gruppiert, um auf deren Grundlage integrierte Linien zu erzeugen.
-
Die vorstehenden Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Lehren ergeben sich leicht aus der folgenden genauen Beschreibung einiger der besten Arten und anderer Ausführungsformen, um die vorliegenden Lehren auszuführen, wie sie in den beigefügten Ansprüchen definiert sind, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen wird.
-
Figurenliste
-
Es werden nun eine oder mehrere Ausführungsformen anhand von Beispielen mit Bezug auf die beiliegenden Zeichnungen beschrieben, in denen:
- 1 ein beispielhaftes System zum maschinellen Sehen in Übereinstimmung mit der Offenbarung schematisch veranschaulicht, welches einen Bilddetektor (eine Kamera), einen Kameracontroller und einen analytischen Controller umfasst;
- 2 eine Bildmerkmals-Erkennungsroutine in Übereinstimmung mit der Offenbarung schematisch zeigt, um Merkmale eines Objekts aus Bildern eines Sichtfelds (FOV) zu erkennen, die unter Verwendung einer Ausführungsform des mit Bezug auf 1 beschriebenen Systems zum maschinellen Sehen aufgenommen wurden;
- 3-1 ein Beispiel für ein digitales Bild, das aus einer Bitmap-Bilddatei für ein ursprüngliches digitales Bild, das von einem Objekt in einem FOV aufgenommen wurde, in Übereinstimmung mit der Offenbarung schematisch zeigt;
- 3-2 ein neues digitales Bild zeigt, das eine erste Bilddatei visuell anzeigt, die aus der Bitmap-Bilddatei für das ursprüngliche digitale Bild, das für das mit Bezug auf 3-1 gezeigte Objekt erzeugt wurde, in Übereinstimmung mit der Offenbarung hergeleitet wurde;
- 3-3 ein weiteres neues digitales Bild zeigt, das eine zweite Bilddatei visuell anzeigt, die aus der Bitmap-Bilddatei für das ursprüngliche digitale Bild, das für das mit Bezug auf 3-1 gezeigte Objekt erzeugt wurde, in Übereinstimmung mit der Offenbarung hergeleitet wurde;
- 3-4 ein weiteres neues digitales Bild zeigt, das eine dritte Bilddatei visuell anzeigt, die aus der Bitmap-Bilddatei für das ursprüngliche digitale Bild, das für das mit Bezug auf 3-1 gezeigte Objekt erzeugt wurde, in Übereinstimmung mit der Offenbarung hergeleitet wurde;
- 3-5 ein weiteres neues digitales Bild zeigt, das eine vierte Bilddatei visuell anzeigt, die aus der Bitmap-Bilddatei für das ursprüngliche digitale Bild, das für das mit Bezug auf 3-1 gezeigte Objekt erzeugt wurde, in Übereinstimmung mit der Offenbarung hergeleitet wurde;
- 3-6 ein weiteres neues digitales Bild zeigt, das eine fünfte Bilddatei visuell anzeigt, die aus der Bitmap-Bilddatei für das ursprüngliche digitale Bild, das für das mit Bezug auf 3-1 gezeigte Objekt erzeugt wurde, in Übereinstimmung mit der Offenbarung hergeleitet wurde;
- 3-7 die Bitmap-Bilddatei für das ursprüngliche digitale Bild zeigt, das für das mit Bezug auf 3-1 gezeigte Objekt erzeugt wurde, die eine Vielzahl von zusammengeführten und gruppierten Liniensegmenten enthält, die aus jedem der Bilder in 3-2 bis 3-6 in Übereinstimmung mit der Offenbarung extrahiert wurden;
- 4 ein erstes Liniensegment, das aus dem Bild extrahiert wurde, das mit Bezug auf 3-2 gezeigt ist, und ein zweites Liniensegment, das aus dem Bild extrahiert wurde, das mit Bezug auf 3-3 gezeigt ist, graphisch zeigt, um einen Verarbeitungsschritt des Zusammenführens von sich nicht schneidenden Liniensegmenten in Übereinstimmung mit der Offenbarung zu erläutern, wenn die Liniensegmente proximal und bis zu einem gewissen Grad parallel sind; und
- 5 ein drittes Liniensegment, das aus dem Bild extrahiert wurde, das mit Bezug auf 3-2 gezeigt wurde, und ein viertes Liniensegment, das aus dem Bild extrahiert wurde, das mit Bezug auf 3-3 gezeigt wurde, graphisch zeigt, um einen Verarbeitungsschritt des Gruppierens von sich schneidenden Liniensegmenten in Übereinstimmung mit der Offenbarung zu erläutern.
-
GENAUE BESCHREIBUNG
-
Mit Bezug nun auf die Zeichnungen, bei denen die Darstellungen nur zur Veranschaulichung bestimmter beispielhafter Ausführungsformen und nicht zur Begrenzung derselben dienen, veranschaulicht 1 auf schematische Weise ein beispielhaftes System 100 zum maschinellen Sehen mit einer Bildaufzeichnungsvorrichtung (einer Kamera) 10, die mit einem analytischen Controller 60 signaltechnisch verbunden ist.
-
Die Kamera 10 ist vorzugsweise eine Aufzeichnungsvorrichtung für digitale Bilder, die zum Aufnehmen eines zweidimensionalen Bilds (2D-Bilds) 15 eines Sichtfelds (FOV) 35 in der Lage ist. Als Definition ist ein Bild eine beliebige visuell wahrnehmbare Darstellung, die ein Sichtfeld repräsentiert. Ein Bild kann in einer Ausführungsform das gesamte oder einen Teil des reflektierten Lichts in dem Sichtfeld aus einem Spektrum des sichtbaren Lichts umfassen, einschließlich einer Grauskala-Reflektion, einer Rot-Grün-Blau-Reflektion (RGB-Reflektion), einer Schwarz-Weiß-Reflektion oder einer beliebigen anderen geeigneten oder wünschenswerten Reflektion. Vorzugsweise wird ein Bild aufgenommen und in einem nicht vorübergehenden Speichermedium aufgezeichnet, etwa in einem nicht vorübergehenden digitalen Datenspeichermedium oder einem fotografischen Film. Die Kamera 10 arbeitet in Ansprechen auf ein Auslösesignal und öffnet ihre Blende für eine voreingestellte Blendenzeit, die einer bevorzugten Belichtungszeit zugeordnet ist. In einer Ausführungsform kann das Auslösesignal eine Impulsbreite von mindestens 1 µs aufweisen. Die Blendengeschwindigkeit der Kamera enthält eine Verzögerungszeit in der Größenordnung von kleiner als 10 µs. Die voreingestellte Blendenzeit wird für eine geeignete Belichtungszeit eingestellt. Nachdem die Kamera 10 die Blende geschlossen hat, kann es eine Verzögerung in der Größenordnung 1 ms zur Aufnahme von Daten geben, nach welcher die Daten an den analytischen Controller 60 übertragen werden. Die Datenübertragungszeit an den analytischen Controller 60 beträgt etwa 30 ms und sie ist mit Bezug auf das Kameramodell, welches eine vorbestimmte Bildaufnahme- und Übertragungsrate bzw. -geschwindigkeit (Rahmen pro Sekunde) aufweist, eine festgelegte Größe. Daher beträgt bei einer Ausführungsform die Gesamtzykluszeit vom Starten des Auslösers bis zum Ende der Datenübertragung weniger als 40 ms.
-
Die Kamera 10 kann sich relativ zu dem FOV 35 an einer beliebigen Position und in einer beliebigen Orientierung befinden. In einer Ausführungsform umfasst das FOV 35 ein Objekt 40, das auf einer beweglichen Ebene 45 orientiert ist, die sich bei einer vorbestimmten Distanz 22 von der Kamera 10 befindet. Das Objekt 40 ist eine strukturelle Entität mit Merkmalen, die unter anderem beispielsweise räumliche Dimensionen, Materialien und Oberflächenausführungen, die eine Reflektivität angeben, enthalten. In einer Ausführungsform kann das Objekt 40 eine Komponente oder eine Fläche auf einem Fahrzeug in einer Montageanlage sein.
-
In einer Ausführungsform ist das auf der beweglichen Ebene 45 orientierte Objekt 40 an einem ersten Transportsystem 42 montiert, das das Objekt 40 in einem linearen Pfad 41 mit einer bekannten Geschwindigkeitsrate transportiert und die Kamera 10 ist an einem zweiten Transportsystem 12 montiert, das diese in einem entsprechenden linearen Pfad mit der bekannten Geschwindigkeitsrate über eine festgelegte Distanz befördert. Der lineare Pfad 41, in welchem das Objekt 40 und die Kamera 10 transportiert werden, enthält das FOV 35.
-
In einer Ausführungsform ist das 2D-Bild 15 ein von der Kamera 10 aufgenommenes Grauskala-Bild in einer Bitmap-Bilddatei, die eine Vielzahl von Pixeln enthält, wobei jedes Pixel einen 8-Bit-Wert aufweist, der einen Grauskalawert repräsentiert. Die Bitmap-Bilddatei repräsentiert das FOV 35. Andere Ausführungsformen des 2D-Bilds 15 können ein 2D-Farbbild umfassen, das durch eine Hue-Saturation-Intensity (HSI-Triplets) oder Rot-, Grün- und Blau-Primärfarben (RGB-Primärfarben) des FOV 35 oder durch andere Bildrepräsentationen ohne Einschränkung dargestellt ist. Die Kamera 10 enthält einen Bildaufnahmesensor, der mit dem Kameracontroller 20 signaltechnisch verbunden ist, welcher eine digitale Signalverarbeitung (DSP) auf dem 2D-Bild 15 ausführt. Der Bildaufnahmesensor nimmt eine Vielzahl von Pixeln in dem FOV 35 mit einer vorbestimmten Auflösung auf und der Kameracontroller 20 erzeugt eine Bitmap-Bilddatei 25 des FOV 5, beispielsweise eine 8-Bit-Bitmap der Pixel, die das FOV 35 repräsentieren, mit einer vordefinierten Auflösung, welche an den analytischen Controller 60 übermittelt wird. Die Bitmap-Bilddatei 25 ist eine codierte Datendatei, die in einer Ausführungsform in einem nicht vorübergehenden digitalen Datenspeichermedium gespeichert wird. Die Bitmap-Bilddatei 25 enthält eine digitale Repräsentation des 2D-Bilds 15, die ein oder eine Vielzahl von Objekten 40 enthalten kann und ein ursprüngliches Bild des FOV 35 repräsentiert, das mit der ursprünglichen Auflösung der Kamera 10 aufgenommen wurde. Der Bildaufnahmesensor der Kamera 10 nimmt das 2D-Bild 15 des FOV 35 als eine Vielzahl von Pixeln mit einer Standarddefinitions-Nennauflösung auf, beispielsweise mit 640x480 Pixel. Alternativ kann der Bildaufnahmesensor der Kamera 10 das 2D-Bild 15 mit einer Hochdefinitions-Nennauflösung aufnehmen, beispielsweise mit 1440x1024 Pixel oder mit einer anderen geeigneten Auflösung. Der Bildaufnahmesensor der Kamera 10 nimmt vorzugsweise das 2D-Bild 15 in der Form eines oder mehrerer Standbilder mit der vorbestimmten Bildaufnahme- und Übertragungsrate der Kamera 10 auf. Das 2D-Bild 15 wird zur Speicherung und Analyse in dem analytischen Controller 60 in die Bitmap-Bilddatei 25 umgewandelt.
-
Controller, Steuerungsmodul, Modul, Steuerung, Steuerungseinheit, Prozessor und ähnliche Begriffe bezeichnen eine beliebige oder verschiedene Kombinationen aus einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASICs), elektronischen Schaltungen, zentralen Verarbeitungseinheiten (vorzugsweise Mikroprozessoren) mit zugehörigem Arbeitsspeicher und Massenspeicher (Festwertspeicher, programmierbarer Festwertspeicher, Speicher mit wahlfreiem Zugriff, Festplattenlaufwerk usw.), die ein oder mehrere Software- oder Firmwareprogramme oder Routinen ausführen, kombinatorischen Logikschaltungen, Eingabe/Ausgabe-Schaltungen und Vorrichtungen, geeigneten Signalaufbereitungs- und Pufferschaltungen und anderen Komponenten zum Bereitstellen der beschriebenen Funktionalität, die Datenspeicherung und Datenanalyse umfasst. Software, Firmware, Programme, Anweisungen, Routinen, Code, Algorithmen und ähnliche Begriffe bezeichnen beliebige von einem Controller ausführbare Anweisungssätze mit Kalibrierungen und Nachschlagetabellen.
-
2 zeigt auf schematische Weise eine Bildmerkmals-Erkennungsroutine 200 zum Erkennen von Merkmalen eines Objekts aus Bildern, die unter Verwendung einer Ausführungsform des Systems 100 zum maschinellen Sehen, das mit Bezug auf
1 beschrieben ist, aufgenommen wurden, welches eine Bildaufzeichnungsvorrichtung (eine Kamera) 10 enthält, die mit einem analytischen Controller 60 signaltechnisch verbunden ist, um Bilder eines Objekts 40 aufzunehmen. Tabelle 1 wird als Schlüssel bereitgestellt, wobei die numerisch beschrifteten Blöcke und die entsprechenden Funktionen entsprechend der Bildmerkmals-Erkennungsroutine 200 wie folgt offengelegt werden. Tabelle 1
BLOCK | BLOCKINHALTE |
210 | Ursprüngliches digitales Bild des FOV mit einem Objekt aufnehmen |
212 | Durchschnittliche Lichtintensität µ und Standardabweichung α für das ursprüngliche digitale Bild berechnen |
214 | Mehrere neue Bilddateien erzeugen, wobei jede neue Bilddatei einem Behälter zugeordnet ist, wobei Behälter (k) = µ + k*x*α für |
| k = -n bis n |
216 | Liniensegmente in jeder der neuen Bilddateien extrahieren |
218 | Extrahierte Liniensegmente in den neuen Bilddateien zusammenführen, um integrierte Linien für das ursprüngliche digitale Bild zu erzeugen |
220 | Extrahierte Liniensegmente in den neuen Bilddateien gruppieren, um integrierte Linien für das ursprüngliche digitale Bild zu erzeugen |
222 | Integrierte Linien exportieren |
-
Die Bildmerkmals-Erkennungsroutine 200 wird wie folgt ausgeführt, um ein oder mehrere visuell unterscheidbare physikalische Merkmale aus einem ursprünglichen digitalen Bild, das ein interessierendes Objekt enthält, zu erkennen und digital zu extrahieren. Die Bildmerkmals-Erkennungsroutine 200 und Elemente derselben werden vorzugsweise periodisch ausgeführt, um Merkmale eines Objekts aus Bildern zu erkennen, die unter Verwendung einer Ausführungsform des Systems 100 zum maschinellen Sehen aufgenommen wurden. In einer Ausführungsform wird die Bildmerkmals-Erkennungsroutine 200 mit einer Rate bzw. Geschwindigkeit periodisch ausgeführt, die kleiner als 1 Sekunde ist. Die Begriffe dynamisch und auf dynamische Weise beschreiben, so wie sie hier verwendet werden, Schritte oder Prozesse, die in Echtzeit ausgeführt werden und die sich dadurch auszeichnen, dass Zustände von Parametern überwacht oder auf andere Weise ermittelt werden und die Zustände der Parameter während der Ausführung einer Routine oder zwischen Iterationen des Ausführens der Routine regelmäßig oder periodisch aktualisiert werden.
-
Ein ursprüngliches digitales Bild des FOV 35, das das Objekt enthält, wird mit der Bildaufnahme- und Übertragungsrate der Kamera 10 aufgenommen (210). 3-1 zeigt auf schematische Weise ein Beispiel für ein ursprüngliches digitales Bild 302, das aus einer Bitmap-Bilddatei erzeugt wurde, die von einem Objekt 304 in einem FOV 300 aufgenommen wurde. Das FOV 300 ist analog zu dem FOV 35, das mit Bezug auf 1 beschrieben wurde. Die Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 entspricht der Bitmap-Bilddatei 25, die mit Bezug auf 1 erzeugt wurde.
-
Wieder mit Bezug auf 2 liegt die Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 des FOV 300, das das Objekt 304 enthält, in der Form eines Grauskalenbilds mit 8-Bit mit einer Standarddefinitions-Auflösung des FOV 300 vor, z.B. mit 640x480 Pixel. Daher enthält die Bitmap-Bilddatei einen 8-Bit-Datenpunkt für jedes Pixel, der eine Lichtintensität repräsentiert, die auf einer Grauskala mit 8 Bit gemessen wurde, wobei ein Datenpunkt mit einem numerischen Wert zur Basis 10 von 0 oder mit einem binären Wert von 00000000 eine minimale Lichtintensität repräsentiert und ein Datenpunkt mit einem numerischen Wert zur Basis 10 von 255 oder mit einem binären Wert von 11111111 eine maximale Lichtintensität repräsentiert.
-
Die Daten in der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 werden statistisch analysiert, um eine durchschnittliche Lichtintensität µ und eine Standardabweichung α der Lichtintensität für die Pixel zu berechnen (212). Vorzugsweise wird diese statistische Analyse dynamisch ausgeführt, beispielsweise für jede Bitmap-Bilddatei, die von der Kamera 10 aufgenommen wird. Mehrere neue Bilddateien werden auf der Grundlage der statistischen Analyse der Lichtintensitätsdaten erzeugt, die in der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 enthalten sind, welche die durchschnittliche Lichtintensität µ und die Standardabweichung α umfassen, wobei jede der neuen Bilddateien einen Teil der Daten enthält, der auf der Grundlage einer Amplitude der Lichtintensität separiert wurde (214). Dies kann umfassen, dass eine Menge von n neuen Bildern erzeugt wird, wobei jedes der neuen Bilder Pixeln in der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 zugeordnet ist, die innerhalb eines vordefinierten Bereichs der Lichtintensität in Übereinstimmung mit der folgenden Gleichung liegen.
-
Für k = -n bis k = n
wobei k eine ganze Zahl ist und wobei x ein skalarer Faktor kleiner oder gleich 1,0 ist und kalibrierbar ist.
-
Dieser analytische Prozess wird verwendet, um 2n+1 neue digitale Bilder zu erzeugen, indem die Lichtintensitätsdaten in der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 in eine Vielzahl von Behältern BEHÄLTER(k) unter Verwendung eines Histogrammprozesses oder eines anderen geeigneten Datenanalyseprozesses aufgeteilt werden. Folglich erzeugt der analytische Prozess eine Vielzahl einseitiger Behälter. Bei einer Analyse von n=2 für +/-2 Standardabweichungen der Lichtintensität kann folglich ein erster Behälter (BIN(k= -2) denjenigen Teil der Lichtintensitätsdaten in der Bitmap-Bilddatei enthalten, der alle Pixel mit einer Lichtintensität enthält, die größer als ein Schwellenwert von µ - 2*x*α ist, ein zweiter Behälter BEHÄLTER(k= -1) kann denjenigen Teil der Bitmap-Bilddatei enthalten, der alle Pixel mit einer Lichtintensität enthält, die größer als ein Schwellenwert von µ - 1*x*a ist, usw. In jeder der neuen Bitmap-Bilddateien werden die Pixel in dem ursprünglichen digitalen Bild 302, die herausfallen, d.h. die kleiner als der entsprechende Schwellenwert sind, auf einen Wert von 0 verändert, d.h. geschwärzt. Es ist festzustellen, dass der skalare Faktor x ein beliebiger wählbarer, kalibrierbarer Wert sein kann, und dass die Anzahl der neuen digitalen Bilder, die erzeugt und analysiert werden, darauf beruht.
-
3-2 bis 3-6 zeigen jeweils ein neues digitales Bild, das aus der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 hergeleitet wurde, welches für das mit Bezug auf 3-1 gezeigte Objekt 304 erzeugt wurde, wobei jedes der neuen Bilder Pixeln in der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 zugeordnet ist, die innerhalb eines vordefinierten Bereichs der Lichtintensität liegen, wie mit Bezug auf Schritt 114 beschrieben ist. Als Beispiel sind fünf Bilder gezeigt für k= - 2, k= -1, k = 0, k = 1 und k = 2.
-
3-2 zeigt ein neues digitales Bild 322, das eine erste Bilddatei visuell zeigt, die aus der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 hergeleitet wurde, welches für das mit Bezug auf 3-1 gezeigte Objekt 304 erzeugt wurde, die alle Pixel mit einer Lichtintensität enthält, die größer als µ - 2*x*α ist. Extrahierte Liniensegmente 324, die aus diesem neuen digitalen Bild 322 hergeleitet wurden, sind darauf überlagert.
-
3-3 zeigt ein weiteres neues digitales Bild 332, das eine zweite Bilddatei visuell zeigt, die aus der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 hergeleitet wurde, welches für das mit Bezug auf 3-1 gezeigte Objekt 304 erzeugt wurde, die alle Pixel mit einer Intensität enthält, die größer als µ - 1*x*α ist. Aus diesem neuen digitalen Bild 332 hergeleitete extrahierte Liniensegmente 334 sind darauf überlagert.
-
3-4 zeigt ein weiteres neues digitales Bild 342, das eine dritte Bilddatei visuell zeigt, die aus der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 hergeleitet wurde, welches für das mit Bezug auf 3-1 gezeigte Objekt 304 erzeugt wurde, die alle Pixel mit einer Lichtintensität enthält, die größer als µ ist. Extrahierte Liniensegmente 344, die aus diesem neuen digitalen Bild 342 hergeleitet wurden, sind darauf überlagert.
-
3-5 zeigt ein weiteres neues digitales Bild 352, das eine vierte Bilddatei visuell zeigt, die aus der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 hergeleitet wurde, welches für das mit Bezug auf 3-1 gezeigte Objekt 304 erzeugt wurde, die alle Pixel mit einer Lichtintensität enthält, die größer als µ + 1 *x*α ist. Extrahierte Liniensegmente 354, die aus diesem neuen digitalen Bild 352 hergeleitet wurden, sind darauf überlagert.
-
3-6 zeigt ein weiteres neues digitales Bild 362, das eine fünfte Bilddatei visuell zeigt, die aus der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 hergeleitet wurde, das für das mit Bezug auf 3-1 gezeigte Objekt 304 erzeugt wurde, die alle Pixel mit einer Lichtintensität enthält, die größer als µ + 2*x*α ist. Extrahierte Liniensegmente 364, die aus diesem neuen digitalen Bild 362 hergeleitet wurden, sind darauf überlagert. Der skalare Faktor x, der einer Änderung der Lichtintensität zugeordnet ist, um die neuen Bilddateien zu erzeugen, kann anwenderdefiniert sein oder automatisch so eingestellt werden, dass er ein Drittel der Standardabweichung von der durchschnittlichen Intensität beträgt. In einer Ausführungsform werden insgesamt 5 oder 7 Bilder mit einem variierenden Lichtintensitätswert erzeugt, was die Extraktion einer großen Gruppe von Linien ermöglicht, die verwendet werden können, um lange Begrenzungslinien und kurze markante Merkmale des Objekts zu erkennen, das durch die Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 angezeigt ist.
-
Wieder mit Bezug auf 2 werden Liniensegmente aus jedem der neuen Bilder unter Verwendung bekannter Kantendetektionstechniken extrahiert (216). Bekannte Kantendetektionstechniken umfassen ein auf Gradienten beruhendes Verfahren wie etwa einen Laplace-Operator, einen Canny-Kantendetektor und eine Euklidische Distanz sowie einen Vektorwinkel zur Kantendetektion in Farbbildern. Jedes Liniensegment ist mit einer Kante aus dem Kantendetektionsschritt verbunden. Die extrahierten Liniensegmente repräsentieren Kanten des Objekts in jedem der neuen Bilder. Aufgrund von rauschbehafteten und verschiedenen Lichtintensitätsniveaus können die Start- und Endpositionen eines jeden Liniensegments in jedem der Bilder leicht unterschiedlich sein. Wenn alle Bilder zusammengeführt werden, gibt es viele parallele Liniensegmente. Wenn daher ein Liniensegment eines der Liniensegmente 324 ist, die aus dem Bild 322 in 3-2 extrahiert wurden, ist es wahrscheinlich, dass ein analoges Liniensegment an einer ähnlichen Position in den Liniensegmenten 334, 344 und 354 gefunden werden kann, die aus den Bildern 332, 342 und 352 extrahiert wurden, welche mit Bezug auf 3-3, 3-4 bzw. 3-5 gezeigt sind.
-
Wieder mit Bezug auf 2 werden diejenigen extrahierten Liniensegmente 324, 334, 344, 354 und 364, die aus den Bildern 322, 332, 342, 352 und 362 hergeleitet wurden, die mit Bezug auf 3-2 bis 3-6 gezeigt sind, welche sich überlappen, quasi-parallel oder proximal zueinander sind, ohne sich zu schneiden, einer Zusammenführung unterzogen (218), indem die erkannten Liniensegmente kombiniert werden, um integrierte Liniensegmente mit höherer Pixeldichte zu erzeugen, welche der Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 zugeordnet sind. Wenn alle Bilder zusammengeführt sind, kann es viele parallele Liniensegmente geben. Wenn beispielsweise ein Liniensegment im Bild 322 erkannt wird, ist es wahrscheinlich, dass analoge Liniensegmente an ähnlichen Positionen in den Bildern 332, 342, 352 und 362 erkannt werden können.
-
4 zeigt auf graphische Weise ein erstes Liniensegment L1 410 und ein zweites Liniensegment L2 420 zur Erläuterung des Zusammenführens von sich nicht schneidenden Liniensegmenten, wenn die Liniensegmente proximal zueinander und bis zu einem bestimmten Grad parallel sind. Das erste Liniensegment L1 410 ist eines der Liniensegmente 324, die aus dem mit Bezug auf 3-2 gezeigten Bild 322 extrahiert wurden, und das zweite Liniensegment L2 420 ist eines der Liniensegmente 334, die aus dem mit Bezug auf 3-3 gezeigten Bild 332 extrahiert wurden. Das Liniensegment L1 weist zwei Endpunkte (P1 422, P2 412) auf und das Liniensegment L2 420 ist analog durch zwei Endpunkte (P3 421, P4 422) positioniert.
-
Es können vier Euklidische Distanzwerte d
1 401, d
2 402, d
3, 403 und d
4 404 zwischen Paaren der zwei Endpunkte (P
1 411, P
3 421), (P
1 411, P
4 422), (P
2 412, P
3 421), (P
2 412, P
4 422) berechnet werden, aus denen die zwei Liniensegmente L
1 410 und L
2 420 berechnet werden. Eine Distanz D
parallel paralleler Linien kann wie folgt berechnet werden.
-
Die Distanz Dparallel paralleler Linien ist eine durchschnittliche Distanz von zwei minimalen Distanzen von zwei der Endpunkte. Zusätzlich kann ein Minimalwert min(d3, d4) als vorheriger Distanzmesswert am Endpunkt P2 411 der Linie L1 410 berechnet werden. Wenn sich die zwei Linien L1 410 und L2 420 exakt überlagern, dann ist die Distanz Dparallel zwischen parallelen Linien gleich Null. Wenn sich die zwei Linien nicht überlagern, dann ist die Distanz viel größer als bei dem überlagerten Fall, wenn sie eine ziemlich ähnliche Länge aufweisen. Diese Eigenschaft kann leicht erkannt werden, wenn die zwei Linien parallel sind. Wenn die Distanz Dparallel paralleler Linien kleiner als 10 % der Länge des kleineren der zwei Liniensegmente ist, werden das Liniensegment L1 410 und das Liniensegment L2 420 zusammengeführt, um ein einziges Liniensegment zu bilden (218). Wenn die Distanz Dparallel zwischen parallelen Linien kleiner als 50 % der Länge des kleineren der zwei Liniensegmente ist, d.h. parallel benachbarte Liniensegmente, wird das Liniensegment L1 410 verlängert und mit dem Liniensegment L2 420 zusammengeführt, um ein einziges Liniensegment zu bilden. Das Zusammenführen paralleler Linien wird auf rekursive Weise durchgeführt.
-
Wieder mit Bezug auf 2 werden extrahierte Liniensegmente 324, 334, 344 und 354, die aus den Bildern 322, 332, 342 und 352 hergeleitet wurden, welche mit Bezug auf 3-2 bis 3-5 gezeigt sind, die sich schneiden oder überlappen, einer Gruppierung unterzogen (220) um integrierte Linien für die Bitmap-Bilddatei für das ursprüngliche digitale Bild 302 zu erzeugen.
-
5 zeigt auf graphische Weise ein drittes Liniensegment L3 510 und ein viertes Liniensegment L4 520, um das Gruppieren von sich schneidenden Liniensegmenten zu erläutern. Das dritte Liniensegment L3 510 ist eines der Liniensegmente 324, die aus dem Bild 322 extrahiert wurden, das mit Bezug auf 3-2 gezeigt ist, und das vierte Liniensegment L4 520 ist eines der Liniensegmente 334, die aus dem Bild 332 extrahiert wurden, das mit Bezug auf 3-3 gezeigt ist. Das dritte Liniensegment L3 510 weist zwei Endpunkte (P1 511, P2 512) auf, und das vierte Liniensegment L4 520 ist analog durch zwei Endpunkte (P3 521, P4 522) positioniert. Für das dritte Liniensegment L3 510 und das vierte Liniensegment L4 520 kann ein Schnittpunkt Pc 525 berechnet werden und ein neues gruppiertes Liniensegment 530, das aus den Punkten P1 511, Pc 525 und P3 521 besteht, kann erzeugt werden, wie in 5 gezeigt ist. Die Gruppierung von Liniensegmenten wird auf rekursive Weise ausgeführt, bis alle sich schneidenden Linien miteinander gruppiert, verbunden und zusammengefasst sind. Auf diese Weise werden viele kleine Liniensegmente, die sich schneiden, so kombiniert werden, dass sie lange gruppierte und verbundene Liniensegmente sind, die integrierte Liniensegmente genannt werden. Integrierte Liniensegmente können zum Erkennen von markanten Merkmalen an dem Objekt verwendet werden.
-
3-7 zeigt ein digitales Bild 372, das das ursprüngliche digitale Bild 302 enthält, das für das Objekt 304 erzeugt wurde, das mit Bezug auf 3-1 gezeigt ist, wobei die extrahierten Liniensegmente 324, 334, 344, 354 und 364, die aus den Bildern hergeleitet wurden, die mit Bezug auf 3-2 bis 3-6 gezeigt sind, darauf überlagert sind. Dichte Liniensegmente entstehen aus den überlagerten extrahierten Liniensegmenten 324, 334, 344, 354 und 364, die eine Begrenzungslinie für das Objekt anzeigen und außerdem markante Merkmale anzeigen. Das Detektieren von Kanten in einer Reihe von Bildern mit variierenden Lichtintensitätsniveaus erleichtert die Kantenextraktion. Die überlagerten extrahierten Liniensegmente 324, 334, 344, 354 und 364 wurden einem Zusammenführen und Gruppieren unterzogen.
-
Wieder mit Bezug auf 2 können die integrierten Linien exportiert werden (222) zur Verwendung durch andere Steuerungsroutinen und Algorithmen, welche Untersuchungsroutinen umfassen. Die integrierten Linien können verwendet werden, um Begrenzungslinien und markante Merkmale an dem Objekt zu erkennen, wodurch das Objekt detektiert wird, indem seine Gestalt und Qualität nachgezeichnet werden. Markante Merkmale umfassen diejenigen Merkmale in den Bildern, die weniger empfindlich für Variationen bei der Lichtintensität sind, d.h. unter variierenden Lichtbedingungen sichtbar sind. Folglich sind markante Merkmale diejenigen Merkmale, die in einer Vielzahl von Bildern mit variierender Lichtintensität konsistent vorhanden sind. Markante Merkmale können verwendet werden, um Komponentenbegrenzungslinien, Kanten oder andere Elemente zu erkennen, die verwendet werden können, um eine Komponente in dem FOV zu lokalisieren und sie zu bewerten. Als Beispiel können erkannte Objektmerkmale verwendet werden, um die Gestalt eines Symbols und die Qualität eines Symbols zu erkennen und zu unterscheiden. Es hat sich gezeigt, dass das Zusammenführen und Gruppieren von integrierten Liniensegmenten in der Lage ist, technische Probleme mit Bezug auf unsichere Lokalisierungen von Merkmalen zu überwinden, welche durch signaltechnisch verrauschte Bilder verursacht werden können. Die Ergebnisse des Zusammenführens und Gruppierens können die Robustheit der Merkmalserkennung erhöhen, ohne dass eine massive Berechnungszeit anfällt. In einer Ausführungsform betrug die Gesamtberechnungszeit zum Verarbeiten von drei Bildern weniger als 700 ms. Dieses Verfahren wird in Echtzeitanwendungen verwendet werden, um markante Merkmale und Umrisse für zuverlässige Untersuchungsergebnisse zu erkennen.
-
Die genaue Beschreibung und die Zeichnungen oder Figuren unterstützen und beschreiben die vorliegenden Lehren, aber der Umfang der vorliegenden Lehren wird nur durch die Ansprüche definiert. Obwohl einige der besten Arten und andere Ausführungsformen zum Ausführen der vorliegenden Lehren im Detail beschrieben wurden, existieren verschiedene alternative Konstruktionen und Ausführungsformen, um die vorliegenden Lehren, die in den beigefügten Ansprüchen definiert sind, in die Praxis umzusetzen.