NeuralEngine
A Game Engine with embeded Machine Learning algorithms based on Gaussian Processes.
FgBlendshapeSGPR.h
1
11#pragma once
12
13#include <MachineLearning/FgAEPSparseGPR.h>
14
15namespace NeuralEngine
16{
17 namespace MachineLearning
18 {
19 namespace GPModels
20 {
21 namespace AEP
22 {
34 template<typename Scalar>
35 class NE_IMPEXP BSGPR : public SGPR<Scalar>
36 {
37
38 public:
39
53 BSGPR(const af::array& Y, const af::array& X, std::vector<std::string> bsList, std::vector<std::string> controllerList,
54 int numInducing = 20, Scalar alpha = 1.0, LogLikType lType = LogLikType::Gaussian);
55
62
70 std::vector<std::string> GetBSList();
71
79 std::vector<std::string> GetControlList();
80
81
82 protected:
83
84
85 private:
86 std::vector<std::string> sBSNames;
87 std::vector<std::string> sContNames;
88
89 friend class boost::serialization::access;
90
91 template<class Archive>
92 void serialize(Archive& ar, unsigned int version)
93 {
94 ar& boost::serialization::base_object<SGPR<Scalar>>(*this);
95 //ar& boost::serialization::make_nvp("SGPR", boost::serialization::base_object<SGPR<Scalar>>(*this));
96 ar& BOOST_SERIALIZATION_NVP(sBSNames);
97 ar& BOOST_SERIALIZATION_NVP(sContNames);
98 }
99 };
100 }
101 }
102 }
103}
Blendshape Inference based on AEP_SGPR.
std::vector< std::string > GetControlList()
Gets the names of controler input list.
BSGPR(const af::array &Y, const af::array &X, std::vector< std::string > bsList, std::vector< std::string > controllerList, int numInducing=20, Scalar alpha=1.0, LogLikType lType=LogLikType::Gaussian)
Constructor.
std::vector< std::string > sBSNames
list of blendshape names
std::vector< std::string > GetBSList()
Gets the list of blendshape names.
std::vector< std::string > sContNames
list of contoler names
Sparse Gaussian process via Approximated Expectation Propagation (AEP).