Vision Processing – April Tag (draft)

Key Component of Perception

  1. Maps
  2. Obstacle avoidance
  3. Path Planning

Robotic Sensor

  1. Sonar
  2. 2-D Lidar
  3. 3-D Lidar
  4. Vision
  5. RGB-D

Must Know Concept

  1. Pose, Trajectory and maps
    1. To represent the position and orientation of the objects
  2. Perspective Transformation and Camera Calibration
  3. Filtering
  4. Hough Transformation
  5. Image Features
    1. Corners – FAST, SIFT, Harris Cornder
    2. Blobs
  6. Object/Text Detection and Recognition
    1. Hog
    2. Deep Learning
  7. April Tag Detector
    1. Line Segment
    2. Quad Detectipn
    3. Homography
    4. Extrinsic Estimation
    5. Decoding

Tools

  1. OpenCV, Point Cloud Library
  2. ROS, Gazebo

Challenge

  1. View Point Variation
  2. Illumination (bayang, or lighting)
  3. Occlusion (blocking view)
  4. Scale
  5. Deformation (shape is not uniform)
  6. Intra class variation (many difference shape of chair)
  7. Background clutter

 

Why you should use April Tag

  1. As a Quad Detector
    1. Gaussian Smoothing
    2. Gradients (magnitude and orientation)
    3. Connected Components
    4. Line Fitting (least square)
  2. Decoder
    1. Hamming distance
  3. Obtain Transformation Matrix

Tag Families

The type is various and difference based on the number of tags can generated, size, and robustness

  1. Tag36h11
  2. Tag25h9
  3. Tag16h5

April Tag Processing Technique

  1. Step 1: Convert to grayscale and low pass (if necessary). Low pass is filtering for blurring or smoothing
    1. Gaussian smoothing techniques (with normally filtering constant between 0, 0.8, and 1.5)
    2. Use this to reduce noise, low light condition
    3. Other detector is Canny Edge
  2. Step 2: Local gradient
    1. Compute and keep
      1. Direction and
      2. Maginitude
  3. Step 3: Extract edges by grouping pixels
  4. Step 4:
  5. Step 5:
  6. Step 6 –> go to here¬†https://www.youtube.com/watch?v=aDmjuzKbE0o

Camera Callibration

  1. https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_calib3d/py_calibration/py_calibration.html

Reference:

  1. https://www.youtube.com/watch?v=aDmjuzKbE0o
  2. https://github.com/swatbotics/apriltag/blob/master
  3. https://docs.opencv.org/3.3.1/dc/dbb/tutorial_py_calibration.html
  4. duckietown/apriltags3-py: Python bindings for the apriltags3 library
  5. https://github.com/swatbotics/apriltag