YOLOv11实战:5分钟搞定目标检测模型部署到边缘设备(附完整代码)

YOLOv11模型轻量化挑战全攻略:从技术原理到边缘部署 YOLOv11的轻量化实践揭示了实时目标检测的核心矛盾:在有限资源下如何平衡精度、速度与模型大小。通过本文阐述的六大技术路线,开发者可根据具体场景选择最优组合策略——移动端优先选择"量化+轻量级模块",边缘设备侧重"剪枝+TensorRT加速",极端资源受限场景则需"动态网络+模型压缩"协同优化。随着边缘AI芯片算力提升与算法优化技术演进,YOLOv11轻量化方案将在智能安防、自动驾驶、工业检测等领域持续释放价值,推动实时目标检测向"毫秒级响应、毫瓦级功耗"的终极目标迈进。 阅读详情

YOLOv11实战:5分钟搞定目标检测模型部署到边缘设备(附完整代码)

边缘计算正在重塑我们处理视觉数据的方式。想象一下,一个部署在工厂产线旁的摄像头,能够实时识别零件缺陷;一个安装在农田里的传感器,可以精准统计作物生长状况。这些场景的共同点在于,它们都需要在资源受限的设备上,运行一个既快又准的视觉模型。过去,这往往意味着在精度和速度之间做出痛苦的妥协,或者需要将数据传回云端,忍受延迟和带宽成本。但现在,情况正在改变。

YOLOv11的出现,为边缘设备上的实时目标检测带来了新的可能性。它不仅仅是又一个版本号的迭代,而是在架构层面进行了深思熟虑的优化,旨在用更少的计算资源,换取更高的推理效率。对于需要在Jetson Nano、树莓派、甚至是一些更轻量的AI加速棒上部署模型的开发者来说,这意味着我们终于可以不再仅仅满足于“能跑”,而是可以追求“跑得好”、“跑得快”。这篇文章,我将从一个实践者的角度,带你走通从模型导出、优化到最终在边缘设备上部署YOLOv11的全流程。我会分享我踩过的坑、验证过的技巧,并提供可以直接复制粘贴的代码,目标是让你在5分钟内,建立起一个可工作的部署原型。

1. 环境准备与模型导出:从训练到部署的第一步

在开始任何部署工作之前,确保你的开发环境是正确且高效的,这能避免后续无数莫名其妙的错误。我的建议是,无论你的最终部署目标是哪种边缘设备,先在x86架构的Linux开发机(或带GPU的工作站)上完成所有的模型转换和初步测试。这里的计算资源更丰富,调试工具也更完善。

首先,你需要一个干净的Python环境。我强烈推荐使用conda或venv来管理,避免包版本冲突。

# 创建并激活一个名为yolo11的conda环境
conda create -n yolo11 python=3.9
conda activate yolo11

# 安装Ultralytics官方包,这是获取和导出YOLOv11模型最直接的方式
pip install ultralytics

安装完成后,你可以用一行代码验证YOLOv11是否可用,并下载一个预训练模型。这里我们以中等大小的yolo11m.pt为例,它在精度和速度之间取得了不错的平衡。

from ultralytics import YOLO

# 加载预训练模型
model = YOLO('yolo11m.pt')
# 进行一次简单的图片推理,验证模型加载成功
results = model('https://ultralytics.com/images/bus.jpg')
results[0].show()

如果能看到一张带有检测框的图片,说明基础环境没问题。接下来是最关键的一步:模型导出。YOLOv11支持导出为多种格式,但对于边缘部署,ONNX和TensorRT是两大主流。ONNX是一个开放的模型格式标准,兼容性极广;而TensorRT是NVIDIA针对其GPU的极致优化推理引擎。我们的策略通常是:先导出为ONNX,再根据目标硬件转换为特定格式。

使用Ultralytics库导出ONNX非常简单:

from ultralytics import YOLO

