Zhongdao / gcn_clustering

Code for CVPR'19 paper Linkage-based Face Clustering via GCN
MIT License
360 stars 86 forks source link

About features of CASIA #8

Open LZDSJTU opened 5 years ago

LZDSJTU commented 5 years ago

Hello, I use another network to extract features from CASIA and use your GCN to train it.

I keep the same parameter setting and find that the accuracy is lower.

I want to ask if there is some point I need to pay attention when I use a new feature.

Thank you.

Zhongdao commented 5 years ago

Pay attention to the number of positive/negative nodes in the IPS. Sometimes the number of negative nodes is much larger than the number of positive ones, in such case the GCN cannot learn good predictions.

Also, you can employ Agglomerative Hierarchical Clustering (AHC) to cluster your data using the same face representation, as a baseline, to show how good your feature is.

LZDSJTU commented 5 years ago

谢谢你的建议,我排查一下IPS里面的正负样本。我用的是CASIA的数据集,根据网上提供的cleanlist,排除脏样本后还剩40万左右。如果IPS里的正负样本差别过大,您是否有什么建议?

另外,您是否可以提供一个您用的AHC的脚本,这样可以更直观地比较我这边的特征和您使用的特征的好坏。

谢谢您的回复。

LZDSJTU commented 5 years ago

您好,另外还想问一下,您在对CASIA搜索knn的时候,有没有进行什么特别的处理呢?

我发现提供的knn.graph.CASIA.kdtree.npy文件中,对于中心点,其对应的邻居点很多都不是和中心点同一个label的。比如中心点在真值中存在另外50个相同label的点,但在邻居点中,可能只包含了这50个中的极少数点。

但是,我自己生成的knn,包含相同label点的比例高很多。

想问一问,您在做knn的时候,有没有进行人为的筛选或者操作呀?

Zhongdao commented 5 years ago

knn.graph.CASIA.kdtree.npy 这个knn是用kdtree得到的近似k近邻,不是准确的K近邻。用近似k近邻好处有两个:一是建图快;二是能在IPS中引入更多的负样本,更有利于训练。

你也可以做一些数据的挑选。比如按照长尾分布采样类别样本。这样得到的IPS的多样性也许会多一些。

jxyecn commented 5 years ago

您好,另外还想问一下,您在对CASIA搜索knn的时候,有没有进行什么特别的处理呢?

我发现提供的knn.graph.CASIA.kdtree.npy文件中,对于中心点,其对应的邻居点很多都不是和中心点同一个label的。比如中心点在真值中存在另外50个相同label的点,但在邻居点中,可能只包含了这50个中的极少数点。

但是,我自己生成的knn,包含相同label点的比例高很多。

想问一问,您在做knn的时候,有没有进行人为的筛选或者操作呀?

Hi, 我也在follow这个工作,也遇到了类似的问题,您能留个邮箱我们交流下吗?

lycwgf commented 5 years ago

谢谢你的建议,我排查一下IPS里面的正负样本。我用的是CASIA的数据集,根据网上提供的cleanlist,排除脏样本后还剩40万左右。如果IPS里的正负样本差别过大,您是否有什么建议?

另外,您是否可以提供一个您用的AHC的脚本,这样可以更直观地比较我这边的特征和您使用的特征的好坏。

谢谢您的回复

谢谢你的建议,我排查一下IPS里面的正负样本。我用的是CASIA的数据集,根据网上提供的cleanlist,排除脏样本后还剩40万左右。如果IPS里的正负样本差别过大,您是否有什么建议?

另外,您是否可以提供一个您用的AHC的脚本,这样可以更直观地比较我这边的特征和您使用的特征的好坏。

谢谢您的回复。

您好,我也在follow这个工作,我也是用casia数据集训练的,您能发一下您下载casia clean list的网址吗?谢谢!!

Zhongdao commented 5 years ago

@LZDSJTU 层次聚类用sklearn里面的就可以了

lycwgf commented 5 years ago

@LZDSJTU 层次聚类用sklearn里面的就可以了 您好,这个用tensorflow训练精度上会有影响吗?

Zhongdao commented 5 years ago

@lycwgf 框架应该没有影响吧

LZDSJTU commented 5 years ago

您好,另外还想问一下,您在对CASIA搜索knn的时候,有没有进行什么特别的处理呢? 我发现提供的knn.graph.CASIA.kdtree.npy文件中,对于中心点,其对应的邻居点很多都不是和中心点同一个label的。比如中心点在真值中存在另外50个相同label的点,但在邻居点中,可能只包含了这50个中的极少数点。 但是,我自己生成的knn,包含相同label点的比例高很多。 想问一问,您在做knn的时候,有没有进行人为的筛选或者操作呀?

Hi, 我也在follow这个工作,也遇到了类似的问题,您能留个邮箱我们交流下吗?

709800954@qq.com

LZDSJTU commented 5 years ago

knn.graph.CASIA.kdtree.npy 这个knn是用kdtree得到的近似k近邻,不是准确的K近邻。用近似k近邻好处有两个:一是建图快;二是能在IPS中引入更多的负样本,更有利于训练。

你也可以做一些数据的挑选。比如按照长尾分布采样类别样本。这样得到的IPS的多样性也许会多一些。

您好,请问您的kdtree,也是用的sklearn的NearestNeighbors吗?

我正在尝试sklearn的kdtree,看看由这个方法生成的knn,是否能和您的一致,不过生成knn的速度不太快。

Zhongdao commented 5 years ago

@LZDSJTU , 我用的是PYFLANN

xxx2974 commented 5 years ago

@Zhongdao 作者你好,关于生成训练所需的数据的knn graph,您有相关的代码供参考吗?另外,训练所需的数据的特征一般是用什么样的网络提取得到的呢? 谢谢!

Fridaycoder commented 4 years ago

@LZDSJTU 您好,请问是不是用来提取特征的网络需要在目标数据集上再训练一次?比如使用ResNet提取CASIA数据集的特征,我需要在CASIA数据集上重新训练ResNet之后再提取特征吗?还是说直接用ImageNet上预训练的ResNet就可以了?