Monocular Fisheye Camera Depth Estimation Using Sparse LiDAR Supervision

2023-05-16

Paper name

Monocular Fisheye Camera Depth Estimation Using Sparse LiDAR Supervision

Paper Reading Note

URL: https://arxiv.org/pdf/1803.06192.pdf

TL;DR

2018 年 ITSC 文章,出自于德国 Valeo 自动驾驶公司,提出了单目鱼眼深度估计的有监督训练方案,并针对雷达与鱼眼相机安装位置不一样造成的遮挡问题提出了一种基于形态学滤波的过滤方法


Introduction

  • 自动驾驶汽车周围的近景深度估计是十分重要的功能,一般是通过四个鱼眼相机(FOV>=180°)来做汽车周围的图片采集
  • 有监督训练的难度:
    • 基于雷达获取稠密深度数据较为困难
    • 合成场景的深度数据被广泛应用, 但是存在着在真实场景中遇到泛化性较差的问题,需要处理 domain shift
  • 本文提出一种基于稀疏雷达数据(64线)训练单目鱼眼深度估计模型的方法,主要贡献有:
    • 展示了基于稀疏雷达的训练犯法
    • 展示了在鱼眼相机使用 CNN 做深度估计
    • 根据摄像机和V激光雷达视点的差异调整训练数据以处理遮挡
    • 修改损失函数和训练算法以处理稀疏深度数据

Dataset/Algorithm/Model/Experiment Detail

实现方式

网络结构

  • 使用 AlexNet 作为以下网络结构的 Scale1,参考 2014Nips(Eigen) 文章的网络结构设计,能够在 Nvidia TX2 上实时运行
    在这里插入图片描述

稀疏雷达深度图

  • 使用 HDL-64ES2 雷达,64线,垂直可见的视场角为 26.8°;另外因为雷达的传感器旋转和汽车的运动,较远的点的反射率较差,所以雷达采集的图相对来说比较稀疏

训练损失(Scale-Invariant Error)

  • l2 的 scale-invarian 损失,与 2014Nips(Eigen) 一样,这里网络直出的是深度,与 gt 深度计算损失
    在这里插入图片描述
  • 对于没有深度的区域就是简单的不计算损失而已

模型训练

  • AlexNet 的模型 load pretrain 参数;使用 Adam 优化器,Relu 替换为 Swish(原因是替换了 SELU、ELU、leaky ReLU 的效果都没有 Swish 好)
  • 数据集
    • 作者公司的内部数据集(类似于后来开源的 woodscape),60000 图片的数据集,其中 5000 图片作为测试集
    • 主要在法国巴黎和德国巴伐利亚,场景主要是城市、住宅和郊区
    • 基于 tstamp 将 10Hz 的激光雷达数据和 30 Hz 的鱼眼图像数据进行对齐,对于每个 RGB 采集图像选取最近的 depth 采集图
  • 输入尺寸: w:576 px,h:172 px

遮挡校正

  • 部分雷达可以观察到的点鱼眼相机不一定能看到

  • 使用分割和形态学滤波方法,根据深度进行分层,雷达点被映射到对应的层上,并经过膨胀形态学滤波,如果某个点被前一层的点膨胀后的 mask 遮挡则移除该点
    在这里插入图片描述

  • 去除遮挡的激光雷达真值可视化对比
    在这里插入图片描述

实验结果

  • KITTI 和 Valeo 鱼眼数据集上的定量对比实验结果

在这里插入图片描述

  • 定性分析,gt 深度及预测深度可视化,天空区域因为没有足够的雷达监督信息基本都挂了
    在这里插入图片描述

