1.mxnet的输入数据解释:

mxnet的数据输入与其他的框架诸如tensorflow,pytorch不同,其特别之处在于:不直接输入图片,而是输入rec文件。
      rec文件是什么?rec文件内存放了每一张图片的data以及对应的label,相当于将所有图片集合成一个文件,且这个文件中含有图像的数据和标签信息。生成一个rec文件需要一个lst文件,再利用mxnet文件夹下的tools文件夹下的im2rec.py将图片生成为rec文件和idx文件。

调用格式:

python im2rec.py lst文件存放路径 image文件存放路径

这样就根据lst文件和图像文件生成了rec和idx文件,生成的rec和idx文件与lst文件存放路径相同。

那么接下来的问题是,如何生成这个lst文件?这个lst文件有什么呢?监督学习需要标签,因此这个lst文件里面需要包含每一张图片的存放地址(包括名称),标签信息。举个栗子:

      对上图的解释:第一列为数据的序号,第二列为车辆的ID,第三列为车辆的model信息(249中车型),第四列为图片存放的地址。
      所以对于编程人员来说,只需要编写预处理(preprocess)程序,将数据集中的标签信息(如车辆ID,model,color等信息图片存放地址一并写入lst文件,再利用im2rec.py文件将lst和图片联合生成rec文件即可。此时,对于feed给神经网络的数据已经处理完成。

2.Veri数据集分析:

VeRi数据集的文件结构如下:

以下内容来自readme.txt:

  1. “image_query/”. This dir contains 1678 images as queries.
  2. “image_test/”. This dir contains 11579 images for testing.
  3. “image_train/”. This dir contains 37778 images for training.
  4. “name_query.txt”. It lists all query file names.
  5. “name_test.txt”. It lists all test file names.
  6. “name_train.txt”. It lists all train file names.
  7. “gt_image.txt”. It lists the ground truths of each query in each line.
  8. “jk_image.txt”. It lists the junk images of each query in each line. The junk images are the images with the same camera ID to the query.
  9. “train_label.xml”. It lists the labels, e.g., vehicle ID, camera ID, color, type, of the training images.

对此数据集,我们需要处理的数据为:车辆ID,color,model,因此需要构建的lst文件各列分别为:数据序号,车辆ID,车辆color,车辆model,图片dir。获取各列信息只需读取xml文件即可。

3.xml文件的读取:

xml文件的构成如下:

      对于xml文件,其读法如下代码:

import os
import csv
import random
import glob
import  xml.dom.minidom
dom = xml.dom.minidom.parse('train_label.xml')
root = dom.documentElement
Items = root.getElementsByTagName('Item')
ROOT='PATH'
img_lst=[]
cnt=0
for Item in Items:imagename=Item.getAttribute('imageName')#print imagenamevehicleID=Item.getAttribute('vehicleID')colorID=Item.getAttribute('colorID')typeID=Item.getAttribute('typeID')imageDIR='%s/image_train/%s'%(ROOT,imagename)img_lst.append((cnt,vehicleID,colorID,typeID,imageDIR))cnt+=1print(img_lst)

利用xml库里的方法,即可几句语句简易的实现xml文件的读取。读取完xml后,即可利用前面提到的方法,将mxnet训练所需要的数据生成了。

基于Mxnet的车辆重识别(Re-ID)之数据集处理(以VeRi为例)相关推荐

  1. 车辆重识别、行人检测数据集、多摄像头数据集

    Time:2022 / 8/ 19 Author:QHL-taki content:Dataset Sharing 前言 ​ 近期博主在做多摄像头行人重识别的任务,查询多方资料,收集到一些重识别相关的 ...

  2. 基于mmcls的车辆属性识别

    一.概述 本研究主要针对车辆属性识别课题.研究能够识别车辆多种外观属性的智能算法,这些属性包含颜色. 类型.副驾驶是否有人.是否系安全带.遮阳板是否放下.车辆朝向.是否有车顶架等. 二.研究过程 2. ...

  3. 车辆重识别综述(2021年非专业总结)

    车辆重识别研究 车辆重识别是指给出一张车辆图片,可以识别出在摄像头下或者其他照片中出现的同一辆车.它可以被分为图像检索的子问题.车辆重识别在现实中可以应用到真实交通系统中,起到对目标车辆的定位,追踪的 ...

  4. (ICCV-2021)TransReID:基于transformer的目标重识别

    TransReID:基于transformer的目标重识别 paper题目:TransReID: Transformer-based Object Re-Identification paper是浙大 ...

  5. 最新综述:车辆重识别技术

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 [导读]这是一篇新出的车辆ReID中文综述论文,相信对那些想要整体 ...

  6. unity随机方向的代码_ECCV 2020 目前用于车辆重识别(vehicle reID)中最大的合成车辆数据集(代码开源)...

    论文题目: Simulating Content Consistent Vehicle Datasets with Attribute Descent 论文地址: https://arxiv.org/ ...

  7. ICCV 2019 | 旷视研究院提出VANet:具备视角感知力的车辆重识别网络

    本文介绍旷视研究院提出具备视角感知力的车辆重识别网络 VANet,它可以克服因被拍摄车辆的视角变化过于巨大所造成的性能严重削弱的问题. 论文名称:Vehicle Re-identification w ...

  8. 基于EfficientNetB0的车辆品牌识别

    基于EfficientNetB0的车辆品牌识别 0 运行环境:Colab tensorflow 2.1 1 代码 2 结论: 0 运行环境:Colab tensorflow 2.1 1 代码 %ten ...

  9. 车辆重识别(Re-ID)中的mAP和Rank-k评测指标

    1. mAP(mean Average precision) mAP(mean Average precision,平均精度均值)是目标检测和多标签图像分类等任务中常用的评测指标,因为这类任务中的标签 ...

最新文章

  1. android菜单(menu)资源
  2. 《Imperfect C++中文版》——2.1 对象生命周期
  3. mysql5.7 数据表的基本操作
  4. linux 挂载硬盘_Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令...
  5. Android Bluetooth模块学习笔记
  6. 分布式锁的几种实现方式
  7. ACM_无聊者序列(斐波那契数列大数取余(同余)+规律)
  8. 【运筹学】运输规划 ( 运输规划问题模型及变化 | 表上作业法引入 )
  9. leetcood学习笔记-204-计算质数
  10. 为什么 0.1 + 0.2 = 0.300000004
  11. 跟我一起学docker(17)--多节点mesos集群
  12. matlab 限幅,限幅是什么意思
  13. Ⅴ0还有别的方法设置图案吗_水冷空调扇如何使用 水冷空调扇使用方法介绍【图文】...
  14. mysql无法输入数据库_关于mysql数据库无法录入中文的问题
  15. 剑指offer——面试题41:和为S的连续整数序列
  16. NGN学习笔记4——软交换中的协议2—Megaco/H.248
  17. 产品数据管理(PDM)技术概述
  18. oppo计算机找不到,oppo手机照片在电脑显示不出来怎么办啊
  19. 造梦西游4手游服务器维护,造梦西游4手机版常见问题解答 新手看过来
  20. 2022年总结与展望

热门文章

  1. 微软魔镜——从“解语花”到“读心树”的神奇魔法
  2. vim使用gf(go file)跳转文件
  3. 中国大学Mocca哈工大C语言第8周编程题在线测试
  4. linux 下生成docx,linux下创建、删除文件和文件夹命令.docx
  5. OpenCV 中的 warpAffine
  6. 用java编写连连看_用java语言编写连连看游戏
  7. MyCat (一) --------- MyCat 概述
  8. @click=“active=index“ 这行是什么意思,绑定事件不应该是一个方法吗?
  9. 使用Oracle Enterprise Manager波折记录
  10. wiki中文语料的word2vec模型构建