A method for training a predictive module to determine activity in a sequence of successively acquired images of a scene, the method comprising: a) acquiring a sequence of images of a scene, each of the sequence and each image labelled according to an activity in the scene; b) extracting a feature block from each image with a feature extraction module; c) using an image-based classification module, processing the feature block of features extracted from each image and determining image specific information including a weighting for the image and respective likelihoods of a plurality of predetermined activities occurring in the image; d) normalizing the determined weightings to form a normalized weighting for each image in the sequence of images; e) for each image in the sequence of images, combining the associated normalized weighting and associated feature block to form a weighted feature block; f) passing a combination of the weighted feature blocks through a time-based classification module to determine an activity in the sequence of images; g) for each image in the sequence, comparing a difference between the activity prediction for the image and the label for the image, comparing a difference between the determined activity in the sequence of images and the label for the sequence and back-propagating a loss comprising a first cross-entropy loss and a second cross-entropy loss to update the feature extraction module and the image-based classification module for activity prediction for the image and the time-based classification module for the determination of the activity in the sequence of images, said first and second cross-entropy losses being combined as follows: LOSS i = 1 2 CrossEntropy TB GTR i, TB PRED i + 1 L ∑ j = 0 L − 1 CrossEntropy FB GTR j, FB PRED j, where: TB GTR [ i] is a labelled activity for a training sequence i; TB PRED [ i] is a predicted activity for training sequence i; FB GTR [ j] is a labelled activity class for a training image j; FB PRED [ j] is a predicted activity class for image j; and L is a number of images in a training sequence; and h) repeating steps a) to g) for successive sequences of images until a condition is met. a) acquiring a sequence of images of a scene, each of the sequence and each image labelled according to an activity in the scene; b) extracting a feature block from each image with a feature extraction module; c) using an image-based classification module, processing the feature block of features extracted from each image and determining image specific information including a weighting for the image and respective likelihoods of a plurality of predetermined activities occurring in the image; d) normalizing the determined weightings to form a normalized weighting for each image in the sequence of images; e) for each image in the sequence of images, combining the associated normalized weighting and associated feature block to form a weighted feature block; f) passing a combination of the weighted feature blocks through a time-based classification module to determine an activity in the sequence of images; g) for each image in the sequence, comparing a difference between the activity prediction for the image and the label for the image, comparing a difference between the determined activity in the sequence of images and the label for the sequence and back-propagating a loss comprising a first cross-entropy loss and a second cross-entropy loss to update the feature extraction module and the image-based classification module for activity prediction for the image and the time-based classification module for the determination of the activity in the sequence of images, said first and second cross-entropy losses being combined as follows: LOSS i = 1 2 CrossEntropy TB GTR i, TB PRED i + 1 L ∑ j = 0 L − 1 CrossEntropy FB GTR j, FB PRED j, where: TB GTR [ i] is a labelled activity for a training sequence i; TB PRED [ i] is a predicted activity for training sequence i; FB GTR [ j] is a labelled activity class for a training image j; FB PRED [ j] is a predicted activity class for image j; and L is a number of images in a training sequence; and TB GTR [ i] is a labelled activity for a training sequence i; TB PRED [ i] is a predicted activity for training sequence i; FB GTR [ j] is a labelled activity class for a training image j; FB PRED [ j] is a predicted activity class for image j; and L is a number of images in a training sequence; and h) repeating steps a) to g) for successive sequences of images until a condition is met.