再谈紫菜法则:以数据为依据的时尚趋势调查

2021-02-10 03:48:11

时装历史学家詹姆斯·拉弗(James Laver)在其1937年出版的《品味与时尚》一书中首次提到了“拉弗法则”。该理论试图对服装进出样式的感觉进行分类。

受Laver的启发,我想看看是否有可能发掘某种描述现代时尚周期的公式,但要通过计算来考虑互联网上可用的丰富时尚图像。简而言之:我做不到。但是我做的仍然很有趣,尽管很混乱。

我从算法上对1989年至2014年之间拍摄的近300,000幅跑道图像进行了聚类,这些图像取自优秀的欧洲时尚遗产协会。您可以在下面探索该作品的交互式示例,其中包含约1,000张图像,分为50种样式。

我们的结果令人不知所措,让我们暂时放大一下,并比较一下这些样式集。

注意:列“ #Common Designer”是指在该样式组中出现频率最高的设计师。

首先,我要谦虚地承认,除了我受雇于以数据科学家的名义从事的一项工作之外。基于技术,我专门研究数据可视化,一般不会做自己的特技。因此,我研究此主题的过程基于许多假设,并且受我对可用工具的了解和使用的限制。

我首先从优秀的欧洲时尚遗产协会(EFHA)特别是Catwalk Pictures公司的472,465张跑道照片的数据集中开始。我选择只使用Catwalk Pictures的照片,因为它们的构图一致,照片历史悠久(在EFHA档案库中保存的1989年至2014年)和高质量。

我最初将这些照片下载到我的个人计算机上,然后再将其移动到专用的Google云端硬盘帐户中以与Colab一起使用。如果我知道我一开始就要在Colab工作,那我早就该开始了,但是在做出决定时我仍在权衡自己的选择。我提出这个问题是因为在转移过程中的某个时候,我丢失了2014年的照片,成千上万张。

我想减少图像聚集在一起的机会,因为它们出现在看起来相似的跑道上(或在相同的节目中)。经过一些实验后,我使用了Aaditya Vikram的背景去除程序,然后使用OpenCV选择了最大的剩余轮廓,并缩放了最终图像。这项工作做得很合理,尽管要承认背景特别繁忙和低对比度拍摄时遇到了麻烦。

Lovecraftian处理这类镜头所产生的输出比Maison Martin Margiela更像是The Magic of Gathering(并且有少数裁剪得更细的照片破坏了我对统一取景的梦想),因此我应用了另一轮滤镜。使用OpenCV,我过滤了我的背景去除数据集,直到仅剩下在图像的近似中心处包含一个近似右比例的一张脸的图像。这种方法的权衡在于,过滤掉了许多带有低沿帽子和遮眼的发型的照片。在本练习结束时,我的最终图像计数为272,361(并且从名称中提取出没有有效年份的图像)。

我选择和使用聚类方法可能是我犯了最多错误的地方。除了缺乏数据科学专业知识外,我还决心找到一种方法,在我选择的计划中,该方法可以在少于Colab的25GB RAM和少于200GB存储空间的情况下使用。

我尝试使用BIRCH,但无法将内存需求提高到可管理的水平。我无法让DenStream做任何事情,并且通过对数据子集进行大量测试,数据看起来很嘈杂,无法为K-Means提供良好的k值,如果将其放入流中,它将可以扩展上下文。我正在尝试总结许多个月前在各个阶段废弃的实验。很可能有一种方法可以使这些方法之一起作用,而我只是没有使用正确的参数,降维技术或特征提取方法。

上面显示的结果来自使用Steve Schmerler的图像群集库。 imagecluster提供了实用程序,用于使用VGG16进行特征提取以及使用scipy的层次聚类功能进行聚类。我仍然需要一种方法来使数据集的大小在Colab预算范围内可管理,但是不想随意选择样本大小。

我使用PCA来降低要素数据的复杂性,然后迭代地对数据进行聚类,每次都丢弃过大的聚类和单例,直到剩余的数据集(代表27,563张图像)可以在我的技术限制范围内聚类。每次根据结果的表观凝聚力和簇大小分布选择用于簇行为的参数。以上结果来自最后一轮聚类。

我用一些不耐烦的家庭厨师测试意大利面条是否煮熟的方法来解决这个问题,结果却一团糟。 我将稍稍回避这个问题,并希望在2021年FW时能再提出一些建议和更多的知识。