mmdetection中的dataset pipline

news/2024/9/19 13:44:05/文章来源:https://www.cnblogs.com/seekwhale13/p/18381113

参考:
轻松掌握 MMDetection 整体构建流程(二)
商汤开源目标检测工具箱mmdetection代码详解(三)----------mmdetection数据的输入、处理过程

1. mmdetection中的数据加载流程

pipline中由一系列数据处理模块对数据集进行流水线般的处理
image
要注意的是,上述pipline流程在3.x版本中已经有了变化
image

2.处理模块

2.1 LoadImageFromFile

LoadImageFromFile的主要功能是从图片路径加载一张图片,返回图片数据
的原函数在mmcv包中,路径为mmcv/transforms/loading.py,该函数的输入参数为:img_path

class LoadImageFromFile(BaseTransform):"""Load an image from file.Required Keys:- img_pathModified Keys:- img- img_shape- ori_shapeArgs:

2.2 LoadAnnotations

主要功能:根据数据集加载并处理“instances”和“seg_map”标注信息
文件路径:mmcv/transforms/loading.py
输入参数:- instances- bbox (optional)- bbox_label- keypoints (optional)- seg_map_path (optional)
输出:- gt_bboxes (np.float32)- gt_bboxes_labels (np.int64)- gt_seg_map (np.uint8)- gt_keypoints (np.float32)class LoadAnnotations(BaseTransform):...

2.3 Resize

主要功能:调整图片尺寸
文件路径:/mmcv/transforms/processing.py
输入参数:- img- gt_bboxes (optional)- gt_seg_map (optional)- gt_keypoints (optional)会修改的字典信息:- img- gt_bboxes- gt_seg_map- gt_keypoints- img_shape
添加信息:- scale- scale_factor- keep_ratioclass Resize(BaseTransform):...

2.4 RandomFlip

主要功能:翻转图像及其相关的标注(如边界框 bbox、关键点 keypoints 和分割图 segmentation map)
文件路径:/mmcv/transforms/processing.py
输入参数:- img- gt_bboxes (optional)- gt_seg_map (optional)- gt_keypoints (optional)会修改的字典信息:- img- gt_bboxes (optional)- gt_seg_map (optional)- gt_keypoints (optional)
添加信息:- flip- flip_direction- swap_seg_labels (optional)class RandomFlip(BaseTransform):...

2.5 PackDetInputs

主要功能:为检测/语义分割/全景分割打包输入数据
文件路径:mmdet/datasets/transforms/formatting.py
输入参数:-results (dict): Result dict from the data pipeline.打包并返回:dict:- 'inputs' (obj:`torch.Tensor`): The forward data of models.- 'data_sample' (obj:`DetDataSample`): The annotation info of thesample.class PackDetInputs(BaseTransform):...

Normalize

主要功能:归一化图像
文件路径:/mmcv/transforms/processing.py
输入参数:- img会修改的字典信息:- img
添加信息:- img_norm_cfg- mean- std- to_rgbclass Normalize(BaseTransform):...

Pad

主要功能:填充图像和分割图
文件路径:/mmcv/transforms/processing.py
输入参数:- img- gt_bboxes (optional)- gt_seg_map (optional)会修改的字典信息:- img- gt_seg_map- img_shape添加信息:- pad_shape- pad_fixed_size- pad_size_divisorclass Pad(BaseTransform):...

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

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

相关文章

南沙信奥赛陈老师讲题:1331:【例1-2】后缀表达式的值

1331:【例1-2】后缀表达式的值 时间限制: 10 ms 内存限制: 65536 KB提交数:65784 通过数: 17299 【题目描述】从键盘读入一个后缀表达式(字符串),只含有0-9组成的运算数及加(+)、减(—)、乘(*)、除(/)四种运算符。每个运算数之间用一个空格隔开,不需要…

windows解决0x80070035找不到网络路径的问题

windows进行网络共享,无法访问,报错0x80070035,找了好几个办法都没有用.无意间尝试开启有密码保护的共享后,成功解决问题. 搜索高级共享->管理高级共享设置->密码保护的共享->勾选有密码保护的共享

使用nginx代理,简单实现一个静态网页功能(扫描二维码)

1、创建项目目录 mkdir my-image-page cd my-image-page2、准备图片和HTML文件上传图片:将 image.jpg 上传到 my-image-page 目录。创建HTML文件:在同一目录下创建一个 index.html 文件<!DOCTYPE html> <html lang="en"> <head><meta charset…

P2757 [国家集训队] 等差子序列 和 CF452F Permutation

讲解 P2757 [国家集训队] 等差子序列 和 CF452F Permutation。考虑枚举中间数,将问题转化为区间判定是否回文,使用线段树与哈希算法解决。题意: 给定一个长度为 \(n\) 的排列 \(a\),判断其中是否有长度 \(\ge 3\) 的等差数列。 \(1 \le n \le 5 \times 10^5\)。 思路: 首…

C# 获取PDF页面大小、方向、旋转角度

在处理PDF文件时,了解页面的大小、方向和旋转角度等信息对于PDF的显示、打印和布局设计至关重要。本文将介绍如何使用免费.NET 库通过C#来读取PDF页面的这些属性。C# 读取PDF页面大小(宽度、高度) C# 判断PDF页面方向 C# 检测PDF页面旋转角度免费库 Free Spire.PDF for .NET…

uni-app小程序(快手、抖音)getCurrentPages使用坑位记录

前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,公司项目就是主推uni-app。 坑位 最近在做一个需求,在达到一定条件的情况下我需要根据路由堆栈中是否有我指定的页面来做不同的跳转,如果路由…

WPF 路由事件2

1什么是路由事件 简单说,路由事件可以沿着视觉树VisualTree进行传递,在这视觉树中的所有对象都可以收到这个事件。前提是添加了检测。 1.1什么是逻辑树LogicalTree 简单理解:逻辑树就是我们在xaml中写的布局逻辑 如xaml代码:<Grid><StackPanel Orientation="…

算法与数据结构——栈

栈 栈(stack)是一种遵循先入后出逻辑的线性数据结构。如图所示,我们将堆叠元素的顶部称为“栈顶”,底部称为“栈底”。将吧元素添加到栈顶的操作叫做“入栈”,删除栈顶的操作叫做“出栈”。 栈的常用操作方法 描述 时间复杂度push() 元素入栈(添加至栈顶) O(1)pop() 栈顶…

LuCI Themes

OpenWrt 2020BootstrapBootstrap LightBootstrap DarkMaterialOpenWrt

指挥网络

树形图的定义:没有环,每个点(除了根节点)的入度都是\(1\),根节点的入度为\(0\) 朱刘算法的过程见OI-wiki;当没有环的时候,就满足了树形图的定义,于是可以结束;否则的话就将所有环缩点(注意此时由于每个点的入度都是\(1\),所以不可能存在两个环有公共点和公共边)得到…

处理异常

2、.map 没用用吗1、pdb、看完后 反汇编

CSS处理font-weight不生效问题

如何解决 Android 系统中文字体字重问题 翻找了几天资料,发现Noto Sans SC字体能支持中文/数字/英文字体 100,300,400,500,700,900 的字重,具体如下图所示:<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Sans+SC:300,400,…