写点什么

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

2018 年 3 月 25 日

看新闻很累?看技术新闻更累?试试下载 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 )关注我们。

2018 年 3 月 25 日 19:001112

评论

发布
暂无评论
发现更多内容

辟谣:程序员不配谈恋爱?你错的可以!真相来了

码农神说

程序员 漫画 相亲 程序员恋爱

基于业务表 Binlog 的事件驱动设计

理帆

MySQL 事件驱动 Binlog

游戏夜读 | 《老残游记》很有趣

game1night

2020年6月26日 查询性能优化

瑞克与莫迪

区块链目前实际的应用场景汇总

CECBC区块链专委会

区块链技术 去中心化 应用场景

循序渐进的中台研发

理帆

中台 业务中台

ARTS week3

姜海天

centos7 操作

InfoQ_1c4a1f813eb1

线性表(数组、链表、队列、栈)详细总结

淡蓝色

Java 数据结构 算法 链表 线性表

[译]都0202年了,你还觉得go-scheduler很难理解吗?

卓丁

golang golang scheduler go调度 GPM goroutines

面试官:我们来聊下锁吧

java金融

Java 乐观锁 悲观锁

十五年后苹果再次变心

池建强

apple 苹果 芯片 wwdc

测试阶段发现缺陷多怎么办?

洪永潮

好奇心, 优秀软件工程师的内核品质

亚伦碎语

读书感悟 随笔杂谈

ARTS WEEK4

紫枫

ARTS 打卡计划

从0开始设计Flutter独立APP | 第一篇: 数据库与状态管理

渔子长

flutter 前端 跨平台

二叉树深度优先遍历

封不羁

Java 算法 二叉树

工作那么久,才知道的 SOLID 设计原则

闻人

架构师 极客大学架构师训练营

【在云端 002】云时代,何以安放我的个人数据

Bora.Don

云计算 云存储

设计模式之单例模式和组合模式

dapaul

极客大学架构师训练营

【总结】企业级案例驱动 打造高可用、高并发、多IDC部署业务中台微服务架构

魔曦

极客大学架构师训练营

创业一定要学投资

Neco.W

创业 投资

MySQL InnoDB 存储引擎 - 锁

Arthur

过早优化是万恶之源

非著名程序员

程序员 程序人生 提升认知 程序员成长

为什么哈希表可以管理亿级数据?

八两

php redis hash rehash

RabbitMQ跨机房迁移数据零丢失

心平气和

RabbitMQ 消息队列

架构师训练营 - 第三周学习总结

清风徐徐

​外包公司干了不到3个月,我离职了...(防坑指南)

程序员生活志

程序员 外包 程序员人生 工作经历

区块链的应用为什么这么难?出路在哪?

CECBC区块链专委会

比特币 区块链技术 Token 联盟共识

【极客大学】【架构师训练营】【第二周】依赖倒置原则和接口隔离原则

NieXY

极客大学架构师训练营

区块链系列教程之:比特币中的挖矿

程序那些事

比特币 区块链 挖矿

微服务架构下如何保证事务的一致性

微服务架构下如何保证事务的一致性

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