All projects

Science, computer vision

ASTRA

  • Research project

A local research app for comparing two public satellite images and mapping building-change candidates.

Code on GitHub: hyh4867/astra ↗

NAIP before-and-after images, TinyCD probability view, and candidate overlay; the demonstration has no ground truth.
Qualitative public-domain NAIP side demo · no ground truth · not a performance score.

The question

How well does a pretrained change detector perform on a held-out benchmark, and what happens when its paired inputs are shifted, blurred, or reversed?

What I built

I built an image-pair workflow that compares fixed OpenCV baselines with pretrained TinyCD, then presents candidate masks, object summaries, area estimates, and benchmark diagnostics.

The app handles paired inputs and tiled predictions. Its local NAIP example is a qualitative side demonstration, separate from benchmark scoring.

Evaluation

The headline comparison uses the held-out LEVIR-CD test set of 128 image pairs. The reported Original TinyCD scores are precision 0.9266, recall 0.8953, F1 0.9107, and IoU 0.8360.

Robustness checks use a fixed 32-pair subset. The 5-pixel shift result and blur tests are specific to those stated conditions.

Key findings

On the held-out test, Original TinyCD reached F1 0.9107 and object skill 0.953. OpenCV basic and improved baselines reached F1 0.1306 and 0.1003.

A 5-pixel input shift reduced Original TinyCD F1 from 0.9211 on the control subset to 0.7229 on the same 32-pair robustness subset.

The used pretrained TinyCD model has 285,128 parameters. That is the model's parameter count, not a count of parameters trained for ASTRA.

My role and the agent workflow

I set the evaluation questions, selected the comparisons, integrated the app workflow, and reviewed the evidence before presenting a result.

I use Claude and Codex for focused research and implementation tasks. I review agent output and keep responsibility for which claims make it into the project.

Limits

Benchmark scores describe the stated LEVIR-CD test and do not establish performance beyond it. The model is appearance-oriented; disappearance detection is not validated.

Robustness results are limited to the stated benchmark and its fixed perturbation subset. They do not establish performance on other sensors or validate disappearance detection.

The NAIP figure on this page is a qualitative public-domain side demonstration with no ground-truth labels. It is not a scored evaluation.

The 7.48 false-alarm objects/km² value uses Original TinyCD on LEVIR with a ≥5 m² object floor. It is a benchmark yardstick discussed alongside the NAIP object counts, not a NAIP false-alarm measurement.

Evidence and reproducibility

The code is public; its 12 automated tests pass once TinyCD is installed, and 11 run without that download. The README records the held-out split, evaluation protocol, baseline results and limitations. TinyCD's own code and checkpoint are for non-commercial research use, so the repository downloads them from the authors instead of including them.

The public figure is from USDA NAIP imagery. No LEVIR imagery or LEVIR-derived visual is included on this page.

Back to all projects