Skip to content

Latest commit

 

History

History
executable file
·
140 lines (120 loc) · 4.24 KB

README.md

File metadata and controls

executable file
·
140 lines (120 loc) · 4.24 KB

SejongRCV-Outdoor

NAVER LABS Mapping & Localization Challenge

image

How to run

NetVLAD에 공개된 피츠버그 데이터셋으로 학습한 Checkpoint를 사용하므로 추가적인 NetVLAD 학습 코드를 제공하지 않습니다.

test

OMP_NUM_THREADS=1 CUDA_VISIBLE_DEVICES=(GPU_NUM) python test.py --checkpoint (checkpoint_path) --place [pangyo/yeouido] --top_k 10 --DB_ROOT (DB_ROOT)

Library

PyTorch >= 1.0
torchvision >= 0.5.0
OpenCV >= 3.4
SciPy >= 1.4.1
Matplotlib >= 3.1
scikit-learn >= 0.20.1
pyquaternion >= 0.9.2
NumPy >= 1.18

Config.json

NetVLAD, SuperGlue를 설정할 수 있으며, 추가로 APGeM이 앙상블된 모델도 옵션으로 수정 가능합니다.
(챌린지에서는 NetVLAD와 SueprGlue만 사용한 결과입니다.)

{   
    "SuperGlue":
    {
        
        "config":
        {   
            "superpoint":
            {   
                "nms_radius": 3,
                "keypoint_threshold": 0.005,
                "max_keypoints": 2048
            },
            
            "superglue":
            {   
                "weights": "outdoor",
                "sinkhorn_iterations": 20,
                "match_threshold": 0.2
            }
        }
    },
    
    "NetVLAD" :
    {   
        "cacheRefreshRate" : 100,
        "cacheBatchSize" : 20,
        "batchSize" : 8,
        "workers" : 8,
        
        "resume" : "", 
        "num_clusters" : 64,
        "optima_str" : "SGD",
        
        "encoder_dim" : 512,
        
        "evalEvery" : 10,
        "seed" : 9,
        "lr" : 0.0001,
        "momentum" : 0.9,
        "weightDecay" : 0.001 ,
        "lrStep" : 5,
        "lrGamma" : 0.5,
        "start_epoch" : 0,
        "nEpochs" : 30,
        "margin" : 0.1
    }
 

}

Data Tree

+-- data
|   +-- pangyo_pose_total.npy  pangyo_position_total.npy  yeouido_pose_total.npy  yeouido_position_total.npy
|   +-- naver
|       +-- submit_json.json
|       +-- pangyo_images_list_total.txt yeouido_images_list_total.txt
|       +-- centriods
|           +-- Total_pangyo_DB_cache.hdf5
|           +-- Total_pangyo_knn_pickle
|           +-- Total_yeouido_DB_cache.hdf5
|           +-- Total_yeouido_knn_pickle
|       +-- yeouido
|           +-- train
|               +-- images
|                   +-- left
|                       +-- 000000.png
|                       +-- ...
|                   +-- right
|                       +-- 000000.png
|                       +-- ...
|                   +-- poses.txt
|                   +-- timestamps.txt
|               +-- lidars
|           +-- test
|               +-- yeouido00
|                   +-- 00_L.png
|                   +-- 00_R.png
|                   +-- ...
|               +-- yeouido**
|       +-- pangyo
|           +-- train
|               +-- images
|                   +-- left
|                       +-- 000000.png
|                       +-- ...
|                   +-- right
|                       +-- 000000.png
|                       +-- ...
|                   +-- poses.txt
|                   +-- timestamps.txt
|               +-- lidars
|           +-- test
|               +-- pangyo00
|                   +-- 000_L.png
|                   +-- 000_R.png
|                   +-- ...
|               +-- pangyo**

Reference

NAVER LABS DATA
Preprocessing
NetVLAD
SuperGlue