Sitemap
Snowflake Builders Blog: Data Engineers, App Developers, AI/ML, & Data Science

Best practices, tips & tricks from Snowflake experts and community

From CCTV to Insights — How Snowflake Customers Can Build Visual AI

--

Introduction — The Untapped Goldmine of Fixed Camera Data

Organizations have invested significantly in CCTV and fixed-camera infrastructure, traditionally used primarily for security and passive monitoring. However, advances in computer vision technology now enable businesses and public agencies to transform these cameras from passive recording devices into proactive generators of real-time intelligence. By leveraging computer vision, cameras positioned in strategic locations — like intersections, retail stores, manufacturing plants, or public facilities — can deliver valuable insights into operational efficiency, safety, customer behavior, and more.

Take, for example, these cameras broadcasting continuously on YouTube from an intersection in Michigan, a watering hole in the Namib Desert, a dog day care in Utah and a tourist destination in Thailand. These publicly available feeds offer insights into real-time traffic activity, animal behaviors, employee productivity, anomalous situations, incident response times and more. But, without additional technology, these live video streams provide little more than raw footage.

Four YouTube Live Streams. Top left: Four Corners Camera Downtown Top right: Namibia: Live stream in the Namib Desert Bottom Left: DogMode: South Inside Bottom Right: Fisherman’s Village Bophut Thailand

In this article, we’ll explain how to extend the value of existing fixed-camera infrastructure by combining LandingLens an intuitive Visual AI platform from LandingAI, with Snowflake, a leading cloud data platform.

This article is accompanied by a tutorial video aimed at developers and starter code on GitHub for inference on YouTube videos.

By following a practical example, you’ll see firsthand how integrating LandingLens with Snowflake unlocks powerful new use cases for your existing CCTV investments, bridging the gap between video surveillance and strategic analytics. Together, LandingLens and Snowflake streamline complex computer vision processes, deliver quicker time-to-insight, reduce the overall effort, and reduce the cost typically associated with advanced CCTV analytics.

Emerging Use Cases for Computer Vision on CCTV

Computer vision technology expands CCTV utility far beyond basic security monitoring, opening opportunities for diverse industries to derive actionable insights from camera data. Here are several emerging use cases:

Operational Analytics

In retail environments, cameras combined with computer vision can analyze customer foot traffic, optimize staffing based on real-time queue lengths, and monitor shelf inventory levels automatically. Manufacturing and logistics companies use cameras to perform automated quality checks, detect defects on products, and ensure compliance with safety protocols such as PPE usage.

Customer Experience and Marketing

Businesses leverage camera analytics to enhance customer experience by analyzing dwell times, interactions with products or displays, and demographic patterns. These insights help tailor marketing strategies, optimize store layouts, and improve overall customer satisfaction.

A computer vision model assesses where a passerby is looking at the display or not looking at the display

Safety and Security Enhancements

Organizations are increasingly deploying cameras equipped with computer vision to detect hazardous conditions or behaviors immediately. This includes identifying safety violations like improper forklift operation, detecting unauthorized personnel, or quickly recognizing emergency vehicles such as ambulances to facilitate faster response times.

Wildlife and Environmental Monitoring

Environmental agencies and wildlife organizations utilize fixed-camera systems with computer vision to monitor animal populations, track movements, and observe behaviors without intrusive interventions. Automated counting and analysis help conservation efforts by providing accurate, non-disruptive data collection.

A remote camera captures wildlife images and a computer vision model counts the animals.

Traffic and Urban Management

Cities use camera-based analytics to manage traffic congestion, count vehicles and pedestrians, detect accidents promptly, and adjust traffic signal timings to improve flow. Such intelligent systems help reduce congestion, improve emergency response times, and contribute to better urban planning.

Traditional Architecture vs. Modern Approach

Traditionally, integrating computer vision analytics into CCTV systems required considerable custom development, infrastructure investments, and specialized expertise. Organizations typically needed to manage multiple disconnected components: pulling RTSP streams from cameras, maintaining local servers or cloud environments for heavy computing workloads, handling complex video ingestion pipelines, and managing large-scale data storage separately from analytical systems. This fragmentation introduced challenges such as high latency, integration complexity, significant upfront infrastructure costs, and ongoing maintenance burdens.

