【深度学习基础知识 - 12】深度估计概述
·
深度估计是计算机视觉领域中的一个子任务,其目的是获取物体和拍摄点之间的距离,为三维重建、距离感知、SLAM、视觉里程计、活体检测、视频插帧、图像重建等一系列任务提供深度信息。这篇文章会对其做一个简单介绍。
任务目标
- 深度估计任务的目标就是获取物体和拍摄点之间的距离,最终会获得一个深度图,也称为光流图,它记录了同一物体在不同图像之间的视差,再通过相机参数、两个拍摄点之间的位置信息即可换算出物体和拍摄点之间的距离。
什么是视差(光流)
- 先举一个直观的例子,大家应该都坐过车,在车辆移动时往窗外看去,可以看到远处的物体变化的慢,而近处的物体变化的非常快,这里面蕴含的就是视差信息。
- 视差也被称为光流,在上面的例子中,随着车辆的移动,假设你在两个连续的时刻各拍了一张图,如果这两张图像中有一些相同的物体,那么这些物体在这两张图像中像素坐标的差异通常是不同的,而如果某个物体在这两张图片中的像素坐标差异非常大,那么由此可判断这个物体离拍摄点相对较近,而如果某个物体在这两张图像中的像素坐标差异较小,那么可以推断出这个物体距离拍摄点相对较近,也就是说,较近的物体视差较大,较远的物体视差较小,而同一物体在不同图像中的像素坐标差异,就是视差。
深度估计的应用场景
- 视差的主要作用是获取物体的深度信息,也就是和拍摄点之间的距离。
- 在三维重建任务中,可以由此深度获取物体的三维点云图,然后进行三维重建。
- 在距离感知任务中,如基于视觉的自动驾驶中,可以由此判断场景内各物体和车辆之间的距离,进而辅助车辆进行决策。
- 在SLAM、视觉里程计中,能够基于深度、感知融合进行道路信息的采集,谷歌街景、滴滴街景等就用到了这个技术,还有一些自动驾驶企业如waymo、地平线、momenta、图森未来等都离不开这个技术。
- 在人脸的活体检测中,可以判断目标是一个真实的人脸还是一个平面照片。虽然可能拿3D头模没办法,不过通常基于深度的活体检测已经能筛选掉一大批假人脸了。
- 在视频插帧、图像重建中,可以用于补齐新的图像,提升用户看视频或者图像的主观感受,或者模拟360度全景拍摄。
获取深度信息的方法
- 传统方法一般是立体匹配,也就是通过搜索和算子的匹配找到两张图像中的统一像素点,然后输出他们之间像素坐标的差异。
- 基于EPI图像和重对焦图像的深度估计,在多视点任务中,EPI图像和重对焦图像也是两个常见的概念,EPI图像中每条线的斜率、重对焦图像中每个像素点的清晰度,都蕴含了深度信息。
- 雷达。关注自动驾驶的都知道,完成自动驾驶有两种方法,一种是特斯拉和传统车企的路子,也就是在车辆上装一些摄像头,通过摄像头和算法来感知深度,现在由于精度的问题,业界对其的共识是这种方法只能达到辅助驾驶,无法实现完全的自动驾驶。另一种做法则是以谷歌为代表的完全自动驾驶方向,标志是舍弃了方向盘、车辆顶部装有一个不断旋转的巨大雷达,这里不深究技术细节,只要知道这种方法的精度更高即可。
- 结构光。这也是一种基于光学特性获取物体深度的方法,不过没有大面积普及,不做赘述。
深度学习和传统方法比的优势
- 从算法层面说,主要优势就是精度高、数据信息使用的更加充分,深度学习模型自己拟合的高纬度函数要优于手工设计的能量函数。
- 从应用侧角度看,一个明显的优势是在达到需求的前提下,落地成本较低。
博主会持续更新一些深度学习相关的基础知识以及工作中遇到的问题和感悟,喜欢请关注、点赞、收藏。
更多推荐
所有评论(0)