Amid the wave of Industry 4.0, how can AI vision technology be rapidly deployed on production lines? Today, we introduce an open-source industrial vision framework based on the .NET platform—OpenIVS (Open Source Industrial Vision System). It is not merely an algorithm library, but a complete hardware-software integrated solution, helping developers quickly build industrial-grade vision inspection systems from scratch.
Core Highlights: Why Choose OpenIVS?
1. Full-Stack Industrial Framework
Unlike a mere algorithm repository, OpenIVS provides the complete closed-loop capabilities required on the industrial shop floor:
Camera Control: Deeply integrated with the Hikrobot MVS SDK, supporting image acquisition and trigger control. 🤖
AI Inference: Seamlessly integrated with the "Deep Vision AI Platform", supporting high-performance model loading and batch inference. ⚙️
PLC Communication: Built-in Modbus protocol stack, enabling direct signal interaction with PLCs from Mitsubishi, Siemens, etc. (OK/NG determination, position control).
Visual Interface: A user-friendly operation interface developed based on WPF, making parameter configuration and log monitoring clear at a glance.
2. .NET Ecosystem Friendly
For traditional industrial automation teams that extensively use C#/.NET technologies, OpenIVS eliminates the need to learn new Python syntax. Developers can directly leverage their existing technology stack, significantly lowering the learning curve.
3. Highly Customizable
The source code is fully open. From low-level camera initialization to high-level business logic, everything can be flexibly modified according to production line requirements:
Supports multi-camera parallel management
Supports model cascading inference (e.g., detection followed by segmentation)
Supports custom image preprocessing and post-processing decision logic
️ Technical Architecture and Feature Details
Hardware Connection Layer
OpenIVS relies on the Hikrobot MVS SDK by default for camera drivers.
Installation Requirements: Requires the installation of MVS_STD_4.4.0 or a higher version.
Flexible Expansion: The code manages camera instances through CameraInitializer.cs, easily scaling from a single-machine mode to a multi-camera synchronous acquisition system.
(Note: If using cameras from other brands, simply replace the corresponding DLL references and modify the initialization logic.)
AI Inference Engine
The system integrates a high-performance inference SDK (to be used in conjunction with the Deep Vision AI Platform):
Model Management: Dynamically loads multiple model files via ModelManager.cs.
Cascaded Inference: Supports complex business workflows, such as using a detection model to locate defect areas first, then cropping the images and feeding them into a segmentation model for refined analysis.
// Cascaded inference example codepublic string PerformCascadeInference(Bitmap image) {// Phase 1: General detectionvar detectionResult = _models["DetModel"].InferBatch(imageList);// Phase 2: Fine segmentation for Regions of Interest (ROI)var smallImages = CropImage(image, detectionResult);var segmentationResult = _models["SegModel"].InferBatch(smallImages);return segmentationResult;}
Equipment Control and Logic
Communication with PLCs is indispensable on the industrial shop floor. OpenIVS implements standard serial/network communication via ModbusManager.cs:
Parameter Configuration: Baud rate, data bits, device ID, etc., can be directly adjusted in the UI interface.
Signal Interaction: Customizable register writing logic; for example, when an NG product is detected, it automatically writes a signal to the PLC register to trigger the rejection mechanism.
Process Orchestration: Defines the main loop of "Move -> Capture -> Infer -> Judge" in MainLoopManager.cs, easily adapting to production lines with different takt times.
Typical Application Scenarios
| Scenario | Application Value |
|---|---|
| Electronic Component Quality Inspection | Utilizes a multi-camera system to simultaneously inspect solder joint defects and missing components on both the front and back sides of PCBs (Printed Circuit Boards) |
| Automotive Part Dimension Measurement | Combines PLC-controlled robotic arm movement to perform high-precision dimension rechecks at multiple critical locations |
| Packaging Industry Character Recognition | Captures assembly line images in real time, performs OCR recognition on production dates and batch numbers, and triggers immediate alarms for errors |
| New Energy Vehicle (NEV) Battery Appearance Inspection | Cascaded model strategy: first locates the tab positions, then detects surface scratches and stains |
Quick Start Guide
Want to experience OpenIVS? It only takes three steps:
1. Environment Preparation
-
- Install .NET Desktop Runtime, install Hikrobot MVS SDK (mandatory), install Halcon (optional, for traditional algorithm processing), and register and install the Deep Vision AI Platform SDK (for model inference).
2. Obtain the Source Code
git clone https://github.com/dl-cv/OpenIVS.git
3. Configuration and Execution
Open the project and check the camera and PLC parameters in App.config or the settings interface. Import the trained model files (.dll or specific formats). Click run to view the real-time inspection footage and result statistics.
Resource Links
GitHub Source Code Repository: https://github.com/dl-cv/OpenIVS
Deep Vision AI Platform: https://dlcv.com.cn
Hikrobot Download Center: https://www.hikrobotics.com
Conclusion
OpenIVS fills the gap in the open-source community regarding Windows/.NET industrial vision turnkey software. It is not a simple accumulation of algorithms, but an engineering framework that truly considers the needs of factory deployment. Whether you are an engineer looking to quickly validate a solution or a developer aiming to build standardized products, OpenIVS is an excellent project worthy of in-depth study.
Tip: The industrial shop floor environment is complex. It is recommended to thoroughly test camera stability and PLC communication latency before formal deployment, and adjust image preprocessing parameters according to actual lighting conditions.