一种多端口并行处理的三维光声显微成像方法及成像系统转让专利

申请号 : CN201810527841.6

文献号 : CN108937853B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨思华杨斐马海钢邢达

申请人 : 华南师范大学

摘要 :

本发明公开了一种多端口并行处理的三维光声显微成像方法及成像系统,方法包括:数据采集卡采集光声信号数据,通过计算机PCIE总线端口,将采集的数据由CPU控制传入多个GPU端口;分别在GPU中进行中值滤波处理,通过输入参数控制滤波的次数,对滤波处理后的数据进行小波变换处理,得到新的二维扫描数据;将新的扫描数据传入CPU,结合GPU对新的扫描数据进行反卷积处理,得到的数据传入GPU;作线性插值处理后将数据由GPU显存复制到CPU存储,进行三维深度成像处理,由图像显示器进行显示。本发明提出的成像方法及成像系统极大的提高了光声信号数据处理成像的运算速度,能够明显加快现有临床二维实时成像的速度,增加三维深度的成像。

权利要求 :

1.一种多端口并行处理的三维光声显微成像方法,其特征在于,包括下述步骤:

读取数据步骤,数据采集卡采集的数据信号,通过PCIE端口进入CPU,CPU控制将数据复制到GPU显存;

所述读取数据步骤中,将采集卡读取的采样数据fn(x,y)存储在计算机内存中,为fn(x,y)分配内存,内存空间大小为n*x*y;其中fn(x,y)表示x位置上的第n次采集到的深度为y的光声信号;在GPU端显存空间为fn(x,y)分配相应的二维线程数,分配显存空间大小为n*x*y,将fn(x,y)从主机端内存复制到GPU端显存;

数据滤波处理步骤,在GPU中,通过可设置的参数划分数据矩阵,对数据进行中值滤波处理;

所述数据滤波处理步骤中,在GPU中根据输入不同的滤波次数n划分数据矩阵,将每个x采样到的n个A‑Line数据进行中值滤波运算,对应位置的n个值进行取中间值运算,然后取中间值作为滤波后的该位置的数据值;并行将x个fn(x,y)进行中值滤波,得到f1(x,y);其中f1(x,y)表示x位置上的第1次采集到的深度为y的光声信号;

数据去噪处理步骤,对滤波处理后的数据进行矩阵间并行的小波变换去噪处理;

所述数据去噪处理步骤中,小波变换的公式为:

分解公式:

重构公式:

其中, 是分解滤波器, 是重构滤波器,f(t)是待变换的矩阵中的单个数

据,A为数据长度,GPU并行将每个x采样到的y个A‑Line数据进行小波变换运算,对y个数据进行延拓,分别与高通、低通分解滤波系数卷积,隔点取样,隔点插零后再与高通、低通重构滤波器卷积,结果相加取中间y个数值,该过程重复多次,得到该位置小波去噪后的数据值f2(x,y);其中f2(x,y)表示x位置上的第2次采集到的深度为y的光声信号;

反卷积处理步骤,将数据传入CPU,对数据进行转换后传入GPU,在GPU中作傅里叶正逆变换后进入CPU;

所述反卷积处理步骤中,将f2(x,y)与系统函数通过端口由GPU进入CPU,将数据在CPU中架构为复数,经过多个端口进入GPU,在GPU中分别作傅里叶变换后传入CPU,在CPU作迭代计算返回GPU作傅里叶逆变换,并行将x个f2(x,y)进行去卷积运算,得到f3(x,y);其中f3(x,y)表示x位置上的第3次采集到的深度为y的光声信号;

插值步骤,对新得到的数据矩阵通过端口传入GPU作双线性插值;

深度补偿步骤,对信号进行光学与声学的深度补偿;

三维成像步骤,对插值结果进行三维重建及显示,对多个B‑Scan扫描图进行深度成像,得到扫描组织的三维立体图像。

