A list of topics of interest. This list includes some very useful and recommended open books, platforms, tools and websites for AI technologies, computer vision, simultaneous localization and mapping(SLAM), control technologies of robotics and some very useful tutorials for robot technologies.
- Basic applied math
- AI book library - The most recommended book for machine learning.
- Dive into deep learning - Useful tool book for deep learning and implementation. There is a tutorial course with video for this book.
- Machine learning book - The hundred-page machine learning book with code.
- Robotics coursework
- AI book library - The most recommended book for machine learning.
- Implementation and application
- PythonRobotics - Most recommended for understanding and getting starting algorithms.
- Eigen or this site - A C++ tool for matrix operation.
- Ceres - An open-source C++ library for modeling and solving large, complicated optimization problems. There are binding tools for Python to use Ceres. It is Pyceres which is based on ceres_python_bindings.
- G2O - An open-source C++ library for general graph optimization.
- Sophus - A C++ implementation of Lie groups basic on Eigen, commonly used for 2d and 3d geometric problems.
- GTSAM - A C++ library that implements sensor fusion for robotics and computer vision applications, including SLAM, VO, and SFM (Structure from Motion). It uses factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices to optimize for the most probable configuration or an optimal plan.
- miniSAM - An open-source C++/Python framework for solving factor graph-based least squares problems inspired by GTSAM but more lightweight. Some tutorials on factor graph-based optimization problems should be very useful.
- Mosek - Powerful solver to optimization problems. And Yalmip - A tool for optimization problems. Here is how it works with Mosek.
- OOQP - An object-oriented C++ package, based on a primal-dual interior-point method, for solving convex quadratic programming problems (QPs).
- NLopt - A free/open-source library for nonlinear optimization, providing a common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms.
- Suitesparse - A sparse Matrix software suite.
- SciPy - SciPy is a math function library that uses NumPy. This library provides algorithms for optimization, integration, interpolation, eigenvalue problems, algebraic equations, differential equations, statistics, and many other classes of problems.
- cvxpy - A Python-embedded modeling language for convex optimization problems. It allows you to express your problem in a natural way that follows the math, rather than in the restrictive standard form required by solvers.
Most recommended as Mosek and Yalmip! for Python users
. - Pyomo - Python Optimization Modeling Objects.
- CVXOPT - A free Python software package for convex optimization.
- Regularization Tools - Or find an old copy here.
- Optimization tool in Python, There are many optimization tool used for SLAM, machine leraning and so on: g2opy is only for SLAM and it is a python binding of graph optimization C++ frameworkb
g2o
; The recently emerged and maintained pypose (by Wang Chen) and cvxpylayers, theseus fromMeta AI
may be the most remarkable ones. - SymPy - A Python library for symbolic mathematics, a computer algebra system like
Maple
andMathematica
that can be used to symbolically differentiate the objective function and generate the C++ to evaluate them. - wxMaxima - A document based interface for the computer algebra system
Maxima
. wxMaxima provides menus and dialogs for many common maxima commands, autocompletion, inline plots and simple animations. The tensor calculation ofRalativity
is one of the main usages of wxMaxima. - Manopt - A tool for optimization on manifolds. There is a Python version PyManopt.
- AI
- Tutorial for CNN - Most recommended, the easiest tutorial for CNN, or Neural network from scratch.
- Understanding backpropagation
- AI-For-Beginners - From Microsoft.
- Machine learning beginner - A road map and tutorial for machine learing beginner. In Chinese.
- Awesome deep learning - A list of resource for deep learning (Updating).
- Awesome machine learning - A list of resource for machine learning (Updating).
- XAI - Explainable or interpretable AI
- Excellent demo
- ChatGPT
- ChatGPT desktop
- VQA - Visual question answering, a simple example to build your chatbot.
- AI frameworks
- Pytorch tutorials- Build a neural network from scratch with automatic differentiation.
- TensorFlow tutorials
- Hugging Face - Transformers.
- keras - A tool for learning implementaion and some documents for beginners.
- Scikit-Learn
- MXNet
- Caffe
- Awesome robotics
- Localization
- SLAM - Roadmap for SLAM beginner.
- SLAM arts - A summary of SLAM, including basic theories and practical examples and visual, lidar SLAM.
- SLAM using Python - Many topics on robotics including SLAM.
- UWB localization - Or this
- SLAM - Roadmap for SLAM beginner.
- Control
- Computer vision -Step by step tutorial for visual SLAM using Python
- Object detecting and tracking or with LIDAR and LIDAR simulation
- Journals and conferences - Collection of papers
- Language - Learn X in Y minutes
- Python - learnpython.py
- C++
- MATLAB
- Objective-C
- Linux
- Windows
- WSL Here is a collection of Windows Subsystem for Linux (WSL) information, distributions, and tools.
- ROS
- Jackal Robot simulation platform
- OpenCV
- evo - A tool for evaluating and comparing the trajectory output of odometry and SLAM algorithms.
- Pangolin - A 3D visualization tool that includes a set of lightweight and portable utility libraries for prototyping 3D, numeric or video-based programs and algorithms used quite widely in the field of Computer Vision.
- [BoW] - The bag-of-words (BOW) model.
- COLMAP - A general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface which is very useful for SLAM.
- YOLO - A real-time object detection system which is very useful for automatical driving and SLAM. Now it updates as YOLOv10, and has a YOLOv4-tiny.
- MatrixCalculus - An online tool that computes vector and matrix derivatives (matrix calculus).
- PapersWithCode - Code !!
- PaperDigest
- RunDocs - Documentation your projects. Here is a tutorial of how to create an website page document for your projects using Gihub Page and RunDocs