########################################################################### # The INV-Flow2PoseNet Model # # Torben Fetzer Gerd Reis Didier Stricker # # Technische Universität Kaiserslautern # # Deutsches Forschungszentrum für Künstliche Intelligenz (DFKI GmbH) # ########################################################################### This file describes the code used for training and evaluating the networks in INV-Flow2PoseNet. - loadCustomDataset.py ------------------------------------------------------------------------- Routines to load a dataset of the format, like the ones delivered with this work. Loads pairs of images, depth maps, normal maps, calibration and optical flow between the views. It also computes vertex maps and relative poses from the given camera calibration. - loss.py ------------------------------------------------------------------------- Definitions of the loss functions that have been used to train the networks, including (multiscale) EPE-Loss, Alignment Error, Rotational and Translational Errors. - train.py ------------------------------------------------------------------------- Contains the training routine, including all loss reports during training and data augmentations that are performed on the fly (to be done on GPU). - main.py ------------------------------------------------------------------------- Script that loads the training and test data and runs the training routine. It also contains functions to load previous weights or ini- tialize weights by related, but slightly different network architectures. - evaluate.py ------------------------------------------------------------------------- Script to load data and to apply a trained network on it. Creates a directory, where it stores the resulting optical flow, the computed pose, the input data and triangulated point clouds to show the aligned 3D data. - models/Flow2PoseNet.py (and other versions) ------------------------------------------------------------------------- Network definition, that specifies the full architecture of the networks. In addition there is are files models/Flow2PoseNet.pt that store respec- tive weights of the trained networks. - models/utils.py ------------------------------------------------------------------------- Functions that are used in several python files, scripts and functions. - models/nconv2d.py ------------------------------------------------------------------------- Normalized convolution layers, that are used to train a robust network, that is insensistive to missing/masked pixels in the depth and normal data, as it often comes up for real measurments.