过程数据记录

depth_reg
在这里插入图片描述
keypoint_reg 1
在这里插入图片描述
keypoint_reg 2
在这里插入图片描述
dim_ori_reg 1
在这里插入图片描述
dim_ori_reg 2
在这里插入图片描述
dim_ori_reg 3
在这里插入图片描述dim_ori_reg 4
在这里插入图片描述dim_ori_reg 5
在这里插入图片描述center2d_wh_reg 0
在这里插入图片描述
center2d_wh_reg 1
在这里插入图片描述
center2d_wh_reg 2
在这里插入图片描述
center2d_wh_reg 3
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

batch_size = 4 epoch=10 learning_rate = 2E-4

在这里插入图片描述

pos_loss

在这里插入图片描述

neg_loss

在这里插入图片描述

测试结果 000001

在这里插入图片描述训练模型 head_class = sigmoid_hm(head_class) 结果可视化
在这里插入图片描述标准模型 head_class 结果可视化
在这里插入图片描述

标准模型损失值

pos_loss
在这里插入图片描述
neg_loss
在这里插入图片描述

加载方式验证

以model加载

成功
在这里插入图片描述在这里插入图片描述

以state_dict进行加载

在这里插入图片描述
在这里插入图片描述

深度线索训练记录

同样,仿照训练分类头网络的模式,在深度提示层后面添加了droupout层,具体结构如下:
self.depth_hint_extractor1 = nn.Sequential(
            nn.Conv2d(40, 1, kernel_size=1, padding=0),
            # nn.BatchNorm2d(1),
            nn.Dropout(p=0.5)  # 添加Dropout层
        )

        self.depth_hint_extractor2 = nn.Sequential(
            nn.Conv2d(512, 1, kernel_size=1, padding=0),
            # nn.BatchNorm2d(1),
            nn.Dropout(p=0.5)  # 添加Dropout层
        )
由于网络结构比较简单,因此加入BN层,从中获益并不大,所以将BN层暂时注释,损失函数使用L1  均值模式,损失值一般设为正值,因此将原文中的负号去除
def depth_hint_cat_loss(pre,target,labels):
    loss = 0
    mask = (target != 0).float()
    pre = pre.squeeze()
    total_elements = sum(len(lst) for lst in labels)
    if total_elements == 0:
        total_elements =1
    # 创建L1损失函数对象
    criterion = nn.L1Loss(reduction='mean')  # 注意,这里使用'sum'来得到L1损失的总和而不是平均值

    # loss = criterion(pre*mask,target)*(-1/total_elements)
    loss = criterion(pre*mask,target)

    return loss

训练模型测试输出 (000134.jpg)

在这里插入图片描述在这里插入图片描述

高-模型测试输出

在这里插入图片描述在这里插入图片描述

标签值

Car 0 0 -1.5456000566482544 559.1829833984375 167.62930297851562 634.0765991210938 241.33389282226562 1.6730999946594238 1.6598000526428223 3.440200090408325 -0.2768000066280365 1.5640000104904175 18.71310043334961 -1.5604000091552734 0.5386999845504761

根据标签值我们可以得出目标所在位置的深度值为18.71310043334961 原图尺寸为1242 x 375 目标中心点y坐标为204.4815/3.90625 == 52
因此我们比较两个图中第52行的数据,可以发现这两个模型的预测值都有偏差,但从结果看,我们的偏差要更小,由于深度线索模块只是提供线索提示,属于距离估计值,因此还需要结合后续模块一起进行数据评估

二维回归头训练

训练参数

batch_size: 16   learing_rate: 2E-4   epoch:20   训练照片:2000张  不衰减
在这里插入图片描述
在这里插入图片描述测试scores得分如下:

tensor([[0.3035, 0.1699, 0.0945, 0.0885, 0.0829, 0.0826, 0.0814, 0.0672, 0.0569,
         0.0549, 0.0548, 0.0509, 0.0480, 0.0477, 0.0456, 0.0455, 0.0451, 0.0434,
         0.0433, 0.0433, 0.0432, 0.0410, 0.0403, 0.0400, 0.0394, 0.0389, 0.0381,
         0.0368, 0.0368, 0.0364, 0.0361, 0.0355, 0.0354, 0.0353, 0.0353, 0.0350,
         0.0349, 0.0348, 0.0346, 0.0346, 0.0345, 0.0343, 0.0342, 0.0341, 0.0339,
         0.0336, 0.0334, 0.0332, 0.0328, 0.0326]], device='cuda:0')

从图上也可以看出,目标中有三辆车和一个自行车,最终只标记出了得分最高的一个车,这有两方面的原因所导致的,其一是由于训练迭代次数少,该模型以16 batch_size 不衰减迭代8次,部分场景中目标预测得偏低;其二是设置的目标阈值较高,本次测试阈值为0.25,因此只有一个目标被过滤

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摸鱼带师小弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值