当前位置:首页 > 科技资讯 > 正文

赛博养鱼热潮:AI小游戏“Draw A Fish”引发全球网友狂欢

何以一笔小丑鱼能带来《王者荣耀》晋升的快感?

你见过赛博遛狗,可曾见过赛博养鱼?

赛博养鱼热潮:AI小游戏“Draw A Fish”引发全球网友狂欢 赛博养鱼 AI小游戏 Draw Fish 全球网友 第1张

近期,一款名为“Draw A Fish”的AI小游戏风靡全球,数百万网友沉迷其中。

游戏规则十分简单:只需在画布上随意绘制一条小鱼,就能在虚拟鱼缸中目睹它栩栩如生的游动。

体验地址:https://drawafish.com/

进入网站,你将看到一个简洁的绘图工具,能够选择颜色和笔刷粗细,随后在画布上绘制一条面向右侧的小鱼。AI会实时判断你的作品是否形似鱼类,并通过画布背景颜色的变化提供即时反馈。

赛博养鱼热潮:AI小游戏“Draw A Fish”引发全球网友狂欢 赛博养鱼 AI小游戏 Draw Fish 全球网友 第2张

当相似度达到60%以上时,点击“make it swim”按钮,并为小鱼命名,就能将其丢入一个共享的虚拟鱼缸中,观赏小鱼与其他玩家的作品一同游动。

赛博养鱼热潮:AI小游戏“Draw A Fish”引发全球网友狂欢 赛博养鱼 AI小游戏 Draw Fish 全球网友 第3张

你甚至可以与这些奇形怪状的小鱼互动,只需一点即可点赞或评论。

赛博养鱼热潮:AI小游戏“Draw A Fish”引发全球网友狂欢 赛博养鱼 AI小游戏 Draw Fish 全球网友 第4张

官方也玩起了花活,直接推出了排行榜。目前最高分是一条抽象涂鸦小鱼,得分高达53245,甚至有一条形似鸟类的鱼拿到了-40182的分数。

赛博养鱼热潮:AI小游戏“Draw A Fish”引发全球网友狂欢 赛博养鱼 AI小游戏 Draw Fish 全球网友 第5张

赛博养鱼热潮:AI小游戏“Draw A Fish”引发全球网友狂欢 赛博养鱼 AI小游戏 Draw Fish 全球网友 第6张

如果注册了账号,还可以将自己绘制的小鱼放入专属鱼缸。

赛博养鱼热潮:AI小游戏“Draw A Fish”引发全球网友狂欢 赛博养鱼 AI小游戏 Draw Fish 全球网友 第7张

为何数百万网友沉迷于一群小丑鱼?

数百万网友对赛博养鱼沉迷不已,这并非偶然。

“Draw a Fish”的简洁性令人惊叹。无需登录,无需教程,点击即玩。画条鱼,谁还不会呢?这种低门槛设计让人回想起昔日的热门小游戏Flappy Bird。只需点击屏幕,小鸟就能飞翔。没有剧情、没有关卡,却凭借极低的难度和强烈的挑战性让人无法自拔。

此外,AI会在你每一笔落下时给出“像鱼”的概率提示。即使你承认自己的画技不佳,但当相似度从30%提升至50%的那一刻,那份小小的成就感足以激励你继续尝试。

画完的小鱼不会停留在画布上,而是能被放入鱼缸,与全球网友的创作一同游动。这种“作品活了”的体验极大地增强了创作的满足感。相比之下,传统的AI绘图工具虽然生成效果更精美,却缺乏这种即时参与和互动循环。

共享虚拟鱼缸让陌生人的作品混在一起,排行榜、点赞、随机浏览增加了社区氛围。

如果在虚拟鱼缸中看到一条名为“yoyo”的小鱼,不妨给它喂点“鱼食”吧!

看似简单的小游戏,背后却隐藏着深奥的技术

“Draw a Fish”虽然只是一款小游戏,但其背后却蕴含着完整的AI技术设计。

“Draw a Fish”之所以能在你绘制过程中不断提示“像不像鱼”,背后依赖的是一个基于PyTorch的卷积神经网络。开发者选用了经典的ResNet18架构,并结合Google QuickDraw数据集进行模型训练。

QuickDraw是谷歌推出的大规模手绘涂鸦数据集,涵盖了各种简笔画元素。其中的“fish”与“not fish”类别为模型提供了基础训练样本。

在训练过程中,模型的目标是进行二分类:输入一张涂鸦,输出它是“鱼”的概率还是“非鱼”的概率。这个“概率”正是用户在画布下方看到的实时反馈。由于训练数据相对有限,开发者特意调整了模型的判定方式,使它在识别时更加“宽松”,避免对用户的创作过于苛刻,从而提升游戏的趣味性。

从技术层面来看,该项目还实现了多项工程化功能。

  • 透明度处理:所有图像在预处理前都会合成到白色背景上。因此,如果你画的鱼是纯白色的,就无法被识别。
  • 早停机制(Early Stopping):如果验证集的损失在5个epoch内没有改善,训练就会停止,从而减少过拟合。
  • QuickDraw集成:提供脚本可以自动下载并转换QuickDraw涂鸦数据,用于鱼和非鱼的分类。虽然作者最后没有使用它,但仍保留在仓库里供其他人使用。
  • 一致的预处理:训练和推理(包括测试脚本)使用相同的预处理流程以保证一致性。
  • 类别不平衡:在鱼与非鱼的数据不平衡问题上采用了加权采样和加权损失进行处理。

了解更多技术细节,请参考以下链接:

https://github.com/aldenhallak/fish-trainer