Skip to content

Add Essential Matrix Optimization #2523

Add Essential Matrix Optimization

Add Essential Matrix Optimization #2523

Workflow file for this run

name: Benchmark GTSFM on select datasets using SIFT and Deep front-ends
on: [pull_request, workflow_dispatch]
jobs:
benchmark:
name: Benchmark
runs-on: ubuntu-latest
strategy:
# Prevents other configs from being canceled if one of them fails.
fail-fast: false
matrix:
config_dataset_info:
[
# config dataset lookahead img-extension source loader max-res share-intrinsics
[sift, door-12, 15, JPG, test_data, olsson-loader, 1296, true],
[lightglue, door-12, 15, JPG, test_data, olsson-loader, 1296, true],
[sift, skydio-8, 15, jpg, wget , colmap-loader, 760, true],
[lightglue, skydio-8, 15, jpg, wget, colmap-loader, 760, true],
[sift, skydio-32, 15, jpg, wget, colmap-loader, 760, true],
[lightglue, skydio-32, 15, jpg, wget, colmap-loader, 760, true],
[sift, palace-fine-arts-281, 15, jpg, wget, olsson-loader, 320, true],
[lightglue, notre-dame-20, 15, jpg, wget, colmap-loader, 760, false],
[sift, 2011205_rc3, 15, png, wget, astrovision, 1024, true],
[lightglue, 2011205_rc3, 15, png, wget, astrovision, 1024, true],
[sift, gerrard-hall-100, 15, jpg, wget, colmap-loader, 760, true],
[lightglue, gerrard-hall-100, 15, jpg, wget, colmap-loader, 760, true],
[sift, south-building-128, 15, jpg, wget, colmap-loader, 760, true],
[lightglue, south-building-128, 15, jpg, wget, colmap-loader, 760, true],
]
defaults:
run:
shell: bash -l {0}
env:
PYTHON_VERSION: 3.8
steps:
- uses: actions/[email protected]
- name: Cache frontend
uses: actions/cache@v4
env:
# Increase this value to reset cache
CACHE_NUMBER_FRONTEND: 0
with:
path: cache
key: ${{ matrix.config_dataset_info[0] }}-${{ matrix.config_dataset_info[1] }}-${{ matrix.config_dataset_info[2] }}-${{ matrix.config_dataset_info[6] }}-${{ env.CACHE_NUMBER_FRONTEND }}
- uses: mamba-org/setup-micromamba@v1
with:
micromamba-version: '1.3.1-0'
environment-file: environment_linux_cpuonly.yml
- name: Environment setup
run: |
bash .github/scripts/setup.sh
conda info
- name: Prepare dataset
run: |
DATASET_NAME=${{ matrix.config_dataset_info[1] }}
DATASET_SRC=${{ matrix.config_dataset_info[4] }}
bash .github/scripts/download_single_benchmark.sh \
$DATASET_NAME \
$DATASET_SRC \
- name: Run GTSFM
run: |
DATASET_NAME=${{ matrix.config_dataset_info[1] }}
CONFIG_NAME=${{ matrix.config_dataset_info[0] }}
MAX_FRAME_LOOKAHEAD=${{ matrix.config_dataset_info[2] }}
LOADER_NAME=${{ matrix.config_dataset_info[5] }}
MAX_RESOLUTION=${{ matrix.config_dataset_info[6] }}
SHARE_INTRINSICS=${{ matrix.config_dataset_info[7] }}
bash .github/scripts/execute_single_benchmark.sh \
$DATASET_NAME \
$CONFIG_NAME \
$MAX_FRAME_LOOKAHEAD \
$LOADER_NAME \
$MAX_RESOLUTION \
$SHARE_INTRINSICS
- name: Archive dataset metrics, plots, and output data (camera poses + points)
uses: actions/upload-artifact@v4
with:
name: results-${{ matrix.config_dataset_info[0] }}-${{ matrix.config_dataset_info[1] }}-${{ matrix.config_dataset_info[2] }}-${{ matrix.config_dataset_info[3] }}-${{ matrix.config_dataset_info[4] }}-${{ matrix.config_dataset_info[5] }}-${{ matrix.config_dataset_info[6] }}-${{ matrix.config_dataset_info[7] }}.zip
path: |
result_metrics
plots
results