mobileNet/README.md
2025-08-11 17:49:30 +08:00

2.2 KiB
Raw Permalink Blame History

图像分类器项目

本项目包含多种基于MobileNet特征提取的图像分类器实现包括三层神经网络、随机森林和KNN算法。

模型对比

模型 算法类型 特点 适用场景
三层神经网络 深度学习 自定义全连接网络,支持训练监控、早停、正则化 需要高精度、可解释性强的场景
随机森林 集成学习 多决策树投票,参数直观可调 中等规模数据集,需要模型解释性
KNN (原版) 实例学习 简单实现,预测结果平滑处理 快速原型开发,小规模数据
KNN (完善版) 实例学习 增强阈值控制,支持单类别检测 异常检测、单类别分类场景

详细说明

三层神经网络分类器

  • 使用MobileNet进行特征提取
  • 自定义三层全连接网络进行分类
  • 功能特点:
    • 训练过程可视化(损失/准确率曲线)
    • 支持早停、正则化等技巧
    • 模型保存/加载功能
    • 温度缩放调整预测置信度

随机森林分类器

  • 使用MobileNet特征作为输入
  • 构建多个决策树进行集成分类
  • 可调参数:
    • 决策树数量默认10棵
    • 训练集子集比例默认70%
  • 特点:
    • 训练速度快
    • 提供ImageNet标签显示功能

KNN分类器原版

  • 基于MobileNet特征的K最近邻算法
  • 特点:
    • 实现简单
    • 低通滤波器平滑预测结果
    • 支持模型保存/加载

KNN分类器完善版

在原版基础上增强:

  • 距离阈值控制
  • 自适应阈值计算
  • 改进的单类别检测
  • 更详细的训练反馈

使用指南

  1. 选择分类器类型
  2. 上传各类别训练图片
  3. 调整模型参数(如适用)
  4. 点击"训练模型"按钮
  5. 使用摄像头或上传图片进行预测

技术实现

所有分类器均基于以下技术:

  • 特征提取MobileNet (TensorFlow.js)
  • 前端框架纯JavaScript实现
  • 数据存储浏览器本地存储IndexedDB

开发建议

  • 对于高精度需求:使用三层神经网络
  • 对于可解释性需求:使用随机森林
  • 对于快速原型开发使用KNN
  • 对于异常检测使用完善版KNN ·