【AI】YOLO学习笔记

作为经典的图像识别网络模型,学习YOLO的过程也是了解图像识别的发展过程,对于初学者来说,也可以了解所采用算法的来龙去脉,构建解决问题的思路。

1.YOLO V1

论文地址:https://arxiv.org/abs/1506.02640

YOLO(You Only Look Once)是一种基于深度神经网络的对象识别和定位算法,其最大的特点是运行速度很快,可以用于实时系统。YOLO V1不同于之前模型的特点是:创造性的将候选区和对象识别这两个阶段合二为一,所以速度是它优于其他模型的点。
YOLO 网络模型
在这里插入图片描述
YOLO并没有真正去掉候选区,而是采用了预定义的预测区。也就是将图片划分为 7*7=49 个网格(grid),每个网格允许预测出2个边框(bounding box,包含某个对象的矩形框)。
模型的输入为448*448*3的图像,最后输出的是7*7*30的tensor,7*7是网格的大小,后面的30则是有两部分组成,前10位是描述的两个bounding box,分别是x,y,h,w,c,xy是中心点的位置,wh是预选框的宽度和高度,c是预选框的置信度;后20位是代表方框所属类别的概率。为了达成这种30位的输出层效果,我们需要通过损失函数来对模型进行限制。

在这里插入图片描述
NMS 非极大值抑制
简单来说,每个物体只保留最准确(置信度最高)的一个矩形框,其余的全删除。
YOLO采用重叠度的方式来进行筛选:
将候选框按照置信度排序,依次计算两个候选框的重叠度,当重叠度大于我们设定的阈值时,则丢弃置信度较小的候选框,从而达到减少候选框的目的。

IoU= 并集面积/交集面积​ = union_area/intersection_area

2.YOLO V2

YOLO V2的改进:

  • Batch Normalization
    V2版本舍弃Dropout,卷积后全部加入Batch Normalization,
    网络的每一层的输入都做了归一化,收敛相对更容易

  • 更大的分辨率
    V1训练时用的是224*224,测试时使用448*448,
    V2训练时额外又进行了10次448*448 的微调

  • 网络结构
    采用Darknet网络模型;去掉了FC层,全部采用卷积层;经过5次降采样,最后的输出为13*13的网格,5次降采样每次降为原来的一半,所以最出的输入是416*416,即便需要自己修改输入数据的大小,也要确保是32的倍数。
    采用1*1的卷积,减少计算量;

  • 聚类提取先验框
    k-means聚类中采用的距离为1-IOU;

  • Anchor Box
    通过引入anchor boxes,使得预测的box数量更多(13*13*n)

  • Directed Location Prediction
    V2中并没有直接使用偏移量,而是选择相对grid cell的偏移量

  • 感受野
    采用多层卷积,感受野更大

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/226697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件设计师——计算机网络(三)

📑前言 本文主要是【计算机网络】——软件设计师——计算机网络的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1…

Automotive Bionics

汽车仿生学是一种通过模拟生物系统的某些特征来设计汽车的方法。一些典型的汽车仿生学例子包括: 鲨鱼式车型:这种车型的设计灵感来源于鲨鱼的流线型身体,这种设计能够减少空气阻力和水阻力,提高车辆的燃油效率和行驶速度。 甲壳虫…

汽车EDI:Chrysler EDI项目案例

菲亚特克莱斯勒汽车Fiat Chrysler Automobiles(FCA)是一家全球性汽车制造商,主营产品包括轿车、SUV、皮卡车、商用车和豪华车等多种车型。其旗下品牌包括菲亚特、克莱斯勒、道奇、Jeep、Ram、阿尔法罗密欧和玛莎拉蒂等。 Chrysler通过EDI来优化订单处理、交付通知、…

Fuzz进阶教学——基于机器学习的模糊测试相关工作

【参考文献】[1]王鹃,张冲,龚家新等.基于机器学习的模糊测试研究综述[J].信息网络安全,2023,23(08):1-16. 目录 一、机器学习在测试用例生成中的应用 1、文件解析软件的测试用例生成 2、网络协议的测试用例生成 3、代码解析工具的测试用例生成 二、机器学习在测试用例变异中…

TrustGeo代码理解(三)model.py

代码链接:https://github.com/ICDM-UESTC/TrustGeo 一、导入各种模块和神经网络类 from math import gamma from re import L from .layers import * import torch import torch.nn as nn import torch.nn.functional as Func import numpy as np 这段代码是一个 Python 模…

Python中的程序逻辑经典案例详解

我的博客 文章首发于公众号:小肖学数据分析 Python作为一种强大的编程语言,以其简洁明了的语法和强大的标准库,成为了理想的工具来构建这些解决方案。 本文将通过Python解析几个经典的编程问题。 经典案例 水仙花数 问题描述&#xff1a…

