瑞丰商厦的保安队长老王,最近添了一份新差事:数人。老板要求他统计每天进店的顾客数,好决定开几个收银台、备多少货、搞什么促销。老王端着计数签在门口按了一整天,手臂酸得抬不起来,数字还经常对不上——早高峰顾客像开闸的水一样涌进来,他按到一半就乱了套,干脆在纸上画“正”字,画着画着也花了。 老王的表哥老李在乡下种果园,居然也在为“数数”发愁。果树长虫子了,老李要在黄色粘虫板前蹲半小时,眯着老花眼数上面粘了多少害虫,来判断要不要打农药。虫子小如芝麻、密密麻麻,数得他头晕眼花。他给老王打电话:“你家那种能数人的机器,能不能拿来数虫子?” 这个看似玩笑的问题,正是 AI 虫害计数的起点。把摄像头对准粘虫板,让 AI 像数顾客一样数害虫,数得又快又准,还能自动累积成趋势曲线、提前预警。这篇文章,我们就跟着老王的摄像头和老李的粘虫板,把虫害计数的意义、数据准备、核心算法、评估方法和工程部署,一整套体系讲得明明白白。

岗位关联

虫害计数是智慧农业精准施药的关键一环。掌握计数原理、算法选型与部署优化的全流程,能帮助你在 AI + 农业方向建立扎实的工程落地能力,做出真正下地可用的虫情监测产品。

目录
  1. 可视化演示
  2. 计数意义与需求:从“数人头”到“数虫头”
  3. 数据采集预处理:摄像头放哪儿、怎么拍、怎么标
  4. 目标检测计数:一只一只框出来
  5. 密度估计计数:不数人头,数“人潮浓度”
  6. 训练评估指标:怎么知道 AI 数得准不准
  7. 部署优化策略:从云端教室到田间地头
  8. 行业应用与挑战:让每个果园都有“数字守门人”
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示诱虫板图像扫描检测计数与经济阈值判定、YOLO与Faster R-CNN检测算法对比、及种群密度空间插值与预测。

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

诱虫板图像扫描检测计数 黄板诱捕蚜虫/白粉虱趋黄性害虫 扫描检测害虫数量并与ET阈值比较 count ≥ ET → 施药防治 精准害虫管理

计数意义与需求:从“数人头”到“数虫头”

老王在商场门口数顾客,老板的诉求从来不是那串数字本身,而是根据人流决定开几个收银台、备多少货、排多少班。数字错了,决策就跟着错:少报一万,生鲜区断货;多报一万,冷库白转。老王想明白了一件事:数数只是手段,用数字做决策才是目的。老李那边也一样,他蹲在粘虫板前数害虫,表面是“数数”,实际是在做一个关键决策——这片果园要不要打药、什么时候打、打多少。

植保专家给这个决策画了一条线,叫“防治阈值”。虫口密度超过这条线,害虫造成的产量损失会超过施药成本,必须干预;没超过,打药只是浪费钱、污染环境、还杀死益虫。判断有没有超阈值,前提是把“数”数准。传统做法是农技员定期去田间数粘虫板,用虫子总数除以板面积,得到单位面积虫口密度,再与阈值对比。

D=NS\text{D} = \frac{N}{S}

1. N(虫口总数):统计周期内粘虫板上计得的害虫总只数,是计数系统最直接的输出。

NN

2. S(有效面积):粘虫板实际有效的黏附面积,以平方米为单位,是换算密度的分母。

SS

3. D(虫口密度):单位面积平均害虫数,是判断虫害严重程度、对比防治阈值的核心指标。

D=NS\text{D} = \frac{N}{S}

人工计数的问题一目了然:费时、费力、易漏。虫子小如芝麻,老李数到一半就眼花,漏几只、重几只都很正常。数据不准,阈值判断就失灵。这正是 AI 要解决的痛点——让“数虫头”像“数人头”一样自动、稳定、可追溯。老王用人数决定开几个收银台,老李用虫口密度决定打不打药,两者的共同点在于:计数系统的第一价值,永远是支撑那个“开不开机、打不打药”的决策。

数据采集预处理:摄像头放哪儿、怎么拍、怎么标

