torchvision.ops.nms与batched_nms
生活随笔
收集整理的這篇文章主要介紹了
torchvision.ops.nms与batched_nms
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
batched_nms() 和 nms()內置區別在于
torchvision.ops.nms
不區分類別對所有bbox進行過濾。如果有不同類別的bbox重疊的話會導致被過濾掉并不會分開計算。??
boxes (Tensor[N, 4])) – bounding boxes坐標. 格式:(x1, y1, x2, y2)
scores (Tensor[N]) – bounding boxes得分
iou_threshold (float) – IoU過濾閾值
返回NMS過濾后的bouding boxes索引(降序排列)
?
torchvision.ops.batched_nms
根據每個類別進行過濾,只對同一種類別進行計算IOU和閾值過濾。
boxes: Tensor, 預測框
scores: Tensor, 預測置信度
idxs: Tensor, 預測框類別
iou_threshold: float, IOU閾值
demo
import torchvision.ops as ops import torchb = torch.Tensor([[2,2,4,4], [1,1,5,5], [3,3,3.5,3.9]]) # bbox c = torch.Tensor([0,1,0]) # classes s = torch.Tensor([0.8,0.8,0.8]) # scoresops.batched_nms(b, s, c, 0.001) #運行結果 tensor([1, 2]) #[1,1,5,5], [3,3,3.5,3.9] bbox實際上是有包含關系的,但是類別不一樣ops.nms(b, s, 0.001) # 運行結果 tensor([0]) # 可以看到 [1,1,5,5] 類別為1 但是被過濾掉了,只留下0號類別的[2,2,4,4]總結
以上是生活随笔為你收集整理的torchvision.ops.nms与batched_nms的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytorch3d学习之pytorch3
- 下一篇: 如何选择正确的RF连接器