Automated Pallet Counting with Computer Vision

Azati developed an offline computer vision system for automated pallet counting in a warehouse using an edge device. The solution leveraged machine learning and object detection to replace manual counting, achieving high accuracy and operational efficiency without internet access.

Discuss an idea

All Technologies Used

PyTorch
PyTorch
NVIDIA CUDA
NVIDIA CUDA
OpenCV
OpenCV
NVIDIA Tensorrt
NVIDIA Tensorrt
NVIDIA Deepstream
NVIDIA Deepstream
CUDNN
CUDNN
DeepSort
DeepSort
Gstreamer
Gstreamer
ONNX Runtime
ONNX Runtime
Ultralytics YOLO
Ultralytics YOLO

Motivation

To automate the manual process of counting 200–300 pallets daily in a warehouse environment with limited connectivity. The goal was to deliver a highly accurate (≥95%) and autonomous system running offline on an edge device to reduce human error and save time.

Main Challenges

Challenge 1
Offline Processing on Edge Device

The warehouse had no internet connectivity, requiring a locally deployed ML solution. Azati optimized a deep learning model to run entirely offline on NVIDIA Jetson, using CUDA, cuDNN, and TensorRT for efficient GPU acceleration.

Challenge 2
Cluttered Pallet Arrangements

Pallets were often stacked in irregular or overlapping patterns. Azati refined the detection system using YOLOv8 and DeepSORT, supported by OpenCV preprocessing, to reliably detect and track pallets despite cluttered visuals.

Key Features

  • Offline Vision-Based Counting: Fully autonomous pallet counting without any internet connection, using an edge computing device.
  • High Accuracy Detection: Achieved 95% accuracy in detecting and counting pallets from real-time video streams.
  • Real-Time Object Tracking: Integrated DeepSORT to track detected pallets even under overlapping or shifting conditions.
  • Scalable Architecture: The model and system design allow future updates and scaling to different warehouse layouts or camera setups.

Our Approach

Pre-Sale Analysis
Assessed operational requirements and proposed a vision-based ML solution after evaluating existing approaches.
Agile Development
Adopted an Agile methodology to allow flexibility and iterative enhancement of the system throughout its development.
Model Training
Trained the model using 300–400 daily images from client cameras to identify and count pallets accurately.
Edge Device Setup
Configured NVIDIA Jetson with GStreamer for local video stream processing and hardware-accelerated decoding.
Model Optimization and Deployment
Used PyTorch for training and ONNX Runtime for optimized inference. Deployed the model on Jetson for real-time offline performance.

Project Impact

The automated pallet counting system streamlined warehouse operations by eliminating manual tasks, reducing human error, and achieving high-accuracy performance. The offline capability ensured full autonomy in low-connectivity environments, and the solution is scalable for future expansion or enhancement.

Ready To Get Started

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.