老王很快发现,摄像头装的位置比镜头贵不贵重要得多。装低了被柱子挡住,装高了照不清人脸,光线太暗整个画面糊成一片。AI 数虫的第一步也不是调模型,而是把“拍摄现场”搞定。老李的“现场”就是那张黄绿色的粘虫板:挂在树冠附近,害虫被气味吸引黏上去,农技员定期用手机或专用设备拍照,一张张积累成数据集。

但原始图片不能直接用:板面反光、灰尘、其他昆虫、不同时段的光照,都会让同一只虫看起来完全不一样。于是要预处理——裁剪掉无关区域、去除噪声、校正亮度,再把图像标准化,让每个像素的数值分布稳定在统一尺度上。这一步好比把歪歪扭扭的原始问卷重新排版成统一格式,后续算法才读得顺。

x′=x−μσx' = \frac{x - \mu}{\sigma}

1. x(原始取值):图像某个通道的像素值,范围可能忽大忽小,受光照影响明显。

xx

2. μ(均值):所有样本在该通道上的平均值,用于把分布平移到中心。

μ=1M∑j=1Mxj\mu = \frac{1}{M}\sum_{j=1}^{M}x_j

3. σ(标准差):样本波动程度的度量,用于把尺度压缩到统一范围。

σ=1M∑j=1M(xj−μ)2\sigma = \sqrt{\frac{1}{M}\sum_{j=1}^{M}(x_j - \mu)^2}

4. x'(标准化结果):标准化后的像素值,均值接近 0、方差接近 1,让模型收敛更稳定。

x′x'

除了标准化,数据增强也是预处理的重头戏。虫子数量有限、拍摄场景单一,模型容易“死记硬背”。通过随机翻转、旋转、裁剪、亮度扰动,把每张图“变出”多个版本,相当于用一套照片训练出见多识广的模型。老王后来让人把摄像头统一调成固定角度和补光,模型立刻准了不少。老李也学会了:固定诱虫板摆放位置、统一拍照距离、规范标注每只虫的点位,数据干净了,后面所有环节都省心。

目标检测计数:一只一只框出来

商场上第一套 AI 系统的逻辑很直白:视频里每个人脸上套一个绿色方框,数框的数量就是人数。这就是“目标检测”的思路——先找到每一个个体,再数数。搬到老李的粘虫板上,目标从“人脸”换成“害虫”:模型在图片上画框,框住一只虫,计数加一。每只虫在画面里只有几十个像素,属于典型的“小目标”。

实现上主流有两类。YOLO 系列把整张图切成网格,每个网格负责预测中心落在其中的边界框和类别,一次前向就能输出所有框,速度极快,适合实时监测。Faster R-CNN 则先在全图上生成候选区域,再对每个候选框做精细分类和位置回归,精度更高但更慢。检测器训练时要不断回答一个问题:预测框和真实位置到底“算不算对上”?这就引出了核心概念——IoU。

IoU=∣A∩B∣∣A∪B∣\text{IoU} = \frac{|A \cap B|}{|A \cup B|}

1. A(预测框):模型输出的候选框,表示“我觉得这里有虫”。

AA

2. B(真值框):标注人员标出的真实位置,表示“虫实际在这里”。

BB

3. 交集与并集:两个框重叠区域的面积,除以两者合并后的总面积。

∣A∩B∣∣A∪B∣\frac{|A \cap B|}{|A \cup B|}

4. IoU 阈值判定:比值不小于 0.5 记为正样本,统计正样本数完成计数。

IoU≥0.5\text{IoU} \ge 0.5

老王的第一套系统在客流平峰期很好用,可一到早高峰就“破功”:人贴人,绿框叠绿框,检测框互相打架。老李也遇到同样的麻烦——害虫密密麻麻挤在粘虫板上,粘连严重时框根本无法分开。检测框一乱,计数就崩。这逼着他们寻找另一条路:既然分不开个体,那就别分了,直接数“浓度”。

密度估计计数:不数人头,数“人潮浓度”

早高峰那次,老王盯着屏幕上纠缠成一团的绿框,突然冒出土办法:与其一只只数人,不如估一眼大堂“有多挤”,按人群密度折算总人数。这就是密度估计的思想——放弃“框住每个人”,改为预测“每个像素附近有多少人”。把每个标注点用高斯核扩散成一个光斑,多个光斑叠加成一张密度图,模型学的是“哪里密度高、高多少”。

