static const std::string TAG = "MultiTracker";
static const cv::Size PREFERRED_SIZE = Size(64, 128);
-
static const double MaxCost = 100000;
-static const int MaxPatch = 5;
static const double ProbThreshold = 0.05;
MultiTracker::MultiTracker(EngineWPtr e)
: engine(e)
{
LOG_DEBUG(TAG, "init - loading model.pkl");
- predictor = PredictorWrapper::create("./python", "./python/model.pkl");
+ predictor = PredictorWrapperPtr(new PredictorWrapper());
+ predictor->load("./resources/model.pkl");
predictor->dump();
this->descriptor = {Size(64, 128), Size(16, 16), Size(8, 8), Size(8, 8), 9};
}
ss = similarity(i, patch);
features.insert(features.end(), ss.begin(), ss.end());
}
- double prob = predictor->predict(MaxPatch - 1, features); // TODO ???
+ double prob = predictor->predict(Tracker::MaxPatch - 1, features); // TODO why is MaxPatch-1
if (prob > ProbThreshold)
return -log(prob);
else
t->predict();
}
- // match the trackers with the detections
+ // match the trackers with the detections using linear sum assignment (hungarian)
int row = trackers.size();
int col = total;
Eigen::MatrixXi cost_matrix = Eigen::MatrixXi::Zero(row, col);