具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本申请的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
相关技术的腹腔镜手术场景中,通常使用内窥镜来观察手术腔。目前,白光镜头是一种普遍使用的内窥镜,采用白色光源可以照亮腔内,从而便于医生观察组织以及器官的表面形态、颜色、血管等特征。然而,对于白光镜头而言,虽然采集到的腹腔镜图像可以还原组织器官的真实情况,但各个组织器官自身色彩差异度不大,导致腹腔镜图像中各个组织器官的细节清晰度不足,组织器官之间的区分不明显。例如,在白光镜头采集到腹腔镜图像中,组织器官表面的毛细血管和皮下微血管的边界较为模糊,肿瘤等病变组织与周围其他组织的区别也并不大。因此,基于白光镜头采集的腹腔镜图像进行检查诊断的过程,较为依赖医生自身的技术和经验,容易造成病变被漏诊或误诊。
相对于白光镜头,电子染色镜头是一种高级的内窥镜。在观察器官表面时,通过电子染色技术可以为观察视野中的特定组织渲染上特定颜色,能够展示出更多细节。但是,从白光镜头更换到电子染色镜头,需要更换配套的光源、镜头镀膜、光学传感器、内窥镜主机等设备,无法通过单独组件的更新实现内窥镜系统的升级,改造难度较大,给电子染色技术的推广带来障碍。
本申请实施例提供了一种图像电子染色方法、装置、介质和计算设备。本申请实施例中,获取待染色的腹腔镜图像,该腹腔镜图像可以是基于白光镜头采集的图像。可以理解的是,腹腔镜图像的视觉效果受限于手术的出血量以及出血位置等因素,而手术的出血量以及出血位置又由手术类型以及手术阶段决定,因而,还需要确定腹腔镜图像的特征信息,该特征信息至少包括腹腔镜图像所属的目标手术类型、腹腔镜图像所处的目标手术阶段。进而,采用与特征信息匹配的高斯背景,对腹腔镜图像进行滤镜处理得到电子染色图像,该高斯背景是基于目标手术类型和目标手术阶段确定的。
本申请实施例中,结合腹腔镜图像的特征信息自动执行适用于当前腹腔镜图像的滤镜处理,实现了对腹腔镜图像的电子染色处理,完成对腹腔镜图像中细节特征的视觉强化效果,有助于更精准地展示腹腔镜图像中组织、血管、病变部位等细节,降低病变被漏诊或误诊的概率,辅助提高腹腔镜手术的精确度和成功率。并且,通过上述实施例无需更新升级硬件即可实现对当前腹腔镜图像的电子染色,大大降低内窥镜设备的改造成本,有利于电子染色技术的推广应用。
一些实施方式中,图像电子染色装置是一个,也可以是多个。多个图像电子染色装置可以采用分布式部署,也可以采用集中式部署。在医疗场景下,图像电子染色装置与医疗设备相结合。例如,可以实现为部署在医疗设备中的一个模块,包括软件模块和/或硬件模块;也可以实现为与医疗设备相连的独立设备;还可以实现为接入医疗设备的软件服务,如云服务等,本申请实施例并不限定。
需要说明的是,本申请实施例涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例涉及的终端设备,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。例如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。例如,个人通信业务(Personal Communication Service,PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless Local Loop,WLL)站、个人数字助理(Personal DigitalAssistant,PDA)等设备。
需要说明的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和精神。
下面参考图1,图1为本申请一实施例提供的图像电子染色方法的流程示意图。需要注意的是,本申请的实施方式可以应用于适用腹腔镜的任何场景。
图1所示的本申请一实施例提供的图像电子染色方法的流程,包括:
步骤S101,获取待染色的腹腔镜图像。
本申请实施例中,待染色的腹腔镜图像包括但不限于:内窥镜设备采集到的图像。例如,可以是通过白光镜头采集的腹腔镜图像,也可以是通过其他设备采集的腹腔镜图像。上述实现方式与具体的应用场景相关,本申请实施例对此不做限定。
作为一个可选的实施例,待染色的腹腔镜图像可以是通过白光镜头采集的腹腔镜图像。具体来说,从白光镜头配套的内窥镜设备中获取腹腔镜图像,作为待染色的腹腔镜图像。例如,通过内窥镜设备的数据接口实时读取其采集到的腹腔镜图像,以便及时对待染色的腹腔镜图像作出后续电子染色处理,保证电子染色图像的实时性。上述数据接口比如可以是USB接口、专用数据接口、WiFi接口等。
举例来说,在内窥镜设备中,通过视频采集卡获取腹腔镜输入的视频流。具体地,调用视频采集卡驱动,获取当前刷新的视频帧对应内存区域中的索引地址(记为ptr),并读取ptr。进而,根据视频分辨率,比如宽度w、高度h、通道数量channel,以ptr为起始地址从内存区域中读取一维数组arr,该一维数组的长度为len。其中,len=w×h×channel。具体而言,假设彩色图像由红、绿、蓝三个颜色通道组成,即通道数量为3。假设每个颜色通道的像素值都采用0至255之间的整数表示。基于此,大小为(h,w)的彩色图像的每个像素值可表示为:张量(3,h,w)。
一般来说,视频延时低于10至20毫秒(ms)时,很难感知到视频延时。当延时处于50至100ms之间,部分人会感到视频存在明显的滞后感。当延时超过200ms,就会感到视频存在明显的延迟效果,此时视频观看效果会变得不自然、不舒适。基于上述原理,如果视频流要达到低延时的使用要求,那么,对于视频采集卡而言,每个视频帧从接收处理到显示的总时间不应超过20ms,较佳的,不应超过16ms。
通常,内存锁定,简称内存锁,是确保进程保留在主内存中并且不分页的一种方法。在实时环境中,需要保证将进程锁定在内存中,以减少数据访问、指令获取、进程间缓冲区传递等的延迟。故而,会在内存中锁定进程的地址空间,以确保程序响应时间满足实时性的要求。
本申请实施例中,进一步可选地,还会确定当前视频帧的刷新时间t1与当前时间t2的差值Δt,其中,Δt=t2-t1。进而,判断差值Δt是否超过预设差值阈值,可选地,差值阈值可以设置为16ms。若超过差值阈值,则即认为当前视频帧的处理流程出现异常,此情况下不使用当前视频帧,而选择跳入下一视频帧的处理流程,以避免程序或设备出现异常所带来的负面影响。若没有超过差值阈值,则在内存区域中复制当前视频帧,并同步变换上文介绍的一维数组arr的维度。从而,在不使用内存锁的情况下,同样可以剔除掉出现超时处理情况的视频帧,跳转至下一个视频帧的处理流程,以确保视频帧处理时段内的流畅度,将视频帧的数据锁定在内存区域中。
另一可选实施例中,待染色的腹腔镜图像也可以是由内窥镜设备采集并上传至云端的,以便后续调用统一的云服务执行电子染色处理,进一步降低电子染色技术的改造成本。这种处理方式适用于对实时性要求不高的应用场景中,例如,内窥镜检查之后的病例分析场景、医学研究的辅助场景等。
步骤S102,确定腹腔镜图像的特征信息。
由于不同类型的腹腔镜手术具有不同的手术方案,使得腹腔镜手术的出血量以及手术部位均存在差异。而出血量以及手术部位会影响腹腔镜图像的视觉效果,因而,本申请实施例中需要获取腹腔镜图像的特征信息,用以作为后续选取滤镜类型的判断依据,辅助确定腹腔镜图像中需要强化的细节特征。
值的说明的是,腹腔镜图像的特征信息,可以是与腹腔镜图像中需要强化的细节特征相关的信息。作为一个可选实施例,腹腔镜图像的特征信息至少包括:腹腔镜图像所属的目标手术类型、腹腔镜图像所处的目标手术阶段。可以理解的是,手术类型主要是指腹腔镜手术的类型。手术类型的设置与具体的应用场景相关,本申请实施例对此不做限定。
举例来说,根据手术部位划分,腹腔镜图像所属的手术类型包括但不限于:消化道手术、呼吸系统手术、腹膜腔手术、胆道手术、泌尿系统手术、妇科手术、关节手术。进一步地,腹腔镜图像所属的呼吸系统手术的类型,还可以进一步细分为:喉镜、纤维支气管镜、电子支气管镜。进一步地,除了治疗目的的手术之外,腹腔镜图像所属的手术类型还包括用于检测的手术。例如,腹腔镜图像所属的手术类型可以是用于检查消化道的手术,包括但不限于:食道镜、胃镜、十二指肠镜、小肠镜、结肠镜、乙状结肠镜、直肠镜。
本申请实施例中,作为一种可选实现方式,手术阶段基于手术类型预先设置。通常来说,不同类型手术,具有不同的手术方案,并且,不同手术方案使得手术会进入到不同的手术阶段,此处,手术阶段可以理解为在手术中因执行不同操作而进入的执行状态。以胆囊切除手术为例,手术阶段例如可以分为以下几个阶段:切断胆囊管、切除胆囊动脉、分离胆囊与肝脏、取出胆囊、切口缝合。可见,由于每个手术阶段的切口位置、出血量均有区别,为进一步提升图像电子染色效果,还可根据不同手术阶段动态调整图像处理参数,比如高斯滤波处理器的参数和加权系数。
基于上述原理可知,不同类型手术具有不同的手术方案,因而手术会进入不同的手术阶段。因而,本申请实施例中,为了提升特征信息的准确性,在一些可选实施例中,可以识别当前正在执行的手术类型,即目标手术类型。或者,另一可选实施例中,也可以基于外部指令确定目标手术类型。比如,手术前由用户通过选取当前需要执行的手术类型或其他方式来直接指示目标手术类型。从而,无论通过哪一种方式获取目标手术类型之后,都可以从目标手术类型的角度,进一步分析腹腔镜图像当前所处的手术阶段,即目标手术阶段。举例来说,参见图2所示,上述步骤S102可以由以下步骤S201~步骤S202替代:
步骤S201,识别所述腹腔镜图像所属的目标手术类型。
上述步骤S201的一个可选实施例中,在启动内窥镜设备之后,响应于用户在指定界面中触发的选取指令,以选取的腹腔镜手术类型作为腹腔镜图像所属的目标手术类型。比如,可以在指定界面中以菜单列表形式展示预先录入的多个腹腔镜手术类型,便于用户通过滑动菜单查看待选的腹腔镜手术类型,并从待选的腹腔镜手术类型中选取出目标手术类型。具体地,手术前启动设备时,可以从菜单列表中选择对应的手术类型,比如,即将要进行的手术是右肾切除手术,则选择菜单列表中相应的手术类型标签(label)。
另一可选实施例中,在启动内窥镜设备之后,也可以自动读取设备配置判断腹腔镜图像所属的目标手术类型。例如,在配置手术设备时,自动检测是否输入当前设备需要进行的手术类型,并以检测到的手术类型作为目标手术类型。或者,再一可选实施例中,还可根据预先输入的手术排期表,确定腹腔镜图像所属的目标手术类型。例如,在医疗机构的管理系统中预先输入各个科室的手术排期表,并基于手术排期表自动关联对应科室的设备以及使用时间。从而,在启动内窥镜设备之后,自动读取当前时段内安排的手术类型,并以此手术类型作为腹腔镜图像所属的目标手术类型。
值的说明的是,为保证目标手术类型的准确性,以确保后续腹腔镜图像处理效果的准确性,在识别出目标手术类型之后,均可提示用户当前的识别结果,并由用户对识别结果进行确认。
步骤S202,采用预设模型从所述目标手术类型对应的多个手术阶段中确定所述目标手术阶段。
本申请实施例中,预设模型主要用于预测腹腔镜图像所属的手术阶段。作为一个可选实施例,预设模型可以是分类深度神经网络(Surgical Phase AI Model,SPAM)模型。其中,SPAM中包括高斯卷积核。实际应用中,高斯卷积可应用于图像处理领域的各个方面,例如,边缘检测、图像平滑、图像增强。SPAM模型的训练方式参见下文实施例,此处暂不展开介绍。另一些实施例中,也可以采用其他神经网络模型作为预设模型,本申请并不限定。
作为一个可选实施例,上述采用预设模型从目标手术类型对应的多个手术阶段中确定目标手术阶段的步骤,可以实现为以下步骤S301~步骤S303:
步骤S301,将所述腹腔镜图像输入到GPU中;
步骤S302,调用预设模型对所述腹腔镜图像进行分类预测,得到分类概率集合;所述分类概率集合包括所述腹腔镜图像处于各个手术阶段的概率;
步骤S303,以概率最高的手术阶段作为所述目标手术阶段。
通过步骤S301至S303,一方面,腹腔镜图像在输入预设模型之前,先采用GPU进行预处理,替代了相关技术中采用CPU进行预处理的方式,有助于进一步减少CPU的计算开销,提高图像处理速度。另一方面,采用预设模型对腹腔镜图像所处的手术阶段进行预测,得到腹腔镜图像处于各个手术阶段的概率。由于腹腔镜手术处于某一手术阶段的概率越高,说明腹腔镜图像当前正处于这一手术阶段的可能性越高,因而,本实施例中以概率最高的手术阶段作为所述目标手术阶段。本实施例通过预设模型辅助实现对目标手术阶段的预测,进一步提高高斯背景的准确性,提升滤镜处理效果。
值得说明的是,本申请实施例中为进一步提高图像的电子染色效率,保证电子染色图像的实时性,可以采用多线程实现上文介绍的各个步骤。
具体来说,为了实现多线程的处理方式,需要创建用于承载不同线程处理数据的多个多维数组,进而,通过多个多维数组将待处理的腹腔镜图像以及相关数据分别输入至各个线程,执行相应步骤。
例如,基于腹腔镜图像创建多维数组。比如,创建两个多维数组,那么,可以用A1和A2表示,两个多维数组的大小均设置为(h,w,3)。作为一个可选实施例,多维数组的具体创建方法可以是,采用计算机内置的函数对原始数据进行升维。该方法的时间复杂度为O(n^k)。例如,假设需要创建多维数组的数量为两个,则创建两个多维数组的时间复杂度为2*(n^k)。为进一步节省计算时间,提升整体效率,可以选择在一次循环中对两个升维数组进行赋值,得到两个三维张量的多维数组A1和A2。具体步骤如下:
通过上述步骤得到的两个三维张量的多维数组A1和A2,分别多个线程中的传入参数,用以为各个线程的功能实现提供数据基础,从而通过多线程方式并行实现图像电子染色流程,缩短图像电子染色时间,提高图像电子染色效率。
基于上述多线程处理方式中的假设,创建线程ThreadA用于采用预设模型从目标手术类型对应的多个手术阶段中确定目标手术阶段的步骤。
具体来说,对于线程ThreadA,步骤S301中,将三维张量数组A1传入GPU,以降低CPU的计算开销,进一步提高图像处理速度。接着,步骤S302中,将三维张量数组A1再从GPU传入实时加载的预设模型进行分类预测,得到A1对应手术阶段的分类概率集合Ps。进而,步骤S303中,从A1对应手术阶段的分类概率集合Ps中,选取概率最高的元素的索引下标作为当前手术阶段所属的分类cls,以便后续步骤中采用手术类型标签(label)以及分类cls构建张量数组Ilabel,cls,k,作为高斯均值背景图像Ilabel,cls,k(即高斯背景)。其中,k∈[0,n),n为不同标准差σ的尺度数量。
步骤S103,采用与所述特征信息匹配的高斯背景,对所述腹腔镜图像进行滤镜处理,得到电子染色图像。
相关技术中,通过对每帧图像进行高斯滤波处理,可以获得均匀分布的背景特征信息,比如背景颜色、背景亮度等。然而,这种滤波处理会消耗大量计算资源,图像处理效率较低,影响图像处理操作的实时性。
本申请实施例中,采用与腹腔镜图像的特征信息匹配的高斯背景,执行对腹腔镜图像的高斯滤波处理。简单来说,本申请中采用与特征信息匹配的高斯背景,替代相关技术中实时计算得到的高斯背景,既可以通过高斯背景与特征信息的匹配关系,筛选出符合滤波处理效果所需的高斯背景图像,保证高斯滤波处理效果,又无需实时计算背景特征信息,有效缩短滤波处理所消耗的时间,减少因实时计算所消耗的计算资源,提高高斯滤波的处理效率。
可以理解的是,本申请涉及到的高斯背景,可以是基于临床手术视频图像经过预处理得到的。具体来说,以腹腔镜手术为例,腹腔镜手术的手术类型、手术切口位置等因素会直接影响出血量,因而,需要在图像电子染色的过程中,根据上述影响因素选择合适的滤镜处理方案。腹腔镜手术中,采用白光镜头采集的图像,如图4(1080p分辨率)以及图5(4K分辨率)所示。参见上图,可以看出,腹腔镜手术的手术类型、手术切口位置等因素会影响出血量。
实际应用中,手术切口位置与手术类型的关联性较大,例如,胆囊相关的血管系统较为简单,因此胆囊手术的出血量通常较小,切口面积也较小。而肝脏有着复杂的血管系统,因此肝脏手术的出血量相对较大,切口面积也先对较大。肾脏手术和前列腺手术由于身体结构的原因,需要完全剖开才能暴露手术视野,因而,出血量和切口面积都更大。因此,本申请实施例中,主要根据手术类型选择高斯滤波处理器的参数和加权系数,以保证腹腔镜图像所采用的染色滤镜,能体现出当前手术的出血量、出血位置等特征,提高图像染色的准确性。
作为一种可选实现方式,本申请实施例中,高斯背景基于所述目标手术类型和所述目标手术阶段确定。可选地,高斯背景基于各个手术类型的腹腔镜图像样本预先设置的。
作为一个可选实施例中,如图6所示,步骤S103中,采用与所述特征信息匹配的高斯背景,对所述腹腔镜图像进行滤镜处理,得到电子染色图像,可以实现为以下步骤S501~步骤S504:
步骤S501,获取与所述目标手术类型、所述目标手术阶段相匹配的高斯背景。
仍以上述多线程处理方式为例,在线程ThreadA中,采用手术类型标签(label)以及手术阶段分类cls,构建张量数组Ilabel,cls,k,作为高斯均值背景图像Ilabel,cls,k(即高斯背景)。其中,k∈[0,n),n为不同标准差σ的尺度数量。
步骤S502,对所述腹腔镜图像进行对数变换处理,以分解得到多个尺度下的第一中间图像。
可选地,步骤S502之前,本申请实施例中,还会将所述腹腔镜图像从初始的低精度格式转换至与GPU设备参数匹配的高精度格式。从而,便于在GPU中完成腹腔镜图像的预处理,以减轻CPU的负担,节省CPU的计算资源,提升图像处理效率。
仍以上述多线程处理方式为例,在S502之前,还需要将高斯均值背景图像Ilabel,cls,k从一个线程传入另一线程(如从ThreadA传输至ThreadB)中执行后续步骤。这样,两个线程可以分别不同的图像处理阶段,提高图像电子染色处理的整体效率。例如,在ThreadB中,步骤S502可以实现为如下过程:
高斯均值背景图像Ilabel,cls,k从内存传输至GPU进行处理和转换,得到张量数组gk。从而,通过在GPU上对张量数组gk进行预处理,以减少CPU的负担,提升处理效率,节省CPU的计算资源。
通常,在图像处理流程中,为了便于计算,会对RGB通道内的各个元素进行归一化处理,例如,分别对RGB通道中的元素进行除以255等数学运算,将元素所属类型从8位整型转换为64位浮点数。本申请实施例中,为进一步节省计算资源,归一化处理可以采用对数运算替代。相对于相关技术中除法运算需要调用多种计算组合实现,本申请所使用的对数运算可以调用相应的计算模块直接实现,因而,对数运算所消耗的计算资源更少,有利于提升计算效率,节省计算资源。具体计算过程如下:
首先,将张量数组gk的数据类型定义从8位转换为半精度16位浮点数。然后,由于在对数处理时log函数的定义域不包括0,因而,需要对张量数组gk中的各个元素的像素值进行平移,以避免出现log(0)的情况。具体地,需要给张量数组gk中的每个元素加上预设数值(比如1),并对每个元素与预设数值之和进行对数运算得到第一中间图像blur(gk),即:
blur(gk)=log(gk+1)
通过上述步骤,将高斯均值背景图像Ilabel,cls,k进行多尺度分解处理以及增强处理,并将处理结果作为第一中间图像blurk,用于后续的图像电子染色处理。
步骤S503,将所述多个尺度下的第一中间图像与所述高斯背景的差值进行累加计算,并采用所述腹腔镜图像的尺寸格式对累加计算结果进行处理,得到第二中间图像。
仍以上述多线程处理方式为例,在ThreadB中,为了抑制腹腔镜图像中的高频分量,同时保存腹腔镜图像中的低频分量,以便消除腹腔镜图像中的噪声(比如腹腔镜图像中的随机噪声),从而基于降噪后的腹腔镜图像,增强腹腔镜图像的对比度和亮度。具体实施方式可以是,计算所有尺度下第一中间图像blurk的全通道累加之后除以σ数量得到的均值,具体公式如下:
其中,f是原始腹腔镜图像,第一中间图像blur可以是由n个不同尺度的高斯滤波器输出的,n为同一标准差下图像的尺度数量。
对于每个尺度i,对f进行对数变换处理,减去高斯均值背景图像后对计算结果进行累加,最后将计算结果除以尺度数量n,得到此处输出的腹腔镜图像,并将这一腹腔镜图像保存至变量res即第二中间图像。第二中间图像例如参见图7(4K分辨率)以及图8(1080p分辨率)。
步骤S504,将所述第二中间图像采用预设方式进行反归一化处理,得到所述电子染色图像。
与上文中使用对数计算替换相关技术中的反归一化操作的处理相对应地,在一可选实施例中,采用设备外部参数对所述第二中间图像进行线性变换处理。进一步可选地,线性变化处理可以是:将所述第二中间图像与对比度调整系数相乘,并以乘积与亮度调整系数之和,作为线性变化处理结果。其中,对比度调整系数用于调整腹腔镜染色图像的对比度,亮度调整系数用于调整腹腔镜图像的亮度。进而,以预先设置的数值范围对线性变换处理结果进行数值转换处理,得到所述电子染色图像。
举例来说,采用以下公式对所述第二中间图像res进行线性变换处理,并采用预设数值范围对线性变化结果进行数值转换处理,得到所述电子染色图像output,即
output=min(max(α×res+β,0),n)
其中,n为同一标准差下图像的尺度数量,α(即对比度调整系数)和β(即亮度调整系数)为预设的设备外部参数,调整α可以调整输出的腹腔镜染色图像的对比度。α和β作为设备的外部输入参数,输入范围皆为0至255。在一可选实施例中,上述两个外部输入参数的外部显示可以采用液晶屏或OLED屏幕所显示的交互控件,并通过软件或硬件方式操作交互控件,调节上述外部输入参数。例如,通过设备键盘或者软键盘,直接输入外部输入参数的具体数值。当然,另一可选实施例中,上述两个外部输入参数也可以采用软开关进行调节,例如,通过触控屏中的滑动条控制两个外部输入参数。此外,在其他可选实施例中,还可以采用机械装置(例如滑块、旋转齿轮、拉杆等装置)来控制上述外部输入参数。
仍以上述多线程处理方式为例,在ThreadB中,假设n为255,那么上述电子染色图像可以表示为:
output=min(max(α×res+β,0),255)
即,先将输入张量res乘以一个系数α(即对比度调整系数),再加上一个偏移量β(即亮度调整系数),得到一个线性变换后的张量。进而,将线性变换后的张量中小于0的元素转换为0,将大于255的元素转换为255,处于0至255之间的元素保留,从而使得张量限制在0到255的范围内,得到限制范围后的张量output,完成反归一化操作。
可选地,在S103之后,为了提高电子染色图像的展示效率,进一步保证电子染色图像的实时性,本申请实施例中,将所述电子染色图像通过克隆技术传输至GPU的缓存空间中,以使GPU实时渲染展示所述电子染色图像。
继续以上述多线程处理方式为例,除了前文介绍的两个独立线程之外,还可以创建另一独立线程,记为ThreadC,线程ThreadC可以用于实时显示经过图像电子染色处理后的腹腔镜图像(即电子染色图像)。
具体而言,在线程ThreadC中,创建一个缓存变量cache,cache的张量大小与ThreadB中output的张量大小一致。同时,还运行一个无限循环体。在无限循环体中,将output的变量数据(即电子染色图像)克隆到cache中,从而获取到图像电子染色处理完的实时图像,并通过cache实时显示到设备中。
值得注意的是,对cache的实时显示速度设置在1毫秒以内,远远低于图像电子染色处理的速度,并且,变量数据采用克隆技术复制到独立线程所管理的变量中,因而,即使前文所述的res变量内的图像数据发生改变,也不会影响当前正在渲染的电子染色图像,保证了图像显示的稳定性。在无需加锁的形式下,即可进行电子染色图像的数据处理,有效避免图像失真,同时还有助于实现图像的高速显示。
经过上述步骤,每帧图像的图像电子染色处理速度得到较大提升。例如,在i7 CPU和3060GPU环境下,对于每一帧1080p分辨率图像进行图像电子染色处理的时间,可以从未经多线程处理时需要花费2秒降低至经由多线程处理时仅需花费4到7毫秒。对于每一帧分辨率为4k的图像进行图像染色处理的时间,可以从未经多线程处理时需要花费的6秒减低至经由多线程处理时仅需花费5到8毫秒,显示控制在2毫秒以内,有效提升图像染色处理速度500-1000倍以上,并可以适配所有的内窥镜设备和具备GPU算力的任何硬件设备。最终,输出的电子染色图像的效果如图9(1080p分辨率)以及图10所示(4K分辨率)。
本申请实施例,结合腹腔镜图像的特征信息自动执行适用于当前腹腔镜图像的滤镜处理,实现了对腹腔镜图像的电子染色处理,完成对腹腔镜图像中细节特征的视觉强化效果,有助于更精准地展示腹腔镜图像中组织、血管、病变部位等细节,降低病变被漏诊或误诊的概率,辅助提高腹腔镜手术的精确度和成功率。此外,通过本申请实施例能够直接将待染色的腹腔镜图像处理为电子染色图像,无需更新升级硬件即可实现对当前腹腔镜图像的电子染色,大大降低内窥镜设备的改造成本,有利于电子染色技术的推广应用。
在上述或下述实施例中,本申请实施例中,在S203之前,还会基于不同手术类型的各个手术阶段对高斯背景进行预处理。
具体来说,首先,获取腹腔镜视频。
可选地,在分类存储之前,腹腔镜视频还可以先经过脱敏处理,以避免患者隐私泄露,保证患者数据的隐私性。
获取到腹腔镜视频之后,将腹腔镜视频按照手术类型分类,分别存储到不同文件夹中,其中文件夹以各自存储的腹腔镜视频的分类标志命名。文件夹名称例如记为labeli,其中,i∈[0,n),n为需要处理的手术类型的数量。读取腹腔镜视频的所有文件夹labeli,按照尾插入顺序,添加到数组labels中,得到数组labels=[label0,label1,...,labeln-1]。
介绍后续步骤之前,先介绍与后续步骤相关的高斯核函数。相关技术中,常用的高斯核函数可以采用下述公式表示:
其中,x和y表示高斯核中心点的坐标,σ表示标准差,G(x,y)表示高斯滤波器在位置(x,y)的权重系数,即表示对应像素点的权值。G(x,y)的大小受σ值的影响,当σ值较大时,G(x,y)的值趋近于0,表示该像素点对应的权值较小,而当σ值较小时,G(x,y)的值趋近于1,表示该像素点对应的权值较大。2πσ2是一个归一化系数,用于确保高斯函数的积分结果为1。
本申请中,为了简化高斯函数的计算流程,对上述高斯核函数进行改进,得到以下公式:
其中,G(σ)为重新自定义的高斯核,高斯核内容只与输入的标准差σ有关。
进而,通过AI模型处理腹腔镜视频,以得到各个手术类型以及各个手术阶段匹配的高斯背景。
在实际应用中,高斯卷积通常被用于图像处理的各个方面,例如边缘检测、图像平滑、图像增强等。
本申请实施例中,以前文介绍的SPAM模型为例,加载已经训练完成的SPAM模型,将图像输入到SPAM模型中,得到图像属于各个手术阶段下的分类概率数组Ps=[p0,p1,...,pn-1](与前文介绍的分类概率集合类似,此处不再展开)。其中,n为当前手术类型label所对应的手术阶段的总数,p为属于各个手术阶段的分类概率。
基于上述原理,遍历存储有腹腔镜视频的所有文件夹labels,得到待处理手术类型对应的labeli。进而,再遍历该文件夹下所有腹腔镜视频v,尾插入数组Vs,得到Vs=[v0,v1,...,vn-1]。播放腹腔镜视频v,并处理腹腔镜视频中的图像img,加载SPAM模型对图像img进行分类预测,得到该视频v中当前图像img在各个手术阶段下的概率Ps。进而,以Ps中概率最高的元素的索引下标,作为当前图像img所属手术阶段的分类标识cls。
接着,对图像img使用自定义高斯卷积和高斯核函数G(σ),按照下述公式进行卷积操作,得到卷积后的腹腔镜图像I:
其中,I(x,y):表示卷积后的结果,即卷积后在位置(x,y)的像素值。G(σ)的具体取值根据问题不同而不同,通常是根据高斯分布函数构造的高斯卷积核。G(σ)i,j,用于表示卷积核在位置(i,j)的值,即卷积核在第i行、第j列的值。img{x-i,y-j},用于表示在位置(x-i,y-j)的像素值,即原始图片在第x-i行、第y-j列的像素值。G(σ),用于表示卷积核,通常是一个小的矩阵或数组,用于进行卷积运算。σ,用于表示高斯分布的标准差,用于构造高斯卷积核G(σ)。
最后,通过AI模型处理腹腔镜视频得到高斯背景之后,获取不同手术类型下各个手术阶段的高斯均值背景。
对于SPAM模型预测出的各个手术阶段分类cls,各个手术阶段分类cls下的所有高斯背景图像进行平均处理,得到腹腔镜视频中每个手术阶段cls对应的高斯均值背景图像具体过程如下:
其中,即为所有高斯背景图像中所有像素的平均值。W和H分别表示图片的宽度和高度,N表示图片的像素总数。I(x,y)表示在位置(x,y)的像素值。对所有像素值进行求和,然后除以像素总数N,即可得到单个视频每个手术阶段的平均图像Ilabel,cls。
进而,遍历所有手术类型文件夹labels中的所有视频,重复上述步骤,即可得到每种手术类型label对应的所有手术阶段对应cls对应的均值图像Ilabel,cls。
重复上述步骤n次,并根据经验使用不同的σ,则可以得到不同尺度下的高斯均值背景图像Ilabel,cls,k,其中,label为当前手术类型,cls为当前手术阶段,k为当前背景不同σ下产生的不同高斯背景,并将其预存储至内存和硬盘。最终,处理后的高斯均值背景效果图如图11(1080p分辨率)以及图12所示(4K分辨率)。
本实施例中,通过上述步骤可以为各个手术类型下的各个手术阶段预先匹配高斯背景,从而,采用与特征信息匹配的高斯背景,替代相关技术中实时计算得到的高斯背景,既可以通过高斯背景与特征信息的匹配关系,筛选出符合滤波处理效果所需的高斯背景图像,保证高斯滤波处理效果,又无需实时计算高斯背景,有效缩短滤波处理所消耗的时间,减少因实时计算所消耗的计算资源,提高高斯滤波的处理效率。
在介绍了本申请示例性实施方式的方法之后,接下来,参考图13对本申请示例性实施方式的一种图像电子染色装置进行说明,该装置包括:
获取单元901,用于获取待染色的腹腔镜图像;
特征确定单元902,用于确定所述腹腔镜图像的特征信息;其中,所述特征信息至少包括所述腹腔镜图像所属的目标手术类型、所述腹腔镜图像所处的目标手术阶段;
滤镜处理单元903,用于采用与所述特征信息匹配的高斯背景,对所述腹腔镜图像进行滤镜处理,得到电子染色图像;其中,所述高斯背景基于所述目标手术类型和所述目标手术阶段确定。
作为一种可选的实施方式,所述特征确定单元902确定所述腹腔镜图像的特征信息时,被配置为:
识别所述腹腔镜图像所属的目标手术类型;
采用预设模型从所述目标手术类型对应的多个手术阶段中确定所述目标手术阶段。
作为一种可选的实施方式,所述特征确定单元902采用预设模型从所述目标手术类型对应的多个手术阶段中确定所述目标手术阶段时,被配置为:
将所述腹腔镜图像输入到GPU中;
调用预设模型对所述腹腔镜图像进行分类预测,得到分类概率集合;所述分类概率集合包括所述腹腔镜图像处于各个手术阶段的概率;
以概率最高的手术阶段作为所述目标手术阶段。
作为一种可选的实施方式,所述滤镜处理单元903采用与所述特征信息匹配的高斯背景,对所述腹腔镜图像进行滤镜处理时,被配置为:
获取与所述目标手术类型、所述目标手术阶段相匹配的高斯背景;
对所述腹腔镜图像进行对数变换处理,以分解得到多个尺度下的第一中间图像;
将所述多个尺度下的第一中间图像与所述高斯背景的差值进行累加计算,并采用所述腹腔镜图像的尺寸格式对累加计算结果进行处理,得到第二中间图像;
将所述第二中间图像采用预设方式进行反归一化处理,得到所述电子染色图像。
作为一种可选的实施方式,所述滤镜处理单元903将所述第二中间图像采用预设方式进行反归一化处理,得到所述电子染色图像时,被配置为:
采用设备外部参数对所述第二中间图像进行线性变换处理;
以预先设置的数值范围对线性变换处理结果进行数值转换处理,得到所述电子染色图像。
作为一种可选的实施方式,所述滤镜处理单元903采用设备外部参数对所述第二中间图像进行线性变换处理时,被配置为:
将所述第二中间图像与对比度调整系数相乘,并以乘积与亮度调整系数之和,作为线性变化处理结果;
其中,对比度调整系数用于调整腹腔镜染色图像的对比度,亮度调整系数用于调整腹腔镜图像的亮度。
作为一种可选的实施方式,所述滤镜处理单元903还被配置为:
对所述腹腔镜图像进行对数变换处理,以分解得到多个尺度下的第一中间图像之前,将所述腹腔镜图像从初始的低精度格式转换至与GPU设备参数匹配的高精度格式。
作为一种可选的实施方式,所述装置还包括克隆单元,被配置为:
将所述电子染色图像通过克隆技术传输至GPU的缓存空间中,以使GPU实时渲染展示所述电子染色图像。
本申请实施例中,通过图像电子染色装置,结合腹腔镜图像的特征信息自动执行适用于当前腹腔镜图像的滤镜处理,实现了对腹腔镜图像的电子染色处理,完成对腹腔镜图像中细节特征的视觉强化效果,有助于更精准地展示腹腔镜图像中组织、血管、病变部位等细节,降低病变被漏诊或误诊的概率,辅助提高腹腔镜手术的精确度和成功率。并且,使用图像电子染色装置,无需更新升级硬,件即可实现对当前腹腔镜图像的电子染色,大大降低内窥镜设备的改造成本,有利于电子染色技术的推广应用。
在介绍了本申请示例性实施方式的方法和装置之后,接下来,参考图14对本申请示例性实施方式的计算机可读存储介质进行说明,请参考图14,其示出的计算机可读存储介质为光盘80,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,获取待染色的腹腔镜图像;确定腹腔镜图像的特征信息;其中,特征信息至少包括腹腔镜图像所属的目标手术类型、腹腔镜图像所处的目标手术阶段;采用与所述特征信息匹配的高斯背景,对腹腔镜图像进行滤镜处理,得到电子染色图像;其中,高斯背景基于目标手术类型和目标手术阶段确定;各步骤的具体实现方式在此不再重复说明。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
在介绍了本申请示例性实施方式的方法、介质和装置之后,接下来,参考图15对本申请示例性实施方式的用于图像电子染色的计算设备。
图15示出了适于用来实现本申请实施方式的示例性计算设备110的框图,该计算设备110可以是计算机系统或服务器。图15显示的计算设备110仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图15所示,计算设备110的组件可以包括但不限于:一个或者多个处理器或者处理单元1101,系统存储器1102,连接不同系统组件(包括系统存储器1102和处理单元1101)的总线1103。
计算设备110典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备110访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器1102可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)11021和/或高速缓存存储器11022。计算设备110可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,ROM11023可以用于读写不可移动的、非易失性磁介质(图15中未显示,通常称为“硬盘驱动器”)。尽管未在图15中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1103相连。系统存储器1102中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块11024的程序/实用工具11025,可以存储在例如系统存储器1102中,且这样的程序模块11024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块11024通常执行本申请所描述的实施例中的功能和/或方法。
计算设备110也可以与一个或多个外部设备1104(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口1105进行。并且,计算设备110还可以通过网络适配器1106与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图15所示,网络适配器1106通过总线1103与计算设备110的其它模块(如处理单元1101等)通信。应当明白,尽管图15中未示出,可以结合计算设备110使用其它硬件和/或软件模块。
处理单元1101通过运行存储在系统存储器1102中的程序,从而执行各种功能应用以及数据处理,例如,获取待染色的腹腔镜图像;确定腹腔镜图像的特征信息;其中,特征信息至少包括腹腔镜图像所属的目标手术类型、腹腔镜图像所处的目标手术阶段;采用与所述特征信息匹配的高斯背景,对腹腔镜图像进行滤镜处理,得到电子染色图像;其中,高斯背景基于目标手术类型和目标手术阶段确定。各步骤的具体实现方式在此不再重复说明。应当注意,尽管在上文详细描述中提及了图像电子染色装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。