老李的粘虫板正是这种方法的用武之地。先把每只虫的标注点变成二维高斯斑块,虫多的地方光斑叠得厚、数值大,虫少的地方就薄。然后用卷积网络直接回归这张密度图,网络输出后,把全图数值求和,就得到虫口总数。经典网络 CSRNet 的前端用 VGG 提取基础特征,后端用空洞卷积扩大感受野,在保持分辨率的同时把密度图刻画得更精细。

D(p)=∑i=1NGσ(p−pi)D(p) = \sum_{i=1}^{N} G_{\sigma}(p - p_i)

1. p_i(标注点):第 i 只害虫的像素坐标,来自人工标注的“虫在哪”。

pi=(xi,yi)p_i = (x_i, y_i)

2. G_σ(高斯核):以标注点为中心的二维高斯分布,把一个点摊成一片模糊光斑。

Gσ(p)=12πσ2e−∥p∥22σ2G_{\sigma}(p) = \frac{1}{2\pi\sigma^2} e^{-\frac{\|p\|^2}{2\sigma^2}}

3. 密度图叠加:对所有 N 个标注点求和,重叠区域数值自然更高。

D(p)=∑i=1NGσ(p−pi)D(p) = \sum_{i=1}^{N} G_{\sigma}(p - p_i)

4. 求和即虫口数:密度图在整个画面上的累加值近似等于害虫总数。

N≈∑pD(p)N \approx \sum_{p} D(p)

密度法不追求分开每个个体,天然适应粘连场景。老李板上密密麻麻的虫群,在密度图里变成一座座“小山峰”,山峰的总体积就是虫口数。用密度图还能顺带画出“虫害热力图”,哪片区域虫多一目了然。从此再也用不着跟一团乱麻的绿框死磕了。

训练评估指标:怎么知道 AI 数得准不准

老王给 AI 系统定了规矩:每天打烊后,把 AI 预测的人流和人工抽检的真实人流对比,差太多就复盘。老李也需要同样的考核机制。关键问题是:怎么“考核”一个计数模型?很多人下意识想到“准确率”,但对计数任务来说,准确率并不合适——计数不是分类,模型输出的是一个数值,不是“是/否”。

正确的指标是平均绝对误差 MAE 和均方误差 MSE。MAE 直观理解是“平均差几只”:预测 320 人、实际 315 人,绝对误差 5;多测几张图取平均,就是这个模型平均要差几只。MSE 则把误差先平方再平均,放大了“错得离谱”的情况:差 1 只得 1 分,差 10 只得 100 分,对极端错误更严厉。训练时,损失函数通常也取密度图逐像素的欧氏距离,让网络输出越来越接近真实密度图。

MAE=1N∑i=1N∣y^i−yi∣,MSE=1N∑i=1N(y^i−yi)2\text{MAE} = \frac{1}{N}\sum_{i=1}^{N}|\hat{y}_i - y_i|, \qquad \text{MSE} = \frac{1}{N}\sum_{i=1}^{N}(\hat{y}_i - y_i)^2

1. y_i(真实数):第 i 张测试图上人工核实的害虫只数,是考核的“标准答案”。

yiy_i

2. ŷ_i(预测数):模型对同一张图输出的估计只数,是考核的“考生答卷”。

y^i\hat{y}_i

3. MAE(平均绝对误差):逐张求差取绝对值再平均,反映平均偏差几只。

MAE=1N∑i=1N∣y^i−yi∣\text{MAE} = \frac{1}{N}\sum_{i=1}^{N}|\hat{y}_i - y_i|

4. MSE(均方误差):逐张求差平方再平均,放大极端错误,督促模型“别犯大错”。

MSE=1N∑i=1N(y^i−yi)2\text{MSE} = \frac{1}{N}\sum_{i=1}^{N}(\hat{y}_i - y_i)^2

真实虫害数据标注昂贵,动辄上万张图不太现实。解决思路是迁移学习:用 ImageNet 上预训练好的网络作为起点,把学到的基础视觉特征——边缘、纹理、形状——迁移到虫害图片上,再用几千张标注图微调,就能达到不错的精度。老王总结得妙:“这就像新招的保安先在大商场实习过,分到分店看一眼就上手了。”预训练模型就是那份“实习经历”。

