[db:标题]
摘要:Ultralytics YOLOv8 基于深度学习和计算机视觉领域的尖端技术,在速度和准确性方面具有无与伦比的性能。其流线型设计使其适用于各种应用,并可轻松适应从边缘设备到云 API 等不同硬件平台。YOLOv8 OBB 模型是YOLOv8
前言
Ultralytics YOLOv8 基于深度学习和计算机视觉领域的尖端技术,在速度和准确性方面具有无与伦比的性能。其流线型设计使其适用于各种应用,并可轻松适应从边缘设备到云 API 等不同硬件平台。YOLOv8 OBB 模型是YOLOv8系列模型最新推出的任意方向的目标检测模型,可以检测任意方向的对象,大大提高了物体检测的精度。同时官方发布的模型已经支持 OpenVINO™ 部署工具加速模型推理,因此在该项目中,我们将结合之前开发的 OpenVINO™ C# API 部署YOLOv8 OBB 模型实现旋转物体对象检测。
项目链接为:
https://github.com/guojin-yan/OpenVINO-CSharp-API
项目源码链接为:
https://github.com/guojin-yan/OpenVINO-CSharp-API-Samples/tree/master/model_samples/yolov8/yolov8_obb_opencvsharp
https://github.com/guojin-yan/OpenVINO-CSharp-API-Samples/tree/master/model_samples/yolov8/yolov8_obb_emgucv
目录1. 前言1.1 OpenVINO™ C# API1.2 YOLOv8 OBB 模型2. YOLOv8 OBB模型下载与转换2.1 安装模型下载与转换环境2.2 导出 YOLOv8 OBB模型2.3 转换 IR 模型3. YOLOv8 OBB项目配置(OpenCvSharp)3.1 项目创建3.2 添加项目依赖3.3 定义预测方法3.4 预测方法调用4. YOLOv8 OBB项目配置(Emgu.CV)4.1 添加项目依赖4.2 定义预测方法5. 项目编译与运行5.1 项目文件编译5.2 项目文件运行6. 总结
1. 前言
1.1 OpenVINO™ C# API
英特尔发行版 OpenVINO™ 工具套件基于 oneAPI 而开发,可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,适用于从边缘到云的各种英特尔平台上,帮助用户更快地将更准确的真实世界结果部署到生产系统中。通过简化的开发工作流程,OpenVINO™ 可赋能开发者在现实世界中部署高性能应用程序和算法。
OpenVINO™ 2023.2 于 2023 年 11 月 16 日发布,该工具包带来了挖掘生成人工智能全部潜力的新功能。更多的生成式 AI 覆盖和框架集成,以最大限度地减少代码更改,并且扩展了对直接 PyTorch 模型转换的模型支持。支持更多新的模型,包括 LLaVA、chatGLM、Bark 和 LCM 等著名模型。支持更广泛的大型语言模型(LLM)和更多模型压缩技术,支持运行时推理支持以下 Int4 模型压缩格式,通过神经网络压缩框架(NNCF) 进行本机 Int4 压缩等一系列新的功能。
OpenVINO™ C# API 是一个 OpenVINO™ 的 .Net wrapper,应用最新的 OpenVINO™ 库开发,通过 OpenVINO™ C API 实现 .Net 对 OpenVINO™ Runtime 调用,使用习惯与 OpenVINO™ C++ API 一致。OpenVINO™ C# API 由于是基于 OpenVINO™ 开发,所支持的平台与 OpenVINO™ 完全一致,具体信息可以参考 OpenVINO™。通过使用 OpenVINO™ C# API,可以在 .NET、.NET Framework等框架下使用 C# 语言实现深度学习模型在指定平台推理加速。
1.2 YOLOv8 OBB 模型
目标检测是计算机视觉中的一项基本任务,目前许多研究都是采用水平边界框来定位图像中的物体。然而,图像中的物体通常是任意方向的。因此,使用水平边界框来检测目标会引起物体检测框通常包含许多背景区域,检测框内存在过多的背景区域,不仅增加了分类任务的难度,而且会导致目标范围表示不准确的问题。其次,水平边界框会导致检测框之间出现重叠,降低检测精度。
通过使用带有角度信息的旋转检测框可以有效解决上述问题,它引入了一个额外的角度来更准确地定位图像中的物体。Ultralytics YOLOv8 基于深度学习和计算机视觉领域的尖端技术,在速度和准确性方面具有无与伦比的性能。其流线型设计使其适用于各种应用,并可轻松适应从边缘设备到云 API 等不同硬件平台。
