具体实施方式
根据本发明,获得一次本征面容和二次本征面容。
在图2中,中间行示出的面部照片1a,2a,3a,4a,5a和6a是用数字照相机摄制的未经任何特殊处理的原始面容图像。可以用一维向量将面部照片1a表示为一个原始面容图像Φ1。同样地,可以把面部照片2a,3a,4a,5a和6a分别表示为原始面容图像Φ2,Φ3,Φ4,Φ5和Φ6。将原始面容图ia像一般地表示为Φi。
在图2所示的示例中,当把六个原始面容图像的一维向量相加并且将它们的和用6除时,得到如下给出的平均图像Ψ。
Ψ=(Φ1+Φ2+Φ3+Φ4+Φ5+Φ6)/6
将面部照片1a的一维向量Φ1与平均图像Ψ之间的差表示为Γ1 (1)。可以分别获得其它面部照片2a,3a,4a,5a和6a的相同的差Γ2 (1),Γ3 (1),Γ4 (1),Γ5 (1)和Γ6 (1)。因此,获得了下面的等式。
Γ1 (1)=Φ1-Ψ
Γ2 (1)=Φ2-Ψ
Γ3 (1)=Φ3-Ψ
Γ4 (1)=Φ4-Ψ
Γ5 (1)=Φ5-Ψ
Γ6 (1)=Φ6-Ψ
如以后将要说明的,将要把差Γ1 (1)用作获得一次特征分量w1 (1)的基础。同样,要把Γ2 (1),Γ3 (1),Γ4 (1),Γ5 (1)和Γ6 (1)用作获得一次特征分量w2 (1),w3 (1),w4 (1),w5 (1)和w6 (1)的基础。在这些公式中,上标(1)指示该公式与一次特征有关。
当在一个低通滤波器中处理差Γ1 (1),Γ2 (1),Γ3 (1),Γ4 (1),Γ5 (1)和Γ6 (1)时,获得了重构矩阵
和
在图2中,显示在顶行的面部照片1b,2b,3b,4b,5b和6b是通过把平均图像Ψ加到每个重构矩阵
和
获得的重构面容图像。可以将重构面容图像1b,2b,3b,4b,5b和6b如下面给出的那样分别表示为
和
由于重构面容图像包含在低通滤波器中处理过的数据,从而除去了高频信息,即使在面容的角度轻微改变时,面容信息也不发生变化。
在图2中,显示在底行的面部照片1c,2c,3c,4c,5c和6c是剩余图像Γ
i (2),它是由从原始面容图像中减去重构面容图像获得的。因此,可以获得以下等式
在获得剩余图像的处理过程中,减法使包含在原始面容图像中的照明系统造成的亮度信息和包含在重构面容图像中的同样的亮度信息相互抵消。因此,剩余图像不会受到照明系统的影响。
以下用一般公式对本发明进一步说明。
考虑M个图像(在上述示例中,六个图像)的集合中的一个图像Φi(图1中步骤110),其中Φi是光栅扫描图像的一维向量,定义Ψ为平均图像(图1中的步骤120):
每个图像与平均图像差别一个向量Γi (1)=Φi-Ψ(图1中的步骤130)。因而将数据的协方差矩阵定义为: 其中
这显示在图1的步骤140中。
注意,Q具有维数wh×wh,其中w是图像的宽度,h是高度。矩阵的规模是巨大的,但是,由于我们仅求和到有限数量的图像向量M,因而这个矩阵的行列等级不超过M-1。我们注意到,如果v
i (1)是
的本征向量(i=1,2,...M)(图1中的步骤150),那么
其中λ
i (1)是
的本征值,那么
是
的本征向量,正如我们在上面的公式的左面乘以A
(1)所看到的:
但是,
仅是M×M大小的。所以,定义u
i (1)为
的本征向量,我们有:
本征值λ
i (1)是沿由本征向量u
i (1)跨越的新坐标空间的变化(图1中的步骤160)。从这里开始,我们假设i的序列使本征值λ
i (1)减小。本征值是以指数形式减小的。因此,通过计算W
(1)={W
k (1)},我们可以把一个面容图像Γ
(1)投射到仅是M
1<<M的维数中,其中
和1≤k≤M
1。w
k (1)是新坐标系中Γ
(1)的第k坐标。在这个意义上中,将W
(1)称为一次特征。向量u
k (1)实际上是图像,并且被称为一次本征面容(一般,在其它文献中它被称为本征面容)。设
(图1中的步骤170),那么:
这显示在图1的步骤180中。
图3示出了计算一次特征W(1)的过程。在图中,eig(B,i)是计算第i个最大本征值和它的矩阵的对应本征向量的函数。320是再成形,340是镜像,和360是再成形。
从公式(3),一个有趣的副产品是,我们能够从W
(1)得到一个重构矩阵。由于U
(1)是一个M
1×P矩阵,所以我们不能得到它的逆矩阵。但是,我们可以利用它的伪逆矩阵来近似它的逆矩阵。设
是
的伪逆,那么
其中
是从W
(1)和U
(1)的重构矩阵。图2给出了一些原始面容图像,和它们具有M
1=25的对应的重构面容图像。最上面的图像是重构面容图像
,中间的图像是对应的原始面容图像,最下面的图像是剩余图像
。从重构矩阵中,我们可以发现,面容的细节丢失了。这意味着W
(1)描绘的面容可以看成是低通滤波图像。剩余图像是对应的高通滤波图像。观察重构矩阵,一些图像不能以合理的解析度重构,这表示一次特征不能很好地描绘这些图像。重构矩阵越差,剩余图像中保留的信息越多。由于这些剩余图像仍然包含着单个图像的丰富信息,所以应当再从这些剩余面容中提取面容特征。
设
,λ
i (2)是
的本征值,和ν
i (2)是
的对应的本征向量。那么
。根据以上的讨论,
的本征向量是u
i (2)=A
(2)ν
i (2)。因此,我们可以通过计算W
(2)={w
k (2)}把一个剩余面容图像Γ
(2)投射到仅为M
2<<M维数,其中
并且1≤k≤M
2。由于u
k (2)是剩余面容图像的本征向量,所以我们将u
k (2)称为二次本征面容,把w
k (2)称为二次特征。设
可以把公式(5)写为:
设
那么
由于U
2是一个常数变换矩阵并且它只被计算了一次,所以它不会影响计算的效率。可以用
描绘面容图像,其中1≤M
1’≤M
1。计算Ω(Φ)与仅从本征面容U计算特征相比,计算负担没有增加。为了讨论方便,将剩余图像称为二次剩余图像,并且把原始面容图像称为一次剩余图像(尽管似乎把原始图像称为0次剩余图像更好)。
一次本征特征描绘原始图像的特点,而二次本征特征描绘高通图像(high-passed image)的特点。可以将这些特点用于不同的应用。
在照明不变的情况下,图像的视角几乎是相同的,但是照明条件是不同的。光可以来自左,右,或来自左右两侧。面容也可以亮或暗。在这种情况下,应当在滤波后提取图像特征。原始面容图像包含照明特征的数据,并且一次本征特征也包含照明特征数据。这意味着一次本征特征不适合这种情况。二次本征特征是通过从原始面容图像减去一次本征特征获得的,因而去除了照明特征的数据。因此,二次本征特征没有被照明影响,并且适合于在没有受照明影响的面容识别中使用。另一方面,当考虑视角不变的情况时,同一个人的图像是在几乎相同的照明条件下取得的,但视角或姿势是不同的。在这种情况下,对于描绘面容,一次和二次本征特征都是重要的。
一次本征特征是通过用一个低通滤波器处理原始面容图像以提取不是详细的而是一般的面容特征而获得的。因此,一次本征特征可以近似地提供相同的特征,即使面容图像是在不同视角获得的。因此,在视角可能改变的情况下,除了使用二次本征特征之外,也使用一次本征特征,以便获得不受视角影响的特征。
因此,我们将使用二次本征特征作为面容描绘信息描绘照明不变情况,并且用一次和二次本征特征作为面容描绘语言描绘视角不变情况。
当我们考虑面容描绘时,一个重要的特点是面容的对称性。大多数人的面容是对称的。因此,我们可以考虑用镜像的面容图像来代表同一个人。因此,原始图像和镜像图像的本征特征都可以代表同一个人。因此,我们可以利用两个图像的本征特征的线性组合代表原始图像。为了区分原始图像和镜像图像,可以使用不同的加权数来计算特征。
假设Φ是原始图像,Φ’是Φ的镜像图像。那么调节的本征特征应当是:
和
其中0≤c≤1是用于调节的加权数。为了简化计算,可以重新安排计算的顺序。
其中
是
的镜像本征面容。图1示出了从
获得
的过程。利用同样的方式,我们可以获得
和
其中mirror()是左/右方向镜像矩阵的镜像函数。利用公式(8)和(9),可以把一次本征面容和二次本征面容调节到
和
可以将上面讨论的本征特征用于有效地描绘人类面容。但是,如果要把本征特征看作是面容识别或有关应用的特征,因为本征特征的范围不相同,应当规格化本征特征。
一种合理的规格化方法是用训练组中的本征特征的对应标准偏差除本征特征。设σi (j)是训练组中wi (j)的标准偏差,其中j=1,2代表一次或二次本征特征。那么图像Φ的规格化本征特征是:
将面容图像的相似性简单地定义为规格化投影之间的加权的距离:
如果a
i (1)=0,那么对于照明不变面容描绘,将仅用二次本征特征测量面容图像的相似性。对于视角不变情况,一次和二次本征特征都需要。加权数如下选择:
根据应用,加权数也可以选择其它的数。事实上,可以把加权数嵌入调节的本征面容,以减少计算,并且也可以把规格化参数移到本征面容矩阵。为了节省存储空间,应当把本征面容矩阵和本征特征从浮点量化到整数。设
其中
和Round()是四舍五入函数,和j=1,2。可以用以下公式量化本征特征:
其中
Γ
k是训练组中的图像。特征组可以写为
和
因此,可以将每个本征特征量化到8比特。
此外,为了减小总本征特征的大小,可以根据它们的训练组的标准偏差重新量化本征特征。可以把这考虑为面容描绘信息规模与检索精确度之间的权衡。根据我们的经验,可以如下分配每个本征特征的比特:
其中min(σ
(j))是第j次本征特征的标准偏差的最小值。尽管不同的本征特征分配了不同的比特,但范围仍然保持[-128,127]。利用这种量化策略,面容描绘信息规模可以减小大约40%,而检索精度降低大约1%至2%。如果初始量化策略可以接受,那么不需要进一步的量化。在这里给出了一个规格化和截取过程示例,以进一步从公式(10-1)量化和压缩特征,并且可以将每个本征特征表示为统一的5比特:
其中Z=16384*8是从我们的试验得到的规格化常数。
利用上述公式,视角不变描绘的两个面容图像Φ
1,Φ
2之间的距离可以如下计算:
照明不变描绘的两个面容图像Φ
1,Φ
2之间的距离可以如下计算:
为了进一步压缩面容描绘信息,可以将可变长度编码运用到量化的本征特征。可以用霍夫曼编码技术和算术编码技术来做这一工作。
编码表可以如下计算:
1)为训练组中的图像,计算本征特征;
2)用上述策略量化本征特征;
3)为具有相同比特分配的量化本征特征,计算每个量化级的概率;
4)为所有量化级计算可变长度码;
5)用步骤(3)和(4)为所有比特分配情况计算所有编码表。
利用这种方法,可以进一步压缩面容描绘信息。接下来,在可以计算两个面容描绘信息之间的距离之前,应当给编码面容描绘语言解码。
根据我们的观察,也可以用一次本征特征本身来描绘视角和照明不变面容特征。视角不变面容特征可以是从对应于头N个最大本征值的本征面容中提取的本征特征。照明不变面容特征可以是从对应于前面第k至第N个最大本征值的本征面容提取的本征特征,其中0<k<N。一般情况下,4≤k≤10,和40≤N≤60。我们建议使用k=8,N=40,和总本征面容数量是48。图4和图5分别示出了提取不受照明影响的本征特征的流程图,和提取不受视角影响的本征特征的流程图。
图4中示出了提取不受照明影响的本征特征的方法,提供了以下步骤:
步骤410:计算调节的二次本征面容矩阵。
步骤420:获得调节的二次本征特征。
步骤430:从调节的二次本征特征选择特征以描绘面容。
步骤440:用VLC编码量化的本征特征。这个步骤可以删除。
在图5中示出了提取不受视角影响的本征特征的方法,提供了以下步骤:
步骤510:计算调节的一次本征面容矩阵。
步骤520:计算调节的二次本征面容矩阵。
步骤530:获得调节的一次本征特征。
步骤540:获得调节的二次本征特征。
步骤550:量化调节的一次本征特征和调节的二次本征特征。
步骤560:从调节的一次和二次本征特征选择特征以描绘面容。
步骤570:用VLC编码量化的本征特征。这个步骤可以删除。
本发明对于描绘人类面容十分有效。由于仅可以利用训练面容图像计算二次本征面容一次,所示可以如一次特征一样有效地获得二次特征。由于利用高次本征特征可以揭示详细信息,因而在视角不变面容描绘中,与相同数量的一次本征特制相比,一次和二次本征特征的组合性能更好。与一次本征特征相比,二次本征特征具有好得多的照明不变面容描绘能力。本发明对于描绘人类面容十分有效并且具有很高的效率。描绘方法可以在因特网多媒体数据库检索、视频编辑、数字图书馆、监视和跟踪、以及广泛使用面容识别和确认的其它应用中使用。