Keras-Yolo训练自己的手检测器

2024-03-16 17:10
文章标签 训练 yolo keras 检测器

本文主要是介绍Keras-Yolo训练自己的手检测器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

Keras-yolo 源码

 本文采用了Github上用的比较广的keras-python库。代码很简洁易懂,容易实现。在此十分感谢这位大大的分享。

Github: https://github.com/qqwweee/keras-yolo3

下载:

git clone https://github.com/qqwweee/keras-yolo3

收集数据并制作成数据集

在本篇博客之前, 我曾写过一篇如何完善自己的数据集的一篇博文。里面有关于批量修改文件名和XML文件的教程

链接: https://blog.csdn.net/weixin_42835209/article/details/96574992

但此处我还要补充几点:

1. 数据集收集的尺寸要符合标准

我们知道, YOLOv3进行训练的里面是经过一个resize的。会把训练的图片进行压缩, 压成416x416的格式。 如果你拿一些像素很大的,并且比例很不均匀的图片去训练, 如5016x3344的,那么会导致一个结果就是, 你最后训练出来的检测框很小,或者很大。因为你的anchors是基于原本图像的宽高的。即使你最后训练出来的模型识别的精度在机器看来很高, 但是并不能把测试的对象完全框起来, 甚至是框变成了很小的一个点,或者是把整个屏幕给框起来。这都是我们不想要的。

而我选择的训练尺寸是resize成416x416的, 那么我尽量会把数据制作成尽可能接近416x416大小的样本。我的样本基本在500x375和375x500左右浮动, 当然到了600多x400多和400多x600多也是可以的。主要思想是尽量把采集的数据制作成靠近416x416尺寸的图片。当然如果你用608x608就要用接近608x608的数据去训练。网上有很多裁剪的代码, 但是我是手动裁剪的。因为我检测的目标在每张图片所处的位置都不同, 所以不能做到统一, 如果你的数据很相似的话, 那么你可以用代码进行批量操作。

2. 标记的样本要清晰准确

我们在使用LabelImg等标注工具时, 标注的目标其实很讲究的。主要有两个原则: 一、清晰    二、 准确

清晰主要就是指要去除掉像素低的和尺寸小的目标。在初期制作数据集的时候, 我自己标注手把很小很不清晰的手也框了起来。这就导致我训练的时候很难去达到一个很好的效果。

例如像在这张图片里面

很明显正中间那个人的手在图像中是又小又模糊的。那么我们尽量就不要选择这种样本。尽量选择像左下角正在拿叉子的人的手这样的尺寸大的, 清晰的样本。而究其原因还是和上面一样。我们在训练的时候我们标注的检测框是会影响我们kmeans的anchors的。 如果我们标注了这么小的样本, 放到darknet这么深的网络中,基本上就是一个点而已, 这会大大降低我们模型的精确度。

错误训练后的结果:

第二点准确。准确就是要只框你要检测的东西,

这篇关于Keras-Yolo训练自己的手检测器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering) Power Iteration Clustering (PIC) 是一种基于图的聚类算法,用于在大规模数据集上进行高效的社区检测。PIC 算法的核心思想是通过迭代图的幂运算来发现数据中的潜在簇。该算法适用于处理大规模图数据,特别是在社交网络分析、推荐系统和生物信息学等领域具有广泛应用。Spa

SigLIP——采用sigmoid损失的图文预训练方式

SigLIP——采用sigmoid损失的图文预训练方式 FesianXu 20240825 at Wechat Search Team 前言 CLIP中的infoNCE损失是一种对比性损失,在SigLIP这个工作中,作者提出采用非对比性的sigmoid损失,能够更高效地进行图文预训练,本文进行介绍。如有谬误请见谅并联系指出,本文遵守CC 4.0 BY-SA版权协议,转载请联系作者并注

[数据集][目标检测]血细胞检测数据集VOC+YOLO格式2757张4类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2757 标注数量(xml文件个数):2757 标注数量(txt文件个数):2757 标注类别数:4 标注类别名称:["Platelets","RBC","WBC","sickle cell"] 每个类别标注的框数:

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的

多云架构下大模型训练的存储稳定性探索

一、多云架构与大模型训练的融合 (一)多云架构的优势与挑战 多云架构为大模型训练带来了诸多优势。首先,资源灵活性显著提高,不同的云平台可以提供不同类型的计算资源和存储服务,满足大模型训练在不同阶段的需求。例如,某些云平台可能在 GPU 计算资源上具有优势,而另一些则在存储成本或性能上表现出色,企业可以根据实际情况进行选择和组合。其次,扩展性得以增强,当大模型的规模不断扩大时,单一云平

[数据集][目标检测]智慧农业草莓叶子病虫害检测数据集VOC+YOLO格式4040张9类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4040 标注数量(xml文件个数):4040 标注数量(txt文件个数):4040 标注类别数:9 标注类别名称:["acalcerosis","fertilizer","flower","fruit","grey

神经网络训练不起来怎么办(零)| General Guidance

摘要:模型性能不理想时,如何判断 Model Bias, Optimization, Overfitting 等问题,并以此着手优化模型。在这个分析过程中,我们可以对Function Set,模型弹性有直观的理解。关键词:模型性能,Model Bias, Optimization, Overfitting。 零,领域背景 如果我们的模型表现较差,那么我们往往需要根据 Training l

如何创建训练数据集

在 HuggingFace 上创建数据集非常方便,创建完成之后,通过 API 可以方便的下载并使用数据集,在 Google Colab 上进行模型调优,下载数据集速度非常快,本文通过 Dataset 库创建一个简单的训练数据集。 首先安装数据集依赖 HuggingFace datasetshuggingface_hub 创建数据集 替换为自己的 HuggingFace API key