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

Flutter集成Tflite与Teachable Machine非花卉对象识别提示方案咨询

可行实现方案
  • 置信度阈值过滤(无需修改模型,实现成本最低)
    你当前训练的花卉品类识别模型,在识别非花卉对象时,输出的最高置信度会远低于匹配到已知花卉品类时的置信度。你可以设置一个合理的置信度阈值(建议初始设为65%~75%,可根据实际识别效果调整),如果推理返回的最高置信度低于阈值,直接判定为非花卉对象,触发对应弹窗即可。
  • 双层分类器架构
    额外训练一个轻量的二分类TFLite模型,仅负责判断输入内容是否属于花卉范畴,只有当二分类模型判定为花卉的输入,才送入你现有的花卉品类识别模型做细分品类判断。这个方案准确率高于单纯的阈值过滤,也不需要改动你已经训练好的花卉品类识别模型。
  • 标签白名单+阈值组合校验
    维护一份合法花卉标签的白名单,推理结果返回后,先校验返回的标签是否在白名单内,同时搭配置信度阈值做双重校验,任意一项不满足就判定为非花卉。这个方案适合后续你新增识别品类时同步更新白名单即可,容错率更高。
适配现有代码的修改示例

你可以在图像分类的结果处理逻辑中新增如下判断,这里给出核心修改代码:

// 补全你的classifyImage方法逻辑,新增非花卉判断
classifyImage(File image) async {
  setState(() {
    detecting = true;
  });
  // 运行模型推理,设置基础阈值为0,后续自行做逻辑判断
  var inferenceOutput = await Tflite.runModelOnImage(
    path: image.path,
    numResults: 1,
    threshold: 0,
  );
  setState(() {
    detecting = false;
    output = inferenceOutput;
  });
  // 非花卉判定逻辑
  if (inferenceOutput != null && inferenceOutput.isNotEmpty) {
    double maxConfidence = inferenceOutput[0]['confidence'];
    // 可根据实际测试调整阈值
    const double judgeThreshold = 0.7;
    if (maxConfidence < judgeThreshold) {
      // 弹出非花卉提示
      showDialog(
        context: context,
        builder: (BuildContext context) => AlertDialog(
          title: const Text("提示"),
          content: const Text("这不是花卉"),
          actions: <Widget>[
            TextButton(
              onPressed: () => Navigator.of(context).pop(),
              child: const Text("知道了"),
            ),
          ],
        ),
      );
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:39:01