fix #60 - Support for images with multiple objects in Dataset class #62
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem: If a single image contains more than one object, then the dataset class treats each object as a separate item in the dataset. As a result, if there are 'n' objects for any image 'i', then the same image 'i' is repeated in the dataset 'n' times, one time for each object.
Changes:
xml_to_csv()
in utils.py was changed to add unique index "image_id" attribute for each image.Dataset.__getitem__(self, idx)
in core.py was modified to use "image_id" to index the images. Transformations code also changed to support multiple bounding boxes/labels in the same image.Model._convert_to_int_labels()
in core.py changed to support multiple bounding boxes/labels in the same image.Tests: Passing.
test_dataloader()
andtest_dataset()
to ensure compatibility with changes made.For more information, look at Issue#60.