CN117455791A - 一种基于轻量化网络的扫描病理图像快速聚焦方法 - Google Patents
一种基于轻量化网络的扫描病理图像快速聚焦方法 Download PDFInfo
- Publication number
- CN117455791A CN117455791A CN202311686133.4A CN202311686133A CN117455791A CN 117455791 A CN117455791 A CN 117455791A CN 202311686133 A CN202311686133 A CN 202311686133A CN 117455791 A CN117455791 A CN 117455791A
- Authority
- CN
- China
- Prior art keywords
- image
- block
- scanning
- sub
- database
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000001575 pathological effect Effects 0.000 title claims description 35
- 238000001514 detection method Methods 0.000 claims abstract description 35
- 238000007689 inspection Methods 0.000 claims abstract description 23
- 238000007781 pre-processing Methods 0.000 claims abstract description 12
- 230000004927 fusion Effects 0.000 claims abstract description 7
- 238000001914 filtration Methods 0.000 claims abstract description 5
- 230000011218 segmentation Effects 0.000 claims abstract description 5
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 37
- 230000007170 pathology Effects 0.000 claims description 20
- 239000013598 vector Substances 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000012935 Averaging Methods 0.000 claims description 3
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000005056 compaction Methods 0.000 claims description 3
- 238000005520 cutting process Methods 0.000 claims description 3
- 238000004043 dyeing Methods 0.000 claims description 3
- 239000011521 glass Substances 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims 1
- 238000003384 imaging method Methods 0.000 description 8
- 238000003908 quality control method Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000003745 diagnosis Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 206010028980 Neoplasm Diseases 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004195 computer-aided diagnosis Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000012530 fluid Substances 0.000 description 2
- 238000007710 freezing Methods 0.000 description 2
- 230000008014 freezing Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 210000004205 output neuron Anatomy 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000013441 quality evaluation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 206010006187 Breast cancer Diseases 0.000 description 1
- 208000026310 Breast neoplasm Diseases 0.000 description 1
- 206010009944 Colon cancer Diseases 0.000 description 1
- 208000001333 Colorectal Neoplasms Diseases 0.000 description 1
- 206010058467 Lung neoplasm malignant Diseases 0.000 description 1
- 208000037273 Pathologic Processes Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 201000005202 lung cancer Diseases 0.000 description 1
- 208000020816 lung neoplasm Diseases 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009054 pathological process Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010186 staining Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Radiology & Medical Imaging (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Image Processing (AREA)
Abstract
一种基于轻量化网络的扫描病理图像快速聚焦方法,在初检阶段中,合成较大区域的图像块,使用颜色阈值分割法过滤掉无效背景占比高的Block,再将经过预处理操作得到的多种图像送入多输入融合MobileNetV2网络模型中进行二值预测;在精检阶段中,针对初检阶段得到的模糊区域,提取出该区域中的子图像,送入通道增强的MobileNetV2网络模型中,进行离焦距离预测;在重扫阶段中,依据精检阶段预测的离焦距离,调整镜头的焦距,得到重复扫描的图像,重扫后的图像需要进一步验证是否清晰。本发明加快扫描自动对焦的效率,并实现高精度对焦。
Description
技术领域
本发明属于无参考图像评估技术领域以及电子信息领域的图形和图像处理软件,涉及一种病理扫描成像快速聚焦方法。
背景技术
近年来,在我国乳腺癌、肺癌和结直肠癌均呈现显著上升的趋势。临床上肿瘤的检测有多种途径:X射线检查、超声检查、和磁共振(MRI)检查、组织病理检查,其中组织病理检查被公认为肿瘤诊断的金标准。
组织病理检查是指,病理医生通过显微镜观察观察放大后的病理组织切片。然而,数字病理扫描仪的快速发展,使得病理切片能持久化为高分辨率数字图像。一方面,能让医生能通过显示器直接阅览,另一方面,让组织病理切片的最原始状态永久保持,避免随时间流逝的褪色情况。在很多医院病理科室的日常工作中,组织病理切片数字化已经成为必不可少的环节。同时,数字化后的病理图像也被广泛应用于病理学科读片交流会、教学和考试等工作中。数字化后的组织病理切片也运用于计算机辅助诊断系统的研究中,促进了组织病理学科的应用发展。
在病理切片数字化扫描过程中,可能会引入意料之外的扫描模糊问题,是由于扫描镜头失焦引起。一方面,这些缺陷导致不确定性的组织信息丢失,严重影响病理专家的阅片与诊断;另一方面,也会影响CAD的性能,甚至造成严重的诊断误判。
一个典型的WSI系统使用一个0.75的数值孔径(NA),20X的物镜来获取样品的高分辨率的子图像块,然后将获得的图像块对齐并缝合在一起,以产生整个幻灯片的完整和无缝的图像。如此高的NA物镜的景深小于1μm,因此,要在整个扫描过程中,完全聚焦凹凸不平的组织面,得到的所有图像块都清晰,这是具有挑战性的。自动聚焦问题经常被认为是数字病理学中图像质量差的罪魁祸首,而在采集过程中以高速和动态地执行准确的自动对焦较为困难。
在当前病理的流程化质控实践中,对病理图像清晰度的评估,多数医院采用人工检查的传统方法,通过人工阅片进行初步审查,过滤模糊或成像无效的图像;清晰的图像会流向下游病理医生,若病理医生阅片时发现局部模糊影响诊断,可要求返片重扫,这一过程的比较低效。部分研究采用对采集成像完成的病理图像使用自动化程序自动检测是否模糊,但未嵌入实时扫描过程中,若判定成像模糊,需重扫整片,效率不高,且没有检测出造成模糊的真实离焦距离,无法实现自动对焦。
数字病理图像的清晰度对病理医生和计算机辅助诊断系统的诊断行为都具有一定影响,科研人员均积极对显微扫描仪成像清晰度的评估开展研究,并取得一定进展。
申请号为202111673867.X的专利申请公开了一种病理质控指标评价方法及系统,申请号为202111347784.1一种基于目标检测的病理切片的质量控制方法及系统,申请号为202210610018.8的专利申请公开了一种病理全流程质控系统及方法。上述三个发明,均实现了病理切片制作过程中的质量控制,使用人工智能算法自动检测制片流程中的产生缺陷。其检测是基于显微扫描仪成像后的图像,但检测目标仅包含病理制片开始到玻片制作完成之间产生的缺陷,没有考虑到扫描阶段会产生失焦或模糊,进而对人工智能算法造成影响。
申请号为202111264905.6的专利申请公开了一种基于梯度信息对病理玻片数字图像进行质量评估的系统,利用第一目标区域和第二目标区域图像作为系统输入源,使用目标检测完成第一目标区域检测,使用梯度和饱和度分析完成第二目标区域检测,实现了完整的数字病理切片的清晰度鉴别。该方法虽然使用了目标检测方法实现了第一目标区域的检测,但是第二阶段使用的是传统的手工算法分析,仅仅使用梯度和饱和度去分析图像的清晰度,容易遗漏对检测有利的信息,从而限制该算法的性能。
申请号为202011130585.0的专利申请公开了数字病理切片质量的实时监控方法及系统、计算机设备。该发明引入卷积神经网络作为技术支撑,将完整的算法嵌入在病理切片扫描仪中,实现大批量玻片样本扫描,同时对局部显微图像进行质量检测,实时控制图像质量。但该方法使用了5个卷积神经网络进行检测,其中存在的5个全连接层是总体参数量的主因,因此实际推理速度会受到影响,且仅能同步运行,效率不高。
申请号为202210437761.8的专利申请公开了细胞病理图像质量评价方法。该发明针对宫颈液基细胞图像进行质量评估,利用金字塔不同层的图像,提取不同维度的特征信息,判断不同的指标是否满足,引入了YOLOv5s执行目标检测,最终融合所有特征进行回归评分,决策是否重扫。但该方法仅针对宫颈液基细胞图像,并具备泛化性,病理图像种类繁多,鉴别图像的质量应该需要具有泛化性。另外,该方法使用多层金字塔图像,意味着输入的所有图像总像素较多,需要更多的算力资源。
申请号为201811106931.4的专利申请公开了一种病理图像质量有效性识别方法,该发明涉及一种病理图像质量有效性识别方法,使用标注为清晰与模糊区域的数据训练神经网络模型,得到训练后的二分类器。尽管该方法区分了清晰与模糊,但是并未对模糊的程度进一步区分,不能为重扫阶段提供辅助聚焦的有效信息。
Mahdi针对无参考图像的模糊程度评估进行了深入研究,设计了用来提取表征图像锐度的关键特征的人类视觉系统(HVS)响应卷积滤波器,在组织病理图像公开数据集上的聚焦质量评估结果表现优异。虽然这种基于知识经验的方法具有较低的计算成本,但与深度学习的方法相比,它们的精度性能相对较低。
Wang等人公开了病理扫描图像的聚焦预测数据集,并使用轻量化神经网络方法的预测离焦等级,虽然其提出的网络结参数量和运行速度都占优,但其方法过于精简,导致无法更佳地拟合数据,与常规的基础网络相比,性能上较差。
Zhang等人引入深度学习框架预测透镜与物体质检的焦点距离来评估图像的质量高低,并将原始图像的梯度域作为网络的输入,使得网络模型在梯度域上充分学习。但是直接摒弃原始的图像,仅考虑梯度域信息是不够充分的,图像本身具有丰富的信息,因此需要考虑原始彩色图像与局部细节来提取更加有效的特征信息。
Wang等人的实验表明,大型的全切片图像中有将近82%的区域是空白区域。对于全切片图像,通常每幅图超过了十亿像素,无论是对于识别算法还是硬件设备都是严峻的考验。当前很多研究是基于成像后的图像检测,不仅降低了效率,而且由于金字塔结构的图像内存占用过大,需要分配更多的检测时间。另外,传统手工算法分析,容易遗漏关键信息,使用卷积神经网络识别图像的可行性已经得到视觉领域的验证,但不能以牺牲过多性能来提升神经网络的推理速度。也不能仅针对单种病理图像,训练的数据要有一定泛化性,并能检测多染色方式。
发明内容
为了克服已有技术的不足,本发明提出一种基于轻量化神经网络的病理扫描成像快速聚焦方法,利用两个改进的轻量化神经网络MobileNetV2模型,快速鉴别图像区域的清晰度和预测离焦距离。该方法分多阶段执行,依次为初检阶段、精检阶段和重扫阶段,引入数据库、线程池和多个缓存队列来提高程序的并发性,充分利用计算资源,提高图像块处理效率,实现成像过程中组织病理图像的实时自动聚焦。
本发明解决其技术问题所采用的技术方案是:
一种基于轻量化网络的扫描病理图像快速聚焦方法,该方法单次执行包含三个阶段:
初检阶段,显微扫描仪的主线程执行高倍率扫描,扫描的临时图像缓存在本地,并存储其相关信息至数据库;创建辅助线程1,若已存在则直接调用线程1,循环扫描数据库,提取Block区域,合成一张Block图像,并完成预处理,获得三种相关图像,送入轻量化网络;完成预处理后,线程1将单张Block图像、5张Block子图像块和Block平均梯度图像分别送入多输入融合MobileNetV2网络中,进行二值分类,判断输入的Block区域图像是否清晰;阴性结果,即清晰表明该区域符合显微图像的清晰标准,不需要进一步重扫;而阳性结果,即模糊表明需要进一步检测,此时更新Database A中的图像的检查状态字段为待检查,同时将Block包含的所有子图像块编号加入缓存队列A中;
精检阶段,创建辅助线程2,若已存在则直接调用线程2,读取缓存队列A中的待消费图像信息,提取到单张子图像块后,将其输入至通道增强的MobileNetV2网络模型中,预测离焦偏移等级;基于预测的偏移等级,换算成显微扫描仪中镜头的离焦距离。此时更新Database A中的图像的离焦距离字段,当前子图像块编号加入缓存队列B中;当缓存队列B中的消息数量达到预警值T1,将通知主线程寻找合适时机准备重扫;
重扫阶段,主线程启动重扫后,从缓存队列B中获取待重扫子图像块,根据子图像块编号获取坐标、离焦距离和重扫次数;若重扫次数超过阈值T2,则跳过重扫,直接更新Database A中的检查状态为故障;若重扫次数小于阈值T2,则继续执行重扫过程,显微扫描镜头会根据离焦距离反向调整到正确的位置;执行完单张子图像块的重扫后,此时将Database A中图像的检查状态字段更新为待检查,将重扫次数加一;
在单张病理全切片图像的扫描过程中,循环执行重扫初检、精检和重扫阶段,为防止程序陷入死循环,设定重扫次数阈值T1;扫描完所有子图像块后,会合成全切片格式的文件,同时生成各子区域预测情况,若故障图像块占比超过阈值T3,则提醒需要重扫整张全切片。
所述聚焦方法包括以下步骤:
步骤1:初始化阶段,创建数据库Database A,初始化数据库表,创建线程池,创建新的辅助线程1和线程2,等待被启用;
步骤2:开启主线程,执行病理扫描仪进行滑动扫描,单次成像的图像称为子图像块,其像素大小为256×256,会被即时缓存至本地目标临时文件夹中,同时添加子图像块的编号、缓存路径、扫描坐标、检查状态、离焦距离和重扫次数到数据库Database A;
步骤3:启动辅助线程1,线程1需要循环扫描数据库Database A,读取待检查的子图像块,根据其坐标信息组成一个Block区域,该区域由64张子图像块组成,将Block区域合成为一张Block图像,对Block图像进行预处理操作,分别得到Block区域归一化图像、Block区域内的四个角落与中心图像和Block区域梯度图像;
步骤4:对步骤3中得到的三类图像,分别送入编码器A、B和C中,分别再经过全局平均池化处理后,送入全连接层中学习,得到二值分类输出:清晰和模糊;
步骤5:依据步骤4的二值结果,更新Database A中的检查状态字段。若分类结果为清晰,则跳转步骤3,循环执行;若分类结果为模糊,则将当次输入的Block区域所包含的64张子图像块编号添加至缓存队列Queue A;
步骤6:启动辅助线程2,从缓存队列Queue A中,获取到子图像块编号,进入Database A中查询其相关信息,主要获取路径字段,依据路径读取子图像块;
步骤7:将步骤6中获取到的子图像块,全部送入通道增强的MobileNetV2网络模型中,得到预测的子图像块离焦等级,将等级转换为实际离焦距离,并将该图像块编号送入缓存队列B中,同时更新Database A中的图像离焦距离字段。当缓存队列B中的消息数量达到预警值T1,将通知主线程寻找合适时机准备重扫;
步骤8:当主线程决定重扫后,开始消费缓存队列B中的消息,获取到待重扫子图像块,根据该图像块的重扫次数,判断是否进一步重扫。依据该图像块的离焦距离将显微扫描仪的镜头焦距调整到正确的数值,重新扫描后的子图像块会覆盖原始路径下的文件,并更新Database A中的检查状态为待检查,将子图像块的重扫次数加一;
步骤9:聚合所有子图像块为单个全切片图像文件,扫描结束后,将重扫失败坐标、重扫次数、总计故障图像块占比缓存至附加.txt文件中;当总计故障图像块占比大于阈值T3,需要人工清理玻片或检查扫描仪,再执行整片重扫。
进一步,所述步骤1中,初始化基本的环境配置,过程如下:
步骤1.1:创建数据库Database A,初始化图像Image表,存储字段包含:图像编号、缓存路径、扫描坐标、检查状态、离焦距离和重扫次数,其中临时图像编号是生成的唯一编号,缓存路径是图像的保存路径,扫描坐标是相对于整个扫描区域的坐标,左上角为原点,向下为纵轴正方向,向右为横轴正方向,检查状态包含:待检查、清晰、模糊、背景和故障,离焦距离为后续神经网络模型的预测结果,重扫次数为此图像块区域被重新扫描的次数;
步骤1.2:创建线程池,配置线程池中总数为2,从线程池中新建辅助线程1和线程2,等待被分配任务后启用。
所述步骤2中,持久化扫描的临时图像信息,过程如下:
步骤2.1:主线程开启后,显微扫描镜头被分配调度资源,开始执行滑动窗口扫描,成像256×256大小像素的临时图像;
步骤2.2:将临时图像的编号、缓存路径、扫描坐标、检查状态、和重扫次数信息插入数据库Database A的Image表中。
所述步骤3中,捕获待检查的Block区域及对其预处理,过程如下:
步骤3.1:启动辅助线程1,循环扫描数据库Database A的Image表,判断其中的检查状态字段的值是否为待检查,若为待检查,则获取其坐标信息,以此作为坐标系原点,扩展矩形区域,找到Block区域内的所有子图像;
步骤3.2:将Block区域内的所有子图像合成为整张Block图像,缓存为JPEG格式图像;
步骤3.3:将获取到的Block图像,执行OTSU阈值分割法,过滤白色背景面积超过阈值T0的图像块;
步骤3.4:若图像块被过滤,更新Database A的Image表中检查状态的值为背景,继续执行步骤3.1~3.3,消费Queue A中的下一个消息;
步骤3.5:若未被过滤,先执行Vahadane染色归一化方法,得到归一化后的Norm_Block图像;
步骤3.6:使用OpenCV库中的图像工具裁剪出Norm_Block图像中左上角、右上角、左下角、右下角和中心等5个子图像Son_Image;
步骤3.7:使用OpenCV库中的Sobel梯度算子,基于原始Norm_Block图像在2个方向上执行梯度运算,即水平方向和垂直方向,得到2张梯度图像,再进行进行二维均值化运算,合并为一张梯度图像Gradient_Block。
所述步骤4中,将Block图像及其多维度信息交付给神经网络,预测该图像是否清晰,过程如下:
步骤4.1:将步骤3.5~3.7中得到的Norm_Block图像块、Son_Image图像块和Gradient_Block,分别送入到三个相同结构但不同参数的编码器A、B和C中,分别得到三张特征映射图Feature_A、Feature_B和Feature_C;
步骤4.2:使用全局平均池化处理步骤4.1得到的三个特征映射图,得到三个嵌入向量Embedding_A、Embedding_B和Embedding_C;
步骤4.3:使用Pytorch中的Tensor的拼接函数来拼接这三个嵌入向量后,得到新的嵌入向量New_Embedding;
步骤4.4:将新的嵌入向量New_Embedding直接送入预训练好的全连接网络中进行二值分类,鉴别出清晰或模糊。
所述步骤5中,保持Database A的Image表中最新状态和利用缓存队列异步执行精检阶段,过程如下:
步骤5.1:确定Block区域内所有子图像的编号,更新Database A的Image表中检查状态字段的值,将其更新为步骤4的二值结果,即清晰或模糊,
步骤5.2:若步骤4的鉴别结果为清晰,则继续执行步骤3~4;
步骤5.3:若步骤4的鉴别结果为模糊,将该Block区域子图像块编号,送入缓存队列Queue A中,等待其他线程消费。
所述步骤6中,启用辅助线程异步执行精简阶段,提高处理效率,过程如下:
步骤6.1:启动辅助线程2,不断从缓存队列Queue A中执行消费操作,每次取一个子图像编号作为执行任务;
步骤6.2:依据子图像编号从Database A的Image表中获取子图像的缓存路径,使用系统的文件读取系统,传参缓存路径,获取子图像文件。
所述步骤7中,使用通道增强的MobileNetV2网络模型预测模糊图像区域的具体离焦距离,过程如下:
步骤7.1:将步骤6获取的子图像输入到进的通道增强的MobileNetV2网络模型中,获取到该输入的离焦等级;
步骤7.2:根据该网络的分类输出定义规则,计算出实际的离焦距离,并更新Database A的Image表的离焦距离;
步骤7.3:将分类网络模型预测好的图像编号,加入到缓存队列B中,等待主线程重扫消费;
步骤7.4:检查缓存队列B中的消息数量,是否超过阈值T1,若超过则通知主线程准备重扫该图像区域。
所述步骤8中,主线程执行重扫,保证图像清晰,过程如下:
步骤8.1:当主线程开始重扫后,读取缓存队列B中子图像编号,根据此编号从Database A中查询子图像的缓存路径、坐标、离焦距离和重扫次数;
步骤8.2:检测重扫次数是否大于阈值T2,当重扫次数大于阈值T2后,更新DatabaseA中的检查状态为故障,停止当前子图像的重扫,继续重扫下一子图像,防止程序陷入死循环;
步骤8.2:根据步骤8.1中获取的离焦距离,移动扫描镜头到指定坐标位置,然后调整焦距为预测的离焦距离;
步骤8.3:执行重扫动作,将重扫后图像保存在原始的缓存路径中,该图像的像素大小为256×256,更新Database A中检查状态设为待检查,更新重扫次数为加一后的值。
所述步骤9中,整张切片扫描结束,持久化扫描过程相关信息,过程如下:
步骤9.2:将所有子图像块组合成全切片图像格式的单体文件,如.SVS格式;
步骤9.2:在扫描结束后,扫描Database A,找到检查状态为故障的字段,并统计其个数,计算故障图像块个数与总图像块占比;
步骤9.3:缓存所有的图像块重扫失败的坐标、重扫总次数和重扫占比至全切片图像同名txt文件中;
步骤9.4:当总计故障图像块占比大于阈值T3,需要提醒当前全切片图像不合格,需要人工清理玻片或检查扫描仪,再执行整片重扫。
本发明将病理扫描自动对焦方法分多阶段执行,分别为初检阶段、精检阶段和重扫阶段。初检阶段中,合成较大区域的图像,使用颜色阈值分割法过滤白色背景占有率较高的图像块,将经过预处理后的图像块送入多输入轻量化网络中进行二值预测。精检阶段中,针对初检阶段的模糊区域,提取出该区域中的子图像块,送入通道增强的MobileNetV2网络模型中,进行离焦距离预测。重扫阶段,依据精检阶段预测的离焦距离,调整镜头的焦距,得到重复扫描的图像,重扫后的图像需要进一步验证是否清晰。整个过程中,采用本地数据库进行数据缓存;采用线程池来创建或启动多个任务线程,实现并行化;阶段之间采用缓存队列技术存储待执行任务,加快扫描自动对焦的效率,并实现高精准预测和对焦。
本发明的有益效果主要表现在:具有较好的聚焦检测效果,使用轻量化深度学习网络和并行化优化,使得算法具有实际应用性和实时性。该方法利用初检阶段,鉴别出具有模糊特征的Block区域,再将该区域子图像块加入精检阶段中预测离焦距离,基于此预测的离焦距离反馈给扫描仪,调整焦距后再次重新扫描。同时,发明中加入了本地缓存数据库、并发线程池和两个缓存队列来提高程序的并发性,提高检测的实时性,减少计算资源的消耗,提高成像过程中组织病理图像的自动聚焦的效率和可靠性。
附图说明
图1是基于轻量化网络的扫描病理图像快速聚焦方法的流程图。
图2是并行优化方案图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1和图2,一种基于轻量化网络的扫描病理图像快速聚焦方法,该方法单次执行包含三个阶段:
初检阶段,显微扫描仪的主线程执行高倍率扫描,扫描的临时图像缓存在本地,并存储其相关信息至数据库;创建辅助线程1,若已存在则直接调用线程1,循环扫描数据库,提取Block区域,合成一张Block图像,并完成预处理,获得三种相关图像,送入轻量化网络;完成预处理后,线程1将单张Block图像、5张Block子图像块和Block平均梯度图像分别送入多输入融合MobileNetV2网络中,进行二值分类,判断输入的Block区域图像是否清晰;阴性结果,即清晰表明该区域符合显微图像的清晰标准,不需要进一步重扫;而阳性结果,即模糊表明需要进一步检测,此时更新Database A中的图像的检查状态字段为待检查,同时将Block包含的所有子图像块编号加入缓存队列A中;
精检阶段,创建辅助线程2,若已存在则直接调用线程2,读取缓存队列A中的待消费图像信息,提取到单张子图像块后,将其输入至通道增强的MobileNetV2网络模型中,预测离焦偏移等级;基于预测的偏移等级,换算成显微扫描仪中镜头的离焦距离。此时更新Database A中的图像的离焦距离字段,当前子图像块编号加入缓存队列B中;当缓存队列B中的消息数量达到预警值T1,将通知主线程寻找合适时机准备重扫;
重扫阶段,主线程启动重扫后,从缓存队列B中获取待重扫子图像块,根据子图像块编号获取坐标、离焦距离和重扫次数;若重扫次数超过阈值T2,则跳过重扫,直接更新Database A中的检查状态为故障;若重扫次数小于阈值T2,则继续执行重扫过程,显微扫描镜头会根据离焦距离反向调整到正确的位置;执行完单张子图像块的重扫后,此时将Database A中图像的检查状态字段更新为待检查,将重扫次数加一;
在单张病理全切片图像的扫描过程中,循环执行重扫初检、精检和重扫阶段,为防止程序陷入死循环,设定重扫次数阈值T1;扫描完所有子图像块后,会合成全切片格式的文件,同时生成各子区域预测情况,若故障图像块占比超过阈值T3,则提醒需要重扫整张全切片。
所述聚焦方法包括以下步骤:
步骤1:初始化阶段,创建数据库Database A,初始化数据库表,创建线程池,创建新的辅助线程1和线程2,等待被启用;
所述步骤1中,初始化基本的环境配置,过程如下:
步骤1.1:创建数据库Database A,初始化图像Image表,存储字段包含:图像编号、缓存路径、扫描坐标、检查状态、离焦距离和重扫次数,其中临时图像编号是生成的唯一编号,缓存路径是图像的保存路径,扫描坐标是相对于整个扫描区域的坐标,左上角为原点,向下为纵轴正方向,向右为横轴正方向,检查状态包含:待检查、清晰、模糊、背景和故障,离焦距离为后续神经网络模型的预测结果,重扫次数为此图像块区域被重新扫描的次数;
步骤1.2:创建线程池,配置线程池中总数为2,从线程池中新建辅助线程1和线程2,等待被分配任务后启用。
步骤2:开启主线程,执行病理扫描仪进行滑动扫描,单次成像的图像称为子图像块,其像素大小为256×256,会被即时缓存至本地目标临时文件夹中,同时添加子图像块的编号、缓存路径、扫描坐标、检查状态、离焦距离和重扫次数到数据库Database A;
所述步骤2中,持久化扫描的临时图像信息,过程如下:
步骤2.1:主线程开启后,显微扫描镜头被分配调度资源,开始执行滑动窗口扫描,成像256×256大小像素的临时图像;
步骤2.2:将临时图像的编号、缓存路径、扫描坐标、检查状态、和重扫次数信息插入数据库Database A的Image表中。
步骤3:启动辅助线程1,线程1需要循环扫描数据库Database A,读取待检查的子图像块,根据其坐标信息组成一个Block区域,该区域由64张子图像块组成,将Block区域合成为一张Block图像,对Block图像进行预处理操作,分别得到Block区域归一化图像、Block区域内的四个角落与中心图像和Block区域梯度图像;
所述步骤3中,捕获待检查的Block区域及对其预处理,过程如下:
步骤3.1:启动辅助线程1,循环扫描数据库Database A的Image表,判断其中的检查状态字段的值是否为待检查,若为待检查,则获取其坐标信息,以此作为坐标系原点,扩展矩形区域,找到Block区域内的所有子图像;
步骤3.2:将Block区域内的所有子图像合成为整张Block图像,缓存为JPEG格式图像;
步骤3.3:将获取到的Block图像,执行OTSU阈值分割法,过滤白色背景面积超过阈值T0的图像块;
步骤3.4:若图像块被过滤,更新Database A的Image表中检查状态的值为背景,继续执行步骤3.1~3.3,消费Queue A中的下一个消息;
步骤3.5:若未被过滤,先执行Vahadane染色归一化方法,得到归一化后的Norm_Block图像;
步骤3.6:使用OpenCV库中的图像工具裁剪出Norm_Block图像中左上角、右上角、左下角、右下角和中心等5个子图像Son_Image;
步骤3.7:使用OpenCV库中的Sobel梯度算子,基于原始Norm_Block图像在2个方向上执行梯度运算,即水平方向和垂直方向,得到2张梯度图像,再进行进行二维均值化运算,合并为一张梯度图像Gradient_Block。
步骤4:对步骤3中得到的三类图像,分别送入编码器A、B和C中,分别再经过全局平均池化处理后,送入全连接层中学习,得到二值分类输出:清晰和模糊;
所述步骤4中,将Block图像及其多维度信息交付给神经网络,预测该图像是否清晰,过程如下:
步骤4.1:将步骤3.5~3.7中得到的Norm_Block图像块、Son_Image图像块和Gradient_Block,分别送入到三个相同结构但不同参数的编码器A、B和C中,分别得到三张特征映射图Feature_A、Feature_B和Feature_C;
步骤4.2:使用全局平均池化处理步骤4.1得到的三个特征映射图,得到三个嵌入向量Embedding_A、Embedding_B和Embedding_C;
步骤4.3:使用Pytorch中的Tensor的拼接函数来拼接这三个嵌入向量后,得到新的嵌入向量New_Embedding;
步骤4.4:将新的嵌入向量New_Embedding直接送入预训练好的全连接网络中进行二值分类,鉴别出清晰或模糊。
步骤5:依据步骤4的二值结果,更新Database A中的检查状态字段。若分类结果为清晰,则跳转步骤3,循环执行;若分类结果为模糊,则将当次输入的Block区域所包含的64张子图像块编号添加至缓存队列Queue A;
所述步骤5中,保持Database A的Image表中最新状态和利用缓存队列异步执行精检阶段,过程如下:
步骤5.1:确定Block区域内所有子图像的编号,更新Database A的Image表中检查状态字段的值,将其更新为步骤4的二值结果,即清晰或模糊,
步骤5.2:若步骤4的鉴别结果为清晰,则继续执行步骤3~4;
步骤5.3:若步骤4的鉴别结果为模糊,将该Block区域子图像块编号,送入缓存队列Queue A中,等待其他线程消费。
步骤6:启动辅助线程2,从缓存队列Queue A中,获取到子图像块编号,进入Database A中查询其相关信息,主要获取路径字段,依据路径读取子图像块;
所述步骤6中,启用辅助线程异步执行精简阶段,提高处理效率,过程如下:
步骤6.1:启动辅助线程2,不断从缓存队列Queue A中执行消费操作,每次取一个子图像编号作为执行任务;
步骤6.2:依据子图像编号从Database A的Image表中获取子图像的缓存路径,使用系统的文件读取系统,传参缓存路径,获取子图像文件。
步骤7:将步骤6中获取到的子图像块,全部送入通道增强的MobileNetV2网络模型中,得到预测的子图像块离焦等级,将等级转换为实际离焦距离,并将该图像块编号送入缓存队列B中,同时更新Database A中的图像离焦距离字段。当缓存队列B中的消息数量达到预警值T1,将通知主线程寻找合适时机准备重扫;
所述步骤7中,使用通道增强的MobileNetV2网络模型预测模糊图像区域的具体离焦距离,过程如下:
步骤7.1:将步骤6获取的子图像输入到进的通道增强的MobileNetV2网络模型中,获取到该输入的离焦等级;
步骤7.2:根据该网络的分类输出定义规则,计算出实际的离焦距离,并更新Database A的Image表的离焦距离;
步骤7.3:将分类网络模型预测好的图像编号,加入到缓存队列B中,等待主线程重扫消费;
步骤7.4:检查缓存队列B中的消息数量,是否超过阈值T1,若超过则通知主线程准备重扫该图像区域。
步骤8:当主线程决定重扫后,开始消费缓存队列B中的消息,获取到待重扫子图像块,根据该图像块的重扫次数,判断是否进一步重扫。依据该图像块的离焦距离将显微扫描仪的镜头焦距调整到正确的数值,重新扫描后的子图像块会覆盖原始路径下的文件,并更新Database A中的检查状态为待检查,将子图像块的重扫次数加一;
所述步骤8中,主线程执行重扫,保证图像清晰,过程如下:
步骤8.1:当主线程开始重扫后,读取缓存队列B中子图像编号,根据此编号从Database A中查询子图像的缓存路径、坐标、离焦距离和重扫次数;
步骤8.2:检测重扫次数是否大于阈值T2,当重扫次数大于阈值T2后,更新DatabaseA中的检查状态为故障,停止当前子图像的重扫,继续重扫下一子图像,防止程序陷入死循环;
步骤8.2:根据步骤8.1中获取的离焦距离,移动扫描镜头到指定坐标位置,然后调整焦距为预测的离焦距离;
步骤8.3:执行重扫动作,将重扫后图像保存在原始的缓存路径中,该图像的像素大小为256×256,更新Database A中检查状态设为待检查,更新重扫次数为加一后的值。
步骤9:聚合所有子图像块为单个全切片图像文件,扫描结束后,将重扫失败坐标、重扫次数、总计故障图像块占比缓存至附加.txt文件中;当总计故障图像块占比大于阈值T3,需要人工清理玻片或检查扫描仪,再执行整片重扫。
所述步骤9中,整张切片扫描结束,持久化扫描过程相关信息,过程如下:
步骤9.2:将所有子图像块组合成全切片图像格式的单体文件,如.SVS格式;
步骤9.2:在扫描结束后,扫描Database A,找到检查状态为故障的字段,并统计其个数,计算故障图像块个数与总图像块占比;
步骤9.3:缓存所有的图像块重扫失败的坐标、重扫总次数和重扫占比至全切片图像同名txt文件中;
步骤9.4:当总计故障图像块占比大于阈值T3,需要提醒当前全切片图像不合格,需要人工清理玻片或检查扫描仪,再执行整片重扫。
本实施例中,提出两个改进的MobileNetV2轻量化网络,分别为多输入融合的MobileNetV2网络模型和通道增强的MobileNetV2网络模型。
多输入融合MobileNetV2网络模型:对指定区域进行清晰度二值判断,其具体结构和使用方法如下:
(1)构建三个相同结构但不同参数的编码器A、B和C,这些编码器的主干网络由MobileNetV2组成,编码器A、B和C分别产生三个特征,编码器中的MobileNetV2去除了分类头,保持了全局平均池化;
(2)为了避免同时使用网络的运算量过大,编码器A、B和C仅选用
(3)拼接全局平均池化后的嵌入向量,构建含Dropout=0.25的全连接层,用于实现对嵌入向量的多层感知,输出最后的二值分类结果;
(4)使用二值交叉损失熵函数(BCE)实现二分类模型的梯度反向传播。
通道增强的MobileNetV2网络模型:用于提取组织病理图像的中细胞基质部分,其作用如下:
(1)将激活函数ReLU替换为GELU函数,GELU具有更平滑的非线性特征,这有助于提高模型的性能,防止梯度爆炸;
(2)在DW卷积和1×1卷积之间加入ECA注意力模块,ECA注意力机制用1维卷积高效实现了局部跨通道交互,避免降维,进一步提升运算效率。同时使用ECA注意力提取通道间的高维依赖关系,加强对病理图像中锐度信息的提取能力,从而提升对不同失焦图像的区分能力;
(3)在全连接层添加Dropout=0.25,修改该网络模型的输出神经元个数为41个,用0~41分别代表-20~20的离焦距离,与输出神经元个数对应,因为离焦最小刻度为0.5微米。将其在ImageNet数据集上进行预训练,将训练好的参数载入当前训练过程中,并冻结主干网络中的参数,不冻结分类全连接层的参数,然后在本地训练数据集上进行预训练精调,调整好的网络参数不再改变;
(4)为了使得预测值与真实值更接近,使用加权混合损失函数,即交叉熵损失函数损失函数(CE)与均方差损失函数加权融合(MSE)。其中,损失越小,即表明与真实值越接近。
本实施例的方案能够实现即时端到端的对病理图像进行聚焦程度判断,并作出即时决策。在初检阶段,通过多输入融合MobileNetV2网络模型,对图像块进行二值判断是否模糊。若捕获到模糊的图像块,将其送入精检阶段的通道增强的MobileNetV2网络模型中预测离焦等级,并将其转换为实际离焦距离。最终进入重扫阶段,使得扫描仪重扫失焦的区域,恢复为清晰的图像,实现实时扫描质量控制。
本说明书的实施例所述的内容仅仅是对发明构思的实现形式的列举,仅作说明用途。本发明的保护范围不应当被视为仅限于本实施例所陈述的具体形式,本发明的保护范围也及于本领域的普通技术人员根据本发明构思所能想到的等同技术手段。
Claims (10)
1.一种基于轻量化网络的扫描病理图像快速聚焦方法,其特征在于,该方法单次执行包含三个阶段:
初检阶段,显微扫描仪的主线程执行高倍率扫描,扫描的临时图像缓存在本地,并存储其相关信息至数据库;创建辅助线程1,若已存在则直接调用线程1,循环扫描数据库,提取Block区域,合成一张Block图像,并完成预处理,获得三种相关图像,送入轻量化网络;完成预处理后,线程1将单张Block图像、5张Block子图像块和Block平均梯度图像分别送入多输入融合MobileNetV2网络中,进行二值分类,判断输入的Block区域图像是否清晰;阴性结果,即清晰表明该区域符合显微图像的清晰标准,不需要进一步重扫;而阳性结果,即模糊表明需要进一步检测,此时更新Database A中的图像的检查状态字段为待检查,同时将Block包含的所有子图像块编号加入缓存队列A中;
精检阶段,创建辅助线程2,若已存在则直接调用线程2,读取缓存队列A中的待消费图像信息,提取到单张子图像块后,将其输入至通道增强的MobileNetV2网络模型中,预测离焦偏移等级;基于预测的偏移等级,换算成显微扫描仪中镜头的离焦距离;此时更新Database A中的图像的离焦距离字段,当前子图像块编号加入缓存队列B中;当缓存队列B中的消息数量达到预警值T1,将通知主线程寻找合适时机准备重扫;
重扫阶段,主线程启动重扫后,从缓存队列B中获取待重扫子图像块,根据子图像块编号获取坐标、离焦距离和重扫次数;若重扫次数超过阈值T2,则跳过重扫,直接更新Database A中的检查状态为故障;若重扫次数小于阈值T2,则继续执行重扫过程,显微扫描镜头会根据离焦距离反向调整到正确的位置;执行完单张子图像块的重扫后,此时将Database A中图像的检查状态字段更新为待检查,将重扫次数加一;
在单张病理全切片图像的扫描过程中,循环执行重扫初检、精检和重扫阶段,为防止程序陷入死循环,设定重扫次数阈值T1;扫描完所有子图像块后,会合成全切片格式的文件,同时生成各子区域预测情况,若故障图像块占比超过阈值T3,则提醒需要重扫整张全切片。
2.如权利要求1所述的一种基于轻量化网络的扫描病理图像快速聚焦方法,其特征在于,所述聚焦方法包括以下步骤:
步骤1:初始化阶段,创建数据库Database A,初始化数据库表,创建线程池,创建新的辅助线程1和线程2,等待被启用;
步骤2:开启主线程,执行病理扫描仪进行滑动扫描,单次成像的图像称为子图像块,其像素大小为256×256,会被即时缓存至本地目标临时文件夹中,同时添加子图像块的编号、缓存路径、扫描坐标、检查状态、离焦距离和重扫次数到数据库Database A;
步骤3:启动辅助线程1,线程1需要循环扫描数据库Database A,读取待检查的子图像块,根据其坐标信息组成一个Block区域,该区域由64张子图像块组成,将Block区域合成为一张Block图像,对Block图像进行预处理操作,分别得到Block区域归一化图像、Block区域内的四个角落与中心图像和Block区域梯度图像;
步骤4:对步骤3中得到的三类图像,分别送入编码器A、B和C中,分别再经过全局平均池化处理后,送入全连接层中学习,得到二值分类输出:清晰和模糊;
步骤5:依据步骤4的二值结果,更新Database A中的检查状态字段,若分类结果为清晰,则跳转步骤3,循环执行;若分类结果为模糊,则将当次输入的Block区域所包含的64张子图像块编号添加至缓存队列Queue A;
步骤6:启动辅助线程2,从缓存队列Queue A中,获取到子图像块编号,进入Database A中查询其相关信息,主要获取路径字段,依据路径读取子图像块;
步骤7:将步骤6中获取到的子图像块,全部送入通道增强的MobileNetV2网络模型中,得到预测的子图像块离焦等级,将等级转换为实际离焦距离,并将该图像块编号送入缓存队列B中,同时更新Database A中的图像离焦距离字段;当缓存队列B中的消息数量达到预警值T1,将通知主线程寻找合适时机准备重扫;
步骤8:当主线程决定重扫后,开始消费缓存队列B中的消息,获取到待重扫子图像块,根据该图像块的重扫次数,判断是否进一步重扫,依据该图像块的离焦距离将显微扫描仪的镜头焦距调整到正确的数值,重新扫描后的子图像块会覆盖原始路径下的文件,并更新Database A中的检查状态为待检查,将子图像块的重扫次数加一;
步骤9:聚合所有子图像块为单个全切片图像文件,扫描结束后,将重扫失败坐标、重扫次数、总计故障图像块占比缓存至附加.txt文件中;当总计故障图像块占比大于阈值T3,需要人工清理玻片或检查扫描仪,再执行整片重扫。
3.如权利要求2所述的一种基于轻量化网络的扫描病理图像快速聚焦方法,其特征在于,所述步骤1中,初始化基本的环境配置,过程如下:
步骤1.1:创建数据库Database A,初始化图像Image表,存储字段包含:图像编号、缓存路径、扫描坐标、检查状态、离焦距离和重扫次数,其中临时图像编号是生成的唯一编号,缓存路径是图像的保存路径,扫描坐标是相对于整个扫描区域的坐标,左上角为原点,向下为纵轴正方向,向右为横轴正方向,检查状态包含:待检查、清晰、模糊、背景和故障,离焦距离为后续神经网络模型的预测结果,重扫次数为此图像块区域被重新扫描的次数;
步骤1.2:创建线程池,配置线程池中总数为2,从线程池中新建辅助线程1和线程2,等待被分配任务后启用。
4.如权利要求2或3所述的一种基于轻量化网络的扫描病理图像快速聚焦方法,其特征在于,所述步骤2中,持久化扫描的临时图像信息,过程如下:
步骤2.1:主线程开启后,显微扫描镜头被分配调度资源,开始执行滑动窗口扫描,成像256×256大小像素的临时图像;
步骤2.2:将临时图像的编号、缓存路径、扫描坐标、检查状态、和重扫次数信息插入数据库Database A的Image表中。
5.如权利要求2或3所述的一种基于轻量化网络的扫描病理图像快速聚焦方法,其特征在于,所述步骤3中,捕获待检查的Block区域及对其预处理,过程如下:
步骤3.1:启动辅助线程1,循环扫描数据库Database A的Image表,判断其中的检查状态字段的值是否为待检查,若为待检查,则获取其坐标信息,以此作为坐标系原点,扩展矩形区域,找到Block区域内的所有子图像;
步骤3.2:将Block区域内的所有子图像合成为整张Block图像,缓存为JPEG格式图像;
步骤3.3:将获取到的Block图像,执行OTSU阈值分割法,过滤白色背景面积超过阈值T0的图像块;
步骤3.4:若图像块被过滤,更新Database A的Image表中检查状态的值为背景,继续执行步骤3.1~3.3,消费Queue A中的下一个消息;
步骤3.5:若未被过滤,先执行Vahadane染色归一化方法,得到归一化后的Norm_Block图像;
步骤3.6:使用OpenCV库中的图像工具裁剪出Norm_Block图像中左上角、右上角、左下角、右下角和中心等5个子图像Son_Image;
步骤3.7:使用OpenCV库中的Sobel梯度算子,基于原始Norm_Block图像在2个方向上执行梯度运算,即水平方向和垂直方向,得到2张梯度图像,再进行进行二维均值化运算,合并为一张梯度图像Gradient_Block。
6.如权利要求2或3所述的一种基于轻量化网络的扫描病理图像快速聚焦方法,其特征在于,所述步骤4中,将Block图像及其多维度信息交付给神经网络,预测该图像是否清晰,过程如下:
步骤4.1:将步骤3.5~3.7中得到的Norm_Block图像块、Son_Image图像块和Gradient_Block,分别送入到三个相同结构但不同参数的编码器A、B和C中,分别得到三张特征映射图Feature_A、Feature_B和Feature_C;
步骤4.2:使用全局平均池化处理步骤4.1得到的三个特征映射图,得到三个嵌入向量Embedding_A、Embedding_B和Embedding_C;
步骤4.3:使用Pytorch中的Tensor的拼接函数来拼接这三个嵌入向量后,得到新的嵌入向量New_Embedding;
步骤4.4:将新的嵌入向量New_Embedding直接送入预训练好的全连接网络中进行二值分类,鉴别出清晰或模糊。
7.如权利要求2或3所述的一种基于轻量化网络的扫描病理图像快速聚焦方法,其特征在于,所述步骤5中,保持Database A的Image表中最新状态和利用缓存队列异步执行精检阶段,过程如下:
步骤5.1:确定Block区域内所有子图像的编号,更新Database A的Image表中检查状态字段的值,将其更新为步骤4的二值结果,即清晰或模糊,步骤5.2:若步骤4的鉴别结果为清晰,则继续执行步骤3~4;
步骤5.3:若步骤4的鉴别结果为模糊,将该Block区域子图像块编号,送入缓存队列Queue A中,等待其他线程消费。
8.如权利要求2或3所述的一种基于轻量化网络的扫描病理图像快速聚焦方法,其特征在于,所述步骤6中,启用辅助线程异步执行精简阶段,提高处理效率,过程如下:
步骤6.1:启动辅助线程2,不断从缓存队列Queue A中执行消费操作,每次取一个子图像编号作为执行任务;
步骤6.2:依据子图像编号从Database A的Image表中获取子图像的缓存路径,使用系统的文件读取系统,传参缓存路径,获取子图像文件。
9.如权利要求2或3所述的一种基于轻量化网络的扫描病理图像快速聚焦方法,其特征在于,所述步骤7中,使用通道增强的MobileNetV2网络模型预测模糊图像区域的具体离焦距离,过程如下:
步骤7.1:将步骤6获取的子图像输入到进的通道增强的MobileNetV2网络模型中,获取到该输入的离焦等级;
步骤7.2:根据该网络的分类输出定义规则,计算出实际的离焦距离,并更新DatabaseA的Image表的离焦距离;
步骤7.3:将分类网络模型预测好的图像编号,加入到缓存队列B中,等待主线程重扫消费;
步骤7.4:检查缓存队列B中的消息数量,是否超过阈值T1,若超过则通知主线程准备重扫该图像区域。
10.如权利要求2或3所述的一种基于轻量化网络的扫描病理图像快速聚焦方法,其特征在于,所述步骤8中,主线程执行重扫,保证图像清晰,过程如下:
步骤8.1:当主线程开始重扫后,读取缓存队列B中子图像编号,根据此编号从DatabaseA中查询子图像的缓存路径、坐标、离焦距离和重扫次数;
步骤8.2:检测重扫次数是否大于阈值T2,当重扫次数大于阈值T2后,更新Database A中的检查状态为故障,停止当前子图像的重扫,继续重扫下一子图像,防止程序陷入死循环;
步骤8.2:根据步骤8.1中获取的离焦距离,移动扫描镜头到指定坐标位置,然后调整焦距为预测的离焦距离;
步骤8.3:执行重扫动作,将重扫后图像保存在原始的缓存路径中,该图像的像素大小为256×256,更新Database A中检查状态设为待检查,更新重扫次数为加一后的值;
所述步骤9中,整张切片扫描结束,持久化扫描过程相关信息,过程如下:
步骤9.2:将所有子图像块组合成全切片图像格式的单体文件,如.SVS格式;
步骤9.2:在扫描结束后,扫描Database A,找到检查状态为故障的字段,并统计其个数,计算故障图像块个数与总图像块占比;
步骤9.3:缓存所有的图像块重扫失败的坐标、重扫总次数和重扫占比至全切片图像同名txt文件中;
步骤9.4:当总计故障图像块占比大于阈值T3,需要提醒当前全切片图像不合格,需要人工清理玻片或检查扫描仪,再执行整片重扫。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311686133.4A CN117455791A (zh) | 2023-12-08 | 2023-12-08 | 一种基于轻量化网络的扫描病理图像快速聚焦方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311686133.4A CN117455791A (zh) | 2023-12-08 | 2023-12-08 | 一种基于轻量化网络的扫描病理图像快速聚焦方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117455791A true CN117455791A (zh) | 2024-01-26 |
Family
ID=89587741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311686133.4A Pending CN117455791A (zh) | 2023-12-08 | 2023-12-08 | 一种基于轻量化网络的扫描病理图像快速聚焦方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117455791A (zh) |
-
2023
- 2023-12-08 CN CN202311686133.4A patent/CN117455791A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7422825B2 (ja) | 顕微鏡スライド画像のための焦点重み付き機械学習分類器誤り予測 | |
Haurum et al. | A survey on image-based automation of CCTV and SSET sewer inspections | |
US8600143B1 (en) | Method and system for hierarchical tissue analysis and classification | |
CN113837079B (zh) | 显微镜的自动对焦方法、装置、计算机设备和存储介质 | |
US9330336B2 (en) | Systems, methods, and media for on-line boosting of a classifier | |
CN112380900A (zh) | 基于深度学习的子宫颈液基细胞数字图像分类方法及系统 | |
CN113962976B (zh) | 用于病理玻片数字图像的质量评估方法 | |
CN110853005A (zh) | 一种免疫组化膜染色切片诊断方法及装置 | |
CN114945941A (zh) | 用于支持肿瘤检测和分析的非肿瘤分割 | |
CN112508952B (zh) | 一种病理切片双物镜自适应扫描控制方法及系统 | |
CN112464802B (zh) | 一种玻片样本信息的自动识别方法、装置和计算机设备 | |
CN117690128B (zh) | 胚胎细胞多核目标检测系统、方法和计算机可读存储介质 | |
KR20220117328A (ko) | 금속 조직의 상의 분류 방법, 금속 조직의 상의 분류 장치, 금속 조직의 상의 학습 방법, 금속 조직의 상의 학습 장치, 금속 재료의 재료 특성 예측 방법 및 금속 재료의 재료 특성 예측 장치 | |
CN114399764A (zh) | 一种病理切片的扫描方法及系统 | |
CN117455791A (zh) | 一种基于轻量化网络的扫描病理图像快速聚焦方法 | |
Dinç et al. | Super-thresholding: Supervised thresholding of protein crystal images | |
Samudrala et al. | Semantic Segmentation in Medical Image Based on Hybrid Dlinknet and Unet | |
CN117831032A (zh) | 一种融合扫描原理与癌症性质判别的一体化扫描方法 | |
JP2014142213A (ja) | 撮影パラメータ決定装置及びその制御方法 | |
KR102452192B1 (ko) | 반려 동물의 식별을 위한 객체의 이미지를 필터링하기 위한 방법 및 장치 | |
EP4322120A1 (en) | Method for photographing object for identifying companion animal, and electronic device | |
KR20230001557A (ko) | 반려 동물의 식별을 위한 객체를 촬영하기 위한 방법 및 장치 | |
Danapaquiame | A Deep Learning Neural Network Techniques in Visualization, Imaging Data Acquisition And Diagnosis for Covid-19 | |
CN117994783A (zh) | 甲状腺细胞病理全玻片图像分类方法 | |
CN117651968A (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 |