In contrast, a modern approach leveraging LandingLens and Snowflake significantly simplifies this process. LandingLens provides an intuitive platform to develop, train, and deploy computer vision models based on images extracted from video feeds. Snowflake seamlessly integrates as the data backbone, efficiently storing structured inference results alongside existing enterprise data. Together, these platforms offer a unified, cloud-native architecture that drastically reduces complexity, accelerates deployment, minimizes maintenance overhead, and integrates effortlessly with existing analytics workflows.

The streamlined, integrated nature of LandingLens and Snowflake transforms traditionally cumbersome CCTV analytics into an efficient and scalable solution, making sophisticated computer vision accessible to a broader range of organizations and use cases.

LandingLens on Snowflake — How It Works

LandingLens, integrated as a Snowflake Native App, brings Visual AI capabilities directly into the Snowflake environment, greatly simplifying the end-to-end analytics pipeline. By leveraging LandingLens directly within Snowflake, organizations achieve a streamlined, efficient, and scalable solution, quickly transforming CCTV footage into valuable business intelligence with minimal infrastructure complexity. Here’s how the integrated solution functions:

Data Ingestion and Image Storage

Images or video frames from CCTV feeds are captured at defined intervals (e.g., every 30 seconds) and securely transmitted into Snowflake. A common approach is using the Snowflake Python connector to send captured images into a Snowflake stage. A pro tip is to include the date-time in the image filename for easier downstream time series and trends analysis. Snowflake’s scalable storage capabilities manage this data efficiently, maintaining high performance even with large volumes of image data.

Problem Framing and Image Annotation

LandingLens provides intuitive tools for labeling and annotating images. Up to 100 different objects or classes can be extracted from the same video feed. It is not uncommon for the same computer vision model to drive multiple use cases. For example, an in-store camera can monitor queue lengths at checkout, but also spills on the floor or blocked emergency exits. In computer vision terms, these are all ‘objects’ to be detected.

Model Training and GPU Compute

LandingLens offers a graphical user interface to configure image augmentations and model hyperparameters. Users have access to a drop-down list of pre-trained foundational models and model architectures. If those terms are unfamiliar to you, don’t worry. The default settings generally produce excellent models and enterprise customers have access to LandingAI success engineers for modeling advice.

Since this is all running in Snowflake, the compute for training the model is provided by Snowpark Container Services. Users do not need to provision their own GPU hardware or fuss with low-level infrastructure tasks. This complexity is abstracted away; GPUs are spun up when needed and automatically suspended when inactive.

Deployment and Inference

After training, the model can be seamlessly deployed within the Snowflake environment for inference or taken off-platform for edge inference. The deployment step itself takes only a few minutes for both options, as compared to several weeks using traditional tooling.

When choosing a cloud API endpoint, real-time and batch inference is available. Select real-time for use cases where you intend to integrate alerts and notifications in response to model predictions. Choose batch inference when you are more interested in hourly or daily patterns.

All deployment options return model predictions as industry-standard JSON. It is straightforward to parse the JSON response into structured inference results and store them in Snowflake tables.

Integration with Analytics and Applications

Once inference results reside within Snowflake, they can easily integrate with other enterprise datasets for comprehensive analysis. The results feed directly into analytics dashboards or user-facing applications enabling real-time visualization and actionable insights. Streamlit in Snowflake is an attractive option for lightweight front-end applications because they are so easy to build and manage.

Detailed Example

To illustrate how simple video analytics with LandingLens and Snowflake can be, let’s walk through a real example. Using only Snowflake and LandingLens, we will build an end user application that turns a YouTube livestream video into a traffic counting dashboard which is always current up to the most recent image captured.

Video camera to custom counting application powered by computer vision

The solution architecture is shown in this diagram which we introduced earlier. Notice that everything happens inside Snowflake (the large outer rectangle).

To see the full process step-by-step, watch the tutorial video embedded above. You’ll see these major steps in more detail:

Image Acquisition

A script is set up to capture a frame from the live YouTube feed every few seconds. A researcher selects the best images to use for training a computer vision model adhering to LandingAI’s suggestions for curating high quality images. For this use case we will need daytime and nighttime images, images during different weather conditions, and diverse images for each object we want to detect such as tractor trailers, school buses or motorcycles.

Labeling

