计算机视觉与增强现实应用开发
对电影和视频游戏中的特效充满了浓厚的兴趣。2017年,职业生涯出现了一个有趣的转折,当时开始尝试使用OpenCV,希望能够在计算机视觉领域找到一份工作(当时这个领域的职位招聘相当热门)。万万没想到,一个涉及虚拟手偶的荒谬副项目,最终竟让与著名投资人马克·库班达成了合作,并成立了公司2020CV。
如上视频所示,这个增强现实体验是使用2020CV的PopFX软件创建的。计算机视觉与增强现实(AR/ML)在那时刚开始在移动设备上变得可行,全力以赴,创建了一种结合这两个世界的首个移动体验之一——InstaSaber,它能够将一卷纸变成一把虚拟光剑。
时间快进到2024年,仍在构建这些体验,最新创作PopFX被用于为NBA高光时刻和超级碗等制作视频事件的现场AR。所有这些模型数据集都是使用Roboflow创建的!
塑造AR体验的创意时,经常尝试思考一些能够为用户带来乐趣并具有一定新颖性的效果。同时,考虑用户体验也很重要,比如相机的定位,以及实时跟踪某个物体的可行性(提示:跟踪快速移动的物体很难)。
接下来,需要收集图像数据,这些数据通常包含与用户相机预期产生的相似内容(提示:使用Roboflow解析视频中的帧)。一旦拥有了图像数据集,就可以在Roboflow中对其进行标注,例如在希望跟踪的对象周围绘制边界框。Roboflow的工具足够先进,可以在许多情况下自动化此过程,或者至少使标记几百张图像变得轻而易举。
在Roboflow Universe上探索此数据集。在数据集完成后,可以对其进行增强以扩大其规模,然后使用Roboflow的众多笔记本之一训练模型(提示:许多像Google Colab这样的网站提供免费层)或直接在Roboflow内进行训练。此时,模型的结果通常可以使用Roboflow的库之一,如Supervision或Inference进行可视化。
在Roboflow Universe上尝试此模型。最终,需要将模型权重转换为适合AR的格式,例如CoreML、TensorFlow Lite,或直接从Roboflow导出到Snapchat。对于市面上大多数常见模型,有各种Python脚本可用于实现此目的(提示:从预训练模型开始原型设计,准备就绪时再转向自定义模型)。
创建AR体验的最后一步,通常也是最复杂的部分,是将相机、渲染和机器学习管道整合到一个无缝体验中。这超出了本文的范围,但GitHub上有许多XCode和Python项目可以作为良好的起点。Roboflow还提供了一些示例项目,将展示如何动态加载模型。