/Aruco-marker-detection-decoding-and-tracking

ENPM673 Perception for Autonomous Robots

Primary LanguagePythonMIT LicenseMIT

Aruco-marker-detection-decoding-and-tracking

Objective

This project will focus on detecting a custom AR Tag (a form of fiducial marker), that is used for obtaining a point of reference in the real world, such as in augmented reality applications. There are two aspects to using an AR Tag, namely Detection and Tracking, both of which will be implemented in this project. The detection stage will involve finding the AR Tag from a given image sequence while the tracking stage will involve keeping the tag in“view” throughout the sequence and performing image processing operations based on the tag's orientation and position (a.k.a. the pose).

Contents

├───LICENSE
├───Report.pdf
├───README.md
├───AR_Tag_detection.py
├───1tagvideo.mp4
├───testudo.png
└───outputs

Requirements

  • OpenCV pip install opencv-python
  • NumPy pip install numpy
  • glob pip install glob2
  • Matplotlib pip install matplotlib
  • SciPy python -m pip install scipy
  • math
  • Download and install Anaconda {easy}

Instructions to run

  1. Clone the repository

    git clone https://github.com/bharadwaj-chukkala/Aruco-marker-detection-decoding-and-tracking.git
    
  2. Open the folder in the IDE

  3. Run the AR_Tag_detection.py file

    cd <root>
    python AR_Tag_detection.py
    
  4. Uncomment the commented lines at the end to save outputs to outputs folder

Implementation Steps and Results

Aruco Marker/ AR Tag Detection and Tracking

Image Preprocessing

Fig 1.

Edge and Corner Detection

Fig 2.

Decoding the AR Tag through Warping

Fig 3.

Tracking the detected Tag

Superimposing the Testudo Image onto the TAG

Fig 4.

Projecting a Cube on the Edges of the Image

Fig 5.

References

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author Contact

Bharadwaj Chukkala
UID: 118341705
Bharadwaj Chukkala is currently a Master's student in Robotics at the University of Maryland, College Park, MD (Batch of 2023). His interests include Machine Learning, Perception and Path Planning for Autonomous Robots.
Contact LinkedIn GitHub