Object Scanning and (Attempts At) Reconstruction_Week7

Introduction: Object Scanning and (Attempts At) Reconstruction_Week7

For this week's assignment, the goal was to scan an object (which results in files containing meshes of the object i.e. using Trnio) and reconstruct it digitally (i.e. using mesh stitching algorithms in MeshLab).

I found this rock on a walk and decided to use it for this project.

Step 1: Scan Object

Using Trnio, I made two scans of my object (one from the top facing down and one from the bottom facing down) to be able to reconstruct it digitally on all sides.

The screenshots above are taken from my final mesh of the top side up in Trnio (before I exported it as an obj file on my computer).

Step 2: Mesh Cleaning

Trnio creates the mesh using a bunch of images (cloud based) taken as you scan. Therefore, you get a lot of background/artifact in your scan of what is around your object. I went into meshlab and carefully removed the excess. However, I found their tool for removing vertices to not be as beginner/user-friendly as I would've liked, resulting in a lot of time being spent on this step.

Step 3: Fitting the Scans Together

This was the hardest part for me. I couldn't find how to rotate an object around itself rather than an origin point really far out in space, so precise rotation to fit the meshes together was very difficult to achieve. Furthermore, the meshlab tool doesn't allow for a rotation of the digital space you are in when using the tool, so it was a painstaking process of:

1. setting up my view angle for the rotation

2. trying to perform the rotation (around the x, y, and z plane separately

3. setting up my view angle again

4. performing a transformation to see if the meshes would stick well together

5. repeat because it's off somehow.

This is the best result that I could obtain, so I moved forward to playing with the filters in meshlab for reconstruction.

Step 4: Reconstruction

This is where my meshlab crashed. I was trying to perform Laplacian smoothing operations and face normalizations when I lost all of my work up until now. I tried to redo my work up until this point, but again it resulted in a crash.

After talking to Sam about her experience (with meshlab crashing as well), she sent me the YouTube tutorial that she followed when performing her own cleaning and reconstruction because her experiences were a bit smoother than mine (video below).

However, my bandwidth this week has been pretty narrow so I was not able to watch this tutorial or get to the reconstruction portion of the assignment at this time. I will update this with my explorations at a later date.

Step 5: 3D Print!

TO DO :)

Be the First to Share

    Recommendations

    • Metal Contest

      Metal Contest
    • First Time Author Contest

      First Time Author Contest
    • DIY Summer Camp Contest

      DIY Summer Camp Contest

    Comments

    0
    jm_tressler
    jm_tressler

    1 year ago on Step 5

    Great work so far. From what I remember, Meshlab does require cleanup before you can run smoothing or other complex functions.

    I found a Meshlab script that would cleanup the meshes sufficiently (copy and paste into a .mlx file):

    <!DOCTYPEFilterScript>
    <FilterScript>
    <filtername="Select non Manifold Vertices"/>
    <filtername="Delete Selected Vertices"/>
    <filtername="Select Self Intersecting Faces"/>
    <filtername="Delete Selected Faces and Vertices"/>
    <filtername="Remove Faces from Non Manifold Edges"/>
    <filtername="Remove Duplicate Faces"/>
    <filtername="Remove Duplicated Vertex"/>
    <filtername="Remove Unreferenced Vertex"/>
    </FilterScript>

    Regarding the alignment, seems like this was done manually? If you're able to find three points on each mesh that are identical to each mesh, you can calculate the transformation from one mesh to the other. So for your scan, you could add three pieces of tape? And then use these points as references?

    Hope this helps. If you have any questions, feel free to email me at jmt@trnio.com.

    Thanks,
    Jan-Michael