专栏首页ATYUN订阅号【技术】使用Tensorflow对象检测接口进行像素级分类

【技术】使用Tensorflow对象检测接口进行像素级分类

AiTechYun

编辑:yuxiangyu

在过去,我们使用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

查看具体参考文件请关注。

本文分享自微信公众号 - ATYUN订阅号(atyun_com)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 谷歌人工智能“即时”预测局部降水模式

    谷歌希望利用人工智能和机器学习来快速预测当地天气。在一篇论文和附带的博客文章中,这家科技巨头详细介绍了一个人工智能系统,该系统利用卫星图像生成“几乎是瞬间”的高...

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

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

    AiTechYun
  • UnifyID的研究人员使用神经网络生成风格化图像扰乱API识别

    肉眼可以相对容易地将猫的图片与迷惑人的版本连接起来,但这对于现成的计算机视觉API并非总是如此。在CVPR会议上,来自UnifyID的研究人员证明,猫科动物的风...

    AiTechYun
  • 效果惊艳!FAIR提出人体姿势估计新模型,升级版Mask-RCNN

    来源:densepose.org 【新智元导读】FAIR和INRIA的合作研究提出一个在Mask-RCNN基础上改进的密集人体姿态评估模型DensePose-R...

    新智元
  • IJOC“考虑聚合多样性的可扩展优化推荐系统”论文解析

    本文是针对发表在《INFORMS Journal on Computing》上的一篇论文 “Incorporating Aggregate Diversity...

    石晓文
  • 空间映射网络--Spatial Transformer Networks

    Spatial Transformer Networks 主要对目标在特征空间做不变性归一化 解决 角度、尺度等变形引入的影响 Code: http...

    用户1148525
  • 图解 | 保护现代数据中心的安全新方法?看这一篇就够了!

    FB客服
  • 将python2.7+django1.10部署到SAE上

    首先我想说的是我为什么选择SAE呢?本人学生一枚,没钱。然后sae好像又有免费的一定限额,所以我就选了它。 期间曲折颇多,实在不是三言两语所能道情的。各种百度,...

    用户1149564
  • 业绩跌跌不休 思科频繁收购寻出路

    T客汇官网:tikehui.com 撰文 |窦悦怡 ? 最近,思科的收购“家族”名录上又多了一位新成员,就是会议效率和协作软件商家Worklife,思科想通过W...

    人称T客
  • 老将出走、市场失意、裁员风波,三座大山下的思科能否重启辉煌?

    日前,思科进行了一系列新的人事变动,20年老将David Goeckele出走西部数据,思科高管内部也进行了调整,而新的安全和应用部门领导人依旧悬而未决。除此之...

    SDNLAB

扫码关注云+社区

领取腾讯云代金券