-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Squashed changes from private branch:
* Update readme * Docu of recent changes * Implement more sensible translation distribution for augmentation * Add the alignment for Biwi from the SRHP/OPAL paper * Add BIWI Benchmark * Fix labels in evaluate_stability plots * Fix non_blocking data transfers. * Stabilize NLL loss by mixing in a uniform probability density * Remove rotation laplace distribution * Change lower bound for variance output * Fix warning from loading weights with torch.load * Comment awefull train update func and fix type annotations * Try post train quantization. Optional added to exporter. * Parameterize variance like earlier and remove BN (OpenTrack release v0.2) * Rename the variance heads (actual scales heads) * New training schedules: Exponential LR rampup; NLL rampup; train variance parameters slower; * Always include the shape plausibility loss * Implement shape plausibility loss without torch gmm package * Tests for support of negative log likelihood losses * Improve grouping of losses and visualization of losses * Save models in a more self-describing format for not having to know how to construct it prior to loading * Bring back the learnable pose offset in local head coordinates * Vastly simplify the ONNX compute graph! * Rewrote image geometric transforms: - Torch implementation for differentiability and GPU execution (currently not used) - OpenCV implementation for speed on cpu * Evaluation script fixes
- Loading branch information
Showing
47 changed files
with
1,925 additions
and
1,048 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Recent Changes | ||
|
||
## Post Train Quantization | ||
* Added to onnx export. | ||
* Minimal accuracy loss for ResNet18 model. MobileNet variant becomes too noisy and is probably unusable. | ||
* Inference time reduced to ca. 60% of float32 original. | ||
|
||
## Variance Parameterization | ||
* Back to earlier implementation: | ||
- Use "smoothclip" func to force diagonals of covariance factors positive. | ||
- Overparameterize with scale factor that is applied to all covariances. | ||
* Remove BN | ||
|
||
## Training | ||
* Exponential LR warmup | ||
* Train variance parameters 10x slower | ||
* First train without NLL losses. After LR warmup, ramp up the weight of NLL losses. | ||
* Add the "shape plausibility loss" back in. It's based on a GMM probability density for the face shape parameters. | ||
* The warmup changes helped to get: | ||
- Decent performance without BN in the variance heads | ||
- Smoother loss curves than before | ||
|
||
Curve of rotation loss at time of publication: | ||
|
||
![Curve of rotation loss at time of publication](traincurve-paper.jpg) | ||
|
||
Now: | ||
|
||
![Curve of rotation loss at time of publication](traincurve-now.jpg) | ||
|
||
|
||
## Model | ||
* Add back learnable local pose offsets (Looks like it doesn't help) | ||
* Simplify ONNX graph | ||
* Store model config in checkpoint. Allows loading without having to know the config in advance. | ||
|
||
## Evaluation | ||
* Add evaluation of 2d NME for 68 landmark AFLW2000-3D benchmark. | ||
* |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.