人工智能综合项目开发2——明确项目需求与数据准备
一份《数据报告》:记录数据来源、清洗过程、预处理方法、数据集划分结果;可直接使用的数据文件:如处理后的图像文件夹(train/val/test 子文件夹)。深度学习项目的 “前期准备”(需求 + 数据)往往占总耗时的 50% 以上,对后续项目质量影响很大。
1、明确项目需求和技术方案(先想清楚 “做什么” 和 “怎么做”)
1.1 明确任务类型(分类 / 回归 / 生成 / 检测)
比如,我们结合农业实际需求、数据特点和落地场景,梳理项目需求:
-
我们只想分析叶片是不是有病,那它就是一个二分类任务:”健康“ or ”病害“。
-
我们想确认叶片上是否有病害,病害是锈病、白粉病 、蚜虫危害或其他,那它就是一个多分类任务,把需要识别的病害枚举出来。
-
叶片上同时有 “白粉病斑点” 和 “蚜虫”,我们想标出两者位置及类别,那它就是一个目标检测的任务。
类似以上,根据实具体情况,明确任务类型。
1.2 明确评价指标(准确率 / MAE/Perplexity)
我们把患病叶片误判为健康,会导致病害扩散,因此评价指标需兼顾 “整体 accuracy” 和 “关键类别的精确率”,选择合适的评价指标。
比如:
-
一块棉花地里,棉花常见的病虫害有立枯病、炭疽病,那我们的地里立枯病、炭疽病、健康的叶片占比均衡,那可能用准确率。
-
一块棉花地里,若存在 “重点病害黄萎病”(如某病传染性极强,必须 100% 检出):单独关注该类别的 召回率(Recall)。
1.3 业务约束(速度 / 内存 / 部署场景)
业务约束决定了模型的 “落地可行性”—— 叶片病虫害识别的用户可能是农户(用手机)、合作社(用田间摄像头)、农业公司(用服务器批量处理),不同场景的约束差异极大,需从 多个维度拆解:
-
农户需要一张一张拍摄上传,那就需要手机拍照上传,是不是需要移动端、还是网页实现。那比如有手机端,处理时间是不是不能太长,假如<1s,那选用的模型就不能太大。
-
可以在一天的工作结束后,把积攒拍摄的照片批量上传,那就需要确定最大批处理的量,假如是100张一起上传,我们需要多长时间反应、处理,需要什么模型、设备。
-
假如拍摄照片不显示,需要有个摄像头实时监测,那我们就需要处理视频数据,是不是需要边缘设备呢等等。
-
我们是不是需要联网等等问题。
最后形成一个需求明确的结果。
参考文档:
标准的产品需求文档在这里!(详细说明版)(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 数据预处理与划分
将数据转换为模型可接受的格式,并拆分训练 / 验证 / 测试集:
-
预处理(按任务类型差异处理)
图像数据:统一尺寸(如 Resize 到 224×224)、归一化(如像素值从 [0,255] 缩放到 [0,1] 或 [-1,1])、数据增强(如随机翻转、裁剪,避免过拟合);
-
数据集划分
按 “训练集:验证集:测试集 = 7:2:1” 或 “8:1:1” 的比例拆分(样本量极小时可按 6:2:2),必须保证拆分后数据分布一致(如验证集 / 测试集的类别比例与训练集相同),避免用 “随机拆分” 导致数据泄露(如测试集包含训练集中的重复样本)。
3、需求文档:记录问题定义、技术方案、评价指标
-
一份《数据报告》:记录数据来源、清洗过程、预处理方法、数据集划分结果;
-
可直接使用的数据文件:如处理后的图像文件夹(train/val/test 子文件夹)。
深度学习项目的 “前期准备”(需求 + 数据)往往占总耗时的 50% 以上,对后续项目质量影响很大。
更多推荐


所有评论(0)