v0.17.0
This is a release with quite a few nice changes and improvements. Please read through the release notes carefully.
This release was in the devel
branch for a few months, and never actually left the devel branch. The MorphableModel
format version was increased to 3, from adding landmark_definitions
. Since there are quite a few model files with this version in circulation, it was deemed best to make it an "official" model version and release it as v0.17.0.
Major changes & improvements:
- Added (optional) landmark definitions to the MorphableModel class (8fcc2bf)
Models can now optionally store landmark/vertex definitions, for example mappings like"eye.right.outer_corner" <=> 177
from a generic name to vertex ids - and then a second mappings file can be used, that maps from 2D landmark identifiers (like the number37
from ibug) to these generic names ("eye.right.outer_corner"
). This separates the vertex definition from a particular set of 2D landmarks.
Alternatively, users can still use direct mappings, like in the fileibug_to_sfm.txt
, which map directly from 2D landmark identifiers to 3D vertex indices. - Added a getter to
MorphableModel
forlandmark_definitions
(e995b07) - Set the
vertex_idx
in the fitting depending on whether the model contains landmark definitions (f123e51) - Revamped the
Image
class to a better and more future-proof design (14b7f6f)
Note: The storage order is now row-major, as opposed to col-major before. In the future, we may add means to choose the storage order. - Added natvis file for Image Watch for
eos::core::Image
(be436f4)
Fixes:
- Fix
mpark::variant
compilation error on VS >=15.8; Updated pybind11 submodule to fix errors on VS 15.8 (a45a888, ecc6269)
Minor improvements, potentially breaking changes:
- Renamed
get_all_mappings()
toget_mappings()
(9e0f539) - Created new directory
eos/core/image/
and movedImage_opencv_interop.hpp
there (ad06db1) - Return
triangle_list
by const reference (a7ede7b) - Exposed a few more things to the Python bindings, particularly landmark-mappings related, and added some
__repr__
methods. - Removed the unused
initial_rendering_params
parameter from fit_shape_and_pose (ba46285)
Other minor changes/improvements:
- Exposed some parameters of the contour fitting to callers (54ade09, abb2dd7, 3929d0c)
- Improved
read_obj
a bit to handle a few more cases. Still, don't rely on it to parse every.obj
file, it's not meant to do that. Use your own orassimp
or something like that.
And as always, various small improvements to the code style and to the documentation.