oxford-iiit-pet 数据集

文章目录

    • 项目说明
      • 数据集说明 oxford-iiit-pet
    • 代码实现
      • 数据处理
      • 整理原始数据-分类
        • 划分 训练集和测试集


项目说明


数据集说明 oxford-iiit-pet

数据官方网站:
https://www.robots.ox.ac.uk/~vgg/data/pets/
下载 .torrent 文件,然后下载完整文件。

主要分为 images 和 annotations 文件


images 由以下类别图片构成:

Abyssinian Ragdoll boxer keeshond scottish_terrier
Bengal Russian_Blue chihuahua leonberger shiba_inu
Birman Siamese english_cocker_spaniel miniature_pinscher staffordshire_bull_terrier
Bombay Sphynx english_setter newfoundland wheaten_terrier
British_Shorthair american_bulldog german_shorthaired pomeranian yorkshire_terrier
Egyptian_Mau american_pit_bull_terrier great_pyrenees pug
Maine_Coon basset_hound havanese saint_bernard
Persian beagle japanese_chin samoyed

大写字母开头的是猫;小写字母开头的是狗。


annotations/xmls/Abyssinian_1.xml

<annotation>
    <folder>OXIIIT</folder>
    <filename>Abyssinian_1.jpg</filename>
    
    <source>
        <database>OXFORD-IIIT Pet Dataset</database>
        <annotation>OXIIIT</annotation>
        <image>flickr</image>
    </source>
    
    <size>
        <width>600</width>
        <height>400</height>
        <depth>3</depth>
    </size>
    
    <segmented>0</segmented>
    
    <object>
        <name>cat</name>
        <pose>Frontal</pose>
        <truncated>0</truncated>
        <occluded>0</occluded>
        
        <bndbox>
            <xmin>333</xmin>
            <ymin>72</ymin>
            <xmax>425</xmax>
            <ymax>158</ymax>
        </bndbox>
        <difficult>0</difficult>
    </object>
    
</annotation>


代码实现

数据处理

import os
import shutil
import random


整理原始数据-分类

将零散的数据,根据名字放到不同文件夹


def split_types(data_dir="images/",ret_dir="dataset/"):
    '''
    归类图像到不同目录中
    '''
    for file_name in os.listdir(data_dir):
        file_path = os.path.join(data_dir, file_name)
        type_dir = os.path.join(ret_dir + file_name.split('_')[0].strip())
        if not os.path.exists(type_dir):os.makedirs(type_dir)
            
        shutil.copy(file_path, type_dir+one_pic)

划分 训练集和测试集
origin_dir = '/Users/luyi/Downloads/oxford-iiit-pet/images/'
save_dir = ''

# 对原始数据集 划分 训练集和测试集 
def random2Dataset(data_dir=origin_dir,ratio=0.3):
    
    label_list = os.listdir(data_dir)

    for label in label_list:
        
        if label.startswith('.'):continue
        
        type_dir = os.path.join(data_dir, label)
        
        train_dir_type = os.path.join(save_dir, 'train', label)
        test_dir_type  = os.path.join(save_dir, 'test', label)
        if not os.path.exists(train_dir_type):os.makedirs(train_dir_type)
        if not os.path.exists(test_dir_type):os.makedirs(test_dir_type)
  
        file_names = os.listdir(type_dir)
        test_num = int(len(file_names) * ratio)
        
        print('-- ', label, test_num, )
        
        random.shuffle(file_names)

        #创建测试集 
        for file_name in file_names[:test_num]: 
            if file_name.startswith('.'):continue 
            file_path = os.path.join(type_dir, file_name)
            save_path = os.path.join(test_dir_type, file_name) 
            shutil.move(one_path, new_path)

        #创建训练集
        for file_name in file_names[test_num:]:
            if file_name.startswith('.'):continue
            file_path = os.path.join(type_dir, file_name)
            save_path = os.path.join(train_dir_type, file_name) 
            shutil.move(one_path, new_path)



