ShiqiYu / libfacedetection.train

The training program for libfacedetection for face detection and 5-landmark detection.
Apache License 2.0
774 stars 209 forks source link

模型是否支持关键点输出 #65

Closed yonglianglan closed 1 year ago

yonglianglan commented 1 year ago

看到训练中利用到关键点信息,有关键点相关的loss,模型推理是否支持关键点的输出呢?

Wwupup commented 1 year ago

肯定是支持的啊,你可以参考我的compare_inference.py中后处理的实现,这边是可以进行关键点输出的。pytorch中head里面由于不需要评估关键点,所以直接忽略了关键点。

yjump commented 1 year ago

肯定是支持的啊,你可以参考我的compare_inference.py中后处理的实现,这边是可以进行关键点输出的。pytorch中head里面由于不需要评估关键点,所以直接忽略了关键点。

Hi @Wwupup , 请教一下现有模型的关键点检测能力是在哪个数据集上训练的呀?想重新训练复现一下关键点检测的能力。WilderFace没有带人脸关键点的标注

Wwupup commented 1 year ago

你好,本项目使用的关键点标注是来自(SCRFD)[https://github.com/deepinsight/insightface/tree/master/detection/scrfd],当然本项目的/data文件夹下的labelv2就是WIDER-FACE数据集带关键点的标注文件

肯定是支持的啊,你可以参考我的compare_inference.py中后处理的实现,这边是可以进行关键点输出的。pytorch中head里面由于不需要评估关键点,所以直接忽略了关键点。

Hi @Wwupup , 请教一下现有模型的关键点检测能力是在哪个数据集上训练的呀?想重新训练复现一下关键点检测的能力。WilderFace没有带人脸关键点的标注

yjump commented 1 year ago

@Wwupup 感谢解答哈

BandyKenny commented 1 year ago

Hi @Wwupup 你好,我想问下: 1、data\widerface\labelv2下只有train文件下的labelv2.txt才有关键点的标注信息;在val\labelv2.txt文件中没有人脸关键点的标注信息吗? 2、data\widerface\labelv2\labelv2.txt中,449 330 571 479 488.90601 373.64301 0 542.08899 376.44199 0 515.03101 412.82999 0 485.17401 425.89301 0 538.35699 431.49100 0; 对应的格式是x1,y1,x2,y2,关键点1,0,关键的2,0,关键点3,0,关键点4,0,关键点5,0吗?这个0是什么含义?我看有些是0,有些是1,有些是-1?

Wwupup commented 1 year ago

Hi @Wwupup 你好,我想问下: 1、data\widerface\labelv2下只有train文件下的labelv2.txt才有关键点的标注信息;在val\labelv2.txt文件中没有人脸关键点的标注信息吗? 2、data\widerface\labelv2\labelv2.txt中,449 330 571 479 488.90601 373.64301 0 542.08899 376.44199 0 515.03101 412.82999 0 485.17401 425.89301 0 538.35699 431.49100 0; 对应的格式是x1,y1,x2,y2,关键点1,0,关键的2,0,关键点3,0,关键点4,0,关键点5,0吗?这个0是什么含义?我看有些是0,有些是1,有些是-1?

  1. 本项目的关键点仅做训练,不做评估,所以训练集下面是有关键点标注的,验证集没有 。
  2. labelv2.txt 每行有19个数,分别是(x, y, X, Y, (px, py, weight) * 5)。全是-1表示这个人脸没标注关键点,那么其weight被设置为0;而原始weight为0和1的都会在以下代码中设置为1. https://github.com/ShiqiYu/libfacedetection.train/blob/dce01651d44d2880bcbf4e296ad5ef383a5a611e/mmdet/datasets/retinaface.py#L32-L49
BandyKenny commented 1 year ago

2. 关键点,那么其weight被设置为0;而原始weight为0和1的都会在以下代码中设置为1.

哦哦,感谢老师的解答,那我自定义数据集就仿造labelv2的格式,可以不用去设置0/1和weights的影响吧,我打算默认设置为0,weights设置为1

Wwupup commented 1 year ago
  1. 关键点,那么其weight被设置为0;而原始weight为0和1的都会在以下代码中设置为1.

哦哦,感谢老师的解答,那我自定义数据集就仿造labelv2的格式,可以不用去设置0/1和weights的影响吧,我打算默认设置为0,weights设置为1

是的,只要数据加载出来和项目上一致即可。