OAK相机怎么样?到底好不好用?来看看用户的使用体验

OAK相机怎么样?到底好不好用?来看看用户的使用体验

作者:Kelly Egan

翻译:OAK中国

当微软发布Kinect时(第一个广泛使用的深度相机),迅速吸引了艺术家和创客,发现如何访问相机的深度数据和捕捉人类运动的能力。导致后来出现了一系列新项目,这些项目利用了不需要屏幕、按钮或鼠标的界面。

在Kinect最初的成功之后,创客社区的实验逐渐减少,因为围绕该设备的许多开源工具停止了开发,或者被纳入了iPhone或微软的Hololens等专有技术。

OpenCV人工智能套件OAK-D(”OpenCV AI Kit “的缩写)可能是Kinect的继任者,创客社区需要它来再次创造能够轻松解释其周围环境的机器人、界面和艺术。这款基于OpenCV开源工具的相机,利用了自Kinect发布以来计算机视觉方面的许多进展,允许用户整合各种机器学习模型,不仅帮助开发者识别姿势和位置,还识别物体类型、情绪和其他计算机视觉任务。

人眼摄像头

OAK-D由三个摄像头组成:两个专门用于立体视觉,帮助识别三维空间中物体的确切位置,第三个提供4K彩色图像。与其他可能使用结构光(将网格投射到被摄物体上以观察其如何变形)或ToF(测量光线往返被摄物体所需的时间)的深度相机不同,OAK-D的工作方式很像我们的大脑,测量来自我们眼睛的偏移量之间的差异。

计算机视觉

使OAK-D成为真正灵活的工具的是英特尔MyriadX芯片,它可以合成这些图像并提供机器学习推理处理。除了深度之外,MyriadX还允许OAK-D识别物体、面部表情,以及用户选择的任何机器学习模型。这也意味着,虽然你仍然需要一台电脑来运行相机,但MyriadX可以处理大部分重活。你可以用Raspberry Pi来运行它,而不是一台有高性能显卡的台式机。

测试

我在一台Mac笔记本电脑和树莓派3上测试了OAK-D。除了安装上的一些细微差别外,不同设备之间的开发过程是比较相似的。两个系统的每秒帧数大致相同,这在预期内,因为是MyriadX芯片在做大部分的处理。使用多个系统进行开发的灵活性使得工作流程更加简单,你可以在笔记本电脑或台式机上创建和调整你的代码,当你准备好部署时,再转移到树莓派这样的单板计算机上。OAK有在Mac、树莓派、其他Linux系统以及Windows上的入门操作文档。


在OAK-D上的开发是通过Python和OAK的接口库DepthAI完成的。Python是许多机器学习开发者的首选语言,使其更容易将现有的机器学习工具和模型整合到你的项目中。如果你是Python开发的新手,可能需要一段时间来适应使用虚拟环境和管理软件包,但语法相当简单。对机器学习模型的工作和开发有一定的了解也很有用,但你可以通过尝试为OAK-D准备的各种模型来开始。熟悉Linux命令行也会对设置你的Python环境和使用相机有帮助。

经验之谈

OAK相机的文档很直接,但有点杂乱无章。(现在文档结构优化了很多)不过一旦我找到了他们的Python API,我就能够轻松地开始并探索各种功能。他们的演示项目足够灵活,你可以在不写任何代码的情况下尝试相机的大部分功能和各种任务的机器学习模型。然而,你将不得不通过一些命令行修改器来充分利用这个脚本的优势。为了使任何项目真正成为你自己的项目,你要深入研究Python代码,调整参数,最终写出你自己的脚本。

OAK的演示项目提供了一些机器学习模型来测试相机,但你也可以通过OpenVINO项目和它的Open Model Zoo获得更多。OpenVINO有助于优化模型,以便在MyriadX芯片上高效运行。我能够运行人脸检测、情感识别、物体识别以及几个人体姿势识别模型,所有这些都相当准确。当我快速移动时,在识别姿势方面有一秒左右的滞后。

与所有计算机视觉模型一样,这些模型可能有其盲点。最初的Kinect在识别不同体型的人方面并不出色,许多机器学习模型对不同种族和肤色的人都有偏见。OAK-D并没有解决这个问题,但通过让你决定在设备上运行什么,你可能比在更封闭的设备上有更多机会改变这个问题。

有了这种灵活性,也就能让设备为你做更多工作。对于那些对Python、命令行或机器学习比较陌生的人来说,可能需要更长的时间来启动和运行。但是,如果你准备好迎接挑战,这个设备是可以强大且灵活的方式来观察你周围的世界。