Skip to content

应用于工业物联网项目上基础视觉识别服务,使用 .net Core 与 Yolo 识别服务开发的 WebApi 服务 ,开箱即用

License

Notifications You must be signed in to change notification settings

zpweiai/VisualIdentity

 
 

Repository files navigation

VisualIdentity

License: MIT
Repo

🚀 基于 .NET 10 的多模型智能识别平台
高效 · 灵活 · 易部署

🌟 项目简介

AI 应用落地 的过程中,模型管理多任务识别 一直是开发者的痛点。
无论是 检测、分类、分割、姿态估计、定向检测,往往都需要同时部署多个模型,传统方案在 效率易用性 上总会遇到瓶颈。

VisualIdentity 正是为了解决这一系列问题而生。
它结合了 .NET 10 的现代化能力、YoloDotNet 的高性能推理、以及 SQLite 的轻量级管理,为开发者提供一个 开箱即用 的智能识别平台。

✅ 多模型管理
✅ 单机多任务识别
✅ 跨平台部署

🎯 应用场景

  • 🏭 工业质检:瑕疵检测、异物识别
  • 🛒 零售分析:顾客行为、货架检测
  • 🛡️ 智能安防:异常行为、姿态识别
  • 🎓 科研教育:多模型实验平台
  • 🌐 边缘计算:轻量化部署到嵌入式或服务器

📦 NuGet 安装

dotnet add package Snet.Yolo.Server

💡 调用示例

using SkiaSharp;
using Snet.Model.data;
using Snet.Utility;
using Snet.Yolo.Server;
using Snet.Yolo.Server.handler;
using Snet.Yolo.Server.models.data;
using Snet.Yolo.Server.models.@enum;
using YoloDotNet.Core;
using YoloDotNet.Extensions;
using YoloDotNet.Models;

namespace Snet.Yolo.Test
{
    internal class Program
    {
        static async Task Main(string[] args)
        {
            //可以直接启用 Snet.Yolo.Tool 来进行调试

            //????? 为对应数据

            // 原始图片路径
            string imagePath = "?????";

            //模型路径
            string onnxModel = "?????";

            //识别类型
            OnnxType onnxType = OnnxType.ObjectDetection;

            //直接调用库来进行本地识别操作
            using SKImage image2 = SKImage.FromEncodedData(imagePath);

            // 调用识别
            OperateResult operateResult = await IdentityOperate.Instance(new Yolo.Server.models.data.IdentityData
            {
                Hardware = new CpuExecutionProvider(),
                IdentifyType = onnxType,
                OnnxPath = onnxModel,
                SN = $"{onnxType}{onnxModel}"
            }).RunAsync(new ObjectDetectionData
            {
                Confidence = 0.23,
                Iou = 0.7,
                File = image2.Encode().ToArray()
            });

            // 转换结果
            List<ObjectDetection> results2 = operateResult.GetObjectDetectionResult().ToObjectDetection();

            //绘制结果
            using SKBitmap resultImage2 = image2.Draw(results2);

        }
    }
}

⚙️ 功能特性

🔹 多模型管理

  • 支持 增 / 删 / 改 / 查
  • 模型 版本化 & 快速切换
  • 一机多模型轻松维护

🔹 单机多任务流畅运行

  • 支持 检测 / OBB 定向检测 / 分类 / 分割 / 姿态估计
  • 基于 YoloDotNet 高速推理内核
  • 零配置,一键运行

🔹 跨平台 & 部署友好

  • 支持 Windows / Linux / Docker 部署
  • 提供轻量化配置,适配 边缘设备 & 服务器
  • 开箱即用,降低开发门槛

📚 依赖组件

  • 集成 Dapper & SqlSugarCore
  • 支持高性能 SQL 映射与链式查询
  • 自动建表,高效开发
  • 保持轻量同时,具备 生产级性能
  • C# 生态下 极快、功能齐全 的 YOLO 推理库
  • 支持 YOLOv5u - YOLOv12、YOLO World、YOLO-E
  • 功能覆盖:检测 / OBB / 分割 / 分类 / 姿态估计 / 跟踪

🧩 支持的版本

YOLOv5u | YOLOv8 | YOLOv9 | YOLOv10 | YOLOv11 | YOLOv12 | YOLO-World | YOLO-E

🔬 支持的任务

分类 (Classification) 检测 (Detection) OBB 定向检测 分割 (Segmentation) 姿态估计 (Pose)
pexels.com pexels.com pexels.com pexels.com pexels.com

⚡ 推理后端支持

ONNX Runtime CPU CUDA TensorRT

🙏 致谢

📜 许可证

License: MIT

本项目基于 MIT 开源。
请阅读 LICENSE 获取完整条款。
⚠️ 软件按 “原样” 提供,作者不对使用后果承担责任。

🌍 查阅

👉 点击跳转

About

应用于工业物联网项目上基础视觉识别服务,使用 .net Core 与 Yolo 识别服务开发的 WebApi 服务 ,开箱即用

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 98.8%
  • Other 1.2%