TensorFlow 的「物体检测 API」有了一个新功用,它能依据目的对象的像素地位来确定该对象的像素。换句话来说,TensorFlow 的物体检测从原来的图像级别成功上升到了像素级别。
运用 TensorFlow 的「物体检测 API」图片中的物体停止辨认,最初的后果是图片中一个个将不同物体框起来的方框。最近,这个「物体检测 API」有了一个新功用,它能依据目的对象的像素地位确定该对象的像素,完成物体的像素分类。
实例联系
「实例联系」是物聚焦消费升级、多维视频、家庭场景、数字营销、新零售等创新领域,为用户提供更多元、更前沿、更贴心的产品,满足用户日益多样化、个性化的需求。体检测的延伸,它能让我们在普通的物体检测的根底上获取关于该对象愈加准确、片面的信息。
在什么状况下我们才需求这样准确的信息呢?
-
无人驾驶汽车
为了确保平安,无人驾驶汽车需求准确定位路途上其他车辆和行人。
-
机器人零碎
机器人在衔接两个部件时,假如晓得这两个部件确实切地位,那么机器人的操作就会愈加高效、精确。
「实例联系」的办法有很多,TensorFlow 停止「实例联系」运用的是 Mask RCNN 算法。
Mask R-CNN 算法概述
Mask RCNN 算法架构
在引见 Mask RCNN 之前,我们先来看法一下 Faster R-CNN。
Faster-RCNN 是一个用于物体检测的算法,它被分为两个阶段:第一阶段被称为「候选区域生成网络」(RPN),即生成候选物体的边框;第二阶段实质上是 Fast R-CNN 算法,即应用 RolPool 从每个候选边框获取对象特征,并执行分类和边框回归。这两个阶段所运用的特征可以共享,以更快地取得图像推算后果。
Faster R-CNN 对每个候选对象都有两个输入,一个是分类标签,另一个是对象边框。而 Mask-RCNN 就是在 Faster R-CNN 的两个输入的根底上,添加一个掩码的输入,该掩码是一个表示对象在边框中像素的二元掩码。但是这个新添加的掩码输入与原来的分类和边框输入不同,它需求物体愈加精密的空间规划和地位信息。因而,Mask R-CNN 需求运用「全卷积神经网络」(FCN)。
「全卷积神经网络」是「语义联系」中非常罕见的算法,它应用了不同区块的卷积和池化层,首先将一张图片解压至它本来大小的三十二分之一,然后在这种粒度程度下停止预测分类,最初运用向上采样和反卷积层将图片复原到原来的尺寸。
因而,Mask RCNN 可以说是将 Faster RCNN 和「全卷积神经网络」这两个网络兼并起来,构成的一个庞大的网络架构。
实操 Mask-RCNN
-
图片测试
你可以应用 TensorFlow 网站上的共享代码来对 Mask RCNN 停止图片测试。以下是测试后果:
-
视频测试
最有意思的是用 YouTube 视频来测试这个模型。从 YouTube 上下载几条视频,开端了视频测试。
视频测试的次要步骤:
1. 运用 VideoFileClip 功用从视频中提取出每个帧;
2. 运用 fl_image 功用对视频中截取的每张图片停止物体检测,然后用修正后的视频图片交换本来的视频图片;
3. 最初,将修正后的视频图像兼并成一个新的视频。
Mask RCNN 的深化研讨
下一步的探究包括:
-
测试一个准确度更高的模型,察看两次测试后果的区别;
-
运用 TensorFlow 的物体检测 API 在定制的数据集上对 Mask RCNN 停止测试。