2.根据权利要求1所述多端口并行处理的三维光声显微成像方法,其特征在于,所述插值步骤中,双线性插值公式为:F(x,y)=(1‑u)*(1‑v)*f(i,j)+u*(1‑v)*f(i,j+1)+(1‑u)*v*f(i+1,j)+u*v*f(i+1,j+

1)

其中,i、j为整数部分,u、v为非整数部分,x=i+u,y=j+v;根据在GPU中划分的输入矩阵与输出矩阵的差值,对输出矩阵进行适合次数的多次双线性插值运算。

3.根据权利要求1所述多端口并行处理的三维光声显微成像方法,其特征在于,信号深度补偿步骤中,结合光与声的衰减系数,信号深度补偿公式为:其中,μeff为有效衰减系数,υ为组织中的声速, 为输入信号, 为经过深度补偿后的信号;

所述的三维成像步骤中,经多端口传输的扫描数据结果保存在CPU中,对多个二维扫描图像进行重建,根据深度信息的不同分配不同的颜色,进行深度编码,对重建完成的结果在图像显示器中进行显示。

4.一种多端口并行处理的三维光声显微成像系统,使用权利要求1‑3中任一项所述的一种多端口并行处理的三维光声显微成像方法,其特征在于,包括激光器、光纤耦合器、FPGA、运动控制卡、电机、位置传感器、扫描探头、数据采集卡、计算机、图像处理器GPU、以及图像显示器,所述扫描探头、位置传感器、运动控制卡、FPGA顺序连接,所述激光器、光纤耦合器、扫描探头顺序连接,所述数据采集卡分别与扫描探头、FPGA以及计算机连接,所述图像处理器GPU和图像显示器均与计算机连接;

还包括数据读取模块、数据处理模块和图像显示模块,所述数据读取模块包含激光器、光纤耦合器、FPGA、运动控制卡、电机、位置传感器、扫描探头和数据采集卡,所述数据处理模块包含计算机和图像处理器GPU,所述图像显示模块包含图像显示器,所述数据读取模块、数据处理模块和图像显示模块顺序连接;

所述数据读取模块,用于采集目标扫描组织的扫描数据,计算机发出触发信号触发激光光源,激光光源发出的脉冲激光经过光纤耦合器进入光纤,经过扫描探头二维x‑y扫描后输出光声信号;所述的位置传感器记录扫描探头的位置信号,经过运动控制卡放大进入FPGA,与激光器的脉冲信号在FPGA中相与,得到二维扫描位置信息;所述的计算机通过PCIE总线接口将采样数据拷贝至GPU显存;

数据处理模块,在CPU划分相应数据矩阵,在GPU中分配相应的二维线程数,通过多端口的反复输入输出,对数据进行中值滤波、小波变换、去卷积、插值和深度补偿的运算;

图像显示模块,用于实现二维光声扫描图像的实时成像,深度编码后实现对三维光声皮肤扫描数据的成像。

5.根据权利要求4所述一种多端口并行处理的三维光声显微成像系统,其特征在于,所述的数据读取模块中,计算机同步驱动扫描探头与数据采集卡,采集卡采集扫描数据及探头的位置信息,FPGA控制探头电机运动,对目标位置反复扫描n次补偿错位信息,得到完整的扫描信息保存在CPU中。

6.根据权利要求4所述一种多端口并行处理的三维光声显微成像系统,其特征在于,所述的数据处理模块中,CPU将扫描数据信息传送到GPU中,图形处理器启动CUDA内核,根据计算矩阵分配对应的线程数量,并行处理图像的信息任务;

所述的数据处理模块中,通过数据传输的多个端口,在CPU与多个GPU之间实现中值滤波、小波变换、去卷积和线性插值的数据处理的输入输出。

说明书 :

一种多端口并行处理的三维光声显微成像方法及成像系统

技术领域

[0001] 本发明涉及显微皮肤图像处理领域,特别是一种基于多端口并行处理的三维光声显微成像方法及成像系统。

背景技术