The LandingLens graphical UI makes the process of drawing bounding boxes around objects fast and easy. The user defines the classes (up to 100) and then uses the mouse and keyboard to label a minimum of 10 images. After 10 images, Label Assist can be turned on to speed up the labeling process.

LandingLens on Snowflake user interface for data labeling

Model Training and Deployment

Multiple computer vision models are trained on labeled images until the required accuracy is attained. LandingLens uses transfer learning on pre-trained model backbones. The user has full control over the train/dev/test splits. The user also selects the architecture from a drop down list and configures the desired image augmentations and hyperparameters for each training job. Snowpark Container Services provides the GPU compute resources required. The user does not need to provision any infrastructure.

Model deployment to a cloud endpoint is done in a single click. This step alone can save 2–3 weeks of effort by a machine learning engineering team. When deploying to a cloud endpoint, that endpoint exists within Snowflake.

Real-time Inferencing

LandingLens offers cloud-based and edge inference. For the cloud-based option, Snowflake provides the infrastructure, security and scalability. For edge inference, the model can be containerized using Docker or run in the LandingEdge software.

Inference speeds of up to 10 frames per second (600 per minute) are possible, but once every 15 to 30 seconds (2 to 4 per minute) is typical for a CCTV use case.

This demo uses cloud inference. A custom script available in our GitHub repo, captures an image from the video feed and sends it to the model’s API endpoint for inference. That script can run continuously or on a set schedule.

Write Inference Results to Snowflake

The API endpoint returns a standard raw JSON response. This response is parsed and inserted into a Snowflake table. In the current demonstration a new row is inserted for every object detected. If an image has 10 objects of interest, 10 rows are inserted. The table also has date-time details, the model confidence score, and the exact bounding box coordinates for the object found.

Snowflake table holding inference results with one row per object detected

Creation of Dashboard and Visualizations

A Streamlit in Snowflake application provides end users with real-time data visualizations which link the CCTV data and other organizational data sources.

The Streamlit application is written in basic Python giving the developer access to many visualization choices. The current demonstration uses two Snowflake Views and the altair charting library to build a simple and functional user interface in an afternoon.

Traffic counting visualization created with Streamlit in Snowflake

This repeatable workflow demonstrates how combining LandingLens and Snowflake transforms a simple video stream into a powerful, real-time intelligence system with minimal effort.

Best Practices & Considerations

To maximize the value of integrating LandingLens and Snowflake for CCTV analytics, organizations should consider these best practices:

  • Frame Capture Frequency: Select an appropriate image capture frequency based on the specific use case. For real-time scenarios, frequent captures (e.g., every few seconds) ensure timely insights. For less time-sensitive analyses, less frequent captures reduce storage and compute costs.
  • Quality Data Annotation: Invest time in quality data labeling during the model training phase. Accurate and comprehensive annotations are essential for model accuracy and reliability.
  • Monitoring and Model Maintenance: Regularly review model performance and set up procedures for retraining to manage model drift due to changing environmental conditions, camera positions, or lighting.
  • Efficient Data Management: Optimize storage and data handling practices by maintaining only necessary image frames or summarized inference results in Snowflake.
  • Integration Strategy: Clearly define how computer vision analytics results will integrate with existing enterprise systems and workflows to ensure that insights directly support actionable decisions and strategic goals.

Conclusion — Unlocking Value Quickly

Integrating LandingLens with Snowflake transforms traditional CCTV systems into powerful tools for real-time analytics, operational efficiency, and strategic decision-making. By streamlining the traditionally complex tasks of data ingestion, model deployment, and insight generation, organizations can rapidly realize the benefits of advanced Visual AI technologies without extensive infrastructure investments or specialized expertise.

With this combined solution, organizations can quickly move from passive video monitoring to active, insightful analysis, significantly enhancing the value of existing camera infrastructure. We encourage organizations already using Snowflake to pilot the LandingLens integration and discover how easily they can unlock actionable, real-time insights from their CCTV data.

LandingLens is available by request in the Snowflake Marketplace.

--

--

Andrea Kropp
Andrea Kropp

Written by Andrea Kropp

Customer-facing Machine Learning Engineer at LandingAI. Former a management consultant, chemistry professor, marketing agency owner and tennis coach.

No responses yet