YOLOv3算法

一、YOLOv3总体概述

相比于前两代,YOLOv3最大的改进在于网格结构的设计。

核心目标:使其更适合小目标检测。

四大核心升级:

1.特征更细致,融合多尺度特征图预测不同规格物体。

2.先验框更丰富,3种scale,共9种。

3.改进Softmax,支持多标签检测。

4.融入ResNet残差思想,加深网格。

二、核心改进

1.多尺度预测

为了能检测到不同大小的物体。传统的图像金字塔虽然能检测不同大小物体,但计算量大,不利于YOLO的检测速度;所以YOLOv3采用了单一输入,但在网络内部做文章。

YOLOv3不再像v2那样只利用单一特征图,而是类似FPN(特征金字塔)的思想,融合不同尺度的特征图进行预测。

输入图像尺寸为416*416*3。

经过不同倍数的下采样,得到13*13、26*26、52*52三个尺度的特征图。

网格将深层特征上采样与中层特征拼接,再将结果上采样与浅层特征(52*52)拼接,从而实现多尺度融合预测。

2.更深的网格与残差连接

YOLOv3采用了Darknet-53作为核心网格架构(没有池化和全连接层,全是卷积)。

残差连接(ResNet思想):深层网格容易出现梯度消失,导致训练效果变差。引入残差结构H(x)=F(x)+x)后,允许网格堆叠更多的层进行特征提取。

下采样方式:通过设置卷积的stride(步长)=2来实现下采样,替代了传统的池化层。

3.9种尺度的先验框设计

YOLOv2中使用了5个先验框,YOLOv3增加到了9个。这些先验框是通过对COCO数据集进行K-means聚类得到的。

分配策略:

13*13特征图:感受野大,应用较大的先验框,负责检测大物体。

26*26特征图:感受野中等,应用中等的先验框,检测中等大小对象。

52*52特征图:感受野小,应用较小的先验框,适合检测小目标。

4.多标签分类(Logistic替代Softmax)

在复杂场景中,一个物体可能属于多个类别(例如一个人既是"人",也是"行人")。传统的Softmax函数会强制所有类别概率之和为1,强制单标签分类,这在多标签任务中不再使用。

YOLOv3的改进 :使用多个独立的 Logistic 分类器。对每一个框中每个类别使用Sigmoid激活函数独立计算概率

只要某个类别的概率超过设定的阈值(如0.5),就认为包含该类别。

三、输入到输出的张量解析

YOLOv3的输出是一个3D张量。以COCO数据集(80个类别)为例,每个网格单元会预测3个边界框,每个预测目标的维度是:(4+1+80)=85

4:边界框坐标(tx,ty,tw,thtx​,ty​,tw​,th​)

1:边框置信度(Objectness score)

80:对象类别数

因此,三个尺度的输出分别为:

13×13×[3×(4+1+80)]

26×26×[3×(4+1+80)]

52×52×[3×(4+1+80)]

四、总结

YOLOv3在保持极快检测速度的前提下,通过多尺度特征融合 、Darknet-53残差网络 、9种先验框 以及Logistic多标签分类,大幅提升了特别是针对小目标的检测精度,真正做到了"基本上当下经典做法全融入了"。

相关推荐
cooldream20091 天前
AI 时代编程学习路线图:四个阶段,从零基础到独立交付
人工智能·编程学习
马剑威(威哥爱编程)1 天前
【HarmonyOS 7 小艺智能体实战】08:在真机上把它跑起来——调试与预览
人工智能·华为·harmonyos
高洁011 天前
知识图谱:结构化表达实体与关系的知识组织技术
人工智能·python·深度学习·机器学习·迁移学习
雾喔1 天前
从零理解大语言模型:AI、LLM、训练成本与手机助手的底层逻辑
人工智能·语言模型·智能手机
云飞云共享云桌面1 天前
非标自动化工厂研发部门怎么实现一台服务器带10个SolidWorks设计并发
运维·服务器·人工智能·3d·自动化·电脑·制造
硅谷秋水1 天前
Agentic World Action Models(AW-0)贡献与不足分析
人工智能·机器学习·计算机视觉·语言模型·机器人
校园安全大脑平台1 天前
学校原有监控摄像头怎么接入 AI 安全平台?利旧改造的条件核对清单
人工智能·安全
AI前端工程狮1 天前
Agent 不会报错,只会变笨:给 MCP Server 补上契约测试和回放测试
人工智能·编程语言
AI Coder 码农王1 天前
AgentScope Java v2 第5课,两个注解背后的调用链
人工智能