Skip to content

Releases: dreamlessx/LandmarkDiff-public

v0.2.3

15 Mar 08:46
c9b32a0

Choose a tag to compare

What's New

Added

  • NasalMorphometry module for computing nasal ratios from Varghaei et al. (2025)
  • FacialSymmetry bilateral symmetry scoring via KDTree-based matching
  • FaceLandmarks.pixel_coords_at() for getting coordinates at any resolution
  • FaceLandmarks.rescale() for creating resolution-adjusted copies
  • collect_instagram_data.py script for curating public-domain training pairs
  • Competitive landscape table in README (9-method comparison)

Fixed

  • DisplacementModel.load() now raises ValueError on corrupted/empty .npz files instead of returning zero-initialized model (#113)
  • get_face_embedding() guards against near-zero ArcFace embeddings from occluded faces, preventing NaN similarity scores (#129)
  • CUDA OOM during inference now raises an informative RuntimeError instead of hanging (#105)
  • pixel_coords scale after image resize (#109)
  • Remaining print() calls migrated to logging module (#288)

Full Changelog: v0.2.2...v0.2.3

What's Changed

New Contributors

Full Changelog: v0.2.2...v0.2.3

v0.2.2

15 Mar 00:07
d9fe447

Choose a tag to compare

What's New in v0.2.2

Added

  • LCM-LoRA fast inference mode (4-step generation via latent consistency distillation)
  • Per-procedure validation with anatomy-aware rejection
  • 26 new utility scripts (evaluation, visualization, paper figures)
  • Bilateral symmetry analysis with per-region scoring
  • Expanded GitHub wiki to 15 pages
  • Real demo faces in HF Space
  • Comprehensive clinical motivation and competitor comparison in docs
  • 3D reconstruction vision and roadmap (v0.4.0+)

Changed

  • bf16 is now the default training precision
  • HF Space UI streamlined with gradient header and procedure descriptions
  • Documentation restructured around phone-video -> 3D vision

Fixed

  • Inference dtype mismatch between fp16/bf16 checkpoints
  • Per-procedure validation skip when --validate flag absent
  • CI lint fixes for community-contributed code

Community

Stats

  • 2292 tests passing across Python 3.10/3.11/3.12
  • 6 procedures, 4 inference modes, 5 clinical flags
  • Fitzpatrick I-VI stratified evaluation

Full Changelog: See CHANGELOG.md
Live Demo: huggingface.co/spaces/dreamlessx/LandmarkDiff
Roadmap: docs/ROADMAP.md

What's Changed

New Contributors

Full Changelog: v0.1.0...v0.2.2

v0.1.0 - Initial Public Release

13 Mar 09:25

Choose a tag to compare

First public release of LandmarkDiff.

Whats included

  • Full inference pipeline (4 modes: TPS, img2img, ControlNet, ControlNet+IP-Adapter)
  • 4 procedure presets (rhinoplasty, blepharoplasty, rhytidectomy, orthognathic)
  • MediaPipe 478-point landmark extraction and Gaussian RBF deformation
  • Tessellation wireframe + adaptive Canny edge conditioning for ControlNet
  • Feathered surgical mask generation with Perlin boundary noise
  • Post-processing: CodeFormer, Real-ESRGAN, LAB histogram matching, Laplacian pyramid blending, ArcFace identity verification
  • Clinical edge case handling (vitiligo, Bell's palsy, keloid, Ehlers-Danlos)
  • Synthetic training pair generation via TPS warps
  • ControlNet fine-tuning pipeline with Phase A/B loss scheduling
  • Evaluation harness with FID, LPIPS, SSIM, NME, Identity Sim (Fitzpatrick-stratified)
  • 5-tab Gradio demo with multi-angle capture
  • Docker and Apptainer container support
  • SLURM job scripts for HPC training

Whats next

  • ControlNet fine-tuning on 50K+ synthetic pairs (in progress)
  • See the roadmap for v0.2 plans

Install

pip install -e .