ChangeIn is the first real-world benchmark that provides per-frame ground truth camera intrinsics for videos with dynamic intrinsics, and current baselines struggle to predict accurate intrinsics on our benchmark. This is the code repository for it.
To install dependencies for LUT generation and synthetic experiments, please install infinigen and then run ./install.sh.
To install dependencies used for evaluation, run evaluation/install_eval.sh.
Installation assumes the use of mamba, but you can replace instances of this within install scripts with conda for anaconda support.
-
asd
-
Real Drone Experiments: QGroundControl
Code relevant to flying the drone programmatically can be found under
drone-qgc. Usecreate_drone_mission.pyto create.planmissions to fly. -
Real Drone Experiments: RPi Interface
To ensure 2D and 3D point collection via drone calibration occurred at the same time, we placed a Raspberry Pi (RPi) onboard our drone and wrote a program that syncs turning on LED light with recording 3D RTK position. Files relevant to this can be found under
drone-rtk, and documentation for setup can be found underdrone-rtk/documentation_rtk. -
Synthetic Board Experiments
Synthetic board code can be found in the
boardsfolder. Board designs can be found underboards/board_designs. All board experiments can be run viapython run_all_boards.py, assuming that Kalibr docker has been built. -
Synthetic Drone Experiments
Synthetic drone code can be found in the
dronesfolder. All drone experiments can be run viapython run_all_drones.py, assuming that Kalibr docker has been built. -
Running Baseline Methods
Baseline method codebases can be found in the
baseline_methodsfolder. Inference on image folders can be run viapython universal_evaluation_script.py --method_name {colmap, droidcalib, geocalib} --image_folder {PATH TO IMAGES} --eval_intrinsics --time