文章来源:ATYUN AI平台

在过去,我们使用Tensorflow对象检测API来实现对象检测,它的输出是图像中我们想要检测的不同对象检测周围的边界框。而Tensorflow最近添加了新功能,现在我们可以扩展API,以通过我们关注的对象的对象检测像素位置来确定像素点,如下:

Tensorflow对象检测的Mask RCNN

实例分割

实例分段(Instance segmentation)是对象检测的扩展,其中二进制掩码(即对象与背景)与每个边界框相关联。这允许有关框内对象范围更细粒度的信息。

那么我们在哪些情况需要这种额外的粒度呢?很容易想到的例子有:

1)自驾车 – 可能需要确切知道在路上的其他车辆或者横穿马路的行人的位置

2)机器人系统 – 知道对象两部分的确切位置并结合起来,可能会使他表现得更好

有几种实现实例分段的算法,而Tensorflow对象检测API所使用的算法是Mask RCNN。

Mask RCNN

让我们先从Mask RCNN开始。

Mask RCNN架构

Faster RCNN是用于物体检测的算法。它由两个阶段组成。第一阶段称为RPN(Region Proposal Network),提出候选的对象边界框。第二阶段才是Fast R-CNN的实质,它使用RoIPool从每个候选框中提取特征,并执行分类和边界框回归。两个阶段使用的特征可以共享以加快推断速度。

Mask R-CNN的概念非常简单:Faster RCNN每个候选对象具有两个输出,一个类标签和一个边界框补偿;为此,我们添加了另一个阶段输出对象的mask,mask 是一个二进制掩码,用于指示对象位于边界框中的像素。于类和边界框输出不同的是,它需要提取对象更精细的空间布局。为此,Mask RCNN使用了Mask RCNN论文中的全卷积网络(FCN)。

全卷积网络架构

FCN是一种常用的语义分割算法。该模型使用各种卷积和最大池层,首先将图像解压缩至其原始大小的1/32。然后在这个粒度级别上进行类别预测。最后,它使用采样和去卷积层将图像调整到原始尺寸。

所以简而言之,我们可以说Mask RCNN将两个网络(Faster RCNN和FCN)结合在一个大型架构中。模型的损失函数是在进行分类、生成边界框和生成掩码时的总损失。

关于Mask RCNN的一些额外的改进(这使它比FCN更准确)可以阅读他们的论文。

实现

使用图像测试

要使用图像测试此模型,可以利用tensorflow共享的代码。我测试了他们最轻量级的模型 -  mask_rcnn_inception_v2_coco。只需下载模型并升级到tensorflow 1.5(升级很重要!)。示例结果如下:

在风筝图像上面具RCNN

代码链接:https://github.com/tensorflow/models/blob/master/research/object_detection/object_detection_tutorial.ipynb

使用视频测试

更有趣的练习是在视频上运行目标检测模型。我用keepvid从YouTube上下载了几个视频。我很喜欢用于处理视频文件的moviepy。

主要步骤是:

  • 使用VideoFileClip函数从视频中提取每个帧
  • fl_image函数有一个非常棒的功能,它可以在得到图像后将其替换为修改后的图像。我用它来对从视频中提取的每个图像运行对象检测
  • 将修改后的剪辑图像合并到一个新的视频中

代码链接:https://github.com/priya-dwivedi/Deep-Learning/blob/master/Mask_RCNN/Mask_RCNN_Videos.ipynb

其他

想要进一步探索此API:

  • 尝试更精确、高负荷的对象检测模型,看看它们有多大的差异
  • 使用API​​在自定义数据集上训练Mask RCNN

参考

Mask RCNN论文:https://arxiv.org/pdf/1703.06870.pdf

Tensorflow对象检测Github:https://github.com/tensorflow/models/tree/master/research/object_detection

COCO数据集:http://mscoco.org/home/

本文转自ATYUN人工智能媒体平台,原文链接:使用Tensorflow对象检测接口进行像素级分类

更多推荐

Petuum:实现AI和机器学习的工业化

Maluuba: 口语处理的新进展

通用自动驾驶汽车部门Cruise又筹11.5亿美元,总估值已达190亿美元

欢迎关注ATYUN官方公众号,商务合作及内容投稿请联系邮箱:bd@atyun.com

