ADDS-DepthNet: 모든 하늘 이미지에서 도메인 분리 기반 자기 감독 단안 깊이 추정

전체 프로젝트는 AI Studio에서 오픈 소스로 제공되었습니다.
aistudio.baidu.com/aistudio/pr... 링크를 클릭하여 실행하세요.

01 소개

무인 차량이 도로를 주행할 때 고정밀 포인트 클라우드 데이터를 획득하고 포인트 클라우드 데이터에서 주 차량과 주변 장애물 사이의 거리를 획득하도록 LiDAR를 구성하는 것이 일반적으로 필요합니다. 하지만 라이다의 가격이 비싸기 때문에 많은 학자들이 비용을 최대한 줄이기 위해 카메라를 이용해 주 차량과 주변 장애물 사이의 거리를 추정하려고 한다.

기술적인 용어로 깊이 추정은 영상획득장치를 통해 물체의 영상을 수집하고, 물체의 영상을 이용하여 물체의 각 지점에서 영상획득장치의 영상면까지의 수직거리를 추정하는 것이다. distance는 객체의 해당 지점의 깊이 정보입니다. .

현재 깊이 추정 방법은 여러 가지가 있는데 사용하는 센서에 따라 구분하면 TOF 카메라, 양안 카메라, 단안 카메라를 기반으로 한 깊이 추정으로 나눌 수 있다. 이 기사에서는 단안 카메라를 기반으로 한 깊이 추정에 대해 설명합니다 .

그림

그림 1 단안심도 추정 알고리즘의 발전사[1]

02 알고리즘 배경

최근 몇 년 동안 자기주도 깊이 추정이 광범위하게 연구되었으며 Monodepth와 SFMLearner는 훈련된 심층 네트워크와 독립적인 포즈 네트워크를 사용한 최초의 자기주도 단안 깊이 추정 방법입니다. 일부 방법은 야외 장면에서 개선되고 KITTI 데이터 세트 및 Cityscape 데이터 세트에서 완전히 테스트되었지만 야간에 가시성이 낮고 조명이 고르지 않아 야간에 효과가 특히 좋지 않습니다. 따라서 일부 학자들은 야간 장면에 대한 깊이 추정 방법을 개발했습니다. 그러나 낮보다 밤에 깊이 추정이 더 어려운데, 다중 스펙트럼 이동 네트워크 MTN은 추가 센서를 사용하여 야간 깊이 추정을 하고, 열화상 카메라 센서를 사용하여 야간에 낮은 가시성의 영향을 줄이고, 레이저 센서를 추가합니다. 추가 정보를 개선하는 특정 방법. 한편, 야간 깊이 추정을 위해 생성적 적대 신경망을 사용하는 방법도 있습니다.

야간 단안 깊이 추정에서 눈에 띄는 진전이 있었지만 이러한 방법의 성능은 주간 이미지와 야간 이미지 간의 큰 불일치로 인해 제한됩니다. 조명 변화로 인한 성능 저하 문제를 완화하기 위해 ADDS-DepthNet 알고리즘은 주야간 이미지 쌍의 정보를 개인 도메인과 불변 도메인의 두 보완적 하위 공간으로 나누는 도메인 분리 네트워크를 사용합니다. private 도메인은 주간 이미지의 고유 정보(조명 등)를 포함하고, invariant 도메인은 필요한 공유 정보(질감 등)를 포함합니다. 동시에 주간 이미지와 야간 이미지가 동일한 정보를 포함하도록 하기 위해 도메인 분리 네트워크는 주간 이미지와 해당 야간 이미지(GAN 방법을 사용하여 생성)를 입력으로 받아 해당 이미지의 특징 추출을 학습합니다. 직교성 및 유사성 손실을 통해 개인 도메인과 불변 도메인을 분리하여 도메인 간격을 줄이고 더 나은 깊이 맵을 얻습니다. 마지막으로 보완 정보와 깊이 맵은 재구성 및 측광 손실을 사용하여 효율적인 깊이 추정을 위해 활용됩니다.

여기서 한 가지 더 말할 것은 소위 개인 도메인은 기능의 "개성"으로 이해될 수 있는 반면 불변 도메인은 기능의 "공통성"과 유사합니다.

