一种可扩展异构边缘计算架构的病理分析方法及装置与流程

文档序号:25543439发布日期:2021-06-18 20:40
一种可扩展异构边缘计算架构的病理分析方法及装置与流程

本发明涉及边缘计算人工智能领域、生物医学工程技术领域、以及显微病理全自动扫描、分析领域,具体涉及一种可扩展异构边缘计算架构的病理分析方法及装置。



背景技术:

近年来,随着经典数字图像处理方法和人工智能深度学习处理方法在医学领域的广泛应用,医学影像领域取得长足进展,为构建全数字影像医疗系统打下良好的基础;而在病理领域,数字切片扫描分析系统则是将现实世界中的物理切片转成数字切片的关键步骤,而将人工智能技术结合到数字病理扫描系统当中,则是下一步构建人工智能(aartificialintelligence,ai)辅助病理扫描系统的关键。

目前情况下,大部分基于人工智能辅助病理扫描系统,都是将病理切片扫描阶段和ai识别、检测、分类阶段分离到不同的系统当中,其中ai识别检测分类系统则直接采用高性能gpu服务器完成相应的任务。这样就容易出现,病理扫描仪采用一套硬件系统仪器,图像扫描拼接存储处理等任务采用一套高性能图像处理cpu服务器,而ai辅助诊断则又需要另外一套体积较大,性能高的服务器系统的情况;这样则首先是整个智能辅助病理扫描系统,构成成分繁多、臃肿,体积庞大,占地面积大,需要在本不宽阔的医疗诊断室当中额外考虑设备使用空间,而且整体处理过程繁杂,另外并没有对整个系统的处理性能做整体提升,高性能服务器也仅是作为ai辅助诊断手段,整体成本高昂,仅考虑单片扫描系统的性能提升,面对多切片扫描时,并没有考虑有效地并行性能提升和硬件升级扩展等问题,因此本身的性能提升有限。



技术实现要素:

本发明要解决的技术问题:针对现有技术的上述问题,提供一种可扩展异构边缘计算架构的病理分析方法及装置,本发明能够协同多个cpu、gpu和fpga等处理器,形成可扩展的多处理器异构边缘计算平台,利用fpga的并行和流水特性完成一路或者多路图像数据的并行流水采集,并传输给cpu和gpu,利用cpu的强大调度特性和复杂任务处理能力,完成子图的拼接存储任务,并辅助完成子图的指定ai预测推断任务,利用gpu的粗粒度并行处理和批量处理能力,完成子图的指定ai预测推断任务,可实现cpu、gpu和fpga协同完成病理切片扫描和智能辅助诊断整体处理过程。

为了解决上述技术问题,本发明采用的技术方案为:

一种可扩展异构边缘计算架构的病理分析方法,包括:

主cpu获取病理切片的整体轮廓信息并进行子图划分;

主cpu进行子cpu资源和gpu资源的动态调度,分配子图的处理任务给调度的子cpu和gpu;

利用fpga的并行和流水特性完成子图图像数据的并行流水采集,并传输给分配的子cpu和gpu;

利用gpu或子cpu完成子图的指定ai预测推断任务;

利用子cpu完成子图的拼接存储任务;

主cpu完成所有子图处理结果的信息整合,将病理切片的切片全景图信息和指定ai预测推断任务执行结果存储到主cpu维护的文件列表以备读取。

可选地,所述主cpu获取病理切片的整体轮廓信息并进行子图划分包括:获取病理切片的整体轮廓信息,根据病理切片的整体轮廓信息得到进行子图划分的子图的行数rows和列数columns,从而将病理切片进行子图划分,得到任意第mn列的子图i(m,n),其中m取值范围为1~行数rows,n取值范围为1~columns。

可选地,所述主cpu进行子cpu资源和gpu资源的动态调度的步骤包括:

