虽然在某些特定的场景下计算机可以比人类更快、更精准的识别出目标,但实际上,由于各类物体在不同的观测角度、不同的光照成像、遮挡等因素的干扰,计算机视觉的图像识别迄今为止还未能完全达到人类的水平,更遑论超越了。因此目标检测一直以来都是计算机视觉非常基础、也最具有挑战性的课题。
作为一个长期存在的基础性课题,目标检测算法可以说是构成图像理解和计算机视觉的重要前提,在解决分割、场景理解、目标追踪、图像描述、事件检测和活动识别等更复杂更高层次的视觉任务中起到了基石的作用。
目标检测的应用非常广泛,覆盖了了人工智能和信息技术中,包括机器人视觉、消费电子产品、安保、自动驾驶、人机交互、基于内容的图像检索、智能视频监控和增强现实等。
对目标检测算法的研究一直是计算机视觉领域非常活跃的课题,下图是近20年目标检测领域的时间线:
在目标检测算法方面,Facebook AI研究院(FAIR)一直走在前列。2018年初推出了当时业内最高水平的目标检测平台:Detectron。该项目实现了众多的SOTA算法,目前在GitHub上已超过2.2万星。
Detectron是构建在Caffe2和Python之上,实现了10多篇计算机视觉最新的成果。支持包括何恺明组提出的Mask R-CNN(曾获ICCV 2017最佳论文)、Fast RCNN、Faster RCNN、RFCN、FPN、RetinaNet、ResNet,ResNeXt在内的多种模型。
近日,Facebook AI研究院又开源了Detectron的升级版:Detectron2。
2代相比1代,抛弃了Caffe2,直接使用PyTorch框架,以maskrcnn-benchmark作为起点,是对Detectron的彻底重写。目前已经登录GitHub榜单,短短数天时间就收获超过2.5K星。
通过全新的模块化设计,Detectron2具有更高的灵活性和可扩展性,能够直接在单个或多个GPU服务器进行更快的训练,同时能够帮助研究人员更有效的探索最先进的算法设计。
Detectron2也包含了众多的目标检测算法的实现,例如DensePose, panoptic feature pyramid networks,和Mask RCNN的各种变种等等。目前已经应用于Facebook内部的多个工程应用中,例如搭建先进的姿态估计模型然后部署在Facebook的Smart Camera中。
特性
基于PyTorch:PyTorch可以提供更直观的命令式编程模型,开发者可以更快的进行迭代模型设计和实验。
模块化、可扩展:从Detectron2开始,Facebook引入了模块化设计,允许用户将自定义模块插入目标检测系统的几乎任何部分。这意味着许多新的研究项目和核心Detectron2库可以完全分开。其可扩展性也使得Detectron2更加灵活。
支持语义分割和全景分割。
实现质量:从头开始重写推出的Detectron2,使得能够重新审视低级设计决策并解决了原始Detectron中的几个实现问题。
速度和可扩展性:Detectron2比原始Detectron更快,而且可以更加方便进行GPU服务器的分布式训练。
Detectron2go:新增了将模型产品化部署的软件实现,包括标准的内部数据训练工作流实现、模型压缩量化、模型转化等。
GitHub地址:
https://github.com/facebookresearch/detectron2