這一篇均是在上一篇的基礎(chǔ)上實(shí)現(xiàn)的缸浦,在上一篇寫了如何批量測試VOT數(shù)據(jù)集及保存跟蹤結(jié)果。并進(jìn)行了簡單的CLE繪制,這一篇總結(jié)一下常用的跟蹤評價(jià)標(biāo)準(zhǔn)及其實(shí)現(xiàn)竿奏。
在此之前,已經(jīng)得到了每一個(gè)視頻序列的groundtruth和跟蹤的結(jié)果腥放,保存的格式如下:(groundtruth和跟蹤結(jié)果都是以這個(gè)格式保存在txt之中的)
1. 中心位置誤差(CLE)
這個(gè)上一篇已經(jīng)講過了泛啸,這里再重復(fù)一下它的概念,因?yàn)橄旅孢€有幾個(gè)評價(jià)標(biāo)準(zhǔn)是以此為基礎(chǔ)的秃症。
CLE計(jì)算的是跟蹤框中心位置的歐式距離候址,假設(shè)某一幀吕粹,groundtruth標(biāo)注的中心位置為,跟蹤結(jié)果的中心位置為
,這個(gè)位置需要通過簡單的轉(zhuǎn)換得來:
中心位置的誤差則為:
2. 區(qū)域重疊度。
在真正的跟蹤過程中岗仑,因?yàn)橛谐叨茸兓嬖谄ジ瑔渭兊腃LE并不能全面衡量跟蹤算法的性能,所以區(qū)域重疊度可以作為一個(gè)重要的輔助標(biāo)準(zhǔn)赔蒲。
所謂區(qū)域重疊度就是標(biāo)注的跟蹤框和跟蹤的跟蹤框之間的重疊程度泌神,顯而易見需要尋找一種相對的衡量標(biāo)準(zhǔn),如果用重疊面積這種絕對的衡量標(biāo)準(zhǔn)是不合適的舞虱。
這里欢际,用的是交并比(Intersection-over-Union,IOU)矾兜,這個(gè)標(biāo)準(zhǔn)在目標(biāo)檢測中也用的比較多损趋。
如圖,交并比即交集的面積比上并集的面積椅寺。
這樣的話浑槽,就是一個(gè)相對值,比較能客觀的展示兩個(gè)矩形的重疊成都返帕。
實(shí)現(xiàn)起來也不算難桐玻,我也是參考了別人的一些思路,有很多種方法荆萤,但是我覺得這種方法是比較簡單而且易于理解的镊靴。
首先來分析兩個(gè)矩形相交的情況。
大概是這些情況链韭,總結(jié)交集的狀態(tài)可以發(fā)現(xiàn)這么一個(gè)規(guī)律:
- 交集的
上邊(上面的一條邊偏竟,下面的以此類推)
是兩個(gè)矩形上邊
靠下的那個(gè)。- 交集的
左邊
是兩個(gè)矩形左邊
靠右的那個(gè)敞峭。- 交集的
右邊
是兩個(gè)矩形右邊
靠左的那個(gè)踊谋。- 交集的
右邊
是兩個(gè)矩形右邊
靠左的那個(gè)。
這個(gè)規(guī)律是可以通過左邊之間的轉(zhuǎn)換來表現(xiàn)旋讹。
那么要是不相交呢殖蚕?如果不相交的話,那么依照上面的規(guī)律得到的就不是矩形骗村,上邊
跑到了下邊
的下面或者左邊
跑到了右邊
的右邊嫌褪。
這樣的話思路就很清晰了,代碼如下:
我也不是故意要寫中文注釋胚股,虛擬機(jī)的中文輸入法好像崩掉了!裙秋!
#calculate IOU,rect1 and rect2 are rectangles(x,y,width,height)
def calculateIOU(rect1,rect2):
#calculate the area
area1=rect1[2]*rect1[3]
area2=rect2[2]*rect2[3]
#calculate the sum area
area=area1+area2
#calculate the edge line of every rect
top1=rect1[1]
left1=rect1[0]
bottom1=rect1[1]+rect1[3]
right1=rect1[0]+rect1[2]
top2=rect2[1]
left2=rect2[0]
bottom2=rect2[1]+rect2[3]
right2=rect2[0]+rect2[2]
#calculate the intersect rectangle
top=max(top1,top2)
left=max(left1,left2)
bottom=min(bottom1,bottom2)
right=min(right1,right2)
#if no intersect
if top>=bottom or right<=left:
return 0
else:
intersectArea=(bottom-top)*(right-left)
return intersectArea/(area-intersectArea)
計(jì)算完了再畫圖就比較簡單了琅拌,一幀一幀計(jì)算然后放入列表之中缨伊,再使用plt.plot()
來畫圖就可以了,看一套效果還不錯(cuò)的圖:(其實(shí)在數(shù)據(jù)集上整體的效果是非常一般的进宝,數(shù)據(jù)集上的整體ACU(這個(gè)參數(shù)我現(xiàn)在還不知道什么東西刻坊,應(yīng)該是平均準(zhǔn)確率的意思吧!)才0.5左右)
未完待續(xù)5辰谭胚!