老陈的黄瓜棚最近不太平。这几天他蹲在田埂上,捏着一片带黄褐色斑点的叶子翻来覆去地看,嘴里念叨:“这斑是病还是虫?重不重?要不要打药?”在以前,这些问题全靠一双肉眼和经验;看错了,一棚菜就打了水漂。 现在,AI 也能当“庄稼医生”了。我们举起手机,对准叶子拍一张照,算法会在几秒内告诉你:病斑长在哪里、是什么病、严重到几成。这整套过程,就像医生给病人做“皮肤科体检”——先寻找异常,再确诊病情,最后决定要不要用药。本文就用老陈的故事,带你完整走一遍叶片病斑识别的流程:拍照与预处理、病斑分割、病害分类、严重程度判定,以及如何把这套本领装进手机,让田间地头没有信号也能离线诊断。

岗位关联

对 AI 从业者来说,叶片病斑识别是一块小而完整的“AI 落地样板间”:从数据、模型到端侧部署,走通一遍,你就掌握了视觉类行业应用最常用的关键路径。

目录
  1. 可视化演示
  2. 病斑识别概论
  3. 图像采集预处理
  4. 病斑分割技术
  5. 病害分类方法
  6. 严重程度判定
  7. 移动端部署优化
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

演示病斑分割、病害分类与严重程度判定,直观展示U-Net分割、CNN迁移学习分类与病斑面积占比量化病害等级的完整流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

病斑图像分割 U-Net编码器-解码器+跳跃连接 Mask=分割网络 将病斑区域从叶片背景中逐像素分离

病斑识别概论

老陈蹲在大棚里看黄瓜叶,像极了医生在门诊看病人:先看哪里不对劲,再判断是什么毛病,最后决定要不要开药。他这一套“一眼三步”的经验,想在田里复制,就必须靠 AI。叶片病斑识别要做的,正是把老陈的三步拆成机器能执行的流程:找病斑在哪(分割)、判断是什么病(分类)、判定多严重(判级)。

从工程角度看,完整识别流程可以写成一条流水线:手机拍照 → 图像预处理 → 病斑分割 → 病害分类 → 严重程度判级。每一步都有明确输入输出。比如分割模型输出一张像素级掩膜,分类模型吃病斑区域特征,判级模型则依赖面积统计。这条链中,任何一环的数据质量不好,都会让老陈收到错误处方。

数据是这条链的上限。训练一个可靠模型,至少需要三类标注:病斑掩膜(像素级圈画)、病害类型标签(褐斑病/白粉病/锈病)、严重等级(轻/中/重)。没有这些“标准答案”,AI 医生就无从学起。这也解释了为什么农业 AI 项目里,数据标注往往要占六成以上工作量。

老陈的“一眼三步”,被 AI 拆成了五个环节,每一步都有明确的产出物。对工程师来说,这条流水线也正好对应了数据采集、模型训练、后处理、部署的完整项目阶段,是典型的 AI 行业应用骨架。

yfinal=Grade(Classify(Segment(Preprocess(x))))\displaystyle y_{\text{final}} = \text{Grade}\Big(\text{Classify}\big(\text{Segment}(\text{Preprocess}(x))\big)\Big)
这条流水线公式把老陈“看一眼”拆成了四个机器步骤:预处理、分割、分类、判级,每一步都是后面一步的前提。
  1. 预处理 Preprocess(x)把原始照片做归一化等标准化操作,消除光照和相机差异带来的干扰。
    xnorm=Preprocess(x)\displaystyle x_{\text{norm}} = \text{Preprocess}(x)
  2. 分割 Segment(·)从标准化后的图像里,把属于病斑的像素逐个挑出来,得到病斑掩膜。
    mask=Segment(xnorm)\displaystyle \text{mask} = \text{Segment}(x_{\text{norm}})
  3. 分类 Classify(·)读取病斑区域的特征,给出“褐斑病/白粉病/锈病”的类别概率。
    p=Classify(mask⊗xnorm)\displaystyle p = \text{Classify}(\text{mask} \otimes x_{\text{norm}})
  4. 判级 Grade(·)按病斑面积占比输出轻度、中度或重度。
    severity=Grade(AspotAleaf)\displaystyle \text{severity} = \text{Grade}\Big(\frac{A_{\text{spot}}}{A_{\text{leaf}}}\Big)

图像采集预处理

