【哪吒开发板试用】基于YOLOV8的红外测温变压器套管识别、部署及与Jetson Nano 4G部署对比
1. 前言 哪吒开发板是一款高性能类树莓派x86主机,适合边缘AI应用开发。本文基于开发板预装的Win11系统,利用OpenVINO部署YOLOv8模型,实现变电站红外测温变压器套管的实时识别。本文将对开发板的硬件特性、环境配置及模型优化过程进行详细评测,并对比之前在Jetson Nano 4G上的部署过程。 2. 开箱与硬件评测 2.1 产品概述 哪吒开发板配备英特尔N97处理器(3.6GHz)
1. 前言
哪吒开发板是一款高性能类树莓派x86主机,适合边缘AI应用开发。本文基于开发板预装的Win11系统,利用OpenVINO部署YOLOv8模型,实现变电站红外测温变压器套管的实时识别。本文将对开发板的硬件特性、环境配置及模型优化过程进行详细评测,并对比之前在Jetson Nano 4G上的部署过程。
2. 开箱与硬件评测
2.1 产品概述
哪吒开发板配备英特尔N97处理器(3.6GHz),64GB eMMC存储及8GB LPDDR5内存。接口丰富,包括USB 3.0、HDMI、3.5mm音频、千兆以太网等。此外,该开发板出厂预装Win11系统,便于快速上手开发AI应用。
2.2 软件兼容性与资源
在Win11系统下,哪吒开发板可以直接安装OpenVINO、Visual Studio、CUDA Toolkit等AI开发工具,无需额外优化。其完整的Windows环境支持多种AI框架,包括YOLOv8所依赖的PyTorch和ONNX等,为开发者提供了灵活的开发平台。
3. YOLOv8模型在OpenVINO上的部署与优化
3.1 环境配置
- 操作系统:使用预装的Win11系统,通过英特尔OpenVINO Toolkit安装包配置环境。
- 开发工具:安装PyTorch、ONNX、Python 3.9以及OpenVINO Python API,确保开发环境与模型兼容。
- OpenVINO安装:
- 下载并运行OpenVINO安装程序。
- 配置
environment variables
,添加OpenVINO路径,以确保系统能够识别OpenVINO工具链。
3.2 YOLOv8模型转换与优化
-
模型准备:从Ultralytics仓库下载预训练的YOLOv8模型(ONNX格式)。
-
转换为OpenVINO IR格式: 在Windows命令行中使用以下命令进行模型转换: 转换过程约3分钟,生成适用于OpenVINO的IR格式模型文件。
mo.exe --input_model yolov8.onnx --input_shape [1,3,640,640] --data_type FP16 --output_dir ./model_ir
3.3 推理测试与性能评估
- 测试环境:加载红外监测视频文件(如.mp4格式)进行推理。
- 性能测试:在Win11系统下运行YOLOv8模型,对视频中的变压器套管进行检测。帧率达到25FPS,延迟控制在40ms以内。
- GPU与CPU对比:测试了CPU模式和iGPU加速模式。在iGPU下,推理时间约为15ms,比CPU模式(30ms)提升了50%。
3.4 实际应用:变电站红外测温系统 通过加载红外监控视频,我们对变压器套管进行监测,实时检测并标注温度异常区域。以下是关键代码段:
import cv2
import openvino.runtime as ov
import torch
# 加载OpenVINO模型
core = ov.Core()
model = core.read_model("model_ir/yolov8.xml")
compiled_model = core.compile_model(model, "GPU")
video_path = "infrared_video.mp4"
cap = cv2.VideoCapture(video_path)
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
input_tensor = ov.Tensor(frame)
result = compiled_model(input_tensor)
for detection in result:
x1, y1, x2, y2, conf, label = detection
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2)
cv2.putText(frame, f"{label}: {conf:.2f}", (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
cv2.imshow('Infrared Detection', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
3.5 推理结果
该代码使用OpenVINO编译YOLOv8模型,并通过加载红外视频进行目标检测,实现实时推理。
4. Jetson Nano 4G部署对比
硬件对比
项目 | 哪吒开发板 | Jetson Nano 4G |
---|---|---|
处理器 | Intel N97 处理器(4核心,3.6GHz) | NVIDIA Quad-core ARM Cortex-A57 (1.43GHz) |
架构 | x86 | ARM 64位 |
GPU | Intel iGPU(集成显卡) | NVIDIA Maxwell GPU (128 CUDA cores) |
内存 | LPDDR5 4800MHz,4GB或8GB(可选) | LPDDR4 4GB |
存储 | 64GB eMMC 板载存储 | 不包含板载存储,需外接microSD卡 |
操作系统支持 | Windows 11、Linux Ubuntu | Ubuntu 18.04 和 NVIDIA JetPack |
扩展接口 | - USB 3.0 x 2 <br> - HDMI x 1 <br> - 3.5mm音频接口 <br> - 1000Mbps以太网口 <br> - GPIO接口兼容树莓派 | - USB 3.0 x 4 <br> - HDMI x 1 <br> - MIPI CSI 摄像头接口 <br> - 千兆以太网口 <br> - GPIO接口兼容树莓派 |
外设支持 | 支持Arduino、STM32扩展和传感器模块 | 支持摄像头和各种传感器模块 |
功耗 | 低功耗,适合边缘计算应用 | 最大功耗约10W,适合低功耗AI推理 |
软件支持 | 支持Visual Studio、OpenVINO、OpenCV等完整的x86开发工具链 | 支持CUDA、cuDNN、TensorRT和Jetson Nano专属开发工具链 |
板载散热 | 主动散热系统(风扇) | 被动散热(可加装风扇) |
4.1 环境搭建 在Jetson Nano 4G上,运行的是Ubuntu 18.04系统,安装CUDA 10.2和TensorRT,通过PyTorch运行YOLOv8。相比哪吒开发板的x86架构,Jetson Nano部署过程中需要手动优化CUDA和cuDNN版本。
4.2 模型部署 由于Jetson Nano支持TensorRT,我们将YOLOv8模型转换为TensorRT引擎,关键步骤如下:
trtexec --onnx=yolov8.onnx --saveEngine=yolov8.engine --fp16
TensorRT的优化速度较快,但在运行大模型时,Jetson Nano的内存限制成为瓶颈,导致推理帧率只有15FPS。
4.3 推理结果
4.4 性能对比
- 哪吒开发板(Win11 + OpenVINO):帧率25FPS,延迟40ms,iGPU加速效果明显。
- Jetson Nano 4G(Ubuntu + TensorRT):帧率15FPS,延迟80ms,需在低分辨率下运行以提升性能。
5. 实践中的小技巧与优化经验
5.1 依赖库的版本匹配 在Win11环境下,确保PyTorch与ONNX版本匹配非常重要。建议使用pip install
时指定版本号,以避免兼容性问题。
5.2 模型推理速度优化 在OpenVINO中,通过设置FP16
精度并启用iGPU加速,有效减少推理延迟。具体设置可参考模型转换中的参数配置。
6. 总结与未来展望
哪吒开发板在Win11系统下结合OpenVINO进行YOLOv8模型部署,展现了出色的边缘计算能力。相比Jetson Nano,哪吒开发板的x86架构和iGPU加速使其在高分辨率推理任务中表现优异。未来,我打算测试哪吒开发板在Ubuntu环境下的表现成绩以及计划集成ROS环境,实现变压器设备的智能巡检系统。
#哪吒开发板
更多推荐
所有评论(0)