最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

超全!2D單目標跟蹤常用評價指標及完整代碼

2023-10-02 22:16 作者:3D視覺工坊  | 我要投稿

作者:大森林 | 來源:3D視覺工坊
在公眾號「3D視覺工坊」后臺,回復「原論文」即可獲取論文pdf和代碼鏈接。
添加微信:dddvisiona,備注:3D點云,拉你入群。文末附行業(yè)細分群。

2D單目標跟蹤評價指標:

  • APE(Average Pixel Error):平均像素誤差,一般指預測框與真實框中心位置的像素距離取幀平均。用來判斷兩個矩形框的靠近程度。該值越小,說明誤差越小。

  • AOR(Average Overlap Rate):平均重疊率,即兩個矩形框交集的面積與并集的面積之比取幀平均。用來判斷兩個矩形框的重疊程度。值越高則重疊程度越高,即兩個框越靠近,跟蹤精度越高。

  • Pixel Error threshold:需要人為設定的像素誤差的閾值,Pixel Error低于該閾值的矩形框被認為是命中目標,反之則被認為未命中。用來作為區(qū)分矩形框是否命中目標的指標,閾值越小則要求矩形框與真值像素誤差越小。

  • Overlap Rate threshold:需要人為設定的重疊率的閾值,重疊率高于該閾值的矩形框被認為是命中目標,反之則被認為未命中。用來作為區(qū)分矩形框是否命中目標的指標,閾值越高則要求矩形框與真值重疊程度越高。

  • Success plot:序列中跟蹤成功的幀數(shù)占總幀數(shù)的比例定義為跟蹤成功率,選取不同的閾值,則可以得到各閾值下的成功率,連接各點形成success曲線。根據(jù)曲線下的面積來衡量tracker的跟蹤精確度。

  • TRE(Temporal Robustness Evaluation):時間魯棒性評估。從整個序列中截取若干段(可以重復),每段的初始幀利用ground truth進行初始化,在每一段上分別運行跟蹤算法,對每一段分別進行評估,最后對總體信息進行統(tǒng)計。

  • SRE(Spatial Robustness Evaluation):空間魯棒性評估。對起始幀的ground truth進行shift或scale操作形成若干段測試序列,在每一段上分別運行跟蹤算法,對每一段分別進行評估,最后對總體信息進行統(tǒng)計。

  • EAO(Expect Average Overlaprate)圖:以AOR作為精度的衡量標準,以跟蹤算法跟丟目標的次數(shù)作為魯棒性的衡量標準。在一張圖中同時反映精度和魯棒性。越靠近坐標軸右上角,即AOR趨于1,SF趨于0,說明該算法精度和魯棒性越好。

這里分別展示了APE、AOR、Pixel Error threshold、Overlap Rate threshold、Success plot、TRE、SRE和EAO八種指標的計算代碼。

#?APE(Average?Pixel?Error):平均像素誤差,一般指預測框與真實框中心位置的像素距離取幀平均。#?假設preds和gts是兩個列表,分別存儲預測框和真實框的中心坐標,如[(x1,?y1),?(x2,?y2),?...]#?假設n是幀數(shù)def?APE(preds,?gts,?n):????#?初始化總誤差為0????total_error?=?0????#?遍歷每一幀????for?i?in?range(n):????????#?計算預測框和真實框中心坐標的歐式距離????????error?=?((preds[i][0]?-?gts[i][0])?**?2?+?(preds[i][1]?-?gts[i][1])?**?2)?**?0.5????????#?累加誤差????????total_error?+=?error????#?返回平均誤差????return?total_error?/?n#?AOR(Average?Overlap?Rate):平均重疊率,即兩個矩形框交集的面積與并集的面積之比取幀平均。#?假設preds和gts是兩個列表,分別存儲預測框和真實框的左上角和右下角坐標,如[(x1,?y1,?x2,?y2),?...]#?假設n是幀數(shù)def?AOR(preds,?gts,?n):????#?初始化總重疊率為0????total_overlap?=?0????#?遍歷每一幀????for?i?in?range(n):????????#?計算預測框和真實框的交集面積????????inter_area?=?max(0,?min(preds[i][2],?gts[i][2])?-?max(preds[i][0],?gts[i][0]))?*?max(0,?min(preds[i][3],?gts[i][3])?-?max(preds[i][1],?gts[i][1]))????????#?計算預測框和真實框的并集面積????????union_area?=?(preds[i][2]?-?preds[i][0])?*?(preds[i][3]?-?preds[i][1])?+?(gts[i][2]?-?gts[i][0])?*?(gts[i][3]?-?gts[i][1])?-?inter_area????????#?計算重疊率????????overlap?=?inter_area?/?union_area????????#?累加重疊率????????total_overlap?+=?overlap????#?返回平均重疊率????return?total_overlap?/?n#?Pixel?Error?threshold:需要人為設定的像素誤差的閾值,Pixel?Error低于該閾值的矩形框被認為是命中目標,反之則被認為未命中。#?假設preds和gts是兩個列表,分別存儲預測框和真實框的中心坐標,如[(x1,?y1),?(x2,?y2),?...]#?假設n是幀數(shù),t是閾值def?Pixel_Error_threshold(preds,?gts,?n,?t):????#?初始化命中數(shù)為0????hit_count?=?0????#?遍歷每一幀????for?i?in?range(n):????????#?計算預測框和真實框中心坐標的歐式距離????????error?=?((preds[i][0]?-?gts[i][0])?**?2?+?(preds[i][1]?-?gts[i][1])?**?2)?**?0.5????????#?如果誤差小于閾值,認為命中目標????????if?error?<?t:????????????hit_count?+=?1????#?返回命中率????return?hit_count?/?n#?Overlap?Rate?threshold:需要人為設定的重疊率的閾值,重疊率高于該閾值的矩形框被認為是命中目標,反之則被認為未命中。#?假設preds和gts是兩個列表,分別存儲預測框和真實框的左上角和右下角坐標,如[(x1,?y1,?x2,?y2),?...]#?假設n是幀數(shù),t是閾值def?Overlap_Rate_threshold(preds,?gts,?n,?t):????#?初始化命中數(shù)為0????hit_count?=?0????#?遍歷每一幀????for?i?in?range(n):????????#?計算預測框和真實框的交集面積????????inter_area?=?max(0,?min(preds[i][2],?gts[i][2])?-?max(preds[i][0],?gts[i][0]))?*?max(0,?min(preds[i][3],?gts[i][3])?-?max(preds[i][1],?gts[i][1]))????????#?計算預測框和真實框的并集面積????????union_area?=?(preds[i][2]?-?preds[i][0])?*?(preds[i][3]?-?preds[i][1])?+?(gts[i][2]?-?gts[i][0])?*?(gts[i][3]?-?gts[i][1])?-?inter_area????????#?計算重疊率????????overlap?=?inter_area?/?union_area????????#?如果重疊率大于閾值,認為命中目標????????if?overlap?>?t:????????????hit_count?+=?1????#?返回命中率????return?hit_count?/?n#?Success?plot:序列中跟蹤成功的幀數(shù)占總幀數(shù)的比例定義為跟蹤成功率,選取不同的閾值,則可以得到各閾值下的成功率,連接各點形成success曲線。#?假設preds和gts是兩個列表,分別存儲預測框和真實框的左上角和右下角坐標,如[(x1,?y1,?x2,?y2),?...]#?假設n是幀數(shù),m是閾值個數(shù),thresholds是一個列表,存儲m個閾值def?Success_plot(preds,?gts,?n,?m,?thresholds):????#?初始化一個列表,存儲各閾值下的成功率????success_rates?=?[]????#?遍歷每個閾值????for?t?in?thresholds:????????#?初始化命中數(shù)為0????????hit_count?=?0????????#?遍歷每一幀????????for?i?in?range(n):????????????#?計算預測框和真實框的交集面積????????????inter_area?=?max(0,?min(preds[i][2],?gts[i][2])?-?max(preds[i][0],?gts[i][0]))?*?max(0,?min(preds[i][3],?gts[i][3])?-?max(preds[i][1],?gts[i][1]))????????????#?計算預測框和真實框的并集面積????????????union_area?=?(preds[i][2]?-?preds[i][0])?*?(preds[i][3]?-?preds[i][1])?+?(gts[i][2]?-?gts[i][0])?*?(gts[i][3]?-?gts[i][1])?-?inter_area????????????#?計算重疊率????????????overlap?=?inter_area?/?union_area????????????#?如果重疊率大于閾值,認為命中目標????????????if?overlap?>?t:????????????????hit_count?+=?1????????#?計算并存儲當前閾值下的成功率????????success_rate?=?hit_count?/?n????????success_rates.append(success_rate)????#?返回一個列表,表示success曲線上的點坐標(thresholds,?success_rates)????return?list(zip(thresholds,?success_rates))#?TRE(Temporal?Robustness?Evaluation):時間魯棒性評估。從整個序列中截取若干段(可以重復),每段的初始幀利用ground?truth進行初始化,在每一段上分別運行跟蹤算法,對每一段分別進行評估,最后對總體信息進行統(tǒng)計。#?假設preds和gts是兩個列表,分別存儲預測框和真實框的左上角和右下角坐標,如[(x1,?y1,?x2,?y2),?...]#?假設n是幀數(shù),m是截取段數(shù),segments是一個列表,存儲m個截取段的起始幀和結(jié)束幀,如[(s1,?e1),?(s2,?e2),?...]def?TRE(preds,?gts,?n,?m,?segments):????#?初始化一個列表,存儲各段的平均重疊率????overlap_rates?=?[]????#?遍歷每個截取段????for?s,?e?in?segments:????????#?初始化該段的總重疊率為0????????total_overlap?=?0????????#?遍歷該段的每一幀????????for?i?in?range(s,?e?+?1):????????????#?計算預測框和真實框的交集面積????????????inter_area?=?max(0,?min(preds[i][2],?gts[i][2])?-?max(preds[i][0],?gts[i][0]))?*?max(0,?min(preds[i][3],?gts[i][3])?-?max(preds[i][1],?gts[i][1]))????????????#?計算預測框和真實框的并集面積????????????union_area?=?(preds[i][2]?-?preds[i][0])?*?(preds[i][3]?-?preds[i][1])?+?(gts[i][2]?-?gts[i][0])?*?(gts[i][3]?-?gts[i][1])?-?inter_area????????????#?計算重疊率????????????overlap?=?inter_area?/?union_area????????????#?累加重疊率????????????total_overlap?+=?overlap????????#?計算并存儲該段的平均重疊率????????overlap_rate?=?total_overlap?/?(e?-?s?+?1)????????overlap_rates.append(overlap_rate)????#?返回一個列表,表示TRE曲線上的點坐標(segments,?overlap_rates)????return?list(zip(segments,?overlap_rates))#?SRE(Spatial?Robustness?Evaluation):空間魯棒性評估。對起始幀的ground?truth進行shift或scale操作形成若干段測試序列,在每一段上分別運行跟蹤算法,對每一段分別進行評估,最后對總體信息進行統(tǒng)計。#?假設preds和gts是兩個列表,分別存儲預測框和真實框的左上角和右下角坐標,如[(x1,?y1,?x2,?y2),?...]#?假設n是幀數(shù),m是測試序列數(shù),sequences是一個列表,存儲m個測試序列的起始幀ground?truth變化情況,如[("shift",?dx1,?dy1),?("scale",?r1),?...]def?SRE(preds,?gts,?n,?m,?sequences):????#?初始化一個列表,存儲各序列的平均重疊率????overlap_rates?=?[]????#?遍歷每個測試序列????for?seq?in?sequences:????????#?初始化該序列的總重疊率為0????????total_overlap?=?0????????#?判斷該序列是shift還是scale操作????????if?seq[0]?==?"shift":????????????#?獲取平移量dx和dy????????????dx,?dy?=?seq[1],?seq[2]????????????#?對起始幀的ground?truth進行平移操作????????????gts[0]?=?(gts[0][0]?+?dx,?gts[0][1]?+?dy,?gts[0][2]?+?dx,?gts[0][3]?+?dy)????????elif?seq[0]?==?"scale":????????????#?獲取縮放比例r????????????r?=?seq[1]????????????#?對起始幀的ground?truth進行縮放操作????????????gts[0]?=?(gts[0][0]?*?r,?gts[0][1]?*?r,?gts[0][2]?*?r,?gts[0][3]?*?r)????????#?遍歷該序列的每一幀????????for?i?in?range(n):????????????#?計算預測框和真實框的交集面積????????????inter_area?=?max(0,?min(preds[i][2],?gts[i][2])?-?max(preds[i][0],?gts[i][0]))?*?max(0,?min(preds[i][3],?gts[i][3])?-?max(preds[i][1],?gts[i][1]))????????????#?計算預測框和真實框的并集面積????????????union_area?=?(preds[i][2]?-?preds[i][0])?*?(preds[i][3]?-?preds[i][1])?+?(gts[i][2]?-?gts[i][0])?*?(gts[i][3]?-?gts[i][1])?-?inter_area????????????#?計算重疊率????????????overlap?=?inter_area?/?union_area????????????#?累加重疊率????????????total_overlap?+=?overlap????????#?計算并存儲該序列的平均重疊率????????overlap_rate?=?total_overlap?/?n????????overlap_rates.append(overlap_rate)????#?返回一個列表,表示SRE曲線上的點坐標(sequences,?overlap_rates)????return?list(zip(sequences,?overlap_rates))#?EAO(Expect?Average?Overlaprate):期望平均重疊率,綜合考慮跟蹤精度和魯棒性,通過一種方式,在一張圖中同時反映精度和魯棒性。#?假設preds和gts是兩個列表,分別存儲預測框和真實框的左上角和右下角坐標,如[(x1,?y1,?x2,?y2),?...]#?假設n是幀數(shù),SF是跟蹤算法跟丟目標的次數(shù)def?EAO(preds,?gts,?n,?SF):????#?初始化總重疊率為0????total_overlap?=?0????#?初始化總幀數(shù)為0????total_frames?=?0????#?遍歷每一幀????for?i?in?range(n):????????#?如果該幀沒有跟丟目標,計算重疊率并累加????????if?i?not?in?SF:????????????#?計算預測框和真實框的交集面積????????????inter_area?=?max(0,?min(preds[i][2],?gts[i][2])?-?max(preds[i][0],?gts[i][0]))?*?max(0,?min(preds[i][3],?gts[i][3])?-?max(preds[i][1],?gts[i][1]))????????????#?計算預測框和真實框的并集面積????????????union_area?=?(preds[i][2]?-?preds[i][0])?*?(preds[i][3]?-?preds[i][1])?+?(gts[i][2]?-?gts[i][0])?*?(gts[i][3]?-?gts[i][1])?-?inter_area????????????#?計算重疊率????????????overlap?=?inter_area?/?union_area????????????#?累加重疊率????????????total_overlap?+=?overlap????????????#?累加幀數(shù)????????????total_frames?+=?1????#?返回期望平均重疊率,即總重疊率除以總幀數(shù)乘以(n-SF)/n,其中(n-SF)/n是沒有跟丟目標的概率????return?total_overlap?/?total_frames?*?(n?-?len(SF))?/?n
—END—

第一步 加入行業(yè)交流群,保持技術(shù)的先進性

目前工坊已經(jīng)建立了3D視覺方向多個社群,包括SLAM、工業(yè)3D視覺、自動駕駛方向,細分群包括:[工業(yè)方向]三維點云、結(jié)構(gòu)光、機械臂、缺陷檢測、三維測量、TOF、相機標定、綜合群;[SLAM方向]多傳感器融合、ORB-SLAM、激光SLAM、機器人導航、RTK|GPS|UWB等傳感器交流群、SLAM綜合討論群;[自動駕駛方向]深度估計、Transformer、毫米波|激光雷達|視覺攝像頭傳感器討論群、多傳感器標定、自動駕駛綜合群等。[三維重建方向]NeRF、colmap、OpenMVS等。除了這些,還有求職、硬件選型、視覺產(chǎn)品落地等交流群。大家可以添加小助理微信: dddvisiona,備注:加群+方向+學校|公司, 小助理會拉你入群。

第二步 加入知識星球,問題及時得到解答

3.1 「3D視覺從入門到精通」技術(shù)星球

針對3D視覺領域的視頻課程(三維重建、三維點云、結(jié)構(gòu)光、手眼標定、相機標定、激光/視覺SLAM、自動駕駛等)、源碼分享、知識點匯總、入門進階學習路線、最新paper分享、疑問解答等進行深耕,更有各類大廠的算法工程人員進行技術(shù)指導。與此同時,星球?qū)⒙?lián)合知名企業(yè)發(fā)布3D視覺相關算法開發(fā)崗位以及項目對接信息,打造成集技術(shù)與就業(yè)、項目對接為一體的鐵桿粉絲聚集區(qū),6000+星球成員為創(chuàng)造更好的AI世界共同進步,知識星球入口:「3D視覺從入門到精通」

學習3D視覺核心技術(shù),掃描查看,3天內(nèi)無條件退款

3.2 3D視覺崗求職星球

本星球:3D視覺崗求職星球?依托于公眾號「3D視覺工坊」和「計算機視覺工坊」、「3DCV」,旨在發(fā)布3D視覺項目、3D視覺產(chǎn)品、3D視覺算法招聘信息,具體內(nèi)容主要包括:


  • 收集匯總并發(fā)布3D視覺領域優(yōu)秀企業(yè)的最新招聘信息。


  • 發(fā)布項目需求,包括2D、3D視覺、深度學習、VSLAM,自動駕駛、三維重建、結(jié)構(gòu)光、機械臂位姿估計與抓取、光場重建、無人機、AR/VR等。


  • 分享3D視覺算法崗的秋招、春招準備攻略,心得體會,內(nèi)推機會、實習機會等,涉及計算機視覺、SLAM、深度學習、自動駕駛、大數(shù)據(jù)等方向。


  • 星球內(nèi)含有多家企業(yè)HR及獵頭提供就業(yè)機會。群主和嘉賓既有21屆/22屆/23屆參與招聘拿到算法offer(含有??低暋⒗?、美團、華為等大廠offer)。


  • 發(fā)布3D視覺行業(yè)新科技產(chǎn)品,觸及行業(yè)新動向。

超全!2D單目標跟蹤常用評價指標及完整代碼的評論 (共 條)

分享到微博請遵守國家法律
黔东| 沐川县| 修文县| 灵宝市| 南岸区| 钟山县| 会昌县| 吉水县| 长丰县| 商都县| 五台县| 玛沁县| 恩施市| 瑞金市| 馆陶县| 盐津县| 福安市| 基隆市| 确山县| 博野县| 璧山县| 敖汉旗| 江安县| 大庆市| 呈贡县| 锡林郭勒盟| 天气| 驻马店市| 德阳市| 手游| 高青县| 宕昌县| 德惠市| 靖边县| 黄山市| 吴堡县| 北碚区| 洛南县| 南川市| 于都县| 襄汾县|