model = YOLO('yolo11m.pt')
# 导出模型为ONNX格式
success = model.export(format='onnx', imgsz=640, simplify=True, opset=12)

这里有几个参数需要关注:

  • imgsz=640: 指定了模型的输入尺寸。保持与训练时一致,通常是640x640。
  • simplify=True: 启用ONNX简化器,它会优化计算图,移除不必要的操作,这对后续转换至关重要。
  • opset=12: 指定ONNX算子集版本。版本12对现代神经网络算子支持较好,兼容性高。

执行成功后,你会得到一个yolo11m.onnx文件。不要急于把这个文件直接丢到边缘设备上,在开发机上,我们可以先用ONNX Runtime进行一轮快速验证,确保导出过程没有损坏模型功能。

import onnxruntime as ort
import numpy as np
import cv2

# 创建ONNX Runtime推理会话
session = ort.InferenceSession('yolo11m.onnx')
# 获取输入输出信息
input_name = session.get_inputs()[0].name

# 准备一个模拟输入(1张3通道640x640的图片)
dummy_input = np.random.randn(1, 3, 640, 640).astype(np.float32)

# 运行推理
outputs = session.run(None, {input_name: dummy_input})
print(f"推理成功!输出列表长度:{len(outputs)}")
for i, out in enumerate(outputs):
    print(f"输出{i}形状:{out.shape}")

如果这一步能正常执行并打印出输出张量的形状,恭喜你,你已经拥有了一个可以跨平台迁移的YOLOv11模型文件。这是通往边缘部署的基石。

2. 针对边缘设备的模型优化:量化与加速

拿到ONNX模型只是开始。边缘设备的算力和内存往往捉襟见肘,直接运行原始模型可能效率低下甚至无法运行。因此,模型优化是边缘部署的灵魂。优化的核心思想是:在尽可能保持精度的前提下,减少模型大小、降低计算复杂度、提升推理速度。

2.1 理解量化:从FP32到INT8的魔法

量化是模型压缩中最有效的手段之一。神经网络计算默认使用32位浮点数(FP32),但研究表明,对于推理而言,更低精度的数值表示(如16位浮点FP16,甚至8位整数INT8)通常足以维持可接受的精度,同时带来巨大的收益:

精度类型内存占用减少计算速度提升精度损失风险典型硬件支持
FP32 (原始)基准基准无所有CPU/GPU
FP16约50%显著 (GPU)较低NVIDIA GPU (Tensor Cores), 部分ARM CPU
INT8约75%极显著中等,需校准NVIDIA GPU, 专用AI加速芯片

对于拥有NVIDIA GPU的边缘设备(如Jetson系列),FP16量化几乎是免费的午餐,精度损失微乎其微,速度提升却非常明显。而INT8量化收益更大,但需要一个“校准”步骤,用小批量数据统计激活值的分布范围,以确定最佳的量化参数。

注意:量化并非总是有效。对于某些对数值范围极其敏感的层(如某些激活函数之后),粗暴量化可能导致精度大幅下降。因此,量化后必须在你的验证集上进行精度评估。

2.2 使用TensorRT进行极致优化

如果你的边缘设备是NVIDIA Jetson,那么TensorRT是你不可或缺的工具。它不仅仅是量化,更是一套完整的推理优化引擎,包括层融合、内核自动调优、动态张量内存管理等。

将ONNX模型转换为TensorRT引擎,通常使用trtexec命令行工具(TensorRT自带)或Python API。这里给出一个Python API的示例,它更灵活,便于集成到你的部署脚本中:

import tensorrt as trt

TRT_LOGGER = trt.Logger(trt.Logger.WARNING)
EXPLICIT_BATCH = 1 << (int)(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH)

