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

Vision Mamba修改为自己的目标检测数据集

前言

vision mamba整个代码结构和detr系列很像,可以先参看detr系列中的数据集设置:
DAB-DETR复现以及训练自己的数据集-CSDN博客

下述内容需要读者具备datset、dataloader等关系的认知。 


Vision Mamba源码

数据集的设置

build_dataset

从dataloader中读取的一批次的samples和targets

 samples是从dataloader中读取到的打包好的一批次的图像数据,[16,3,224,224],表示一个批次中有16张图片,每张图片rgb三通道,宽高为224*224。

一般在dataset打包数据的时候,都需要对源图像进行处理,包括数据增强、尺寸调整等操作最后转换得到224*224的大小,再对数据进行封装打包到dataloader中去。

CIFAT100数据集的打包方式

这里使用的CIFAR的数据集:

dataset都被封装好了, 继承的CIFAR10的类

CIFAR10的数据集打包方式如下,继承的VisionDataset类
 

 数据打包的dataset执行的是getitem这个函数,在这个函数中图像和标注信息一般需要执行transform即数据增强操作,生成理想的输入:

自己的数据集打包要求 

图片尺寸缩放到224*224,等比缩放,其余部分填充。标注框同等缩放。

不使用数据增强操作。

target包含类别信息classification_id、标注框信息bbox。

dataset设计

'''创建适用于目标检测的数据集,bbox为中心点+wh'''

import os
from typing import Any, Callable, List, Optional, Tuple

import torchvision
from PIL import Image
from pycocotools.coco import COCO
from tenacity import retry_all
from torchvision.datasets.vision import VisionDataset
from pathlib import Path
import torch
import numpy as np
from torchvision import transforms

'''单模态目标检测数据集,输出bbox为中心点+wh'''
class cocodataset_center():
    def __init__(self,root,input_shape,normalize=None,mode='train'):
        """
       初始化多模态 COCO 数据集。
      

相关文章:

  • linux多线(进)程编程——(2)身外化身fork()
  • 概率论与数理统计核心知识点与公式总结(就业版)
  • C++进阶——异常
  • 计算机组成原理-系统总线
  • Hibernate(JPA) 和 MyBatis 的对比
  • Java基础关键_036_Stream
  • 使用Python实现矢量路径的压缩、解压与可视化
  • Python | 在Pandas中按照中值对箱形图排序
  • 二叉树的最近公共祖先二叉搜索树的最近公共祖先
  • 25届双非控制硕士求职回顾
  • ARM架构FFmpeg极致优化交叉编译指南
  • Linux:DNS服务配置(课堂实验总结)
  • 怎么免费下载GLTF/GLB格式模型文件,还可以在线编辑修改
  • instructor 库实现缓存
  • 【C#】.NET 8适配器模式实战:用C#实现高可用系统集成与接口桥接艺术
  • AutoGen参数说明
  • Kubernetes中的Label和Selector核心作用与应用场景
  • AI相关视频
  • 字符串与栈和队列-算法小结
  • 驱动开发硬核特训 · Day 10 (理论上篇):设备模型 ≈ 运行时的适配器机制
  • 江苏疾控:下设部门无“病毒研究所”,常荣山非本单位工作人员
  • 以色列在加沙发起新一轮强攻,同步与哈马斯展开无条件谈判
  • 广西桂林、百色、河池等地表态:全力配合中央对蓝天立的审查调查
  • 多图|多款先进预警机亮相雷达展,专家:中国预警机已达世界先进水平
  • 视频丨歼-10CE首次实战大放异彩
  • 外企聊营商|上海仲裁:化解跨国企业纠纷的“上海路径”