白话入门目标检测(一)

2023-11-11

一、目标检测网络的基本构成:

Backbone+Neck+Detection head

Backbone的目标是提取图像中的特征,但是仅仅提取特征是无法完成目标检测的任务的,需要后续的网络从这些提取到的特征中检测目标目标的位置和类别。后续的网络就被称为Detection head。随着技术的发展,为了充分利用好Backbone提取到的特征信息,以和最终的目标检测任务相关,很多结构可以被插在Backbone和Detection head中间,被称为Neck。

二、MMDet代码解读

MMdet是商汤科技和香港中文大学开源的一款基于Pytorch的深度学习目标检测工具箱。该工具箱支持很多检测框架,有了这个框架我们就可以站在前人的肩膀上(mogai)推陈出新。因为大部分企业或者实验室已经在服务器上安装好了框架,在这篇文章中不再赘述,直接快速上手。以下按数据流的顺序进行介绍

2.1dataset

./configs/__base__/datasets/coco_detection中的data_root就是数据路径,train_pipeline是用于图像增强函数的参数文件。

./mmdet/datasets/custom.py中的CustomDataset类完成数据初始化,方法__getitem__按照idx获取训练数据和注释

2.2dataloader

./code/mmdet/datasets/samplers 中的类GroupSampler通过迭代器将数据分batch输入到模型中,

2.3config--创建模型配置的字典

./code/configs 里的模型_base_是相关配置

_base_ = './lsnet_segm_r50_fpn_mstrain_2x_coco.py'

./code/configs/_base_/datasets/coco_detection.py

dataset_type = 'CocoDataset'    #数据集目录
data_root = 'data/coco/'         #数据集根目录
img_norm_cfg = dict(
    mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)   #输入图像初始化,减去均值mean并除以方差std,to_rgb表示将bgr转换为rgb

配置文件的内容回放在一个字典里_cfg_dict(./mmcv/utils/config.py中的@staticmethod def _file2dict实现),这个字典是config类的属性

    def __setattr__(self, name, value):
        if isinstance(value, dict):
            value = ConfigDict(value)
        self._cfg_dict.__setattr__(name, value)

cfg中type键的值就是采用backbone的类型,比如FasterCNN

2.4model

./code/mmcv/mmcv/ttils

def build_from_cfg(cfg, registry, default_args=None):
    """Build a module from config dict.

    Args:
        cfg (dict): Config dict. It should at least contain the key "type".
        registry (:obj:`Registry`): The registry to search the type from.
        default_args (dict, optional): Default initialization arguments.

    Returns:
        object: The constructed object.
    """

根据cfg中的type键的值找到registry中对应的类完成初始化

类的初始化在./code/mmdet/models/detectors中two_stage.py

class TwoStageDetector(BaseDetector):
    """Base class for two-stage detectors.

    Two-stage detectors typically consisting of a region proposal network and a
    task-specific regression head.
    """

2.5优化器

1)

2)

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

