Carlos Martin's Projects
My C++ deep learning framework & other machine learning algorithms
Clone of the original arcade console version of Breakout, first designed and built by Steve Wozniak for Atari in 1976
A C++ deep learning library for the construction and optimization of neural networks ranging from simple feedforward architectures to state-of-the-art convolutional ResNets and LSTMs.
It is a clone of popular game Candy Crush implemented using C++ and SDL
Config files for my GitHub profile.
C++ Module Partition Sample compiling in g++
Simple program with sintax for c++2a compatibility sample.
C++ Nanodegree Exercices Repository adapted to the std c++2a
C++ use of OpenStreetMap data and look at IO2D map display code and extension of the IO2D map display code to use A*, so that the program is be able to find a path between two points on the map.
C++ OOP implementation of a Linux system monitor with similar functionality to the widely used htop application
This ChatBot creates a dialogue where users can ask questions about some aspects of memory management in C++. It is memory optimized using modern concepts such as smart pointers and move semantics.
Multithreaded traffic simulator using a real urban map. It runs each vehicle on a separate thread, and manage intersections to facilitate traffic flow and avoid collisions using state-of-the-art concurrency concepts.
C++ extensive use of CV2 library for a based on the Q-Learning algorithm and more specifically on the Bellman Equations a prototype of multithreading net of self-deiciding aircrafts choose the best option to continue its path...
Use of image processing techniques and deep learning techniques to detect faces in an image and find facial keypoints, such as the position of the eyes, nose, and mouth on a face. This project process and uses feature extraction techniques that allow to programmatically represent different facial features. Deep learning techniques are used to program a convolutional neural network to recognize facial keypoints. Facial keypoints include points around the eyes, nose, and mouth on any face and are used in many applications, from facial tracking to emotion recognition.
Combination of CNN and RNN to build a deep learning model that produces captions given an input image. Image captioning requires the creation a complex deep learning model with two components: a CNN that transforms an input image into a set of features, and an RNN that turns those features into rich, descriptive language. In this project, an implementation of these cutting-edge deep learning architectures.
Graph SLAM raw implementation using feature detection and keypoint descriptors to build a map of use feature detection and keypoint descriptors to build a map the environment with SLAM (simultaneous of the environment with SLAM (simultaneous localization and localization and mapping). mapping). Implementation of a robust method for tracking an object over time using using elements of probability, motion models, elements of probability, motion models, and linear algebra. This raw method tests and use widely used methods well known in autonomous vehicle navigation.
A Neural Network is built in raw Python and NumPy defining and training a multi-layer neural network, and using it to analyze real data. Building and training the neural network is done from scratch and could easily be implemented in any other language like C++ to predict the number of bike-share users on a given day.
Building of a landmark classifier. Photo-sharing services or photo-storage services may use landmark classification to automatically tag photos with relevant hashtags or location markers. This type of functionality could be especially important when photo location metadata is not available, which could happen when a photo is taken without metadata (e.g., phone was on airplane mode, camera was old and without GPS) or if a photo has had its metadata scrubbed. In the project, you will go through a machine learning design process end-to-end: performing data preprocessing and augmentation, designing your own CNN from scratch, and training and saving your best CNN model. Transfer learning and compare your transfer-learned model with our from-scratch CNN is applied.
Mix of Recurrent Networks and Long Short-Term Memory Networks with PyTorch to build and perform sentiment analysis and generate new text, and use recurrent networks to generate new text that resembles a training set of TV scripts.
Deep Convolutional Generative Adversarial Network (DCGAN) is made of a pair of multi-layer neural networks that compete against each other until one learns to generate realistic images of faces.
Training and deployment of a PyTorch sentiment analysis model using Amazon SageMaker on AWS. This model is trained to do sentiment analysis on movie reviews (positive or negative reviews). The model is built, deployed, and a gateway is created for accessing this model from a website.
A toolkit for developing and comparing reinforcement learning algorithms.
Procgen Benchmark: Procedurally-Generated Game-Like Gym-Environments
Professional C++, 5th Edition - Sample Code and Exercises (Update March 2022) workflow
Custom Gazebo first environment for latter project assignment
Proficient demonstration with ROS, C++, and Gazebo by building a ball-chasing robot. Designing a robot inside Gazebo, housing it in the world previously built to latter code a C++ node in ROS to chase yellow balls. Key Skills Demonstrated: ā¢ Building Catkin Workspaces ā¢ ROS node creation ā¢ ROS node communication ā¢ Using additional ROS packages ā¢ Gazebo world integration ā¢ Additional C++ practice ā¢ RViz Integration
Interface with a mobile robot with the Adaptive Monte Carlo Localization algorithm in ROS to estimate its position as it travels through a predefined set of waypoints. Tuning of different parameters to increase the localization efficiency of the robot. Key Skills Demonstrated: ā¢ Implementation of Adaptive Monte Carlo Localization in ROS ā¢ Understanding of tuning parameters required
Platform to interface with a robot with an RTAB Map ROS package to localize it and build 2D and 3D maps of their environment. Properly set to launch the robot and then teleop it to map its environment. Key Skills Demonstrated: ā¢ SLAM implementation with ROS/Gazebo ā¢ ROS debugging tools: rqt, roswtf
In this capstone project, a SLAM package is used to autonomously map an environment. Then, interfacing with a robot with a path planning and navigation ROS package to move objects within an environment. Key Skills Demonstrated: ā¢ Advanced ROS and Gazebo integration ā¢ ROS Navigation stack 7 ā¢ Path planning