Kaggle比赛记录和总结

Kaggle比赛

这个比赛我觉得是半年来收获最大的


过程

开始做这个比赛的时候,还有两个月的时间,花了一些时间看相关论文,当时看的是PVNet和CDPN,最后决定用CDPN试一下


CDPN

CDPN的预测需要mask信息和每个物体的3D模型的。

Mask

比赛数据集没提供mask信息,就想着试试不用mask的话,CDPN效果如何:

在这里插入图片描述
还试了不同的scale参数,其中不用Mask最好的效果:
在这里插入图片描述
使用Mask最好的效果:

在这里插入图片描述
事实证明,还是需要Mask的,不然效果连Baseline都赶不上。

所以,对于Mask信息的获取进行了以下尝试:

1.一开始尝试将所有的3D点云射影到2D图像上来获取Mask,但是失败了,这种质量的Mask是不能用的:
在这里插入图片描述
2.想用其他数据集来训练一个实例分割器,后来找了数据集之后觉得没有必要
3.使用Hybrid Task Cascade算法在COCO上训练的权重试了下,效果很不错,就打算先用这个来获取Mask信息了:
在这里插入图片描述

3D Model

CDPN的要求是每个物体和自己所属的模型对应上,我当时觉得这么多车型不好做分类,用车的尺度的平均值做映射的模型,用2D图像的像素预测对应的3D点

比赛结束后看6DVNet和RoI: 10D这两个论文,前者对汽车进行了车型分类(奥迪、宝马)这样的,后者提出了一个方法,能处理同类的模型

然后对这个CDPN的方法坐在了初步规划:
在这里插入图片描述
写完代码之后进行训练,训完之后发现效果很不好,框都上天了
在这里插入图片描述
后来发现是有两个错误:

  1. 我用的2D逆射影到3D空间,但是这样少了个z信息,是无法得出正确的3D空间坐标的。
  2. 我是用的输入信息是经过resize的,这样的话做pnp不经过处理的话是得不到正确的RT信息的。

修改之后又继续进行训练了。

2D与3D坐标的拟合
后来想将R和T分开处理,尝试用多项式来函数化图像中的xy和空间中的XYZ的关系,将X、Y、Z分别用x、y来拟合,发现效果并不好,所以还是要用深度学习的方法。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

虽然我多项式拟合失败了,但是我觉得X、Y、Z和xy之间应该有一种对应函数,可直接算出,因为车都在路面上,就是说不会有车完全在另一个车的后面,也不会有深度位置的问题,如图所示:
在这里插入图片描述
后来经过老师的指点,用3D空间的数据拟合一个平面,因为车都是在地上走的,必然都在路面这个平面上,使用的代码如下:

回学校了再加上

这是参考的方法:
平面拟合 SVD版本
求交点

拟合出的平面如图:
在这里插入图片描述
计算的误差如下:

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值