Computer vision CNN能比经典描述符更快吗?

Computer vision CNN能比经典描述符更快吗?,computer-vision,deep-learning,surf,vlad-vector,Computer Vision,Deep Learning,Surf,Vlad Vector,Disclamer:我对CNN几乎一无所知,我不知道在哪里可以问这个问题 我的研究重点是计算机视觉应用的高性能。我们在最大尺寸为500px的图像上生成代码,在不到20ms的时间内表示一幅图像 这是通过组合SURF描述符和代码来完成的,获得表示图像的向量,该向量将用于我们的对象识别应用程序 CNN能更快吗?根据benchmark(基于小得多的图像)所需的时间更长,考虑到图像的大小是我们的一半,时间几乎是我们的两倍 我会对基准和笼统的声明保持警惕。了解生成引用值的每个细节非常重要。例如,在GPU硬件

Disclamer:我对CNN几乎一无所知,我不知道在哪里可以问这个问题

我的研究重点是计算机视觉应用的高性能。我们在最大尺寸为500px的图像上生成代码,在不到20ms的时间内表示一幅图像

这是通过组合SURF描述符和代码来完成的,获得表示图像的向量,该向量将用于我们的对象识别应用程序


CNN能更快吗?根据benchmark(基于小得多的图像)所需的时间更长,考虑到图像的大小是我们的一半,时间几乎是我们的两倍

我会对基准和笼统的声明保持警惕。了解生成引用值的每个细节非常重要。例如,在GPU硬件上运行CNN会提高引用值吗

20毫秒对我来说似乎很快;40毫秒也是如此。我不知道你的要求是什么

CNN还能提供什么其他好处?也许这不仅仅是原始速度

我不相信神经网络是解决所有问题的完美技术。回归、支持向量机和其他分类技术仍然可行

这里有一种偏见。你的问题读起来好像你只是想确认你目前的研究是最好的。你有一个沉没成本,你不愿意扔掉,但你担心可能有更好的东西在那里。如果这是真的,我认为这不是一个好问题


“我对CNN几乎一无所知”-如果你是一个真正的研究者,寻求真相,我认为你有义务学习并为自己回答。TensorFlow和Keras使这很容易做到。

我会对基准和笼统的陈述保持警惕。了解生成引用值的每个细节非常重要。例如,在GPU硬件上运行CNN会提高引用值吗

20毫秒对我来说似乎很快;40毫秒也是如此。我不知道你的要求是什么

CNN还能提供什么其他好处?也许这不仅仅是原始速度

我不相信神经网络是解决所有问题的完美技术。回归、支持向量机和其他分类技术仍然可行

这里有一种偏见。你的问题读起来好像你只是想确认你目前的研究是最好的。你有一个沉没成本,你不愿意扔掉,但你担心可能有更好的东西在那里。如果这是真的,我认为这不是一个好问题


“我对CNN几乎一无所知”-如果你是一个真正的研究者,寻求真相,我认为你有义务学习并为自己回答。TensorFlow和Keras使这很容易做到。

是的,它们可以更快。你得到的数字是为ImageNet分类培训的网络,100万张图像,1000个类。除非您的分类问题与此类似,否则使用ImageNet网络是过分的

您还应该记住,这些网络的权重约为1000-1亿,因此评估它们的成本相当高。但是你可能不需要一个很大的网络,你可以设计你自己的网络,用更少的层和参数,评估起来要便宜得多

根据我的经验,我设计了一个网络来对96x96声纳图像块进行分类,总共有大约4000个权重,它可以获得95%以上的分类精度,并且在RPi2上以每帧40毫秒的速度运行


一个具有900K权重、相同输入大小的更大网络需要7毫秒才能在核心i7上进行评估。所以这当然是可能的,您只需要使用较小的网络架构。一个好的开始是,这是一个可以在Imagenet中实现良好性能的网络,但其重量比其他网络轻50倍,当然比其他网络快得多。

是的,它们可以更快。你得到的数字是为ImageNet分类培训的网络,100万张图像,1000个类。除非您的分类问题与此类似,否则使用ImageNet网络是过分的

您还应该记住,这些网络的权重约为1000-1亿,因此评估它们的成本相当高。但是你可能不需要一个很大的网络,你可以设计你自己的网络,用更少的层和参数,评估起来要便宜得多

根据我的经验,我设计了一个网络来对96x96声纳图像块进行分类,总共有大约4000个权重,它可以获得95%以上的分类精度,并且在RPi2上以每帧40毫秒的速度运行


一个具有900K权重、相同输入大小的更大网络需要7毫秒才能在核心i7上进行评估。所以这当然是可能的,您只需要使用较小的网络架构。一个好的开始是,这是一个可以在Imagenet中实现良好性能的网络,但其重量比其他网络轻50倍,当然比其他网络快得多。

回答您的问题:是的,它们可以。它们可以比经典描述符慢,也可以快。例如,只使用一个过滤器和几个最大池几乎肯定会更快。但结果也肯定是糟糕的

你应该问一个更具体的问题。有关部分包括:

  • 问题:分类/检测/语义分割/实例分割/人脸验证/
  • 约束条件:最小精度/最大速度/最大延迟
  • 评估细节
    • 哪些硬件可用(GPU)
    • 你会在一张图片上进行评估吗?通常,您最多可以在一张图像的同时评估512张图像
另外:输入图像大小不应相关。如果CNN在较小的输入上比经典描述符获得更好的结果,那么您为什么要在意呢

论文 请注意,CNN通常不会进行调整