ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

YOLO系列Focus模块的前世今生:高效下采样设计的源码对比分析

YOLO系列Focus模块的前世今生:高效下采样设计的源码对比分析 一个切片操作,曾让YOLOv5在COCO上跑出惊人的推理速度;同样一个操作,却在TensorRT和NCNN部署时让无数工程师抓狂。Focus模块的兴衰,是YOLO架构从“训练友好”走向“部署友好”的缩影。一、问题的起点:为什么YOLOv5要“切”出一片天?1.1 从信息损失说起YOLOv3和YOLOv4的网络第一层,都是直接用stride=2的卷积把640×640的输入压到320×320。这个过程中,高频细节——栅栏纹理、电线边缘、PCB上的细线路——会在下采样的瞬间被“滤”掉。对于小目标检测任务,这几乎是灾难性的。2020年,Ultralytics发布YOLOv5时,Glenn Jocher给出了一个在当时看来颇为大胆的解法:不卷了,直接切。Focus模块的核心思想是:把输入图像按棋盘格模式拆成4份子图,沿通道维度拼接,再经过一次卷积完成下采样。根据Ultralytics官方文档(YOLOv5 v5.0 Release Notes,2020年6月),以yolov5s为例,640×640×3的RGB图像经过Focus后先变成320×320×12的特征图,再经3×3卷积输出320×320×32。这种做法的关键优势在于:没有任何像素在切片过程中被丢弃。四个子图互补覆盖了原始输入的全部空间信息,W和H维度信息被“折叠”到了通道空间。1.2 源码级拆
返回列表