👨💻 作者:黎海威,YAHAHA 高级软件工程师
假设你想在你的游戏中使用一匹白龙马的 3D 模型。之前,你可以 1. 自己用复杂的 3D 建模软件,或者多视角的拍摄制作;2. 去浩如烟海的资源库里去逐一细分使用场景、风格、特征等进行查找、比较、挑选...
但现在,有了基于神经搜索技术开发的 3D 模型资源库 Asset Ovi 的帮助,你可以轻松地上传 3D 模型来搜索 3D 模型,或者点击现有展示的模型直接进行相似搜索,从网络上数以百万计的 3D 模型中高效挑选出合适的模型。
https://assetovi.yahaha.com
开发游戏需要使用大量的数字 3D 模型,这就要求计算机能够精确建模与理解这些虚拟物体,以更好地实现对这些模型进行分类、搜索、以及管理。传统基于文本的搜索技术难以提供对 3D 模型搜索的支持,并且目前业界并没有相对成熟的解决方案,来应对游戏开发者们日渐增长的搜索需求。即使是搜索能力强大的用户也经常会因为输入的关键词不够精确,从而浪费大量时间去找到想要的模型。
基于当前现状,我们自 2021 年起和专注开发多模态 AI 技术的 Jina AI 团队合作,决定利用云原生多模态 AI 框架 Jina,来改善行业里单一传统的搜索模式。经过与 Jina AI 的合作,我们采用先进的多模态技术和数字图像处理技术,在这一应用场景需求的驱动下,打造了以神经搜索技术为核心的以型搜型产品 —— Asset Ovi。
现在,Asset Ovi 提供了 2 种基于 神经搜索 技术带来的“以型搜型”这种更加高效的搜索方式:
1. 上传模型检索。我们提取该模型的 3D mesh 数据,去模型库里面交由 Jina 做相似性搜索,并得出与之相似度最高的 3D 模型。
2. 现有展示模型的相似性搜索。在用户点击搜索后,传入现有模型的 ID,Jina 根据 ID 找到对应 3D mesh 数据,去搜索和它相似度高的结果。
只需上传 3D 模型即可检索到相似的 3D 模型。
在了解到 Jina 神经搜索解决方案之前,由于我们的开发团队主要采用基于文本的搜索,通过消耗大量的人力,广泛地为模型打上分类标签以及描述信息,再通过关键字的方式检索。当我们了解到 Jina 在以图片、文本搜索等领域已经非常成熟了,于是大家希望利用 Jina 的技术优势为游戏开发者们带来更好的搜索体验。Jina AI 团队很快对基于该场景的 3D 模型搜索需求做出了回应。
在这其中最为关键的挑战在于如何开发出足够有效的 3D 模型表征方法和相似度匹配算法,以便对任意的 3D 模型都有足够的稳定性。与图像深度学习几乎一统天下不同,针对无序点云数据的深度学习方法研究一直以来进展都比较缓慢。
为此,Jina AI 的工程师团队专门开发了一个 Executor,用于将 3D 模型编码成向量,来完成高层次语义理解(如点云识别,特征提取,语义分割等)。
🔗 Executor 地址: https://cloud.jina.ai/executor/1mfkv18z
以型搜型的业务流程大致可以分为以下流程:
1. 加载 3D 模型:首先加载 3D Mesh 的源文件(目前支持 GLB, GLTF等不同文件格式),提取点云数据,并做预处理。
2. 3D 模型特征提取:接着使用 PointConv 深度学习模型,将 3D Mesh 数据进行特征提取,输出特征向量。
3. 相似度检索:将归一化后的特征向量索引到 PostgreSQL 数据库中,基于 HNSW 算法实现高维向量相似度检索。
因为整个应用的搭建是完全基于 Jina 生态的产品,并且所有组件都是使用的 Executor hub 上的 Executor。因而在构建完整个流程之后,就可以直接使用 Jina 提供的工具,一键导出 K8S 的部署文件,直接在一些集群 API 的基础上快速部署,很好地融入到目前我们目前的技术框架里。
YAHAHA 目前已经拥有近十万创作者用户,为了让用户更容易在庞大的模型仓库中确切找到想要寻找的模型,我们做了如下努力:
1. 3D 直接预览:对于用户来说,当使用 Unity Asset Store,CGTrader等产品时,由于素材都是通过图片或视频的方式展示,难以感知到在真正游戏中使用的样子,Asset Ovi 支持了 3D 模型在网页端的展示,你可以在 Asset Ovi 网站看到真实的 3D 效果预览。对于素材开发者来说,我们也会尽可能地保护了模型数据在网页端展示时的安全。
2. 渲染效果:网页端的渲染效果会尽可能的匹配下载之后在客户端里的渲染效果,特别是在游戏引擎 Unity 里的渲染效果,确保素材所见即所得。
3. 神经搜索功能:因为资源量较多,需要提供搜索的功能。在没有 Jina 之前,我们能做的可能只是基于文本的搜索,需要耗费大量的人力去对这些资源去打标签。有了 Jina 之后,现在我们提供了更高维度更智能的搜索方式,使用 3D 模型搜索 3D 模型。
Asset Ovi 神经搜索的新能力,使得开发者在创作过程中寻找合适资源的效率和体验上有了大幅提升。之后,我们也会把 Asset Ovi 作为 Unity Asset Store 的 affiliate program(联盟计划) 的产品,帮助 Unity 开发者会在 Unity Asset Store 上面高效找到他们在创造游戏时的相关素材。也会和 Sketchfab, CGTrader 等这些资源网站合作,帮助这些寻找资源素材的用户,不管是开发者,还是艺术家,提高他们在找资源方面的体验和效率。
作者简介
黎海威,YAHAHA 高级软件工程师
张飒,Jina AI 技术运营
Jina AI 专注于打造针对多模态应用的 MLOps 开发运维工具,从原型设计到方案实施,再到系统的云上部署和监视,以及搜索结果的调优,Jina AI 提供了全链路的解决方案。
成立三年来,Jina AI 累计融资超 3700 万美金,连续两年登上 CB Insights 全球 AI 100 初创公司榜单。先后发布了包括 Jina、DocArray,CLIP-as-service 等多个开源项目,在 GitHub 累计收到来自全球开发者超过 38k Star 的关注。公司总部位于德国柏林,在美国硅谷,中国北京及深圳设有办公室。
更多技术文章
☁️ Jina AI Cloud 像开挂一样轻松搞定多模态 AI 应用的部署和管理!
点击“阅读原文”,即刻了解 Jina AI