ShunChengWu / SceneGraphFusion

BSD 2-Clause "Simplified" License
160 stars 26 forks source link

请问怎么构建自己的数据加载器?只需要RGB-D + Pose输入 #7

Closed why-freedom closed 3 years ago

why-freedom commented 3 years ago

并且,设置use_render = false,程序运行报错

./exe_GraphSLAM --pth_in ../data/3RScan/754e884c-ea24-2175-8b34-cead19d4198d/sequence/ I0915 00:34:21.290 main.cc:main:155] Buliding data loader... detect data type: 3RScanI0915 00:34:21.462 main.cc:main:175] Building framework... I0915 00:34:21.469 main.cc:main:212] start processing frames... V0915 00:34:21.472 main.cc:main:215] process frame: 1 V0915 00:34:21.476 main.cc:main:215] process frame: 2 Segmentation fault (core dumped)

ShunChengWu commented 3 years ago

The code we provided only support using rendered view when you use the 3RScan input. It is easy to write your own data loader by inheriting DatasetLoader_base in https://github.com/ShunChengWu/SceneGraphFusion/blob/main/libDataLoader/include/dataLoader/dataset_loader.h

why-freedom commented 3 years ago

Thank you for your reply.

1、If I write my own data loader, can I choose not to use render? Just use RGBD+Pose directly and output the scene graph?

2、Why do I run ScanNet and not show labels like your video (open RELATIONSHIP), but only node pairs (open NEIGHBOR)?And I click “Save Graph”, it does not work,as:

{ "scene0000_00": { "edges": {

       },
   "kfs": {

       },
   "nodes": {

       }
   }

}

ShunChengWu commented 3 years ago

1: sure. renderer only supports ScanNet and 3RScan.

2: it seems like the prediction backend was not run correctly.

why-freedom commented 3 years ago

Thank you for your reply very much!

1、When I cmake -DBUILD_GRAPHPRED=ON -DBUILD_GUI=ON .., here is an error, but I run "./build.sh --config RelWithDebInfo --build_shared_lib --parallel" and Success:

-- Could NOT find OnnxRuntime (missing: OnnxRuntime_LIBRARY OnnxRuntime_INCLUDE_DIRS) CMake Warning at cmake/LinkOnnxRuntime.cmake:5 (MESSAGE): Trying to link onnxruntime but it was not found.

2、So When I make, this is:

/home/why/Documents/SceneGraph/SceneGraphFusion/libGraphSLAM/graphPredictor/OnnxModelBase.h:8:10: fatal error: onnxruntime_cxx_api.h: No such file or directory

include

      ^~~~~~~~~~~~~~~~~~~~~~~

Noted: My onnxRuntime and SceneGraphFusion are in the same directory:

. ├── onnxruntime └── SceneGraphFusion

jkabalar commented 3 years ago

Hello, I can confirm it works following this steps:

git clone --recursive https://github.com/microsoft/onnxruntime/tree/v1.8.2
cd onnxruntime
./build.sh --config RelWithDebInfo --build_shared_lib --parallel
cd build/Linux/RelWithDebInfo
sudo make install

Can you try whether that works for you?

why-freedom commented 3 years ago

Hello, I can confirm it works following this steps:

git clone --recursive https://github.com/microsoft/onnxruntime/tree/v1.8.2
cd onnxruntime
./build.sh --config RelWithDebInfo --build_shared_lib --parallel
cd build/Linux/RelWithDebInfo
sudo make install

Can you try whether that works for you?

That works, Thank you very much!

ShunChengWu commented 3 years ago

close cuz solved

Bovey0809 commented 2 years ago

Thank you for your reply.

1、If I write my own data loader, can I choose not to use render? Just use RGBD+Pose directly and output the scene graph?

2、Why do I run ScanNet and not show labels like your video (open RELATIONSHIP), but only node pairs (open NEIGHBOR)?And I click “Save Graph”, it does not work,as:

{ "scene0000_00": { "edges": {

       },
   "kfs": {

       },
   "nodes": {

       }
   }

}

Could you please provide the code for your new dataloader, I'm struggling to modify the code for the same usage. input: rgbd+pose, instead of rgbd+pose+render

BIT-TYJ commented 2 years ago

Thank you for your reply.

1、If I write my own data loader, can I choose not to use render? Just use RGBD+Pose directly and output the scene graph?

2、Why do I run ScanNet and not show labels like your video (open RELATIONSHIP), but only node pairs (open NEIGHBOR)?And I click “Save Graph”, it does not work,as:

{ "scene0000_00": { "edges": {

       },
   "kfs": {

       },
   "nodes": {

       }
   }

}

Could you please provide the code for your new dataloader, I'm struggling to modify the code for the same usage. input: rgbd+pose, instead of rgbd+pose+render

Hello, could you please provide the code for your new dataloader? I want to run on custom images. Thank you very much!