如何检测照片是否为海报(不现实)?

时间:2013-08-20 11:08:05

标签: image-processing machine-learning artificial-intelligence classification

我有很多来自音乐家网站的.jpeg。这些图像由即将上映的海报和乐队照片(现实生活中乐队的照片)组成。

这是一个示例海报:

enter image description here

我不熟悉任何现代技术或算法(如果它们存在?),但这是我认为我可能会寻找的:

  • 图片中的文字通常是海报的遗赠。
  • 也许真实的照片(即非海报)遵循不同的颜色分布?
  • 海报可能不太可能有面孔 - 但这是一个相当弱的断言。

是否有任何分类算法可以检测图像是否为海报?

1 个答案:

答案 0 :(得分:11)

你的问题很广泛。 海报照片不是明确定义的对象。什么是海报?在现实生活中,海报通常是照片,或照片的组合,或者是经过修改的照片。

如果我们缩小到你的问题的第一部分 - 乐队照片与即将到来的节目海报,那么答案是 - 可能是的(即使我从未见过有人这样做)。当您正在寻找二元分类器时,我建议采用一些机器学习模型(Naive Bayes应该足够了,但如果您想使用更复杂的功能,那么请尝试使用SVM,ELM或一些随机森林/决策树)并应用它以包含以下内容的向量编码的数据:

二进制功能:

  • “图片上有没有字?” - 您将需要外部文本检测算法
  • “图片上有一个数字” - 活动应该有日期
  • “图片上有日期”
  • “图像上有任何脸”

使用朴素贝叶斯会构建条件特性P(poster|there is a word)P(poster|there is a number)等等,这不仅会给你一个分类器,而且会对你的特征有多重要的一些见解(概率接近0.5是一个建议,一个特定的功能是无用的)。

由于广泛的可能照片,照片会话风格等,我不会使用直方图等,除非您愿意创建非常大的训练集。

如果这还不够,你可以将它们更改为更复杂的功能,并使用更强大的分类器,然后使用朴素贝叶斯。

复杂功能:

  • 图像上有多少个单词?
  • 图片上有多少个数字?
  • 图片上有多少个日期?
  • 图像上有多少张脸?
  • 图像直方图

最后一个选择,如果一切都失败了,你可以尝试训练一些现代模型,比如原始图像上的Deep Belief Network。这需要严格的计算能力,但结果对于科学界来说也是非常有价值的。