回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页
best-icon

【二哈识图2 模型应用】辨拳识势,AI 洞察策略:重构石头剪刀布博弈逻辑! 简单

头像 zoey不种土豆 2025.11.27 20 0

提到猜拳,你是不是还停留在“石头剪刀布,输了喝一杯”的随机博弈印象里?但我做的这款猜拳项目,彻底打破了这种“全看运气”的刻板认知——它让猜拳变成了一场融合实时手势识别与AI策略预判的趣味对抗,连朋友聚会时的即兴对弈,都藏着严谨的技术逻辑。

项目的核心创新,就在于“识别+预判”的双重机制:一方面靠精准的图像识别技术,能在用户出拳的瞬间捕捉手势并完成识别,哪怕是快到模糊的动作也能精准捕捉,保证对战的实时流畅;另一方面,AI会悄悄“记笔记”——分析用户过往的出拳记录,从“连续出剪刀后必换石头”这类小习惯,到“故意伪装出拳节奏”的套路,都能总结出行为规律,进而预判下一次的出拳策略。

项目亮点

1. AI 预判前置,直击用户出拳逻辑 突破传统猜拳的随机属性,依托大模型强大的数据分析能力,深度挖掘用户历史出拳记录,精准提炼行为偏好与套路规律。

2. 视觉识别速捕,零延迟捕捉真实动作 搭载二哈识图 2 代视觉识别模型,凭借优化后的图像算法与高效部署方案,实现对用户猜拳手势的 “快速捕捉 + 精准识别”。

在本项目中你将学习如何在二哈识图 2部署自己的剪刀石头布检测模型,将其和行空板K10、大语言模型组合起来,组建一个超强的 AI 猜拳大师!

在本项目中你将学习如何在二哈识图 2部署自己的剪刀石头布检测模型,将其和行空板K10、大语言模型组合起来,组建一个超强的 AI 猜拳大师!

准备工作

硬件准备

要实现本教程,需要准备以下硬件:

二哈识图2 AI 视觉传感器 * 1

行空板K10 * 1

microSD 16GB 内存卡 * 1

TF卡读卡器 * 1

软件准备

Mind+软件

查看二哈2固件版本:系统设置—>设备信息。

image.png

图中是0.9.0版本版本过低,需要更新固件1.1.6及以上,固件更新请参考:https://wiki.dfrobot.com.cn/_SKU_SEN0638_Gravity_HUSKYLENS_2_AI_Camera_Vision_Sensor#7.%E5%9B%BA%E4%BB%B6%E6%9B%B4%E6%96%B0

功能实现

部署二哈 2 模型

使用USB数据线连接电脑与HUSKYLENS 2,连接好后电脑会出现一个名为Huskylens 的硬盘。将剪刀石头布检测模型zip文件复制到Huskylens 的 硬盘的\storage\installation_package目录下。

image.png

点击HUSKYLENS 2屏幕,点击进入'模型安装'。

image.png

选择本地安装,安装成功后出现下图。

image.png

此时观察HUSKYLENS 2屏幕出现一个新的名为猜拳检测的功能,表示我们已经成功将自己训练的模型导入至HUSKYLENS 2中。

image.png

点击进入猜拳检测功能,观察我们自己部署模型的识别效果。

image.png

连接固定硬件

连接硬件

使用4pin 白胶线连接K10和二哈2。并且给行空板K10和二哈2都供电。

image.png

安装固定

可以使用适配二哈的固定夹固定二哈2,此3D打印件链接:https://makerworld.com.cn/zh/@user_739543819/upload

image.png
image.png

设置行空板K10运行音频文件

使用TF读卡器,将音频文件放入TF卡中,再将TF插入到K10的TF卡槽中。在后台播放TF存储卡内的指定音频文件,目前只支持wav格式的双声道立体声音频,否则会有杂音或播放加速的问题。

注意 : 若使用32GB以上的内存卡需将内存卡格式化为FAT32格式,具体步骤请参考:https://www.unihiker.com.cn/wiki/k10/TFcard

image.png

设置行空板K10豆包聊天