03 ADDS 알고리즘 아키텍처

ADDS 알고리즘은 간섭의 영향을 제거하기 위한 도메인 분리 프레임워크를 제안하며 프레임워크는 네트워크의 입력으로 GAN 아이디어에 의해 생성된 주간 이미지와 해당 야간 이미지를 사용합니다.

그림

그림 2 ADDS-Net 알고리즘 아키텍처[2]

ADDS 알고리즘 아키텍처는 공유 가중치가 있는 심층 네트워크(가운데 주황색 영역의 분홍색 구조), 낮의 사설 네트워크(위 파란색 영역의 노란색 구조), 야간의 사설 네트워크(녹색 구조)의 세 부분으로 구성됩니다. 아래 파란색 영역에서).

딥 네트워크에 대한 입력은 가중치를 공유하는 주간 및 야간 이미지입니다. 네트워크는 먼저 불변 특징을 추출한 다음 해당 깊이 맵을 추정합니다. 한편, 주간 프라이빗 특징 추출기 및 야간 프라이빗 특징 추출기(파란색 영역)는 주간 및 야간 특징을 각각 추출하는데, 이러한 프라이빗 특징은 직교성 손실에 의해 제약되어 보완적 특징을 얻고, 프라이빗 및 불변 특징을 추가하여 원본 입력 이미지를 재구성합니다. 재건 손실.

파트 1 모델 입력

같은 장면의 낮과 밤 이미지의 경우 이러한 이미지 쌍의 조명이 매우 다르더라도 깊이 정보는 일관되어야 합니다. 이는 장면에 해당하는 주간 영상과 야간 영상의 기본 정보가 유사해야 함을 의미한다. ADDS 알고리즘은 주간 및 야간 이미지의 정보를 두 부분으로 나눕니다. 즉, 주간 및 야간 이미지의 불변 정보(거리 크기의 법칙 등)와 주간 및 야간의 개인 정보입니다. 이미지(예: 조명 등).

장면의 조명은 시간에 따라 변하지만 장면의 깊이는 일정하므로 장면의 조명 구성 요소는 자체 감독 깊이 추정에서 역할이 적습니다.

此外,很难保证场景的真实世界白天和夜间图像包含除了私有信息(照明等)之外的相同信息不变,因为在室外场景中总是有移动的对象,这将误导网络获取图像的私有和不变信息。因此,ADDS算法使用CycleGAN将白天图像转换为夜间图像,这样白天图像和相应生成的夜间图像被视为输入图像对,它确保了不变信息是一致的,并且所有对象都位于相同的位置,从而减少了在分离私有信息的过程中重要信息的丢失。注意,这里也可以使用其他GAN算法。

Part-2 特征提取器

域分离框架将图像分离为特征层中的两个互补子空间,并且将不变分量用于深度估计。

ADDS算法使用两个网络分支分别在特征级别提取图像的私有和不变信息。给定输入的白天图像序列和相应生成的夜晚图像序列,对于输入的白天图像序列,用白天专用特征提取器提取图像的私有和不变信息;同理,对于输入的夜晚图像序列,也有一个专用的特征提取器用来提取图像的私有和不变信息。由于输入的白天和夜间图像包含相同的基本信息,因此两个特征提取器中提取不变信息那部分是权重共享的。

Part-3 深度图的生成及图像的重建

基于上一步得到的特征重建白天和夜间图像的相应深度图。其中,红色解码器表示共享权重的深度网络的深度恢复模块,黄色解码器和绿色解码器表示白天、夜间图像的重建分支。

Part-4 自监督信号

为了以自监督学习的方式获得全天图像的私有和不变特征并很好地估计深度信息,ADDS算法利用了不同的损失,包括重建损失(Reconstruction Loss)、相似性损失(Similarity Loss)、正交性损失(Orthogonality Loss)和光度损失(Photometric Loss)。

网络的总训练损失为:

그림

其中,λ1, λ2, λ3, λ4是权重参数。在ADDS算法中,作者根据经验设置为λ1=0.1, λ2=λ3=λ4=1。

