今天,为大家介绍一项新的SpireCV视觉感知技术——单目深度估计算法(MDE, Monocular Depth Estimation)。
什么是单目深度估计算法?
简单来说,单目深度估计是指通过单个摄像头获取的图像来估计场景中物体的深度信息。相较于多目深度估计方法,单目深度估计方法仅仅使用单个摄像头,仅依赖于图像的视觉信息进行每个像素点的深度推理。
算法原理
本文单目深度估计算法原理通过大规模未标记数据的收集与自动注释、教师-学生模型框架的应用、损失函数的特殊设计以及辅助监督策略的实施,实现了鲁棒的单目深度估计。首先,设计数据引擎来收集并自动注释大规模未标记数据(约6200万张),显著扩大了数据覆盖范围,从而能够减少泛化误差。然后,利用数据增强工具创建更具挑战性的优化目标,迫使模型主动寻求额外的视觉知识并获得稳健的表示。教师-学生模型框架是指从标注数据集中学习一个教师模型(T),然后利用该教师模型为未标注数据集分配伪深度标签。最后,在标注数据集和伪标注数据集的组合上训练一个学生模型(S)。
应用场景
得益于在广泛下游任务中的基础性作用,单目深度估计受到了越来越多的关注。比如在三维重建中,通过多幅图像或视频序列的单目深度估计来恢复三维结构,对文化遗产保护等领域意义重大;在无人机领域能用于室内定位和地形测绘;在机器人导航中可助其了解环境深度,有效进行自主导航和抓取物体等操作;在安防监控中能分析深度信息,更好地识别和跟踪目标。
测试情况
-
D435i深度估计情况:距离正对面墙(网)的真实距离为7.8 m,而实际d435给出的位置估计最远在4 m左右;
测试视频1
-
D435i相同场景,SpireCV单目深度估计情况:其中maxVal值表示距离正对面墙(网)的实际估计距离,真实距离为7.8 m;单目深度估计的距离为8.1~8.3 m;误差在6%左右;
测试视频2
-
SpireCV在公园场景下单目深度估计情况:其中minVal、maxVal值分别表示估计深度的最小值、最大值,单位是米;从视频画面中,我们可看出算法能够对画面中的草地、树木、垃圾箱、电线杆等相对单目相机的绝对位置进行估计;
测试视频5
-
SpireCV在城市道路场景下单目深度估计情况:其中minVal、maxVal值分别表示估计深度的最小值、最大值,单位是米;从视频画面中,我们可看出算法能够对画面中的行驶的车辆、电动车、自行车等相对单目相机的绝对位置进行估计;
测试视频3
-
SpireCV在楼宇楼道场景下单目深度估计情况:其中minVal、maxVal值分别表示估计深度的最小值、最大值,单位是米;从视频画面中,我们可看出算法能够对画面中的车辆、建筑物、门框等相对单目相机的绝对位置进行估计;
测试视频4
使用方式
-
拉取SpireCV最新代码;
-
下载单目深度估计模型(室内、室外);
-
编译并运行单目深度估计demo.
SpireCV项目介绍
SpireCV是一个专为智能无人系统打造的边缘实时感知SDK,主要功能包括相机/吊舱控制、视频保存与推流、目标探测识别与跟踪、边缘数据管理迭代等。旨在为移动机器人开发者提供高性能、高可靠、接口简洁、功能丰富的视觉感知能力。
点击“阅读原文"在码云上了解 SpireCV
核心优势:
-
统一感知软硬件接口,提供全套技术支持
-
具备高性能、功能丰富、接口简洁的视觉感知能力
-
支持零代码多平台部署
-
相机读写
-
检测跟踪算法
-
吊舱控制
-
信息交互
功能Demo:
SpireCV开发者套件
联系我们
如果对上述套件感兴趣,可以扫码联系销售工程师
技术讨论
无人机开发遇到棘手技术难题怎么办?
当然是来阿木实验室论坛
bbs.amovlab.com
有工程师亲自解答
12846 名无人机开发者和你一起进步!