Metadata-Version: 2.1
Name: mlcvzoo-mmdetection
Version: 6.7.0
Summary: MLCVZoo MMDetection Package
Author: Maximilian Otten, email =  <maximilian.otten@iml.fraunhofer.de>, Christian Hoppe, email =  <christian.hoppe@iml.fraunhofer.de>, Oliver Bredtmann, email =  <oliver.bredtmann@dbschenker.com>, Thilo Bauer, email =  <thilo.bauer@dbschenker.com>, Oliver Urbann, email =  <oliver.urbann@iml.fraunhofer.de>, Jan Basrawi, email =  <jan.basrawi@dbschenker.com>, Luise Weickhmann, email =  <luise.weickhmann@iml.fraunhofer.de>, Luca Kotulla, email =  <luca.kotulla@iml.fraunhofer.de>
License: Open Logistics Foundation License 1.3
Project-URL: homepage, https://git.openlogisticsfoundation.org/silicon-economy/base/ml-toolbox/mlcvzoo-models/mlcvzoo-mmdetection
Project-URL: repository, https://git.openlogisticsfoundation.org/silicon-economy/base/ml-toolbox/mlcvzoo-models/mlcvzoo-mmdetection
Project-URL: documentation, https://git.openlogisticsfoundation.org/silicon-economy/base/ml-toolbox/mlcvzoo-models/mlcvzoo-mmdetection/-/blob/main/documentation/index.adoc
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Requires-Python: <4.0,>=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: yaml-config-builder <9,>=8
Requires-Dist: related-mltoolbox <2,>=1
Requires-Dist: mlcvzoo-base <7,>=6
Requires-Dist: opencv-python !=4.5.5.64,!=4.6.0.66,>=4.5
Requires-Dist: opencv-contrib-python !=4.5.5.64,!=4.6.0.66,>=4.5
Requires-Dist: attrs >=20
Requires-Dist: mmengine >=0.7
Requires-Dist: mmdet <=3.1,>=3
Requires-Dist: numpy !=1.19.5,>=1.19.2
Requires-Dist: nptyping >=2.0
Requires-Dist: torch !=2.0.1,>=1.9
Requires-Dist: torchvision >=0.10
Requires-Dist: yapf !=0.40.2,>=0
Requires-Dist: pycocotools >=2.0.2 ; platform_machine == "x86_64"
Provides-Extra: dev
Requires-Dist: mock >=4.0 ; extra == 'dev'
Requires-Dist: pytest >=7.0 ; extra == 'dev'
Requires-Dist: pytest-cov >=3.0.0 ; extra == 'dev'
Requires-Dist: black >=22 ; extra == 'dev'
Requires-Dist: mypy >=0.961 ; extra == 'dev'
Requires-Dist: pylint >=2.9.6 ; extra == 'dev'
Requires-Dist: isort <6.0,>=5.0 ; extra == 'dev'
Requires-Dist: pytest-mock >=3.7 ; extra == 'dev'
Provides-Extra: mmdeploy
Requires-Dist: mmdeploy >=1.3.0 ; extra == 'mmdeploy'
Requires-Dist: onnx <1.16.0,>=1.14.0 ; extra == 'mmdeploy'
Provides-Extra: mmsegmentation
Requires-Dist: mmsegmentation <1.1,>=1 ; extra == 'mmsegmentation'
Provides-Extra: onnxruntime
Requires-Dist: mmdeploy >=1.3.0 ; extra == 'onnxruntime'
Requires-Dist: onnx <1.16.0,>=1.14.0 ; extra == 'onnxruntime'
Requires-Dist: onnxruntime <1.17,>=1.16.0 ; extra == 'onnxruntime'
Provides-Extra: onnxruntime_float16
Requires-Dist: mmdeploy >=1.3.0 ; extra == 'onnxruntime_float16'
Requires-Dist: onnx <1.16.0,>=1.14.0 ; extra == 'onnxruntime_float16'
Requires-Dist: onnxruntime <1.17,>=1.16.0 ; extra == 'onnxruntime_float16'
Requires-Dist: onnxconverter-common <1.15,>=1.14.0 ; extra == 'onnxruntime_float16'
Provides-Extra: panoptic
Requires-Dist: panopticapi ; extra == 'panoptic'
Provides-Extra: tensorrt
Requires-Dist: mmdeploy >=1.3.0 ; extra == 'tensorrt'
Requires-Dist: tensorrt ; extra == 'tensorrt'

# MLCVZoo MMDetection

The MLCVZoo is an SDK for simplifying the usage of various (machine learning driven)
computer vision algorithms. The package **mlcvzoo_mmdetection** is the wrapper module for
the [mmdetection framework](https://github.com/open-mmlab/mmdetection).

## Install

NOTE: For some panoptic segmentation models of mmdetection you need to have the panopticapi installed.
      How this is handled in mlcvzoo-mmdetection is listed below. Otherwise you will get an ImportError.

### Install for developer

#### Clone repository

```bash
cd YOUR_PATH
git clone git@git.openlogisticsfoundation.org:silicon-economy/base/ml-toolbox/mlcvzoo-models/mlcvzoo-mmdetection.git
cd mlcvzoo-mmdetection
```

#### Create and install python environment
```bash
virtualenv .venv
source .venv/bin/activate

# Install dependencies with all extras (including panopticapi)
source build.sh
```

For VSCode IDE add the relevant environment variables in .venv/bin/activate.

```bash
export PYTHONPATH=PARENT_OF_YOUR_REPOSITORY
# The MMDETECTION_DIR is needed in our unit tests for defining the
# path to the configuration files of mmdetection. Since mmdet v2.15.0
# the configuration are stored in the mmdet/.mim/ folder of the installed
# mmdet package in your python environment. For older versions a specific checkout
# is needed.
export MMDETECTION_DIR="$VIRTUAL_ENV/lib/python3.10/site-packages/mmdet/.mim/"
```

## Install for package users

The following command installs the mlcvzoo-mmdetection package, however we
recommend to have a look at the ./build.sh script. It is gathering all fixes
that are needed to setup a running python environment.

```bash
pip install mlcvzoo-mmdetection
```

NOTE: In order to use panoptic segmentations you have to install the following, as specified by mmdetection:

```bash
pip install panopticapi @ git+https://github.com/cocodataset/panopticapi.git@7bb4655548f98f3fedc07bf37e9040a992b054b0
```

# Further documentation
[comment]: <> (TODO: Fix links to main branch)
- [Ar42 Documentation](https://git.openlogisticsfoundation.org/silicon-economy/base/ml-toolbox/mlcvzoo-models/mlcvzoo-mmdetection/-/blob/main/documentation/index.adoc)
- [Installation guide](https://git.openlogisticsfoundation.org/silicon-economy/base/ml-toolbox/mlcvzoo-models/mlcvzoo-mmdetection/-/blob/main/documentation/12_tutorial.adoc#user-content-setup-the-mlcvzoo-models)
- [Configuration Usage](https://git.openlogisticsfoundation.org/silicon-economy/base/ml-toolbox/mlcvzoo-models/mlcvzoo-mmdetection/-/blob/main/documentation/12_tutorial.adoc#user-content-configure-mmdetection)


## Technology stack

- Python
