您的位置:首页 > 大数据 > 人工智能

FAIR开源目标识别平台Detectron从入门到放弃(一)

2018-02-28 17:42 549 查看
最近去RBG大婶的github主页查看faster rcnn源码,他告诉我py-faster rcnn已经out了,让我移步detectron看下mask rcnn,于是我就去了Shaoqingren婶的github看了下,原作者好像没有说faster rcnn out的意思。抱着试试看的态度,买了两瓶。。。额。去了detectron的githunb主页看了下,于是clone下来研究下。

Detectron文件夹下有大量的文件资源,包含了模型训练与推理的配置,FAIR预训练的模型,docker容器配置以及一些必要的库文件等。即使没有经历一一阅读源码,但是了解下各个文件的作用也是很必要的,下面由AI小白带你学习Detectron平台,一步一步从入门到放弃。

model_Zoo概述

configs/12_2017_baselines文件夹下存放了FAIR在2017年12月份预训练好的最新的目标识别模型,打开文件夹可以看到有faster rcnn,mask rcnn,keyponit rcnn ,retinanet 等,涵盖了最先进的目标识别算法,别问为啥没有yolo和ssd,我也不知道,也许下次更新就会出现。官方在MODEL_ZOO.md文档中公布了一些训练细节:
1. 训练平台是自己的开源gpu服务器Big Basin,8个Tesla P100GPU完成了训练(基于cuda8.0,cuDNN6.0.21)
2. 8个gpu并行sync SGD(同步随机梯度下降法)训练,minibatch 为8或16,这么好的机器minbath size还是选的比较保守的hehe
3.训练时,仅用水平反转作为数据增强,训练数据集为coco_2014_train和coco_2014_valminusminival,完全等价于coco_2017_train
4.测试集采用coco_2014_minival,这也完全等价于coco_2017_val,纯手打,结果比机器翻译还机器翻译,输出结果是coco json格式

5. 目前的预训练模型都是coco dataset格式,Cityscapes dataset预训练模型下个detectron版本即将推出,真替做adas的同学高兴啊,忧愁啥时候出个x光数据集预训练模型

预训练模型策略

configs/12_2017_baselines文件夹下的预训练模型的命名结尾有1x,2x,s1x等字符,表示了三种不同的训练策略:
1.  1x: minibatch size 16, t开始 LR 是0.02,在 60k 和 80k 迭代之间LR乘以0.1系数衰减,总的迭代次数为90k. 训练过程总计12.17个epochs,数据集为coco_2014_train coco_2014_valminusminival,数量为118,287幅图像。
2.  2x: LR为0.01,在 60k 和 80k 迭代之间LR乘以0.1系数衰减,总的迭代次数为90k,训练时间是1x的两倍。
3.  s1x ("stretched 1x"): 相比1x,学习率缩小了1.44倍,在 100k 和 120k 迭代之间LR乘以0.1系数衰减,总的迭代次数为130k.
若修改minibatch size,建议在8到16之间,  SGD iterations 和 base learning rate 需要修改。参考FB的论文 Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour.

ImageNet 预训练模型

FAIR给出了转换后的基于ImageNet-1k的预训练模型,我们可以用这些模型来迁移学习私人定制模型。

R-50.pkl: converted copy of MSRA's original ResNet-50 model
R-101.pkl: converted copy of MSRA's original ResNet-101 model
X-101-64x4d.pkl: converted copy of FB's original ResNeXt-101-64x4d model trained with Torch7
X-101-32x8d.pkl: ResNeXt-101-32x8d model trained with Caffe2 at FB
X-152-32x8d-IN5k.pkl: ResNeXt-152-32x8d model trained on ImageNet-5k with Caffe2 at FB (see our ResNeXt paper for details on ImageNet-5k)

faster rcnn和mask rcnn baseline

个人比较关心目标识别算法的速度和精度,于是摘出了下面的baseline,主要是end2end faster rcnn和mask rcnn,红色的backbone对应的faster rcnn和mask rcnn比较中意

        backbone        typelr
schd
im/
gpu
train
mem
(GB)
train
time
(s/iter)
train
time
total
(hr)
inference
time
(s/im)
box
AP
mask
AP
kp
AP
prop.
AR
model iddownload
links
R-50-C4Faster1x16.30.56628.30.167 + 0.00334.8---35857197model | boxes
R-50-C4Faster2x16.30.56956.90.174 + 0.00336.5---35857281model | boxes
R-50-FPNFaster1x27.20.54413.60.093 + 0.00436.7---35857345model | boxes
R-50-FPNFaster2x27.20.54627.30.092 + 0.00437.9---35857389model | boxes
R-101-FPNFaster1x28.90.64716.20.120 + 0.00439.4---35857890model | boxes
R-101-FPNFaster2x28.90.64732.40.119 + 0.00439.8---35857952model | boxes
X-101-64x4d-FPNFaster1x16.91.05752.90.305 + 0.00341.5---35858015model | boxes
X-101-64x4d-FPNFaster2x16.91.055105.50.304 + 0.00340.8---35858198model | boxes
X-101-32x8d-FPNFaster1x17.00.79940.00.233 + 0.00441.3---36761737model | boxes
X-101-32x8d-FPNFaster2x17.00.80080.00.233 + 0.00340.6---36761786model | boxes
R-50-C4Mask1x16.60.62031.00.181 + 0.01835.831.4--35858791model | boxes | masks
R-50-C4Mask2x16.60.62062.00.182 + 0.01737.832.8--35858828model | boxes | masks
R-50-FPNMask1x28.60.88922.20.099 + 0.01937.733.9--35858933model | boxes | masks
R-50-FPNMask2x28.60.89744.90.099 + 0.01838.634.5--35859007model | boxes | masks
R-101-FPNMask1x210.21.00825.20.126 + 0.01840.035.9--35861795model | boxes | masks
R-101-FPNMask2x210.20.99349.70.126 + 0.01740.936.4--35861858model | boxes | masks
X-101-64x4d-FPNMask1x17.61.21760.90.309 + 0.01842.437.5--36494496model | boxes | masks
X-101-64x4d-FPNMask2x17.61.210121.00.309 + 0.01542.237.2--35859745model | boxes | masks
X-101-32x8d-FPNMask1x17.70.96148.10.239 + 0.01942.137.3--36761843model | boxes | masks
X-101-32x8d-FPNMask2x17.70.97597.50.240 + 0.01641.736.9--36762092model | boxes | masks

RetinaNet Baselines

RetinaNet提出是用来抑制目标识别过程中负样本与正样本数量过于悬殊(接近1000:1)以及不同class图像数量带来的模型AP较低问题。也许在coco dataset数据集这两个问题不明显,所以Detectron给出的RetinaNet的boxAP均没有faster rcnn和mask rcnn高。对于自建数据集,RetinaNet值得一试。

Keypoint-Only Mask R-CNN Baselines

这个与人体姿态识别有关,不带入门。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