使用matlab将BITVehicle_Dataset标注结果转为适用于darknet格式的voc格式(xml)

本文介绍了一项无人机车辆巡检项目的实践经验,分享了如何整合并利用不同格式的数据集(如MATLAB的mat文件和JSON文件)进行目标检测模型训练的过程。

最近在做一个无人机车辆巡检的项目,需要用到大量的汽车相关的视频图片数据,前几天参考一些资料训练了bdd100k数据集,但是无人机巡检犹豫在高空中拍摄,清晰度不高,同时角度是俯视,这种角度的数据很难找,不过做实验阶段先找开源的数据吧,同时需要自己标注大量的数据进行补充。这里将BITVehicle_Dataset数据集与bdd100k数据集联合训练,但是BITVehicle_Dataset数据集提供的标注文件是一个matlab的mat文件,处理bdd100k数据集时已经用python实现了json格式到xml格式的转换,并从xml格式数据中组装darknet需要的数据格式(txt)格式,BITVehicle_Dataset数据集是{'Bus', 'Truck', 'SUV', 'Microbus', 'Sedan', 'Minivan'}这几种车型,bdd100k力度比较粗,没有细化到品牌,我这里的解决办法是在matlab中先将mat格式的标注数据转为voc格式,然后再用python从xml中提取标注框的信息,生成最终的训练数据。类别的转换使用一个python中的映射字典完成,这样后面需要用到BITVehicle_Dataset数据集时更加方便

下面是matlab提取BITVehicle_Dataset标注信息,转成xml的代码,已经带有详细注释。其他的脚本陆陆续续放上来,备忘。每天写一点吧项目还没做完。

data=load('./BITVehicle_Dataset/VehicleInfo.mat')
cars=data.VehicleInfo;
for n=1:length(cars)
    n;
    car=cars(n);
    %%
    %每一辆车新建一个xml文件存储车的信息
    carName=car.name;
    %图片的高度
    carHeight=car.height;
    %图片的宽度
    carWidth=car.width;
    %新建xml文件
    annotation = com.mathworks.xml.XMLUtils.createDocument('annotation');
    annotationRoot 
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值