数据集005:螺丝螺母目标检测数据集(含数据集下载链接)

2024-05-28 16:20

本文主要是介绍数据集005:螺丝螺母目标检测数据集(含数据集下载链接),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据集简介

背景干净的目标检测数据集。
里面仅仅包含螺丝和螺母两种类别的目标,背景为干净的培养皿。图片数量约420张,train.txt 文件描述每个图片中的目标,label_list 文件描述类别

另附一个验证集合,有10张图片,eval.txt 描述图片中目标,格式和 train.txt 相同

部分代码

"""
训练常基于dark-net的YOLOv3网络,目标检测
"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import os
os.environ["FLAGS_fraction_of_gpu_memory_to_use"] = '0.82'
import uuid
import numpy as np
import time
import six
import math
import random
import paddle
import paddle.fluid as fluid
import logging
import xml.etree.ElementTree
import codecs
import jsonfrom paddle.fluid.initializer import MSRA
from paddle.fluid.param_attr import ParamAttr
from paddle.fluid.regularizer import L2Decay
from PIL import Image, ImageEnhance, ImageDrawlogger = None
train_parameters = {"data_dir": "data/data6045","train_list": "train.txt","eval_list": "eval.txt","class_dim": -1,"label_dict": {},"num_dict": {},"image_count": -1,"continue_train": True,     # 是否加载前一次的训练参数,接着训练"pretrained": False,"pretrained_model_dir": "./pretrained-model","save_model_dir": "./yolo-model","model_prefix": "yolo-v3","freeze_dir": "freeze_model","use_tiny": True,          # 是否使用 裁剪 tiny 模型"max_box_num": 20,          # 一幅图上最多有多少个目标"num_epochs": 1,"train_batch_size": 8,      # 对于完整 yolov3,每一批的训练样本不能太多,内存会炸掉;如果使用 tiny,可以适当大一些"use_gpu": True,"yolo_cfg": {"input_size": [3, 448, 448],    # 原版的边长大小为608,为了提高训练速度和预测速度,此处压缩为448"anchors": [7, 10, 12, 22, 24, 17, 22, 45, 46, 33, 43, 88, 85, 66, 115, 146, 275, 240],"anchor_mask": [[6, 7, 8], [3, 4, 5], [0, 1, 2]]},"yolo_tiny_cfg": {"input_size": [3, 256, 256],"anchors": [6, 8, 13, 15, 22, 34, 48, 50, 81, 100, 205, 191],"anchor_mask": [[3, 4, 5], [0, 1, 2]]},"ignore_thresh": 0.7,"mean_rgb": [127.5, 127.5, 127.5],"mode": "train","multi_data_reader_count": 4,"apply_distort": True,"nms_top_k": 300,"nms_pos_k": 300,"valid_thresh": 0.01,"nms_thresh": 0.45,"image_distort_strategy": {"expand_prob": 0.5,"expand_max_ratio": 4,"hue_prob": 0.5,"hue_delta": 18,"contrast_prob": 0.5,"contrast_delta": 0.5,"saturation_prob": 0.5,"saturation_delta": 0.5,"brightness_prob": 0.5,"brightness_delta": 0.125},"sgd_strategy": {"learning_rate": 0.002,"lr_epochs": [30, 50, 65],"lr_decay": [1, 0.5, 0.25, 0.1]},"early_stop": {"sample_frequency": 50,"successive_limit": 3,"min_loss": 2.5,"min_curr_map": 0.84}
}def init_train_parameters():"""初始化训练参数,主要是初始化图片数量,类别数:return:"""file_list = os.path.join(train_parameters['data_dir'], train_parameters['train_list'])label_list = os.path.join(train_parameters['data_dir'], "label_list")index = 0with codecs.open(label_list, encoding='utf-8') as flist:lines = [line.strip() for line in flist]for line in lines:train_parameters['num_dict'][index] = line.strip()train_parameters['label_dict'][line.strip()] = indexindex += 1train_parameters['class_dim'] = indexwith codecs.open(file_list, encoding='utf-8') as flist:lines = [line.strip() for line in flist]train_parameters['image_count'] = len(lines)

数据集链接:螺丝螺母目标检测数据集(430张)

这篇关于数据集005:螺丝螺母目标检测数据集(含数据集下载链接)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1011072

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很