这里要给大家推荐一位超级厉害的github大佬,他写的代码,是我见过最美滴代码:https://github.com/ML-Song/
今天有幸能够听到这位大佬做关于Detection的报告,下面请看报告笔记:
虽然叫做Detection,但是里面实际在做分割和数数。
哈哈,这应该叫做detective吧,还声东击西的。大佬太可爱了叭。
需要改的是:tarin 以及 dataset(需要换成路上的情景)
还有一个重要的就是config.py文件,比如里面有数据集路径。(但是大佬没上传)
这里需要付费才能获取,但是为了我参加的YSL的比赛,我还是狠了狠心,买下了。花了52块钱,买了一周的服务费用,三次远程指导费用。
好啦,我已经把cityspace下载下来了,直接从官方的下载地址,用的是学校的邮箱。
第一步:了解Cityscapes
Cityscapes数据集,即城市景观数据集,这是一个新的大规模数据集,其中包含一组不同的立体视频序列,记录在50个不同城市的街道场景中,除了一组较大的20000弱注释帧外,还包含5000帧的高质量像素级注释。因此,数据集的数量级要比以前的数据集大的多。
城市景观数据集旨在:
评价视觉算法在语义城市场景理解两大任务中的性能:像素级和实例级语义标注;
支持旨在利用大量(弱)注释数据的研究,例如用于训练深层神经网络
Cityscapes数据集则是由奔驰主推,提供无人驾驶环境下的图像分割数据集。用于评估视觉算法在城区场景语义理解方面的性能。Cityscapes包含50个城市不同场景、不同背景、不同季节的街景,提供5000张精细标注的图像、20000张粗略标注的图像、30类标注物体。用PASCAL VOC标准的 intersection-over-union (IoU)得分来对算法性能进行评价。 Cityscapes数据集共有fine和coarse两套评测标准,前者提供5000张精细标注的图像,后者提供5000张精细标注外加20000张粗糙标注的图像。
Cityscapes数据集包含2975张图片。包含了街景图片和对应的标签。大小为113MB。
第一张图是的高质量密集像素注释的示例,提供了5 000张图像。重叠颜色编码语义类(参见类定义)。请注意,交通参与者的单个实例是单独标注的。第二张是粗略注释,除了精细的注释外,我们还与pallas ludens合作,为一组20000图像提供更粗的多边形注释。同样,重叠的颜色对语义类进行编码(参见类定义)。注意,我们的目标不是注释单个实例,但是,我们标记了覆盖单个对象的多边形。
但是,无奈呀,这个数据集,下载太慢了,30k/s,40G,这大概还需要53年……
但是我准备从VOC数据集开始做起,先把代码跑通再说!
另一位大佬总结的:https://blog.csdn.net/weixin_39679367/article/details/80932532
全部有二十个类:
person, bird, cat, cow, dog, horse, sheep, aeroplane, bicycle, boat, bus, car, motorbike, train, bottle, chair, dining table, potted plant, sofa, tv / monitor
(一)主要任务
有五个主要任务:
分类:对于每一个类,在一张测试图片中预测该类至少一个对象是否存在。
检测:对于每一个类,在一张测试图片中预测该类的每一个对象的边界框(bounding box)。
分割:对于测试图片每一个像素,如果像素不属于20个指定类中的一个,则预测包含该像素或“背景”的对象的类。
动作分类:对于每个动作类别,预测测试图片中的指定的人(由其边界框指示)是否正在执行相应的动作。其中有 10 个动作类别:
jumping; phoning; playing a musical instrument; reading; riding a bicycle or motorcycle; riding a horse; running; taking a photograph;using a computer; walking
大尺度识别:这个任务又 ImageNet 组织者执行。更多可查看其官网。
二、DATA
里面有一个 VOC2007 ,另一个是 VOC2012 。
进去里面有 5 个文件夹:
VOC2012
├──Annotations
├──ImageSets
├──Action( jumping; phoning; playing a musical instrument; reading; riding a bicycle or motorcycle; riding a horse; running; taking a
photograph;using a computer; walking)
├──Layout
├──Main
└──Segmentation
├──JPEGImage
├──SegmentationClass
└──SegmentationObject
Annotations:存放 xml 文件,每个文件对应 JPEGImage 里面的一张图片
ImageSets:存放记录各个人物正负样本的 txt 文件
JPEGImage:存放图片,每张图片都有对应的编号
SegmentationClass:存放分割图片,按类分,相同的类用同一个颜色表示
SegmentationObject:存放分割图片,按物体分,不同的物体用不同的颜色表示
三、Annotations
xml 是可扩展标记语言,文件里面内容大概如下:
(xml本人还是写过的,本科做科研立项的时候用过,所以不陌生哟)
四、ImageSets
ImageSets 里面指定了每一张图片为正样本还是负样本,例如 Main 目录里面的 aeroplane_train.txt 内容如下:
2008_000008 -1
2008_000015 -1
2008_000019 -1
2008_000023 -1
2008_000028 -1
2008_000033 1
2008_000036 -1
2008_000037 1
2008_000041 -1
2008_000045 -1
2008_000053 -1
2008_000060 -1
...
前面的 2008_000008 代表了图片的名称,后面的 1 或 -1 代表了这张图片是正样本还是负样本。
首先安装一个python。
终端查看ubuntu版本号:cat /proc/version
原来网速不好i,是因为主机的网线没有插好。