qinzheng93/GeoTransformer

The inference output (estimated_transform) is related to gt_transform?

Closed this issue · 1 comments

Hi, qin zheng

It seems the inference output (estimated_transform) is related to input: gt_transform.
As i know, the gt_transform just for calculate lose(RRE, RTE), right? i'm so confuse, thank for your any reply.

when i run below cmd from https://github.com/qinzheng93/GeoTransformer?tab=readme-ov-file#testing-on-your-own-data:
CUDA_VISIBLE_DEVICES=0 python demo.py --src_file=../../data/demo/src.npy --ref_file=../../data/demo/ref.npy --gt_file=../../data/demo/gt.npy --weights=../../weights/geotransformer-3dmatch.pth.tar

the gt is load from gt_file:
gt transform: [[ 0.95587096 -0.15354693 0.25032179 0.4314653 ] [ 0.17460698 0.98251641 -0.06408779 0.00941346] [-0.23611899 0.10497365 0.96600421 0.29711348] [ 0. 0. 0. 1. ]]
the inference output estimated_transform:
[[ 0.96041775 0.02890578 0.27706015 0.46721074] [-0.07060495 0.98738337 0.14173505 -0.48177984] [-0.26946762 -0.15568656 0.9503414 0.10626769] [ 0. 0. 0. 1. ]]

and the result is ok (attachment pic):
Screenshot from 2024-05-14 19-09-53

But when i change the gt transform to:
transform = np.eye(4)

the result become very bad:
estimated_transform: [[ 0.33815324 -0.7605605 0.55425644 -1.1210275 ] [ 0.8776755 0.04233276 -0.477382 -0.19036686] [ 0.33961478 0.6478856 0.6818402 0.8180617 ] [ 0. 0. 0. 1. ]]
Screenshot from 2024-05-14 19-12-19

related issues: #100 #95 #93

After checking, the demo.py is run in training mode, need to switch to the eval mode by hand. Then finally get the correct estimated_transform on our dataset. thanks for qin zheng's awsome work.