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摄像头运行目标检测,并将其与集成的立体声深度引擎相结合。
技术规范
集成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人工智能竞赛向我们展示了使用强大的OAK-D可以构建的各种应用程序。这包括许多计算机视觉任务,比如识别物体、计算人数、寻找物体之间的距离等等。输出被处理并作为随时可用的方法发送,以便与其他源集成。
对于需要多个摄像机的情况,OAK-D可以作为一个很好的选择。而且,它的低功耗、低成本使得它能够在许多智能应用程序用例中使用。
几乎所有关于这个小玩意的东西都是在麻省理工学院许可下开源的。OAK-D正式隶属于OpenCV。它有两个版本。(1) OAK和(2)OAK-D。他们都有很多共同点,但OAK-D的多摄像头使我们能够获得立体三维视觉。
Luxonis创造了实际的设备和机载AI。这个团队是在找不到任何能够满足他们需求的硬件的情况下才这么做的。所以他们做了一个这样的设备并加入了OpenCV。
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训练新的神经网络。
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绑定。
基于节点的管道生成器也可用于安排计算机视觉和人工智能工作流,使多步空间人工智能变得简单。这允许你拖放脚本,可以生成一个脚本,作为图像处理管道运行。为了简化原型设计,我可以做的是拖放所需的任务(例如,对象检测),并拖动任何其他转换和参数进行定制。
如何使用空间AI
在OAK-D上使用空间AI有两种方法。
1) 融合立体深度的单眼神经推理。
在这种模式下,神经网络在融合了视差深度结果的单个相机(左/右/RGB)上运行。
在这种模式下,物体的边界框将显示在物体的中间,物体的深度将显示。
2) 立体神经推理。
在这种情况下,神经网络在OAK-D的左右摄像头上并行运行,直接用神经网络生成3D位置数据。
在这两种情况下,都可以使用标准的神经网络。神经网络不需要用三维数据进行。OAK-D在这两种情况下都使用标准的2D网络自动提供3D结果。
在上面的例子中,神经网络在两个摄像机上并行运行。
☆ END ☆
如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 mthler」,每日朋友圈更新一篇高质量博文。
↓扫描二维码添加小编↓
OpenCV之AI工具包介绍(OAK-1和OAK-D)相关推荐
- Python+OpenCv实现AI人脸识别身份认证系统(2)——人脸数据采集、存储
原 Python+OpenCv实现AI人脸识别身份认证系统(2)--人脸数据采集.存储 2019年07月02日 08:47:52 不脱发的程序猿 阅读数 602更多 所属专栏: 人脸识别身份认证系统设 ...
- “RDKit | 化学信息学与AI”专栏介绍及专栏内容分类(持续更新......)
"RDKit | 化学信息学与AI"专栏介绍 介绍RDKit相关知识点和运用以及RDKit作为处理化学.生物.药学和材料学科中分子数据作为可输入机器学习和深度学习模型的重要工具应用 ...
- Python+OpenCv实现AI人脸识别身份认证系统(1)——人脸识别原理
原 Python+OpenCv实现AI人脸识别身份认证系统(1)--人脸识别原理 置顶 2019年07月02日 08:47:40 不脱发的程序猿 阅读数 1255更多 所属专栏: 人脸识别身份认证系统 ...
- bucket sort sample sort 并行_IBM布局AI硬件大杀器:硬软件并行开发、开源模拟AI工具包...
原标题:IBM布局AI硬件大杀器:硬软件并行开发.开源模拟AI工具包 智东西(公众号:zhidxcom) 编 | 子佩 智东西11月4日消息,为了解决AI对数据.能源和内存资源的巨大需求,IBM一直致 ...
- OpenCv算法的基本介绍与应用
OpenCv算法的基本介绍与应用 一.目录 二.图像处理流程 三.图像预处理 3.1噪声分类 3.1.1随机噪声 3.1.2椒盐噪声 3.1.3 高斯噪声 3.2 滤波 3.2.1 均值滤波 3.2. ...
- Rimworld Mod制作教程12 集群AI机制介绍
文章目录 简介 什么是集群AI? RimWorld源码中有没有一个节点用于集群AI? 职责节点 集群AI如何与职责节点联系? 集群AI LordToil与Toil的关系? 集群AI的状态机 简介 相信 ...
- Opencv中的ROI介绍
Opencv中的ROI介绍 (2013-03-27 13:36:26) 转载▼ 分类: 模式识别 ROI(Region of Interest)是指图像中的一个矩形区域,可能你后续 ...
- Python+OpenCV实现AI人脸识别身份认证系统(4)—人脸识别
本篇博文是Python+OpenCV实现AI人脸识别身份认证系统的收官之作,在人脸识别原理到数据采集.存储和训练识别模型基础上,实现人脸识别,废话少说,上效果图: 案例引入 在Python+OpenC ...
- Python+OpenCv实现AI人脸识别身份认证系统(3)——训练人脸识别模型
目录 案例引入 本节项目 最近有小伙伴们一直在催本项目的进度,好吧,今晚熬夜加班编写,在上一节中,实现了人脸数据的采集,在本节中将对采集的人脸数据进行训练,生成识别模型. 案例引入 首先简要讲解数据集 ...
最新文章
- 4.IE故障[网页打不开]的解决方法:
- 运行JBoss 5.1.0 GA时出现Error installing to Instantiated:name=AttachmentStore state=Described错误的解决办法...
- int?和int的区别
- bzoj2194 快速傅立叶之二
- 【BZOJ1500】[NOI2005]维修数列 Splay
- node --- 模拟express实现一个简单的服务器
- java数据类型后加三个点...
- sql2005 reporting service,我总算找到一个完全程序化绑定报表(ado.net dataset 绑定reprot)的方案,谁能再给我些其他建议呢?...
- 【金融】【pytorch】使用深度学习预测期货收盘价涨跌——LSTM模型构建与训练
- 【mysql】全文索引match多列报错
- 使用Spring Boot CLI的Spring Boot Initilizr
- 13幅逻辑图,领略杜克大学的经典思维
- 卷积神经网络之迁移学习
- 前端JS时间验证,结束时间不早于开始时间
- 打工人也不好惹!一份校招“恶霸”指南强势冲上GitHub热榜,一天暴涨 1000 星!
- linux内网劫持教程,利用kali进行dns劫持入侵局域网
- 20191101(33) 针对 RT-Thread 下 ADS1256 移植说明(SPI)
- 计算机组成二进制除法,计算机组成原理:3.4.1 定点原码 除法器
- 【烈日炎炎战后端】JAVA基础(3.4万字)
- 心流:最优体验心理学 1
热门文章
- [OpenGL]射线拾取RayPicking---(1)生成射线
- 数据库详细思维导图,期末考试、复试必备
- .NET都实现平台统一了你还不会WPF界面设计?
- vue滑块验证效果(pc、h5都可用)
- Parcel 和 Parcelable
- ADC 动态参数分析matlab code的几个问题(span,spanh取值问题,幅度比例因子的添加等)
- 水晶报表中让行高自适应高度(即根据内容的来适应高度)
- matlab云端软件,在集群和云端实现扩展和加速 - MATLAB Simulink
- 二笔输入法在不同系统中的部署方法
- 【解决方法】因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间