我想做一个验证码的识别,第一步是要把验证码从背景图片中扣出来,但是我是完全没有深度学习方面的经验,本来都不打算搞这块的 但是看到了 yolo ,看起来还挺简单的,好像只是需要手动标注一些数据,然后让他训练一下就可以帮忙识别图片中的东西,并把它标注出来 于是我就开始了标注加训练,最开始我标注了一张图,但是发现他然后把原图给他,他也无法识别,我以为是我标注的不够多,所以又标注了几张,发现还是无法识别,所以我现在不知道问题出在了哪里,请求大佬帮忙看看..
命令是
python train.py --img 240 --epochs 3 --data test.yaml --weights yolov5s.pt
结果数据: ps:我真的完全看不懂这些曲线..但是我跟官方提供的数据集做了对比,发现是有些地方不一样,而且我也试了官方数据集只训练一张图片,然后让他 predict 同样的图片,能识别出来..所以我现在不知道问题出在哪是 我需要更换权重吗,或者还是继续标注 n 张图片?
result.csv
1
yangyuhan12138 OP 思路是先目标检测把图片扣出来,然后在构建孪生网络 和小图标进行对比 看相似度
|
2
fff333 2023-06-16 01:05:56 +08:00 via Android
yolo
|
3
jdandelion573 2023-06-16 01:12:01 +08:00 via Android
标注数量不够多,epochs 设置过低。先按官方案例数据集走,最简单的手写数字试一次,后面照着弄数据集。
|
4
SorryChen 2023-06-16 07:28:44 +08:00 via iPhone
至少标记个千百张再训练吧
|
5
lpf0309 2023-06-16 08:34:33 +08:00
也不是,一张图片训练几十次能识别原图片的,你这 240 的像素有点低,应该是数据集没做好,或者是网络输出层、文件路径之类的没改对。
|
6
lpf0309 2023-06-16 08:38:56 +08:00 1
也可能是 epoch 太低了,3 次太少了,官方行因为你用的是他们训练过的权重
|
7
yangyuhan12138 OP @lpf0309 和 weight 有关系吗 我如果换个 yolov5x 之类的,效果会不会好点
|
8
yangyuhan12138 OP @SorryChen 人工标注数据呀大哥...千百张要标多久呀,我就想先标几张试试效果
|
9
yangyuhan12138 OP 我先调高 epoch 试试,大佬们能不能从曲线里看出来什么地方有问题呀,现在这些曲线的 意思是不是就是说他还啥都识别不了哦
|
10
SorryChen 2023-06-16 14:14:43 +08:00 via iPhone
@yangyuhan12138 问题就是,深度学习检测,没个千百张图片,是训不出来的。你只能过拟合到你给的那一两种,换一张就无法识别了。你可以看看检测常用实验数据集 COCO 等,十万张标记图片呢
|
11
SorryChen 2023-06-16 14:25:11 +08:00 via iPhone 1
@yangyuhan12138 你不用试调整包括 epoch 在内的任何参数,你现在首先要确定自己能否给出千百张标记数据。如果不能那你是无可能训练出可用的深度学习检测器的。
我的 PhD 课题就是 object detection ,先解决数据量问题吧 |
12
lpf0309 2023-06-16 14:42:34 +08:00
@yangyuhan12138 曲线只是测试的损失函数、回收率准确率之类的,观察多个 epoch 的训练效果,只能看出来训练的准确率很低。我 3 年以上目标检测经验,你也不用准备几百张图片,先用二十张图片,训练 50epoch 以上,直接检测训练集图像,正常都能成功。没成功就是你数据或者设置出了问题。yolov5x 和 yolov5s 的 cfg 文件不一样,你用哪个权重用哪个 cfg 文件就行。
|
13
lpf0309 2023-06-16 14:52:15 +08:00 1
@yangyuhan12138 你这个数据同类之间只有灰度相似,不知道效果如何。不行的话可以先用其他数据测试以下路有没有走对。
|
14
yangyuhan12138 OP |
15
yangyuhan12138 OP @SorryChen 我用了一百张,而且已经标了很久了....一千张的话....得找很多人一起差不多 哈哈哈哈
|
16
SorryChen 2023-06-16 23:15:18 +08:00
@yangyuhan12138 没办法深度学习就是 data hungry 的。要么为什么说有多少人工就有多少智能。
如果你的数据集比较简单,且训练数据和你的应用场景真实的数据分布差别不大的话,百张级别也能试试。 否则就需要大量数据,增加模型泛化性。当你发现你的模型可以完美识别训练集里面的图片,但是非训练集里面的图片效果很差的时候,就代表着你的数据量不够,模型过拟合到了训练集。 |
17
Chekkibrki 2023-06-17 00:17:07 +08:00 via iPhone
可能分辨率低数据不够多。我以前用 30 多张 1080P 图片用 yolov5 做猫狗识别效果都很好。但是验证码识别感觉不是很推荐用目标识别。考虑一下图像分割后用基本的分类模型,不一定要定位每一个字符。
|