[0002] 光声成像技术(Photoacoustic Imaging)是一种新型无损医疗成像技术,它是用短脉冲激光辐照光吸收介质,光吸收介质吸收光能量后温度快速升高,介质膨胀产生机械波,由于光照时间远远小于介质内部的热传导时间,由此产生出超声信号,称为光声信号。光声成像技术具有高分辨率、高对比度、高穿透深度、无损活体实时成像等等优点,在近年里得到了迅速的发展。光声成像技术利用超声换能器接收光声信号,通过一定的算法重建图像,反映了内部组织的光吸收的分布,是一种基于光学吸收差异特性反演生物组织内部生理病变的功能成像技术。
[0003] 由于扫描的光声信号的数据量相当的大,光声成像的扫描数据会先进行一定的算法处理,再将处理后的数据进行成像。通常采用CPU进行计算,而CPU的串行处理数据的方式会极大消耗CPU的资源,占用系统的其他的任务,降低光声系统的成像速度。由于扫描数据多为浮点型数据,并不适合采用硬件处理器改进系统。

发明内容

[0004] 本发明的主要目的在于克服现有技术的缺点与不足,提供了一种多端口并行处理的三维光声显微成像方法,极大的提高了光声信号数据处理成像的运算速度,能够明显加快现有临床二维实时成像的速度,增加三维深度的成像。
[0005] 本发明的另一目的在于,提供一种多端口并行处理的三维光声显微成像系统。
[0006] 为了达到上述第一目的,本发明采用以下技术方案:
[0007] 本发明一种多端口并行处理的三维光声显微成像方法,包括下述步骤:
[0008] 读取数据步骤,数据采集卡采集的数据信号,通过PCIE端口进入CPU,CPU控制将数据复制到GPU显存;
[0009] 数据滤波处理步骤,在GPU中,通过可设置的参数划分数据矩阵,对数据进行中值滤波处理;
[0010] 数据去噪处理步骤,对滤波处理后的数据进行矩阵间并行的小波变换去噪处理;
[0011] 反卷积处理步骤,将数据传入CPU,对数值进行转换后传入GPU,在GPU中作傅里叶正逆变换后进入CPU;
[0012] 插值步骤,对新得到的数据矩阵通过端口传入GPU作双线性插值;
[0013] 深度补偿步骤,对信号进行光学与声学的深度补偿;
[0014] 三维成像步骤,对插值结果进行三维重建及显示,多个B‑Scan扫描图进行深度成像,得到扫描组织的三维立体图像。
[0015] 作为优选的技术方案,所述读取数据步骤中,将采集卡读取的采样数据fn(x,y)存储在计算机内存中,为fn(x,y)分配内存,内存空间大小为n*x*y;其中fn(x,y)表示x位置上的第n次采集到的深度为y的光声信号;在GPU端显存空间为fn(x,y)分配相应的二维线程数,分配显存空间大小为n*x*y,将fn(x,y)从主机端内存复制到GPU端显存。
[0016] 作为优选的技术方案,所述数据滤波处理步骤中,在GPU中根据输入不同的滤波次数n划分数据矩阵,将每个x采样到的n个A‑Line数据进行中值滤波运算,对应位置的n个值进行取中间值运算,然后取中间值作为滤波后的该位置的数据值;并行将x个fn(x,y)根据进行中值滤波,得到f1(x,y);其中f1(x,y)表示x位置上的采集到的n次光声信号经过运算得到的一个光声信号。
[0017] 作为优选的技术方案,所述数据去噪处理步骤中,小波变换的公式为:
[0018] 分解公式:
[0019]
[0020] 重构公式:
[0021]
[0022] 其中, 是分解滤波器, 是重构滤波器,f(t)是待变换的矩阵中的单个数据,A为数据长度,GPU并行将每个x采样到的y个A‑Line数据进行小波变换运算,对y个数据进行延拓,分别与高通、低通分解滤波系数卷积,隔点取样,隔点插零后再与高通、低通重构滤波器卷积,结果相加取中间y个数值,该过程重复多次,得到该位置小波去噪后的数据值f2(x,y);其中f2(x,y)表示x位置y深度上采集到的光声信号经过小波去噪运算得到的光声信号。
[0023] 作为优选的技术方案,所述反卷积处理步骤中,将f2(x,y)与系统函数通过端口由GPU进入CPU,将数据在CPU中架构为复数,经过多个端口进入GPU,在GPU中分别作傅里叶变换后传入CPU,在CPU作迭代计算返回GPU作傅里叶逆变换,并行将x个f2(x,y)进行去卷积运算,得到f3(x,y);其中f3(x,y)表示x位置y深度采集到的光声信号经过去卷积运算得到的光声信号。
[0024] 作为优选的技术方案,所述插值步骤中,双线性插值公式为:
[0025] F(x,y)=(1‑u)*(1‑v)*f(i,j)+u*(1‑v)*f(i,j+1)+(1‑u)*v*f(i+1,j)+u*v*f(i+1,j+1)
[0026] 其中,i、j为整数部分,u、v为非整数部分,x=i+u,y=j+v;根据在GPU中划分的输入矩阵与输出矩阵的差值,对输出矩阵进行适合次数的多次双线性插值运算。
[0027] 作为优选的技术方案,所述的信号深度补偿步骤中,结合光与声的衰减系数,信号深度补偿公式为:
[0028] f′(t)=f(t)e(αf+μeff)*υt
[0029] 其中,μeff为有效衰减系数,υ为组织中的声速,f(t)为输入信号,f′(t)为经过深度补偿后的信号;
[0030] 所述的三维成像步骤中,经多端口传输的扫描数据结果保存在CPU中,对多个二维扫描图像进行重建,根据深度信息的不同分配不同的颜色,进行深度编码,对重建完成的结果在图像显示器中进行显示。
[0031] 为了达到上述另一目的,本发明采用以下技术方案:
[0032] 本发明一种多端口并行处理的三维光声显微成像系统,使用上述一种多端口并行处理的三维光声显微成像方法,包括激光器、光纤耦合器、FPGA、运动控制卡、电机、位置传感器、扫描探头、数据采集卡、计算机、图像处理器GPU、以及图像显示器,所述扫描探头、位置传感器、运动控制卡、FPGA顺序连接,所述激光器、光纤耦合器、扫描探头顺序连接,所述数据采集卡分别与扫描探头、FPGA以及计算机连接,所述图像处理器GPU和图像显示器均与计算机连接;
[0033] 还包括数据读取模块、数据处理模块和图像显示模块,所述数据读取模块包含激光器、光纤耦合器、FPGA、运动控制卡、电机、位置传感器、扫描探头和数据采集卡,所述数据处理模块包含计算机和图像处理器GPU,所述图像显示模块包含图像显示器。所述数据读取模块、数据处理模块和图像显示模块顺序连接;
[0034] 所述数据读取模块,用于采集目标扫描组织的扫描数据,计算机发出触发信号触发激光光源,激光光源发出的脉冲激光经过光纤耦合器进入光纤,经过扫描探头二维x‑y扫描后输出光声信号;所述的位置传感器记录扫描探头的位置信号,经过运动控制卡放大进入FPGA,与激光器的脉冲信号在FPGA中相与,得到二维扫描位置信息;所述的计算机通过PCIE总线接口将采样数据拷贝至GPU显存;
[0035] 数据处理模块,在CPU划分相应数据矩阵,在GPU中分配相应的二维线程数,通过多端口的反复输入输出,对数据进行中值滤波、小波变换、去卷积、插值和深度补偿的运算;
[0036] 图像显示模块,用于实现二维光声扫描图像的实时成像,深度编码后实现对三维光声皮肤扫描数据的成像。
[0037] 作为优选的技术方案,所述的数据读取模块中,计算机同步驱动扫描探头与数据采集卡,采集卡采集扫描数据及探头的位置信息,FPGA控制探头电机运动,对目标位置反复扫描n次补偿错位信息,得到完整的扫描信息保存在CPU中。
[0038] 作为优选的技术方案,所述的数据处理模块中,CPU将扫描数据信息传送到GPU中,图形处理器启动CUDA内核,根据计算矩阵分配对应的线程数量,并行处理图像的信息任务;
[0039] 所述的数据处理模块中,通过数据传输的多个端口,在CPU与多个GPU之间实现中值滤波、小波变换、去卷积和线性插值等数据处理的输入输出。
[0040] 本发明与现有技术相比,具有如下优点和有益效果:
[0041] 1、本发明基于多端口并行处理的三维光声显微成像方法及成像系统,利用计算机通用图形处理器GPU,将基于多端口的并行处理的统一设备架构引入到光声系统成像中的数据处理及成像,借助GPU多线程的并行处理数据的能力和计算浮点型数据的能力,相比于基于单端串行处理的成像速度,多端口并行处理将光声成像的成像速度提高了数十倍,达到了临床二维实时成像的要求及三维深度成像的要求。
[0042] 2、由于本发明采用了多端口的并行处理数据的方式,光声成像的处理数据的速度远远大于单端串行处理数据的速度,因此可以运行更复杂的光声成像算法,得到更加精准的光声图像,并实现临床二维实时扫描的成像要求。
[0043] 3、由于本发明采用基于软件上的多端口并行处理数据方法,省去了专用的图像处理系统,因此也降低了系统的成本。

