Joint-Cascade-Face-Detection-and-Alignment
Joint-Cascade-Face-Detection-and-Alignment copied to clipboard
some questions about training
博主: 你好,有几个问题请教一下。在计算样本权重的时候使用公式weight = exp(-label * score),这里训练样本每通过一棵分类回归树,都会累加置信度,那取exp计算的时候可能会溢出,不知道博主有没有遇到这个问题,如何解决;还有一个问题是你的代码中关于计算分类回归树对应的classification threshold时是使用最大化召回率来确定该阈值的,可是按照我自己的理解,最大召回率不是始终为100%吗,可是论文中说的是使用一个预设的召回率。 可能我理解的不对,希望博主有时间指教一下,谢谢!
我也在看这篇论文啊,我的QQ是461223448,大家一起交流下。
- 存在溢出可能,但是一般不会溢出。因为如果是正样本,得分是大负数的话才有可能溢出。但是大负数得分的正样本权重变大,导致下一颗树计算的新得分会趋近大正数。而得分是大正数的的正样本权重趋近与0,是不会溢出的。负样本同理,可以说是一个可以稳定学习的系统。
- 我设置的召回率始终为100%。原文说预设的,我不清楚怎么设置,但是50颗树级联的话,如果每颗的召回率是0.995,总的召回0.995^50,就太低了,所以我就设置成100%了。
楼主,我用你的代码,800正样本,800负样本(lfpw数据集),训练出来模型进行检测,几乎都检测不出人脸,请问这是什么原因呢?谢谢,期待您回答。
样本太少了,学不出来。原文是2W吧,想办法找样本。
首先谢谢您的回答,我还有一点不明白,论文中说速度很快,为什么您的程序检测人脸为什么很慢呢,一般需要5s以上的时间呢。 真心感谢您的回答!
------------------ 原始邮件 ------------------ 发件人: "notifications"[email protected]; 发送时间: 2015年10月10日(星期六) 上午8:55 收件人: "kensun0/Joint_Cascade_Face_Detection_And_Alignment"[email protected]; 抄送: "青涩的梦那"[email protected]; 主题: Re: [Joint_Cascade_Face_Detection_And_Alignment] some questions abouttraining (#3)
样本太少了,学不出来。原文是2W吧,想办法找样本。
— Reply to this email directly or view it on GitHub.
放在这的只是训练版本。 测试版本可以达到论文速度,但是需要你自己改。
老师您好,请问下,你的代码中max_numtrees_ =10;而论文中,每层stage的弱分类器为1080,这训练的话,感觉区分能力不强啊,训练的结果也是有虚景检测出来,不知道您是怎么想的? 期待您的回答。
------------------ 原始邮件 ------------------ 发件人: "notifications"[email protected]; 发送时间: 2015年10月10日(星期六) 下午3:12 收件人: "kensun0/Joint_Cascade_Face_Detection_And_Alignment"[email protected]; 抄送: "青涩的梦那"[email protected]; 主题: Re: [Joint_Cascade_Face_Detection_And_Alignment] some questions abouttraining (#3)
放在这的只是训练版本。 测试版本可以达到论文速度,但是需要你自己改。
— Reply to this email directly or view it on GitHub.
原文是1080=27*40,main.cpp里的参数不一定是我最初训练的参数,也可能是纯LBF的参数,我记不得了。 训练结果就因样本而异了,样本的尺寸,数量都会直接影响训练效果。这只是我一个过渡实验,没有完全的测试性能。虚警的问题,原文在后面还有SIFT+SVM做验证的步骤,我没实现这部分,在我的实验中确实有虚警出现,但是并不严重。你可以尝试降低训练图像分辨率试试,前提是你样本足够多。
老师,我问下,像侧脸90度的人脸,没法标注,这样的话,就会缺少一些人脸特征点,根据你的代码,就无法训练?老师有没有好的办法?
╮(╯▽╰)╭,我不是老师。。。 没标注的不行呢,我也没啥办法。
不好意思,我没有说明白,不是没有标注,侧脸90度的图像,只是标注了可以见这半边脸,另外半边脸才没有标注呢,这样的话,有的只有20个点,有的40个点,这样的可以训练吗?
不可以
大家有没有遇到负样本不够的问题,我2w的正样本跑到100颗树左右就把我3w的负样本库耗干净了(做了各种尺度缩放滑窗) 分析原因 有可能负样本不够复杂,但总觉得数量级不应该差这么多,毕竟原文用了5000+的树
试试变大正负样本分辨率,再有,怎么算是耗干了呢?
您好,我用了800正样本和800负样本,训练完之后连训练样本都通不过测试,这个是不是不正常的现象?
当训练第N颗树时候,比如筛掉了3K张负样本,那么是不是应该从负样本库里挑出能通过N-1颗树的3K张负样本作为补充,然而我才训练了30颗树找这3k的负样本就很慢了,博主遇到过么?
to lbear 样本太少
to megane 是的。 你说你变化了负样本的尺度和窗口位置,也就是说一张图片可以生成非常多的负样本。在这种情况下我没遇到过负样本不够的问题。所以我建议你把负样本图像的分辨率提高,找些大尺寸的负样本。 可以意识到的,正样本尺寸越大,训练需要的树越多,所以你也可以把正样本放大。
我现在还遇到的问题是 到了30颗树以后 找负样本就很慢了 不知道哪里错了来自新浪邮箱触屏版 ----- 原始邮件 ----- 发件人:kensun0 [email protected] 收件人:kensun0/Joint_Cascade_Face_Detection_And_Alignment [email protected] 抄送人:Meganecui [email protected] 主题:Re: [Joint_Cascade_Face_Detection_And_Alignment] some questions about training (#3) 日期:2015年10月20日 19点55分
to megan
是的。
你说你变化了负样本的尺度和窗口位置,也就是说一张图片可以生成非常多的负样本。在这种情况下我没遇到过负样本不够的问题。所以我建议你把负样本图像的分辨率提高,找些大尺寸的负样本。
可以意识到的,正样本尺寸越大,训练需要的树越多,所以你也可以把正样本放大。
— Reply to this email directly or view it on GitHub.
博主,你的perform hard samples 的流程写的我不太明白,感觉你没有新增样本啊
我问过你啊,“你说你变化了负样本的尺度和窗口位置,也就是说一张图片可以生成非常多的负样本”。 我是这么做的啊。
但是样本量少也不应该连训练数据都通不过吧
训练正样本应该是通过的,你可以跟踪一下,看看问题在哪,有BUG的话请告知我,THX。
我更改了负样本的生成过程,主要是针对已经找不到负样本的图片进行旋转或者用已经在内存中的图替换,但是寻找负样本还是慢,再不行就需要从外界读取一张图片替换内存中的了。。。
至于正样本不通过,目前还没测试。