CS 184 Final Project Milestone


Members

Yinghao zhangyinghao@berkeley.edu
Yifan Wang wyf020803@berkeley.edu
Tianzhe Chu chutzh@berkeley.edu
Xueyang Yu yuxy@berkeley.edu

Summary

Our proposed project aims to implement the conversion from point cloud to mesh formats. By implementing this conversion process, we aim to enhance the flexibility and compatibility of 3D object representation in various applications, enabling users to work with the format that suits their needs best. We implement the paper mentioned in the Final Project Idea.

Milestone

We firstly use the original mesh as input to generate a point cloud with vertex normals as the input of our algorithm, which is shown in the following figures.

input mesh
output point cloud

After that, we use the point cloud with vertex normals as input to reconstruct a mesh, which is the most challenging part of this project. The simple idea is that we will use set a hyperparameter r as radius to construct a sphere, which will be "captured" by 3 points, and then we use these points to form a triangular face. Each step by rolling the sphere on the surface of the point cloud, we possibly construct a face (sometimes a face cannot be constructed due to unsatisfied conditions). The following figure shows the result of different number of steps.

2000 steps
4400 steps

Clearly, with more faces generated, the mesh will be more accurate. But we can find even with 4400 steps where our algorithm converges, we still cannot get a perfect mesh. Compared with the original mesh, we can find that the main body, which is smoother and more continuous, is more easy to reconstruct. While the small details, such as the ears or the feet, are more difficult to reconstruct.

main body
ear part
feet part

By analysis, we can find the following problems:

  1. The number of steps matters, but we can't reconstruct the mesh accurately by simply adding more steps. We can compare the 4000 steps with 4400 steps. We can find that 4400 steps are more accurate, but the ear part is still not reconstructed well.
  2. 4000 steps
    4400 steps
  3. The hyperparameter r is also important. We can find that if we set r too small, the sphere will be too small, the faces formed by the point will be small. If the points are sparse in some area, the sphere is not captured and leads to a hole in the mesh. But if we set r too large, the sphere will be too large. Some sunkens are omitted (imagine a large tire rolling on uneven ground).

Plan

  1. Find out why ears and feet do not seem decent. Our guess is about the conditions to create a triangle.
  2. Use increasing r in different steps to fix the problem of constant r.
  3. Add some pre-processing to the input. The paper mentioned this but did not give details.
  4. Measure the result through some metrics.

Video and Slides

Here is the link of our video and slides:

  1. Video
  2. Slides