确定标签/关键字是否与图像相关的简单但相当准确的算法

Simple but reasonably accurate algorithm to determine if tag / keyword is related to an image

我有一个很难解决的问题是关于自动图像关键字。您可以假设我有一个数据库,其中包含 100000 多张用于训练的关键字低质量 jpeg 图像(低质量 = 大约 300x300 像素的低分辨率 + 低压缩比)。每张图片都有大约 40 个最准确的关键字(数据可能包含轻微 "noise")。我还可以提取一些关于关键字相关性的数据。

给定一张彩色图片和一个关键字,我想确定关键字与这张图片相关的概率。

我需要一个创造性的、易于理解的解决方案,我可以在大约一个月或更短的时间内自行实施(我计划使用 python)。到目前为止,我发现的是机器学习、神经网络和遗传算法。我也在考虑为每个关键字生成某种签名,然后我可以用它来检查尚未看到的图像。

Crazy/novel 如果想法可行,我们也将不胜感激。我也愿意使用其他 python 库。

我当前的算法极其复杂且计算量大。提示关键字而不是计算概率,50%的提示关键字不准确。

鉴于应用程序的硬性要求,只能提出草率和无脑的解决方案。

对于每张图片,使用某种分割方法并保留,比如说,四个最大的部分。将其中一两个区分为背景(延伸到图像边界的那些),将其他区分为前景或感兴趣的项目。

根据主色(使用基于颜色原色的非常粗略的分类)和形状(相对于图像的大小、圆度、孔数、主方向和其他一些)来表征片段.

然后,您可以为每个关键字构建一个分类器,用于确定给定图像 has/hasn 是否不是该关键字。训练后,分类器会告诉您图像 has/hasn 是否不是关键字。如果你使用模糊分类,你会得到 "probability".