ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Context and Geometry Aware Voxel Transformer for Semantic Scene Completion 리뷰 - (2) 데이터셋 리뷰
    카테고리 없음 2024. 12. 23. 17:30

    본 리뷰는 Context and Geometry Aware Voxel Transformer for Semantic Scene Completion 논문의 공식 깃허브인 https://github.com/pkqbajng/cgformer 를 참고하여 작성되었다.

     

    앞선 논문 리뷰에 이어서 코드에서 활용된 데이터셋에 대해 먼저 파악하고 리뷰해보고자 한다.

     

    여기서 사용된 대표 데이터는 SemanticKITTI로, KITTI Odometry Dataset을 기반으로 어노테이션이 추가된 데이터셋이다. 데이터셋 다운로드는 여기 https://www.cvlibs.net/datasets/kitti/eval_odometry.php 에서 할 수 있다. color, velodyne laser data, and calibration files를 모두 다운로드해준다. 아래 그림의 2번째, 3번째, 4번째 항목들이다. calib 파일의 경우 Tr이 존재해야 코드가 돌아가기 때문에 본래 데이터에 있는 calib들을 새로 다운 받은 calib으로 모두 교체해줘야 한다. 또한 velodyne 폴더를 각각 넣어주는 것을 잊지말도록 하자.

     

     

     

    그리고 https://www.semantic-kitti.org/dataset.html#download 에서 어노테이션을 다운로드해준다. 아래 이미지의 3번 항목이다. 또한 복셀 데이터도 다운로드해야 하므로 아래에서 700MB로 표기된 데이터를 다운로드해준다.

     

     

    폴더 구조는 아래와 같이 설정해준다.

    /semantickittii/
              |-- sequences/
              │       |-- 00/
              │       │   |-- poses.txt
              │       │   |-- calib.txt
              │       │   |-- image_2/
              │       │   |-- image_3/
              │       │   |-- velodyne/          
              │       |   |-- voxels/
              │       |         |- 000000.bin
              │       |         |- 000000.label
              │       |         |- 000000.occluded
              │       |         |- 000000.invalid
              │       |         |- 000005.bin
              │       |         |- 000005.label
              │       |         |- 000005.occluded
              │       |         |- 000005.invalid
              │       |-- 01/
              │       |-- 02/
              │       .
              │       |-- 21/
              |-- labels/
              │       |-- 00/
              │       │   |-- 000000_1_1.npy
              │       │   |-- 000000_1_2.npy
              │       │   |-- 000005_1_1.npy
              │       │   |-- 000005_1_2.npy
              │       |-- 01/
              │       .
              │       |-- 10/
              |-- lidarseg/
              |       |-- 00/
              |       │   |-- labels/
              |       |         ├ 000001.label
              |       |         ├ 000002.label
              |       |-- 01/
              |       |-- 02/
              |       .
              |       |-- 21/
              |-- depth/sequences/
              		  |-- 00/
              		  │   |-- 000000.npy
              		  |   |-- 000001.npy
              		  |-- 01/
                      |-- 02/
                      .
                      |-- 21/

     

     

    그 후, 아래의 sh 파일을 실행하여 preprocessing 과정을 거치게 된다.

     

    set -e
    exeFunc(){
        cd mobilestereonet
        baseline=$1
        num_seq=$2
        data_path=$3
        CUDA_VISIBLE_DEVICES=1 python prediction.py --datapath $data_path/sequences/$num_seq \
        --testlist ./filenames/$num_seq.txt --num_seq $num_seq --loadckpt ./MSNet3D_SF_DS_KITTI2015.ckpt --dataset kitti \
        --model MSNet3D --savepath $data_path/depth --baseline $baseline
        cd ..
    }
    
    data_path='data/semantickitti'
    for i in {00..02}
    do
        exeFunc 388.1823 $i $data_path
    done
    
    for i in {03..03}
    do
        exeFunc 389.6304 $i $data_path
    done
    
    for i in {04..12}
    do
        exeFunc 381.8293 $i $data_path
    done
    
    for i in {13..21}
    do
        exeFunc 388.1823 $i $data_path
    done

     

    해당 과정은 이미지의 depth를 뽑아내는 과정으로 depth map을 생성하고 어노테이션을 작성하는 과정이다.

Designed by Tistory.