Skip to content

AI/ML Engineer — Computer Vision & NLP

Nalin Sharma

I build computer vision and NLP systems end to end — feature matching across seasons, satellite land-use classification, physiological signal models — and the pipelines and services that make them usable.

Portrait of Nalin Sharma
Delhi, IndiaB.Tech CSE (AI)
01Projects

Systems I have designed and built

Each one is described by the problem it addresses, how it was built, and what actually runs today.

01Computer Vision

Cross-Season Image Matching

I built a visual matching pipeline that finds the same location across summer and winter photographs, estimates the geometric transform between them, and profiles its own runtime for deployment.

Problem
The same place looks completely different in summer and winter. Snow, foliage and lighting break appearance-based matching, so any system that has to recognise a location across seasons needs correspondences that survive the change.
Pipeline
Summer / winter image pair → SuperPoint keypoints (512) → LightGlue matching → RANSAC homography → Inlier and reprojection error → Warped overlay output
Measured
  • Average runtime 4.907 s per pair across 5 pairs
  • Average inlier ratio 53.4%, best pair 60.0%
  • Keypoint reduction 1024 to 512: runtime 5.677 s to 5.152 s, inlier ratio 44.3% to 52.8%
State
Runs end to end on the sample pairs, producing matches, homographies and aligned overlays, with per-pair runtime and inlier ratios recorded in the repository.
Stack
PythonPyTorchSuperPointLightGlueOpenCVKorniaONNXNumPy
SUMMERWINTERHSUPERPOINT KEYPOINTSLIGHTGLUE MATCHESRANSAC HOMOGRAPHY
Illustrative visualization
02Edge AI

Cloudburst Early Warning System

I built a distributed sensor-to-alert system: ESP32 field nodes that sample weather sensors, a gateway that aggregates them, a backend that stores the series and runs anomaly detection, and an alerting layer that reaches people three different ways.

Problem
The hill regions most exposed to cloudbursts are the ones with the least reliable power and connectivity, so a warning system has to keep working when the network does not.
Pipeline
ESP32 multi-sensor node → LoRa / gateway aggregation → Flask ingest API → TimescaleDB time series → Anomaly detection + ConvLSTM → SMS / push / siren alerts
State
Implemented across all five layers: firmware, gateway, backend, models and alerting. It has not been deployed in the field, so detection accuracy and warning lead time are unmeasured.
Stack
PythonTensorFlow / KerasScikit-learnFlaskTimescaleDBMQTTLoRaESP32C++StreamlitDocker
NODE 01NODE 02NODE 03LORA 915 MHZGATEWAYTIMESCALEDBCONVLSTM24 → 6SMSPUSHSIRENRAINFALL / PRESSURE / LIGHTNINGANOMALY
Illustrative visualization
03Geospatial ML

Delhi Airshed Land-Use AI Audit

I built a land-use classification pipeline over Delhi-NCR that pairs Sentinel-2 tiles with ESA WorldCover labels and fine-tunes a ResNet18 to classify them.

Problem
Air-quality work across the Delhi airshed needs to know what is actually on the ground, built-up against cropland against vegetation, over thousands of square kilometres that nobody is going to label by hand.
Pipeline
Sentinel-2 RGB tiles → Delhi-NCR boundary filter → WorldCover 128x128 window → Modal class label → ResNet18 fine-tune → Accuracy / F1 / confusion matrix
Measured
  • Accuracy 81.13% on the 40% held-out split
  • Weighted F1 0.76
  • 5 epochs, batch size 32, Adam at lr 1e-3
State
Trains and evaluates end to end, with the confusion matrix, class distribution and grid overlay committed alongside the code.
Stack
PythonPyTorchtorchvisionGeoPandasRasterioShapelyScikit-learnSentinel-2
SENTINEL-2 TILE GRIDDELHI-NCR AIRSHED BOUNDARY128 × 128MODAL CLASSCLASSESBUILT-UPCROPLANDVEGETATIONWATER
Illustrative visualization
04Applied ML

