🚀
YOLO轻量化·从入门到部署
✨ 30章 · 嵌入式实战 ✨
风格 · 明快元气
01
课程导论
📖 入门
为什么YOLO需要轻量化?嵌入式设备的算力与内存限制分析,课程目标与学习路径。
02
YOLO基础回顾
🧠 核心
YOLOv5/v8/v10核心架构对比,Backbone、Neck、Head的作用,Anchor机制与损失函数。
03
轻量化理论基础
⚙️ 范式
模型剪枝、量化、蒸馏、紧凑架构设计四大范式,FLOPs与参数量计算。
04
环境搭建
🛠️ 准备
嵌入式Linux开发环境配置,交叉编译工具链安装,ONNX Runtime与TensorRT Lite部署准备。
05
PyTorch模型导出
📦 ONNX
从PyTorch训练好的YOLO模型导出为ONNX格式,动态轴与静态轴设置,算子兼容性检查。
06
ONNX模型优化
✨ 简化
ONNX Simplifier使用,常量折叠、节点融合、冗余消除,模型结构可视化。
07
模型剪枝(上)
✂️ 结构化
结构化剪枝 vs 非结构化剪枝,通道剪枝原理,基于BN层权重的剪枝策略。
08
模型剪枝(下)
⚡ 实战
YOLOv5通道剪枝实战,使用torch-pruning库,剪枝后微调技巧。
09
知识蒸馏(上)
🧪 原理
蒸馏原理,软标签与硬标签,温度系数T的作用,教师-学生网络架构。
10
知识蒸馏(下)
🔥 实战
YOLO蒸馏实战,Feature-based蒸馏与Response-based蒸馏,损失函数设计。
11
模型量化(上)
📉 原理
量化原理,对称量化与非对称量化,INT8 vs FP16,校准数据集。
12
模型量化(下)
🔧 PTQ/QAT
PTQ(训练后量化)与QAT(量化感知训练),使用TensorRT量化YOLO模型。
13
紧凑架构设计
🏗️ Backbone
MobileNet、ShuffleNet、EfficientNet-Lite核心思想,在YOLO中替换Backbone。
14
YOLO-NAS & World
🌍 前沿
最新轻量化YOLO变体介绍,NAS搜索出的高效结构,零样本检测。
15
TensorRT部署(上)
⚡ 配置
TensorRT安装与配置,Engine构建,动态shape处理,工作空间设置。
16
TensorRT部署(下)
🚀 推理
YOLO模型转TensorRT Engine,推理性能测试,多流推理优化。
17
ONNX Runtime部署
🔄 跨平台
ONNX Runtime C++/Python API使用,内存优化,CPU与GPU推理切换。
18
NCNN部署
📱 移动端
腾讯NCNN框架介绍,YOLO模型转NCNN,Vulkan加速,移动端部署实战。
19
OpenVINO部署
🧩 Intel
Intel OpenVINO工具套件,模型优化器,推理引擎,在Intel嵌入式平台运行YOLO。
20
TFLite部署
🤖 Android
YOLO转TFLite,Delegate加速(GPU/NPU),Android端集成,性能调优。
21
边缘计算实战(上)
🧊 Jetson
Jetson Nano/Orin平台部署,JetPack SDK,Max-P与Max-N模式。
22
边缘计算实战(下)
🍓 树莓派
树莓派+TPU部署,Coral Edge TPU,模型编译与推理。
23
模型加速技巧
⚡ 算子
算子融合、内存复用、异步推理、批处理优化,减少CPU-GPU数据传输。
24
精度与速度权衡
⚖️ 分析
不同轻量化策略的精度损失分析,如何选择最佳组合,Ablation Study设计。
25
多线程与流水线
⏳ 架构
生产者-消费者模式,双缓冲机制,视频流实时推理架构设计。
26
后处理优化
🧹 NMS
NMS加速(Fast NMS、Cluster NMS),解码层融合,减少CPU负载。
27
模型加密与保护
🔒 安全
模型加密方案,TEE安全执行环境,防止模型窃取与逆向。
28
性能监控与调优
📊 Profiling
Profiling工具使用(Nsight、perf、gprof),瓶颈定位,持续优化。
29
项目实战:智能门禁
🏆 全流程
从数据采集、模型轻量化到嵌入式部署全流程。
30
课程总结与展望
🔭 未来
轻量化技术趋势,大模型在边缘的挑战,持续学习路径推荐。