mBEST is a robust, realtime perception algorithm for deformable linear object (DLO) detection. The algorithm takes as input a binary mask of the DLOs from an image and produces the ordered pixel sequences for each unique DLO. The algorithm is also able to optionally produce segmentation masks.
For the dataset provided in this repo, simple color filtering is used to achieve the binary masks. For those interested in using mBEST for more complex scenes, please use the DCNN model provided by FASTDLO to obtain the initial binary mask.
Fig. 1 mBEST Pipeline Overview
All code has been developed and tested on Python 3.6 and Python 3.8. Please install the following dependencies.
numpy
numba
opencv-python
matplotlib
scikit-image
scikit-learn
Cython
Afterwards, compile functions using the shell script as shown below.
./install.shOnce all installation steps have been finished, run mBEST through the provided python script as shown below.
The simple background with complex DLO configurations dataset used in the manuscript is provided in the dataset directory along with ground truth.
python3 run.py dataset/images/img1.jpgBelow are some results comparing mBEST with FASTDLO and Ariadne+.
Fig. 2 mBEST and SOTA comparison
If our work has helped your research, please cite the following paper.
@misc{choi2023mbest,
title={mBEST: Realtime Deformable Linear Object Detection Through Minimal Bending Energy Skeleton Pixel Traversals},
author={Andrew Choi and Dezhong Tong and Brian Park and Demetri Terzopoulos and Jungseock Joo and Mohammad Khalid Jawed},
year={2023},
eprint={2302.09444},
archivePrefix={arXiv},
primaryClass={cs.RO}
}