def build_engine(onnx_file_path, engine_file_path, fp16_mode=True):
    """从ONNX文件构建TensorRT引擎并保存"""
    builder = trt.Builder(TRT_LOGGER)
    network = builder.create_network(EXPLICIT_BATCH)
    parser = trt.OnnxParser(network, TRT_LOGGER)

    builder.max_batch_size = 1
    config = builder.create_builder_config()
    config.max_workspace_size = 1 << 30  # 1GB
    if fp16_mode and builder.platform_has_fast_fp16:
        config.set_flag(trt.BuilderFlag.FP16)
        print("FP16模式已启用")
    # 如需INT8,还需设置 config.set_flag(trt.BuilderFlag.INT8) 并提供校准器

    with open(onnx_file_path, 'rb') as model:
        if not parser.parse(model.read()):
            for error in range(parser.num_errors):
                print(parser.get_error(error))
            return None

    engine = builder.build_engine(network, config)
    if engine is None:
        print("引擎构建失败")
        return None

    print("引擎构建成功!")
    with open(engine_file_path, "wb") as f:
        f.write(engine.serialize())
    return engine

# 构建FP16精度的TensorRT引擎
build_engine('yolo11m.onnx', 'yolo11m_fp16.engine', fp16_mode=True)

这个脚本会生成一个.engine文件,这是一个针对当前特定GPU架构优化过的、可序列化的推理引擎。将它拷贝到Jetson设备上,就可以直接高效地加载和推理。

2.3 针对CPU设备的优化:OpenVINO与ONNX Runtime

对于没有GPU或使用其他品牌NPU的设备(如树莓派、英特尔NUC),优化路径有所不同。OpenVINO Toolkit 是英特尔推出的优秀工具,能对模型进行深度优化并在其CPU、集成显卡或神经计算棒上高效运行。

# 安装OpenVINO开发工具
pip install openvino-dev

# 使用OpenVINO的模型优化器将ONNX转换为IR格式
mo --input_model yolo11m.onnx --output_dir openvino_model --data_type FP16

转换后会得到.xml(网络结构)和.bin(权重)文件。在部署代码中,使用OpenVINO的Runtime加载即可。

另一种更通用的方式是使用ONNX Runtime,并启用其针对不同硬件的执行提供者(Execution Provider)。例如,在ARM CPU上,可以使用ARMNN EP;在NVIDIA GPU上,可以使用CUDA或TensorRT EP。这种方式保持了ONNX格式的统一性,灵活性更高。

import onnxruntime as ort

# 在Jetson上,优先使用TensorRT EP
providers = ['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider']
session = ort.InferenceSession('yolo11m.onnx', providers=providers)

# 在树莓派上,使用CPU EP,并尝试启用一些优化
so = ort.SessionOptions()
so.graph_optimization_level = ort.GraphOptimizationLevel.ORT_ENABLE_ALL
session = ort.InferenceSession('yolo11m.onnx', sess_options=so, providers=['CPUExecutionProvider'])

3. 边缘设备部署实战:以Jetson Nano和树莓派为例

理论准备就绪,现在让我们把模型真正放到设备上跑起来。我将以NVIDIA Jetson Nano和树莓派4B作为两个典型代表,展示部署流程。它们的架构(ARM CPU)和可用加速器(GPU vs CPU)不同,策略也略有差异。

3.1 Jetson Nano部署:发挥GPU潜力

Jetson Nano自带128核Maxwell GPU,是运行YOLOv11的理想平台。首先,确保你的Jetson Nano系统已经安装了JetPack SDK(包含CUDA、cuDNN、TensorRT等)。然后,将我们在开发机上生成的TensorRT引擎文件(yolo11m_fp16.engine)拷贝到设备上。

部署代码的核心是使用TensorRT的Python API加载引擎并进行推理。下面是一个精简但完整的推理脚本框架:

import tensorrt as trt
import pycuda.driver as cuda
import pycuda.autoinit
import numpy as np
import cv2
import time