部署优化策略:从云端教室到田间地头

商场的视频流必须实时处理,老王不能接受画面卡三秒才出数字;老李的果园更苛刻——田里没有机房,只有一根太阳能杆和一个小盒子。模型在实验室里跑得再准,装不进田间设备就是废纸。所以“部署”是决定整个系统能不能真正干活的一关。核心矛盾是:算力有限,模型却越来越大。

解决思路分两条。一是模型轻量化:换用 MobileNet 等轻量骨干网络,用深度可分离卷积替代标准卷积,参数量和计算量大幅下降;二是模型压缩:INT8 量化把 32 位浮点权重压缩成 8 位整数,模型体积缩到四分之一,剪枝则把贡献小的权重直接删掉,知识蒸馏让大模型“当老师”把能力教给小模型。云端负责训练,边缘盒子负责推理,各司其职。

Sspeedup=TbaseTlightS_{\text{speedup}} = \frac{T_{\text{base}}}{T_{\text{light}}}

1. T_base(原始耗时):优化前模型处理一张诱虫板图片所需的毫秒数。

TbaseT_{\text{base}}

2. T_light(优化后耗时):量化、剪枝后模型处理同一张图的毫秒数。

TlightT_{\text{light}}

3. S_speedup(加速比):前后耗时的倍数关系,例如 4 倍即速度提升为原来的四倍。

SspeedupS_{\text{speedup}}

老李把量化后的模型装进小盒子,插在诱虫板旁的太阳能杆上。每十分钟,盒子自动拍照、自动识别、自动计数,再把虫情数据传到云端平台,生成趋势曲线。一旦虫口密度逼近防治阈值,手机 App 就弹出预警。老李不用再蹲在地里,乡亲们都说:这比人蹲在田里瞪半天强多了。

行业应用与挑战:让每个果园都有“数字守门人”

随着技术成熟,虫害计数的应用早已不局限于某块粘虫板。智慧农业平台把分布在各地的虫情测报灯连接起来,自动拍照、自动计数、自动汇总,形成区域虫情地图;设施农业的温室大棚里,粘虫板加摄像头的组合全天候盯防,配合温湿度传感器,在虫害爆发前就发出预警;植保无人机装上摄像头,大范围航拍后用密度估计快速评估整片农田的虫口分布,指导精准喷洒,农药用量能省三到五成。

不过,落地远没有想象中顺利。虫害种类繁多,不同虫子的颜色、大小、姿态差异巨大,一个模型难以通吃;田间光照从早到晚剧烈变化,晨露反光、叶片遮挡都会干扰识别;更麻烦的是,有些益虫和害虫长得极像,闹出“误杀友军”就尴尬了。此时需要一个兼顾误报与漏报的指标——F1 分数。

F1=2×P×RP+R\text{F1} = \frac{2 \times P \times R}{P + R}

1. P(精确率):AI 报警“有虫害”的样本中确实有虫害的比例,衡量误报程度。

P=TPTP+FPP = \frac{TP}{TP + FP}

2. R(召回率):真实虫害样本中被 AI 找出的比例,衡量漏报程度。

R=TPTP+FNR = \frac{TP}{TP + FN}

3. F1(调和平均):精确率与召回率的综合评分,两者都高 F1 才高。

F1=2×P×RP+R\text{F1} = \frac{2 \times P \times R}{P + R}

回到开头的故事:老王的商场用 AI 数清了顾客,老李的果园用 AI 数清了害虫。数数这件小事,串起了现代管理中一条共同的逻辑——用数据做决策。AI 虫害计数从一张粘虫板走向千亩良田,背后是数据、算法、评估、部署的一整套系统工程。技术还在进化,但方向已经清晰:让每一片农田,都拥有一个不知疲倦、看得清清楚楚的“数字守门人”。

AI 应用场景

智慧农业虫情测报平台

阶段:数据采集 → 模型训练 → 推理部署

解决的问题:传统虫情监测依赖农技员定期下乡数粘虫板,覆盖范围小、时效差、数据分散,很难形成趋势判断。AI 平台把虫情测报灯、粘虫板摄像头、气象传感器连成一张网,自动计数、自动上传、自动预警,让植保站第一次拥有了“实时虫情地图”。

