Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

获取O_Net训练数据时出现问题 #3

Open
ShenCastle opened this issue Apr 25, 2019 · 19 comments
Open

获取O_Net训练数据时出现问题 #3

ShenCastle opened this issue Apr 25, 2019 · 19 comments

Comments

@ShenCastle
Copy link

ShenCastle commented Apr 25, 2019

您好,为什么生成O_Net训练数据的时候,有很多的neg和part数据,但是pos数据却为0呢?

@ShenCastle ShenCastle changed the title O_Net 获取O_Net训练数据时出现问题 Apr 25, 2019
@lunar-r
Copy link

lunar-r commented May 5, 2019

你好哦!我想问一下你的r_net网络是如何训练的我的POS机:9个,部分:37个,负:120个样本特别少,不能正常训练r_net训练,谢谢。

@ShenCastle
Copy link
Author

你好哦!我想问一下你的r_net网络是如何训练的我的POS机:9个,部分:37个,负:120个样本特别少,不能正常训练r_net训练,谢谢。

我是先使用gen_data/gen_celeba和gen_wideface这两个文件提取出p_net的训练数据,对p_net进行训练,之后在用gen_data/gen_middle这个文件提取出r_net的样本,我觉得你的原因是没有改正gen_middle文件中读取原始标注文件的个数,这个在config文件中可以进行修改的。不过我的o_net的pos也遇到了和你一样的问题不知道怎么解决。。。

@lunar-r
Copy link

lunar-r commented May 6, 2019

谢谢啦!我的p_net也是用gen_data/gen_celeba和gen_wideface这两个文件提取数据的,然后用gen
_training_h5训练生成h5文件。下面是r_net训练的结果:
pos_part_batch_size---: 64
neg_batch_size---: 192
landmark_batch_size---: 128
pos_total_step, neg_total_step, part_total_step, landmark_total_step----: 0 0 0 6173
这个就是我训练r_net时出现的错误,我确实没有修改config中的原始标注文件的个数,请问一下是修改这个参数嘛?谢谢。
#gen_middle_wideface_data
DETECT_WIDEFACE_NUM = 2

@lunar-r
Copy link

lunar-r commented May 6, 2019

https://github.com/LeslieZhoa/tensorflow-MTCNN
建议看一下这个项目,很类似,也用到了困难样本挖掘,它是用TensorFlow slim写的

@ShenCastle
Copy link
Author

谢谢啦!我的p_net也是用gen_data/gen_celeba和gen_wideface这两个文件提取数据的,然后用gen
_training_h5训练生成h5文件。下面是r_net训练的结果:
pos_part_batch_size---: 64
neg_batch_size---: 192
landmark_batch_size---: 128
pos_total_step, neg_total_step, part_total_step, landmark_total_step----: 0 0 0 6173
这个就是我训练r_net时出现的错误,我确实没有修改config中的原始标注文件的个数,请问一下是修改这个参数嘛?谢谢。
#gen_middle_wideface_data
DETECT_WIDEFACE_NUM = 2

没错,是这个参数

@ShenCastle
Copy link
Author

https://github.com/LeslieZhoa/tensorflow-MTCNN
建议看一下这个项目,很类似,也用到了困难样本挖掘,它是用TensorFlow slim写的

多谢多谢

@lunar-r
Copy link

lunar-r commented May 6, 2019

没事儿,互相交流嘛! 我想问一下你在r_net网络中DETECT_WIDEFACE_NUM设置的是多少?谢谢。

@lunar-r
Copy link

lunar-r commented May 6, 2019

#r_net
RNET_EPOCHS= 1
RNET_LEARNING_RATE = 0.001

RNET_CELEBA_NUM = 100002
RNET_WIDEFACE_NUM = 20002

RNET_BACKGRAND_NEG_NUM = 50
RNET_FACE_NEG_NUM = 5
RNET_POS_PART_NUM = 20
还想问一下,这些参数你修改了嘛?

@ShenCastle
Copy link
Author

没事儿,互相交流嘛! 我想问一下你在r_net网络中DETECT_WIDEFACE_NUM设置的是多少?谢谢。

2500,运行起来特别慢,成功生成了r_net的训练数据,但是没能用同样的方法生成o_net的

@ShenCastle
Copy link
Author

#r_net
RNET_EPOCHS= 1
RNET_LEARNING_RATE = 0.001

RNET_CELEBA_NUM = 100002
RNET_WIDEFACE_NUM = 20002

RNET_BACKGRAND_NEG_NUM = 50
RNET_FACE_NEG_NUM = 5
RNET_POS_PART_NUM = 20
还想问一下,这些参数你修改了嘛?

我下载的CelebA数据集有问题,中间有些数据是空的,所以我只修改CELEBA_NUM为30002,其他的都没有改

@lunar-r
Copy link

lunar-r commented May 6, 2019

好的,谢谢啦!网上说celebade 数据集不是很好,建议用lfw_5590和net_7876

@ShenCastle
Copy link
Author

好的,谢谢啦!网上说celebade 数据集不是很好,建议用lfw_5590和net_7876

好的同样很感谢!有人理我的感觉真的很好O(∩_∩)O

@lunar-r
Copy link

lunar-r commented May 6, 2019

inputs shape: (1, 13, 16, 3)
labels (3, 2)
bboxes (3, 4)
Traceback (most recent call last):
File "gen_middle_wideface_data.py", line 192, in
main(sys.argv[1])
File "gen_middle_wideface_data.py", line 171, in main
,bboxes , = detector.predict(img_jpg)
File "..\detector\detector.py", line 64, in predict
return self.predict_with_p_net(im_)
File "..\detector\detector.py", line 73, in predict_with_p_net
return self.detect_with_p_net(im)#此处修改
File "..\detector\detector.py", line 110, in detect_with_p_net
boxes = generate_bbox(labels[:, :, 1], bboxes, current_scale, self.threshold[0])
IndexError: too many indices for array
我修改之后,gen_middle_wideface_data.py r_net就跑不通了

@ShenCastle
Copy link
Author

inputs shape: (1, 13, 16, 3)
labels (3, 2)
bboxes (3, 4)
Traceback (most recent call last):
File "gen_middle_wideface_data.py", line 192, in
main(sys.argv[1])
File "gen_middle_wideface_data.py", line 171, in main
,bboxes , = detector.predict(img_jpg)
File "..\detector\detector.py", line 64, in predict
return self.predict_with_p_net(im_)
File "..\detector\detector.py", line 73, in predict_with_p_net
return self.detect_with_p_net(im)#此处修改
File "..\detector\detector.py", line 110, in detect_with_p_net
boxes = generate_bbox(labels[:, :, 1], bboxes, current_scale, self.threshold[0])
IndexError: too many indices for array
我修改之后,gen_middle_wideface_data.py r_net就跑不通了

我是将
labels = np.squeeze(labels)
bboxes = np.squeeze(bboxes)
改为了
labels = np.squeeze(labels, axis=0)
bboxes = np.squeeze(bboxes, axis=0)
这个可能是squeeze是去除长度为1的维度,其实应该是当第一个维度为1时去除,原代码逻辑出现了一些问题(我当时也报错了)

@lunar-r
Copy link

lunar-r commented May 6, 2019

好的,谢谢!我去试试,有人理的感觉真好

@lunar-r
Copy link

lunar-r commented May 7, 2019

你好哦!问一下运行r_net的gen_middle_wideface_data花了多长时间?

@lunar-r
Copy link

lunar-r commented May 7, 2019

1、由原始图片和PNet生成预测的bounding boxes。
2、输入原始图片和PNet生成的bounding box,通过RNet,生成校正后的bounding box。
3、输入元素图片和RNet生成的bounding box,通过ONet,生成校正后的bounding box和人脸面部轮廓关键点。
r_net和o_net的数据是有两部分生成的,感觉代码中只有一部分
https://zhuanlan.zhihu.com/p/32163660

@lunar-r
Copy link

lunar-r commented May 17, 2019

你好!@ShenCastle自己训练mtcnn网络跑通了嘛?

@ShenCastle
Copy link
Author

你好!@ShenCastle自己训练mtcnn网络跑通了嘛?

不好意思哈最近一直没时间上github
gen_middle_wideface_data花了大概两天时间
我还是停留在之前的进度,r_net生成了训练数据但是生成的o_net训练数据依旧没有正样本,不知道什么原因,我猜测可能是因为之前的网络训练有问题导致模型推理时无法检测人脸。如果您成功的话请告诉我一下如何解决这个问题,谢谢!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants