OpenCV之AI工具包介绍(OAK-1和OAK-D)

这个小工具适用于不断发展的计算机视觉和三维感知领域,它将许多功能集成到一个小单元中。

我开始探索OpenCV AI Kit D(OAK-D)是因为OpenCV AI的竞赛。这是一个庆祝OpenCV成立20周年的国际人工智能竞赛。全球和地区获奖者将获得总价值40万美元的奖金。这个国际比赛是由Azure和Intel赞助的。在这个挑战中,团队必须使用OAK-D解决现实生活中的问题。

OpenCV AI竞赛:https://opencv.org/opencv-ai-competition-2021/

什么是OAK-D?

OAK是一个模块化的开放源码生态系统,由麻省理工学院许可的硬件、软件和人工智能训练组成,它允许你将空间人工智能的强大功能和加速的计算机视觉功能嵌入到你的产品中。OAK提供了一个单一的、内聚的解决方案,否则就需要将不同的硬件和软件组件拼凑在一起。

OpenCV AI Kit-D(OAK-D)是一款具有神经推理和深度处理能力的智能相机。OAK-D是其前身OpenCV AI Kit(OAK)的一个实际变体,能够实现Spatial AI(空间AI)。空间AI 的能力是在现实世界中应用人工智能,不仅可以识别物体,还可以实时了解物体在三维空间中的位置。

OAK-D可以通过其集成的12MP RGB摄像头运行目标检测,并将其与集成的立体声深度引擎相结合。

OpenCV之AI工具包介绍(OAK-1和OAK-D)_第1张图片

技术规范

  • 集成4K 12 MP彩色摄像机

  • 集成1 MP全局快门同步立体声对

  • 实时立体深度

  • 视觉处理的4个方面

  • 主机无计算负载

  • 具有多级推理的空间AI相机

  • USB 3.0 Type-C接口

  • 适用于OpenVINO支持的任何主机操作系统

  • 4K/30fps H.265编码

  • JPEG、H.264和H.265/HEVC编码

正如我们提到的,现实世界的问题可以用OAK-D解决吗?但是怎么做呢?随着其集成的立体深度引擎,OAK-D有能力运行其12MP的RGB摄像头,以深度感知识别目标。尽管我们不能在OAK-D中运行各种类型的神经结构,但是OpenVINO支持很多深度学习模型。OAK-D通过集成立体深度引擎的空间数据来增强它们。

OpenCV之AI工具包介绍(OAK-1和OAK-D)_第2张图片

去年,OpenCV人工智能竞赛向我们展示了使用强大的OAK-D可以构建的各种应用程序。这包括许多计算机视觉任务,比如识别物体、计算人数、寻找物体之间的距离等等。输出被处理并作为随时可用的方法发送,以便与其他源集成。

对于需要多个摄像机的情况,OAK-D可以作为一个很好的选择。而且,它的低功耗、低成本使得它能够在许多智能应用程序用例中使用。

几乎所有关于这个小玩意的东西都是在麻省理工学院许可下开源的。OAK-D正式隶属于OpenCV。它有两个版本。(1) OAK和(2)OAK-D。他们都有很多共同点,但OAK-D的多摄像头使我们能够获得立体三维视觉。

Luxonis创造了实际的设备和机载AI。这个团队是在找不到任何能够满足他们需求的硬件的情况下才这么做的。所以他们做了一个这样的设备并加入了OpenCV。

OpenCV之AI工具包介绍(OAK-1和OAK-D)_第3张图片

OAK-D的动机是简化计算机视觉任务的构建和配置。计算机视觉任务对处理器的要求很高,因此需要大量的功耗,所以低功耗的OAK-D是一个额外的优势。

