iou là gì

IoU là chừng đo Review những quy mô phát hiện thực thể. Phép đo này rất có thể Review những quy mô không giống nhau như RCNN, Fast-RCNN, Faster- RCNN hoặc YOLO.

Bạn đang xem: iou là gì

Sau khi đào tạo và huấn luyện hoàn thành một quy mô phát hiện thực thể, tất cả chúng ta cần thiết Review coi quy mô hoạt động và sinh hoạt đúng mực đến mức độ chừng nào là. Đây là 1 trong những đòi hỏi không chỉ có so với xử lý hình họa nhưng mà với machine learning thưa công cộng.

IoU là gì?

Trong câu hỏi regression, tất cả chúng ta có tính đo như Mean Square Error (MSE), hoặc so với classification tất cả chúng ta sở hữu accuracy, precision, recall, confusion matrix v..v.. Vậy so với nhận dạng thực thể, tất cả chúng ta tiếp tục sử dụng chừng đo nào? Câu vấn đáp là IoU.

Trong nhận dạng thực thể, những quy mô rất cần được vẽ đi ra được một khuông số lượng giới hạn nhằm lưu lại thực thể với cùng một phần trăm nào là bại liệt.

Image for post
Ví dụ về output của nhận dạng thực thể. Màu đỏ ửng là khuông được Dự kiến, black color là khuông chuẩn chỉnh.

Khung số lượng giới hạn là tụ họp những tọa chừng dùng để làm xác xác định trí vô hình họa. Các dataset không giống nhau rất có thể sở hữu format không giống nhau của tụ họp này.

Không kiểu như tựa như những chừng đo như accuracy hay f1, tất cả chúng ta ko đòi hỏi một sự trùng khớp vô cùng nhưng mà tính bên trên cường độ tương đương của nhì khuông số lượng giới hạn. IoU được cho phép tất cả chúng ta tính được số lượng bại liệt.

Giả sử tất cả chúng ta sở hữu nhì tụ họp là S1 và S2, chỉ số Jaccard được xem bởi:

J(S1, S2) = |S1 ∩ S2|/ |S1 U S2|

Đối với IoU tớ có:

IoU = Diện tích phần GIAO /Diện tích phần HỢP

Tôi quí tâm lý của chúng ta.
Image for post
IoU = Diện tích phần GIAO /Diện tích phần HỢP.

Xem thêm: những hình ảnh anime buồn đẹp nhất

IoU ≥0.5 được xem như là sở hữu cường độ tương đương cao.

Tính IoU vị Python

Định nghĩa hàm

def iou(box1, box2): """ box1 -- first box, list object with coordinates (x1, y1, x2, y2) box2 -- second box, list object with coordinates (x1, y1, x2, y2) """ xi1 = max(box1[0],box2[0]) yi1 = max(box1[1],box2[1]) xi2 = min(box1[2],box2[2]) yi2 = min(box1[3],box2[3]) inter_area = (yi2-yi1)*(xi2-xi1) box1_area = (box1[2]-box1[0])*(box1[3]-box1[1]) box2_area = (box2[2]-box2[0])*(box2[3]-box2[1]) union_area = box1_area+box2_area-inter_area # compute the IoU iou = inter_area/union_area return iou

Áp dụng nhằm tính IoU thân thích 2 khung:

box1 = (21, 11, 14, 13) box2 = (23, 12, 13, 14) print("iou = " + str(iou(box1, box2)))

Output : iou = 0.417

Ứng dụng của IoU vô Non-max suppression

Trong tình huống có tương đối nhiều khuông số lượng giới hạn mang đến và một thực thể, tất cả chúng ta rất có thể vô hiệu hóa những khuông quá với thuật toán Non-max suppression (NMS).

Image for post

Giả sử tất cả chúng ta sở hữu một tụ họp những khuông số lượng giới hạn và điểm của từng khuông, tớ rất có thể vận dụng IoU nhằm lôi ra khuông rất tốt và vô hiệu hóa những khuông trùng lặp không giống.

Chúng tớ chính thức với A là tụ họp bao gồm toàn bộ những khuông số lượng giới hạn và B là 1 trong những tập luyện trống rỗng.

  1. Lấy đi ra khuông sở hữu điểm tối đa và gửi kể từ A sang B.
  2. Xóa khuông bại liệt ngoài A.
  3. Tính IoU của khuông bại liệt với toàn bộ những khuông không giống, vô hiệu hóa không còn những khuông sở hữu IoU vượt lên trước ngưỡng.
  4. Lặp lại bước 2 và 3 cho tới khi A trống rỗng.

Nếu các bạn quí nội dung bài viết này, chớ quan ngại share với những người dân quan hoài. Hãy thông thường xuyên truy vấn trang web hoặc nhập cuộc xã hội bên trên những trang social để sở hữu những vấn đề sâu sát về lĩnh vực!

Xem thêm: bài tập 12 thì trong tiếng anh