具体案例:某省级植保站在 200 个果园部署虫情测报终端,AI 每小时输出一次虫口密度,系统自动比对防治阈值。去年夏季蚜虫爆发前一周,平台提前推送红色预警,果园及时施药,损失较往年降低三成。

设施农业温室害虫防控

阶段:数据标注 → 模型微调 → 边缘推理

解决的问题:温室环境密闭、温度适宜,害虫繁殖极快,一旦失控整季绝收。人工巡检费时且容易漏掉早期虫情。在粘虫板旁部署边缘 AI 盒子,全天候自动计数,虫口密度一旦抬头立即联动通风、补光或精准施药。

具体案例:一家番茄温室在每座大棚安装 4 个 AI 计数节点,模型用迁移学习在本地 3000 张标注图上微调,MAE 控制在 1.2 只以内。系统上线后,农药喷洒次数从每季 12 次降到 6 次,产量反而提升 15%。

无人机大田巡检虫情评估

阶段:模型推理 → 密度估计 → 决策支持

解决的问题:大田作物面积广阔,粘虫板只能反映局部点位,无法回答“整片田哪里虫多”。无人机航拍配合密度估计算法,快速生成整片农田的虫害热力图,把“点上的计数”升级为“面上的评估”。

具体案例:无人机在 500 亩玉米田上空飞行 20 分钟,采集 400 张航拍图,AI 密度估计模型输出虫口分布热力图,发现北侧地块密度超标,植保无人机随即对超标区域精准喷洒,农药用量节省四成。

Python 演示

python57 行
import numpy as np  def gaussian_density_map(points, height=128, width=128, sigma=3.0):    """把害虫标注点扩散成高斯斑块并叠加,生成密度图。"""    density = np.zeros((height, width), dtype=np.float32)    radius = int(4 * sigma + 1)    yy, xx = np.mgrid[-radius:radius + 1, -radius:radius + 1]    kernel = np.exp(-(xx * xx + yy * yy) / (2.0 * sigma * sigma))    kernel /= kernel.sum()    for cx, cy in points:        cx = int(round(cx))        cy = int(round(cy))        if not (0 <= cx < width and 0 <= cy < height):            continue        x0 = max(0, cx - radius)        x1 = min(width, cx + radius + 1)        y0 = max(0, cy - radius)        y1 = min(height, cy + radius + 1)        density[y0:y1, x0:x1] += kernel[            y0 - (cy - radius):y1 - (cy - radius),            x0 - (cx - radius):x1 - (cx - radius)        ]    return density  def estimate_count(density):    """密度图求和即得虫口总数估计值。"""    return float(density.sum())  def evaluate(pred_counts, true_counts):    """用 MAE 与 MSE 评估计数模型的预测偏差。"""    preds = np.asarray(pred_counts, dtype=np.float32)    trues = np.asarray(true_counts, dtype=np.float32)    mae = np.mean(np.abs(preds - trues))    mse = np.mean((preds - trues) ** 2)    return mae, mse  def simulate_trap_images(num_images=12):    """模拟多张诱虫板图片:随机撒点、生成密度图、求和计数并评估。"""    rng = np.random.default_rng(42)    pred_counts = []    true_counts = []    for _ in range(num_images):        n = int(rng.integers(5, 21))        points = rng.random((n, 2)) * 80 + 24        density = gaussian_density_map(points)        pred_counts.append(estimate_count(density))        true_counts.append(n)    return evaluate(pred_counts, true_counts)  if __name__ == "__main__":    mae, mse = simulate_trap_images()    print("MAE=%.3f  MSE=%.3f" % (mae, mse))
目的:实现“标注点 → 高斯密度图 → 求和计数 → MAE/MSE 评估”的完整链路,演示虫害计数中最核心的密度估计思想。
  1. kernel = np.exp(-(xx * xx + yy * yy) / (2.0 * sigma * sigma))用二维高斯公式生成光斑核,把单个点“摊开”成一片模糊分布
  2. kernel /= kernel.sum()归一化核,保证每个光斑的权重总和为 1,这样密度图求和才等于虫数
  3. density[y0:y1, x0:x1] += kernel[...]把高斯斑块叠加进密度图对应区域,多点重叠处数值自然升高
  4. return float(density.sum())对整张密度图求和,得到虫口总数估计值
  5. mae = np.mean(np.abs(preds - trues))计算平均绝对误差,衡量“平均差几只”
  6. n = int(rng.integers(5, 21))随机模拟每张诱虫板上的真实虫口数
  7. points = rng.random((n, 2)) * 80 + 24在图片中央区域随机撒 n 个虫点坐标

常见误区

误区虫子颜色深、板子颜色浅,把图片二值化后数一数连通域不就行了?费那么大劲训练神经网络干嘛?

正解现实中的粘虫板上有灰尘、碎叶、其他昆虫,光照还总在变,二值化根本分不清“虫”和“脏点”。就像老王数顾客时,把推婴儿车的算一个人、把穿工服的员工也算顾客,数字自然越来越离谱。深度学习通过大量标注样本学到“虫的样子”的丰富特征,对光照、灰尘、姿态都有鲁棒性。

为何常见:干净实验图下二值化确实有不错效果,容易让人产生“够用了”的错觉,一遇到真实田间数据就崩。

误区只要模型能把每只虫都框住,框数就等于虫数,计数自然准,所以拼命调检测框的置信度阈值。

正解虫子在粘虫板上密集重叠时,框与框挤成一团,非极大值抑制会丢掉大量真实框,漏检率飙升。这正如早高峰商场的绿框叠成乱麻。此时应切换思路,用密度估计代替逐个体检测——不数框,数“浓度”,对粘连场景鲁棒得多。

为何常见:目标检测是 AI 视觉的“通用技能”,大家习惯性把它当成所有计数问题的默认解,忽略了两类方法各自的适用边界。

误区我的模型跑完测试集,准确率 98%,说明做得很好,可以交付了。

正解计数是回归任务而非分类任务,“准确率”通常是把连续预测值四舍五入后硬凑出来的数字,掩盖了真实偏差。正确做法是用 MAE 看平均差几只、用 MSE 看有没有离谱的大错。好比老王关心的是“今天预报 320 人、实际 315 人”,而不是一句模糊的“98% 都对”。

为何常见:分类任务的准确率概念太深入人心,很多人不假思索地把它套到一切任务上。

误区反正模型自己会学,标注时图省事,每张图少点几个点、位置大概差不多就行。

正解密度图由标注点生成,漏标一只虫,密度图就缺一块,模型也跟着漏学这只虫;点位偏了,高斯光斑就偏了,计数自然偏。标注质量直接决定模型精度的上限。就像教老王认人要先给清晰照片,照片模糊了,再聪明的学员也学不会。

为何常见:标注枯燥且耗时,人本能地想降低标准,却低估了监督学习中“标签即真理”的分量。

误区把模型从 FP32 量化成 INT8,体积变小、速度翻倍,精度应该一点不受影响才对。

正解量化是把 32 位浮点数值映射到 8 位整数,本质是有损压缩,精度必然有轻微下降;剪枝删掉权重同样会损失信息。工程上要对比压缩前后的 MAE,确认误差增量在可接受范围,必要时用知识蒸馏让大模型“教”回小模型。世上没有免费的午餐,速度的提升总要拿精度来换。

为何常见:厂商宣传总强调“体积缩小四倍、速度提升三倍”,却很少提精度损耗,容易让人误以为压缩零成本。

面试题

Q1. 虫害计数的核心目标是?

单选题 · easy

  • A.拍出好看的虫情照片
  • B.判断是否达到防治阈值← 正确答案
  • C.把害虫做成数据报表
  • D.识别所有害虫的品种

答案:B。虫害计数的根本目的是为施药决策提供依据——虫口密度超过防治阈值才需要干预,避免盲目用药。拍照、报表、品种识别都只是过程或辅助,决策才是核心,故选 B。

Q2. 虫口密度的计算公式是?

单选题 · easy

  • A.D = N / S(总数 ÷ 面积)← 正确答案
  • B.D = S / N(面积 ÷ 总数)
  • C.D = N × S(总数 × 面积)
  • D.D = N + S(总数 + 面积)

答案:A。虫口密度 D 表示单位面积上的平均害虫数,等于害虫总数 N 除以粘虫板有效面积 S,即 D = N / S。其余三个选项的量纲都不对,面积除以总数得到的是“每只虫占多少面积”,含义完全不同。