使用Tensorflow对象检测接口进行像素级分类相关推荐

  1. 实践操作:六步教你如何用开源框架Tensorflow对象检测API构建一个玩具检测器

    TensorFlow对象检测API是一个建立在TensorFlow之上的开源框架,可以轻松构建,训练和部署对象检测模型. 到目前为止,API的性能给我留下了深刻的印象.在这篇文章中,我将API的对象设 ...

  2. tfr 计算机硬件,实践操作:六步教你如何用开源框架Tensorflow对象检测API构建一个玩具检测器...

    TensorFlow对象检测API是一个建立在TensorFlow之上的开源框架,可以轻松构建,训练和部署对象检测模型. 到目前为止,API的性能给我留下了深刻的印象.在这篇文章中,我将API的对象设 ...

  3. Windows上视频的tensorflow对象检测10

    Previous article: "TensorFlow Object Detection in Windows (under 30 lines)", covers about ...

  4. 欧几里得距离网络_使用Tensorflow对象检测模型和OpenCV的社交距离和遮罩检测器...

    将深度学习和计算机视觉相结合的隔离项目社会距离化 这个术语已席卷全球,正在改变着我们的生活方式.社交距离也称为"物理距离",是指在您自己与其他并非来自家庭的人之间保持安全的空间.随 ...

  5. 如何使用TensorFlow对象检测API播放Quidditch

    by Bharath Raj 巴拉斯·拉吉(Bharath Raj) 如何使用TensorFlow对象检测API播放Quidditch (How to play Quidditch using the ...

  6. TensorFlow对象检测-1.0和2.0:训练,导出,优化(TensorRT),推断(Jetson Nano)

    作者|Abhishek 编译|Flin 来源|analyticsvidhya 第1部分 从在自定义数据集中训练检测器到使用TensorFlow 1.15在Jetson纳米板或云上进行推理的详细步骤 完 ...

  7. java创建tensorfly对象,Tensorflow对象检测自定义数据集

    当我尝试使用他们自己的指南在Github测试tensorflow对象检测API时发生错误我在运行他们的指南中提到的测试脚本时遇到以下错误 python object_detection / build ...

  8. OpenCV之feature2d 模块. 2D特征框架(1)Harris 角点检测子 Shi-Tomasi角点检测子 定制化创建角点检测子 亚像素级的角点检测 特征点检测

    Harris 角点检测子 目标 本教程中我们将涉及: 有哪些特征?它们有什么用? 使用函数 cornerHarris 通过 Harris-Stephens方法检测角点. 理论 有哪些特征? 在计算机视 ...

  9. 小菊的语义分割3——数据预处理及像素级分类实现原理

    小菊的语义分割3

最新文章

  1. socket udp
  2. 图像傅里叶变换-不错
  3. 安装SQL2005 29506错误码的解决方案
  4. 四十一、Linux基础命令,用户管理和文件系统总结
  5. 使用MFC里的类的方法
  6. 语义分割深度学习方法集锦
  7. 云服务器Linux安装,配置,使用nginx
  8. JavaScript的三大高阶函数
  9. android service 访问数据库,XE5 ANDROID通过webservice访问操作MSSQL数据库
  10. 所有浏览器主页惨遭篡改:http://wangzhi6.dhtz444.top/或https://www.2345.com/
  11. 计算机桌面的图标怎么删除,电脑桌面图标有箭头怎么去掉?
  12. 5分钟学会Pixel刷机
  13. 如何使用xposed强制开启android webview debug模式
  14. Office快捷键之王,这个键应该没人不服
  15. 细数那些年我们一起玩过的Unity3D游戏(unity开发的游戏有哪些)
  16. Redis学习 master/slave(主从)、sentinel(哨兵)、Cluster简单总结
  17. STM32F103-LED模块
  18. Lustre I/O性能特点与最佳实践
  19. 【评测】扩散流完整性测试原理
  20. 老顽童 庆六一——和锦社区儿童节主题活动

热门文章

  1. 尚硅谷Vue2.0+Vue3.0全套教程视频笔记 + 代码 [P001-050]
  2. smtp发信出现的问题
  3. 2022-11-09 阿里云/腾讯云OSS绑定域名
  4. js 路由直接打开新窗口
  5. app python搭建_Django搭建个人博客:创建并配置APP功能模块
  6. 显卡+接口+VGA+DVI+HDMI+DP
  7. linux中的防火墙如何配置,linux防火墙如何配置
  8. 应对老板的“黑”情绪
  9. 王者荣耀s20服务器维护到什么时候,王者荣耀s20什么时间结束 王者荣耀s20赛季结束一览...
  10. 梦起北邮 Cocos伴数媒学子共成长