我从音乐家的网站上获取了一些.jpeg格式的图片。这些图片包括即将举行的演出的海报和乐队的真实生活照片(乐队的照片)。
这是一个海报的示例:
我对任何现代技术或算法并不熟悉(如果它们存在的话?),但我认为我可能会寻找以下特征:
- 图片中的文字通常是海报的明显标志。
- 或许现实照片(即非海报)遵循不同的颜色分布?
- 海报可能不太可能包含面孔——但这是一个相当薄弱的断言。
是否有任何分类算法可以检测一张图片是否是海报?
回答:
你的问题非常宽泛。海报或照片并不是明确定义的对象。什么是海报?在现实生活中,海报通常是照片,或者照片的组合,或者稍微调整过的照片。
如果我们缩小到你问题第一部分提到的——乐队照片与即将举行的演出海报,那么答案是——可能可以(尽管我从未见过有人这样做)。由于你需要一个二元分类器,我建议采用一些机器学习模型(朴素贝叶斯应该足够,但如果你想使用更复杂的特征,可以尝试支持向量机、极限学习机,或者一些随机森林/决策树),并将其应用于包含以下内容的向量编码数据:
二元特征:
- “图片中有文字吗?”——你将需要外部的文本检测算法
- “图片中有数字吗”——活动应该有日期
- “图片中有日期吗”
- “图片中有面孔吗”
使用朴素贝叶斯将构建条件概率,如P(海报|有文字)
、P(海报|有数字)
等,这不仅会给你一个分类器,还会提供你的特征的重要性洞察(接近0.5
的概率表明特定特征无用)。
我不会使用直方图等,因为可能的照片范围、摄影风格等非常广泛,除非你愿意创建一个非常大的训练集。
如果这些还不够,你可以将这些特征改为更复杂的特征,并使用比朴素贝叶斯更强大的分类器。
复杂特征:
- 图片中有多少个文字?
- 图片中有多少个数字?
- 图片中有多少个日期?
- 图片中有多少个面孔?
- 图片直方图
最后一个选项,如果一切都失败了,你可以尝试在原始图片上训练一些现代模型,如深度信念网络。这将需要强大的计算能力,但结果对科学界也将非常有价值。