class YOLOv11TRT:
    def __init__(self, engine_path):
        self.logger = trt.Logger(trt.Logger.WARNING)
        with open(engine_path, "rb") as f, trt.Runtime(self.logger) as runtime:
            self.engine = runtime.deserialize_cuda_engine(f.read())
        self.context = self.engine.create_execution_context()
        # 分配输入输出内存(Host和Device)
        self.inputs, self.outputs, self.bindings, self.stream = self.allocate_buffers()

    def allocate_buffers(self):
        # 具体的内存分配代码,根据引擎的输入输出绑定信息进行
        # ...
        return inputs, outputs, bindings, stream

    def preprocess(self, image):
        """将OpenCV读取的BGR图像预处理为模型输入"""
        # Resize, BGR2RGB, HWC to CHW, 归一化等
        img = cv2.resize(image, (640, 640))
        img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
        img = img.transpose(2, 0, 1).astype(np.float32) / 255.0
        img = np.expand_dims(img, axis=0)  # 添加batch维度
        return np.ascontiguousarray(img)

    def infer(self, image):
        """执行推理"""
        input_data = self.preprocess(image)
        # 将数据拷贝到GPU,执行推理,将结果拷贝回CPU
        # 具体代码涉及cuda.memcpy_htod_async等
        # ...
        return output_data  # 原始输出

    def postprocess(self, outputs, orig_img_shape):
        """将模型原始输出解析为边框、置信度、类别"""
        # 包含解码边框、应用置信度阈值、执行NMS等
        # ...
        return boxes, scores, class_ids

# 使用示例
detector = YOLOv11TRT('yolo11m_fp16.engine')
cap = cv2.VideoCapture(0)

while True:
    ret, frame = cap.read()
    if not ret:
        break
    start = time.time()
    outputs = detector.infer(frame)
    boxes, scores, class_ids = detector.postprocess(outputs, frame.shape)
    end = time.time()
    fps = 1 / (end - start)
    # 绘制检测结果和FPS
    # ...
    cv2.imshow('YOLOv11 on Jetson Nano', frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

在我的实测中,YOLOv11m在Jetson Nano上使用FP16 TensorRT引擎,处理640x640图像可以达到12-15 FPS,完全满足许多实时监控应用的需求。

3.2 树莓派4B部署:榨干CPU性能

树莓派没有强大的GPU,依赖其四核ARM Cortex-A72 CPU。这里我们选择使用ONNX Runtime进行部署,因为它对ARM架构有较好的优化,并且支持多线程推理。

首先在树莓派上安装必要的软件:

# 安装系统依赖
sudo apt-get update
sudo apt-get install python3-pip libopenblas-dev libatlas-base-dev

# 安装ONNX Runtime的ARM兼容版本。
# 注意:需要从ONNX Runtime GitHub Release页面下载针对armv7l的whl文件,或用pip搜索兼容版本。
pip install onnxruntime-1.15.0-cp39-cp39-linux_armv7l.whl
pip install opencv-python-headless numpy

部署代码与在x86上类似,但要注意资源限制:

import onnxruntime as ort
import cv2
import numpy as np
import time

# 配置ONNX Runtime以使用多线程
options = ort.SessionOptions()
options.intra_op_num_threads = 4  # 使用4个线程进行并行计算
options.inter_op_num_threads = 2
options.execution_mode = ort.ExecutionMode.ORT_SEQUENTIAL

# 加载ONNX模型
session = ort.InferenceSession('yolo11m.onnx', sess_options=options, providers=['CPUExecutionProvider'])
input_name = session.get_inputs()[0].name

def inference(frame):
    # 预处理(与之前相同)
    img_data = preprocess(frame)
    # 推理
    outputs = session.run(None, {input_name: img_data})
    # 后处理
    return postprocess(outputs, frame.shape)

# 主循环
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) # 降低采集分辨率减轻压力

while True:
    ret, frame = cap.read()
    if not ret:
        break
    # 可以选择跳帧处理,例如每2帧处理1帧,以提升整体吞吐量
    # ...
    results = inference(frame)
    # 显示结果
    # ...