主cpu计算第一系数rt1,所述第一系数rt1为单个gpu对一张子图进行ai预测推断从输入到输出的完整处理过程的平均时间tgpu除以一张子图采集处理从输入到输出的完整处理过程的平均时间tcpu1得到的结果;

主cpu根据第一系数rt1执行子cpu资源和gpu资源的动态调度:

若满足rt1≤1,则为每一个执行子图的拼接存储任务的子cpu分配一个gpu执行子图的指定ai预测推断任务;

若满足1<rt1<2,则主cpu根据计算第二系数rt2,所述第二系数rt2为cpu对一张子图进行ai预测推断从输入到输出的完整处理过程的平均时间tcpu2除以一张子图采集处理从输入到输出的完整处理过程的平均时间tcpu1得到的结果;当满足rt2≤1时,为每一个执行子图的拼接存储任务的子cpu分配一个gpu和一个子cpu执行子图的指定ai预测推断任务,当满足rt2>1时,为每一个执行子图的拼接存储任务的子cpu分配两个gpu执行子图的指定ai预测推断任务;

若满足rt1≥2,则主cpu根据计算第二系数rt2,当满足rt2≤1时,为每一个执行子图的拼接存储任务的子cpu分配一个gpu和多个子cpu执行子图的指定ai预测推断任务,当满足rt2>1时,为每一个执行子图的拼接存储任务的子cpu分配两个gpu和一个或多个子cpu执行子图的指定ai预测推断任务;

根据子cpu资源和gpu资源的动态调度结果,主cpu从维护的子cpu负载调度集合cs中按照当前时刻t0使用率最低的原则选择所需的子cpu资源,从维护的gpu负载调度集合gs中按照当前时刻t0使用率最低的原则选择所需的子gpu资源。

可选地,所述利用fpga的并行和流水特性完成子图图像数据的并行流水采集,并传输给分配的子cpu和gpu包括:

主cpu将选择的子cpu资源中使用率最低的子cpu,记选择的使用率最低的子cpu为cpu1(t0),通过cpu1(t0)确定待进行聚焦的位置点并传输给fpga;

fpga控制扫描相机的运动电机运动到相对应的位置点对每一个聚焦点完成聚焦任务,并将聚焦结果返回给cpu1(t0);

cpu1(t0)根据所有返回得到的聚焦位置完成该病理切片的聚焦映射面的拟合,从而得到待扫描切片的每一张子图对应的位置将这些位置发送给fpga;

fpga根据每一张子图对应的位置,控制扫描相机的x、y、z轴运动到对应位置,完成子图的图像数据采集,并通过基于pcie传输协议将fpga映射为虚拟内存或现存空间,通过dma数据传输技术将采集得到的子图的图像数据传输给分配的子cpu和gpu。

可选地,利用gpu完成子图的指定ai预测推断任务的步骤包括:gpu首先执行预先训练好的卷积神经网络,卷积神经网络的输入为当前的子图i(m,n)、输出为子图i(m,n)对应的检测目标区域集合os(m,n),且函数表达式为:

os(m,n)={(xrect(m,n,k),yrect(m,n,k),wrect(m,n,k),hrect(m,n,k))},

上式中,(xrect(m,n,k),yrect(m,n,k))为第k个检测目标区域左上角的像素坐标,(wrect(m,n,k),hrect(m,n,k))为第k个检测目标区域的宽度和高度,然后将检测目标区域集合os(m,n)传输给对应的cpu,k=0,1,2,…,bb表示检测目标区域总数量。

可选地,利用子cpu完成指定ai预测推断任务的步骤包括:子cpu首先执行预先训练好的卷积神经网络,卷积神经网络的输入为当前的子图i(m,n)、输出为子图i(m,n)对应的检测目标区域集合os(m,n),且函数表达式为:

