人脸光照调整之DCT变换

人脸光照调整一直是人脸识别问题中的难点,作者就不同处理方法,并结合其在实际应用中的表现,在此分章节谈一些个人看法,有不当之处,还望各园友指正。

光照调整主要分在频率域和空间域的处理,频率域中有DCT变换、小波变换等。而在空间域有直方图均衡化、Gamma校正等。作者在此只介绍一些主流并有较广适应范围的方法。首先,我们来谈谈DCT变换吧:

DCT(离散余弦变换)对高相关性的数据(信号),具有非常好的能量聚焦性,经过变换,信号能量的绝大部分被集中到变换域的少数系数上。因此,对于受光照影响的图像,我们只需要修改很少的频域系数,就可以对图像的光照做出较好调整,避免了需要调节多个参数以适合不同图像的问题,操作简便易行。

1.       一维DCT变换的实现步骤:

1)        计算DCT变换的点数,并对时域空间进行延拓;

2)        调用一维傅里叶变换;

3)        调整系数并存储;

2.       二维DCT变换的实现步骤:

1)        计算进行二维图像DCT变换的高度和宽度,如果不是2的整数次幂则要进行调整,并计算在水平和垂直方向上变换时迭代的次数;

2)        用一维DCT变换进行水平方向上的变换

3)        用一维DCT变换进行垂直方向上的变换;

4)        得到二维离散余弦变换系数并存储。

3.       试验结果:

图1是对高曝光图像的二维DCT变换结果,其中(b)是DCT变换后的频谱图像,可以看出图像的低频能量都集中在左上角区域,而向右下角方向,频率越来越高。图(c)和原始图像相比,脸上(左脸)的高光照部分得到了一定的抑制。

                    

  (a)原图        (b)DCT变换的频谱图   (c)将频谱图中的低频减去并反DCT变换的结果

                    图1 高曝光图像进行DCT变换的结果

图2是光照不足的二维DCT变换结果,原始图像中左边人脸基本看不到什么信息,经过处理后可以看到左眼信息。

                                             

        (a)原图        (b)DCT变换的频谱图   (c)将频谱图中的低频减去并反DCT变换的结果

图2 “阴阳脸”图像进行DCT变换的结果

4.       DCT方法小结:

DCT变换的方法,只需要对频域图像做极少的调整(如将最左上角的频率置0),就可以达到对整体光照的调整,不需要像在空间域中那样,不断的调整参数,修改阈值等步骤,这是它的优点。但是,DCT变换的时间稍长,而且对于光照复杂度比较大的图像,其调整的能力也比较有限。当然,也有不少人对其进行了改进,比如在Log域的DCT变换等。网上也有不少关于其改进的文献,在此就不一一赘述。作者在此介绍的方法,代表了频率域调整光照的一般思路,希望对大家有作用。

 

你可能感兴趣的:(原创文章)