Lorenzo Bini
Lars van Asseldonk
Lisa Salomons
Create a folder called "data" in C:\Users\User\.., make sure this data folder contains the Princeton shape benchmark dataset and a folder called cache, that contains a folder called processed_data.
Such that when you open the data folder its path is C:\Users\user\data containing the subfolders: benchmark and cache, with the following paths: C:\Users\user\data\benchmark and C:\Users\user\data\cache.
The cache folder contains the processed_data folder resulting in the path: C:\Users\user\data\cache\processed_data
In the cache map, there should also be an exclude.txt containing the numbers of the models our normalization method was not able to normalize properly. If not in the cache file the models are included in the database and will have a significant impact on the feature calculation and overall performance.
The datapath to the cache folder can also be changed this can be done in settings.py by changing the SAVED_DATA path.
Then proceed to run main.py.
The first run takes a long time as it normalizes the shapes and computes the features, saving it all in their own cache file.
For the following runs, the models and features are reloaded from the cache files in the cache folder. When running the code make sure to read through setting.py to ensure that the right settings for your goal are selected.
Required for the project are the following programs
- Python
- GLFW
pip install glfworconda install -c conda-forge glfw - PyOpenGL
pip install PyOpenGLorconda install -c anaconda pyopengl - MatPlotLib
pip install matplotliborconda install -c conda-forge matplotlib - Numpy
pip install numpyorconda install numpy - Open3d
pip install open3dorconda install -c open3d-admin open3d - Trimesh
pip install trimeshorconda install -c conda-forge trimesh - Annoy
pip install annoyorconda install -c conda-forge python-annoy
From your Python interpreter run main.py to run the main file with the selected settings in settings.py.
| R/r: Switch between rotating and panning | Delete: Reset the mesh to the initial position | Esc: Close application |
| Left Arrow: Move left/Decrease x-rotation | Right Arrow: Move right/Increase x-rotation | |
| Up Arrow: Move up/Increase y-rotation | Down Arrow: Move down/Decrease y-rotation | |
| +: Zoom-in | -: Zoom-out | |
| Enter: Go to next model | v: Toggle vertices |
Run evaluation.py from your python interpreter command line.
Before running the evaluation script you should be sure to set one of the following to true: USE_DISTANCE_METRIC or USE_RNN in the settings.py file. If USE_DISTANCE_METRIC is set to True make sure that USE_RNNis set to False and vice versa.