有需要预处理代码的朋友,可以私信我
论文展示的方法与我的最终结果
下面是lock3dface数据集的预处理结果
下面是IIIT-D数据集的预处理结果
从上面的结果可以看到,我预处理的深度图比论文中的明显细节更多一点(后面我也进行了识别实验来验证,结果证明:
我的GT深度图确实比论文的识别性能更好!!)
这样后续实验我们的结果就是可对比的了
复现步骤
RGB与深度图像裁剪
RGB-D图像预处理一定要保证完全对齐,即RGB和深度人脸上的特征在图像上的相同位置。
因为深度图像和近红外图像几乎完全对齐,我们首先使用Retinaface算法检测RGB和近红外图像人脸上的5个特征点,然后利用仿射变换将RGB和深度图像的人脸旋转至水平,再利用我们的裁剪算法将人脸完整且无过多背景的裁剪出来,结果如下:
单独第深度图像进行进一步处理
RGB图像裁剪完就不用管了,接下来要对深度图像去背景和归一化
首先我们调用函数获取深度图像的直方图
然后获取两个峰值的谷底对应的横坐标做分割阈值,令大于这个阈值的像素为0即可。
但是在实际中我发现也会遇到多峰值的情况,如下:
这种情况下第一个峰值对应的谷底是分割阈值,此时我们就需要自己设计一个算法来确定分割阈值了。分割完背景,再将图像归一化0-255即可
有需要上面预处理Lock3dface和IIIT-D数据集代码的朋友,可以私信我