From ed980be10438e5b10e509e72dfb45a4d26958d44 Mon Sep 17 00:00:00 2001
From: hofee <64160135+GitHofee@users.noreply.github.com>
Date: Tue, 26 Nov 2024 14:47:01 +0800
Subject: [PATCH] finish inference result analysis
---
package-lock.json | 8 +++---
.../content/cards/StatResultAnalysis.vue | 25 +++++++++++--------
.../content/cards/UploadInferenceCard.vue | 2 +-
3 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 16cc72a..7d41363 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4582,7 +4582,7 @@
},
"echarts": {
"version": "5.5.1",
- "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz",
+ "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.1.tgz",
"integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==",
"requires": {
"tslib": "2.3.0",
@@ -4591,7 +4591,7 @@
"dependencies": {
"tslib": {
"version": "2.3.0",
- "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
}
}
@@ -17581,7 +17581,7 @@
},
"zrender": {
"version": "5.6.0",
- "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz",
+ "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.0.tgz",
"integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==",
"requires": {
"tslib": "2.3.0"
@@ -17589,7 +17589,7 @@
"dependencies": {
"tslib": {
"version": "2.3.0",
- "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
}
}
diff --git a/src/components/content/cards/StatResultAnalysis.vue b/src/components/content/cards/StatResultAnalysis.vue
index 631bbf4..163735f 100644
--- a/src/components/content/cards/StatResultAnalysis.vue
+++ b/src/components/content/cards/StatResultAnalysis.vue
@@ -37,8 +37,8 @@
@@ -49,8 +49,6 @@
- Max Coverage Rate: {{ result[sceneName]
- ? (result[sceneName]["max_coverage_rate"] * 100).toFixed(2) : 0 }}%
Pred Coverage Rate: {{
result[sceneName]
@@ -119,7 +117,7 @@ export default {
if (!this.sceneName || !this.result[this.sceneName]) return;
const coverageRateSeq = this.result[this.sceneName]["coverage_rate_seq"];
- const maxCoverageRate = this.result[this.sceneName]["max_coverage_rate"];
+ const maxCoverageRate = this.result[this.sceneName]["pred_max_coverage_rate"];
const successRateSeq = coverageRateSeq.map(rate => (rate * 100 / maxCoverageRate).toFixed(2)); // 计算成功率序列
// 初始化折线图
@@ -192,8 +190,9 @@ export default {
},
drawCharts() {
// 提取成功率数据
- const successRates = Object.values(this.result).map(item => item.success_rate);
-
+ console.log("result", this.result);
+ const successRates = Object.values(this.result).map(item => item.pred_max_coverage_rate);
+
// 计算平均数
const avgSuccessRate = parseFloat((successRates.reduce((sum, rate) => sum + rate, 0) / successRates.length).toFixed(4));
console.log("avg", avgSuccessRate);
@@ -204,13 +203,17 @@ export default {
const medianSuccessRate = parseFloat((sortedRates.length % 2 !== 0 ? sortedRates[mid] : ((sortedRates[mid - 1] + sortedRates[mid]) / 2)).toFixed(4));
// 定义区间
- const intervals = ['0-10%', '10-20%', '20-30%', '30-40%', '40-50%', '50-60%', '60-70%', '70-80%', '80-90%', '90-100%', '>=100%'];
+ const intervals = ['0-10%', '10-20%', '20-30%', '30-40%', '40-50%', '50-60%', '60-70%', '70-80%', '80-90%', '90-99%', '99-100%'];
const intervalCounts = new Array(intervals.length).fill(0);
// 将成功率分类到对应的区间
successRates.forEach(rate => {
- let index = Math.min(Math.floor(rate * 10), 10); // 大于100%的情况归类为最后一项
- intervalCounts[index]++;
+ if (rate >= 0.99) {
+ intervalCounts[10]++; // 99-100%的区间
+ } else {
+ let index = Math.floor(rate * 10);
+ intervalCounts[index]++;
+ }
});
// 生成条形图数据
@@ -337,7 +340,7 @@ export default {
length: 30
},
label: {
- formatter: '{a|{a}}{abg|}\n{hr|}\n {b|{b}:}{c} {per|{d}%} ',
+ formatter: '{a|{a}}{abg|}\n{hr|}\n {b|{b}:}{c} {per|{d}%} ',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
diff --git a/src/components/content/cards/UploadInferenceCard.vue b/src/components/content/cards/UploadInferenceCard.vue
index c370260..998e52c 100644
--- a/src/components/content/cards/UploadInferenceCard.vue
+++ b/src/components/content/cards/UploadInferenceCard.vue
@@ -84,7 +84,7 @@
[{{ index }}]
frame id: {{ item['frame_id'] }}
- coverage rate: {{ (item["data"]['coverage_rate']*100).toFixed(2) }}%
+ coverage rate: {{ (item["data"]['coverage_rate']).toFixed(2) }}%