├── .cursorrules ├── .editorconfig ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .idea ├── .gitignore ├── inspectionProfiles │ └── profiles_settings.xml ├── misc.xml ├── modules.xml ├── neural-mesh-simplification.iml └── vcs.xml ├── .python-version ├── LICENSE ├── README.md ├── configs ├── default.yaml └── local.yaml ├── examples └── example.py ├── pyproject.toml ├── pytest.ini ├── requirements.txt ├── scripts ├── download_test_meshes.py ├── evaluate.py ├── infer.py ├── preprocess_data.py └── train.py ├── src └── neural_mesh_simplification │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── neural_mesh_simplifier.py │ ├── data │ ├── __init__.py │ └── dataset.py │ ├── losses │ ├── __init__.py │ ├── chamfer_distance_loss.py │ ├── combined_loss.py │ ├── edge_crossing_loss.py │ ├── overlapping_triangles_loss.py │ ├── surface_distance_loss.py │ └── triangle_collision_loss.py │ ├── metrics │ ├── __init__.py │ ├── chamfer_distance.py │ ├── edge_preservation.py │ ├── hausdorff_distance.py │ └── normal_consistency.py │ ├── models │ ├── __init__.py │ ├── edge_predictor.py │ ├── face_classifier.py │ ├── layers │ │ ├── __init__.py │ │ ├── devconv.py │ │ └── triconv.py │ ├── neural_mesh_simplification.py │ └── point_sampler.py │ ├── trainer │ ├── __init__.py │ ├── resource_monitor.py │ └── trainer.py │ └── utils │ ├── __init__.py │ └── mesh_operations.py ├── tests ├── __init__.py ├── conftest.py ├── losses │ ├── test_edge_crossings_loss.py │ ├── test_overlapping_triangles_loss.py │ ├── test_proba_chamfer_distance.py │ ├── test_proba_surface_distance.py │ └── test_triangle_collision_loss.py ├── mesh_data │ ├── cube.obj │ ├── rounded_cube.obj │ └── sharp_cube.obj ├── test_dataset.py ├── test_edge_predictor.py ├── test_face_classifier.py ├── test_mesh_operations.py ├── test_metrics.py ├── test_model.py ├── test_model_layers.py ├── test_point_sampler.py └── test_trimesh.py ├── train.ipynb └── uv.lock /.cursorrules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/.cursorrules -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/.idea/inspectionProfiles/profiles_settings.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/neural-mesh-simplification.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/.idea/neural-mesh-simplification.iml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.12 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/README.md -------------------------------------------------------------------------------- /configs/default.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/configs/default.yaml -------------------------------------------------------------------------------- /configs/local.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/configs/local.yaml -------------------------------------------------------------------------------- /examples/example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/examples/example.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/pyproject.toml -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/pytest.ini -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/requirements.txt -------------------------------------------------------------------------------- /scripts/download_test_meshes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/scripts/download_test_meshes.py -------------------------------------------------------------------------------- /scripts/evaluate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/scripts/evaluate.py -------------------------------------------------------------------------------- /scripts/infer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/scripts/infer.py -------------------------------------------------------------------------------- /scripts/preprocess_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/scripts/preprocess_data.py -------------------------------------------------------------------------------- /scripts/train.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/scripts/train.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/__init__.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/api/__init__.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/api/neural_mesh_simplifier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/api/neural_mesh_simplifier.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/data/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/data/__init__.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/data/dataset.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/data/dataset.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/losses/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/losses/__init__.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/losses/chamfer_distance_loss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/losses/chamfer_distance_loss.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/losses/combined_loss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/losses/combined_loss.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/losses/edge_crossing_loss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/losses/edge_crossing_loss.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/losses/overlapping_triangles_loss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/losses/overlapping_triangles_loss.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/losses/surface_distance_loss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/losses/surface_distance_loss.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/losses/triangle_collision_loss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/losses/triangle_collision_loss.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/metrics/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/metrics/__init__.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/metrics/chamfer_distance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/metrics/chamfer_distance.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/metrics/edge_preservation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/metrics/edge_preservation.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/metrics/hausdorff_distance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/metrics/hausdorff_distance.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/metrics/normal_consistency.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/metrics/normal_consistency.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/models/__init__.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/models/edge_predictor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/models/edge_predictor.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/models/face_classifier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/models/face_classifier.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/models/layers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/models/layers/__init__.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/models/layers/devconv.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/models/layers/devconv.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/models/layers/triconv.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/models/layers/triconv.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/models/neural_mesh_simplification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/models/neural_mesh_simplification.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/models/point_sampler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/models/point_sampler.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/trainer/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/trainer/__init__.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/trainer/resource_monitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/trainer/resource_monitor.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/trainer/trainer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/trainer/trainer.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/utils/__init__.py -------------------------------------------------------------------------------- /src/neural_mesh_simplification/utils/mesh_operations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/src/neural_mesh_simplification/utils/mesh_operations.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/losses/test_edge_crossings_loss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/losses/test_edge_crossings_loss.py -------------------------------------------------------------------------------- /tests/losses/test_overlapping_triangles_loss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/losses/test_overlapping_triangles_loss.py -------------------------------------------------------------------------------- /tests/losses/test_proba_chamfer_distance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/losses/test_proba_chamfer_distance.py -------------------------------------------------------------------------------- /tests/losses/test_proba_surface_distance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/losses/test_proba_surface_distance.py -------------------------------------------------------------------------------- /tests/losses/test_triangle_collision_loss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/losses/test_triangle_collision_loss.py -------------------------------------------------------------------------------- /tests/mesh_data/cube.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/mesh_data/cube.obj -------------------------------------------------------------------------------- /tests/mesh_data/rounded_cube.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/mesh_data/rounded_cube.obj -------------------------------------------------------------------------------- /tests/mesh_data/sharp_cube.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/mesh_data/sharp_cube.obj -------------------------------------------------------------------------------- /tests/test_dataset.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/test_dataset.py -------------------------------------------------------------------------------- /tests/test_edge_predictor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/test_edge_predictor.py -------------------------------------------------------------------------------- /tests/test_face_classifier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/test_face_classifier.py -------------------------------------------------------------------------------- /tests/test_mesh_operations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/test_mesh_operations.py -------------------------------------------------------------------------------- /tests/test_metrics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/test_metrics.py -------------------------------------------------------------------------------- /tests/test_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/test_model.py -------------------------------------------------------------------------------- /tests/test_model_layers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/test_model_layers.py -------------------------------------------------------------------------------- /tests/test_point_sampler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/test_point_sampler.py -------------------------------------------------------------------------------- /tests/test_trimesh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/tests/test_trimesh.py -------------------------------------------------------------------------------- /train.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/train.ipynb -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinnormark/neural-mesh-simplification/HEAD/uv.lock --------------------------------------------------------------------------------