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" <=> 177from a generic name to vertex ids - and then a second mappings file can be used, that maps from 2D landmark identifiers (like the number37from 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
MorphableModelforlandmark_definitions(e995b07) - Set the
vertex_idxin the fitting depending on whether the model contains landmark definitions (f123e51) - Revamped the
Imageclass 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::variantcompilation 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.hppthere (ad06db1) - Return
triangle_listby 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_paramsparameter from fit_shape_and_pose (ba46285)
Other minor changes/improvements:
- Exposed some parameters of the contour fitting to callers (54ade09, abb2dd7, 3929d0c)
- Improved
read_obja bit to handle a few more cases. Still, don't rely on it to parse every.objfile, it's not meant to do that. Use your own orassimpor something like that.
And as always, various small improvements to the code style and to the documentation.