您的智能犬种识别助手,让每一次相遇都成为了解的开始
「汪种知」是一款革新性的犬种识别应用,融合了最新的人工智能技术与直观的用户界面设计。基于 Flutter 框架开发,集成深度学习模型,支持 60 种犬种的实时识别,为爱犬人士和专业人员提供便捷、准确的犬种鉴定服务。
Flutter 跨平台开发:
科普教育
行业应用
社会价值
技术升级
功能拓展
场景延伸
基于 Flutter 框架开发的犬种识别应用,集成深度学习模型,支持 60 种犬种的实时识别。本项目作为人工智能与移动应用开发的实践项目,旨在提供一个完整的端到端解决方案。
Flutter 基础
UI 开发
状态管理
网络与数据
学员将通过实际项目练习来巩固所学知识,包括:
wangzhongzhi/
├── lib/ # Flutter应用主目录
│ ├── pages/ # 页面文件
│ └── main.dart # 应用入口文件
├── assets/ # 资源文件目录
│ └── models/ # 模型文件
│ ├── breed_zh.txt # 中文犬种名称
│ ├── breed_en.txt # 英文犬种名称
│ └── dog_breed_classifier.tflite # 转换后的模型文件
├── training/ # 模型训练相关文件
│ ├── images/ # 训练图片目录
│ │ ├── train/ # 训练集
│ │ ├── validation/ # 验证集
│ │ └── test/ # 测试集
│ ├── train.py # 训练脚本
│ └── logger_config.py # 日志配置
└── README.md # 项目说明文档
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# 安装依赖
pip install tensorflow numpy pillow
training/images/
目录下创建训练、验证和测试数据集文件夹training/images/
├── train/
│ ├── labrador_retriever/
│ ├── german_shepherd/
│ └── ...
├── validation/
│ ├── labrador_retriever/
│ ├── german_shepherd/
│ └── ...
└── test/
├── labrador_retriever/
├── german_shepherd/
└── ...
# 进入训练目录
cd training
# 运行训练脚本
python train.py
dog_breed_classifier.h5
breed_class_mapping.json
train.py
中的参数优化训练效果Found 601 images belonging to 60 classes.
Found 300 images belonging to 60 classes.
Epoch 1/10
12/18 [===================>..........] - ETA: 22s - loss: 4.1473 - accuracy: 0.0080/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/PIL/Image.py:1054: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images
warnings.warn(
18/18 [==============================] - 62s 3s/step - loss: 4.1303 - accuracy: 0.0053 - val_loss: 4.0923 - val_accuracy: 0.0278
Epoch 2/10
18/18 [==============================] - 34s 2s/step - loss: 4.0942 - accuracy: 0.0264 - val_loss: 4.0807 - val_accuracy: 0.0521
Epoch 3/10
18/18 [==============================] - 29s 2s/step - loss: 4.0757 - accuracy: 0.0246 - val_loss: 4.0029 - val_accuracy: 0.0417
Epoch 4/10
18/18 [==============================] - 29s 2s/step - loss: 3.9938 - accuracy: 0.0387 - val_loss: 3.8604 - val_accuracy: 0.0660
Epoch 5/10
18/18 [==============================] - 31s 2s/step - loss: 3.8481 - accuracy: 0.0791 - val_loss: 3.6985 - val_accuracy: 0.1181
Epoch 6/10
18/18 [==============================] - 43s 2s/step - loss: 3.7142 - accuracy: 0.0949 - val_loss: 3.4112 - val_accuracy: 0.1840
Epoch 7/10
18/18 [==============================] - 35s 2s/step - loss: 3.5063 - accuracy: 0.1230 - val_loss: 3.1563 - val_accuracy: 0.1875
Epoch 8/10
18/18 [==============================] - 18s 1s/step - loss: 3.1739 - accuracy: 0.2021 - val_loss: 2.7770 - val_accuracy: 0.3472
Epoch 9/10
18/18 [==============================] - 19s 1s/step - loss: 3.0304 - accuracy: 0.2302 - val_loss: 2.5901 - val_accuracy: 0.3229
Epoch 10/10
18/18 [==============================] - 22s 1s/step - loss: 2.7395 - accuracy: 0.2917 - val_loss: 2.2847 - val_accuracy: 0.4271
Found 298 images belonging to 60 classes.
10/10 [==============================] - 4s 364ms/step - loss: 2.3151 - accuracy: 0.4262
[鹰眼 AI]: 2025-02-14 19:19:55,616 - **main** - INFO - 测试准确率: 0.42617449164390564
数据集类型 | 图片数量 | 类别数量 |
---|---|---|
训练集 | 601 | 60 |
验证集 | 300 | 60 |
测试集 | 298 | 60 |
🌟 数据分布数学描述:
数据集类型 | 准确率 |
---|---|
训练集 | 29.17% |
验证集 | 42.71% |
测试集 | 42.62% |
🌟 性能分析:
训练阶段 | 准确率 | 说明 |
---|---|---|
起始阶段 | 0.53% | 模型开始学习 |
中期阶段 | 18.75% | 性能显著提升 |
最终阶段 | 42.71% | 达到最佳表现 |
注:通过 10 轮(epochs)训练,模型性能从初始的 0.53%提升至最终的 42.71%,显示出良好的学习能力。
🌟 学习曲线分析: 令 $a_t$ 表示第 $t$ 个 epoch 的准确率,可得学习速率: \(\alpha_t = \frac{a_{t} - a_{t-1}}{\Delta t}\) 其中 $\Delta t$ 为时间间隔(单位:秒)
本项目包含 30 种常见犬种的分类,以下是英文和中文对照:
英文名称 | 中文名称 |
---|---|
Labrador Retriever | 拉布拉多寻回犬 |
German Shepherd | 德国牧羊犬 |
Golden Retriever | 金毛寻回犬 |
French Bulldog | 法国斗牛犬 |
Bulldog | 英国斗牛犬 |
Poodle | 贵宾犬 |
Beagle | 比格犬 |
Rottweiler | 罗威纳犬 |
Dachshund | 腊肠犬 |
Yorkshire Terrier | 约克夏梗 |
Boxer | 拳师犬 |
Pomeranian | 博美犬 |
Chihuahua | 吉娃娃 |
Siberian Husky | 西伯利亚哈士奇 |
Great Dane | 大丹犬 |
Doberman Pinscher | 杜宾犬 |
Shih Tzu | 西施犬 |
Border Collie | 边境牧羊犬 |
Cocker Spaniel | 可卡犬 |
Australian Shepherd | 澳大利亚牧羊犬 |
Bernese Mountain Dog | 伯恩山犬 |
Pug | 巴哥犬 |
Corgi | 柯基犬 |
Saint Bernard | 圣伯纳犬 |
Chow Chow | 松狮犬 |
Alaskan Malamute | 阿拉斯加雪橇犬 |
Bull Terrier | 牛头梗 |
Dalmatian | 大麦町犬 |
Shetland Sheepdog | 设得兰牧羊犬 |
Newfoundland | 纽芬兰犬 |
卷积神经网络结构 输入层 (150×150×3) → 卷积层 → 池化层 → 全连接层 → 输出层 (60 类别)
数据预处理
🌟 卷积运算数学表示: \((I * K)_{ij} = \sum_{m}\sum_{n} I(i+m,j+n)K(m,n)\) 其中:
🌟 梯度下降更新公式: \(\theta_{t+1} = \theta_t - \eta \cdot \nabla_\theta L(\theta_t)\) 其中:
🌟 Adam 优化器参数更新: \(m_t = \beta_1 m_{t-1} + (1-\beta_1)g_t\) \(v_t = \beta_2 v_{t-1} + (1-\beta_2)g_t^2\) \(\hat{m}_t = \frac{m_t}{1-\beta_1^t}\) \(\hat{v}_t = \frac{v_t}{1-\beta_2^t}\) \(\theta_{t+1} = \theta_t - \frac{\eta}{\sqrt{\hat{v}_t} + \epsilon}\hat{m}_t\) 默认参数:$\beta_1=0.9$, $\beta_2=0.999$, $\epsilon=10^{-8}$
🌟 学习率衰减: 采用指数衰减策略: \(\eta_t = \eta_0 \cdot e^{-kt}\) 其中:
🌟 正则化方法: L2 权重衰减: \(L_{total} = L + \frac{\lambda}{2}\|\theta\|^2\) 其中 $\lambda$ 为正则化系数
数据增强公式扩展:
模型复杂度分析: 参数量计算公式: \(Params = \sum_{l=1}^{L}(k_l \times k_l \times c_{in}^{(l)} \times c_{out}^{(l)} + c_{out}^{(l)})\) 其中:
![]() 实时识别界面 |
![]() 识别结果展示 |
主要功能展示:
本项目采用 木兰宽松许可证 (Mulan PSL) 进行许可。
有关详细信息,请参阅 LICENSE 文件。
感谢您使用本项目!您的支持是开源持续发展的核心动力。
每一份捐赠都将直接用于:
✅ 服务器与基础设施维护
✅ 新功能开发与版本迭代
✅ 文档优化与社区建设
点滴支持皆能汇聚成海,让我们共同打造更强大的开源工具!
![]() 🔵 支付宝 |
🟢 微信支付 |
🙌 感谢您成为开源社区的重要一员!
💬 捐赠后欢迎通过社交平台与我联系,您的名字将出现在项目致谢列表!