Q3. 密度图中高斯核的主要作用是?

单选题 · mid

  • A.给图像添加随机噪声
  • B.把点标注铺开成连续分布← 正确答案
  • C.压缩图片减少存储空间
  • D.将彩色图像转为灰度图

答案:B。标注的害虫位置是离散的点,无法直接回归。高斯核把每个点摊成一片模糊的光斑,叠加后形成连续密度图,网络才能逐像素学习“哪里虫多”,故选 B。高斯核与噪声、压缩、灰度化无关。

Q4. 害虫在粘虫板上密集粘连时,最宜采用?

单选题 · mid

  • A.锚点检测逐个框选计数
  • B.密度估计回归计数← 正确答案
  • C.人工目视逐个点数
  • D.阈值分割数连通域

答案:B。密集粘连场景下检测框互相重叠、漏检严重,恰好是密度估计的优势区——不区分个体,只估计密度并求和,C、D 两种人工或传统方法在密集场景下误差极大,故选 B。

Q5. 小目标害虫检测难的主要原因是?

单选题 · mid

  • A.害虫图像分辨率过高
  • B.害虫像素占比小特征弱← 正确答案
  • C.害虫移动速度实在太快
  • D.粘虫板颜色干扰相机

答案:B。害虫在图片中往往只有几十个像素,携带的边缘、纹理特征极少,网络难以提取判别信息,这是小目标检测的本质困难。分辨率高反而是有利条件,移动速度和板色不是主要因素,故选 B。

Q6. 目标检测中 IoU 衡量的是什么?

单选题 · hard

  • A.预测框和真值框的重合度← 正确答案
  • B.模型训练时的损失大小
  • C.图片中的害虫数量多少
  • D.检测框的颜色鲜艳程度

答案:A。IoU 定义为预测框与真值框交集面积除以并集面积,用于判定模型“有没有找对位置”。损失大小是训练指标,害虫数量是计数的输出,框色只是可视化属性,三者都与 IoU 无关,故选 A。

Q7. MAE 表示的含义是?

单选题 · easy

  • A.预测数与真实数的平均绝对差← 正确答案
  • B.模型参数量的具体数值大小
  • C.训练数据集的图片总张数
  • D.单张图片推理耗时的毫秒数

答案:A。平均绝对误差 MAE 对每个样本求预测值与真实值之差的绝对值,再取平均,直观反映“平均差几只”。参数量、图片张数、推理耗时分别是模型结构、数据规模和性能指标,故选 A。

Q8. 以下属于边缘部署常用模型优化手段的有?

多选题 · hard

  • A.INT8 量化压缩模型体积← 正确答案
  • B.剪枝去除冗余的网络参数← 正确答案
  • C.无限增大输入图片的分辨率
  • D.知识蒸馏迁移大模型能力← 正确答案

答案:ABD。INT8 量化把浮点权重转成 8 位整数,体积缩小四倍;剪枝删除贡献小的参数;知识蒸馏让大模型当老师训练小模型。增大输入分辨率只会增加计算量、拖慢推理,与边缘部署目标相反,故不选 C。

Q9. 以下属于数据增强策略的有?

多选题 · mid

  • A.对图片做随机水平翻转← 正确答案
  • B.调整图像的亮度与对比度← 正确答案
  • C.随机裁剪出局部区域样本← 正确答案
  • D.直接修改虫害标注点数

答案:ABC。翻转、亮度对比度扰动、随机裁剪都是典型的数据增强手段,用低成本方式扩充样本多样性,提升模型泛化能力。修改标注点属于造假,会污染标签并降低模型精度,故不选 D。

Q10. 关于迁移学习应用于虫害计数,说法正确的有?

多选题 · extreme

  • A.复用预训练网络的底层视觉特征← 正确答案
  • B.小数据下比随机初始化收敛更快← 正确答案
  • C.一定保证测试精度超过从头训练
  • D.适用于与源域差异极大的目标任务

答案:AB。预训练模型已学会边缘、纹理等通用视觉特征,迁移到虫害数据后只需微调高层,小样本下收敛更快,A、B 正确。但迁移并非万能:若目标域与源域差异过大可能负迁移,且不保证一定超过从头训练,C 绝对化错误,D 与迁移学习的前提相悖。