610265158 / face_landmark

A simple method for face alignment based on wingloss and mutitask learning :)
Apache License 2.0
251 stars 80 forks source link

训练自己的数据集,做闭眼检测 #37

Open JunGenius opened 4 years ago

JunGenius commented 4 years ago

你好,作者。

我现在正使用该库来做闭眼检测,我标注了大约5000张左右的图片,使用tf1进行训练, loss下降到5.8左右。 但测试模型的时候,发现几个问题想请教您一下:

  1. 检测的特征点位置不正确,如图所示:

错误的顺序:

1587048108(1)

正确的顺序:

1587050126(1)

请问下,出现这种情况,我该如何来解决? ( 我标注的是 37个点 ,而且我检查过训练样本中,标注的顺序都是正确的, 我测试了大约1000多张图片,有100多张会出现这种情况)

下面是我标注特征点的顺序。

1587048600(1)

  1. 关于数据集增强,我想检测眼睛闭合状态,如果我多增强眼睛闭合的样本数据集,是否能提高准确率? 主要现在在测试时候发现,在眼睛闭眼的状态下,眼部的特征点标注的不准确,导致很多误识别,例如下面这样:

误识别:(闭眼状态,误检测成睁眼)

1587050602(1)

期望的:

1587050532(1)

测试环境:我是在 win10, 使用 c++ tensorflow 1.13.1 来加载模型测试的 ,训练使用的tf1分支。

非常感谢,期待你的解答。

lrain-CN commented 4 years ago

做过相关的事情,睁闭眼的检测,不建议只用关键点来做,可以先用关键点定位眼睛位置,然后做个二分类,自己设计个很轻量的网络 输入尺寸可以设的很小(有这种睁闭眼数据集 再加上自己采集的),这样效果会比较好,因为实际场景中仅仅依靠关键点来判断,在图片质量没那么好的的时候闭眼基本检测不出来。

JunGenius commented 4 years ago

做过相关的事情,睁闭眼的检测,不建议只用关键点来做,可以先用关键点定位眼睛位置,然后做个二分类,自己设计个很轻量的网络 输入尺寸可以设的很小(有这种睁闭眼数据集 再加上自己采集的),这样效果会比较好,因为实际场景中仅仅依靠关键点来判断,在图片质量没那么好的的时候闭眼基本检测不出来。

OK , 我尝试看看,非常感谢你的解答。