LSNet
LSNet copied to clipboard
something about cross_iou_loss
cross_iou_loss 这里所对应的cross_iou_loss是文章的所提出的损失吗?有人可以告诉我这里面loss的输入的tensor的维度和格式大概都是什么吗?谢谢。
看了源码部分,很奇怪,感觉和论文的损失很不一样。 segm 的输入:pred (2(batch)hw, 148) 148 指的是(36+1)4 target (2(batch)hw, 742) 期待作者能回复一下,感谢~
@Zlj-github 36+1其中36是指每个anchor点预测36根向量,1是指每个anchor点还额外预测了1个向量,这个向量指向物体的几何中心点,该向量可以作为DCN的其中一个offset,因此可以把几何中心点附近的特征给提取到(文章只说了利用DCN提取极值点附近的特征,实际这一版代码中还同时提取了几何中心点附近特征)。至于target (2(batch)hw, 742)中的742在哪个地方?应该也是742
@Mr2er0 cross_iou_loss是文章的所提出的loss, pred:torch.Size([25600, 148]), target: torch.Size([25600, 148])
@Zlj-github 36+1其中36是指每个anchor点预测36根向量,1是指每个anchor点还额外预测了1个向量,这个向量指向物体的几何中心点,该向量可以作为DCN的其中一个offset,因此可以把几何中心点附近的特征给提取到(文章只说了利用DCN提取极值点附近的特征,实际这一版代码中还同时提取了几何中心点附近特征)。至于target (2(batch)hw, 742)中的742在哪个地方?应该也是742
谢谢回复,742是打字没有注意符号 74 * 2, 74 =(36+1)2, 2 应该有x,y坐标,所以2,但是另外一个2怎么理解呢?是论文中取0.2倍后的4维坐标系嘛?
还有源码里面这个地方: loss = 1 - (overlaps - (rho2 / c2 + v**2 / (1 - overlaps +v))) 有点迷惑,好像对不上论文上的公式(出现了arctan函数), 我给您的outlook邮箱发了邮件,您查看一下,谢谢您~
@Zlj-github 36+1其中36是指每个anchor点预测36根向量,1是指每个anchor点还额外预测了1个向量,这个向量指向物体的几何中心点,该向量可以作为DCN的其中一个offset,因此可以把几何中心点附近的特征给提取到(文章只说了利用DCN提取极值点附近的特征,实际这一版代码中还同时提取了几何中心点附近特征)。至于target (2(batch)hw, 742)中的742在哪个地方?应该也是742
谢谢回复,742是打字没有注意符号 74 * 2, 74 =(36+1)_2, _2 应该有x,y坐标,所以_2,但是另外一个_2怎么理解呢?是论文中取0.2倍后的4维坐标系嘛?
还有源码里面这个地方: loss = 1 - (overlaps - (rho2 / c2 + v**2 / (1 - overlaps +v))) 有点迷惑,好像对不上论文上的公式(出现了arctan函数), 我给您的outlook邮箱发了邮件,您查看一下,谢谢您~
hi 你搞懂为啥是(36+1)*4,而不是(36+1)*2了吗? https://github.com/Duankaiwen/LSNet/blob/main/code/mmdet/models/losses/cross_iou_loss.py#L37 这一行resize完之后是K x 72 x 2,再看下面两行,感觉是分成了正负样本两类?0所对应的是负样本,是这样吗?
@Zlj-github 36+1其中36是指每个anchor点预测36根向量,1是指每个anchor点还额外预测了1个向量,这个向量指向物体的几何中心点,该向量可以作为DCN的其中一个offset,因此可以把几何中心点附近的特征给提取到(文章只说了利用DCN提取极值点附近的特征,实际这一版代码中还同时提取了几何中心点附近特征)。至于target (2(batch)hw, 742)中的742在哪个地方?应该也是742
谢谢回复,742是打字没有注意符号 74 * 2, 74 =(36+1)_2, _2 应该有x,y坐标,所以_2,但是另外一个_2怎么理解呢?是论文中取0.2倍后的4维坐标系嘛?
还有源码里面这个地方: loss = 1 - (overlaps - (rho2 / c2 + v**2 / (1 - overlaps +v))) 有点迷惑,好像对不上论文上的公式(出现了arctan函数), 我给您的outlook邮箱发了邮件,您查看一下,谢谢您~
@Zlj-github 每个向量预测四个分量,因此是4倍的关系,详情请看 https://zhuanlan.zhihu.com/p/366651996 这一版的loss形式参考了 CIOU loss, 实际上,loss完全可以写成loss = 1 – overlaps,差别不大
@Zlj-github 36+1其中36是指每个anchor点预测36根向量,1是指每个anchor点还额外预测了1个向量,这个向量指向物体的几何中心点,该向量可以作为DCN的其中一个offset,因此可以把几何中心点附近的特征给提取到(文章只说了利用DCN提取极值点附近的特征,实际这一版代码中还同时提取了几何中心点附近特征)。至于target (2(batch)hw, 742)中的742在哪个地方?应该也是742
谢谢回复,742是打字没有注意符号 74 * 2, 74 =(36+1)_2, _2 应该有x,y坐标,所以_2,但是另外一个_2怎么理解呢?是论文中取0.2倍后的4维坐标系嘛? 还有源码里面这个地方: loss = 1 - (overlaps - (rho2 / c2 + v**2 / (1 - overlaps +v))) 有点迷惑,好像对不上论文上的公式(出现了arctan函数), 我给您的outlook邮箱发了邮件,您查看一下,谢谢您~
hi 你搞懂为啥是(36+1)*4,而不是(36+1)*2了吗? https://github.com/Duankaiwen/LSNet/blob/main/code/mmdet/models/losses/cross_iou_loss.py#L37 这一行resize完之后是K x 72 x 2,再看下面两行,感觉是分成了正负样本两类?0所对应的是负样本,是这样吗?
@Marcovaldong 因为每个向量预测四个分量,因此是4倍的关系,详情请看 https://zhuanlan.zhihu.com/p/366651996
感谢作者大大~
@Zlj-github 36+1其中36是指每个anchor点预测36根向量,1是指每个anchor点还额外预测了1个向量,这个向量指向物体的几何中心点,该向量可以作为DCN的其中一个offset,因此可以把几何中心点附近的特征给提取到(文章只说了利用DCN提取极值点附近的特征,实际这一版代码中还同时提取了几何中心点附近特征)。至于target (2(batch)hw, 742)中的742在哪个地方?应该也是742
谢谢回复,742是打字没有注意符号 74 * 2, 74 =(36+1)_2, _2 应该有x,y坐标,所以_2,但是另外一个_2怎么理解呢?是论文中取0.2倍后的4维坐标系嘛? 还有源码里面这个地方: loss = 1 - (overlaps - (rho2 / c2 + v**2 / (1 - overlaps +v))) 有点迷惑,好像对不上论文上的公式(出现了arctan函数), 我给您的outlook邮箱发了邮件,您查看一下,谢谢您~
hi 你搞懂为啥是(36+1)*4,而不是(36+1)*2了吗? https://github.com/Duankaiwen/LSNet/blob/main/code/mmdet/models/losses/cross_iou_loss.py#L37 这一行resize完之后是K x 72 x 2,再看下面两行,感觉是分成了正负样本两类?0所对应的是负样本,是这样吗?
@Marcovaldong 因为每个向量预测四个分量,因此是4倍的关系,详情请看 https://zhuanlan.zhihu.com/p/366651996
谢谢老师的回复。我在尝试把cross iou loss加到CenterNet上来,但没有搞懂这个gt的构造。 我现在可以知道https://github.com/Duankaiwen/LSNet/blob/main/code/mmdet/datasets/pipelines/loading.py#L422可以得到36个坐标点的标注,而L515这儿是返回了一张图的所有信息。但是我没有找到将36个坐标点转换成36x4个坐标分量的代码在哪儿?您可以告知一下吗?谢谢。
您的这篇论文思路非常棒,感觉无论是在学术界还是在工业上,都还有很大的空间。
@Zlj-github 36+1其中36是指每个anchor点预测36根向量,1是指每个anchor点还额外预测了1个向量,这个向量指向物体的几何中心点,该向量可以作为DCN的其中一个offset,因此可以把几何中心点附近的特征给提取到(文章只说了利用DCN提取极值点附近的特征,实际这一版代码中还同时提取了几何中心点附近特征)。至于target (2(batch)hw, 742)中的742在哪个地方?应该也是742
谢谢回复,742是打字没有注意符号 74 * 2, 74 =(36+1)_2, _2 应该有x,y坐标,所以_2,但是另外一个_2怎么理解呢?是论文中取0.2倍后的4维坐标系嘛? 还有源码里面这个地方: loss = 1 - (overlaps - (rho2 / c2 + v**2 / (1 - overlaps +v))) 有点迷惑,好像对不上论文上的公式(出现了arctan函数), 我给您的outlook邮箱发了邮件,您查看一下,谢谢您~
hi 你搞懂为啥是(36+1)*4,而不是(36+1)*2了吗? https://github.com/Duankaiwen/LSNet/blob/main/code/mmdet/models/losses/cross_iou_loss.py#L37 这一行resize完之后是K x 72 x 2,再看下面两行,感觉是分成了正负样本两类?0所对应的是负样本,是这样吗?
@Marcovaldong 因为每个向量预测四个分量,因此是4倍的关系,详情请看 https://zhuanlan.zhihu.com/p/366651996
谢谢老师的回复。我在尝试把cross iou loss加到CenterNet上来,但没有搞懂这个gt的构造。 我现在可以知道https://github.com/Duankaiwen/LSNet/blob/main/code/mmdet/datasets/pipelines/loading.py#L422可以得到36个坐标点的标注,而L515这儿是返回了一张图的所有信息。但是我没有找到将36个坐标点转换成36x4个坐标分量的代码在哪儿?您可以告知一下吗?谢谢。
您的这篇论文思路非常棒,感觉无论是在学术界还是在工业上,都还有很大的空间。
我想我找到了,https://github.com/Duankaiwen/LSNet/blob/7ca365cefdbab3a039fff160bc61acd0d16bb70c/code/mmdet/models/dense_heads/lsnet_head.py#L1113 但是没看懂这个anchor_pts_list为啥会是一个三维的,而且看起来是平铺到整张图上的?这个意思是不是说标注的mask所包含的36个点都要和对应的proposal的坐标计算出一个向量,这个向量就是loss中要用到的向量。最后再通过normalize_term进行归一化?