2023-02-28

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

信创 | 2023年中国信创产业深度研究报告(完整版)

信创产业研究报告 免责声明&#xff1a;本文资料来源于“第一新声”&#xff0c;版权归原作者所有。如涉及作品版权问题&#xff0c;请与我们联系&#xff0c;我们将在第一时间协商版权问题或删除内容&#xff01; 获取文中相关的PPT资料&#xff0c;请关注文末公众号“程序员…

【Java EE】多线程(三)线程状态

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

Win10彻底关闭Antimalware Service Executable解决cpu内存占用过高问题

1&#xff0c;win键R打开运行输入gpedit.msc&#xff0c;即可打开本地组策略编辑器 2.依次打开&#xff1a;管理模板----windows组件----windows Defender-----实时保护 3.然后鼠标双击右侧的“不论何时启用实时保护&#xff0c;都会启用进程扫描。勾选 已禁用&#xff0c;就可…

EPSON的温补晶振TG7050SKN

EPSON公司推出的温补品振(TCXO)TG7050SKN&#xff0c;尺寸大小为7.0x5.0x1.5 mm&#xff0c;具有高稳定性(105℃℃高温)等特点&#xff0c;可输出10MHz~54MHz的频率可应用在网络同步&#xff0c;BTS&#xff0c;微波&#xff0c;以及需要符合Stratum3、SyncE和IEEE1588等规范的…

JVM笔记3-经典的垃圾收集器

上图展示了7种&#xff0c;适用于不同分代中的收集器。如果两者之间由连线&#xff0c;说明可以搭配使用。 PS&#xff1a;在JDK8中将SerialCMS和ParNewSerial Old的组合声明为废弃&#xff0c;并且在JDK9中完全取消了这两种组合的支持。 1、Serial收集器 Serial收集器是JVM中…

护士节趣味互动h5小游戏的作用是什么

护士节也同样气氛满满&#xff0c;护士总量非常高&#xff0c;针对此群体不少行业都可借势营销&#xff0c;为自己的生意及品牌赋能&#xff0c;奖品吸引用户参与&#xff0c;趣味形式及控件达成多种效果。 在【雨科】平台拥有多款护士节互动小游戏类型&#xff0c;页面元素/背…

5000亿参数来了:微软将推出 MAI-1 模型硬刚谷歌和OpenAI|TodayAI

美国的科技巨头微软公司&#xff0c;正在积极扩展其人工智能&#xff08;AI&#xff09;技术的领域。最新消息显示&#xff0c;微软将推出一款名为MAI-1的全新AI模型&#xff0c;其规模巨大&#xff0c;预计将拥有5000亿个可调参数。这一开发工作由Inflection AI的CEO穆斯塔法苏…

SpringBoot 扩展篇:ConfigFileApplicationListener源码解析

SpringBoot 扩展篇&#xff1a;ConfigFileApplicationListener源码解析 1.概述2. ConfigFileApplicationListener定义3. ConfigFileApplicationListener回调链路3.1 SpringApplication#run3.2 SpringApplication#prepareEnvironment3.3 配置environment 4. 环境准备事件 Config…

社交媒体数据恢复:抖音、火山版、极速版

抖音是一款非常受欢迎的短视频社交平台&#xff0c;在使用过程中&#xff0c;有时候我们会不小心删除了重要的聊天记录。那么&#xff0c;如何恢复抖音聊天记录呢&#xff1f;下面&#xff0c;我将为大家带来一份详细的抖音聊天记录数据恢复教程。 一、抖音聊天记录恢复方法 打…

Angular中组件之间的传值

Angular中组件之间的传值 文章目录 Angular中组件之间的传值前言一、父亲向儿子传值二、儿子向父亲传值三、爷爷向孙子传值四、兄弟之间的传值 前言 Angular的组件是构成应用的基础单元&#xff0c;它们封装了HTML模板、TypeScript代码以及CSS样式&#xff0c;以实现特定的功能…

