人脸识别飞机大战-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. 全屏炸弹补给
  • 全屏炸弹数量增加1:最大个数为3,初始个数为3
  1. 双倍子弹补给
  • 双倍子弹持续18秒
  1. 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游戏开发及部署案例,用于线下活动快速落地实施。提高飞桨线下活动新人转化率,打造飞桨技术品牌。

此文章为搬运
原项目链接

Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