利用Python解决掉谷歌人机验证,全自动识别真的牛啊

一、接触前感受

第一次带我领略yolov5风骚的是这个视频:【亦】警惕AI外挂!我写了一个枪枪爆头的视觉AI,又亲手“杀死”了它。

这样一来,我对人工智能打游戏产生了浓厚的兴趣,于是在B站查找人工智能基础,随便一个系列就是几十小时起步。

我心想,值得的。但是,看完某个系列的第一条视频我放弃了,我懵逼啊。

最后,我们来了解一下人工智能的智能在哪里为了让人工智能迅速成长,科学家们决定送它去打游戏

干货主要有:

① 200 多本 Python 电子书(和经典的书籍)应该有

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且可靠的练手项目及源码)

④ Python基础入门、爬虫、网络开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

私信小编01即可获取大量Python学习资源

二、先入为主,形成概念

学习一样从来没接触过的东西,最怕的是没有概念,没有概念就不能拿来装知识,形成概念最简单最迅捷的方法就是跟着别人操作一遍Yolov5配置傻瓜教程

https://www.icode9.com/content-4-882435.html

其中会遇到各种各样的问题,需要自己去理解和消化,这样就慢慢形成了概念,后续通过学习再逐渐升华到高度。

三、识别九宫图片验证

yolov5能帮助我们实现目标检测,从GITHUB下载前需要配置一些环境,yolov5下载后已经可以检测80种物体。

https://github.com/ultralytics/yolov5

当然,我们也可以训练自己的数据集,我已经尝试训练一组游戏图片,希望让他自动辨别人物,但无奈提供的数据太少而识别不了。

于是,我尝试用来识别九宫图片验证

需要注意的是,yolov5有四种网络结构,yolov5 s/m/l/x ,yolov5s网络最小,速度最少,AP精度也最低,Yolov5x在Yolov5l基础上,不断加深加宽网络,AP精度也不断提升,但速度的消耗也在不断增加

当我使用作者训练好的数据集做目标检测时,发现yolov5s.pt不能识别到右边最小的车,用yolov5m.pt才识别到。

所以,平时我们训练自己的数据集,如果想快就使用yolov5s.yaml,如果需要高精准就用其他三种训练。

四、获取坐标

我们做目标检测时,运行的是一yolov5的detect.py,里面不会直接返回坐标,需要加上以下代码(后面我会贴出来免费下载

我们来看aim返回的值

返回了三个列表,说明检测到了三个目标。

列表中的第一个元素是“类别2”,代表“car”这个类别;

列表中的第二个元素和第三个元素是目标在图中的位置,分别代表横轴和纵轴,按比显示(图是1920*1080);

列表中的第四个元素和第五个元素是目标在图中的大小,分别代表宽(横轴方向)和长(纵轴方向),按比显示

列表中的第五个元素是检测度。

目标越大越容易辨认,所以我这里截整个屏幕有点大导致目标有点小了。

还需要确认两个参数,weights(权重)和source(待检测图片路径)

若没有相应的.pt,第一个参数weights会在运行自动帮你下载。

最后,根据图片的大小以及自己屏幕分辨率的可以计算出检测目标的位置,鼠标自动点击就完成验证。

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...