CN112686901B - 基于深度神经网络的us-ct图像分割方法及装置 - Google Patents
基于深度神经网络的us-ct图像分割方法及装置 Download PDFInfo
- Publication number
- CN112686901B CN112686901B CN202110265875.4A CN202110265875A CN112686901B CN 112686901 B CN112686901 B CN 112686901B CN 202110265875 A CN202110265875 A CN 202110265875A CN 112686901 B CN112686901 B CN 112686901B
- Authority
- CN
- China
- Prior art keywords
- register
- img
- data
- raw
- reasoning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本申请提供了一种基于深度神经网络的US‑CT图像分割方法及装置,方法包括:从获取的视频流数据中抽取一帧图像数据进行预处理后存入raw_img寄存器中;从raw_img寄存器中获取存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果;对所述推理结果进行后处理后显示输出。本申请实现了一个小型、灵活、可扩展的深度学习推理框架,该框架支持任意类型的模型,任意结构的模型,可以完成分类、检测和分割任务,可以在本机或者在服务器上推理,可以推理图片、视频文件、网络视频或摄像头。
Description
技术领域
本申请属于深度学习技术领域,具体地讲,涉及一种基于深度神经网络的US-CT图像分割方法及装置。
背景技术
科研机构的研究人员对深度学习图像算法的优化与创新已经取得了十分令人瞩目的成绩。例如,Auto-DeepLab中,研究人员利用神经结构搜索方法和多尺度的空洞卷积,将语义分割成绩提高到新的水平。EfficientDet中,研究人员通过格子搜索的方法,找到了不同量级模型的分辨率、通道数和深度的最优匹配,将目标检测成绩和推理阶段的计算效率提高到新的水平。YOLOv4中,研究人员对现有的大多数先进方法进行实验,提高目标检测成绩的同时,训练难度大大降低,将推理阶段的计算效率提高到新的水平。
然而,前沿算法的实际应用仍然是十分具有挑战性的工作,原因有三。第一,深度学习技术往往需要较大的硬件开销,推理速度慢,给实际应用带来困难。第二,实验室场景过于简单理想化,不符合实际应用场景。第三,实际应用场景复杂多变,给实际开发带来困难。
针对这些问题,Nvidia公司提出并实现了自己的解决方案——DeepStream,如图1所示。DeepStream提供了视频流推理的解决方案,采集器(摄像头、网络或本地视频文件)将像素级的视频流数据传送给解码模块,解码后的数据经过CUDA预处理,TensorRT推理后重新编码,将推理结果和原始图像进行融合,发送给显示设备显示最终结果。
Google公司提出并实现了自己的解决方案——TensorFlowLite,如图2所示。TensorFlowLite是一种用于设备端(如手机)推断的开源深度学习框架,其主要工作流程包括4步:①选择新模型或重新训练现有模型。②使用TensorFlowLiteConverter将TensorFlow模型转换为压缩平面缓冲区。③获取压缩的.tflite文件,并将其加载到移动设备或嵌入式设备中。④通过将 32 位浮点数转换为更高效的 8 位整数进行量化,或者在GPU 上运行。
Nvidia的DeepStream完善了其GPU产品的生态圈,其样例也展示了很好的效果。但是其提供的样例模型种类十分稀少且模型结构固定,其底层代码不开源且难以修改,用户社区并不活跃,以上问题极大提高了DeepStream二次开发的成本。Google的TensorFlowLite完善了其TensorFlow的生态圈,加上Google本身是安卓的设计者,其安卓手机端的推理框架毋庸置疑。但是,它只支持自家的TensorFlow模型,不能支持现在最热门的Torch模型,TensorFlow的版本兼容性十分不友好,在训练和转换模型过程中会出现各种错误。最后,TensorFlowLite官方示例固定单一,需要JAVA团队开发新的APP。以上便是TensorFlowLite存在的问题。
目前需要一个小型、灵活、可扩展的深度学习推理框架,该框架支持任意类型的模型(pth,tflite,ckpt,h5),任意结构的模型(VGG,ResNet,DenseNet),可以完成分类、检测和分割任务,可以在本机或者在服务器上推理,可以推理图片、视频文件、网络视频或摄像头。
发明内容
本申请提供了一种基于深度神经网络的US-CT图像分割方法及装置,以至少解决现有的深度学习推理框架体型较大且不易灵活扩展的问题。
根据本申请的一个方面,提供了一种基于深度神经网络的US-CT图像分割方法,包括:
从获取的视频流数据中抽取一帧图像数据进行预处理后存入raw_img寄存器中;
从raw_img寄存器中获取存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果;
对所述推理结果进行后处理后显示输出。
在一实施例中,从获取的视频流数据中抽取一帧图像数据进行预处理后存入raw_img寄存器中,包括:
将预处理后的所述一帧图像数据写入raw_img寄存器,同时在is_new寄存器中写入True;
读取inf_img数据,如果此时推理线程未完成推理,在inf_img寄存器中写入None;
如果此时推理线程已完成推理,则显示原视频图像和图像分割的预测结果并存入raw_img寄存器。
在一实施例中,从raw_img寄存器中获取存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果,包括:
监视所述raw_img寄存器;
如果所述raw_img寄存器中读取到了所述一帧图像数据,读取is_run寄存器中的数据以判断所述视频流数据是否继续;
如果所述is_run寄存器为True,则访问is_new寄存器判断raw_img寄存器是否更新,如果更新,则送入推理模型中进行推理,获得推理结果。
在一实施例中,基于深度神经网络的US-CT图像分割方法还包括:
当对图像的帧率要求较低时,提取所述视频流数据中的一帧图像数据后进行预处理;
将预处理后的所述一帧图像数据输入推力模型获得推理结果;
将所述推理结果进行后处理后输出。
根据本申请的另一个方面,还提供了一种基于深度神经网络的US-CT图像分割装置,包括:
获取单元,用于从获取的视频流数据中抽取一帧图像数据进行预处理后存入raw_img寄存器中;
推理单元,用于从raw_img寄存器中获取存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果;
显示输出单元,用于对推理结果进行后处理后显示输出。
在一实施例中,获取单元包括:
写入模块,用于将预处理后的一帧图像数据写入raw_img寄存器,同时在is_new寄存器中写入True;
读取模块,用于读取inf_img数据,如果此时推理线程未完成推理,在inf_img寄存器中写入None;
结果存储模块,用于如果此时推理线程已完成推理,则显示原视频图像和图像分割的预测结果并存入raw_img寄存器。
在一实施例中,推理单元包括:
监视模块,用于监视所述raw_img寄存器;
第一判断模块,用于如果所述raw_img寄存器中读取到了所述一帧图像数据,读取is_run寄存器中的数据以判断所述视频流数据是否继续;
第二判断模块,用于如果所述is_run寄存器为True,则访问is_new寄存器判断raw_img寄存器是否更新,如果更新,则送入推理模型中进行推理,获得推理结果。
在一实施例中,基于深度神经网络的US-CT图像分割装置还包括:
预处理单元,用于当对图像的帧率要求较低时,提取视频流数据中的一帧图像数据后进行预处理;
推理模型处理单元,用于将预处理后的一帧图像数据输入推理模型获得推理结果;
输出单元,用于将推理结果进行后处理后输出。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-图2为本申请提供的背景技术示意图。
图3为本申请提供的一种基于深度神经网络的US-CT图像分割方法流程图。
图4为本申请预处理并存储的流程图。
图5为本申请实施例中推理环节流程图。
图6为本申请实施例中基于深度神经网络的US-CT图像分割方法另一种实施方式。
图7为本申请实施例中基于深度神经网络的US-CT图像分割方法的一种方式图。
图8为本申请实施例中多线程并行结构示意图。
图9为本申请实施例中线程1控制流程图。
图10为本申请实施例中线程2控制流程图。
图11为本申请实施例中线程2部署至服务端的示意图。
图12为本申请实施例中TCP模块示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于背景技术中所存在的问题,本申请提供了一种基于深度神经网络的US-CT图像分割方法,如图3所示,包括:
S301:从获取的视频流数据中抽取一帧图像数据进行预处理后存入raw_img寄存器中。
S302:从raw_img寄存器中获取存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果。
S303:对推理结果进行后处理后显示输出。
在一实施例中,从获取的视频流数据中抽取一帧图像数据进行预处理后存入raw_img寄存器中,如图4所示,包括:
S401: 将预处理后的一帧图像数据写入raw_img寄存器,同时在is_new寄存器中写入True。
S402:读取inf_img数据,如果此时推理线程未完成推理,在inf_img寄存器中写入None。
S403:如果此时推理线程已完成推理,则显示原视频图像和图像分割的预测结果并存入raw_img寄存器。
在一实施例中,从raw_img寄存器中获取存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果,如图5所示,包括:
S501:监视raw_img寄存器。
S502:如果raw_img寄存器中读取到了一帧图像数据,读取is_run寄存器中的数据以判断视频流数据是否继续。
S503:如果is_run寄存器为True,则访问is_new寄存器判断raw_img寄存器是否更新,如果更新,则送入推理模型中进行推理,获得推理结果。
在一实施例中,如图6所示,基于深度神经网络的US-CT图像分割方法还包括:
S601:当对图像的帧率要求较低时,提取视频流数据中的一帧图像数据后进行预处理。
S602:将预处理后的一帧图像数据输入推力模型获得推理结果。
S603:将推理结果进行后处理后输出。
在一具体实施例中,如图7所示,视频流传入串行结构中,提取一帧图像数据后预处理图像,使图像匹配推理模型的输入,模型推理输出结果,并将结果后处理,可视化输出显示。如果视频流未结束,返回下一帧重复之前的操作,如果视频流结束则退出循环。以颈动脉分割为例,传入分割视频流后,对图像进行切黑边、改变尺寸和转换为单通道操作(预处理),然后将处理好的数据输入模型,模型输出分割结果,将分割结果转换为最终的类别并显示输出。经过测试,预处理、模型推理、后处理的平均耗时为10.1ms、33.0ms、1.6ms,最大耗时为15.6ms、46.8ms、15.6ms,计算可得平均帧率为22.4,最小帧率为12.8。当帧率要求不高时,单线程串行结构是可行的方法。当帧率要求较高或者模型结构较大时,串行结构不再适用。
由单线程串行结构的实验结果可得,最耗时的是推理模型,当模型结构更大时,可以想象,推理时间会更长,串行结构的帧率还会降低。考虑一种兼容性更强的多线程并行结构,如图8。线程1,视频流抽取一帧图像预处理后存入raw_img寄存器中。线程2,模型输入raw_img后,将推理结果输出到inf_img寄存器中。线程1,对inf_img中的数据进行后处理并显示输出。线程1和线程2协同配合并行工作,4个寄存器负责控制逻辑:①raw_img是预处理后的数据,shape=96*96*1,default=None;②inf_img是模型推理后的数据,shape=96*96*4,default=None;③is_new表示raw_img是否更新,default=False;④is_run表示视频流是否继续,default=True。
线程1控制流程如图9。视频流输入到线程1,如果视频流终止,则is_run寄存器写入False,并退出该线程;如果线程1接收新一帧数据,则预处理该帧数据,将处理好的数据写入raw_img寄存器,同时is_new寄存器写入True。模型读取inf_img数据,如果推理线程还没有完成推理,inf_img寄存器读取None,即没有读取到数据,则仅显示原图,这通常发生在视频流最开始几帧;如果inf_img读取到数据,则显示原图和预测结果,预测结果会有一定的延迟,这取决于模型推理的速度,延迟对实际使用的效果影响不大。
线程2控制流程如图10。线程2开启后监视raw_img寄存器,如果raw_img寄存器读取None,即没有读取到数据,则挂起,直到raw_img寄存器读取到数据。读取到数据后,线程2读取is_run寄存器,is_run寄存器表示视频流是否继续。如果is_run寄存器为False,则退出该线程;如果is_run寄存器为True,则线程2访问is_new寄存器,is_new寄存器表示raw_img寄存器是否更新。如果is_new寄存器为False,则挂起;如果is_new寄存器为True,则进行推理,将推理结果写入inf_img寄存器中,is_new寄存器写入False,线程2重新挂起。当客户端计算资源不足时,可以把线程2部署到服务端,如图11。
其中TCP模块如图12。字节包头是一个固定长度的通讯信号,包含12个字节的字符串和4个字节的整型。字符串描述该打包数据的内容,整型表示字节包1到字节包n的总长度。例如:①字节包头(‘data’, 91296)表示该打包数据字节包1到字节包n的总长度为91296;②字节包头(‘logout’, 0)表示客户端要求断开连接,后面不包含字节包。将字节包拆分成n份再发送,是为了避免读、写缓冲区溢出,每个字节包设置最大1024字节。
利用本方法进行检测和实验验证,过程如下:
测试条件为:①系统:WIN7。②硬件:i5-6500 CPU @ 3.2GHz。③模型:PNASNet。
单线程串行结构实验测试如表1,共包含10次试验,每次试验统计平均每帧所需①预处理、②模型推理、③后处理时间,即:平均每帧所需时间=总时间/帧数。由表中可以看出,串行结构每帧的帧率平均为22,因此串行结构在高FPS或大模型情况下不适用。串行结构的FPS计算方法为:
多线程并行结构实验测试如表2,共包含10次试验,每次试验统计平均每帧所需①预处理&后处理、②模型推理时间,即:平均每帧所需时间=总时间/帧数。由表中可以看出,并行结构每帧的帧率在69-73之间,大约是串行结构FPS的3.2倍。并行结构的FPS计算方法为:
多线程服务端和客户端实验测试如表3,共包含10次试验,每次试验客户端统计平均每帧所需①预处理&后处理、②TCP发&推理&TCP收时间,服务端统计平均每帧所需③推理时间即:平均每帧所需时间=总时间/帧数。由表中可以看出,并行结构客户端每帧的帧率在35-38之间,虽然速度比本地要慢,但是解决了本地资源不足的问题。TCP收发时间及并行结构FPS的计算方法为:
本申请实现了一个小型、灵活、可扩展的深度学习推理框架,该框架支持任意类型的模型(pth,tflite,ckpt,h5),任意结构的模型(VGG,ResNet,DenseNet),可以完成分类、检测和分割任务,可以在本机或者在服务器上推理,可以推理图片、视频文件、网络视频或摄像头。
根据本申请的另一个方面,还提供了一种基于深度神经网络的US-CT图像分割装置,包括:
获取单元,用于从获取的视频流数据中抽取一帧图像数据进行预处理后存入raw_img寄存器中;
推理单元,用于从raw_img寄存器中获取存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果;
显示输出单元,用于对推理结果进行后处理后显示输出。
在一实施例中,获取单元包括:
写入模块,用于将预处理后的一帧图像数据写入raw_img寄存器,同时在is_new寄存器中写入True;
读取模块,用于读取inf_img数据,如果此时推理线程未完成推理,在inf_img寄存器中写入None;
结果存储模块,用于如果此时推理线程已完成推理,则显示原视频图像和图像分割的预测结果并存入raw_img寄存器。
在一实施例中,推理单元包括:
监视模块,用于监视所述raw_img寄存器;
第一判断模块,用于如果所述raw_img寄存器中读取到了所述一帧图像数据,读取is_run寄存器中的数据以判断所述视频流数据是否继续;
第二判断模块,用于如果所述is_run寄存器为True,则访问is_new寄存器判断raw_img寄存器是否更新,如果更新,则送入推理模型中进行推理,获得推理结果。
在一实施例中,基于深度神经网络的US-CT图像分割装置还包括:
预处理单元,用于当对图像的帧率要求较低时,提取视频流数据中的一帧图像数据后进行预处理;
推理模型处理单元,用于将预处理后的一帧图像数据输入推理模型获得推理结果;
输出单元,用于将推理结果进行后处理后输出。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (4)
1.一种基于深度神经网络的US-CT图像分割方法,其特征在于,包括:
从获取的视频流数据中抽取一帧图像数据进行预处理后存入raw_img寄存器中;
判断当前raw_img寄存器中内容的更新状态;如果所述raw_img寄存器中的内容发生了更新,从raw_img寄存器中获取存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果并存入inf_img寄存器;实时判断所述inf_img寄存器中是否存在最新的推理结果,如果是,对所述推理结果进行后处理后显示输出,如果否,则将原视频图像进行显示;
判断当前raw_img寄存器中是否读取到视频流数据,如果是,则判断视频流数据是否继续;如果是,则判断raw_img寄存器中的内容是否发生更新;如果是,则获取raw_img寄存器中存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果并存入inf_img寄存器;
所述从获取的视频流数据中抽取一帧图像数据进行预处理后存入raw_img寄存器中,包括:
将预处理后的所述一帧图像数据写入raw_img寄存器,同时在is_new寄存器中写入True;
读取inf_img数据,如果此时推理线程未完成推理,在inf_img寄存器中写入None;
如果此时推理线程已完成推理,则显示原视频图像和图像分割的预测结果;
所述从raw_img寄存器中获取存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果,包括:
监视所述raw_img寄存器;
如果所述raw_img寄存器中读取到了所述一帧图像数据,读取is_run寄存器中的数据以判断所述视频流数据是否继续;
如果所述is_run寄存器为True,则访问is_new寄存器判断inf_img寄存器是否更新,如果更新,则送入推理模型中进行推理,获得推理结果;
当对图像的帧率要求较低时,提取所述视频流数据中的一帧图像数据后进行预处理;
将预处理后的所述一帧图像数据输入推力模型获得推理结果;
将所述推理结果进行后处理后输出;
将获取的视频流数据输入到线程1,如果视频流终止,则is_run寄存器写入False,并退出该线程;如果线程1接收新一帧数据,则预处理该帧数据,将处理好的数据写入raw_img寄存器,同时is_new寄存器写入True; 模型读取inf_img数据,如果推理线程还没有完成推理,inf_img寄存器读取None,即没有读取到数据,则仅显示原图,如果inf_img读取到数据,则显示原图和预测结果;
线程2开启后监视raw_img寄存器,如果raw_img寄存器读取None,即没有读取到数据,则挂起,直到raw_img寄存器读取到数据; 读取到数据后,线程2读取is_run寄存器,is_run寄存器表示视频流是否继续; 如果is_run寄存器为False,则退出该线程;如果is_run寄存器为True,则线程2访问is_new寄存器,is_new寄存器表示raw_img寄存器是否更新; 如果is_new寄存器为False,则挂起;如果is_new寄存器为True,则进行推理,将推理结果写入inf_img寄存器中,is_new寄存器写入False,线程2重新挂起,当客户端计算资源不足时,可以把线程2部署到服务端;
所述线程1和所述线程2并发执行。
2.一种基于深度神经网络的US-CT图像分割装置,其特征在于,包括:
获取单元,用于从获取的视频流数据中抽取一帧图像数据进行预处理后存入raw_img寄存器中;
第一推理单元,用于判断当前raw_img寄存器中内容的更新状态;如果所述raw_img寄存器中的内容发生了更新,从raw_img寄存器中获取存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果并存入inf_img寄存器;第一显示输出单元,用于实时判断所述inf_img寄存器中是否存在最新的推理结果,如果是,对所述推理结果进行后处理后显示输出,如果否,则将原视频图像进行显示;
第二推理单元,用于判断当前raw_img寄存器中是否读取到视频流数据,如果是,则判断视频流数据是否继续;如果是,则判断raw_img寄存器中的内容是否发生更新;如果是,则获取raw_img寄存器中存储的一帧图像数据并利用预先构建的推理模型进行推理得到推理结果并存入inf_img寄存器;
所述获取单元包括:
写入模块,用于将预处理后的所述一帧图像数据写入raw_img寄存器,同时在is_new寄存器中写入True;
读取模块,用于读取inf_img数据,如果此时推理线程未完成推理,在inf_img寄存器中写入None;
结果存储模块,用于如果此时推理线程已完成推理,则显示原视频图像和图像分割的预测结果;
所述推理单元包括:
监视模块,用于监视所述raw_img寄存器;
第一判断模块,用于如果所述raw_img寄存器中读取到了所述一帧图像数据,读取is_run寄存器中的数据以判断所述视频流数据是否继续;
第二判断模块,用于如果所述is_run寄存器为True,则访问is_new寄存器判断inf_img寄存器是否更新,如果更新,则送入推理模型中进行推理,获得推理结果;
所述的基于深度神经网络的US-CT图像分割装置,还包括:
预处理单元,用于当对图像的帧率要求较低时,提取所述视频流数据中的一帧图像数据后进行预处理;
推理模型处理单元,用于将预处理后的所述一帧图像数据输入推理模型获得推理结果;
输出单元,用于将所述推理结果进行后处理后输出;
将获取的视频流数据输入到线程1,如果视频流终止,则is_run寄存器写入False,并退出该线程;如果线程1接收新一帧数据,则预处理该帧数据,将处理好的数据写入raw_img寄存器,同时is_new寄存器写入True; 模型读取inf_img数据,如果推理线程还没有完成推理,inf_img寄存器读取None,即没有读取到数据,则仅显示原图,如果inf_img读取到数据,则显示原图和预测结果;
线程2开启后监视raw_img寄存器,如果raw_img寄存器读取None,即没有读取到数据,则挂起,直到raw_img寄存器读取到数据; 读取到数据后,线程2读取is_run寄存器,is_run寄存器表示视频流是否继续; 如果is_run寄存器为False,则退出该线程;如果is_run寄存器为True,则线程2访问is_new寄存器,is_new寄存器表示raw_img寄存器是否更新; 如果is_new寄存器为False,则挂起;如果is_new寄存器为True,则进行推理,将推理结果写入inf_img寄存器中,is_new寄存器写入False,线程2重新挂起,当客户端计算资源不足时,可以把线程2部署到服务端;
所述线程1和所述线程2并发执行。
3.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1所述基于深度神经网络的US-CT图像分割方法。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1所述基于深度神经网络的US-CT图像分割方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110265875.4A CN112686901B (zh) | 2021-03-11 | 2021-03-11 | 基于深度神经网络的us-ct图像分割方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110265875.4A CN112686901B (zh) | 2021-03-11 | 2021-03-11 | 基于深度神经网络的us-ct图像分割方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112686901A CN112686901A (zh) | 2021-04-20 |
CN112686901B true CN112686901B (zh) | 2021-08-24 |
Family
ID=75455469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110265875.4A Active CN112686901B (zh) | 2021-03-11 | 2021-03-11 | 基于深度神经网络的us-ct图像分割方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112686901B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113286174B (zh) * | 2021-05-21 | 2022-11-08 | 浙江商汤科技开发有限公司 | 视频抽帧方法、装置、电子设备、计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766021A (zh) * | 2017-09-27 | 2018-03-06 | 芯启源(上海)半导体科技有限公司 | 图像处理方法、设备、显示系统及存储介质 |
CN108108809A (zh) * | 2018-03-05 | 2018-06-01 | 山东领能电子科技有限公司 | 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法 |
CN108694034A (zh) * | 2017-04-07 | 2018-10-23 | 英特尔公司 | 用于在虚拟化图形处理环境中的远程显示和内容保护的设备及方法 |
US20180307973A1 (en) * | 2017-04-19 | 2018-10-25 | Beijing Deephi Intelligence Technology Co., Ltd. | Device for implementing artificial neural network with flexible buffer pool structure |
WO2020051751A1 (zh) * | 2018-09-10 | 2020-03-19 | 中国科学院深圳先进技术研究院 | 卷积神经网络计算的加速方法、装置、设备及存储介质 |
CN111506343A (zh) * | 2020-03-05 | 2020-08-07 | 北京大学深圳研究生院 | 一种基于脉动阵列硬件架构的深度学习卷积运算实现方法 |
CN111950693A (zh) * | 2019-05-14 | 2020-11-17 | 辉达公司 | 使用衰减参数进行神经网络推理 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110554886B (zh) * | 2018-05-30 | 2021-12-10 | 赛灵思公司 | 数据拆分结构、方法及其片上实现 |
CN109525844B (zh) * | 2019-01-30 | 2021-07-27 | 郑州云海信息技术有限公司 | 一种多路视频编解码的加速系统及方法 |
-
2021
- 2021-03-11 CN CN202110265875.4A patent/CN112686901B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694034A (zh) * | 2017-04-07 | 2018-10-23 | 英特尔公司 | 用于在虚拟化图形处理环境中的远程显示和内容保护的设备及方法 |
US20180307973A1 (en) * | 2017-04-19 | 2018-10-25 | Beijing Deephi Intelligence Technology Co., Ltd. | Device for implementing artificial neural network with flexible buffer pool structure |
CN107766021A (zh) * | 2017-09-27 | 2018-03-06 | 芯启源(上海)半导体科技有限公司 | 图像处理方法、设备、显示系统及存储介质 |
CN108108809A (zh) * | 2018-03-05 | 2018-06-01 | 山东领能电子科技有限公司 | 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法 |
WO2020051751A1 (zh) * | 2018-09-10 | 2020-03-19 | 中国科学院深圳先进技术研究院 | 卷积神经网络计算的加速方法、装置、设备及存储介质 |
CN111950693A (zh) * | 2019-05-14 | 2020-11-17 | 辉达公司 | 使用衰减参数进行神经网络推理 |
CN111506343A (zh) * | 2020-03-05 | 2020-08-07 | 北京大学深圳研究生院 | 一种基于脉动阵列硬件架构的深度学习卷积运算实现方法 |
Non-Patent Citations (1)
Title |
---|
CPU的功能和组成;英特尔公司;《https://software.intel.com/content/www/cn/zh/develop/articles/book-processor-architecture_cpu_function_and_composition.html》;20111206;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112686901A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10445043B2 (en) | Graphics engine and environment for efficient real time rendering of graphics that are not pre-known | |
US9710876B2 (en) | Graph-based application programming interface architectures with equivalency classes for enhanced image processing parallelism | |
US20190324809A1 (en) | Method, apparatus, and computer program product for processing computing task | |
CN104951358B (zh) | 基于优先级的上下文抢占 | |
US20220241689A1 (en) | Game Character Rendering Method And Apparatus, Electronic Device, And Computer-Readable Medium | |
CN109426603B (zh) | 一种分析应用程序卡顿的方法和装置 | |
CN113159091A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
JP2021192286A (ja) | モデル訓練、画像処理方法及びデバイス、記憶媒体、プログラム製品 | |
CN112686901B (zh) | 基于深度神经网络的us-ct图像分割方法及装置 | |
CN113139660A (zh) | 模型推理方法、装置、电子设备及存储介质 | |
CN115016866A (zh) | 应用启动时的数据处理方法、电子设备及存储介质 | |
CN113453073B (zh) | 一种图像渲染方法、装置、电子设备及存储介质 | |
CN111045732A (zh) | 数据处理方法、芯片、设备及存储介质 | |
CN113724132A (zh) | 图像风格迁移处理方法、装置、电子设备及存储介质 | |
CN113657411A (zh) | 神经网络模型的训练方法、图像特征提取方法及相关装置 | |
CN111414343B (zh) | 日志写入方法、装置、电子设备和介质 | |
US10198784B2 (en) | Capturing commands in a multi-engine graphics processing unit | |
EP4177887A1 (en) | Video stitching method and apparatus, electronic device, and storage medium | |
CN116912187A (zh) | 图像生成模型训练及图像生成方法、装置、设备和介质 | |
CN114119374A (zh) | 图像处理方法、装置、设备以及存储介质 | |
JP2022505016A (ja) | 深層学習トレーニングタスクに向けたプロセッサメモリを最適化するための方法及び装置 | |
CN115442661B (zh) | 视频处理方法、设备、存储介质及计算机程序产品 | |
CN110990104A (zh) | 一种基于Unity3D的纹理渲染方法及装置 | |
CN113627354B (zh) | 模型训练、视频处理方法,装置,设备以及存储介质 | |
CN115934181B (zh) | 数据加载方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |