tsunghan-wu / RandLA-Net-pytorch

:four_leaf_clover: Pytorch Implementation of RandLA-Net (https://arxiv.org/abs/1911.11236)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

low miou

caoyifeng001 opened this issue · comments

你好,训练时有53.9的iou,但是测试完用evaluate_SemanticKITTI.py 估计时却是如下情况。测试显示的iou和最后的差距大吗

`validation set:
Acc avg 0.052
IoU avg 0.003
IoU class 1 [car] = 0.052
IoU class 2 [bicycle] = 0.000
IoU class 3 [motorcycle] = 0.000
IoU class 4 [truck] = 0.000
IoU class 5 [other-vehicle] = 0.000
IoU class 6 [person] = 0.001
IoU class 7 [bicyclist] = 0.000
IoU class 8 [motorcyclist] = 0.000
IoU class 9 [road] = 0.000
IoU class 10 [parking] = 0.002
IoU class 11 [sidewalk] = 0.000
IoU class 12 [other-ground] = 0.000
IoU class 13 [building] = 0.000
IoU class 14 [fence] = 0.000
IoU class 15 [vegetation] = 0.000
IoU class 16 [trunk] = 0.000
IoU class 17 [terrain] = 0.000
IoU class 18 [pole] = 0.000
IoU class 19 [traffic-sign] = 0.000


0.052,0.000,0.000,0.000,0.000,0.001,0.000,0.000,0.000,0.002,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.003,0.052`
不知道用中文简体字提问能看懂吗。

您好:

使用中文問答也是可以的。
想請問您遇到這個狀況使用是自己寫的 inference 程式碼還是我 repo 內的呢?

  1. 如果是使用自己的 inference 程式的話:據我所知,RandLA-Net 在測試階段會需要 predicting 多次並且 merge 其結果 (original repo 也是如此實作)。因此我想說也許您可以檢查是否有做進行這個步驟?
  2. 如果是使用我的程式碼但出來的成效不佳,可以先試用我提供的 pretrain-weight 查看是否有辦法 reproduce 出我 README 所述的結果 (52.9 on validation set)。如果無法 reproduce 的話,那麼大概就真的是我的程式有問題需要修改。

如果還有相關問題也歡迎一起討論
謝謝!

你好,感谢你的回复。
我是把你的代码code 这一行删掉得到的结果,我知道这是错误的。我想请问你用batchsize=20的情况下inference 验证集需要多少时间,我这边1小时多还没有的到结果,这样正常吗?

您好:

依照我之前的經驗,RandLA-Net 確實在 inference 時因為 voting prediction (也就是您刪除的部份) 而花上很多時間,然而,刪除該步驟又會造成如您上面所提到的 performance 大幅下降。個人認為如果工作站電腦不是很好的話一個多小時是有可能的,然而如果你有 real-time 需求的話,也許你可以嘗試其他的 model backbone 或者與原作者討論。謝謝!

感谢回复,
训练时验证集的iou和用test_SemanticKITTI.py得到的iou差距大吗

應該是還好,我之前跑的印象就是50多一些。

@tsunghan-mama @caoyifeng001 您好,抱歉隔了这么久再次在这下面提问,我疑惑的是训练时的eval似乎没有进行voting prediction,但为什么训练eval时可以取得50多的iou而测试时必须要voting呢?
感谢!