白话入门目标检测(一) 的相关文章

  • 基于深度学习的高精度人体摔倒行为检测识别系统(PyTorch+Pyside6+YOLOv5模型)

    摘要 基于深度学习的高精度人体摔倒行为检测识别系统可用于日常生活中或野外来检测与定位人体摔倒行为目标 利用深度学习算法可实现图片 视频 摄像头等方式的人体摔倒行为目标检测识别 另外支持结果可视化与图片或视频检测结果的导出 本系统采用YOLO
  • 目标检测从零开始的学习之路--原理篇

    安装相关 Anaconda官网下载安装下一步进行到底 相关环境那儿记得打勾 不然就自己添加下环境变量就好 另 一般进官网就找Download 再找相关想下载的版本 适配系统之类的 这里下载的是Python 3 7 version for W
  • 【计算机视觉

    文章目录 一 问题 二 个人的理解 2 1 线性层的理解 2 2 pseudo words的理解 2 2 1 详细一点 2 2 2 为什么可以使用文本嵌入空间中的技术 2 2 3 pseudo word的本质是什么 2 2 4 好处 2 2
  • YOLOV2个人理解总结

    YOLOv2框架图 YOLOv2改进之处 1 Batch Normalization BN Batch Normalization 层简单讲就是对网络的每一层的输入都做了归一化 这样网络就不需要每层都去学数据的分布 收敛会快点 原来的YOL
  • [YOLO专题-23]:YOLO V5 - ultralytics代码解析-网络子结构详解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122369993 目录 第1章 网络总
  • 【目标检测】【语义分割】—Mask-R-CNN详解

    一 mask rcnn简介 论文链接 论文链接 论文代码 Facebook代码链接 Tensorflow版本代码链接 Keras and TensorFlow版本代码链接 MxNet版本代码链接 mask rcnn是基于faster rcn
  • 【目标检测】32、让你一文看懂且看全 NMS 及其变体

    文章目录 一 NMS 1 1 背景 1 2 方法 1 3 代码 1 4 不足 二 Soft NMS 2 1 背景 2 2 方法 2 3 效果 2 4 代码 2 5 不足 三 Softer NMS 3 1 背景 3 2 方法 四 IoU Ne
  • 【Transformer系列(3)】 《Attention Is All You Need》论文超详细解读(翻译+精读)

    前言 哒哒 时隔好久终于继续出论文带读了 这次回归当然要出一手王炸呀 没错 今天我们要一起学习的就是传说中的Transformer 在2021年Transformer一经论文 Attention is All You Need 提出 就如龙
  • 基于深度学习实现实时视频目标检测

    前言 实时视频目标检测是计算机视觉领域的研究热点之一 其应用场景包括智能监控 自动驾驶 机器人视觉等多个领域 深度学习技术的快速发展使得实时视频目标检测变得更加可行和准确 本文提出一种基于深度学习实现的实时视频目标检测系统 使用Python
  • (linux系统下)MMCV及MMClassification教程及安装问题解决

    说一下依托关系 MMCV是面向计算机视觉的一个基础库 它支持OpenMMLab的各个模块包括MMClassification图像分类 MMDetectionm目标检测 MMOCR文字检测识别等等 本文主要详细介绍一下mmcv和mmcls的安
  • YOLOV5加速之TensorRT篇

    之前写过一篇Android版本yolov5s的博客 最近工作搞了下TensorRT 也遇到几个坑不过最终还是实现了 做一下小小的分享 这里直接上github上大牛的连接 我的代码是在他的基础上改的 里面有很多模型的加速直接看里面的yolov
  • YOLOv8改进开源

    大致介绍一下AI全栈技术社区的相关内容 主要涵盖了YOLO全系列模型的改进 量化 蒸馏 剪枝以及不同工具链的使用 同时也涵盖多目标跟踪 语义分割 3D目标检测 AI模型部署等内容 具体内容小伙伴们可以参考下面的目录部分 所有内容均有答疑服务
  • 二进制.bin文件切分、bintopng、write

    import numpy as np import cv2 import os Your file path file dep open r E data 3DHuman Detection withoutlabel 20180715 50
  • yolo 车辆测距+车辆识别+单目测距(双目测距)

    基于yolo目标检测算法实现的车前道路中的车辆和行人检测 并且可以估测出目标与本车之间的距离 一 视频展示 yolo车距1 订阅专栏获得源码 提供完整代码 无需看下文 二 单目测距原理 图中有一个车辆 且车辆在地面上 其接地点Q必定在地面上
  • 【DETR】3、Conditional DETR

    文章目录 一 Conditional DETR 是怎么被提出来的 二 Conditional DETR 的具体实现 2 1 框架结构 2 2 DETR 的 cross attention 和 Conditional DETR 的 cross
  • 目标检测YOLO实战应用案例100讲-自动驾驶复杂场景下目标检测(续)

    目录 3 2 YOLOv5框架的分析 3 3改进算法的基本思想 3 4改进聚类算法 3 5重构损失函数模型和NMS算法 lt
  • 深入探讨人工智能目标检测:算法、应用与未来趋势

    导言 人工智能目标检测是计算机视觉领域的重要任务之一 旨在使计算机系统能够自动识别并定位图像或视频中的特定目标 本文将深入研究人工智能目标检测的算法原理 广泛应用以及未来发展趋势 1 目标检测算法 传统算法 基于手工设计特征和分类器的方法
  • 目标检测深度学习的anchor

    在目标检测深度学习中 Anchor是一种预定义的框 用于在图像中采样不同位置 尺度和长宽比例的区域 作为目标检测模型的候选区域 Anchor是Faster R CNN等基于Anchor的目标检测算法的核心概念 具体来说 Anchor有以下几
  • 多目标跟踪使用较多的数据集

    MOT change网站 MOT Challenge
  • 基于改进RoI Transformer的遥感图像多尺度旋转目标检测

    源自 应用光学 作者 刘敏豪 王堃 金睿蛟 卢天 李璋 人工智能技术与咨询 发布 摘 要 旋转目标检测是遥感图像处理领域中的重要任务 其存在的目标尺度变化大和目标方向任意等问题给自动目标检测带来了挑战 针对上述问题 提出了一种改进的RoI

随机推荐

  • STM32的USART发送中断标志位USART_IT_TXE和USART_IT_TC

    与STM32的发送中断相关的标志位有USART IT TXE和USART IT TC 根据ST芯片手册的信息可知 USART在发送移位寄存器 Transmit Shift Register 前面 还有一个TDR Transmit data
  • C#多线程开发总结

    1 关闭Form窗体进程还在的问题方法一 Thread IsBackground true 方法二 System Environment Exit 0 方法三 FormClosing方法内手动释放所有托管资源 注意 强行关闭时都要做好全局未
  • IDEA 如何设置和修改项目属性?

    找到project structure按钮 1 点击界面上的project structure按钮或者使用快捷键ctrl alt shift s打开工程设置页 END 设置project默认的jdk和java语言级别
  • PHP 合成图片并在图片上加文字

    Info PHP把一张图片作为背景和另一张图片合成新图片 public function createImage path 1 XXXXX attachment images 20200801 4d8e641215b9ed593298ff6
  • 域名系统几类服务器,域名服务器可分为什么类型

    域名服务器是进行域名 domain name 和与之相对应的IP地址 IP address 转换的服务器 DNS中保存了一张域名 domain name 和与之相对应的IP地址 IP address 的表 以解析消息的域名 把域名翻译成IP
  • 使用axios.post()传递多个参数时出现中文乱码问题

    方式一 var vm new Vue el app data id name age methods getStudentInf axios post servelt02 do 处理路径 id a0022 name 李思思 传递的参数 这是
  • 基于蚁群算法的障碍物路径搜索算法的MATLAB仿真

    基于蚁群算法的障碍物路径搜索算法的MATLAB仿真 障碍物路径搜索是一个重要的问题 在许多实际应用中都有广泛的应用 例如无人机路径规划 机器人导航等 蚁群算法是一种基于蚂蚁觅食行为的启发式优化算法 被广泛应用于解决路径搜索问题 本文将介绍如
  • 部署记录laravrl

    500错误 检查环境变量 putenv函数解禁 pathinfo扩展 yarn prod 生成前端资源 iseed table name 数据表生成seeder文件 composer install 出错时 错误信息有详细介绍 缺少path
  • DNS协议及其工作原理

    DNS是域名系统 Domain Name System 的缩写 它是一种用于将域名转换为IP地址的分布式数据库系统 它是因特网的基石 能够使人们通过域名方便地访问互联网 而无需记住复杂的IP地址 DNS的历史可以追溯到1983年 当时因特网
  • ATLASSIAN CONFLUENCE 远程代码执行漏洞(CVE-2022-26134)漏洞复现

    一 漏洞概述 近日 Atlassian官方发布了Confluence Server和Data Center OGNL 注入漏洞 CVE 2022 26134 的安全公告 远程攻击者在未经身份验证的情况下 可构造OGNL表达式进行注入 实现在
  • 申请苹果开发者账号的方法

    1 打开苹果id注册地址 输入相关信息注册 如果已经有苹果账号了看第二步 https appleid apple com account localang zh CN 2 注册成功了 或者有苹果账号了 登录苹果开发者中心 https dev
  • 小程序的节流防抖函数

    小程序的节流防抖函数 首先在util js中定义节流防抖的方法 函数节流 时间差 如果interval不传 则默认300ms function throttle fn interval var enterTime 0 触发的时间 var g
  • TOWE一转二家用无线遥控插座,让生活变得简单

    随着科技的进步 人们的生活方式正在发生改变 越来越多的智能家居产品进入我们的生活中 为我们的生活带来了极大的便利 无线遥控插座作为一种集成了无线遥控技术与插座功能的创新产品 在家庭 办公 商业场景有着广泛的应用 同为科技 TOWE 一转二家
  • kali-linux学习笔记及经验总结(持更)

    首先 Kali liux是什么 说白了就是一个linux操作系统 它与其它的Linux系统最大的不同就是它预装了14大类 如下图 300多个安全测试和渗透软件 包括大名鼎鼎的NMap 端口扫描器 Wireshark 数据包分析器 Aircr
  • 深入学习 Redis - 分布式锁底层实现原理,以及实际应用

    目录 一 Redis 分布式锁 1 1 什么是分布式锁 1 2 分布式锁的基础实现 1 2 1 引入场景 1 2 2 基础实现思想 1 2 3 引入 setnx 1 3 引入过期时间 1 4 引入校验 id 1 5 引入 lua 脚本 1
  • 【ARIMA-WOA-LSTM】差分自回归移动平均方法-鲸鱼优化算法-LSTM预测研究(python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码实现 1 概述 差分自回归移动平均模型 ARIMA 是一种
  • 数据库应用:MySQL高级语句(二)

    目录 一 理论 1 表连接查询 2 视图 3 联集 4 交集值 5 无交集值 6 CASE 7 空值 NULL 和无值 的区别 8 正则表达式 精确查询 二 实验 1 表连接查询 2 视图 3 联集 4 交集值 5 无交集值 6 CASE
  • linux系统/proc目录下的子目录功能

    proc是一个虚拟文件系统 其下面的文件不是真实存在的 不占用实际存储空间 proc cmdline 显示内核启动的命令行 proc cpuinfo 显示系统cpu的信息 proc filesystems 显示当前注册了的文件系统列表 no
  • 计算机配置很不错但是卡,高手告诉你win10电脑明明配置很好却卡顿的详尽处理手法...

    我们最常用的系统就是win10系统 因为它非常优秀使用非常方便 但即便如此 我们在使用过程中还是会或多或少遇到一些比如win10电脑明明配置很好却卡顿的问题 有不少对系统很了解的网友 也许都不太会解决这个win10电脑明明配置很好却卡顿的问
  • 白话入门目标检测(一)

    一 目标检测网络的基本构成 Backbone Neck Detection head Backbone的目标是提取图像中的特征 但是仅仅提取特征是无法完成目标检测的任务的 需要后续的网络从这些提取到的特征中检测目标目标的位置和类别 后续的网