Skip to content

IOAI 2025 Chicken Counting

  • 来源:noai-mis/IOAI/IOAI-2025/Individual-Contest/Chicken_Counting
  • 类型:CV / counting
  • 原始资料:Chicken_Counting.ipynbChicken_Counting_Solution.ipynbmetrics.py
  • 题面完整性:notebook 内完整
  • 解法资料完整性:有 solution notebook

题面大意

为散养乌鸡养殖场开发自动计数系统,从图像中估计鸡的数量,以支持保险理赔和养殖管理。题面提供训练数据、预训练的 FeatureExtraction 模型权重和 ChickenCounting 模型结构示例,提交验证/测试预测文件。

数据特点

鸡在图像中可能密集、遮挡、尺度变化大,背景复杂。目标是计数而不一定要求定位每只鸡。训练数据可能有限,但提供特征提取模型帮助建模。计数误差通常比分类更连续,离群图像会显著影响平均误差。

考点

核心考点是视觉计数。可以走直接回归数量,也可以预测密度图再积分。由于题面提供 feature extractor,参考方向是用 CNN 特征加回归头完成计数。

涉及知识点

  • CNN feature extraction。
  • Count regression。
  • Density map counting。
  • MAE/MSE 评估。
  • 数据增强和尺度鲁棒。

解法思路

基础方案是加载提供的 FeatureExtraction 权重,接一个计数回归头,输入图像输出标量数量。训练 loss 可用 MSE/MAE/Huber。为了避免负数,输出可用 ReLU/softplus 或推理后 clip。若数据有点标注或密度标签,可训练密度图;若没有,只能图像级回归。

可选/多种解法

全图回归:实现简单,适合图像级 count 标签。

密度图回归:若能构造点标注/伪密度,上限更高。

检测后计数:训练检测器定位鸡,再统计框数,但标注需求更高。

特殊技巧

对计数任务,随机裁剪会改变标签,必须同步调整数量或避免使用破坏标签的增强。水平翻转、颜色扰动通常安全。若图像中鸡密度不均,分块预测再求和可改善大图泛化。

调参优化

计数题应把验证 MAE 作为主调参指标。若走直接回归路线,重点调输入尺寸、分块大小、backbone 容量、loss 类型(MSE/MAE/Huber)、学习率和标签变换(如对数量取 log 后回归)。若走密度图或检测路线,重点调密度核大小、检测阈值、NMS 半径和分块重叠比例。数据增强需要和标签同步,随机裁剪的裁剪比例、缩放范围和颜色扰动都要通过验证 MAE 检查,不能只看训练 loss。

注意事项

提交文件命名和测试集 A/B 约定要跟 notebook 保持一致。训练集上的分数容易乐观,计数模型需检查不同密度区间的误差。

推广意义

这题是农业视觉计数的代表,可迁移到人群计数、作物果实计数、细胞计数和野生动物监测。