老陈以前拍身份证照片,都会被要求“坐正、摘帽、露出耳朵”。给叶子拍照也是同理:背光、手抖、背景杂乱的照片,再厉害的 AI 也难看清病斑。拍摄规范是数据采集的第一步——叶片尽量平铺、光线均匀、背景干净,让病斑成为画面中最显眼的主体。

照片进了电脑,还要“洗照片”。AI 不像老陈能适应不同光线,它希望所有输入的像素分布都在同一个尺度上。所谓归一化,就是给每张图做一次“标准肤色校准”。公式里的 μ 和 σ 由训练集统计而来:μ 是所有像素的平均值,σ 是像素波动幅度。减去 μ 抹掉环境亮度,除以 σ 把对比度拉齐。这样一来,早晨拍的暗图和中午拍的亮图,进入模型后长得一样。

此外,还得用图像增强扩充样本:水平翻转、随机旋转、亮度与色彩抖动。这些操作不是造假,而是模拟真实田间的各种拍摄角度和光照变化,让模型见到更多“老陈手抖”的场景,从而减少过拟合。增强之后,模型在没见过的新照片上才不容易“翻脸不认叶”。

老陈拍身份证要摘帽,AI 拍照要归一化。预处理做得好,后面分割、分类就省心;这步偷懒,模型再强也会被“脏照片”拖后腿。

x′=x−μσ\displaystyle x' = \frac{x - \mu}{\sigma}
归一化就是把不同手机、不同光照下拍出的照片,统一“拉”到同一个像素分布尺度上,相当于给所有照片定制同一件“标准肤色”外衣。
  1. 减去均值 x − μμ 是训练集统计出的像素均值,减去它,等于把整张照片的整体亮度搬到 0 附近,消除环境光的影响。
    x−μ\displaystyle x - \mu
  2. 除以标准差 σσ 反映像素值波动幅度,相除后把不同照片的明暗差异压缩到统一范围,让模型不必重新适应每一张图的对比度。
    x−μσ\displaystyle \frac{x - \mu}{\sigma}

病斑分割技术

老陈看斑有个习惯:先拿放大镜把病斑的边界圈出来,再判断里面是什么颜色、什么形状。AI 的分割模型干的就是这个“圈画”的活,但它的精度是像素级的——不是画一个大概的圈,而是判断每一个像素到底是“健康叶”还是“病斑”。

分割最经典的网络之一是 U-Net。它的结构像一个大写的 U:左边编码器不断下采样,把图像“压缩”成高层特征,理解“这是什么病斑形状”;右边解码器逐步恢复分辨率,把特征“放大”回原图大小,回答“这个病斑在哪里”。中间有一根根跳跃连接,把编码器里细腻的边缘细节直接拼到解码器对应层,保住病斑边界的锐度。这对叶片病斑尤其重要,因为病斑边缘常常模糊、颜色深浅不均。

分割效果好不好,不靠肉眼拍胸脯,而是用 IoU(交并比) 打分。IoU 衡量预测病斑区域和真实病斑区域的重叠程度:重叠越多,得分越接近 1。此外还需要后处理:把面积太小的噪点区域滤掉、把中间的小孔补齐,再用连通域分析挑出最终病斑块,避免一粒尘土被当成病斑。

U-Net 的跳跃连接,就像老陈一手拿远镜看整体叶形、一手拿放大镜看病斑边缘,两边信息一对上,圈画的活就利索了。有了准确的分割掩膜,后续分类和面积统计才有可靠的数据来源。

IoU=TPTP+FP+FN\displaystyle \text{IoU} = \frac{\text{TP}}{\text{TP}+\text{FP}+\text{FN}}
IoU 是“分割圈画成绩单”:分子是圈对的部分,分母是预测和真实区域的总面积,比值越大,说明圈得越准。
  1. 真正例 TP模型预测为病斑、真实标注也是病斑的像素,相当于学生答对的题。
    TP\displaystyle \text{TP}
  2. 假正例 FP模型把健康叶片误判成病斑的像素,相当于把会做的题答错。
    FP\displaystyle \text{FP}
  3. 假负例 FN模型漏掉的真实病斑像素,相当于该答的题漏了没交。
    FN\displaystyle \text{FN}
  4. 求交并比TP 除以三者之和,得到预测区域与真实区域的重叠比例,越接近 1 越好。
    TPTP+FP+FN\displaystyle \frac{\text{TP}}{\text{TP}+\text{FP}+\text{FN}}

病害分类方法

