0

如上所述,我想知道是否有办法访问 Ceres 用作成本函数内的参数的双值?

struct CostFunctor {

CostFunctor() {};

template <typename T>
bool operator()(const T* parameters, T* residual) const {
    // supposed parameters was an array 'double parameters[]' 
    std::cout << typeid(parametes[0]).name() << std::endl;
    //then parameters[0] is of type struct ceres::Jet<double,1>
   
    // now I want something like:
    double temp = parameters[0].a;
    // ... 
    return true;
}

我真的需要一种方法让 Ceres 与 Jacobian 一起使用在成本函数中使用 double 值,所以如果没有简单的方法,我将非常感谢每一个创造性的解决方法。

谢谢你,祝你有美好的一天!

4

1 回答 1

1

做这样的事情通常是一个非常糟糕的主意。因为您正在破坏如何计算导数的逻辑。如果您更多地说明您正在尝试做的事情,那么可以建议一个更好的答案。

于 2021-07-18T04:49:31.903 回答