parent
3955e990f9
commit
da756efc34
18 changed files with 164 additions and 7 deletions
@ -0,0 +1,6 @@ |
|||||||
|
from src.config.default import _CN as cfg |
||||||
|
|
||||||
|
cfg.LOFTR.COARSE.TEMP_BUG_FIX = False |
||||||
|
cfg.LOFTR.MATCH_COARSE.MATCH_TYPE = 'dual_softmax' |
||||||
|
|
||||||
|
cfg.TRAINER.MSLR_MILESTONES = [3, 6, 9, 12, 17, 20, 23, 26, 29] |
@ -0,0 +1,8 @@ |
|||||||
|
from src.config.default import _CN as cfg |
||||||
|
|
||||||
|
cfg.LOFTR.COARSE.TEMP_BUG_FIX = False |
||||||
|
cfg.LOFTR.MATCH_COARSE.MATCH_TYPE = 'dual_softmax' |
||||||
|
|
||||||
|
cfg.LOFTR.MATCH_COARSE.SPARSE_SPVS = False |
||||||
|
|
||||||
|
cfg.TRAINER.MSLR_MILESTONES = [3, 6, 9, 12, 17, 20, 23, 26, 29] |
@ -0,0 +1,6 @@ |
|||||||
|
from src.config.default import _CN as cfg |
||||||
|
|
||||||
|
cfg.LOFTR.COARSE.TEMP_BUG_FIX = False |
||||||
|
cfg.LOFTR.MATCH_COARSE.MATCH_TYPE = 'sinkhorn' |
||||||
|
|
||||||
|
cfg.TRAINER.MSLR_MILESTONES = [3, 6, 9, 12, 17, 20, 23, 26, 29] |
@ -0,0 +1,8 @@ |
|||||||
|
from src.config.default import _CN as cfg |
||||||
|
|
||||||
|
cfg.LOFTR.COARSE.TEMP_BUG_FIX = False |
||||||
|
cfg.LOFTR.MATCH_COARSE.MATCH_TYPE = 'sinkhorn' |
||||||
|
|
||||||
|
cfg.LOFTR.MATCH_COARSE.SPARSE_SPVS = False |
||||||
|
|
||||||
|
cfg.TRAINER.MSLR_MILESTONES = [3, 6, 9, 12, 17, 20, 23, 26, 29] |
@ -0,0 +1,18 @@ |
|||||||
|
""" A config only for reproducing the ScanNet evaluation results. |
||||||
|
|
||||||
|
We remove border matches by default, but the originally implemented |
||||||
|
`remove_border()` has a bug, leading to only two sides of |
||||||
|
all borders are actually removed. However, the [bug fix](https://github.com/zju3dv/LoFTR/commit/e9146c8144dea5f3cbdd98b225f3e147a171c216) |
||||||
|
makes the scannet evaluation results worse (auc@10=40.8 => 39.5), which should be |
||||||
|
caused by tiny result fluctuation of few image pairs. This config set `BORDER_RM` to 0 |
||||||
|
to be consistent with the results in our paper. |
||||||
|
|
||||||
|
Update: This config is for testing the re-trained model with the pos-enc bug fixed. |
||||||
|
""" |
||||||
|
|
||||||
|
from src.config.default import _CN as cfg |
||||||
|
|
||||||
|
cfg.LOFTR.COARSE.TEMP_BUG_FIX = True |
||||||
|
cfg.LOFTR.MATCH_COARSE.MATCH_TYPE = 'dual_softmax' |
||||||
|
|
||||||
|
cfg.LOFTR.MATCH_COARSE.BORDER_RM = 0 |
@ -0,0 +1,16 @@ |
|||||||
|
from src.config.default import _CN as cfg |
||||||
|
|
||||||
|
cfg.LOFTR.COARSE.TEMP_BUG_FIX = False |
||||||
|
cfg.LOFTR.MATCH_COARSE.MATCH_TYPE = 'dual_softmax' |
||||||
|
|
||||||
|
cfg.TRAINER.CANONICAL_LR = 8e-3 |
||||||
|
cfg.TRAINER.WARMUP_STEP = 1875 # 3 epochs |
||||||
|
cfg.TRAINER.WARMUP_RATIO = 0.1 |
||||||
|
cfg.TRAINER.MSLR_MILESTONES = [8, 12, 16, 20, 24] |
||||||
|
|
||||||
|
# pose estimation |
||||||
|
cfg.TRAINER.RANSAC_PIXEL_THR = 0.5 |
||||||
|
|
||||||
|
cfg.TRAINER.OPTIMIZER = "adamw" |
||||||
|
cfg.TRAINER.ADAMW_DECAY = 0.1 |
||||||
|
cfg.LOFTR.MATCH_COARSE.TRAIN_COARSE_PERCENT = 0.3 |
@ -0,0 +1,17 @@ |
|||||||
|
from src.config.default import _CN as cfg |
||||||
|
|
||||||
|
cfg.LOFTR.COARSE.TEMP_BUG_FIX = False |
||||||
|
cfg.LOFTR.MATCH_COARSE.MATCH_TYPE = 'dual_softmax' |
||||||
|
cfg.LOFTR.MATCH_COARSE.SPARSE_SPVS = False |
||||||
|
|
||||||
|
cfg.TRAINER.CANONICAL_LR = 8e-3 |
||||||
|
cfg.TRAINER.WARMUP_STEP = 1875 # 3 epochs |
||||||
|
cfg.TRAINER.WARMUP_RATIO = 0.1 |
||||||
|
cfg.TRAINER.MSLR_MILESTONES = [8, 12, 16, 20, 24] |
||||||
|
|
||||||
|
# pose estimation |
||||||
|
cfg.TRAINER.RANSAC_PIXEL_THR = 0.5 |
||||||
|
|
||||||
|
cfg.TRAINER.OPTIMIZER = "adamw" |
||||||
|
cfg.TRAINER.ADAMW_DECAY = 0.1 |
||||||
|
cfg.LOFTR.MATCH_COARSE.TRAIN_COARSE_PERCENT = 0.3 |
@ -0,0 +1,16 @@ |
|||||||
|
from src.config.default import _CN as cfg |
||||||
|
|
||||||
|
cfg.LOFTR.COARSE.TEMP_BUG_FIX = False |
||||||
|
cfg.LOFTR.MATCH_COARSE.MATCH_TYPE = 'sinkhorn' |
||||||
|
|
||||||
|
cfg.TRAINER.CANONICAL_LR = 8e-3 |
||||||
|
cfg.TRAINER.WARMUP_STEP = 1875 # 3 epochs |
||||||
|
cfg.TRAINER.WARMUP_RATIO = 0.1 |
||||||
|
cfg.TRAINER.MSLR_MILESTONES = [8, 12, 16, 20, 24] |
||||||
|
|
||||||
|
# pose estimation |
||||||
|
cfg.TRAINER.RANSAC_PIXEL_THR = 0.5 |
||||||
|
|
||||||
|
cfg.TRAINER.OPTIMIZER = "adamw" |
||||||
|
cfg.TRAINER.ADAMW_DECAY = 0.1 |
||||||
|
cfg.LOFTR.MATCH_COARSE.TRAIN_COARSE_PERCENT = 0.3 |
@ -0,0 +1,17 @@ |
|||||||
|
from src.config.default import _CN as cfg |
||||||
|
|
||||||
|
cfg.LOFTR.COARSE.TEMP_BUG_FIX = False |
||||||
|
cfg.LOFTR.MATCH_COARSE.MATCH_TYPE = 'sinkhorn' |
||||||
|
cfg.LOFTR.MATCH_COARSE.SPARSE_SPVS = False |
||||||
|
|
||||||
|
cfg.TRAINER.CANONICAL_LR = 8e-3 |
||||||
|
cfg.TRAINER.WARMUP_STEP = 1875 # 3 epochs |
||||||
|
cfg.TRAINER.WARMUP_RATIO = 0.1 |
||||||
|
cfg.TRAINER.MSLR_MILESTONES = [8, 12, 16, 20, 24] |
||||||
|
|
||||||
|
# pose estimation |
||||||
|
cfg.TRAINER.RANSAC_PIXEL_THR = 0.5 |
||||||
|
|
||||||
|
cfg.TRAINER.OPTIMIZER = "adamw" |
||||||
|
cfg.TRAINER.ADAMW_DECAY = 0.1 |
||||||
|
cfg.LOFTR.MATCH_COARSE.TRAIN_COARSE_PERCENT = 0.3 |
@ -0,0 +1,30 @@ |
|||||||
|
#!/bin/bash -l |
||||||
|
# a indoor_ds model with the pos_enc impl bug fixed. |
||||||
|
|
||||||
|
SCRIPTPATH=$(dirname $(readlink -f "$0")) |
||||||
|
PROJECT_DIR="${SCRIPTPATH}/../../" |
||||||
|
|
||||||
|
# conda activate loftr |
||||||
|
export PYTHONPATH=$PROJECT_DIR:$PYTHONPATH |
||||||
|
cd $PROJECT_DIR |
||||||
|
|
||||||
|
data_cfg_path="configs/data/scannet_test_1500.py" |
||||||
|
main_cfg_path="configs/loftr/indoor/scannet/loftr_ds_eval_new.py" |
||||||
|
ckpt_path="weights/indoor_ds_new.ckpt" |
||||||
|
dump_dir="dump/loftr_ds_indoor_new" |
||||||
|
profiler_name="inference" |
||||||
|
n_nodes=1 # mannually keep this the same with --nodes |
||||||
|
n_gpus_per_node=-1 |
||||||
|
torch_num_workers=4 |
||||||
|
batch_size=1 # per gpu |
||||||
|
|
||||||
|
python -u ./test.py \ |
||||||
|
${data_cfg_path} \ |
||||||
|
${main_cfg_path} \ |
||||||
|
--ckpt_path=${ckpt_path} \ |
||||||
|
--dump_dir=${dump_dir} \ |
||||||
|
--gpus=${n_gpus_per_node} --num_nodes=${n_nodes} --accelerator="ddp" \ |
||||||
|
--batch_size=${batch_size} --num_workers=${torch_num_workers}\ |
||||||
|
--profiler_name=${profiler_name} \ |
||||||
|
--benchmark |
||||||
|
|
Loading…
Reference in new issue