来自官方的Mask R-CNN实现终于“又”来了!PyTorch官方Twitter今天公布了一个名为Mask R-CNN Benchmark的项目。
10个月前Facebook曾发布过名叫Detecron的项目,也是一款图像分割与识别平台,其中也包含Mask R-CNN。不过它是基于Caffe 2深度学习框架编写的。这一次,在Caffe2项目并入PyTorch半年之后,Facebook换上了更受欢迎的PyTorch框架。
除了更改框架,Mask R-CNN Benchmark相比它的“前辈”Detectron,训练速度提高了一倍。
Mask R-CNN Benchmark是一个完全由PyTorch 1.0写成,快速、模块化的Faster R-CNN和Mask R-CNN组件。该项目旨在让用户更容易地创建一种模块,实现对图片中物品的识别与分割。
负责这一项目的Facebook AI工程师Francisco Massa还在个人Twitter发了张自拍照,并使用新工具对图片中的物品进行了识别,尴尬的是好像有些对象被识别错误:
第三方项目
在Facebook官方推出Mask R-CNN Benchmark之前,程序员们一直希望能用更流行的PyTorch取代Caffe 2实现Mask R-CNN,今年7月GitHub上有一名印度小哥完成任务。
另外,商汤和香港中文大学的多媒体实验室也开源了一个类似项目:mmdetection。它支持Faster R-CNN、Mask R-CNN、RetinaNet等等,相比Facebook的Detecron有5%到20%的性能提升。这个模型还在2018年的COCO Detection竞赛中拿下了冠军。
那么今天Facebook发布的Mask R-CNN Benchmark相比前两者有哪些优点呢?
亮点
- PyTorch 1.0编写:RPN、Faster R-CNN和Mask R-CNN均可实现,达到甚至超出Detectron的准确度
- 快速:训练速度是Detectron的2倍,比mmdetection高30%。
- 显存效率更高:大约比mmdetection少使用500MB显存
- 支持多GPU训练与推断
- 支持以CPU进行推断
- 支持图像批处理:可分批分GPU对多图进行推断
- 提供预训练模型:针对几乎所有引用Faster RCNN和Mask RCNN的架构
PyTorch官方Twitter转发了该项目,并希望mmdetection等项目都能使用一下。
安装小贴士
使用Mask R-CNN Benchmark需要安装以下组件:
- PyTorch 1.0
- orchvision
- cocoapi
- yacs
- matplotlib
- OpenCV(可选)
R-CNN发展历史
R-CNN是卷积神经网络(CNN)在图像识别领域的应用,Facebook AI研究团队在这条到道路上做出了颇多贡献,其中不得不提一位大神:Ross Girshick。他发明了RCNN,又提出速度更快的Fast R-CNN。
2016年,微软研究院提出了Faster R-CNN,降低了在边框搜索上的运算量,进一步提高了算法的速度。
2017年,Facebook AI研究团队又再次提出了Mask R-CNN:通过添加与现有分支并行的对象掩码(object mask)分支,以增强Faster RCNN在边框识别上的性能。
传送门
Mask R-CNN Benchmark项目地址:
https://github.com/facebookresearch/maskrcnn-benchmark
印度小哥的Mask R-CNN项目地址:
https://github.com/wannabeOG/Mask-RCNN
Detecron项目地址:
https://github.com/facebookresearch/Detectron
mmdetection项目地址:
https://github.com/open-mmlab/mmdetection
“