账号登录-火山引擎,根据价格、免费额度和功能,自由选择要开通的模型。

本文这里使用的Doubao-Seed-Code ,具有超长上下文支撑、综合使用成本低的特点。此外,可以使用Doubao-1.5-lite、Doubao-Seed-1.6-thinking等,具有低延时、节省token的特点。

image.png

创建API Key,代码中填入“API Key”,注意是图中星号位置的内容,不是打码位置的内容。

image.png

创建接入点。

image.png

填入信息,选择一个已经开通的模型。

image.png
image.png

确认接入。

image.png

代码中填入“接入点ID”,以及API密钥。

image.png
image.png

mind+编程设计

初始化阶段

下载mind+用户库,打开样例。

在mind+用户库中添加二哈2以及豆包大语言模型。

image.png

在部署了模型的前提下,找到二哈识图2的自训练模型积木。

在二哈2中找到猜拳检测的算法ID序号,例如我的是128。

image.png

首先,需要连接wifi,初始化二哈2、大语言模型。初始化成功后会播放语音。注意:豆包大语言模型需要wifi,wifi必须连接成功。需要填入之前注册的API密钥和接入点ID。

注意事项:初始化角色中的JSON格式会在之后讲到。

image.png

初始化轮次、用户胜场变量,用于记录猜拳轮次以及用户胜率。历史5条猜拳记录用于大语言模型分析人类猜拳心理分析。

主循环

初始化人类结果、AI结果、AI输赢变量 —> 按下A键开始运行 —>发送分析和猜拳的消息给大模型 —> 保存返回的JSON数据 —> 显示分析结果 —> 检测人类猜拳 —> 判断输赢结果,结算胜场 —> 显示结算结果,轮次+1进入下一轮。

JSON数据格式

JSON是一种轻量级、易读易写的数据交换格式,广泛用于嵌入式设备、API 通信、前后端数据传输等场景,核心特点是跨平台兼容、解析效率高。JSON本质是纯文本格式,用键值对(key:value)组织数据,不依赖编程语言。常用格式示例:

代码
{"猜拳":"Scissors", "分析结果":"用户过往3次出布,本次预判出剪刀"}

image.png

一般时候,大语言模型返回的对话结果,都是没有格式约束,我们不能确切得到我们想要的结果。将大模型设置为只返回JSON数据格式,当我们接收大模型的消息时,得到的就是标准的JSON数据格式。

将参数设置为“分析结果”,我们就得到 key=“分析结果”时,对应的数据文本,不会有其他数据。

注意事项:在初始化角色的时候,就要规定是JSON数据返回,给大模型规范返回格式,并且举出示例:{\"猜拳\":\"剪刀\", \"分析结果\":\"xxx\"}。如果出现JSON语法

错误、解析失败的报错,就需要注意示例格式是否正确。

image.png
image.png

显示分析与结果

主循环中的显示分析与结果函数,将轮次、用户胜率、AI结果、用户结果、AI输赢结果以及AI心理分析都显示出来。

image.png

检测人类猜拳

主循环中的检测人类猜拳函数。初始设置控制读取变量==0,重复执行二哈2读取手势的操作,直到读取到目标,控制读取变量 =+ 1跳出检测循环。

我的猜拳模型算法ID 为128,ID0 为默认,检测到人类猜拳手势后,将名称结果保存给人类结果变量记录下来。

转化人类结果

检测人类猜拳中的转化人类结果函数。模型得到的数值是英文的Scissors、Rock、Paper,需要将其转化为中文的剪刀、石头、布。

判断输赢

检测人类猜拳中的判断输赢函数。整理出平局、AI赢了、AI输了的情况,将结果赋值给AI输赢结果。

保存5条历史结果

检测人类猜拳中的保存5条历史记录函数。设置人类、AI列表用来保存历史记录。当列表项目数超过5个,就将列表第1个项目删除,将每次新得到的结果加入到列尾。之后遍历整个列表,将列表中的所有n个数据都保存在字符串“历史5条猜拳记录”中。image.png

附件

程序文件

wav音频文件

image.png

评论

user-avatar