Analyze live video streams using IBM Maximo Visual Inspection


This code pattern is targeted towards users who have access to live streams or CCTV cameras, and would like to apply object detection and image classification to their live camera feeds.


The web application presented in this code pattern captures images from pre-recorded video or streaming cameras, and analyzes each image using IBM Maximo Visual Inspection models. As analysis results are received, they are then labeled within the video stream and rendered in a table and pie chart.

Furthermore, users can draw a “Region of Interest” if they’d only like to focus on analyzing images within a limited area of the camera feed. One example use case here can be used to monitor workers on a construction site..a user can draw an ROI near a dangerous area, and only get alerted when workers enter that area.

Users can also configure alerts, which will be triggered when certain objects are visible in the image, and others are not. For example, revisiting the construction site use case, an alert can be triggered whenever a worker is detected, but they do not have all of their safety equipment (helmet, mask gloves).



  1. The user accesses the web application and provides login credentials for both the camera system and IBM Maximo Visual Inspection. The user also fills out a form to select the model and classify images as positive or negative.
  2. The Node.js backend connects to camera’s RTSP stream and forwards information to the frontend web application.
  3. As frontend plays live video, the user clicks “Capture Frame” or “Start Interval”.
  4. Captured frames are forwarded to IBM Maximo Visual Inspection backend for analysis.
  5. Analysis results are rendered in the web application.


Find the detailed steps for this pattern in the file. The steps show you how to:

  1. Clone the repository.
  2. Start the web application.
  3. Configure the web application.
  4. Observe the results.