Stanford 40 Actions 数据集划分为训练集和测试集

【代码】Stanford 40 Actions 数据集划分为训练集和测试集。
摘要由CSDN通过智能技术生成

训练集4000张图片,测试集5532张图片,官方的文件夹有两个分别是图片数据文件夹JPEGImages以及划分标签文件夹ImageSplits:
在这里插入图片描述

import os
import shutil

dir = 'D:\Stanford40_JPEGImages'

data_dir = dir + '\\JPEGImages'

train_dir = dir + '\\train'

test_dir = dir + '\\test'

txt_path = dir + '\\ImageSplits'

if not os.path.exists(train_dir):
    os.makedirs(train_dir)
if not os.path
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要将Stanford Cars数据集转换为YOLO格式的数据集,您可以使用Python来完成以下步骤: 1. 下载并解压数据集:从Stanford Cars数据集的官方网站下载数据集,并解压到一个文件夹中。 2. 创建目录结构:在数据集文件夹中创建以下目录结构: ``` - images/ # 存放原始图像 - labels/ # 存放YOLO格式的标签文件 - class_names.txt # 存放类别信息 ``` 3. 获取类别信息:打开数据集的标注文件(例如devkit/cars_train_annos.mat)并提取车辆的类别信息。将类别名称写入class_names.txt文件中,每行一个类别。 4. 转换标注:使用Python脚本读取标注文件,并将边界框坐标和类别信息转换为YOLO格式。以下是一个示例脚本: ```python import numpy as np from PIL import Image import scipy.io # 载入标注文件 annotation = scipy.io.loadmat('devkit/cars_train_annos.mat') # 遍历每个标注 for anno in annotation['annotations'][0]: bbox_x1 = anno[0][0][0][0] bbox_y1 = anno[0][1][0][0] bbox_x2 = anno[0][2][0][0] bbox_y2 = anno[0][3][0][0] class_id = anno[0][4][0][0] - 1 # 将类别索引从1-based转为0-based # 读取图像 img_name = anno[0][5][0] img_path = 'cars_train/' + img_name image = Image.open(img_path) width, height = image.size # 计算边界框中心点和宽高 x = (bbox_x1 + bbox_x2) / 2 / width y = (bbox_y1 + bbox_y2) / 2 / height w = (bbox_x2 - bbox_x1) / width h = (bbox_y2 - bbox_y1) / height # 保存YOLO格式的标签文件 label_path = 'labels/' + img_name.replace('.jpg', '.txt') with open(label_path, 'w') as f: f.write(f'{class_id} {x} {y} {w} {h}') ``` 5. 复制图像:将原始图像复制到images文件夹中。 完成上述步骤后,您将得到一个包含YOLO格式标签的数据集。现在,您可以使用此数据集来训练和测试YOLO模型。请确保调整脚本中的路径和数据集结构以适应您的具体情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值