1、明确项目需求和技术方案(先想清楚 “做什么” 和 “怎么做”)

1.1 明确任务类型(分类 / 回归 / 生成 / 检测)

比如,我们结合农业实际需求、数据特点和落地场景,梳理项目需求:

  1. 我们只想分析叶片是不是有病,那它就是一个二分类任务:”健康“ or ”病害“。

  2. 我们想确认叶片上是否有病害,病害是锈病、白粉病 、蚜虫危害或其他,那它就是一个多分类任务,把需要识别的病害枚举出来。

  3. 叶片上同时有 “白粉病斑点” 和 “蚜虫”,我们想标出两者位置及类别,那它就是一个目标检测的任务。

类似以上,根据实具体情况,明确任务类型。

1.2 明确评价指标(准确率 / MAE/Perplexity)

我们把患病叶片误判为健康,会导致病害扩散,因此评价指标需兼顾 “整体 accuracy” 和 “关键类别的精确率”,选择合适的评价指标。

比如:

  1. 一块棉花地里,棉花常见的病虫害有立枯病、炭疽病,那我们的地里立枯病、炭疽病、健康的叶片占比均衡,那可能用准确率。

  2. 一块棉花地里,若存在 “重点病害黄萎病”(如某病传染性极强,必须 100% 检出):单独关注该类别的 召回率(Recall)。

1.3 业务约束(速度 / 内存 / 部署场景)

业务约束决定了模型的 “落地可行性”—— 叶片病虫害识别的用户可能是农户(用手机)、合作社(用田间摄像头)、农业公司(用服务器批量处理),不同场景的约束差异极大,需从 多个维度拆解:

  1. 农户需要一张一张拍摄上传,那就需要手机拍照上传,是不是需要移动端、还是网页实现。那比如有手机端,处理时间是不是不能太长,假如<1s,那选用的模型就不能太大。

  2. 可以在一天的工作结束后,把积攒拍摄的照片批量上传,那就需要确定最大批处理的量,假如是100张一起上传,我们需要多长时间反应、处理,需要什么模型、设备。

  3. 假如拍摄照片不显示,需要有个摄像头实时监测,那我们就需要处理视频数据,是不是需要边缘设备呢等等。

  4. 我们是不是需要联网等等问题。

最后形成一个需求明确的结果。

参考文档:

标准的产品需求文档在这里!(详细说明版)(1) - 知乎https://zhuanlan.zhihu.com/p/322049809

终于有人把需求确认书、需求规格说明书和需求说明书讲清楚了【文末附可编辑的模板】 - 知乎https://zhuanlan.zhihu.com/p/1889251368172254394

软件项目开发流程:从需求分析到项目交付的完整指南https://ones.cn/blog/knowledge/software-project-development-process-guide

2、准备数据(数据智能)

2.1 收集数据

深度学习本质是 “数据驱动”,数据质量直接影响模型效果。根据需求获取足量、相关的数据,常见来源分为 3 类:

  • 公开数据集

免费数据集网站_数据集下载网站-CSDN博客https://blog.csdn.net/u011559552/article/details/143601416

作物病虫害识别数据集资源合集 - 知乎https://zhuanlan.zhihu.com/p/451142782

  • 适合实际业务的实际数据集

  • 生成的虚拟数据集

假如我们用真实数据作为训练数据,需要收集一些真实病虫害图片数据,根据情况决定多少张图片。

2.2 数据探索与清洗

  • 探索数据基本信息:样本数量、特征维度、数据类型(如图片的通道数、文本的词表大小)、标签分布(是否存在 “类别不平衡”,如 90% 样本是正例,10% 是负例);

  • 处理数据缺陷:

    • 缺失值:文本缺失可填充 “空字符串”,数值缺失可填充均值 / 中位数,图像缺失需重新采集;

    • 异常值:如 “年龄 = 200 岁”“图片尺寸 = 1×1 像素”,需删除或修正;

    • 噪声数据:如文本中的乱码、图像中的椒盐噪声,需用正则表达式(文本)、滤波算法(图像)清洗.

2.3 数据预处理与划分

将数据转换为模型可接受的格式,并拆分训练 / 验证 / 测试集:

  1. 预处理(按任务类型差异处理)

        图像数据:统一尺寸(如 Resize 到 224×224)、归一化(如像素值从 [0,255] 缩放到 [0,1] 或 [-1,1])、数据增强(如随机翻转、裁剪,避免过拟合);

  1. 数据集划分

        按 “训练集:验证集:测试集 = 7:2:1” 或 “8:1:1” 的比例拆分(样本量极小时可按 6:2:2),必须保证拆分后数据分布一致(如验证集 / 测试集的类别比例与训练集相同),避免用 “随机拆分” 导致数据泄露(如测试集包含训练集中的重复样本)。

3、需求文档:记录问题定义、技术方案、评价指标

  • 一份《数据报告》:记录数据来源、清洗过程、预处理方法、数据集划分结果;

  • 可直接使用的数据文件:如处理后的图像文件夹(train/val/test 子文件夹)。

深度学习项目的 “前期准备”(需求 + 数据)往往占总耗时的 50% 以上,对后续项目质量影响很大。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