提取人脸后难免会有提取异常的数据,轻则污染src训练数据,重则dst合成异常。本文介绍各种异常情况以及对应解法
1. 提取到的人脸混合了多个角色2. 提取到的人脸大小、方向异常3. 提取到的人脸有特别模糊的人脸4. 目标人脸没有被提取出来1.提取到的人脸混合了多个角色
不管是src还是dst,总是希望能提取到指定角色人脸,不希望混入非目标人脸的素材。
手动删除对应aligned图片当然是个方法,但效率比较低,这里介绍两个更高效方法
一、善用windows文件资源管理器自带的搜索功能
同一画面如果识别出多个人,文件后缀名会以_0, _1, _2……区分。通常连续画面的同一角色的后缀名相同。以此特点,直接搜索后缀名,能快速聚集出连续的同个人素材,进行框选删除。
该方法优点:纯人工判断,误判率小
缺点:工作量还是比较大
二、使用论坛原创的bbfilter工具,快速筛选出指定人脸。
工具下载与使用说明在这里:
http://dfldata.xyz/forum.php?mod=viewthread&tid=546&extra=&page=1优点:机器自动判断,省人力
缺点:大角度、侧脸误判率高。工具安装有一定门槛
三、 使用DFL自带的排序脚本
DFL自带排序脚本,data_src sort.bat和data_dst sort.bat分别对 src和dst进行排序。中文版本大概就是dst排序.bat和src排序.bat类似名字。
排序时,使用颜色直方图(histgram)做排序依据,可以快速把色彩相似的图聚类到一起,方便快速批量删除
优点:机器优化排序,人工再判断删除,误判率小
缺点:当同一画面两个人脸所处环境色相似时,排序可能不太准,跟手动挨个删差不多
2.提取到的人脸大小、方向异常
有些人脸识别的人脸关键点不准,导致软件自动校正方向出错,出现角度异常(正常aligned图的双眼是水平居中,人脸中轴线垂直)、人脸大小异常(比其他图的人脸范围明显缩小了)。
这类错误只能删除后手工提取。具体方法如下:
删除异常图片的debug文件夹中对应的图,然后用4) data_src/dst faceset extract MANUAL.bat 脚本(手动提取src/dst人脸.bat) 重新执行提取dst或src的过程。
3. 提取到的人脸有特别模糊的人脸
这个其实算不上错误。如果清晰素材量够多的话,可以留着模糊人脸不管,不影响训练过程。甚至训练数据中夹杂清晰和模糊能训练得更好。
非要删除就手动删除吧。或者用排序脚本,按blur模糊度排序后再手动删除。
4. 目标人脸没有被提取出来
这类错误的解法与第2条相同
删除未识别图片在debug文件夹中对应的图,然后用4) data_src/dst faceset extract MANUAL.bat 脚本(手动提取src/dst人脸.bat) 重新执行提取dst或src的过程。
暂无评论内容