深度学习,目标检测 quick start 求助

2023-06-16 00:26:36 +08:00
 yangyuhan12138

我想做一个验证码的识别,第一步是要把验证码从背景图片中扣出来,但是我是完全没有深度学习方面的经验,本来都不打算搞这块的 但是看到了 yolo ,看起来还挺简单的,好像只是需要手动标注一些数据,然后让他训练一下就可以帮忙识别图片中的东西,并把它标注出来 于是我就开始了标注加训练,最开始我标注了一张图,但是发现他然后把原图给他,他也无法识别,我以为是我标注的不够多,所以又标注了几张,发现还是无法识别,所以我现在不知道问题出在了哪里,请求大佬帮忙看看..

命令是

python train.py --img 240 --epochs 3 --data test.yaml --weights yolov5s.pt

结果数据: ps:我真的完全看不懂这些曲线..但是我跟官方提供的数据集做了对比,发现是有些地方不一样,而且我也试了官方数据集只训练一张图片,然后让他 predict 同样的图片,能识别出来..所以我现在不知道问题出在哪是 我需要更换权重吗,或者还是继续标注 n 张图片?

result.csv

一张都没有预测成功

1311 次点击
所在节点    程序员
17 条回复
yangyuhan12138
2023-06-16 00:34:26 +08:00
思路是先目标检测把图片扣出来,然后在构建孪生网络 和小图标进行对比 看相似度
fff333
2023-06-16 01:05:56 +08:00
yolo
jdandelion573
2023-06-16 01:12:01 +08:00
标注数量不够多,epochs 设置过低。先按官方案例数据集走,最简单的手写数字试一次,后面照着弄数据集。
SorryChen
2023-06-16 07:28:44 +08:00
至少标记个千百张再训练吧
lpf0309
2023-06-16 08:34:33 +08:00
也不是,一张图片训练几十次能识别原图片的,你这 240 的像素有点低,应该是数据集没做好,或者是网络输出层、文件路径之类的没改对。
lpf0309
2023-06-16 08:38:56 +08:00
也可能是 epoch 太低了,3 次太少了,官方行因为你用的是他们训练过的权重
yangyuhan12138
2023-06-16 13:33:51 +08:00
@lpf0309 和 weight 有关系吗 我如果换个 yolov5x 之类的,效果会不会好点
yangyuhan12138
2023-06-16 13:34:47 +08:00
@SorryChen 人工标注数据呀大哥...千百张要标多久呀,我就想先标几张试试效果
yangyuhan12138
2023-06-16 13:36:48 +08:00
我先调高 epoch 试试,大佬们能不能从曲线里看出来什么地方有问题呀,现在这些曲线的 意思是不是就是说他还啥都识别不了哦
SorryChen
2023-06-16 14:14:43 +08:00
@yangyuhan12138 问题就是,深度学习检测,没个千百张图片,是训不出来的。你只能过拟合到你给的那一两种,换一张就无法识别了。你可以看看检测常用实验数据集 COCO 等,十万张标记图片呢
SorryChen
2023-06-16 14:25:11 +08:00
@yangyuhan12138 你不用试调整包括 epoch 在内的任何参数,你现在首先要确定自己能否给出千百张标记数据。如果不能那你是无可能训练出可用的深度学习检测器的。

我的 PhD 课题就是 object detection ,先解决数据量问题吧
lpf0309
2023-06-16 14:42:34 +08:00
@yangyuhan12138 曲线只是测试的损失函数、回收率准确率之类的,观察多个 epoch 的训练效果,只能看出来训练的准确率很低。我 3 年以上目标检测经验,你也不用准备几百张图片,先用二十张图片,训练 50epoch 以上,直接检测训练集图像,正常都能成功。没成功就是你数据或者设置出了问题。yolov5x 和 yolov5s 的 cfg 文件不一样,你用哪个权重用哪个 cfg 文件就行。
lpf0309
2023-06-16 14:52:15 +08:00
@yangyuhan12138 你这个数据同类之间只有灰度相似,不知道效果如何。不行的话可以先用其他数据测试以下路有没有走对。
yangyuhan12138
2023-06-16 22:22:08 +08:00
@lpf0309
@SorryChen 多谢大家 我增加了数据量 增加了 epoch 换了简单的模型 结果可以了 非常棒 接着做下一步啦
yangyuhan12138
2023-06-16 22:22:56 +08:00
@SorryChen 我用了一百张,而且已经标了很久了....一千张的话....得找很多人一起差不多 哈哈哈哈
SorryChen
2023-06-16 23:15:18 +08:00
@yangyuhan12138 没办法深度学习就是 data hungry 的。要么为什么说有多少人工就有多少智能。

如果你的数据集比较简单,且训练数据和你的应用场景真实的数据分布差别不大的话,百张级别也能试试。

否则就需要大量数据,增加模型泛化性。当你发现你的模型可以完美识别训练集里面的图片,但是非训练集里面的图片效果很差的时候,就代表着你的数据量不够,模型过拟合到了训练集。
Chekkibrki
2023-06-17 00:17:07 +08:00
可能分辨率低数据不够多。我以前用 30 多张 1080P 图片用 yolov5 做猫狗识别效果都很好。但是验证码识别感觉不是很推荐用目标识别。考虑一下图像分割后用基本的分类模型,不一定要定位每一个字符。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/949133

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX