This is a work in progress, more demonstrations will be added soon.


Motion Estimation

Global Motion Estimation finds the motion between frames in a video. A single motion model describes the alignment between the two images.

Local Motion Estimation can be performed by Block Matching Algorithms that divide images into a grid of blocks and finds the motion between frames in a video for each block. Block motion vectors are used for frame prediction and compression in video coding standards such as MPEG-4 and newer standards such as HEVC and VVC.

Optical Flow Estimation is used to find per-pixel motion vectors for motion based processing such as motion segmentation and video completion.

Optical Flow Images

Optical Flow Visualisation

Details...


3D Reconstruction

Images or video can be used to build 3D models via Structure from Motion (SfM) or Simultaneous Localisation and Mapping (SLAM). SfM is an offline technique that uses all the images of a scene to generate a model while SLAM is an online technique that builds the model iteratively but cannot use the constraints available from all the views until they have been captured.

Point cloud and mesh

Stages in Dense Reconstruction

Details...


Advanced 3D Model Representation

Models from 3D reconstruction approximate the true 3D surface. Traditionally point clouds and mesh can be used to represent 3D models and they can do so very well but a number of other attributes affect how we see such as radiance and reflectance. Advanced 3D representations can represent 3D scenes with more detail and can incorporate additional visual parameters that are suitable for photorealistic novel view synthesis.

Gaussian Splatting

3D Gaussian Splats

Details...