Hi Yanming,
In some hand-held Kinect experiments, I've found that solvePnPRansac() of OpenCV2 was working better (less noise) than the one of OpenCV3. I
copied the cv::solvePnPRansac() code from OpenCV2 in RTAB-Map (used
here when OpenCV3 is detected).
However, in some recent experiments with another sensor configuration (stereo), the implementation of OpenCV3 is more stable. So in the next RTAB-Map version (0.11), we will be able to choose between OpenCV2 and OpenCV3 implementations of cv::solvePnPRansac(), when RTAB-Map is built against OpenCV3.
cheers,
Mathieu