Yan Lu
Yan Lu
Hi, I have found the answer from the supplementary. The main logic is : 1. At the beginning of the section 3. The author gives four constraints of the 2d...
1. 这个的实现其实比较老土的,更新的实现直接对相机内参操作就可以。 2. cos_matrix应该是命名不规范,其真正的含义是coefficient matrix(系数矩阵) 3. 这里大概阐述原版的思路,细节推导写起来比较繁琐。大体上是这样,实际上你想求解p2d = A p3d。有一大堆point(一堆p2d和p3d的pair)求解A。然后这里并不能简单的直接算A,你可以看一下flip之前的calib matrix,会发现里面其实只有6个数值,很多的0,所以呢我就对这个公式”p2d = A p3d“进行了整理,写成这种:CX=0。这个X就是要算的6个数字,C就是系数矩阵,用p2d和p3d算出来的。然后对C做svd就好了。 4. 以上方案在熟悉calib本身后其实并不需要,可以通过其他途径直接计算得到
你是对的,mmdet里也有类似的实现,这就是我说的更容易的那种实现,完全正确。 > 在 2022年7月2日,00:08,kwong292521 ***@***.***> 写道: > > > 我使用了一个更简单的函数实现了这一功能(直接对内参进行操作,1.翻转后,0号相机与2号相机的相对位置刚好掉转,因此偏移量乘以-1;2.翻转时成像面也翻转了,因此相机的cu相对于图像中轴线也镜像翻转): > > def flip_simple(self, img_size): > img_w = img_size[0] > _cu = img_w - self.cu > self.cu = _cu...
I do not have the training log now. The main problem is the batchsize. The model cannot train under this extreme small batchsize which will lead to strong overfitting. Please...
If your GPU cannot support 32 bsize, you can: 1. Set the bsize as big as possible. 2. A trick may work but I cannot make sure. If your biggest...
可以check下是否是torch安装的相关问题,例如是否安装的是cpu版本
depth在增强时进行缩放的原因是mono3ddet都是过拟合图像尺度与depth之间的关系用于做depth推理。 random crop会改变上述关系,导致模型无法推理depth 对于gupnet,不需要做scale的原因是gupnet用了一种特殊的coordnate map,会把aug前图像的坐标位置记录下来,因此网络还是可以根据coordnate map还原出原始图像尺度信息,因此不需要scale操作
你crop后:1)肯定要对图像的尺寸进行拉伸放缩的,这就改变了物体成像在2d平面的尺寸。2)而且也会破坏图像成像中心点的位置。这两者的改变可以认为是改变了相机现有的内参,这些会影响mono3d系统推理depth。
不客气,其实从内参角度理解是比较容易的。可以简单理解成: 单目3d都是overfit图像内参的,由于单目数据内内参变化不会范围特别大,所以模型都会overfit内参,random crop会显著改变内参,所以需要针对性处理