DepthAI Docs
认识OAK硬件
1. 产品系列简介
2. 产品型号解释
2.1. 相机类别
2.2. 产品线
2.3. 接口
3. 硬件连接注意事项
3.1. USB 系列
3.1.1. 强制使用 USB2 通信
3.1.2. OAK-D
3.2. PoE 系列
3.2.1. OAK-D-PoE
3.2.2. 为PoE设备供电
一般规格
PoE交换机或注入器
使用电池供电
以太网电缆和耐候性
从 USB 供电
3.3. IoT 系列
3.3.1. OAK-D-IOT-40
3.4. All-in-One 系列
3.4.1. OAK-D-CM4
3.5. FFC 系列
3.5.1. OAK-FFC-4P
3.6. SoM 系列
3.6.1. OAK-SoM
4. 产品系列特定使用教程
4.1. USB系列入门必看
4.2. PoE系列入门必看
4.2.1. 分步教程
4.2.2. POE版本的OAK如何运作
4.2.3. PoE 故障排除
搜索设备IP地址和设备号
4.2.4. 闪存静态IP
4.2.5. 手动指定设备IP
4.2.6. PoE设备独立模式
4.2.7. 恢复出厂设置
4.3. IoT系列入门必看(已停产)
4.3.1. 代码示例
4.3.2. 概观
4.3.3. 局限性
4.3.4. ESP32的通用用例
4.3.5. 如何开始开发
4.3.6. DepthAI应用程序包(
DAP
)
4.4. All-in-One系列入门必看
5. 相机校准标定
5.1. 模块化相机校准
5.2. 放置棋盘格并捕获图像。
5.3. 测试深度
6. 防水外壳
6.1. OAK-1 和 OAK-D 外壳
6.2. IP67 级 PoE 外壳
7. 硬件高级指南
外触发同步
通过modbus tcp协议控制PLC设备
RVC:OAK相机的核心
将OAK集成到你的系统中
自动对焦vs定焦
PoE设备独立模式
OAK快速上手
1. Python
1.1. 安装依赖
1.1.1. windows
Windows 10/11
Windows 7
1.1.2. Linux
启用 USB 设备
1.1.3. Raspberry Pi(树莓派)
1.1.4. Ubuntu
启用 USB 设备
1.1.5. Jetson平台
启用 USB 设备
1.1.6. macOS
1.2. depthai项目链接
2. C++
2.1. C++编译示例
2.2. 安装依赖
2.3. ROS相关
3. 镜像加速
3.1. pypi 镜像使用帮助
3.1.1. 临时使用
3.1.2. 设为默认
4. 使用Pycharm打开项目
基础OAK玩法
1. Hello Word
2. Gen2 API入门
Python
C++
3. depthai API 示例
3.1. Bootloader Config
3.1.1. 演示
设置
源代码
3.2. Bootloader Version
3.2.1. 演示
设置
源代码
3.3. Flash Bootloader
3.3.1. 设置
3.3.2. 源代码
3.4. 设置POE设备静态IP
3.4.1. 演示
3.4.2. 设置
3.4.3. 源代码
3.5. Calibration Flash
3.5.1. 设置
3.5.2. 源代码
3.6. Calibration Flash v5
3.6.1. 设置
3.6.2. 源代码
3.7. Calibration Load
3.7.1. 设置
3.7.2. 源代码
3.8. Calibration Reader
3.8.1. 设置
3.8.2. 源代码
3.9. Gen2 彩色相机控制
3.9.1. 演示
3.9.2. 设置
3.9.3. 源代码
3.10. Gen2 彩色相机Preview流
3.10.1. 演示
3.10.2. 设置
3.10.3. 源代码
3.11. Gen2 自动曝光roi
3.11.1. 演示
3.11.2. 设置
3.11.3. 源代码
3.12. Gen2 摄像头视频高分辨率
3.12.1. 演示
3.12.2. 设置
3.12.3. 源代码
3.13. Edge Detector
3.13.1. Demo
3.13.2. 设置
3.13.3. 源代码
流程图
3.14. Gen2 设备队列事件
3.14.1. 演示
3.14.2. 设置
3.14.3. 源代码
3.15. Gen2 对OpenCV的支持
3.15.1. 演示
3.15.2. 设置
3.15.3. 源代码
3.16. Gen2 彩色相机编码&灰度相机&运行MobilenetSSD模型
3.16.1. 演示
3.16.2. 设置
3.16.3. 源代码
3.17. Gen2 彩色相机编码&灰度相机深度流&运行MobilenetSSD模型
3.17.1. 演示
3.17.2. 设置
3.17.3. 源代码
3.18. Gen2 彩色相机编码与MobilenetSSD模型
3.18.1. 演示
3.18.2. 设置
3.18.3. 源代码
3.19. Gen2 灰度相机深度流和运行MobilenetSSD模型
3.19.1. 演示
3.19.2. 设置
3.19.3. 源代码
3.20. Gen2 4K彩色相机运行MobileNetSSD模型
3.20.1. 演示
3.20.2. 设置
3.20.3. 源代码
3.21. Gen2 灰度相机和运行MobilenetSSD模型
3.21.1. 演示
3.21.2. 设置
3.21.3. 源代码
3.22. Gen2 彩色相机和运行MobilenetSSD模型
3.22.1. 演示
3.22.2. 设置
3.22.3. 源代码
3.23. Gen2 视频流&MobilenetSSD神经网络模型
3.23.1. 演示
3.23.2. 设置
3.23.3. 源代码
3.24. Gen2 灰度相机控制
3.24.1. 演示
3.24.2. 设置
3.24.3. 源代码
3.25. Gen2 保存灰度相机全分辨率图片
3.25.1. 演示
3.25.2. 设置
3.25.3. 源代码
3.26. Gen2 灰度相机Preview流
3.26.1. 展示
3.26.2. 设置
3.26.3. 源代码
3.27. Gen2 RGB相机上的对象跟踪器
3.27.1. 演示
3.27.2. 设置
3.27.3. 源代码
3.28. Gen2 视频上的对象跟踪器
3.28.1. 演示
3.28.2. 设置
3.28.3. 源代码
3.29. Gen2 RGB相机上的空间对象跟踪器
3.29.1. 演示
3.29.2. 设置
3.29.3. 源代码
3.30. Gen2 在双目相机上运行MobilenetSSD神经网络并获取深度信息
3.30.1. 演示
3.30.2. 设置
3.30.3. 源代码
3.31. Gen2 在RGB相机上运行MobilenetSSD神经网络并获取深度信息
3.31.1. 演示
3.31.2. 设置
3.31.3. 源代码
3.32. Gen2 在RGB相机上运行TinyYolo神经网络并获取深度信息
3.32.1. 演示
3.32.2. 设置
3.32.3. 源代码
3.33. Gen2 空间位置计算器
3.33.1. 演示
3.33.2. 设置
3.33.3. 源代码
3.34. Gen2 深度信息流
3.34.1. 演示
3.34.2. 设置
3.34.3. 源代码
3.35. Gen2 深度图像控制
3.35.1. 演示
3.35.2. 设置
3.35.3. 源代码
3.36. Gen2 主机上的双目深度
3.36.1. 演示
3.36.2. 设置
3.36.3. 源代码
3.37. Stereo Depth Video
3.37.1. 设置
3.37.2. 源代码
代码流程图
3.38. Gen2 系统信息
3.38.1. 演示
3.38.2. 设置
3.38.3. 源代码
3.39. Gen2 最大编码限制
3.39.1. 演示
3.39.2. 设置
3.39.3. 源代码
3.40. Gen2 彩色相机和灰度相机编码
3.40.1. 演示
3.40.2. 设置
3.40.3. 源代码
3.41. Gen2 彩色相机编码
3.41.1. 演示
3.41.2. 设置
3.41.3. 源代码
3.42. Gen2 保存彩色相机全分辨率图片
3.42.1. 演示
3.42.2. 设置
3.42.3. 源代码
3.43. Gen2 设备上的彩色相机和MobilenetSSD模型解码
3.43.1. 演示
3.43.2. 设置
3.43.3. 源代码
3.44. Gen2 设备上的彩色相机和TinyYoloV3模型解码
3.44.1. 演示
3.44.2. 设置
3.44.3. 源代码
3.45. 立体神经推理
3.45.1. Demo
3.46. 如何最大化FOV
3.46.1. 更改纵横比
3.46.2. Letterboxing
3.47. 在一个主机上使用多个 DepthAI
3.47.1. 依赖
3.47.2. 发现DepthAI-USB端口映射
3.47.3. 选择要使用的特定 DepthAI 设备。
3.47.4. 主机负担的摘要和概述
4. 应用示例
4.1. 示例-社交距离
4.1.1. 演示
4.1.2. 示例源代码
4.1.3. 示例原理说明
1.捕获图片
2.检测人和人到相机的距离
3.将位置信息映射到2D空间
4.计算距离
4.2. 示例-人脸识别
4.2.1. 演示
4.2.2. 示例源代码
4.2.3. 代码原理说明
1. 从人脸库读取图片
2. 运行模型
3. 余弦计算
4. 最终效果
4.3. 示例-车辆车牌识别
4.3.1. 演示
4.3.2. 示例源代码
4.3.3. 示例原理说明:
4.3.4. 应用程序流程图
4.4. 示例-口罩检测
4.4.1. 演示
4.4.2. 示例源代码:
4.4.3. 代码原理说明:
1. 运行人脸检测模型
2. 运行口罩检测模型
4.5. 示例-头部姿态检测
4.5.1. 示例源代码
4.5.2. 代码原理说明:
1. 运行人脸检测模型
2. 运行面部特征点检测模型
4.6. 示例-疲劳检测
4.6.1. 示例源代码
4.6.2. 代码原理说明:
1. 运行人脸检测模型
2. 运行面部特征点检测模型
4.7. 示例-手掌检测
4.7.1. 示例源代码:
4.7.2. 原理说明:
手掌检测模型
运行手掌检测模型
4.8. 示例-面部信息识别
4.8.1. 示例源代码:
4.9. 示例-目标跟踪
4.9.1. 演示
4.9.2. 示例源码代码
4.9.3. 硬件设备
4.9.4. 模型介绍
4.9.5. 实现重点
1. 给检测到的目标指定ID
2. 计算偏差距离
3. PID控制算法
4. 控制云台
4.9.6. 效果演示
4.10. 示例-跌倒检测
4.10.1. 示例源代码:
Demo
4.11. 示例-YOLOX目标检测
4.11.1. 示例源代码:
Demo
4.12. 人像语义分割
进阶OAK玩法
1. OAK支持的格式与神经网络
1.1. OAK支持的格式
1.1.1. 术语介绍
1.1.2. 支持的模型格式
1.1.3. 支持的输入精度
1.1.4. 支持的输出精度
1.1.5. 支持的输入数据格式
1.1.6. 支持的输出数据格式
1.2. OAK支持的网络
1.2.1. Caffe*
1.2.2. TensorFlow*
1.2.3. MXNet*
1.2.4. 最受欢迎的三大网络
2. 下载官方的blob模型运行
2.1. 下载模型
2.2. 使用预训练的 OpenVINO 模型
2.2.1. 运行 DepthAI 默认模型
2.2.2. 运行模型
2.2.3. 尝试其他模型
2.2.4. 空间AI–用3D定位增强模型的功能
2.3. 模型性能
2.4. AI视觉任务
2.5. 计算机视觉
3. OpenVINO预训练模型转换
3.1. 本地 OpenVINO 模型转换
3.1.1. 什么是OpenVINO?
3.1.2. 什么是Open Model Zoo?
3.1.3. 安装 OpenVINO
2022.1 LTS
2021.4 LTS
3.1.4. 下载 face-detection-retail-0004 模型
3.1.5. 编译模型
激活 OpenVINO 环境
找到 compile_tool
运行 compile_tool
3.1.6. 运行并显示模型输出
3.1.7. 审查流程
4. 自定义神经网络
4.1. 将自定义模型转换为MyriadX blob
4.1.1. 自定义神经网络模型转换
本地编译
使用 Google Colab
使用在线转换器
使用 blobconverter 库
支持的层
不支持的图层类型”layer_type”
数据类型不正确
4.1.2. Yolov5 6.0 转换成blob格式
4.1.3. 在线将YOLOV5转化成OAK能用的模型格式
4.2. 自定义神经网络模型训练
4.2.1. 使用Docker训练Yolov3/Yolov4
4.2.2. 自定义训练
自定义训练
4.3. 自定义神经网络部署
4.3.1. 在设备上运行您自己的CV模型
使用PyTorch创建自定义模型
Kornia
4.3.2. 部署参考的API示例
5. 点云与深度
6. ROS示例
6.1. ROS1 noetic + depthai_ros教程
6.1.1. 已测试平台
6.1.2. 安装依赖
6.1.3. 执行示例
6.1.4. 运行示例
6.1.5. 测试结果
6.2. ROS2 Foxy + depthai_ros教程
6.2.1. 测试信息
6.2.2. 安装ROS2
设置语言环境
设置下载源
安装ROS2 foxy
6.2.3. 设置depthai_ros
安装depthai依赖
设置程序
执行示例
运行示例
6.3. ubuntu 18.04 OAK-D kalibr 双目+imu联合标定
6.3.1. 准备
6.3.2. 安装相关程序
ROS以及depthai_ros环境
安装标定工具以及依赖
6.3.3. 标定过程
采集数据
标定
6.4. ubuntu 18.04 OAK-D系列相机 运行VINS-Fusion 双目+IMU
6.4.1. 准备
6.4.2. 构建VINS-Fusion
6.4.3. 运行示例
6.5. OAK相机Ubuntu 平台配置depthai-ros环境(安装包方式)
6.6. OAK-D深度图像转2d激光数据
7. SLAM 与 OAK
8. OAK与SCRATCH
8.1. 初识OAK图形化编程
8.1.1. 图形化编程基础知识学习
8.1.2. 版本介绍
8.1.3. PC离线版指南
安装要求:
安装步骤:
8.1.4. 网页版及插件指南
安装要求:
安装步骤:
8.2. OAK图形化编程快速入门
8.2.1. 界面介绍
8.2.2. 实例演示
8.3. 初识积木
8.3.1. 积木种类
8.3.2. OAK积木介绍
各种模型节点
8.4. 上手案例
8.4.1. 实现逻辑
8.4.2. 案例
8.5. 新功能预告
9. online tools
高阶OAK玩法
1. 设备上编程
1.1. 设备上编程
1.1.1. 使用脚本节点
1.1.2. 创建自定义NN模型
1.1.3. 创建自定义OpenCL内核
1.2. On-device Pointcloud NN model
问题答疑
主要问题解答
1. 常见问题解答
1.1. 为什么存在 DepthAI?
1.2. 什么是 DepthAI?
1.3. 什么是 SpatialAI? 什么是 3D 目标定位?
1.4. DepthAI 如何提供 Spatial AI 结果?
1.4.1. 单目神经推理与双目深度的融合
1.4.2. 立体神经推理
1.4.3. 注意
1.5. 什么是 MegaAI ?
1.6. 我应该订购哪种型号?
1.6.1. 模块系统
1.7. 从头开始运行 DepthAI 有多困难? 支持哪些平台?
1.8. DepthAI 和 MegaAI 易于在 Raspberry Pi 中使用吗?
1.9. Raspberry Pi 是否可以使用所有模型?
1.10. DepthAI 是否可以在 NVIDIA Jetson 系列上使用?
1.11. 我可以在一台主机上使用多个 DepthAI 吗?
1.12. DepthAI 与 OpenVINO 兼容吗?
1.13. 我能否在 DepthAI 上运行自己训练的模型?
1.14. 我需要深度数据来训练自己的 DepthAI 自定义模型吗?
1.15. 如果我训练自己的网络,DepthAI 支持哪些神经操作?
1.16. DepthAI 支持哪些网络?
1.17. 我的模型需要预处理,如何在 DepthAI 中做到这一点
1.18. 我可以并行或串联(或同时运行)多个神经网络模型吗?
1.19. DepthAI可以随意裁剪,调整大小,缩略图等吗?
1.20. DepthAI可以运行自定义CV代码吗?说来自PyTorch的CV代码?
1.21. 如何将 DepthAI 集成到我们的产品中?
1.21.1. 用例 1: DepthAI / MegaAI 是运行 Linux , macOS 或 Windows 的处理器的协处理器。
1.21.2. 用例 2:将 DepthAI 与微控制器(如 ESP32,ATTiny8 等)结合使用
1.21.3. 用例 3:将 DepthAI 用作设备上的唯一处理器。
1.21.4. 每种用例的硬件:
1.21.5. 开发入门
1.22. DepthAI 和 MegaAI 中存在哪些硬件加速功能?
1.22.1. 目前在 DepthAI API 中可用:
1.22.2. 在我们的路线图中(计划于 2020 年 12 月交付)
1.22.3. Gen2 管道构建器
1.23. CAD 文件是否可用?
1.24. 如何使DepthAI感知更近的距离
1.25. DepthAI 可见的最小深度是多少?
1.25.1. 单目神经推理与双目深度的融合
1.25.2. 立体神经推理
1.25.3. 板载相机最小深度
单目神经推理与双目深度的融合模式
立体神经推理模式
1.25.4. 模块化相机最小深度:
单目神经推理与双目深度的融合模式
立体神经推理模式
1.25.5. 扩展视差深度模式
1.25.6. Left-Right Check Depth Mode
1.26. DepthAI 最大可见深度是多少?
1.27. 深度流中的深度数据是什么格式?
1.28. 如何计算视差的深度?
1.29. 如何显示多个流 ?
1.29.1. 是否可以访问主机上的原始双目相机视频流?
1.30. 如何限制每个流的帧速率?
1.31. 如何同步流/元数据(神经推理结果)
1.31.1. 降低相机帧速率
1.31.2. 在主机上同步
1.32. 如何使用 DepthAI 录制(或编码)视频?
1.32.1. 视频编码选项
1.33. 什么是流延迟?
1.34. 可以将 RGB 相机/双目相机作为普通的 UVC 相机使用吗?
1.35. 如何强制使用 USB2 模式?
1.36. 什么是「 NCS2 模式」 ?
1.37. DepthAI 板上存储了哪些信息?
1.38. 双匀质成像与单匀质成像校准
1.39. 什么是 DepthAI 和 MegaAI 的视野?
1.40. 如何获得 DepthAI 和 MegaAI 的不同视野或镜头?
1.41. DepthAI 和 MegaAI 的最高分辨率和录制 FPS 是多少?
1.42. 有多少算力可用?有多少神经算力可用?
1.43. 支持哪些自动对焦模式?可以从主机控制自动对焦吗?
1.44. 自动对焦彩色相机的超焦距是多少?
1.45. 是否可以从主机控制 RGB 相机的曝光、白平衡和自动对焦 (3A) 设置?
1.45.1. 自动对焦 (AF)
1.45.2. 曝光 (AE)
1.45.3. 白平衡 (AWB)
1.46. 全局快门灰度相机的规格是什么?
1.47. 我可以在相机上安装备用镜头吗?什么样的接口? S 型? C 型?
1.48. 我可以完全通过 USB 为 DepthAI 供电吗?
1.49. 如何在 VirtualBox 下使用 DepthAI
1.50. 如何提高 NCE、SHAVES 和 CMX 参数?
1.51. 我可以将 DepthAI 与新的 RPi HQ 相机一起使用吗?
1.52. 我可以将 DepthAI 与 Raspberry Pi Zero 一起使用吗?
1.53. DepthAI RPi CME 的耗电量是多少?
1.54. 如何获得更短或更长的柔性扁平数据线 (FFC)?
1.55. meta_d2h 返回的 CSS MSS UPA 和 DSS 是什么?
1.56. Githubs 地址在哪里?DepthAI 是开源的吗?
1.56.1. 整体
1.56.2. 嵌入式应用案例
1.57. 我可以在 DepthAI 上使用 IMU 吗?
1.58. 产品手册和数据表在哪里?
1.58.1. 产品手册:
1.58.2. 数据表:
1.59. 如何在出版物中引用 luxonis 产品?
1.60. 如何与工程师交流?
2. 故障排除
2.1. 如何禁用 RPi 计算模块版本上的启动演示?
2.2. 如果pip安装depthai时出现”is not a supported wheel on this platform”错误:
2.3. depthai:初始化 xlink 时出错’错误,DepthAI 无法运行
2.4. ImportError: 没有名为 ‘depthai’ 的模块
2.5. 为什么相机校准运行缓慢?
2.6. 权限拒绝错误
2.7. DepthAI 不会像网络摄像机那样显示在 /dev/video* 下。 为什么?
2.8. 用2米长的USB3.0数据线时信号断断续续
2.8.1. 强制 USB2 通信
2.9. DepthAI 的输出一直冻结
2.10. 无法启动设备:1.3-ma2480,错误代码 3
2.11. Failed to find device (ma2480), error message: X_LINK_DEVICE_NOT_FOUND.
2.12. CTRL-C没有停止程序!
2.13. 您的Raspberry Pi是锁定还是DepthAI在Raspberry Pi上崩溃?
2.14. Windows上的“导入cv2时DLL加载失败”
2.15.
python3
depthai_demo.py
返回非法指令
2.16. 用不兼容的 openvino 版本编译的神经网络 blob
2.17. Raspberry Pi出现 “realloc(): invalid pointern Aborted”
3. 技术支持
3.1. 退款和退货政策
DepthAI Docs
4.
自定义神经网络
4.1.
将自定义模型转换为MyriadX blob
View page source
4.1.
将自定义模型转换为MyriadX blob
4.1.1. 自定义神经网络模型转换
本地编译
使用 Google Colab
使用在线转换器
使用 blobconverter 库
故障排除
支持的层
不支持的图层类型”layer_type”
数据类型不正确
4.1.2. Yolov5 6.0 转换成blob格式
4.1.3. 在线将YOLOV5转化成OAK能用的模型格式
4.2.
自定义神经网络模型训练
4.2.1.
使用Docker训练Yolov3/Yolov4
请参考此处
链接
。
4.2.2.
自定义训练
自定义训练
概述
4.3.
自定义神经网络部署
4.3.1. 在设备上运行您自己的CV模型
使用PyTorch创建自定义模型
Kornia
4.3.2. 部署参考的API示例