Как оценить результаты в наборе данных одометрии KITTI
Я пытаюсь использовать открытый набор данных KITTI для проведения некоторых тестов по поводу одометрии зрения или одометрии INS зрения. Но я не могу понять коды, которые предоставляются KITTI Odometry.
Я скачал набор разработчика (я думаю, что он включает в себя некоторые коды на C++) для набора данных одометрии на веб-сайте KITTI. (Посетите http://www.cvlibs.net/datasets/kitti/eval_odometry.php)
Он служит эталоном для оценки других результатов по сравнению с основополагающими положениями истины, которые он предоставил. Я пытался построить коды с cmake
на Ubuntu 16.04 LTS, но, похоже, не работает.
В папке набора разработчика находятся четыре документа, которые matrix.h
, matrix.cpp
, evaluate_odometry.cpp
а также mail.h
, Я боюсь, что некоторые ученики могут отсутствовать в evaluate_odometry.cpp
файл. Это показано ниже:
int32_t main (int32_t argc,char *argv[]) {
// we need 2 or 4 arguments!
if (argc!=2 && argc!=4) {
cout << "Usage: ./eval_odometry result_sha [user_sha email]" << endl;
return 1;
}
// read arguments
string result_sha = argv[1];
// init notification mail
Mail *mail;
if (argc==4) mail = new Mail(argv[3]);
else mail = new Mail();
mail->msg("Thank you for participating in our evaluation!");
// run evaluation
bool success = eval(result_sha,mail);
if (argc==4)
mail->finalize(success,"odometry",result_sha,argv[2]);
else
mail->finalize(success,"odometry",result_sha);
// send mail and exit
delete mail;
return 0;
}
Ученик mail->finalize()
не может быть найден ни в одном из файлов, которые предоставляет комплект. Тем не менее, я искал вопрос в Интернете, но обычно он был связан с JAVA. Я не думаю, что это вопрос с JAVA.
Может быть, я что-то упустил в комплекте, и я проверю это. Может ли кто-нибудь помочь мне? Что я могу делать дальше?
Обновление: я снова загрузил комплект разработки KITTI Odometry с веб-сайта KITTI, чтобы убедиться, что он завершен. Тем не менее, все еще существует вопрос выше.
1 ответ
Вам нужно добавить (в mail.h):
void finalize (bool success,std::string benchmark,std::string result_sha="",std::string user_sha="")
{
if (success)
{
msg("Your evaluation results are available at:");
msg("http://www.cvlibs.net/datasets/kitti/user_submit_check_login.php?benchmark=%s&user=%s&result=%s",benchmark.c_str(),user_sha.c_str(), result_sha.c_str());
}
else
{
msg("An error occured while processing your results.");
msg("Please make sure that the data in your zip archive has the right format!");
}
}