在树莓派4B上,运行YOLOv11m处理640x640图像,单帧推理时间大约在500-800毫秒,即1-2 FPS。对于非严格实时的应用(如定时抓拍分析)是可行的。若要提升速度,可以考虑使用更小的模型(如yolo11n),或进一步降低推理分辨率(如320x320),但这会牺牲精度。

4. 高级技巧与性能调优:从“能跑”到“跑得优雅”

当你的模型成功在边缘设备上跑起来后,下一个目标就是让它跑得更稳、更快、更省资源。这部分分享一些我积累的实战技巧。

1. 批量推理(Batch Inference)的妙用 如果你的应用场景是处理连续的视频流或图片序列,批量推理能显著提升吞吐量。原理是GPU/NPU擅长并行计算,一次处理多张图片的摊销开销远小于分多次处理。

# 在TensorRT构建引擎时,可以指定更大的max_batch_size
builder.max_batch_size = 4  # 支持最大batch size为4

# 推理时,将多帧图片堆叠成一个batch输入
batch_data = np.stack([preprocess(img1), preprocess(img2), preprocess(img3), preprocess(img4)], axis=0)
outputs = session.run(None, {input_name: batch_data})
# 后处理时需要按batch维度分别处理每个结果

2. 动态输入与分辨率权衡 YOLOv11默认要求固定的640x640输入。但有时为了速度,我们可以接受更低的分辨率。你可以尝试导出支持动态形状的ONNX模型。

# 导出时指定动态维度
model.export(format='onnx', imgsz=[320, 480, 640], dynamic=True, simplify=True)

这样导出的模型可以接受不同高度的输入(宽度会按比例自动调整)。在资源紧张时,使用较小的尺寸;当需要更高精度时,切换回大尺寸。但要注意,动态形状可能会阻止某些图优化,且TensorRT对动态尺寸的支持更复杂。

3. 内存与功耗管理 边缘设备常由电池供电或散热有限。长时间高负荷运行会导致过热降频。一个实用的策略是动态频率调节。例如,在Jetson Nano上,你可以使用jetson_clocks脚本或通过nvpmodel工具控制CPU和GPU的运行频率。在检测到系统空闲时,降低频率以节省功耗;当检测任务到来时,再瞬间提升频率。

4. 流水线(Pipeline)与多线程 将视频处理的流程拆分成:图像采集、预处理、模型推理、后处理、结果渲染/发送。将这些阶段放入不同的线程或进程,形成一个流水线。这样,当一帧在进行推理时,下一帧已经在进行预处理,CPU和GPU都能得到更充分的利用,减少空闲等待。

from queue import Queue
from threading import Thread

class PreprocessThread(Thread):
    def __init__(self, raw_queue, proc_queue):
        super().__init__()
        self.raw_queue = raw_queue
        self.proc_queue = proc_queue
    def run(self):
        while True:
            frame = self.raw_queue.get()
            processed = preprocess(frame)
            self.proc_queue.put(processed)

# 类似地,可以创建InferenceThread, PostprocessThread
# 主线程负责采集图像和显示结果,通过队列与其他线程通信

5. 模型剪枝与知识蒸馏(进阶) 如果经过上述优化仍无法满足性能要求,你可能需要动模型本身。模型剪枝可以移除网络中冗余的权重或通道;知识蒸馏则用一个大模型(教师)指导一个小模型(学生)进行训练,让小模型获得接近大模型的性能。这些属于更高级的模型压缩技术,需要重新训练或微调模型,但能带来根本性的体积和速度改进。

最后,部署永远不是一劳永逸的事情。建立一个简单的性能监控日志,记录每帧的处理时间、内存占用、温度等。当你在实际场景中运行一段时间后,这些数据会成为你进一步调优的最宝贵依据。我习惯在代码里加几行,把关键指标输出到一个文件里,每周回顾一下,总能发现一些可以优化的点。比如,有一次我发现夜间推理速度变慢,排查后发现是自动增益导致的图像噪声增加,让预处理中的某些操作变慢了,针对性优化后效果立竿见影。

