| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 杀鸡用牛刀!通过YOLOv5识别斗地主牌型,做一个AI记牌器,再也不用担心如何算牌赢豆了! -> 正文阅读 |
|
[人工智能]杀鸡用牛刀!通过YOLOv5识别斗地主牌型,做一个AI记牌器,再也不用担心如何算牌赢豆了! |
目录 前言最近在CSDN上看到一个很火的开源项目《斗地主老是输?一起用Python做个AI出牌器,欢乐豆蹭蹭涨!》,作者Dragon少年也分享了源代码,确实很好用,但是在扑克牌牌型识别的时候由于使用的是特定模板匹配,所以只适用于某游戏大厅的欢乐斗地主,而无法识别某手游助手的欢乐斗地主。 某游戏大厅欢乐斗地主:可以识别牌型? ?某手游助手欢乐斗地主:无法识别牌型 可以看到两者之间扑克牌牌型确实存在差异,所以通过特定模板匹配肯定无法识别出来。于是考虑通过神经网络进行扑克牌型识别,从而可以针对不同平台的斗地主进行扑克牌牌型识别,通用性更强。 由于该过程分为两个过程,一是定位到扑克牌数字或者字母位置,二是对相应位置上的图像进行牌型分类。经过一系列比较与试验,最终选择了YOLOv5进行扑克牌目标检测与识别。 一、YOLOv5环境配置本教程所用环境:代码版本V3.0,源码下载地址:https://github.com/ultralytics/yolov5.git
项目的测试平台为: 二、制作自己的扑克牌数据1.采集扑克牌数据分为三类数据:手牌、底牌、出牌。 由于牌型特征明显,所以仅需要针对每一类采集少量数据进行标注,就能取得较好效果,采集结果如下图所示: 2.通过labelimg进行数据标注由于第一次安装labelimg时,其中安装的pyqt5库与Spyder发生冲突,导致无法打开Spyder界面,折腾了很久才弄好。 所以建议新建一个虚拟环境,避免发生冲突。 (1)在Anaconda Prompt建立建立一个安装labelImg的python虚拟环境;
(2)然后激活该环境?
(3)打开标注工具LabelImg 我们要标定数据的时候,一般是已经制定好了要标注物体的类别,这样在打开LabelImg之后,我们只要框定目标之后,选择要对应的标签即可。
其中cards为存放采集数据的文件夹,predefined_classes.txt为存放标注物体的类别的文本文件。 具体labelimg使用可以参考目标检测使用LabelImg标注VOC数据格式和YOLO数据格式——LabelImg使用详细教程。 PS:注意直接选择存储为YOLO格式,即标注数据最终保存为txt格式。 3. 划分训练集和验证集数据集标注好之后,存放如下目录格式:
三、训练扑克牌数据集1.修改数据和模型配置文件1.1 修改数据配置文件原先的配置文件为: 我们把将文件复制一份,重命名为pokercard.yaml。 然后在pokercard.yaml中需要修改3处内容:
(2)修改类别数nc
(3)修改类别列表,把类别修改为自己的类别
修改后的pokercard.yaml完整配置内容如下:
1.2 修改模型配置文件修改模型配置文件,这里我使用的是yolov5\models\yolov5s.yaml。 因此,在yolov5s.yaml中只需要修改一处,把nc修改为自己的类别数即可。
2.使用yolov5s.pt预训练模型进行训练训练命令:
?训练结果: 训练结束后,会生成两个预训练的模型:
四、使用训练好的预训练模型进行测试推理目录下图片集命令,将检测中有些图片置信度比较低的通过
测试结果如下所示:? ? 可以看到不管是手牌、底牌还是出牌的牌型都识别出来了,而且不管是哪个平台的欢乐斗地主都可以。 完美!!! 五、下一步工作接下来就是如何在AI记牌器中融入YOLOv5牌型检测与识别模型,从而再也不用担心记牌、算牌,去赢取大量欢乐豆了!!!从此走上豆豆巅峰!!! 今天我们就到这里,明天继续努力!未完待续! 感谢H师姐的鼎力相助!!! 如果该文章对您有所帮助,麻烦点赞,关注,收藏三连支持下! 创作不易,白嫖不好,各位的支持和认可,是我创作的最大动力! 如果本篇博客有任何错误,请批评指教,不胜感激 !!! 参考: 斗地主老是输?一起用Python做个AI出牌器,欢乐豆蹭蹭涨! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 21:48:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |