[非官方]2023科大讯飞AI开发者大赛—X光安检图像识别挑战赛baseline

   日期:2024-12-25     作者:o93v3       评论:0    移动:http://w.yusign.com/mobile/news/4382.html
核心提示:X光安检图像识别挑战赛比赛链接:https://challenge.xfyun.cn/topic/info?type=Xray-2023 另外,如果有参加基于

X光安检图像识别挑战赛比赛链接:https://challenge.xfyun.cn/topic/info?type=Xray-2023

另外,如果有参加基于可见光图像的柑橘花果梢语义分割挑战赛的小伙伴,可以参考[非官方]23科大讯飞—基于可见光图像的柑橘花果梢语义分割挑战赛baseline

[非官方]2023科大讯飞AI开发者大赛—X光安检图像识别挑战赛b<i></i>aseline

X光安检是目前在城市轨交、铁路、机场、物流业广泛使用的物检手段。使用人工智能技术,辅助一线安检员进行X光安检判图,可以有效降低因为安检员经验、能力或工作状态造成的错漏检问题。在实际场景中,因待检测物品的多样性、成像角度、重叠遮挡等问题,X光安检图像检测算法研究存在一定挑战。

本赛事的任务是:基于科大讯飞提供的真实X光安检图像集构建检测模型,对X光安检图像中的指定类别的物品进行检测,识别出物体的位置和类别。

评估指标

评测方式采用计算mAP(IoU = 0.5)的方式。

首先计算每个类的AP

  1. 根据预测框和标注框的IoU是否达到阈值0.5判断该预测框是真阳性还是假阳性
  2. 根据每个预测框的置信度进行从高到低排序
  3. 在不同置信度阈值下计算精确率和召回率,得到若干组PR值
  4. 绘制PR曲线并计算AP值。

然后计算mAP:把所有类的AP值求平均得到mAP。

此次比赛提供带标注的训练数据,即待检测物品在包裹中的X光图像及其标注文件。

本次比赛标注文件中的类别为9类,包括

(knife)、钳子(tongs)、玻璃瓶(glassbottle)、压力容器(pressure)、笔记本电脑(laptop)、雨伞(umbrella)、金属杯(metalcup)、剪刀(scissor)、打火机(lighter)。

待识别物品的X光成像示意图如图所示。

比赛提供的X光图像及其矩形框标注的文件按照数据来源存放在不同的文件夹中,图像文件采用jpg格式,标注文件采用xml格式,各字段含义参照voc数据集。voc各字段含义对应表为

├── filename 文件名

├── size 图像尺寸

├── width 图像宽度

├── height 图像高度

└── depth 图像深度,一般为3表示是彩色图像

└── object 图像中的目标,可能有多个

├── name 该目标的标签名称

└── bndbox 该目标的标注框

├── xmin 该目标的左上角宽度方向坐标

├── ymin 该目标的左上角高度方向坐标

├── xmax 该目标的右下角宽度方向坐标

└── ymax 该目标的右下角高度方向坐标

提交格式说明

个人理解:每张图片分别预测9个类别,如果图片不包含该类别则为[],反之则给出[xmin, ymin, xmax, ymax, 置信度]。

4.1 解压数据集

首先,解压数据集到/home/aistudio/data目录下。

 

然后,整理数据集格式。

 

4.2 数据集划分

Step01: 使用 PaddleX 划分数据集。

首先安装 PaddleX 。

 

通过 split_dataset 这个 API 按照 0.9:0.1 的比例划分训练集和验证集。

 

Step02(非必须: PaddleX 划分数据集会生成一个 labels.txt 文件,这时我们可以选择将 labels.txt 中的类别顺序按照官方给出的类别顺序进行整理,这样后面模型预测出的类别标签就和官方给出的类别标签相对应。

 

处理后的结果如图所示

5.1 安装PaddleDetection

 

5.2 检测数据分析

该数据集总共包含 9 个标签,各类标签的数量分别为

  • pressure: 240
  • glassbottle: 3069
  • laptop: 366
  • umbrella: 1265
  • lighter: 429
  • knife: 722
  • tongs: 361
  • scissor: 441
  • metalcup: 251
 

图像尺寸分析: 通过图像尺寸分析,我们可以看到该数据集图片的尺寸不一。

 

5.3 模型训练

评测方式采用计算mAP(IoU = 0.5)的方式。因此我们可以将数据集转换成COCO格式,方便我们对模型性能指标进行分析

我们可以通过以下代码块将VOC格式数据集转换成COCO格式数据集。这里我修改了x2coco.py的源码,修改后的文件存放在/home/aistudio/work路径下,大家可以自行查看

 
 
 

PP-YOLOE+

 
 

RT-DETR

 
 

5.4 模型评估

PP-YOLOE+

 

指标如下

  • Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.556
  • Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.732
  • Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.608
  • Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.209
  • Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.501
  • Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.552
  • Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.563
  • Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.726
  • Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.763
  • Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.388
  • Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.710
  • Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.783

RT-DETR

 
  • Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.501
  • Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.678
  • Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.544
  • Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.195
  • Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.485
  • Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.495
  • Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.507
  • Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.645
  • Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.743
  • Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.693
  • Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.727
  • Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.769

5.5 模型导出

PP-YOLOE+

 

RT-DETR

 

5.6 结果文件生成

最后提交结果的时候,我们需要生成一个coco数据集标注格式的文件,我们可以通过PaddleDetection中Python部署的demo来生成该文件,但需要注意以下几个问题。

  1. 类别顺序为: {‘knife’: 1, ‘tongs’: 2, ‘glassbottle’: 3, ‘pressure’: 4, ‘laptop’: 5, ‘umbrella’: 6, ‘metalcup’: 7, ‘scissor’: 8, ‘lighter’: 9};
  2. 提交文件需按序排列,首先按图片顺序排列,然后按类别顺序排列,置信度顺序随意。
  3. 坐标值必须为大于0的正数且不能超过图像的宽高。

修改后的infer.py文件存放在/home/aistudio/work目录下,大家可以自行查看

 

PP-YOLOE+

 

RT-DETR

 

基础模型性能比较

模型名称分数ppyoloe_plus_crn_x_80e_coco0.65913rtdetr_hgnetv2_x_6x_coco0.62284

以上是[非官方版本]2023科大讯飞AI开发者大赛—X光安检图像识别挑战赛baseline,大家将更多的精力花在改进模型提升模型的性能上。

  1. 采样均衡:grassbottle的数目明显多于其它类别,可以考虑对部分类别进行离线增强实现采样均衡。
  2. 增加训练轮次:可以增加训练的轮数,大力出奇迹
  3. 模型选择:比赛模型大小不能超过600MB,鼓励使用模型压缩和轻量化方法,同时提交的模型须为单模型,禁止使用多模型融合方法。我们可以采用更大参数量的模型,再对模型进行量化、剪枝、蒸馏等操作,减小模型体积的同时保持更好的检测性能。
  4. 建议参赛者在参加初赛过程中记录实验过程。
     本文地址:http://w.yusign.com/news/4382.html    述古往 http://w.yusign.com/static/ , 查看更多
 
标签: 模型 图像 数据集
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号