Closed wuxiaolang closed 5 years ago
@wuxiaolang I think there is the transformations are correct. The problem is due to inaccurate cuboid detection. As I mentioned in the paper, on KITTI, our 3D detector is actually worse compared to deep networks. So a quick fix for you might be use other off-the-shell car detector as 3D object measurement. For me, actually c++ 3D cube detector is not feature complete compared to Matlab (no config3). so I actually use matlab to offline process it, save as txt, then read in orb_slam as measurement. Also need to tune some parameters and small tricks.
One small note for transformation: I modify the orb slam initialization function so that orb's slam is world frame is ground frame, not first camera poses. It will make life easier.
Hi shichaoy, thanks for your code, after a period of exploration, I have some questions to ask.
transToWorld_initial = [1 0 0 0; 0 0 1 0; 0 -1 0 1.7; 0 0 0 1]
, subsequent camera poses are taken astransToWorld = transToWorld_initial * (mCurrentFrame.mTcw)^(-1)
, wheremCurrentFrame.mTcw
is from ORB-SLAM2. In addition, when I draw the position of the object I usedetected_cube->pos
(andcube_ground_value.pose
) I want to know where the problem is?