Hi, sorry to bother you. I learned Semantic SLAM in recent months and now I'am doing some experiment basing on your code. After reading your paper and code, I have some confusions especially for the function Geometry::ExtractDynPoints(const vector<ORB_SLAM2::Frame> &vRefFrames,const ORB_SLAM2::Frame ¤tFrame) (in Dynaslam/src/Geometry.cc).
cv::Mat u1((2*mDmax+1)*(2*mDmax+1),2,CV_32F);
int m(0);
for (int i(-mDmax); i <= mDmax; i++){
for (int j(-mDmax); j <= mDmax; j++){
u1.at<float>(m,0) = i;
u1.at<float>(m,1) = j;
m++;
}
}
and what's the meaning of mDmax,such as in
if (matDepthDifference.at<float>(i,0) > mDepthThreshold)
{
int xIni = (int)matCurrentFrame.at<float>(i,0) - mDmax;
int yIni = (int)matCurrentFrame.at<float>(i,1) - mDmax;
int xEnd = (int)matCurrentFrame.at<float>(i,0) + mDmax + 1;
int yEnd = (int)matCurrentFrame.at<float>(i,1) + mDmax + 1;
......
}
How to set the threshold τz(in code, it's mDepthThreshold)? In paper, it's 0.4m and in code it's 0.6m
What's the use of mVarThreshold? Why only if (_stddev*_stddev)< mVarThreshold , can the keypoint be dynPoint?
I've statistics the spent time of GeometricModelCorrection part. In different data sequences, time-consuming varies greatly. In fr3_walking_rpy, it needs about 0.2s/frame while in fr3_walking_xyz, it needs 0.45+s/frame. Could you please give me some suggestions about what factors affect the GeometricModelCorrection part's spending time?
Hi, sorry to bother you. I learned Semantic SLAM in recent months and now I'am doing some experiment basing on your code. After reading your paper and code, I have some confusions especially for the function
Geometry::ExtractDynPoints(const vector<ORB_SLAM2::Frame> &vRefFrames,const ORB_SLAM2::Frame ¤tFrame)
(inDynaslam/src/Geometry.cc
).What's the meaning of variable
vMPw
What is the purpose of the judgment sentence
why the d should (d > 0 && d < 6)?
and why
matProjDepth.at<float>(0,i) < 7
How to set the value of
mDmax
?and what's the meaning of
mDmax
,such as inHow to set the threshold
τz
(in code, it'smDepthThreshold
)? In paper, it's 0.4m and in code it's 0.6mWhat's the use of
mVarThreshold
? Why only if(_stddev*_stddev)< mVarThreshold
, can the keypoint be dynPoint?I've statistics the spent time of
GeometricModelCorrection
part. In different data sequences, time-consuming varies greatly. In fr3_walking_rpy, it needs about 0.2s/frame while in fr3_walking_xyz, it needs 0.45+s/frame. Could you please give me some suggestions about what factors affect theGeometricModelCorrection
part's spending time?