YOLOv11实战:5分钟搞定目标检测模型部署(附完整代码) 本文详细介绍了YOLOv11目标检测模型的快速部署方法,包括环境准备、模型导出、跨平台部署方案(如NVIDIA Jetson和树莓派)以及性能优化技巧。通过完整的代码示例和实用技巧,帮助开发者在5分钟内完成从模型导出到边缘设备部署的全流程,显著提升目标检测任务的效率。 阅读详情

相关推荐

YOLOv11实战:5分钟搞定目标检测模型部署(附Ultralytics HUB使用技巧)

本文提供了YOLOv11目标检测模型的快速实战部署指南。通过Ultralytics生态,开发者可在5分钟内完成从环境搭建、预训练模型推理到自定义数据微调的完整流程。文章重点介绍了模型导出为ONNX、TensorRT等格式的边缘设备部署技巧,并分享了利用Ultralytics HUB提升协作效率的方法,助力计算机视觉项目快速落地。

weixin_29043895的博客 334

如何利用docker将yolov11的onnx部署到边缘小盒

这只是简单的运行,并不能显示图形界面。有什么建议评论区留言。目录第一 下载代码并安装自己的环境。第二步 下载yolov11n.pt,并利用代码将其转成onnx第三步 写运行onnx的脚本第四步 利用docker 将其部署。总结。

hhl12345675的博客 1865

YOLOv11+OpenVINO实战:5分钟搞定实时视频目标检测(附完整代码)

本文详细介绍了如何利用YOLOv11和OpenVINO构建工业级实时视频目标检测系统。通过模型优化、异步推理和多线程架构设计,实现高达67FPS的检测速度,适用于智慧工厂、交通监控等场景。文章包含完整代码示例和性能调优建议,帮助开发者快速部署高效视频分析解决方案。

weixin_28737603的博客 428

YOLO模型在边缘设备上的优化:如何让目标检测跑在树莓派上?

本文探讨了如何将YOLO目标检测模型优化并部署到树莓派等边缘设备上。文章分析了边缘部署面临的算力与内存挑战,并详细介绍了从选择轻量级YOLO模型、应用模型量化与剪枝技术,到利用ONNX Runtime等推理引擎进行加速的完整优化路径,旨在实现低延迟、高隐私的实时目标检测应用。

kkk56的博客 264

CANopen中SDO、PDO字典以及COB-ID理解

CANopen SDO PDO

sunarmy的专栏 2万+

易灵思FPGA实战:T35F324的PLL硬核配置全流程(附避坑指南)

本文详细解析了易灵思T35F324 FPGA中硬核PLL的配置全流程与核心避坑点。内容涵盖从架构理解、Interface Designer参数设置、VCO范围校验,到时钟网络冲突分析与动态重配置等实战环节,重点解决了引脚分配、资源约束和常见报错问题,为工程师提供了一套清晰可靠的配置指南。

u9v0w的博客 215

一篇文章快速认识 YOLO11 | 目标检测 | 模型训练 | 自定义数据集

本文分享YOLO11的目标检测,通过自定义数据集、数据标注、标签格式转换、模型训练。

黎国溥 1万+

网工、运维利器:MobaXterm,一款全能的远程工具

你好,这里是网络技术联盟站,我是瑞哥。是一款由Mobatek开发的多功能远程计算机管理工具,集成了多种网络协议和工具,专为网络工程师和系统管理员设计。它提供了丰富的远程连接功能,包括SSH、RDP、VNC、X11转发等,支持文件传输和多标签界面,内置了文本编辑器和多种网络工具,是一款全能的远程管理软件。MobaXterm的开发起始于2008年,最初只是一个简单的X服务器,但随着用户需求的不断增加和软件的逐步完善,MobaXterm逐渐发展成了一款功能全面、界面友好的远程管理工具。

