Giter VIP home page Giter VIP logo

Comments (19)

zhaipro avatar zhaipro commented on May 16, 2024

其实我扔掉了很多代码,因为它们很乱,我懒得整理。例如,统计百度的识别结果

你不清楚如何构造数据集,那你理解它们的含义吗?具体可以看一下我在维基中写的开发流程。

1800张就大量重复?我都是以万为单位来下载的。

from easy12306.

busyyang avatar busyyang commented on May 16, 2024

wiki我已经看了,大概了解思路。数据集的含义大致是理解的,但是我不太清楚,如何将图片的正确标签给他对应上的代码实现......
具体实现,还没有细看,我先把验证码图片下载,并用百度OCR识别出来再继续吧,谢谢。
下载代码右跑了一会儿,现在有3700张左右,看下一晚上能下载多少。做个多进程去请求图片会不会要快一些。
另外,this is an amazing work. Thanks for sharing.

from easy12306.

zhaipro avatar zhaipro commented on May 16, 2024

作为交换,我的问题是:

  1. 百度文字识别结果的正确率约为55%,感觉有点低,其原因是不是我剪切文字的区域有点偏?可以参照下图重新定义文字区域

from easy12306.

busyyang avatar busyyang commented on May 16, 2024

我觉得是的,wiki里面的图片,有的明显分割的位置偏了,没有把需要选择2类的分割开。

from easy12306.

zhaipro avatar zhaipro commented on May 16, 2024


还有第5行第2列的锣,部首出界了,哈!

from easy12306.

busyyang avatar busyyang commented on May 16, 2024

接着上次的聊啊,我下载了8000多张验证码图片,现在我知道用pretreatement.py可以得到一个data.npz文件,包含了labels和img的phash值。然后我也用baidu.py进行了识别了,然后你将百度识别的前80种类的图片做了一个texts.npz文件了是吧?但是我看baidu.py识别时候,仅仅把识别的文字写到了text.log里面,并没有将源文件名对应起来,这样,后面你在做texts.npz时候,又去识别了一遍?还是,就通过os.listdir的顺序来对应文件与label的?

from easy12306.

zhaipro avatar zhaipro commented on May 16, 2024

我是调用了百度,并做了统计之后才知道验证码一共只有80种,所以我在开发的过程中,不可能在调用百度识别的同时进行筛选。

回答你的问题,data.npz中文字数组的顺序与text.log的顺序是一一对应的。

from easy12306.

zhaipro avatar zhaipro commented on May 16, 2024

我刻意保留了这个弯路,不知道大家怎么看。

from easy12306.

busyyang avatar busyyang commented on May 16, 2024

确实,只有在识别完成统计后才能知道有多少类。我之前没想明白你怎么把识别结果和识别图片一一对应的,既然可以通过顺序还完成。我之前想着,识别结果用字典来保存,key为文件名,value为识别结果,但是我好像是多虑了。另外,不知道是不是新的下载验证码图片的接口有问题,我都用IP代理开多线程下了,还是只下到8100多张,百度OCR识别正确只有4800张左右,导致了我80分类的正确标签都有问题......

from easy12306.

zhaipro avatar zhaipro commented on May 16, 2024

嗨嗨,我统计百度的识别结果也有类似的问题(虽然我用了两万张),所以排序只是辅助,最后还是做了人工筛选。

from easy12306.

busyyang avatar busyyang commented on May 16, 2024

我好像找到为什么我只下到8100多张图片了,我之前用的https://kyfw.12306.cn/passport/captcha/captcha-image64都只有让选择一个类别的,而https://kyfw.12306.cn/passport/captcha/captcha-image就看到好多选择两个类别的了,这样组合起来,能得到的图片就多了。这样看来,并不是图片分割有问题,而是百度OCR识别,的确只有55%左右的准确率。

from easy12306.

zhaipro avatar zhaipro commented on May 16, 2024

最近我服务端收到了4万张验证码,哈哈。

from easy12306.

busyyang avatar busyyang commented on May 16, 2024

能分享一下吗?可以的话,打包个网盘或者我留个邮箱给你吧

from easy12306.

zhaipro avatar zhaipro commented on May 16, 2024

别急,后面还有很多脏活累活等着你呢。

from easy12306.

busyyang avatar busyyang commented on May 16, 2024

标签的文字识别差不多搞定了,我的图片主要是口哨识别不正确,其他类别问题不大。
现在开始搞图片那部分,由于不是图像处理背景的,我看你其实处理方式,是把相似图片处理成为相同的whash的做法是吗?运行category_images.py得到的是images.npz,这里面保存的是whash转化为uint64的值,print(f['images'])得到的是(10038,),但是训练网络时候captcha.npz是原图片(None,67,67,3)的数据维度,这个中间,是不是还用whash与原图片的对应,找到了原图片数据,然后和label一起保存到的captcha.npz的?

from easy12306.

zhaipro avatar zhaipro commented on May 16, 2024

差不多,只是我开发时最终用的是phash。

from easy12306.

busyyang avatar busyyang commented on May 16, 2024

我自己生成的captcha.npz文件去训练网络,发现只有70%左右的准确率.......看来我下载的数据可能有些问题。

from easy12306.

zhaipro avatar zhaipro commented on May 16, 2024

哈,完整跑通啦?!我至少投入了两个月的时间呢。

from easy12306.

busyyang avatar busyyang commented on May 16, 2024

为了回复,又reopen了,跑通是跑通了,其实,你的代码也就是生成captcha.npz的代码没有,实现了就能跑通。不过,我这准确率的确是不够高,感觉是个人工智障,不知道是不是实现有问题,但是没发现有什么问题(可能是数据集少的原因,我把图片按照分类保存下来,感觉我的统计学专家才初中毕业......)。我主要还是站在你两个月开发的基础上的。。。。。。再次感谢你的分享。让程序自己给数据打标签的想法十分巧妙。

from easy12306.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.