tuyoshi666 2022-03-24 14:47 采纳率: 85.7%
浏览 188
已结题

如何计算Mask-RCNN的IoU

想要利用IoU来评价实例分割后的结果
查看maskrcn源码,发现了一个叫compute_iou的函数,却不知道要怎么调用(参数之类的)
请问如何遍历每一个预测掩码的IoU值
需要具体一点。谢谢!
比如能够参考的URL。

img

  • 写回答

6条回答 默认 最新

  • 爱晚乏客游 2022-03-24 17:53
    关注

    你贴的截图里面算法就是计算IoU的,box是你要计算和boxes(其他矩形框)的Iou,其中x1,x2,y1,y2就是在计算box和boxes多个矩形之间的交集,。用一个矩形举例来说,比如A(下图红色)和B(下图蓝色),y1=max(A.y1,B.y1)就是求交集C(黄色)的y1值,其他y2=min(A.y2,B.y2)就是求C的y2值,其他两个x位置同理,看懂这个就知道x1,x2,y1,y2是在干什么了,。只不过 boxes[:, 0]中有个冒号,你可以看做事遍历boxes中的每一个矩形都和box求一次交集,如果有交集的话,下面的计算
    intersection = np.maximum(x2 - x1, 0) * np.maximum(y2 - y1, 0)
    的值就是大于0,如果没有交集这个值就是0(没有交集的话,上面计算出来的 x2<x1||y2<y1,所以maxinum的结果是0),也就是说intersection 就是交集的面积。而union就不说了,计算A 和B区域的面积,下面的IoU计算公式,最底下的图片就是最形象的计算IoU的

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月29日
  • 修改了问题 3月24日
  • 修改了问题 3月24日
  • 展开全部

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)