VPGNet数据集解析且将分割标签转化为目标检测标签

VPGNet交通标志数据集

VPGNet是一个包含了四个场景(晴天,夜间,阴雨等)下的交通路况数据集,其主要是针对地面标志(箭头线,人行道)的任务,该数据集一共包括以下17类地面标注

{
   0:'background',          1:'lane_solid_white',
 2:'lane_broken_white',            3:'lane_double_white', 
 4:'lane_solid_yellow',            5:'lane_broken_yellow',
 6:'lane_double_yellow',            7:'lane_broken_blue',
 8:'lane_slow',            9:'stop_line',
 10:'arrow_left',            11:'arrow_right', 
 12:'arrow_go_straight',            13:'arrow_u_turn',
 14:'speed_bump',            15:'crossWalk',
 16:'safety_zone',            17:'other_road_markings',

该数据集下载地址为:VPGNet数据集下载
下载解压得到的数据集文件格式为
Scene_x
—%datetime_aaa_xxx
-----id.mat
该数据集的所有有用信息均保存在一个(640×480×5)的mat文件中。

VPGNet数据集内容解析

数据集的关键信息均保存在(6404805)的数组中,前三个通道为图片的rgb三通道信息,第四维通道为图像的17类二值分割图像(像素值为0-17),第五维通道为该论文提出的vanish point信息(我这里不需要用)。为了利用该数据集,我们需要将其信息分为原始图像images和标签文件labels两部分。python中的scipy库提供了loadmat函数能解析.mat文件。

from scipy.io import loadmat
m=loadmat(mat_file)

loadmat函数返回的是字典形式的变量,再继续解析字典m即可分别得到images与labels,完整代码如下:

#取.mat文件,并将其转为图片 
import glob
import cv2
import os
import numpy as np
from scipy.io import loadmat
from tqdm import tqdm


root_path='/data/dataset/TrafficMarking/VPGNet/scene_2'   #存放mat文件的地址
#save_path='/data/dataset/TrafficMarking/VPGNet/images'    #保存原始rgb图像地址
save_path='/data/dataset/TrafficMarking/VPGNet/masks/'  #保存原始分割mask图像
datefiles=[os.path.join(root_path,f) for f in os.listdir(root_path)]
pbar=tqdm(datefiles)
for df in pbar:        #mat_file='/data/dataset/TrafficMarking/VPGNet/scene_1/20160512_1424_46/000001.mat' 
   mat_files=glob.glob(df+'/*.mat')
   for mat_file in mat_files:        
   	m=loadmat(mat_file)     #mat文件的读取格式为dict,按照key,values处理      VPGNet图片信息储存在['rgb_seg_vp']里 (480,640,5)        
   	rgb_img=m['rgb_seg_vp'][:,:,:3]        
   	#修改通道 使之恢复为为原始的rgb图像 
   	b=rgb_img[:,:,0]       
   	g=rgb_img[:,:,1]        
   	r=rgb_img[:,:,2]        
   	rgb_img=cv2.merge((r,g,b))        
   	seg=m['rgb_seg_vp'][:,:,3]*15   #*15为了可视化更清楚         
   	vp=m['rgb_seg_vp'][:,:,4]
        file_name=
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值