diff --git a/CHANGELOG.md b/CHANGELOG.md index 09ef42515a3..314f85d1bab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ All notable changes to this project will be documented in this file. - Fix Learning Rate and Loss Handling in Tile Classifier MaskRCNN EfficientNet () - Pad tile to image size (512 x 512) () - Don't apply labels normalization on training () +- Disable Tile Classifier in Rotated Detection () +- Enhance Memeory Cache Handler with Complex Unique Keys () ## \[v1.6.4\] diff --git a/README.md b/README.md index 4378d901a32..83d1612666e 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,7 @@ You can find more details with examples in the [CLI command intro](https://openv - Fix Learning Rate and Loss Handling in Tile Classifier MaskRCNN EfficientNet - Pad tile to image size (512 x 512) - Don't apply labels normalization on training +- Enhance Memeory Cache Handler with Complex Unique Keys ### Release History diff --git a/docs/source/guide/release_notes/index.rst b/docs/source/guide/release_notes/index.rst index 85edf4473ff..1826f532280 100644 --- a/docs/source/guide/release_notes/index.rst +++ b/docs/source/guide/release_notes/index.rst @@ -11,6 +11,7 @@ v1.6.5 (3Q24) - Fix Learning Rate and Loss Handling in Tile Classifier MaskRCNN EfficientNet - Pad tile to image size (512 x 512) - Don't apply labels normalization on training +- Enhance Memeory Cache Handler with Complex Unique Keys v1.6.4 (3Q24) ------------- diff --git a/src/otx/algorithms/common/adapters/mmcv/pipelines/load_image_from_otx_dataset.py b/src/otx/algorithms/common/adapters/mmcv/pipelines/load_image_from_otx_dataset.py index fa0c94518d9..7fe2e5df31f 100644 --- a/src/otx/algorithms/common/adapters/mmcv/pipelines/load_image_from_otx_dataset.py +++ b/src/otx/algorithms/common/adapters/mmcv/pipelines/load_image_from_otx_dataset.py @@ -42,7 +42,12 @@ def _get_unique_key(results: Dict[str, Any]) -> Tuple: if "cache_key" in results: return results["cache_key"] d_item = results["dataset_item"] - results["cache_key"] = d_item.media.path, d_item.roi.id + if d_item.media.path: # when video extracted frames come, media.path is None + results["cache_key"] = d_item.media.path, d_item.roi.id + elif len(d_item.annotation_scene.annotations) > 0: + results["cache_key"] = d_item.roi.id, d_item.annotation_scene.annotations[0].id + else: + results["cache_key"] = d_item.roi.id return results["cache_key"] def _get_memcache_handler(self): diff --git a/src/otx/algorithms/detection/configs/rotated_detection/configuration.yaml b/src/otx/algorithms/detection/configs/rotated_detection/configuration.yaml index fb9b25325e0..05db55c767c 100644 --- a/src/otx/algorithms/detection/configs/rotated_detection/configuration.yaml +++ b/src/otx/algorithms/detection/configs/rotated_detection/configuration.yaml @@ -565,7 +565,7 @@ tiling_parameters: header: Enable tile classifier description: Enabling tile classifier enhances the speed of tiling inference by incorporating a tile classifier into the instance segmentation model. This feature prevents the detector from making predictions on tiles that do not contain any objects, thus optimizing its speed performance. default_value: false - editable: true + editable: false affects_outcome_of: TRAINING type: BOOLEAN ui_rules: @@ -573,8 +573,8 @@ tiling_parameters: operator: AND rules: [] type: UI_RULES - value: true - visible_in_ui: true + value: false + visible_in_ui: false warning: The tile classifier prioritizes inference speed over training speed, it requires more training in order to achieve its optimized performance. enable_adaptive_params: