About me

Hi, I'm An.

Major
Electronics & Telecommunications Engineering
School
International University, VNU-HCM · 3rd year
Based in
Ho Chi Minh City, Vietnam
Focus
IoT · Embedded systems · Embedded AI
Interests
Cacti · Predatory fish · Travel
Goal
Aircraft maintenance engineer

I'm curious, a little stubborn, and happiest when I finally get why something works. Off the clock I grow cacti, keep fish that bite, and look for waterfalls.

Outside the lab

A bit of my life.

Contact

Say hi.

Happy to talk about IoT, embedded AI, aviation, or your cactus. Email is the fastest way.

Projects

Things I've built and studied.

AquaVision-X

research · results frozen

An AI that recognises fish diseases from photos. I caught it cheating: it was reading the background, not the fish. Then I cut that habit roughly in half without losing accuracy.

  • Python
  • PyTorch
  • timm
  • OpenCV
  • Segment Anything
Details

7 classes, ~2,400 images, EfficientNetV2-S + ViT-B/16 (113.5M parameters).

StepTestResult
CorrelationFish erased, background onlymacro-F1 0.7049 vs 0.1429 chance (full image 0.9583)
CausationBackground swapped from another class (n = 489)Predicts the background's class 23.1 % vs 16.7 % chance (p = 1.3e-4)
RemedyRandomise the background in trainingDependence −48.9 %; clean macro-F1 0.9443 → 0.9551
  • 224 px input is enough (equivalence test passed), 2.2× less compute than 384 px.
  • A fusion bug had silently killed an 85.8M-parameter branch; a quick check now catches it.

Row 1 used 384 px / 10 epochs, rows 2–3 used 224 px / 20 epochs.

ShrimpVision

research · in progress

Which AI model really diagnoses shrimp diseases best? I put seven of them through exactly the same tests to find out, and where the winner actually wins.

  • PyTorch
  • timm
  • scikit-learn
  • SciPy
  • Kaggle
Details
  • Merged public datasets: 2,149 images, 5 classes.
  • Multiple seeds, bootstrap confidence intervals, multiple-comparison correction.
  • The hybrid convolution + attention model (CAFormer-S18) leads on the hardest class, WSSV + Black Gill co-infection: the only per-class gap that survives Bonferroni (p = 0.0077, 3 seeds).
  • Predictions written down before each run; 60 test scripts guard the pipeline.

SmartGate

thesis · in design

My thesis: a smart gate that recognises faces and licence plates, and keeps working when the internet is down. The build is planned for 2028.

  • Raspberry Pi 4B
  • STM32
  • RS-485 / Modbus RTU
  • OpenCV
  • KiCad
Details
  • Three tiers: a Raspberry Pi 4B for vision and rules, two STM32 nodes for real-time I/O, 12 V DIN-rail power.
  • Radar and an inductive loop wake the vision pipeline, so a CPU-only Pi is enough.
  • No LLM in the access decision. Safety (E-stop, photo-eye, fail-safe) lives in firmware, not Python.
  • Done so far: technical proposal, bill of materials (14,998,500 VND), Modbus register map v0.2.
  • 16 KPIs are written down as targets. Nothing is measured yet.

SkyTrack

hackathon · 2026

A drone mission that scans crop fields from 60 m, takes a closer look from 18 m, and always keeps enough battery to get home.

  • Python
  • NumPy
  • Path planning
Details
  • Stressed crops found with the Excess Green index and adaptive median/MAD thresholds. No deep learning, no GPU.
  • Route by nearest neighbour + 2-opt; a guard checks the battery before every leg.
  • Offline self-test on synthetic fields: precision 1.00, recall 0.77; 56 of 57 checks pass, one edge case open.

Robot Solving Cube

Mar 2025

A cube-solving robot, built together with electrical-electronics students from EPHEC University in Belgium.

  • Robotics
  • Teamwork