Given a video stream, how can we automate the capture of consistent change over time, without flagging temporary, irrelevant information?

CGI has developed a tool that applies statistical analysis to live video streams or files to identify rapid and creeping areas of change, whilst ignoring transient change. The tool’s flexibility supports identification of short-lived events such as a door opening or more persistent events such as a car parking or leaving. This is achieved whilst ignoring ongoing false positives such as pedestrians walking, cars driving past or trees moving.

The solution has been developed to automate video feed monitoring by raising configurable alerts caused by specific short- or long-term events such as a door opening, car arriving or leaving, objects being left, etc...


The product has been packaged within a Docker Container for portability, ease of integration and rapid deployment. Containerisation provides the ability to scale with the number of video feeds and the flexibility to integrate with Cloud functions such as AWS Lambda. This approach also means a Container can be dedicated to individual streams, or the Container’s processing extended to support both short and long term change detection.

The Container itself currently accepts two inputs, but can be customised depending on the client’s environment:

  • A video file or video stream in most non-proprietary formats
  • Configuration that customises the internal analytics for a specific use-case

The Container’s output can also be tailored to fit with clients’ needs, but currently the frame that caused an alert and simple metadata about the processing are captured in JSON format for integration with follow-on processing. The Container utilises a health checking interface to support integration within production systems. This API provides basic information about the state of processing and whether any issues have occurred.


At the heart of the solution is an analytic kernel that can be tailored for different use-cases, CONOPS and operational needs. A statistical analysis approach has been chosen in favour of objection detection or any Machine Learning approach as it provides the flexibility to detect consistent change agnostic of video resolution, lighting conditions and can be tailored for short or long lived events. The analytics are applied to each pixel and include K-Means clustering, Spectral, Structural and Textural calculations, followed by a Support Vector Machine to differentiate areas of change.


Development and testing has focussed on three primary use-cases: 

  • CCTV footage of a road with cars and pedestrians in daylight. The solution identifies when cars park or move away whilst ignoring moving vehicles, pedestrians on the pavement and movement in the trees.
  • Low resolution CCTV footage of a door opening and closing at dusk. The solution identifies the door opening from a closed position, see
  • CCTV footage of a car park in the dark, where a car moves away and parks again. The solution identifies the car moving away and parking, whilst ignoring pedestrians. Performance testing has shown the Container operates faster than realtime on commodity hardware and does not require any GPU resource.

An alert is raised as soon as the configured threshold is reached ensuring their relevancy to follow-on processing.

Our breadth and knowledge in innovation ideas makes for a strong reach back and constant view of technology landscapes across industries. Client engagements are used to elaborate challenge themes such as identity, 5G, smart cities, web3.0 and constant horizon scans. SME engagements and university links create a rich picture of technology which feeds a “hopper” with a constant flow of ideas and challenges.

The Lab encourages an ethos of learning and experimentation with constant emphasis on self-improvement and teaching across a very wide range of technical disciplines. The Lab is capable of taking on tasks ranging from low level protocol analysis, AI and applied machine learning, mobile app development, cyber research and software reverse engineering. The knowledge spans the full scale of communications environment including terrestrial and satellite, internet and IoT. We frequently hold hackathons with a view to teasing out opportunities around technologies such as machine learning, blockchain, IoT and geospatial data.

If you have a concept and would like us to explore a solution, please contact us at