1 of 12

Furniture Removal Pipeline (Mar 1 Progress)

For Wangli’s thesis “AI-Driven Interactive Interior Design Platform for Customization”

2 of 12

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

3 of 12

RANSAC to recognize and categorize vertices into planes

4 of 12

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

5 of 12

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)

6 of 12

Last week: Meshing from boundary

Successful but the triangles are quite sharp since only boundary vertices are involved.

7 of 12

Better way: Perform Delaunay triangulation on all vertices

Result of Delaunay algorithm from SciPy library, still needs boundary to filter extra triangles

8 of 12

Better way: Perform Delaunay triangulation on all vertices

Success

9 of 12

Extrude walls

Success

10 of 12

New model from Wangli

Complete room, 82896 vertices

11 of 12

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

12 of 12

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