5

我已经使用 VGG 作为图像分类模型实现了图像字幕。我读过 YOLO 是一种快速的图像分类和检测模型,它主要用于多对象检测。但是对于图像字幕,我只想要类而不是边界框。

4

2 回答 2

7

我完全同意 Parag S. Chandakkar 在他的回答中提到的内容。与 VGG-16 和其他对象分类网络相比,如果仅用于分类,YOLO 和 RCNN 这两个最常用的对象检测模型速度较慢。但是,为了支持 YOLO,我要提到的是,您可以为图像字幕和图像对象检测创建单个模型。

YOLO 生成一个长度为 1470 的向量。 在此处输入图像描述

  • 调整 YOLO 以生成数据集支持的类数,即使 YOLO 生成 49*(数据集中的类数)+ 98 + 392 的向量。

  • 使用此向量生成边界框。

  • 进一步调整这个向量以生成一个大小等于类数的向量。您可以使用密集层。
  • 将此向量传递给您的语言模型以生成字幕。

因此,总而言之,您可以先生成边界框,然后进一步调整该向量以生成字幕。

于 2017-04-08T12:20:37.813 回答
4

我最初的猜测是使用 YOLO 进行图像分类是没有意义的。YOLO 用于对象检测的速度很快,但用于图像分类的网络比 YOLO 更快,因为它们所做的工作较少(因此比较不公平)。

根据此处提供的基准,我们可以考虑具有 27 层的 Inception-v1 网络。YOLO 基础网络有 24 层。现在,使用最新的 cuDNN,在 Maxwell TitanX 上,Inception v1 需要 19.29 毫秒处理 16 张图像,这意味着大约 830 fps(当您传递单个图像时再次预计 fps 较低,因为 GPU 在处理小批量(即进行一次前向传递)时速度很快)小批量 16 比小批量 1) 进行 16 次前向传递要快。

最新版本的 YOLO 运行速度为 67 fps,其微型版本运行速度为 207 fps,仍然比 Inception v1 慢很多(请注意,YOLO 没有将 Inception v1 作为其基础网络,但层数仍然相当)。

所以,简而言之,我认为使用 YOLO 进行图像分类没有任何速度优势。现在,关于准确性,如果对象很小,我不能肯定 YOLO 是否能够比传统的图像分类网络更好地检测对象的存在。

于 2017-04-08T10:35:21.490 回答