Skip to content

YOLOs-CPP v1.0.0

Choose a tag to compare

@Geekgineer Geekgineer released this 18 Jan 12:28

Release Notes

YOLOs-CPP v1.0.0

Release Date: 18 January 2026

🎉 Major Release - Complete Architecture Overhaul

This release represents a complete rewrite and architectural redesign of YOLOs-CPP. The initial release has been heavily reworked at both the model support and architectural levels, transforming it into a production-ready, unified inference engine for the entire YOLO family.


🚀 What's New

Architectural Improvements

  • Unified Core Library Architecture: Complete refactor under include/yolos/ with modular design

    • Separated core components (core/) from task-specific implementations (tasks/)
    • Consistent API across all YOLO versions and tasks
    • Improved code organization and maintainability
  • Cross-Platform Support: Full support for Linux, Windows, and macOS

    • Windows 11 compatibility with comprehensive documentation
    • Docker containerization support
    • CMake-based build system with automatic dependency management

Model Support

New Models Added

  • YOLO26: End-to-end NMS-free architecture support
  • YOLOv12: Latest detection model support
  • YOLOv11: Full support across all tasks (detection, segmentation, pose, OBB, classification)
  • YOLOv10: Optimized detection support
  • YOLOv9: Advanced detection capabilities

Complete Model Matrix

Model Detection Segmentation Pose OBB Classification
YOLOv5 - - - -
YOLOv6 - - - -
YOLOv8
YOLOv9 - - - -
YOLOv10 - - - -
YOLOv11
YOLOv12 - - - -
YOLO26

Testing & Quality Assurance

  • Comprehensive Test Suite: 36 automated tests covering all task types

    • Detection tests with VOC dataset support
    • Segmentation validation tests
    • Pose estimation accuracy tests
    • OBB (Oriented Bounding Box) tests
    • Classification tests
    • Cross-platform test compatibility
  • CI/CD Pipeline: Fully automated continuous integration

    • GitHub Actions workflow for automated testing
    • Multi-platform build verification
    • Automated test execution on every commit
    • Test result artifact collection

Benchmark Suite

  • Unified Benchmarking System: Comprehensive performance evaluation
    • CPU and GPU benchmark support
    • Latency and throughput measurements
    • Memory usage profiling
    • Cross-model performance comparison
    • Automated benchmark reporting

Developer Experience

  • Improved Build System: Streamlined compilation process

    • Automatic ONNX Runtime download
    • Dependency management
    • Cross-platform build scripts
    • Clear error messages and documentation
  • Enhanced Documentation: Professional documentation overhaul

    • Installation guides for all platforms
    • API reference documentation
    • Usage examples and tutorials
    • Development and contributing guides

🔧 Technical Improvements

Performance Optimizations

  • Zero-copy preprocessing where possible
  • Batched NMS operations
  • Optimized memory management
  • GPU acceleration support via ONNX Runtime

Code Quality

  • Modern C++17 standards compliance
  • Improved error handling and validation
  • Better code organization and modularity
  • Comprehensive code comments and documentation

Repository Optimization

  • Ultra-Lite Repository: Reduced from 3GB+ to ~7MB
    • Removed large model files (hosted separately)
    • Removed test datasets (downloadable on-demand)
    • Clean git history with preserved contributor attribution
    • Optimized for fast cloning and CI/CD

📦 Breaking Changes

  • Directory Restructuring:

    • test/tests/ (pluralized for consistency)
    • benchmark_unified/benchmarks/ (simplified naming)
  • API Changes:

    • Unified API under yolos:: namespace
    • Consistent naming conventions across all tasks
    • Improved error handling and return types
  • Model Management:

    • Models are no longer included in repository
    • Models must be downloaded separately or from GitHub Releases or you use your own models
    • Test scripts include automatic model download fallbacks

🐛 Bug Fixes

  • Fixed BGR to RGB color conversion in preprocessing
  • Corrected pose keypoint confidence calculations
  • Fixed OBB model URL references
  • Resolved cross-platform path handling issues
  • Fixed test image handling after repository cleanup

📚 Documentation

  • Complete installation guides for Linux, Windows, and macOS
  • API reference documentation
  • Usage examples for all task types
  • Benchmarking guide
  • Development and contributing guidelines
  • Docker deployment documentation

🙏 Contributors

We extend our heartfelt gratitude to all contributors who made this release possible:

Total Contributors: 19
Total Commits: 206


📋 Requirements

Minimum Requirements

Component Version Notes
C++ Compiler C++17 GCC 9+, Clang 10+, MSVC 2019+
CMake ≥ 3.16 Required for build system
OpenCV ≥ 4.5 Core, ImgProc, HighGUI modules
ONNX Runtime ≥ 1.16 Auto-downloaded during build

Optional Dependencies

  • CUDA (for GPU acceleration)
  • cuDNN (for optimized GPU operations)

🔗 Resources


📝 Migration Guide

From v0.0 to v1.0

  1. Update Include Paths:

    // Old
    #include "yolo_detector.hpp"
    
    // New
    #include "yolos/yolos.hpp"
  2. Update Namespace:

    // Old
    YOLODetector detector(...);
    
    // New
    yolos::det::YOLODetector detector(...);
  3. Download Models Separately:

    • Models are no longer in the repository
    • Download from GitHub Releases or use test scripts' auto-download
  4. Update Test Scripts:

    • Test scripts now include automatic image download fallbacks
    • Models are downloaded on-demand during testing

🎯 What's Next

  • Enhanced quantization support
  • Additional model format support
  • Extended benchmark coverage
  • Performance optimizations
  • Expanded documentation

📄 License

This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.


Thank you for using YOLOs-CPP! 🚀

For issues, questions, or contributions, please visit our GitHub repository.