YOLO(You only look once)的架构

简介: YOLO(You only look once)的架构

本文说明下YOLO的基础架构(源码由于太长后期单独附上)

YOLO的架构
  • 先看一下YOLO V1~V3的架构↓

整体架构分成Backbone,Neck,Head 三个部分

对于各个模块说明

Conv:卷积层,最基础的卷积操作

BN:Batch Normalization,我的理解请点链接

Leaky ReLu:(带泄露的 ReLU )在输入 x < 0 时, 保持一个很小的梯度 γ 。在x>0时,梯度为1

Res Unit:残差单元(思想同ResNet)。在Backbone中,每经过一个ResX都会进行一次下采样。

YOLO使用全卷积网络(没有全连接层),保留了空间信息

  • 再看一下V4的架构↓

整体架构仍然分成Backbone,Neck,Head 三个部分

V4主要的变更点

①CBL变成CBM:激活函数由Leaky ReLu变成Mish

②Res Unit变成CSPX:CSPX在Res Unit基础上又添加了更复杂的结构,两者对比请见下图↓

CSPNet和ResNet的对比可以参考另一篇文章:CSPNet 论文笔记

以上图片来自转载,引用文章:深入浅出Yolo系列之Yolov3&Yolov4&Yolov5&Yolox核心基础知识完整讲解

输出网格(YOLO的头部)

输出的特征矩阵 19×19,38×38,76×76对应将原图分成19×19,38×38,76×76块网格(区域)。

后面的255=3×(80+1+4),按顺序说明下这些参数:

3:Anchor(先验框,用于框住检测的对象物体。对应每个网格,Anchor都有3种尺寸,可以理解大,中,小三个先验框)

80:Coco数据集(表明能识别的物体分类,例如:1=person, 2=bicycle, 3=car…等等总共80种)

1:Obj(只有1位,0表示无识别的物体,1表示有识别的物体)

4:tx, ty, tw, th(意义请见下图,图中蓝色框是bounding box,虚线框是anchor)


相关文章
|
12月前
|
机器学习/深度学习 并行计算 固态存储
YOLO系列 | 一份YOLOX改进的实验报告,并提出更优秀的模型架构组合!
YOLO系列 | 一份YOLOX改进的实验报告,并提出更优秀的模型架构组合!
158 0
DL之YoloV2:Yolo V2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略(二)
DL之YoloV2:Yolo V2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之YoloV2:Yolo V2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略(二)
|
算法 固态存储 数据可视化
DL之YoloV2:Yolo V2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略(一)
DL之YoloV2:Yolo V2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
|
1天前
|
监控 负载均衡 数据安全/隐私保护
探索微服务架构下的服务网格(Service Mesh)实践
【5月更文挑战第6天】 在现代软件工程的复杂多变的开发环境中,微服务架构已成为构建、部署和扩展应用的一种流行方式。随着微服务架构的普及,服务网格(Service Mesh)作为一种新兴技术范式,旨在提供一种透明且高效的方式来管理微服务间的通讯。本文将深入探讨服务网格的核心概念、它在微服务架构中的作用以及如何在实际项目中落地实施服务网格。通过剖析服务网格的关键组件及其与现有系统的协同工作方式,我们揭示了服务网格提高系统可观察性、安全性和可操作性的内在机制。此外,文章还将分享一些实践中的挑战和应对策略,为开发者和企业决策者提供实用的参考。
|
1天前
|
缓存 监控 数据库
构建高性能微服务架构:后端开发的终极指南
【5月更文挑战第6天】 在现代软件开发的浪潮中,微服务架构以其灵活性、可扩展性和容错性引领着技术潮流。本文深入探索了构建高性能微服务架构的关键要素,从服务划分原则到通信机制,再到持续集成和部署策略。我们将透过实战案例,揭示如何优化数据库设计、缓存策略及服务监控,以确保系统的稳定性和高效运行。文中不仅分享了最佳实践,还讨论了常见的陷阱与解决之道,为后端开发者提供了一条清晰、可行的技术路径。
|
1天前
|
监控 负载均衡 API
微服务架构在现代企业中的应用与挑战
微服务架构已成为现代企业构建灵活且可扩展软件系统的首选。然而,随着其应用的普及,企业也面临着一系列新的挑战。本篇文章将探讨微服务架构的优势、实施时遇到的问题以及解决这些问题的策略。
|
1天前
|
API 持续交付 开发者
构建高效微服务架构:策略与实践
【5月更文挑战第6天】随着现代软件系统的复杂性增加,微服务架构逐渐成为企业开发的首选模式。本文深入分析了构建高效微服务架构的关键策略,并提供了一套实践指南,帮助开发者在保证系统可伸缩性、灵活性和稳定性的前提下,优化后端服务的性能和可维护性。通过具体案例分析,本文将展示如何利用容器化、服务网格、API网关等技术手段,实现微服务的高可用和敏捷部署。
|
2天前
|
监控 负载均衡 持续交付
构建高效微服务架构:后端开发的新趋势
【5月更文挑战第5天】在数字化转型的浪潮中,微服务架构以其灵活性、可扩展性和容错性成为企业追求的技术典范。本文深入探讨了微服务的核心组件、设计原则和实施策略,旨在为后端开发者提供构建和维护高效微服务系统的实用指南。通过分析微服务的最佳实践和常见陷阱,我们揭示了如何优化系统性能、保证服务的高可用性以及如何处理分布式系统中的复杂性。
|
2天前
|
缓存 NoSQL Java
构建高性能微服务架构:Java后端的实践之路
【5月更文挑战第5天】在当今快速迭代和高并发需求的软件开发领域,微服务架构因其灵活性、可扩展性而受到青睐。本文将深入探讨如何在Java后端环境中构建一个高性能的微服务系统,涵盖关键的设计原则、常用的框架选择以及性能优化技巧。我们将重点讨论如何通过合理的服务划分、高效的数据存储策略、智能的缓存机制以及有效的负载均衡技术来提升整体系统的响应速度和处理能力。
|
2天前
|
监控 持续交付 数据库
构建高效可靠的微服务架构:策略与实践
【5月更文挑战第5天】 在当今快速发展的软件开发领域,微服务架构已成为构建可扩展、灵活且容错的系统的首选模式。本文将探讨如何通过一系列经过验证的策略和最佳实践来构建一个高效且可靠的微服务系统。我们将深入分析微服务设计的核心原则,包括服务的细粒度划分、通信机制、数据一致性以及容错处理,并讨论如何利用现代技术栈来实现这些目标。文章将提供一套综合指南,旨在帮助开发者和架构师在保证系统性能的同时,确保系统的稳健性。
21 4