计算机视觉整体链路解析图像采集、预处理、推理、落地全流程作者黒漂技术佬适用人群零基础小白对计算机视觉感兴趣但不知道从何入手的同学一、计算机视觉到底是个啥你刷脸解锁手机的时候超市自助结账识别商品的时候工厂机械臂抓取零件的时候——背后都有同一个东西在干活计算机视觉Computer Vision简称CV。说白了计算机视觉就是让计算机看懂图片和视频。人眼看到一瓶可乐瞬间知道这是可乐计算机看到的是一堆数字像素值它需要一套流程把这些数字变成这是一瓶可乐这个结论。这套流程就是我们今天要聊的完整链路。二、完整链路全景图一个工业级计算机视觉系统从图像输入到最终落地通常经过以下几个环节图像采集 → 预处理 → 模型推理 → 后处理 → 业务逻辑落地别看只有五步每一步都有坑。下面逐个拆解。三、第一步图像采集图像采集是整个链路的起点说白了就是怎么把现实世界的画面变成计算机能处理的数字图像。采集设备有哪些设备类型特点典型场景USB摄像头便宜、即插即用、分辨率一般实验室原型、无人售货柜工业相机GigE/USB3.0高帧率、高分辨率、可触发产线检测、机械臂视觉深度相机RGB-D同时获取彩色图深度信息机器人避障、3D抓取网络摄像头IP Camera远程传输、布线灵活智慧农业大棚监控关键参数分辨率图像的像素尺寸如1920×1080。分辨率越高细节越丰富但计算量也越大。帧率FPS每秒采集多少帧图像。无人售货柜一般15-30fps就够了工业检测可能需要60fps以上。曝光时间决定图像亮不亮。太暗看不清太亮会过曝。实战提醒很多新手以为模型不行其实是图像采集环节出了问题——光线不足、摄像头抖动、分辨率太低再好的模型也白搭。垃圾进垃圾出Garbage In, Garbage Out这是CV领域的铁律。四、第二步图像预处理采集到的原始图像通常不能直接丢给模型需要先收拾一下。常见预处理操作1. 缩放Resize模型通常要求固定尺寸的输入比如640×640。但摄像头拍出来的是1920×1080怎么办缩放。importcv2# 读取原图imgcv2.imread(product.jpg)# 缩放到模型需要的尺寸img_resizedcv2.resize(img,(640,640))2. 归一化Normalization像素值范围是0-255但模型喜欢0-1或者-1到1之间的小数。归一化就是把像素值除以255或做更复杂的标准化让数值范围变小模型训练更稳定。# 归一化到 0~1img_normalizedimg_resized/255.03. 颜色空间转换OpenCV默认读取是BGR顺序但很多模型训练时用的是RGB不转换的话颜色就乱了。img_rgbcv2.cvtColor(img_resized,cv2.COLOR_BGR2RGB)4. 其他增强操作在训练阶段还会用到翻转、旋转、裁剪、色彩抖动等数据增强手段目的是让模型见多识广提高泛化能力。不过推理阶段一般不做这些。五、第三步模型推理这是整个链路的核心环节——把预处理后的图像喂给训练好的模型让模型输出检测结果。推理过程发生了什么模型本质上是一个超复杂的数学函数。输入是一张图像多维数组输出是检测结果——通常包括每个目标的类别、位置坐标、置信度。输入图像 (1, 3, 640, 640) ↓ 神经网络模型 ↓ 输出: [类别可乐, 坐标(100,50,200,300), 置信度0.92] [类别薯片, 坐标(300,50,450,280), 置信度0.87]推理框架选择框架特点适用场景PyTorch灵活、易调试研发、训练ONNX Runtime跨平台、部署友好服务端推理TensorRTNVIDIA GPU极速推理高性能服务端NCNN/MNN移动端轻量嵌入式、手机无人售货柜场景举例柜子里通常部署一个边缘计算盒子如RK3588本地运行YOLO模型实时识别顾客拿取的商品。不需要上传云端延迟低、隐私好。六、第四步后处理模型直接吐出来的结果通常是粗糙的——同一个商品可能被检测出好几个重叠的框还有些低置信度的误检。后处理就是把这些粗糙结果变成干净可用的结果。最核心的后处理NMS非极大值抑制当模型对同一个商品预测了3个重叠的框时NMS会保留置信度最高的那个把其余重叠度高的框干掉。NMS前: 3个框都框着同一瓶可乐 ↓ NMS处理 NMS后: 只保留1个最靠谱的框NMS的原理细节我们会在后续文章中专门讲解这里先知道它的作用就行。其他后处理置信度过滤把置信度低于阈值如0.5的检测结果直接丢弃。坐标转换把模型输出的归一化坐标转回原图像素坐标。业务过滤比如无人售货柜只关心商品类别检测到人手可以忽略。七、第五步业务逻辑落地检测结果最终要服务于具体的业务需求。光检测出这里有瓶可乐不够还得告诉系统该做什么。无人售货柜全链路实例以一个典型的无人售货柜为例完整链路是这样跑的1. 顾客打开柜门 → 摄像头开始采集视频帧 2. 每帧图像缩放到640×640归一化 3. YOLO模型推理输出所有商品的检测框 4. NMS去重过滤低置信度结果 5. 对比开门前后的商品列表计算差集 6. 差集就是顾客拿走的商品 → 生成订单 → 自动扣款这里面步骤1-4是标准CV链路步骤5-6是业务逻辑。技术为业务服务别本末倒置。八、链路优化思路实际落地中链路的每一步都可以优化采集端补光、调整摄像头角度从源头提高图像质量预处理端根据模型需求选择最优的缩放策略letterbox比直接resize更保比例推理端模型量化FP32→INT8、剪枝、使用推理加速框架后处理端调优NMS的IOU阈值和置信度阈值业务端多帧投票连续多帧检测到同一商品才确认降低误判率小结计算机视觉不是只有模型这一个环节而是一条完整的链路采集→预处理→推理→后处理→落地。任何一环拉胯整个系统就废。新手入门别上来就钻进模型细节出不来先把全链路搞清楚知道每个环节的作用和坑点才能在实际项目中游刃有余。