Eos-py

Latest version: v1.4.0.post0

Safety actively analyzes 630360 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 6

0.16.0

This is a major release, bringing full support for expression PCA models. `MorphableModel`s can now either contain no expression model, a set of blendshapes, or a PCA expression model.
The `fit_shape_and_pose` supports both as well, and calls either the `_linear` or `_nnls` solver, depending on whether a model contains blendshapes or an expression PCA model.

The main changes that go along with that:
* Updated the `MorphableModel` file format to version to `2` to include an optional expression model. Version `1` models can still be read.
* Added a flag `ExpressionModelType` to `MorphableModel` to easily query the type of the expression model.

**Note:** The behaviour of `MorphableModel::get_mean()` has been changed: It now returns the overall shape **and** expression mean. (see 188)

Other small additions:
* Updated the BFM2017 converter script to convert and save the expression PCA model too.
* Added a fitting function for fixed, given correspondences, that runs the fitting loop without contour fitting. (see [here](https://github.com/patrikhuber/eos/blob/v0.16.0/include/eos/fitting/fitting.hpp#L606))
* The [online doxygen documentation](http://patrikhuber.github.io/eos/doc/) has been updated to v0.16.0.

As always, when updating from the GitHub repository, make sure to run `git submodule update --init --recursive`.

The binary files are provided for convenience only - it is recommended to build the examples from source, and use the library by cloning the GitHub repository.

Windows binaries are compiled with Windows 10 64bit, Visual Studio 2017. A .whl with python bindings for python 3.6 is available on [PyPI](https://pypi.org/project/eos-py/).
Linux binaries are compiled with Linux Mint 18.3, based on Ubuntu 16.04, gcc-7. Make sure to [follow the instructions](https://github.com/patrikhuber/eos#python-bindings) for how to use `gcc-7` with `pip` if using the Python bindings on Linux.

0.15.1

This release improves a few crucial things over the last release.

Support for pre-C++17 compilers should be a lot better again - eos compiles again in C++14 mode on VS 2017, and, although not officially tested in CI, likely also compiles again with the likes of `g++-5`:
* eos now seemlessly uses `akrzemi1::optional` on all pre-C++17 compilers, not only on Apple platforms.
* Serialisation for `optional` also works correctly on all platforms (pre-C++17 and C++17 compilers); and updated cereal to the latest `develop` branch commit.
* `optional` now also works within the python bindings for pre-C++17 and C++17 compilers.
* Added `eos::cpp17::clamp`, which uses `std::clamp` on C++17 compilers, or a fallback otherwise.

Matlab bindings:
* Updated the `eos-matlab-fitting` bindings! They now work again in the latest version to use the fitting from Matlab.
* Disabled the `eos-matlab-render` bindings for now, as they would be more work to update. Having the `fitting` bindings back should suffice for most use cases.

Other small things:
* A few small improvements to the main CMakeLists.txt (86fbfa17cf73892196ac6f95b48ba2b67b8f66a6).
* Fixed a missing inline, missing include, added a few `const`s, a couple documentation updates.

0.15.0

eos is now fully working on Apple Xcode again and CI-tested with Xcode 9.2.

Main changes:

* Use of `eos::cpp17::optional` throughout the code base, to support platforms that do not have `<optional>` yet (currently only macOS - `ifdef __APPLE__`). It is a namespace alias, and will be resolved to `std::optional` on compilers that have `<optional>`.
* [akrzemi1/Optional](https://github.com/akrzemi1/Optional) is directly integrated into eos and used on macOS
* Added official `eigen-git-mirror` as submodule at tag 3.3.4, instead of the patrikhuber/eigen fork
* Updated `Keyframe`-related code to work again with the latest eos version
* Minor other improvements and updates (see https://github.com/patrikhuber/eos/compare/v0.14.0...v0.15.0 for all the details)

0.14.0

This is an update release with various small improvements throughout and two highlights:
One major highlight is proper (and tested) support for the BFM2009 (and partially the BFM2017).
Another highlight is that the `multi_image_fit_devel` branch is finally merged into master, and multi-frame fitting is thus now available in the main version.

The changes include, alongside other minor changes:

* Merged multi-frame fitting from `multi_image_fit_devel` branch. Thank you very much PhilippKopp for the contribution!
* Added new (and correct) script to convert the BFM2009
* Added script to convert the BFM2017
* Updated syntax of the ibug_to_bfm*.txt files to TOML
* Add Python and Matlab scripts to generate edge-topology files
* Updated wiki with all BFM info & files ([link](https://github.com/patrikhuber/eos/wiki#using-the-library-with-the-basel-face-model-bfm))
* Clamping the colours to [0, 1] in `sample_to_mesh`
* Check `find_if` result for `std::end` in `get_nearest_contour_correspondences` to avoid continuing in Release builds without any error message
* Added lots of `const` qualifiers where possible
* Ran clang-format on the whole codebase
* Added some minor useful things to the Python bindings (e.g. default c'tors for `Mesh` and `Blendshape`)
* Updated Ceres code and example to work with the recent eos changes

0.13.0

This release contains some major changes, mainly to the software-side of the library, and not to the algorithms.

* The library is now completely free of external dependencies, it does not depend on Boost and OpenCV anymore. All dependencies are header-only and included as submodules.
* The minimum required compilers are gcc-7, clang-5 and VS2017 Update 3.
* Changed the configuration file format from the custom boost::property_tree format to TOML. This mainly affects [share/ibug_to_sfm.txt](https://github.com/patrikhuber/eos/blob/master/share/ibug_to_sfm.txt).

All in all, these changes make using the library much easier, and they should especially enable installation of the python bindings via `pip install eos-py` on any system, given >=cmake-3.8.2 and a recent compiler.

The changes, alongside other minor changes, include:

* Replacing all OpenCV vector types with `Eigen::Vector`
* Replacing glm types in the Python bindings with Eigen types
* Changed the pose fitting from OpenCV to Eigen - this could potentially be a bit of a speed-up
* Added own Image class (very basic, just covering the barebones needed to replace cv::Mat and to represent images). There is a converter function to and from `cv::Mat` ([eos/core/Image_opencv_interop.hpp](https://github.com/patrikhuber/eos/blob/master/include/eos/core/Image_opencv_interop.hpp)))
* Added functions to load and save PCA models (6c31092)
* Added ibug to BFM landmark mappings (5dbff1e)
* Updated all submodules to their newest versions
* Many more small fixes and improvements (documentation fixes, added 'const' in many places, etc.)

0.12.2

This is a minor release, mainly adding functionality to build PCA models ([`include/eos/pca/pca.hpp`](https://github.com/patrikhuber/eos/blob/master/include/eos/pca/pca.hpp)).

**This will be the last version that supports gcc-5, clang-3.x, and VS2015. The next release will require >=gcc-7, >=clang-5 and >=VS2017U3.**

Other minor changes:

* Fix for texture mapping into destination image https://github.com/patrikhuber/eos/commit/6875e08b6678046e9c04fc5860383f39d22edd4f
* Fixed some missing inlines, added lots of `const`, improved documentation, updates of submodules
* gcc-4.9 support removed

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.