ZeroOne AI
← 返回文章列表

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

👁 21

从数据标注、自动训练到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视觉检测 → 智能质量控制。

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

推荐阅读

更多工业 AI、智能制造与技术实践文章

工业互联网

Linux系统篇(十三)——工具篇(五):取代命令行 GDB?CGDB 可视化调试全解析

CGDB 是 GDB 的轻量级终端可视化外壳:分屏源码与命令、Vim 快捷键、可视化断点,本文从安装、界面操作到实战配置全面讲解。

机器人自动化

TRIO-Basic 从入门到精通(五):直线与圆弧插补指令的使用

本文讲解 TRIO-Basic 三大运动指令:MOVE 相对移动、MOVEABS 绝对移动与 MOVECIRC 平面圆弧插补,给出各自的语法格式、完整可运行的代码示例(含轴参数段与矩形圆角轮廓插补示例),并说明增益参数的使用前提,帮助开发者快速上手多轴轨迹编程。

机器人自动化

TRIO-Basic 从入门到精通(二十):Trio通过空间圆弧三点计算圆弧中心和半径

本文用TRIO-Basic手写实现空间圆弧三点求圆心与半径算法:由三点确定圆弧平面法向量,求两条中垂线交点得到圆心并输出半径,与Trio原装SPHERE_CENTRE指令计算结果对比一致,适用于空间圆弧插补与轨迹规划。

C#调用Intel NPU实现YOLOv26极速推理:OpenVINO工业视觉加速实践

通过C# + OpenVINO Runtime调用Intel Core Ultra NPU运行YOLOv26模型,实现低功耗、毫秒级的工业边缘AI视觉推理,涵盖模型导出、环境配置、推理代码与FP16/INT8/异步推理等性能优化实践。

工业互联网

MY-BASIC 应用(一):轻量级嵌入式 BASIC 解析器介绍

MY-BASIC 是一个用标准 C 语言编写的轻量级 BASIC 解释器:不足 128KB 内存占用、可嵌入可扩展、支持原型编程与 Lambda 函数式编程、Unicode、列表/字典集合,适合嵌入式设备脚本化控制。

工业互联网

Linux系统篇(七)——工具篇(二):一篇搞懂 C 语言程序从代码到可执行文件的完整旅程

拆解 C 程序预处理、编译、汇编、链接四步变身流程,讲透条件编译与静态、动态链接差异,附分步实操与报错排查。

评论(0)