CN111613303A - 一种基于机器学习的医疗影像辅助诊断系统 - Google Patents
一种基于机器学习的医疗影像辅助诊断系统 Download PDFInfo
- Publication number
- CN111613303A CN111613303A CN202010210291.2A CN202010210291A CN111613303A CN 111613303 A CN111613303 A CN 111613303A CN 202010210291 A CN202010210291 A CN 202010210291A CN 111613303 A CN111613303 A CN 111613303A
- Authority
- CN
- China
- Prior art keywords
- network model
- medical image
- arm
- diagnosis system
- machine learning
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H30/00—ICT specially adapted for the handling or processing of medical images
- G16H30/20—ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Public Health (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Primary Health Care (AREA)
- Molecular Biology (AREA)
- Epidemiology (AREA)
- Neurology (AREA)
- Pathology (AREA)
- Databases & Information Systems (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Radiology & Medical Imaging (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
Abstract
本发明公开了一种基于机器学习的医疗影像辅助诊断系统,其特征在于,包括1)对神经网络模型的训练过程;2)将网络模型量化移植到嵌入式软硬件平台。本发明采用Xilinx最新推出的Zynq UltraScale+MPSoC作为处理器,将训练好的网络模型量化移植到嵌入式软硬件平台上,由ARM负责整个系统的调度和部分计算,FPGA对卷积、池化等运算进行并行运算来减少运算时间,通过ARM与FPGA的协同工作,达到深度学习常用的处理器GPU所不具备的性能。
Description
技术领域
本发明涉及人工智能识别和医疗影像诊断领域,具体地说,特别涉及到一种基于机器学习的医疗影像辅助诊断系统。
背景技术
现有的深度卷积神经网络有GoogLeNet和VGGNet,GoogLeNet是一个22层的深度网络,计算机软硬件对非均匀稀疏数据计算效率很差,GoogLeNet模型重新启用了全连接层,其目的是为了能够更好地优化并行计算。GoogLeNet提出的Inception结构既能保持网络结构的稀疏性,又能利用密集矩阵的高计算性能。
VGGNet网络结构由5层卷积层、3层连接层、softmax输出层构成,层与层之间使用max-pooling分开,所有隐层的激活单元都采用ReLU函数。VGGNet使用多个较小卷积核(3X3)的卷积层代替一个卷积核较大的卷积层,一方面可以减少参数,另一方面相当于进行了更多的非线性映射,可以增加网络的拟合能力。
由于GoogLeNet网络采用了Inception结构,既保持了网络结构的稀疏性,又利用密集矩阵的高性能计算。虽然层数较多,但在利用密集矩阵的高计算性能条件下,提高了运算效率。因此GoogLeNet网络模型更适合进行迁移学习来解决相似度较大的问题。
现有的开发平台有NVIDIA Pasca架构以及Xilinx Zynq UltraScale+TM MPSoC架构。NVIDIA Pasca架构的开发平台是由NVIDIA公司推出的新一代开发平台,面向嵌入式市场,号称“嵌入式领域的AI超级电脑”。这是一块集成Linux系统的开发板,使用的是代号“Parker”6核Tegra处理器(与Drive PX2同款),256核Pascal架构核心GPU,具备极强的AI运算能力,比上一代TX1有更大进步,而且整机功耗低于7.5W,专为无人机、智能机器人、无人驾驶、智慧城市以及医疗工业设备等打造;ZCU102评估套件可帮助设计人员快速启动面向汽车、工业、视频以及通信应用的设计。该套件具有基于Xilinx 16nm FinFET+可编程逻辑架构的Zynq UltraScale+TM MPSoC器件,提供一款四核Cortex-A53、双核Cortex-R5实时处理器以及一款Mali-400 MP2图像处理单元。ZCU102支持所有可实现各种应用开发的主要外设及接口。
嵌入式GPU由于图像不能在有限的内部缓存内的功能间传递,使得运算每一阶段都需要使用外部DDR。这样就消耗了大量时间在连续访问内存上;ZYNQ可编程逻辑架构,使用内部ARM按需提供缓存。避免在DDR内存储中间元,无需连续访问外部存储器。这样不仅可降低图像处理的时延,而且还能降低功耗,甚至提高确定性,因为无需与其他系统资源共享访问。因此使用Xilinx Zynq UltraScale+TM MPSoC架构可实现更快的处理速度和较低的功耗,且SOC的硬件部分(FPGA)可重复配置。
随着机器学习的不断发展,caffe框架逐渐成为一个主流的工业级深度学习工具,它实现了常用的图像相关的机器学习算法,比如卷积和池化等,但是caffe看不够灵活,在caffe中,每个节点被当做一个层,因此如果想要一种新的层类型,需要定义完整的前向、后向和梯度更新过程。这些层是网络的构建模块,需要在无穷无尽的列表中进行选择。除此之外,基于层的网络结构,其扩展性不好,对于新增加的层,需要自己实现。
发明内容
本发明的目的在于针对现有技术中的不足,提供一种基于机器学习的医疗影像辅助诊断系统,利用caffe框架将训练好的网络模型量化移植到嵌入式软硬件平台上,由ARM负责整个系统的调度和部分计算,FPGA对卷积、池化等运算进行并行运算来减少运算时间,通过ARM与FPGA的协同工作,达到深度学习常用的处理器GPU所不具备的性能,以解决现有技术中存在的问题。
本发明所解决的技术问题可以采用以下技术方案来实现:
一种基于机器学习的医疗影像辅助诊断系统,包括
1)对神经网络模型的训练过程;
2)将网络模型量化移植到嵌入式软硬件平台。
进一步的,所述对神经网络模型的训练过程如下:
1.1)将未进行数据增强的原始数据制作成lmdb文件;
1.2)修改data_layer.cpp的load_batch()函数,将一个datum转换成一张Mat类型的图片,转换成Mat类型目的在于使用opencv函数对图片进行数据增强处理;
1.3)使用opencv的函数对Mat进行数据增强处理;
1.4)将得到的新的Mat转换回datum的形式。
进一步的,所述网络模型量化移植到嵌入式软硬件平台的过程如下:
ARM负责整个系统的调度和部分计算,FPGA对卷积、池化等运算进行并行运算来减少运算时间,通过ARM与FPGA的协同工作,达到深度学习常用的处理器GPU所不具备的性能。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
本发明所述的一种基于机器学习的医疗影像辅助诊断系统,采用Xilinx最新推出的Zynq UltraScale+MPSoC作为处理器,将训练好的网络模型量化移植到嵌入式软硬件平台上,由ARM负责整个系统的调度和部分计算,FPGA对卷积、池化等运算进行并行运算来减少运算时间,通过ARM与FPGA的协同工作,达到深度学习常用的处理器GPU所不具备的性能,具体技术方案如下:
I、ZYNQ平台的硬件设计
由于本发明需要ZYNQ中的ARM和FPGA协同工作,协同工作的前提是创建DSA文件的硬件平台为整个系统提供硬件基础。为Zynq-7000 SoC处理器创建DSA设计的过程中,使用SoC处理系统(PS)IP和时钟向导IP为DSA创建可能使用到的多个时钟。使用多处理器系统复位模块用于将复位同步到这些不同的时钟源。
II、软硬件平台协同算法优化实现
在ZYNQ的开发环境SDSOC中,有多种手段可以提高计算速度,如增加并行性、选择合适的系统端口、选择合适的DMA等。
由于深度卷积神经网络的计算量较大,为减小计算时间,尽量提高运行过程中的并行度,本发明在SDSOC开发环境中对需要提高并行度的相关函数,特别是需要大量计算的卷积、池化等操作加入一定量的编译指令以优化其软硬件协同能力。
例如在进行矩阵并行计算时,加入指令“#pragma HLS pipeline II=1”,可以减小循环启动时间,增加并行性。当循环启动时间为3时,在最后一个WR操作前已经消耗了8个周期;而当循环启动时间为1时,最后一个WR操作前仅消耗4个周期。由于在进行深度卷积神经网络的矩阵计算时,各个循环之间无依赖性,因此大量使用该编译指令增加并行度。
III、系统端口
Zynq-7000 All Programmable SoC在可编程逻辑和外部存储器之间提供缓存一致性接口(S_AXI_ACP),以及用于非缓存一致性访问(AFI)的高性能端口(S_AXI_HP)。
Zynq器件中的处理系统(PS)模块有三种系统端口,用于将数据从处理器存储器传输到Zynq器件可编程逻辑(PL)并返回。它们是加速器一致性端口(ACP),它允许硬件以一致的方式直接访问处理器的L2高速缓存,高性能端口0-3(HP0-3)可提供对DDR内存的直接缓冲存取,从硬件旁路使用异步FIFO接口(AFI)的处理器高速缓存和允许处理器读/写硬件寄存器的通用IO端口(GP0/GP1)。
由于各种系统端口的性能不一样,因此选择合理的系统端口也在一定程度上影响整个程序的运行时间。
IV、DMA的选择
在SDSOC的开发环境中,data_mover编译指示可以用来指定FPGA和ARM之间的数据传输DMA的选择。该编译指定了用于传输数组参数的硬件IP类型或DataMover。例如编译指令“#pragma SDS data data_mover(A:AXIDMA_SG,B:AXIDMA_SIMPLE)”指定了在软硬件传输矩阵A的数据时,使用AXI_SG类型的DMA,在传输矩阵B时使用AXIDMA_SIMPLE类型的DMA。
本发明采用Xilinx最新推出的Zynq UltraScale+MPSoC作为处理器,将训练好的网络模型量化移植到嵌入式软硬件平台上,由ARM负责整个系统的调度和部分计算,FPGA对卷积、池化等运算进行并行运算来减少运算时间,通过ARM与FPGA的协同工作,达到深度学习常用的处理器GPU所不具备的性能。
本发明的网络模型采用GoogLeNet通过迁移学习得到,该网络模型一共22层,每一层的算法都需要ARM和FPGA的协同工作,使用开发环境SDSOC可节省大量的硬件设计时间。
通过TCP/IP协议可将本系统连接到局域网中作为服务器,局域网内部的所有客户端能随时将待识别诊断的医疗影像通过网络发送到本服务器中,服务器做出诊断后,将诊断建议通过网络返回到医务人员的客户端上给医生提供参考,以此来降低医生的误诊率和漏诊率。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (3)
1.一种基于机器学习的医疗影像辅助诊断系统,其特征在于,包括
1)对神经网络模型的训练过程;
2)将网络模型量化移植到嵌入式软硬件平台。
2.根据权利要求1所述的基于机器学习的医疗影像辅助诊断系统,其特征在于,所述对神经网络模型的训练过程如下:
1.1)将未进行数据增强的原始数据制作成lmdb文件;
1.2)修改data_layer.cpp的load_batch()函数,将一个datum转换成一张Mat类型的图片,转换成Mat类型目的在于使用opencv函数对图片进行数据增强处理;
1.3)使用opencv的函数对Mat进行数据增强处理;
1.4)将得到的新的Mat转换回datum的形式。
3.根据权利要求1所述的基于机器学习的医疗影像辅助诊断系统,其特征在于,所述网络模型量化移植到嵌入式软硬件平台的过程如下:
ARM负责整个系统的调度和部分计算,FPGA对卷积、池化等运算进行并行运算来减少运算时间,通过ARM与FPGA的协同工作,达到深度学习常用的处理器GPU所不具备的性能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010210291.2A CN111613303A (zh) | 2020-03-24 | 2020-03-24 | 一种基于机器学习的医疗影像辅助诊断系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010210291.2A CN111613303A (zh) | 2020-03-24 | 2020-03-24 | 一种基于机器学习的医疗影像辅助诊断系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111613303A true CN111613303A (zh) | 2020-09-01 |
Family
ID=72200118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010210291.2A Withdrawn CN111613303A (zh) | 2020-03-24 | 2020-03-24 | 一种基于机器学习的医疗影像辅助诊断系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111613303A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112434635A (zh) * | 2020-12-02 | 2021-03-02 | 深圳龙岗智能视听研究院 | 卷积神经网络特征提取方法、系统、嵌入式设备及介质 |
-
2020
- 2020-03-24 CN CN202010210291.2A patent/CN111613303A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112434635A (zh) * | 2020-12-02 | 2021-03-02 | 深圳龙岗智能视听研究院 | 卷积神经网络特征提取方法、系统、嵌入式设备及介质 |
CN112434635B (zh) * | 2020-12-02 | 2024-02-09 | 深圳龙岗智能视听研究院 | 卷积神经网络特征提取方法、系统、嵌入式设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Choquette et al. | Nvidia a100 tensor core gpu: Performance and innovation | |
CN106940815B (zh) | 一种可编程卷积神经网络协处理器ip核 | |
CN111459877B (zh) | 基于FPGA加速的Winograd YOLOv2目标检测模型方法 | |
CN109002659B (zh) | 一种基于超级计算机的流体机械仿真程序优化方法 | |
CN103617150B (zh) | 一种基于gpu的大规模电力系统潮流并行计算的系统及其方法 | |
Tanomoto et al. | A CGRA-based approach for accelerating convolutional neural networks | |
Mittal | A survey of accelerator architectures for 3D convolution neural networks | |
US11934826B2 (en) | Vector reductions using shared scratchpad memory | |
Jespersen | Acceleration of a CFD code with a GPU | |
CN110750265B (zh) | 一种面向图计算的高层次综合方法及系统 | |
Asgari et al. | Pisces: power-aware implementation of slam by customizing efficient sparse algebra | |
CN112288619A (zh) | 用于在渲染图形时预加载纹理的技术 | |
CN112783554A (zh) | 用于程序间数据交换的持久便签内存 | |
CN103996216A (zh) | 用于曲面细分和几何着色器的电力高效属性处置 | |
Verma et al. | Accelerating workloads on fpgas via opencl: A case study with opendwarfs | |
Huang et al. | IECA: An in-execution configuration CNN accelerator with 30.55 GOPS/mm² area efficiency | |
Shahshahani et al. | Memory optimization techniques for fpga based cnn implementations | |
CN110490308B (zh) | 加速库的设计方法、终端设备及存储介质 | |
Xu et al. | Loop interchange and tiling for multi-dimensional loops to minimize write operations on NVMs | |
CN111613303A (zh) | 一种基于机器学习的医疗影像辅助诊断系统 | |
CN114651249A (zh) | 在没有维度填充的情况下最大限度地减少由矩阵乘法和卷积内核中的不兼容主导维度引起的缓存冲突的负面影响的技术 | |
Lin et al. | swFLOW: A dataflow deep learning framework on sunway taihulight supercomputer | |
Liang et al. | Design of 16-bit fixed-point CNN coprocessor based on FPGA | |
CN115129464A (zh) | 脉动阵列中的随机稀疏度处理 | |
CN114595813A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200901 |