Team Ai
Datasetpublic

liuyibo/thingi10k-wmtk-simplification

Thingi10K simplified by qslim and shortest edge collapse Simplified versions of all 10,000 Thingi10K models produced with the wildmeshing-toolkit components qslim and shortest_edge_collapse, at target_rel = 0.1 (keep 10 % of the input vertices). Generated on 2026-10-06/07 with wmtk_app built from upstream commit 76396a0a89. The driver and the checking scripts are in the code repository (run_component_sweep.py, verify_results.py) and the full analysis is in… See the full description on the dataset page: https://huggingface.co/datasets/liuyibo/thingi10k-wmtk-simplification.

sourceHugging Faceotherupdated 3d agoView on Hugging Face
0likes37downloads
Dataset Card

Thingi10K simplified by qslim and shortest edge collapse

Simplified versions of all 10,000 Thingi10K models produced with the wildmeshing-toolkit components qslim and shortest_edge_collapse, at target_rel = 0.1 (keep 10 % of the input vertices).

Generated on 2026-10-06/07 with wmtk_app built from upstream commit 76396a0a89. The driver and the checking scripts are in the code repository (run_component_sweep.py, verify_results.py) and the full analysis is in report/thingi10k_qslim_sec.md.

Contents

FileWhat it is
qslim.tar.gzqslim outputs, defaults (target_rel=0.1) — 9992 models
sec_dedup.tar.gzshortest edge collapse with remove_duplicate_eps=1e-5 — 9992 models
sec_nolink.tar.gzshortest edge collapse with remove_duplicate_eps=1e-5 and use_link_condition=false — 9992 models
summaries/per-run summary.csv (per-model vertices/faces/time from the component reports)
verification/per-model checks: target reached, manifold/boundary edges, bbox agreement
plots/input-vs-output wireframe comparisons for a few models
report/the full write-up, including the termination criteria analysis

Each archive unpacks to <run>/success/<model_id>/ with, per model:

  • —config.json — the exact spec the component was called with
  • —<model_id>.out.obj — the simplified mesh
  • —report.json — component report (qslim only; shortest edge collapse writes none)
  • —console.log, run.log, wall_sec — logs and wall-clock time

8 models fail in every run; they are in <run>/failure/<model_id>/ with a reason file. These are input defects, not algorithm failures (malformed OBJ normals, STL with no faces, one truncated STL).

How it was generated

bash
python3 run_component_sweep.py --application qslim \
    --input-dir <thingi10k>/raw_meshes --out runs/qslim \
    --threads 4 --parallel 24 --timeout 600

python3 run_component_sweep.py --application shortest_edge_collapse \
    --input-dir <thingi10k>/raw_meshes --out runs/sec_dedup \
    --threads 4 --parallel 24 --timeout 600 \
    --param remove_duplicate_eps=1e-5

python3 run_component_sweep.py --application shortest_edge_collapse \
    --input-dir <thingi10k>/raw_meshes --out runs/sec_nolink \
    --threads 4 --parallel 24 --timeout 600 \
    --param remove_duplicate_eps=1e-5 --param use_link_condition=false

Numbers

Reached the target vertex count (out of 9992 successful models, recovered from the run logs):

runreached target
qslim9184 (91.9 %)
sec_dedup9134 (91.4 %)
sec_nolink9736 (97.4 %)

Full verification over 19,984 outputs (qslim + sec_dedup): 18,182 reached the target, 2,007 outputs contain non-manifold edges.

Known caveats

  • —A shortest edge collapse run with default parameters is useless on STL. With remove_duplicate_eps=-1 (the default) the STL is loaded as a triangle soup and no edge can be collapsed, so the output equals the input. That run is not included here; summaries/sec_default_summary.csv documents it.
  • —Heavily non-manifold inputs stall both components when the link condition is on (e.g. model 51351 stays at 8,700 vertices). Turning use_link_condition=false fixes those but produces non-manifold outputs (11 % → 68 % of sampled outputs).
  • —The stop rule is purely count-based: it stops after V0 − target − 1 successful collapses. There is no error/quality threshold, and a run that cannot reach the target still exits 0 unless throw_on_fail=true.
  • —The bounding-box column in verification/ is computed over all vertices written to the OBJ, including slots the writer left unused; extreme ratios there are a measurement artifact, not real deformation. Use the Chamfer numbers in the report for shape fidelity (typically ~0.005 of the model size).

Licence

The models are derived from Thingi10K; each retains the licence of its original Thingiverse upload. Check the source model's licence before any commercial use.