初涉 Deep Drive Dataset
Berkeley 大学最近推出的针对自动驾驶的街景数据集,号称比 Cityscapes 数据量更大,可泛化性更好。
语义实例分割(Semantic Instance Segmentation)
数据集一共有 40 种物体类别
与 Cityscapes 的对比
街景数据来自 US 的城市
模型更熟悉美国的街景。
图片标签
时间:daytime, nighttime, dawn/dusk;
场景:Residential,High-way, City street, Parking lot, Gas station, Tunnel;
天气:Clear, Partly cloudy, Over-case, Rainy, Snowy, Foggy;
Label Maps
语义分割使用标签映射(Label Maps),不是训练索引(Training Indices)。
更高的可泛化性
使用 Dilate Residual Network (Hyper parameter 相同)测试两个数据集时发现下表的关系:
Train | Test | Accuracy |
---|---|---|
deepDriver | deepDriver | High |
deepDriver | Cityscapes | Low |
Cityscapes | deepDriver | Low |
Cityscapes | Cityscapes | High |
在同样的数据集下训练结果都很好,但交叉使用不同测试集时精度下降显著。使用 deepDriver 训练的模型在 Cityscapes 测试集上的表现虽然较差,但有部分训练结果比在特定场景训练的结果要好。这意味着该数据集涵盖场景更多,训练出的模型的可泛化性会比较好。
以上参考:https://arxiv.org/abs/1805.04687
数据集详情
文件结构:
bdd100k
| seg
| | images
| | | train
| | | val
| | | test
| | color_labels
| | | train
| | | val
| | labels
| | | train
| | | val
检查数据集完整性的 python3
脚本
import os
import sys
if len(sys.argv) != 2:
print ('Usage: python checkdata.py <train|val>')
exit(-1)
dataset_category = sys.argv[1]
if dataset_category not in {'train', 'val'}:
print (f'Invalid argument "{dataset_category}"')
exit(-2)
data_size = 7000 if dataset_category == 'train' else 1000
dir_root = '.'
dir_color = os.path.join(dir_root, 'color_labels', dataset_category)
dir_imgs = os.path.join(dir_root, 'images', dataset_category)
dir_label = os.path.join(dir_root, 'labels', dataset_category)
color_names = os.listdir(dir_color)
img_names = os.listdir(dir_imgs)
label_names = os.listdir(dir_label)
assert len(color_names) == len(img_names) == len(label_names) == data_size
for i in range(len(color_names)):
prefix_color = color_names[i].split('_')[0]
prefix_img = img_names[i].split('.')[0]
prefix_label = label_names[i].split('_')[0]
assert prefix_color == prefix_img == prefix_label, f'{prefix_color}, {prefix_img}, {prefix_label}'
print ('All Good!')
包含分割多边形信息的 Json
文件目前还没有公开,因此只能做segmentation,不能做 detection + segmentation。但是单纯的 detection 数据文件已经是提供好的,可以使用查看工具查看标注矩形框和三种图片标签(时间、场景、天气)
官方代码目前的坑
https://github.com/ucbdrive/bdd-data/issues/17
https://github.com/ucbdrive/bdd-data/issues/5
https://github.com/ucbdrive/bdd-data/issues/15
其中,#15 issue 目前还未解决。
Written with StackEdit.
初涉 Deep Drive Dataset的更多相关文章
- fashion datasets图像检索实践project
Using Siamese Networks and Pre-Trained Convolutional Neural Networks (CNNs) for Fashion Similarity M ...
- 【深度学习Deep Learning】资料大全
最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books by Yoshua Bengio, Ian Goodfellow and Aaron C ...
- Joint Deep Learning for Pedestrian Detection笔记
1.结构图 Introduction Feature extraction, deformation handling, occlusion handling, and classification ...
- Machine and Deep Learning with Python
Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstiti ...
- Classifying plankton with deep neural networks
Classifying plankton with deep neural networks The National Data Science Bowl, a data science compet ...
- Growing Pains for Deep Learning
Growing Pains for Deep Learning Advances in theory and computer hardware have allowed neural network ...
- 通过Visualizing Representations来理解Deep Learning、Neural network、以及输入样本自身的高维空间结构
catalogue . 引言 . Neural Networks Transform Space - 神经网络内部的空间结构 . Understand the data itself by visua ...
- Coursera Deep Learning 2 Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization - week1, Assignment(Regularization)
声明:所有内容来自coursera,作为个人学习笔记记录在这里. Regularization Welcome to the second assignment of this week. Deep ...
- What are some good books/papers for learning deep learning?
What's the most effective way to get started with deep learning? 29 Answers Yoshua Bengio, ...
随机推荐
- ARM对异常的处理
所谓中断就是中断SoC的CPU核(异常可以引起CPU的中断) ARM对异常的处理 1.初始化: 1)设置中断源让它可以产生中断.如某个按键可以产生中断,那么可以设置它的GPIO引脚为中断引脚: 2)设 ...
- Oracle创建聚簇表
创建聚簇表过程: 创建簇(cluster)----创建簇表(基本类似创建一般表但有区别)----创建簇索引(index)----数据管理 创建簇: create cluster stu_ach(sid ...
- systemd的新特性及常见的systemd unit类型分析
systemd概述 )systemd是一种新的linux系统服务管理器,用于替换init系统,能够管理系统启动过程和系统服务,一旦启动起来,就将监管整个系统.在centos7系统中,PID1被syst ...
- Maven DebugConfiguration配置运行内存
-Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m
- Canvas路径方向
使用Canvas路径画图需要注意方向,画图方向是顺时针还是逆时针需要记住.下面让我们看看Canvas常见路径方向. arc 参数值 context.arc(x,y,r,sAngle,eAngle,co ...
- go加密算法:CBC对称加密(一)--3DES/AES
其实对称加密中的:DES\3DES\AES 采取的加解密步骤一致,只是小的细节不太一样.大家多看看就能写出来了 // rsao1.go package main import ( "byte ...
- Appointment Helper
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Que ...
- Flume采集目录及文件到HDFS案例
采集目录到HDFS 使用flume采集目录需要启动hdfs集群 vi spool-hdfs.conf # Name the components on this agent a1.sources = ...
- AtCoder Regular Contest 100 E - Or Plus Max
一道很好的dp题 dp[K]存的是 i满足二进制1属于K二进制1位置 最大的两个Ai 这样dp[K]统计的两个数肯定满足(i | j) <= K 然后不断做 update(dp[i | (1&l ...
- CakePHP 查询总结
返回 $this->Post->buildQuery(); 返回: Array ( [conditions] => [fields] => [joins] => Arra ...