在一番调研之后,我们将眼光集合在了三个模型上:FCN、Unet。个中 Tiramisu 采取了异常深的编码 - 解码架构。我们也对 Mask-RCNN 有些设法主意,然则实现它似乎已经超出了本项目标范围。
FCN 因为效不雅太差,起首被我们舍弃。而别的两个模型的结不雅还不错:Tiramisu 和 Unet 的重要优势在于模型紧凑和计算快速。就实现方面而言,Unet 异常轻易实现(采取 Keras)而 Tiramisu 也可以实现。并且我们也应用潦攀来自 Jeremy Howard's 的 Deep learning 课程中最后一堂课所供给的 Tiramisu 的实现代码。
保存着两个候选的模型,我们进入到了下一步——开端练习模型。必须解释的一点是,当我第一次测验测验了 Tiramisu 模型之后,就被它惊人的结不雅所深深捕获,因为它可以或许捕获到图像中的尖利边沿。另一方面,Unet 似乎还不敷好,它的结不雅也是差能人意。

数据
既然在模型选择方面已经有个大年夜概偏向,那么接下来我们将开端寻找合适的练习数据。用于练习瓜分模型的数据并不像分类或者检测那样常见。事实上,图像瓜分最常用的几个数据集分别是 COCO,它包含有 90 种类别,大年夜概有 8 万张图像;VOC pascal,它包含有 20 种类别和 1.1 万张图像;以及比来宣布的 ADE20K。
最终我们选择采取 COCO 数据集,因为它包含有很多关于 “人” 这一类其余图像,而这恰是我们所感兴趣的。
推敲到产品所要实现的义务,我们还须要推敲是只应用与义务最相干的那一部分数据集,照样应用更多的更一般的数据?一方面,运器具有更多图像和类其余更一般性的数据集,将使得模型具备有处理更多场景和更具挑衅性的图像;而另一方面,一个彻夜的时光我们可以或许练习 15 万张图像。是以如不雅我们将完全的 COCO 数据集都用于练习模型,则一个彻夜的时光下来,平均而言,每张图像将被应用 2 次阁下。所以采取加倍精简的部分数据将对模型练习有益,此外,它将使得模型加倍集中。
还有一件值得一提的事是,Tiramisu 模型本来是在 CamVid 数据集长进行练习的,该数据具有一些缺点,但最重要的是它的图像内容异常单调——所有的图像都是门路与汽车。信赖你可以很轻易就懂得,大年夜如许的数据集中进行进修(即便它包含有人)对我们的最注目标也没有任何好处,所以经由短暂的┞峰酌,我们选择了放弃而改用 COCO。

来自 CamVid 数据集的样例
COCO 数据集附有异常简单清楚明了的 API,这可以让我们精确地知道每张图像上都包含了哪些物体(根据 90 个预定义的类别)。

左边:浩揭捉?例,中心:包含有太多元素,右边:目标主体太小
Tiramisu 模型
衣服——异常亮或者异常黑的衣服有时会被当成背景
如不雅你还记得,这个架构是相符 FCN 所提出的设法主意的:应用分类架构、上采样和跳跃连接进行细化。

Tiramisu 的通用架构
DenseNet 模许可以看作是 ResNet 模型的一个天然演变,然则 DenseNet 不是 “记住” 层与层之间的关系,而是记住了模型中的所有层。这种连接被称为高速公路连接(Highway connections)。它导致了过滤器数量激增,这被定义为 “增长率”。Tiramisu 的增长率为 16,是以在每一层我们须要添加 16 个新的滤波器,直到达到某一层具有 1072 个滤波器。你也许会期望 1600 层,因为模型的名字是 “100 层 Tiramisu”,然而上采样层降低了一些滤波器。
推荐阅读
【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞? 1、开源库Web 范畴:Sanichttps://github.com/channelcat/sanic这个库的名字和之前一个很火的梗有关,有人在>>>详细阅读
本文标题:详解如何用深度学习消除背景,实现抠图
地址:http://www.17bianji.com/lsqh/40214.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示