X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=src%2FMultiTracker.cpp;h=bbfc6f3b4520dcfac5509c2eb27539227092ff0f;hb=81741fb5b3fe86bf29a130f367ea102e3aa99b0b;hp=547a1955f3a2b3cc8792179325227669a2094e54;hpb=be96459d3e098508417f07ed0e1952b6e05215c4;p=trackerpp.git diff --git a/src/MultiTracker.cpp b/src/MultiTracker.cpp index 547a195..bbfc6f3 100644 --- a/src/MultiTracker.cpp +++ b/src/MultiTracker.cpp @@ -11,16 +11,15 @@ using namespace std; 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}; } @@ -75,7 +74,7 @@ double MultiTracker::distance(TrackerPtr tracker, const cv::Mat& image, const De 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 @@ -94,7 +93,7 @@ void MultiTracker::update(unsigned int total, const Detection* detections, const 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);