Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possibly incorrect evaluation script #10

Open
tijiang13 opened this issue Nov 22, 2020 · 0 comments
Open

Possibly incorrect evaluation script #10

tijiang13 opened this issue Nov 22, 2020 · 0 comments

Comments

@tijiang13
Copy link

tijiang13 commented 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:

// evaluate
std::map<int, Eigen::Matrix4Xf> shelfSkels;
for (const auto& 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 (const auto& matchPair : HungarianAlgorithm(hungarianMat)) {
	const auto shelfIter = std::next(shelfSkels.begin(), matchPair.second.x());
	const auto gtIter = std::next(gt[frameIdx].begin(), matchPair.second.y());
	const Eigen::VectorXi c = Evaluate(shelfIter->second, gtIter->second);
	const int 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.

@tijiang13 tijiang13 changed the title Incorrect evaluation script Possibly incorrect evaluation script Nov 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant