TRAINING AN EMBEDDED OBJECT DETECTOR FOR INDUSTRIAL SETTINGS WITHOUT REAL IMAGES
Julia Cohen,
Carlos Crispim-Junior,
Jean-Marc Chiappa,
Laure Tougne
IEEE ICIP: International Conference on Image Processing, 2021
Table of content
Overview
This repository contains the code for MobileNet-V3 SSD, MobileNet-V3 Small SSD, and MobileNet-V2 SSD as described in the paper. The weights of the models trained on the T-LESS dataset are available for download, as well as the compared Mask R-CNN model.
Installation
Project
Clone the current repository:
git clone --recurse-submodules https://gitlab.liris.cnrs.fr/jcohen/synthetic-ssd.git
The "Object Detection Metrics" project should be downloaded in the deps
folder.
After download, move the lib
subfolder and _init_paths.py
file into synthetic_ssd\metrics
.
Environment
Create and activate a conda environment.
conda create --file requirements.yml
This project has been tested on Windows with Python 3.8 and PyTorch 1.9, but previous versions of Python 3 and PyTorch should also work.
Dataset
The T-LESS dataset is available on the BOP website.
We use the "PBR-BlenderProc4BOP training images" and "All test images" subsets, saved in the data
folder.
The expected folder structure is:
- data
| - tless
| - test_primesense
| - train_pbr
Otherwise, you can change the TLESS_BASE_PATH
variable in
synthetic_ssd\config.py
Evaluation
For the Mask R-CNN model, download the trained weights file from the
CosyPose project into the data/weights
folder, or elsewhere and change the MASK_RCNN_PATH
variable in synthetic_ssd\config.py. The
model evaluated in the paper corresponds to the one with model_id
detector-bop-tless-pbr--873074.
To reproduce the performance reported in the paper, use the evaluation script:
python -m synthetic_ssd.scripts.run_eval \
--model [mobilenet_v2_ssd, mobilenet_v3_ssd, mobilenet_v3_small_ssd, mask_rcnn] \
--tf [aug1, aug2]
Default values are set to mobilenet_v2_ssd and aug2.
Model | mAP (%) | Parameters (M) |
---|---|---|
Mask R-CNN | 32.8 | 44.0 |
V3small-SSD (aug1) | 18.6 | 2.6 |
V3-SSD (aug1) | 36.3 | 4.9 |
V2-SSD (aug1) | 38.3 | 3.5 |
V3small-SSD (aug2) | 23.5 | 2.6 |
V3-SSD (aug2) | 46.1 | 4.9 |
V2-SSD (aug2) | 47.7 | 3.5 |
Training
Coming soon...
Citation
If you use this code in your research, please cite the paper:
@inproceedings{cohen2021training,
title={Training An Embedded Object Detector For Industrial Settings Without Real Images},
author={Cohen, Julia and Crispim-Junior, Carlos and Chiappa, Jean-Marc and Tougne, Laure},
booktitle={2021 IEEE International Conference on Image Processing (ICIP)},
pages={714--718},
year={2021},
organization={IEEE}
}
Acknowledgements
This repository is based on the following works:
- MobileNet-V3 with ImageNet pretraining: https://github.com/d-li14/mobilenetv3.pytorch
- SSD: https://github.com/sgrvinod/a-PyTorch-Tutorial-to-Object-Detection
- MobileNet-V2 - SSD: https://github.com/qfgaohao/pytorch-ssd
- MobileNet-V3 - SSD: https://github.com/tongyuhome/MobileNetV3-SSD
This work is supported by grant CIFRE n.2018/0872 from ANRT.