在目标检测中,经常需要计算预测回归框和真实回归框的交并比(Intersection Over Union,IOU),也称重叠度,计算公式如下。
IOU=预测回归框与真实回归框的交集预测回归框与真实回归框的并集
由于回归框只是确定物体的位置,不需要考虑物体的倾斜、旋转等情况。那么已知两个回归框A,B各自左上顶点右下顶点的坐标,如何计算二者的交集和并集。假定回归框A的左上顶点和右下顶点的坐标分为(xa1,ya1),(xa2,ya2),回归框B的左上顶点和右下顶点的坐标分为(xb1,yb1),(xb2,yb2)。为方便理解,将回归框用集合语言来描述:
A={(x,y)|xa1≤x≤xa2,ya1≤y≤ya2,x,y∈R}B={(x,y)|xb1≤x≤xb2,yb1≤y≤yb2,x,y∈R}
则可得到不等式组:
max{xa1,xb1}≤min{xa2,xb2}max{ya1,yb1}≤min{ya2,yb2}
成立时,集合A、B交集非空,且当不等式组成立时,交集C为:
C=A∩B={(x,y)|max{xa1,xb1}≤x≤min{xa2,xb2},max{ya1,yb1}≤y≤min{ya2,yb2}}
求得预测回归框和真实回归框的交集和并集之后,可以很容易计算出IOU的值:
SC=(min{xa2,xb2}−max{xa1,xb1})×(min{ya2,yb2}−max{ya1,yb1})
SD=SA+SB−SC=(xa2−xa1)(ya2−ya1)+(xb2−xb1)(yb2−yb1)−SC
IOU=SCSD=(min{xa2,xb2}−max{xa1,xb1})×(min{ya2,yb2}−max{ya1,yb1})(xa2−xa1)(ya2−ya1)+(xb2−xb1)(yb2−yb1)−(min{xa2,xb2}−max{xa1,xb1})×(min{ya2,yb2}−max{ya1,yb1})
关于交并比计算的更详细内容,可以参考以下链接:
Yolo V1算法详解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~