Gnyana Teja Samudrala

Hey, I'm Teja.

I'm an enthusiast in the field of machine learning and artificial intelligence. What interests me is stimulating problems that require computer vision or image-related methodologies using ML and AI concepts.

headshot

I'm a graduate student of M.Eng. in Robotics at the University of Maryland, College Park. I am interested in working on the applications of machine learning. I have experience with working on image processing algorithms, both the classical and the deep learning methods.

I am highly motivated and proactive at developing my knowledge and in advancing my experience. Over the past year, I have dived my expertise in the pool of ML and AI. Since I find these concepts extremely inquisitive, most of my course work is related to this field. I cannot put into words how excited I am about the application of robotics in various areas and how it can improve the world around us.

When I'm not in front of a computer screen dipped into robotics, I'm probably traveling, cooking, or playing sports.

Experience

Research Scientist

Adagrad AI, Pune

Worked on developing projects relating to the field of computer vision, involving various object detectionand feature extraction models used for various video analytic projects. Mainly focused on person detection, face recognition and vehicle plate recognition.

Aug 2020 - Present

Univeristy of Maryland, College Park

M.Eng Robotics

Candidate for Masters of Engineering in Robotics. Graduating in May 2020.

Aug 2018 - May 2020

Intern

Research Centre Imarat, India

I studied the manufacturing process of the accelerometer. We have implemented a semi-automated process into the etching step used in the manufacturing of accelerometer and designed a micron-scale wax ejector in a team of two.

Jan 2018 - May 2018

Manipal Institute of Technology, India

B.Tech in Mechatronics

Candidate for Bachelors of Technology in Mechatronics. With a minor in Robotics.

Aug 2014 - May 2018

Skills

Softwares/Technologies & tools

  • Deep Stream
  • TensorRT
  • Docker
  • PyTorch
  • MATLAB
  • ROS
  • Git
  • Solidworks
  • Latex
  • Machine Learning
  • Computer Vision

Programming languages

  • checkmarkPython
  • checkmarkC++
  • checkmarkC

Electronics

  • checkmarkNvidia Jetson devices
  • checkmarkArduino
  • checkmarkRaspberryPi
  • checkmark8051

Mechanical

  • checkmarkCNC
  • checkmarkLathe
  • checkmarkWelding

Courses

Statistical Pattern Recognition

Through this course, I’ve have learned the recognition and analysis of mathematical patterns. This course emphasis on parametric and non-parametric statistical pattern recognition methods and clustering. My academic projects for this course work focused on applications of image recognition.

Deep Learning for Computer Vision

Through this course, I learned image formation, features, segmentation, stitching, recognition, motion estimation, and 3D point clouds. The coursework showcased how to model classical 3D geometrical problems using Deep Learning. Various projects were carried out throughout the course based on both conventional and deep learning approaches.

Robot Modelling

Robot Modelling focused on the modeling of manipulators based on serial mechanisms. I studied the concepts related to kinematics, inverse kinematics, and Jacobians. I also learned Eulerian and Lagrangian Dynamics. I was elated to use simulation software such as ROS and VREP for academic projects.

Rehabilitation Robotics

Rehabilitation Robotics provided an introduction to a field of robotics, that is dedicated to improving the lives of people with disabilities. The course considers not only engineering design and development but also human factors that make some innovative technologies successful and improvise in improving other commercial failures. The coursework discusses sensing, actuation, and control principles used across multiple rehabilitation robots.

Some of My Work

Structure from Motion (SFM)

SFM is about reconstructing a whole 3D scene and simultaneously obtaining camera poses from a set of images taken by a monocular camera at different locations and positions of a scene. The problem here is often referred to as Structure from Motion (SFM).

desktop-screenshot
  • Python
  • OpenCV
  • RANSAC
  • Fundamental and Essential Matrix
  • Nonlinear Triangulation
  • Perspective-n-Point
  • Bundle adjustment

Learning SfM, an Unsupervised way

An unsupervised learning approach for predicting the monocular depth and ego-motion from the video sequences. I improved the end-to-end learning approach presented in SfMLearner. In contrast to the original SfMLearner, our training data was limited to a subset of the original KITTI dataset. I used ResNet architecture for depth estimation, with SSIM and forward-backward consistency loss, which is from GeoNet. The evaluations and comparison showed the effectiveness of my approach, which improved the abs_rel depth metric of SfMLearner by 18%.

desktop-screenshot
  • Python
  • Tensor-Flow
  • OpenCV
  • SFMLearner
  • KITTI dataset
  • ResNet arhitecture
  • Unsupervised Learning

Face Swap

An end-to-end pipeline of swapping two faces in a video, by using both classical (Dlib library) and deep-learning (PRNet) methods for getting facial fiducials. The Face Swap in two scenarios is shown, first between two faces in the same video and in second, a face in a video with a face in from given image. The resulting videos can be viewed here.

tablet-screenshot
  • Python
  • Tensor-Flow
  • Dlib library
  • OpenCV
  • Delaunay Triangulation
  • Thin Plate Spine

Panorama Stitching

In this project, two or more images were stitched together into one seamless panorama image. The estimation of homography between the pictures performed in both classical (Harris corners, RANSAC) and deep-learning methods (HomographyNet). The deep-learning approach had both supervised (HomographyNet) and unsupervised methods. Although, the deep-learning techniques were able to provide satisfactory results on the synthetic data but not between two images to be stitched. Hence, I performed the stitching of images using the classical approach.

desktop-screenshot
  • Python
  • Tensor-Flow
  • OpenCV
  • RANSAC
  • Harris corner
  • Homography estimation

Lane Detection

Lane Detection on a video sequence taken from a moving car. An algorithm was designed to detect lanes on the road and to estimate the road curvature to predict the turns made. The results are in these videos.

tablet-screenshot
  • Python
  • OpenCV
  • Homography
  • Histogram
  • Sobel filter

Visual Odometry

In Visual Odometry, by utilizing successive frames of a car's movement, I generated a plot of the camera's trajectory, i.e., the path taken by the vehicle. Non-linear optimizations were performed to achieve the right pose of the camera. The input videos are from the Oxford dataset.

desktop-screenshot
  • Python
  • OpenCV
  • RANSAC
  • Essential Matrix
  • Triangulation
  • Perspective-n-Point

Traffic Sign Recognition

Detection and recognition of the traffic signs are carried out in this project. In the detection stage, a pipeline was made to extract the possible candidates that contained the traffic sign. And the other part was to correctly classify the detected signals using SVM (Support Vector Machine). A video of a moving car converted into the output, in which the signs are identified and labeled accordingly. The SVM was able to classify 62 signs provided correctly with an accuracy of 99.76% on the test data.

tablet-screenshot
  • Python
  • OpenCV
  • HOG
  • SVM

Path Planning

Via Path Planning, I Implemented the most popular path planning algorithms used in robotics such as A-Star, Dijkstra, and Simple Breadth-First Search. Also, the picture below is from the implementation of the A-Star algorithm for the differential drive to find the path that the turtle bot had to traverse to reach the goal position while avoiding the obstacles.

tablet-screenshot
  • Python
  • Gazebo
  • ROS
  • A-Star
  • Dijkstra
View my full résumé download resume

Get In Touch

Have a challenging project or just want to say hi? Feel free to send me a message!