轉載請注明出處:
http://www.cnblogs.com/darkknightzh/p/9043395.html
參考網址:
https://github.com/deepinsight/insightface/blob/master/src/align/align_megaface.py中IOU的計算。
理解不對的地方敬請諒解。
IOU是兩個矩形的交集與兩個矩形並集的比值(可以這樣理解吧)。
如下圖所示:
黃色矩形起點坐標(x11,y11),終點坐標(x12,y12)
藍色矩形起點坐標(x21,y21),終點坐標(x22,y22)。
則:
黃色矩形寬W1=x12-x11,高H1=y12-y11
藍色矩形寬W2=x22-x21,高H1=y22-y21
兩個矩形交集(紅色矩形)寬W=W1+W2-(x22-x11)=x12-x21 (謝謝1樓@ plllala的提醒,已更正)
兩個矩形交集(紅色矩形)高H=H1+H2-(y22-y11)=y12-y21 (謝謝1樓@ plllala的提醒,已更正)
紅色矩形面積(兩個矩形交集)為area=W*H
兩個矩形並集為area1+area2-area
如果x12<x21或者y12<y21,說明兩個矩形無公共區域,IOU=0;
否則,IOU=area/(area1+area2-area)