老陈床头贴着一张病害图谱,上面画了褐斑病、白粉病、锈病的典型症状。分类模型就像一个背图谱的学徒,但它比老陈学得更机械:给它看分割出来的病斑区域,它输出每一类病害的概率。CNN 分类网络就是徒弟的大脑,一层层卷积像不同倍数的放大镜,从边缘纹理到块状色斑逐级提取特征。

可病害样本往往很稀缺,让学徒从零学起代价太高。迁移学习来了:先用 ImageNet 那几百万张自然图片把徒弟“开窍”,再把学到的通用视觉能力转移到病斑分类小任务上。这好比老陈先让徒弟画了一万幅素描,再来画病斑图谱,自然上手飞快,只需几千张病斑图就能达到不错的准确率。

训练时,模型用交叉熵损失来衡量预测概率和真实标签的差距:预测越“自信”且正确,损失越小;预测模糊甚至错误,损失就大。最后输出层用 softmax 把原始得分变成一组和为 1 的概率。老陈看图说“八成是褐斑病”,softmax 就是那个“八成”。

老陈的“图谱小本子”如今装进了网络权重里。分类模型不仅认得褐斑病,还认得白粉病、锈病等几十种常见病,而且只认病斑不听“老农经验”,判断稳定、不会被情绪干扰。

pi=ezi∑j=1Nezj\displaystyle p_i = \frac{e^{z_i}}{\sum_{j=1}^{N} e^{z_j}}
softmax 把网络的打分“翻译”成概率:谁的分数高,谁的概率就大,所有类别概率加起来正好等于 1,像瓜农分西瓜的总重量。
  1. 原始得分 z_i神经网络最后一层给第 i 类病害输出的原始分数,分数越高代表越像该类。
    zi\displaystyle z_i
  2. 指数化 e^{z_i}对每个分数取自然指数,结果恒为正,且让高分和低分的差距进一步拉大。
    ezi\displaystyle e^{z_i}
  3. 归一化求和用所有类别的指数和做分母,把结果压到 0 到 1 之间,变成可解释的概率。
    ezi∑jezj\displaystyle \frac{e^{z_i}}{\sum_{j}e^{z_j}}

严重程度判定

老陈说“这点儿斑还不至于打药”,其实心里在飞速估算:斑点占了叶子面积的一小半还是一小片?AI 的判级思路和老陈一模一样,只不过它不靠直觉,而是精确量一量。

量法很简单:分割模型已经输出了一张掩膜,掩膜里值为 1 的像素就是病斑,值为 0 是健康叶。于是病斑面积就是像素计数,叶片面积同理。两者一除,得到病斑面积占比。占比就是严重程度的核心指标:小于 10% 算轻度,10% 到 30% 算中度,超过 30% 算重度。轻度可以预防性喷药,中度需要针对性防治,重度往往要联防联控。

这套标准并不是拍脑袋定的,而是参考植保领域的病情指数思路,再结合具体作物的经济阈值调整。实际项目中,AI 工程师会与农艺师一起校准分级线,避免“机器说重、实际没事”引发过度施药。

AI 的“先不治”和老陈的“先不治”,终于对齐了。而且 AI 给出的不是一个模糊的直觉,而是一个可复现、可追溯的数字——这对农药用量控制和农产品质量追溯都至关重要。

S=AspotAleaf\displaystyle S = \frac{A_{\text{spot}}}{A_{\text{leaf}}}
严重程度 = 病斑像素数 ÷ 叶片像素数。这个比例像“伤口占身体表面积的比例”,医生据此决定要不要打针,AI 据此决定要不要施药。
  1. 病斑像素数 A_spot从分割掩膜里统计所有值为 1 的像素个数,代表病斑在图像中占据的面积。
    Aspot=∑p∈mask[p=1]\displaystyle A_{\text{spot}} = \sum_{p \in \text{mask}} [p = 1]
  2. 叶片像素数 A_leaf统计整片叶子占据的像素总数,代表叶片总表面积。
    Aleaf=∑p∈leaf_mask1\displaystyle A_{\text{leaf}} = \sum_{p \in \text{leaf\_mask}} 1
  3. 求占比 S两个像素数相除,得到病斑占叶片面积的比例,再对照轻、中、重阈值输出等级。
    S=AspotAleaf\displaystyle S = \frac{A_{\text{spot}}}{A_{\text{leaf}}}

移动端部署优化

老陈的经验装在脑子里,出门要带着脑袋才行;AI 的经验装在模型里,却能把整本“植物医生手册”压进一台手机。这就是移动端部署的意义:把训练好的模型放进农户自己的手机,田间地头随拍随诊。

