Understand the modular architecture for development
devThe project is designed with modular components to allow developers to modify backbone structures, sampling hyper-parameters, and loss functions.
Data Preprocessing
Core transformations are located in fastvqa/datasets/fusion_datasets.py. Specifically, examine the FusionDataset class and the get_spatial_and_temporal_samples function.
Spatial Sampling Approaches:
fragmentsresizearp_resize(resizes while keeping the original Aspect Ratio)crop- Note: These can be combined for multi-branch networks.
Temporal Sampling Approaches:
SampleFrames(continuous frames, imported from MMAction2)FragmentSampleFrames(discontinuous, fragment-like frames)
Network Components
- Backbones: Supports
Video Swin Transformer(with GRPB or vanilla) andConvNext-I3D(vanilla). - Heads: Supports the
IP-NLR Head, which can generate local quality maps for videos.