【AI达人创造营第三期】人脸识别飞机大战
使用Paddle进行人脸识别完成飞机大战。exe打包版本。测试可在带独立显卡的windows环境下直接运行。
人脸识别飞机大战-V2.1 -『AI达人创造营第Ⅲ期』
全网最流畅的人脸识别飞机大战项目!
Ⅰ:项目背景
AI浪潮来袭,飞桨在线下推广中,如果能加入一些趣味性强的游戏,既能展现飞桨开发者的技术积累,
也能充分调动活动现场的气氛,极大有利于飞桨产品的线下推广与转化。
但目前实际的情况中,平台提供的互动型小游戏较少,并且由于版本更新,许多游戏都不再更新。
这就导致线下部署的门槛要求非常高,很多社团无法短时间内部署一个互动性强的游戏。
本项目灵感起源于B站视频,但是类似的飞机大战视频都非常卡顿,并且需要的安装环境较为复杂。
笔者基于网络开源的素材及代码资源,重构了整个项目。
加入AI元素,飞桨元素,大幅度优化游戏流畅度,并打包生成可运行exe文件,极大降低部署门槛。
游戏效果预览
AIStudio系列项目
[1]. V1.0-『领航团』人脸识别飞机大战
[2]. V2.0-【AI达人创造营第二期】人脸识别飞机大战-PLUS
Ⅱ:项目更新内容
人脸识别飞机大战-V2.1版本
本项目更新内容如下
-
更改已知Bug,优化游戏速度及参数设置
-
使用百度文心·一格生成游戏背景及ICON
文心·一格是基于百度文心大模型的一款AI作画产品,让你实现一语成画,只需输入一段文字,一格即刻为你生成创意精美的画作,画出你的想象.
-
使用QPT 完整打包游戏,点击exe即玩
QPT是一款python的多功能封装工具,可以便捷的将Python脚本打包成EXE可执行程序,摆脱运行环境约束。
经过实操对比,
可能是全网最流畅的人脸识别飞机大战
Ⅲ:游戏介绍
- 第一次游戏可能由于加载配置略有卡顿,稍等数秒后即可流畅运行
飞机大战游戏中,玩家控制飞机通过发射炮弹打掉其他飞机来赢得分数,最终分数前十名进入排行榜。
-
游戏使用人脸识别控制飞机移动,张嘴(一定要张大)发射全屏炸弹。
-
飞机与敌机相撞时,消耗一条生命。
-
左下角为全屏炸弹数量,右下角为生命数量,生命消耗完,游戏结束、
-
左上角为实时分数显示,右上角为游戏暂停按钮
游戏内分为大中小三类敌机,越高级的敌机拥有更多的血量,敌机的速度会随着游戏的进行加快、
为了增加对抗性,设置了三类补给,每间隔20秒随机出现一次补给
- 全屏炸弹补给
- 全屏炸弹数量增加1:最大个数为3,初始个数为3
- 双倍子弹补给
- 双倍子弹持续18秒
- Paddle生命补给
- 生命数量增加1:最大个数为3,初始个数为1
Ⅳ:游戏说明
-
游戏需要将 data/data168890/FlyFightWithFaceV2.1.zip 下载至本地解压
-
点击启动程序.exe直接运行即可。
-
首次运行需要自动下载模型文件,请等待根据网速等待一至两分钟
核心技术方案
-
使用paddleHUB进行人脸检测替换了使用键盘操作的方案。
人脸关键点检测是人脸识别和分析领域中的关键一步,它是诸如自动人脸识别、表情分析、三维人脸重建及三维动画等其它人脸相关问题的前提和突破口。
该模型转换自链接 ,支持同一张图中的多个人脸检测。它可以识别人脸中的68个关键点。
- 主要的工作在与游戏性的丰富和游戏流畅性的优化,主要思路是通过设置合适的延迟避免阻塞。
QPT 打包
QPT是一款可以“模拟”开发环境的多功能封装工具,最短只需一行命令即可将普通的Python脚本打包成EXE可执行程序,并选择性添加CUDA和NoAVX的支持,尽可能兼容更多的用户环境。
本项目按照QPT-快速使用完成打包。
在人脸识别相关项目中,QPT打包PaddleHUB时需要添加1:decorator 2:astor 3:scipy三个依赖包,否则会打包失败。
Ⅴ:总结及展望
-
项目基于Paddle,Pygame 完成,游戏部分代码及素材来源于互联网。背景及ICON使用一格大模型生成。使用QPT打包为exe,windows环境下可一键流畅运行。
-
源码均在解压文件的resources目录下,感兴趣请自行查阅。
项目价值
本项目完成了最流畅的基于飞桨的人脸识别打飞机游戏,该游戏不用部署环境,大大降低了线下活动的门槛。同时本项目代码清晰,结构简单,也可以很方便的进行二次开发。
提供一种简单快速的paddleHUB游戏开发及部署案例,用于线下活动快速落地实施。提高飞桨线下活动新人转化率,打造飞桨技术品牌。
此文章为搬运
原项目链接
更多推荐
所有评论(0)