Ahsen Tahir

Projects

Applied machine-learning systems built end to end. Source for each is on GitHub.

Trend-X-BTC

Trend-X-BTC: sequence models for cryptocurrency forecasting

A 30-day Bitcoin forecasting model: two stacked LSTM layers feeding 4-head self-attention, with the attention output fused multiplicatively against the recurrent state before a dense projection. 35-step lookback window, dropout 0.3, trained with Adam under MSE.

The interesting part is the feature set rather than the architecture. Four heterogeneous signal families are aligned onto one daily index: OHLCV market data from Binance, news sentiment from Alpha Vantage, on-chain activity, and macro series from FRED. Preprocessing uses a scikit-learn ColumnTransformer with standardization, plus Gaussian-noise augmentation to enlarge a short financial time series.

PyTorch · LSTM + multi-head attention · scikit-learn · Firebase · Binance / Alpha Vantage / FRED APIs · Azure CI
Eeko AI

Eeko AI: vision-language models for smallholder agriculture

An agriculture assistant for smallholder farmers. Llama 3.2 11B Vision, served over Groq, runs the crop analyzer, insect detector and weed detector: field photographs are passed as base64 image content in a multimodal chat completion, under task-specific prompts that constrain the model to report growth stage, pest damage, canopy health, soil condition and density rather than free-form description.

A second conversational agent grounds its answers in NASA LARC satellite data for the user's region, so recommendations reflect local conditions instead of generic advice, with Urdu speech support for accessibility. Built on Next.js 14 with Clerk authentication; it drew 439+ visitors within hours of launch.

Llama 3.2 11B Vision · Groq · NASA LARC API · Next.js 14 · Clerk · Vercel
VisionPlay

VisionPlay: multi-object tracking in broadcast sports footage

Football match analysis from broadcast video. A fine-tuned YOLO detector feeds ByteTrack for identity-stable multi-object tracking; the ball, which drops out of detection frequently, is recovered by interpolating its bounding box across missed frames. Team assignment runs k-means over the upper half of each player crop, using a corner-cluster heuristic to separate jersey pixels from pitch background.

The hard part is the camera. Broadcast footage pans and zooms constantly, so pixel coordinates say nothing about field position. Shi-Tomasi corners tracked by Lucas-Kanade pyramidal optical flow estimate per-frame camera translation, which is subtracted from every track before a perspective homography maps image points onto pitch coordinates. Only after that correction are the derived speed and distance metrics meaningful.

YOLO (Ultralytics) · ByteTrack · OpenCV · Lucas-Kanade optical flow · homography · k-means · Python