ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

IoT-For-Beginners 第15课作业实战:使用 Azure Custom Vision 训练多水果图像分类器

IoT-For-Beginners 第15课作业实战:使用 Azure Custom Vision 训练多水果图像分类器 IoT-For-Beginners 第15课作业实战使用 Azure Custom Vision 训练多水果图像分类器【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners本文以 IoT-For-Beginners 课程制造篇第 1 课仓库路径 4-manufacturing/lessons/1-train-fruit-detector的课后作业为核心深入讲解如何把只识别单一水果成熟度的图像分类器扩展为能区分多种水果与蔬菜的分类器。读完本文你将掌握多类别图像分类的数据准备要点、Custom Vision 训练与评估方法以及如何从仓库源码中复现并验证实验结果为后续在真实 IoT 设备上调用模型打下基础。作业背景从单一水果到多水果分类在本节课中你已经使用 Azure Custom Vision 训练了一个图像分类器用于区分成熟与未成熟的同一种水果以香蕉为例。作业要求在此基础上继续推进训练一个能够识别多种水果的分类器并评估其识别效果。作业原文translations/de/4-manufacturing/lessons/1-train-fruit-detector/assignment.md英文原版见 translations/en/4-manufacturing/lessons/1-train-fruit-detector/assignment.md指出了两个关键观察点分类器的效果因水果类型而异对于成熟过程中会发生明显颜色变化的水果图像分类器可能不如颜色传感器有效——因为分类器通常在灰度图像上工作而非全彩图像。相似外观的水果是重点测试对象例如苹果和番茄这类外观相似的水果最能检验分类器的判别能力。从仓库的示例数据集可以直观看到本节课的数据组织方式4-manufacturing/lessons/1-train-fruit-detector/images 下按training/ripe、training/unripe、testing/ripe、testing/unripe四个目录存放香蕉图片分别对应训练集-成熟、训练集-未成熟、测试集-成熟、测试集-未成熟四个标签组合。多水果作业的本质就是把这个结构从1 个类别 × 2 个标签扩展为N 个类别 × 2 个标签。作业要求与评分标准作业原文给出了明确的评分规则Rubric这也是自评实验效果的重要依据标准优秀Exemplary合格Adequate待改进Needs Improvement为多种水果训练分类器成功为多种水果训练了分类器成功为一种额外水果训练了分类器无法为更多水果训练分类器判断分类器的效果能正确评价分类器在不同水果上的表现能做出观察并提出改进建议无法评价分类器的表现简而言之优秀要求至少完成两类以上水果的分类训练并能用数据说明分类器的表现差异。课前知识回顾图像分类、迁移学习与 Custom Vision要完成多水果扩展需要先理解三个核心概念详见课程正文 4-manufacturing/lessons/1-train-fruit-detector/README.md图像分类输出的是概率而非单一答案机器学习模型并不直接回答这是苹果还是番茄而是输出每个类别的概率。例如课程中的香蕉分类预测示例成熟香蕉得到ripe: 99.7% / unripe: 0.3%的预测结果。你的代码需要在多个概率中选取最大值作为最终判断。这一特性在多水果场景下尤其重要——当类别增加到 4 个如苹果成熟/未成熟、番茄成熟/未成熟时每个预测都伴随一组概率分布可以借此观察分类器的信心程度。迁移学习少量图片也能训练训练一个高质量图像分类器通常需要海量图片但通过迁移学习transfer learning可以在已有大规模通用模型的基础上用少量自己的图片每类 5 张即可起步30 张以上效果更佳完成再训练。Custom Vision 正是这样一款云服务上传图片、打上标签tag、训练、测试、发布全程可以通过 Web 门户、Web API 或 SDK 完成。多类别投影Multiclass 与 Multi-label课程中创建项目时选择的是Classification 项目类型 Multiclass 分类类型。理解这一点对多水果作业至关重要Multiclass多分类互斥一张图片只能属于一个类别。若你的方案是苹果-成熟苹果-未成熟番茄-成熟番茄-未成熟四个互斥标签属于 Multiclass。Multi-label多标签不互斥一张图片可以同时命中多个标签。若你希望同一张图既被标为苹果又被标为成熟即把品种和成熟度解耦则需要考虑 Multi-label 类型。作业要求的为多种水果训练分类器在 Custom Vision 中通常以 Multiclass 方式实现把每个水果种类 × 成熟度组合作为一个独立标签。例如可以将标签设计为apple-ripe、apple-unripe、tomato-ripe、tomato-unripe。环境准备创建 Custom Vision 训练与预测资源在做多水果扩展前请先确保基础环境就绪。课程中通过 Azure CLI 创建两个资源4-manufacturing/lessons/1-train-fruit-detector/README.md# 1. 创建资源组 # 2. 创建 Custom Vision 训练资源免费层 F0 az cognitiveservices account create --name fruit-quality-detector-training \ --resource-group fruit-quality-detector \ --kind CustomVision.Training \ --sku F0 \ --yes \ --location location # 3. 创建 Custom Vision 预测资源免费层 F0 az cognitiveservices account create --name fruit-quality-detector-prediction \ --resource-group fruit-quality-detector \ --kind CustomVision.Prediction \ --sku F0 \ --yes \ --location location注意F0是免费层如果账户已占用其他认知服务的免费额度需要使用S0SKU。--yes表示同意认知服务条款。之后在 CustomVision.ai 创建名为fruit-quality-detector的项目选择 Classification / Multiclass / Food 域并绑定到fruit-quality-detector-training资源。多水果训练数据准备核心注意事项作业成败的关键在数据。结合课程正文与仓库中的示例数据集多水果扩展时需要特别注意以下几点1. 数量与比例每个标签至少 5 张训练图片越多越好测试图片另行准备建议每类 2 张以上。各标签图片数量应大致均衡避免分类器偏向数量多的类别。仓库示例中香蕉数据为训练集training/ripe、training/unripe各 25 张测试集testing/ripe、testing/unripe各 2 张见 4-manufacturing/lessons/1-train-fruit-detector/images。多水果场景下可为每种水果按此规模准备。2. 背景与内容控制课程正文强调了一个著名教训曾有皮肤癌分类器因为恶性痣图片都带有尺子最终学到的是识别尺子而非识别恶性痣。因此每张图片应只包含目标水果本身背景要么统一要么足够多样背景中绝不能出现与某一标签强相关的特征物例如不能只在成熟苹果旁放特定道具。3. 分辨率与主体占比Custom Vision 支持上传最高 10240×10240 的图片但模型实际以227×227分辨率训练和推理。大图会被缩小因此被分类的物体必须占据画面的主体否则缩小后在模型眼里可能小到无法识别。4. 格式要求图片需为 PNG 或 JPEG小于 6MB。iPhone 等设备拍摄的 HEIC 高清图需要先转换、必要时缩小尺寸。5. 训练/测试数据分离测试图片必须与训练图片不同同一水果的不同角度照片可以。防止用训练过的图片测试导致虚高的准确率。训练与测试流程数据准备好后在 Custom Vision 门户中完成上传并打标签把成熟水果标为ripe未成熟水果标为unripe多水果场景可改为apple-ripe等组合标签。选择 Quick Training快速训练开始训练耗时几分钟。测试使用之前保留的测试图片而非训练图片进行 Quick Test观察每个类别的概率输出。重新训练测试中分错的图片会被系统保存可以给它们打上正确标签后加入训练集迭代提升模型质量。仓库中后续课程4-manufacturing/lessons/2-check-fruit-from-device、4-manufacturing/lessons/3-run-fruit-detector-edge展示了如何把训练好的模型部署到树莓派、Wio Terminal 等设备上实时调用其设备端代码中即通过标签名如ripe/unripe解析预测结果——例如 4-manufacturing/lessons/2-check-fruit-from-device/code-classify/pi/fruit-quality-detector/app.py。这意味着多水果作业新增的标签后续会直接成为设备端分类结果的一部分务必保持标签命名一致。多水果扩展实验建议苹果与番茄的对照作业点名建议使用苹果和番茄作为扩展对象其难点在于两者同为红色系、形状圆润。建议按以下步骤设计实验标签设计建立 4 个互斥标签如apple-ripe、apple-unripe、tomato-ripe、tomato-unripe。对照实验先分别训练苹果二分和番茄二分两个分类器再训练四类混合分类器对比三种方案的预测概率分布。关注混淆矩阵在 Custom Vision 的训练结果页查看 Precision、Recall、AP 等指标课程Review Self Study部分要求查阅这些指标的含义重点观察苹果与番茄之间是否发生混淆以及成熟与未成熟之间是否混淆。颜色变化类水果的验证作业指出成熟过程伴随颜色变化的水果如番茄由绿转红灰度图像分类器的效果可能不及颜色传感器。可以在实验中主动记录这类水果的误分类案例验证这一论断。仓库还提供了其他多类识别示例可以参考如腰果与番茄制品番茄酱的多类识别结果图 images/image-classifier-cashews-tomato.png展示了分类器在外观差异明显的物品上的表现——这与苹果 vs 番茄这类相似物品形成鲜明对照正好用于分析类间相似度对分类效果的影响。结果评估与作业自检完成训练后按作业评分表逐项自检是否完成了多类训练分类器能否稳定区分 ≥2 种水果的成熟度如果只能加一种水果属于合格能处理多种且效果稳定才达到优秀。是否给出有依据的评价不能只写效果不错要基于每个类别的预测概率、测试图片的准确率、以及苹果/番茄等相似类别的混淆情况给出结论。是否验证了作业中的论断能否用实验数据说明颜色变化类水果在灰度分类器下的局限能否说明相似外观水果更容易被混淆延伸挑战与深入学习课程末尾还留有一个思考题如果给一个只见过香蕉的模型看草莓、充气香蕉、穿香蕉服的人甚至辛普森一家中的黄色卡通角色会发生什么你可以用 images 外的任意图片测试观察模型输出——这能直观体会图像分类器基于概率特征匹配而非真正理解语义的本质。更系统的提升方向详见课程Review Self Study查阅 Custom Vision 官方文档中关于 Precision / Recall / AP 的评估说明以及如何改进 Custom Vision 模型的指南——多水果作业中收集的误分类样本正是改进模型的宝贵素材。本文基于 IoT-For-Beginners 仓库 4-manufacturing/lessons/1-train-fruit-detector 的课程正文与课后作业文档编写作业原文为德语翻译版 translations/de/4-manufacturing/lessons/1-train-fruit-detector/assignment.md内容以英文原版 translations/en/4-manufacturing/lessons/1-train-fruit-detector/assignment.md 为准。【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表