CN116311243A - 一种基于显微镜图像的藻类检测方法及系统 - Google Patents
一种基于显微镜图像的藻类检测方法及系统 Download PDFInfo
- Publication number
- CN116311243A CN116311243A CN202310284698.3A CN202310284698A CN116311243A CN 116311243 A CN116311243 A CN 116311243A CN 202310284698 A CN202310284698 A CN 202310284698A CN 116311243 A CN116311243 A CN 116311243A
- Authority
- CN
- China
- Prior art keywords
- algae
- image
- data
- detection
- sequence
- 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.)
- Granted
Links
- 241000195493 Cryptophyta Species 0.000 title claims abstract description 201
- 238000001514 detection method Methods 0.000 title claims abstract description 138
- 238000001000 micrograph Methods 0.000 title claims abstract description 10
- 239000007788 liquid Substances 0.000 claims abstract description 43
- 238000012216 screening Methods 0.000 claims abstract description 23
- 230000000007 visual effect Effects 0.000 claims abstract description 18
- 238000013136 deep learning model Methods 0.000 claims abstract description 16
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims abstract description 12
- 238000005192 partition Methods 0.000 claims description 50
- 238000000034 method Methods 0.000 claims description 43
- 241000894007 species Species 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000001914 filtration Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000192542 Anabaena Species 0.000 description 1
- 239000002028 Biomass Substances 0.000 description 1
- 241001474374 Blennius Species 0.000 description 1
- 241000192701 Microcystis Species 0.000 description 1
- 210000004102 animal cell Anatomy 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/69—Microscopic objects, e.g. biological cells or cellular parts
- G06V20/695—Preprocessing, e.g. image segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/20—Image preprocessing
- G06V10/30—Noise filtering
-
- 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/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/69—Microscopic objects, e.g. biological cells or cellular parts
- G06V20/698—Matching; Classification
-
- 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/10—Image acquisition modality
- G06T2207/10056—Microscopic image
-
- 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]
-
- 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/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于显微镜图像的藻类检测方法及系统,包括以下步骤:S1:采集水样不同液层的图像数据,获得序列图像;S2:计算所述序列图像的清晰度;S3:从所述序列图像中筛选出清晰度满足预设要求的图像数据;S4:构建藻类深度学习模型,利用所述藻类深度学习模型,在筛选出来的每张清晰图像上检测藻类种属和对应的像素坐标;S5:对所有筛选出来的清晰图像上检测出来的藻类结果进行合并,实现单视野下多液层藻类检测的目标。本发明将不同液层采集的清晰图像数据进行藻类检测与识别,然后将它们的检测结果进行合并,可以实现单视野下多液层藻类检测的目标。
Description
技术领域
本发明属于水生态环境监测技术领域,具体涉及一种基于显微镜图像的藻类检测方法及系统。
背景技术
利用显微镜和高清工业相机获得的藻类图像之后,为了计算出样品中的藻密度、生物量等相关指标,需要从采集的图像中识别出藻类的种属和它的坐标位置。
现有技术中提出了基于深度学习模型对细胞进行识别的方法,这些方法都是基于动物细胞的识别方法,细胞种类较单一。浮游藻类的种类较多,大小差异较大,有些浮游藻类分布在液位上层,有些浮游藻类分布在液位中、下层,现有技术较难获得理想的检测效果。
发明内容
针对现有技术的不足,本发明提出了一种基于显微镜图像的藻类检测方法及系统,该方法利用400倍的显微镜成像系统,对单个视野下液位从上层到下层进行持续扫描,采集不同液层的图像数据。再分别计算序列图像的清晰度,并从中筛选出清晰度满足要求的图像,然后通过藻类深度学习模型在这些图像上检测出藻类种属和它的像素坐标,最后将不同液层采集的图像上检测出的藻类数据进行合并,实现单个视野(单点)下不同液位层藻类检测的目标。
为实现上述目的,本发明提供了如下方案:
一种基于显微镜图像的藻类检测方法,包括以下步骤:
S1、采集水样不同液层的图像数据,获得序列图像;
S2、计算所述序列图像的清晰度;
S3、从所述序列图像中筛选出清晰度满足预设要求的图像数据;
S4、构建藻类深度学习模型,利用所述藻类深度学习模型,在筛选出来的每张清晰图像上检测藻类种属和对应的像素坐标;
S5、对所有筛选出来的清晰图像上检测出来的藻类结果进行合并,实现单视野下多液层藻类检测的目标。
优选的,所述S1中,采集水样不同液层的图像数据,获得序列图像的方法为:
通过预设精度的微米级三轴运动平台,控制显微镜相机上下移动,对单个视野下液位从上层到下层进行扫描,并持续拍摄照片,获得序列图像。
优选的,所述S2中,计算所述序列图像的清晰度的方法为:
对采集的序列图像进行缩放处理;
对缩放后的序列图像进行灰度化处理;
对灰度化后的序列图像进行高斯去噪处理;
计算去噪后的序列图像的拉普拉斯梯度值;
对拉普拉斯梯度图像进行分区,并统计各个分区的拉普拉斯梯度平均值作为对应图像的清晰度指标。
优选的,所述S3中,从所述序列图像中筛选出清晰度满足预设要求的图像数据的方法为:
S31:以分区为单位,为序列图像构建清晰度数据;
S32:基于所述清晰度数据,从分区的序列图像中筛选出清晰的图像,并记录清晰图像的索引ID;
S33:为每个分区,按所述S32,筛选出清晰的图像和对应的索引ID;
S34:将所有分区筛选出来的清晰图像索引ID进行合并去重,得到序列图像中所有清晰的图像数据。
优选的,所述S4中,在筛选出来的每张清晰图像上检测藻类种属和对应的像素坐标的方法为:
对筛选出来的清晰图像,进行图像缩放操作;
在缩放后的图像上,以所述藻类目标检测模型输入尺寸为单位,按预设倍数的藻类目标检测模型输入尺寸为滑动窗口,计算图像分区的坐标;
以计算的分区坐标为单位,从缩放后的图像上截取图像分区数据,超出缩放图像边界的部分采用固定RGB值来进行填充;
将所有图像分区数据一次性输入所述藻类目标检测模型中进行推理计算,将各个图像分区检测的藻类结果,按分区坐标换算为原缩放后图像上的坐标位置;
将所有图像分区检测的藻类结果进行合并,得到单张清晰图像的藻类检测结果。
优选的,所述S5中,实现单视野下多液层藻类检测的目标的方法为:
对每张筛选出来的清晰图像按所述S4检测对应的藻类数据;
将单视野下所有清晰图像检测的藻类数据进行合并,实现单个视野下不同液位层藻类检测的目标。
优选的,将单视野下所有清晰图像检测的藻类数据进行合并的方法为:
对种属相同,且藻类坐标在另一个藻类内部的数据进行合并处理;
对种属相同,藻类坐标相交的数据进行合并处理;
按不同分区检测结果的最高置信度,设置合并后的同种属藻类数据的置信度;
为每个种属藻类单独设置检测置信度阈值,对合并后的同种属藻类数据进行过滤操作,并将合并后同种属藻类数据中置信度低于设置的置信度阈值的藻类检测数据进行删除处理;
对不同种属藻类数据进行合并操作;
基于满足置信度预设要求的合并后的同种属藻类数据和合并后的不同种属藻类数据,得到单张图像上藻类检测的结果。
本发明还提供了一种基于显微镜图像的藻类检测系统,包括:采集模块、计算模块、筛选模块、构建与检测模块和数据合并模块;
所述采集模块用于采集水样不同液层的图像数据,获得序列图像;
所述计算模块用于计算所述序列图像的清晰度;
所述筛选模块用于从所述序列图像中筛选出清晰度满足预设要求的图像数据;
所述构建与检测模块用于构建藻类深度学习模型,利用所述藻类深度学习模型,在筛选出来的每张清晰图像上检测藻类种属和对应的像素坐标;
所述数据合并模块用于对所有筛选出来的清晰图像上检测出来的藻类结果进行合并,实现单视野下多液层藻类检测的目标。
与现有技术相比,本发明的有益效果为:
本发明通过微米级高精度三轴运动平台,控制显微镜成像系统(显微镜+高帧率高分辨率工业相机)对水样从液位上层向下层进行扫描,并持续拍摄照片,采集的图像数据覆盖了不同液层的藻类,提高了藻类数据采集的准确性和全面性。
本发明通过图像清晰度计算和图像清晰度筛选方法,高效且有效地从序列图像(约400张图像)中找出待识别的清晰图像数据(约2~8张图像),极大地提高了多液层藻类检测的效率。
本发明藻类深度学习目标检测模型的输入尺寸为固定大小,图像的分辨率为3072*3072,若直接将筛选出来的清晰图像缩放成藻类目标检测模型的输入尺寸,那么图像中的很多细节信息会丢失,尤其是体型较小的藻类图像,特征退化较严重,容易引起漏检和误检的问题。针对这一问题,通过适当地图像缩放操作和图像分区检测与合并的策略,实现了对不同体型藻类的高精度检测,并通过藻类目标检测模型批处理的方式,提高了图像分区检测的效率。
本发明将不同液层采集的清晰图像数据进行藻类检测与识别,然后将它们的检测结果进行合并,可以实现单视野下多液层藻类检测的目标。
附图说明
为了更清楚地说明本发明的技术方案,下面对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种基于显微镜图像的藻类检测方法流程图;
图2是本发明的多液层数据采集示意图;
图3是本发明的图像清晰度计算流程图;
图4是本发明的分区计算图像拉普拉斯梯度均值示意图;
图5是本发明的清晰图像筛选流程图;
图6是本发明的从分区序列图像中筛选清晰图像流程图;
图7是本发明的单张图像藻类检测流程图;
图8是本发明的图像分区坐标计算示意图;
图9是本发明的单张图像藻类检测数据合并流程图;
图10是本发明的单张图像同种属藻类内部检测数据合并流程图;
图11是本发明的计算两个藻类检测数据的最大包围坐标示意图;
图12是本发明的单张图像同种属藻类相交检测数据合并流程图;
图13是本发明的单张图像不同种属藻类检测数据合并流程图;
图14是本发明的多液层藻类检测数据合并流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,本发明公开了一种基于显微镜图像的藻类检测方法,它包括以下步骤:
S1:采集水样不同液层的图像数据,获得序列图像;
S2:计算序列图像的清晰度;
S3:从序列图像中筛选出清晰度满足预设要求的图像数据;
S4:构建藻类深度学习模型,利用藻类深度学习模型,在筛选出来的每张清晰图像上检测藻类种属和对应的像素坐标;
S5:对所有筛选出来的清晰图像上检测出来的藻类结果进行合并,实现单视野下多液层藻类检测的目标。
参照图2,所述液位分层图像采集包括以下内容:
⑴通过微米级高精度三轴运动平台,控制显微镜成像系统对水样从液位上层向下层进行扫描,并持续拍摄照片,实现液位分层图像采集功能;
⑵通过高帧率和高分辨率工业相机,单视野下(X、Y坐标不变),液位分层方式(Z轴上下移动拍摄)可采集约400张图像数据。
参照图3,所述图像清晰度计算流程包括以下内容:
⑴为了降低图像噪声对清晰度计算的干扰和提高算法运行效率,首先对采集的图像进行缩放处理,得到ResizedImg,优选的缩放尺寸为320*320分辨率;
⑵然后对ResizedImg图像进行灰度化处理,得到GrayImg;
⑶在GrayImg上进行高斯模糊化处理,得到GaussianImg;
⑷在GaussianImg上计算拉普拉斯梯度,得到LaplaceImg;
⑸在LaplaceImg图像上,选择6个ROI区域,分别计算6个ROI区域内的拉普拉斯梯度均值;
⑹为采集的每张图像执行以上步骤。
参照图4,所述分区计算图像拉普拉斯梯度均值示意图如下:
⑴图像上不同体型藻类的分布存在较大的随机性。因此,在筛选清晰图像的时候,不仅需要考虑图像的全局清晰度指标,也要考虑图像局部的清晰度指标。我们在LaplaceImg图像上,设置了6个ROI区域,依次是R1~R6,其中R1=(0,0,W,H),表示全图清晰度指标;R2=(0,0,W/2,H/2),表示左上图像局部清晰度指标;R3=(W/2,0,W/2,H/2),表示右上图像局部清晰度指标;R4=(0,H/2,W/2,H/2),表示左下图像局部清晰度指标;
R5=(W/2,H/2,W/2,H/2),表示右下图像局部清晰度指标;
R6=(W/4,H/4,W/2,H/2),表示中间图像局部清晰度指标;
⑵在LaplaceImg上,分别计算R1~R6区域的拉普拉斯梯度均值。创建一个结构体imageSharpenessData,该结构体包含6个浮点型变量,依次是sp1~sp6。分别将计算的R1~R6区域内拉普拉斯梯度均值赋值给sp1~sp6;
⑶为了进一步降低图像清晰度指标(sp1~sp6)的抖动性,对imageSharpenessData结构体下sp1~sp6的值保留小数点后1位处理。
参照图5,所述清晰图像筛选流程包括以下内容:
⑴构造一个vector<imageSharpenessData>data变量,将所有图像计算的清晰度指标保存在data中,以data[0]为例,表示第一张图像上计算的清晰度指标,该指标是imageSharpenessData结构体,包含第一张图像在6个不同分区的清晰度参数(sp1~sp6),以此类推,data[1]存放的是第二张图像在6个不同分区的清晰度参数(sp1~sp6)。
⑵构造一个vector<vector<float>>SharpenessData变量,将data按照分区进行整理,并赋值给SharpenessData。以SharpenessData[0]为例,它是一个vector<float>型的结构,里面存放了所有图像在第一个分区R1下计算的全局图像清晰度参数sp1。以此类推,SharpenessData[1]存放的是所有图像在第二个分区R2下计算的左上图像局部清晰度参数sp2。
⑶创建一个vector<vector<int>>label结构体,分别将R1~R6不同分区筛选出来的清晰图像索引ID压入label中。以SharpenessData[0]为例,从R1分区序列图像的清晰度指标sp1中,筛选出全局清晰图像的索引ID,将这些ID压入label[0]中。以此类推,通过SharpenessData[1]数据,从R2分序列图像的清晰度指标sp2中,筛选出左上局部清晰图像的索引ID,将这些ID压入label[1]中。
⑷构造vector<int>Sharpeness_Index结构体,分析label中的清晰图像索引ID,对其进行去重处理,然后将不重复的图像索引ID保存在Sharpeness_Index中。
⑸按照Sharpeness_Index里保存的图像索引ID,从序列图像中找到清晰的图像数据。
参照图6,所述从分区序列图像中筛选清晰图像流程包括以下内容:
⑴在序列图像中,拍摄到藻类时,图像的清晰度变化会呈现清晰度数值连续逐渐变大,到达峰值后,又连续逐渐降低的过程。因此,可以利用此特征从序列图像中找到清晰的图像。
⑵下面以查找全局清晰图像(SharpenessData[0])为例,说明如何从序列图像中筛选出清晰的图像,假设采集的序列图像为400张。
⑶创建一个vector<int>label_f结构体,label_f的大小为399。从SharpenessData[0]中第2个元素开始比较它与上一个元素的大小,即比较相邻前后两张图像的全局清晰度数值。如果SharpenessData[0][i+1]>SharpenessData[0][i],那么label_f[i-1]=1,反之label_f[i-1]=0。
⑷设置一个int型计数器count变量,查询label_f中的数值,如果label_f[i]=1,则计数器加1;如果label_f[i]=0,那么开始分析此时count的数值。
⑸如果count数值小于设置的阈值(优选地该阈值设置为5,表示清晰度数值连续逐渐变大五次),表示当前图像不满足聚焦特征,对计数器进行置零操作(count=0);如果count数值大于设置的阈值,将进一步分析SharpenessData[0][i]的值(当前图像的清晰度数值)。
⑹如果SharpenessData[0][i]的值小于设置的阈值,优选的该值为1.5,表示该图像清晰度不满足要求,对计数器进行置零操作(count=0);如果SharpenessData[0][i]的值大于设置的阈值,则表示索引ID为i的图像是清晰的图像,将索引i保存起来,然后对计数器进行置零操作(count=0)。
参照图7,所述单张图像藻类检测流程包括以下内容:
⑴对筛选出来的清晰图像,采用双线性插值法进行图像缩放操作,优选地,缩放比例设置为0.8倍。通过大量实验观察发现:对图像进行0.8倍缩放操作后,图像的清晰度及不同体型大小的藻类特征不会产生肉眼可见的变化,缩放后的图像为resizedImg1。
⑵由于相机的分辨率是固定的,因此,采集的图像分辨率也是不变的。为了提高算法运行的效率,可以在初始化阶段计算一次resizedImg1的分区坐标,后面可以直接按这些坐标从resizedImg1的图像上构造批处理图像数据。
⑶构造一个vector<cv::Rect>cropROI结构体,以藻类目标检测模型输入尺寸为单位在resizedImg1上构建图像分区,并将分区坐标存放在cropROI中。
⑷按照cropROI中的分区坐标,从resizedImg1上截取图像分区数据,超出resizedImg1边界的部分采用像素值RGB(114,114,114)来进行填充。
⑸将所有图像分区数据一次性送入到藻类目标检测模型中进行推理(BatchInference);将各个图像分区检测的藻类结果,按分区坐标换算为resizedImg1图像上的坐标位置。
⑹创建一个vector<AlgaeDATA>detData结构体,其中AlgaeDATA也是一个结构体,它包含conf,box和ID这三个变量,分别表示藻类检测的置信度、藻类在resizedImg1图像的坐标和藻类种属ID。将步骤⑸检测的结果按AlgaeDATA进行赋值,并存入detData中,用于后续数据合并工作。
⑺对detData中的藻类数据进行合并,将合并后的数据作为单张清晰图像的藻类检测结果。
参照图8,将结合图像分区坐标计算示意图说明图像分区计算的方法:
⑴原始图像的分辨率为3072*3072,因此,resizedImg1的分辨率为2458*2458,(0.8*3072)。
⑵优选地,藻类目标检测模型的输入尺寸为1280*1280,滑动窗口stride的大小按0.8倍的藻类目标检测模型输入尺寸来计算,为1024(0.8*1280),即在进行滑动检测时,存在20%左右重叠的图像区域。
⑶举例说明图像分区坐标计算,cropROI[0]的坐标是(0,0,2458,2458),cropROI[1]的坐标是(0,0,1280,1280),cropROI[2]的坐标是(1024,0,1280,1280),cropROI[3]的坐标是(2048,0,410,1280),超出resizedImg1边界的部分采用像素值RGB(114,114,114)来进行填充。以此类推,cropROI中共包含10个分区坐标。
⑷cropROI[0]对应resizedImg1全图数据,将全图缩放到藻类目标检测模型输入尺寸(1280*1280)来进行检测,主要用于检测大型藻类,例如:颤藻、鱼腥、微囊藻等。cropROI[1]~cropROI[9]的分区主要用来检测图像中的中小型藻类。通过图像分区检测的策略,保证了藻类目标检测模型具备对图像中不同体型大小的藻类均实现高精度检测的能力。
参照图9,所述藻类检测数据合并流程包括以下内容:
⑴对种属相同,且藻类坐标在另一个藻类内部的数据进行合并处理。
⑵对种属相同,藻类坐标相交的数据进行合并处理。
⑶由于图像分区时,会将边界部分的藻类给截取掉,造成藻类目标检测模型的置信度较低。通过同种属藻类数据合并操作,合并后的藻类的置信度按不同分区检测结果的最高置信度来设置。
⑷为每个种属藻类单独设置检测置信度阈值,对藻类检测结果进行过滤操作,删除置信度低于阈值的藻类检测数据。
⑸对不同种属藻类数据进行合并操作,得到单张图像上藻类检测的结果。
参照图10,所述同种属藻类内部检测数据合并流程包括以下内容:
⑴假设A与B是detData中两个不同的检测数据,首先判断A与B的ID是否一致(是否为同一种属)。
⑵如果A与B的ID不相同,将不进行合并操作;如果A与B的ID相同,则通过A与B的box坐标计算它们的包围属性,包围属性为枚举型变量type,它有三种属性,第一个属性是未知,是默认属性;第二个属性是A包围B;第三个属性是B包围A。
⑶A与B的包围属性计算方法为:通过A的box计算A的像素面积为areaA,通过B的box计算B的像素面积为areaB,根据A与B的box坐标位置,计算A与B的相交像素面积areaI。计算areaI与areaA的比值ratioA,如果ratioA大于设置的包围阈值(优选地该阈值为0.8),那么对type赋值为A包围B,将A与B的检测数据合并后赋值给A,然后删除B。
⑷如果ratioA小于设置的包围阈值,那么,进一步计算areaI与areaB的比值ratioB,如果ratioB大于设置的包围阈值(优选地该阈值为0.8),那么对type赋值为B包围A,将A与B的检测数据合并后赋值给B,然后删除A。
⑸如果ratioA与ratioB都小于设置的包围阈值,那么,说明同种属的A与B,没有相互包围,将不进行处理。
⑹任意两个检测数据(A与B或B与A)合并的方法为:创建一个新的AlgaeDATA结构体,通过A与B的box坐标计算最大包围坐标,将该坐标赋值给AlgaeDATA的box变量;比较A与B的conf值,将conf值较大的conf数值和ID分别赋值给AlgaeDATA的conf变量和ID变量。
参照图11,所述计算两个藻类检测数据的最大包围坐标包括以下内容:
⑴假设A与B是detData中两个不同的检测数据,A中box的坐标是x1,y1,w1和h1;B中box的坐标是x2,y2,w2和h2。x坐标和y坐标表示左上角顶点坐标,w表示box的宽,h表示box的高。
⑵创建一个新的box结构体tempBox,比较x1和x2,将较小者赋值给tempBox的x变量。同理,比较y1和y2,将较小者赋值给tempBox的y变量。
⑶计算A中box的X方向和Y方向的最大值坐标x1max与y1max,x1max=x1+w1,y1max=y1+h1。同理计算B中box的X方向和Y方向的最大值坐标x2max与y2max。
⑷比较x1max与x2max,将较大者赋值给xmax。比较y1max与y2max,将较大者赋值给ymax。
⑸tempBox中w变量的值等于xmax减去tempBox中x变量的值。tempBox中h变量的值等于ymax减去tempBox中y变量的值。
参照图12,所述同种属藻类相交检测数据合并的流程包括以下内容:
⑴将detData中藻类检测的数据按置信度conf的值从大到小进行排序,假设排序后的藻类检测数据用vector<AlgaeDATA>A来表示。然后创建一个新的vector<AlgaeDATA>B结构体来存放同种属藻类相交检测数据合并后的结果。
⑵创建一个布尔型变量find_match,表示是否进行了数据合并操作。调查A中每个数据Ai,每个Ai进行分析时将find_match赋值为false,表示未进行数据合并操作。
⑶将A中每个数据Ai分别与B中每个数据Bi进行分析,如果B为空(没有数据),或者B中全部Bi完成了分析,那么进一步判断find_match的值,如果find_match值为false,表示Ai没有与B中数据进行合并操作,那么直接将Ai存入B中。
⑷Ai与Bi进行分析的流程是:首先判断Ai与Bi的种属ID,若ID相同,进一步计算Ai与Bi的重叠度。如果重叠度大于设置的阈值(优选地,该阈值为0.55),那么将Ai与Bi的数据进行合并,然后赋值给Bi,并将find_match赋值为true。
⑸Ai与Bi的重叠度计算方法为:通过Ai的box计算Ai的像素面积area1,通过Bi的box计算Bi的像素面积area2,根据Ai与Bi的box坐标位置,计算Ai与Bi的相交像素面积areaIS。计算Ai与Bi的最大包围坐标,计算方式参照计算两个藻类检测数据的最大包围坐标的步骤,以最大包围坐标来计算最大包围面积areaT。计算areaIS与areaT的比值,该比值即为Ai与Bi的重叠度。
⑹A中所有数据分析完成后,B中数据即为同种属藻类相交检测数据合并后的结果。
为每一种属的藻类定义一个独立的置信度阈值,对同种属藻类相交检测数据合并后的结果进行过滤,比较每个藻类检测数据的置信度是否小于该种属的置信度阈值,删除小于种属置信度阈值的检测数据。
先进行同种属检测数据合并,然后再对合并后的数据进行种属置信度阈值过滤的原因是:对resizedImg1图片按目标检测模型输入尺寸进行切片时会将图像中部分藻类切断,尤其是长条型藻类,例如:颤藻、鱼腥藻等。这样会造成目标检测模型在识别这些图像时,容易出现:检测的藻类阈值偏低,以及坐标不完整的问题。通过同种属检测数据合并流程,可以将这些数据进行合并,得到完整的藻类坐标和最高置信度阈值,然后再进行种属置信度阈值过滤时,就不容易出现藻类检测不完全的问题了。
参照图13,所述不同种属藻类检测数据合并的流程包括以下内容:
⑴完成种属置信度阈值过滤后的藻类检测数据是vector<AlgaeDATA>detData1,分析detData1中任意两个不重复的检测数据,对它们进行不同种属藻类检测数据的合并操作。为了方便说明不同种属藻类检测数据的合并流程,这里假设A和B是detData1中两个不重复的检测数据。
⑵首先判断A与B的种属ID是否一致,如果一致,表示种属相同,不进行处理。
⑶如果A与B的种属ID不一致,那么计算A与B的重叠度,计算方式参照同种属藻类相交检测数据合并的流程步骤中的⑸。如果重叠度大于设置的阈值(优选地,该阈值为0.55),那么将A与B的结果进行合并,合并方式参照同种属藻类内部检测数据合并流程步骤中的⑹,合并后的数据赋值给A,然后删除B。
⑷如果重叠度小于设置的阈值,那么将进一步计算A与B的包围属性,计算方式参照同种属藻类内部检测数据合并流程步骤中的⑶。如果包围属性为A包围B,那么,说明B的坐标在A的坐标内,判断B的置信度阈值是否小于可信阈值(优选地,该阈值为0.85),如果B的置信度阈值低于可信阈值,那么将删除B。
⑸如果包围属性为B包围A,那么,说明A的坐标在B的坐标内,判断A的置信度阈值是否小于可信阈值(优选地,该阈值为0.85),如果A的置信度阈值低于可信阈值,那么将删除A。
⑹对detData1中所有两个不重复的检测数据进行不同种属藻类检测数据合并,得到单张图像藻类检测结果vector<AlgaeDATA>resultI。
构建vector<AlgaeMultiDATA>multiResult结构体,其中AlgaeMultiDATA也是个结构体,它包括ID、conf、box和frameID这几个变量,分别表示藻类种属ID、置信度、藻类坐标和图像帧编号。将每张清晰图像的识别结果按AlgaeMultiDATA结构体进行赋值,然后保存在multiResult中。
参照图14,所述多液层藻类检测数据合并的流程包括以下内容:
⑴构建一个vector<AlgaeMultiDATA>result结构体,用于存放多液层藻类检测数据合并后的最终结果。
⑵将multiResult中所有的检测数据分别与result中检测数据进行合并操作。为了方便说明多液层藻类检测数据合并的流程,这里假设Ai表示multiResult中的检测数据,Ri表示result中的检测数据。
⑶创建一个布尔型变量find_match,表示是否进行了数据合并操作。调查multiResult中每个数据Ai,每个Ai进行分析时将find_match赋值为false,表示未进行数据合并操作。
⑷将multiResult中每个数据Ai分别与result中每个数据Ri进行分析,如果result为空(没有数据),或者result中全部Ri完成了分析,那么进一步判断find_match的值,如果find_match值为false,表示Ai没有与result中数据进行合并操作,那么直接将Ai存入result中。
⑸Ai与Ri进行分析的流程是:首先判断Ai与Ri的图像帧编号是否一致,如果frameID一致,则说明Ai与Ri是一张图像上检测出来的结果,不进行数据合并操作。
⑹如果Ai与Ri的图像帧编号不一致,则计算Ai与Ri的重叠度,重叠度的计算方法参照同种属藻类相交检测数据合并的流程中的步骤⑸。如果重叠度大于设置的阈值(优选地,该阈值为0.55),那么将进一步计算Ai与Ri的帧编号间隔(绝对值)。
⑺如果Ai与Ri的帧编号间隔小于最大帧间隔阈值(优选地,该阈值为10帧,与相机帧率有关),则说明这两张图像拍摄的是相同液层下的藻类数据,可以对Ai与Ri的检测数据进行合并,合并方式参照同种属藻类内部检测数据合并流程中的步骤⑹,合并后的数据赋值给Ri,并将find_match赋值为true。
⑻如果Ai与Ri的帧编号间隔大于最大帧间隔阈值,则说明这两张图像拍摄的是不同液层下的藻类数据,不能对Ai与Ri的检测数据进行合并。
⑼multiResult中所有数据分析完成后,result中数据即为多液层藻类检测数据合并后的最终检测结果。
本发明实现了单视野(单点)多液层藻类检测的目标,在多达400张多液层序列图像数据的规模下,设计了高效地清晰度计算与清晰图像筛选方法,结合图像分区检测、单张图像藻类检测数据合并和多液层藻类检测数据合并操作,在保证藻类检测精度的条件下,极大地提高了藻类检测的效率。
实施例二
本发明还提供了一种基于显微镜图像的藻类检测系统,包括:采集模块、计算模块、筛选模块、构建与检测模块和数据合并模块;
采集模块用于采集水样不同液层的图像数据,获得序列图像;
计算模块用于计算序列图像的清晰度;
筛选模块用于从序列图像中筛选出清晰度满足预设要求的图像数据;
构建与检测模块用于构建藻类深度学习模型,利用藻类深度学习模型,在筛选出来的每张清晰图像上检测藻类种属和对应的像素坐标;
数据合并模块用于对所有筛选出来的清晰图像上检测出来的藻类结果进行合并,实现单视野下多液层藻类检测的目标。
以上所述的实施例仅是对本发明优选方式进行的描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (8)
1.一种基于显微镜图像的藻类检测方法,其特征在于,包括以下步骤:
S1:采集水样不同液层的图像数据,获得序列图像;
S2:计算所述序列图像的清晰度;
S3:从所述序列图像中筛选出清晰度满足预设要求的图像数据;
S4:构建藻类深度学习模型,利用所述藻类深度学习模型,在筛选出来的每张清晰图像上检测藻类种属和对应的像素坐标;
S5:对所有筛选出来的清晰图像上检测出来的藻类结果进行合并,实现单视野下多液层藻类检测的目标。
2.根据权利要求1所述的基于显微镜图像的藻类检测方法,其特征在于,所述S1中,采集水样不同液层的图像数据,获得序列图像的方法为:
通过预设精度的微米级三轴运动平台,控制显微镜相机上下移动,对单个视野下液位从上层到下层进行扫描,并持续拍摄照片,获得序列图像。
3.根据权利要求1所述的基于显微镜图像的藻类检测方法,其特征在于,所述S2中,计算所述序列图像的清晰度的方法为:
对采集的序列图像进行缩放处理;
对缩放后的序列图像进行灰度化处理;
对灰度化后的序列图像进行高斯去噪处理;
计算去噪后的序列图像的拉普拉斯梯度值;
对拉普拉斯梯度图像进行分区,并统计各个分区的拉普拉斯梯度平均值作为对应图像的清晰度指标。
4.根据权利要求3所述的基于显微镜图像的藻类检测方法,其特征在于,所述S3中,从所述序列图像中筛选出清晰度满足预设要求的图像数据的方法为:
S31:以分区为单位,为序列图像构建清晰度数据;
S32:基于所述清晰度数据,从分区的序列图像中筛选出清晰的图像,并记录清晰图像的索引ID;
S33:为每个分区,按所述S32,筛选出清晰的图像和对应的索引ID;
S34:将所有分区筛选出来的清晰图像索引ID进行合并去重,得到序列图像中所有清晰的图像数据。
5.根据权利要求4所述的基于显微镜图像的藻类检测方法,其特征在于,所述S4中,在筛选出来的每张清晰图像上检测藻类种属和对应的像素坐标的方法为:
对筛选出来的清晰图像,进行图像缩放操作;
在缩放后的图像上,以所述藻类目标检测模型输入尺寸为单位,按预设倍数的藻类目标检测模型输入尺寸为滑动窗口,计算图像分区的坐标;
以计算的分区坐标为单位,从缩放后的图像上截取图像分区数据,超出缩放图像边界的部分采用固定RGB值来进行填充;
将所有图像分区数据一次性输入所述藻类目标检测模型中进行推理计算,将各个图像分区检测的藻类结果,按分区坐标换算为原缩放后图像上的坐标位置;
将所有图像分区检测的藻类结果进行合并,得到单张清晰图像的藻类检测结果。
6.根据权利要求1所述的基于显微镜图像的藻类检测方法,其特征在于,所述S5中,实现单视野下多液层藻类检测的目标的方法为:
对每张筛选出来的清晰图像按所述S4检测对应的藻类数据;
将单视野下所有清晰图像检测的藻类数据进行合并,实现单个视野下不同液位层藻类检测的目标。
7.根据权利要求6所述的基于显微镜图像的藻类检测方法,其特征在于,将单视野下所有清晰图像检测的藻类数据进行合并的方法为:
对种属相同,且藻类坐标在另一个藻类内部的数据进行合并处理;
对种属相同,藻类坐标相交的数据进行合并处理;
按不同分区检测结果的最高置信度,设置合并后的同种属藻类数据的置信度;
为每个种属藻类单独设置检测置信度阈值,对合并后的同种属藻类数据进行过滤操作,并将合并后同种属藻类数据中置信度低于设置的置信度阈值的藻类检测数据进行删除处理;
对不同种属藻类数据进行合并操作;
基于满足置信度预设要求的合并后的同种属藻类数据和合并后的不同种属藻类数据,得到单张图像上藻类检测的结果。
8.一种基于显微镜图像的藻类检测系统,其特征在于,包括:采集模块、计算模块、筛选模块、构建与检测模块和数据合并模块;
所述采集模块用于采集水样不同液层的图像数据,获得序列图像;
所述计算模块用于计算所述序列图像的清晰度;
所述筛选模块用于从所述序列图像中筛选出清晰度满足预设要求的图像数据;
所述构建与检测模块用于构建藻类深度学习模型,利用所述藻类深度学习模型,在筛选出来的每张清晰图像上检测藻类种属和对应的像素坐标;
所述数据合并模块用于对所有筛选出来的清晰图像上检测出来的藻类结果进行合并,实现单视野下多液层藻类检测的目标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310284698.3A CN116311243B (zh) | 2023-03-22 | 2023-03-22 | 一种基于显微镜图像的藻类检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310284698.3A CN116311243B (zh) | 2023-03-22 | 2023-03-22 | 一种基于显微镜图像的藻类检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116311243A true CN116311243A (zh) | 2023-06-23 |
CN116311243B CN116311243B (zh) | 2023-10-24 |
Family
ID=86801120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310284698.3A Active CN116311243B (zh) | 2023-03-22 | 2023-03-22 | 一种基于显微镜图像的藻类检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116311243B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117975254A (zh) * | 2024-03-29 | 2024-05-03 | 生态环境部长江流域生态环境监督管理局生态环境监测与科学研究中心 | 一种基于双目图像的着生藻类监测方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630061A (zh) * | 2009-08-17 | 2010-01-20 | 公安部物证鉴定中心 | 工具痕迹光学共聚焦三维数据采集系统及其采集方法 |
CN106570028A (zh) * | 2015-10-10 | 2017-04-19 | 比亚迪股份有限公司 | 移动终端及模糊图像的删除方法和装置 |
US20190012520A1 (en) * | 2016-11-07 | 2019-01-10 | Institute Of Automation, Chinese Academy Of Sciences | Method for Microscopic Image Acquisition Based on Sequential Section |
CN110659658A (zh) * | 2018-06-29 | 2020-01-07 | 杭州海康威视数字技术股份有限公司 | 一种目标检测方法及其装置 |
CN114418995A (zh) * | 2022-01-19 | 2022-04-29 | 生态环境部长江流域生态环境监督管理局生态环境监测与科学研究中心 | 一种基于显微镜图像的级联藻类细胞统计方法 |
-
2023
- 2023-03-22 CN CN202310284698.3A patent/CN116311243B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630061A (zh) * | 2009-08-17 | 2010-01-20 | 公安部物证鉴定中心 | 工具痕迹光学共聚焦三维数据采集系统及其采集方法 |
CN106570028A (zh) * | 2015-10-10 | 2017-04-19 | 比亚迪股份有限公司 | 移动终端及模糊图像的删除方法和装置 |
US20190012520A1 (en) * | 2016-11-07 | 2019-01-10 | Institute Of Automation, Chinese Academy Of Sciences | Method for Microscopic Image Acquisition Based on Sequential Section |
CN110659658A (zh) * | 2018-06-29 | 2020-01-07 | 杭州海康威视数字技术股份有限公司 | 一种目标检测方法及其装置 |
CN114418995A (zh) * | 2022-01-19 | 2022-04-29 | 生态环境部长江流域生态环境监督管理局生态环境监测与科学研究中心 | 一种基于显微镜图像的级联藻类细胞统计方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117975254A (zh) * | 2024-03-29 | 2024-05-03 | 生态环境部长江流域生态环境监督管理局生态环境监测与科学研究中心 | 一种基于双目图像的着生藻类监测方法及系统 |
CN117975254B (zh) * | 2024-03-29 | 2024-06-11 | 生态环境部长江流域生态环境监督管理局生态环境监测与科学研究中心 | 一种基于双目图像的着生藻类监测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116311243B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753698B (zh) | 一种多模态三维点云分割系统和方法 | |
CN110381268B (zh) | 生成视频的方法,装置,存储介质及电子设备 | |
CN108764244B (zh) | 基于卷积神经网络和条件随机场的潜在目标区域检测方法 | |
CN110188802B (zh) | 基于多层特征图融合的ssd目标检测算法 | |
CN116311243B (zh) | 一种基于显微镜图像的藻类检测方法及系统 | |
CN115115797B (zh) | 大场景稀疏光场语义驱动智能重建方法、系统与装置 | |
JP2012208597A (ja) | パターン識別装置、パターン識別方法及びプログラム | |
CN115546027B (zh) | 图像缝合线确定方法、装置以及存储介质 | |
CN111523535A (zh) | 基于机器视觉与深度学习的类圆对象识别计数检测算法 | |
Li et al. | Multi-plane program induction with 3d box priors | |
CN110046623B (zh) | 一种图像特征点提取方法和相机 | |
CN111179173A (zh) | 一种基于离散小波变换和坡度融合算法的图像拼接方法 | |
CN117612153A (zh) | 基于图像与点云信息补全的三维目标识别与定位方法 | |
Li et al. | ConvFormerSR: Fusing transformers and convolutional neural networks for cross-sensor remote sensing imagery super-resolution | |
CN115205793B (zh) | 基于深度学习二次确认的电力机房烟雾检测方法及装置 | |
Rau et al. | Lod generation for 3d polyhedral building model | |
Hyun et al. | Hardware-friendly architecture for a pseudo 2D weighted median filter based on sparse-window approach | |
CN112990263B (zh) | 一种用于密集小目标的高分辨率图像的数据增强方法 | |
CN114708423A (zh) | 基于改进Faster RCNN的水下目标检测方法 | |
Pal | Improved background subtraction technique for detecting moving objects | |
CN112487967A (zh) | 一种基于三维卷积网络的景区涂画行为识别方法 | |
CN112672052A (zh) | 一种图像数据增强方法、系统、电子设备及存储介质 | |
Chen et al. | Infrared and visible image fusion with deep wavelet-dense network | |
Stipes et al. | 4D scan registration with the SR-3000 LIDAR | |
CN112652059B (zh) | 基于Mesh R-CNN模型改进的目标检测与三维重构方法 |
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 |