Code Monkey home page Code Monkey logo

ariadne_plus's Introduction


Ariadne+: Deep Learning-based Augmented Framework for the Instance Segmentation of Wires

📃 IEEE Xplore 📃

Abstract

Wires are Deformable Linear Objects (DLOs) lacking of any specific shape, color and feature. The proposed approach uses deep learning and standard computer vision techniques aiming at their reliable and time effective instance segmentation. A deep convolutional neural network is employed to generate a binary mask showing where wires are present in the input image, then graph theory is applied to create the wire paths from the binary mask through an iterative approach that aims to maximize the graph coverage. In addition, the B-Spline model of each instance, useful in manipulation tasks, is provided.

Setting Up

Main dependencies:

python 3.8
pytorch
cuda 10.1
opencv
scikit-image
python-igraph 0.8.3

use conda for creating a virtual environment and name it ariadneplus.

Download the trained models and place them inside the checkpoints folder.

Execution

Script (stand-alone)

The repository contains a stand-alone implementation of Ariadne+ which can be executed (with the virtual environment enabled and inside the main directory) as:

python run_ariadne.py --img_path path_to_test_image

Additionaly with --show you can enable the display of the output whereas with --num_segments you can vary the number of superpixels used through the computation.

For example:

python run_ariadne.py --img_path test_images/simple_0.jpg --show --num_segments 50

ROS service

The repository contains also an implementation of Ariande+ as ROS Service. Just place this repository inside a ros worksapce and execute it with:

roslaunch ariadne_plus ariadne.launch

Inside the launch file you can speciy the topic of the camera used to retrieve the image samples along with the usual parameters of Ariadne+.

For testing purposes, you can also launch a fake camera topic which publishes one of the test images with:

roslaunch ariadne_plus fake_camera_topic.launch

and call the Ariande+ service with (/get_splines is the topic of the service specified in ariadne.launch):

rosservice call /get_splines "{}"

Acknowledgements/Fundings

This work was supported by the European Commission’s Horizon 2020 Framework Programme with the project REMODEL - Robotic technologies for the manipulation of complex deformable linear objects - under grant agreement No 870133.

DeepLabV3+ implementation based on https://github.com/VainF/DeepLabV3Plus-Pytorch


Citation

If you use Ariade+ or this code base in your work, please cite

@ARTICLE{9721686,
  author={Caporali, Alessio and Zanella, Riccardo and De Gregorio, Daniele and Palli, Gianluca},
  journal={IEEE Transactions on Industrial Informatics}, 
  title={Ariadne+: Deep Learning-based Augmented Framework for the Instance Segmentation of Wires}, 
  year={2022},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TII.2022.3154477}}

ariadne_plus's People

Contributors

alessiocaporali avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.