深度学习实战——从标注到部署的完整闭环

核心问题:怎么让一个“不会看”的模型,学会识别工业零件表面的划痕? 质检员的 0.5 秒困境 想象你是一个质检员,面前是传送带上飞速流动的钢板。每秒几十张,你要在 0.5 秒内判断:这张有没有划痕?有没有夹杂物?有没有裂纹? 人眼做不到。但神经网络可以。 目标——用深度学习,把这双"眼睛"训练出来。从 CNN 的底层原理开始,经过 YOLO 目标检测实战、LabelMe 数据标注,到用 trace-cn 辅助写训练代码,最终走完**“标注→训练→推理”**的完整闭环。 CNN 基础:卷积神经网络到底在"看"什么? 从生物视觉到数学公式 CNN 的设计灵感来自人类视觉皮层。你看到一张照片,不是逐个像素分析的——你先看到边缘,再看到形状,最后组合出"这是一张脸"。CNN 干的是同样的事: 浅层卷积核提取边缘、纹理(“这里有条线”) 中层把边缘组合成形状(“这是个圆形”) 深层把形状组合成语义(“这是个齿轮”) 核心操作是卷积:一个小的权重矩阵(比如 3×3)在图像上滑动,每个位置做加权求和。一个 3×3 的卷积核只有 9 个参数,却能扫描整个图像——这就是参数共享的威力。全连接网络处理一张 224×224 的图片需要上亿参数,CNN 可能只需要几万。 为什么卷积核能提取特征? 假设你有一个检测水平边缘的卷积核: [[-1, -1, -1], [ 0, 0, 0], [ 1, 1, 1]] 当它滑过图像时,遇到"上暗下亮"的区域,输出值就很大;遇到均匀区域,输出接近零。所以卷积核本质上就是一个模式匹配器——每个核负责匹配一种特定的视觉模式。 池化层:压缩但不丢失 卷积之后通常接一个池化层(最常见的是 2×2 最大池化)。它做的事情很简单:把 2×2 区域里的最大值保留下来,其余扔掉。 为什么这么"浪费"?因为池化做了两件事: 降低计算量:特征图尺寸减半,参数量降到 25% 增加鲁棒性:目标稍微平移一点,最大池化的输出不变 这就像你看一个人,不需要记住他脸上每个像素的位置,只需要知道"眼睛在鼻子上面"这种相对关系。 训练的三驾马车:损失函数、学习率、早停 损失函数衡量模型预测和真实值的差距。不同任务用不同的损失: 分类用交叉熵(“你预测是猫,但其实是狗,惩罚!") 目标检测用 CIoU Loss(同时考虑框的重叠面积、中心距离、宽高比) 分割用 Dice Loss(对小目标特别敏感,比如医学影像里的肿瘤) 学习率控制每次更新参数的步长。太大了来回震荡,太小了原地踏步。实际训练中常用自适应学习率(如 Adam),它会根据梯度自动调整步长——梯度大就小步走,梯度小就大步跑。 ...

July 11, 2026 · FXIO

用 YOLO 数筷子——从 OpenCV 到深度学习的目标检测实战

不锈钢筷子头挨着头、反光闪瞎眼,OpenCV 霍夫圆直接投降。这个小项目走了一遍从传统 CV 到深度学习的完整路径。 那些反光的筷子头,把 OpenCV 逼疯了 事情是这样的:要数一把不锈钢筷子有多少根。听起来很简单对吧?拿个相机拍一下,数圆圈就行了。 用 OpenCV 的霍夫圆变换(HoughCircles)试了一下——惨不忍睹。不锈钢顶部的金属反光和阴影被边缘检测器当成独立实体,满屏幕乱飞的假阳性圆圈。筷子头挨得又近,阴影轮廓互相粘连,算法根本分不清这是 16 根筷子还是 2 个异形物体。 更要命的是调参。换个光照条件,param1、param2 又得重来。换个桌面背景,再来一遍。这不是写代码,这是在做手工。 这就是传统 CV 的死穴:它只认几何形状,不认"东西"。霍夫圆变换的逻辑是"找到符合圆方程的像素点集合",它不理解"这是一根筷子的截面"这个概念。光照一变、角度一变、排列一变,像素梯度就变了,算法就废了。 为什么 YOLO 能搞定 YOLO 的思路完全不同。它不是在像素层面找几何形状,而是从数百万张图片里学会了"什么是筷子头"。它理解的是语义特征,不是像素梯度。 具体到这个场景: 问题 OpenCV (霍夫圆) YOLO 不锈钢高光 把光斑误判为实体 能通过上下文推理出这是光斑 筷子头紧密排列 把多个物体融合成一个 擅长分辨紧密排列的多个实例 换光照/换背景 每次都要重调参 一次训练,到处通用 简单说:OpenCV 是"按规则找",YOLO 是"凭经验认"。规则怕变化,经验怕没见过——但筷子头这种常见物体,YOLO 的训练集里见得多了。 从标注到训练:三步走 第一步:安装标注工具 先检查 Python 版本: python --version Python ≥ 3.9 → 用 LabelMe,支持圆形/多边形标注,本项目用的就是它 Python ≤ 3.8 → 建议用 LabelImg,只支持矩形框,但兼容性更好 💡 LabelMe 依赖的 pyqt5 在 Python 3.8 以下版本经常装不上,折腾半小时不如直接换工具。 ...

June 28, 2026 · FXIO