但手机上跑模型不容易。一个标准图像分类网络动辄几十 MB、上百 MB,手机芯片算力又小,何况田里可能根本没信号。于是工程师要对模型做三件事:量化把 32 位浮点权重变成 8 位整数,模型直接缩小到原来的四分之一;剪枝把不重要的连接“咔掉”,像给大树修枝,模型更轻还不太掉精度;知识蒸馏则让一个大老师模型教一个小学生模型,把本领浓缩进更小的网络。

最终模型打包进端侧引擎,并结合离线推理:识别所需的权重和规则全部存在手机本地,不联网也能出结果。这既解决了田间无网的问题,又缩短了识别响应时间,还避免了叶片照片上传云端带来的隐私顾虑。老陈以后在地里掏出手机,即便手机信号为零,照样能看“AI 医生”开方子。

老陈现在真的把“经验”装进了口袋。离线推理不仅让识别不依赖网络,也让企业部署成本大幅降低——不需要建云端服务器,农户手机本身就是一台微型 AI 工作站。

---

w^=s×round(ws)\displaystyle \hat{w} = s \times \text{round}\Big(\frac{w}{s}\Big)
量化公式就像把一袋子零钱换成整钞:分量更轻、数起来更快,虽然少了几毛钱的“精度”,但完全不影响判断病斑这种大数问题。
  1. 缩放因子 s把浮点权重的取值范围映射到整数范围的步长,相当于“每一块钱等于多少分”。
    s=max⁡(∣w∣)127\displaystyle s = \frac{\max(|w|)}{127}
  2. 量化取整 round(w/s)把权重除以 s 后四舍五入,得到紧凑的整数表示,例如把 0.4321 变成 55。
    q=round(ws)\displaystyle q = \text{round}\Big(\frac{w}{s}\Big)
  3. 反量化恢复推理时再用 s 乘回整数,得到近似原始浮点值,让模型在手机上照常计算出结果。
    w^=s×q\displaystyle \hat{w} = s \times q

AI 应用场景

田间拍照识病助手

阶段:端侧推理与业务落地

解决的问题:传统模式下,农户遇到看不懂的叶片病斑,要么等农技员上门,要么凭经验猜,往往错过最佳防治窗口。AI 助手把分割、分类、判级全部装入手机 App,农户拍一张照片即可获得病害类型和严重程度,并得到对应防治建议。

具体案例:某农业科技公司推出一款“识叶”小程序,后端部署轻量化分割模型,前端在手机端完成离线推理。黄瓜褐斑病识别准确率达 92%,农户在无网络大棚内使用率提升 3 倍,农药使用量因分级施药建议下降约 18%。

农业保险智能定损

阶段:数据标注、模型推理与业务决策

解决的问题:传统农险定损靠理赔员现场目测拍照,主观性强、争议多。用叶片病斑识别对受灾田块照片做分割和面积统计,可以为定损提供客观的“病斑面积占比”数据,帮助保险公司快速核算损失程度。

具体案例:某保险公司在玉米大田灾后理赔中,用无人机拍摄田间照片,AI 自动统计病斑覆盖比例,结合历史产量模型估算损失率,将单笔定损时间从 2 天缩短到 2 小时,争议率下降 40%。

大棚智能监测预警

阶段:数据采集、模型部署与实时预警

解决的问题:大棚环境密闭高湿,病害一旦爆发蔓延极快。传统人工巡检效率低、频次少。通过在棚内安装定时拍照设备,配合叶片病斑识别模型自动分析,可在病斑尚处于轻度阶段时发出预警,实现“治未病”。

具体案例:某智慧农业基地在番茄大棚部署 20 个低成本摄像头,每 30 分钟自动拍一次叶片,端侧模型实时计算病斑面积占比,超过轻度阈值即推送告警到管理员手机,早发现率达到 83%。

Python 演示