极坐标下的牛拉法潮流计算39节点MATLAB程序

微❤关注“电气仔推送”获得资料(专享优惠) 潮流计算: 潮流计算是根据给定的电网结构、参数和发电机、负荷等元件的运行条件,确定电力系统各部分稳态运行状态参数的计算。通常给定的运行条件有系统中各电源和负荷点的功率、枢纽…

设计模式之建造者模式(二)

目录 概述概念角色类图适用场景 详述画小人业务类的介绍代码解析 建造者基本代码类介绍代码解析 总结设计原则其他 概述 概念 建造者模式是一种创建型设计模式,它可以将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。 角色 …

Python函数和模块的使用

我的博客 文章首发于公众号:小肖学数据分析 在开发过程中,函数和模块帮助我们将复杂的代码逻辑分解为可管理的部分,提升代码的可读性、可维护性和重用性。 本文将介绍如何在Python中有效利用函数和模块,提供详细的示例。 函数的…

【C++干货铺】会搜索的二叉树(BSTree)

个人主页点击直达:小白不是程序媛 C系列专栏:C干货铺 代码仓库:Gitee 目录 前言: 二叉搜索树 二叉搜索树概念 二叉搜索树操作 二叉搜索树的查找 二叉搜索树的插入 二叉搜索树元素的删除 ​二叉搜索树的实现 BSTree结点 …

GraphicsProfiler 使用教程

GraphicsProfiler 使用教程 1.工具简介:2.Navigation介绍2.1.打开安装好的Graphics Profiler。2.2.将手机连接到计算机,软件会在手机中安装一个GraphicsProfiler应用(该应用是无界面的)。2.3.Show files list2.4.Record new trace2.4.1.Appli…

TSINGSEE视频智能解决方案边缘AI智能与后端智能分析的区别与应用

视频监控与AI人工智能的结合是当今社会安全领域的重要发展趋势。随着科技的不断进步,视频监控系统已经不再局限于简单的录像和监视功能,而是开始融入人工智能技术,实现更加智能化的监控和安全管理。传统的监控系统往往需要人工操作来进行监控…

Windows11安装python模块transformers报错Long Path处理

Windows11安装python模块transformers报错,报错信息如下 ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: C:\\Users\\27467\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\\Local…

xcode 修改 target 中设备朝向崩溃

修改xcode的target中的设备朝向导致崩溃。 从日志上看好像没有什么特别的信息。 之后想了想,感觉这个应该还是跟xcode的配置有关系,不过改动的地方好像也只有plist。 就又翻腾了半天plist中的各种配置项,再把所有的用户权限提示相关的东西之…

重要通知!中国电信警告:用户须关闭路由器“双频合一”功能

在网络的无尽时空里,一场电信官方的宣战正酝酿中,目标锁定在我们日常生活中不可或缺的WiFi身上~ 最新消息曝光,竟然是路由器内藏的一个名为“双频合一”的功能引发了这场轰轰烈烈的网络风暴。 我们时常觉得WiFi就像是隐身在我们生活中的超级英…

call 和 apply:改变对象行为的秘密武器(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

IntelliJ IDEA 运行 若依分离版后端

一、本地运行 一、选择打开IntelliJ IDEA项目 二、选择若依项目 如:java123 三、等待右下角的准备工作(有进度条的)完成 四、修改MySQL 五、修改资源上传目录 六、修改redis 七、然后点击运行 八、成功图 九、测试访问 二、部署服务器运行 …

初级数据结构(五)——树和二叉树的概念

文中代码源文件已上传&#xff1a;数据结构源码 <-上一篇 初级数据结构&#xff08;四&#xff09;——队列 | NULL 下一篇-> 1、树结构&#xff08;Tree&#xff09; 1.1、树结构的特点 自然界中的树由根部开始向上生长&#xff0c;随机长出分支&…

对自己的博客网站进行DOS攻击

对自己的博客网站进行DOS攻击 先说明一点,别对别人的网站进行ddos/dos攻击(dos攻击一般短时间攻击不下来),这是违法的,很多都有自动报警机制,本篇博客仅用于学习,请勿用于非法用途 安装kaili Linux 进入KALI官网,下载iso镜像文件 vmware新建虚拟机,选择自定义 点击下一步 …

ROS-ROS运行管理-工作空间覆盖;节点、话题、参数名称重名

文章目录 一、工作空间覆盖二、节点名称重名2.1 rosrun设置命名空间与重映射2.2 launch文件设置命名空间与重映射2.3 编码设置命名空间与重映射 三、话题名称设置3.1 rosrun设置话题重映射3.2 launch文件设置话题重映射3.3 编码设置话题名称 四、参数名称设置4.1 rosrun设置参数…