- Mar 12, 2017
-
-
Patrik Huber authored
-
Patrik Huber authored
Mostly we're using the _nnls function for blendshape fitting, but just for completeness, this function is now changed to use only Eigen as well.
-
Patrik Huber authored
-
Patrik Huber authored
-
Patrik Huber authored
-
Patrik Huber authored
Convenience function so they can easily be multiplied with a blendshapes matrix.
-
Patrik Huber authored
-
- Mar 11, 2017
-
-
Patrik Huber authored
All matrix operations and solving the linear system is now done with Eigen matrices. We use colPivHouseholderQr for now to solve the linear system, which doesn't have any requirements on the matrix.
-
- Mar 07, 2017
-
-
Patrik Huber authored
When switching the shape and blendshape fitting to use the new Eigen models, these matrices weren't correctly mapped to cv::Mat. Eigen uses col-major storage order by default, and OpenCV row-major - so we now convert to a row-major Eigen matrix before mapping to a cv::Mat. This caused the fitting to produce faulty/meaningless results since the switch to Eigen. The output of the linear shape and blendshape fitting functions are now again identical before and after the switch to Eigen. (after 50 iterations, the result is marginally different, most likely because of small rounding differences.)
-
- Mar 06, 2017
-
-
Patrik Huber authored
* ImageCost throws on instantiation if the given model doesn't contain a colour model * Changed the default parameter of fit-model-ceres to sfm_shape_3448, which will need to be obtained * Additionally the app checks explicitly for has_color_model() and will exit if it hasn't got one.
-
Patrik Huber authored
This fixes a crash - it should obviously return a matrix, not a vector.
-
Patrik Huber authored
-
- Mar 05, 2017
-
-
Patrik Huber authored
This seems to be unused (uninstantiated) code, and only clang complains, but not MSVC & gcc.
-
Patrik Huber authored
This removes the last usage of OpenCV in PcaModel.
-
Patrik Huber authored
-
Patrik Huber authored
It's no longer necessary, since the RNG is no longer part of PcaModel.
-
Patrik Huber authored
-
Patrik Huber authored
-
Patrik Huber authored
This makes the intent clearer - it does not return the i-th basis vector (which one could easily assume, if not reading the function parameter name or documentation). Also added a note expressing this. It also leaves room for a future function that actually does return the i-th basis.
-
Patrik Huber authored
And compute the rescaled basis when loading a model.
-
Patrik Huber authored
Adjusted all files that use it (hopefully). This is a breaking change: If you're currently using the PcaModel constructor and giving it a PCA basis matrix, your code will (probably silently) break: The function now expects an orthonormal basis matrix, whereas before, it expected a rescaled basis matrix. However it makes more sense for the function to take an orthonormal basis matrix.
-
Patrik Huber authored
-
- Mar 04, 2017
-
-
Patrik Huber authored
-
Patrik Huber authored
This should clear up confusion and make the descriptions good and unambiguous. - orthonormal = the old "unnormalised" - rescaled = the old "normalised". Also changed PcaModel's getter for the basis accordingly, and updated the documentation.
-
- Mar 03, 2017
-
-
Patrik Huber authored
'did' was only really an external thing, so naming it "SFM" is more clear! Renamed all references to "ibug2did" to "ibug_to_sfm".
-
- Mar 02, 2017
-
-
John Mather authored
Added explicit casts to glm::vec3 from glm::vec4 as it was causing build errors with clang 3.9.1 on OS X. Changed assignment operation to initialization for ray_origin.
-
- Mar 01, 2017
-
-
Patrik Huber authored
Eigen only introduced rsqrt() in 3.3. Eventually, we'll switch back to rsqrt(), or even include Eigen directly under 3rdparty/.
-
- Feb 28, 2017
-
-
Patrik Huber authored
For some reason, not all changes got staged in the last commit. This is the full set of changes.
-
Patrik Huber authored
Actually, we still read into an OpenCV matrix - should change that in the future to directly read into an Eigen::Matrix.
-
Patrik Huber authored
This is a big step towards being not requiring OpenCV anymore as a dependency. All models will have to be converted and re-downloaded. * PcaModel: Removed the RNG from the class, and added a RNG parameter to the draw_sample method * PcaModel: Added a get_eigenvalues() accessor that returns all eigenvalues * MorphableModel: Changed CEREAL_CLASS_VERSION from 0 to 1 (and added a version check to the serialize method) * MorphableModel: Changed texture_coordinates from cv::Vec2f to array<double, 2> * Added binary Eigen::Matrix serialisation for cereal * Changed Blendshape to Eigen::Vector as well * Adjusted blendshape_fitting.hpp accordingly - and it now takes most parameters by const& * Adjusted fitting.hpp accordingly - now also takes most parameters by const& * Adjusted linear_shape_fitting.hpp: It's not totally converted, still using cv::Mat for the core algorithm
-
Patrik Huber authored
It hasn't had a method to return a Mesh in quite a while I think.
-
Patrik Huber authored
Hopefully this is not an issue anymore.
-
Patrik Huber authored
-
- Feb 19, 2017
-
-
Patrik Huber authored
-
- Feb 10, 2017
-
-
Patrik Huber authored
These are required for extract_texture in Matlab. Maybe the better strategy would be to add a constructor to RenderingParameters and not have all these setters.
-
- Jan 28, 2017
-
-
Patrik Huber authored
-
- Jan 07, 2017
-
-
Patrik Huber authored
-
- Jan 06, 2017
-
-
Patrik Huber authored
-
Patrik Huber authored
Replaced all instances of old Vertex class with Vertex<float>, so now there's only one vertex class.
-
Patrik Huber authored
Forgot to add in earlier commit - this should fix compile error. Also added cv:: in Rasterizer to fix second compile error
-