US8340400B2 - Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features - Google Patents
Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features Download PDFInfo
- Publication number
- US8340400B2 US8340400B2 US12/436,224 US43622409A US8340400B2 US 8340400 B2 US8340400 B2 US 8340400B2 US 43622409 A US43622409 A US 43622409A US 8340400 B2 US8340400 B2 US 8340400B2
- Authority
- US
- United States
- Prior art keywords
- data points
- cells
- cell
- determining
- planar features
- 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.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Definitions
- Typical vision-based navigation systems identify simple uniquely identifiable objects (commonly referred to as features) in a 2D image (typically an intensity image). These features and their position within the image are used for further processing, such as more complex object detection or motion estimation. In most cases, such features identified are point features. Point features are uniquely identifiable points present in a scene. One example of a point feature is a vertex of a cube.
- the features identified within an image may be used to estimate motion. To estimate motion from the identified features, the features from one image are matched (e.g., by correlation) to features in another image of the same scene. The difference in location of the features between the images is used to determine the motion between the images.
- Point feature based approaches work well for some images. For example, point feature based approaches are a commonly used when dealing with standard intensity images and infrared images. Point feature based approaches, however, do not perform as well with images containing 3D data.
- FIG. 2 depicts one embodiment of a scene showing a plurality of planar features.
- FIG. 1 is a high level block diagram depicting one embodiment of a system 100 for extracting and matching planar features, and for determining motion from the planar features.
- system 100 is a navigation system for a vehicle.
- system 100 is configured in a different manner and/or with different components.
- system 100 includes a sensor 102 coupled to a processing unit 104 .
- Sensor 102 is operable to provide 3D data points which represent a scene to processing unit 104 .
- the term “scene” refers to a real life place at a given moment in time.
- the data points collected by sensor 102 comprise a three dimensional (3D) point cloud or a 2D depth map that includes range data.
- Range data indicates the distance from the sensor to a given point in the scene.
- sensor 102 is a 3D scanning or flash LiDAR camera such as the Swissranger SR-3100 manufactured by Mesa Imaging AG.
- sensor 102 is a millimeter wave radar.
- sensor 102 comprises a radar and a electro-optical camera. In other embodiments, other combinations of sensors are used.
- Processing unit 104 uses the 3D data points provided by sensor 102 to identify planar features in the scene. To identify and extract planar features from the 3D data points, processing unit 104 executes code 112 stored in memory 106 . Processing unit 104 performs methods 300 , 313 , 400 , 500 , and/or 550 based on instruction provided in code 1 12 . More detail regarding methods 300 , 313 , 400 , 500 and/or 550 and code 112 are provided below.
- the data points obtained from sensor 102 are in the form of a two-dimensional (2D) range grid where each data point in the grid is identified by the indices (i.j). Each data point comprises data representing a range value for a scene at the data point. In one embodiment, the data points also comprise a grayscale shade or color of the scene at the data point. In other embodiments, other additional data is included in each data point including temperature information or light reflectivity.
- sensors 102 that provide range data such as a LiDAR, typically obtain range data in spherical coordinates (i.e. a horizontal angle, vertical angle, and distance).
- a planar feature is identified by finding a set of contiguous points, from the 3D data points, in which both the locally estimated normal vector at each point is pointing in approximately the same direction (i.e. the orientation of a surface element at each point is approximately the same), and the orthogonal distance of a surface element at each point from the origin of the coordinate system is approximately the same. This is explained in more detail below.
- FIG. 6A illustrates one example of a surface 602 within a set of 3D data points.
- FIG. 6A illustrates one normal vector 604 and two tangential vectors 606 for a data point 608 on surface 602 .
- Normal vector 604 is a vector that is orthogonal to surface 602 at data point 608 .
- the normal vectors are normalized and oriented toward the origin.
- the origin refers to the coordinate origin, in other words, the origin is the data point representation at [0,0,0]. In one embodiment, the origin is located at the optical center of the camera used to obtain the 3D data points.
- the normal vector is estimated by other methods, including local least squares. Local least squares determines the normal vector by minimizing
- the orthogonal distance for each data point is estimated ( 304 ) using the same mask used in block 302 for the respective data point.
- a 5 ⁇ 5 mask is used to determine the orthogonal distance for the data point of interest.
- the orthogonal distance “d” is calculated according to the following equation:
- the data points are grouped into cells ( 306 ).
- a cell is formed by grouping together data points having similar normal vectors and orthogonal distances.
- the data points are grouped into cells based on step values of the normal vector and orthogonal distance of each data point.
- data points are grouped based on step values of ⁇ , ⁇ , and d, such that ⁇ and ⁇ steps are set at angles of 3° ( ⁇ /60) and orthogonal distance d is set at steps of 0.1 m.
- one cell would include vectors having ⁇ angles from 30-33°, ⁇ angles from 57-60°, and orthogonal distances between 6-6.1 meters.
- FIG. 7 is a three-dimensional graphical illustration of local maxima and global maximum on a 2D function. As shown a (non-sharp) local maxima corresponds to points where the value of the function is greater (or equal to) any other value of the function in some small neighborhood of the point.
- the (non-sharp) global maximum is a point where the value of the function is greater (or equal to) any other value of the function.
- a plane would lie with a single cell, since all the plane's points would have the same normal vector and orthogonal distance.
- Real data however, contains noise.
- point parameters normal vector and orthogonal distance
- these point parameters are spread around in a Gaussian like distribution.
- the ideal plane value is searched for by looking for a peak (local maximum) in the distribution.
- the numbers of data points within each cell is determined.
- the cells with the largest number of data points in their “local” area are considered local maxima cells.
- the number of data points within each cell is then identified in a sliding 5 ⁇ 5 ⁇ 5 mask. Only maxima which lie in the original non-padded cluster are considered to be local maxima.
- Padding of the cluster and using only maxima within original non-padded cluster ensures that a planar feature periodically spread from maximum to minimum ⁇ and ⁇ angles is detected only once.
- different sliding mask sizes can be used and the number of cells used to periodically pad the cluster is adjusted accordingly.
- the number of cells to pad the cluster is at least the maximum integer number smaller or equal to half of the sliding mask's size.
- is a non-sharp local maximum when there exists a neighborhood of x, N x , such that ⁇ y ⁇ N x ,
- is a sharp local maximum when there exists a neighborhood of x, N x , such that ⁇ y ⁇ N x ,
- cells having a number of data points below a certain threshold are disregarded ( 310 ). Cells consisting of a low number of data points are likely either noise, or come from planar features too small to be reliably identified, thus, these cells are disregarded.
- the threshold cell size is 6 data points, thus cells having less than 6 data points are disregarded. In other embodiments, other cell threshold sizes are used.
- two cells that are a non-sharp local maximum within an immediate proximity of one another are merged together into a single cell ( 312 ).
- local maxima cells adjacent to each other in a 3 ⁇ 3 ⁇ 3 mask are merged together as a single cell.
- other mask shapes and sizes are used.
- periodicity in the ⁇ and ⁇ angles is taken into account in order to determine when to merge nearby local maxima.
- ⁇ and ⁇ angles of ⁇ /2 and ⁇ /2 may be merged together as a single cell.
- processor 104 determines which cells qualify as planar feature candidates ( 314 ).
- a cell qualifies as a planar feature candidate when a number of data points associated with the cell is equal to or above a threshold. Similar to block 310 , cells having a number of data points below a certain threshold are disregarded. For example, in one embodiment, a cell having less than 10 data points are disregarded. In other embodiments, other thresholds are used. The threshold for a single cell here is higher than the one used at block 310 , since non-unique maxima have been merged into a single cell. In some embodiments, processor 104 keeps track of the data points corresponding to each of the cells during the determination of planar feature candidate.
- planar feature candidates are considered to be an extracted planar feature without any further processing.
- each cell that meets the threshold of block 314 comprises an extracted planar feature.
- a method 400 for refining a planar feature candidate is shown.
- processor 104 determines planar feature candidates from the cells
- a geometric description is determined for each planar feature candidate ( 402 ).
- a geometric description for a planar feature candidate is a normal vector for the planar feature candidate and the planar feature's orthogonal distance from the origin.
- the normal vector and orthogonal distance for each data point associated with a planar feature candidate is averaged to determine a single normal vector and orthogonal distance to describe the planar feature candidate.
- a least squares estimation of the normal vector and the orthogonal distance is performed based on the Cartesian 3D data points [x, y, z] associated with a planar feature candidate. Least squares are used to estimate the normal vector for a planar feature candidate. To perform the least squares estimation, the orthogonal distance is pre-set to an arbitrary non-zero number. In one embodiment the orthogonal distance is pre-set to 1. In certain cases, the least squares estimation becomes numerically unstable. This problem is well known and commonly alleviated by using, for example, SVD decomposition or Choleski factorization. In one embodiment, both the normal vector and the pre-set orthogonal distance are divided by the norm of the normal vector.
- the Random Sample Consensus (RANSAC) algorithm is used to reject outliers when combining the Cartesian 3D data points [x, y, z] associated with a planar feature candidate.
- RANSAC Random Sample Consensus
- the result of the geometric description is a normal vector and orthogonal distance describing the planar feature candidate.
- a geometric description is generated for all planar feature candidates.
- processor 104 determines which data points in the set of 3D data points lie on the plane defined by each description ( 404 ). Each data point in the set of 3D data points is compared to each planar feature candidate from the set of 3D data points to determine if the particular data point lies on the plane defined by the planar feature candidate. To determine which data points lay on a particular plane, the inner product of each data point and the normal vector describing the planar feature candidate is computed. This number is then subtracted from the orthogonal distance of the planar feature candidate from the origin. A data point is considered to lie on the candidate planar feature if the difference between the inner product and the orthogonal distance is within a certain margin.
- a data point is considered to lie on a plane of a planar feature candidate when the inner product of the data point and the normal vector for the candidate planar feature subtracted from the orthogonal distance of the normal vector from the origin is less than 0.03 m as shown in the following equation:
- the normal vector for the data point also must be similar to the normal vector for the planar feature candidate.
- the inner product of the normal vector for the data point and the normal vector for the planar feature candidate must be more than or equal to 0.90 as shown in the following equation:
- a planar feature candidate and its associated data points are considered to be an extracted planar feature if the planar feature candidate has at least a threshold number of data points associated therewith ( 406 ).
- a planar feature candidate is considered to be a planar feature when the planar feature candidate has at least 80 data points associated therewith. Planar feature candidates that do not have the threshold number of data points associated therewith are discarded. Planar feature candidates that do have a threshold number of data points associated therewith are considered planar features.
- morphological refinement and merging of the planar features are conducted by processor 104 .
- Morphological refinement attempts to smooth a planar feature and the merging process merges similar planar features into a single planar feature. For example, in one embodiment, prior to excluding a planar feature for lack of a threshold number of data points, the planar feature candidate and the data points therewith is eroded with a 4 ⁇ 4 mask to remove isolated artifacts. Then, processor 104 determines whether the planar feature candidate has enough associated data points to meet the threshold. If the planar feature candidate has enough associated data points, the planar feature is then dilated with a 7 ⁇ 7 mask to close internal single data point holes.
- processor 104 determines if any of the remaining planar features should be merged. In one embodiment, any two planar features that overlap by at least two third of the area of either planar feature are merged together. The merging is recursively repeated until there are no planar features left to merge. In another embodiment, merging is performed without application of morphological operations. Either one, both, or neither of merging and morphological refinement may be performed by processor 104 to refine an extracted planar feature from an image.
- steps 402 , 404 , and 406 may be performed by processor 104 to refine an extracted planar feature from an image.
- the planar feature candidate is considered an extracted planar feature once the final step of the particular embodiment is completed.
- planar features extracted from successive images are matched in order to estimate motion between the two images.
- processing unit 104 estimates motion by matching extracted planar features from a first set of 3D data points to corresponding extracted planar features from a previous set of 3D data points stored in a memory 106 .
- FIG. 5A illustrates one embodiment of a method 500 for determining motion from planar features.
- Method 500 estimates motion by comparing location information of planar features extracted from a first set of 3D data points to location information of planar features extracted from a second set of 3D data points.
- the first set of 3D data points is obtained by sensor 102 at a first time from a moving vehicle.
- the second set of 3D data points is obtained by sensor 102 at a second time from the moving vehicle.
- the extracted planar features are used to determine the motion of the moving vehicle.
- the planar features are extracted from the second set of 3D data points using the same method characteristics as the planar features are extracted from the first set of 3D data points.
- different method characteristics are used to extract the second set of 3D data points than is used to extract the first set of 3D data points.
- a group of planar features from the first set of 3D data points are matched to a group of planar features from the second set of 3D data points.
- the group of planar features from each set of 3D data points that is to be used for motion estimation is determined ( 502 ).
- Each planar feature in a group of planar features is selected to be sufficiently independent of each of the other planar features within the group. For example, in a group of three planar features (referred to herein as a triplet) each of the three planar features is sufficiently independent of the other two planar features.
- planar features are analyzed to determine whether the planar feature belongs to a group of three planar features that satisfies the following relational criteria: denoting n 1 , n 2 , and n 3 to be unit-length normal vectors for each of the three planar features respectively, the three planar features are selected such that the triple product ((n 1 ⁇ n 2 )′n 3 ) of their normal vectors is greater than a given threshold. Having a triple product above a certain threshold ensures that the normal vectors for each plane are linearly independent, that the mutual angles for the normal vectors are above certain threshold, and that the normal vectors point in three different directions.
- planar features in a set of 3D data points is analyzed to determine if that planar feature forms a triplet with any other planar features within that set of 3D data points.
- All combinations of three planar features for a set of 3D data points are input into the above criteria.
- Planar features are compared only to planar features within their set of 3D data points. In other words, to meet the criteria above, a planar feature must be sufficiently independent of at least two other planar features extracted from the same set of 3D data points.
- the planar features that belong to a triplet are used for further processing in method 500 .
- a triple product of at least 0.333 is required for unit-length normal vectors of the three planar features.
- hypotheses are generated ( 504 ) to determine matches of triplets from the first set of 3D data points with triplets from the second set of 3D data points.
- Each hypothesis assigns a triplet in the first set of 3D data points to a triplet in the second set of 3D data points.
- a hypothesis is an assumption that assigned triplets correspond to matching planar features.
- a hypothesis assigning triplet B from the second set of 3D data points to triplet A from the first set of 3D data points assumes that the planar features corresponding to triplet B match the planar features corresponding to triplet A (after the planar features have been rotated and translated).
- a “match” of a planar feature or features from one set of 3D data points with a planar feature or features from another set of 3D data points refers to the situation where a plane on an object in the scene captured by the first set of 3D data points corresponds to the same plane on the object in the scene captured by the second set of 3D data points.
- a surface on a table in a first set of 3D data points would match with the same table surface in a second set of 3D data points, even if the second set of 3D data points was obtained from a different angle than the first set of 3D data points.
- a match cannot be achieved with 100% accuracy, determining a match attempts to determine when the above situation exists.
- the triplets in each hypothesis are analyzed to determine whether their corresponding planar features match. For every two triplets (3 planar features each), 6 hypotheses are generated since each matching combination of two planar features is considered as a separate hypothesis.
- Hypothesis evaluation determines how well the assigned planar features of the hypothesis match.
- hypothesis evaluation determines a rotation “R” and a translation “T” between the planar features from the first set of 3D data points and the planar features from the second set of 3D data points in the hypothesis.
- Rotation R refers to the three-dimensional change in orientation between the planar features from the first set of 3D data points to the matching planar features in the second set of 3D data points.
- translation T refers to the distance change of between the planar features from the first set of 3D data points to the matching planar features in the second set of 3D data points. More detail regarding hypothesis evaluation is provided below with respect to method 550 and FIG.
- hypotheses are evaluated, however; in other embodiments, only a portion of the hypotheses are evaluated. In one embodiment where only a portion of the hypotheses are generated, hypotheses are selected for evaluation randomly by, for example, the RANSAC algorithm. In one embodiment, the evaluation ends when a hypothesis with a sufficiently good score (satisfying a given threshold) is found. When a hypothesis is evaluated, the hypothesis is either rejected initially when there is no chance that the hypothesis is correct, or a hypothesis score is calculated. In one embodiment, all possible hypotheses are generated and analyzed based on all triplets from both sets of 3D data points. In another embodiment, hypotheses are analyzed as they are generated, thus, once a successful hypothesis (having a score meeting the threshold described with respect to block 508 below) is found, no more hypotheses are generated.
- the best scored hypothesis is selected from among the scored hypotheses ( 508 ). For example, in one embodiment, the highest score is selected as the best one. The best score is further evaluated, to determine whether the score meets a threshold. If the score meets a given threshold, the score is accepted; otherwise the method ends and the method has failed to estimate motion from the planar features.
- the threshold is specific to the way the hypothesis is scored in method 550 .
- the motion estimates of the rotation R and the translation T from the best scoring hypothesis are refined by taking into account other matched planar features, when other matched planar features exist ( 510 ). This may achieve more robust and stable motion estimation, however, this also increases the amount of processing required.
- the rotation R is refined by re-evaluating the rotation matrixes R of all matched frames using the Absolute Orientation algorithm. To refine the translation T, the matrix
- This motion model determines formulas such as how rotation R and translation T are both calculated and used. In the embodiments described herein, formulas containing R and T are based on this motion model. In other embodiments, however, other motion models are used and formulas working with R and T are modified accordingly.
- FIG. 5B illustrates one embodiment of a hypothesis evaluation method 550 .
- the hypothesis evaluation adjusts the orientation of planar features in each triplet (if necessary) to ensure the rotation compatibility of assigned planar features in each triplet ( 552 ).
- a planar feature represented by a unit-length normal vector n and an orthogonal distance d may also be represented by a unit-length normal vector ⁇ n and an orthogonal distance ⁇ d. This ambiguity complicates rotation estimation.
- the representation of planar feature P l 2 is transformed instead.
- the additional 7 hypotheses are ⁇ P i 1 ,P j 1 ,P k 1 ⁇ P m 2 ,P n 2 ,P o 2 , P i 1 , ⁇ P j 1 ,P k 1 ⁇ P m 2 ,P n 2 ,P o 2 , P i 1 ,P j 1 , ⁇ P k 1 ⁇ P m 2 ,P n 2 ,P o 2 , P i 1 ,P j 1 , ⁇ P k 1 ⁇ P m 2 ,P n 2 ,P o 2 , ⁇ P i 1 , ⁇ P j 1 ,P k 1 ⁇ P m 2 ,P n 2 ,P o 2 , ⁇ P i 1 , ⁇ P j 1 ,P k 1 ⁇ P m 2 ,P n 2 ,P o 2 , ⁇ P i 1 ,P j 1 , ⁇ P k 1
- 7 additional hypotheses are generated by creating 7 sign-combinations of planar features in the second set of 3D data points and leaving the signs of the planar features in the first set of 3D data points P i 1 ,P j 1 ,P k 1 intact.
- the rotation R corresponding to hypothesis is estimated ( 556 ).
- the rotation is determined by inputting the normal vectors of the planar features into the Absolute Orientation algorithm. More detail regarding the absolute orientation algorithm is provided in the publication “Closed-form solution of absolute orientation using unit quaternions” by B. K. P. Horn, Journal of Optical Society of America A, Vol. 4, Issue 4, 1987, pp. 629, which is hereby incorporated herein by reference.
- the rotation is verified ( 558 ).
- close similarity is required for each pair of corresponding vectors.
- the similarity is measured by a vector inner product.
- the similarity is measured by the norm of their difference. For example, in one embodiment, the norm of the difference between the normal vectors is compared with a threshold “T”.
- method 550 continues to block 560 with the current hypothesis.
- the condition is not met, the hypothesis is rejected and the evaluation of this hypothesis ends.
- the translation T between the two sets of planar features is determined ( 560 ).
- the translation T between the planar features is determined using the following equation:
- the rotation and translation estimated from the hypothesis define a motion between the two sets of 3D data points.
- the hypothesis is scored by comparing the rotation and translation determined for the hypothesis with motion in other parts of the scenes captured by sensor 102 .
- planar features not included in the currently evaluated hypothesis are analyzed to determine whether the other planar feature(s) have matching planar feature(s) with a rotation and translation equal to (or within a threshold of) the rotation and translation determined for the currently evaluated hypothesis.
- a transformation is computed using the rotation and translation from the hypothesis.
- the planar features extracted from the second set of 3D data points are then searched to determine whether there exists a planar feature from the second set of 3D data points that corresponds to the transformation.
- Each planar feature from the first set of 3D data points is transformed and compared to the planar features from the second set of data points.
- the number of planar features from the first set of 3D data points that have a corresponding planar feature in the second set of 3D data points is counted and used as the score for the hypothesis.
- ⁇ circumflex over (n) ⁇ 2 Rn 1
- ⁇ circumflex over (d) ⁇ 2 d 1 + ⁇ circumflex over (n) ⁇ 2 ′T.
- All planar features extracted from the second set of 3D data points are searched, to determine whether there exists a planar feature P 2 represented by a normal vector n and an orthogonal distance d, such that either from the following statements is true:
- LiDAR points from the first and second sets of 3D data points are used to calculate a hypothesis score. This utilizes the assumption that if the motion was estimated correctly, most of points from the first set of 3D data points, when transformed, should overlap with points from the second set of 3D data points.
- Points ⁇ circumflex over (x) ⁇ 2 are then compared to actual points x 2 from the second set of 3D data points. In one embodiment, all points ⁇ circumflex over (x) ⁇ 2 are compared to actual points x 2 .
- a randomly selected subset of the points ⁇ circumflex over (x) ⁇ 2 is compared to actual points x 2 .
- the comparison between transformed points and actual points is performed in the following way. First, the points ⁇ circumflex over (x) ⁇ 2 that lie out of the sensor field of view in the second set of 3D data points are removed, since these points have no corresponding point in the second set of 3D data points. Then, the closest point x 2 from the second set of 3D data points is determined for every point ⁇ circumflex over (x) ⁇ 2 . Then, the number of points ⁇ circumflex over (x) ⁇ 2 having a point x 2 within a threshold distance is counted.
- the hypothesis score is the ratio of the number of points ⁇ circumflex over (x) ⁇ 2 having a point x 2 within a threshold distance, to the number of all points ⁇ circumflex over (x) ⁇ 2 within the field of view. In other words, the hypothesis
- the closest point x 2 to ⁇ circumflex over (x) ⁇ 2 is found the following way.
- Points ⁇ circumflex over (x) ⁇ 2 within the sensor field of view are transformed to spherical coordinates (i.e. a horizontal angle ⁇ circumflex over ( ⁇ ) ⁇ 2 , vertical angle ⁇ circumflex over ( ⁇ ) ⁇ 2 , and range ⁇ circumflex over (r) ⁇ 2 ).
- spherical coordinates i.e. a horizontal angle ⁇ circumflex over ( ⁇ ) ⁇ 2 , vertical angle ⁇ circumflex over ( ⁇ ) ⁇ 2 , and range ⁇ circumflex over (r) ⁇ 2 ).
- the following formula is used to find the closest point: x 2 ( ⁇ 2 , ⁇ 2 ,r 2 ) for every point
- a single sensor provides no more than one point x 2 ( ⁇ 2 , ⁇ 2 ,r 2 ) for each pair of ⁇ 2 , ⁇ 2 , therefore ⁇ 2 , ⁇ 2 determines each point is uniquely.
- similar criterions are used to determine the closest point.
- the hypothesis score is determined based on ratio of points ⁇ circumflex over (x) ⁇ 2 that are within a threshold distance to a point ⁇ circumflex over (x) ⁇ 2 , to the number of total points ⁇ circumflex over (x) ⁇ 2 within the field of view.
- the distance ds( ⁇ circumflex over (x) ⁇ 2 ,x 2 ) is defined as
- the hypothesis score is then calculated as:
- Score ⁇ ⁇ x ⁇ 2 ⁇ ⁇ r 2 - r ⁇ 2 ⁇ ⁇ T ⁇ ⁇ ⁇ ⁇ x ⁇ 2 ⁇ ⁇ .
- the hypothesis is scored based on the condition ⁇ x 2 ⁇ circumflex over (x) ⁇ 2 ⁇ T instead of the condition
- ds( ⁇ circumflex over (x) ⁇ 2 ,x 2 ) might be used.
- system 100 includes one or more actuators 108 , and processing unit 104 uses the estimated motion to control actuators 108 . Based on the estimated motion, processing unit 104 generates control signals which are sent to actuators 108 to control the movement of a vehicle in which system 100 is located. For example, actuators 108 may be controlled in order to direct system 100 to a desired destination and/or avoid obstacles.
- system 100 is located within an aircraft, and processing unit 104 controls actuators 108 on the aircraft, such as the throttle or wing flaps, in order to control the pitch, yaw, and/or thrust of the aircraft.
- the estimated motion calculation is used to control actuators after fusion with data from other sensors, such as alternate navigation sensor 105 , in order to achieve improved reliability and/or accuracy.
- alternate navigation sensor 105 can be implemented as, but is not limited to, an inertial measurement unit (IMU), inertial navigation system (INS), attitude and heading reference system (AHRS), GPS, or other system.
- IMU inertial measurement unit
- INS inertial navigation system
- AHRS attitude and heading reference system
- GPS or other system.
- system 100 includes a display device 110 .
- Display device 110 is operable to display navigation data to a user.
- the motion estimated is translated by processing system 104 and displayed on display device 110 .
- the extracted planar features are used to estimate motion
- the calculated position and orientation of a vehicle in which system 100 is located are displayed to the user on display device 110 .
- the calculated position and orientation are displayed as longitudinal and latitudinal coordinates.
- the extracted planar features are used for map generation, and the generated map is displayed to the user.
- Suitable display devices include: CRT displays, active and passive matrix LCDs, and plasma displays.
- processing unit 104 is operable to use the extracted planar features for other navigation tasks, such as, but not limited to, integration of the observed scenes with map data to minimize misalignment of map data to the real world, and automatic map construction based on the observed scenes.
- the integrated map is displayed to user on display device 104 .
- All or some portions of the methods 300 , 400 , 500 , and 550 described above can be implemented in software instructions tangibly embodied on a computer readable medium and executed by a processing unit such as processing unit 104 .
- software instructions to implement all or some portions of methods 300 , 400 , 500 ,and 550 are implemented as code 112 on memory 106 .
- Such computer readable media can be any available media that can be accessed by a general purpose or special purpose computer or processor, or any programmable logic device.
- Suitable computer readable media may include storage or memory media such as magnetic or optical media, e.g., disk or CD-ROM, volatile or non-volatile media such as RAM (e.g., SDRAM, DDR SDRAM, RDRAM, SRAM, etc.), ROM, EEPROM, flash memory, etc.
- storage or memory media such as magnetic or optical media, e.g., disk or CD-ROM, volatile or non-volatile media such as RAM (e.g., SDRAM, DDR SDRAM, RDRAM, SRAM, etc.), ROM, EEPROM, flash memory, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
Description
n x =y i z j −y j z i
n y =z i x j −z j x i
n z =x i y j −x j y i
This determines the normal vector [nx, ny, nz] for the data point corresponding to the Cartesian point [x, y, z]. In one embodiment, to accurately compare normal vectors of different data points, the normal vectors are normalized and oriented toward the origin. As used herein the origin refers to the coordinate origin, in other words, the origin is the data point representation at [0,0,0]. In one embodiment, the origin is located at the optical center of the camera used to obtain the 3D data points. In some embodiments, the normal vector is estimated by other methods, including local least squares. Local least squares determines the normal vector by minimizing
where d is set arbitrarily.
where (·,·) denotes an inner product and the normal vector [nx, ny, nz] has been normalized. In this way, the orthogonal distance is determined for each data point.
for n=[n1, n2, n3]. The normal vector n is then normalized, and d is adjusted accordingly by dividing by the original (prior to normalization) norm of the normal vector n. More details regarding the RANSAC algorithm are provided in the article “Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography” by M. A. Fischler, and R. C. Bolles, Comm. Of the ACM 24: pg. 381-395, June 1981 which is hereby incorporated herein by reference.
Additionally, in one embodiment, for a data point to be considered to lie on a plane, the normal vector for the data point also must be similar to the normal vector for the planar feature candidate. For example, in one embodiment, the inner product of the normal vector for the data point and the normal vector for the planar feature candidate must be more than or equal to 0.90 as shown in the following equation:
In this way the data points corresponding to a particular planar feature candidate are determined.
is replaced with right pseudo-inversion matrix the following way: denote all matched planes P1 1, . . . ,Pn
where (NN′)−1N is a right pseudo-inverse matrix to the matrix N. In one embodiment, the motion model x2=Rx1+T is used to describe the motion between to sets of 3D data points. This motion model determines formulas such as how rotation R and translation T are both calculated and used. In the embodiments described herein, formulas containing R and T are based on this motion model. In other embodiments, however, other motion models are used and formulas working with R and T are modified accordingly.
When more than three planes are matched, the inverse matrix
is replaced with a right pseudo-inverse matrix.
- 1. n is similar to {circumflex over (n)}2 and {circumflex over (d)}2−d is close to zero (|{circumflex over (d)}2−d| is below certain threshold).
- 2. n is similar to −{circumflex over (n)}2 and {circumflex over (d)}2+d is close to zero (|{circumflex over (d)}2+d| is below certain threshold). In other embodiments, planar features P2 from the second set of 3D data points are analyzed to compute their anticipated planar feature by inverse rotation and translation ({circumflex over (n)}1=R′n2,{circumflex over (d)}1=d2−{circumflex over (n)}2′T), and search all planar features in the first set of 3D data points in a similar manner. The score for the hypothesis is the number of planar features that match either
criterion 1 or 2.
where |.| stands for the size of the set and ds(.,.) stands for a distance.
Typically, a single sensor provides no more than one point x2(θ2, φ2,r2) for each pair of θ2,φ2, therefore θ2, φ2 determines each point is uniquely. Alternatively, in other embodiments, similar criterions are used to determine the closest point. Once the closest point x2 to every point {circumflex over (x)}2 is determined, the hypothesis score is determined based on ratio of points {circumflex over (x)}2 that are within a threshold distance to a point {circumflex over (x)}2, to the number of total points {circumflex over (x)}2 within the field of view.
In another embodiment, the hypothesis is scored based on the condition ∥x2−{circumflex over (x)}2∥<T instead of the condition |r2−{circumflex over (r)}2|<T, where ∥●∥ denotes and Eucleidian norm. In other embodiments, other definitions of ds({circumflex over (x)}2,x2) might be used.
Claims (20)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/436,224 US8340400B2 (en) | 2009-05-06 | 2009-05-06 | Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features |
| EP10161058.2A EP2249311B1 (en) | 2009-05-06 | 2010-04-26 | Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features |
| IL205403A IL205403A (en) | 2009-05-06 | 2010-04-28 | Systems and methods for extracting planar features, matching the planar features and estimating motion from the planar features |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/436,224 US8340400B2 (en) | 2009-05-06 | 2009-05-06 | Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20100284572A1 US20100284572A1 (en) | 2010-11-11 |
| US8340400B2 true US8340400B2 (en) | 2012-12-25 |
Family
ID=42269674
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/436,224 Active 2031-02-20 US8340400B2 (en) | 2009-05-06 | 2009-05-06 | Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8340400B2 (en) |
| EP (1) | EP2249311B1 (en) |
| IL (1) | IL205403A (en) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120075342A1 (en) * | 2010-09-24 | 2012-03-29 | Maha El Choubassi | Augmenting image data based on related 3d point cloud data |
| US20140233790A1 (en) * | 2013-02-19 | 2014-08-21 | Caterpillar Inc. | Motion estimation systems and methods |
| US20150154467A1 (en) * | 2013-12-04 | 2015-06-04 | Mitsubishi Electric Research Laboratories, Inc. | Method for Extracting Planes from 3D Point Cloud Sensor Data |
| US9153067B2 (en) | 2013-01-21 | 2015-10-06 | Honeywell International Inc. | Systems and methods for 3D data based navigation using descriptor vectors |
| US9400939B2 (en) | 2014-04-13 | 2016-07-26 | International Business Machines Corporation | System and method for relating corresponding points in images with different viewing angles |
| US10178316B2 (en) | 2014-07-17 | 2019-01-08 | Elbit Systems Ltd. | Stabilization and display of remote images |
| US10402999B2 (en) * | 2017-07-21 | 2019-09-03 | Baidu Online Network Technology (Beijing) Co., Ltd | Method, apparatus and terminal device for constructing map |
| US10663594B2 (en) * | 2016-03-14 | 2020-05-26 | Imra Europe S.A.S. | Processing method of a 3D point cloud |
| US12283001B2 (en) | 2021-10-25 | 2025-04-22 | Qatar University | Computation of three-dimensional Euler angles through a distinctive matrices pattern |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101609679B1 (en) * | 2009-03-31 | 2016-04-06 | 팅크웨어(주) | Apparatus for map matching of navigation using planar data of road and method thereof |
| US8340400B2 (en) | 2009-05-06 | 2012-12-25 | Honeywell International Inc. | Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features |
| US8199977B2 (en) * | 2010-05-07 | 2012-06-12 | Honeywell International Inc. | System and method for extraction of features from a 3-D point cloud |
| US8660365B2 (en) | 2010-07-29 | 2014-02-25 | Honeywell International Inc. | Systems and methods for processing extracted plane features |
| US9147260B2 (en) * | 2010-12-20 | 2015-09-29 | International Business Machines Corporation | Detection and tracking of moving objects |
| US20130080111A1 (en) * | 2011-09-23 | 2013-03-28 | Honeywell International Inc. | Systems and methods for evaluating plane similarity |
| US8521418B2 (en) | 2011-09-26 | 2013-08-27 | Honeywell International Inc. | Generic surface feature extraction from a set of range data |
| KR101909544B1 (en) * | 2012-01-19 | 2018-10-18 | 삼성전자주식회사 | Apparatus and method for plane detection |
| US9582932B2 (en) * | 2012-06-05 | 2017-02-28 | Apple Inc. | Identifying and parameterizing roof types in map data |
| US9256788B2 (en) * | 2012-11-02 | 2016-02-09 | Qualcomm Incorporated | Method for initializing and solving the local geometry or surface normals of surfels using images in a parallelizable architecture |
| US9123165B2 (en) * | 2013-01-21 | 2015-09-01 | Honeywell International Inc. | Systems and methods for 3D data based navigation using a watershed method |
| RU2013106319A (en) * | 2013-02-13 | 2014-08-20 | ЭлЭсАй Корпорейшн | RELIABLE DIGITAL REGISTRATION BASED ON CHARACTERISTIC POINTS |
| US20140363073A1 (en) * | 2013-06-11 | 2014-12-11 | Microsoft Corporation | High-performance plane detection with depth camera data |
| CN104344795A (en) * | 2013-07-24 | 2015-02-11 | 鸿富锦精密工业(深圳)有限公司 | Point cloud profile measuring system and method |
| US9934611B2 (en) | 2013-09-11 | 2018-04-03 | Qualcomm Incorporated | Structural modeling using depth sensors |
| US9406138B1 (en) * | 2013-09-17 | 2016-08-02 | Bentley Systems, Incorporated | Semi-automatic polyline extraction from point cloud |
| US11556745B2 (en) | 2019-03-22 | 2023-01-17 | Huawei Technologies Co., Ltd. | System and method for ordered representation and feature extraction for point clouds obtained by detection and ranging sensor |
| CN110335234B (en) * | 2019-04-28 | 2022-05-20 | 武汉大学 | A three-dimensional change detection method based on LiDAR point cloud of ancient cultural relics |
| US11887347B2 (en) * | 2020-08-06 | 2024-01-30 | Canon U.S.A., Inc. | Device-to-image registration method, apparatus, and storage medium |
| US11600009B2 (en) * | 2021-06-08 | 2023-03-07 | Intuitive Research And Technology Corporation | Aligning data sets based on identified fiducial markers |
| US20230196601A1 (en) * | 2021-12-20 | 2023-06-22 | Purdue Research Foundation | Apparatuses and methods for determining the volume of a stockpile |
Citations (38)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4891630A (en) | 1988-04-22 | 1990-01-02 | Friedman Mark B | Computer vision system with improved object orientation technique |
| US5383013A (en) | 1992-09-18 | 1995-01-17 | Nec Research Institute, Inc. | Stereoscopic computer vision system |
| US5870490A (en) | 1993-04-16 | 1999-02-09 | Nippon Telegraph And Telephone Corporation | Apparatus for extracting pattern features |
| US5978504A (en) | 1997-02-19 | 1999-11-02 | Carnegie Mellon University | Fast planar segmentation of range data for mobile robots |
| US5988862A (en) | 1996-04-24 | 1999-11-23 | Cyra Technologies, Inc. | Integrated system for quickly and accurately imaging and modeling three dimensional objects |
| JPH11325833A (en) | 1998-05-14 | 1999-11-26 | Mitsubishi Heavy Ind Ltd | Positioning apparatus for palletizing system |
| WO2001008098A1 (en) | 1999-07-21 | 2001-02-01 | Obvious Technology, Inc. | Object extraction in images |
| US6307959B1 (en) * | 1999-07-14 | 2001-10-23 | Sarnoff Corporation | Method and apparatus for estimating scene structure and ego-motion from multiple images of a scene using correlation |
| US20030067461A1 (en) | 2001-09-24 | 2003-04-10 | Fletcher G. Yates | Methods, apparatus and computer program products that reconstruct surfaces from data point sets |
| US6704621B1 (en) * | 1999-11-26 | 2004-03-09 | Gideon P. Stein | System and method for estimating ego-motion of a moving vehicle using successive images recorded along the vehicle's path of motion |
| US6724383B1 (en) | 1997-02-21 | 2004-04-20 | Mental Images G.M.B.H. | System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object |
| US6771840B1 (en) | 2000-05-18 | 2004-08-03 | Leica Geosystems Hds, Inc. | Apparatus and method for identifying the points that lie on a surface of interest |
| US20040183905A1 (en) * | 2003-02-05 | 2004-09-23 | Dorin Comaniciu | Real-time obstacle detection with a calibrated camera and known ego-motion |
| US20040234136A1 (en) * | 2003-03-24 | 2004-11-25 | Ying Zhu | System and method for vehicle detection and tracking |
| GB2405776A (en) | 2003-09-05 | 2005-03-09 | Canon Europa Nv | 3D computer surface model generation |
| US20050069173A1 (en) | 2003-08-29 | 2005-03-31 | Sony Corporation | Direction-recognizing apparatus, direction-recognizing method, direction-recognizing system, and robot apparatus |
| US20050114059A1 (en) | 2003-11-11 | 2005-05-26 | Hon Hai Precision Industry Co., Ltd. | Point cloud measuring system and method |
| US6911995B2 (en) | 2001-08-17 | 2005-06-28 | Mitsubishi Electric Research Labs, Inc. | Computer vision depth segmentation using virtual surface |
| US20060221072A1 (en) * | 2005-02-11 | 2006-10-05 | Se Shuen Y S | 3D imaging system |
| US20060256114A1 (en) * | 2005-03-31 | 2006-11-16 | Sony Corporation | Image processing apparatus and image processing method |
| US7203342B2 (en) | 2001-03-07 | 2007-04-10 | Schlumberger Technology Corporation | Image feature extraction |
| EP1780678A2 (en) | 2005-10-31 | 2007-05-02 | Leica Geosystems AG | Determining appearance of points in point cloud based on normal vectors of points |
| US7215810B2 (en) | 2003-07-23 | 2007-05-08 | Orametrix, Inc. | Method for creating single 3D surface model from a point cloud |
| WO2007056768A2 (en) | 2005-11-09 | 2007-05-18 | 3M Innovative Properties Company | Determining camera motion |
| US7239751B1 (en) | 2003-12-18 | 2007-07-03 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Hypothesis support mechanism for mid-level visual pattern recognition |
| US20070217682A1 (en) | 2006-03-15 | 2007-09-20 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for image conversion |
| US20070285217A1 (en) * | 2006-04-27 | 2007-12-13 | Denso Corporation | Field recognition apparatus, method for field recognition and program for the same |
| US20080013836A1 (en) | 2006-06-19 | 2008-01-17 | Akira Nakamura | Information Processing Device, Information Processing Method, and Program |
| US20080096152A1 (en) | 2006-10-20 | 2008-04-24 | Align Technology, Inc. | System and method for positioning three-dimensional brackets on teeth |
| EP2026279A1 (en) | 2007-08-13 | 2009-02-18 | Aqsense, S.L. | Method and system for aligning three-dimensional surfaces |
| US7639896B2 (en) | 2004-08-09 | 2009-12-29 | Carestream Health, Inc. | Multimodal image registration using compound mutual information |
| US7643966B2 (en) | 2004-03-10 | 2010-01-05 | Leica Geosystems Ag | Identification of 3D surface points using context-based hypothesis testing |
| US20100053191A1 (en) | 2008-09-03 | 2010-03-04 | Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. | System and method for computing and displaying a roundness error of an object |
| EP2166375A2 (en) | 2008-09-19 | 2010-03-24 | Honeywell International Inc. | System and method of extracting plane features |
| US20100104199A1 (en) | 2008-04-24 | 2010-04-29 | Gm Global Technology Operations, Inc. | Method for detecting a clear path of travel for a vehicle enhanced by object detection |
| US20100111370A1 (en) | 2008-08-15 | 2010-05-06 | Black Michael J | Method and apparatus for estimating body shape |
| EP2249311A1 (en) | 2009-05-06 | 2010-11-10 | Honeywell International Inc. | Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features |
| US20110274343A1 (en) | 2010-05-07 | 2011-11-10 | Honeywell International, Inc. | System and method for extraction of features from a 3-d point cloud |
-
2009
- 2009-05-06 US US12/436,224 patent/US8340400B2/en active Active
-
2010
- 2010-04-26 EP EP10161058.2A patent/EP2249311B1/en not_active Not-in-force
- 2010-04-28 IL IL205403A patent/IL205403A/en active IP Right Grant
Patent Citations (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4891630A (en) | 1988-04-22 | 1990-01-02 | Friedman Mark B | Computer vision system with improved object orientation technique |
| US5383013A (en) | 1992-09-18 | 1995-01-17 | Nec Research Institute, Inc. | Stereoscopic computer vision system |
| US5870490A (en) | 1993-04-16 | 1999-02-09 | Nippon Telegraph And Telephone Corporation | Apparatus for extracting pattern features |
| US5988862A (en) | 1996-04-24 | 1999-11-23 | Cyra Technologies, Inc. | Integrated system for quickly and accurately imaging and modeling three dimensional objects |
| US5978504A (en) | 1997-02-19 | 1999-11-02 | Carnegie Mellon University | Fast planar segmentation of range data for mobile robots |
| US6724383B1 (en) | 1997-02-21 | 2004-04-20 | Mental Images G.M.B.H. | System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object |
| JPH11325833A (en) | 1998-05-14 | 1999-11-26 | Mitsubishi Heavy Ind Ltd | Positioning apparatus for palletizing system |
| US6307959B1 (en) * | 1999-07-14 | 2001-10-23 | Sarnoff Corporation | Method and apparatus for estimating scene structure and ego-motion from multiple images of a scene using correlation |
| WO2001008098A1 (en) | 1999-07-21 | 2001-02-01 | Obvious Technology, Inc. | Object extraction in images |
| US6704621B1 (en) * | 1999-11-26 | 2004-03-09 | Gideon P. Stein | System and method for estimating ego-motion of a moving vehicle using successive images recorded along the vehicle's path of motion |
| US6771840B1 (en) | 2000-05-18 | 2004-08-03 | Leica Geosystems Hds, Inc. | Apparatus and method for identifying the points that lie on a surface of interest |
| US20070234230A1 (en) | 2001-03-07 | 2007-10-04 | Schlumberger Technology Corporation | Image feature extraction |
| US7203342B2 (en) | 2001-03-07 | 2007-04-10 | Schlumberger Technology Corporation | Image feature extraction |
| US6911995B2 (en) | 2001-08-17 | 2005-06-28 | Mitsubishi Electric Research Labs, Inc. | Computer vision depth segmentation using virtual surface |
| US20030067461A1 (en) | 2001-09-24 | 2003-04-10 | Fletcher G. Yates | Methods, apparatus and computer program products that reconstruct surfaces from data point sets |
| US20040183905A1 (en) * | 2003-02-05 | 2004-09-23 | Dorin Comaniciu | Real-time obstacle detection with a calibrated camera and known ego-motion |
| US20040234136A1 (en) * | 2003-03-24 | 2004-11-25 | Ying Zhu | System and method for vehicle detection and tracking |
| US7215810B2 (en) | 2003-07-23 | 2007-05-08 | Orametrix, Inc. | Method for creating single 3D surface model from a point cloud |
| US20050069173A1 (en) | 2003-08-29 | 2005-03-31 | Sony Corporation | Direction-recognizing apparatus, direction-recognizing method, direction-recognizing system, and robot apparatus |
| GB2405776A (en) | 2003-09-05 | 2005-03-09 | Canon Europa Nv | 3D computer surface model generation |
| US20050114059A1 (en) | 2003-11-11 | 2005-05-26 | Hon Hai Precision Industry Co., Ltd. | Point cloud measuring system and method |
| US7065461B2 (en) | 2003-11-11 | 2006-06-20 | Hon Hai Precision Industry Co., Ltd | Point cloud measuring system and method |
| US7239751B1 (en) | 2003-12-18 | 2007-07-03 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Hypothesis support mechanism for mid-level visual pattern recognition |
| US7643966B2 (en) | 2004-03-10 | 2010-01-05 | Leica Geosystems Ag | Identification of 3D surface points using context-based hypothesis testing |
| US7639896B2 (en) | 2004-08-09 | 2009-12-29 | Carestream Health, Inc. | Multimodal image registration using compound mutual information |
| US20060221072A1 (en) * | 2005-02-11 | 2006-10-05 | Se Shuen Y S | 3D imaging system |
| US20060256114A1 (en) * | 2005-03-31 | 2006-11-16 | Sony Corporation | Image processing apparatus and image processing method |
| EP1780678A2 (en) | 2005-10-31 | 2007-05-02 | Leica Geosystems AG | Determining appearance of points in point cloud based on normal vectors of points |
| US7605817B2 (en) | 2005-11-09 | 2009-10-20 | 3M Innovative Properties Company | Determining camera motion |
| WO2007056768A2 (en) | 2005-11-09 | 2007-05-18 | 3M Innovative Properties Company | Determining camera motion |
| US7956862B2 (en) | 2005-11-09 | 2011-06-07 | 3M Innovative Properties Company | Determining camera motion |
| US20070217682A1 (en) | 2006-03-15 | 2007-09-20 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for image conversion |
| US20070285217A1 (en) * | 2006-04-27 | 2007-12-13 | Denso Corporation | Field recognition apparatus, method for field recognition and program for the same |
| US20080013836A1 (en) | 2006-06-19 | 2008-01-17 | Akira Nakamura | Information Processing Device, Information Processing Method, and Program |
| US20080096152A1 (en) | 2006-10-20 | 2008-04-24 | Align Technology, Inc. | System and method for positioning three-dimensional brackets on teeth |
| EP2026279A1 (en) | 2007-08-13 | 2009-02-18 | Aqsense, S.L. | Method and system for aligning three-dimensional surfaces |
| US20100104199A1 (en) | 2008-04-24 | 2010-04-29 | Gm Global Technology Operations, Inc. | Method for detecting a clear path of travel for a vehicle enhanced by object detection |
| US20100111370A1 (en) | 2008-08-15 | 2010-05-06 | Black Michael J | Method and apparatus for estimating body shape |
| US20100053191A1 (en) | 2008-09-03 | 2010-03-04 | Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. | System and method for computing and displaying a roundness error of an object |
| US20100074473A1 (en) | 2008-09-19 | 2010-03-25 | Honeywell International Inc. | System and method of extracting plane features |
| EP2166375A2 (en) | 2008-09-19 | 2010-03-24 | Honeywell International Inc. | System and method of extracting plane features |
| EP2249311A1 (en) | 2009-05-06 | 2010-11-10 | Honeywell International Inc. | Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features |
| US20110274343A1 (en) | 2010-05-07 | 2011-11-10 | Honeywell International, Inc. | System and method for extraction of features from a 3-d point cloud |
Non-Patent Citations (39)
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120075342A1 (en) * | 2010-09-24 | 2012-03-29 | Maha El Choubassi | Augmenting image data based on related 3d point cloud data |
| US8872851B2 (en) * | 2010-09-24 | 2014-10-28 | Intel Corporation | Augmenting image data based on related 3D point cloud data |
| US9153067B2 (en) | 2013-01-21 | 2015-10-06 | Honeywell International Inc. | Systems and methods for 3D data based navigation using descriptor vectors |
| US20140233790A1 (en) * | 2013-02-19 | 2014-08-21 | Caterpillar Inc. | Motion estimation systems and methods |
| US9305364B2 (en) * | 2013-02-19 | 2016-04-05 | Caterpillar Inc. | Motion estimation systems and methods |
| US20150154467A1 (en) * | 2013-12-04 | 2015-06-04 | Mitsubishi Electric Research Laboratories, Inc. | Method for Extracting Planes from 3D Point Cloud Sensor Data |
| US9412040B2 (en) * | 2013-12-04 | 2016-08-09 | Mitsubishi Electric Research Laboratories, Inc. | Method for extracting planes from 3D point cloud sensor data |
| US9400939B2 (en) | 2014-04-13 | 2016-07-26 | International Business Machines Corporation | System and method for relating corresponding points in images with different viewing angles |
| US10178316B2 (en) | 2014-07-17 | 2019-01-08 | Elbit Systems Ltd. | Stabilization and display of remote images |
| US10663594B2 (en) * | 2016-03-14 | 2020-05-26 | Imra Europe S.A.S. | Processing method of a 3D point cloud |
| US10402999B2 (en) * | 2017-07-21 | 2019-09-03 | Baidu Online Network Technology (Beijing) Co., Ltd | Method, apparatus and terminal device for constructing map |
| US12283001B2 (en) | 2021-10-25 | 2025-04-22 | Qatar University | Computation of three-dimensional Euler angles through a distinctive matrices pattern |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100284572A1 (en) | 2010-11-11 |
| IL205403A0 (en) | 2010-12-30 |
| EP2249311B1 (en) | 2013-07-03 |
| EP2249311A1 (en) | 2010-11-10 |
| IL205403A (en) | 2015-02-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8340400B2 (en) | Systems and methods for extracting planar features, matching the planar features, and estimating motion from the planar features | |
| US8199977B2 (en) | System and method for extraction of features from a 3-D point cloud | |
| Munoz-Banón et al. | Targetless camera-LiDAR calibration in unstructured environments | |
| EP3168812B1 (en) | System and method for scoring clutter for use in 3d point cloud matching in a vision system | |
| EP2202672B1 (en) | Information processing apparatus, information processing method, and computer program | |
| US10288425B2 (en) | Generation of map data | |
| US8503730B2 (en) | System and method of extracting plane features | |
| EP2573734B1 (en) | Systems and methods for evaluating plane similarity | |
| EP3114833B1 (en) | High accuracy monocular moving object localization | |
| Taketomi et al. | Real-time and accurate extrinsic camera parameter estimation using feature landmark database for augmented reality | |
| CN111126116A (en) | Method and system for identifying river garbage by unmanned boat | |
| US20200226392A1 (en) | Computer vision-based thin object detection | |
| US20150104068A1 (en) | System and method for locating fiducials with known shape | |
| US11506755B2 (en) | Recording medium recording information processing program, information processing apparatus, and information processing method | |
| Yang et al. | Ransac matching: Simultaneous registration and segmentation | |
| EP3088983B1 (en) | Moving object controller and program | |
| Cociaş et al. | Multiple-superquadrics based object surface estimation for grasping in service robotics | |
| Navon et al. | A Robust Approach to Vision-Based Terrain-Aided Localization | |
| Jiang et al. | Icp stereo visual odometry for wheeled vehicles based on a 1dof motion prior | |
| Kovacs et al. | Edge detection in discretized range images | |
| JP2006285358A (en) | Edge tracking method and computer program therefor | |
| US20250037290A1 (en) | Method for generating ground truth data and a method and apparatus for estimating a vanishing point using the same | |
| Antić et al. | Segmentation of Stereo-Camera Depth Image into Planar Regions based on Evolving Principal Component Clustering | |
| Cheng et al. | Fusion of laser scanning data and optical high-resolution imagery for accurate building boundary derivation | |
| Lauvsnes | Feature-based pose estimation of ships in monocular camera images |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: HONEYWELL INTERNATIONAL INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LUKAS, JAN;KOTABA, ONDREJ;REEL/FRAME:022643/0659 Effective date: 20090506 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |