-
Bereich der Erfindung
-
Die vorliegende Erfindung betrifft eine Punktwolkedaten-Verarbeitungsvorrichtung zum Extrahieren von Merkmalen an einem Objekt aus Punktwolkedaten desselben und zum automatischen Erzeugen eines dreidimensionalen Modells innerhalb einer kurzen Zeitdauer.
-
Beschreibung des Standes der Technik
-
Als ein Verfahren zur Erzeugung eines dreidimensionalen Modells aus Punktwolkedaten eines Objekts kann ein Verfahren des Verbindens benachbarter Punkte und Ausbildens eines Polygons verwendet werden. Zur Bildung von Polygonzügen von mehreren zehntausenden bis zehnmillionen von Punkten der Punktwolkedaten sind in diesem Fall beachtliche Verarbeitungszeiten erforderlich, wobei dies nicht sinnvoll ist. Im Hinblick darauf sind die folgenden technischen Maßnahmen beispielsweise in der
japanischen Patentoffenlegungsschrift (Übersetzung aus einer PCT-Anmeldung) Nr. 2000-509150 und den
japanischen Patentoffenlegungsschriften Nr. 2004-272459 und
2005-024370 offenbart. Bei diesen technischen Maßnahmen werden lediglich dreidimensionale Merkmale (Kanten und Flächen) aus den Punktwolkedaten extrahiert bzw. herausgegriffen, und es werden die dreidimensionalen Polylinien (Mehrfachlinien) automatisch erzeugt.
-
In der in der
japanischen Patentoffenlegungsschrift (Übersetzung der PCT-Anmeldung) Nr. 2000-509150 offenbarten Erfindung tastet eine Abtastlasereinrichtung ein dreidimensionales Objekt ab und erzeugt Punktwolken. Die Punktwolke wird aufgeteilt in eine Gruppe von Kantenpunkten und eine Gruppe von Nicht-Kantenpunkten, auf der Basis von Änderungen in der Tiefe und Normallinien der abgetasteten Punkte. Jede Gruppe wird zu einer ursprünglichen geometrischen Zeichnung zusammengesetzt, und die zusammengesetzten geometrischen Originalzeichnungen werden erweitert und miteinander gekreuzt, wobei das dreidimensionale Modell erzeugt wird.
-
Gemäß der in der
japanischen Patentoffenlegungsschrift Nr. 2004-272459 offenbarten Erfindung werden Segmente (dreieckige Polygonzüge) aus Punktwolkedaten gebildet, und es werden Kanten und Flächen auf der Basis der Kontinuität, der Richtung der Normallinien oder des Abstands benachbarter Polygonzüge gebildet (Stetigkeit). Danach werden die Punktwolkedaten jedes Segments in eine Flächengleichung oder Kurvengleichung mittels der Methode der kleinsten Quadrate umgewandelt und wird hinsichtlich der Flächigkeit und der Krümmung in Gruppen aufgeteilt, wobei ein dreidimensionales Modell erzeugt wird.
-
Gemäß der in der
japanischen Patentoffenlegungsschrift Nr. 2005-024370 offenbarten Erfindung werden zweidimensionale quadratische Bereiche für dreidimensionale Punktwolkedaten eingestellt, und es werden synthetisierte Normalvektoren der gemessenen Punkte in den quadratischen Bereichen erhalten. Sämtliche der gemessenen Punkte in dem quadratischen Bereich werden um eine Drehung versetzt, so dass die synthetisierten Normalvektoren einer z-Achsenrichtung entsprechen. Die Standardabweichung σ des z-Werts jedes der gemessenen Punkte in dem quadratischen Bereich wird berechnet. Überschreitet sodann die Standardabweichung σ einen vorbestimmten Wert, dann wird der gemessene Punkt, der der Mittelpunkt in dem quadratischen Bereich entspricht, als ein Rauschen verarbeitet.
-
Offenbarung der Erfindung
-
In diesem Zusammenhang liegt der vorliegenden Erfindung die Aufgabe zu Grunde, eine Technik zum Extrahieren von Merkmalen eines Objekts aus Punktwolkedaten desselben und automatischen Erzeugen eines dreidimensionalen Modells in einer kurzen Zeit bereitzustellen.
-
In der Erfindung gemäß Patentanspruch 1 stellt die vorliegende Erfindung eine Punktwolkedaten-Verarbeitungsvorrichtung bereit mit einer Nicht-Fläche-Entfernungseinheit, einer Flächenkennzeichnungseinheit, einer Dreidimensionale-Kanten-Extraktionseinheit, einer Zweidimensionale-Kanten-Extraktionseinheit und einer Kanten-Integriereinheit. Die Nicht-Fläche-Entfernungseinheit entfernt Punkte in Nicht-Fläche-Bereichen aus den Punktwolkedaten eines Objekts. Die Flächenkennzeichnungseinheit fügt identische Kennzeichen zu Punkten in derselben Fläche hinzu außer den Punkten, die von der Nicht-Fläche-Entfernungseinheit entfernt worden sind, um die Punktwolkedaten in Flächen zu segmentieren. Die Dreidimensionale-Kanten-Extraktionseinheit extrahiert dreidimensionale Kanten auf der Basis von zumindest einer der Schnittlinien der segmentierten Flächen und konvexen Linien, die die segmentierten Flächen konvex umfassen. Die Zweidimensionale-Kanten-Extraktionseinheit extrahiert zweidimensionale Kanten von innerhalb der segmentierten Flächen. Die Kantenintegriereinheit integriert die dreidimensionalen Kanten und die zweidimensionalen Kanten.
-
Gemäß der in Patentanspruch 1 angegebenen Erfindung werden Merkmale des Objekts aus den Punktwolkedaten desselben extrahiert bzw. herausgegriffen, und es wird in automatischer Weise und in kurzer Zeitdauer ein dreidimensionales Modell gebildet. Die Merkmale des Objekts bestehen aus dreidimensionalen Kanten und zweidimensionalen Kanten. Die dreidimensionalen Kanten bilden primär dreidimensionale Bilder, und die zweidimensionalen Kanten bilden Abbildungen innerhalb ebener Flächen und gekrümmter Flächen (die nachstehend vereinfacht als „Flächen” bezeichnet werden). Die dreidimensionalen Kanten sind Schnittlinien der Flächen, die zueinander hinsichtlich ihrer Position und ihrer Richtung unterschiedlich sind, und sind äußere Kanten oder Außenkanten jeder Fläche. Die zweidimensionalen Kanten sind Punkte und Linien, bei denen sich die Farbdichte plötzlich in einer Fläche ändert. Die dreidimensionalen Kanten bilden die Konturen des Objekts. Die Konturen sind kombinierte Linien (Umrisslinien), die eine bessere Form des Objekts bilden und die erforderlich sind zum visuellen Erfassen des Aussehens des Objekts. Hierbei sind speziell die Konturen gebogene Bereiche und Bereiche, bei denen sich die Krümmungen plötzlich vermindern. Die Konturen sind nicht nur außerhalb von Rahmenbereichen, sondern ebenfalls Kantenbereiche, die in konvexer Weise hervortretende Bereiche bezeichnen, und die in konkaver Weise vertiefte oder zurückgesetzte Bereiche (beispielsweise gerillte oder gefurchte Bereiche) bezeichnen. Gemäß den Konturen werden die sogenannten „Linienfiguren” erhalten, und es wird ein Bild zur Anzeige gebracht, das auf einfache Weise das Erfassen des Aussehens des Objekts ermöglicht. Tatsächliche Konturen existieren an Grenzen zwischen den Flächen und an den Kantenbereichen, wobei jedoch gemäß der vorliegenden Erfindung diese Bereiche als Nicht-Fläche-Bereiche von den Punktwolkedaten entfernt werden. Daher werden beispielsweise die Konturen durch Berechnen der Schnittlinien der segmentierten Flächen und der konvexen Linien erhalten.
-
In der Erfindung gemäß Patentanspruch 2 nach der Erfindung gemäß Patentanspruch 1 kann die Punktwolkedaten-Verarbeitungsvorrichtung ferner eine Normallinien-Berechnungseinheit enthalten. Die Normallinien-Berechnungseinheit berechnet die lokalen Flächen, die jeden Punkt der Punktwolkedaten in der Mitte aufweisen, und berechnet Normallinien der lokalen Flächen.
-
Entsprechend der Erfindungen nach Patentanspruch 2 werden die Punkte in derselben Fläche auf der Basis der Richtung der Normallinien jedes Punkts der Punktwolkedaten extrahiert bzw. herausgegriffen, wobei die Punkte der Punktwolkedaten in Flächen segmentiert werden.
-
In der Erfindung nach Anspruch 3 gemäß der Erfindung nach Anspruch 2 kann die Punktwolkedaten-Verarbeitungsvorrichtung ferner eine Lokalkrümmung-Berechnungseinheit aufweisen. Die Lokalkrümmung-Berechnungseinheit berechnet eine Standardabweichung von drei Achsenkomponenten der Normallinien und eine Quadratwurzel der Summe der Quadrate der Standardabweichung, und berechnet auf diese Weise eine lokale Krümmung.
-
Gemäß der Erfindung, wie sie in Anspruch 3 angegeben ist, werden die Punkte der Nicht-Fläche-Bereiche auf der Basis von Änderungen der Normallinie (lokale Krümmung) jedes Punkts der Punktwolkedaten entfernt.
-
In der Erfindung gemäß Patentanspruch 4 nach der Erfindung entsprechend den Angaben in Anspruch 3 kann die Nicht-Fläche-Entfernungseinheit die Punkte der Nicht-Fläche-Bereiche auf der Basis der lokalen Krümmung entfernen.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 4 werden Punkte der Nicht-Fläche-Bereiche einschließlich scharfer dreidimensionaler Kanten, sanfter dreidimensionaler Kanten, und eines Rauschens entfernt. Die scharfen dreidimensionalen Kanten werden erzeugt durch Änderungen der Richtungen der Flächen, und es werden die sanften dreidimensionalen Kanten durch gekrümmte Flächen mit großen lokalen Krümmungen erzeugt.
-
In der Erfindung gemäß Patentanspruch 5 nach der Erfindung gemäß den Angaben in Patentanspruch 2 kann die Nicht-Fläche-Entfernungseinheit Punkte der Nicht-Fläche-Bereiche auf der Basis einer Genauigkeit des Passens der Punkte zu den lokalen Flächen entfernen.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 5 werden Punkte der Nicht-Fläche-Bereiche einschließlich eines Rauschens und dreidimensionaler Kanten, die durch Einschließen erzeugt werden, entfernt. Das „Einschließen” ist eine Bedingung, bei der die inneren Bereiche durch vordere Bereiche verdeckt werden und nicht sichtbar sind. Somit ist die Passgenauigkeit einer lokalen Fläche beispielsweise ein Mittelwert der Abstände (Entfernungen) zwischen einer lokalen Fläche und jedem Punkt, der zur Berechnung der lokalen Fläche verwendet wird. Die mittels des Einschließens erzeugten dreidimensionalen Kanten umfassen Punkte der inneren Bereiche und der vorderen Bereiche, in welchen die dreidimensionalen Positionen erheblich unterschiedlich sind. Gemäß der Passgenauigkeit (Genauigkeit des Zusammenpassens) der lokalen Flächen werden daher die Punkte der Nicht-Fläche-Bereiche einschließlich des Rauschens und derartiger dreidimensionaler Kanten entfernt.
-
In der Erfindung gemäß Patentanspruch 6 nach der Erfindung entsprechend den Angaben in Patentanspruch 2 kann die Nicht-Fläche-Entfernungseinheit die Punkte der Nicht-Fläche-Bereiche auf der Basis der Koplanarität eines Zielpunkts und des benachbarten Punkts entfernen.
-
Weisen gemäß der Erfindung und den Angaben in Patentanspruch 6 ein Zielpunkt und ein benachbarter Punkt eine Koplanarität auf, dann kreuzen sich eine Normallinie jedes Punkts und eine Segmentlinie zur Verbindung dieser Punkte in rechten Winkeln, und ein inneres Produkt derselben ist Null. Entsprechend dieser Bedingung werden Punkte der Nicht-Fläche-Bereiche einschließlich des Rauschens und scharfe dreidimensionale Kanten, die durch Änderungen der Richtungen der Flächen erzeugt werden, entfernt.
-
In der Erfindung gemäß Patentanspruch 7 nach der Erfindung entsprechend den Angaben in Patentanspruch 2 kann die Flächenkennzeichnungseinheit identische Kennzeichen den Punkten in derselben Fläche auf der Basis einer Winkeldifferenz der Normallinien eines Zielpunkts und eines benachbarten Punkts hinzufügen.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 7 werden die Punkte der Punktwolkedaten in Flächen aufgeteilt (segmentiert).
-
In der Erfindung gemäß Patentanspruch 8 nach der Erfindung entsprechend den Angaben in Patentanspruch 1 kann die Punktwolkedaten-Verarbeitungsvorrichtung ferner eine Rauschen-Entfernungseinheit aufweisen, die Rauschen auf der Grundlage von Bereichen der segmentierten Flächen entfernt.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 8 werden lediglich Flächen extrahiert bzw. herausgegriffen, die das Objekt charakterisieren.
-
In der Erfindung gemäß Patentanspruch 9 nach der Erfindung entsprechend den Angaben in Patentanspruch 1 kann die Punktwolkedaten-Verarbeitungseinheit ferner eine Kennzeichenerstreckungseinheit aufweisen, die Kennzeichnungen der nächstliegenden Flächen zu anderen Punkten hinzufügt als den gekennzeichneten Punkten, um die gekennzeichneten Flächen zu erweitern bzw. zu erstrecken.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 9 werden Kennzeichnungen zu den Punkten, die die Flächen bilden, zu den Punkten der Nicht-Fläche-Bereiche als nächstes zu den Flächen hinzugefügt. Daher werden die dreidimensionalen Kanten auf der Basis zumindest einer der Schnittlinien der segmentierten Flächen und der konvexen Linien, die die segmentierten Flächen konvex umfassen, extrahiert.
-
In der Erfindung gemäß Patentanspruch 10 nach den Angaben zur Erfindung in Patentanspruch 1 können die Punktwolkedaten Daten sein, in welchen dreidimensionale Koordinaten jedes Punkts mit zweidimensionalen Bildern verknüpft sind.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 10 findet die Technik der Bildverarbeitung Anwendung zum Extrahieren zweidimensionaler Kanten, die schwierig zu erhalten sind, wenn lediglich dreidimensionale Koordinaten extrahiert werden.
-
In der Erfindung nach Patentanspruch 11 gemäß der Erfindung entsprechend den Angaben in Patentanspruch 10 kann die Zweidimensionale-Kanten-Extraktionseinheit zweidimensionale Kanten von innerhalb Bereichen der zweidimensionalen Bilder, die den segmentierten Flächen zugeordnet sind bzw. entsprechen, extrahieren.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 11 werden die dreidimensionalen Kanten, die primär dreidimensionale Formen bilden, entfernt, und lediglich die zweidimensionalen Kanten, die Fig. in den Flächen bilden, werden extrahiert.
-
In der Erfindung gemäß Patentanspruch 12 nach der Erfindung entsprechend den Angaben in Patentanspruch 10 kann die Zweidimensionale-Kanten-Extraktionseinheit zweidimensionale Kanten von innerhalb von Bereichen der zweidimensionalen Bilder, die den segmentierten Flächen zugeordnet sind, extrahieren. Ferner kann die Zweidimensionale-Kanten-Extraktionseinheit zweidimensionale Kanten auf der Basis dreidimensionaler Positionen der dreidimensionalen Kanten in der Umgebung der zweidimensionalen Kanten identifizieren.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 12 werden die aus den zweidimensionalen Bildern extrahierten dreidimensionalen Positionen der zweidimensionalen Kanten auf der Basis dreidimensionaler Positionen der dreidimensionalen Kanten identifiziert, die die äußeren Kanten der Flächen bilden.
-
In der Erfindung gemäß Patentanspruch 13 nach der Erfindung entsprechend den Angaben in Patentanspruch 1 kann die Punktwolkedaten-Verarbeitungsvorrichtung ferner eine Rotationsemissionseinheit, eine Abstandsmesseinheit, eine Emissionsrichtungsmesseinheit und eine Dreidimensionale-Koordinaten-Berechnungseinheit aufweisen. Die Rotationsemissionseinheit emittiert in rotierender Weise Entfernungsmesslicht auf das Objekt. Die Abstandsmesseinheit misst einen Abstand (Entfernung) von der Punktwolkedaten-Verarbeitungsvorrichtung zu einem Zielpunkt auf dem Objekt auf der Basis der Laufzeit des Entfernungsmessungslichts. Die Emissionsrichtungsmesseinheit misst die Emissionsrichtung des Entfernungsmessungslichts. Die Dreidimensionale-Koordinaten-Berechnungseinheit berechnet dreidimensionale Koordinaten des Zielpunkts auf der Basis des Abstands (Entfernung) und der Emissionsrichtung.
-
Gemäß der vorliegenden Erfindung nach den Angaben in Patentanspruch 13 werden Punktwolkedaten erhalten, die aus dreidimensionalen Koordinaten gebildet sind.
-
In der Erfindung gemäß Patentanspruch 14 nach der Erfindung entsprechend den Angaben in Patentanspruch 1 kann die Punktwolkedaten-Verarbeitungseinheit ferner eine Gitterbildungseinheit aufweisen. Die Gitterbildungseinheit bildet ein Gitter mit gleichen Abständen und registriert die nächstliegenden Punkte auf den Schnittpunkten des Gitters, wenn Abstände bzw. Entfernungen zwischen den Punkten der Punktwolkedaten nicht konstant sind.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 14 werden die Abstände oder Entfernungen zwischen den Punkten der Punktwolkedaten korrigiert.
-
In der Erfindung gemäß Patentanspruch 15 nach den Angaben zur Erfindung in Patentanspruch 13 kann die Punktwolkedaten-Verarbeitungsvorrichtung ferner eine Bildgebungseinheit und eine Verknüpfungsbildungseinheit aufweisen. Die Bildgebungseinheit nimmt ein Bild des Objekts auf und gewinnt bzw. erzeugt ein zweidimensionales Bild. Die Verknüpfungsbildungseinheit erzeugt Punktwolkedaten durch Verknüpfen der dreidimensionalen Koordinaten des Zielpunkts mit dem zweidimensionalen Bild.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 15 werden die dreidimensionalen Kanten, die die dreidimensionale Form bilden, auf der Basis der dreidimensionalen Koordinaten extrahiert. Ferner werden die zweidimensionalen Kanten (Punkte und Linien, bei den sich die Farbdichte plötzlich ändert), die die Fig. innerhalb der Flächen bilden, auf der Basis des zweidimensionalen Bilds extrahiert.
-
In der Erfindung nach Patentanspruch 16 entsprechend der Erfindung nach den Angaben in Patentanspruch 1 kann die Punktwolkedaten-Verarbeitungsvorrichtung ferner eine Fotografiereinheit, eine Merkmalspunkt-Abgleicheinheit, eine Fotografierpositions- und Richtungsmesseinheit und eine Dreidimensionale-Koordinaten-Berechnungseinheit aufweisen. Die Fotografiereinheit nimmt ein Bild des Objekts in überlappenden Fotografierbereichen aus verschiedenen Richtungen auf. Die Merkmalspunkt-Abgleicheinheit gleicht Merkmalspunkte in überlappenden Bildern ab, die durch die Fotografiereinheit erhalten wurden. Die Fotografierpositions- und Richtungsmesseinheit misst die Position und die Richtung der Fotografiereinheit. Die Dreidimensionale-Koordinaten-Berechnungseinheit berechnet die dreidimensionalen Koordinaten der Merkmalspunkte auf der Basis der Position und der Richtung der Fotografiereinheit und der Positionen der Merkmalspunkte in den überlappenden Bildern.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 16 werden aus den dreidimensionalen Koordinaten gebildete Punktwolkedaten erhalten.
-
In der Erfindung gemäß Patentanspruch 17 stellt die vorliegende Erfindung des Weiteren ein Punktwolkedaten-Verarbeitungsprogramm bereit, das es einem Computer erlaubt, die folgenden Schritte zu verarbeiten. Die Schritte umfassen einen Nicht-Fläche-Entfernungsschritt, einen Flächenkennzeichnungsschritt, einen Dreidimensionale-Kanten-Extraktionsschritt, einen Zweidimensionale-Kanten-Extraktionsschritt und einen Kantenintegrierschritt. In dem Nicht-Fläche-Entfernungsschritt werden Punkte der Nicht-Fläche-Bereiche aus den Punktwolkedaten eines Objekts entfernt. In dem Flächenkennzeichnungsschritt werden identische Kennzeichnungen zu Punkten in derselben Fläche außer den Punkten, die durch den Nicht-Fläche-Entfernungsschritt entfernt worden sind, hinzugefügt zum Segmentieren der Punktwolkedaten in Flächen. In dem Dreidimensionale-Kanten-Extraktionsschritt werden dreidimensionale Kanten auf der Basis zumindest einer der Schnittlinien der segmentierten Flächen und der konvexen Linien extrahiert, die die segmentierten Flächen konvex umfassen. In dem Zweidimensionale-Kanten-Extraktionsschritt werden zweidimensionale Kanten von innerhalb der segmentierten Flächen extrahiert. In dem Kantenintegrierschritt werden die dreidimensionalen Kanten und die zweidimensionalen Kanten integriert.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 17 werden Merkmale des Objekts aus den Punktwolkedaten desselben extrahiert, und es wird in automatischer Weise innerhalb einer kurzen Zeitdauer ein dreidimensionales Modell gebildet.
-
In der Erfindung gemäß Patentanspruch 18 stellt die vorliegende Erfindung ebenfalls ein Punktwolkedaten-Verarbeitungsverfahren bereit einschließlich eines Nicht-Fläche-Entfernungsschritts, eines Flächenkennzeichnungsschritts, eines Dreidimensionale-Kanten-Extraktionsschritts, eines Zweidimensionale-Kanten-Extraktionsschritts und eines Kantenintegrierschritts. In dem Nicht-Fläche-Entfernungsschritt werden Punkte eines Nicht-Fläche-Bereichs von den Punktwolkedaten eines Objekts entfernt. In dem Flächenkennzeichnungsschritt werden identische Kennzeichnungen den Punkten in derselben Fläche außer den Punkten, die durch den Nicht-Fläche-Entfernungsschritt entfernt worden, sind, hinzugefügt zum Segmentieren der Punktwolkedaten in Flächen. In dem Dreidimensionale-Kanten-Extraktionsschritt werden dreidimensionale Kanten auf der Basis zumindest einer der Schnittlinien der segmentierten Flächen und der konvexen Linien extrahiert, die die segmentierten Flächen konvex umfassen. in dem Zweidimensionale-Kanten-Extraktionsschritt werden zweidimensionale Kanten von innerhalb der segmentierten Flächen extrahiert. In dem Kantenintegrierschritt werden dreidimensionale Kanten und zweidimensionale Kanten integriert.
-
Gemäß der Erfindung nach den Angaben in Patentanspruch 18 werden Merkmale des Objekts aus den Punktwolkedaten des Objekts extrahiert, und es wird automatisch und innerhalb einer kurzen Zeitdauer ein dreidimensionales Modell gebildet.
-
In der Erfindung gemäß Patentanspruch 19 stellt die vorliegende Erfindung ebenfalls eine Punktwolkedaten-Verarbeitungsvorrichtung bereit einschließlich einer Nicht-Fläche-Entfernungseinheit, einer Flächenkennzeichnungseinheit, einer Dreidimensionale-Kanten-Extraktionseinheit, einer Zweidimensionale-Kanten-Extraktionseinheit und einer Kantenintegriereinheit. Die Nicht-Fläche-Entfernungseinheit entfernt Punkte der Nicht-Fläche-Bereiche aus den Punktwolkedaten eines Objekts. Die Flächenkennzeichnungseinheit addiert identische Kennzeichnungen zu Punkten in denselben Flächen außer den Punkten, die durch die Nicht-Fläche-Entfernungseinheit entfernt wurden, zum Segmentieren der Punktwolkedaten in Flächen. Die Dreidimensionale-Kanten-Extraktionseinheit extrahiert zumindest eine der Schnittlinien der segmentierten Flächen und der konvexen Linien, die die segmentierten Flächen konvex umfassen, als dreidimensionale Kanten. Die Zweidimensionale-Kanten-Extraktionseinheit extrahiert zweidimensionale Kanten von innerhalb der segmentierten Flächen. Die Kantenintegriereinheit integriert die dreidimensionalen Kanten und die zweidimensionalen Kanten.
-
In der Erfindung gemäß Patentanspruch 20 stellt die vorliegende Erfindung ebenfalls eine Punktwolkedaten-Verarbeitungsvorrichtung bereit einschließlich einer Nicht-Fläche-Entfernungseinheit, einer Flächenkennzeichnungseinheit, einer Dreidimensionale-Kontur-Extraktionseinheit, einer Zweidimensionale-Kontur-Extraktionseinheit und Konturintegriereinheit. Die Nicht-Fläche-Entfernungseinheit entfernt Punkte der Nicht-Fläche-Bereiche aus den Punktwolkedaten eines Objekts. Die Flächenkennzeichnungseinheit addiert identische Kennzeichnungen zu Punkten in denselben Flächen außer den Punkten, die durch die Nicht-Fläche-Entfernungseinheit entfernt wurden, zum Segmentieren der Punktwolkedaten in Flächen. Die Dreidimensionale-Kontur-Extraktionseinheit extrahiert dreidimensionale Konturen des Objekts auf der Basis von zumindest einer von Schnittlinien der segmentierten Flächen und konvexen Linien, die die segmentierten Flächen konvex umfassen. Die Zweidimensionale-Kontur-Extraktionseinheit extrahiert zweidimensionale Konturen von innerhalb der segmentierten Flächen. Die Konturintegriereinheit integriert die dreidimensionalen Konturen und die zweidimensionalen Konturen.
-
In der Erfindung gemäß Patentanspruch 21 stellt die vorliegende Erfindung ferner eine Punktwolkedaten-Verarbeitungseinheit bereit einschließlich einer Nicht-Fläche-Entfernungseinheit, einer Flächenextraktionseinheit und. einer Dreidimensionale-Form-Extraktionseinheit. Die Nicht-Fläche-Entfernungseinheit entfernt Punkte der Nicht-Fläche-Bereiche aus den Punktwolkedaten eines Objekts. Die Flächenextraktionseinheit addiert identische Kennzeichnungen zu Punkten in derselben Fläche außer den Punkten, die durch die Nicht-Fläche-Entfernungseinheit entfernt worden sind, und extrahiert eine Vielzahl von Flächen, die das Objekt bilden. Die Dreidimensionale-Form-Extraktionseinheit extrahiert dreidimensionale Formen des Objekts auf der Basis der Vielzahl der Flächen.
-
Wirkungen der Erfindung
-
Gemäß der vorliegenden Erfindung werden Merkmale eines Objekts aus Punktwolkedaten desselben extrahiert, und es wird ein dreidimensionales Modell in automatischer Weise und innerhalb einer kurzen Zeitdauer erzeugt.
-
Kurze Beschreibung der Figuren
-
1 ist ein Blockdiagramm einer Punktwolkedaten-Verarbeitungsvorrichtung.
-
2 ist ein Ablaufdiagramm zur Veranschaulichung eines Verarbeitungsablaufs einer Verarbeitungseinheit.
-
3 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Intensitätsbilds (nvx) von Normalvektoren in einer x-Achsenrichtung.
-
4 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Intensitätsbilds (nvy) von Normalvektoren in einer y-Achsenrichtung.
-
5 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Intensitätsbilds (nvz) von Normalvektoren in einer z-Achsenrichtung.
-
6 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Krümmungsbilds (stdnvx) in einer x-Achsenrichtung.
-
7 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Krümmungsbilds (stdnvy) in einer y-Achsenrichtung.
-
8 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Krümmungsbilds (stdnvz) in einer z-Achsenrichtung.
-
9 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Lokalkrümmungsbilds (crv).
-
10 ist eine grafische Darstellung zur Veranschaulichung von Abständen zwischen einer lokalen Fläche und Punkten zur Verwendung für die Berechnung der lokalen Fläche.
-
11 ist eine veranschaulichende Darstellung zur Beschreibung eines Verfahrens zur Verarbeitung der Koplanarität.
-
12 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Ergebnisses des Nicht-Fläche-Entfernens in einem zweidimensionalen Raum.
-
13 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Ergebnisses des Nicht-Fläche-Entfernens in einem dreidimensionalen Raum.
-
14 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Ergebnisses des Nicht-Fläche-Entfernens aus einer unterschiedlichen Richtung gegenüber derjenigen von 13.
-
15 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Ergebnisses einer Flächenkennzeichnung in einem zweidimensionalen Raum.
-
16 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Ergebnisses einer Flächenkennzeichnung in einem dreidimensionalen Raum.
-
17 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Ergebnisses des Entfernens von Rauschen.
-
18 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Ergebnisses einer Kennzeichnungserstreckung in einem zweidimensionalen Raum.
-
19 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung eines Ergebnisses einer Kennzeichnungserstreckung in einem dreidimensionalen Raum.
-
20 ist eine grafische Darstellung zur Veranschaulichung von Bereichen, bei denen zwei benachbarte Flächen einander schneiden.
-
21 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung von dreidimensionalen Kanten, die aus Schnittlinien zweier benachbarter Flächen gebildet werden.
-
22 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung von dreidimensionalen Kanten, auf der Basis konvexer Linien.
-
23 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung zu extrahierender zweidimensionaler Kanten.
-
24 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung dreidimensionaler Kanten und zweidimensionaler Kanten in einem zweidimensionalen Raum und einem dreidimensionalen Raum.
-
25 ist eine Schnittansicht zur Veranschaulichung eines Aufbaus einer Punktwolkedaten-Verarbeitungsvorrichtung.
-
26 ist eine Schnittansicht zur Veranschaulichung eines Aufbaus einer Punktwolkedaten-Verarbeitungsvorrichtung.
-
27 ist ein Blockdiagramm einer Steuerungseinheit.
-
28 ist ein Blockdiagramm einer Verarbeitungseinheit.
-
29 ist eine Darstellung zur Veranschaulichung einer Verknüpfungsstruktur der dreidimensionalen Koordinaten und der zweidimensionalen Bilder der Punktwolkedaten.
-
30 ist eine grafische Darstellung zur Veranschaulichung von Punktwolkedaten, bei denen die Abstände zwischen den Punkten nicht konstant sind.
-
31 ist eine grafische Darstellung zur Veranschaulichung eines gebildeten Gitters.
-
32 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung einer Punktwolke, die registriert wurde auf Schnittpunkten eines Gitters in einem dreidimensionalen Raum.
-
33 ist eine Fotografie anstelle einer Zeichnung zur Veranschaulichung von Punktwolken, die registriert wurden auf Schnittpunkten eines Gitters in einem zweidimensionalen Raum.
-
34 ist ein Blockdiagramm zur Veranschaulichung des Aufbaus einer Punktwolkedaten-Verarbeitungsvorrichtung.
-
35 ist ein Blockdiagramm zur Veranschaulichung einer Verarbeitungseinheit.
-
36A zeigt eine scharfe dreidimensionale Kante einer geraden Linie, 36B zeigt eine sanfte dreidimensionale Kante einer geraden Linie, 36C zeigt eine scharfe dreidimensionale Kante einer gekrümmten Linie und 36D zeigt eine sanfte dreidimensionale Kante einer gekrümmten Linie.
-
37 ist eine Schnittdarstellung einer sanften dreidimensionalen Kante.
-
38A bis 38C sind Konzeptdarstellungen zur Veranschaulichung einer Funktion zur Berechnung einer konvexen Linie.
-
Beschreibung der Bezugszeichen
-
- Bezugszeichen 1 bezeichnet eine Punktwolkedaten-Verarbeitungsvorrichtung, 2 bezeichnet Punktwolkedaten, 3 bezeichnet eine Dateneingabeeinheit, 4 bezeichnet eine Verarbeitungseinheit, 5 bezeichnet einen Speicher, 6 bezeichnet einen Controller, 7 bezeichnet eine Anzeigeeinrichtung, 8 bezeichnet eine Datenausgabeeinheit, 9 bezeichnet eine Gitterbildungseinheit, 10 bezeichnet eine Flächenextraktionseinheit, 11 bezeichnet eine Dreidimensionale-Kanten-Extraktionseinheit, 12 bezeichnet eine Zweidimensionale-Kanten-Extraktionseinheit, 13 bezeichnet eine Kantenintegriereinheit, 14 bezeichnet eine Normallinien-Berechnungseinheit, 15 bezeichnet eine Lokalkrümmungs-Berechnungseinheit, 16 bezeichnet eine Nicht-Fläche-Entfernungseinheit, 17 bezeichnet eine Flächenkennzeichnungseinheit, 18 bezeichnet eine Rauschenentfernungseinheit, 19 bezeichnet eine Kennzeichnungserstreckungseinheit, 20 bezeichnet dreidimensionale Polylinien, 22 bezeichnet eine Nivelliereinheit, 23 bezeichnet einen Drehmechanismus (Rotationsmechanismus), 24 bezeichnet eine Abstandsmesseinheit, 25 bezeichnet eine Bildgebungseinheit, 26 bezeichnet eine Steuerungseinheit, 27 bezeichnet einen Hauptkörper, 28 bezeichnet eine Rotationsemissionseinheit, 29 bezeichnet eine Grundplatte, 30 bezeichnet ein unteres Gehäuse, 31 bezeichnet einen Stift, 32 bezeichnet eine Einstellungsschraube, 33 bezeichnet eine Ausdehnungsfeder, 34 bezeichnet einen Nivellierantriebsmotor, 35 bezeichnet ein Nivellierantriebsritzel, 36 bezeichnet ein zur Nivellierung angetriebenes Zahnrad, 37 bezeichnet einen Neigungssensor, 38 bezeichnet einen Horizontalrotationsantriebsmotor, 39 bezeichnet ein Horizontalrotationsantriebsritzel, 40 bezeichnet ein Horizontalrotationszahnrad, 41 bezeichnet einen Drehwellenteil, 42 bezeichnet eine Rotationsgrundplatte, 43 bezeichnet ein Lager, 44 bezeichnet einen Horizontalwinkelsensor, 45 bezeichnet ein Hauptgehäuse, 46 bezeichnet einen Linsentubus, 47 bezeichnet eine optische Achse, 48 bezeichnet einen Strahlensplitter, 49 und 50 bezeichnen optische Achsen, 51 bezeichnet eine Pulslaser-Lichtquelle, 52 bezeichnet einen perforierten Spiegel, 53 bezeichnet ein Strahlenmittelteil-Änderungs-Optiksystem, 54 bezeichnet einen Abstandsmessungs-Lichtempfänger, 55 bezeichnet einen Höheneinstellungs-Drehspiegel, 56 bezeichnet eine optische Achse des Flutlichts, 57 bezeichnet eine Fokusierlinse, 58 bezeichnet einen Bildsensor, 59 bezeichnet ein Flutlichtgehäuse, 60 bezeichnet einen Flanschteil, 61 bezeichnet eine Spiegelhalteplatte, 62 bezeichnet eine Drehwelle, 63 bezeichnet ein Höheneinstellungsgetriebe, 64 bezeichnet einen Höhensensor, 65 bezeichnet einen Höheneinstellungs-Antriebsmotor, 66 bezeichnet ein Antriebszahnrad, 67 bezeichnet eine Visiereinrichtung, 68 bezeichnet eine externe Speichereinrichtung, 69 bezeichnet eine Horizontalantriebseinheit, 70 bezeichnet eine Höhenantriebseinheit, 71 bezeichnet eine Nivellierantriebseinheit, 72 bezeichnet eine Abstandsdaten-Verarbeitungseinheit, 73 bezeichnet eine Bilddatenverarbeitungseinheit, 74 bezeichnet eine Dreidimensionale-Koordinaten-Berechnungseinheit, 75 bezeichnet eine Verknüpfungsbildungseinheit, 76 und 77 bezeichnen Fotografiereinheiten, 78 bezeichnet einen Merkmalsprojektor, 79 bezeichnet ein Kalibrierobjekt, 80 bezeichnet ein Zielobjekt (Target), 81 bezeichnet eine Fotografierpositions- und Richtungsmessungseinheit, 82 bezeichnet eine Merkmalspunkt-Anpassungseinheit, 83 bezeichnet eine Hintergrundentfernungseinheit, 84 bezeichnet eine Merkmalspunkt-Extraktionseinheit, 85 bezeichnet eine Abgleichspunkt-Sucheinheit, 86 bezeichnet eine Dreidimensionale-Koordinaten-Berechnungseinheit, 87 bezeichnet eine Fehlabgleichspunkt-Identifikationseinheit, 88 bezeichnet eine Disparity-Bewertungungseinheit (Ungleichheitsbewertungseinheit), 89 bezeichnet eine Raumverarbeitungseinheit, 90 bezeichnet eine Formverarbeitungseinheit, 91 und 92 bezeichnen Flächen, 93 bezeichnet eine virtuelle dreidimensionale Kante, 94 bezeichnet eine Spalte, 95 bezeichnet eine tatsächliche dreidimensionale Kante, 301 bezeichnet eine Kontur, 302 bezeichnet eine Fläche, 303 bezeichnet einen Nicht-Fläche-Bereich und 304 bezeichnet eine Fläche.
-
Beste Art zur Durchführung der Erfindung
-
1. Erste Ausführungsform
-
Ein Beispiel der Punktwolkedaten-Verarbeitungsvorrichtung wird nachstehend unter Bezugnahme auf die Fig. beschrieben.
-
Struktur der Punktwolkedaten-Verarbeitungsvorrichtung
-
1 zeigt ein Blockdiagramm der Punktwolkedaten-Verarbeitungsvorrichtung. Die Punktwolkedaten-Verarbeitungseinrichtung 1 extrahiert Merkmale eines Objekts und erzeugt ein dreidimensionales Modell entsprechend den Merkmalen auf der Basis von Punktwolkedaten 2 des Objekts. Die Merkmale des Objekts bestehen aus dreidimensionalen Kanten und zweidimensionalen Kanten. Die dreidimensionalen Kanten bilden primär dreidimensionale Formen, und die zweidimensionalen Kanten bilden Fig. mit ebenen Flächen und gekrümmten Flächen (nachstehend vereinfacht als „Flächen” bezeichnet). Die dreidimensionalen Kanten sind Schnittlinien der Flächen, die jeweils zueinander hinsichtlich Position und Richtung unterschiedlich sind und sind äußere Kanten jeder Fläche. Die zweidimensionalen Kanten sind Punkte und Linien, bei denen sich die Farbdichten plötzlich in einer Fläche ändern. Das dreidimensionale durch die Punktwolkedaten-Verarbeitungsvorrichtung 1 erzeugte Modell ist eine angenäherte oder approximierte Form auf der Basis der Merkmale des Objekts und stellt dreidimensionale Polylinien 20 dar, die aus dreidimensionalen Kanten und zweidimensionalen Kanten bestehen.
-
Gemäß der Darstellung in 1 umfasst die Punktwolkedaten-Verarbeitungsvorrichtung 1 eine Dateneingabeeinheit 3, eine Verarbeitungseinheit 4, einen Speicher 5, einen Controller 6, eine Anzeigeeinrichtung 7 und eine Datenausgabeeinheit 8. Die Dateneingabeeinheit 3 ist eine externe Speichereinrichtung wie ein Flash-Speicher, eine Magnetspeichereinrichtung wie eine Festplatte oder eine Verbindungseinrichtung zur Bereitstellung einer Verbindung zu einem LAN (Local Area Network, lokales Netz), ein WAN (Wide Area Network, großräumiges Netz oder Weitverkehrsnetz) oder dergleichen. Die Verarbeitungseinheit 4 ist eine Verarbeitungseinrichtung wie eine Zentraleinheit CPU (Central Processing Unit, Zentral- oder Hauptprozessor), ein anwendungsspezifischer integrierter Schaltkreis ASIC (Application Specific Integrated Circuit) oder eine programmierbare Schaltung PLD (Programmable Logic Device) wie FPGA (Field Programmable Gate Arry). Der Speicher 5 ist eine Hauptspeichereinrichtung wie ein Direktzugriffsspeicher RAM (Random Access Memory) oder dergleichen. Der Controller 6 ist eine Steuerungseinrichtung wie eine Kombination aus einer Maus und einer Tastatur, einem berührungsempfindlichen Bildschirm (Touch Panel) oder dergleichen. Die Anzeigeeinrichtung 7 ist Anzeigeeinrichtung wie eine Flüssigkristallanzeige. Die Datenausgabeeinheit 8 weist den gleichen Aufbau wie die Dateneingabeeinheit 3 auf.
-
Die Verarbeitungseinheit 4 wird durch den Controller 6 gesteuert und erhält Punktwolkedaten 2 von der Dateneingabeeinheit 3. Die Punktwolkedaten 2 bestehen primär aus dreidimensionalen Koordinaten und RGB-Intensitätsdaten (zweidimensionale Bilder). Die von der Dateneingabeeinheit 3 erhaltenen oder gewonnenen Punktwolkedaten 2 werden in dem Speicher 5 gespeichert. Die Verarbeitungseinheit 4 extrahiert dreidimensionale Kanten und zweidimensionale Kanten eines Objekts auf der Basis der in dem Speicher 5 gespeicherten Punktwolkedaten 2. Die durch die Verarbeitungseinheit 4 extrahierten dreidimensionalen Kanten und zweidimensionalen Kanten werden auf der Anzeigeeinrichtung 7 als dreidimensionale Polylinien 20 angezeigt. Die Anzeigeeinrichtung 7 kann simultan die dreidimensionalen Polylinien 20 in einem zweidimensionalen Raum und in einem dreidimensionalen Raum darstellen. Die dreidimensionalen Polylinien 20 können zur Datenausgabeeinheit 8 als CAD-Daten (Computer Aided Design-Daten) ausgegeben werden.
-
Nachstehend wird im einzelnen der Aufbau der Verarbeitungseinheit 4 beschrieben. Die Verarbeitungseinheit 4 umfasst eine Flächenextraktionseinheit 10, eine Dreidimensionale-Kanten-Extraktionseinheit 11, eine Zweidimensionale-Kanten-Extraktionseinheit 12 und eine Kantenintegriereinheit 13. Diese bestehen aus entsprechenden Programmen, die mittels einer CPU oder einem ASIC oder einem PLD wie einem FPGA verarbeitet werden. Die Flächenextraktionseinheit 10 extrahiert Flächen aus den Punktwolkedaten 2. Die Flächenextraktionseinheit 10 umfasst eine Normallinien-Berechnungseinheit 14, eine Lokalkrümmungs-Berechnungseinheit 15, eine Nicht-Fläche-Entfernungseinheit 16, eine Flächenkennzeichnungseinheit 17, eine Rauschenentfernungseinheit 18 und eine Kennzeichnungserstreckungseinheit 19.
-
Die Normallinien-Berechnungseinheit 14 berechnet einen Normalvektor jedes Punkts in einer lokalen Fläche. Die Lokalkrümmungs-Berechnungseinheit 15 berechnet Änderungen (lokale Krümmungen) der Normalvektoren in den lokalen Bereichen. Die Nicht-Fläche-Entfernungseinheit 16 entfernt Punkte der Nicht-Fläche-Bereiche auf der Basis von (1) Teilen der starken lokalen Krümmung, (2) der Passgenauigkeit der lokalen Flächen und (3) der Koplanarität. Die Nicht-Fläche-Bereiche sind Bereiche außer ebenen Flächen und gekrümmten Flächen, wobei jedoch auch Fälle auftreten können, in welchen gekrümmte Flächen mit einer starken Krümmung gemäß den Schwellenwerten der Bedingungen (1) bis (3) enthalten sind. Die Flächenkennzeichnungseinheit 17 addiert identische Kennzeichnungen zu den verbleibenden Punkten in denselben Flächen auf der Basis der Kontinuität der Normalvektoren. Die Rauschenentfernungseinheit 18 entfernt Kennzeichnungen (Flächen) mit einem kleinen Bereich als Rauschen. Die Kennzeichnungserstreckungseinheit 19 fügt Kennzeichnungen der nächstliegenden Flächen zu Punkten ohne Kennzeichnung hinzu und erweitert oder erstreckt auf diese Weise die gekennzeichneten Bereiche. Im Ergebnis werden Flächen aus den Punktwolkedaten 2 extrahiert.
-
Falls in diesem Zusammenhang noch immer Punkte ohne eine Kennzeichnung existieren, dann kann eine Nachkennzeichnung durchgeführt werden durch automatisches Anpassen jedes Schwellenwerts der Nicht-Fläche-Entfernungseinheit 16, der Rauschenentfernungseinheit 18 und der Kennzeichnungserstreckungseinheit 19. Ferner können die Kennzeichnungen integriert werden, wenn die Flächen unterschiedliche Kennzeichnungen aufweisen, jedoch in derselben Fläche liegen. Somit werden identische Kennzeichnungen zu den Flächen hinzugefügt, die dieselbe Position oder dieselbe Richtung aufweisen, auch wenn diese Flächen nicht miteinander verbunden sind. In diesem Fall umfasst die in 1 gezeigte Verarbeitungseinheit 4 ferner eine Nachkennzeichnungseinheit oder eine Kennzeichnungsintegriereinheit benachbart zu der Kennzeichnungserstreckungseinheit 19.
-
Die Dreidimensionale-Kanten-Extraktionseinheit 11 extrahiert dreidimensionale Kanten auf der Basis von zumindest einer der Schnittlinien der Flächen, die mittels der Flächenextraktionseinheit 10 extrahiert wurden, und konvexen Linien, die die extrahierten Flächen konvex umfassen. Die Zweidimensionale-Kanten-Extraktionseinheit 12 extrahiert vorläufige zweidimensionale Kanten von innerhalb der durch die Flächenextraktionseinheit 10 segmentierten Flächen. Die Zweidimensionale-Kanten-Extraktionseinheit 12 extrahiert sodann Kanten, die ungefähr den dreidimensionalen Positionen der dreidimensionalen Kanten in der Nähe der vorläufigen zweidimensionalen Kanten entsprechen, als zweidimensionale Kanten. Die Kantenintegriereinheit 13 integriert die durch die Dreidimensionale-Kanten-Extraktionsheit 11 extrahierten dreidimensionalen Kanten und die mittels der Zweidimensionale-Kanten-Extraktionseinheit 12 extrahierten zweidimensionalen Kanten, wobei auf diese Weise dreidimensionale Polylinien 20 erzeugt werden. Die Kantenintegriereinheit 13 ist ein Beispiel einer Einrichtung zur Berechnung dreidimensionaler Konturen des Objekts, und ist ein Beispiel einer Konturintegriereinheit der vorliegenden Erfindung. Ferner integriert die Kantenintegriereinheit 13 die extrahierten dreidimensionalen Kanten und die zweidimensionalen Kanten, die in den Flächen verlaufen, die mittels der Flächenextraktionseinheit 10 extrahiert wurden. Die Kantenextraktionseinheit 13 berechnet sodann Daten (in diesem Beispiel dreidimensionale Polylinien), die erforderlich sind zum Ausbilden der dreidimensionalen Form des Objekts. In diesem Zusammenhang ist die Kantenintegriereinheit 13 ein Beispiel einer Dreidimensionale-Form-Extraktionseinheit zum Extrahieren dreidimensionaler Formen eines Objekts auf der Basis einer Vielzahl von Flächen, die mittels der Flächenextraktionseinheit 10 extrahiert wurden.
-
Falls die Punktwolkedaten 2 aus einer Vielzahl von Punktwolkedaten (Blöcken) bestehen, die entsprechend unterschiedlicher Richtungen erfasst oder gemessen wurden, dann wird die Verarbeitung durch die Verarbeitungseinheit 4 jeweils bezüglich jedes Blocks wiederholt. Danach transformiert die Verarbeitungseinheit 4 die Punkte der dreidimensionalen Kanten und der zweidimensionalen Kanten, die aus jedem Block extrahiert wurden, in dieselben Koordinaten, wodurch die dreidimensionalen Polylinien 20 in einer Vielzahl von Richtungen erzeugt werden.
-
Arbeitsweise der Punktwolkedaten-Verarbeitungsvorrichtung
-
Nachstehend wird im Einzelnen eine Flächenkennzeichnungsverarbeitung und eine Dreidimensionale-Form-Extraktionsverarbeitung beschrieben. Die Verarbeitungseinheit 4 führt die Flächenkennzeichnungsverarbeitung und die Verarbeitung des Extrahierens dreidimensionaler Formen des Objekts auf der Basis der Flächen durch, die in der Flächenkennzeichnungsverarbeitung gekennzeichnet wurden. 2 zeigt ein Ablaufdiagramm zur Veranschaulichung des Verarbeitungsablaufs der Verarbeitungseinheit 4. Das Ablaufdiagramm wird in Verbindung mit Programmen verarbeitet, die bereitgestellt werden können mittels computer-lesbarer Aufzeichnungsmedien wie einer CD-ROM.
-
Die Verarbeitungseinheit 4 führt eine Wiedergewinnung der Punktwolkedaten 2 (Schritt S1) durch und extrahiert daraus Flächen (Schritt S2). Zum Extrahieren der Flächen berechnet in diesem Fall die Verarbeitungseinheit 4 einen Normalvektor jedes Punkts in einer lokalen Fläche (Schritt S3). Ein Verfahren zur Berechnung des Normalvektors wird nachstehend beschrieben.
-
In quadratischen Bereichen von etwa 3 bis 7 Pixeln (lokale Bereiche von 3×3, 5×5 oder dergleichen) mit einem Zielpunkt in der Mitte werden Gleichungen aus den dreidimensionalen Koordinaten jedes Punkts gewonnen (Passen der lokalen Flächen, Lokal-Flächen-Anpassung). Die Lokal-Flächen-Anpassung wird mit dem Verfahren der kleinsten Quadrate durchgeführt. Zum genauen Ausbilden der Gleichungen der lokalen Flächen ist es in diesem Fall bevorzugt, drei unterschiedliche ebene Flächen-Gleichungen zu bilden, wie sie mittels der ersten Formel dargestellt sind, und diese zu vergleichen. Im Fall der ersten Formel sind die Normalvektoren (nvx, nvy, nvz) nun (a1, b1, –1), (a2, –1, b2) und (–1, a3, b3). Des Weiteren wird eine Normierung durchgeführt, so dass die Normalvektoren eine Größe von 1 (in einem Bereich von –1 bis 1) aufweisen. z = a1x + b1y + c1
y = a2x + b2z + c2
x = a3y + b3z + c3 Erste Formel
-
3 zeigt eine Fotografie als Ersatz für eine oder anstelle einer Zeichnung zur Veranschaulichung eines Intensitätsbilds (nvx) von Normalvektoren in einer x-Achsenrichtung. 4 ist eine Fotografie als Ersatz für eine oder anstelle einer Zeichnung zur Veranschaulichung eines Intensitätsbilds (nvy) der Normalvektoren in einer y-Achsenrichtung. 5 ist eine Fotografie als Ersatz für eine oder anstelle einer Zeichnung zur Veranschaulichung eines Intensitätsbilds (nvz) von Normalvektoren in einer z-Achsenrichtung. Die 3 bis 5 zeigen Ergebnisse unter der Verwendung von lokalen Flächen im Maß von 7×7.
-
Danach werden Variationen (lokale Krümmungen) der Normalvektoren in den lokalen Bereichen berechnet (Schritt S4). In quadratischen Bereichen mit etwa 3 bis 7 Pixeln mit einem Zielpunkt in der Mitte werden Mittelwerte (mnvx, mnvy, mnvz) von Intensitätswerten (nvx, nvy, nvz) der drei Achsenkomponenten der Normalvektoren berechnet. Zusätzlich werden Standardabweichungen (stdnvx, stdnvy, stdnvz) berechnet. Wie es in der zweiten Formel gezeigt ist, wird sodann eine Quadratwurzel einer Summe der Quadrate der Standardabweichungen als lokale Krümmung (crv) berechnet. Zweite Formel
(LocalCurvature = lokale Krümmung)
-
6 zeigt eine Fotografie als Ersatz für eine Zeichnung zur Veranschaulichung eines Krümmungsbilds (stdnvx) in einer x-Achsenrichtung. 7 zeigt eine Fotografie als Ersatz für eine Zeichnung zur Veranschaulichung eines Krümmungsbilds (stdnvy) in einer y-Achsenrichtung. 8 zeigt eine Fotografie als Ersatz für eine Zeichnung zur Veranschaulichung eines Kurvenbilds (stdnvz) in einer z-Achsenrichtung. 9 zeigt eine Fotografie als Ersatz für eine Zeichnung zur Veranschaulichung eines Lokalkrümmungsbilds (crv).
-
Danach werden Punkte von Nicht-Fläche-Bereichen entfernt (Schritt S5). Zum Extrahieren von Flächen (ebene Flächen und gekrümmte Flächen) werden somit Bereiche (Nicht-Fläche-Bereiche), die als Nicht-Fläche identifiziert sind, vorläufig (vorbereitend) entfernt. Die Nicht-Fläche-Entfernungsverarbeitung wird zumindest mittels einer der folgenden drei Verfahren durchgeführt. Die Nicht-Fläche-Bereiche sind Bereiche außer den flachen (ebenen) Flächen und den gekrümmten Flächen, wobei jedoch Fälle auftreten können, in denen gekrümmte Flächen mit einer großen Krümmung enthalten sind, in Abhängigkeit von den Schwellenwerten der Verfahren (1) bis (3).
-
(1) Bereiche mit einer starken lokalen Krümmung
-
Punkte von Bereichen mit einer starken lokalen Krümmung, die in Schritt S4 berechnet wurden, werden entfernt. Die lokale Krümmung zeigt eine Variation des Normalvektors des Zielpunkts und der umgebenden Punkte an. Daher ist die lokale Krümmung klein in Bezug auf die Flächen (ebene Flächen und gekrümmte Flächen mit kleiner Krümmung), wogegen die lokale Krümmung bezüglich anderer Bereiche außer den Flächen groß ist.
-
Ist somit die lokale Krümmung größer als ein vorbestimmter Schwellenwert, dann wird der Zielpunkt als nicht auf der Fläche liegend bestimmt. Es wird daher das Lokal-Krümmungsbild gemäß 9 in binäre Größen gebracht, und Bereiche mit einer lokalen Krümmung, die größer ist als der Schwellenwert, werden entfernt.
-
(2) Zusammenpassgenauigkeit der lokalen Fläche
-
Abstände zwischen einer lokalen Fläche und jedem Punkt zur Verwendung bei der Berechnung der lokalen Fläche, wie sie in Schritt S4 erhalten wurden, werden berechnet. Ist ein Mittelwert dieser Abstände größer als ein vorbestimmter Schwellenwert, dann wird der Zielpunkt als nicht auf der Fläche liegend bestimmt. 10 zeigt eine grafische Darstellung der Abstände zwischen der lokalen Fläche und den Punkten zur Verwendung bei der Berechnung der lokalen Fläche. Die lokale Fläche L wird durch Einstellen eines Punkts A auf einer Fläche ausgewählt. Der Punkt A weist Mittelwertkoordinaten von Punkten P1 bis P8 auf, die zur Berechnung der lokalen Fläche verwendet werden.
-
(3) Prüfung der Koplanarität
-
Die 11 ist ein erläuterndes Diagramm zur Beschreibung eines Verfahrens zur Bewertung der Koplanarität. In diesem Fall weisen eine lokale Fläche p1 und eine lokale Fläche p2 einen Normalvektor n1 bzw. n2 auf, wobei ein Vektor, der die Punkte verbindet, die die Fläche festlegen, mit r12 bezeichnet ist. Wenn die lokalen Flächen p1 und p2 in derselben Fläche liegen, kreuzen die Normalvektoren n1 und n2 und der r12, der die lokalen Flächen verbindet, einander in nahezu rechten Winkeln, wodurch deren innere Produkte nahezu 0 sind. Durch Verwendung dieser Funktion wird dann, wenn ein Wert des größeren der inneren Produkte größer als ein vorgegebener Schwellenwert ist, der Zielpunkt als nicht auf der Fläche liegend bestimmt (dritte Formel).
-
-
Gemäß dem Verfahren (1) werden scharfe dreidimensionale Kanten, die durch Richtungsänderungen von Flächen erzeugt werden, und Nicht-Fläche-Bereiche, die glatte dreidimensionale Kanten enthalten, die durch gekrümmte Flächen mit großer Krümmung erzeugt werden, extrahiert. Gemäß dem Verfahren (2) werden Nicht-Fläche-Bereiche, die dreidimensionale Kanten enthalten, die durch Okklusion erzeugt werden, extrahiert, da diese Punkte aufweisen, deren Positionen sich plötzlich ändern. Die „Okklusion” ist ein Zustand, in dem die inneren Bereiche durch die vorderen Bereiche verdeckt sind und nicht zu sehen sind. Gemäß dem Verfahren (3) werden Nicht-Fläche-Bereiche, die scharfe dreidimensionale Kanten enthalten, die durch Richtungsänderungen von Flächen erzeugt werden, extrahiert.
-
Die obigen drei Verfahren werden sequenziell ausgeführt, wobei die Ergebnisse in den 12 bis 14 gezeigt sind. 12 ist eine Fotografie anstelle einer Zeichnung, die ein Ergebnis der Nicht-Fläche-Entfernung in einem zweidimensionalen Raum zeigt. 13 ist eine Fotografie anstelle einer Zeichnung, die ein Ergebnis der Nicht-Fläche-Entfernung in einem dreidimensionalen Raum zeigt. 14 ist eine Fotografie anstelle einer Zeichnung, die ein Ergebnis der Nicht-Fläche-Entfernung aus einer anderen Richtung als derjenigen in 13 zeigt. Schwarze Bereiche in den 12 bis 14 sind Pixel, die durch diese Verarbeitung entfernt worden sind, wobei Bereiche zwischen Flächen, die unterschiedliche Richtungen aufweisen, entfernt worden sind. Wie durch Kreise B in den 13 und 14 gezeigt ist, gibt es Bereiche, die als Nicht-Fläche-Bereiche identifiziert werden, obwohl sie Fläche-Bereiche sind. Diese Bereiche zeigen Passanten während der Aufnahme der Punktwolkedaten 2. Durch Entfernen der Nicht-Flächen werden auch große Störungen, wie zum Beispiel Bäume vor dem Objekt und Passanten entfernt.
-
Als nächstes wird eine Flächenkennzeichnung für die verbleibenden Punkte auf der Grundlage der Kontinuität der Normalvektoren durchgeführt (Schritt S6). Genauer wird in der 8-Umgebung an, wenn eine Winkeldifferenz zwischen den Normalvektoren des Zielpunkts und den benachbarten Punkt nicht größer als ein vorgegebener Schwellenwert ist, eine identische Kennzeichnung hinzugefügt. Nach der Flächenkennzeichnung wird anhand der Winkeldifferenz zwischen den Normalvektoren und den Standardabweichungen der drei Achsenkomponenten der Normalvektoren bewertet, ob die Kennzeichnung (Fläche) eine flache Fläche oder eine gekrümmte Fläche mit kleiner Krümmung ist.
-
15 ist eine Fotografie die anstelle einer Zeichnung, die ein Ergebnis der Flächenkennzeichnung in einem zweidimensionalen Raum zeigt. 16 ist eine Fotografie anstelle einer Zeichnung, die ein Ergebnis der Flächenkennzeichnung in einem dreidimensionalen Raum zeigt. Die 15 und 16 zeigen Flächen mit zehn unterschiedlichen Farben, jedoch liegen die Flächen mit derselben Farbe nicht in denselben Flächen, solange die Kennzeichnungen der Flächen nicht in der 8-Umgebung miteinander verbunden sind.
-
Anschließend werden Kennzeichnungen (Flächen) mit einem kleinen Bereich als Rauschen entfernen (Schritt S7). Die Rauschentfernung und das Verarbeiten der Flächenkennzeichnung im Schritt S7 kann gleichzeitig durchgeführt werden. Das heißt, während die Flächenkennzeichnung durchgeführt wird, wird eine Gesamtzahl in Bezug auf jede identische Kennzeichnung gezählt, wobei identische Kennzeichnungen, deren Gesamtzahl größer als eine vorgegebene Zahl ist, entfernt werden. 17 ist eine Fotografie anstelle einer Zeichnung, die ein Ergebnis der Rauschentfernung zeigt. Wie in 17 gezeigt ist, wurden kleine Kennzeichnungen, die am oberen Ende und am unteren Ende vorhanden sind, als Rauschen entfernt (in 17 schwarz gefärbt).
-
Als nächstes werden identische Kennzeichnungen der nächstliegenden Flächen zu Punkten hinzugefügt, die noch keine Kennzeichnung aufweisen. Das heißt, die Flächen, die bereits gekennzeichnet sind, werden erstreckt (Schritt S8). Zuerst wird eine Gleichung der Fläche mit einer Kennzeichnung gewonnen, wobei ein Abstand zwischen der Fläche und einem Punkt ohne Kennzeichnung berechnet wird. Wenn mehrere Kennzeichnungen (Flächen) um den Punkt ohne Kennzeichnung existieren, wird eine Kennzeichnung mit dem kürzesten Abstand ausgewählt. 1 ist eine Fotografie anstelle einer Zeichnung, die ein Ergebnis der Kennzeichnungserstreckung in einem zweidimensionalen Raum zeigt. 19 ist eine Fotografie anstelle einer Zeichnung, die ein Ergebnis der Kennzeichnungserstreckung in einem dreidimensionalen Raum zeigt. Wie in den 18 und 19 gezeigt ist, werden Kennzeichnungen zum Inneren der Flächen und zu den Endbereichen der Flächen erstreckt. Somit werden Flächen aus den Punktwolkedaten 2 extrahiert (Schritt S2).
-
Wenn immer noch Punkte ohne Kennzeichnung existieren, wird eine Neukennzeichnung durchgeführt, in den automatisch jeder Schwellenwert in der Nicht-Fläche-Entfernungsverarbeitung (Schritt S5), der Rauschverarbeitung (Schritt S7) und der Kennzeichnungserstreckungsverarbeitung (Schritt S8) angepasst wird. Durch Erhöhen des Schwellenwertes der lokalen Krümmung in den Nicht-Fläche-Entfernungsverarbeitung (Schritt S5) werden zum Beispiel weniger Punkte als Nicht-Flächen extrahiert. In einem weitern Fall werden durch Erhöhen des Schwellenwertes des Abstands zwischen dem Punkt ohne Kennzeichnung und der nächstliegenden Fläche in der Kennzeichnungserstreckungsverarbeitung (Schritt S8) Kennzeichnungen zu Mehrpunkten ohne Kennzeichnung hinzugefügt.
-
Wenn Flächen unterschiedliche Kennzeichnungen aufweisen, jedoch in denselben Flächen liegen, können die Kennzeichnungen der Flächen integriert werden. Das heißt, identische Kennzeichnungen werden zu Flächen hinzugefügt, die dieselbe Position oder dieselbe Richtung aufweisen, selbst wenn die Flächen nicht kontinuierliche Flächen sind. Genauer, durch Vergleichen der Positionen und der Richtungen der Normalvektoren jeder Fläche werden diskontinuierliche gleiche Flächen extrahiert, wobei deren Kennzeichnungen in eine der Kennzeichnungen derselben integriert werden.
-
Anschließend werden Schnittlinien der extrahierten Flächen und konvexe Linien, die die extrahierten Flächen konvex umfassen, berechnet, wobei dreidimensionale Kanten auf der Grundlage derselben extrahiert werden (Schritt S9). Diese zwei Verfahren werden im Folgenden beschrieben. Bei der Verwendung der folgenden zwei Verfahren können eine der zwei Verfahren oder beide Verfahren verwendet werden. Wenn beide Verfahren verwendet werden, werden Mittelwerte der Ergebnisse der beiden Verfahren oder geeignetere Berechnungsergebnisse der beiden Verfahren verwendet. Alternativ kann eines der zwei Verfahren entsprechend den Umständen ausgewählt werden.
-
(1) Verwendung von Schnittlinien als dreidimensionale Kanten
-
In diesem Verfahren werden zwei benachbarte Flächen extrahiert und als endlose Flächen angenommen, wobei eine Schnittlinie der zwei Flächen als dreidimensionale Kante extrahiert wird. Jede Fläche wird mittels einer flachen Fläche oder einer gekrümmten Fläche in der Flächenkennzeichnungsverarbeitung in Schritt S6 identifiziert. Die dreidimensionale Kante wird somit als eine Schnittlinie eines Paares einer flachen Fläche und einer flachen Fläche, einer Paares einer flachen Fläche und einer gekrümmten Fläche, oder eines Paares einer gekrümmten Fläche und einer gekrümmten Fläche erhalten.
-
Wenn zum Beispiel die zwei benachbarten Flächen flache Flächen sind, werden Normalvektoren „a” und „b” derselben erhalten. Anschließend wird ein Außenprodukt „a × b” der Normalvektoren „a” und „b” berechnet, wobei ein Vektor einer Schnittlinie erhalten wird (vierte Formel). Als nächstes wird ein Punkt auf der Schnittlinie anhand der Gleichungen der zwei Flächen berechnet. Somit wird die Schnittlinie erhalten. Vierte Formel
-
Die erhaltene Schnittlinie ist eine endlose gerade Linie. Durch Berechnen eines Schnitts, bei dem sich die zwei Flächen schneiden, und der Endpunktkoordinaten des Schnitts wird die Schnittlinie zu einem Liniensegment gemacht. 20 ist eine Ansicht, die Abschnitte zeigt, an denen zwei benachbarte Flächen einander schneiden. 21 ist eine Fotografie anstelle einer Zeichnung, die dreidimensionale Kanten zeigt, die aus Schnittlinien zweier benachbarter Flächen gebildet sind. Da in diesem Verfahren die Schnittlinie nicht erhalten werden kann, wenn keine benachbarten Flächen vorhanden sind, können keine dreidimensionalen Kanten von Außenbereichen des Objekts extrahiert werden. 21 zeigt einen Pfeil, der auf einen Bereich einer Fläche weist, von dem keine Punktwolkedaten erhalten werden können. Da dieser Bereich keine benachbarte Fläche aufweist, können keine dreidimensionalen Kanten extrahiert werden.
-
(2) Gewinnen dreidimensionaler Kanten auf der Grundlage konvexer Linien
-
In diesem Verfahren werden Punkte an einem Außenbereich (Randbereich) jeder Kennzeichnung (Fläche) extrahiert und verbunden, um somit dreidimensionale Kanten zu bilden. Genauer werden in einem Fall eines relativ gewöhnlichen kubischen Objekts Punkte eines Außenbereichs einer Fläche in einem zweidimensionalen Bild extrahiert, wobei benachbarte extrahierte Punkte durch Linien verbunden werden. Wenn ein Winkel zwischen der Fläche und dem Liniensegment eines Zielpunkts und den benachbarten Punkt größer als 90° ist, wird der Zielpunkt entfernt. Anschließend werden die verbleibenden benachbarten Punkte verbunden. Durch Wiederholen dieses Schritts wird eine konvexe Linie gebildet, die die Fläche konvex umfasst.
-
Ein Beispiel einer Verarbeitung zum Gewinnen einer konvexen Linie einer Kennzeichnung und zum Berechnen einer Kontur wird im Folgenden beschrieben. 38A zeigt eine Kontur 301, die sich in einer y-Achsen-Richtung erstreckt. Ein Beispiel eines Verfahrens zum Berechnen einer konvexen Linie, die die Kontur 301 nähert, wird im Folgenden beschrieben. Zuerst kann ein Querschnitt längs einer Ebene Z-X in 38A genommen werden. 38B zeigt konzeptartig einen der Querschnitte längs der Ebene Z-X und zeigt gekennzeichnete Flächen 302, 304 und einen Nicht-Fläche-Bereich 303 zwischen den Flächen 302 und 304. Die gemessenen Punkte B1, B2 und B3 sind nicht in den gekennzeichneten Flächen enthalten und entsprechen Zielpunkten. In diesem Beispiel besteht die wirkliche Kontur 301 an den mittleren Bereich in dem Nicht-Fläche-Bereich 303. 38B zeigt ein Beispiel, in dem der gemessene Punkt B2 abgesetzt von dem wirklichen Nicht-Fläche-Bereich 303 positioniert ist aufgrund eines Messfehlers, der durch eine Reflexionsbedingung des Laserlichts oder dergleichen hervorgerufen wird.
-
In diesem Fall wird eine konvexe Linie berechnet, die durch die Umgebung der wirklichen Kontur 301 verläuft. Zuerst wird ein benachbarter Punkt A3 in 38B erhalten. Der benachbarte Punkt A3 wird als ein Schnittpunkt eines Bereichs der Fläche 302, der sich von einem Punkt A2 an dessen Randbereich nach außer erstreckt und eines Bereichs der benachbarten anderen Fläche 304, die sich nach außen erstreckt, berechnet. Somit wird der benachbarte Punkt A3 am Rand der Fläche 302 extrahiert. Ein Winkel θ0 zwischen der Fläche 302 und einer Fläche, die sich von der Fläche 304 erstreckt, wird berechnet. Die Fläche 304 enthält benachbarte Punkte C1 und C2, die in einer kennzeichneten Fläche enthalten sind, die zu der Fläche 302 benachbart ist. Als nächstes werden virtuelle Linien, die den benachbarten Punkt A2 mit jeden der gemessenen Punkte B1, B2 und B3 in dem Nicht-Fläche-Bereich 303 verbinden, angenommen, wobei Winkel θ1, θ2 und θ3 ausgehend von dem erstreckten Bereich der Fläche 302 im Uhrzeigersinn gemessen werden. Die Winkel, die nicht größer sind als der Winkel θ0 werden unter den Winkeln θ1, θ2 und θ3 ausgewählt, wobei Winkel, die größer als der Winkel θ0 sind, entfernt werden. Im Fall der 38B werden die Punkte B1 und B3 ausgewählt, wobei der Punkt B2 entfernt wird. Eine Näherungskurve, die die ausgewählten Punkte verbindet (in diesem Fall die Punkte B1 und B3) wird als konvexe Linie berechnet. 38B zeigt einen Fall, in den einige Fehler vorhanden sind und die konvexe Linie der Näherungskurve näherungsweise der Querschnittsform des Nicht-Fläche-Bereichs 303 entspricht. Mit anderen Worten, 38B zeigt einen Fall, in dem die Näherungskurve die Punkte B1 und B3 verbindet und näherungsweise der Kurve entspricht, die durch das Bezugszeichen 303 gezeigt ist. Wie in 38C gezeigt, werden in der erhaltenen konvexen Linie ein Mittelpunkt zwischen den gekennzeichneten Flächen und ein Bereich, in dem der Winkel der Normallinie, die auf der Näherungskurve errichtet wird, gleich der Hälfte des Winkels zwischen den gekennzeichneten Flächen ist, als Konturpositionen (Konturdurchlaufpunkte) festgelegt. 38C zeigt einen Fall, in dem die wirkliche Kontur 301 näherungsweise den berechneten Konturpositionen entspricht. Die Näherungskurve der konvexen Linie kann erhalten werden als eine Linie, die gerade Linien mit sehr kleiner Länge verbindet. Die obige Verarbeitung wird an mehreren Positionen auf der y-Achse durchgeführt, wobei eine Linie, die mehrere Konturdurchlaufpunkte verbindet, die auf der y-Achse berechnet worden sind, als eine Kontur berechnet wird. Somit wird die konvexe Linie erhalten, die eine Ecke der gebogenen Fläche wie in 38B gezeigt konvex umfasst. Dem entsprechend werden dreidimensionale Kanten nahe der wirklichen Kontur 301 auf der Grundlage der konvexen Linie berechnet.
-
Wenn der Wert eines Abstands L verringert wird, wird der Berechnungsaufwand erhöht, jedoch die Auflösung verbessert, wodurch eine Differenz zwischen der konvexen Linie und der wirklichen Kontur reduziert wird. Wenn im Gegensatz hierzu der Wert L erhöht wird, wird der Berechnungsaufwand verringert jedoch die Auflösung herabgesetzt, wodurch die Differenz zwischen der konvexen Linie und der wirklichen Kontur zunimmt. Durch Setzten des Werts L kann somit die Berechnungsgenauigkeit verändert werden. 22 ist eine Fotografie anstelle einer Zeichnung, die ein Beispiel vom dreidimensionalen Kanten auf der Grundlage konvexer Linien zeigt.
-
Als Verfahren zum Extrahieren der dreidimensionalen Kanten kann ein Verfahren des Anwendens der Flächen auf Modelle verwendet werden. Alternativ kann ein Verfahren des wiederholten Anpassens von Schwellenwerten entsprechend den lokalen Krümmungen verwendet werden, so dass etwas wie dreidimensionale Kanten zurückbleibt.
-
Anschließend werden provisorische zweidimensionale Kanten von innerhalb von Bereichen der zweidimensionalen Bilder, die den im Schritt S2 segmentierten Flächen zugeordnet sind, extrahiert. Außerdem werden Kanten, die Näherungsweise den dreidimensionalen Positionen der dreidimensionalen Kanten in der Umgebung der provisorischen zweidimensionalen Kanten entsprechen, als zweidimensionale Kanten extrahiert (Schritt S10). Dem entsprechend werden zweidimensionale Kanten extrahiert, die Figuren innerhalb von Flächen bilden und die schwierig als dreidimensionale Kanten zu extrahieren sind. 23 ist eine Fotografie anstelle einer Zeichnung, die zu extrahierende zweidimensionale Kanten zeigt. Zum Beispiel wird die in 23 gezeigte punktierte Linie als zweidimensionale Kanten extrahiert.
-
Zuerst werden durch einen allgemein bekannten Kantenextraktionsoperator, wie zum Beispiel Laplace, Prewitt, Sobel oder Canny provisorische Kanten von innerhalb von Bereichen der zweidimensionalen Bilder, die den in Schritt S2 segmentierten Flächen zugeordnet sind, extrahiert. Als nächstes wird eine Höhe (z-Wert) einer dreidimensionalen Koordinate eines Punkts, der die provisorische Kante bildet, mit derjenigen eines Punkts, der eine dreidimensionale Kante in der Umgebung der provisorischen Kante bildet, verglichen. Wenn diese Differenz nicht größer als ein vorgegebener Schwellenwert ist, wir die provisorische Kante als zweidimensionale Kante extrahiert. Das heißt, ob der Punkt, der die aus dem zweidimensionalen Bild extrahierte provisorisch Kante bildet, auf der segmentierten Fläche liegt, oder nicht, wird bewertet.
-
Als nächstes werden die im Schritt S9 extrahierten dreidimensionalen Kanten und die im Schritt S10 extrahierten zweidimensionalen Kanten integriert, um somit dreidimensionale Polylinien 20 zu erzeugen (Schritt S11). Die dreidimensionalen Polylinien 20 werden in einem zweidimensionalen Raum und in einem dreidimensionalen Raum angezeigt (Schritt S12). 24 ist eine Fotografie anstelle einer Zeichnung, die dreidimensionale Kanten und zweidimensionale Kanten in einem zweidimensionalen Raum und einem dreidimensionalen Raum zeigt. Wenn eine Kante in dem zweidimensionalen Raum oder dem dreidimensionalen Raum ausgewählt wird, wird eine entsprechende Kante in dem anderen angezeigt. Die dreidimensionalen Polylinien 20 werden mit einem vorgegebenen Format in CAD-Daten konvertiert und als Daten ausgegeben (Schritt S13). Somit werden die dreidimensionalen Polylinien 20 zum Verständnis des Erscheinungsbildes des Objekts auf der Grundlage der gekennzeichneten Flächen berechnet. Gemäß den dreidimensionalen Polylinien 20 kann ein dreidimensionales Modell, dass das Erscheinungsbild des Objekts repräsentiert, angezeigt und ausgedruckt werden. Die Folge von Schritten in Bezug auf die Berechnung der dreidimensionalen Polylinien 20 kann als Verarbeitung zum Extrahieren dreidimensionaler Formen eines Objekts auf der Grundlage gekennzeichneter Flächen verwendet werden. Wie oben beschrieben worden ist, wird in dieser Ausführungsform das Objekt als eine gesamte Serie von Flächen angenommen, wobei die dreidimensionalen Formen des Objekts auf der Grundlage mehrerer extrahierter Flächen bewertet werden.
-
Vorteile der ersten Ausführungsform
-
Im Folgenden werden Vorteile der ersten Ausführungsform beschrieben. Gemäß der ersten Ausführungsform wird jeder Punkt der Punktwolkedaten 2 in Flächen segmentiert. Anschließend werden dreidimensionale Kanten auf der Grundlage von wenigstens einer der Schnittlinien der segmentierten Flächen und konvexer Linien, die die segmentierten Flächen konvex umfassen, extrahiert. Außerdem werden zweidimensionale Kanten von innerhalb der segmentierten Flächen extrahiert. Als nächstes werden die dreidimensionalen Kanten und die zweidimensionalen Kanten integriert. Wie oben beschrieben worden ist, hat die Punktwolkedaten-Verarbeitungsvorrichtung 1 nicht direkt auf verschiedenen Formen gebildete Kanten extrahiert. Daher weisen die extrahierten Kanten wenig Rauschen auf, wobei die dreidimensionalen Kanten und die zweidimensionalen Kanten automatisch aus den Punktwolkedaten 2 extrahiert worden sind. Da außerdem die Flächen leichter extrahiert werden als Kanten, werden die dreidimensionalen Kanten und die zweidimensionalen Kanten in einer kurzen Zeit extrahiert.
-
Gemäß der ersten Ausführungsform wird das Erscheinungsbild des Objekts als eine gesamte Serie von Flächen angenommen. In diesem Fall werden Begrenzungen, die benachbarte Flächen teilen, aus den Flächendaten als dreidimensionale Kanten berechnet. Gemäß diesem Verfahren wird die Form des Objekts als eine gesamte Serie von Flächen bewertet, die leicht als Daten zu verwenden sind, wodurch ein Rechenaufwand klein ist und die Form des Objekts schneller quantitativ bewertet wird.
-
Die Punktwolkedaten-Verarbeitungsvorrichtung 1 entfernt Punkte der Nicht-Fläche-Bereiche auf der Grundlage der lokalen Krümmungen. Punkte der Nicht-Fläche-Bereiche, die die scharfen dreidimensionalen Kanten, die sanften dreidimensionalen Kanten und Rauschen enthalten, werden entfernt. Die scharfen dreidimensionalen Kanten werden erzeugt durch Richtungsänderungen der Flächen, wobei die sanften dreidimensionalen Kanten durch gekrümmte Flächen mit großen lokalen Krümmungen erzeugt werden.
-
Dementsprechend werden Punkte der Nicht-Fläche-Bereiche, die Rauschen enthalten, und die dreidimensionalen Kanten, die durch Okklusion erzeugt werden, entfernt. Die „Okklusion” ist ein Zustand, in dem die inneren Bereiche durch vordere Bereiche verdeckt sind und nicht gesehen werden können. Die Passgenauigkeit zu einer lokalen Fläche ist zum Beispiel ein Durchschnittswert von Abständen zwischen einer lokalen Fläche und jedem Punkt, der zur Berechnung der lokalen Fläche verwendet wird. Die durch Okklusion erzeugten dreidimensionalen Kanten enthalten Punkten von inneren Bereichen und von vorderen Bereichen, in denen dreidimensionalen Positionen sich deutlich unterscheiden. Gemäß der Passgenauigkeit zu den lokalen Flächen werden daher die Punkte der Nicht-Fläche-Bereiche, die Rauschen und solche dreidimensionalen Kanten enthalten, entfernt.
-
Die Punktwolkedaten-Verarbeitungsvorrichtung 1 entfernt Punkte der Nicht-Fläche-Bereiche auf der Grundlage der Koplanarität eines Zielpunkts und des benachbarten Punkts. Wenn ein Zielpunkt und der benachbarte Punkt Koplanarität aufweisen, schneiden eine Normallinie jedes Punkts und ein Liniensegment, das die Punkte verbindet, einander in rechten Winkeln, wobei ein inneres Produkt derselben gleich Null ist. Entsprechend dieser Bedingung werden Punkte der Nicht-Fläche-Bereiche, die Rauschen enthalten, und die scharfen dreidimensionalen Kanten, de durch Richtungsänderungen der Flächen erzeugt werden, entfernt.
-
Außerdem fügt die Punktwolkedaten-Verarbeitungsvorrichtung 1 Kennzeichnungen der nächstliegenden Flächen zu Punkten ohne Kennzeichnung hinzu, um somit die gekennzeichneten Bereiche zu erstrecken. Das heißt, Kennzeichnungen, die zu Punkten hinzugefügt worden sind, die die Flächen bilden, werden zu den Punkten der Nicht-Fläche-Bereiche, die den Flächen am nächsten sind, hinzugefügt. Somit werden dreidimensionale Kanten auf der Grundlage von wenigstens einer der Schnittlinien der segmentierten Flächen und konvexer Linien, die die segmentierten Flächen konvex umfassen, extrahiert.
-
Außerdem sind die Punktwolkedaten 2 Daten, in denen die dreidimensionalen Koordinaten jedes Punkts mit den zweidimensionalen Bildern verknüpft sind. Somit dann die Bildverarbeitungstechnik zum Extrahieren zweidimensionaler Kanten angewendet werden, die schwierig zu extrahieren sind, in dem lediglich die dreidimensionalen Koordinaten extrahiert werden. Außerdem werden die zweidimensionalen Kanten von innerhalb von Bereichen der zweidimensionalen Bilder, die den von der Flächenkennzeichnungseinheit 17 segmentierten Flächen zugeordnet sind, extrahiert. Somit werden dreidimensionalen Kanten, die in erster Linie dreidimensionale Formen bilden, entfernt, und es werden nur zweidimensionale Kanten, die Figuren in den Flächen bilden, extrahiert. Die zweidimensionalen Kanten werden auf der Grundlage von dreidimensionalen Positionen der dreidimensionalen Kanten in der Umgebung der provisorischen zweidimensionalen Kante identifiziert. Somit werden die dreidimensionalen Positionen der zweidimensionalen Kanten, die von den zweidimensionalen Bildern extrahiert worden sind, auf der Grundlage der dreidimensionalen Positionen der dreidimensionalen Kanten, die die Außenkanten der Fläche bilden, bewertet.
-
2. Zweite Ausführungsform
-
Eine Punktwolkedaten-Verarbeitungsvorrichtung, die mit einem dreidimensionalen Laserabtaster ausgestattet ist, wird im Folgenden beschrieben. Die gleichen Komponenten wie in der ersten Ausführungsform sind mit den gleichen Bezugszeichen wie im Fall der ersten Ausführungsform bezeichnet, wobei deren Beschreibungen im Folgenden weggelassen werden.
-
Aufbau der Punktwolkedaten-Verarbeitungsvorrichtung
-
Die Punktwolkedaten-Verarbeitungsvorrichtung emittiert rotierend Abstandsmesslicht (Laserlicht) zu einem Objekt und misst einen Abstand zu einem Zielpunkt auf den Objekt hiervon auf der Grundlage der Laufzeit des Laserlichts. Anschließend misst die Punktwolkedaten-Verarbeitungsvorrichtung die Immissionsrichtung (horizontaler Winkel und Elevation) des Laserlichts und berechnet dreidimensionale Koordinaten des Zielpunkts auf der Grundlage des Abstands und der Immissionsrichtung. Die Punktwolkedaten-Verarbeitungsvorrichtung nimmt zweidimensionale Bilder (RGB-Intensität jedes Zielpunkts) auf, die Fotografien des Objekts sind, und bildet Punktwolkedaten durch Verknüpfen der zweidimensionalen Bilder und der dreidimensionalen Koordinaten. Als nächstes erzeugt die Punktwolkedaten-Verarbeitungsvorrichtung dreidimensionale Polylinien, die aus den dreidimensionalen Kanten und den zweidimensionalen Kanten vor den gebildeten Punktwolkedaten gebildet sind.
-
Die 25 und 26 sind Querschnitte, die einen Aufbau der Punktwolkedaten-Verarbeitungsvorrichtung zeigen. Die Punktwolkedaten-Verarbeitungsvorrichtung 1 enthält eine Nivelliereinheit 22, einen Rotationsmechanismus 23, einen Hauptkörper 27 und eine Rotationsimmissionseinheit 28. Der Hauptkörper 27 wird von einer Abstandsmesseinheit 24, einer Bildgebungseinheit 25 und einer Steuereinheit 26 und dergleichen gebildet. Zur Vereinfachung der Beschreibung zeigt 26 die Punktwolkedaten-Verarbeitungsvorrichtung 1, in der nur die Rotationsimmissionseinheit 28 aus einer Seitenrichtung in Bezug auf die 25 gezeigte Querschnittsrichtung gezeigt ist.
-
Die Nivelliereinheit 22 weist eine Basisplatte 29 und ein unteres Gehäuse 30 auf. Das untere Gehäuse 30 wird durch die Basisplatte 29 an drei Punkten eines Stifts 31 und zweier Einstellschrauben 32 unterstützt. Das untere Gehäuse 30 ist auf einem Drehpunkt eines Kopfes des Stifts 31 kippbar. Eine Dehnungsfeder 33 ist zwischen der Basisplatte 29 und dem unteren Gehäuse 30 vorgesehen, so dass sich diese nicht voneinander trennen.
-
Zwei Nivelliermotoren 34 sind innerhalb des unteren Gehäuses 30 vorgesehen. Die zwei Nivelliermotoren 34 werden unabhängig voneinander durch die Steuereinheit 26 angesteuert. Durch Ansteuern der Nivelliermotoren 34 drehen sich die Einstellschrauben 32 über ein Nivellierantriebszahnrad 35 und ein Nivellierabtriebszahnrad 36, wobei die nach unten hervorstehenden Maße der Einstellschrauben 32 eingestellt werden. Außerdem ist ein Neigungssensor 37 (siehe 27) innerhalb des unteren Gehäuses 30 vorgesehen. Die zwei Nivelliermotoren 34 werden durch Erfassungssignale des Neigungssensors 37 angesteuert, wodurch eine Nivellierung durchgeführt wird.
-
Der Rotationsmechanismus 23 weist einen horizontalen Rotationsantriebsmotor 38 innerhalb des unteren Gehäuses 30 auf. Der horizontale Rotationsantriebsmotor 38 weist eine Abtriebswelle auf, in die ein horizontales Rotationsantriebszahnrad 39 eingesetzt ist. Das horizontale Rotationsantriebszahnrad 39 ist mit einem horizontalen Rotationszahnrad 40 in Eingriff. Das horizontale Rotationszahnrad 40 ist an einem Rotationswellenabschnitt 41 vorgesehen. Der Rotationswellenabschnitt 41 ist an den mittleren Abschnitt der rotierenden Basis 42 vorgesehen. Die rotierende Basis 42 ist an dem unteren Gehäuse 30 mittels eines Lagers 43 angebracht.
-
Der rotierende Wellenabschnitt 41 ist zum Beispiel mit einem Geber als horizontaler Winkelsensor versehen. Der horizontale Winkelsensor 44 misst einen relativen Drehwinkel (horizontaler Winkel) des Rotationswellenabschnitts 41 bezüglich des unteren Gehäuses 30. Der horizontale Winkel wird in die Steuereinheit 26 eingegeben, wobei die Steuereinheit 26 dem horizontalen Rotationsantriebsmotor 38 auf der Grundlage der Messergebnisse steuert.
-
Der Hauptkörper 27 weist ein Hauptkörpergehäuse 45 auf. Das Hauptkörpergehäuse 45 ist fest an der rotierenden Basis 42 befestigt. Ein Linsentubus 46 ist innerhalb des Hauptkörpergehäuses 45 vorgesehen. Der Linsentubus 46 weist ein Rotationszentrum auf, das konzentrisch mit dem Rotationszentrum des Hauptkörpergehäuses 45 ist. Das Rotationszentrum des Linsentubus 46 entspricht einer optischen Achse 47. Ein Strahlteiler 48 als Mittel zum Teilen des Lichtflusses ist innerhalb des Linsenroheres 46 vorgesehen. Der Strahlteiler 48 lässt sichtbares Licht durch und reflektiert Infrarotlicht. Die optische Achse 47 wird in eine optische Achse 49 und eine optische Achse 50 durch den Strahlteiler 48 geteilt.
-
Die Abstandsmesseinheit 24 ist am Außenumfangsabschnitt des Linsentubus 46 vorgesehen. Die Abstandsmesseinheit 24 weist eine Impulslaserlichtquelle 51 als lichtemittierenden Teil auf. Die Impulslaserlichtquelle 51 und der Strahlteiler 48 sind mit einem perforierten Spiegel 52 und einem dazwischen befindlichen Strahlenmittelteil-Änderungs-Optiksystem 53 versehen. Das Strahlenmittelteil-Änderungs-Optiksystem 53 ändert den Strahlmittelteildurchmesser des Laserlichts. Die Impulslaserlichtquelle 51, das Strahlenmittelteil-Änderungs-Optiksystem 53 und der perforierte Spiegel 52 bilden eine Abstandsmesslichtquelleneinheit. Der perforierte Spiegel 52 bringt Impulslaserlicht von einem Loch 52a zu dem Strahlteiler 48 und reflektiert Laserlicht, das an dem Objekt reflektiert wird und zurückgehrt, zu einem Abstandsmesslichtempfänger 54.
-
Die Impuls-Laser-Lichtquelle 51 wird von der Steuereinheit 26 gesteuert und emittiert infrarotes Impulslaserlicht entsprechend mit einem vergebenen Zeitablauf. Das infrarote Impulslaserlicht wird zu einem Elevationseinstell-Rotationspiegel 55 mittels des Strahlteilers 48 reflektiert. Der Elevationseinstell-Rotationsspiegel 55 reflektiert das Infrarote Impulslaserlicht zu dem Objekt. Der Elevationseinstell-Rotationsspiegel 55 dreht sich in der Elevationsrichtung und konvertiert somit die optische Achse 47, die sich in vertikaler Richtung erstreckt, in eine Flutlichtachse 56 in Elevationsrichtung. Eine Fokussierungslinse 57 ist zwischen dem Strahlteiler 48 und dem Elevationseinstell-Rotationsspiegel 55 innerhalb des Linsentubus 46 angeordnet.
-
Das von dem Objekt reflektierte Laserlicht wird über den Elevationseinstell-Rotationsspiegel 55, die Fokussierungslinse 57, dem Strahlteiler 48 und dem perforiertem Spiegel 52 zu dem Abstandsmesslichtempfänger 54 gelenkt. Außerdem wird auch ein Referenzlicht über einen inneren Referenzlichtweg zu den Abstandsmesslichtempfänger 54 gelenkt. Auf der Grundlage der Zeit, bis zu der das Laserlicht reflektiert wird und an dem Abstandsmesslichtempfänger 54 empfangen wird, und der Zeit, zu der das Laserlicht am Abstandsmesslichtempfänger 54 durch den inneren Referenzlichtweg empfangen wird, wird ein Abstand von der Punktwolkendaten-Verarbeitungsvorrichtung 1 zu dem Objekt gemessen.
-
Die Bildaufnahmeeinheit 25 weist einen Bildsensor 58 auf, der am Boden des Linsentubus 45 vorgesehen ist. Der Bildsensor 58 ist aus einer Vorrichtung gebildet, in der eine große Anzahl an Pixeln in flacher Weise zusammengefügt und angeordnet sind, wie zum Beispiel eine CCD (ladungsgekoppelte Vorrichtung). Die Position jedes Pixels des Bildsensors 58 wird durch die optische Achse 50 identifiziert. Zum Beispiel kann die optische Achse 50 als Ursprung verwendet werden, wobei eine X-Y-Koordinate angenommen wird, wodurch das Pixel als Punkt der X-Y-Koordinate definiert ist.
-
Die Rotationsemissionseinheit 28 ist in einem Flutlichtgehäuse 59 enthalten, von dem ein Teil der Umfangswand als Flutlichtfenster ausgeführt ist. Wie in 26 gezeigt ist, weist der Linsentubus 46 einen Flanschabschnitt 60 auf, an den zwei Spiegelhalteplatten 61 gegenüberliegend vorgesehen sind. Eine rotierende Welle 62 ist zwischen den Spiegelhalteplatten 61 angeordnet. Der Elevationseinstell-Rotationsspiegel 55 ist an der rotierenden Welle 52 befestigt. Die rotierende Welle 62 weist ein Ende auf, in das ein Elevationszahnrad 63 eingesetzt ist. Ein Elevationssensor 64 ist an der Seite des anderen Endes der rotierenden Welle 62 vorgesehen und misst einen Rotationswinkel des Elevationseinstell-Rotationspiegels 55 und gibt das Messergebnis an die Steuereinheit 26 aus.
-
Eine der Spiegelhalteplatten 61 ist mit einem Elevationseinstell-Antriebsmotor 65 montiert. Der Elevationseinstell-Antriebsmotor 65 weist eine Abtriebswelle auf, in die ein Antriebszahnrad 66 eingesetzt ist. Das Antriebszahnrad 66 ist mit einem Elevationszahnrad 63 in Eingriff. Der Elevationseinstell-Antriebsmotor 65 wird von der Steuereinheit 26 gesteuert und wird dadurch näherungsweise auf der Grundlage der Messergebnisse des Elevationssensors 64 angesteuert.
-
Eine Visiereinrichtung 67 ist an der Oberseite des Flutlichtgehäuses 59 vorgesehen. Die Visiereinrichtung 67 wird für eine Näherungsweise Kollimation bezüglich des Objekts verwendet. Die Kollimationsrichtung unter Verwendung der Visiereinrichtung 67, ist eine Einrichtung, die die Ausdehnungsrichtung der Flutlichtachse 56 und die Ausdehnungsrichtung der rotierenden Welle 62 senkrecht schneidet.
-
27 ist ein Blockdiagramm einer Steuereinheit. Die Steuereinheit 26 gibt Erfassungssignale vom Horizontalwinkelsensor 44, Elevationssensor 64 und Neigungssensor 37 ein. Die Steuereinheit 26 gibt ferner Anweisungssignale von der Steuervorrichtung 6 ein. Die Steuereinheit 26 treibt und steuert den Horizontalrotations-Antriebsmotor 38, den Elevationseinstell-Antriebsmotor 65 und den Nivelliermotor 34, und steuert ferner die Anzeigevorrichtung 7, die Betriebsbedingungen und Messergebnisse dergleichen anzeigt. Die Steuereinheit 26 ist mit einer abnehmbaren externen Speichervorrichtung, wie zum Beispiel einer Speicherkarte, einer HDD oder dergleichen versehen.
-
Die Steuereinheit 26 ist aus einer Verarbeitungseinheit 4, einen Speicher 5, einer Horizontalantriebseinheit 69 und einer Elevationsantriebseinheit 70, einer Nivellierantriebseinheit 71, einer Entfernungsdatenverarbeitungseinheit 72, einer Bilddatenverarbeitungseinheit 73 und dergleichen gebildet. Der Speicher 5 speichert verschiedene Programme, ein Integrier- und Steuerprogramm führt diese Programme und verschiedene Daten, wie zum Beispiel Messdaten, Bilddaten und dergleichen. Die Programme sind sequenzielle Programme, die zum Messen von Abständen, Elevationen und Horizontalwinkeln erforderlich sind, Rechnungsprogramme, Programme zum Ausführen einer Verarbeitung von Messdaten, Bildverarbeitungsprogramme, Bildanzeigeprogramme zum Anzeigen von Daten auf der Anzeigevorrichtung 7, und dergleichen. Die Horizontalantriebseinheit 69 treibt und steuert den Horizontalrotations-Antriebsmotor 38. Die Elevationsantriebseinheit 70 treibt und steuert den Elevationseinstell-Antriebsmotor 65. Die Nivellierantriebseinheit 71 treibt und steuert den Nivelliermotor 34. Die Abstandsdatenverarbeitungseinheit 72 verarbeitet Abstandsdaten, die von der Abstandsmesseinheit 24 erhalten werden, während die Bilddatenverarbeitungseinheit 73 Bilddaten verarbeitet, die von der Bildaufnahmeeinheit 25 erhalten werden.
-
28 ist ein Blockdiagramm der Verarbeitungseinheit. Die Verarbeitungseinheit 4 weist ferner eine Verknüpfungseinheit 75 und eine Gitterbildungseinheit 9 neben den in 1 gezeigten und in der ersten Ausführungsform beschriebenen Komponenten auf. Die Verknüpfungsbildungseinheit 75 gewinnt die Abstandsdaten von der Abstandsdatenverarbeitungseinheit 72 und gewinnt ferner Richtungsdaten (horizontaler Winkel und Elevation) vom Horizontalwinkelsensor 44 und vom Elevationssensor 64. Die Verknüpfungsbildungseinheit 75 berechnet dreidimensionale Koordinaten (orthogonale Koordinaten) jedes Zielpunks mit einem Ursprung (0, 0, 0) an der Position der Punktwolkendaten-Verarbeitungsvorrichtung 1 auf der Grundlage der gewonnen Abstandsdaten und der Richtungsdaten. Wenn z. B. ein Abstand als ”r” dargestellt wird, wird ein horizontaler Winkel als ”ϕ” dargestellt, wobei eine Elevation als ”θ” dargestellt wird, und wobei dreidimensionale Koordinaten (x, y, z) eines Zielpunkts durch die folgende fünfte Formel gewonnen werden. x = rsinθcosϕ
y = rsinθsinϕ
z = rcosθ Fünfte Formel
-
Die Verknüpfungsbildungseinheit 75 gewinnt ferner die Bilddaten von der Bilddatenverarbeitungseinheit 73. Die Verknüpfungsbildungseinheit 75 bildet Punktwolkedaten 2, in denen Bilddaten (RGB-Intensität jedes Zielpunkts) mit den dreidimensionalen Koordinaten verknüpft sind. Die Punktwolkedaten-Verarbeitungsvorrichtung 1 kann Punktwolkedaten 2 des Objekts erfassen, die aus unterschiedlichen Richtungen bemessen worden sind. Wenn daher eine Messrichtung als ein Block dargestellt ist, bestehen die Punktwolkedaten 2 aus zweidimensionalen Bildern und dreidimensionalen Koordinaten mehrerer Blöcke.
-
29 ist eine Ansicht, die eine Verknüpfungsstruktur von dreidimensionalen Koordinaten und zweidimensionalen Bildern der Punktwolkedaten zeigt. Die Figuren auf der linken Seite in 29 ist eine Struktur von zweidimensionalen Daten, während die Figuren auf der rechten Seite in 29 eine Struktur dreidimensionaler Daten ist. Die zweidimensionalen Daten bestehen aus einer Nummer des Blocks (blk), Blockgrößen (nx, ny), einer Transformationsmatrix (RT), einer Indexmatrix (IDX), gespeicherten Punkten (pts), Originalbildern (rgb, r, g, b, u), verarbeiteten Bildern (nvx, nvy, nvz, fe, mdx, mdy, mdz, crx, cry, crz, crv), einer Anzahl zweidimensionaler Kanten (eds), einer Anzahl von Punkten, die die zweidimensionalen Kanten bilden (ne), und einer Liste zweidimensionaler Kantenpunkte.
-
Die Anzahl der Blöcke (blk) repräsentiert die Anzahl der Messrichtungen, während die Blockgrößen (nx, ny) eine Bildgröße (Anzahl der horizontalen und vertikalen Pixel) in einem Block repräsentieren. Die Transformationsmatrix (RT) repräsentiert eine Transformationsmatrix 4×4, die für eine affine Transformation von Punktwolkedaten 2 eines zweiten Blocks und nachfolgender Blöcke in ein Koordinatensystem eines ersten Blocks verwendet wird. Die Indexmatrix (IDX) ist ein Index, der verwendet wird, um auf ein zweidimensionales Bild eines Blocks für dreidimensionale Koordinaten (x, y, z) Bezug zu nehmen. Die gespeicherten Punkte (pts) repräsentieren die Anzahl der Punkte, die einem Block gespeichert sind. Das Originalbild besteht aus RGB-Intensitätswerten (rgb, r, g, b) und deren Helligkeit (u).
-
Gemäß der Verarbeitung, die in der ersten Ausführungsform beschrieben worden ist, werden die verarbeiteten Bilder in den zweidimensionalen Daten gespeichert. Die verarbeiteten Bilder bestehen aus Intensitätswerten der drei Achsen von Normalvektoren (nvx, nvy, nvz), den Passgenauigkeiten zu lokalen Flächen (fe), grauskalen-verarbeiteten (0.255) Mittelwerten (mdx, mdy, mdz) der drei Achsen der Normalvektoren in lokalen Bereichen, grauskalen-verarbeiteten (0.255) Standardabweichungen (crx, cry, crz) der drei Achsen der Normalvektoren in den lokalen Bereichen, und lokalen Krümmungen (crv) der Normalvektoren in den lokalen Bereichen.
-
Gemäß der Verarbeitung des Extrahierens der zweidimensionalen Kanten, wie in der ersten Ausführungsform beschrieben, wird anschließend die Anzahl der zweidimensionalen Kanten (eds) in den zweidimensionalen Daten gespeichert. Außerdem werden auch die Anzahl der Punkte, die die zweidimensionalen Kanten bilden (ne) und eine Liste der zweidimensionalen Kantenpunkte (ILIST) in den zweidimensionalen Daten gespeichert. Die RGB-Intensitätswerte und die Helligkeit (rgb, r, g, b, u) jedes Punkts können aus der Liste der zweidimensionalen Kantenpunkte wiedergewonnen werden.
-
Andererseits bestehen die dreidimensionalen Daten aus einer Gesamtzahl von Punkten (n), dreidimensionalen Koordinaten (x, y, z), Blocknummern (blk), Positionen in einem Bild (i, j), verarbeiteten Daten (nvx, nvy, nvz, fe, mdx, mdy, mdz, mnvx, mnvy, mnvz, sdnvx, sdnvy, sdnvz, crv) und einer internen Indexmatrix (IDXPT).
-
Die Gesamtzahl der Punkte (n) ist die Gesamtzahl der Punkte aller Blöcke, wobei alle Punkte in dreidimensionale Koordinaten (x, y, z) des Koordinatensystems des ersten Blocks transformiert sind. Die RGB-Intensitätswerte und die Helligkeit (rgb, r, g, b, u) jedes Punkts kann anhand der Blocknummer (blk) und der Positionen (i, j) in dem Bild wiedergewonnen werden. Die interne Indexmatrix (IDXPT) ist ein Index zur Wiedergewinnung einer Identifizierungsnummer des Punkts (ptid).
-
Gemäß der in der ersten Ausführungsform beschriebenen Verarbeitung werden die verarbeiteten Daten in den dreidimensionalen Daten gespeichert. Die verarbeiteten Daten bestehen aus Intensitätswerten der drei Achsen der Normalvektoren (nvx, nvy, nvz), Passgenauigkeiten zu lokalen Flächen (fe), grauskalen-verarbeiteten (0.255) Mittelwerten (mdx, mdy, mdz) der drei Achsen der Normalvektoren in den lokalen Bereichen, Mittelwerten (mnvx, mnvy, mnvz) der drei Achsen der Normalvektoren in den lokalen Bereichen, Standardabweichungen (sdnvx, sdnvy, sdnvz) der drei Achsen der Normalvektoren in den lokalen Bereichen, und lokalen Krümmungen der Normalvektoren in den lokalen Bereichen.
-
Gemäß der Verarbeitung des Extrahierens der dreidimensionalen Kanten, wie in der ersten Ausführungsform beschrieben, wird anschließend die Anzahl der dreidimensionalen Kanten (eds) in den dreidimensionalen Daten gespeichert. Außerdem werden die Anzahl der Punkte, die die dreidimensionalen Kanten bilden (ne) und eine Liste der dreidimensionalen Kantenpunkte (ELIST) ebenfalls in den dreidimensionalen Daten gespeichert. Die dreidimensionalen Koordinaten (x, y, z) jedes Punkts können aus der Liste der dreidimensionalen Kantenpunkte (ELIST) wiedergewonnen werden.
-
Wie in 28 gezeigt ist, gibt die Verknüpfungsbildungseinheit 75 die obigen Punktwolkedaten 2 an die Gitterbildungseinheit 9 aus. Die Gitterbildungseinheit 9 bildet ein Gitter (Maschen) mit gleichen Abständen und registriert die nächstliegenden Punkte auf den Schnittpunkten des Gitters, wenn Abstände zwischen benachbarten Punkten der Punktwolkedaten 2 nicht konstant sind. Alternativ korrigiert die Gitterbildungseinheit 9 alle Punkte auf die Schnittpunkte des Gitters unter Verwendung eines linearen Interpolationsverfahrens oder eines bi-kubischen Verfahrens. Wenn die Abstände zwischen den Punkten der Punktwolkedaten 2 konstant sind, kann die Verarbeitung der Gitterbildungseinheit 9 ausgelassen werden.
-
Eine Verarbeitung des Bildens des Gitters wird im Folgenden beschrieben. 30 zeigt Punktwolkedaten, in denen Abstände zwischen den Punkten nicht konstant sind, während 31 ein gebildetes Gitter zeigt. Wie in 30 gezeigt ist, wird ein durchschnittlicher Horizontalwinkel H1-N jeder Linie erhalten, wobei eine Differenz ΔHi,j der mittleren horizontalen Winkel zwischen den Linien berechnet wird. Anschließend wird die Differenz ΔHi,j gemittelt und als horizontaler Abstand ΔH des Gitters erhalten (sechste Formel). Bezüglich der Abstände in vertikaler Richtung wird eine Abstand ΔVN,H zwischen benachbarten Punkten in jeder Linie in vertikaler Richtung berechnet. Anschließend wird ein Mittelwert von ΔVN,H in dem gesamten Bild einer Bildgröße W, H als vertikaler Abstand ΔV erhalten (siebte Formel). Wie in 31 gezeigt ist, wird ein Gitter mit dem berechneten horizontalen Abstand ΔH und dem vertikalen Abstand ΔV gebildet.
-
-
-
Als nächstes werden die nächstliegenden Punkte auf den Schnittpunkten des gebildeten Gitters registriert. In diesem Fall werden vorgegebene Schwellenwerte für Abstände von jedem Punkt zu den Schnittpunkten festgelegt, um somit das Register der Punkte zu begrenzen. Zum Beispiel können die Schwellenwerte auf die Hälfte des horizontalen Abstands ΔH und die Hälfte des vertikalen Abstands ΔV festgelegt werden. Wie in dem Fall des linearen Interpolationsverfahrens und des bi-kubischen Verfahrens können alle Punkte korrigiert werden durch Gewichtung entsprechend der Abstände zu den Schnittpunkten. In diesem Fall, wenn eine Interpolation durchgeführt wird, sind die Punkte nicht unbedingt gemessene Punkte.
-
32 ist eine Fotografie anstelle einer Zeichnung, die Punktwolken zeigt, die auf Schnittpunkten eines Gitters in einem dreidimensionalen Raum registriert sind. 33 ist eine Fotografie anstelle einer Zeichnung, die Punktwolken zeigt, die auf Schnittpunkten eines Gitters in einem zweidimensionalen Raum registriert sind. 33 zeigt schwarze Pixel, die anzeigen, dass kein Verlust an gemessenen Daten in den Punktwolkedaten 2 vorliegt, oder dass keine Umgebungspunkte innerhalb begrenzter Abstände von den Schnittpunkten des Gitters vorliegen.
-
Vorteile der zweiten Ausführungsform
-
Vorteile der zweiten Ausführungsform werden im Folgenden beschrieben. Gemäß der zweiten Ausführungsform werden Punktwolkedaten, die aus zweidimensionalen Bildern und dreidimensionalen Koordinaten bestehen, durch den dreidimensionalen Laserabtaster erhalten. Die Punktwolkedaten werden gebildet durch Verknüpfen zweidimensionaler Bilder und dreidimensionaler Koordinaten. Somit werden dreidimensionale Kanten, die dreidimensionale Formen bilden, auf der Grundlage der dreidimensionalen Koordinaten extrahiert. Außerdem werden zweidimensionale Kanten (Punkte und Linien, deren Farbdichten sich plötzlich ändern), die Figuren innerhalb der Flächen bilden, auf der Grundlage der zweidimensionalen Bilder extrahiert. Während demensprechend die zweidimensionalen Kanten und die dreidimensionalen Kanten gleichzeitig angezeigt werden, wird eine Extraktion und Prüfung durchgeführt (24).
-
Wenn außerdem Abstände zwischen Punkten der Punktwolkedaten nicht konstant sind, wird ein Gitter mit gleichen Abständen gebildet, wobei die nächstliegenden Punkte auf den Schnittpunkten des Gitters registriert werden. Demensprechend werden die Abstände zwischen den Punkten der Punktwolkedaten korrigiert.
-
3. Dritte Ausführungsform
-
Eine Punktwolkedaten-Verarbeitungsvorrichtung, die mit einer Bildmesseinheit versehen ist, wird im Folgenden beschrieben. Die gleichen Komponenten wie in den ersten und zweiten Ausführungsformen sind mit denselben Bezugszeichen wie im Fall der ersten und zweiten Ausführungsformen bezeichnet, wobei deren Beschreibungen im Folgenden weggelassen werden.
-
Aufbau der Punktwolkedaten-Verarbeitungsvorrichtung
-
Die Punktwolkedaten-Verarbeitungsvorrichtung fotografiert ein Objekt aus verschiedenen Richtungen in überlappenden Fotografiebereichen und gleicht Merkmalspunkte in den überlappenden Bildern ab. Anschließend berechnet die Punktwolkedaten-Verarbeitungsvorrichtung dreidimensionale Koordinaten, deren Merkmalspunkte auf der Grundlage der Position und der Richtung einer Fotografiereinheit und der Positionen der Merkmalspunkte in den überlappenden Bildern. Die Position und Richtung der Fotografiereinheit werden vorläufig berechnet. Als nächstes identifiziert die Punktwolkedaten-Verarbeitungsvorrichtung Fehlabgleichspunkte auf der Grundlage der Ungleichheit der Merkmalspunkte in den überlappenden Bildern, den Messraum und einer Referenzform, um somit Punktwolkedaten zu bilden. Die Punktwolkedaten enthalten zweidimensionale Bilder und dreidimensionale Koordinaten, die miteinander verknüpft sind. Außerdem erzeugt die Punktwolkedaten-Verarbeitungsvorrichtung dreidimensionale Polylinien, die aus dreidimensionalen Kanten und zweidimensionalen Kanten bestehen, aus den Punktwolkedaten.
-
34 ist ein Blockdiagramm, das einen Aufbau der Punktwolkedaten-Verarbeitungsvorrichtung zeigt. Die Punktwolkedaten-Verarbeitungsvorrichtung ist mit Fotografiereinheiten 76, 77, einem Merkmalsprojektor 78, einer Bilddatenverarbeitungseinheit 73, einer Verarbeitungseinheit 4, einem Speicher 5, einer Steuervorrichtung 6, einer Anzeigevorrichtung 7 und einer Datenausgabeeinheit 8 versehen. Die Fotografiereinheiten 76, 77 können digitale Kameras, Videokameras, CCD-Kameras (Kameras mit ladungsgekoppelter Vorrichtung) für industrielle Messungen, CMOS-Kameras (Kameras mit komplementärem Metall-Oxid-Halbleiter) oder dergleichen sein. Die Fotografiereinheiten 76, 77 fotografieren ein Objekt aus unterschiedlichen Fotografierpositionen, um somit die Fotografierbereiche zu überlappen. Die Anzahl der Fotografiereinheiten kann gleich 1 oder größer sein, entsprechend der Größe und der Form des Objekts.
-
Der Merkmalsprojektor 78 kann ein Projektor, eine Lasereinheit oder dergleichen sein. Der Merkmalsprojektor 78 projiziert Zufallspunktmuster, Muster eines punktartigen Strahlers oder eines Schlitzlichtes oder dergleichen auf das Objekt. Als Ergebnis werden Bereiche mit weniger Merkmalen des Objekts charakterisiert. Dies kann in erster Linie in Fällen einer präzisen Messung künstlicher Objekte mittlerer bis kleiner Größe mit wenigen Mustern verwendet werden. Bei Messungen von relativ großen Objekten, normalerweise im Freien, und in Fällen, in denen eine präzise Messung nicht erforderlich ist, oder in Fällen, in denen das Objekt Merkmale aufweist oder Muster auf das Objekt angewendet werden können, braucht der Merkmalsprojektor 78 nicht verwendet werden.
-
Die Bilddatenverarbeitungseinheit 73 transformiert die überlappenden Bilder, die von den Fotografiereinheiten 76 und 77 fotografiert worden sind, zu Bilddaten, so dass die Verarbeitungseinheit 4 diese verarbeiten kann. Der Speicher 5 speichert verschiedene Programme und verschiedene Daten, wie zum Beispiel Punktwolkedaten und Bilddaten. Die Programme sind Programme zum Messen von Fotografierposition und Richtung, sowie Programme zum Extrahieren von Merkmalspunkten aus den überlappenden Bildern und zum Abgleichen derselben. Außerdem enthalten die Programme Programme zum Berechnen dreidimensionaler Koordinaten auf der Grundlage der Fotografierposition und der Richtung und der Positionen der Merkmalspunkte in den überlappenden Bildern. Außerdem enthalten die Programme Programme zum Identifizieren Fehlabgleichspunkte und zum Bilden von Punktwolkedaten, sowie Programme zum Extrahieren von Flächen aus den Punktwolkedaten und zum Extrahieren dreidimensionaler Kanten und zweidimensionaler Kanten. Ferner enthalten die Programme Programme zum Anzeigen integrierter Kanten auf der Anzeigevorrichtung 7.
-
Die Steuervorrichtung 6 gibt Anweisungssignale an die Verarbeitungseinheit 4 aus. Die Anzeigeeinheit 7 zeigt verarbeitete Daten der Verarbeitungseinheit 4 an, wobei die Datenausgabeeinheit 8 die verarbeiteten Daten der Verarbeitungseinheit 4 ausgibt. Die Verarbeitungseinheit 4 gewinnt die Bilddaten von der Bilddatenverarbeitungseinheit 73.
-
Die Verarbeitungseinheit 4 misst die Position und die Richtung der Fotografiereinheiten 76, 77 auf der Grundlage fotografierter Bilder eines Kalibrierungsobjekts 79, wenn zwei oder mehr feststehende Kameras verwendet werden. Außerdem extrahiert die Verarbeitungseinheit 4 Merkmalspunkte von innerhalb der überlappenden Bilder des Objekts und gleich diese ab. Wenn eine oder mehrere nicht feststehende Kameras verwendet werden, werden zwei oder mehr Bilder fotografiert, wobei mehrere abgeglichene Punkte (6 oder mehr Punkte) in jedem Bild detektiert werden. Anschließend berechnet die Verarbeitungseinheit 4 die Position und die Richtung der Fotografiereinheiten 76, 77. Die Verarbeitungseinheit 4 berechnet dreidimensionale Koordinaten des Objekts auf der Grundlage der berechneten Position und der Richtung und die Position der Merkmalspunkte in den überlappenden Bildern, um somit Punktwolkedaten 2 zu bilden. Außerdem extrahiert die Verarbeitungseinheit 4 Flächen aus den Punktwolkedaten 2, und extrahiert und integriert anschließend dreidimensionale Kanten und zweidimensionale Kanten, um somit dreidimensionale Polylinien des Objekts zu erzeugen.
-
35 ist ein Blockdiagramm der Verarbeitungseinheit. Die Verarbeitungseinheit 4 weist die folgenden Komponenten zusätzlich zu den in 1 gezeigten Komponenten auf. Das heißt, die Verarbeitungseinheit 4 enthält ferner eine Fotografierpositions- und Richtungsmesseinheit 81, eine Merkmalspunktabgleicheinheit 82, eine Hintergrundentfernungseinheit 83, eine Merkmalspunktextraktionseinheit 84 und eine Abgleichspunkt-Einheit 85. Die Verarbeitungseinheit 4 weist ferner eine Dreidimensionale-Koordinate-Berechnungseinheit 86, eine Fehlangepasster-Punkt-Identifizierungseinheit 87, eine Ungleichheitsbewertungseinheit 88, eine Raumauswertungseinheit 89 und eine Formauswertungseinheit 90 auf.
-
Die Fotografierpositions- und Richtungsmesseinheit 81 gewinnt fotografierte Bilder des Kalibrierungsobjekts 79 aus der Bilddatenverarbeitungseinheit 73, wenn zwei oder mehr feststehende Kameras verwendet werden. Das Kalibrierungsobjekt 79 ist mit Zielen 80 versehen (Retroziel, Codeziel oder Farbcodeziel) an vorgegebenen Abständen. Die Fotografierpositions- und Richtungsmesseinheit 81 detektiert Bildkoordinaten der Ziele 80 aus den fotografierten Bildern des Kalibrierungsobjekts 79 und misst Position und Richtung der Fotografiereinheiten 76, 77 durch allgemein bekannte Verfahren. Das Verfahren kann ein relatives Orientierungsverfahren, ein Einzelfotoorientierungs- oder ein DLT-Verfahren (DLT = direkte lineare Transformation), oder ein Bündeleinstellungsverfahren sein. Das relative Orientierungsverfahren, das Einzelfotoorientierungs- oder das DLT-Verfahren, sowie das Bündeleinstellungsverfahren können separat oder in Kombination verwendet werden. Wenn eine oder mehrere nicht feststehende Kameras verwendet werden, werden zwei oder mehr Bilder fotografiert, wobei mehrere abgeglichene Punkte (6 oder mehr Punkte) in jedem Bild detektiert werden. Anschließend löst die Fotografierpositions- und Richtungsmesseinheit 81 die Position und die Richtung der Fotografiereinheiten 76, 77 durch allgemein bekannte Verfahren. Das Verfahren kann ein relatives Orientierungsverfahren, ein Einzelfotoorientierungs- oder ein DLT-Verfahren oder ein Bündeleinstellungsverfahren sein. Das relatives Orientierungsverfahren, das Einzelfotoorientierungs- oder DLT-Verfahren und das Bündeleinstellungsverfahren können separat oder in Kombination verwendet werden.
-
Die Merkmalspunktabgleicheinheit 82 gewinnt die überlappenden Bilder des Objekts von der Bilddatenverarbeitungseinheit 73 und extrahiert anschließend Merkmalspunkte des Objekts aus den überlappenden Bildern und gleicht diese ab. Die Merkmalspunktabgleicheinheit 82 wird von der Hintergrundentfernungseinheit 83, der Merkmalspunktextraktionseinheit 84 und der Abgleichspunkt-Sucheinheit 85 gebildet. Die Hintergrundentfernungseinheit 83 erzeugt ein Bild ohne Hintergrund, in dem nur das Objekt enthalten ist. In diesem Fall wird ein Hintergrundbild, in dem das Objekt nicht enthalten ist, von dem fotografierten Bild des Objekts subtrahiert. Alternativ werden von einem Operator mit der Steuervorrichtung 6 Zielpositionen ausgewählt, oder es werden Zielpositionen automatisch extrahiert unter Verwendung von Modellen, die im Voraus registriert sind, oder durch automatisches Detektieren von Bereichen mit reichlich vorhandenen Merkmalen. Es ist nicht notwendig, den Hintergrund zu entfernen, wobei die Verarbeitung der Hintergrundentfernungseinheit 26 weggelassen werden kann.
-
Die Merkmalspunktextraktionseinheit 84 extrahiert Merkmalspunkte aus dem Bild ohne Hintergrund. Um die Merkmalspunkte zu extrahieren, wird ein Differenzierungsfilter verwendet, wie zum Beispiel Sobel, Laplace, Prewitt und Roberts. Die Abgleichspunkt-Sucheinheit 85 sucht abgeglichene Punkte, die dem aus einem Bild extrahierten Merkmalspunkten entsprechen, in dem anderen Bild. Um die abgeglichenen Punkte zu suchen, wird ein Musterabgleichverfahren verwendet, wie zum Beispiel ein sequenzielles Ählichkeitserfassungsalgorithmus-Verfahren (SSDA), ein normalisiertes Korrelationsverfahren oder ein Orientierungscodeabgleich (OCM).
-
Die Dreidimensionale-Koordinate-Berechnungseinheit 86 berechnet dreidimensionale Koordinaten jedes Merkmalspunkts auf der Grundlage der Position und der Richtung der Fotografiereinheiten 76, 77, die von der Fotografierpositions- und Richtungsmesseinheit 81 gemessen werden. Diese Berechnung wird auch auf der Grundlage von Bildkoordinaten der Merkmalspunkte durchgeführt, die von der Merkmalspunktabgleicheinheit 82 abgeglichen werden. Die Fehlanpassungs-Punkt-Identifizierungseinheit 87 identifiziert Fehlabgleichspunkte auf der Grundlage wenigstens einer Ungleichheit, des Messraums und einer Referenzform. Die Fehlanpassungs-Punkt-Identifizierungseinheit 87 wird von der Ungleichheitsbewertungseinheit 88, der Raumbewertungseinheit 89 und der Formbewertungseinheit 90 gebildet.
-
Die Ungleichheitsbewertungseinheit 88 bildet ein Histogramm der Ungleichheit der Merkmalspunkte, die in den überlappenden Bildern abgeglichen worden sind. Anschließend identifiziert die Ungleichheitsbewertungseinheit 88 Merkmalspunkte, deren Ungleichheit außerhalb eines vorgeschriebenen Bereichs ausgehend von einem Mittelwert der Ungleichheit liegt, als Fehlabgleichspunkte. Zum Beispiel kann ein Mittelwert ± 1,5 σ (Standardabweichung) als Schwellenwert gesetzt werden. Die Raumbewertungseinheit 89 definiert einen Raum innerhalb eines vorgegebenen Abstands vom Schwerpunkt des Kalibrierungsobjekts 79 als Messraum. Außerdem identifiziert die Raumbewertungseinheit 89 Merkmalspunkte als Fehlabgleichspunkte, wenn dreidimensionale Koordinaten der Merkmalspunkte, die von der Dreidimensionale-Koordinaten-Berechnungseinheit 86 berechnet worden sind, außerhalb des Messraums liegen. Die Formbewertungseinheit 90 bildet oder gewinnt eine Referenzform (grobe Fläche) des Objekts aus den dreidimensionalen Koordinaten der Merkmalspunkte, die von der Dreidimensionale-Koordinate-Berechnungseinheit 86 berechnet worden sind. Außerdem identifiziert die Formbewertungseinheit 90 Fehlabgleichspunkte auf der Grundlage von Abständen zwischen der Referenzform und den dreidimensionalen Koordinaten der Merkmalspunkte. Zum Beispiel wird ein TIN (trianguliertes irreguläres Netzwerk) mit einer Seite nicht kleiner als eine vorgegebene Länge auf der Grundlage der Merkmalspunkte gebildet. Anschließend wird das TIN mit einer langen Seite entfernt, wodurch grobe Flächen gebildet werden. Als nächstes werden Fehlabgleichspunkte auf der Grundlage von Abständen zwischen den groben Flächen und dem Merkmalspunkten identifiziert.
-
Die Fehlabgleichspunkte, die von der Fehlabgleichspunkt-Identifizierungseinheit 87 identifiziert werden, werden entfernt, wodurch Punktwolkedaten 2 gebildet werden. Wie in der zweiten Ausführungsform beschrieben, weisen die Punktwolkedaten 2 eine direkt verknüpfte Struktur auf, in der die zweidimensionalen Bilder mit dreidimensionalen Koordinaten verknüpft sind. Wenn Abstände zwischen benachbarten Punkten der Punktwolkedaten 2 nicht konstant sind, wie in der zweiten Ausführungsform beschrieben, muss die Verarbeitungseinheit 4 die Gitterbildungseinheit 9 zwischen der Fehlabgleichspunkt Identifizierungseinheit 87 und der Flächenextraktionseinheit 10 aufweisen. In diesem Fall bildet die Gitterbildungseinheit 9 ein Gitter (Maschen) mit gleichen Abständen und registriert die nächstliegenden Punkte auf den Schnittpunkten des Gitters. Anschließend, wie in der ersten Ausführungsform beschrieben worden ist, werden Flächen aus den Punktwolkedaten 2 extrahiert, wobei dreidimensionale Kanten und zweidimensionale Kanten extrahiert und integriert werden.
-
Vorteile der dritten Ausführungsform
-
Im Folgenden werden Vorteile der dritten Ausführungsform beschrieben. Gemäß der dritten Ausführungsform werden Punktwolkedaten durch die Bildmesseinheit erhalten, die aus zweidimensionalen Bildern und dreidimensionalen Koordinaten bestehen.
-
4. Vierte Ausführungsform
-
Beim Modifikationsbeispiel des Verfahrens zum Extrahieren dreidimensionaler Kanten wird im Folgenden beschrieben. Das Modifikationsbeispiel ist ein weiteres Beispiel des Verfahrens zum Extrahieren dreidimensionaler Formen eines Objekts auf der Grundlage gekennzeichneter Flächen. Die gleichen Komponenten, wie in den ersten bis dritten Ausführungsformen, sind mit denselben Bezugszeichen wie im Fall der ersten bis dritten Ausführungsformen bezeichnet, wobei deren Beschreibungen im Folgenden weggelassen werden.
-
36A zeigt eine scharfe dreidimensionale Kante einer geraden Linie, 36B ist eine sanfte dreidimensionale Kante einer geraden Linie, 36C zeigt eine scharfe dreidimensionale Kante einer gekrümmten Linie, und 36B zeigt eine sanfte dreidimensionale Kante einer gekrümmten Linie. 37 ist ein Querschnitt einer sanften dreidimensionalen Kante.
-
Die 36A und 36C zeigen scharfe dreidimensionale Kanten mittels durchgezogener Linien. Wie im Dreidimensionale-Kante-Extraktionsschritt 9 in 1 beschrieben, werden die scharfen dreidimensionalen Kanten als Schnittlinien von Flächen (Schnittlinien eines Paares einer flachen Fläche und einer flachen Fläche, eines Paares einer flachen Fläche und einer gekrümmten Fläche, und eines Paares einer gekrümmten Fläche und einer gekrümmten Fläche) extrahiert. Andererseits zeigen die 36B und 36D sanfte dreidimensionale Kanten mittels gestrichelter Linien. Wie in 37 gezeigt ist, ist jede sanfte dreidimensionale Kante eine virtuelle dreidimensionale Kante 93 einer Schnittlinie der Flächen 91 und 92, die im Flächenextraktionsschritt S10 in 1 extrahiert worden sind. Alternativ kann eine Gleichung für eine Säule 94 berechnet werden, die die Flächen 91 und 92 berührt und Punkte außerhalb der Flächen 91 und 92 aufweist, wobei eine wirkliche dreidimensionale Kante 95 auf der Grundlage des Radius der Säule 94 erhalten werden kann.
-
Vorteile der vierten Ausführungsform
-
Im Folgenden werden Vorteile der vierten Ausführungsform beschrieben. Gemäß der vierten Ausführungsform werden dreidimensionale Kanten mit erhöhter Genauigkeit entsprechend der Art der dreidimensionalen Kanten extrahiert.
-
Gewerbliche Anwendbarkeit
-
Die vorliegende Erfindung kann für Techniken der Erzeugung von Daten von dreidimensionalen Formen von Objekten aus Punktwolkedaten derselben verwendet werden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 2000-509150 [0002, 0003]
- JP 2004-272459 [0002, 0004]
- JP 2005-024370 [0002, 0005]