网络技术联盟站 5229

YOLOV11实战:从零搭建目标检测模型(附完整PyTorch代码)

本文提供了YOLOV11目标检测模型的完整实战指南,涵盖从环境搭建、数据准备到模型构建、训练与推理的全流程。文章深入剖析了YOLOV11的网络结构,包括骨干网络、颈部网络和解耦检测头的实现细节,并附有完整的PyTorch代码,帮助开发者快速上手并部署自己的检测模型。

raspberrypi5的博客 248

【数据集】1980-2020年(5年)土地利用分类数据-中国科学院

简介1980-2020年每五年土地利用数据-中国科学院

WW、forever的博客 3931

融合Retinex理论与Transformer的YOLOv8低光照目标检测增强方法【YOLOv8】

图像分解:将输入图像分解为光照成分和反射成分。光照估计:估计光照图以消除暗光区域。图像重建:将光照增强后的反射图像重建成最终图像。Retinexformer通过在Transformer中引入Retinex的图像增强思路,使得低光照图像的细节能够得到充分保留。本文提出了一种基于Retinexformer的低光照增强方法,用于改进YOLOv8模型在夜间和低光照环境下的目标检测性能。

博客 1929

YOLOv11实战:5分钟搞定目标检测模型部署(附TensorRT加速技巧)

本文详细介绍了YOLOv11目标检测模型从PyTorch到TensorRT的完整部署流程。通过关键导出检查、ONNX转换、FP16/INT8量化及针对Jetson、T4、A100等硬件的优化策略,帮助开发者快速实现模型的高效部署与加速,解决边缘计算和云端服务的实际应用难题。

cake8的博客 727

【Unity-UGUI控件全面解析】| Layout自动布局组件详解

UGUI中有个自动布局组件Auto Layout,主要包含下面几个模块(点击可进入官方文档下查看描述): 自动布局 布局元素 (Layout Element) 水平布局组 (Horizontal Layout Group) 垂直布局组 (Vertical Layout Group) 网格布局组 (Grid Layout Group) 内容大小适配器 (Content Size Fitter) 自动布局系统 基于布局元素和布局控制器的概念。一个布局元素是具有矩形变换以及其他可选组件的游戏对象。布局元素对自身

努力前行,总会成为自己心中的那道光 2万+

YOLOv8实战:5分钟搞定目标检测模型部署(附完整代码)

本文详细介绍了YOLOv8目标检测算法的快速部署方法,通过简洁的环境配置、模型加载和推理测试步骤,帮助开发者在5分钟内完成部署。文章还提供了性能优化和实战技巧,适用于各种硬件平台和应用场景,大幅提升目标检测效率。

weixin_29083475的博客 183

【Unity 实用工具篇】 | Book Page Curl 快速实现翻书效果

游戏和应用开发中,真实感的交互设计能显著提升用户体验。Unity3D图书翻页效果插件为开发者提供了一种便捷方式,可在项目中实现高度拟真的书籍翻页动画。 本文介绍该插件的快速使用方法,涵盖从基础导入到自动翻页效果创建的全过程,让我们快速实现翻页效果。

努力前行,总会成为自己心中的那道光 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

5分钟搞定YOLOv12部署,边缘设备也能跑得动

本文介绍了基于星图GPU平台如何自动化部署YOLOv12官版镜像,实现5分钟内快速启动目标检测任务。该镜像集成PyTorch、Flash Attention v2等优化组件,支持一键运行与TensorRT导出,适用于边缘设备上的实时人流统计、工业质检等AI应用开发场景。

weixin_42514750的博客 342

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Linux/Windows 双平台通关:YOLOv8 目标检测从模型选型到跨平台部署实战

