Probability-based edge detection using filter banks, texture/brightness/color gradients, and K-means clustering — outperforming classical Canny and Sobel methods.
PythonOpenCVNumPyscikit-learnGabor FiltersK-means
Camera intrinsic calibration from scratch using Zhang's method, SVD-based homography estimation, and Levenberg-Marquardt optimization with radial distortion modeling.
PythonOpenCVNumPySciPyZhang's MethodSVD
Autonomous campus driving car with lane detection, semantic segmentation, signboard recognition, and human detection — developed at PSG College of Technology.
PythonOpenCVDeep LearningROSLane DetectionSemantic Segmentation
Household autonomous mobile robot built on TurtleBot3 with ROS — featuring teleoperation and SLAM-based autonomous mapping and navigation.
ROSPythonC++TurtleBot3SLAMNavigation Stack
Automated image stitching pipeline combining classical computer vision and deep learning to generate seamless panoramas from overlapping images.
PythonOpenCVNumPyscikit-imageSciPyDeep Learning
Discrete Bayes Filter implementation for probabilistic door-state estimation, demonstrating iterative prediction and correction steps for robot state estimation.
PythonNumPyMatplotlibJupyter Notebook
TD3-based deep reinforcement learning for goal-driven mobile robot navigation in Gazebo, using Velodyne LiDAR and RGB camera inputs with continuous velocity control.
PythonPyTorchROSGazeboTD3LiDARTensorBoard
EKF-based robot pose estimation fusing IMU accelerometer/gyroscope data with AprilTag visual landmarks, validated against VICON motion capture ground truth.
PythonNumPySciPyOpenCVSymPyIMUAprilTags
BFS, DFS, Dijkstra, and Random traversal implemented to navigate a point robot through a 2D obstacle field, with performance analysis across coverage levels.
PythonBFSDFSDijkstraPath Planning
Autonomous fruit harvesting robot with vision-based detection, segmentation, pose estimation, and ROS-Gazebo simulation.
PythonPyTorchROSGazeboOpenCVDeep Learning
INS and GNSS sensor fusion using the Unscented Kalman Filter with WGS84 Earth model — implemented in both feedforward and feedback architectures for robust navigation.
PythonNumPySciPyMatplotlibPandasUKFGPS
6-state Kalman Filter for 3D position and velocity tracking of a lightweight object, evaluated across low-noise, high-noise, and velocity-measurement scenarios.
PythonNumPyMatplotlib
Path planning and simulation for a truck with multiple trailers navigating a 2D parking lot — using A* and RRT with Reeds-Shepp heuristics and realistic trailer kinematics.
PythonPygameNumPySciPyA*RRTReeds-Shepp
Monte Carlo Particle Filter for 6-DOF robot pose estimation fusing IMU data with AprilTag observations, compared against EKF and VICON ground truth.
Autonomous Mars rover prototype with robotic arm, perception, and ROS-based navigation, tested in simulation and in the field.
ROSGazeboC++PythonEmbedded Systems
Incremental SfM pipeline reconstructing 3D point clouds and camera poses from 2D images using feature matching, triangulation, PnP, and bundle adjustment.
PythonOpenCVNumPySciPyRANSACBundle Adjustment
End-to-end image captioning using a SWIN Transformer visual encoder with refining encoder layers and a 6-layer transformer decoder, trained on Flickr8k.
PythonTensorFlowKerasSWIN TransformerAttentionFlickr8k
State lattice planning with A* for autonomous valet parking — supporting differential drive, Ackermann steering, and truck-trailer vehicle kinematics.
PythonPygameNumPyState LatticeA*Path Planning
Autonomous Ackermann fire truck simulation using PRM global planning and A* local planning to chase and suppress dynamically spreading wildfires in real time.
PythonPRMA*Ackermann SteeringPath Planningscikit-learn