Thoughts

  • 这篇工作创新性和参考性一般,主要是参考了 2014Nips(Eigen) 的网络设计和训练 loss,对比实验也不是很充分(对比不同方法在不同数据集上的精度)
  • 由于雷达和鱼眼相机安装高度和位置不同产生的遮挡导致雷达采集的 gt 深度部分无法映射到鱼眼图像平面上的情况,提出了一种基于深度分层过滤的方案,值得参考,但文章中对于这部分工作连消融实验都没有
  • 数据集和代码均没有开源,无法复现
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Monocular Fisheye Camera Depth Estimation Using Sparse LiDAR Supervision 的相关文章

  • 如何将图像保存到相机胶卷?

    我是 Xcode 新手 使用 4 3 不确定如何将图像保存到设备的相机胶卷中 到目前为止我所做的就是为按钮设置一个 IBAction 来保存图像 我可以使用什么库方法或函数将图像保存到用户的相机胶卷中 您使用UIImageWriteToSa
  • 解释来自 Android 相机 onPictureTaken(byte[] data) 的原始图像数据

    我正在使用 Camera 类来拍照 并希望对 onPictureTaken 中的图像进行一些处理 如何解释字节数组 是RGB格式还是其他格式 参考文献说这取决于 Camera Parameters 相机参数 http developer a
  • 将预览帧转换为位图

    我知道这个主题已经在黑板上出现过很多次了 但无论如何我都无法让它发挥作用 我想将预览中的视图帧保存为 jpeg 文件 它看起来或多或少 代码被简化 没有额外的逻辑 异常等 像这样 public void onPreviewFrame byt
  • 使用 Android 相机进行图像处理

    我想使用 onPreviewFrame 在将图像显示给用户之前对其进行后处理 即应用色调 棕褐色等 据我了解 返回给回调的 byte 数据以 YUV420sp 编码 人们是否已经在 J ava 中或使用 NDK 本机代码 将其解码为 RGB
  • Zxing扫描仪相机变焦

    我已经尝试解决这个问题3天了 但仍然没有找到答案 我想在通过 Zxing 扫描仪扫描二维码时向相机添加 ZOOM 构建 gradle implementation me dm7 barcodescanner zxing 1 9 8 Xml
  • 检测所有摄像头android

    我有一个使用 Camera2 API 来获取相机预览的应用程序 我想在手机的镜头之间进行选择 在我的代码中 我使用以下代码 CameraManager manager CameraManager activity getSystemServ
  • OpenCV:断言失败((img.深度()== CV_8U || img.深度()== CV_32F)&& img.type()== templ.type())

    我从上面得到这个错误 不知道如何避免它 我的目的是获取屏幕截图 然后对其进行模板匹配 看看此时屏幕上是否显示图标 到目前为止 这只是图标的位置 我的代码 include opencv2 highgui highgui hpp include
  • 调整生成的相机流的大小

    我试图让用户捕获图像并使用图像将其添加到屏幕上 然而 由于内存限制 我还需要将此图像的大小调整为大约一半大小 12x 5MP 图像在手机上永远不会很好 我正在正常启动相机任务 它调用 Completed 事件 但是 当我尝试使用 Decod
  • 动态设置布局参数

    我正在使用 CameraPreview 示例 API 演示 我需要添加一些覆盖 SurfaceView 的视图 按钮等 为此 我尝试设置它们的参数 但它们始终出现在屏幕的左上角 这是onCreate方法的代码 Override protec
  • 还有其他访问相机的替代方法吗?

    除了使用 ActionScript 3 之外 还有其他方法来访问相机吗 import flash media Camera videoInstance attachCamera cameraInstance 或者我应该使用任何 API 吗
  • Android 致命信号 11 (SIGSEGV) at 0x00000040 (code=1) 错误

    我正在开发一个 Android 应用程序 我正在其中获取用户照片图像 5张图像 使用opencv2 4 2具有面部检测功能的相机 并使用 Web 服务保存到服务器中的数据库中 为此 我使用 Opencv2 4 2 人脸检测示例 Ksoap2
  • iOS:同时使用 WiFi 和移动数据

    Setup 我的项目涉及一个 WiFi 相机 它创建一个 WiFi 热点 为了在相机上流式传输视频预览 浏览媒体 用户需要连接到相机的热点 Problem 用户无法同时使用 3G 4G 上的蜂窝数据 因为 iOS 设备已通过 WiFi 连接
  • 如何在SceneKit中实现逼真的景深效果?

    我正在尝试渲染具有真实景深效果的帧 我已经尝试过景深属性camera节点 但它不会产生可用的结果 是否可以切换到景深效果的最大渲染质量 性能不是一个因素 我只需要渲染一帧 用户可以等待它 SceneKit 中逼真的景深效果 在SceneKi
  • iPhone 相机访问权限?

    我想知道如何访问 iPhone 相机并实时使用它 例如 仅在相机视图上绘图 另一个相关问题 可以显示吗同时 4 个摄像机视图就像 Mac 上的 Photo Booth 一样 您可以使用 AVFoundation 来做到这一点 void in
  • 如何在 AVCaptureDevice 上准确设置快速快门速度(曝光时间)?

    我正在开发适用于 IOS 13 的相机应用程序 为此 我将 AVCaptureSession 与 AVCaptureVideoPreviewLayer 结合使用 到目前为止一切正常 现在我想让用户从给定的典型快门速度值数组 以 1 3 曝光
  • 在无头模式下独立运行 Unity,同时捕获屏幕截图

    我需要创建一个在无头模式下运行的统一项目 使用 batchmode 命令 但它必须捕获屏幕截图 例如每一秒并将它们写到一个文件中 我知道在无头模式下 您需要强制调用 Camera Render 才能渲染任何内容 在捕获第一个屏幕截图后 时间
  • 如何打开相机然后切换到图像模式(反之亦然)

    就我而言 我想拍照或捕捉视频 实际上 如果我创建单独的意图 我可以做到这些 我的意思是我可以将相机打开为图像模式或视频模式 但无法在它们之间切换 这与我使用的意图过滤器有关吗 我应该怎么办 我如何在它们之间切换 我有同样的问题 在我想放置一
  • DirectShow 虚拟摄像机不会出现在某些配置的列表中

    我使用 DirectShow 过滤器作为虚拟相机 CLSID VideoInputDeviceCategory 它运行良好 但某些应用程序 配置不将此提要显示为源 例如 在 win 8 1 上 我可以通过 webrtc 在 Chrome F
  • PWA 可以访问联系人、GPS 或使用手机摄像头吗?

    PWA 可以访问联系人 GPS 或使用手机摄像头吗 这在任何系统 ios android 中都可能吗 是否有任何开发计划来实现这些功能 PWA 无法克服一些限制 you cannot访问电话上的联系人列表 另一方面 你can拍照并使用 GP
  • 相机预览的有效模糊

    到目前为止我尝试过的 将每一帧转换为位图 然后用library https github com wasabeef Blurry并将其放入ImageView这是在相机预览前 显然太慢了 就像1 fps 然后我开始使用渲染脚本这会模糊每一帧

随机推荐