ADDS-DepthNet: 全天画像からのドメイン分離ベースの自己教師あり単眼深度推定

完全なプロジェクトは AI Studio でオープン ソース化されています。リンクをクリックして実行してください:
aistudio.baidu.com/aistudio/pr…

01 はじめに

通常、無人車両が路上を走行している場合、高精度の点群データを取得するようにライダーを構成し、点群データから主車両と周囲の障害物との距離を取得する必要があります。ただし、ライダーのコストは高いため、多くの学者はカメラを使用してメインの車両と周囲の障害物との距離を推定し、できるだけコストを削減しようとしています。

技術的に言えば、深度推定とは、画像取得デバイスを介してオブジェクトの画像を収集し、オブジェクトの画像を使用して、オブジェクトの各点から画像取得デバイスの撮像面までの垂直距離を推定することです。距離は、オブジェクト上の対応する点の深度情報です。

現在、深度推定方法は数多くありますが、使用するセンサーで分類すると、TOFカメラによる深度推定、双眼カメラによる深度推定、単眼カメラによる深度推定に分けられます。この記事では、単眼カメラに基づく深度推定について説明します。

写真

図1 単眼深度推定アルゴリズムの開発経緯[1]

02 アルゴリズムの背景

近年、自己教師あり深度推定が広く研究されており、Monodepth と SFMLearner は、トレーニング済みディープ ネットワークと独立ポーズ ネットワークを使用した最初の自己教師あり単眼深度推定方法です。いくつかの方法は屋外シーンで改善され、KITTI データセットと都市景観データセットで十分にテストされていますが、夜間は視認性が低く、照明が不均一であるため、効果は特に良くありません。したがって、一部の学者は、夜景の深度推定方法を開発しました。ただし、夜間の深度推定は日中よりも困難です. マルチスペクトル マイグレーション ネットワーク MTN は、追加のセンサーを使用して夜間の深度推定を推定し、熱画像カメラ センサーを使用して夜間の視界不良の影響を軽減し、レーザー センサーを追加します。追加情報を改善する特定の方法。一方、夜間の深度推定に敵対的生成ネットワークを使用する方法もいくつかあります。

夜間の単眼深度推定は目覚ましい進歩を遂げていますが、これらの方法の性能は、昼間と夜間の画像の間の大きな不一致のために制限されています。照明の変化によるパフォーマンス低下の問題を軽減するために、ADDS-DepthNet アルゴリズムは、昼夜の画像ペアの情報を 2 つの補完的な部分空間 (プライベート ドメインと不変ドメイン) に分割するドメイン分離ネットワークを採用しています。プライベート ドメインには、日周画像の固有の情報 (照明など) が含まれ、不変ドメインには、必要な共有情報 (テクスチャなど) が含まれます。同時に、昼の画像と夜の画像に同じ情報が含まれるように、ドメイン分離ネットワークは、昼の画像とそれに対応する夜の画像 (GAN 法を使用して生成) を入力として、夜の画像の特徴抽出を学習します。直交性と類似性の損失により、プライベートドメインと不変ドメインを分離し、それによってドメインギャップを減らし、より良い深度マップを取得します。最後に、補完情報と深度マップを利用して、再構成と測光損失を使用した効率的な深度推定を行います。

ここでもう 1 つ言っておきますが、いわゆるプライベート ドメインは機能の「個性」と理解できますが、不変ドメインは機能の「共通性」に似ています。

03 ADDS アルゴリズムのアーキテクチャ

ADDS アルゴリズムは、干渉の影響を排除するドメイン分離フレームワークを提案します. フレームワークは、ネットワークの入力として、GAN のアイデアによって生成された昼間の画像と対応する夜間の画像を使用します。

写真

図 2 ADDS-Net アルゴリズム アーキテクチャ [2]

ADDS アルゴリズム アーキテクチャには、重みを共有するディープ ネットワーク (中央のオレンジ色の領域のピンク色の構造)、日中のプライベート ネットワーク (上の青色の領域の黄色の構造)、夜間のプライベート ネットワーク (緑色の構造) の 3 つの部分があります。下の青い部分)。

ディープ ネットワークへの入力は、重みが共有された昼間と夜間の画像です。ネットワークはまず不変の特徴を抽出し、次に対応する深度マップを推定します。一方、昼間の私的特徴抽出器と夜間の私的特徴抽出器 (青色の領域) は、それぞれ昼と夜の特徴を抽出します。これらの私的特徴は、直交性の損失によって制約されて相補的な特徴を取得し、私的な特徴と不変の特徴を追加して元の入力画像を再構築します。再建の損失。

Part-1 モデル入力

同じシーンの昼と夜の画像の場合、これらの画像ペアの照明が大きく異なっていても、深度情報は一貫している必要があります。これは、シーンに対応する昼の画像と夜の画像の基本情報が類似していなければならないことを意味する。ADDS アルゴリズムは、昼と夜の画像の情報を 2 つの部分に分割します。昼と夜の画像の不変情報 (通りの大きさの法則など) と、昼と夜の画像の個人情報です。画像(照明など)。

シーンの照明は時間の経過とともに変化しますが、シーンの深度は一定であるため、シーンの照明コンポーネントは、自己教師あり深度推定においてあまり役割を果たしません。

此外,很难保证场景的真实世界白天和夜间图像包含除了私有信息(照明等)之外的相同信息不变,因为在室外场景中总是有移动的对象,这将误导网络获取图像的私有和不变信息。因此,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). ドメイン分離を使用した終日画像の自己教師あり単眼深度推定.. コンピュータ ビジョンに関する国際会議。

おすすめ

転載: juejin.im/post/7215100383609864247