Giter Site home page Giter Site logo

miryungyeon / airline Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sair-lab/airline

0.0 0.0 0.0 218.9 MB

AirLine: Efficient Learnable Line Detection with Local Edge Voting (IROS 2023)

Home Page: https://sairlab.org/airline

License: BSD 3-Clause "New" or "Revised" License

C++ 24.32% Python 75.68%

airline's Introduction

IMPORTANT: MacOS, Linux not supported, only Windows for now

AirLine - using demo code

  1. download unet and dexiNed checkpoints and put it in the checkpoints folder
  2. specify if using Unet or Dexined using variable usingUnet in AirLine_demo.py, we recommand using dexiNed.
  3. specify sequencePath which should be a directory containing image sequence to test on.
  4. run Airline_demo.py in any way you want.

youtube demo video

note: This code may have issue running on MacOS given dependency of dll libraries

AirLine - run testing

*If you wish to run testing, download test set and set up the directory which should look like:

├──AirLine
    ├── checkpoints
    │   ├── unet.pth
    │   └── dexi.pth
    ├── datasets
    │   ├── Wireframe
    │   │   ├── gt
    │   │   │   ├── xxxxx.jpg
    │   │   │   └── xxxxx.jpg
    │   │   └── data
    │   │       ├── xxxxx.jpg
    │   │       └── xxxxx.jpg
    │   └── YorkUrban
    │       ├── gt
    │       │   ├── xxxxx.jpg
    │       │   └── xxxxx.jpg
    │       └── data
    │           ├── xxxxx.jpg
    │           └── xxxxx.jpg
    ...

after specifying variable dataset to be "Wireframe" or "YorkUrban" and then run AirLine-test.py.

Abstract

Line detection is widely used in many robotic tasks such as scene recognition, 3D reconstruction, and simultaneous localization and mapping (SLAM). Compared to points, lines can provide both low-level and high-level geometrical information for downstream tasks. In this paper, we propose a novel edge-based line detection algorithm, AirLine, which can be applied to various tasks. In contrast to existing learnable endpoint-based methods which are sensitive to the geometrical condition of environments, AirLine can extract line segments directly from edges, resulting in a better generalization ability for unseen environments. Also to balance efficiency and accuracy, we introduce a region-grow algorithm and local edge voting scheme for line parameterization. To the best of our knowledge, AirLine is one of the first learnable edge-based line detection methods. Our extensive experiments show that it retains state-of-the-art-level precision yet with a $3-80\times$ runtime acceleration compared to other learning-based methods, which is critical for low-power robots.

The figure below provides a qualitative comparison across difference methods on untrained images with overlap detection highlighted in red .The first row is a distant view of city and the second row is street view, while the third to fifth rows are from UMA-VI dataset of subterranean environments.

This gif showcases thenstability and great generalization ability of AirLine compared to LSD. In the first screenshot, both LSD and AirLine captured the line circled in red, while LSD lost track in the following frames, which is a good evidence of Airline's stability and robustness.

The following video demonstrates a qualitative comparison across difference methods on untrained sequence from UMA_VI. We found that the AirLine and LSD methods performed better than the LETR and LCNN in generating detailed line detections. Moreover, AirLine is preferred over LSD since it is able to merge the two sides of thin lines, while LSD tends to detect both sides. Though LCNN produces lines of high precision, it is not suitable for tasks that require detailed line inputs, as it tends to ignore short lines and connect two unrelated endpoints in complex environments. LETR, which performed the best under the endpoint precision mentioned in its original paper, was found to have the worst line quality in terms of precision, stability, and reasonable geometry.

Methodology

A figure of Airline's pipeline

As shown above, AirLine is a learnable edge-based line detection architecture that is composed of four modules including edge detection, orientation detection, conditional region-grow, and line parameterization. We next present their motivation and detailed process, respectively. We made a video to demonstrate each stage.

By using edge-based learnable line detection approaches, AirLine has achieved state-of-art-level precision and significant efficiency and runtime boost.

Watch Video

Publication

@inproceedings{lin2023airline,
  title = {{AirLine}: Efficient Learnable Line Detection with Local Edge Voting},
  author = {Lin, Xiao and Wang, Chen},
  booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  year = {2023}
}

You may also download this paper.

airline's People

Contributors

lx017 avatar wang-chen 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.