🌟 Summary
Release v8.4.191 improves RKNN INT8 exports, especially for tasks beyond detection, and includes performance and tracking fixes plus Platform documentation updates.
📊 Key Changes
- RKNN INT8 export — main update: INT8 export is now enabled for detection, segmentation, pose, and oriented bounding box (OBB) models. The NPU runs the head’s output convolutions, while a new
tail.onnxfile runs the box decoding on the CPU in floating point. FP16-capable targets also use RKNN’sauto_hybridoption to retain high-error layers in floating point. - RKNN deployment notes: The decode tail requires ONNX Runtime, which Ultralytics installs automatically when needed. Custom runtimes must run
tail.onnxor implement the same decoding. Re-export INT8 models made with earlier versions to avoid incorrect coordinate scaling. INT8 accuracy has been tested in the RKNN simulator, but not yet validated on Rockchip hardware. - Faster segmentation training: Finds foreground anchors across the batch in one pass instead of repeating work per image. Losses and gradients remain unchanged; the reported Tesla T4 timings show modest training-step improvements.
- More efficient parking management: Computes each tracked car’s center once per frame rather than once for every parking-space comparison, reducing repeated work.
- Improved OC-SORT matching: Measures detection direction over the track’s recent
delta_t-frame window, making associations less sensitive to box jitter. - Preserved prediction-manifest order: Images and videos listed in TXT or CSV sources are now processed in the order provided, rather than being reordered alphabetically.
- Platform and guide updates: Platform documentation now includes MiniMax as an annotation provider, explains saved Roboflow and W&B import keys and OBB labels in detection datasets, and features an updated YOLO26 batch-processing video.
🎯 Purpose & Impact
- The RKNN change targets the accuracy loss caused by running box decoding in INT8 on the NPU. Keeping that decode on the CPU in floating point is intended to improve accuracy and broaden INT8 support across vision tasks.
- The training and parking-management changes reduce unnecessary repeated work without changing the described outputs, while the OC-SORT fix may help maintain more reliable tracking when detections are jittery.
- Manifest ordering now better matches the sequence users explicitly specify—useful, for example, when listing video frames in playback order.
What's Changed
- Platform docs: add MiniMax to the paid annotation vendors by @glenn-jocher in #26902
- Find segment loss foreground anchors once per batch by @raimbekovm in #26914
- Compute ParkingManagement car centers once per frame by @raimbekovm in #26910
- Update batch processing video in Model Training Tips guide by @RizwanMunawar in #26908
- Align Platform docs with saved import keys and OBB labels in detect datasets by @raimbekovm in #26906
- Measure OC-SORT OCM detection direction over delta_t frames by @mottopanikeiku in #26912
- Keep the listed order of sources in TXT and CSV prediction manifests by @MohammadHijjawi97 in #26903
ultralytics 8.4.191Fix RKNN INT8 accuracy with a host-side decode tail for all tasks by @Bovey0809 in #26904
Full Changelog: v8.4.190...v8.4.191