From 819b81d7f33d3ce2e6e2160282e4eb7d8a3a05cf Mon Sep 17 00:00:00 2001 From: zhiltsov-max Date: Mon, 13 Apr 2020 11:38:51 +0300 Subject: [PATCH] Fix label comparison in voc format (#1382) --- CHANGELOG.md | 1 + datumaro/datumaro/plugins/voc_format/converter.py | 10 +++++----- datumaro/tests/test_voc_format.py | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82c0dc54d673..023477e9e7c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Merge is allowed for points, but clicks on points conflict with frame dragging logic - Removed objects are visible for search - Add missed task_id and job_id fields into exception logs for the new UI (https://github.com/opencv/cvat/pull/1372) +- VOC format exports Upper case labels correctly in lower case (https://github.com/opencv/cvat/pull/1379) - Fixed polygon exporting bug in COCO dataset (https://github.com/opencv/cvat/issues/1387) - Task creation from remote files (https://github.com/opencv/cvat/pull/1392) diff --git a/datumaro/datumaro/plugins/voc_format/converter.py b/datumaro/datumaro/plugins/voc_format/converter.py index 729383d5d889..01394a5d9f53 100644 --- a/datumaro/datumaro/plugins/voc_format/converter.py +++ b/datumaro/datumaro/plugins/voc_format/converter.py @@ -1,5 +1,5 @@ -# Copyright (C) 2019 Intel Corporation +# Copyright (C) 2020 Intel Corporation # # SPDX-License-Identifier: MIT @@ -110,8 +110,8 @@ def init_dirs(self): self._images_dir = images_dir def get_label(self, label_id): - return self._extractor.categories()[AnnotationType.label] \ - .items[label_id].name + return self._strip_label(self._extractor. \ + categories()[AnnotationType.label].items[label_id].name) def save_subsets(self): subsets = self._extractor.subsets() @@ -426,7 +426,7 @@ def _load_categories(self, label_map_source=None): label_map = OrderedDict() label_map['background'] = [None, [], []] for item in labels.items: - label_map[item.name] = [None, [], []] + label_map[self._strip_label(item.name)] = [None, [], []] elif label_map_source in [LabelmapType.guess.name, None]: # generate colormap for union of VOC and input dataset labels @@ -489,7 +489,7 @@ def _get_actions(self, label): def _make_label_id_map(self): source_labels = { - id: label.name for id, label in + id: self._strip_label(label.name) for id, label in enumerate(self._extractor.categories().get( AnnotationType.label, LabelCategories()).items) } diff --git a/datumaro/tests/test_voc_format.py b/datumaro/tests/test_voc_format.py index 7abff4cc8515..62f6b31410e5 100644 --- a/datumaro/tests/test_voc_format.py +++ b/datumaro/tests/test_voc_format.py @@ -649,7 +649,7 @@ def __iter__(self): def categories(self): label_cat = LabelCategories() - label_cat.add('label_1') + label_cat.add('Label_1') # should become lowercase label_cat.add('label_2') return { AnnotationType.label: label_cat,