Development¶
This page tracks current limitations, implementation status, and roadmap items.
Known Issues¶
- Outputs can still look somewhat speckled/noisy.
- Patches with large land coverage can degrade generation quality across the full patch.
Potential mitigation directions already identified:
- tune DDIM step counts for each checkpoint/runtime budget
- structure-aware or frequency-aware losses
- parameterization/schedule tuning
Implementation Status Notes¶
mask_loss_with_valid_pixels: implemented and workingcoord_conditioning: implemented and tested- lightweight dataset + datamodule path: implemented and working
x0parameterization: implemented and working well in current experiments- combined date + coordinate embedding: implemented, now exercised in EO config
- DDIM sampling: implemented and working; 50 steps is the current practical minimum for acceptable qualitative results
Repository Layout¶
- installable package code lives under
src/depth_recon/ - bundled configs live under
src/depth_recon/configs/ - local launcher scripts live under
src/depth_recon/scripts/ - root-level
train.pyandtrain_autoencoder.pyremain direct local entry points - package-local experiment scripts live under
src/depth_recon/experiments/ - package modules should be imported through the
depth_recon.*namespace - generated runtime outputs default to root-level
inference/outputs/; historical moved outputs undersrc/depth_recon/inference/outputs/are also ignored and excluded from package builds
ToDos¶
- [ ] Increase U-Net capacity (for example
dim: 64 -> 96/128, deeperdim_mults) - [ ] Add frequency-aware objectives (for example gradient/PSD losses) to reduce speckle noise
- [ ] Validate and tune EMA weights in full training runs
Done¶
- [x] Encode timestamps together with coordinate embedding
- [x] Add and test
x0parameterization path - [x] Establish geographically consistent window split tooling
- [x] Implement known-pixel clamping mechanism for sampling
- [x] Validate DDIM sampling path for inference/validation
- [x] Use larger corruption patches instead of isolated single pixels
- [x] Add dataset-to-disk export pipeline
- [x] Implement masked loss support for land/validity handling
- [x] Maintain dependency list in repository
Roadmap¶
Tier 1¶
- [x] Aux priors via patch-level FiLM conditioning from coordinates (and optional date)
- [x] Increase sparse-input stress test to
mask_fraction=0.975as a standard comparison setting - [x] Implement trajectory-style corruption ("walk" masks) to better simulate submarine-like movement across each patch
- [x] Simulate EO observation + sparse in-situ measurement setup more systematically: trajectory & OSTIA dataset
- [ ] Evaluate lower-resolution setups aligned with expected sparse in-situ measurement density
Tier 2¶
- [ ] Evaluate additional Copernicus Marine products (for example ARMOR3D)
- [x] Improve mask handling design in conditional inputs