您好,欢迎访问这里是您的网站名称官网!
全国咨询热线+86 0000 88888
杏悦-杏悦注册建筑节能设备站

新闻动态

NEWS CENTER
读取AI识虫数据集标注信息
发布时间:2025-02-15 10:47浏览次数:

AI识虫数据集结构如下:

  • 提供了2183张图片,其中训练集1693张,验证集245,测试集245张。
  • 包含7种昆虫,分别是Boerner、Leconte、Linnaeus、acuminatus、armandi、coleoptera和linnaeus。
  • 包含了图片和标注,请读者先将数据解压,并存放在insects目录下。

将数据解压之后,可以看到insects目录下的结构如下所示。

insects包含train、val和test三个文件夹。train/annotations/xmls目录下存放着图片的标注。每个xml文件是对一张图片的说明,包括图片尺寸、包含的昆虫名称、在图片上出现的位置等信息。

上面列出的xml文件中的主要参数说明如下:

-size:图片尺寸

-object:图片中包含的物体,一张图片可能中包含多个物体

  • name:昆虫名称
  • bndbox:物体真实框
  • difficult:识别是否困难

下面我们将从数据集中读取xml文件,将每张图片的标注信息读取出来。在读取具体的标注文件之前,我们先完成一件事情,就是将昆虫的类别名字(字符串)转化成数字表示的类别。因为神经网络里面计算时需要的输入类型是数值型的,所以需要将字符串表示的类别转化成具体的数字。昆虫类别名称的列表是:[‘Boerner’, ‘Leconte’, ‘Linnaeus’, ‘acuminatus’, ‘armandi’, ‘coleoptera’, ‘linnaeus’],这里我们约定此列表中:'Boerner’对应类别0,'Leconte’对应类别1,…,'linnaeus’对应类别6。使用下面的程序可以得到表示名称字符串和数字类别之间映射关系的字典。

  1. {'Boerner': 0,
  2. 'Leconte': 1,
  3. 'Linnaeus': 2,
  4. 'acuminatus': 3,
  5. 'armandi': 4,
  6. 'coleoptera': 5,
  7. 'linnaeus': 6}

调用get_insect_names函数返回一个dict,其键-值对描述了昆虫名称-数字类别之间的映射关系。

下面的程序从annotations/xml目录下面读取所有文件标注信息。

  1. 1693
  1. {'im_file': '/home/aistudio/work/insects/train/images/1915.jpeg',
  2. 'im_id': array([0]),
  3. 'h': 1268.0,
  4. 'w': 1268.0,
  5. 'is_crowd': array([0, 0, 0, 0, 0, 0, 0], dtype=int32),
  6. 'gt_class': array([1, 0, 2, 3, 4, 5, 5], dtype=int32),
  7. 'gt_bbox': array([[411.5, 583. , 142. , 199. ],
  8. [654.5, 418.5, 128. , 132. ],
  9. [678.5, 736.5, 70. , 90. ],
  10. [758. , 647.5, 53. , 76. ],
  11. [843. , 538.5, 69. , 96. ],
  12. [559.5, 788. , 68. , 83. ],
  13. [831.5, 754.5, 56. , 56. ]], dtype=float32),
  14. 'gt_poly': [],
  15. 'difficult': array([0, 0, 0, 0, 0, 0, 0], dtype=int32)}

通过上面的程序,将所有训练数据集的标注数据全部读取出来了,存放在records列表下面,其中每一个元素是一张图片的标注数据,包含了图片存放地址,图片id,图片高度和宽度,图片中所包含的目标物体的种类和位置。

在线客服
联系电话
全国免费咨询热线 +86 0000 88888
  • · 专业的设计咨询
  • · 精准的解决方案
  • · 灵活的价格调整
  • · 1对1贴心服务
在线留言
回到顶部

平台注册入口