目标检测之Yolov3与Anchor-Free

2023-10-27

原文:目标检测之RCNN、Yolo、SSD、RetinaNet与Anchor-Free_dagongji10的博客-CSDN博客

2.2 Yolo v3(2018)


Yolo-v3 论文比 Yolo-v2 还要随意,具体优化内容主要有:

  1. bbox的预测:基本上还是沿用 Yolo-v2 那一套(对 anchor 的offset),但是 Yolo-v3 使用逻辑回归对每一个框打分,该分数用于选取与 GroundTruth 最为契合的 bbox(之前使用 IOU 最大的bbox),被舍弃掉的 bbox 将只会参与置信度损失的计算。
  2. 分类预测:Yolo-v2 对于分类使用的是softmax,得到一个20维的向量;Yolo-v3 改变这一做法,它使用多个逻辑分类器,每一个分类器用来判断 bbox 是否属于一个类,然后用二元交叉熵计算损失。这样做的好处是,可以应对 Open Images Dataset 这样的一个物体同时属于多个类的情况。
  3. 多尺度预测:Yolo-v3 效仿 FPN 的多级特征金字塔,通过上采样和 concat 大尺度特征,可以生成除 13*13 以外的 26*26、52*52 特征图,特征图的每一个特征点拥有3个 anchor,每一个 anchor 拥有4个 offset 数据、1个置信度、80个类别信息。这些 anchor 同样通过 K-means 来获得,只是 k = 9 k=9k=9,然后均分给多尺度的每一层。文章给出 416*416 尺度下图像的 anchor 尺寸:
(10×13)、(16×30)、(33×23)、(30×61)、(62×45)、(59×119)、(116 × 90)、(156 × 198)、(373 × 326)


1
特征提取:Yolo-v2 中使用了一个“透层”将 26*26 的特征图连接到 13*13 的特征图上,这有点类似于ResNet的残差思想;Yolo-v3 直接加入残差块,去掉池化的同时增加卷积的步长,保证输入图像经过5次下采样,由此诞生了Darknet-53。

在这里插入图片描述
2.3 Yolo v3的实现与效果
作为工程项目来说,Yolo-v3的检测效果应该是相当不错的,这里我们不去讨论mAP、COCO数据集上的表现等刷分用的参数,就仅仅看它在实际应用中的performance,速度、精度都很令人满意。重要的是,Yolo-v3开源代码的使用极其简单,即便是看源码、根据自己的需求修改源码都很方便(主要是代码写得很清晰)。参考Tensorflow版本的项目,得到下图结果。
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

目标检测之Yolov3与Anchor-Free 的相关文章

  • 如何查看Databricks中的所有数据库和表

    我想列出 Azure Databricks 中每个数据库中的所有表 所以我希望输出看起来像这样 Database Table name Database1 Table 1 Database1 Table 2 Database1 Table
  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 通过最小元素比较对 5 个元素进行排序

    我必须在 python 中使用元素之间的最小比较次数来建模对 5 个元素的列表进行排序的执行计划 除此之外 复杂性是无关紧要的 结果是一个对的列表 表示在另一时间对列表进行排序所需的比较 我知道有一种算法可以通过 7 次比较 总是在元素之间
  • Python - StatsModels、OLS 置信区间

    在 Statsmodels 中 我可以使用以下方法拟合我的模型 import statsmodels api as sm X np array 22000 13400 47600 7400 12000 32000 28000 31000 6
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 如何使用Conda下载python包并随后离线安装?

    我知道通过 pip 我可以使用以下命令下载 Python 包 但 pip install 破坏了我的内部包依赖关系 当我做 pip download
  • 测试 python Counter 是否包含在另一个 Counter 中

    如何测试是否是pythonCounter https docs python org 2 library collections html collections Counter is 包含在另一个中使用以下定义 柜台a包含在计数器中b当且
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P

随机推荐

  • 【编码】使用JavaScript做中文编码转换

    背景 用git bash跑curl命令的时候 会碰到中文无法输入or无法正常工作的情况 这里介绍先把中文转码 就可以正常使用了 这里介绍JavaScript的方法 1 在url地址上的GET参数是中文时 使用 console log enc
  • Android 13 - Media框架(9)- NuPlayer::Decoder

    这一节我们将了解 NuPlayer Decoder 学习如何将 MediaCodec wrap 成一个强大的 Decoder 这一节会提前讲到 MediaCodec 相关的内容 如果看不大懂可以先跳过此篇 原先觉得 Decoder 部分简单
  • Selenium JSON通信协议

    JSON wire protocol JSONWP 是WebDriver开发者编写的一种通信机制 这个通信协议是一个预定义的特殊设置 通过RESTful API暴露标准端口 WebDriver和JSONWP目的是通过Firefox driv
  • 7-3 成绩等级

    7 3 成绩等级 给出一个成绩 要求输出成绩等级 A B C D E 90分以上为 A 80到89分为 B 70到79分为 C 60到69分为 D 60分以下为 E 输入格式 在一行输入一个整数n n lt 100 输出格式 在一行中输出成
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR添加萤石云设备详细操作来啦!

    安防视频监控 视频集中存储 云存储 磁盘阵列EasyCVR平台可拓展性强 视频能力灵活 部署轻快 可支持的主流标准协议有国标GB28181 RTSP Onvif RTMP等 以及支持厂家私有协议与SDK接入 包括海康Ehome 海大宇等设备
  • QT With OpenGL(延时着色法)(Deferred Shading)

    文章目录 1 创建G Buffer帧缓存 2 修改各类型物体的着色器 3 测试G Buffer 4 使用G Buffer生成场景 5 添加高光项 1 如果为光源物体 则不进行光照结果计算 2 对高光项进行高斯模糊 3 泛光合成 更多 光体积
  • 蓝桥杯505--数字三角形

    题目描述 上图给出了一个数字三角形 从三角形的顶部到底部有很多条不同的路径 对于每条路径 把路径上面的数加起来可以得到一个和 你的任务就是找到最大的和 路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数 此外 向左
  • 【数据库课程设计】企业库存管理系统

    作者 何翔 学院 计算机学院 学号 04191315 班级 软件1903 完整资料 https download csdn net download HXBest 72361220
  • 开发板连续显示图片

    本文分享自中移OneOS微信公众号 万耦中的二次元世界 作者 小M哥 BAD APPLE原本是东方游戏里的一首歌曲 后来被加了一个MAD 由于MAD非常惊艳华丽 使得BAD APPLE被大家喜爱 在程序员圈子里 有一个传言 有屏幕的地方 就
  • 性能测试怎么做?性能测试重点和各项性能测试流程(超级详细)

    前言 性能测试基础 1 性能测试一般分为 负载测试 压力测试 基准测试 稳定性测试 扩展性测试 2 常见的性能测试指标 响应时间 TPS QPS 并发用户 PV UV 点击率 吞吐量 资源开销 3 性能测试的场景 业务场景 系统的业务处理流
  • windows添加开机启动项

    我们时常会需要开机就启动一些软件 例如飞鸽 微信等等 windows添加开机启动项有很多种 例如 添加到 启动 文件夹 添加到注册表 使用任务计划程序 以下只列举第一种 添加到启动文件夹 测试环境为Win 10 解决方案 1 按下 Win
  • python中判断类型函数isinstance()

    函数isinstance 可以判断一个变量的类型 既可以用在Python内置的数据类型如str list dict 也可以用在我们自定义的类 它们本质上都是数据类型 假设有如下的 Person Man和 Woman的定义及继承关系如下 cl
  • gradle 任务依赖实现复制任务。

    近期遇到一个需求 由于很少研究gradle相关 所以在实现上卡了一阵子 现已基本实现需求 回过头来记录一下 需求 项目中接入腾讯bugly 使用其热更新功能 由于热更新目前不支持自定义补丁包的生成路径 因此会产生一个问题就是 补丁包生成后位
  • HarmonyOS开发:走进静态共享包的依赖与使用

    前言 在上一篇 我们进行了动态共享包的开发和使用 由于动态共享包有一定的局限性 比如 调用共享包资源还得要通过工具类进行调用 再比如仅用于应用内部代码 资源的共享 如果我想要开源 以远程依赖的方式给任何一个想要用的人进行使用 动态共享包就无
  • 阿里开源的缓存框架JetCache

    之前一直在用Spring Cache进行接口数据的缓存 主要是Spring Cache在对具体key缓存失效时间的设置不是很方法 还要自己去扩展 无意中发现了阿里的JetCache 大部分的需求都能满足 并且有一些很实用的功能 今天给大家介
  • activate : 无法将“activate”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1

    在pycharm里面错误展示 无法激活虚拟环境 解决方法 以管理员身份运行 PowerShell 并输入 set executionpolicy remotesigned 再输入 y 如图 输入完后重新打开pycharm 再次输入 acti
  • SpringBoot项目整合Mybatis时Mapper.xml文件的存放位置

    目录 方式一 放在与Mapper接口同级目录 方式二 在resources创建Mapper接口同名文件夹用来存放Mapper xml文件 方式三 在resources目录下创建mapper文件夹存放mapper xml 推荐 方式一 放在与
  • git 签出(恢复)指定文件

    在项目开发中 偶尔会因为误删文件或其他原因需要从git仓库中恢复某些文件 此篇文章将介绍如何通过git从历史提交记录 分支记录恢复指定文件 1 git checkout 说明 使用git checkout除了可以切换分支外 还可以签出指定文
  • Elasticsearch Java High Level REST Client(Exists API)

    Exists API 如果文档存在 则existsAPI返回true 否则返回false Exists请求 它就像Get API一样使用GetRequest 支持所有可选参数 由于exists 只返回true或false 我们建议关闭获取
  • 目标检测之Yolov3与Anchor-Free

    原文 目标检测之RCNN Yolo SSD RetinaNet与Anchor Free dagongji10的博客 CSDN博客 2 2 Yolo v3 2018 Yolo v3 论文比 Yolo v2 还要随意 具体优化内容主要有 bbo