Key Component of Perception
- Maps
- Obstacle avoidance
- Path Planning
Robotic Sensor
- Sonar
- 2-D Lidar
- 3-D Lidar
- Vision
- RGB-D
Must Know Concept
- Pose, Trajectory and maps
- To represent the position and orientation of the objects
- Perspective Transformation and Camera Calibration
- Filtering
- Hough Transformation
- Image Features
- Corners – FAST, SIFT, Harris Cornder
- Blobs
- Object/Text Detection and Recognition
- Hog
- Deep Learning
- April Tag Detector
- Line Segment
- Quad Detectipn
- Homography
- Extrinsic Estimation
- Decoding
Tools
- OpenCV, Point Cloud Library
- ROS, Gazebo
Challenge
- View Point Variation
- Illumination (bayang, or lighting)
- Occlusion (blocking view)
- Scale
- Deformation (shape is not uniform)
- Intra class variation (many difference shape of chair)
- Background clutter
Why you should use April Tag
- As a Quad Detector
- Gaussian Smoothing
- Gradients (magnitude and orientation)
- Connected Components
- Line Fitting (least square)
- Decoder
- Hamming distance
- Obtain Transformation Matrix
Tag Families
The type is various and difference based on the number of tags can generated, size, and robustness
- Tag36h11
- Tag25h9
- Tag16h5
April Tag Processing Technique
- Step 1: Convert to grayscale and low pass (if necessary). Low pass is filtering for blurring or smoothing
- Gaussian smoothing techniques (with normally filtering constant between 0, 0.8, and 1.5)
- Use this to reduce noise, low light condition
- Other detector is Canny Edge
- Step 2: Local gradient
- Compute and keep
- Direction and
- Maginitude
- Compute and keep
- Step 3: Extract edges by grouping pixels
- Step 4:
- Step 5:
- Step 6 –> go to here https://www.youtube.com/watch?v=aDmjuzKbE0o
Camera Callibration
- https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_calib3d/py_calibration/py_calibration.html
Reference:
- https://www.youtube.com/watch?v=aDmjuzKbE0o
- https://github.com/swatbotics/apriltag/blob/master
- https://docs.opencv.org/3.3.1/dc/dbb/tutorial_py_calibration.html
- duckietown/apriltags3-py: Python bindings for the apriltags3 library
- https://github.com/swatbotics/apriltag