SleepSense AI

I built an end-to-end pipeline that turns raw overnight sleep recordings into labelled 30-second windows and trains two deep models to separate normal breathing, hypopnea and obstructive apnea.

Problem
Scoring overnight breathing events by hand is slow specialist work, and the events that matter are rare: in this recording set obstructive apnea accounts for 36 of 1318 windows.
Pipeline
Overnight signal export → Butterworth 0.17-0.4 Hz → 30 s windows, 50% overlap → Event-based labelling → 1D CNN / Conv-LSTM → Leave-one-participant-out CV
Measured
  • 1D CNN, leave-one-participant-out: accuracy 0.53, precision 0.30, recall 0.33
  • Conv-LSTM, leave-one-participant-out: accuracy 0.53, precision 0.33, recall 0.31
  • Dataset: 1318 windows from 5 participants (886 / 396 / 36 per class)
State
Both models land near 0.53 accuracy under leave-one-participant-out validation. With 5 participants and 36 apnea examples that is the honest result, and the value of the project is the pipeline and the evaluation protocol rather than the classifier.
Stack
PythonPyTorchSciPyScikit-learnpandasNumPy
RAW SIGNALBANDPASS 0.17–0.4 HZ30 S WINDOW · 50% OVERLAPCONV1DCONV1DCONV1DLSTMNORMALHYPOPNEAOBSTRUCTIVE APNEA
Illustrative visualization
05Product Engineering

EcoSphere

I built a twelve-route campus sustainability platform in Next.js 15 and React 19: issue reporting with photos, a Kanban tracking board, sustainability dashboards, an admin command centre and a gamified rewards layer. The features labelled AI are a deterministic offline simulation, not a model, and the repository says so.

Problem
Campus sustainability issues get reported through scattered channels and nobody can see what happened next. This is a product prototype for what a single reporting, tracking and reporting-back surface would look like.
Pipeline
Issue reported with photo → Zod schema validation → Deterministic simulation engine → Severity + department routing → Kanban tracking board → Admin and sustainability dashboards
State
Runs as a complete frontend prototype. All twelve routes work against seeded state and the simulation engine returns consistent analyses for the same input. There is no authentication, backend, persistence or machine learning model.
Stack
TypeScriptNext.js 15React 19Tailwind CSSRechartsReact Hook FormZodFramer Motion
ECOSPHEREPENDINGASSIGNEDIN PROGRESSRESOLVEDPROTOTYPE INTERFACE · SEEDED DATA · SIMULATED ANALYSIS
Illustrative visualization

Also built

06NLP

AetherMind

I built prototype scaffolding for a mental-health chat backend: sentence-transformer embeddings for intent matching, a layered safety check for crisis language, and auth and storage modules around them.

A mental health chat tool has to read intent quickly and recognise crisis language reliably, and getting either wrong matters more than in an ordinary chatbot.

Chat message → Sentence-transformer embedding → Cosine similarity intent match → Regex + classifier safety check → Tiered escalation → SQLite session store

This is prototype scaffolding rather than a running service. The safety, NLP, storage and auth modules are sketched out, but no model was trained to completion here, no weights or evaluation results are committed, and nothing is deployed.

Pythonsentence-transformersTransformersspaCyFastAPIJWTSQLite
07Machine Learning

Loan Approval ML Pipeline

I built an end-to-end tabular ML pipeline: preprocessing, exploratory analysis, a five-model comparison, model selection, serialisation and a Streamlit app that serves the saved model.

Loan applications get reviewed manually and inconsistently, so the useful baseline question is how much of the approval decision a small tabular model can recover from applicant attributes alone.

Applicant CSV → ColumnTransformer encode + scale → Five-model comparison → Logistic Regression selected → joblib model.pkl → Streamlit prediction app

Runs end to end from raw CSV to a served model: the comparison selects Logistic Regression, the fitted pipeline is saved, and the Streamlit app predicts from it.

