Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration of AprilTag library #950

Merged
merged 6 commits into from
Jul 23, 2021

Commits on Dec 11, 2020

  1. Integration of AprilTag library according to issue alicevision#949

    (alicevision#949).
    For now, only the smallest family of tags (tag16h5) is supported,
    which consists of 30 coded tags.
    For each marker, 5 keypoints are generated:
    - the center point (computed from the four corner points), with IDs 0-29
    - the 4 corner points (in counter-clockwise order), with IDs 30-59, 60-89, 90-119, and 120-149
    Thus, the feature descriptor has 150 dimensions.
    
    The implementation follows along the lines of the CCTag markers, whereever possible.
    In most places where CCTags were used before, AprilTags are now an additional option.
    Exceptions are the camera and rig calibration and localization functions,
    as well as a function which seems to create visualizations of feature matching results.
    
    The Dockerfile for Centos has been adapted to start an AliceVision build using AprilTags.
    I did not dare touch the Dockerfiles for Ubuntu, as the Centos one seemed to be the main one in use,
    and it also was the one where the build process went quite smooth.
    
    This has not been tested on Windows, sorry. It seems that AprilTags officially support only Linux,
    although Windows should be possible according to the official repo.
    
    There is one change which I do not really like, where it might make sense to change the
    underlying classes/interfaces a bit to make different marker feature extractors easier.
    This is the change in src/aliceVision/sfm/pipeline/ReconstructionEngine.cpp, which
    only works by testing the results of dynamic casts on feature::Regions subclasses, although
    the code that follows is rather similar for both CCTags and AprilTags, and could probably
    substituted by something more general. The reason for this is that the marker ID is computed
    from the descriptor, for which there could be an abstract function in the superclass.
    I did not dare to make any such deep changes to the code, though.
    jarne committed Dec 11, 2020
    Configuration menu
    Copy the full SHA
    2a31f17 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2021

  1. According to suggestions of simogasp:

    - Removed all usages of OpenCV.
    - Removed empty constructor definition in favor of "= default" in header.
    - Changed scale to const.
    jarne committed Feb 26, 2021
    Configuration menu
    Copy the full SHA
    5c3b8cc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    768761d View commit details
    Browse the repository at this point in the history

Commits on May 7, 2021

  1. Configuration menu
    Copy the full SHA
    839b2a6 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2021

  1. Configuration menu
    Copy the full SHA
    7cd1f0e View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2021

  1. Configuration menu
    Copy the full SHA
    431b354 View commit details
    Browse the repository at this point in the history