| | --- |
| | license: apache-2.0 |
| | inference: false |
| | tags: |
| | - object-detection |
| | - computer-vision |
| | - vision |
| | - mmdet |
| | - sahi |
| |
|
| | datasets: |
| | - detection-datasets/coco |
| | --- |
| | |
| | ### Model Description |
| | [YOLOX: Exceeding YOLO Series in 2021](https://arxiv.org/abs/2107.08430) |
| |
|
| | [SAHI: Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection](https://arxiv.org/abs/2202.06934) |
| |
|
| | Improved anchor-free YOLO architecture for object detection task. |
| |
|
| |
|
| | ### Documents |
| | - [GitHub Repo](https://github.com/open-mmlab/mmdetection/blob/master/configs/yolox/README.md) |
| | - [Paper - YOLOX: Exceeding YOLO Series in 2021](https://arxiv.org/abs/2107.08430) |
| | |
| | ### Datasets |
| | The YOLOX model was pre-trained on [ImageNet-1k](https://huggingface.co/datasets/imagenet2012) and fine-tuned on [COCO 2017 object detection](https://cocodataset.org/#download), a dataset consisting of 118k/5k annotated images for training/validation respectively. |
| |
|
| |
|
| | ### How to use |
| |
|
| | - Install [sahi](https://github.com/obss/sahi) and `mmdet`: |
| |
|
| | ```bash |
| | pip install -U sahi |
| | pip install mmcv-full==1.7.0 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.11.0/index.html |
| | pip install mmdet==2.26.0 |
| | ``` |
| |
|
| | - Load model and perform prediction: |
| |
|
| | ```python |
| | from sahi import AutoDetectionModel |
| | from sahi.utils.file import download_from_url |
| | from sahi.predict import get_prediction |
| | from sahi.cv import read_image_as_pil |
| | |
| | MMDET_YOLOX_TINY_MODEL_URL = "https://huggingface.co/fcakyon/mmdet-yolox-tiny/resolve/main/yolox_tiny_8x8_300e_coco_20211124_171234-b4047906.pth" |
| | MMDET_YOLOX_TINY_MODEL_PATH = "yolox.pt" |
| | MMDET_YOLOX_TINY_CONFIG_URL = "https://huggingface.co/fcakyon/mmdet-yolox-tiny/raw/main/yolox_tiny_8x8_300e_coco.py" |
| | MMDET_YOLOX_TINY_CONFIG_PATH = "config.py" |
| | IMAGE_URL = "https://user-images.githubusercontent.com/34196005/142730935-2ace3999-a47b-49bb-83e0-2bdd509f1c90.jpg" |
| | |
| | # download weight and config |
| | download_from_url( |
| | MMDET_YOLOX_TINY_MODEL_URL, |
| | MMDET_YOLOX_TINY_MODEL_PATH, |
| | ) |
| | download_from_url( |
| | MMDET_YOLOX_TINY_CONFIG_URL, |
| | MMDET_YOLOX_TINY_CONFIG_PATH, |
| | ) |
| | |
| | # create model |
| | detection_model = AutoDetectionModel.from_pretrained( |
| | model_type='mmdet', |
| | model_path=MMDET_YOLOX_TINY_MODEL_PATH, |
| | config_path=MMDET_YOLOX_TINY_CONFIG_PATH, |
| | confidence_threshold=0.5, |
| | device="cuda:0", # or 'cpu' |
| | ) |
| | |
| | # prepare input image |
| | image = read_image_as_pil(IMAGE_URL) |
| | |
| | # perform prediction |
| | prediction_result = get_prediction( |
| | image=image, |
| | detection_model=detection_model |
| | ) |
| | |
| | # visualize predictions |
| | prediction_result.export_predictions(export_dir='results/') |
| | |
| | # get predictions |
| | prediction_result.object_prediction_list |
| | ``` |
| |
|
| | More info at [demo notebook](https://github.com/obss/sahi/blob/main/demo/inference_for_mmdetection.ipynb). |
| |
|
| | ### BibTeX Entry and Citation Info |
| | ``` |
| | @article{akyon2022sahi, |
| | title={Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection}, |
| | author={Akyon, Fatih Cagatay and Altinuc, Sinan Onur and Temizel, Alptekin}, |
| | journal={2022 IEEE International Conference on Image Processing (ICIP)}, |
| | doi={10.1109/ICIP46576.2022.9897990}, |
| | pages={966-970}, |
| | year={2022} |
| | } |
| | ``` |
| | ``` |
| | @article{yolox2021, |
| | title={{YOLOX}: Exceeding YOLO Series in 2021}, |
| | author={Ge, Zheng and Liu, Songtao and Wang, Feng and Li, Zeming and Sun, Jian}, |
| | journal={arXiv preprint arXiv:2107.08430}, |
| | year={2021} |
| | } |
| | ``` |