π Summary
Lighter, faster Docker images with a clear split between a minimal Python runtime and a full export toolkit, plus improved build workflows, headless deps, and small API enhancements for smoother installs and preprocessing. ππ³
π Key Changes
- Docker images overhaul (priority)
- New split: lightweight latest-python for inference β‘ and full latest-python-export for model export (Edge TPU, NCNN, IMX, Paddle) π§°
- CI builds derivatives automatically (runner, jupyter, cpu, python-export) from base images; unified push flow ποΈ
- Tests/benchmarks run against latest-python-export when appropriate to ensure export paths are validated β
- Image descriptions/tags clarified; generalized βYOLO11β β βYOLOβ; consistent handling across GPU and Jetson images π·οΈ
- Smaller, more compatible images
- Switched to opencv-python-headless and default-jre-headless in Docker builds π§
- Consolidated RUN steps, added cleanup, and applied security updates; faster builds with fewer layers π§Ήπ
- Export and backend reliability
- NCNN installs now use --no-deps to avoid pulling opencv-python; mirrors in autobackend loader π§
- Docs/comments include RKNN export artifact name yolo11n_rknn_model π
- Preprocessing flexibility
- LetterBox now supports padding_value and interpolation parameters for finer control over resize/pad behavior π¨
- Supply chain improvements
- SBOM generation scoped to an isolated βsbom-envβ via uv sync; Anchore scans that env and outputs SPDX JSON ππ¦
- Version bump
- Ultralytics package updated to 8.3.178 π
π― Purpose & Impact
- Faster pulls and quicker startup for most users by defaulting to a slim inference image; heavy export deps moved to a dedicated image β‘π¦
- More reliable CI and clearer image taxonomy reduce confusion and improve maintenance, especially across GPU/Jetson variants π§
- Leaner, headless images cut download size, build times, and potential GUI-related conflicts; improved security posture β±οΈπ
- Smoother NCNN workflows and fewer dependency conflicts, especially on minimal or ARM64 environments π§©
- Better preprocessing control can improve model performance across diverse data types (e.g., thermal, grayscale, custom backgrounds) π―
- Clearer SBOMs enhance transparency and compliance for organizations using Ultralytics in production π‘οΈ
Enjoy faster, cleaner Docker workflows and more configurable pipelinesβwhether youβre prototyping with YOLO or exporting to edge backends. πβ¨
What's Changed
- Scope publish.yml SBOM by @glenn-jocher in #21644
- Install NCNN with '--no-deps' by @glenn-jocher in #21648
- Use
opencv-python-headless
in Dockerfiles by @glenn-jocher in #21647 - Support
padding_value
andinterpolation
inLetterBox
for better compatibility by @Laughing-q in #21652 - Combine Dockerfile RUN commands by @glenn-jocher in #21649
- Refactor derivative Dockerfile images by @glenn-jocher in #21656
ultralytics 8.3.178
new lighterDockerfile-python
images by @glenn-jocher in #21661
Full Changelog: v8.3.177...v8.3.178