PythonScikit-learnpandasNumPyStreamlitjoblibJupyter
02Experience

Applied AI work

Medical image analysis during the Infosys Springboard internship, from preprocessing through to model training.

October 25 - December 31, 2024

India

Certificate

AI/ML Intern

Infosys Springboard Internship 5.0

MediScan: medical image analysis for disease diagnosis

  • Built an eye disease detection workflow on medical image data to support earlier diagnosis.
  • Implemented the preprocessing and image segmentation steps that standardised inputs before training.
  • Wrote the feature extraction and model training pipeline, and compared results across training runs.
  • Used statistical analysis of the dataset to guide preprocessing choices and model selection.

Completed the internship project end to end and received the Infosys Springboard certificate.

PythonComputer VisionImage segmentationML pipelinesStatistical analysis
03Research

Decoding Visual Intelligence in Machines: A Comprehensive Review of CNNs

Nalin SharmaJournal of Informatics and Mathematical Sciences2026

A review of convolutional neural network architectures and how they are applied to visual recognition tasks. It is my first accepted paper, and it grew directly out of the computer vision work in these projects.

Convolutional Neural NetworksComputer VisionDeep Learning

Accepted for publication

04Skills

Technologies I work with

Grouped by capability and, where it applies, by the project the work happened in. No proficiency percentages: a self-assigned score does not tell you anything useful.

Languages
PythonC++TypeScriptSQLBash
AI & Machine LearningSleepSense, Delhi airshed, Cloudburst, MediScan
PyTorchTensorFlow / KerasScikit-learnHugging Face TransformersNumPyModel training and evaluation
Computer VisionCross-season matching, Delhi airshed, MediScan
OpenCVSuperPointLightGlueRANSAC / homographyResNet18Image segmentation
GeospatialDelhi airshed land-use audit
GeoPandasRasterioShapelySentinel-2ESA WorldCover
Signal ProcessingSleepSense AI
SciPy filteringButterworth bandpassWindowing and segmentationLeave-one-participant-out CV
NLPAetherMind
Sentence-transformer embeddingsIntent classificationBERT fine-tuningPrompt engineering
Backend & SecurityCloudburst backend, AetherMind
FlaskFastAPIJWT authenticationRole-based access control
DatabasesCloudburst time series, AetherMind storage
PostgreSQLTimescaleDBSQLiteMySQLMongoDB
Edge & IoTCloudburst early warning system
ESP32PlatformIOLoRaMQTTRaspberry PiStreamlit
Deployment & ToolingONNX export in cross-season matching, containerised Cloudburst backend
DockerONNX / ONNX RuntimeGitGitHubGrafanaPrometheus
WebEcoSphere, and this site
Next.jsReactTailwind CSSRechartsZod
05About

How I work

Most of my work is computer vision and applied machine learning on real signals. I have built a cross-season image matching pipeline with SuperPoint and LightGlue, a land-use classifier over Delhi-NCR from Sentinel-2 imagery, a breathing-event classifier trained on overnight sleep recordings, and a distributed cloudburst warning system that runs from ESP32 sensor firmware through to alerting.

The part I care about is what happens after the model trains: preprocessing that survives messy input, evaluation protocols that do not flatter the result, profiling and deployment paths, and interfaces someone else can actually use. I am a B.Tech CSE (AI) student at CSJMU, and my first review paper on convolutional neural networks has been accepted for publication.

Computer vision
Feature matching across seasonal change, satellite land-use classification, and the medical image work from my Infosys internship.
Models on real signals
Physiological and sensor time series: filtering, windowing, and validation protocols that hold up when the data is scarce and imbalanced.
Research
An accepted review paper on CNNs, and the reading habit behind it that feeds back into how I approach vision problems.
07Contact

Let’s talk about the work.

Open to AI/ML engineering roles, internships, research collaboration, and project work. Email is the fastest way to reach me.

Location

Delhi, India