Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation #58

Closed
wants to merge 32 commits into from
Closed

Segmentation #58

wants to merge 32 commits into from

Conversation

john-rocky
Copy link
Contributor

@john-rocky john-rocky commented Aug 18, 2024

This branch adds segmentation functionality to the app.

🛠️ PR Summary

Made with ❤️ by Ultralytics Actions

🌟 Summary

This PR introduces segmentation models and enhances the iOS YOLO app with new features like segmentation tasks and color customization. 🚀

📊 Key Changes

  • Added YOLOv8-Segment Models: Integrated segmentation models (yolov8x-seg, yolov8n-seg, etc.) alongside object detection models.
  • Segmentation Task Support: Added a toggle to switch between "Detection" and "Segmentation" modes in the app interface.
  • Post-Processing for Segmentation: Implemented new functionality, PostProcessSegment.swift, to handle mask generation and segmentation visualization.
  • Color Enhancements: Introduced a custom Colors.swift file to align UI colors with the Ultralyics color palette.
  • UI Updates: Updated storyboard for segmentation toggle and adjusted label/toolbar layout for better visuals.
  • Improved CoreML Model Export: Updated the model export script to support both detection (YOLOv8) and segmentation formats.

🎯 Purpose & Impact

  • Broadened Functionality: Users can now perform both object detection and segmentation, making the iOS app more powerful and versatile. 🖼️
  • Enhanced Model Support: Adds seamless CoreML INT8 export compatibility for segmentation models, optimizing performance on iOS. 📱
  • Improved Visualization: Segmentation masks are now displayed with customizable colors, making outputs clearer and more informative. 🎨
  • User-Friendly UI: Simplified task switching via the interface and better overall layout for a smoother user experience. ✨

This update positions the YOLO iOS app as a robust tool for both object detection and instance segmentation, elevating its potential uses across various domains! 🛠️

@UltralyticsAssistant UltralyticsAssistant added APP enhancement New feature or request labels Aug 18, 2024
@john-rocky john-rocky mentioned this pull request Aug 18, 2024
@ambitious-octopus ambitious-octopus changed the title Seg Segmentation Aug 18, 2024
Copy link
Member

@ambitious-octopus ambitious-octopus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@john-rocky Can you update the README.md and specify that segmentation models should also be exported?

YOLO/ViewController.swift Show resolved Hide resolved
@john-rocky
Copy link
Contributor Author

john-rocky commented Aug 18, 2024

@ambitious-octopus
I also added conversion of the seg model to the export script in README.md.
However, for the option to download the model from GitHub Release Assets, we will need to add the seg model to your GitHub Release Assets.

YOLO.xcodeproj/project.pbxproj Outdated Show resolved Hide resolved
YOLO.xcodeproj/project.pbxproj Outdated Show resolved Hide resolved
YOLO/Models/README.md Outdated Show resolved Hide resolved
Copy link
Member

@ambitious-octopus ambitious-octopus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now it's better, @john-rocky did you test this PR independently?

YOLO.xcodeproj/project.pbxproj Outdated Show resolved Hide resolved
YOLO.xcodeproj/project.pbxproj Outdated Show resolved Hide resolved
YOLO.xcodeproj/project.pbxproj Outdated Show resolved Hide resolved
YOLO.xcodeproj/project.pbxproj Outdated Show resolved Hide resolved
YOLO.xcodeproj/project.pbxproj Outdated Show resolved Hide resolved
YOLO/Utilities/PostProcessSegment.swift Show resolved Hide resolved
Copy link
Member

@ambitious-octopus ambitious-octopus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @john-rocky Is this ready?

@john-rocky
Copy link
Contributor Author

@ambitious-octopus Yes, now this branch works fine.

@ambitious-octopus ambitious-octopus added the TODO High priority items label Sep 6, 2024
@john-rocky john-rocky closed this Jan 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request TODO High priority items
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants