张念凯 乔学军 热孜万古丽夏米西丁 赵俊莉
(1.青岛大学计算机科学技术学院,青岛 266071;2.西安建筑科技大学理学院,西安 710055;3.新疆师范大学计算机科学技术学院,乌鲁木齐 830054)
颅骨性别鉴定是法医学研究的重要内容,可以为面貌复原[1]提供重要的依据。颅骨质地坚硬,结构紧凑,在自然环境的各种侵蚀中,其几何形态最易保留,通过分析颅骨几何形态鉴定骨骸性别是一种可行的方法。当对无名尸骨进行身份认证时,通过颅骨确定其性别,可以将可能的目标人选减半[2]。颅骨是用于骨骸性别鉴定最可靠的研究对象之一[3]。传统基于颅骨几何形态的性别鉴定[4]以人工观察和测量为主,较多依赖检测人员的个人经验。近年来,随着计算机技术和医学图像技术的快速发展,计算机辅助的颅骨性别鉴定因其高效性和客观性成为主流研究方向[5-7]。计算机辅助的颅骨性别鉴定通常先将颅骨的几何特征数字化处理,然后通过应用特定计算机算法自动判别颅骨的性别。颅骨特征包括三维颅骨模型几何指标和角度指标[8]、颅骨统计形状模型特征[9-10]、颌窦的高度和宽度[11]、颅骨上的多个特征点以及特征点之间的距离[12-13]、三维颅骨等6种几何特性[14]和三维颅骨的多角度图像[15]等。对颅骨特征分类的方法有Fisher判别[8-9]、判别函数分析[11]、步进判别函数[12-13]、判别函数和逻辑回归[5]以及神经网络[16]等。目前多数计算机辅助的颅骨性别鉴定方法需要人为提取特征或者人为指定需要提取的特征,特征提取过程通常较为复杂,由于没有完整科学的规则,借助人为主观经验指定的特征无法最大程度保留颅骨中的性别特征,从而无法保证性别鉴定准确率。近年来,深度学习在计算机视觉领域表现出强大的生命力,特别是以卷积神经网络[16](CNNs)为基础的图像分类网络[17-20]得到广泛应用。然而三维颅骨数据位于非欧式空间中,数据规格庞大且无序,无法直接应用卷积神经网络。在三维图形上应用卷积结构的方法有两种,一种是在非欧空间中定义新的类卷积网络结构[21-23],实现卷积神经网络的效果;另一种是将三维图形转换到欧式空间中[24-27],直接应用欧式卷积神经网络。在非欧空间中定义类卷积网络的方法通常应用于外观差异较大的图形(如桌子、椅子),而颅骨之间是细微的特征差异,因此该类方法不适用于颅骨性别鉴定。人为指定或者测量颅骨特征的性别鉴定方法无法保证颅骨中与性别相关的特征得到最大程度的利用;神经网络可以直接处理高维复杂数据,但无法直接应对拓扑结构复杂的三维颅骨数据。为了解决上述问题,本文提出使用三通道二维图像表示三维颅骨模型,基于全卷积自加权分类器实现鉴定三维颅骨性别,三通道二维图像表示方法极大程度保留了三维颅骨的几何形态特征,解决了三维颅骨数据难以应用于深度学习的困难,采用深度学习框架设计的专用于颅骨性别二分类问题的全卷积自加权分类网络,可以全面地提取颅骨性别特征,得到更高的颅骨性别鉴定准确率。
为了更加方便和高效的利用神经网络,本文采用包含深度值、曲率值与法向仰角的二维图像表示三维颅骨数据;再根据三维颅骨性别特征信息的特点,设计了全卷积二分类网络,并加入权值网络,提出patch自加权损失,以提高性别鉴定的准确率。
用一张三通道二维图像来表示一个三维颅骨的几何信息,三个通道分别为深度值、曲率值和法向仰角[25]。二维图像易于生成,且近年来深度学习在图片的分类问题上具有很大突破,网络实现更具有保障性。通过投影获得三维颅骨的几何图像表示,如图1所示,首先计算出三维模型各个顶点处的深度值、曲率值和法向的仰角,并求出曲率值的绝对值。对这三个量分别归一化到[0,255],以符合图片像素的取值范围。然后,将三维模型的顶点正投影到图像平面,每个像素点处的R,G,B通道的像素值对应三维顶点处计算得到的深度值、曲率值和法向的仰角,将对应像素值填入得到具有空隙的图片。最后,利用三角形插值将图片补充完整。为防止投影产生的像素点覆盖问题,设置了一个像素值缓冲。
本文所用三维颅骨数据调整到法兰克福坐标系统一姿态,所有的颅骨正面朝向y轴正方向,沿y轴负方向将三维颅骨正投影到xoz平面,投影后的点在x和z轴方向上的相对距离保持不变,所以生成的图片仍然保持颅骨的形态。对投影后的点按照式(1)等比例缩放,以生成不同大小的图片,将图片内容调整到适合图片的大小,并使内容位于图片中心处
其中,x和y分别为投影后得到的点在图像平面中的横、纵坐标,x,y∈(0,1),w和h分别为目标图片的宽和高,P x和P y分别为调整之后该点所在像素的横、纵坐标。
投影后得到的颅骨图片上的空隙对应原三维颅骨模型上的三角网格,为了填充这些空隙,借助三维颅骨模型中的三角网格信息,分别对每个空隙点进行三角形插值,如图1所示。对于图像上的空白像素点P求其所在平面三角形(P1,P2,P3)的重心坐标(w1,w2,w3)
图1 三维颅骨的图像表示
对三个顶点处的像素值利用重心坐标加权求和得到Ppixel,Ppixel即为空白像素点P经插值得到的像素值
网络模型为由全卷积网络组成的二分类网络,分为主干网络和权值网络,如图2所示。
图2 网络结构
主干网络和权值网络输出层皆为24×24×1的patch。主干网络输出层的每个patch为性别判定结果的一个概率值,该值为颅骨上一个局部区域的鉴定结果。将输出设计为patch是因为颅骨中包含的性别特征信息存在于局部区域之中,而每个区域包含的特征信息量不同,权值网络负责学习不同区域信息量所占的比重。主干网络的输出层特征图通过Sigmoid函数变换为概率。Sigmoid函数将概率特征图中的每个块的数值单独映射到[0,1],各块之间互相独立,互不干扰。而对于权值网络的输出,则使用Softmax函数,将权值特征图中的每个块的数值映射到(0,1),各块的和为1。网络训练中没有权值对应的标签信息,只有性别标签0和1(表示男和女)。性别标签对主干网络的输出层概率特征图中的每个块进行监督学习,即每个块求得一个交叉熵损失,然后以权值网络的输出作为权重,对所有的交叉熵损失求加权平均作为网络的损失函数,对整个网络监督学习。主干网络由6个卷积层构成,其中下采样卷积为2层;权值计算网络由4个卷积层构成,下采样卷积为2层,具体网络结构细节见表1。
表1 网络结构细节
在分类网络中交叉熵损失的基础上,将PatchGAN[28-29]中判别器的损失改进为自加权的patch交叉熵损失
其中,x为输入颅骨图片,C为主干网络,W为权值网络,s j为性别标签,n为patch的数目。权值网络对输入求权值patch,主干网络求性别鉴定概率patch,然后对每个patch求加权平均损失。在此情况下,网络的判别结果也为各个patch的加权平均概率
为了评估本文方法的性能,通过实验与最先进的颅骨性别鉴定方法和经典的图片分类网络进行对比。对网络模型进行消融学习,以更好的理解模型不同部分的意义。
本文所用的数据来自208个三维颅骨模型,每个模型从颅骨正面正投影获得一张图片。为获得足够的数据支持网络训练,利用随机旋转模型再投影的方式数据增强。分别对x,y,z轴取-3~3°范围中的随机数作为旋转角度,每个转轴取3次进行组合,每个模型可以生成28张图片,共5 824张,其中训练图片5 236张,测试图片588张。
为更好的模拟真实的性别鉴定环境,对完整颅骨裁切处理,以模拟可能存在的残缺颅骨。真实环境中,由于软组织早已被腐蚀,颅骨的下颌骨和牙齿与颅骨上部分离,只剩颅骨上部份。对208个完整颅骨的下颌骨和牙齿部位裁切,裁切后的数据用上述方法进行数据增强,得到的数据量与完整颅骨相同,分别对完整颅骨和残缺颅骨训练不同的判别模型。
复现几个经典分类网络,并改编成适用于颅骨性别鉴定的二分类网络。在其他参数与本文模型参数保持一致的情况下进行性别鉴定对比实验。图3和图4给出了网络训练过程中,验证集的损失函数和准确率统计图。可知,本文模型在训练中收敛较快,损失函数迅速达到较低值,判别准确率增长迅速,并稳定的维持在较高范围。这是其他网络模型所不具备的,验证了本文模型的优越性。
图3 验证集损失函数
图4 验证集准确率
本文方法与经典分类网络测试集的准确率对比结果见表2和图5,本文方法对于完整颅骨和残缺颅骨都具有最高的准确率。与相应文献中计算机辅助的颅骨性别鉴定方法准确率统计与对比结果见表3。本文方法所用到的数据量适中,无论对于完整颅骨还是残缺颅骨,均具有最高的准确率。
图5 与经典分类网络的测试准确率对比
表2 与经典分类网络的测试准确率对比(%)
表3 与最先进的颅骨性别鉴定方法测试准确率对比
为了更好的理解所提出模型不同部分对于颅骨性别鉴定的意义,对此模型进行消融学习实验,测试了去掉权值网络的模型,输出仅为主干网络的patch输出,另外测试了将主干网络的patch输出更改为全连接输出的模型。表4给出了测试集准确率,图6和图7给出了验证集损失和准确率,可知全连接模型和patch模型在准确率上表现相当,验证集准确率并不稳定。Patch模型的验证集损失难以下降,很可能是颅骨部分区域不包含性别信息所致。在加入权值网络后,模型收敛迅速,验证集准确率和损失十分稳定,并且对完整颅骨和残缺颅骨都有最高的鉴定准确率。
表4 消融学习测试准确率(%)
图6 消融学习验证集损失
图7 消融学习验证集准确率
本文提出了一种全新的基于全卷积自加权分类器的三维颅骨性别鉴定方法,通过用三通道二维图像表示三维颅骨和构建全卷积自加权分类器,实现了三维颅骨的自动性别鉴定,并显著提高了性别鉴定的准确率。真实环境中的缺损颅骨对模型的训练和验证都有十分重要的意义,但由于数据稀缺难以获取,因而目前还未能测试真实的缺损颅骨数据。在未来,将会收集真实环境中的缺失颅骨数据,加入到训练数据中提高模型的鲁棒性。