Repository navigation
v0.0.49 - `ultralytics-inference 0.0.49` Share pre and postprocessing helpers across native and web and fix 2-channel pose keypoints (#518)
🌟 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.49Share 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