本文系统剖析了基于 YOLOv8 框架的目标检测全流程实战指南。文章首先介绍了 YOLOv8 在骨干网络、解耦头、正样本分配及损失函数上的核心改进,并给出了五个版本的选型策略;随后详解了 CUDA 与 PyTorch 环境的精确搭建步骤、YOLO 格式数据集的目录结构与归一化标签要求;接着重点梳理了核心训练与数据增强参数的调参策略,提供了多 GPU、断点续训等实用脚本;最后阐述了 mAP 等评估指标的监控方法,并给出了 ONNX 和 TensorRT 模型导出部署的注意事项。全篇兼顾原理与实战,直击 OOM

2402_87731470的博客 3929

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

5分钟搞定YOLOv11-N部署:从模型导出到毫秒级延迟优化全指南

你是否还在为模型部署时的格式兼容性头疼?是否因推理延迟过高导致应用卡顿?本文将带你掌握Ultralytics YOLOv11-N的高效导出方法与延迟测试技巧,通过5种主流格式对比和3个优化锦囊,让你的计算机视觉应用在边缘设备上也能实现毫秒级响应。 ## 为什么选择YOLOv11-N进行部署? YOLOv11-N作为Ultralytics 2025年推出的轻量级模型,在保持高精度的同时将参数量压...

gitblog_00963的博客 543

YOLOv5+OpenCV实战:5分钟搞定实时摄像头目标检测(附完整代码)

本文详细介绍了如何利用YOLOv5和OpenCV快速构建实时摄像头目标检测系统。从环境配置、模型部署到视频流处理框架,提供了完整的代码实现和性能优化技巧,帮助开发者在5分钟内完成高帧率目标检测系统的搭建,特别适合毕业设计和实际应用场景。

ooo22的博客 113

YOLOv13快速入门:手把手教你用镜像5分钟搞定目标检测

本文介绍了如何在星图GPU平台上自动化部署YOLOv13官版镜像,快速搭建目标检测开发环境。该镜像预置了完整的Python、PyTorch及YOLOv13代码,用户无需复杂配置即可在5分钟内完成部署,并立即应用于图片或视频中的物体识别与定位等场景。

weixin_33298352的博客 213

YOLOv8实战:5分钟搞定自定义数据集训练(附完整代码)

本文详细介绍了如何使用YOLOv8进行自定义数据集的目标检测训练,包括环境准备、数据标注、数据集配置、模型训练与调优、验证部署等全流程。通过实战案例和完整代码,帮助开发者在5分钟内快速上手YOLOv8,实现高效的目标检测任务。

weixin_29213827的博客 253

【30分钟搞定】零基础也能玩转!yolov5_ms模型本地部署与推理全流程实战

你还在为AI模型部署繁琐步骤发愁?还在因环境配置错误浪费整天时间?本文将以** yolov5_ms **(基于MindSpore框架的YOLOv5实现)为例,带你从零开始完成模型部署到首次推理,全程仅需6步,** 代码复制即用 **,无需专业背景也能快速上手! 读完本文你将获得: - 5分钟环境检查与依赖安装指南 - 3种模型文件(ckpt/mindir/air)的正确选用方法 - 零基础友好的...

gitblog_02987的博客 500

YOLO11+TensorRT加速:云端5分钟完成模型转换

本文介绍了基于星图GPU平台,如何通过预配置的YOLO11镜像实现云端5分钟自动化完成模型到TensorRT的转换。该方案无需手动安装依赖,支持FP16加速与INT8量化,可快速生成适用于Jetson等边缘设备的高性能推理引擎,典型应用于智能摄像头、工业质检等实时目标检测场景。

SilvermistFalcon67的博客 951
上一篇: 从游戏开发到工业控制:LUA脚本在串口屏中的跨界实战指南
下一篇: 海思MV310芯片盒子魔改指南:解锁WiFi+三网通+应用安装限制
普通网友
博客等级 码龄27年 204粉丝 1502原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值