刘勤颖,唐玉国,欧阳楠,李桂琴,李 敏*
(1.上海大学 上海市智能制造及机器人重点实验室,上海200444;2.中国科学院 苏州生物医学工程技术研究所,江苏 苏州215000)
光学相干层析成像(Optical Coherence To⁃mography,OCT)结合内窥探头技术可实现体腔器官在体的断层成像[1-2]。与传统超声内窥成像技术相比,内窥OCT技术具有成像速度快、分辨率高、无需耦合介质[3]等优点,能够帮助医生快速识别微小病灶,适用于诊断早期食道癌、宫颈癌、结直肠癌等体腔内疾病[4]。
光纤旋转扫描内窥OCT作为一种较为成熟的内窥成像方式已经开始向商业化产品发展,如Ninepoint公司的NvisionVLE系统,采用50 kHz扫频光源,成像速度为12.5 frame/s;Abbott公司的Ilumien3系统,采用90 kHz扫频光源,成像速度为100 frame/s。2014年,Cho等人[5]指出提高内窥OCT的成像速度能够有效避免在体成像时生物抖动造成的图像模糊,因此研究人员在提高内窥OCT成像速度方面进行了大量研究。
内窥OCT的成像速度主要取决于系统的扫描速度和数据的实时处理。在系统扫描速度方面,Wang等人[6]利用微型电机研制远端扫描OCT探头,最高每秒可产生4 000 frame/s的数据量,但是在进行成像时必须重新调整图像以补偿微型电机的旋转误差,且微型电机价格昂贵,对外部磁场高度敏感,在实际临床应用方面,还需要克服一定的技术困难。在数据处理方面,图形处理单元(Graphics Processing Unit,GPU)或现场可编程门阵列(Field Programmable Gate Ar⁃ray,FPGA)已被用于OCT数据处理加速。Zhang等人[7]利用GPU实现了125 MS/s的OCT数据处理速度,Tang[8]利用FPGA实现了200 MS/s的数据处理速度。Chen等人[9]利用压缩感知重构图像减轻数据采集与处理系统的压力。但是对于技术成熟的扫描频率为200 kHz的扫频光源,每秒可采样数据流量为409 MS/s,由于内窥图像重构算法的复杂性,单纯依靠GPU或FP⁃GA处理方案难以满足数据实时处理的要求。另外,对于光纤旋转扫描的内窥成像方式,扫描速度的大幅提高会引起严重的图像漂移,也是一个亟待解决的问题。
本文针对200 kHz高速内窥式扫频OCT(Swept Source OCT,SSOCT)系统中存在的大量数据无法实时处理和高速转动下图像漂移的问题,提出了一种具有141 frame/s成像速度的内窥SSOCT系统设计方法,将FPGA与GPU相结合提高数据处理速度,并利用码盘反馈漂移校正技术提高成像稳定性。经过对系统性能的实验验证和数据分析,本文使用的数据处理方法能够满足高速内窥SSOCT数据的实时处理要求并有效提高成像稳定性。最后,按照动物实验伦理要求,利用研制的系统对小鼠结直肠进行在体成像实验,结果表明内窥SSOCT系统可清晰识别结直肠的多层组织结构。
高速内窥SSOCT系统如图1所示,主要由光学系统模块、数据处理模块和运动控制模块等组成。光学系统模块包括扫频光源、光纤耦合器、光纤旋转器与准直器等部分。其中,扫频光源(AXP50124-8,AXSUN,美国)的扫描频率为200 kHz,中心波长为1 310 nm,带宽为110 nm。光源发出的光经过10/90光纤耦合器后,10%的光束入射到参考平面镜,90%的光束经过光纤旋转器和探头入射到样品上。两路光束经样品和参考平面镜反射后形成干涉光信号,干涉光信号通过平衡探测器转换为电信号,并通过差分处理扣除直流信号,最后由数据采集卡进行采集。
图1 内窥式SSOCT系统结构Fig.1 Structure diagram of endoscopic SSOCT system
为了实现高速数据的实时处理和显示,系统选用数据采集卡(ATS9373,AlazarTech,加拿大)进行数据采集。该采集卡具有12位分辨率,单通道模拟输入的采样率高达4 GS/s。采集到的数据经过内嵌在采集卡上的FPGA模块进行部分数据处理后,上传至部署了GPU加速模块的PC主机完成进一步的图像重构、显示和存储等功能。
为了实现探头高速旋转且系统图像的稳定显示,系统采用理论最高转速12 000 r/min的无刷电机(CHB-BLDC4260,驰海,中国)驱动光纤旋转器旋转,并在光纤旋转器上安装反馈码盘。采用控制器(MSFOCD-5AL,美固思,中国)进行电机控制,其速度闭环控制可设定为-32 768~32 768 r/min。逻辑控制卡驱动电机旋转,并对码盘反馈信号与光源的触发信号(A-trigger)进行逻辑判断,输出数据采集触发信号(DAQ-trigger)。
高速内窥SSOCT系统中使用的内窥探头结构示意图如图2(a)所示,探头由光纤、折射梯度透镜(Grin Lens,GL)和棱镜等构成。样品臂的光束通过光纤旋转器、单模光纤、光纤插针和GL,最后形成的聚焦光束直径约为20μm,探头聚焦光束直径即SSOCT系统的横向分辨率。探头实物如图2(b)所示,探头直径约为1.2 mm,外套透明塑料套管保护探头。
图2 内窥探头设计Fig.2 Design of endoscopic probe
内窥SSOCT系统通常涉及的数据处理包括汉明窗整形、傅里叶变换(Fourier Transform,FFT)、取对数和极坐标变换(Polar Coordinate Transformation,PCT)等操作。针对本文采用的200 kHz扫频光源,当每个A-scan上采集数据点为2 048时,系统每秒需处理的数据流量将达到409.6 MS/s。FFT数据变换后,仅选择频谱数据中的一半数据量进行图像重构,则每秒进行PCT极坐标图像变换的数据量约为204.8 MS/s。为了满足系统数据的实时处理要求,本文设计的数据处理流程如图3所示。整个数据处理流程通过FPGA和GPU来完成,具体过程如下:首先,系统数据采集卡ATS9373对干涉信号进行采集;然后,利用ATS9373内嵌的FPGA模块(5SGXMA 3K3F40C3N,Altera,美国)进行汉明窗整形、傅里叶变换、取对数等数据处理来减轻后续处理压力。随后,经过处理之后的数据上传至PC端进行一维数据显示。最后,将数据经过PCIe×16(理论传输速率为16 GB/s)总线传送至图形处理器GPU(RTX2080s,NVIDIA,美国)进行PCT图像重建,处理后的图像数据再通过PCIe×16总线传回PC端进行图像显示。
图3 数据处理与图像显示流程Fig.3 Flow chart of data processing and image display
ATS9373采集卡中FPGA模块的逻辑元件数量为340 000,FFT的处理速度可达1 GS/s。RTX2080s的核心频率为1 650~1 815 MHz,流处理器单元为3 072个,每秒可计算峰值为11TFLOPS,可满足实时处理的要求。
由于内窥探头高速旋转下旋转速度的不均一性,图像会因每帧采样起始位置的随机变化而发生不可控制的漂移。为解决图像漂移问题,系统采用随动码盘反馈信号来标记图像的起始位置并将信号反馈给逻辑控制卡。光纤旋转运动控制结构如图4所示,码盘(TEP-K60,特恩普,中国)通过连接器装配在光纤旋转器上,保证与探头旋转同步。无刷电机作为系统探头旋转的驱动器,通过皮带带动光纤旋转器旋转。
图4 探头旋转运动控制结构Fig.4 Probe rotation control structure
为了控制探头转动并保证图像稳定性,选用 逻 辑 控 制 卡(SB-RIO9637,National Instru⁃ments,美国)进行高速逻辑时序控制。该逻辑控制卡可在40 MHz基本时钟下,每25 ns响应一次,高于扫频光源触发信号(A-trigger)频率,满足系统的高速逻辑控制需求。当逻辑控制卡通过I/O输出高电平时,无刷电机开始带动光纤旋转器转动,同时码盘开始计数。逻辑控制卡对旋转扫描信号与扫频光源触发信号进行逻辑与运算,控制数据采集卡进行采集。同时,逻辑控制卡根据码盘计数确定每圈起始位置,并且通过控制每圈扫频光源触发信号个数保证每帧图像的尺寸相同。
逻辑控制卡的逻辑时序设计如图5所示。旋转扫描信号变成高电平时,探头开始旋转,并且码盘开始计数。码盘反馈信号计数达到360,表示探头旋转一圈。每圈扫频光源产生的触发信号A-trigger数量,理论上为:
图5 采集逻辑时序原理Fig.5 Schematic diagram of logic timing acquisition
其中:S为探头的转速,v为扫频光源触发信号频率。当探头转速为100 r/s时,图像帧数为100 frame/s,每圈扫频光源触发信号A-trigger数量为2 000。经过多次测试,探头旋转一圈实际上的触发信号数量会略高于理论数量N(1~30)。为了保证每帧图像大小不变,每转一圈强制设置M个DAQ-trigger采集触发信号给到采集卡,进而避免图像漂移现象。
相较于其他提高内窥OCT稳定性的方法,如Ahsen等人[10]利用内窥探头结构标记对图像数据进行重采样,Abouei等人[11]提出基于方位角的图像校准算法,本文提出的硬件逻辑控制方法无需后续算法处理,可实现实时内窥OCT的稳定成像。
影响内窥SSOCT数据处理速度的瓶颈主要为FFT数据处理和PCT图像重建。为了验证系统数据处理设计的合理性,本文对上述处理算法在不同的硬件处理平台下进行了对比分析。首先,针对系统每秒产生的409.6 MS原始数据量,通过程序循环运行测试3种硬件的FFT处理能力。3种硬件分别是中央处理器CPU(W2223)、图形处理器GPU(RTX2080s)、以及采集卡ATS9373内嵌的FPGA模块。测试结果如图6显示,CPU的处理速度约为21.5 MS/s,GPU的处理速度约为240.2 MS/s,FPGA的处理速度约为1.1 GS/s。由此可见,单独使用CPU或单独使用GPU都不能满足实时FFT处理的实时性要求,仅有ATS9373数据采集卡内嵌的FPGA模块可以满足。
图6 实际数据量与各平台FFT处理速度Fig.6 Actual data volume and FFT processing speed of each platform
其次,针对重构PCT图像所需的204.8 MS/s数据处理流量,通过程序循环运行,采用66帧图像尺寸为1 024×3 000像素的数据量,对CPU和GPU两种硬件的PCT处理能力进行了测试。结果如图7所示,CPU的处理速度约为15.2 MS/s,GPU的处理速度约为284.3 MS/s,显然,GPU的处理速度可以实现图像极坐标的实时显示。在图像重构数据处理中没有使用FPGA的原因是图像重构算法对于FPGA编译而言过于复杂,且板载内存容量不够。因此,本文设计的如图3所示数据处理结构,充分发挥了FPGA和GPU各自的独特优势,实现了内窥SSOCT成像系统数据流处理的高速实时进行。
图7 实际数据量与各平台的PCT处理速度Fig.7 Actual data volume and PCT processing speed of each platform
为了进一步验证图3的数据处理结构是否实现了图像的实时显示,本文通过对无刷电机在不同转速下的成像帧数进行了测试。测试过程中,无刷电机实际带负载状态下的最高转速为9 000 r/min。测试结果如表1所示,系统的实际成像速度与理论计算结果接近。但是,由于光纤旋转器的实际转速与无刷电机理论设置值之间存在一定的偏差,因此表1中实际测试成像速度略低于理论计算数值。实验结果表明,整个数据处理流程完全满足高速内窥SSOCT系统的实时成像,特别是在9 000 r/min转速下,成像速度可达到141 frame/s。
表1 在不同转速下的图像帧数Tab.1 Number of image frames at different speeds
为验证图5设计的系统图像稳定方法的有效性,设计了如图8(a)所示的系统成像测试。将探头放置在桌面上,探头旋转时系统对桌面进行扫描成像。其中,转速设置为3 000 r/min。图8(b)为系统扫描桌面的OCT图像,图中圆环表示探头上的塑料套管,亮线表示桌面信号。以图像中心为原点建立坐标系,桌面与塑料套管的切点A和原点的连线与坐标轴形成的夹角θ表示桌面所在位置。
图8 图像稳定性测试方法Fig.8 Image stability test method
利用tracker(实验影像分析)软件对旋转过程中切点A进行了位置追踪,连续追踪100张图像中A的轨迹。如图9所示,“方块”和“圆形”分别是有无码盘反馈时A的轨迹变化。结果表明,有码盘反馈的情况下,A点位置始终保持相对稳定;而无码盘反馈的情况下,A点位置则无规律漂移。无码盘反馈状态下,统计A点位置每帧抖动的平均角度为±23.46°,利用1-23.46/180计算得到图像稳定性在87.0%;码盘反馈状态下,统计A点位置每帧抖动角度平均为±2.47°,利用1-2.47/180计算得到图像稳定性在98.6%以上。图像中剩余的微小抖动可能是探头本身细微抖动引起的。
图9 100帧图像A点偏移角度Fig.9 Point A offset angle of 100 frames of images
OCT是一种测量组织散射特性的成像技术。不同生物组织因成分差异导致其散射特性不同,从而在OCT图像中显示出不同的图像特征。由文献[12]和[13]可知,结直肠不同层次结构之间的散射特性不同,因此OCT能够区分结直肠的层次结构。为验证本文系统对结直肠的成像能力,选用活体小鼠结直肠进行OCT成像实验。实验小鼠为C57小鼠,体重为20~25 g。首先,对小鼠腹腔注射4%水合氯醛2 mL进行麻醉后,放置于实验台上,如图10所示。其次,将带有塑料套管的探头从肛门插入小鼠肠道约2~3 cm处。实验过程中,系统探头输出的光功率约为7 mW(属于国家激光安全标准3b级别),旋转速度设置为3 000 r/min。最后,OCT成像采集完成后,对小鼠结直肠扫描部位进行苏木精—伊红(HE)切片处理,用于OCT成像和HE切片结果的对比分析。
图10 小鼠实验图Fig.10 Mouse experiment diagram
小鼠结直肠成像结果如图11(a)所示,局部放大图如图11(b)所示,HE切片对照图如图11(c)所示。对比HE切片和局部放大OCT图像,OCT图像中结直肠黏膜层表现为弱反射层,黏膜下层的上下边界表现为强反射层,固有肌层表现为弱反射层,最外侧浆膜层表现为强反射层。在许多小鼠结直肠样本成像中,黏膜下层较窄,上下两条边界较难区分,只能观察到一条亮线。
图11 结直肠成像与HE对比Fig.11 Comparison of colorectal image with HE
生物实验过程中采取了麻醉等一系列手段减少对小鼠的伤害,所有操作均通过了中国科学院苏州生物医学工程技术研究所实验动物伦理委员会的批准,并且符合《江苏省实验动物管理方法》的要求。
图12(a)为Welge等[14]利用OCT对小鼠结直肠成像的效果图,其扫频光源的中心波长为1 040 nm,扫 频 速 率 为16 kHz。图12(b)为Li等[15]利用OCT对小鼠结直肠成像的效果图,其扫频光源的中心波长为1 310 nm,扫频速率为100 kHz。由图可以看出,小鼠结直肠的层次分布与本文测试结果一致,进一步验证本文利用高速数据处理、图像稳定方法和200 kHz扫频光源研制的高速内窥SSOCT成像系统可以清晰稳定地分辨结直肠组织结构,具有一定的应用潜力。
图12 结直肠成像对比Fig.12 Comparison of colorectal images
本文采用FPGA和GPU相结合的数据处理技术解决了高速内窥SSOCT系统数据量过大而无法实时处理的问题,利用码盘反馈技术有效地解决了探头在高速旋转下产生的图像漂移问题,并设计搭建了基于200 kHz扫频光源的高速内窥SSOCT系统。实验结果表明,系统图像尺寸为1 024×1 333时,可实现141 frame/s的成像速度,并且图像稳定性从87.0%提高到98.6%以上。利用研制的直径1.2 mm内窥成像探头,对小鼠结直肠进行了SSOCT实时成像实验,结果表明该系统能够有效地分辨生物组织层次。相较于现有的商业化产品,本文研制的系统采用技术成熟度较高的光纤旋转扫描方案,实现了141 frame/s高速内窥SSOCT稳定成像,有望在很大程度上减少在体实时成像时生物抖动引起的图像模糊。在下一步工作中将通过大量的实验探索内窥SSOCT系统的临床应用价值,为早期消化道癌症诊断,特别是对发生于黏膜层到黏膜下层的早期癌症浸润深度的诊断,提供一种新型的高分辨诊断方法。in vivo[J].Biomedical Optics Express,2014,5(1):223-232.