Kintinuous icon indicating copy to clipboard operation
Kintinuous copied to clipboard

Reconstructed model not in a plane

Open SunshineDou opened this issue 7 years ago • 6 comments

Hello, I have collected the dataset of a room by Realsense D435 and I converted it into klg file, then ran it in Kintinuous. the problem is that the reconstructed model of the room's left and right are not in a plane. the right part of the room is higher than the left. What's the problem? Thank you very much!

SunshineDou avatar Jan 05 '19 10:01 SunshineDou

Hey, do you have a screengrab or something that'll help understand this issue better?

I'm quite sure this has to do with the scanning trajectory itself, but to be doubly sure, the screengrab helps.

krrish94 avatar Jan 05 '19 17:01 krrish94

@krrish94 Thank you very much for your replying and helping, the screengrab is as follows: 2019-01-14 10-10-07

2019-01-14 10-11-21

As you can see they are not not in a plane, the left of the room is lower than the right of the room, What's the matter? and the other question is that the loop detection is very bad, how can I improve it? Thanks again for your help

SunshineDou avatar Jan 14 '19 02:01 SunshineDou

Yeah, the problem seems to lie with loop detection. I feel loops aren't being detected, and hence, online deformation is not kicking in. One way to try and get loops detected is to build a DBoW2 vocabulary on scenes similar to the one you currently have. And, sometimes, a slower scanning trajectory helps.

(This isn't a legit code issue though, hence this could be closed, but happy to keep answering any questions you might have.)

krrish94 avatar Jan 14 '19 02:01 krrish94

@krrish94 Thank you very much for your help. but I have no idea what's the "build a DBoW2 vocabulary on scenes similar to the one you currently have" mean? is that mean I should use DBOW2 but not DBOW1? coud you please give me a more detailed explanation? Thank you very much sincerely

SunshineDou avatar Jan 14 '19 03:01 SunshineDou

So the way loop detection works is DBoW2 (discrete bag-of-words version 2) looks at a large dataset comprising scenes and constructs a 'visual vocabulary' that helps it solve the place recognition problem. But, as you might have guessed, this vocabulary is no good if the scene you're testing on is very different from the scenes you learnt the vocabulary over. The default vocabulary that ships with this code is good for a lot of environments, but probably not the one you're testing on. So, I was recommending you construct a vocabulary using DBoW2 (see https://github.com/dorian3d/DBoW2/blob/master/demo/demo.cpp#L102-L138 ).

krrish94 avatar Jan 14 '19 03:01 krrish94

@krrish94 ok,I have got it, Thank you very much. I will give it a try. Thanks again for your help sincerely

SunshineDou avatar Jan 14 '19 04:01 SunshineDou