本人对这块一窍不通,目前借着 GPT 根据颜色和人体姿态求的相似度,东拼西凑的做出来了,只能说差强人意,堪堪能用,领导希望一个模型解决问题,并且随着训练的材料越多,模型越准确
基于需求,标照片和客片这两张图,即使是按照人眼评判标准相似度足够的,也可能在整体饱和度,亮度,色调,人体姿态,背景颜色等有差异
而需要评判的图片,背景,物体和人物姿态,衣服都会有变化
如果有直接能用的开源项目,或者不需要太多相关知识就能达成的学习路线,希望有大佬指点一二
或者有大佬愿意尝试,可以谈一下报酬看看我们领导是否能接受
1
daohuo OP 对比的客片和标准片,是人物艺术照之类的
|
2
ShadowPower 236 天前
resnet 或者 vit 模型,生成 embedding 之后比对余弦相似度就可以了
|
3
daohuo OP @ShadowPower 有尝试过这个模型,利用的是提取图片特征,(不知道你说的是不是这个),有的可以,但是有时候会出现很离谱的结果,而且对于不同颜色饱和度和亮度的处理,感觉没有处理出来
|
4
ShadowPower 236 天前
|
5
ShadowPower 236 天前
@daohuo 有些结果不准确这点还真没有办法,因为没有那种准确率能达到 100%的模型……
|
6
daohuo OP @ShadowPower 好的,我去了解尝试一下
|
7
daohuo OP @ShadowPower 不能说不准确,而是用这个提取特征,余弦相似度对比,会有很多姿态不同,衣服颜色不同的图片,但是相似度差异不大,比如一个 0.6 一个 0.7 (这里按照 1 为完全相同),这样的结果
|
8
ShadowPower 236 天前 1
@daohuo 这种情况要考虑针对某项要求专门实现,比如用 openpose 来得到人物姿态的关键点,然后收集关键点数据再去训练一个姿态相似度模型。
这样就可以得出某项指标的相似度…… 不过我不清楚什么模型适合这个场景,得试试看。 |
9
daohuo OP @ShadowPower 目前我是搞了每 10 个像素颜色分别对比平均 HSV 的差异来获取颜色相似度,然后使用 mmpose 来获取姿态相似度,这个姿态还是利用 GPT 生成的关键点夹角和相对距离得到的,也结合了这个提取图片特征来对比相似度,然后加权平均,但还是效果不理想,主要是颜色部分,不同的饱和度和亮度,在整体图片中,从人眼看,差距不大,但对计算数据来说,差异很大,这块处理不了,然后老板觉得我做的这个只是勉强能用,希望找一个模型,能提供成对的相似度的图片和不相似的图片,持续训练,得到一个更准确的评判模型,,,,因为我目前了解的计算机视觉方面,还是图片分类和识别比较多,像这种不针对特定内容的比对,我是没找到,让我自己做一个,我也没完全这个能力和知识储备
|
10
mightybruce 236 天前 3
其实就是多媒体信息检索了,和文本检索原理像 es 、solr 一样,除了提取特征外。
大致是多选取几个角度去提取特征,建立起词袋模型,然后还是 tf-idf , 词袋模型里面的 word 就是各种图像的特征,你可以选几种,色彩一个特征、纹理一个特征,混合特征, 最后基于这个做各种距离比较 我很多年前用过 LIRE (Lucene Image Retrieval)是一个基于内容的图像检索的开源库,现在已经有更新的东西了 可以看看这个 https://zhuanlan.zhihu.com/p/147509861 相关入门可以看看斯坦福的经典书 information retrieval https://nlp.stanford.edu/IR-book/information-retrieval-book.html |
11
mightybruce 236 天前
你要多找找一些深度学习模型能够提取出反应这种差异,多试试
|
12
ShadowPower 236 天前
@daohuo 按理来说,如果用卷积神经网络,不同饱和度和亮度应该不会对结果产生影响,除非训练阶段专门区分了它们……
|
13
0xFDA64 236 天前 1
你这个需求估计得按照你们的数据集来训练,才能到达预期效果。因为公开模型的训练用的相似照片和你的需求不一样,例如你想要综合衣服、姿态、背景来做相似度比较,但是别人模型训练时的相似图片只是简单的两只狗。
如果要自己训练,模型训练不难,难的是准备你们的数据集。你不是搞这个,建议申请好预算找人,或者多试试公开工具,效果差不多就行了。 |
14
zhouquan03 236 天前 1
meta 的 dinov2 提取特征试试,不过由于训练数据的限制,风格、色彩等等,效果肯定不会很好的。我在用的这个工具: https://github.com/vra/dinov2-retrieval
|
15
daohuo OP @ShadowPower 要求是不同颜色有影响,不同饱和度和亮度按照人眼的视觉感觉有影响,就是在人眼下,一定范围内,饱和度和亮度调整不会改变对颜色的认知,但是超过一定范围就会了
|
16
daohuo OP @mightybruce 好的,我试试看看
|
17
NCE 236 天前
用 CNN/RNN ,类似识别车牌号的算法。
|
19
mightybruce 236 天前
|
20
DIMOJANG 236 天前 1
感觉听你的描述,可以试试用一些类似 BD-CSPN 、TIM 之类的基于度量学习的 Transductive 方法。应该可以满足“并且随着训练的材料越多,模型越准确”的要求。骨干网络选一个强一点的预训练网络应该就可以提取到比较复杂的特征。
|
22
NoOneNoBody 236 天前
你的描述并没有说清需求,这个“相似度”是如何定义的?
一个百分比数值?那还需要定义权重,颜色、主体(如人物)哪个重要 如果没有定义,纯整体比较,计算 mse 就是了,很简单的一两行代码(用 pyvips 就一行) 一般说“相似度”就是求 mse ,但以你的描述,则是比较复杂,颜色、明暗度都要判断,还有主体姿态 其他方面去看 opencv.img_hash 模块的各种计算,模块内有两图计算值 compute 方法,得出的是单一浮点数 如果主体的姿态还需要描述的话,例如站着、坐着、单手上举……需要能描述的模型 如果只是找出不同,不需要描述,按下面找茬方式就行 找出不同之处?就是类似“找茬”游戏 找茬核心是 skimage.metrics.structural_similarity ,根据其计算结果,在 mask 上描线 网上有例子和代码 其实两图尺寸和内容基本一致的话,找成对相似是比较容易的,都有现成的模块可以完成 我遇到的难题是旋转、裁边(将原图裁掉边缘部分,多数是因为切去水印,然后放大到原尺寸)……这些就很棘手 |
23
ihciah 236 天前
https://github.com/ihciah/deep-fashion-retrieval
贴一个 7 年前的代码,是不是类似需求?评判相似度并做 retrieval 。 “相似”的定义是不好描述的,所以需要你收集相似的和不相似的样本并 finetune 一下网络。 |
24
tfdetang 236 天前
如果是私有场景,估计很难直接通过开源模型实现吧,最起码要自己训练或者(few shot)。 我个人觉得这个场景类似于小区的人脸识别门禁那种 pair-wise 的思路,是用两个正例对与负例组成样本对来找出相似度边界
|
25
DigitalG 236 天前
听上去你的标准有些模糊。打分标准不明确的话,不是很好做。至少细化下“如何判断相似度”的规则,要达到能够给标注团队看过之后能制作训练集的程度吧。
而且你提到人眼也无法判断的情况。我倾向建议不要依赖单一模型去解决。比如由多个不同的模型分别或依次判断,单一模型只提供某个方面的相似度评分。最后综合判断,你可以简单设置多个阈值,每个模型的评分可以有自己的权重(或者这个步骤用另一个回归模型得到一个总分)。 另外,上面说的多个不同的模型,也可以加入传统 cv 的方法去判断饱和度等,不一定非得深度学习。(这也不会影响训练材料越多,模型约准确的要求) |
26
EndlessMemory 235 天前
这个一般使用孪生神经网络吧
|
28
openmynet 235 天前
如果相似度受到整体饱和度,亮度,色调,人体姿态,背景颜色的方面的影响,感觉 image hash 可能更适合你
|
29
SunDoge 235 天前
我觉得这个需求挺有意思的,想试试,能提供一些 example data 吗?
|
30
yichengxian 235 天前
Deeplearning4j
|