python58 行
# -*- coding: utf-8 -*-"""叶片病斑识别:分割 + 严重程度判定演示"""import math  def make_synthetic_leaf(width=60, height=40, spot_center=(42, 17), spot_radius=7):    """用数学函数生成一片带暗斑的模拟叶片图像"""    img = []    cx, cy = width // 2, height // 2    rx, ry = 28, 18    for i in range(height):        row = []        for j in range(width):            leaf_dist = ((j - cx) / rx) ** 2 + ((i - cy) / ry) ** 2            if leaf_dist > 1:                row.append(255)  # 背景                continue            spot_dist = math.sqrt((j - spot_center[0]) ** 2 + (i - spot_center[1]) ** 2)            if spot_dist < spot_radius:                row.append(60)   # 病斑像素,较暗            else:                row.append(180)  # 健康叶片像素        img.append(row)    return img  def threshold_segment(img, threshold=140):    """简化版病斑分割:比阈值暗的像素视为病斑"""    h, w = len(img), len(img[0])    return [[1 if img[i][j] < threshold else 0 for j in range(w)] for i in range(h)]  def grade(spot_count, leaf_count):    """按病斑面积占比判定严重程度"""    if leaf_count == 0:        return "无法判定"    ratio = spot_count / leaf_count    if ratio < 0.10:        return "轻度"    if ratio < 0.30:        return "中度"    return "重度"  def main():    img = make_synthetic_leaf()    mask = threshold_segment(img)    spot_count = sum(sum(row) for row in mask)    leaf_count = sum(1 for row in img for v in row if v < 255)    ratio = spot_count / leaf_count    print("病斑像素数:", spot_count)    print("叶片像素数:", leaf_count)    print("病斑面积占比: {:.1%}".format(ratio))    print("严重程度:", grade(spot_count, leaf_count))  if __name__ == "__main__":    main()
目的:用合成叶片图像演示从分割到严重程度判定的完整流程——先用亮度阈值“分割”出病斑掩膜,再统计病斑像素占比并输出轻、中、重等级。
  1. img = make_synthetic_leaf()生成一张模拟叶片图片,代替真实拍摄样本,方便演示。
  2. mask = threshold_segment(img)执行最朴素的“分割”:把暗像素标记为病斑,亮像素视为健康组织。
  3. spot_count = sum(sum(row) for row in mask)统计掩膜中值为 1 的像素总数,即病斑面积。
  4. leaf_count = sum(1 for row in img for v in row if v < 255)统计所有非背景像素,得到叶片总面积。
  5. ratio = spot_count / leaf_count计算病斑面积占比,这是严重程度判定的核心输入。
  6. print("严重程度:", grade(spot_count, leaf_count))对照轻度(<10%)、中度(10%-30%)、重度(>30%)输出诊断结果。

常见误区

误区我刚接触 AI 时,以为叶片病斑识别就是把整张照片丢给模型,输出“有病”或“没病”就行。既然知道是病叶,干嘛还要分割?分类结果还不够吗?

正解整图分类只能告诉你“这张叶子大概率生病”,却说不出病斑在哪、有多大。分割模型输出像素级掩膜,是后续严重程度判定的直接数据来源。没有分割,面积统计就是空中楼阁。分类和分割是“分工关系”而非“二选一”。

为何常见:初学者最先接触的都是图像分类项目,容易把一切视觉问题都“分类化”,忽略了农业诊断需要空间定位和量化分析。

误区叶片上密密麻麻全是斑点,我第一反应是“病得很重,赶紧喷重药”。可农艺师看后说只是轻度,我当场愣住。

正解严重程度看的是病斑面积占叶片面积的比例,而不是病斑个数。很多病斑很小很密,但总面积不足叶片 10%,仍是轻度;反之,一个大斑块可能就超过 30%。判级必须依靠分割掩膜的面积统计,不能凭肉眼数数。

为何常见:人的视觉天然对“密集”敏感,容易被数量和视觉冲击欺骗,忽略了比例这个更科学的指标。

误区我在服务器上训练好的分割模型,准确率不错,心想直接打包到 App 就行。结果手机一跑,卡成幻灯片,App 直接被杀后台。

正解手机端侧的算力、内存、功耗远不如服务器。必须先做模型压缩:量化、剪枝、知识蒸馏,再针对目标芯片选型端侧推理引擎。离线推理还要考虑模型文件本地化和无网环境下的运行稳定性。

为何常见:实验室环境不限制算力,让人低估了真实硬件约束,属于“开发环境”与“生产环境”的典型脱节。

误区我总觉得翻转、旋转、调亮度是对真实数据的人为修改,会让模型学到“假照片”,不敢用增强。

正解图像增强模拟的是真实田间里正常会出现的拍摄变化——手抖、光线变化、角度不同。它不改变病斑本身的语义,只是让模型看到更多“合理版本”的照片,从而提升泛化能力,降低过拟合风险。

为何常见:把“数据增强”和“篡改标签”混为一谈。真正的造假是修改标签或病斑面积,而增强保留语义、只变外观。

面试题

Q1. 叶片病斑识别流水线“拍照 → 预处理 → 分割 → 分类 → 判级”中,第二步是?

