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

太平洋在线建站系统百度网盘app官网下载

太平洋在线建站系统,百度网盘app官网下载,网站商务建设实训的意义,wordpress jp文章目录 1、数据集介绍1.1、数据集图片组成2.1、获取数据集方式 2、扩展代码2.1、文件结构树2.2、划分数据集2.3、获取数据集文件名字2.4、文件成功对应检测 3、其他文章 1、数据集介绍 1.1、数据集图片组成 【有害垃圾】:电池(1 号、2 号、5 号&…

文章目录

  • 1、数据集介绍
    • 1.1、数据集图片组成
    • 2.1、获取数据集方式
  • 2、扩展代码
    • 2.1、文件结构树
    • 2.2、划分数据集
    • 2.3、获取数据集文件名字
    • 2.4、文件成功对应检测
  • 3、其他文章

1、数据集介绍

1.1、数据集图片组成

  1. 【有害垃圾】:电池(1 号、2 号、5 号)、过期药品或内包装等;
  2. 【可回收垃圾】:易拉罐、小号矿泉水瓶;
  3. 【厨余垃圾】:小土豆、切过的白萝卜、胡萝卜,尺寸为电池大小;
  4. 【其他垃圾】:瓷片、鹅卵石(小土豆大小)、砖块等。

部分类别图片展示:

文件结构:

----ImageSet\|----classes.txt  # 标签种类|----data-txt\  # 数据集文件集合|    |----test.txt|    |----train.txt|    |----val.txt|----images\ # 数据集图片|    |----test\|    |    |----fimg_23.jpg|    |    |----fimg_38.jpg|    |    |----.....|    |----train\|    |    |----fimg_1.jpg|    |    |----fimg_2.jpg|    |    |----.....|    |----val\|    |    |----fimg_4.jpg|    |    |----fimg_6.jpg|    |    |----.....|----labels\  # yolo标签|    |----test\|    |    |----fimg_23.txt|    |    |----fimg_38.txt|    |    |----.....|    |----train\|    |    |----fimg_1.txt|    |    |----fimg_2.txt|    |    |----.....|    |----val\|    |    |----fimg_4.txt|    |    |----fimg_6.txt|    |    |----.....

2.1、获取数据集方式

点击这里:下载本文生活垃圾数据集

2、扩展代码

2.1、文件结构树

draw-tree.py

from pathlib import Path
import ostree_str = ''
def generate_tree(pathname, n=0):global tree_strif pathname.is_file():tree_str += '    |' * n + '-' * 4 + pathname.name + '\n'elif pathname.is_dir():tree_str += '    |' * n + '-' * 4 + \str(pathname.relative_to(pathname.parent)) + '\\' + '\n'for cp in pathname.iterdir():generate_tree(cp, n + 1)if __name__ == '__main__':path=os.getcwd()+'/ImageSet'  # 查看当前ImageSet目录下的文件树generate_tree(Path(path), 0)print(tree_str)

2.2、划分数据集

split-data.py

import os, shutil, random
from tqdm import tqdm"""
标注文件是yolo格式(txt文件)
训练集:验证集:测试集 (7:2:1) 
"""def split_img(current_path,img_path, label_path, split_list):try:Data = current_path+'/ImageSets'# Data是你要将要创建的文件夹路径(路径一定是相对于你当前的这个脚本而言的)# os.mkdir(Data)train_img_dir = Data + '/images/train'val_img_dir = Data + '/images/val'test_img_dir = Data + '/images/test'train_label_dir = Data + '/labels/train'val_label_dir = Data + '/labels/val'test_label_dir = Data + '/labels/test'# 创建文件夹os.makedirs(train_img_dir)os.makedirs(train_label_dir)os.makedirs(val_img_dir)os.makedirs(val_label_dir)os.makedirs(test_img_dir)os.makedirs(test_label_dir)except:print('文件目录已存在')train, val, test = split_listall_img = os.listdir(img_path)all_img_path = [os.path.join(img_path, img) for img in all_img]train_img = random.sample(all_img_path, int(train * len(all_img_path)))train_img_copy = [os.path.join(train_img_dir, img.split('\\')[-1]) for img in train_img]train_label = [toLabelPath(img, label_path) for img in train_img]train_label_copy = [os.path.join(train_label_dir, label.split('\\')[-1]) for label in train_label]for i in tqdm(range(len(train_img)), desc='train ', ncols=80, unit='img'):_copy(train_img[i], train_img_dir)_copy(train_label[i], train_label_dir)all_img_path.remove(train_img[i])val_img = random.sample(all_img_path, int(val / (val + test) * len(all_img_path)))val_label = [toLabelPath(img, label_path) for img in val_img]for i in tqdm(range(len(val_img)), desc='val ', ncols=80, unit='img'):_copy(val_img[i], val_img_dir)_copy(val_label[i], val_label_dir)all_img_path.remove(val_img[i])test_img = all_img_pathtest_label = [toLabelPath(img, label_path) for img in test_img]for i in tqdm(range(len(test_img)), desc='test ', ncols=80, unit='img'):_copy(test_img[i], test_img_dir)_copy(test_label[i], test_label_dir)def _copy(from_path, to_path):shutil.copy(from_path, to_path)def toLabelPath(img_path, label_path):img = img_path.split('\\')[-1]label = img.split('.jpg')[0] + '.txt'return os.path.join(label_path, label)if __name__ == '__main__':current_path=os.current_path()img_path = current_path+'/images'  # 你的图片存放的路径(路径一定是相对于你当前的这个脚本文件而言的)label_path = current_path+'/labels'  # 你的txt文件存放的路径(路径一定是相对于你当前的这个脚本文件而言的)split_list = [0.7, 0.2, 0.1]  # 数据集划分比例[train:val:test]split_img(current_path,img_path, label_path, split_list)

2.3、获取数据集文件名字

list_name.py

import os"""
整体目录
----ImageSets\|----images\    |    |----test\ |    |----train\|    |----val\  |----labels\    |    |----test\ |    |----train\|    |----val\ 
"""def generate(current_path):# 存放图片的路径 这里images下面分别有train,test和val文件夹for item in os.listdir(current_path):files_path=current_path+'/'+itemfiles = os.listdir(files_path) # 全部的图片名称files.sort()print'****************'print'input :', itemprint'start...'# 打开train.txtitem_txt='ImageSets/data-txt/'+item+'.txt'listText = open(item_txt, 'a')for file in files:# 具体图片存放路径,如 data/images/train/1.jpgname = 'data/images/'+item+'/'+file + '\n'listText.write(name)listText.close()print'down!'print'****************'if __name__ == '__main__':current_path=os.getcwd()+'/ImageSets/images' # # 查看当前ImageSet\images目录下各个文件的名字generate(current_path)

2.4、文件成功对应检测

del-error-files.py用于获取数据集文件后,检测images文件labels文件是否都一一对应上。

创建.py文件放在mages文件和labels同目录下运行

import oscurrentPath=os.getcwd()
currentPath=currentPath
print(currentPath)
labelArray=[]
imagesArray=[]def split_extension(fileName):return fileName.split('.')[0]print('自检程序启动!查找到labels目录下异常文件:')
error_label_names = []
for la_name in os.listdir('labels'):la_name = split_extension(la_name)is_exists = Falsefor im_name in os.listdir('images'):im_name = split_extension(im_name)if la_name == im_name:is_exists = Trueif not is_exists:error_la_name = la_name + '.txt'error_label_names.append(error_la_name)labelArray.append(error_la_name)print(error_la_name)print('自检程序启动!查找到images目录下异常文件:')
error_image_names = []
for im_name in os.listdir('images'):im_name = split_extension(im_name)is_exists = Falsefor la_name in os.listdir('labels'):la_name = split_extension(la_name)if la_name == im_name:is_exists = Trueif not is_exists:error_im_name = im_name + '.jpg'error_image_names.append(error_im_name)print(error_im_name)imagesArray.append(error_im_name)# 自动删除文件
def delLabels():for item in labelArray:labelPath=currentPath+'/labels/'+itemos.remove(labelPath)print(labelPath+'\t'+'删除成功')def delImages():for item in imagesArray:imagesPath=currentPath+'/images/'+itemos.remove(imagesPath)print(imagesPath+'\t'+'删除成功') if __name__ == '__main__':delLabels()delImages()

3、其他文章

  1. 双向控制舵机(树莓派版)
  2. YOLOv5s网络模型讲解(一看就会)

参考文献

【yolo训练数据集】标注好的垃圾分类数据集共享
基于YOLOv8分割模型实现垃圾识别
TACO垃圾图像数据集

http://www.mmbaike.com/news/103732.html

相关文章:

  • 班级网站模板下载免费营销软件网站
  • 做网站被骗3000网站文章优化技巧
  • 一级指标评价政府网站建设seo优化报价公司
  • 网站的扁平化设计理念搜索引擎优化的主要手段
  • 牡丹江建设信息网站外贸网站seo
  • 今日全球新闻搜索引擎优化排名品牌
  • 做网站月入过万的经验廊坊网站排名优化公司哪家好
  • 织梦书法网站模板宁德市疫情
  • 北京互联网公司网站建设seo推广专员招聘
  • 西安做网站的公司网站权重怎么查
  • 网站后台模板关联自己做的网站网站空间费用一年多少
  • 侧边导航条wordpress济宁seo公司
  • 国外app界面设计网站交换链接案例
  • html做网站的代码百度信息流广告平台
  • 优化网站内链网站怎么优化推荐
  • 做动态h5的网站网站软件开发
  • 给博彩做网站做微商怎么找客源加人
  • 微信注册网站入口seo软件定制
  • 设计投稿赚钱网站公司网站模板设计
  • 做英文题的网站谷歌google中文登录入口
  • 网站开发文档模板下载英文网站设计公司
  • 黄埭做网站口碑营销的方法
  • 专做PPP项目网站制作自己的网站
  • 用织梦做网站有后台吗seo优化是利用规则提高排名
  • 网赌网站国外空间线上引流的八种推广方式
  • 淮安汽车集团网站建设想做电商怎么入手
  • 企业网站模板下载高中同步测控优化设计答案
  • 怎么做微网站网络营销第三版课本
  • 海外网站推广方法广告优化师怎么学
  • 网站建设和网站自己做网站设计制作