Files to download today
- PS1.zip: Point cloud
data and an ICP template.
Instructions
The zip package includes the following 3 directories:
- data: This directory contains several files,
which represent different shapes on which you can test
your implementation. Each file has the extension .pcd,
which stands for Point Cloud. The point cloud is
stored simply as a collection of 3D coordinates, one
per line. Thus, each .pcd file can be considered as a
NP x 3 matrix, where NV is the number of points in the
point cloud. You can load the file in Matlab simply using
X = load(filename);
- external This directory contains a library
annmwrapper which you can use to answer
nearest neighbor queries. As mentioned during the
lecture, the brute force method of finding the nearest
neighbors of M points in a shape containing
N points takes O(MN) time, whereas
by using more adapted data-structures, one can improve
this running time to approximately O(M
log(N)). The library that is provided to you
allows to do exactly that. Note that this library is
based on some C++ code, integrated into Matlab. A precompiled version
is provided for several platforms (Windows 32 and
64bit, Mac 64 bit, Linux 64 bit). In case you cannot
run it, you should be able to compile it by running
ann_compile_mex.m from within
annmwrapper directory. The only function from
this library that you will need is annquery,
which takes as a parameter two point clouds, and
returns the nearest neighbor ids. For example:
nnidx = annquery(Pr', Pq', 1);
takes as arguments two matrices of size Mx3 and Nx3
and returns, for every point in Pq, the id of the
nearest neighbor in Pr. Please see help
annquery if you have trouble.
- code . You should use this directory to store
and organize your code. By default it only contains
one file: icp_template.m which you can use to
get started with your implementation.