You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio开发TensorFlow Lite目标检测APP仅显示置信度的实现

解决方法:仅展示检测置信度

根据你的代码,只需调整两处展示逻辑就能实现只显示置信度的需求,分两种常见场景给出修改方案:

场景1:只展示最高置信度(仅显示最匹配结果的置信度)

把原代码中显示类别名称的代码替换为显示最高置信度,同时去掉带类别名的多结果展示:

修改后的核心代码片段:

float[] confidences = outputFeature0.getFloatArray();
int maxPos=0;
float maxConfidence=0;
for(int i=0;i<confidences.length;i++){
    if(confidences[i]>maxConfidence){
        maxConfidence=confidences[i];
        maxPos=i;
    }
}
// 替换原类别显示代码,只展示最高置信度
result.setText(String.format("最高置信度:%.1f%%", maxConfidence * 100));

// 注释或删除原多类别置信度展示代码
// String s = "";
// for(int i=0;i<classes.length;i++){
//     s+=String.format("%s:%.1f%%\n",classes[i],confidences[i]*100);
// }
// confidence.setText(s);

场景2:展示所有置信度但去掉类别名称(仅列出所有结果的百分比)

保留多结果展示,但去掉类别名称,只显示置信度数值:

修改后的核心代码片段:

float[] confidences = outputFeature0.getFloatArray();
int maxPos=0;
float maxConfidence=0;
for(int i=0;i<confidences.length;i++){
    if(confidences[i]>maxConfidence){
        maxConfidence=confidences[i];
        maxPos=i;
    }
}
// 注释或删除显示类别名称的代码
// result.setText(classes[maxPos]);

// 修改格式化规则,去掉类别名
String s = "";
for(int i=0;i<confidences.length;i++){
    // 可选添加序号区分不同结果,不需要序号可直接保留百分比
    s+=String.format("置信度%d:%.1f%%\n", i+1, confidences[i]*100);
    // 无序号版本:s+=String.format("%.1f%%\n", confidences[i]*100);
}
confidence.setText(s);

关键修改点说明

  • 删掉或注释result.setText(classes[maxPos]);:这行负责显示类别名称,不需要则直接移除
  • 调整String.format的格式化规则:原规则%s:%.1f%%中的%s对应类别名称,删除该部分即可只显示置信度百分比

内容的提问来源于stack exchange,提问作者noobprogrammer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:20:56