os(m,n)={(xrect(m,n,k),yrect(m,n,k),wrect(m,n,k),hrect(m,n,k)},

上式中,(xrect(m,n,k),yrect(m,n,k))为第k个检测目标区域左上角的像素坐标,(wrect(m,n,k),hrect(m,n,k))为第k个检测目标区域的宽度和高度,k=0,1,2,…,bb表示检测目标区域总数量。

可选地,所述利用子cpu完成子图的拼接存储任务包括:

子cpu根据下式确定子图i(m,n)左上角位置在病理切片中的绝对像素坐标位置;

posx(m,n)=n×img_width-∑n-1j=1wm,j

posy(m,n)=n×img_height-∑n-1j=1wi,n

上式中,posx(m,n)和posy(m,n)分别为子图i(m,n)左上角位置在病理切片中的绝对像素坐标位置,img_width表示病理切片的宽度,img_height表示病理切片的高度,wm,j表示病理切片的左右相邻两张子图的重叠像素值,wi,n表示病理切片的上下相邻两张子图的重叠像素值,i=1,2,…,rows-1,j=1,2,…,columns-1,rows为病理切片的子图行数,columns为病理切片的子图列数;

子cpu将收到的检测目标区域集合os(m,n)的检测目标区域左上角的像素坐标映射为病理切片的绝对像素坐标位置,得到应的矩形框坐标集合os_abs(m,n),且函数表达式为:

os_abs(m,n)={(xrect(m,n,k)+posx(m,n),yrect(m,n,k)+posy(m,n),wrect(m,n,k),hrect(m,n,k))},

上式中,posx(m,n)和posy(m,n)分别为子图i(m,n)左上角位置在病理切片中的绝对像素坐标位置,k为检测目标区域的序号,k=0,1,2,…,bb表示检测目标区域总数量;

子cpu将收到的所有子图i(m,n)进行拼接并合并重叠区域,并将拼接结果以及ai预测推断任务执行结果存放在该子cpu一一对应的外部驱动器上,并将拼接结果以及ai预测推断任务执行结果存放的文件索引发送到主cpu以通过主cpu提供外部访问服务。

可选地,所述将病理切片的切片全景图信息和指定ai预测推断任务执行结果存储到主cpu维护的文件列表以备读取之后还包括主cpu响应外部访问服务的步骤:主cpu将收到的文件索引维护更新一个数据文件列表,当主cpu收到外部访问者的访问请求时将数据文件列表发送给外部访问者,且主cpu在收到外部访问者请求指定的文件索引时将访问请求转发给对应的子cpu,并通过该子cpu从其对应的外部驱动器上读取对应的拼接结果以及ai预测推断任务执行结果并返回给外部访问者。

此外,本发明还提供一种用于应用所述可扩展异构边缘计算架构的病理分析方法的病理分析装置,包括扫描相机单元、fpga、gpu单元、子cpu单元、主cpu、预览相机、网络模块以及存储单元,所述扫描相机单元包括n路扫描相机,所述gpu单元包括k个gpu,所述子cpu单元包括m个子cpu,所述fpga通过pcie总线分别与扫描相机、gpu、子cpu以及主cpu相连,所述主cpu分别与预览相机、网络模块相连,所述存储单元包括m+1个外部存储器,其中m个外部存储器与子cpu一一对应连接,剩余的1个外部存储器和主cpu对应连接。

此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述可扩展异构边缘计算架构的病理分析方法的计算机程序。

和现有技术相比,本发明具有下述优点:

1、本发明能够协同多个cpu、gpu和fpga等处理器,形成可扩展的多处理器异构边缘计算平台,利用fpga的并行和流水特性完成一路或者多路图像数据的并行流水采集,并传输给cpu和gpu,利用cpu的强大调度特性和复杂任务处理能力,完成子图的拼接存储任务,并辅助完成子图的指定ai预测推断任务,利用gpu的粗粒度并行处理和批量处理能力,完成子图的指定ai预测推断任务,可实现cpu、gpu和fpga协同完成病理切片扫描和智能辅助诊断整体处理过程,采用fpga、cpu、gpu多个异构平台协调合作,充分发挥各个硬件平台特性,采用流水化、异步并行的工作方式,实现单片或者多片病理ai辅助诊断的扫描系统全天候流水化工作方式,提高工作效率。

2.本发明从实际要求出发,根据ai辅助诊断当中的问题难易程度,结合先验获取的gpu预测推断时间以及cpu完成的数字病理切片全景图拼接、存储等操作的时间,可以进一步在资源定制化平台上继续扩展相关的gpu和cpu资源数,根据辅助诊断任务的不同,扩展或者减少相关的gpu和cpu资源数,完成对成本和资源的高效控制,达到最优化平衡。

3.本发明采用自动调度的工作方式,完成不同cpu、gpu之间的资源和工作分配,是多个cpu和gpu平台处于负荷饱满的工作形式,根据辅助诊断任务的不同,动态分配相关资源,并统筹优化,选择最优的异构平台工作方式。

附图说明

图1为本发明实施例方法的基本流程图。

图2为本发明实施例中子图划分的原理示意图。

图3为本发明实施例中主cpu响应外部访问服务的流程图。

图4为本发明实施例中病理分析装置的结构示意图。

具体实施方式

如图1所示,本实施例可扩展异构边缘计算架构的病理分析方法包括:

主cpu获取病理切片的整体轮廓信息并进行子图划分;

主cpu进行子cpu资源和gpu资源的动态调度,分配子图的处理任务给调度的子cpu和gpu;

利用fpga的并行和流水特性完成子图图像数据的并行流水采集,并传输给分配的子cpu和gpu;

利用gpu或子cpu完成子图的指定ai预测推断任务;

利用子cpu完成子图的拼接存储任务;

主cpu完成所有子图处理结果的信息整合,将病理切片的切片全景图信息和指定ai预测推断任务执行结果存储到主cpu维护的文件列表以备读取。

如图2所示,本实施例中主cpu获取病理切片的整体轮廓信息并进行子图划分包括:获取病理切片的整体轮廓信息,根据病理切片的整体轮廓信息得到进行子图划分的子图的行数rows和列数columns,从而将病理切片进行子图划分,得到任意第mn列的子图i(m,n),其中m取值范围为1~行数rows,n取值范围为1~columns。本实施例中,每一张子图,扫描相机采集得到的每一张子图的高宽分别表示为img_heightimg_width

本实施例中,主cpu进行子cpu资源和gpu资源的动态调度的步骤包括:

主cpu计算第一系数rt1,所述第一系数rt1为单个gpu对一张子图进行ai预测推断从输入到输出的完整处理过程的平均时间tgpu除以一张子图采集处理从输入到输出的完整处理过程的平均时间tcpu1得到的结果;

主cpu根据第一系数rt1执行子cpu资源和gpu资源的动态调度:

rt1≤1时说明只需要一个gpu的资源,就能在一个子cpu完成数字病理切片图像拼接、存储的同时就能完成ai对病理图像进行检测识别等推断任务。因此本实施例中,若满足rt1≤1,则为每一个执行子图的拼接存储任务的子cpu分配一个gpu执行子图的指定ai预测推断任务;

当1<rt1<2时需要进一步确认第二系数rt2的大小动态调用当前进行子cpu资源同时辅助完成基于cpu的ai预测推断过程,以动态适配空闲资源,其中第二系数rt2为cpu对一张子图进行ai预测推断从输入到输出的完整处理过程的平均时间tcpu2除以一张子图采集处理从输入到输出的完整处理过程的平均时间tcpu1得到的结果。因此本实施例中,若满足1<rt1<2,则主cpu根据计算第二系数rt2;当满足rt2≤1时,为每一个执行子图的拼接存储任务的子cpu分配一个gpu和一个子cpu执行子图的指定ai预测推断任务,当满足rt2>1时,为每一个执行子图的拼接存储任务的子cpu分配两个gpu执行子图的指定ai预测推断任务;

rt1≥2时,需要采用两块gpu适配子cpu进行数字病理切片图像拼接、存储的时间,并且调用当前子cpu资源辅助完成基于cpu的ai预测推断过程,尽量达到在完成图像拼接、存储的同时,完成ai预测推断任务;因此本实施例中,若满足rt1≥2,则主cpu根据计算第二系数rt2,当满足rt2≤1时,为每一个执行子图的拼接存储任务的子cpu分配一个gpu和多个子cpu执行子图的指定ai预测推断任务,当满足rt2>1时,为每一个执行子图的拼接存储任务的子cpu分配两个gpu和一个或多个子cpu执行子图的指定ai预测推断任务;

根据子cpu资源和gpu资源的动态调度结果,主cpu从维护的子cpu负载调度集合cs中按照当前时刻t0使用率最低的原则选择所需的子cpu资源,从维护的gpu负载调度集合gs中按照当前时刻t0使用率最低的原则选择所需的子gpu资源。

本实施例中,主cpu分别维护一张m路子cpu负载调度集合cs和一张k路gpu负载调度集合gs,实时更新各路子cpu和各路gpu的使用率情况;按照使用率从低到高的顺序,在当下时刻t,m路子cpu和k路gpu各自进行排序,分别得到:

cs(t)={(cpu1(t),cr1(t)),(cpu2(t),cr2(t)),…,(cpum(t),crm(t))}

gs(t)={(gpu1(t),gr1(t)),(gpu2(t),gr2(t)),…,(gpuk(t),grk(t))}

上式中,cs(t)和gs(t)分别表示t时刻的m路子cpu负载调度集合cs和k路gpu负载调度集合gs,cpu1(t)~cpum(t)分别表示t时刻的m路子cpu的子cpu序号,cr1(t)~crm(t)分别表示t时刻的m路子cpu按照使用率从低到高排序的序号;gpu1(t)~gpuk(t)分别表示t时刻的k路gpu的gpu序号,gr1(t)~grk(t)分别表示t时刻的k路gpu按照使用率从低到高排序的序号。两个负载调度集合定时更新,实时反映各个子cpu和各路gpu的使用情况。

本实施例中,利用fpga的并行和流水特性完成子图图像数据的并行流水采集,并传输给分配的子cpu和gpu包括:

主cpu将选择的子cpu资源中使用率最低的子cpu,记选择的使用率最低的子cpu为cpu1(t0),通过cpu1(t0)确定待进行聚焦的位置点并传输给fpga;

fpga控制扫描相机的运动电机运动到相对应的位置点对每一个聚焦点完成聚焦任务,并将聚焦结果返回给cpu1(t0);

cpu1(t0)根据所有返回得到的聚焦位置完成该病理切片的聚焦映射面的拟合,从而得到待扫描切片的每一张子图对应的位置将这些位置发送给fpga;

fpga根据每一张子图对应的位置,控制扫描相机的x、y、z轴运动到对应位置,完成子图的图像数据采集,并通过基于pcie传输协议将fpga映射为虚拟内存或现存空间,通过dma数据传输技术将采集得到的子图的图像数据传输给分配的子cpu和gpu。

本实施例中,利用gpu完成子图的指定ai预测推断任务的步骤包括:gpu首先执行预先训练好的卷积神经网络,卷积神经网络的输入为当前的子图i(m,n)、输出为子图i(m,n)对应的检测目标区域集合os(m,n),且函数表达式为:

os(m,n)={(xrect(m,n,k),yrect(m,n,k),wrect(m,n,k),hrect(m,n,k))},

上式中,(xrect(m,n,k),yrect(m,n,k))为第k个检测目标区域左上角的像素坐标,(wrect(m,n,k),hrect(m,n,k))为第k个检测目标区域的宽度和高度,然后将检测目标区域集合os(m,n)传输给对应的cpu,k=0,1,2,…,bb表示检测目标区域总数量。

本实施例中,利用子cpu完成指定ai预测推断任务的步骤包括:子cpu首先执行预先训练好的卷积神经网络,卷积神经网络的输入为当前的子图i(m,n)、输出为子图i(m,n)对应的检测目标区域集合os(m,n),且函数表达式为:

os(m,n)={(xrect(m,n,k),yrect(m,n,k),wrect(m,n,k),hrect(m,n,k)},

上式中,(xrect(m,n,k),yrect(m,n,k))为第k个检测目标区域左上角的像素坐标,(wrect(m,n,k),hrect(m,n,k))为第k个检测目标区域的宽度和高度,k=0,1,2,…,bb表示检测目标区域总数量。

需要说明的是,指定ai预测推断任务可以根据需要进行实际指定,例如数字病理图像的阳性病理区域或者阳性细胞的识别和检测等ai辅助病理诊断任务;作为一种可选的实施方式,本实施例中的指定ai预测推断任务为阳性细胞可疑区域检测任务,执行阳性细胞可疑区域检测任务时,输入是一张张子图,输出则是每一张子图当中的可以阳性细胞区域,每一个可疑阳性细胞区域分别用一个矩形框表示。需要说明的是,利用卷积神经网络来实现阳性细胞识别,以及利用cpu或者gpu来实现该卷积神经网络均为现有技术,本实施例中仅仅涉及对上述现有技术的应用、并不包含对上述现有技术的改进,故其具体实现在此不再展开说明。

本实施例中,利用子cpu完成子图的拼接存储任务包括:

子cpu根据下式确定子图i(m,n)左上角位置在病理切片中的绝对像素坐标位置;

posx(m,n)=n×img_width-∑n-1j=1wm,j

posy(m,n)=n×img_height-∑n-1j=1wi,n

上式中,posx(m,n)和posy(m,n)分别为子图i(m,n)左上角位置在病理切片中的绝对像素坐标位置,img_width表示病理切片的宽度,img_height表示病理切片的高度,wm,j表示病理切片的左右相邻两张子图的重叠像素值,wi,n表示病理切片的上下相邻两张子图的重叠像素值,i=1,2,…,rows-1,j=1,2,…,columns-1,rows为病理切片的子图行数,columns为病理切片的子图列数;将计算好的所有子图的左上角像素坐标值保存在子cpu的内存当中,用于后续与ai预测诊断的结果做位置映射;

子cpu将收到的检测目标区域集合os(m,n)的检测目标区域左上角的像素坐标映射为病理切片的绝对像素坐标位置,得到应的矩形框坐标集合os_abs(m,n),且函数表达式为:

os_abs(m,n)={(xrect(m,n,k)+posx(m,n),yrect(m,n,k)+posy(m,n),wrect(m,n,k),hrect(m,n,k))},

上式中,posx(m,n)和posy(m,n)分别为子图i(m,n)左上角位置在病理切片中的绝对像素坐标位置,k为检测目标区域的序号,k=0,1,2,…,bb表示检测目标区域总数量;

子cpu将收到的所有子图i(m,n)进行拼接并合并重叠区域,并将拼接结果以及ai预测推断任务执行结果存放在该子cpu一一对应的外部驱动器上,并将拼接结果以及ai预测推断任务执行结果存放的文件索引发送到主cpu以通过主cpu提供外部访问服务。

如图3所示,本实施例中将病理切片的切片全景图信息和指定ai预测推断任务执行结果存储到主cpu维护的文件列表以备读取之后还包括主cpu响应外部访问服务的步骤:主cpu将收到的文件索引维护更新一个数据文件列表,当主cpu收到外部访问者的访问请求时将数据文件列表发送给外部访问者,且主cpu在收到外部访问者请求指定的文件索引时将访问请求转发给对应的子cpu,并通过该子cpu从其对应的外部驱动器上读取对应的拼接结果以及ai预测推断任务执行结果并返回给外部访问者。外界通过千兆网访问主cpu所维持的文件列表,从而索引到相关子cpu,由子cpu从对应挂载的硬盘加载数据,然后通过pcie传输到主cpu当中进行缓存,由于pcie协议的传输速度远远高于千兆网,因此外界访问图像数据时,从子cpu传输到主cpu的时间可以忽略不计,从而完成外界对数据的实时访问。

综上所述,对于每一张病例切片,利用该异构边缘计算平台,fpga、不同的gpu、不同cpu之间都是异步处理的,当前的切片经主cpu调用预览相机拍摄获取当前切片整体轮廓之后,即可交付给后续调度好的子cpu和gpu进行相应的处理,而在当前切片进行后续的数字病理切片全景图拼接、存储和ai预测推断等任务时,主cpu可以异步继续调用预览相机拍摄获取下一张切片整体轮廓的信息,并继续动态调度其他空闲的子cpu和gpu完成后续相关的数字病理切片全景图拼接、存储和ai预测推断等任务;因此可以从实际的性能要求出发,扩展相应的cpu和gpu资源,即能保证单切片扫描系统的处理过程,也能让多切片扫描系统无间断流水化处理下去,从性能、功耗、成本多方面综合优化考虑,适配最优的方案,而且后续一旦需要对系统性能进行升级,直接扩展相应的cpu和gpu资源即可。

如图4所示,本实施例还提供一种用于应用前述可扩展异构边缘计算架构的病理分析方法的病理分析装置,包括扫描相机单元、fpga、gpu单元、子cpu单元、主cpu、预览相机、网络模块以及存储单元,扫描相机单元包括n路扫描相机(扫描相机1~扫描相机n),gpu单元包括k个gpu(gpu1~gpuk),子cpu单元包括m个子cpu(cpu1~cpum),fpga通过pcie总线分别与扫描相机、gpu、子cpu以及主cpu相连,主cpu分别与预览相机、网络模块相连,存储单元包括m+1个外部存储器(硬盘0~硬盘m),其中m个外部存储器(硬盘1~硬盘m),与子cpu一一对应连接,剩余的1个外部存储器(硬盘0)和主cpu对应连接。本实施例病理分析装置采用fpga采集n路(为保证扫描仪系统的系统结构不过于复杂,n一般不大于4)相机的图像数据,并通过n路pcie接口,利用dma(directmemoryaccess,直接内存访问)技术,将图像数据同时传输给k(根据系统计算要求进行扩展)路gpu和m(根据系统计算要求进行扩展)路子cpu进行,其中m路子cpu部分完成病理图像聚焦平面获取、拼接、存储等扫描仪系统传统操作,病理切片图像数据文件则直接存储当前子cpu对应挂载的硬盘当中,而k路gpu部分则进行数字病理图像的阳性病理区域或阳性细胞的分类识别或目标检测等ai任务,若m路子cpu的空闲时间过多,还可以进一步辅助完成基于cpu的ai检测识别等预测推断任务;主cpu则负责扫描系统当中的整体切片预览步骤,负责来自fpga的n路图像数据与m路子cpu和k路gpu的任务调度,并且通过千兆网接收系统外面的工作指令和数据传输。需要说明的是,图4所示的硬盘仅仅为外部存储器的一种示例,毫无疑问,在此技术启示下,本领域技术人员也可以根据需要选择所需的存储设备形式,在此不再赘述。作为一种极端的特殊情形,也可采用共享存储器或者存储集群的方式来袋体上述外部存储器。本发明根据异构平台的工作方式,基于pcie协议,采用多个cpu配备多个本地硬盘的工作方式,为满足对图像数据的统一访问,自定义文件服务器,外界只需要访问部署在主cpu当中的文件服务列表,即可对应访问相应子cpu当中对应存储的数字病理切片全景图数据,而不需要采用复杂的千兆网网络将所有子cpu全部连接到同一个的局域网当中,访问主cpu时,即可通过pcie将待访问的数据直接加载子cpu的图像数据,访问过程高效统一。此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述可扩展异构边缘计算架构的病理分析方法的计算机程序。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

再多了解一些
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1