tensorflow目标分类:分绍(一)

发布于:2025-08-04 ⋅ 阅读:(18) ⋅ 点赞:(0)

这一章我们看一下用神经网络进行图像处理的高级任务。我们看一下语义分割,定位,检测,实例分割。这一章不是让你成为专家,而是给你提供足够的信息来理解算法并读原始的论文,因为读者可以很容易的读这个主题的许多相关书。希望在本章结束你可以理解不同的方法的区别,能直观的理解这些方法的构件。这些算法需要很多高级的技术,比如多个损失函数,多任务学习。本章我们还要看一些技术。注意有些方法的原始论文是多年前的,要掌握主题,你要亲自读一下原论文。

在笔记本电脑上训练和使用原论文的神经网络不太可能。所以本章的代码较少。我只给你指明方向,并告诉你可以使用预训练库,当你想在项目中使用这些技术时。那是下一节的主题。相关的地方,我指出不同方法的区别,优点,缺点。我们指导性的看一下最高级的方法,因为细节太复杂,只有看原始论文才能给你足够的信息来自已实现算法。

什么是目标定义?

我们直观的理解什么是目标定位。我们已经看了图像分类的多种形式:它告诉我们图像里的内容是什么。那听起来很容易,但是很多时候很困难,并不是因为算法。例如,考虑你的图像里同时有猫和狗的情况。分类是什么?狗还是猫?当然,两者都有,但是分类算法只能给你一种分类,所以不可能告诉你图像里有两种动物。如果有很多狗和猫在图像里又怎么样呢? 你有多个对像呢?你得到想法了。

知道猫和狗在图像的哪里可能很有趣。考虑一下自动驾驶汽汽车:很重要的是要知道人在哪里,因为它要区别死人和活人。分类,如我们在上一节所见,通常不能用来解决现实的图像问题。通常在图像里有很多对象实例的识别可以用来区别它们。要完成这个,我们需发现实例在图像里的位置和边界,这是图像识别技术里最有兴趣的地方,可以使用CNNs解决。

通常我们想定位目标在图像里的位置并在它的周围画上边框。

注意      使用目标定位,我们可以确定对象在图像里的一个或多个对象的位置(例如,人和车)并在它的周围画上边框。

有时可以在文献中看到研究者使用术语localization当图像只有一个对象实例时,而使用术语detection当图像里有多个对象实例时。

注意 Localization通常指图像里只有一个对象实例,而 detection指图像里有多个对像实例。

为了总结和澄清技术,这里概括一下所有的词和术语 (可视化的解释见图 6-1):

    • 分类: 到标签到一个图像,或者换句话, “理解图像里有什么。例如,猫的图像有标签 ” (我们前面看过了几个例子了)
    • 分类和定位: 给一个标签到一张图像并确定包含对象的边框 (通常在对像周围画长方形)
    • 对象检测: 在图像里有多个对象实例时使用这个术语。在对象检测里,你想确定所有对象的实例(例如,人,车,等等)并在它们周围画边框。

    • 实例分割:你想为每一个实例标记每一个像素的具体类,从而找到对象实例的的边界。

语义分割:你想用具体的类标记每一个像素。与实例分割的区别是你不关心有多个车的实例。所有属于车的像素都标记为“车”。在实例分割里,你要知道有多少个车的实例,以及它们在哪里。要理解区别,见图 6-1

6-1. 在图像里定位一个或多个对象的可视化解释

分割是最困难的任务,而实例分割更为困难。要用很多先进的技术来解决这个问题 。要记住的是获得足够的训练数据不太容易。 记住这比简单的分类要困难。

因为我们要标记对像在哪里。使用分割,我们 需要分类图像的每一个像素,意味着训练数据非常大难于收集。

可以获得的非常重要的数据集

可以解决这些问题的非常有 名的数据集是Microsoft COCO 数据集,在 http://cocodataset.org. 。这个数据集有91个对象类型,共 2.5 million个标签实例在328,000张图像里。 为了给你标签的想法,图 6-2 显示了一些数据集的例子。你可以看到具体的对象实例是是如何在像素水平分类的 (如人和车)

6-2. COCO数据集里图像的例子

关于容量的快速提示: 2017训练图像约118,000张需要 18GB2 磁盘空间,所以要记住。用这么大的数据训练网络不太可行,需要时间和计算能力。你可以用API来下载COCO图像。更详细的信息见  https://github.com/cocodataset/cocoapi。图像有5个标记类型:对象检测,关键点检测,  stuff分割,panoptic分割,图像标记。更多的信息见http://cocodataset.org/#format-data。

另一个数据集是Pascal VOC 数据集。不幸的是,网站不太稳定,因此可以使用镜像文件。其中一个镜像是https://pjreddie.com/ projects/pascal-voc-dataset-mirror/。注意这个数据集要比COCO 数据集小很多。

在本章和下一章,我们主要关注目标分类和定位。我们假定图像里只有一个具体的实例,任务是确定对像属于哪个分类,并在周围画边框。这个有点挑战!我们简单的看一下分割是如何工作的,但是不会太详细,因为问题很难解决。我会给你参考资料供你研究。


网站公告

今日签到

点亮在社区的每一天
去签到