VEDIA資料集處理

2021-10-22 17:30:40 字數 3899 閱讀 8822

先分享三個資料集的**,第乙個是我下資料集的,後兩個是用來改資料集的標籤格式的github,乙個是darknet格式,乙個是imagenet格式

github

github2

我用的**是yolov3,所以我需要darknet格式的標籤

就是類別,加四個座標引數,我修改了github2的**,我只需要其中七類,所以我把其他類別的標籤刪了

# 1: car, 2:trucks, 4: tractors, 5: camping cars, 7: motorcycles, 8:buses, 9: vans, 10: others, 11: pickup, 23: boats , 201: small land vehicles, 31: large land vehicles

import os

import pandas as pd

def update_annotations(filename):

# with open('e:/資料集/vedai/annotation_ori/' + filename, 'r') as file:

# data = file.read()

# text = '\n'.join(' '.join(line.split()) for line in data.split('\n'))

# text.replace('\t', ' ')

# print(text)

# output = open('e:/資料集/vedai/label/' + filename, 'w')

# output.write(text)

# output.close()

data = pd.read_csv('e:/資料集/vedai/annotation_ori/' + filename, sep=' ', index_col=none, header=none, names=['x_center', 'y_center', 'orientation', 'class', 'is_contained', 'is_occluded', 'corner1_x', 'corner2_x', 'corner3_x', 'corner4_x', 'corner1_y', 'corner2_y', 'corner3_y', 'corner4_y'])

# data['class'].replace(11, 3, inplace=true)

# data['class'].replace(23, 6, inplace=true)

# data['class'].replace(201, 11, inplace=true)

# data['class'].replace(31, 12, inplace=true)

data['class'].replace(1, 0, inplace=true)

data['class'].replace(11, 1, inplace=true)

data['class'].replace(2, 3, inplace=true)

data['class'].replace(5, 2, inplace=true)

data['class'].replace(4, 5, inplace=true)

data['class'].replace(10, 4, inplace=true)

data['class'].replace(23, 6, inplace=true)

data['class'].replace(9, 7, inplace=true)

# data['class'].replace(31, 9, inplace=true)

# data['class'].replace(8, 8, inplace=true)

# print(data['class'])

# data['class'] = data['class'] - 1

# data['x_center_ratio'] = data['x_center'].astype(float) / 1024.

# data['y_center_ratio'] = data['y_center'].astype(float) / 1024.

data['x_center_ratio'] = data['x_center'].astype(float) / 512.

data['y_center_ratio'] = data['y_center'].astype(float) / 512.

# data['width_ratio'] = (data[['corner1_x', 'corner2_x', 'corner3_x', 'corner4_x']].max(axis=1) - data[['corner1_x', 'corner2_x', 'corner3_x', 'corner4_x']].min(axis=1)) / 1024.

# data['height_ratio'] = (data[['corner1_y', 'corner2_y', 'corner3_y', 'corner4_y']].max(axis=1) - data[['corner1_y', 'corner2_y', 'corner3_y', 'corner4_y']].min(axis=1)) / 1024.

data['width_ratio'] = (data[['corner1_x', 'corner2_x', 'corner3_x', 'corner4_x']].max(axis=1) - data[['corner1_x', 'corner2_x', 'corner3_x', 'corner4_x']].min(axis=1)) / 512.

data['height_ratio'] = (data[['corner1_y', 'corner2_y', 'corner3_y', 'corner4_y']].max(axis=1) - data[['corner1_y', 'corner2_y', 'corner3_y', 'corner4_y']].min(axis=1)) / 512.

res = data.drop(['x_center', 'y_center', 'corner1_x', 'corner2_x', 'corner3_x', 'corner4_x', 'orientation', 'corner1_y', 'corner2_y', 'corner3_y', 'corner4_y', 'is_contained', 'is_occluded'], axis=1)

res = res.drop(index=res.loc[(res['class'] >7)].index) #刪除不要的標籤

# print(res)

# if data['class'][0]>7:

# print(data['class'][0],filename)

# for i in range(len(data['class'])):

# if data['class'][i]>7:

# print(data['class'][i],filename)

# if filename == '00000043.txt':

# print(data['class'][0])

# output = open('e:/資料集/vedai/labels/' + filename, 'w')

# output.close()

# else:

res.to_csv('e:/資料集/vedai/labels/' + filename, sep=' ', index=false, header=none)

list = os.listdir('e:/資料集/vedai/annotation_ori/')

# list.remove('.ds_store') # for macos

for filename in list:

# print(filename)

update_annotations(filename)

spark RDD處理資料集

package com.hicore.exercise import org.apache.log4j.import org.apache.spark.sparkcontext import org.apache.spark.rdd.rdd import org.apache.spark.sql.s...

資料集處理 資料增強1

工欲善其事,必先利其器 資料集處理 資料增強2 參考了 yolo v4 馬賽克資料增強方法,進行img xml的四合一 記錄乙個標註過的水平翻轉,對應的xml標註資訊也同步的小指令碼 import cv2 import os import sys import re import xml.etree...

鮑魚資料集處理 matlab

鮑魚資料集 屬性資訊 給出了屬性名稱,屬性型別,度量單位和簡要說明。環數是要 的值 可以是連續值,也可以是分類問題。名稱 資料型別 度量單位 描述 性別 名義 m,f和i 嬰兒 長度 連續 公釐 最長的外殼尺寸 直徑 連續 公釐 垂直於長度 高度 連續 公釐 帶有外殼的肉總 重 連續 克 整個鮑魚 ...