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

Images in MPO Format are considered corrupted #2446

Closed
maxupp opened this issue Mar 12, 2021 · 3 comments · Fixed by #2615
Closed

Images in MPO Format are considered corrupted #2446

maxupp opened this issue Mar 12, 2021 · 3 comments · Fixed by #2615
Labels
enhancement New feature or request

Comments

@maxupp
Copy link
Contributor

maxupp commented Mar 12, 2021

I am using images taken by a DJI drone. These images are deemed corrupted by the dataset loader, and are thus not used.
This happens because in datasets.py the im.format is checked against a list of formats that doesn't contain "mpo".
If I add that entry manually everything works as expected.

MPO is a container format, that can contain any of the valid formats.

🐛 Bug

Images that report "MPO" as PIL.Image.format are deemed corrupted.

To Reproduce (REQUIRED)

Try to load MPO images.
DJI_0180

I'm not sure whether Github tempers with the image. If necessary I can upload somewhere else.

Expected behavior

Images should be considered valid.

@maxupp maxupp added the bug Something isn't working label Mar 12, 2021
@github-actions
Copy link
Contributor

github-actions bot commented Mar 12, 2021

👋 Hello @maxupp, thank you for your interest in 🚀 YOLOv5! Please visit our ⭐️ Tutorials to get started, where you can find quickstart guides for simple tasks like Custom Data Training all the way to advanced concepts like Hyperparameter Evolution.

If this is a 🐛 Bug Report, please provide screenshots and minimum viable code to reproduce your issue, otherwise we can not help you.

If this is a custom training ❓ Question, please provide as much information as possible, including dataset images, training logs, screenshots, and a public link to online W&B logging if available.

For business inquiries or professional support requests please visit https://www.ultralytics.com or email Glenn Jocher at [email protected].

Requirements

Python 3.8 or later with all requirements.txt dependencies installed, including torch>=1.7. To install run:

$ pip install -r requirements.txt

Environments

YOLOv5 may be run in any of the following up-to-date verified environments (with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled):

Status

CI CPU testing

If this badge is green, all YOLOv5 GitHub Actions Continuous Integration (CI) tests are currently passing. CI tests verify correct operation of YOLOv5 training (train.py), testing (test.py), inference (detect.py) and export (export.py) on MacOS, Windows, and Ubuntu every 24 hours and on every commit.

@glenn-jocher
Copy link
Member

@maxupp ah interesting, thanks for the bug report!

If *.mpo suffixes work then we should add them to the list. We recently added *.webp as well based on user feedback. Can you add the format to the approved formats list here, and verify correct operation for your training set, and submit a PR if everything goes well please? Thanks!

yolov5/utils/datasets.py

Lines 27 to 30 in 886f1c0

# Parameters
help_url = 'https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data'
img_formats = ['bmp', 'jpg', 'jpeg', 'png', 'tif', 'tiff', 'dng', 'webp'] # acceptable image suffixes
vid_formats = ['mov', 'avi', 'mp4', 'mpg', 'mpeg', 'm4v', 'wmv', 'mkv'] # acceptable video suffixes

@glenn-jocher glenn-jocher added enhancement New feature or request TODO and removed bug Something isn't working labels Mar 13, 2021
@glenn-jocher glenn-jocher removed the TODO label Mar 26, 2021
@glenn-jocher
Copy link
Member

Removed TODO as *.mpo now added to YOLOv5 supported image formats.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants