Skip to content

v0.0.49 - `ultralytics-inference 0.0.49` Share pre and postprocessing helpers across native and web and fix 2-channel pose keypoints (#518)

Choose a tag to compare

@github-actions github-actions released this 25 Sep 15:15
· 106 commits to main since this release
d9c4890

🌟 Summary

Release 0.0.49 improves consistency between native and browser inference, fixes pose models that export keypoints without confidence scores, and adds browser-runtime benchmarks.

📊 Key Changes

  • Shared inference helpers: Native and WebAssembly paths now use common preprocessing, postprocessing, image conversion, and byte-loading logic. Model input-size defaults are also resolved consistently, including the task-specific default for oriented bounding boxes (OBB).
  • Pose keypoint fix: Postprocessing now preserves the keypoint channel count exported by the model. Models that provide only x/y coordinates work correctly, and annotation treats those points as visible when no confidence score is available.
  • Coordinate handling: Shared scaling is used for keypoints and end-to-end OBB centers, helping keep output coordinates consistent with the original image.
  • Browser performance benchmarks: The README now compares LiteRT.js and ONNX Runtime Web for YOLO11 and YOLO26 detection and segmentation. In the documented Apple M4 and Chrome setup, LiteRT.js was faster in the tested cases; results vary by model, device, and runtime.
  • Release and dependencies: Rust and web packages are versioned 0.0.49, and Cargo dependencies were updated.

🎯 Purpose & Impact

  • 🧩 More reliable results across platforms: Shared processing reduces differences between native and browser inference.
  • 🧍 Better support for pose exports: Two-channel keypoints no longer require a confidence channel to be processed or drawn correctly.
  • 📐 More consistent sizing and coordinates: Centralized defaults and scaling help avoid mismatches in model input sizes and output locations.
  • ⚡ Clearer browser-runtime choices: Published benchmark data gives users practical performance comparisons, while noting that the measurements are specific to the documented setup.

What's Changed

  • update cargo packages to latest version by @onuralpszr in #516
  • Add LiteRT.js vs ONNX Runtime Web browser benchmarks to the npm README by @onuralpszr in #517
  • ultralytics-inference 0.0.49 Share pre and postprocessing helpers across native and web and fix 2-channel pose keypoints by @onuralpszr in #518

Full Changelog: v0.0.48...v0.0.49