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. Oracle 体系结构二 内存结构

    Oracle实例由共享内存块(SGA)以及大量的后台进程构成. SGA必须包含的数据结构: 数据库缓冲区缓存 日志缓冲区 共享池 可选的数据结构: 大池 JAVA池 流池 其他缓冲区缓存池 用户会话还 ...

  2. centos7安装ftp

    1.服务器初始化检查 检查selinux,firewall,iptables是否开启 1.查看selinux的运行状态 [root@zeq ~] getenforce Disabled 我的现在是关闭 ...

  3. [Doctrine Migrations] 数据库迁移组件的深入解析一:安装与使用

    场景分析 团队开发中,每个开发人员对于数据库都修改都必须手动记录,上线时需要人工整理,运维成本极高.而且在多个开发者之间数据结构同步也是很大的问题.Doctrine Migrations组件把数据库变 ...

  4. ckeditor + ckfinder + oss存储

    ckeditor 与 ckfinder 的整合方法 网上有很多,这里我也就不说了.  (主要是以前整合的现在忘记咋弄的了0.0) 我这里整合后直接使用js代码 <script type=&quo ...

  5. 理解Linux系统调用

    目录 1.什么是系统调用 2.linux的系统调用 3.linux系统调用实现 1.什么是系统调用 系统调用,指的是操作系统提供给用户程序调用的一组特殊接口,用户程序可以根据这组接口获得操作系统内核的 ...

  6. C++函数调用之——值传递、指针传递、引用传递

    1.简介 1.值传递:形参时实参的拷贝,改变函数形参并不影响函数外部的实参,这是最常用的一种传递方式,也是最简单的一种传递方式.只需要传递参数,返回值是return考虑的:使用值传递这种方式,调用函数 ...

  7. arping命令用法

    arping命令使用说明 BusyBox v1.17.3 (2011-07-20 17:01:30 CST) multi-call binary. Usage: arping [-fqbDUA] [- ...

  8. matlab读取txt文本

    textread函数 原文:http://blog.sina.com.cn/s/blog_618af1950100k926.html 文档:https://ww2.mathworks.cn/help/ ...

  9. HTTPS相关知识以及在golang中的应用

    最近简单学习了HTTPS,并在golang中实践了一下,现在把学到的知识记录下来,方便以后查看,如果有幸能帮到有需要的人就更好了,如果有错误欢迎留言指出. 一些简单的概念,可以自行百度百科 HTTPS ...

  10. python2.7入门---CGI编程&文件上传&文件下载

        这次我们来看下文件下载和上传的操作.首先是上传,HTML设置上传文件的表单需要设置 enctype 属性为 multipart/form-data,代码如下所示: <!DOCTYPE h ...