单选题 · easy

  • A.图像预处理← 正确答案
  • B.病斑分割
  • C.病害分类
  • D.轻度判级

答案:A。识别流水线从原始照片到最终诊断结果,需要按顺序执行预处理、分割、分类、判级。拍照之后的第一步是图像预处理(归一化、增强等),所以正确答案是 A。

Q2. 归一化公式 x'=(x−μ)/σ 的直接作用是?

单选题 · easy

  • A.把图片裁剪整齐
  • B.统一像素分布尺度← 正确答案
  • C.让病斑颜色变红
  • D.增加图片分辨率

答案:B。减去均值 μ 消除环境亮度偏移,除以标准差 σ 把对比度拉起,最终让不同光照条件下的照片在像素分布上对齐。这一操作不改变图像内容,只统一尺度,故选 B。

Q3. 在 IoU 公式中,FP 代表的含义是?

单选题 · mid

  • A.被正确识别的病斑
  • B.被误判为病斑的健康叶← 正确答案
  • C.被漏掉的真实病斑
  • D.被正确识别的健康叶

答案:B。FP(假正例)是模型把健康叶片错判为病斑的像素;被正确识别的病斑是 TP(真正例),被漏掉的病斑是 FN(假负例)。IoU 的分母正是三者之和。

Q4. U-Net 在病斑分割中表现较好的关键设计是?

单选题 · mid

  • A.全连接层
  • B.跳跃连接结构← 正确答案
  • C.注意力机制
  • D.更大卷积核

答案:B。U-Net 的编码器逐层提取高层语义特征,解码器逐层恢复分辨率;跳跃连接把编码器的边缘细节直接传给解码器,弥补下采样丢失的精细信息。这对边界模糊的病斑分割至关重要。

Q5. 迁移学习的主要收益是?

单选题 · mid

  • A.减少标注需求← 正确答案
  • B.增加模型体积
  • C.降低推理速度
  • D.消除线上部署

答案:A。迁移学习用 ImageNet 大规模数据预训练模型,把学到的通用视觉特征迁移到病斑分类任务上,使模型在少量病斑样本下也能快速收敛,显著降低对标注数据的依赖。

Q6. 移动端模型常用的压缩手段有?

多选题 · hard

  • A.权重量化← 正确答案
  • B.结构剪枝← 正确答案
  • C.知识蒸馏← 正确答案
  • D.图像增强

答案:ABC。量化把浮点权重转成 8 位整数,剪枝去掉冗余连接,知识蒸馏让大模型教小模型,三者都属于模型压缩。图像增强是训练阶段的数据处理手段,不压缩模型体积。

Q7. 病斑面积占叶片面积的 12%,严重程度应判定为?

单选题 · easy

  • A.健康无病
  • B.轻度危害
  • C.中度危害← 正确答案
  • D.重度危害

答案:C。判定标准为:占比 <10% 为轻度,10%–30% 为中度,>30% 为重度。12% 落在 10%–30% 区间内,属于中度危害,需要针对性防治。

Q8. 离线推理在田间部署中有哪些价值?

多选题 · hard

  • A.无网络可用← 正确答案
  • B.缩短响应时延← 正确答案
  • C.保护图像隐私← 正确答案
  • D.提高图像分辨率

答案:ABC。模型和规则全部存放在手机本地,不依赖云服务器。这样不仅能在无网络大棚工作,还省去上传等待时间,同时避免叶片照片传到云端带来的隐私风险。图像分辨率是采集端决定,与离线推理无直接关系。

Q9. 分割掩膜统计病斑面积时,正确的做法是?

单选题 · mid

  • A.统计掩膜中值为1的像素个数← 正确答案
  • B.统计包围盒最小外接矩形对角线
  • C.直接读取分类模型的置信度输出
  • D.统计网络的卷积核参数量

答案:A。分割掩膜中值为 1 的像素即病斑像素,逐个统计像素数就是病斑面积。包围盒对角线只能粗估位置,分类置信度反映的是“像不像该类”,卷积核参数是模型结构信息,都不能作为面积依据。

Q10. 下列哪些属于合理的图像增强方式?

多选题 · hard

  • A.水平翻转与旋转← 正确答案
  • B.亮度与色彩抖动← 正确答案
  • C.随机遮挡与拼接← 正确答案
  • D.修改病斑的真实标签

答案:ABC。翻转、旋转、色彩抖动可以模拟不同拍摄姿态和光照,随机遮挡与拼接提升模型对遮挡场景的鲁棒性。修改标签属于数据造假,会破坏监督信号,绝不允许。