麻瓜回归!零代码,零基础,全网最傻瓜式的滑块验证码识别训练框架

最新更新 07/31/22

  1. 修复了系统用户名和路径名包含中文时授权失败的情况
  2. 新增了pytorch环境完整性检查(不少用户首次启动安装环境过慢就以为卡死关掉了导致torch运行时不完整)

近几年,滑块验证码几乎已经普及成为最常用的反爬手段,每个爬虫工程师招聘的必备技能,相较于传统的思路,目前主流的方案应该有两种,一种是使用OpenCV的模板匹配,另一种是Yolo这类的目标检测框架来训练。虽然可行,但是前者需要较为复杂的预处理才能获得较好的效果,后者又过于臃肿,可谓牛刀杀鸡,大材小用。笔者希望借助开发这个小工具可以给大家提供另类的全新的思路, 同时也帮助安全风控厂商自我检验产品的安全性,促进行业的发展。

在这里插入图片描述

性能优势:

在这里插入图片描述
肉眼可见的迅速,仅仅2-3毫秒的识别耗时。使用过Yolo目标检测的开发者应该很了解这两个方案的速度差距了。

思路分析:

首先对比于Yolo这类目标检测框架而言,MUGGLE-SLIDER DL 框架的样本要求更为简单,目标检测的样本需要:x0, y0, x1, y1才能定位一个框,而在实际场景中,滑块验证码只需要提交x0一个答案,所以笔者网络设计的核心便在于,简化问题,从求解整个方框到求解x0边的值。无论是多缺口,单缺口,问题的本质都可以转化为一个值的求解。如果使用RPA进行模拟人工操作浏览器的话,那么可以拿到如上图所示的截图。如果是通过逆向JS协议拿到真实图组的话,大致也可以分为两种情况:

  1. 一张背景图,一张滑块图(图片高度与背景图高度一致)
  2. 一张背景图,一张滑块图,滑块在背景中的y坐标值。

不论背景图种有几个缺口拼图,不论是什么形状的图标,我们都可以直接把两张图片合并成一张图。这样就可以使用这个工具训练了。

样本方面:

对接打码平台自动采集

并不需要像Yolo那样自己拉框标注,可以直接对接打码平台来采集样本,首先通过合并之后的图片,从平台识别的结果拿到x0的值,再通过官网的验证机制,判断正误,只保存识别通过的图片作为样本。 (因为如果不验证,平台的拿到的坐标结果可能偏移过大,导致训练的识别率有不小的误差,笔者测试对接的图鉴识别坐标通过了再保存坐标值,只使用正确样本训练结果几乎达到了99.8%,没有筛选的样本差不多70-80%不等),这样就可以很轻松的采集到高质量的样本了。如下图:

在这里插入图片描述

使用步骤:

准备好样本之后,我们启动软件:

在这里插入图片描述

为了贯彻研究学习的初衷,防止套壳倒卖,黑产滥用等,设计了网络验证用于鉴权,如果该工具冒犯了您的权益,请联系作者,笔者将封锁违法设备的使用权限,或者下架该软件。

第一步:

点击<1.获取使用授权>按钮,获取授权。(再次声明,软件完全免费,授权只是为了防止套壳倒卖行为,因为加了授权即便是套壳也去不掉软件界面上的声明,避免不必要的纠纷。毕竟免费软件被套壳倒卖然后发生经济纠纷之后,算到作者头上这也是常有的事,软件作者成了大冤种。)

第二步:

点击<2.选择样本路径>按钮,选择刚刚采集好的样本所在的目录,为了达到更好更稳定的效果,建议样本数量大于500以上。

第三步:

点击<3.训练>按钮,开始训练的旅程,开始训练之后,您将见到如下界面:

在这里插入图片描述

耐心等待训练结束,若当您训练完成之际,您将会看到如下画面:

在这里插入图片描述

说明模型已经导出。

第四步:

点击<3.打开项目路径>按钮,您将见到如下的目录结构:

在这里插入图片描述

打开example目录,可以看到笔者贴心的提供了各种调用的方法:

在这里插入图片描述

不论是DLL调用,抑或是API调用,都已经安排好了,

在这里插入图片描述

我们进入其中的x86-DLL调用方案来看,能看到核心调用模块为:“MuggleSlider_x86.dll”,模型为:“model.onnx”,只需要参考demo调用方法即可。

DLL调用的接口设计为:

在这里插入图片描述

我们再来看看Linux -API的调用,能看到这样的文件结构:

在这里插入图片描述

bin为可执行文件,API服务端,我们先给他赋予权限

chmod 755 main.bin

然后可以使用:

./main.bin 

来运行,启动之后可以看到这样的画面:

在这里插入图片描述

如果希望后台运行,则可以使用:

nohup ./main.bin &

来启动服务。

由上面的日志可见,调用文档可以访问服务提供的地: http://127.0.0.1:19199/runtime/api/guide

最后,本文所介绍的小工具(因为包含CUDA所以体积比较大,目前只支持英伟达显卡或CPU训练),下载地址上传到了百度网盘:

链接:https://pan.baidu.com/s/1YTdMqhyKAcRQnkrJHGfdQg
提取码:1111
–来自百度网盘超级会员V5的分享

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>