附图说明

[0044] 图1为多端口并行处理的三维光声显微成像方法的流程图;
[0045] 图2为多端口并行处理的三维光声显微成像系统的结构框图;
[0046] 图3为数据处理模块的内部结构示意图;
[0047] 图4为数据处理的端口输入输出的流程图;
[0048] 图5(a)、图5(b)为样品B扫描成像效果图;其中:图5(a)为在单端串行处理下的成像图像;图5(a)为在多端口并行处理下的成像图像。
[0049] 图6为样品的三维成像效果图。

具体实施方式

[0050] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0051] 实施例
[0052] 如图1所示,为一个实施例中多端口并行处理的三维光声显微成像方法的流程图。该多端口并行处理的三维光声显微成像方法,包括:
[0053] 读取数据步骤,数据采集卡采集的数据信号通过PCIE端口进入CPU,将采集卡读取的采样数据fn(x,y)存储在计算机内存中,为fn(x,y)分配内存,内存空间大小为n*x*y;其中fn(x,y)表示x位置上的第n次采集到的深度为y的光声信号。在GPU端显存空间为fn(x,y)分配相应的二维线程数,分配显存空间大小为n*x*y,将fn(x,y)从主机端内存复制到GPU端显存。
[0054] 数据滤波处理步骤,如图4所示,在GPU中,通过可设置的参数划分数据矩阵,对数据进行中值滤波处理;在GPU中根据输入不同的滤波次数n划分数据矩阵,将每个x采样到的n个A‑Line数据进行中值滤波运算,对应位置的n个值进行取中间值运算,然后取中间值作为滤波后的该位置的数据值。并行将x个fn(x,y)根据进行中值滤波,得到f1(x,y)。
[0055] 数据去噪处理步骤,对滤波处理后的数据进行矩阵间并行的小波变换去噪处理;小波变换的公式为:
[0056] 分解公式:
[0057]
[0058] 重构公式:
[0059]
[0060] 其中, 是分解滤波器, 是重构滤波器,f(t)是待变换的矩阵中的单个数据,A为数据长度,GPU并行将每个x采样到的y个A‑Line数据进行小波变换运算,对y个数据进行延拓,分别与高通、低通分解滤波系数卷积,隔点取样,隔点插零后再与高通、低通重构滤波器卷积,结果相加取中间y个数值。该过程重复多次,得到该位置小波去噪后的数据值f2(x,y)。
[0061] 反卷积处理步骤,将f2(x,y)与系统函数通过端口由GPU进入CPU,将数据在CPU中架构为复数,经过多个端口进入GPU,在GPU中分别作傅里叶变换后传入CPU,在CPU作迭代计算返回GPU作傅里叶逆变换,并行将x个f2(x,y)进行去卷积运算,得到f3(x,y)。
[0062] 插值步骤,对新得到的数据矩阵通过端口传入GPU作双线性插值;双线性插值公式为:
[0063] F(x,y)=(1‑u)*(1‑v)*f(i,j)+u*(1‑v)*f(i,j+1)+(1‑u)*v*f(i+1,j)+u*v*f(i+1,j+1)
[0064] 其中,i、j为整数部分,u、v为非整数部分,x=i+u,y=j+v;根据在GPU中划分的输入矩阵与输出矩阵的差值,对输出矩阵进行适合次数的多次双线性插值运算。
[0065] 深度补偿步骤中,结合光与声的衰减系数,信号深度补偿公式为:
[0066] f′(t)=f(t)e(αf+μeff)*υt
[0067] 其中,μeff为有效衰减系数,υ为组织中的声速,f(t)为输入信号,f′(t)为经过深度补偿后的信号。
[0068] 三维成像步骤,对插值结果进行三维重建及显示,如图6所示,多个B‑Scan扫描图进行深度成像,扫描组织的三维立体图像。经多端口传输的扫描数据结果保存在CPU中,对多个二维扫描图像进行重建,根据深度信息的不同分配不同的颜色,进行深度编码,对重建完成的结果在图像显示器中进行显示。
[0069] 上述的多端口并行处理的三维光声显微成像方法,通过对输入数据进行中值滤波和小波变换处理,消除了噪声对光声信号的影响,并对滤波结果进行去卷积处理,减小了系统对光声信号的干扰,使得计算结果更加准确。
[0070] 如图2所示,为一个实施例中的多端口并行处理的三维光声显微成像系统的结构框图。该多端口并行处理的三维光声显微成像系统中未详尽描述的细节,可参考上述对应的方法实施例描述。该多端口并行处理的三维光声显微成像系统,包括数据读取模块、数据处理模块和图像显示模块。其中:
[0071] 数据读取模块,计算机同步驱动扫描探头与数据采集卡,采集卡采集扫描数据及探头的位置信息,FPGA控制探头电机运动,对目标位置反复扫描n次补偿错位信息,得到完整的扫描信息保存在CPU中。
[0072] 数据处理模块,内部结构图如图3所示,在CPU划分相应数据矩阵,在GPU中分配相应的二维线程数,通过多端口的反复输入输出,对数据进行中值滤波、小波变换、去卷积、插值的运算。CPU将扫描数据信息传送到GPU中,图形处理器启动CUDA内核,根据计算矩阵分配对应的线程数量,并行处理图像的信息任务。通过数据传输的多个端口,在CPU与多个GPU之间实现中值滤波、小波变换、去卷积和线性插值等数据处理的输入输出。
[0073] 图像显示模块,用于扫描组织的二维实时成像显示和三维重建显示。实现二维光声扫描图像的实时成像,深度编码后实现对三维光声皮肤扫描数据的成像。
[0074] 上述多端口并行处理的三维显微成像方法及成像系统,模拟结果:实验中计算一帧B‑Scan图像,像素大小为300*4096。分别采用单端串行处理方式和多端并行处理方式处理图像,并进行计时。实验得到的结果如图5所示:图5(a)为单端串行处理方式,处理一帧图像需要约54秒;图5(b)为多端口并行处理方式,处理一帧图像需要约1秒,该时间包含了端口间数据传输时间和数据计算时间,多端口并行处理下成像提高了50倍。
[0075] 本发明提供的多端口并行处理的三维光声显微成像方法及成像系统,通过多端口传输与并行计算,极大的提高了光声成像速度,也提供了一种低成本,高性能的光声皮肤成像方法及系统。
[0076] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。