You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, while this shouldn't be a thing for Shelf dataset, I think it's a good thing to point out that your evaluation script will possibly overestimate the score under certain circumstances.
Here is the part of your evaluation script:
// evaluate
std::map<int, Eigen::Matrix4Xf> shelfSkels;
for (constauto& skel : skelUpdater.GetSkel3d())
shelfSkels.insert(std::make_pair(-skel.first, MappingToShelf(skel.second)));
Eigen::MatrixXf hungarianMat(shelfSkels.size(), gt[frameIdx].size());
for (int i = 0; i < shelfSkels.size(); i++)
for (int j = 0; j < gt[frameIdx].size(); j++)
hungarianMat(i, j) = (std::next(shelfSkels.begin(), i)->second -
std::next(gt[frameIdx].begin(), j)->second).topRows(3).colwise().norm().sum();
for (constauto& matchPair : HungarianAlgorithm(hungarianMat)) {
constauto shelfIter = std::next(shelfSkels.begin(), matchPair.second.x());
constauto gtIter = std::next(gt[frameIdx].begin(), matchPair.second.y());
const Eigen::VectorXi c = Evaluate(shelfIter->second, gtIter->second);
constint identity = gtIter->first;
auto iter = correctJCnt.find(identity);
if (iter == correctJCnt.end())
iter = correctJCnt.insert(std::make_pair(identity, std::vector<Eigen::VectorXi>())).first;
iter->second.emplace_back(c);
}
Notice the cases where gt[frameIdx].size() > shelfSkels.size() (e.g. when your method fails to detect certain person in the frame), it will assume that person doesn't appear in that frame, which will lead to overestimation of final score.
The text was updated successfully, but these errors were encountered:
tijiang13
changed the title
Incorrect evaluation script
Possibly incorrect evaluation script
Nov 22, 2020
Hi, while this shouldn't be a thing for Shelf dataset, I think it's a good thing to point out that your evaluation script will possibly overestimate the score under certain circumstances.
Here is the part of your evaluation script:
Notice the cases where
gt[frameIdx].size() > shelfSkels.size()
(e.g. when your method fails to detect certain person in the frame), it will assume that person doesn't appear in that frame, which will lead to overestimation of final score.The text was updated successfully, but these errors were encountered: