計算機視覺目標檢測性能指標

目錄

精確率(Precision)和召回率(Recall)

F1分數(F1 Score)

IoU(Intersection over Union)

P-R曲線(Precision-Recall Curve)和 AP

mAP(mean Average Precision)


目標檢測是計算機視覺領域中的一個重要任務,其目標是在圖像或視頻中識別出物體的位置和類別。為了評估目標檢測算法的性能,需要使用一系列指標來量化模型的準確性、召回率、精確率以及對不同類別的處理能力。本文將詳細介紹常見的目標檢測性能指標,包括精確率、召回率、F1分數、IoU、AP、mAP、P-R曲線等,同時提供相關公式和案例。

精確率(Precision)和召回率(Recall)

精確率和召回率是評估目標檢測模型性能的重要指標,它們通常在二分類任務中使用。在目標檢測中,精確率表示模型正確識別出的目標數與所有被模型預測為目標的框的數量之間的比例。召回率表示模型正確識別出的目標數與總目標數之間的比例。

?

公式如下:

準確率(Accuracy):Acc?= ( TP + TN ) / ( P +N )

精確率( precision ):TP / ( TP+FP ) = TP / P ?

召回率(recall)):TP / (TP + FN ) = TP / T

案例: 假設我們有一個目標檢測模型在一組圖像上進行測試,其中涉及10個目標物體。模型識別出了8個目標,其中6個是真實目標(真陽性),2個是錯誤識別的(假陽性),而實際上還有2個目標未被識別(假陰性)。那么,精確率為6 / (6 + 2) = 0.75,召回率為6 / (6 + 2) = 0.75。

F1分數(F1 Score)

F1分數是精確率和召回率的調和平均,用于綜合考慮模型的準確率和召回率。F1分數對于處理不平衡數據集或需要權衡精確率和召回率的情況非常有用。

公式如下:

?

案例: 假設一個目標檢測模型的精確率為0.8,召回率為0.7。那么,F1分數為2 * (0.8 * 0.7) / (0.8 + 0.7) = 0.7619。

IoU(Intersection over Union)

IoU是衡量預測邊界框和真實邊界框之間重疊程度的指標,常用于評估目標檢測框的質量。IoU通過計算預測框和真實框的交集面積除以它們的并集面積來衡量。

公式如下:

通常,如果IoU大于某個閾值(例如0.5),則將預測框視為正確預測。

案例: 考慮一個目標檢測任務,真實框的位置為[20, 30, 100, 150],預測框的位置為[25, 35, 95, 145]。交集面積為(95 - 25) * (145 - 35) = 6000,真實框面積為(100 - 20) * (150 - 30) = 9000,預測框面積為(95 - 25) * (145 - 35) = 6000。并集面積為9000 + 6000 - 6000 = 9000。因此,IoU為6000 / 9000 = 0.6667。

P-R曲線(Precision-Recall Curve)和 AP

PR 曲線是用于衡量模型在不同召回率下的準確性的一種圖形化表示方式。在目標檢測中,召回率是指正確檢測出的正樣本數量與所有實際正樣本數量的比率,而精確率是指正確檢測出的正樣本數量與所有被模型預測為正樣本的樣本數量的比率。

用一個簡單的例子來演示平均精度(AP)的計算。假設數據集中總共有5個蘋果。我們收集模型為蘋果作的所有預測,并根據預測的置信水平(從最高到最低)對其進行排名。第二列表示預測是否正確。如果它與ground truth匹配并且loU≥0.5,則是正確的。

?

表中,Rank一列表示框按置信度由高到低排列后的序號,correct表示該框是否正確,Precision表示計算出的精確率,Recall表示計算出的召回率。

精確率和召回率的計算是一個不斷累計的過程,而不是每個框獨立的。

例如:

在第一個框時,精確率 = 1/1 =1.0,召回率 =1/5 = 0.2;

在第二個框時,精確率 = 2/2 = 1.0,召回率 = 2/5 = 0.4;

在第三個框時,精確率 = 2/3 = 0.67,召回率 = 2/5 = 0.4;

……
這時,我們根據精確率和召回率,就能繪制出PR曲線:

?

AP是PR曲線下的面積,會設定采樣點,一般在橫軸0~1范圍內平均分為10或者100段,最后采樣的值相加除以采樣點數。當然還有別的方法。

mAP(mean Average Precision)

mAP是所有類別AP的平均值,通常用于衡量多類別目標檢測任務的整體性能。它對模型在各個類別上的性能進行綜合評估,能夠準確反映模型在不同類別上的表現。

案例: 假設我們有一個多類別目標檢測模型,對于每個類別計算得到的AP如下:

類別AP
0.85
0.75
車輛0.90
行人0.70

則mAP為(0.85 + 0.75 + 0.90 + 0.70) / 4 = 0.80。

目標檢測性能指標在評估模型在不同數據集和任務上的性能時起著重要作用。精確率、召回率、F1分數、IoU、AP、mAP以及P-R曲線等指標能夠綜合考慮模型在不同方面的表現,幫助我們更好地理解模型的優勢和局限性。在實際應用中,根據任務的特點和需求,選擇適合的指標來評估模型的性能是至關重要的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/39576.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/39576.shtml
英文地址,請注明出處:http://en.pswp.cn/news/39576.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Leetcode-每日一題【劍指 Offer 30. 包含min函數的棧】

題目 定義棧的數據結構,請在該類型中實現一個能夠得到棧的最小元素的 min 函數在該棧中,調用 min、push 及 pop 的時間復雜度都是 O(1)。 示例: MinStack minStack new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack…

【mysql】事務的四種特性的理解

🌇個人主頁:平凡的小蘇 📚學習格言:命運給你一個低的起點,是想看你精彩的翻盤,而不是讓你自甘墮落,腳下的路雖然難走,但我還能走,比起向陽而生,我更想嘗試逆風…

TOMCAT基礎

tomcat是一個基于Java開發的,開放源代碼的web應用服務器。它可以解析html頁面中的java代碼,執行動態請求,實現動態頁面。核心功能是將收到的http請求處理并轉發給適當的servlet來處理,然后將響應返回給客戶端。 優點 1&#xff0c…

Django實現音樂網站 ⑼

使用Python Django框架制作一個音樂網站, 本篇主要是后臺對專輯、首頁輪播圖原有功能的基礎上進行部分功能實現和顯示優化。 目錄 專輯功能優化 新增編輯 專輯語種改為下拉選項 添加單曲優化顯示 新增單曲多選 更新歌手專輯數、專輯單曲數 獲取歌手專輯數 保…

【并發編程】自研數據同步工具的優化:創建線程池多線程異步去分頁調用其他服務接口獲取海量數據

文章目錄 場景:解決方案 場景: 前段時間在做一個數據同步工具,其中一個服務的任務是調用A服務的接口,將數據庫中指定數據請求過來,交給kafka去判斷哪些數據是需要新增,哪些數據是需要修改的。 剛開始的設…

Character Animation With Direct3D 讀書筆記

角色動畫簡介 2D動畫:循環播放多張圖片 3D動畫: 骨骼動畫、變形動畫 DirectX入門 Win32 應用程序 Application類:處理主程序循環,圖形設備的初始化 Init:加載資源并創建圖形設備Update:更新游戲世界&am…

Vue中子組件修改父組件傳來的Prop值

vue中子組件不能直接修改父組件傳來的prop值,Prop 是一種傳遞數據的機制,父組件通過 Prop 向子組件傳遞數據,子組件通過 Props 接收父組件傳遞過來的數據,這些數據被封裝成一個個解構體形式的對象,不能直接進行修改。這…

React 18 更新 state 中的對象

參考文章 更新 state 中的對象 state 中可以保存任意類型的 JavaScript 值,包括對象。但是,不應該直接修改存放在 React state 中的對象。相反,當想要更新一個對象時,需要創建一個新的對象(或者將其拷貝一份&#xf…

圖像去雨、去雪、去霧論文學習記錄

All_in_One_Bad_Weather_Removal_Using_Architectural_Search 這篇論文發表于CVPR2020,提出一種可以應對多種惡劣天氣的去噪模型,可以同時進行去雨、去雪、去霧操作。但該部分代碼似乎沒有開源。 提出的問題: 當下的模型只能針對一種惡劣天氣…

【ARM 嵌入式 編譯系列 4.1 -- GCC 編譯屬性 likely與unlikely 學習】

文章目錄 GCC likely與unlikely 介紹linux 內核中的 likely/unlikely上篇文章:ARM 嵌入式 編譯系列 4 – GCC 編譯屬性 __read_mostly 介紹 下篇文章: ARM 嵌入式 編譯系列 4.2 – GCC 鏈接規范 extern “C“ 介紹 GCC likely與unlikely 介紹 likely 和 unlikely 是GCC編譯器…

JDBC連接數據庫(mysql)

準備jar包 官網下載即可,這里提供兩個我下載過的jar包,供使用 鏈接:https://pan.baidu.com/s/1snikBD1kEBaaJnVktLvMdQ?pwdrwwq 提取碼:rwwq eclipse導 jar包: 導入成功會有如下所示: ---------------------------…

個人開發中常見單詞拼錯錯誤糾正

個人開發中常見單詞拼錯錯誤糾正 前置說明參考地址后端開發相關前端開發相關客戶端開發相關大數據/云計算相關工具或軟件相關 前置說明 單詞太多啦, 我這里只列表我個人見得比較多的, 我沒見過就不列舉了. 有錯誤或想補充的可以提交在原倉庫提交Pull Request. 😁 …

JavaScript面試題(二)

31、http 的理解 ? HTTP 協議是超文本傳輸協議,是客戶端瀏覽器或其他程序“請求”與 Web 服務器響應之間的應用層通信協議。HTTPS主要是由HTTPSSL構建的可進行加密傳輸、身份認證的一種安全通信通道。 32、http 和 https 的區別 ? 1、https協議需要到ca申請證書…

基于DEM tif影像的插值平滑和tif紋理貼圖構建方法

文章目錄 基于CDT的無縫融合基于拓撲糾正的地上-地表的Bool運算融合 基于CDT的無縫融合 準備數據是一個10米分辨率的Tif影像,直接用于生成DEM會十分的不平滑。如下圖所示,平滑前后的對比效果圖差異: 基于ArcGIS的DEM平滑插值 等值線生成&…

Oracle增加列

在Oracle數據庫中,使用ALTER TABLE語句可以很方便地為表增加新列。在進行操作時,需要謹慎考慮新列的數據類型、名稱、默認值、約束等因素,以確保操作的安全性和可靠性。同時,也需要注意備份數據、避免在高峰期進行操作等注意事項 …

GPT內功心法:搜索思維到GPT思維的轉換

大家好,我是herosunly。985院校碩士畢業,現擔任算法研究員一職,熱衷于機器學習算法研究與應用。曾獲得阿里云天池比賽第一名,CCF比賽第二名,科大訊飛比賽第三名。擁有多項發明專利。對機器學習和深度學習擁有自己獨到的見解。曾經輔導過若干個非計算機專業的學生進入到算法…

Linux6.38 Kubernetes 集群存儲

文章目錄 計算機系統5G云計算第三章 LINUX Kubernetes 集群存儲一、emptyDir存儲卷2.hostPath存儲卷3.nfs共享存儲卷4.PVC 和 PV 計算機系統 5G云計算 第三章 LINUX Kubernetes 集群存儲 容器磁盤上的文件的生命周期是短暫的,這就使得在容器中運行重要應用時會出…

編寫 loading、加密解密 發布NPM依賴包,并實施落地使用

你的 Loading 開箱即可用的 loading, 說明:vue3-loading 是一個方便在 Vue 3 項目中使用的加載指示器組件的 npm 插件。它允許您輕松地在項目中添加加載動畫,提升用戶體驗。 目錄 你的 Loading🌍 安裝🛹 演示地址&…

C# WPF 無焦點自動獲取USB 二維碼掃碼槍內容,包含中文

C# WPF 無焦點自動獲取USB 二維碼掃碼槍內容,包含中文 前言項目背景 需要預知的知識實現方案第一步 安裝鍵盤鉤子第二步 獲取輸入的值第3 步 解決中文亂碼問題分析解決思路工具函數 結束 前言 USB接口的掃碼槍基本就相當于一個電腦外設,等同于一個快速輸…

Oracle Data Redaction與Data Pump

如果表定義了Redaction Policy,導出時數據會脫敏嗎?本文解答這個問題。 按照Oracle文檔Advanced Security Guide第13章,13.6.5的Tutorial,假設表HR.jobs定義了Redaction Policy。 假設HR用戶被授予了訪問目錄對象的權限&#xf…