【算法学习】day2

文章目录 BFS1.图像渲染2.岛屿数量 BFS 1.图像渲染 思路&#xff1a;BFS宽度遍历&#xff0c;我们需要对初始像素进行一层一层遍历&#xff0c;也就是上下左右四个方向进行遍历判断&#xff0c;如何访问这四个方向呢&#xff0c;就需要利用两个数组dx和dy来进行判断和遍历&…

【RPC】Dubbo接口测试

关于rpc&#xff0c;推荐看看这篇 &#xff1a; 既然有HTTP协议&#xff0c;为什么还要有RPC 一、Dubbo 是一款alibaba开源的高性能服务框架&#xff1a; 分布式服务框架高性能和透明化的RPC远程服务调用方案SOA服务治理方案 二、Dubbo基础架构 三、 Dubbo接口测试 1、jme…

毕业设计参考-PyQt5-YOLOv8-鱼头鱼尾鱼长测量程序,OpenCV、Modbus通信、YOLO目标检测综合应用

“PyQt5-YOLOv8-鱼头鱼尾鱼长测量程序”是一个特定的软件程序&#xff0c;用于通过图像处理和目标检测技术来测量鱼类的长度。 视频效果&#xff1a; 【毕业设计】基于yolo算法与传统机器视觉的鱼头鱼尾识别_哔哩哔哩_bilibili 这个程序结合了多种技术&#xff1a; 1. OpenCV…

并行执行的概念—— 《OceanBase 并行执行》系列 一

From 产品经理&#xff1a; 这是一份姗姗来迟的关于OceanBase并行执行的系统化产品文档。 自2019年起&#xff0c;并行执行功能已被许多客户应用于多种场景之中&#xff0c;其重要性日益凸显。然而&#xff0c;遗憾的是&#xff0c;我们始终未能提供一份详尽的用户使用文档&…

如何应对访问国外服务器缓慢的问题?SDWAN组网是性价比之选

访问国外服务器缓慢通常由以下原因造成&#xff1a; 1、政策限制&#xff1a;我国管理互联网&#xff0c;限制部分国外网站和服务器&#xff0c;以维护国家安全稳定。 2、技术障碍&#xff1a;国内与国际互联网的网络架构和协议存在差异&#xff0c;可能导致数据传输不兼容。 …

探索AI编程新纪元:从零开始的智能编程之旅

提示&#xff1a;Baidu Comate 智能编码助手是基于文心大模型&#xff0c;打造的新一代编码辅助工具 文章目录 前言AI编程概述&#xff1a;未来已来场景需求&#xff1a;从简单到复杂&#xff0c;无所不包体验步骤&#xff1a;我的AI编程初探试用感受&#xff1a;双刃剑下的深思…

docker资源限额

多数的应⽤场景要对Docker容器的运⾏内存进⾏限制&#xff0c;防⽌其使⽤过多的内存。 格式&#xff1a;-m或--memory 正常的内存大小 [rootadmin ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …

“40法则”视角下的中国网络安全公司

“40法则”视角下国内网安上市公司2023年业绩表现 采用“40法则”衡量&#xff0c;首先需要考虑的是营收增长和利润水平的衡量指标&#xff0c;在上一篇文章中已经详细说明&#xff0c;在此不再赘述。 增长速度的衡量指标&#xff0c;可以选择公司的营业收入的同比增长率。 …

华为OD机试 - 掌握的单词个数 - 回溯(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试…

怎么将pdf的文件内容保存到mysql数据库中?

要将PDF导入到MYSQL&#xff0c;首先一步就是要先将PDF内容结构化&#xff0c;如果其内容为非结构化&#xff0c;则导入MYSQL的意义不大&#xff0c;具体操作方法如下&#xff1a; 将PDF文件的内容保存到MySQL数据库中通常涉及几个步骤。PDF文件包含的是格式化文本、图像和其他…
最新文章