Open-source work.
Code for the research papers and applied projects. Each card opens a short case study; every repo has its own README, tests and setup steps.
9 projects.
Hybrid RAG
esg-hybrid-rag
Question answering over long ESG PDF reports with dense + BM25 retrieval fused by Reciprocal Rank Fusion.
Case study
- Problem
- Long, dense sustainability reports are hard to search. Keyword search misses paraphrases and embeddings alone miss exact terms and figures.
- Approach
- PDF pages are processed into page images and OCR text (PyMuPDF, pdfplumber). A dense encoder and a sparse BM25 index each retrieve candidate pages, and Reciprocal Rank Fusion merges the two ranked lists so the best pages rise to the top before answer generation.
- Result
- A complete, documented pipeline with an architecture diagram, runnable notebook and requirements.
97.35%
FMANet
Colorectal tissue classification from H&E histopathology tiles with fused multi-level attention features.
Case study
- Problem
- Classify 128 × 128 histopathology tiles into tissue types (8 classes on Kather 5,000; 9 on CRC-VAL-HE-7K).
- Approach
- Low-level and high-level feature streams, each refined by a dilated residual-inception block, are pooled and embedded. Constraint fusion weights each stream by its cosine similarity to the combined features before a softmax classifier.
- Result
- 95.0% test accuracy (macro F1 0.95) on Kather 5,000 and 97.35% (macro F1 0.97) on CRC-VAL-HE-7K, with 5.39 M parameters. Published in Computers and Electrical Engineering, 2025.
99.48%
kidney-ct-attention-cnn
Lightweight dual-attention CNN that classifies kidney CT slices as cyst, normal, stone or tumor.
Case study
- Problem
- Classify 12,446 kidney CT images into four classes (cyst 3,709; normal 5,077; stone 1,377; tumor 2,283) with a model small enough for real-time deployment.
- Approach
- Three stacked convolution blocks are concatenated for feature reuse, then refined by residual spatial-attention and residual channel-attention modules before a small MLP.
- Result
- 99.48% overall accuracy as reported in the paper (80:20 train/test split), with about 0.22 M parameters. Per-class recall is 1.00 except stone (0.94). Published at IEEE ICCCNT 2024.
97.90%
wbc-multistream-cnn
Three-stream CNN with gated feature fusion for white-blood-cell classification.
Case study
- Problem
- Classify 5,000 microscope images into five white-blood-cell types despite stain variation.
- Approach
- Each image becomes three views: raw, optical density (a stain-independent colour space) and an anisotropic-diffusion smoothing of the optical density. Each view has its own small CNN and a sigmoid gate re-weights the concatenated features.
- Result
- 97.90% test accuracy on 1,000 held-out images (stratified 80/20 split), 451,333 parameters.
171 K params
carotid-ultrasound-segmentation
Lightweight attention network that segments the common carotid artery in ultrasound images.
Case study
- Problem
- Predict a binary artery mask from 256 × 256 ultrasound images using 1,100 expert-annotated image/mask pairs.
- Approach
- Depthwise-separable encoder, an ASPP-like multi-scale module, attention gates on skip connections, squeeze-and-excitation, coordinate attention and a boundary-refinement branch. The pipeline is built to avoid train/test leakage between frames of the same scan.
- Result
- A 171,653-parameter model with a tested, leakage-free, scan-aware training pipeline (Dice + BCE loss; Dice, IoU, precision, recall, F1 and specificity metrics).
Attention U-Net
wildfire-spread-prediction
Next-day wildfire spread prediction from remote-sensing, weather and terrain data.
Case study
- Problem
- Given a 64 × 64 km patch for one day, predict which pixels will be on fire the next day.
- Approach
- An Attention U-Net (32.5 M parameters) over a 12-channel stack of elevation, weather and vegetation inputs, trained with a focal + Dice loss and evaluated with IoU.
- Result
- Pixel accuracy is high from the first epoch because most pixels do not burn, so IoU is the primary metric. The repo documents the full training log and sample predictions, including misses.
mAP50 0.995
aerial-vehicle-detection
YOLOv8 vehicle detection and classification in aerial drone imagery, fine-tuned on the VAID dataset.
Case study
- Problem
- Find vehicles in top-down drone images and classify them into seven types (sedan, minibus, truck, pickup, bus, cement truck, trailer).
- Approach
- Fine-tunes a pretrained YOLOv8m (25.8 M parameters) with thin wrappers around Ultralytics for dataset configuration, training, prediction and validation, plus a dataset check that flags classes missing from a split.
- Result
- Validation precision 0.942, recall 0.980, mAP50 0.995, mAP50-95 0.851, about 7.4 ms per image on a T4 (small validation set, as noted in the repo).
97.9% (rice)
DARINet
Compact dual self-attention residual-inception network for plant disease identification.
Case study
- Problem
- Classify leaf images by disease for cassava (5 classes), rice (3) and maize (4).
- Approach
- A modified inception block with depthwise-separable convolutions, a residual connection and two attention modules (channel and spatial), about 0.65 M parameters. The network is identical across datasets; only the output layer changes.
- Result
- Test accuracy 97.9% on rice, 94% on maize and 77% on cassava (the hardest of the three). Published at IEEE ICUMT 2023.
Web app
Maternal-Health-Risk-Predictor
Machine-learning web app that predicts maternal health risk levels from clinical inputs.
Case study
- Problem
- Help assess maternal health risk during pregnancy from basic clinical measurements.
- Approach
- A classifier trained on the public Maternal Health Risk dataset (Kaggle) behind a simple web interface for entering patient data.
- Result
- Reported 95% training accuracy. The README is explicit that real-time predictions can be wrong and that the tool does not replace professional medical advice.