【发布时间】:2019-11-15 02:04:06
【问题描述】:
我正在研究对象检测。我知道检查您的模型计算mAP 的标准,但我想更进一步。我想为每个类生成一个分类报告。为此,我想计算TP、FP 和FN。我想在这里避免循环并找到一种快速计算的方法。简而言之,步骤包括:
1) 丢弃置信度分数 vectorized
3) 对于所有 IOU >= 0.5 的框,检查相应的 predicted 和 ground-truth 标签。
4)更新TP、FP和FN计数
这是一个例子:
Ground-Truth:
[[142. 208. 158. 346.] person,
[ 39. 63. 203. 112.] dog,
[ 49. 75. 203. 125.] person,
[ 31. 69. 201. 125.] dog,
[ 50. 72. 197. 121.] cat,
[ 35. 51. 196. 110.] dog]]
Predictions:
[[243. 203. 348. 279.] cat 0.7,
[ 54. 66. 198. 114.] person 0.5,
[ 42. 78. 186. 126.] person 0.5,
[ 18. 63. 235. 135.] person 0.5,
[ 54. 72. 198. 120.] person 0.5]
我以vectorized的方式计算IOU并得到这个数组:
IOU:
array([[0. , 0. , 0. , 0. , 0. ],
[0. , 0.79577124, 0.48706725, 0.51433694, 0.62690467],
[0. , 0.6242775 , 0.787838 , 0.49283153, 0.79685193],
[0. , 0.65112543, 0.70033115, 0.609319 , 0.72605044],
[0. , 0.7406585 , 0.70739084, 0.4610215 , 0.94662803],
[0. , 0.6147791 , 0.39040923, 0.43102074, 0.48987743]],
dtype=float32)
鉴于这个 IOUs 矩阵,现在我无法弄清楚如何以更快的方式匹配类标签。有谁能帮帮我吗?
【问题讨论】:
标签: python python-3.x numpy object-detection