04 基于PaddleVideo快速体验ADDS-DepthNet

PaddleVideo是飞桨官方出品的视频模型开发套件,旨在帮助开发者更好地进行视频领域的学术研究和产业实践。下面将简要介绍快速体验步骤。

安装PaddleVideo

 # 下载PaddleVideo源码
%cd /home/aistudio/
!git clone https://gitee.com/PaddlePaddle/PaddleVideo.git
# 安装依赖库
!python -m pip install --upgrade pip
!pip install --upgrade -r requirements.txt
复制代码

下载训练好的ADDS模型

PaddleVideo提供了在Oxford RobotCar dataset数据集上训练好的ADDS模型,为了快速体验模型效果的开发者可以直接下载。

 # 下载在Oxford RobotCar dataset数据集上训练好的模型参数
!wget https://videotag.bj.bcebos.com/PaddleVideo-release2.2/ADDS_car.pdparams
# 导出推理模型
%cd /home/aistudio/PaddleVideo
!python tools/export_model.py -c configs/estimation/adds/adds.yaml \
                              -p ADDS_car.pdparams \
                              -o inference/ADDS
复制代码

导出的推理模型保存在

 /PaddleVideo/inference
└── ADDS
    ├── ADDS.pdiparams
    ├── ADDS.pdiparams.info
    └── ADDS.pdmodel
复制代码

模型推理

使用PaddleVideo/tools/predict.py加载模型参数,并输入一张图片,其推理结果会默认以伪彩的方式保存下模型估计出的深度图。这里提供了两张测试图片,分别是白天和夜间拍摄的照片,拍摄设备是大疆Osmo Action灵眸运动相机。 以下是测试图片和对应的预测深度图:

그림

从测试结果来看,我个人觉得深度图的表现效果在白天相对更好,在晚上则会弱一些,不过也有可能是晚上拍出来的图像质量较差,且环境较暗。但毕竟是基于自监督学习所作,所以结果还不错。

05 总结

论文最后展示了比较有意思的量化结果,这里给大家展示一下:

그림 图3 模型卷积层特征图可视化[2]

这张图展示的是卷积层的特征图可视化。从上到下分别是:(a)白天私有特征;(b)夜间私有特征;(c)白天共有特征;(d)夜间共有特征。第一列显示了相应的输入图像,从左到右的其余列是包含更多信息的前10个特征图。首先看输入,这里展示的图像,不管是白天还是夜间拍摄的图像,都是比较亮的。也就是说,在做深度估计时,图片一定要清晰,上方演示测试的不完美结果可能就是图片不清晰导致的。另外,可视化特征图后,可以在一定程度上看出模型的各个部分是怎么“分工”的。可视化结果里部分的黑色区域说明了有效信息的缺失。有意思的是,对于白天私有特征和夜间私有特征,其浅层特征是比较清晰的,越深越模糊,并且他们对道路两边的物体比较敏感(比如停在道路两边的车辆或是从旁边经过的车辆);而对于白天共有特征和夜间共有特征,可以发现它们的可行驶边缘的两条线比较亮,而道路两边的区域相对来说比较暗。这也反映了私有特征和共有特征确实是互补的。

以上就是基于域分离的全天图像自监督单目深度估计的论文初步解读,欢迎大家来我的AI Studio页面互关交流 aistudio.baidu.com/aistudio/pe…

此外,想探索更多关于自动驾驶相关单目双目深度算法、3D单目感知算法、3D点云感知算法和BEV感知算法的问题,可以前往:

参考文献

[1] Xingshuai Dong, Matthew A. Garratt, Sreenatha G. Anavatti, & Hussein A. Abbass(2023). 로봇공학을 위한 실시간 단안 깊이 추정을 향하여: 설문조사** [2] Lina Liu, Xibin Song, Mengmeng Wang, Yong Liu, & Liangjun Zhang (2021). 도메인 분리를 사용한 하루 종일 이미지에 대한 자기 감독 단안 깊이 추정. 컴퓨터 비전에 관한 국제 회의.

Supongo que te gusta

Origin juejin.im/post/7215100383609864247
Recomendado
Clasificación