CocoStuff—基于Deeplab训练数据的标定工具【一、翻译】(未完)
一、CocoStuff简介
CocoStuff是一款为deeplab设计的,运行在Matlab中的语义标定工具,其标定结果和结合Deeplab训练出的结果均为mat文件格式,该项目源码已在github上进行开源。
二、说明
本文为系列博客第一篇,主要对项目readme进行简单的翻译,主要是为了自己在学习踩坑过程中方便查阅说明,如果能帮到大家便是极好的。
*注:未完,部分只是先扔上来,将来会继续完善。
笔者在探索之前并未在网上搜索到关于CocoStuff的相关中文博客,所以这可能是第一篇,有那里不到位的请多多指教,互相学习。
三、翻译
COCO-Stuff 10K数据集 v1.1(目前已过时)
作者:Holger Caesar, Jasper Uijlings, Vittorio Ferrari
概述
欢迎来到COCO-Stuff数据集的官方主页。COCO-Stuff添加了像素级标定(标注)的流行的COCO数据集,这些标注可以用于一些像语义分割、对象检测和图像字幕的场景理解任务。
目录
亮点
更新
成果和未来计划
数据集
语义分割模型
标定工具
Misc(未翻)
亮点
10,000张来自COCO的复杂图像
稠密的像素级标注
91个things类和91个stuff类
实例级标注来自COCO的的数据
物与物的复杂空间环境
每幅coco的图片有5句说明
更新
2017年7月11日:添加了Resnet和VGG的Deeplab模型
2017年4月6日:数据集版本1.1:修改标签指数
2017年3月31日:发布JSON格式的标注
2017年3月9日:添加标签层次脚本
2017年3月8日:更正arXiv 文件中的table 2
2017年1月10日:在标注工具中添加了提取SLICO超级像素的脚本
2016年12月12日:发布数据集版本1.1和arXiv文件
成果
目前发布的COCO-Stuff-10K版本包括训练和测试的标注,以及我们邀请用户向我们报告他们的结果用来补充这张表。在不久的将来,我们会将COCO-Stuff扩展到COCO的所有图像中,并且我们会组织一个官方比赛,在比赛中的测试标注只会被组织者所知道。
点击此处查看最新表格
| Method | Source | Class-average accuracy | Global accuracy | Mean IOU | FW IOU |
|---|---|---|---|---|---|
| FCN-16s [3] | [1] | 34.0% | 52.0% | 22.7% | - |
| Deeplab VGG-16 (no CRF) [4] | [1] | 38.1% | 57.8% | 26.9% | - |
| FCN-8s [3] | [6] | 38.5% | 60.4% | 27.2% | - |
| DAG-RNN + CRF [6] | [6] | 42.8% | 63.0% | 31.2% | - |
| OHE + DC + FCN+ [5] | [5] | 45.8% | 66.6% | 34.3% | 51.2% |
| Deeplab ResNet (no CRF) [4] | - | 45.5% | 65.1% | 34.4% | 50.4% |
| W2V + DC + FCN+ [5] | [5] | 45.1% | 66.1% | 34.7% | 51.0% |
数据集
| Filename | Description | Size |
|---|---|---|
| cocostuff-10k-v1.1.zip | COCO-Stuff dataset v. 1.1, images and annotations | 2.0 GB |
| cocostuff-10k-v1.1.json | COCO-Stuff dataset v. 1.1, annotations in JSON format (optional) | 62.3 MB |
| cocostuff-labels.txt | A list of the 1+91+91 classes in COCO-Stuff | 2.3 KB |
| cocostuff-readme.txt | This document | 6.5 KB |
| Older files | ||
| cocostuff-10k-v1.0.zip | COCO-Stuff dataset version 1.0, including images and annotations | 2.6 GB |
用法
为了使用COCO-Stuff数据集,请按照下面的步骤:
从git上下载项目:
git clone https://github.com/nightrome/cocostuff10k.git在shell中打开数据集:
cd cocostuff10k如果你有Matlab,执行下面的命令:
把代码文件添加到Matlab路径中:startup();
在Matlab中运行脚本demo:demo_cocoStuff();
这个脚本显示图像、图像内容、内容加标注以及图像标题。或者,运行下面的Linux命令或手动下载解压数据集:
wget --directory-prefix=downloads http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/cocostuff-10k-v1.1.zip
unzip downloads/cocostuff-10k-v1.1.zip -d dataset/
MAT格式
COCO-Stuff的标注是储存在每张图对应的.mat文件中,这些文件的格式和Tighe等人使用的格式相同。每个文件包括以下字段:
S: 像素化的标签地图的尺寸
names:COCO-Stuff中的东西的名字和类别,更多详情请看Label Names & Indices
captions:图片标题,由5个不同的人平均标注
regionMapStuff:与S大小相同的映射,恰中包含大约值的索引,1000个区域用来注释图像。
regionLabelStuff:每个超级像素级的物品标签的列表,这些regionMapStuff的索引都对应regionLabelStuff的条目。
JSON格式
另外,我们还提供了JSON格式的标注,这些标注是从COCO中复制出来的。我们使用RLE编码格式,将图像中呈现的每种东西的类别都标注了单个注释。要获取标注:
wget--directory-prefix=dataset/annotations-json http://calvin.inf.ed.ac.uk/wpcontent/uploads/data/cocostuffdataset/cocostuff-10k-v1.1.json
或者用这个脚本从.mat文件中提取它们
标签名称&指数
为了与COCO兼容,版本1.1有91个东西类(1-91),91个东西类(92-182)和一个类“未标记”(0)。请注意,Coco2015中的11个Thing类没有任何分段注释。课桌、门和镜子既可以是东西,也可以是东西,因此既可以是可可,也可以是可可。为了避免混淆,我们在coco-thing中的那些类中添加了后缀“-东西”。类的完整列表可以找到这里.。旧版的COCO-东西1.0有80个东西类(2-81个),91个东西类(82-172个)和一个类“未标记”(1)
Label等级体系
标签的层次结构存储在CocoStuffClass‘中。为了使其可视化,在matlab中运行CocoStuffClasses.showClassHierarchyStuffThings()`(也可用于简单的东西和东西类)。输出应该类似于下面的图

语义分割模型
为了鼓励对stuff and things的进一步研究,我们提供了经过训练的语义分割模型
DeepLab VGG-16
Use the following steps to download and setup the DeepLab [4] semantic segmentation model trained on COCO-Stuff. It requires deeplab-public-ver2, which is built on Caffe:
- Install Cuda. I recommend version 7.0. For version 8.0 you will need to apply the fix described here in step 3.
- Download deeplab-public-ver2:
git submodule update --init models/deeplab/deeplab-public-ver2 - Compile and configure deeplab-public-ver2 following the author's instructions. Depending on your system setup you might have to install additional packages, but a minimum setup could look like this:
cd models/deeplab/deeplab-public-ver2cp Makefile.config.example Makefile.config- Optionally add CuDNN support or modify library paths in the Makefile.
make all -j8cd ../..
- Configure the COCO-Stuff dataset:
- Create folders:
mkdir models/deeplab/deeplab-public-ver2/cocostuff && mkdir models/deeplab/deeplab-public-ver2/cocostuff/data - Create a symbolic link to the images:
cd models/deeplab/cocostuff/data && ln -s ../../../../dataset/images images && cd ../../../.. - Convert the annotations by running the Matlab script:
startup(); convertAnnotationsDeeplab();
- Download the base VGG-16 model:
wget --directory-prefix=models/deeplab/cocostuff/model/deeplabv2_vgg16 http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/deeplabv2_vgg16_init.caffemodel
- Run
cd models/deeplab && ./run_cocostuff_vgg16.shto train and test the network on COCO-Stuff.
DeepLab ResNet 101
The default Deeplab model performs center crops of size 513*513 pixels of an image, if any side is larger than that. Since we want to segment the whole image at test time, we choose to resize the images to 513x513, perform the semantic segmentation and then rescale it elsewhere. Note that without the final step, the performance might differ slightly.
- Follow steps 1-4 of the DeepLab VGG-16 section above.
- Download the base ResNet model:
wget --directory-prefix=models/deeplab/cocostuff/model/deeplabv2_resnet101 http://calvin.inf.ed.ac.uk/wp-content/uploads/data/cocostuffdataset/deeplabv2_resnet101_init.caffemodel
- Rescale the images and annotations:
cd models/deeplabpython rescaleImages.pypython rescaleAnnotations.py
- Run
./run_cocostuff_resnet101.shto train and test the network on COCO-Stuff.
标注工具
在[1]中,我们提出了一个简单而有效的文本注释工具,用于注释可可数据集。它使用画笔工具对SLICO超级像素进行注释(使用带有内容标签的codeofAchantet al.)]进行预计算)。这些注释被现有的来自COCO的像素级事物注释所覆盖。
我们提供了注释工具的基本版本:
- 准备需要的数据:
- 指定一个username
annotator/data/input/user.txt. - 创建一个图片list文件
annotator/data/input/imageLists/<user>.list. - 在Matlab中提取所有图片的things标签:
extractThings(). - 在Matlab中提取所有图片的超像素:
extractSLICOSuperpixels(). - 在这个文件的最上面的参数设置是否启用超像素、things标签、多边形绘图
CocoStuffAnnotator.m.
- 指定一个username
- 在Matlab中运行标注工具:
CocoStuffAnnotator();- 工具把.mat的标签文件放在这里
annotator/data/output/annotations. - 通过在Matlab中运行这个脚本将标注预览为.png格式
annotator/code/exportImages.m.这些预览图会存在这里annotator/data/output/preview.
- 工具把.mat的标签文件放在这里
CocoStuff—基于Deeplab训练数据的标定工具【一、翻译】(未完)的更多相关文章
- CocoStuff—基于Deeplab训练数据的标定工具【五、训练成果分析】
一.说明 本文为系列博客第五篇,主要展示训练的结果,以及对训练进行分析. *注:暂未进行大量的数据训练以及IoU测算,目前只做到使用Matlab将训练结果的mat文件可视化. 二. *占坑
- CocoStuff—基于Deeplab训练数据的标定工具【二、用已提供的标注数据跑通项目】
一.说明 本文为系列博客第二篇,主要讲述笔者在使用该团队提供已经标注好的COCO数据集进行训练的过程. 由于在windows中编译Caffe和Deeplab特别的麻烦,笔者并没有去探索,后续可能会去尝 ...
- CocoStuff—基于Deeplab训练数据的标定工具【三、标注工具的使用】
一.说明 本文为系列博客第三篇,主要展示COCO-Stuff 10K标注工具的使用过程及效果. 本文叙述的步骤默认在完成系列文章[二]的一些下载数据集.生成超像素处理文件的步骤,如果过程中有提示缺少那 ...
- CocoStuff—基于Deeplab训练数据的标定工具【四、用该工具标定个人数据】
一.说明 本文为系列博客第四篇,主要讲述笔者在正式使用该工具使用自定义标签标注自己的图片的过程. 二.数据整理 相信大家已经在 *占坑
- obj-c编程15[Cocoa实例04]:基于Core Data的多文档程序示例[未完待续]
上一个例子我们使用的模式数据实际上是基于一个Person数组,现在我们看一下如何使用Cocoa中的Core Data框架支持,几乎不用写一行代码,完成模式数据的建立. 我们这里模式的元素使用的是Car ...
- X86上搭建交叉工具链,来给龙芯笔记本编译本地工具链(未完待续)
故事的背景是,我买了一台龙芯2F的笔记本来装B. 为什么说是装B呢?因为不但操作系统是Linux,而且CPU还是龙芯的. 一般人有这么酷的装备吗?简直是装B大圣啊. 这里一定要申明一点,本人不是IT技 ...
- X86给龙芯笔记本编译本地工具链(未完待续)
我买了一台龙芯2F的笔记本来当玩具. 买回来发现,这台笔记本上没法安装软件,因为既没有软件仓库,也没有GCC. 因此需要构建交叉工具链和构建本地工具链. 下面是我研究如何搞定着一切的笔记. 工具链组件 ...
- monkey工具使用(未完待续)
monkey命令详解: 转自:http://blog.csdn.net/jlminghui/article/details/38238443 http://www.cnblogs.com/wfh198 ...
- 一行导出所有任意微软SQL server数据脚本-基于Python的微软官方mssql-scripter工具使用全讲解
文章标题: 一行导出所有任意微软SQL serer数据脚本-基于Python的微软官方mssql-scripter工具使用全讲解 关键字 : mssql-scripter,SQL Server 文章分 ...
随机推荐
- 如何使用jackson美化输出json/xml
如何使用jackson美化输出json/xml 1.美化POJO序列化xml 下面将POJO列化为xml并打印. Person person = new Person(); //设置person属性 ...
- ansible--03
一. Ad-hoc命令简介 1. 格式:ansible <host> [opion] 2. option参数: -v:输出详细的执行过程, -vvv最详细的结果 -i:指定inventor ...
- 【转】np.linspace()、np.logspace()、np.arange()
转自:https://blog.csdn.net/ui_shero/article/details/78881067 1.np.linspace() 生成(start,stop)区间指定元素个数num ...
- 访问 IIS 元数据库失败解决问题的方法
近日调试一Asp.net程序,出现了“访问 IIS 元数据库失败”的错误信息,最后经过搜索发现了解决问题的方法. 解决方法如下: 1.依次点击“开始”-“运行”. 2.在“运行”栏内输入 “C:\WI ...
- ISE14.7使用教程(一个完整工程的建立)
FPGA公司主要是两个Xilinx和Altera(现intel PSG),我们目前用的ISE是Xilinx的开发套件,现在ISE更新到14.7已经不更新了,换成了另一款开发套件Vivado,也是Xil ...
- 可用的ntp服务器
操作系统中带的:time.windows.com 和 time.nist.gov 网上查到一个公共的:cn.ntp.org.cn 以上三个连接多次才成功一次,速度不好. 在移动电视盒子上有一个配置: ...
- plsql分页
分页是任何一个网站(bbs,网上商城,blog)都会使用到的技术,因此学习pl/sql编程开发就一定要掌握该技术.如下图: 1. 编写无返回值的存储过程 首先是掌握最简单的存储过程,无返回值的存储过 ...
- 洛谷 P1896 [SCOI2005]互不侵犯
洛谷 P1896 [SCOI2005]互不侵犯 题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8 ...
- 一维码Code 128简介及其解码实现(zxing-cpp)
一维码Code 128:1981年推出,是一种长度可变.连续性的字母数字条码.与其他一维条码比较起来,相对较为复杂,支持的字元也相对较多,又有不同的编码方式可供交互运用,因此其应用弹性也较大. Cod ...
- 2 vue 。js
元素option el element 混淆 webpack 项目依赖 save 开发依赖 虚拟dom的问题 在js的基础上封装的,不是jquery 整个网页就一个实例化对象 v 下一张 怎么做 ...