ZeroOne AI
← 返回文章列表

C#工业视觉平台结合YOLOv26与OpenVINO

👁 3

从数据标注、自动训练到Intel NPU边缘推理的完整工业AI方案:C#工业软件平台 + YOLOv26训练框架 + OpenVINO模型转换 + Intel NPU边缘推理,实现图像采集、自动标注、模型训练到现场推理的完整AI视觉闭环。

C#工业视觉平台结合YOLOv26与OpenVINO

从数据标注、自动训练到Intel NPU边缘推理的完整工业AI方案

在智能制造领域,工业视觉已经成为质量检测的重要技术手段。

传统视觉检测通常依赖人工编写规则,例如:

当产品存在:

传统算法维护成本不断增加。

基于深度学习的YOLO目标检测算法,可以让工业视觉系统具备更强的泛化能力。

本文介绍一种完整工业AI开发方案:

C#工业软件平台 + YOLOv26训练框架 + OpenVINO模型转换 + Intel NPU边缘推理

实现:

图像采集 → C#标注 → 自动生成训练数据 → YOLO训练 → OpenVINO转换 → 工业电脑AI推理

形成完整AI视觉闭环。


一、整体系统架构

系统采用C#作为工业软件开发平台,Python负责AI训练,OpenVINO负责现场部署。

整体架构:

工业相机
    |
    |
C#视觉软件
    |---- 图像采集
    |---- AI标注工具
    |---- 模型管理
    |
    ↓
YOLOv26 Python训练环境
    |
best.pt模型
    |
    ↓
OpenVINO转换
    |
    ↓
Intel NPU推理
    |
    ↓
检测结果输出

二、为什么选择C#开发工业AI平台

工业现场软件大量采用C#,原因:

因此:

C#负责工业应用层:

Python负责:

OpenVINO负责:


三、C#开发AI标注系统

为了降低AI模型训练门槛,开发工业专用标注工具。

标注流程:

采集图片 → 人工框选缺陷 → 选择类别 → 保存 → 自动生成YOLO数据

标注软件自动保存:

TrainImage
 ├──001.bmp
 ├──001.txt
 ├──002.bmp
 └──002.txt

其中:

YOLO格式:

类别ID 中心X 中心Y 宽 高

例如:

0 0.523 0.421 0.120 0.080

四、自动训练流程设计

C#程序调用Python训练脚本:

C#按钮点击训练 → 启动Python → 生成dataset → YOLOv26训练 → 生成best.pt → 导出OpenVINO

工程人员无需手动操作Python。


五、YOLOv26自动训练脚本设计

训练脚本主要完成:

  1. 自动读取图片和标签
def get_image_label_pairs(source_dir):
    image_files = []
    for ext in ['.bmp']:
        image_files.extend(Path(source_dir).glob(f'*{ext}'))
    pairs = []
    for img_path in image_files:
        label_path = Path(source_dir) / f'{img_path.stem}.txt'
        if label_path.exists():
            pairs.append((img_path, label_path))
    return pairs

自动完成:图片 + 标签匹配。


六、自动生成训练数据集

训练前自动划分:

生成YOLO标准目录:

dataset
├──images
│   ├──train
│   ├──val
│   └──test
└──labels
    ├──train
    ├──val
    └──test

七、工业图像预处理

工业图片通常存在:

训练前增加高斯滤波:

def preprocess_image(img_path, save_path):
    img = cv2.imread(str(img_path), cv2.IMREAD_GRAYSCALE)
    img = cv2.GaussianBlur(img, (3, 3), sigmaX=0.8)
    cv2.imwrite(str(save_path), img)

提升缺陷特征稳定性。


八、YOLOv26模型训练核心代码

训练参数:

核心代码:

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.train(
    task="detect",
    data="dataset/autotrain.yaml",
    imgsz=(384, 1024),
    epochs=100,
    batch=16,
    workers=0,
    optimizer="AdamW",
    lr0=0.001,
    pretrained=True,
    mosaic=0,
    mixup=0,
    save=True,
)

训练完成生成:

weights
└──best.pt

九、导出OpenVINO模型

工业现场不建议直接运行Python模型。

通过OpenVINO转换:

best.pt → OpenVINO IR → model.xml + model.bin

代码:

best_model = YOLO("best.pt")
best_model.export(
    format="openvino",
    imgsz=(384, 1024),
    half=True,
    dynamic=False,
    nms=True,
)

十、Intel NPU工业边缘推理

部署电脑:

推理架构:

工业相机 → C#程序 → OpenVINO Runtime → Intel NPU → YOLO检测 → PLC控制

优势:


十一、完整AI模型迭代流程

生产现场发现新缺陷:

采集NG图片 → C#标注 → 生成YOLO数据 → 启动训练 → 生成新模型 → 导入工业电脑 → 继续检测

形成AI持续优化闭环。


十二、工业AI未来方向

工业视觉不再只是检测工具。

未来结合:

可以实现:

视觉发现问题 → AI分析原因 → MES调整计划 → 设备自动响应 → 完成生产闭环

总结

通过C#工业软件平台结合YOLOv26、OpenVINO和Intel NPU,可以构建完整工业AI视觉解决方案。

核心优势:

实现:从人工检测 → AI视觉检测 → 智能质量控制。

让工业设备具备视觉感知能力,为智慧工厂提供可靠的人工智能基础。

评论(0