Как оценить результаты в наборе данных одометрии 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!");
   }
}
Другие вопросы по тегам