DE102016116572A1 - Alignment of point clouds to the modeling of interiors - Google Patents
Alignment of point clouds to the modeling of interiors Download PDFInfo
- Publication number
- DE102016116572A1 DE102016116572A1 DE102016116572.7A DE102016116572A DE102016116572A1 DE 102016116572 A1 DE102016116572 A1 DE 102016116572A1 DE 102016116572 A DE102016116572 A DE 102016116572A DE 102016116572 A1 DE102016116572 A1 DE 102016116572A1
- Authority
- DE
- Germany
- Prior art keywords
- source
- point cloud
- points
- target
- histogram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 238000013519 translation Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000006073 displacement reaction Methods 0.000 claims abstract description 18
- 239000013598 vector Substances 0.000 claims description 28
- 238000004364 calculation method Methods 0.000 claims description 24
- 230000005484 gravity Effects 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000000513 principal component analysis Methods 0.000 claims description 5
- 238000013459 approach Methods 0.000 description 11
- 230000009466 transformation Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 230000001427 coherent effect Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
Die vorliegende Erfindung betrifft ein Verfahren zum Ermitteln einer Ausrichtung einer Sourcepunktwolke im Verhältnis zu einer Targetpunktwolke, wobei die Source- und die Targetpunktwolke jeweils Teilmodelle von Innenräumen einer Baustruktur darstellen und jeweils bezüglich einer Gravitationsachse ausgerichtet sind und zumindest eine kleine Überlappung bezüglich der tatsächlichen Gebäudegeometrie aufweisen. In einem ersten Schritt wird ein Sourcesignaturhistogramm der Sourcepunktwolke mit einem Targetsignaturhistogramm der Targetpunktwolke kreuzkorreliert, um eine Rotation der Sourcepunktwolke zu ermitteln. In einem zweiten Schritt wird anhand von Punktpaaren ein Translationshistogramm berechnet, wobei jedes Punktpaar einen Sourcepunkt aus der Sourcepunktwolke und einen Targetpunkt aus der Targetpunktwolke umfasst, um eine Verschiebung der Sourcepunktwolke zu ermitteln.The present invention relates to a method for determining an orientation of a source point cloud relative to a target point cloud, wherein the source and the target point cloud each represent partial models of interiors of a building structure and each aligned with respect to a gravitational axis and at least have a small overlap with respect to the actual building geometry. In a first step, a source signature histogram of the source point cloud is cross-correlated with a target signature histogram of the target point cloud to determine rotation of the source point cloud. In a second step, a translation histogram is calculated based on pairs of points, each point pair comprising a source point from the source point cloud and a target point from the target point cloud, in order to determine a displacement of the source point cloud.
Description
Technisches Gebiet Technical area
Die vorliegende Erfindung betrifft ein Verfahren zum Ausrichten zweier zumindest teilweise überlappender Punktwolken. The present invention relates to a method for aligning two at least partially overlapping point clouds.
Die Digitalisierung von Innenräumen in Form von dreidimensionalen (3D) Scanaufnahmen hat in den letzten Jahren viele Fortschritte gemacht, insbesondere dank der Entwicklung von akkuraten 3D-Raumscanner und 3D-Bildverarbeitungapparaten sowie der Konzeption effizienter Algorithmen für das Zusammenfügen mehrerer einzelner Scanaufnahmen in ein umfassendes 3D-Modell. Solche 3D-Modelle von Innenräumen werden in mehreren neuen Technologien eingesetzt, beispielsweise bei der Navigation von Innenräumen oder bei der Orientierung verschiedener Serviceroboter. Ebenso werden bestehende Arbeitsgebiete, wie beispielsweise die Gebäudewartung, davon profitieren, akkurate 3D-Modelle in kurzer Zeit aufnehmen zu können. In Hinblick auf diese Vorteile eignen sich insbesondere größere Innenräume sowie Einkaufszentren, Museen und Firmengebäude für die 3D-Kartierung. Derartige Innenräume weisen Raumelemente, wie zum Beispiel Decken, Böden, Wände bzw. Gänge, auf. The digitization of interiors in the form of three-dimensional (3D) scan recordings has made much progress in recent years, in particular thanks to the development of accurate 3D space scanners and 3D image processing apparatus, as well as the design of efficient algorithms for merging multiple individual scan scans into a comprehensive 3D scan. Model. Such 3D interior models are used in several new technologies, for example, in the navigation of interiors or in the orientation of various service robots. Similarly, existing work areas, such as building maintenance, will benefit from being able to record accurate 3D models in a short time. In view of these advantages, in particular larger interiors as well as shopping centers, museums and company buildings are suitable for 3D mapping. Such interiors have room elements, such as ceilings, floors, walls or corridors, on.
Solche großen Baustrukturen werden normalerweise nicht mit einer einzigen Aufnahme gescannt. Beim Einscannen gibt es technische Beschränkungen, wie Drifts (kleine Rechnungsfehler, die sich mit der Zeit anhäufen), begrenzte Speicherkapazität und begrenzte Rechenleistung. Es bestehen außerdem physikalische Beschränkungen, die die Bewegungseinschränkungen der Scaneinrichtung umfassen; beispielsweise können auf Räder montierte Scaneinrichtungen keine Treppen bzw. Stufen steigen. Zusätzlich können zeitliche Einschränkungen bestehen, beispielsweise Zugangseinschränkungen, die erfordern, dass das Scannen in Abschnitten während bestimmten Zeitfenstern erfolgt, in denen Zugang zu dem Innenraum gewährt wird. Ferner müssen Scanupdates regelmäßig durchgeführt werden, wobei es sehr umständlich wäre, wenn dabei das gesamte Bauwerk erneut eingescannt werden müsste. Such large structures are usually not scanned with a single shot. When scanning, there are technical limitations, such as drifts (small billing errors that accumulate over time), limited storage capacity and limited processing power. There are also physical constraints that include the movement constraints of the scanner; For example, wheel-mounted scanning devices can not climb stairs or steps. In addition, there may be time constraints, such as access restrictions, which require scanning to take place in sections during certain windows of time in which access to the interior is granted. Furthermore, scan updates must be performed regularly, and it would be very cumbersome if the entire structure would have to be scanned again.
Diese Beschränkungen beim Einscannen führen dazu, dass mehrere, an Schnittstellen überlappende Teilmodelle zusammengefügt werden müssen, um durch deren Ausrichtung ein einziges, umfassendes 3D-Modell zu erstellen. Somit wird die Ausrichtung mehrerer, überlappender Punktwolken in einem oder mehreren Nachverarbeitungsschritten durchgeführt. Bei Punktwolken kann es sich hierbei und im Folgenden insbesondere um Bauwerkmodelle, insbesondere Modelle von Strukturen von Innenräumen von Bauwerken, handeln. These scanning limitations mean that multiple, overlapping sub-models need to be merged to create a single, comprehensive 3D model by aligning them. Thus, the alignment of multiple, overlapping point clouds is performed in one or more post-processing steps. In the case of point clouds, these and in the following may be in particular structural models, in particular models of structures of interior spaces of buildings.
Stand der Technik State of the art
Es existiert bereits ein Forschungszweig, der sich mit der Ausrichtung von 3D-Modellen befasst, die oft in Form von Gitter oder Punktwolken abgespeichert sind. Genannt wird das Problem „Punktwolkenausrichtung“ (Englisch: point cloud alignment), Point Set Registration, oder Scan Registration. There is already a branch of research that deals with the alignment of 3D models, which are often stored in the form of grids or point clouds. The problem is called "point cloud alignment", point set registration, or scan registration.
Hierbei können die Punktwolken, mit denen Innenräume von Bauwerken modelliert werden, mehrere Tausende oder Millionen von Punkten beinhalten. Dabei wird jeder Punkt als Datenstruktur erfasst, welche die kartesischen Koordinaten des Punktes in 3D beinhaltet. Wahlweise können zusätzliche Informationen zu Flächen oder Strukturen, auf denen der Punkt liegt, in der Datenstruktur erfasst werden. Beispielsweise kann ein Punkt einer Punktwolke Informationen aufweisen, die zu erkennen geben, dass der Punkt auf einer Fläche, beispielsweise einer Wandfläche, oder auf einer Struktur, beispielsweise einer Säule, einem Balken oder einem Pfosten, angeordnet ist. In einem zweiten Beispiel kann ein Punkt einer Punktwolke auf dem Durchschnitt zweier Flächen (beispielsweise Wände, Böden oder Decken) oder auf dem Schnittpunkt dreier Flächen, nämlich auf einer Ecke angeordnet werden. Gemäß diesen Beispielen umfasst der jeweilige Punkt Informationen bezüglich seinen zugehörigen Flächen oder dreidimensionalen Strukturen, beispielsweise indem ein Flächennormalvektor und/oder ein Flächenkrümmungsindex in der Datenstruktur erfasst werden, der auf das Bestehen einer Kante oder Ecke des Innenraums an dem Punkt hinweisen kann. Here, the point clouds, with which interior spaces of buildings are modeled, can contain several thousands or millions of points. Each point is captured as a data structure that contains the Cartesian coordinates of the point in 3D. Optionally, additional information about areas or structures on which the point is located may be captured in the data structure. For example, a point of a point cloud may include information indicating that the point is located on a surface, such as a wall surface, or on a structure, such as a pillar, a beam, or a pillar. In a second example, a point of a point cloud may be placed on the intersection of two surfaces (eg walls, floors or ceilings) or on the intersection of three surfaces, namely on a corner. According to these examples, the particular point includes information regarding its associated areas or three-dimensional structures, for example, by detecting a surface normal vector and / or a surface curvature index in the data structure that may indicate the existence of an edge or corner of the interior at the point.
Fortschritte im Bereich des 3D-Kartierung und Rekonstruktion wurden durch die Entwicklung von akkuraten Raumscannern gefördert, die sogar als Handscanner implementiert wurden. Zu den existierenden Kartierungssystemen gehören Scaneinrichtungen mit einem auf Räder gestützten Unterbau, Rucksack-montierte Scaneinrichtungen und Handscanner. Solche Systeme sind in der Lage, Innen- und Außenräume sehr detailliert in Punktwolken zu erfassen. Advances in 3D mapping and reconstruction have been promoted by the development of accurate space scanners, which have even been implemented as hand-held scanners. Existing mapping systems include wheel base based scanners, backpack mounted scanners, and handheld scanners. Such systems are capable of capturing interior and exterior spaces in point clouds in great detail.
Auch wurden viele Rekonstruktionsalgorithmen entwickelt, die auf zweidimensionalen Kameraaufnahmen basieren. Ein Beispiel ist das System von
Die Problemstellung der Ausrichtung zweier Punktwolken bezieht sich auf zwei Datensätze, auch Punktsätze oder Punktwolken genannt, nämlich das Target (zu Deutsch „Ziel“; auch Szene genannt) das als Referenz dient und bewegungslos bleibt, und die Source (zu Deutsch „Quelle“; auch Modell genannt), bezüglich derer eine räumliche Transformation gesucht wird, nach der die Source im Verhältnis zu dem Target ausgerichtet wird. Theoretisch sind die Sourcepunktwolke und Targetpunktwolke bei der Anwendung des Ausrichtungsalgorithmus untereinander austauschbar. The problem of aligning two point clouds refers to two sets of data, also called point sets or point clouds, namely the target (also called a scene in German) which serves as a reference and remains motionless, and the source (in German "source"; also referred to as a model), with respect to which a spatial transformation is sought after which the source is oriented in relation to the target. Theoretically, the source point cloud and the target point cloud are interchangeable in the application of the alignment algorithm.
Generell kann die Problemstellung der Punktwolkenausrichtung in zwei Vorgänge unterteilt werden, nämlich die Grobausrichtung und die Feinausrichtung. Bei der Grobausrichtung werden keine Einschränkungen bezüglich der Initialausrichtung erhoben, und das Ausrichtungsergebnis ist im Wesentlichen korrekt. Die Feinausrichtung setzt eine gute Vorausrichtung voraus und liefert eine sehr genaue Ausrichtung zwischen Source und Target. Dabei wird der Iterative Closest Point(ICP)-Algorithmus standardmäßig für die Feinausrichtung gewählt. Im Folgenden wird auf die Problemstellung der Grobausrichtung näher eingegangen. Dabei ist jede Initialausrichtung der Source- und Targetpunktwolke möglich, sofern die Punktwolken bereits bezüglich der Gravitationsachse bzw. der Gravitationsrichtung der Erde ausgerichtet sind, d.h. eine gemeinsame lokale Z-Achse aufweisen. In general, the problem of the point cloud alignment can be divided into two operations, namely the coarse alignment and the fine alignment. In the coarse alignment, there are no restrictions on the initial alignment, and the alignment result is substantially correct. Fine alignment requires good pre-alignment and provides very accurate alignment between source and target. The Iterative Closest Point (ICP) algorithm is selected by default for fine alignment. The following section deals with the problem of coarse alignment. In this case, any initial alignment of the source and target point cloud is possible, provided that the point clouds are already aligned with respect to the gravitational axis or the gravitational direction of the earth, i. have a common local Z axis.
Für die Aufgabenstellung der Grobausrichtung verschiedener Punktwolken wurden einige Ansätze entwickelt. Dabei sind verschiedene Ansätze für verschiedene Ausrichtungsaufgaben besonders gut geeignet, wie in der folgenden Diskussion näher beschrieben. Several approaches have been developed for the task of coarse alignment of different point clouds. Various approaches for different alignment tasks are particularly well suited, as described in more detail in the following discussion.
Ansätze für die Grobausrichtung zweier Punktwolken wurden bisher zwei Kategorien zugeteilt. Die erste Kategorie umfasst Algorithmen basierend auf einem Wahlverfahren, wobei der Parameterraum mit sechs Freiheitsgraden quantisiert und eine Ausrichtung jedes Punkt-Tripletts als Wahlverfahren in dem Parameterraum eingesetzt wird. Bei diesen Verfahren wird garantiert die korrekte Ausrichtung ermittelt, allerdings setzen diese Verfahren voraus, dass die Punktwolken sich großflächig bzw. vorzugsweise sogar vollständig überlappen. Ferner sind diese Verfahren aufgrund einer vollständigen Fallunterscheidung sowie der hohen Anzahl der Freiheitsgrade teils ineffizient. Vor allem leiden solche Verfahren an dem sogenannten „Curse of Dimensioning“-Problem (zu Deutsch: Fluch der Dimensionierung). Selbst bei der vereinfachten Problemstellung, gemäß derer es lediglich eine X-Y-Verschiebung und einen Rotationswinkel θ zu ermitteln gilt (wobei die Z-Achse entlang der Gravitationsrichtung zeigt), sind diese Algorithmen immer noch nicht für die Registrierung großer Punktwolkendatensätze geeignet. In der zweiten Kategorie sind Verfahren zur Berechnung von Punktkorrespondenzen enthalten, die im Anschluss zur Abschätzung einer Transformation herangezogen werden, gemäß derer die bestmögliche Zuordnung der Sourcepunkte zu den Targetpunkten ermittelt wird. Bei Punktwolken mit lediglich einem kleinen Überlappungsbereich kann allerdings ein hierbei eingesetztes sogenanntes Featurematching, das für die Ermittlung von Korrespondenzen essenziell ist, zu vielen falschen Korrespondenzen führen, sodass das Ausrichtungsergebnis nicht zuverlässig korrekt ermittelt wird. Ferner erfordern bestimmte Schritte, wie das sogenannte Keypoint-Detection und das sogenannte Descriptor-Computation, einen hohen Rechenaufwand, da die nächstbenachbarten Punkte innerhalb einer großen, ungeordneten Punktwolke ermittelt werden müssen. Approaches for the coarse alignment of two point clouds have so far been assigned to two categories. The first category includes algorithms based on a voting method wherein the parameter space is quantized with six degrees of freedom and an alignment of each dot triplet is used as the voting method in the parameter space. These methods are guaranteed to determine the correct orientation, however, these methods require that the point clouds over a large area or preferably even completely overlap. Furthermore, these methods are partly inefficient due to a complete case distinction and the high number of degrees of freedom. Above all, such methods suffer from the so-called "Curse of Dimensioning" problem. Even with the simplified problem, according to which there is only an X-Y displacement and a rotation angle θ to be determined (the Z axis being along the gravitational direction), these algorithms are still not suitable for registration of large point cloud data sets. The second category contains methods for calculating point correspondences, which are then used to estimate a transformation according to which the best possible assignment of the source points to the target points is determined. For point clouds with only a small overlap area, however, so-called feature matching, which is essential for the determination of correspondences, can lead to many incorrect correspondences, so that the alignment result is not reliably determined correctly. Furthermore, certain steps, such as the so-called keypoint detection and the so-called descriptor computation require a high computational effort, since the next adjacent points within a large, disordered point cloud must be determined.
Der vergleichsweise neue Ansatz des Four-Point Congruent Sets (4PCS) gehört zu beiden der oben genannten Kategorien. Dabei werden nach Übereinstimmungen in den Merkmalsmengen der beiden Punktwolken in Sätzen mit jeweils vier Punkten gesucht. Eine einzige Korrespondenz ist dabei ausreichend, um eine Transformation mit sechs Freiheitsgraden zu bestimmen. Gemäß diesem Ansatz wird die Ausrichtung durch den größten gemeinsamen Punktsatz (Englisch: Largest Common Point set, oder LCP) ermittelt, wobei die größte Teilmenge der Sourcepunktwolke gesucht wird, die nach erfolgter Transformation einen maximalen Abstand δ entfernt vom Target ist. Mit anderen Worten: die Lösungen, die den Überlappungsbereich maximieren sind bevorzugt. Dies ist aber besonders ungelegen bei Datensätzen, die viele ähnliche Gänge eines eingescannten Gebäudes enthalten. The comparatively new approach of the Four-Point Congruent Set (4PCS) belongs to both of the above categories. It searches for matches in the feature sets of the two point clouds in sets of four points each. A single correspondence is sufficient to determine a transformation with six degrees of freedom. According to this approach, the alignment is determined by the Largest Common Point Set, or LCP, looking for the largest subset of the source point cloud which, after transformation, is a maximum distance δ away from the target. In other words, the solutions that maximize the overlap area are preferred. However, this is particularly inconvenient for records containing many similar passages of a scanned building.
Eine weitere, vergleichsweise neue Kategorie von Algorithmen zur Ausrichtung von Punktwolken umfasst die wahrscheinlichkeitstheoretischen Verfahren. Bei solchen Wahrscheinlichkeitsverfahren werden keine genauen Korrespondenzen ausgerechnet, sondern es werden „weiche“ Zusammenhänge zwischen Punktpaaren mittels Wahrscheinlichkeitswerten beschrieben. Another, relatively new category of point cloud alignment algorithms involves probabilistic methods. In such probability methods, no exact correspondences are calculated, but "soft" relationships between pairs of points are described by means of probability values.
Ein Beispiel eines wahrscheinlichkeitstheoretischen Ausrichtungsverfahrens ist von B. Jian und B.C. Vemuri in dem Artikel „Robust point set registration using Gaussian mixture models,” beschrieben, das in Pattern analysis and machine intelligence,
Ein weiteres Beispiel der wahrscheinlichkeitstheoretischen Ausrichtung ist das
Wahrscheinlichkeitstheoretische Ansätze haben den Vorteil, dass sogenannte „Outliers“ explizit berücksichtigt werden. Ferner bieten die wahrscheinlichkeitstheoretischen Ansätze viel Flexibilität bei verschiedenen Transformationsarten wie Spiegelungen, affinen Transformationen und Skalierungen. Allerdings bietet diese Flexibilität bezüglich der Transformationsarten keinen Vorteil bei Starrkörpertransformationen im zwei- oder dreidimensionalen Raum. Ferner führt der iterative Charakter dieser Verfahren dazu, dass sie nicht ganz unempfindlich bezüglich der Initialausrichtung sind. Außerdem weisen diese Verfahren eine hohe Berechnungskomplexität auf, sodass die Berechnungen teils sehr zeitaufwändig sind, insbesondere bei größeren Datensätzen. Probabilistic approaches have the advantage that so-called "outliers" are explicitly taken into account. Furthermore, the probabilistic approaches offer a great deal of flexibility in various types of transformations, such as mirroring, affine transformations, and scaling. However, this flexibility with respect to the transformation types offers no advantage in rigid body transformations in two- or three-dimensional space. Furthermore, the iterative nature of these methods makes them not quite insensitive to initial alignment. In addition, these methods have a high computational complexity, so that the calculations are sometimes very time-consuming, especially for larger data sets.
Nach der vorangegangenen Diskussion ist es ersichtlich, dass die Wirksamkeit der bekannten Verfahren beeinträchtigt wird, wenn sie für die Ausrichtung von Punktwolken mit einem kleineren Überlappungsbereich eingesetzt werden. Ferner sind einige bekannte Ansätze bezüglich der Initialausrichtung der Punktwolken empfindlich, sodass deren Ergebnisse nicht zuverlässig auf die korrekte Ausrichtung schließen lassen. Schließlich sind viele bekannte Algorithmen bei sehr großen Punktwolken nicht anwendbar, es sei denn, eine drastische Abtastung der Punkte in einem Vorarbeitungsschritt erfolgt. Allerdings ist eine solche Abtastung nicht wünschenswert, weil dadurch wichtige Information über die Geometrie (Form) der Gebäudeteile verloren werden. From the foregoing discussion, it can be seen that the effectiveness of the known methods is compromised when used for the alignment of point clouds with a smaller overlap area. Furthermore, some known approaches to the initial alignment of the point clouds are sensitive, so that their results do not reliably indicate the correct orientation. Finally, many known algorithms are not applicable to very large point clouds unless there is a drastic scan of the points in a preprocessing step. However, such a scan is not desirable because it will lose important information about the geometry (shape) of the parts of the building.
Darstellung der Erfindung Presentation of the invention
Ausgehend von dem bekannten Stand der Technik ist es eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zum Ermitteln einer Ausrichtung einer Sourcepunktwolke im Verhältnis zu einer Targetpunktwolke bereitzustellen. Starting from the known state of the art, it is an object of the present invention to provide an improved method for determining alignment of a source point cloud relative to a target point cloud.
Die oben gestellte Aufgabe wird durch ein hier beschriebenes Verfahren zum Ermitteln einer Ausrichtung einer Sourcepunktwolke im Verhältnis zu einer Targetpunktwolke gelöst, wobei die Source- und die Targetpunktwolke jeweils ein Teilmodell von Innenräumen einer Baustruktur darstellen und jeweils bezüglich einer Gravitationsachse ausgerichtet sind. In einem ersten Schritt des Verfahrens wird ein Sourcesignaturhistogramm der Sourcepunktwolke mit einem Targetsignaturhistogramm der Targetpunktwolke kreuzkorreliert, um eine Rotation der Sourcepunktwolke zu ermitteln. In einem zweiten Schritt des Verfahrens wird anhand von Punktpaaren ein Translationshistogramm berechnet, wobei jedes Punktpaar einen Sourcepunkt aus der Sourcepunktwolke und einen Targetpunkt aus der Targetpunktwolke umfasst, um eine Verschiebung der Sourcepunktwolke zu ermitteln. The above object is achieved by a method described herein for determining an alignment of a source point cloud relative to a target point cloud, wherein the source and the target point cloud each represent a partial model of interiors of a building structure and each aligned with respect to a gravitational axis. In a first step of the method, a source signature histogram of the source point cloud is cross-correlated with a target signature histogram of the target point cloud to determine rotation of the source point cloud. In a second step of the method, a translation histogram is calculated based on pairs of points, wherein each pair of points comprises a source point from the source point cloud and a target point from the target point cloud to determine a displacement of the source point cloud.
Dabei ist die Ermittlung der richtigen Rotation und Verschiebung (im Folgenden auch Rotations- und Verschiebungswerte genannt) bezüglich der Initialausrichtung der Source- und Targetpunktwolke unempfindlich. Soweit die Source und Target bereits entlang der Gravitationsachse ausgerichtet sind, wird das Verfahren eine korrekte Ausrichtung ergeben, und zwar unabhängig von dem initialen Rotationswinkel zwischen Source und Target sowie unabhängig von dem Abstand zwischen den Punktwolken. Insbesondere können sich die Punktwolken anfangs sogar in demselben Raum befinden. Ferner kann gemäß dem Verfahren eine Ausrichtung großer Punktwolken mit Millionen von Punkten effizient berechnet werden. Diese Vorteile werden durch das Einsetzen von Erkenntnissen über Innenräume ermöglicht. Ferner wird ein Auflockern der in bisherigen Verfahren verwendeten starren Kopplung zwischen der Ermittlung der Translation und der Rotation ausgenutzt. Diese partielle Entkopplung der Rotationsauswertung von der Translationsauswertung führt dazu, dass die Komplexität der Gesamtauswertung erheblich reduziert wird. Schließlich hat der vorgeschlagene Ansatz den Vorteil, dass Punktwolken die einen kleinen Überlappungsbereich, mit beispielsweise weniger als 30% Überlappung zwischen Source und Target, und sogar Punktwolken mit einem besonders kleinen Überlappungsbereich, mit beispielsweise weniger als 10% Überlappung, mit dem Verfahren ausgerichtet werden können. In this case, the determination of the correct rotation and displacement (hereinafter also referred to as rotation and displacement values) with respect to the initial alignment of the source and target point cloud is insensitive. Insofar as the source and target are already aligned along the gravitational axis, the method will give a correct orientation regardless of the initial rotation angle between source and target and independent of the distance between the point clouds. In particular, the point clouds may initially be in the same room. Further, according to the method, alignment of large point clouds with millions of points can be calculated efficiently. These benefits are made possible by the adoption of insights into interior spaces. Furthermore, a relaxation of the rigid coupling used in previous methods between the determination of the translation and the rotation is exploited. This partial decoupling of the rotation evaluation from the translation evaluation leads to the complexity of the overall evaluation being considerably reduced. Finally, the proposed approach has the advantage that point clouds that have a small overlap area, with, for example, less than 30% overlap between source and target, and even point clouds with a particularly small overlap area, with, for example, less than 10% overlap, can be aligned with the method ,
Das Verfahren kann mit einer Scaneinrichtung durchgeführt werden. Bei einer Scaneinrichtung kann es sich beispielsweise um einen auf Räder gestützten bzw. montierten Unterbau, Rucksackmontierte Scaneinrichtungen und/oder Handscanner handeln. Eine Scaneinrichtung kann eine Rechenvorrichtung, wie beispielsweise einen Mikrocontroller bzw. einen Computer, zur Durchführung des Verfahrens aufweisen. Ferner kann eine Scaneinrichtung optische und/oder elektronische Komponenten zum Scannen eines Innenraums eines Gebäudes aufweisen. Alternativ dazu kann das Verfahren mit einer stationären Rechenvorrichtung, wie beispielsweise einen Desktop- oder Laptop-Computer, durchgeführt werden. The method can be carried out with a scanning device. By way of example, a scanning device may be a wheeled or mounted substructure, backpack-mounted scanning devices and / or hand-held scanners. A scanning device may include a computing device, such as a microcontroller or a computer for carrying out the method. Furthermore, a scanning device can have optical and / or electronic components for scanning an interior of a building. Alternatively, the method may be performed with a stationary computing device, such as a desktop or laptop computer.
Für die Berechnung des Sourcesignaturhistogramms kann eine Sourcesignatur mit einem Satz Flächennormalvektoren gebildet werden, wobei jeder Flächennormalvektor der Sourcesignatur jeweils mit einem Sourcepunkt assoziiert ist. Auf ähnliche Weise kann für die Berechnung des Targesignaturthistogramms eine Targetsignatur mit einem Satz Flächennormalvektoren gebildet werden, wobei jeder Flächennormalvektor der Targetsignatur jeweils mit einem Targetpunkt assoziiert ist. Indem Source- bzw. Targetsignatur jeweils aus einem Satz Flächennormalvektoren gebildet werden, die jeweils mit Sourcepunkten bzw. Targetpunkten assoziiert sind, wird die Unterscheidbarkeit der rotatorischen Ausrichtung der Teilmodelle erhöht, sodass die korrekte Ausrichtungsrotation der Sourcepunktwolke zuverlässig ermittelt werden kann. For the calculation of the source signature histogram, a source signature can be formed with a set of surface normal vectors, wherein each surface normal vector of the source signature is associated with a respective source point. Similarly, for the calculation of the target signature histogram, a target signature may be formed with a set of surface normal vectors, each surface normal vector of the target signature being associated with a target point, respectively. By forming source or target signatures each from a set of surface normal vectors respectively associated with source points and target points, the distinctness of the rotational orientation of the submodels is increased, so that the correct orientation rotation of the source point cloud can be reliably determined.
Ferner können die Sourcesignatur und Targetsignatur jeweils nur anhand von denjenigen Punkten berechnet werden, deren jeweils assoziierter Flächennormalvektor im Wesentlichen parallel zu einer Bodenebene ausgerichtet ist. Beispielsweise verläuft die Bodenebene entlang bzw. parallel zu einem Boden des zu scannenden Gebäudes. Hierbei und im Folgenden sind mathematische Begriffe wie „parallel“ und/oder „senkrecht“ nicht im mathematisch strengen Sinne, sondern insbesondere im Rahmen der Mess- bzw. Ausrichtungstoleranzen zu interpretieren. Beispielsweise können auch zwei Ebenen, deren Flächennormalvektoren einen Winkel von höchstens bzw. mindestens 5°, bevorzugst höchstens bzw. mindestens 3° und besonders bevorzugt höchstens bzw. mindestens 1°, einschließen, als parallel bzw. senkrecht zueinander verlaufend angesehen werden. Durch die Reduktion in der Größe der Signaturen wird die Komplexität der Berechnung der Rotation reduziert, sodass eine Ausrichtung der Punktwolken mit weniger (Rechen-)Operationen durchgeführt werden kann. Gleichzeitig wird der Berechnungszeitaufwand reduziert. Furthermore, the source signature and target signature can each be calculated only on the basis of those points whose respectively associated surface normal vector is aligned substantially parallel to a ground plane. For example, the ground plane runs along or parallel to a floor of the building to be scanned. Here and below, mathematical terms such as "parallel" and / or "vertical" are not to be interpreted in the mathematically strict sense, but in particular within the scope of the measurement or alignment tolerances. For example, two planes whose surface normal vectors include an angle of at most or at least 5 °, preferably at most or at least 3 ° and particularly preferably at most or at least 1 °, can be regarded as parallel or perpendicular to each other. The reduction in the size of the signatures reduces the complexity of calculating the rotation, so that alignment of the point clouds can be performed with fewer (arithmetic) operations. At the same time, the calculation time is reduced.
Ein Ergebnis des Kreuzkorrelierens des Sourcesignaturhistogramms mit dem Targetsignaturhistogramm kann eine Anzahl von Spitzen aufweisen, die mit einer Anzahl von dominanten Richtungen der Innenräume der Baustruktur übereinstimmen. Die dominanten Richtungen können beispielsweise durch die Ausrichtung der Wände der Innenräume vorgegeben sein. Hierbei kann ein weiterer Schritt des Berechnens eines rotationsbedingten Translationshistogramms für jede dominante Richtung vorgesehen sein. Ferner kann ein Schritt des Vergleichens der berechneten rotationsbedingten Translationshistogramme vorgesehen sein, um die Rotation der Sourcepunktwolke zu ermitteln. Dabei wird sichergestellt, dass die richtige Rotation der Sourcepunktwolke ermittelt wird, unabhängig von der Initialausrichtung der Punktwolken. Insbesondere wird sichergestellt, dass bei Baustrukturen, die eine ausgeprägte Symmetrie zwischen den dominanten Richtungen aufweisen keine falsche Rotation gewählt wird, die einer der in der Regel drei anderen, „falschen“ dominanten Richtungen entspricht. A result of cross-correlating the source signature histogram with the target signature histogram may include a number of peaks that coincide with a number of dominant directions of the interiors of the building structure. The dominant directions may be dictated by the orientation of the walls of the interiors, for example. In this case, a further step of calculating a rotation-dependent translation histogram for each dominant direction may be provided. Further, a step of comparing the calculated rotation-related translation histograms may be provided to determine the rotation of the source point cloud. This ensures that the correct rotation of the source point cloud is determined, regardless of the initial orientation of the point clouds. In particular, it is ensured that in the case of building structures that exhibit a pronounced symmetry between the dominant directions, no false rotation is chosen, which corresponds to one of the usually three other "wrong" dominant directions.
Das Vergleichen der berechneten rotationsbedingten Translationshistogramme kann einen Schritt des Vergleichens der Maximalwerte jedes der rotationsbedingten Translationshistogramme umfassen. Ferner kann das Vergleichen einen Schritt des Auswählens desjenigen rotationsbedingten Translationshistogramms umfassen, das den größten Maximalwert aufweist, wobei die dazugehörige Rotation die Rotation der Sourcepunktwolke bildet. Die Bestimmung der Rotation der Sourcepunktwolke ermöglicht eine Invarianz bezüglich der Initialausrichtung, da den unzutreffenden Rotationen korrespondierende Punktpaare nicht derselben Klasse zugeordnet werden. Deshalb dienen die Maximalwerte der rotationsbedingten Translationshistogramme als weiterer zuverlässiger Indikator der korrekten Rotation. The comparing of the calculated rotation-related translation histograms may comprise a step of comparing the maximum values of each of the rotation-related translation histograms. Further, the comparing may comprise a step of selecting the rotational translation translational histogram having the largest maximum value, the associated rotation forming the rotation of the source point cloud. The determination of the rotation of the source point cloud allows an invariance with respect to the initial orientation, since the corresponding pairs of points corresponding to the incorrect rotations are not assigned to the same class. Therefore, the maximum values of rotation-dependent translational histograms serve as another reliable indicator of correct rotation.
Bei der Berechnung des Translationshistogramms können primitive Eigenschaften der Source- bzw. der Targetpunkte herangezogen werden, wie deren jeweiliger Flächennormalvektor, Flächenkrümmungsindex und/oder Z-Wert, um eine diskriminierende Klassenzuordnung zu ermöglichen, wie im Folgenden auch näher beschrieben. In the calculation of the translation histogram, primitive properties of the source or target points can be used, such as their respective surface normal vector, surface curvature index and / or Z value, to allow discriminating class assignment, as described in more detail below.
Insbesondere können die zur Berechnung des Translationshistogramms herangezogenen Punktpaare lediglich diejenigen Sourcepunkte und Targetpunkte umfassen, deren jeweils assoziierten Flächennormalvektoren sich im Wesentlichen von jeder der dominanten Richtungen der Innenräume der Baustruktur unterscheidet. Somit kann die Anzahl der im Translationshistogramm berücksichtigten Punkte drastisch reduziert werden, da alle Punkte, die auf Innenflächen wie Innenwände liegen, sowie alle Punkte die auf den Kanten zwischen Wand und Boden oder zwischen Wand und Decke liegen, bei der Berechnung nicht berücksichtigt werden müssen. In particular, the pairs of points used to calculate the translation histogram may only include those source points and target points whose respective associated surface normal vectors differ substantially from each of the dominant directions of the interiors of the building structure. Thus, the number of points taken into account in the translation histogram can be drastically reduced be reduced, since all points that lie on inner surfaces such as interior walls, as well as all points that lie on the edges between wall and floor or between wall and ceiling, must not be taken into account in the calculation.
Alternativ oder zusätzlich dazu können die zur Berechnung des Translationshistogramms herangezogenen Punktpaare lediglich diejenigen Sourcepunkte und Targetpunkte umfassen, deren jeweils assoziiertes Flächenkrümmungsindex einen hohen Absolutwert hat. Somit kann die Anzahl der im Translationshistogramm berücksichtigten Punkte drastisch reduziert werden, da alle Punkte, die sich auf einer flachen Innenfläche, wie einer Wand, einem Boden und/oder einer Decke, befinden, bei der Berechnung nicht berücksichtigt werden müssen. Diese Maßnahme reduziert nicht nur den Rechenaufwand, sondern trägt maßgeblich dazu bei, dass bessere Translationshistogramme berechnet werden. Alternatively or additionally, the pairs of points used to calculate the translation histogram can only include those source points and target points whose respective associated surface curvature index has a high absolute value. Thus, the number of points taken into account in the translation histogram can be drastically reduced since all points located on a flat interior surface, such as a wall, floor and / or ceiling, need not be taken into account in the calculation. This measure not only reduces the computational effort, but also significantly contributes to the calculation of better translation histograms.
Alternativ oder zusätzlich dazu können die zur Berechnung des Translationshistogramms herangezogenen Punktpaare lediglich diejenigen Punktpaare umfassen, die einen Sourcepunkt und einen Targetpunkt umfassen, deren jeweils assoziierten Flächennnormalvektoren im Wesentlichen parallel zueinander sind. Eine derartige Selektion lässt sich damit begründen, dass die Rotationsausrichtung zwischen der Source- und Targetpunktwolke bereits berechnet wurde, sodass die Flächennormalvektoren von zueinander korrespondierenden Source- und Targetpunkten ebenfalls korrespondierende Richtungen aufweisen müssen. Somit kann die Anzahl der im Translationshistogramm berücksichtigten Punkte drastisch reduziert werden, da lediglich diejenigen Punktpaare, deren jeweils dazugehörigen Flächennnormalvektoren im Wesentlichen parallel zueinander sind, bei der Berechnung berücksichtigt werden müssen. Alternatively or additionally, the pairs of points used to calculate the translation histogram may only include those pairs of points that comprise a source point and a target point whose associated normal normal vectors are substantially parallel to each other. Such a selection can be justified by the fact that the rotational alignment between the source and target point clouds has already been calculated so that the surface normal vectors of corresponding source and target points must also have corresponding directions. Thus, the number of points taken into account in the translation histogram can be drastically reduced since only those pairs of points whose respective surface normal vectors are substantially parallel to one another must be taken into account in the calculation.
Die Sourcepunktwolke und Targetpunktwolke können jeweils in Scheiben unterteilt sein, die alle Source- bzw. Targetpunkte beinhalten, die innerhalb eines Schwellenwerts von einer parallel zur Bodenebene angeordneten Referenzebene entfernt liegen. Die Referenzebene kann von der Bodenebene und insbesondere vom Boden beabstandet angeordnet sein. Ferner ist es möglich, dass die Referenzebene beabstandet von einer entlang der Decke verlaufenden Deckenebene angeordnet ist. Es ist möglich, dass zwei oder mehrere scheibenbezogene Translationshistogramme berechnet werden, wobei die Berechnung anhand von Punktpaaren, die sich in derselben Scheibe befinden, erfolgt. Schließlich können die zwei oder mehreren scheibenbezogenen Translationshistogramme aufsummiert werden, um das Translationshistogramm zu bilden. Die Scheiben können aneinandergrenzend angeordnet sein. Ferner können alle Scheiben die gleiche Stärke aufweisen. Alternativ dazu können die Scheiben zumindest teilweise unterschiedliche Stärken aufweisen. Somit wird die Komplexität der Berechnung jedes der scheibenbezogenen Translationshistogramme erheblich reduziert, sodass das aufsummierte Translationshistogramm im Ergebnis mit weniger Operationen berechnet werden kann. Gleichzeitig wird der Berechnungszeitaufwand reduziert. The source point cloud and target point cloud may each be divided into slices that include all source points that are within a threshold of a reference plane parallel to the ground plane. The reference plane can be arranged at a distance from the ground plane and in particular from the ground. Furthermore, it is possible that the reference plane is arranged at a distance from a ceiling plane running along the ceiling. It is possible to compute two or more slice-related translation histograms, where the calculation is based on pairs of points that are in the same slice. Finally, the two or more slice-related translation histograms can be summed up to form the translation histogram. The discs may be arranged adjacent to each other. Furthermore, all disks can have the same thickness. Alternatively, the discs may at least partially have different thicknesses. Thus, the complexity of calculating each of the slice-related translation histograms is significantly reduced, so that the summed translation histogram can be calculated as a result with fewer operations. At the same time, the calculation time is reduced.
Jede der oben aufgelisteten Maßnahmen zur diskriminierenden Klassenzuordnung trägt individuell dazu bei, dass das Translationshistogramm effizient berechnet werden kann. Somit kann die Ausrichtungsverschiebung der Sourcepunktwolke bezüglich der Targetpunktwolke in weniger Rechenschritte durchgeführt werden. Gleichzeitig wird der Berechnungszeitaufwand reduziert. Each of the above-listed discriminatory class assignment measures individually contributes to efficiently calculating the translation histogram. Thus, the orientation shift of the source point cloud with respect to the target point cloud can be performed in fewer steps. At the same time, the calculation time is reduced.
Sollten die Source- und/oder Targetpunktwolke jeweils in einer Initialausrichtung noch nicht bezüglich der Gravitationsachse ausgerichtet sein, können sie in einem Vorverarbeitungsschritt bezüglich der Gravitationsachse ausgerichtet werden. Demgemäß erfolgt vorab eine Rotation der Source- und/oder Targetpunktwolke zur Ausrichtung bezüglich der Gravitationsachse mithilfe einer Hauptkomponentenanalyse. Anschließend wird eine Anpassung der lokalen Z-Koordinaten der Sourcepunktwolke anhand eines Vergleichsergebnisses zwischen der Bodenhöhe der Targetpunktwolke mit der Bodenhöhe der Sourcepunktwolke durchgeführt. So können Innenräume, die in jeder denkbare Initialausrichtung gespeichert sind, effizient entlang der Gravitationsachse vorab ausgerichtet werden und im Anschluss, sozusagen in einem Hauptausrichtungsschritt, bezüglich einander ausgerichtet werden, um ein umfassendes Modell eines Innenraums zu erstellen. If the source and / or target point cloud are each not already aligned with respect to the gravitational axis in an initial orientation, they can be aligned in a preprocessing step with respect to the gravitational axis. Accordingly, a rotation of the source and / or target point cloud for orientation with respect to the axis of gravity takes place beforehand by means of a principal component analysis. Subsequently, an adaptation of the local Z coordinates of the source point cloud is carried out on the basis of a comparison result between the ground level of the target point cloud and the ground level of the source point cloud. Thus, interiors stored in any conceivable initial orientation can be efficiently pre-aligned along the gravitational axis and subsequently aligned with each other, so to speak in a main alignment step, to create a comprehensive interior model.
Gemäß dieser Ausführungsform kann der Rotationsschritt nach der Haupkomponentenanalyse einen weiteren Adjustierungsschritt umfassen. Hierbei werden alle Punkte der Source- bzw. Targetpunktwolke mit einer im Wesentlichen entlang der Gravitationsachse zeigenden Flächennormale selektiert. Im Anschluss wird der Medianwert der Flächennormalen dieser Punkte ermittelt und eine Feinrotation durchgeführt, sodass der Medianwert einer adjustierten Gravitationsachse entspricht. According to this embodiment, the rotation step after the main component analysis may comprise a further adjustment step. In this case, all points of the source or target point cloud are selected with a surface normal pointing essentially along the gravitational axis. Subsequently, the median value of the surface normals of these points is determined and a fine rotation is performed so that the median value corresponds to an adjusted gravitational axis.
Nach erfolgter Ermittlung der Rotations- und Verschiebungswerte, mit deren Hilfe die Sourcepunktwolke bezüglich der Targetpunktwolke ausgerichtet werden kann, kann das Verfahren einen weiteren Schritt des Ausrichtens der Sourcepunktwolke im Verhältnis zur Targetpunktwolke umfassen. Hierbei werden die Punkte der Sourcepunktwolke anhand von der ermittelten Rotation und der ermittelten Verschiebung ausgerichtet. After determining the rotation and displacement values that can be used to align the source point cloud with respect to the target point cloud, the method may include a further step of aligning the source point cloud relative to the target point cloud. In this case, the points of the source point cloud are aligned on the basis of the determined rotation and the determined displacement.
Das Verfahren kann einen weiteren Schritt der Anwendung eines Algorithmus zur Ermittlung der Feinausrichtung, beispielsweise des Iterative Closest Point(ICP)-Algorithmus, umfassen. Nachdem eine die Rotation und die Verschiebung umfassende Grobausrichtung der Punktwolken ermittelt wurde, wird hierbei eine Feinausrichtung der Sourcepunktwolke im Verhältnis zu der Targetpunktwolke berechnet und auf alle Punkte der Sourcepunktwolke angewandt. The method may include a further step of applying a fine-alignment algorithm, such as the Iterative Closest Point (ICP) algorithm. After a coarse alignment of the point clouds comprising the rotation and the displacement has been determined, a fine alignment of the source point cloud relative to the target point cloud is calculated and applied to all points of the source point cloud.
Kurze Beschreibung der Figuren Brief description of the figures
Bevorzugte weitere Ausführungsformen der Erfindung werden durch die nachfolgende Beschreibung der Figuren näher erläutert. Dabei zeigen: Preferred further embodiments of the invention are explained in more detail by the following description of the figures. Showing:
Detaillierte Beschreibung bevorzugter Ausführungsbeispiele Detailed description of preferred embodiments
Im Folgenden werden bevorzugte Ausführungsbeispiele anhand der Figuren beschrieben. Dabei werden gleiche, ähnliche oder gleichwirkende Elemente in den unterschiedlichen Figuren mit identischen Bezugszeichen versehen, und auf eine wiederholte Beschreibung dieser Elemente wird teilweise verzichtet, um Redundanzen zu vermeiden. In the following, preferred embodiments will be described with reference to the figures. In this case, identical, similar or equivalent elements in the different figures are provided with identical reference numerals, and a repeated description of these elements is partially omitted in order to avoid redundancies.
Soweit anwendbar, können alle einzelnen Merkmale, die in den Ausführungsbeispielen dargestellt sind, miteinander kombiniert und/oder ausgetauscht werden, ohne den Bereich der Erfindung zu verlassen. Where applicable, all individual features illustrated in the embodiments may be combined and / or interchanged without departing from the scope of the invention.
Die Target- und Sourcepunktwolke
Die Punktwolken
In einer zweiten, vereinfachten Ausführungsform gemäß
Innerhalb dieser Punktwolken
Aus
Wenn die Punktwolken
Im Gegensatz zu dem in
Dies ist aus
Im Gegensatz zu den in den
Der erste Schritt bei der Ausrichtung der Sourcepunktwolke
Um zu verdeutlichen, wie die korrekte Rotationsausrichtung der Sourcepunktwolke
Die Ermittlung der Rotationsausrichtung basiert auf einer primitiven, punktbezogenen Eigenschaft, nämlich der Flächennormalen, auch Flächennormalvektor genannt. Nachdem die zu einer Punktwolke gehörenden Punkte auf verschiedenen Strukturen im Innenraum des durch die Punktwolken dargestellten Bauwerks
In der in der
Bei Punktwolken, die Teilmodelle von Bauwerken darstellen, wobei die Teilmodelle bezüglich der Gravitationsachse bereits ausgerichtet sind, stellen die Wände die dominanten Strukturen der Innenräume dar, sodass die Ausrichtung der Wände als eine verlässliche Referenz bezüglich der Rotationsausrichtung betrachtet werden kann. Um die Rotationsausrichtung der Sourcepunktwolke
Als nächstes wird für jeden relevanten Punkt k der Winkel Φk in der Bodenebene wie folgt berechnet:
Demzufolge wird eine Sourcesignatur der Sourcepunktwolke aus den Winkeln Φk derjenigen Sourcepunkten gebildet, die einen hinreichend kleinen Wert abs(nk(z)) aufweisen. Ähnlich wird eine Targetsignatur der Targetpunktwolke aus den Winkeln Φk derjenigen Targetpunkten gebildet, die einen hinreichend kleinen Wert abs(nk(z)) aufweisen. Accordingly, a source signature of the source point cloud is formed from the angles φ k of those source points having a sufficiently small value abs (n k (z)). Similarly, a target signature of the target point cloud is formed from the angles φ k of those target points having a sufficiently small value abs (n k (z)).
In dem in
Als Nächstes wird ein Sourcesignaturhistogramm der Sourcesignatur aus den berechneten Winkeln Φk mit einer Klassenbreite (Englisch: bin size) von 0,5° über den gesamten Häufigkeitsbereich von 360°, umfassend alle mögliche Rotationen in der XY-Ebene, berechnet. Das Ergebnis ist ein Sourcesignaturhistogramm hs mit 360·0.5 = 720 Klassen. Dieser Schritt wird für die Targetsignatur der Targetpunktwolke wiederholt, um ein Targetsignaturhistogramm ht zu berechnen. Ein Histogramm, insbesondere das Sourcesignaturhistogramm und/oder das Targetsignaturhistogramm, kann hierbei eine Häufigkeitsverteilung sein. Die Ergebnisse dieser Berechnungen (angewandt auf einen anderen Datensatz, d.h. nicht bezüglich der in den
Somit werden die Flächennormalvektoren der relevanten Punkte der Targetpunktwolke
Um die Sourcepunktwolke
Nachdem die Rotation bereits berechnet wurde, ist die Verschiebung oder sogenannte Translation in den X- und Y-Richtungen für korrespondierende Punktpaare (also Punkte im Source und Target, die den gleichen physikalischen Punkt darstellen) konstant. Die korrekte Translation der Sourcepunktwolke
Die Berechnung des Translationshistogramms der Punktpaare ist in den
Dieser Ansatz hat einige Vorteile in Vergleich zu den bekannten Algorithmen, die auf einem Wahlverfahren basieren. Nachdem die Rotationsausrichtung bereits in einem vorherigen Schritt ermittelt wurde, ist es für die Ermittlung der Translationsausrichtung nicht mehr erforderlich, alle Punkt-Triplett-Paare der Source- und der Targetpunktwolke auszuwerten, was zu einer Berechnungskomplexität von |S|3·|T|3-Operationen führen würde, wobei S und T jeweils die Source- bzw. der Targetpunktsätze darstellen. Stattdessen führt die Entkopplung der Rotationsermittlung von der Verschiebungsermittlung dazu, dass jedes einzelne Source/Target-Punktpaar für sich ‚wählen‘ kann, sodass maximal |S|·|T| Berechnungsschritte erforderlich sind. This approach has some advantages over known algorithms based on a voting technique. After the rotation alignment has already been determined in a previous step, it is no longer necessary to evaluate all point-triplet pairs of the source and target point clouds for the determination of the translation orientation, resulting in a computation complexity of | S | 3 · | T | 3 operations, where S and T represent respectively the source and target point sets. Instead, the decoupling of the rotation determination from the displacement determination means that each individual source / target pair of points can 'choose' for itself so that a maximum of | S | · | T | Calculation steps are required.
Um die Berechnungskomplexität weiter zu verringern und gleichzeitig die Kennzeichnungskraft des Translationshistogramms zu erhöhen gibt es einige zusätzlichen Maßnahmen, die allein oder in Kombination angewendet werden können. Insbesondere werden gemäß einem Ausführungsbeispiel nicht alle Punkte der Targetpunktwolke
Im Gegensatz zu der Rotationsermittlung sind für die Translationsermittlung die Eckpunkte wichtiger als diejenigen Punkte, die sich auf Innenwände befinden. Dies lässt sich damit begründen, dass eine Ambiguität entsteht, wenn ein Sourcepunkt mit einer Vielzahl von an einer Wand angeordneten Targetpunkten verglichen wird. Als erste Maßnahme zur Reduzierung der Berechnungskomplexität bei der Translationsermittlung können daher anhand des Flächenkrümmungsindex (der sowieso bei der Flächennormalberechnung entsteht) alle Punkte mit einem zu niedrigen Krümmungswert herausgefiltert werden. Anders ausgedrückt werden alle auf im Wesentlichen flachen Ebenen liegenden Punkte bei der Berechnung des Translationshistogramms nicht berücksichtigt, sodass lediglich diejenigen Punkte, die einen hohen Krümmungswert haben, weil sie beispielsweise auf einer Ecke oder Kante liegen, mit einbezogen werden. Somit kann die Anzahl der in dem Translationshistogramm berücksichtigten Punkte drastisch reduziert werden. In contrast to the rotation determination, the corner points are more important for the determination of the translation than those points which are located on interior walls. This can be explained by the fact that an ambiguity arises when a source point is compared with a plurality of target points arranged on a wall. As a first measure for reducing the computation complexity in the translation determination, it is therefore possible to filter out all points with too low a curvature value on the basis of the surface curvature index (which arises anyway in the surface normal calculation). In other words, all points lying on essentially flat planes are not taken into account in the calculation of the translation histogram, so that only those points which have a high curvature value, for example because they lie on a corner or edge, are included. Thus, the number of points taken into account in the translation histogram can be drastically reduced.
Punkte mit einem hohen Krümmungswert sind nicht nur Eckpunkte, sondern auch Punkte, die auf den Kanten zwischen Innenwänden und Decken oder zwischen Innenwänden und Böden liegen. Diese Punkte können zu störenden Spitzen in dem Translationshistogramm führen. Somit lässt sich das Verfahren dadurch verbessern, dass Flächennormalen verwendet werden, die die zwei weiteren, im Folgenden beschriebenen Auswahlverfahren ermöglichen: Erstens, lediglich diejenigen Punkte, deren Flächennormale sich im Wesentlichen von jeder der vier dominanten Richtungen der Innenwände unterscheiden, dürfen Source/Target-Paare bilden. Somit werden auch die Punkte auf einer Kante zwischen einer Wandfläche und einer Deckenfläche oder auf einer Kante zwischen einer Wandfläche und einer Bodenfläche eliminiert, weil bei diesen Punkten die Flächennormale einer der vier dominanten Richtungen zu sehr ähnelt. Zweitens können nur diejenigen Source/Target-Punktpaare berücksichtigt werden, deren zugehörigen Flächennormale einen kleinen V-Winkel aufweisen, beispielsweise weniger als 45°, 30°, 10°, 5°, 2°, 1°, 0.5° oder 0.1°. Anders ausgedrückt dürfen Punktpaare nur dann gebildet werden, wenn deren Flächennormale im Wesentlichen parallel zueinander sind. Diese Selektionsmechanismen führen zu einer dramatischen Verbesserung des Translationshistogramms, mit einer entsprechenden Erhöhung des Höchstwertes bei den richtigen X, Y-Verschiebungswerte und somit eine verbesserte Eindeutigkeit des Ergebnisses. Points with a high curvature value are not only corner points, but also points that lie on the edges between inner walls and ceilings or between inner walls and floors. These points can lead to spurious peaks in the translation histogram. Thus, the method can be improved by using surface normals which enable the two further selection methods described below: Firstly, only those points whose surface normals essentially differ from each of the four dominant directions of the inner walls may be exposed to source / target Make up a couple. Thus, the points on an edge between a wall surface and a ceiling surface or on an edge between a wall surface and a bottom surface are also eliminated, because at these points the surface normal resembles one of the four dominant directions too much. Second, only those source / target pairs of points may be considered whose associated surface normals have a small V-angle, for example less than 45 °, 30 °, 10 °, 5 °, 2 °, 1 °, 0.5 ° or 0.1 °. In other words, point pairs may only be formed if their surface normals are essentially parallel to one another. These selection mechanisms lead to a dramatic improvement in the translation histogram, with a corresponding increase in the maximum value at the correct X, Y shift values and thus an improved uniqueness of the result.
Um das Wahlverfahren noch diskriminativer zu gestalten kann eine weitere primitive Punkteigenschaft genutzt werden, nämlich der Höhenwert bzw. die Z-Koordinate. Nachdem die Source- und die Targetpunktwolken bezüglich der Gravitationsachse bereits ausgerichtet sind, werden korrespondierende Punkte der Source- und der Targetpunktwolke ähnliche Höhenwerte haben. Dabei kann es vorteilhaft sein, eine Fehlertoleranz für die Z-Werte der Punktpaare einzubauen, da beispielsweise Rampen, wie Rollstuhlrampen, im Innenraum der Baustruktur
Die oben beschriebenen diskriminativen Wahlverfahren können dabei vereinzelt oder in Kombination bei der Berechnung des Translationshistogramms angewandt werden. Bei der Anwendung von all diesen diskriminativen Wahlverfahren kann eine Reduktion des Berechnungszeitaufwands von über 95% sowie eine Steigerung der Qualität des resultierenden Translationshistogramms erreicht werden. The discriminative selection methods described above can be used singly or in combination in the calculation of the translation histogram. Using all these discriminative voting techniques, a reduction in computation time of over 95% and an increase in the quality of the resulting translation histogram can be achieved.
Nachdem die Innenwände der meisten Baustrukturen quer zueinander in vier dominante Richtungen ausgerichtet sind, weist das Ergebnis der Kreuzkorrelation des Source- und Targetsignaturhistogramms normalerweise vier Spitzen auf, die beispielsweise in
Deshalb wird eine weitere Ausführungsform beschrieben, die besonders geeignet ist bei der Ausrichtung von Innenraummodellen von Bauwerken
Sollte das Gebäude mehr oder weniger als vier dominante Richtungen haben, sodass das Kreuzkorrelieren der Source- und Targetsignaturhistogramme eine Anzahl von mehr oder weniger als vier Spitzen ergibt, kann die obige Ausführungsform dahingehend angepasst werden, dass genau so vielen rotationsbedingte Translationshistogramme berechnet werden, wie das Ergebnis des Kreuzkorrelierens Spitzen aufweist (d.h. wie die Anzahl der dominanten Richtungen des Gebäudes). Should the building have more or fewer than four dominant directions such that the cross-correlation of the source and target signature histograms yields a number of more or less than four peaks, the above embodiment can be adapted to compute as many rotational translational histograms as that Result of cross-correlation peaks (ie, how the number of dominant directions of the building).
Gemäß einer weiteren Ausführungsform können zwei Punktwolken mit einer beliebigen Initialausrichtung, d.h. die anfangs nicht entlang der Gravitationsachse
In einem weiteren Teil
Nach Abschluss des oben beschriebenen Vorverarbeitungsschrittes können die Source- und Targetpunktwolke gemäß jeder der oben beschriebenen Ausführungsformen, die eine gemeinsame lokale Gravitationsachse der Punktwolken voraussetzt, ausgerichtet werden. Insbesondere erfolgt dann eine Ermittlung der Rotation
In einer weiteren Ausführungsform umfasst der Rotationsschritt
In den hier beschriebenen Ausführungsformen mit zwei mittels rechteckiger Gitter diskretisierten Punktwolken
BezugszeichenlisteLIST OF REFERENCE NUMBERS
- 10 10
- Baustruktur oder Bauwerk Building structure or structure
- 15 15
- Bodenebene (XY-Ebene) Ground level (XY level)
- 17 17
- Gravitationsachse (Z-Achse) Gravity axis (Z-axis)
- 20 20
- Wandfläche wall surface
- 22 22
- modellierten Strukturen im Gebäudeinnenraum modeled structures in the building interior
- 100 100
- Targetpunktwolke Target point cloud
- 105 105
- ineinandergreifender Ausschnitt interlocking clipping
- 110 110
- überlappende Region des Targets overlapping region of the target
- 200 200
- Sourcepunktwolke Source point cloud
- 205 205
- ineinandergreifende Verzahnung interlocking interlocking
- 210 210
- überlappende Region der Source overlapping region of the source
- 300 300
- Translationshistogramm Translation histogram
- 302 302
- wahrscheinlichste X-Verschiebung most likely X-shift
- 500 500
- Einstieg bei noch nicht bezüglich der Gravitationsachse ausgerichteten Punktwolken Entry at point clouds not yet aligned with respect to the gravitational axis
- 510 510
- Rotationsausrichtung bezüglich Z-Achse Rotation orientation with respect to Z-axis
- 520 520
- Bodenausrichtung bottom alignment
- 530 530
- Vorverarbeitungsschritte preprocessing
- 600 600
- Einstieg bei bereits bezüglich der Gravitationsachse ausgerichteten Punktwolken Entry into point clouds already aligned with respect to the gravitational axis
- 610 610
- Ermittlung der Rotation der Sourcepunktwolke bezüglich der Targetpunktwolke Determination of the rotation of the source point cloud with respect to the target point cloud
- 620 620
- Ermittlung der Verschiebung der Sourcepunktwolke bezüglich der Targetpunktwolke Determination of the shift of the source point cloud with respect to the target point cloud
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte Nicht-PatentliteraturCited non-patent literature
- Akbarzadeh et al. „Towards Urban 3D Reconstruction from Video” in Third International Symposium on 3D Data Processing, Visualization, and Transmission; 2006 [0008] Akbarzadeh et al. "Towards Urban 3D Reconstruction from Video" at Third International Symposium on 3D Data Processing, Visualization, and Transmission; 2006 [0008]
- Agarwal et al. „Building Rome in a Day”, Communications of the ACM, Vol. 54 No. 10, Seiten 105–112 [0008] Agarwal et al. "Building Rome in a Day," Communications of the ACM, Vol. 10, pages 105-112 [0008]
- IEEE Transactions on 33 (8) (2011), Seiten 1633–1648 [0015] IEEE Transactions on 33 (8) (2011), pages 1633-1648 [0015]
- „Coherent Point Drift“ von A. Myronenko and X. Song beschrieben in „Point set registration: Coherent point drift,” und veröffentlicht in Pattern analysis and machine intelligence, IEEE Transactions on 32(12) (2010), Seiten 2262–2275 [0016] "Coherent Point Drift" by A. Myronenko and X. Song described in "Point set registration: Coherent point drift," and published in pattern analysis and machine intelligence, IEEE Transactions on 32 (12) (2010), pages 2262-2275 [ 0016]
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016116572.7A DE102016116572A1 (en) | 2016-09-05 | 2016-09-05 | Alignment of point clouds to the modeling of interiors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016116572.7A DE102016116572A1 (en) | 2016-09-05 | 2016-09-05 | Alignment of point clouds to the modeling of interiors |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102016116572A1 true DE102016116572A1 (en) | 2018-03-08 |
Family
ID=61198159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016116572.7A Ceased DE102016116572A1 (en) | 2016-09-05 | 2016-09-05 | Alignment of point clouds to the modeling of interiors |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102016116572A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020201563A1 (en) | 2019-04-04 | 2020-10-08 | raumdichter GmbH | Automatic establishment of a building plan |
WO2020201559A1 (en) | 2019-04-04 | 2020-10-08 | raumdichter GmbH | Digital construction status report |
CN111899291A (en) * | 2020-08-05 | 2020-11-06 | 深圳市数字城市工程研究中心 | Automatic registration method for coarse-to-fine urban point cloud based on multi-source dimension decomposition |
CN114485608A (en) * | 2021-12-13 | 2022-05-13 | 武汉中海庭数据技术有限公司 | Local point cloud rapid registration method for high-precision map making |
-
2016
- 2016-09-05 DE DE102016116572.7A patent/DE102016116572A1/en not_active Ceased
Non-Patent Citations (6)
Title |
---|
„Coherent Point Drift" von A. Myronenko and X. Song beschrieben in „Point set registration: Coherent point drift," und veröffentlicht in Pattern analysis and machine intelligence, IEEE Transactions on 32(12) (2010), Seiten 2262–2275 |
Agarwal et al. „Building Rome in a Day", Communications of the ACM, Vol. 54 No. 10, Seiten 105–112 |
Akbarzadeh et al. „Towards Urban 3D Reconstruction from Video" in Third International Symposium on 3D Data Processing, Visualization, and Transmission; 2006 |
CHIBUNICHEV, A. G.; VELIZHEV, A. B.: Automatic matching of terrestrial scan data using orientation histograms. The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2008, 37. Jg., Seiten 601-604. |
IEEE Transactions on 33 (8) (2011), Seiten 1633–1648 |
MAKADIA, A.; et al.: Fully automatic registration of 3D point clouds. In: Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference on. IEEE, 2006. Seiten 1297-1304. |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020201563A1 (en) | 2019-04-04 | 2020-10-08 | raumdichter GmbH | Automatic establishment of a building plan |
WO2020201559A1 (en) | 2019-04-04 | 2020-10-08 | raumdichter GmbH | Digital construction status report |
CN111899291A (en) * | 2020-08-05 | 2020-11-06 | 深圳市数字城市工程研究中心 | Automatic registration method for coarse-to-fine urban point cloud based on multi-source dimension decomposition |
CN114485608A (en) * | 2021-12-13 | 2022-05-13 | 武汉中海庭数据技术有限公司 | Local point cloud rapid registration method for high-precision map making |
CN114485608B (en) * | 2021-12-13 | 2023-10-10 | 武汉中海庭数据技术有限公司 | Local point cloud rapid registration method for high-precision map making |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10142785C2 (en) | Method for determining local similarity from 3D seismic measurement data | |
DE69922994T2 (en) | SYSTEM AND METHOD FOR RAY DISSOLUTION CALCULATION | |
DE102016116572A1 (en) | Alignment of point clouds to the modeling of interiors | |
EP1371940B1 (en) | Method to identify objects on a conveyor line | |
DE102017116952A1 (en) | SYSTEM AND METHOD FOR IMPROVED SCORING OF 3D LAYERS AND REMOVAL OF DISTURBANCES IN 3D IMAGE DATA | |
DE112006003380T5 (en) | Method and apparatus for the positional matching of three-dimensional shape data | |
DE112017006018T5 (en) | MOBILE ROBOTIC DEVICE PROCESSING UNSTRUCTURED DATA OF INTERIOR ENVIRONMENTS TO SEGMENT ROOMS IN A FACILITY TO IMPROVE THE MOVEMENT OF THE DEVICE THROUGH THE EQUIPMENT | |
DE102016119626A1 (en) | Automatic three-dimensional geolocation of SAR targets and simultaneous estimation of tropospheric propagation delays using two long-aperture SAR images | |
EP1882232B1 (en) | Method and device for determining the material interfaces of a test object | |
EP4055459B1 (en) | Computer-implemented method for creating a map of the surrounding area for the operation of a mobile agent | |
DE102015220031A1 (en) | Method for confidence estimation for optical-visual pose determination | |
DE102012217282A1 (en) | Method and device for assigning measuring points to a set of fixed points | |
DE102015007934A1 (en) | A method and computer program product for generating an artifact reduced voxel data set | |
DE10023377C2 (en) | Method for increasing the performance of a computer device in finite element simulations and such a computer device | |
WO2009101030A1 (en) | Method for the computer-aided calculation of the movement of an object using sensor data | |
EP3853816A1 (en) | Computer-implemented method for compressing measurement data from a measurement of a measurement volume | |
EP3693703B1 (en) | Position determination system | |
DE102014211709B4 (en) | Method for the computer-aided three-dimensional reconstruction of a surface of an object from digital image data | |
DE102019103429A1 (en) | Computer-implemented method for determining surfaces in measurement data | |
DE102017201169A1 (en) | Computer-aided image processing method | |
DE102019114548A1 (en) | CLASSIFICATION OF DETECTED REFLECTIONS IN A SENSOR SYSTEM | |
DE112020004431T5 (en) | Lineargrammetry and calibration by simultaneous multilateration using only edge distance estimates by two-way ranging | |
DE10142784C2 (en) | Methods for determining anisotropy of geological units | |
DE102022126640A1 (en) | Method and device for generating a floor plan of a building | |
DE102020112120A1 (en) | System and method for processing measured 3D values of a scene |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |