Facebook 开源用于目标检测的深度学习库 Detectron

阅读数:501 2018 年 3 月 25 日 19:00

看新闻很累?看技术新闻更累?试试下载InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

一月份,在谷歌更新了 TensorFlow 图像识别 API 之后,Facebook 的研究部门 FAIR (Facebook AI Research) 宣布开源目标检测库 Detectron。这两个库都提供了最新的深度学习目标检测算法。

Detectron 是基于 Facebook 的深度学习框架 Caffe2 开发的,使用了开源协议 Apache 2.0 ,可以直接作为 Python 的库使用。Detectron 的包可以在 GitHub 上下载,包括脚本、预训练模型以及 Docker 镜像。谷歌的 TensorFlow 图像识别 API 最早于 2017 年 6 月发布,是 TensorFlow 研究项目的一部分,TensorFlow 包含了约 40 个不同的深度学习项目。

这两个库的预训练模型都已在 COCO 数据集上训练好,COCO 数据集是一个大型图像数据库,包括了目标检测、分割以及图像文本描述信息。该数据集有 80 个类,超过 20 万张标注图像以及 150 万个实例对象。Facebook 的 Detectron 和谷歌的 Tensorflow 图像识别 API 主要用于研究,暂未用于生产。

目标检测仍然是计算机视觉领域具有挑战性的一个方面,在许多计算机视觉领域的任务上都有应用。从简单的人脸检测到图像检索与视频监控。自动驾驶需要依赖于实时行人检测技术,而城市的车辆与人口数量的自动统计在城市规划中也很有价值。

目标检测面临的主要问题是自然场景下的未知目标的数量、大小和其在图像上的分布都是随机的。并且在提升精度的同时要求算法具有速度优势,这也增加了任务本身的难度。

机器学习中,静止图像中的目标检测需要同时解决两个问题。即确定图像的某个特定区域是一个目标物体并判断其种类。目前的目标检测模型建立在卷积神经网络 (CNN) 的基础上,卷积神经网络是一类结构特殊的神经网络。CNN 使用矩形滑动窗口对整个原始图像进行特征提取。

目标检测算法主要有两大类。基于 R-CNN 的方法使用多尺度滑动窗口处理不同尺寸的目标,而 YOLO(You Only Look Once) 算法使用不同的特征提取和决策方法对图像进行一次推理。早期的工作能够在目标物体的周围标记一个矩形边界 (object localization),而最近的一些研究成果 (例如, Mask R-CNN RetinaNet ) 能够在物体边缘标记出更精确的边界。这一重大的进展被称为实例分割 (instance segmentation),对于图像中的每个像素点,都会确定其对于某一特定类的归属关系。

评论表明Tensorflow 目标检测API 更容易训练,它的GitHub 仓库包括一些可以用于安装、训练模型和迁移学习的Jupyter Notebooks,在谷歌的目标检测库中也可以获取更多的在线教程

查看英文原文: Facebook Open-Sources Detectron, Deep-Learning Library for Object Detection


感谢无明对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

收藏

评论

微博

用户头像
发表评论

注册/登录 InfoQ 发表评论