感知问题-深度估计
此项目采用FCRN实现自动驾驶场景的深度估计任务。单目深度估计是通过单摄像头图像预测场景中各像素的深度信息,是自动驾驶低成本3D环境感知的核心技术。
模型介绍
1. 模型概述:
《Deeper Depth Prediction with Fully Convolutional Residual Networks》 是单目深度估计的经典论文之一,提出了一个全卷积的残差网络结构(Fast Convolutional Residual Network,FCRN),采用编码器-解码器架构,通过残差模块和上采样层实现高精度实时深度推理,在复杂道路场景中能有效识别障碍物距离。
2. 模型架构:
- 编码器:负责从输入图像中提取高层次的语义特征。通常使用预训练的卷积神经网络(如VGG或ResNet)作为骨干网络,通过多层卷积操作逐步降低特征图的空间分辨率,同时增加通道数。
- 解码器:负责将编码器提取的特征逐步上采样,恢复到与输入图像相同的空间分辨率,生成像素级的深度图。
- BerHu损失函数:结合了L1和L2损失的优点。对于小误差,BerHu损失函数使用L1损失,这使得它对异常值(outliers)更具鲁棒性,因为L1损失对大误差的惩罚较小。对于大误差,BerHu损失函数使用L2损失,这使得它在大误差情况下更加平滑,有助于梯度下降算法的稳定性和收敛性。通过结合L1和L2损失,BerHu损失函数在处理不同尺度误差时都能表现出色,适用于各种回归任务。
3. 具体实现:
- 数据加载:加载RGB图像和深度图像,进行数据增强、制作数据集及数据加载器。
- 训练:自定义BerHu损失函数,使用Adam优化器训练UNet模型。
- 测试/可视化:模型推理,并对结果图像进行可视化。
