1. 课程导论与硬件平台认知

大家好,欢迎来到《工业缺陷检测模型移植实战》。我是这门课的主讲,做了快十年算法落地,踩过的坑比写过的代码还多。

工业缺陷检测,说白了就是让机器学会「挑毛病」。但真正难的不是算法,而是怎么把算法塞进一个巴掌大的盒子里,还能跑得又快又稳。我见过太多团队,模型在服务器上跑出99%的准确率,一上嵌入式设备直接崩掉——嗯,这就是我们要解决的问题。

1.1 工业缺陷检测:为什么非做不可?

先看几个数字。一条产线每分钟检测300个零件,人工目检漏检率大概在5%-15%。换成机器视觉,漏检率能压到0.5%以下。但问题来了——产线上没有服务器,只有摄像头和一个小盒子。

我2018年帮一家3C代工厂做屏幕划痕检测。客户要求:检测速度<50ms/片,误检率<1%。我们在服务器上跑ResNet-50,精度达标,速度差了两个数量级。后来换成MobileNetV3,精度掉了3个点,但速度勉强能看。最后怎么解决的?模型剪枝+量化+特定硬件优化,才把项目交付了。

所以,工业缺陷检测的核心矛盾是:算法精度 vs 硬件算力。你想想看,一个模型从PyTorch训练完,到能在Jetson上跑起来,中间要过多少关?

核心挑战: 模型移植不是简单的格式转换,而是精度、速度、功耗、成本的四角博弈。

1.2 模型移植的三大拦路虎

我习惯把模型移植的难点归纳为三个层面。每个层面我都吃过亏,咱们一个一个说。

  1. 算子兼容性:服务器上的PyTorch有几百个算子,但嵌入式推理引擎(比如TensorRT、RKNN)只支持其中一部分。我遇到过最离谱的一次,一个F.upsample_bilinear2d在RK3588上直接报错,查了两天才发现要用Resize算子替代。
  2. 精度退化:FP32转INT8,激活值分布一变,模型输出就飘了。我曾经有个分割模型,量化后mIoU从0.82掉到0.61,几乎不可用。后来加了校准集和逐通道量化才救回来。
  3. 内存与带宽:嵌入式设备的内存通常只有4-8GB,带宽更是瓶颈。一个YOLOv8s模型,FP16推理需要约1.2GB显存,如果同时跑预处理和后处理,很容易OOM。
避坑指南: 我曾经在Jetson Nano上跑一个轻量级检测模型,推理时间只有30ms,但图像预处理用了80ms。后来才发现OpenCV的resize在ARM上没做NEON优化,换成npp或VPI才解决。记住:瓶颈往往不在推理,而在数据搬运。

1.3 主流边缘计算硬件对比

目前工业界用得最多的三款硬件:NVIDIA Jetson系列、瑞芯微RK3588、以及各种TPU(比如算能BM1684、寒武纪MLU220)。我列个表,大家一目了然。

维度 Jetson Orin NX RK3588 TPU(以BM1684为例)
AI算力 70 TOPS (INT8) 6 TOPS (INT8) 17.6 TOPS (INT8)
推理框架 TensorRT RKNN BMNNSDK / OpenCV
算子支持 非常丰富 中等,需手动适配 有限,常见CNN够用
功耗 15-25W 8-15W 8-12W
价格 高(约4000元) 中(约1500元) 中低(约800元)
生态成熟度 ★★★★★ ★★★☆☆ ★★☆☆☆
典型场景 高精度、多模型 性价比优先 极致功耗、批量部署

我个人习惯这样选型:如果客户预算充足、对精度要求苛刻,直接上Jetson Orin系列。如果做成本敏感型项目,RK3588是性价比之王。至于TPU,适合那种「一个模型跑一万台设备」的场景,比如光伏EL检测。

1.4 知识体系总览

下面这张图,是我对整门课知识结构的梳理。你可以把它当作地图,后面每章都会对应到其中一个节点。

工业缺陷检测模型移植知识体系 模型移植实战 算法优化 模型转换 硬件部署 剪枝 量化 蒸馏 NAS ONNX TensorRT RKNN BMNNSDK Jetson RK3588 TPU Pipeline 产线部署 → 实时检测 → 数据回流 本课程覆盖全部节点 从算法到硬件全链路
学习建议: 如果你对某个节点不熟悉,比如「量化」或「TensorRT」,可以先跳到对应章节。但建议至少把前三章(导论、环境搭建、基础模型)通读一遍,后面才能跟上节奏。

1.5 本章小结

这一章我们聊了三件事:工业缺陷检测为什么需要模型移植、移植过程中常见的坑、以及主流硬件怎么选。我个人觉得,选硬件就像选工具——没有最好的,只有最合适的。Jetson适合做研发原型,RK3588适合做量产,TPU适合做极致性价比。