1. 引言
近年来,人工神经网络(ANNs)的发展推动了机器学习应用的革命性突破,包括大型语言模型ChatGPT [1]、医学影像诊断[2]、语音识别[3]、机器人技术[4]和自动驾驶[5]等领域。然而,随着人工智能算法日益复杂,传统电子硬件在处理技术、计算架构、功耗与散热等方面面临多重困难。受限于冯·诺依曼瓶颈,现有硬件平台在处理时间和能耗上面临严峻挑战。
为克服电子平台的缺陷,光学神经网络(ONNs)被提出,该框架利用光学的高并行性、低延迟和显著能效优势,在光速分类与高分辨率成像任务中展现出卓越性能[6]。由于在实空间处理计算机视觉任务的局限性,ONNs已被扩展至傅里叶空间,并在MNIST手写数字识别等任务中取得成功[7]。由于光学非线性可显著提升光学神经网络的分类精度与鲁棒性,非线性研究已成为光学神经网络发展的重要方向,包括采用光折变晶体(SBN: 60) [7]、可重构电光硬件[8]、电磁诱导透明(EIT) [9]和光学非线性调制[10]等技术实现非线性激活函数。基于硅基和自由空间架构的多种光学神经网络也被提出[11]-[13],利用不同光学器件完成调制过程。在这些架构中,光学神经网络已展现出强大的通用功能性与任务适应性。类似地,光学神经网络在计算机图像处理中显示出巨大潜力,涵盖图像识别[14]-[16]、图像去雾[17]、图像放大与缩小[18]等任务。片上集成光学神经网络的研发也快速推进,基于衰减器与探测器[19]、衍射[20]、逆向设计[21]和高维方法[22]的实现方案,均为光学神经网络的实际应用提供了可能。然而,当前ONNs仍存在仅支持单通道执行单一任务的问题,且处理更复杂计算机视觉任务的能力有限。
图像分割通常指对自然场景中显著目标的检测与分割,被视为解释图像并从中提取有效信息的方法或技术。作为图像分析与模式识别的第一步,传统图像分割方法基于边缘检测[23] [24]与阈值分割[25] [26]。为区分复杂图像结构,基于图论[27]的图像分割技术持续发展。随着深度学习的兴起,多种面向图像分割的卷积神经网络架构被提出,包括FCN [28]、U-Net [2]和R-CNN [29],这些方法将图像分割性能提升至新高度。图像分割已在医学图像分割[30]-[32]、道路标线检测[33]、交通标志识别[34] [35]和遥感成像[36]等领域展现出重要应用价值。
在本研究中,我们提出一种多通道光学卷积神经网络(MC-OCNN)架构,通过透镜相位构建了光学卷积操作,并基于孔径函数的随机相位组成了卷积核,以及基于二维光栅(2D Grating)实现了多通道卷积。MC-OCNN以光速并行进行光学卷积计算,具备极高的算力,并且通过多个光学卷积层和光学全连接层的级联结构实现了物体特征的多层次提取能力,以及基于多通道架构实现了提取物体不同特征的能力。我们将其应用在语义分割的像素级分类任务中,发现在人像解析以及飞机目标分割任务中取得了较好的效果,证明了MC-OCNN处理复杂视觉任务的能力,为其进一步的应用奠定了基础。
2. 基本原理
2.1. 多通道光学卷积神经网络(MC-OCNN)的架构与原理
Figure 1. The architecture of a multi-channel optical convolutional neural network: (a) Optical convolution operation based on lens and aperture function construction; (b) Realization of beam splitting operations based on 2D gratings; (c) Overall architecture of MC-OCNN
图1. 多通道光学卷积神经网络的架构:(a) 基于透镜以及孔径函数构建的光学卷积操作;(b) 基于二维光栅实现分束操作;(c) MC-OCNN的整体架构
MC-OCNN的架构与原理如图1所示,该网络基于透镜相位以及透镜的孔径函数相位来形成光学卷积操作,并基于二维光栅来构建多通道卷积架构。如图1(a)所示,透镜由一个二次相位以及孔径函数
组成,其可以表示为:
(1)
根据透镜的成像定律,当物像满足成像条件时,所得到的结果是物体与成像系统点扩散函数的卷积:
,其中点扩散函数H是透镜孔径函数的傅里叶变换:
。因此,基于这个特点,通过将卷积核集成在透镜的孔径函数中,我们构建了光学卷积操作。接着,我们基于二维光栅(2D Gratings)构建了多通道光学卷积网络架构,如图1(b)所示。二维光栅通过周期性结构可以将入射光束分成多个不同的衍射级次,每个衍射级次在空间中沿不同方向传播,进而可以构建多通道的光学神经网络。二维光栅的表达式可表示为:
(2)
其中,
代表是二维光栅沿x轴和y轴的空间频率,根据对称性我们将其设置为同样的数值,
表示二维光栅在x方向以及y方向上的衍射级次。在本研究中,我们第一层的二维光栅
选择
,此时二维光栅包含4个衍射级次。如图1(b)所示,光束通过二维光栅后,将被分成四个衍射级次并向四个不同方向传播,从而将不同的卷积通道在空间中分离出来,实现对图像不同特征的提取功能。整体的多通道光学卷积神经网络(MC-OCNN)的架构如图1(c)所示。物体位于
的输入平面,第一个二维光栅位于输入平面与第一个卷积层之间,其与第一个卷积层的距离为
。根据光栅的分光定律,对于衍射级次为
的分量,其对应的空间频率为
,对应的传播方向为
,因此经过
的传播距离后,
衍射级次在空间中的偏移为
。因此,在经过第一个光栅层后,光束分成了四份,在第一个卷积层的位置形成了四个光斑。于是,第一个卷积层被分成了四个区域对应于四个光斑。经过第一个卷积层后,在第二个光栅层,每个光栅又会将每个光束分为四个衍射级次。因此,经过第二个光栅层后会形成16个光斑,在空间中呈4 × 4阵列分布。第二个光学卷积层被分为4 × 4个区域,每个区域会输出一个卷积结果。最后经过第三个光学全连接层,会将这16个结果通过聚焦的方式,合并后形成最后的输出结果。
接下来是MC-OCNN每个层的具体结构分布。如图2(a)所示,第二个光学卷积层位于平面
处,其被分为四个区域,每个区域包含一个透镜相位用来实现光学卷积,以及一个由随机相位构成的孔径函数:
,其中
代表随机分布的相位数值。对于第一个卷积层来说,其会生成4个卷积结果,对应于4个特征图:
。其四个特征图分别由二维光栅
的四个衍射级在空间上分离出来,每个衍射级次对应的特征图如图2(b)所示,
衍射级次对应的特征图位于左上角,其余的衍射级次也在图中进行了标注。因此,输入光束通过第一卷积层后,被分为四个通道,在空间中分别传播。根据其对应的衍射级次,我们记通道
分别为
。第二个光栅层位于第一个卷积层与第二个卷积层之间,其被划分为2 × 2个区域,对应于第一层生成的4个通道,每个区域包含一个二位光栅
,其中l代表四个不同的区域。每个区域的二位光栅的衍射级次如图2(c)所示,例如,对于区域1 (Zone 1)来说,其衍射级次为
,以及其对应的空间频率记为
。光束通过第二层光栅后,每个通道
将被分为4个子通道:
(对应k =1~ 4,l = 1~4),使得第二层光栅共生成16个通道。
![]()
Figure 2. Phase distribution of each layer of multi-channel optical convolutional neural network: (a) Phase distribution of the first optical convolutional layer; (b) The feature map produced by the first convolutional layer; (c) Phase distribution of the second grating layer; (d) Distribution of the 16 light spots produced by the second grating layer
图2. 多通道光学卷积神经网络每层的相位分布:(a) 第一个光学卷积层的相位分布;(b) 第一个卷积层产生的特征图;(c) 第二个光栅层的相位分布;(d) 第二个光栅层产生的16个光斑的分布
Figure 3. Construction of the second convolutional layer and the third fully connected layer of a multi-channel optical convolutional neural network: (a) Phase configuration of the second convolutional layer, consisting of the lens array phase, the randomly modulated phase, and the grating phase; (b) Distribution of grating diffraction levels per region in the second convolutional layer; (c) The result of the 16 convolutions formed by the second convolutional layer; (d) Construction of the third fully connected layer, consisting of the grating phase as well as the randomly modulated phase; (e) Final output of multi-channel optical convolutional neural network
图3. 多通道光学卷积神经网络第二卷积层以及第三全连接层的构造:(a) 第二卷积层的相位构造,由透镜阵列相位、随机调制相位,以及光栅相位构成;(b) 第二卷积层中每个区域光栅衍射级次的分布;(c) 第二卷积层所形成的16个卷积结果;(d) 第三全连接层的构造,由光栅相位以及随机调制相位构成;(e) 多通道全光卷积神经网络最终的输出结果
图2(d)展示了第二个卷积层所处平面
,由第二光栅层形成的16个通道,以4 × 4阵列在空间中的分布图。据此,第二个卷积层被分为4 × 4个区域,第二层的相位结构如图3(a)所示。每个区域包含一个透镜相位,一个随机函数构成的孔径函数相位,以及一个光栅相位。增加光栅相位的原因主要是抵消在前面两层传播中光栅衍射所带来的光束传播的发散性,当引入光栅相位后,第二个卷积层所产生的卷积结果将会沿直线传播,每个区域对应的光栅衍射级次如图3(b)所示。我们记第二个卷积层每个区域的孔径函数为
,其中
,第二个卷积层所产生的16个卷积结果可以表示为
,如图3(c)所示,我们展示了第二个卷积层的结果,可以看到16个结果呈4 × 4阵列在空间中进行排列。第二层所产生的卷积结果位于
平面,一共有16个卷积特征图。为了将这16个特征图合并后进行输出,我们引入了第三光学全连接层。如图3(d)所示,第三个光学全连接层被分为16个区域,每个区域包含一个随机分布的调制相位
,以及一个光栅相位
。光栅相位的作用是改变光束的传播方向,将第二层卷积层产生的16个特征图全部聚焦到屏幕中心进行合并输出结果。每个区域对应的光栅的衍射级次如图所示,将光栅相位和随机调制相位合并后就会得到第三全连接层的总相位分布。经过第三全连接层后,最后在输出平面
的中心位置,会得到多通道全光卷积神经网络的最后输出结果,如图3(e)所示。
2.2. 多通道光学卷积神经网络的训练
MC-OCNN的训练过程基于误差反向传播方法,与常规衍射神经网络(D2NN)的训练方法相类似[6]。训练过程包含以下四个步骤:前向传播、损失计算、反向传播,以及梯度更新。具体训练过程为:首先,第一步是前向传播。对于第一光学卷积层来说,将光场从输入平面经过第一层的卷积后,形成四个卷积特征图,其可以表示为:
。对于第二光学卷积层来说,其继续对第一层的四个特征图进行卷积,得到16个卷积特征图:
。对于第三个光学全连接层来说,其通过菲涅尔衍射[37]传播到输出层,因此
,上式是用矩阵乘法来计算菲涅尔衍射传播,
代表菲涅尔衍射矩阵,
代表矩阵相乘,下标
代表将复振幅光场进行向量化,然后与菲涅尔衍射矩阵相乘得到传播后的光场
。在输出平面
,得到的光场是16个
的叠加:
。因为最后光电探测器CMOS相机探测结果是光强,所以最终的输出结果是:
,代表着光场
的强度。
第二步为计算MC-OCNN的损失函数(Loss Function),常规的方法是基于均方误差来计算损失函数:
,其中I为MC-OCNN输出,T为真实标签值。然而,在复杂图形处理中,皮尔逊相关系数(PCC)函数已被证明更适合于复杂图像的重建,PCC代表恢复图像与目标图像的相关值,PCC = 1代表相关性为1,此时图像与目标值完全一样,PCC = 0代表相关度为0,恢复结果与目标值相差较大。损失函数可以选用负的皮尔逊相关系数(NPCC)来表示,NPCC函数定义为:
(3)
上式中,
与
分别为I和T的均值。选定该损失函数后,误差光场
可根据文献[38]中的求导方式计算为:
,其中
表示损失函数L对输出I的梯度,
为光场
的共轭,⊙表示逐元素相乘。
第三步为误差光场
的反向传播,根据文献[38]中的计算方法,第三层的误差光场可计算为
,其中
表示逐元素相乘,
代表矩阵相乘。第二层是光学卷积
层,其卷积核位于透镜的孔径函数中,因此我们需要借助傅里叶变换来计算卷积核误差函数,第二卷积层的误差光场为
。对于第一光学卷积层来说,由于其一个通道对应着第二层的四个通
道,因此在计算误差光场时需要将前面四个通道的误差光场合并后得到:
。
最后一步是计算各层的相位梯度。根据文献[38]中的方法,第一卷积层的相位梯度为
,其中
表示取复数的实部,一共有四个梯度。第二卷积层的相位梯度为:
,一共有16个。第三全连接层的相位提取为
。获
得相位梯度后,调制相位值可通过动量法(MOM)进行更新:
,
。其中η为学习率,
为动量系数,v为动量累积变量,η需调整以确保相位更新步长在训练过程中保持在约0.01的范围内。
3. MC-OCNN仿真实验
接下来,我们将MC-OCNN框架应用于像素级语义分割任务,包括人像解析和飞机目标的检测任务。对于人像解析任务,图像的每个像素被标注为两类:人物或背景,需将人物与背景进行分离。如图4所示,每张图像包含位于不同背景中的人物(Images),其对应标签为二值掩膜(Labels),其中背景像素用黑色表示,人像像素用白色表示。训练与测试数据集选用AISegment Matting Human Datasets [39] (一种专门用于人像解析与肖像分割的数据集,包含800 × 600像素的彩色图像),以及Microsoft COCO [40]中的飞机类别语义分割数据集。由于MC-OCNN是仅处理灰度图像的光学框架,因此图像首先被转换为灰度图并调整尺寸至70 × 70像素,调整后的灰度图及分割真实标签如图4(b)所示。训练数据包含1000张图像,测试数据为100张未见图像。
MC-OCNN各层的仿真参数如下所示。每层像素尺寸设为10 μm × 10 μm。MC-OCNN的输入尺寸为70 × 70像素,位于平面
处。第一光栅层为256 × 256像素,其与第一卷积层的距离
,其空间频率为
,
为光斑在第一个卷积层偏移的距离,波长
。接着是第一个光学卷积层,其位于平面
处,包含256 × 256像素,分为四个区域,每个区域包含128 × 128像素。第二个光栅层位于第一卷积层与第二卷积层之间,其与第二卷积层的间距为:
,分为四个区域,其空间频率
。第二卷积层位于平面
处,包含16个区域,每个区域含有256 × 256像素,总共是1024 × 1024个像素。第二个卷积层光栅的空间频率
。第三个全连接层位于平面
处,间距
,对应光栅的空间频率为
。最后的输出层位于平面
处,间距
。由于输入是70 × 70像素,因此输出也被设置为与输入相同的像素,因此在输出平面我们选取70 × 70个像素,由于传播过程中光束展宽,因此在输出平面我们将每个像素的间距设置为90 μm。
人像分割(Portrait Segmentation)的训练过程如图4(a)所示,数据集为AISegment Matting Human Datasets,可见经过500个Epochs后,人像分割最终训练集的PCC值为0.87,测试集的PCC值为0.82。重建结果显示在图4(b)中,第一行为原始的图像(Images),第二行为训练的标签(Labels),第三行是MC-OCNN的最终输出结果。由图可见,MC-OCNN的输出几乎恢复了图像中的人像轮廓,且属于人像的像素强度值显著高于背景像素。接下来,我们将MC-OCNN用于对飞机目标的识别,采用Microsoft COCO数据集,训练过程如图4(c)所示,经过500个Epochs后,训练集的PCC为0.82,测试集的PCC为0.76。输出结果如图4(d)所示,可以看到,MC-OCNN较好地分离出了图中的飞机目标。此外,我们还对比了多通道与单通道训练的结果,采用相同的人像数据集和网络参数,结果如图4(e)所示,可以看到多通道的结果(PCC = 0.82)要好于单通道(PCC = 0.75),因此,相对于单通道网络,多通道卷积神经网络具有更大的优势。这些结果证明了MC-OCNN在复杂的视觉任务中比传统的单通道ONN更具优势。
![]()
Figure 4. Semantic segmentation results for MC-OCNN: (a) MC-OCNN training process for portrait segmentation, blue line is the training set (PCC = 0.87) and green line is the test set (PCC = 0.82); (b) MC-OCNN training results for portrait segmentation, the first to third rows are the original images, training labels, and segmentation results; (c) Training process of MC-OCNN for aircraft graphic segmentation, the blue line is the training set (PCC = 0.82) and the green line is the test set (PCC = 0.76); (d) MC-OCNN training results for aircraft graph segmentation; (e) Comparison of results for single channel (PCC = 0.75) versus multi-channel (PCC = 0.82); (f) Single channel output for portrait segmentation
图4. MC-OCNN的语义分割结果:(a) MC-OCNN对人像分割的训练过程,蓝色线为训练集(PCC = 0.87),绿色线为测试集(PCC = 0.82);(b) MC-OCNN对人像分割的训练结果,第一至第三行分别为原图(Images)、训练标签(Labels),以及分割结果(Results);(c) MC-OCNN对飞机图形分割的训练过程,蓝色线为训练集(PCC = 0.82),绿色线为测试集(PCC = 0.76);(d) MC-OCNN对飞机图形分割的训练结果;(e) 单通道(PCC = 0.75)与多通道(PCC = 0.82)的结果对比;(f) 单通道对于人像分割的输出结果
为了更全面地展示MC-OCNN的性能,我们进行了消融实验,对比了在相同数据集以及相同网络下不同参数的MC-OCNN的语义分割表现,结果如图5所示。首先,我们对比了不同层数的MC-OCNN的语义分割结果,如图5(a)所示,可以看到随着层数的增加,分割结果变得越来越好,理论上随着层数的增加,分割指标可以不断上升,但是随着层数的增加训练时间也在不断增加,而且指标的上升幅度也会变小。其次是通道数的对比,类似CNNs的通道数,通过增加通道数,我们可以增加特征的提取能力,调整合适的通道数可以增强网络的表达能力,从图中可以看出,当网络从单通道的网络变成多通道的网络时,PCC指标得到显著提高,但是在多通道的基础上再进行通道数的增加提升效果将慢慢减少,如图5(b)所示。接下来,我们对比了不同像素数目对MC-OCNN性能的影响,通过将网络层数设置在3层并且通道数设置为16进行对比,如图5(c)所示,经过对比发现随着每个通道像素数目的增加,分割结果的PCC指标也在增加。因此,通过增加层数、通道数,以及像素数目,均可以提升MC-OCNN的性能。最后,MC-OCNN计算速度可以达到光速,计算得出做一次网络计算需要的时间仅为t = z4/c = 3.2 × 10−9 s,而所需的功率仅为几毫瓦,因此具有极高的算力以及能效比,适用于实时探测系统中。但是由于MC-OCNN层数较少,以及缺乏非线性激活层,因此其分割结果不如成熟的传统卷积神经网络架构(U-Net等),但是通过引入非线性光学材料,以及增加层数等办法可以改善其性能,使其应用在更广泛的领域。
Figure 5. Comparison the results of MC-OCNN with different parameters: (a) The segment results of MC-OCNN with different number of layers; (b) The segment results of MC-OCNN with different channels; (c) The segment results of MC-OCNN with different pixel numbers
图5. 不同参数MC-OCNN的性能对比结果:(a) 不同层数MC-OCNN的分割结果;(b) 不同通道数MC-OCNN的分割结果;(c) 不同像素数目MC-OCNN的分割结果
4. 结论
综上所述,本文提出了一种全光的高级图像处理与计算机视觉任务的多通道光学卷积神经网络(MC-OCNN)框架。MC-OCNN由透镜相位、随机相位,以及二维光栅相位构建,并且具备光学卷积层和光学全连接层。由于多通道架构,MC-OCNN包含了多个不同的卷积核可以多维度地提取物体的不同特征,同时基于多层次级联结构,MC-OCNN能提取物体不同层次的特征。此外,MC-OCNN还可以实现光速并行计算,具备极高的算力和极低的能耗,为光学人工智能提供了全新的方法,文章验证了该方法在复杂像素级语义分割任务(包括人像解析与飞机目标检测)中的有效性,证明了其在语义分割任务中可以实现良好的分割效果,为其在机器视觉、自动驾驶、智慧医疗等领域的应用提供了基础,展现出极具前景的应用价值与发展空间。
NOTES
*通讯作者。