Furniture Removal Pipeline (Mar 1 Progress)
For Wangli’s thesis “AI-Driven Interactive Interior Design Platform for Customization”
OBJ with texture
from 3D scanning app
Plan view of mesh geometry
Projected views of texture
Object Removal
Or Pattern Extraction
Geometry Reconstruction
Apply
Processed Textures
RANSAC to recognize wall and rotate model
RANSAC to recognize and categorize vertices into planes
Last semester: Geometry Reconstruction
Plan view of mesh vertices
Algorithm to Extract Outline
Vertical Extrusion as
Clean Room
Utilize the fact that most rooms have straight walls
Last semester: Outline Extraction
A Partially Convex Hull Algorithm:
Convex Hull with Distance Limit
Distance Limit = 0.1
Distance Limit = 1
No Distance Limit
(Convex Hull)
Last week: Meshing from boundary
Successful but the triangles are quite sharp since only boundary vertices are involved.
Better way: Perform Delaunay triangulation on all vertices
Result of Delaunay algorithm from SciPy library, still needs boundary to filter extra triangles
Better way: Perform Delaunay triangulation on all vertices
Success
Extrude walls
Success
New model from Wangli
Complete room, 82896 vertices
New problems: scattered exterior
Potential solution: Ask user to close blind? Different ways of scanning bring different result?
Scattered exterior geometry
Not sure what happened here
New problems: RANSAC from points is not working
Point density is much higher at interior objects than walls, so that planes are fit from random points.
Solution: RANSAC from mesh normals?
Seems Scaniverse obj doesn’t have normals, Blender auto constructs normals, there should be a way to calculate