Product Inspection System

Project Summary

This project develops a vision-based system for automated product inspection on a conveyor belt. The system utilizes a camera to capture images of products as they move along the conveyor. These images are then compared to user-defined configuration images.

My Contribution

I implemented anomaly detection functionality, allowing users to define and track defect areas directly on reference images. Additionally, I integrated Entity Framework and an MSSQL database to save inspection result and config data.

Key Features:

  • User-defined Anomaly Detection: Users can mark specific regions directly on config images. The system identifies and flags products with anomalies in those designated areas, ensuring focus on critical inspection points.
  • OpenCV for Image Processing: Leverages the powerful OpenCV library for various image processing tasks. This includes image capture from the camera, image comparison with reference images, and anomaly detection based on user-defined regions.
  • MVVM Design Pattern: Employs the MVVM (Model-View-ViewModel) design pattern for a clean separation of concerns. This promotes maintainable and testable code, making future modifications and updates easier.
  • Database Integration: The system integrates with Entity Framework and an MSSQL database for managing configuration data, such as reference images and anomaly region definitions.
  • PLC Communication: The system communicates with a Programmable Logic Controller (PLC) to automate conveyor control based on inspection outcomes.

Inspection result with PASS result

Inspection result with FAIL result

Technologies:

  • WPF (Frontend Development)
  • OpenCV (Image Processing)
  • MVVM Design Pattern (Code Structure)
  • Entity Framework & MSSQL Database (Data Management)- PLC Communication (Hardware Integration)