【发布时间】:2015-09-18 18:29:31
【问题描述】:
同事们早上好!
我非常喜欢从我自己的面部数据集训练一个新模型!
我没有找到关于这个主题的信息,那么我希望我的信息可以帮助人们,我也可以得到一些答案。
我将尝试解释训练我自己的模型所需执行的步骤以及稍后的一些问题...
- 我已经从http://cs.brown.edu/~pff/latent-release4/下载了Latent code
- 我已经从http://host.robots.ox.ac.uk/pascal/VOC/voc2008/index.html 下载了 PASCAL VOC 2008 代码 (devkit)
- 我模拟了 VOC PASCAL 的文件/文件夹的结构,但在我自己的数据集中:
- 注释。我创建了一个 .xml,在其中定义了一个对象,人脸(在每个图像中我只有一个人脸)。我没有定义困难或姿势...
- JPEGImages 我存储了所有图像的位置
-
ImageSets 我定义了三个文件:
- test.txt,我在其中写了我的阳性样本的文件名
- train.txt,我在其中写下了我的负样本的文件名
- trainval.txt,我在其中写了我的阳性样本的文件名(与 test.txt 完全相同的文件)。
- 我更改了 globals.m 和 VOCinit.m 中的一些内容(告诉算法一些文件的路径和位置...)
然后我使用以下命令运行训练:pascal('face', 1);
按照这些步骤,我已经实现了训练完全运行并且没有失败,并且我得到了自己的模型但是我有一些疑问......
- 你能看出我的解释中有什么奇怪的地方吗?能行吗?
- 文件 test.txt/trainval.txt 必须相等吗?为什么...这是什么意思?
- 我是否必须在函数内部选择我想要的模型中的零件数量?
- 请您想象我有两种样本(正面和侧面),我想同时检测这两种样本...我该如何解决这个问题?我以为我必须训练一个包含两个组件的模型......但是我怎样才能告诉训练代码是正面样本还是侧面样本?在带有标签姿势的注释中? (我不这么认为......)还有其他方法可以处理这个目的吗?
感谢您的宝贵时间!! 希望你能解决我的疑惑:)
【问题讨论】:
-
嗯....@3yanlis1bos 或 Pablo Rivas,也许你可以帮助我。我收集了这组图像来训练两个模型(正面和侧面):*(正面 300 个 + 侧面 300 个)正样本 --> trainval.txt * (1000) 负样本 --> train.txt * (100)测试样本 --> test.txt 由于我的图像非常静态(它们之间非常相似),我随机旋转了一些度数以在训练中产生一些可变性。那是对的吗?我的问题是,当我运行检测器时,正样本和负样本的分数非常相似......然后我得到了太多的 FP 和 FN......谢谢!