来源:趣玩责编:网络时间:2024-11-30 15:18:06
首先,因为验证码比较简单,图像也不复杂,都是数字。于是尝试用传统的方法,简单的按照网上的教程自己改了一下,使用了PHP识别。大致流程是进行切割、二值去噪等预处理,然后以字符串数组的形式保存。对传入的图片进行识别后,进行同样的预处理,比较字符串的相似度,选择熟悉度最高的分类。识别率不是很理想(验证码比较简单,应该优化得更好),依稀记得只能超过60%。
由于识别效果不理想,仍能长时间保持目标网站的登录状态。没必要花太多精力在这上面,所以就找到了手动打码服务。简直太便宜了。每个月花费并不多。效果还不错,但是有时候延迟比较高。无论如何,对于我们的生意来说已经足够了。
机器学习潮流来了,我就想能不能用在里面,于是参考了TensorFlow识别手写数字的教程,开始模仿猫和老虎。
什么是TensorFlow
TensorFlow 是Google 开发的机器学习框架。看名字,TensorFlow就是“张量流”。出色地。什么是张量?我对张量的理解是数据。张量有自己的形状,例如0阶张量是标量,1阶张量是向量,2阶张量是矩阵。所以在下面我们将看到TensorFlow 中使用的几乎所有量都定义了它们的形状,因为它们都是张量。
我们可以将TensorFlow 视为一个黑匣子,里面有一些设置管道。给它一些“张量”,它就会吐出一些“张量”。它吐出的就是我们需要的结果。
所以我们需要确定输入什么、吐出什么以及如何设置管道。
有关更多介绍性概念,请查看Keras 初学者指南» 一些基本概念
为什么使用TensorFlow
没有其他原因,只是因为谷歌的名气大,我也没有多想。首先卷起袖子开始工作。如果你想快速原型化,我建议你看看Keras,它被称为人类设计的机器学习框架,它用户友好,并为机器学习框架提供了几个更高级别的接口。
一般流程
捕获验证码、标注验证码、预处理图像、保存数据集、构建模型、训练、提取模型、使用捕获验证码
这个很简单,任何方法都可以循环下载很多文件,这里不再赘述。我这里下载了750个验证码,用了500个用于训练,剩下的250个用来验证模型效果。
标注验证码
这里有750个验证码。手动标记每个验证码会很累。这时候我们就可以使用人工编码服务,利用廉价的劳动力来为我们做这件事。手动编码后,保存识别结果。这里没有提供代码。这取决于您使用哪种验证码服务。我相信你很聪明,一定能解决。)
图像预处理
图片信息:这个验证码是68x23,二值化为JPG格式:我确信这个验证码足够简单,在丢失图片的颜色信息后仍然可以很好地识别。并且它可以降低模型的复杂度,因此我们可以对图像进行二值化。也就是说,只有两种颜色,全黑或全白。截取验证码:观察验证码。没有特殊的变形或者粘连,所以我们可以将验证码平均切割成4块,分别进行识别。这样,图像识别模型只需要处理10个类别(如果有字母,那就是36个类别而已)由于验证码外面有边框,所以边框也去掉了。处理结果:16x21、黑白2位数据集,包含输入数据和标签数据、训练数据和测试数据。由于数据量不大,为了简单起见,直接将数据保存为python文件,用于模型调用。不要将其保存为另一个文件,然后使用pandas或其他东西来读取它。
我们输入模型的最终数据形状是[[0,1,0,1,0,1,0,1.],[0,1,0,1,0,1,0,1. ],] 标签数据很特殊。本质上我们是在对输入数据进行分类,因此虽然标签应该是从0 到9 的数字,但这里我们将标签数据格式设置为one-hot 向量[[1,0 ,0,0,0,0,0,0,0 ,0,0],] one-hot向量除了某个数字为1外,其他维度均为0**,如[ 1,0,0,0,0,0,0,0 ,0,0]代表1,[0,1,0,0,0,0,0,0,0,0]代表2。再进一步,这里的one-hot向量实际上代表的是对应数据的概率分为这十类。概率为1 是正确的分类。
构建模型训练
数据准备好了,是时候构建“管道”了。也就是说,你需要告诉TensorFlow:
4.如何评价模型的质量?
检查训练结果
使用提取模型
我们训练了上面的模型,效果还不错。准确率接近99%,可能比手工编码还要高(获取测试数据时经常返回错误值)。但问题是,如果我想用这个模型进行生产,该怎么办?不可能每次都训练它。这里,我们将使用TensorFlow的模型保存和加载功能。
保存模型
恢复模型
终于
这里我们只是展示如何使用TensorFlow来识别一个简单的验证码,效果还不错。使用机器学习不应被认为是矫枉过正。毕竟模型无脑,省了不少时间。如果需要识别更多扭曲和异常的验证码,可能需要使用卷积神经网络等。图像结构和颜色信息不能丢失。另一方面,当涉及到网站安全时,纯图形验证码可能并不能作为判断是否是机器人的依据。对抗到最后,就变成了这么变态的验证码,哈哈哈。
拳击游戏还是有很多的玩家都是非常的喜欢尝试的,很是刺激,并且也是能够发泄心中的不快吧,现在市面上是有很多的类型的拳击的游戏,这些游戏一般都是一些格斗的游戏,其实是非常的有趣,也是相当的刺激的,游戏中是有一些不同的场景都是能够去进行体验的,我们也是能够去刺激的进行对战的,小编现在就是收集了一些有意思的拳击游戏,相信你们一定会喜欢的。
趣味烧脑游戏一般比较适合人们在无聊的时候打发时间,同时其操作以及游戏规则上都比较简单,让大家不会有上手很难的感受,可以轻轻松松就体验这个游戏的独特乐趣,并且随时下线都不用担心坑队友,同时也可以和好友一起来玩法,有多种挑战模式,可以根据自己的真实水平以及喜好来选择不同的挑战模式参与,收获到不一样的游戏趣味体验!
太空冒险类游戏顾名思义就是以外太空为背景打造的一类游戏,玩家在这种类型的游戏当中可以体验到非常独特有意思的太空冒险旅程,玩法内容的设计上充满了想象力,所有的场景都是人们在日常生活中从来没有见过的,而你可以驾驶各种各样的战舰展开无比激烈的星际对决,同时可以邀请身边的朋友一起参与到冒险当中,竞技对决的过程中十分注重
这里面为大家收集了一系列比较好玩的女生游戏,并且将会不断的更新,每个玩家都可以根据自己的喜好来选择适合自己的游戏打发时间,每款游戏都设置了新手教程,这样方便大家更加轻松的上手,不同类型的游戏可以让你领略到不一样的游戏乐趣,并且在这里随时都可以尝试其他的玩法,让你一次性就可以玩个够,同时还可以将这里的游戏乐趣分享
使用TensorFlow识别简单的图像验证码
剑网3:如果你是新手,看了这篇文章,闭着眼睛也能找到你的本命宗派!
英雄联盟手游新版凯尔怎么玩
新笑傲江湖华山侠客怎么选择
炉石传说宇宙德怎么玩
剑网3:无界选派,谁没有一个武者梦想?
十年铸世间梦,回顾《剑网3》的门派发展及版本变迁
关于剑三各门派的绰号你知道多少呢?天策:别叫我马楠! (优越的)
剑网3起源:5大门派解析,新手新手如何选择职业
游戏领域设计师之路设计专访:陈薇
用户评论
这太酷了!我之前一直对深度学习很感兴趣,现在终于有机会看到它在实际应用中运作了。
有13位网友表示赞同!
想象一下,我们可以用AI来解决那些烦人的验证码!
有14位网友表示赞同!
TensorFlow果然强大!学习这个模型应该很有趣。
有8位网友表示赞同!
图像识别一直是我想深入了解的领域,这篇教程刚好击中了我的痛点。
有11位网友表示赞同!
简单图像验证码?那太容易了!期待更复杂的挑战啊!
有11位网友表示赞同!
这篇文章能让我更好地理解TensorFlow的工作原理吗?
有9位网友表示赞同!
看起来很实用,也许我能用这个来保护自己的网站安全。
有11位网友表示赞同!
我对人工智能的应用前景很 optimistic,这篇教程让我看到了更多的可能性。
有19位网友表示赞同!
分享一个问题:图像验证码除了识别文字外,还有其他识别需求吗?
有14位网友表示赞同!
我想尝试自己搭建这样一个模型,看看能不能做到比原代码更好的效果。
有8位网友表示赞同!
学习TensorFlow的资源很多,但是能把知识点讲得这么清晰的教程太少了!
有7位网友表示赞同!
这篇文章讲解的很详细,我作为新手也能看懂。
有8位网友表示赞同!
如果将这个方法应用于更复杂图像识别场景会怎么样?
有13位网友表示赞同!
感觉这个模型的训练过程很有意思,下次可以尝试自己去训练一下。
有19位网友表示赞同!
我觉得这种人工智能技术应用非常广泛,将来在很多领域都会发挥重要作用!
有11位网友表示赞同!
这篇教程让我对深度学习有了更深入的了解。
有17位网友表示赞同!
期待看到更多使用TensorFlow实现图像识别问题的解决方案!
有5位网友表示赞同!
如果想进一步扩展,可以尝试使用更高级的图像识别模型吧!
有13位网友表示赞同!
这个项目很有实用价值,值得大家认真学习和探讨!
有17位网友表示赞同!