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的更多相关文章

  1. fashion datasets图像检索实践project

    Using Siamese Networks and Pre-Trained Convolutional Neural Networks (CNNs) for Fashion Similarity M ...

  2. 【深度学习Deep Learning】资料大全

    最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron C ...

  3. Joint Deep Learning for Pedestrian Detection笔记

    1.结构图 Introduction Feature extraction, deformation handling, occlusion handling, and classification ...

  4. Machine and Deep Learning with Python

    Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstiti ...

  5. Classifying plankton with deep neural networks

    Classifying plankton with deep neural networks The National Data Science Bowl, a data science compet ...

  6. Growing Pains for Deep Learning

    Growing Pains for Deep Learning Advances in theory and computer hardware have allowed neural network ...

  7. 通过Visualizing Representations来理解Deep Learning、Neural network、以及输入样本自身的高维空间结构

    catalogue . 引言 . Neural Networks Transform Space - 神经网络内部的空间结构 . Understand the data itself by visua ...

  8. 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 ...

  9. 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, ...

随机推荐

  1. 关于H5 移动端css 文本超出时省略号 失效的问题

    之前写代码的时候遇到一个问题,就是用了下面这段css代码来让文字超出范围隐藏并显示省略号. overflow: hidden; text-overflow: ellipsis; display: -w ...

  2. 大数据框架-Hbase

    大规模结构化集群存储数据库.Table中的所有行都按照row key的字典序排列. 主键:row Key.访问行只能通过rowKey访问(范围或者准确值),或者全表扫描: 列族:cloumn fami ...

  3. JavaScript面向对象(封装)

    阮一峰的网络日志 1.生成实例对象的原始模式 var People = { name : '', age : '' } 根据这个原型对象生成两个实例对象 var people1 = {}; peopl ...

  4. Colored Boots题解

    题目来自Codeforce 1141Dhttp://codeforces.com/problemset/problem/1141/D 因为是全英文题面,就先简单的阐述一下题面. 首先输入一个数n,然后 ...

  5. 『ACM C++』 PTA 天梯赛练习集L1 | 052-053

    今日刷题,水题水题 ------------------------------------------------L1-052------------------------------------ ...

  6. 07.安装及使用gitlub

    博客为日常工作学习积累总结: 1.安装gitlub sudo yum install -y curl policycoreutils-python openssh-server openssh-cli ...

  7. 如何用SQL语句处理缓慢变化维(渐变维,拉链表)SCD-2?

    假设有一张居民维表,需要记录居民状态的变更历史,根据Kimball建模理论,设计居民维表如下: 另外在ODS中有居民信息的每日快照表(每天都记录一份居民的全量信息):O_USERINFO 如何将ODS ...

  8. 1.Python是什么

    前言   这里只是根据个人的理解而谈,庸俗浅薄,不是科学定义,也可以认为是假装自己理解啦,掩耳盗铃罢了.知无涯是多么的恐怖,哈哈 计算机语言   此处的语言不同于我们生活中所说的语言,因为生活中的语言 ...

  9. Java学习笔记十七:Java中static使用方法

    Java中static使用方法 一:Java中的static使用之静态变量: 我们都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的 ...

  10. 第7天 Java基础语法

    第7天 Java基础语法 今日内容介绍 循环练习 数组方法练习 循环练习 编写程序求 1+3+5+7+……+99 的和值. 题目分析: 通过观察发现,本题目要实现的奇数(范围1-100之间)的累加和. ...