- 2019-06-10 11:59
*views 9*- IOU
- Introduction to deep learning
- object detection
- Deep learning

In the process of target detection , An important concept is that IOU. General reference model predicted bbox and Groud Truth The comparison between them .

What is cross comparison ?

I O U = A ∩ B A ∪ B IOU = \frac{A\cap B}{A\cup B} IOU=A∪BA∩B

aggregate A And set B The union of includes the above 3 Color regions .

aggregate C It's a collection A And set B Intersection of .

In the process of target detection ,IOU It's the ratio of the two sets above .

A ∪ B A \cup B A∪B In fact, it is A + B − C A + B - C A+B−C.

Then the formula can be transformed into ：

I O U = A ∩ B A + B − ( A ∩ B ) IOU = \frac{A \cap B}{A + B - (A \cap B)} IOU=

A+B−(A∩B)A∩B

IOU Measure the degree of overlap between two sets .

* IOU by 0 Time , The two boxes do not overlap , There is no intersection .

* IOU by 1 Time , The two boxes overlap completely .

* IOU The value is 0 ～ 1 When the value between , Represents the degree of overlap between the two boxes , The higher the value , The higher the degree of overlap .

stay 2D Target detection , because bbox It's a rectangle , So it's easy to get IOU.

Box A and B intersect , Typical cases are as follows ：

A and B It is easy to get the area of ,C The area is a little more complicated , But if you are patient and careful, you can get it .

If we use mathematical thinking , Careful arrangement , Area can be found C We just need to find the product of the side length , even if A and B The position of is relative , But with a little transformation, it can be found .

If W representative A and B Intersection of C Of x Side length in axis direction , So there is

W = m i n ( A . x 1 , B . x 1 ) − m a x ( A . x 0 , B . x 0 ) W =

min(A.x_{1},B.x_{1}) - max(A.x_{0},B.x_{0})W=min(A.x1,B.x1)−max(A.x0,B.x0)

In the same way ,

H = m i n ( A . y 1 , B . y 1 ) − m a x ( A . y 0 , B . y 0 ) H =

min(A.y_{1},B.y_{1}) - max(A.y_{0},B.y_{0})H=min(A.y1,B.y1)−max(A.y0,B.y0)

Look carefully at the corresponding relationship above , It can be found that the formula holds . The derivation of this formula is not difficult , nothing less than 4 Transformation of relative position of coordinates of vertices , You can figure it out for yourself .

If A And B It doesn't intersect at all .

At this time, we can find out W <= 0 or H <= 0.

Here is Python code .

class BBox: def __init__(self,x,y,w,h): self.x = x self.y = y self.w = w self.h

= h def iou(a,b): assert isinstance(a,BBox) assert isinstance(b,BBox) area_a = a

.w * a.h area_b = b.w * b.h w = min(b.x+b.w,a.x+a.w) - max(a.x,b.x) h = min(b.y+

b.h,a.y+a.h) - max(a.y,b.y) if w <= 0 or h <= 0: return 0 area_c = w * h return

area_c/ (area_a + area_b - area_c) if __name__ == '__main__': a = BBox(1,1,4,5)

b1= BBox(1,1,4,5) b2 = BBox(5,1,4,5) b3 = BBox(3,2,3,6) print("iou ",iou(a,b1))

print("iou ",iou(a,b2)) print("iou ",iou(a,b3))

The results are as follows ：

iou 1.0 iou 0 iou 0.26666666666666666

Technology

- Flow Chart77 blogs
- Java38 blogs
- Python28 blogs
- Linux16 blogs
- MySQL15 blogs
- Android15 blogs
- Administration13 blogs
- Database12 blogs
- more...

Daily Recommendation

©2020 ioDraw All rights reserved

PHP call shell command Did you complain today ? Self made whole person computer program Comparison of data extraction tools ：Kettle,Datax,Sqoop,StreamSetsKeras Output the results of each layer of the model Feature Engineering After the outbreak Which programming has a bright future Children programming children's learning route java properties Profile tool class Android Development — Display food information according to customer budget