Closed busyyang closed 4 years ago
其实我扔掉了很多代码,因为它们很乱,我懒得整理。例如,统计百度的识别结果。
你不清楚如何构造数据集,那你理解它们的含义吗?具体可以看一下我在维基中写的开发流程。
1800张就大量重复?我都是以万为单位来下载的。
wiki我已经看了,大概了解思路。数据集的含义大致是理解的,但是我不太清楚,如何将图片的正确标签给他对应上的代码实现...... 具体实现,还没有细看,我先把验证码图片下载,并用百度OCR识别出来再继续吧,谢谢。 下载代码右跑了一会儿,现在有3700张左右,看下一晚上能下载多少。做个多进程去请求图片会不会要快一些。 另外,this is an amazing work. Thanks for sharing.
作为交换,我的问题是:
我觉得是的,wiki里面的图片,有的明显分割的位置偏了,没有把需要选择2类的分割开。
还有第5行第2列的锣,部首出界了,哈!
接着上次的聊啊,我下载了8000多张验证码图片,现在我知道用pretreatement.py
可以得到一个data.npz
文件,包含了labels和img的phash值。然后我也用baidu.py
进行了识别了,然后你将百度识别的前80种类的图片做了一个texts.npz
文件了是吧?但是我看baidu.py
识别时候,仅仅把识别的文字写到了text.log
里面,并没有将源文件名对应起来,这样,后面你在做texts.npz
时候,又去识别了一遍?还是,就通过os.listdir的顺序来对应文件与label的?
我是调用了百度,并做了统计之后才知道验证码一共只有80种,所以我在开发的过程中,不可能在调用百度识别的同时进行筛选。
回答你的问题,data.npz中文字数组的顺序与text.log的顺序是一一对应的。
我刻意保留了这个弯路,不知道大家怎么看。
确实,只有在识别完成统计后才能知道有多少类。我之前没想明白你怎么把识别结果和识别图片一一对应的,既然可以通过顺序还完成。我之前想着,识别结果用字典来保存,key为文件名,value为识别结果,但是我好像是多虑了。另外,不知道是不是新的下载验证码图片的接口有问题,我都用IP代理开多线程下了,还是只下到8100多张,百度OCR识别正确只有4800张左右,导致了我80分类的正确标签都有问题......
我好像找到为什么我只下到8100多张图片了,我之前用的https://kyfw.12306.cn/passport/captcha/captcha-image64
都只有让选择一个类别的,而https://kyfw.12306.cn/passport/captcha/captcha-image
就看到好多选择两个类别的了,这样组合起来,能得到的图片就多了。这样看来,并不是图片分割有问题,而是百度OCR识别,的确只有55%左右的准确率。
最近我服务端收到了4万张验证码,哈哈。
能分享一下吗?可以的话,打包个网盘或者我留个邮箱给你吧
别急,后面还有很多脏活累活等着你呢。
标签的文字识别差不多搞定了,我的图片主要是口哨识别不正确,其他类别问题不大。
现在开始搞图片那部分,由于不是图像处理背景的,我看你其实处理方式,是把相似图片处理成为相同的whash的做法是吗?运行category_images.py
得到的是images.npz,这里面保存的是whash转化为uint64的值,print(f['images'])
得到的是(10038,),但是训练网络时候captcha.npz
是原图片(None,67,67,3)的数据维度,这个中间,是不是还用whash与原图片的对应,找到了原图片数据,然后和label一起保存到的captcha.npz的?
差不多,只是我开发时最终用的是phash。
我自己生成的captcha.npz文件去训练网络,发现只有70%左右的准确率.......看来我下载的数据可能有些问题。
哈,完整跑通啦?!我至少投入了两个月的时间呢。
为了回复,又reopen了,跑通是跑通了,其实,你的代码也就是生成captcha.npz的代码没有,实现了就能跑通。不过,我这准确率的确是不够高,感觉是个人工智障,不知道是不是实现有问题,但是没发现有什么问题(可能是数据集少的原因,我把图片按照分类保存下来,感觉我的统计学专家才初中毕业......)。我主要还是站在你两个月开发的基础上的。。。。。。再次感谢你的分享。让程序自己给数据打标签的想法十分巧妙。
你好,我想学习学习楼主的实现过程,想要完整地跑一遍代码,现在我知道: 1 我需要先运行
pretreatement.py
, 得到data.npz数据集; 2 baidu.py通过baidu API识别标签的结果; 3 第三步我应该做什么?我看mlearn.py以及mlearn_for_image.py需要的.npz或者.npy文件,都不清楚如何生成。在google drive上倒是有,但是想知道如何生成的?还有,下载图片的话,能下载多少,我下载了1800张左右时候,就开始大量有重复的文件了。