当前位置: 首页 > news >正文

多尺度目标检测【动手学深度学习】

        在上篇博客《锚框【目标检测】》中,我们以输入图像的每个像素为中心,生成多个锚框。基本而言,这些锚框代表了图像不同区域的样本。然而如果以每个像素都生成的锚框,最后可能会得到太多需要计算的锚框。想象一个561×728的输入图像,如果以每个像素为中心生成五个形状不同的锚框,就需要在图像上标记和预测超过200万个锚框(561×728×5)。

多尺度锚框

        减少图像上的锚框数量并不困难,比如可以在输入图像中均匀采样一小部分像素,并以它们为中心生成锚框。直观地说,比起较大的目标,较小的目标在图像上出现的可能性更多样。例如1×1、1×2和2×2的目标可以分别以4、2和1种可能的方式出现在2×2的图像上。因此当使用较小的锚框检测较小的物体时,我们可以采样更多的区域,而对于较大的物体,我们可以采样较少的区域。

        我们将卷积图层的二维数组输出称为特征图。通过定义特征图的形状,我们可以确定任何图像上均匀采样锚框的中心。

        display_anchor函数定义如下,我们在特征图(fmap)上生成锚框(anchors),每个单位像素作为锚框的中心。然后将特征图中的锚框后向映射至输入图像。

import torch as t
import matplotlib.pyplot as pltimg = plt.imread('catdog.jpg')
h,w = img.shape[:2]def display_anchors(fmap_w, fmap_h, s):# 前两个维度的值不影响输出fmap = t.zeros((1,10,fmap_h, fmap_w), dtype=t.float32)an
http://www.lryc.cn/news/125828.html

相关文章:

  • elasticsearch 基础
  • 【BUG】docker安装nacos,浏览器却无法访问到页面
  • C#引用Web Service 类型方法,添加搜索本地服务器Web Service 接口调用方法
  • yolov8训练进阶:新增配置参数
  • 轻量级自动化测试框架WebZ
  • 如何实现安全上网
  • Redis心跳检测
  • 【数据库】Sql Server可视化工具SSMS条件和SQL窗格以及版本信息
  • Python SFTP 详细使用
  • MyBatis的XML映射文件
  • UML-类图和对象图
  • 升级指定版本Node.js或npm
  • UE4/5 GAS技能系统入门3 - GameplayEffect
  • Linux交叉编译opencv并移植ARM端
  • TypeScript教程(一)简介与安装
  • 做视频_Style
  • vue3使用pinia和pinia-plugin-persist做持久化存储
  • 数据结构入门指南:二叉树
  • 大数据课程J2——Scala的基础语法和函数
  • 03-基础入门-搭建安全拓展
  • 穿越未来:探索虚拟现实科技的未来前景
  • SQL- 每日一题【1327. 列出指定时间段内所有的下单产品】
  • [xgb] plot tree
  • 【云原生】Kubernetes 概述
  • 9.2.2Socket(TCP)
  • “解锁IDEA的潜力:高级Java Maven项目配置指南”
  • [足式机器人]Part5 机械设计 Ch00/01 绪论+机器结构组成与连接 ——【课程笔记】
  • 机器学习:隐马尔可夫模型(HMM)
  • 使用插件实现pdf,word预览功能
  • yolov5模型构建源码详细解读(yaml、parse_model等内容)