希望将此技术应用在你的项目中。或者是你读了之后有了新的想法,从kickstarter(https://www.kickstarter.com/projects/opencv/opencv-ai-kit)获取。

如何开始使用OAK和OAK-D?

连接到OAK的USB-C连接器传输数据和电源。只需打开硬件的盒子,将其连接到计算机并运行一些命令。你的空间AI将在几分钟内运行。

安装DepthAI:DepthAI是Luxonis运行计算机视觉模型的软件库。我们需要安装它来运行我们的模型。安装文档可在DepthAI的安装指南中找到。

  • https://docs.luxonis.com/api/

对于ubuntu用户连接OAK-D,打开终端并运行这些命令来安装python、DepthAI、DepthAI python需求,并将系统指向OAK设备。

sudo apt install git python3-pip python3-opencv libcurl4 libatlas-base-dev libhdf5-dev libhdf5-serial-dev libatlas-base-dev libjasper-dev libqtgui4 libqt4-test
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
git clone https://github.com/luxonis/depthai.git
cd depthai
python3 -m pip install -r requirements.txt

安装完所有内容后,运行命令

python3 test.py

现在你可以看到OAK-D运行的对象检测模型可以检测80个常见对象。

有了OAK和OAK-D,我们可以使用它们提供的自由神经网络

或者

我们可以用免费的google colab notebook训练新的神经网络。

OpenCV之AI工具包介绍(OAK-1和OAK-D)_第4张图片OpenCV之AI工具包介绍(OAK-1和OAK-D)_第5张图片OpenCV之AI工具包介绍(OAK-1和OAK-D)_第6张图片OpenCV之AI工具包介绍(OAK-1和OAK-D)_第7张图片OpenCV之AI工具包介绍(OAK-1和OAK-D)_第8张图片

OAK系列神经网络;

  • COVID-19掩膜/无掩膜检测,

  • 年龄识别

  • 情绪识别

  • 人脸检测

  • 面部标志(如眼角、嘴角、下巴等)

  • 一般目标检测(20级)

  • 行人检测

  • 车辆检测

该列表会定期添加。

现在,如果我们想训练自己的模型,就在公共数据集上训练模型,并使用OpenVINO将其部署到OAK和OAK-D。OAK-1和OAK-D都支持Linux、macOS和Windows主机,这使得它具有足够的通用性,可以用于任何大小的原型流程。

要部署和训练你自己的模型,请遵循本教程:将自定义模型部署到Luxonis OAK-快速入门指南

  • https://blog.roboflow.com/deploy-luxonis-oak/

是的,这样就可以插上电源,随时可以使用了。它附带python示例。同时支持C++,因为API是用pybd11编写的,用于Python绑定。

基于节点的管道生成器也可用于安排计算机视觉和人工智能工作流,使多步空间人工智能变得简单。这允许你拖放脚本,可以生成一个脚本,作为图像处理管道运行。为了简化原型设计,我可以做的是拖放所需的任务(例如,对象检测),并拖动任何其他转换和参数进行定制。

OpenCV之AI工具包介绍(OAK-1和OAK-D)_第9张图片

如何使用空间AI

在OAK-D上使用空间AI有两种方法。

1) 融合立体深度的单眼神经推理。

在这种模式下,神经网络在融合了视差深度结果的单个相机(左/右/RGB)上运行。

在这种模式下,物体的边界框将显示在物体的中间,物体的深度将显示。

OpenCV之AI工具包介绍(OAK-1和OAK-D)_第10张图片

2) 立体神经推理。

在这种情况下,神经网络在OAK-D的左右摄像头上并行运行,直接用神经网络生成3D位置数据。

在这两种情况下,都可以使用标准的神经网络。神经网络不需要用三维数据进行。OAK-D在这两种情况下都使用标准的2D网络自动提供3D结果。

OpenCV之AI工具包介绍(OAK-1和OAK-D)_第11张图片

在上面的例子中,神经网络在两个摄像机上并行运行。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 mthler」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

OpenCV之AI工具包介绍(OAK-1和OAK-D)_第12张图片

你可能感兴趣的:(神经网络,人工智能,python,深度学习,机器学习)