深度学习中IU、IoU(Intersection over Union)的概念理解以及python程序实现
from: 深度學(xué)習(xí)中IU、IoU(Intersection over Union)的概念理解以及python程序?qū)崿F(xiàn)
IoU(Intersection over Union)
Intersection over Union是一種測量在特定數(shù)據(jù)集中檢測相應(yīng)物體準(zhǔn)確度的一個標(biāo)準(zhǔn)。我們可以在很多物體檢測挑戰(zhàn)中,例如PASCAL VOC challenge中看多很多使用該標(biāo)準(zhǔn)的做法。
通常我們在 HOG + Linear SVM object detectors 和 Convolutional Neural Network detectors (R-CNN, Faster R-CNN, YOLO, etc.)中使用該方法檢測其性能。注意,這個測量方法和你在任務(wù)中使用的物體檢測算法沒有關(guān)系。
IoU是一個簡單的測量標(biāo)準(zhǔn),只要是在輸出中得出一個預(yù)測范圍(bounding boxex)的任務(wù)都可以用IoU來進(jìn)行測量。為了可以使IoU用于測量任意大小形狀的物體檢測,我們需要:
1、 ground-truth bounding boxes(人為在訓(xùn)練集圖像中標(biāo)出要檢測物體的大概范圍);
2、我們的算法得出的結(jié)果范圍。
也就是說,這個標(biāo)準(zhǔn)用于測量真實(shí)和預(yù)測之間的相關(guān)度,相關(guān)度越高,該值越高。
如下圖:
下圖展示了ground-truth和predicted的結(jié)果,綠色標(biāo)線是人為標(biāo)記的正確結(jié)果,紅色標(biāo)線是算法預(yù)測出來的結(jié)果,IoU要做的就是在這兩個結(jié)果中測量算法的準(zhǔn)確度。
如上圖,很簡單,IoU相當(dāng)于兩個區(qū)域重疊的部分除以兩個區(qū)域的集合部分得出的結(jié)果。
一般來說,這個score > 0.5 就可以被認(rèn)為一個不錯的結(jié)果了。
python程序?qū)崿F(xiàn)
具體實(shí)現(xiàn)過程請移步:https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/
def bb_intersection_over_union(boxA, boxB):
# determine the (x, y)-coordinates of the intersection rectangle
xA = max(boxA[0], boxB[0])
yA = max(boxA[1], boxB[1])
xB = min(boxA[2], boxB[2])
yB = min(boxA[3], boxB[3])
后記
IoU在FCN中稱為IU,初看Fully Convolutional Networks for Semantic Segmentation論文,其中的IU概念沒有能理解,其實(shí)那里的IU也就是IoU,檢測物體輪廓不一定非得是方框,也可以是沿著物體的邊線:
在實(shí)際的任務(wù)中,根據(jù)不同的任務(wù)要求來寫不同具體實(shí)現(xiàn)的檢測方法,但說白了其實(shí)都是IoU或者IU。
另外mean IU指的是不同類別識別準(zhǔn)確度的平均值,比如一幅圖中要識別三個物體,mean IU就是三個物體分別準(zhǔn)確度加起來的平均值。
參考資料:
1、https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/
2、https://stackoverflow.com/questions/25349178/calculating-percentage-of-bounding-box-overlap-for-image-detector-evaluation/42874377#42874377
3、https://stackoverflow.com/questions/25349178/calculating-percentage-of-bounding-box-overlap-for-image-detector-evaluation/42874377#42874377
Part II
AP、MAP、IOU
一張圖像的C類的P=圖像正確預(yù)測(True Positives)的數(shù)量 除以 在圖像中這一類的總目標(biāo)數(shù)量。
1 AP
C類的平均精度=在驗(yàn)證集上所有的圖像對于類C的精度值的和 除以 有類C這個目標(biāo)的所有圖像的數(shù)量。
2 MAP
MAP = 所有類別的平均精度求和 除以 所有的類別 。
3 IOU
loU(交并比)是模型所預(yù)測的檢測框和真實(shí)(ground truth)的檢測框的交集和并集之間的比例。
總結(jié)
以上是生活随笔為你收集整理的深度学习中IU、IoU(Intersection over Union)的概念理解以及python程序实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu 16.04 编译 open
- 下一篇: Postman for Linux(x8