|
Data acquisition is performed with an Evolution ER-1 Robot outfitted with a camera mounted perpendicular to its direction of travel. |
|
|
|
The tool: The Tracker finds and tracks features in between the given images, assigns a new ID to each tracked feature, and records the position of every feature with an ID for each image that it appears in.
|
|
|
|
|
Output: The Tracker outputs text files that contain the positions of the features tracked between images and their ID numbers.
Triangulator
Input: Tracked features and their IDs, the camera
calibration matrix (K), and the odometric readings for each of the
images being processed.
|
This diagram shows the path of the robot through the lab according to the odometry |
The tool: The Triangulator computes camera rotations and translations for each image from the odometric data, followed by a least-squares estimation to obtain the 3d coordinate of each feature.
Output: The 3d coordinates of all the tracked features with each 3d point maintaining its originally assigned feature ID.
![]() |
![]() |
![]() |
![]() |
points calculated |
![]() |
Plane Extractor
Input: The 3d coordinates of all the tracked features and
their IDs.
The tool: The Plane Extractor uses a RANSAC algorithm to fit an optimal set of planes to the feature points. For each plane 2000 hypotheses are made, and the optimal fit is decided based on a set of heuristics.
Output: A set of plane normals, a list of feature points to which each plane is fit, and the 2d coordinates of each feature when projected onto its plane.
![]() |
![]() |
![]() |
![]() |
Homography Estimator
Input: The original Tracker output and the 2d projections of
the 3d features onto their closest fit planes.
The tool: The Homography Estimator uses a least-squares method to compute homographies between sequential images, as well as between the final image and the 2d projection of points onto their closest plane. This is done for each plane, using only the feature points that were grouped as being on that plane, by the previous tool.
Output: For each unique plane, homographies between all sequential images and that plane, and the features involved.
Mosaicker
Input: The sequence of images, their homographies for each
plane, and the features on that plane involved in the homographies.
The tool: This tool uses the given homographies to create mosaicked images that serve as textures for the planes found by the Plane Extractor.
Output: A mosaicked image to serve as a texture for each plane, and the coordinates of all the features in each mosaic.
|
|
Map Display Tool
Input: The plane normals and centroids, plane textures and
the feature coordinates in each texture, and the 3d coordinates of
all features.
The tool: This tool combines all of the previously calculated data to display a visually dense 3d map of the environment, with the ability to simultaneously display the 3d feature points found by the Triangulator.
![]() |
||
![]() |
![]() |
![]() |
![]() |
||
|
|
![]() |
||
![]() |
![]() |
![]() |
![]() |
||
|
|
Output: Visually dense 3d environmental map.