和AI直接来场猜拳吧

2020-10-09 11:08陈新龙
电脑报 2020年36期
关键词:图像识别手势剪刀

陈新龙

在往期的《掌控板之猜拳小游戏》中我们已经学习了猜拳游戏各种情况的逻辑判断。今天我们不用掌控板,而是利用Mind+丰富的扩展功能制作出让AI智能通过电脑摄像头识别人的出拳,与AI之间直接玩猜拳的全新猜拳小游戏。在游戏中会涉及到人工智能中的图像识别功能,以及根据需求灵活运用模块原有功能,在学习制作游戏的同时可以拓展大家的知识面(图1)。

Mind+比Scratch有更加丰富的功能模块,包括支持更多的硬件连接,网络服务……今天我们需要用到网络服务中的“文字朗读”和“AI图像识别”技术(图2)。

文字朗读:用户可以根据自己的需要选择不同的语言,朗读出不同的文字;

AI图像识别:使用图像AI,可以识别生活中有趣的东西。如人脸识别(性别、年龄、脸型、颜值、眼镜、表情、真人)、人脸对比、常用物体识别(植物、动物、货币)、文字识别(文字、数字、车牌)、手势识别等。只用一台带摄像头的电脑和流畅的网络可体验AI图像识别玩法。

程序共有7个角色,小猫角色作为解说助手,在的游戏运行过程中说明玩法和步骤。还有电脑和玩家的各三种手势(石头、剪刀、布)。

点击空格键开始游戏,电脑自动出拳(如果用户想看系统出拳的结果可以按1键)。玩家需在摄像头前进行拍摄识别(在识别的过程中不要露出脸部,否则的话很难识别成功),随后系统判定获胜方。

用变量分别记录电脑和玩家出拳的手势。变量分为三部分:玩家三种出拳手势,电脑三种出拳手势,以及验证电脑和玩家是否出拳……为保证视觉效果这些变量需全部隐藏(图3)。

小猫代码分析:

小猫会用字幕和语音提示游戏步骤(图4)。

电脑用1到3之间的随机数确定出拳手势(1:石头2:剪刀3:布)。用广播与其他角色进行交互(图5)。

AI图像识别通过摄像头识别玩家出拳的结果,语音提示玩家出拳后,在弹出的摄像头画面中做出相应的手势(石头、剪刀、布)。摄像头会截取图片发往服务器进行AI图像识别,其实AI图像识别这个扩展并没有专门为猜拳适配石头、剪刀、布的手势,我们只是借用相同的手势:石头使用拳头、剪刀使用数字二、布使用数字五。

系统会一直截取图片,直到识别出需要的手势,界面的右边猜拳图片根据识别结果显示(图6)。

接收到双方手势后,根据猜拳的胜负逻辑进行判断,这部分逻辑判断往期的文章已经学过了,最后说出胜负结果(图7)。

根据胜负结果显示相应的手势角色。

看完與AI猜拳的核心代码后,程序还有几个问题需要你自己解决了。电脑出拳结束后,玩家按下1键可以查看结果。当电脑和玩家出拳结束后,系统是如何判断胜负的呢?

猜你喜欢
图像识别手势剪刀
基于计算机视觉的图像识别技术研究
挑战!神秘手势
人工智能背景下图像识别技术浅析
胜利的手势
基于字典学习的正则化鲁棒稀疏表示肿瘤细胞图像识别
图像识别交互系统
石头剪刀布
认手势说数字