gehaocool / CombinedMargin-caffe

caffe implementation of insightface's combined margin method
92 stars 28 forks source link

resnet36模型测试和预处理 #24

Open boozyguo opened 5 years ago

boozyguo commented 5 years ago

hello 尝试用预训练的模型进行lfw测试,但是结果不好。 能否帮助提供下预处理,以及人脸对齐部分处理的代码。谢谢

gehaocool commented 5 years ago

预处理的整个流程同sphereface是一样的,使用MTCNN进行人脸检测和对齐 请参考sphereface的相关代码face_detect_demoface_align_demo 其他版本的MTCNN实现也是可以的,但一定要注意保持训练和测试的图片用相同的代码进行对齐 我的pretrained model所用的训练数据是用sphereface的上述代码进行对齐的,所以如果你要用我的pretrained model,而不使用原版的MTCNN的话,请一定注意保证你所用的MTCNN的结果同原版是一样的,这里还一点是对齐时的仿射变换计算方法也一定要是一样的 另外测试LFW的话也可以用sphereface的相关test代码

最近比较忙,以后有空了可能会加入这部分代码,并对repo进行重构 …… …… 不过说实话动力不是很大……请不要抱希望

boozyguo commented 5 years ago

感谢回复! 另外,resnet36的这个模型,是不是在原生caffe下也可以做推理?因为看deploy.proto里面,没有出现CombinedMarginParameter和NormalizeParameter,在InnerProductParameter中也没有用到“optional bool normalize = 7 [default = false];”

gehaocool commented 5 years ago

是的,应该是可以的

boozyguo commented 5 years ago

thank you @gehaocool . 那主要是在训练时候用到了CombinedMarginParameter和NormalizeParameter么?

gehaocool commented 5 years ago

我想了一下,Innerproduct可能在训练和测试的时候都要使用我这个修改的版本 CombinedMargin Layer测试的时候肯定是不需要的

boozyguo commented 5 years ago

测试了一下,用原生的caffe和修改后的caffe,对相同2个图像比对,输出结果是相同的。

gehaocool commented 5 years ago

@boozyguo 多谢你的测试信息!

boozyguo commented 5 years ago

看了下prototxt,在fc5和fc6里面的InnerProduct层,只有fc6设置了 normalize: true。所以推理用原生caffe是可以的。 另外,尝试按照sphereface的face_align_demo处理了lfw的图片(用python重新实现了matlab的对齐),但是测试性能还是很低,这个可能是什么问题呢?

geyijun commented 5 years ago

FC6中的normalize在推理过程中本身不用了。而FC5出来的特征向量后的Normalize也可以不用,因为本身算余弦距离的时候就已经做了归一化了。所以用原生的Caffe没有问题。

ShawKai666 commented 5 years ago

FC6中的normalize在推理过程中本身不用了。而FC5出来的特征向量后的Normalize也可以不用,因为本身算余弦距离的时候就已经做了归一化了。所以用原生的Caffe没有问题。

为什么我用原生的caffe测试和修改的caffe测试是不同的,原生caffe测试的时候移除了fc6的normalize: true,修改的caffe测试网络的fc6设置了normalize: true

we0091234 commented 4 years ago

看了下prototxt,在fc5和fc6里面的InnerProduct层,只有fc6设置了 normalize: true。所以推理用原生caffe是可以的。 另外,尝试按照sphereface的face_align_demo处理了lfw的图片(用python重新实现了matlab的对齐),但是测试性能还是很低,这个可能是什么问题呢?

我测试正确率也很低不知道为什么

we0091234 commented 4 years ago

看了下prototxt,在fc5和fc6里面的InnerProduct层,只有fc6设置了 normalize: true。所以推理用原生caffe是可以的。 另外,尝试按照sphereface的face_align_demo处理了lfw的图片(用python重新实现了matlab的对齐),但是测试性能还是很低,这个可能是什么问题呢?

我测试正确率也很低不知道为什么

我测试正常了

TerenceChen95 commented 4 years ago

看了下prototxt,在fc5和fc6里面的InnerProduct层,只有fc6设置了 normalize: true。所以推理用原生caffe是可以的。 另外,尝试按照sphereface的face_align_demo处理了lfw的图片(用python重新实现了matlab的对齐),但是测试性能还是很低,这个可能是什么问题呢?

我测试正确率也很低不知道为什么

我测试正常了

我测试也很低,请问用了什么办法啊?