Skip to content
View rishishanthan's full-sized avatar

Block or report rishishanthan

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
rishishanthan/README.md

Hey, I'm Rishi Shanthan 👋

ML/AI Engineer | 3+ years building from-scratch deep learning pipelines across CV, GenAI, NLP, and biometrics | Published Researcher | Original Kaggle Dataset Author

I build ML/DL systems from scratch — hand-coded backpropagation, diffusion samplers, camera calibration via DLT+SVD, and biometric evaluation pipelines. 3+ years of experience across computer vision, generative modeling, NLP, and production software engineering.

LinkedInKaggleEmailHuggingFace


🔧 Tech Stack

Languages:PythonSQLMATLABRCJavaScript
DL / ML:PyTorchTensorFlowscikit-learn · CNNs · LSTMs · Transformers · Diffusion (DDIM) · GANs · Autoencoders
Computer Vision:OpenCV · YOLO · Face Recognition · Biometrics (PAD) · Medical Imaging
Data & Infra:pandasNumPyDockerGitLinuxSupabase/PostgresREST APIsCUDAHuggingFaceMLflow
Cloud: AWS Solutions Architect (Associate) · AWS Cloud Practitioner · AWS AI Practitioner


🚀 Featured Projects

These are the highlights — all 23 repos are listed below

ProjectWhat I BuiltKey Result
🎨DDIM InpaintingFrom-scratch UNet + DDIM diffusion with v-prediction, self-conditioning, EMA, CoordConvPSNR 14.41 on MNIST
🔐Face PAD (Anti-Spoofing)End-to-end video-level face attack detection. Subject-disjoint protocol, EER/ACER thresholdsACER 0.029, Acc 98.1%
🍇Blackberry-Lime ClassifierOriginal 6K-image dataset (published on Kaggle) + dual ResNet-18 classifier → Live App100% / 99% accuracy
🧠Transformer from ScratchEncoder + Decoder with sinusoidal positional encoding, multi-head attention on Yelp Polarity79% test, ROC-AUC
📈LSTM Stock + VaRNext-day forecasting with Value-at-Risk quantification on Dropbox stockMAPE 1.51%, R² 0.908
🧮From-Scratch MLPHand-coded forward pass + backpropagation + L2 reg, no autograd. MNIST + CelebA faces95% / 85% test
📹YOLOv3 Traffic DetectionReal-time detection on traffic video with NMS, custom IoU, FPS profilingReal-time on 3 videos
📷Camera CalibrationDLT + SVD camera calibration from scratch — intrinsic & extrinsic decompositionPure NumPy math

📄 Publication

"Cardiovascular Disease Prediction using ML"IJSREM, Vol. 07, Issue 08, Aug 2023
Co-authored · Cleveland Heart Disease DB · LogReg vs Random Forest · Flask web app
📎 View Paper


📂 All Repositories

🧠 Deep Learning & Generative Models (click to expand)
👁️ Computer Vision & Biometrics (click to expand)
📊 Classical ML (From Scratch — No sklearn) (click to expand)
🔬 Research & Numerical Methods (click to expand)

🎓 Education

Master of Science in Engineering Science (Data Science) — University at Buffalo (SUNY), 2024–2025
Bachelor of Tech — IIT Bhubaneswar, 2019–2023


Building models that see, think, and act intelligently.

Pinned Loading

  1. blackberry-lime-visual-classifierblackberry-lime-visual-classifierPublic

    Two-stage deep learning system to classify fruit type (blackberry vs lime) and its presentation style using fine-tuned ResNet-18.

    Jupyter Notebook

  2. Hospital-Length-of-Stay-PredictionHospital-Length-of-Stay-PredictionPublic

    Deep learning pipeline for predicting COVID-19 hospital length of stay using MLP, LSTM, Self-Attention, and Word2Vec — built with PyTorch on Canadian inpatient data (508 patients, 58 clinical featu…

    Python

  3. anomaly-detection-autoencodersanomaly-detection-autoencodersPublic

    Anomaly detection with Dense, LSTM, and Conv1D autoencoders — reconstruction error, adaptive thresholds, ROC/PR analysis, and error heatmaps.

    Jupyter Notebook

  4. ddim-mnist-inpaintingddim-mnist-inpaintingPublic

    DDIM-based image inpainting on MNIST (32×32), filling central holes using a time-conditioned UNet with self-conditioning and coord-conv.

    Jupyter Notebook

  5. face-pad-msu-mfsdface-pad-msu-mfsdPublic

    Face anti-spoofing system for biometric security using MobileNetV2, frequency cues, and rigorous video-level PAD evaluation.

    Jupyter Notebook

  6. transformer-from-scratch-seqtransformer-from-scratch-seqPublic

    From-scratch Transformer in PyTorch — embeddings, positional encoding, multi-head attention, encoder/decoder stacks, and a clean training pipeline for sequence tasks.

    Jupyter Notebook