我正在尝试使用KITTI open数据集来做一些关于视觉里程或视觉INS里程的测试。但是我不能理解KITTI里程计提供的代码。
我已经在KITTI网站上下载了里程计数据集的开发工具包(我想它包含了一些C++代码)。(请访问http://www.cvlibs.net/datasets/kitti/eval_odometry.php)
它提供了基准来评估其他结果,与它提供的基本事实姿势相比较。我曾尝试在Ubuntu16.04LTS上用cmake
构建代码,但似乎不起作用。
开发工具包文件夹中有四个文档,分别是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网站下载了KITTI Odometry开发工具包,以确保它是完整的。然而,它仍然存在上述问题。
发布于 2019-07-25 02:46:11
您需要添加(在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!");
}
}
https://stackoverflow.com/questions/57036291
复制相似问题