CNN/Deep_Compression/stretegy.md
10类手写字体分类数据集,图片大小28*28*1 pixs 灰度图
6万 训练图片 and 1万测试图片
cifar10 : 10类常见物体, 小图片分类数据集 , 图片大小32*32*3 pixs = 3073个字节,
6万张 = 5万张训练(5000/类) + 1万张测试(1000/类),
分成5个训练batches,和一个测试batch,每个包含1万张照片。
飞机,汽车,鸟,猫,鹿,狗,青蛙,马,船,卡车。
下载地址: https://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz
cifar 100: 100类常见物体, 小图片分类数据集 , 图片大小32*32pixs,
6万张 = 5万张训练 + 1万张测试,分成5个训练batches,和一个测试batch,每个包含1万张照片。
每种类别的图片数量少了。
1000类, 256*256*3 彩色图;
130万训练图片 (732 to 1300 每一类),10万测试图片(100/类),5万验证图片(50/类)
ImageNet大规模视觉识别挑战赛(ILSVRC),软件程序竞相正确 分类 、 检测物体 和 场景识别检测
http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_img_test.tar
http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_img_val.tar
http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_img_train.tar
http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_devkit_t12.tar
http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_bbox_train_v2.tar
ImageNet图像分类大赛
比赛设置:
1000类图像分类问题,训练数据集126万张图像,验证集5万张,测试集10万张(标注未公布)。
2012,2013,2014均采用了该数据集。
评价标准采用top-5错误率,即对一张图像预测5个类别(最高得分),只要有一个和人工标注类别相同就算对,否则算错。
top-1,为最高的预测类别和标签匹配才正确,否则算错误。
ImageNet数据下的detection数据集,200类,400,000张图像,350,000个bounding box。
由于一些目标之间有着强烈的关系而非独立存在,
在特定场景下检测某种目标是是否有意义的,
因此精确的位置信息比bounding box更加重要。
一个真实世界(谷歌街景)的街道门牌号数字识别数据集。超过600000张带有标签的数字图像。
1.1万张图片,20类物体,2.7万个物体标记框,其中7千个框包含实例分割信息
包含标签和 边框数据 以及语义分割数据
给定自然图片, 从中识别出特定物体。 <object-class> <x> <y> <width> <height>
待识别的物体有20类:
囊括了车、人、猫、狗等20类常见目标。训练样本较少、场景变化多端,非常具有挑战性。
aeroplane 飞机
bicycle 自行车
bird 鸟
boat 船舶
bottle 瓶子
bus 公交车
car 汽车
cat 猫
chair 椅子
cow 奶牛
diningtable 餐桌
dog 狗
horse 马
motorbike 摩托车
person 人
pottedplant 盆栽
sheep 羊
sofa 沙发
train 火车
tvmonitor 电视机
35万个标记框。
该数据库是目前规模较大的行人数据库,采用车载摄像头拍摄,
约10个小时左右,视频的分辨率为640×480,30帧/秒。
标注了约250,000帧(约137分钟),350000个矩形框,2300个行人,
另外还对矩形框之间的时间对应关系及其遮挡的情况进行标注。
数据集分为set00~set10,其中set00~set05为训练集,set06~set10为测试集(标注信息尚未公开)。
微软发布的COCO数据库,80类目标检测数据集.
超过 20万 张图片,80种物体类别。
所有的物体实例都用详细的分割mask进行了标注,共标注了超过 50万 个目标实体.
l1 = ["人","自行车","汽车","摩托车","飞机","公交车",
"火车","卡车","船","交通灯","消防栓",
"停止标志","停车计时器","长凳","鸟","猫","狗",
"马","羊","牛","大象","熊","斑马","长颈鹿",
"背包","雨伞","手提包","领带","手提箱","飞盘","滑雪",
"滑雪板","体育用球","风筝","棒球棒","棒球手套",
"滑板","冲浪板","网球拍","瓶子","红酒杯","杯子",
"叉子","小刀","勺子","碗","香蕉","苹果","三明治",
"橘子","西兰花","胡萝卜","热狗","披萨","甜甜圈","蛋糕",
"椅子","沙发","盆栽","床","餐桌","厕所","显示器",
"笔记本","鼠标","遥控器","键盘","手机","微波炉","烤箱",
"吐司机","水槽","冰箱","书","闹钟","花瓶","剪刀",
"玩具熊","吹风机","牙刷"]
900万张图片,6000类
800万个视频(50万小时), 4800类
ImageNet2012比赛冠军 (AlexNet) ~ 60954656 params (top-5错误率16.4%,使用额外数据可达到15.3%,8层神经网络)
AlexNet是现代深度CNN的奠基之作。
2012年,Hinton的学生Alex Krizhevsky提出了深度卷积神经网络模型AlexNet。
首次在CNN中成功应用了ReLU、Dropout和LRN等Trick。
ImageNet2014比赛亚军 VGGnet (Go deeper and deeper) (top-5错误率7.3%,19层神经网络)
VGGNet是牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发的的深度卷积神经网络。
ImageNet2014比赛冠军 GoogLeNet (Inception Modules) ~ 11176896 params (top-5错误率6.7%,22层神经网络)
Inception V1有22层深,比AlexNet的8层或者VGGNet的19层还要更深。
但其计算量只有15亿次浮点运算,同时只有500万的参数量,
Inception V1参数少但效果好的原因除了模型层数更深、表达能力更强外,
还有两点:
一是去除了最后的全连接层,用全局平均池化层(即将图片尺寸变为1*1)来取代它。
全连接层几乎占据了AlexNet或VGGNet中90%的参数量,而且会引起过拟合,
去除全连接层后模型训练更快并且减轻了过拟合。
二是Inception V1中精心设计的Inception Module提高了参数的利用效率,
借鉴了Network In Network的思想,
形象的解释就是Inception Module本身如同大网络中的一个小网络,
其结构可以反复堆叠在一起形成大网络。
其中有4个分支:
第一个分支对输入进行1*1的卷积,这其实也是NIN中提出的一个重要结构。
1*1的卷积是一个非常优秀的结构,
它可以跨通道组织信息,提高网络的表达能力,同时可以对输出通道升维和降维。
第二个分支先使用了1*1卷积,然后连接3*3卷积,相当于进行了两次特征变换。
第三个分支类似,先是1*1的卷积,然后连接5*5卷积。最后一个分支则是3*3最大池化后直接使用1*1卷积。
2016年2月, Inception V4(top-5错误率3.08%)
ImageNet2015年的冠军(ResNet,top-5错误率3.57%,152层神经网络)
ResNet(Residual Neural Network)由微软研究院的Kaiming He等4名华人提出,
通过使用Residual Unit成功训练152层深的神经网络
(加入直通通路,使得梯度可以传播,网络可以更深,类似思想LSTM 中的状态直连)。
ResNet最初的灵感出自这个问题:在不断加神经网络的深度时,
会出现一个Degradation的问题,
即准确率会先上升然后达到饱和,再持续增加深度则会导致准确率下降。
移动端模型:
mobilenet
squeezeet
shufflenet
Faster R-CNN coco数据集上
baseline [email protected] [email protected]:.95
VGG-16 41.5 21.5
ResNet-101 48.4 27.2
类别总数:1000类
图片格式:256*256*3 彩色图;
数据集结构: 130万训练图片 (732 to 1300 每一类),
10万测试图片(100/类),
5万验证图片(50/类)
下载地址:
测试集 http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_img_test.tar 12.7G
验证集 http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_img_val.tar 6.28G
训练集 http://www.image-net.org/challenges/LSVRC/2012/nnoupb/ILSVRC2012_img_train.tar 138G
对应标签:
http://dl.caffe.berkeleyvision.org/caffe_ilsvrc12.tar.gz
训练时间:
数据集抽取:
论文:
https://arxiv.org/pdf/1409.1556.pdf
权重和框架:
vgg16:13个卷积层+3个全链接层=16
http://www.robots.ox.ac.uk/~vgg/software/very_deep/caffe/VGG_ILSVRC_16_layers.caffemodel 528M
https://github.com/Ewenwan/MVision/blob/master/CNN/SSD/VGG_ILSVRC_16_layers_deploy.prototxt
vgg19:16个卷积层+3个全链接层=19
http://www.robots.ox.ac.uk/~vgg/software/very_deep/caffe/VGG_ILSVRC_19_layers.caffemodel 548M
https://github.com/Ewenwan/MVision/blob/master/CNN/SSD/VGG_ILSVRC_19_layers_deploy.prototxt
分类结果(错误率):两者多次度分类差不多
top-1:24.8
top-5:7.5
论文:
https://arxiv.org/pdf/1512.03385.pdf
模型结构:最后一个 1000-d全连接层,其他均为卷积层,18/34 是两个3*3卷积,后面是 1*1 + 3*3 + 1*1
权重文件: https://onedrive.live.com/?authkey=%21AAFW2-FVoxeVRck&id=4006CBB8476FF777%2117887&cid=4006CBB8476FF777 需要翻墙
csdn上有下载 需要金币
https://download.csdn.net/download/shaxinqing/10426907 ResNet-152-model.caffemodel
https://download.csdn.net/download/zhs233/10311355 ResNet-101-model.caffemodel
https://download.csdn.net/download/zhs233/10311350 ResNet-50-model.caffemodel
prototxt文件:
https://github.com/Ewenwan/MVision/blob/master/CNN/ResNet/ResNet-50-deploy.prototxt
https://github.com/Ewenwan/MVision/blob/master/CNN/ResNet/ResNet-101-deploy.prototxt
https://github.com/Ewenwan/MVision/blob/master/CNN/ResNet/ResNet-152-deploy.prototxt
分类结果(错误率):
ResNet18:
top-1:27.88
top-5:-
ResNet34:
top-1:21.53
top-5:5.60
ResNet50:
top-1:20.74
top-5:5.25
ResNet101:
top-1:19.87
top-5:4.60
ResNet152:
top-1:19.38
top-5:4.49 / 3.57
MobileNets-v1:
论文:https://arxiv.org/pdf/1704.04861.pdf
分类准确率:
top-1:70.81
top-5:89.85
模型大小: 16.2 MB
模型:https://github.com/shicai/MobileNet-Caffe/blob/master/mobilenet.caffemodel
框架:https://github.com/Ewenwan/MVision/blob/master/CNN/MobileNet/mobilenet_v1_deploy.prototxt
MobileNets-v2:
论文:https://arxiv.org/pdf/1801.04381.pdf
分类准确率:
top-1:71.90%
top-5:90.49%
模型大小:13.5 MB
模型:https://github.com/shicai/MobileNet-Caffe/blob/master/mobilenet_v2.caffemodel
框架:https://github.com/Ewenwan/MVision/blob/master/CNN/MobileNet/mobilenet_v2_deploy.prototxt
论文:https://arxiv.org/pdf/1602.07360.pdf
分类准确率:
top-1:60.4%
top-5:82.5%
模型大小:4.8MB
模型:https://github.com/DeepScale/SqueezeNet/blob/master/SqueezeNet_v1.1/squeezenet_v1.1.caffemodel
框架:https://github.com/Ewenwan/MVision/blob/master/CNN/SqueezeNet/squeezenet_v1.1_deploy.prototxt
论文:https://arxiv.org/pdf/1707.01083.pdf
分类准确率:
top-1:65.45%
top-5:86.38%
模型大小:7.04MB
模型:https://github.com/msnqqer/ShuffleNet/blob/master/shufflenet_1x_g3.caffemodel
框架:https://github.com/Ewenwan/MVision/blob/master/CNN/ShuffleNet/shufflenet_1x_g3_deploy.prototxt
超过 20万 张图片,80种物体类别,图片大小不一,3通道彩色图像。
所有的物体实例都用详细的分割mask进行了标注,
共标注了超过 50万 个目标实体.
下载数据集
1. 下载 数据库API
git clone https://github.com/pdollar/coco
cd coco
2. 创建 images文件夹 并下载 图像数据 解压
在images文件夹下下载 点击链接可直接下载
wget -c https://pjreddie.com/media/files/train2014.zip 12.5G
wget -c https://pjreddie.com/media/files/val2014.zip 6.18G
解压
unzip -q train2014.zip
unzip -q val2014.zip
3. 下载标注文件等
cd ..
wget -c https://pjreddie.com/media/files/instances_train-val2014.zip
wget -c https://pjreddie.com/media/files/coco/5k.part
wget -c https://pjreddie.com/media/files/coco/trainvalno5k.part
wget -c https://pjreddie.com/media/files/coco/labels.tgz
sudo tar xzf labels.tgz 标签
sudo unzip -q instances_train-val2014.zip 分割 得到 annotations 实例分割
生成训练/测试图像列表文件 darknet框架下格式
paste <(awk "{print \"$PWD\"}" <5k.part) 5k.part | tr -d '\t' > 5k.txt 测试验证数据
paste <(awk "{print \"$PWD\"}" <trainvalno5k.part) trainvalno5k.part | tr -d '\t' > trainvalno5k.txt 训练数据
4. caffe lmdb格式转换
2014年
train2014.zip 训练集图片
val2014.zip 验证集图片
instances_train-val2014.zip 总的json标签
labels.tgz darknet下 的 txt标签
2017年
http://images.cocodataset.org/zips/train2017.zip 训练集图片
http://images.cocodataset.org/zips/val2017.zip 验证集图片
http://images.cocodataset.org/annotations/annotations_trainval2017.zip 总的json标签
处理 :
下载 coco数据库处理脚本
git clone https://github.com/weiliu89/coco.git
cd coco
git checkout dev # 必要 在 PythonAPI 或出现 scripts/ 文件夹 一些处理脚本
安装:
cd coco/PythonAPI
python setup.py build_ext --inplace
将总的json文件拆分成 各个图像的json
python scripts/batch_split_annotation.py
获取 图片id 对应的图片尺寸大小 长宽
python scripts/batch_get_image_size.py
创建图片地址+标签地址的 列表文件
python data/coco/create_list.py
生成lmdb 文件 and make soft links at examples/coco/
./create_data.sh
论文:https://arxiv.org/pdf/1512.02325.pdf
检测准确度:
SSD300:voc2007 map0.5: 77.2; coco上 map0.5: 43.1, map0.7: 25.8;
SSD512: voc2007 map0.5: 79.8; coco上 map0.5: 48.5, map0.7: 30.3;
YOLO-V2下的准确度
SSD300:voc2007 map0.5: 74.3; coco上 map0.5: 41.2
SSD500:voc2007 map0.5: 76.8; coco上 map0.5: 46.5
模型:
https://github.com/weiliu89/caffe/tree/ssd 有链接,需要翻墙,其他资源未找到。
SSD300_VOC0712
SSD512_VOC0712
SSD300_COCO
SSD512_COCO
框架文件:
COCO https://github.com/Ewenwan/MVision/blob/master/CNN/SSD/coco_vgg16-ssd-300-300/VGG_coco_SSD_300x300_deploy.prototxt
VOC0712 https://github.com/Ewenwan/MVision/blob/master/CNN/SSD/SSD_300x300/ssd_33_deploy.prototxt
论文:https://arxiv.org/pdf/1612.08242.pdf
YOLO-V2 的准确度(darknet下)
YOLOv2:voc2007 map0.5: 76.8;
YOLOv2 544x544:voc2007 map0.5: 78.6;
YOLOv2 608x608:coco上 map0.5: 48.1