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

remove objects with iscrowd=True in Objects365 #11788

Merged
merged 2 commits into from
Jul 3, 2023

Conversation

tino926
Copy link
Contributor

@tino926 tino926 commented Jun 29, 2023

🤖 Generated by Copilot at ff08404

Summary

🚫📈🎯

Filter out crowd annotations from Objects365 dataset. This improves label quality and model performance for object detection with coco.getAnnIds(iscrowd=False) in data/Objects365.yaml.

iscrowd is false
Filter out crowd annotations
Winter of objects

Walkthrough

  • Filter out crowd annotations from Objects365 dataset ([link](https://github.com/ultralytics/yolov5/pull/11788/files?diff=unified&w=0#diff-a54e9eb40255f0afce61a0d2d0b7c39d90296c11a3bb30c17241dc339fc31742L431-R431)). This improves the label quality for object detection models and avoids counting crowd regions as false positives.

according to coco.py in pycocotools:

        if not iscrowd == None:
            ids = [ann['id'] for ann in anns if ann['iscrowd'] == iscrowd]
        else:
            ids = [ann['id'] for ann in anns]

here we should set iscrowd=False to remove the crowd annotations as stated in
#3392 (comment)

🛠️ PR Summary

Made with ❤️ by Ultralytics Actions

🌟 Summary

Improved annotation filtering in Objects365 dataset configuration.

📊 Key Changes

  • Changed the parameter iscrowd from None to False in getAnnIds function call within Objects365 dataset YAML file.

🎯 Purpose & Impact

  • 🎨 Purpose: To refine the selection of annotations by excluding 'crowd' annotations when creating label files.
  • 🌐 Impact: This ensures that models trained using the Objects365 dataset will no longer use crowded bounding boxes, potentially improving detection quality by focusing on more distinct object instances. Users should experience performance boosts and more accurate training results.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

👋 Hello @tino926, thank you for submitting a YOLOv5 🚀 PR! To allow your work to be integrated as seamlessly as possible, we advise you to:

  • ✅ Verify your PR is up-to-date with ultralytics/yolov5 master branch. If your PR is behind you can update your code by clicking the 'Update branch' button or by running git pull and git merge master locally.
  • ✅ Verify all YOLOv5 Continuous Integration (CI) checks are passing.
  • ✅ Reduce changes to the absolute minimum required for your bug fix or feature addition. "It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is." — Bruce Lee

@glenn-jocher glenn-jocher merged commit a453a45 into ultralytics:master Jul 3, 2023
@glenn-jocher
Copy link
Member

@tino926 good fix, thanks for the PR!

NagatoYuki0943 added a commit to NagatoYuki0943/yolov5-ultralytics that referenced this pull request Jul 4, 2023
remove objects with iscrowd=True in Objects365 (ultralytics#11788)
@tino926 tino926 deleted the objects365_data branch July 4, 2023 01:44
bandakopi pushed a commit to irajcode/yolov5 that referenced this pull request Jul 20, 2023
pleb631 pushed a commit to pleb631/yolov5 that referenced this pull request Jan 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants