CN110321891A - 一种联合深度神经网络与聚类算法的大输液药液异物目标检测方法 - Google Patents
一种联合深度神经网络与聚类算法的大输液药液异物目标检测方法 Download PDFInfo
- Publication number
- CN110321891A CN110321891A CN201910431767.2A CN201910431767A CN110321891A CN 110321891 A CN110321891 A CN 110321891A CN 201910431767 A CN201910431767 A CN 201910431767A CN 110321891 A CN110321891 A CN 110321891A
- Authority
- CN
- China
- Prior art keywords
- foreign matter
- cluster
- target
- medical fluid
- neural network
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/231—Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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
- G06N3/045—Combinations of networks
-
- 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
- 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
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种联合深度神经网络与聚类算法的大输液药液异物目标检测方法。该方法首先对图像进行简单的预处理,再联合对小目标检测和定位的深度神经网络与聚类算法,采用一种结合单帧图像与多帧图像的处理方法来检测大输液药液中的异物目标。此方法首先运用FasterR‑CNN深度神经网络对单帧的图像进行检测,之后运用层次聚类和K‑means++聚类算法对8帧的经过检测的图像中的所有疑似异物目标的位置坐标点进行聚类,得到同一疑似异物目标的运动轨迹,这样就可以记录每个异物目标的运动轨迹与噪声点的运动轨迹,并便于对这二者进行区分,极大的提高检测的准确率。该视觉检测方法准确、稳定达到了一般性生产线的在线检测要求。
Description
技术领域
本发明属于医药图像检测领域,特别涉及一种联合深度神经网络与聚类算法的大输液药 液异物目标检测方法。
背景技术
我国的大输液产量用量早已位居世界第一,大输液的包装主要有玻璃瓶、塑料瓶、塑料 软袋。目前,玻璃瓶装的大输液产品在我国依旧占有极大的市场份额。而在制药企业的生产 过程中,由于生产技术的局限,在生产中药液中易混入纤维、玻屑、白点和毛发等诸多直径 大于50微米的可见异物,一般来说,纤维来自空气中的灰尘,玻屑来自生产过程中瓶间及瓶 与机械装置间的碰撞。白点一般产生于加塞环节时,橡胶塞因于瓶口的摩擦产生的些许脱落 进入到药液中。毛发主要来自工人及空气中的一些漂浮物。这些异物的来源在生产过程中难 以避免。加之医药直接作用于人体的特殊性,其产品的质量检测至关重要。输液中的异物如 果被输入人体的组织内会引起过敏反应,严重的甚至会导致死亡。而现阶段,国内的主要检 测方法主要为人工灯检或依靠进口设备检测。人工灯检依靠“人工暗室观测”,其依靠人工的 检测劳动强度大,速度慢并且存在漏检、误检等诸多不利因素。而进口设备的费用高昂,维 护困难且成本高。因此,大输液产品的异物检测技术作为检测环节的关键部分,其改进有着 重大的意义。
发明内容
本发明提供了一种联合深度神经网络与聚类算法的大输液药液异物目标检测方法,其目 的在于,实现对药液中的多目标进行跟踪识别,并排除气泡,划痕,光斑等一些噪声的影响, 完成异物目标的准确检测。
一种联合深度神经网络与聚类算法的大输液药液异物目标检测方法,包括以下步骤:
步骤1:采集大输液医药药液生产线上的大输液药液历史序列图像;
步骤2:对采集到的大输液药液历史序列图像进行格式转换后,并进行中央感兴趣区域的 提取;
步骤3:将大输液药液历史序列图像的中央感兴趣区域中包含的异物目标进行最小外接矩 形的方框标记,并记录每个异物目标的方框标记ground-truth box、角点坐标、所属图像名称、 大小、通道数、图像格式与存储路径到标注XML文件中,将所有的标注XML文件先后利用 xml_to_csv.py与generate_tfrecord.py脚本进行转换,最后依据约9比1的比例构建训练集和 验证集的TFRecord文件;
步骤4:利用训练集与验证集的TFRecord文件输入FasterR-CNN深度神经网络模型进行 训练,获得基于FasterR-CNN深度神经网络的异物位置预测标记模型,训练时,配置文件的 分类数设置为1,迭代批处理数据数目batch_size置为1,总的迭代次数num_steps设置为20000;
步骤5:按照步骤2对实时采集的大输液医药药液生产线上的大输液药液序列图像进行处 理,之后作为测试集直接输入步骤4所述的基于FasterR-CNN深度神经网络的异物位置预测 标记模型,获得所有疑似异物目标的位置坐标点;
步骤6:通过层次聚类算法对步骤5获得的所有疑似异物目标位置坐标点进行聚类,获得 同一大输液药液序列图像中其疑似异物目标个数;
步骤7:将疑似异物目标个数作为需要聚类的异物目标簇数,采用K-means++聚类算法对 疑似目标位置坐标点进行聚类,得到同一疑似异物目标的运动轨迹;
步骤8:依据噪声与异物目标的运动轨迹差别,从得到的序列图像中疑似目标的运动轨迹 上区分出异物目标和噪声;
其中,异物目标位置坐标点与所属簇的中心点距离不低于4,噪声位置坐标点与所属簇的 中心点距离小于4。
在得到运动轨迹后,依据轨迹中各点与所属簇的中心点距离判断是否为异物目标。
噪声的位置坐标轨迹大多集中于一个小区域,位置坐标变化不大,一般每一个噪声聚类 簇中各点与最终的所有噪声点的中心点距离(欧式距离)数值小于4(数值计算依据的是建立的 坐标系,无量纲单位),而异物目标的位置坐标轨迹遵循一定的规律,由于重力原因大多自顶 向下运动且运动范围较大,一般每一个异物目标聚类簇中的点与最终的所有异物目标点的中 心点距离(欧式距离)数值不低于(大于等于)4(数值计算依据的是建立的坐标系,无量纲单位)。
所述基于FasterR-CNN深度神经网络的异物位置预测标记模型是先采用coco数据集上预 训练的faster_rcnn_resnet101_coco预训练模型在训练时提前载入,后将大输液药液历史序列 图像构建的TFRecord文件输入所述FasterR-CNN深度神经网络模型进行训练获得基于 FasterR-CNN深度神经网络的异物位置预测标记模型。
利用训练集与验证集的TFRecord文件输入FasterR-CNN深度神经网络模型进行训练时, 划分正负样本区分白色成像异物目标与黑色背景时采用的IoU设置为0.7,损失函数如下:
IoU设置直接采用公知设定,0.7时达到较好的正负样本,即白色成像异物目标与黑色背 景划分,避免正负样本数据的不平衡产生的训练时偏差较大。
其中,i为训练时为了回归计算及划分样本对异物目标的方框标记anchor box的索引值,pi是第i个anchor box中的目标预测为异物目标的概率,取值在白色成像异物目标的正样本 时取值为1,黑色背景的负样本时取值为0;Ncls是标准化参数,取值为256;Lcls是分类误差 函数,采用白色成像异物目标与黑色背景非目标的对数损失函数;
ti是训练时第i个anchor box与对应预测框的偏移量构成的向量(tx、ty、tw、th),是 训练时第i个anchor box与ground-truth box的偏移量构成的向量在训练 时,对异物目标的预测框与实际的进行最小外接矩形标记的ground-truth box存在较大偏移, 为了尽可能的使得预测框对异物目标的预测标记接近ground-truth box以便于后续聚类,引 入对异物目标的方框标记anchor box及其与ground-truth box的偏移量构成的向量这样, 训练时ti,之间的距离最小化便是回归优化的目标。Nreg是标准化参数,取值为2400,λ=10 是平衡参数;Lreg为回归损失函数。
直接依据公知设定计算。
所述通过层次聚类算法对步骤5获得的所有疑似异物目标位置坐标,进行聚类的具体步 骤如下:
步骤6.1:输入获得的同一序列图像中的所有疑似异物目标的坐标点数据,每个坐标点作 为一个初始簇;
采用的层次聚类是自底向上的凝聚策略的方式,因此初始时,各个疑似异物目标坐标点 都为一个簇。
步骤6.2:将当前的所有簇两两组合,计算ESS增量,将ESS增量值最小的两组簇进行 合并为同一个簇,重复迭代直到只有一个簇,其中,聚类的簇距离度量函数d采用wardlinkage;
由于层次聚类在这里是为了k-means++聚类算法提供其需要的聚类簇数k值,因此合并至 只有一个簇是为了从其结果上可以更加直观的得到k的值。
其中,xj是第j个疑似异物目标坐标点,j∈{1,2,…,n},n为疑似异物目标的数量;
步骤6.3:当只有一个簇时,聚类完成,得到自底向上逐渐凝聚的树形结构图,否则回到 步骤6.2继续运算;在得到自底向上逐渐凝聚的树形结构图后,以聚类簇间距离(欧式距离- 沃德方差最小化)100作为划分簇数的依据,划分得到疑似异物目标的聚类簇数,基于树形结 构图的分类结果得到下一步k-means++的k值,即k-means++的聚类簇数;
其中,聚类簇间距离取值为100。
聚类簇间距离是指依据沃德方差最小化得到的欧式距离。
所述采用K-means++聚类算法对疑似异物目标位置进行聚类,得到同一疑似异物目标的 运动轨迹的具体过程如下:
步骤7.1:输入获得的同一序列图像中的所有疑似异物目标位置坐标点数据及步骤6得到 的聚类簇数k值;
步骤7.2:从所有输入的疑似异物目标坐标点中随机选择1个坐标数据作为初始均值向量, 即聚类中心μ1;
步骤7.3:计算出每个疑似异物目标坐标点与当前已有聚类中心μ1的最短距离,即与最近 的一个聚类中心的距离D(x);
步骤7.4:计算每个疑似异物目标坐标点被选为下一个聚类中心的概率其中c为疑似异物目标坐标点,C为坐标点的集合,D(c)2为D(c)的平方;
步骤7.5:按照轮盘法选择出下一个聚类中心;
轮盘法的主要步骤如下:
步骤7.5.1:对于得到的每个疑似异物目标坐标点数据被选为下一个聚类中心的概率,按 计算的顺序逐项计算按顺序的概率累加和,将各个数据点划入到各自的对应区间;
步骤7.5.2:随机产生一个0~1之间的随机数,判断其属于的对应区间,该区间对应的数 据点就是被选择出来的下一个聚类中心;
采用轮盘法可以有效避免算法停滞或者进入局部最优解。
步骤7.6:重复步骤7.3~7.5直到选择出k个聚类中心的均值向量{μ1,μ2,…,μk};
步骤7.7:计算所有疑似异物目标坐标点与得到的k个均值向量的距离E,将坐标点划入 与均值向量之间距离最小的聚类中心所对应的簇中;
其中,μw是簇Cw的均值向量,
步骤7.8:重新计算各个簇的均值向量,运用新的均值向量重复步骤7.7,当迭代次数达 到1000或聚类中心的位置不再变化时结束迭代,完成坐标点的k个簇聚类。
对大输液药液序列图像进行格式转换后,并进行中央感兴趣区域的提取的过程如下:
步骤2.1:通过python中的字符串的拼接,将CCD相机获得的大输液药液序列图像BMP 位图格式的图像为JPG格式;
由于BMP格式的原图是单通道的,在格式转换时通过复制已有的单通道添加两层同样的 通道一起形成RGB三通道的JPG格式图像。
步骤2.2:采用双线性插值将JPG格式的大输液药液图像的分辨率压缩成1000*750的分 辨率;
步骤2.3:将经过压缩后的大输液药液图像进行resize操作,图像宽度裁剪范围为40至 860的区域,高裁剪为160至700的区域。
选取大输液药液图像大小为820*540。
由于大输液药液异物目标主要集中于图像的中央区域,最终减少了部分光斑的影响。
计算疑似异物目标的boundingbox的中心位置坐标(X,Y)如下:
其中(left,right,top,bottom)是得到的基于FasterR-CNN深度神经网络的异物位置预测标 记模型最终偏移修正了的预测框的角点坐标的x轴的最小、最大值,y轴的最小、最大值。
聚类簇间距离划分计算,依据大输液药液历史序列图像数据中的同一序列图像中异物目 标轨迹及噪声轨迹的标签及分类组别,根据选取的欧式距离-沃德方差最小化凝聚合并准则, 将异物目标轨迹及噪声轨迹的坐标点代入层次聚类算法,依据大输液药液历史序列图像数据 层次聚类结果分布,结合训练数据已知其聚类簇数,按升序排列得到正确划分聚类簇数下的 聚类簇间距离(欧式距离-沃德方差最小化)的区间,采用[50,100)、[100,150)、[150,200)作为聚 类簇间距离(欧式距离-沃德方差最小化)区间,依据计算,其中q为 3个划分分层区间的记号,nq是第q个区间的数值个数,aq(q=1,2,3)分别为区间中值75、125、 175,通过大输液药液历史序列图像噪声与异物目标位置的统计得到的各自序列聚类簇及按上 述的计算方式得到划分聚类簇间距离的值。
有益效果
与当前的技术相比,本发明主要有以下的几处优势:
(1)本发明采用了基于FasterR-CNN的深度神经网络作为本发明的单帧图像检测,充分利 用了深度学习处理批量数据的能力及目标检测的可靠性。
(2)在单帧图像经过神经网络检测后,采用成熟可靠的聚类算法进一步分析处理,充分利 用了多帧序列图像之间的连续性,使检测结果更加可靠。
(3)与传统检测方法相比,本发明是基于深度学习的,处理数据的方式较之简单,数据处 理能力较之强壮。并且如有必要,可采集最新的序列图像数据重新训练网络,使之保持处于 不断学习更新的能力。
(4)与现有人工灯检方法相比,本检测算法检测精度高,速度快,可重复性好,并且可保 持稳定可靠。
附图说明
图1为本发明所述方法的检测流程图;
图2本发明中使用的基于FasterR-CNN深度神经网络与聚类算法的结构示意图;
图3为应用本发明所述方法的基于FasterR-CNN深度神经网络的异物位置预测标记模型 对单帧的图像进行疑似异物目标检测的示意图,其中,(a)目标的第一帧图像,(b)目标的第二 帧图像,(c)目标的第三帧图像,(d)目标的第四帧图像,(e)目标的第五帧图像,(f)目标的第六 帧图像,(g)目标的第七帧图像,(h)目标的第八帧图像;
图4为应用本发明所述方法的运用层次聚类和K-means++聚类算法对8帧图像中的疑似 异物目标的位置坐标点进行聚类的分析结果图,其中(a)为层次聚类结果图,虚横线上k=1代 标坐标点分为一簇;(b)为k-means++聚类结果图,其中的小矩形代表聚类中心。
图5为应用本发明所述方法的基于FasterR-CNN深度神经网络的异物位置预测标记模型 对单帧的图像进行疑似异物目标检测时产生误检、漏检的示意图,其中(a)目标的第一帧图像, (b)目标的第二帧图像并产生了误检,左侧框为误检,(c)目标的第三帧图像并产生了误检,左 侧框为误检,(d)目标的第四帧图像,(e)目标的第五帧图像并产生了误检,左侧框为误检,(f) 目标的第六帧图像并产生了漏检,(g)目标的第七帧图像,(h)目标的第八帧图像并产生了漏检;
图6为应用本发明所述方法的运用层次聚类和K-means++聚类算法对8帧图像中的疑似 异物目标的位置坐标点进行聚类的分析结果图,其中,(a)为层次聚类结果图,虚横线上k=2 代标疑似异物目标的位置坐标点分为两个簇;(b)为k-means++聚类结果图,其中的小矩形代 表聚类中心;
其中,目标以bounding box的形式框出,标以target标记并显示了其分类为异物目标的置 信度,以百分数的形式给出,在这里仅做参考数值。
具体实施方式
下面将结合附图和实施例对本发明做进一步的说明。
在本实例中相机采用分辨率为1080*960的面阵千兆网CCD相机(Baumer TXG12),镜头为 6mm宽视角Computar镜头,光源为半径为6cm的穹顶漫反射光源(LTS-FM12030-WQ);
如图1所示,一种联合深度神经网络与聚类算法的大输液药液异物目标检测方法,包括 以下步骤:
步骤1:采集大输液医药药液生产线上的大输液药液历史序列图像,记作Image0-7;
步骤2:对步骤1采集到的大输液药液历史序列图像进行格式转换和中央感兴趣区域的提 取,记作预处理过的图像ImageⅠ_0-7。
步骤2.1:首先转换CCD相机获得的BMP位图格式的大输液药液历史序列图像为JPG格 式,通过python中的字符串的拼接即可完成。由于BMP格式的原图是单通道的,在格式转换时通过复制已有的单通道添加两层同样的通道一起形成RGB三通道的JPG格式图像。
步骤2.2:对于转换格式之后的大输液药液历史序列图像,其分辨率为1600*1200;首先 采用双线性插值将其压缩成1000*750的分辨率。双线性插值是对线性插值在二维直角网格上 的扩展,用于对双变量函数(例如x和y)进行插值。其核心思想是在两个方向分别进行一 次线性插值。在这里,缩小大输液药液历史序列图像时,考虑到大图中的点逆映射为小图中 的点时,得到的像素坐标点数值可能不是整数。采用了以下双线性插值公式
步骤2.2.1:大图中的点逆映射为小图中的点时像素点的坐标值不是整数时,首先取小图 中不是整数值坐标点周围最近领的4个坐标点,记为Q11(x1,y1),Q12(x1,y2),Q21(x2,y1), Q22(x2,y2)。
步骤2.2.2:首先在x方向进行线性插值,可以得到:
步骤2.2.2:然后在y方向上进行线性插值,得到:
其中为缩小图坐标所对应的像素值。在本实施例中缩小为原图像的0.625倍,例 如在本实施例中要确定缩小图坐标(506,376)处的像素值,根据比例关系其在原大图的对应坐 标为(809.6,601.6),由于其不是整数,需要采取双线性插值来得到缩小图中对应点的像素值。 首先,得到大图坐标周围最近领的4个整数坐标值,Q11(809,601),Q12(809,602), Q21(810,601),Q22(810,602),首先在x方向进行线性插值,可以得到:
最终得到为缩小图坐标(506,376)处的像素值。其中 的具体值从图像直接获得。
步骤2.3:由于大输液药液历史序列图像中异物目标主要集中于中央区域,为减少部分光 斑的影响,将图像进行resize操作,在这里,图像宽度裁剪范围为40至860的区域,高裁剪 为160至700的区域,大输液药液历史序列图像大小设定为820*540。
至此,大输液药液历史序列图像的预处理便已完成。
步骤3:将大输液药液历史序列图像的中央感兴趣区域中包含的异物目标进行最小外接矩 形的方框标记,并获得有标签的训练数据;
步骤3.1:对大输液药液历史序列图像中的异物目标进行标定。利用LabelImg工具,对 每帧图像中的异物目标进行标记,并取名标记为target。此时获得XML格式的标注文件,其 中包括了文件夹的名称、图片名、存储路径、图像的大小、通道数及格式、标注名target这 样的信息,最主要的是记录了手工标注的ground truthbox的4个角点的位置坐标点。这里 ground truthbox的标注原则是将人工经验认为的的异物目标框中,一般按最小外接矩形标 记出异物目标即可。需要说明的是此处得到的ground truthbox的4个角点的位置坐标点是 目标的真实位置角点,用于之后所述的深度学习模型进行回归计算时的真实依据,因此其后 产生的边框与ground truthbox类型一致。
步骤3.2:将大输液药液历史序列图像数据集按比例随机分成两部分,其中137张图像及 其对应的于步骤3.1产生的标注XML文件用于训练集,置于文件夹train下;15张图像及其 对应的标注XML文件用于验证集,置于文件夹validate下。训练集与验证集的划分按照了9 比1的比例关系。这里直接采用了“留出法进行划分”,即直接将数据集划分为互斥的两个集 合,其中一个集合作为训练集,另一个作为验证集。这样划分数据集最为简单。
步骤3.3:为了得到最终所需格式的文件形式,需要将分好的大输液药液历史序列图像训 练集数据与验证集XML格式的数据先转换成CSV的表格文件。通过脚本文件xml_to_csv.py 便可完成。
这样便得到了train_labels.csv文件和validate_labels.csv文件。
步骤3.4:之后通过对CSV的表格文件运行两次generate_tfrecord.py脚本,分别产生大输 液药液历史序列图像训练集的TFRecord文件和验证集的TFRecord文件。
至此,基于Faster R-CNN深度神经网络的异物位置预测标记模型训练所需的文件形式便 已完成。得到了最终用于训练的train.record文件和validate.record文件。
步骤4:利用训练集与验证集的TFRecord文件输入FasterR-CNN深度神经网络模型进行 训练,获得基于Faster R-CNN深度神经网络的异物位置预测标记模型;
步骤4.1:由于大输液药液历史序列图像数据量较少,采用迁移学习来进行训练。对于迁 移学习,在数据集较小的情况下利用在coco数据集上已经训练好的参数进行相应的调整训练, 这种调整训练是建立在卷积神经网络层上来实现特征的迁移,最终实现希望得到的在相应数 据集上的应用,在这里,已有的coco数据集称为源域,要学习的新数据集,即本发明用到的 大输液药液历史序列图像叫目标域,采用基于模型的迁移将源域与目标域的模型结合起来调 整最终模型的参数,coco数据集是目标检测领域的大型公开数据集,其数据量庞大成熟,这样 首先依据coco数据集得到的预训练模型以学习到图像的底层通用特征,利用大输液药液历史 序列图像目标数据集对网络参数进行训练微调,提取表示能力更适合本发明任务的深度卷积 特征,具体实现方式是利用目标检测coco数据集上的预训练模型faster_rcnn_resnet101_coco 在开始训练大输液药历史序列液数据时提前载入后开启训练来完成。因此在前述步骤完成之 后需要设置相应的配置参数,依据本实验实施例主要需要更改目标检测的类别文件实现,设 置item,其id为0对应target。主要需要设置配置文件的分类数为1,即target目标。迭代批 处理数据数目batch_size置为1以及总的迭代次数num_steps为20000。最后便是更改对应的 文件路径即可,指定使用的fine_tune_checkpoint,即预训练模型faster_rcnn_resnet101_coco, 设定训练集的TFRecord文件和验证集的TFRecord文件的输入路径,最后指定标签设置的文 件路径。
步骤4.2:基于Faster R-CNN深度神经网络的异物位置预测标记模型训练时,训练时提前 载入faster_rcnn_resnet101_coco预训练模型后直接启动大输液药液历史序列图像构建的 TFRecord文件进行训练。在迭代20000次后,全局误差已低于1,认为训练结束,得到了最 终的基于Faster R-CNN深度神经网络的异物位置预测标记模型。这里的全局误差是bounding box的回归误差以及分类为target与非target的分类误差。
步骤4.2.1:训练时,对于输入的数据(训练集的TFRecord文件和验证集的TFRecord文件 以及label标签文件),会相应进入卷积网络conv中,由于采用了预训练模型faster_rcnn_resnet101_coco,在初始化时,预训练模型faster_rcnn_resnet101_coco会初始化RPN 网络。
步骤4.2.2:conv1、conv2_x、conv3_x、conv4_x做卷积特征映射,进入RPN的特征用来 计算异物目标的方框标记anchorbox,特征映射feature map及异物目标的方框标记anchor box 给予RoI数据处理模块接着训练。
步骤4.2.3:在上步完成后,预训练模型faster_rcnn_resnet101_coco会得到更新,接着用 更新后的预训练模型第二次训练RPN网络,此次训练将只有RPN会得到更新,这样RPN对 每张图像会生成300个异物目标的方框标记anchorbox(计算回归及划分样本用的anchor box, 采用公知设定)。
基于Faster R-CNN深度神经网络的异物位置预测标记模型训练时提取的异物目标的方框 标记anchor box与手工的标注的ground-truth box之间有些距离。anchorbox是训练时的区域 选择方法提取的异物目标的方框标记,主要用来划分样本及回归计算,划分正负样本区分异 物目标与黑色背景时采用IoU(交并比)来衡量,IoU全称Intersectionover Union,anchor box 与手工的标注的ground-truth box之间的框的交集与它们并集的比值。本实施例中设定的 IoU>0.7。即anchor box与ground-truth box的交集与其并集之间的比值大于0.7。训练时回归 计算由于无法直接依据ground-truth box进行计算,主要是造成计算不便以及难以收敛,因此, 需要利用anchor box进行计算得到最终的平移和尺度放缩参数得到更接近ground-truth box的 预测框作为最终的结果。首先依据IoU的划分对提取的anchor box进行如下的样本划分, 如果anchor box与ground-truth box的IoU值最大,标记为异物目标正样本;如果anchor box 与ground-truth box的IoU>0.7,标记为异物目标正样本;事实上,采用第2个规则基本上可 以找到足够的异物目标正样本,但是对于一些极端情况,例如所有的anchor box与groud-truth box的IoU不大于0.7,可以采用第一种规则生成。负样本标定规则:如果anchor box与 ground-truth box的IoU<0.3,标记为黑色背景负样本。剩下的既不是异物目标也不是黑色背 景,不用于最终训练。在FasterR-CNN网络中,对于bounding box的回归计算方法需要说明。 因此在这里只结合本实施例进行方法的说明。x*,y*,w*,h*代表的是大输液药液历史序列图像 中异物目标以最小外接矩形得到的ground-truth box中心点坐标、框的宽和高;x,y,w,h代表预 测异物目标的预测框的中心点坐标、框以及高;xa.,ya,wa,ha是为了回归计算对异物目标的 方框标记anchor box的中心点坐标、框的宽和高,tx,ty,tw和th代表的是预测框与anchor box 的偏移量,即为对anchorbox进行位置微调的变换参量,因此得到tx,ty对应平移变换,tw和th对 应尺度缩放。而是anchor box与ground-truth box其中心点的偏移量,与是anchor box 与ground-truth box其尺度上的偏移量,可以得到与是实际上真正的偏移量,可以发 现如果预测框达到了与ground-truth box相一致,tx,ty,tw和th就与与对应相等了。 具体计算式如下所示。
tx=(x-xa)/wa,ty=(y-ya)/ha
tw=log(w/wa),th=log(h/ha)
在具体对大输液药液历史序列图像实施时,为了避免除法运算(除数为0)以及对数运算(对 数的底数及真数的取值范围内)时出现NaN的运算异常。对anchor box与预测框的中心点坐 标值在进行偏移量的计算之前加上一个常量EPSILON=1e-8,ground-truthbox中心点的取值 符合要求,故不做处理。这样得到如下的计算结果。其中的+=为操作数加上EPSILON之后 赋值给操作数。
ha+=EPSILON
wa+=EPSILON
h+=EPSILON
w+=EPSILON
在本实施例中,为了更好的进行训练这里用到了缩放位置目标,计算如下。其中的*=为 操作数乘上系数之后赋值给操作数。
ty*=self._scale_factors[0]
tx*=self._scale_factors[1]
th*=self._scale_factors[2]
tw*=self._scale_factors[3]
因此在计算最后的预测框的4个角点坐标时需要将放大的坐标进行缩回原值,计算如下。 其中的/=为操作数乘上系数之后赋值给操作数。
ty/=self._scale_factors[0]
tx/=self._scale_factors[1]
th/=self._scale_factors[2]
tw/=self._scale_factors[3]
self._scale_factors[0]~[3]的值在这里是缩放的系数,默认为[10.0,10.0,5.0,5.0]。在训练过程 中对于预测框的回归计算,目标函数就是
其中i为训练时为了回归计算对异物目标的方框标记anchor box的索引值,取值分为白 色成像异物目标的正样本时取值为1,黑色背景的负样本时取值为0,ti是训练时预测框与 anchor box的偏移量构成的向量(tx、ty、tw、th),是训练时anchor box与ground-truth box的偏 移量构成的向量在训练时,对异物目标的预测框与实际的进行最小外接 矩形标记的ground-truth box存在较大偏移,为了尽可能的使得预测框对异物目标的预测标记 接近ground-truth box以便于后续聚类,引入对异物目标的方框标记anchor box及其与ground-truth box的偏移量构成的向量这样,训练时ti,之间的距离最小化便是回归优化的目标。Nreg是 标准化参数,取值约为2400,λ=10是平衡参数(公知设定)。直 接依据公知设定计算;
最终的目标函数就是优化使得在本实施例中, ground-truth box的中心点坐标、宽及高由步骤3.1的4个角点坐标便可得到。预测的中心点 坐标、宽及高由基于Faster R-CNN深度神经网络的异物位置预测标记模型给出,anchorbox的中心点坐标、宽及高由基于Faster R-CNN深度神经网络的异物位置预测标记模型的RPN卷积层得出。这样,在训练时,通过梯度下降法来得到最终的位置微调偏移量,在得到了最佳的偏移量之后,对之前的计算预测框与anchor box的偏移量的计算式进行逆运算得到新的 预测框bounding box作为输出。计算如下:
w′=exp(t′w)*wa
h′=exp(t′h)*ha
ycenter=t′y*ha+ya
xcenter=t′x*wa+xa
其中exp()为指数运算,*为乘法运算。其中的t′w、t′h、t′y、t′x由模型训练得到的最佳的偏 移量,xa.,ya,wa,ha是anchor box的中心点坐标、框的宽和高。这样得到的w′、h′、ycenter、xcenter将作为计算新的预测框bounding box的4个角点坐标值的依据。计算如下:
ymin=ycenter-h′/2
xmin=xcenter-w′/2
ymax=ycenter+h′/2
xmax=xcenter+w′/2
至此,就得到了最后输出的新的预测框bounding box以及计算出步骤5中所需的新的预 测框bounding box的中心点坐标点。而对于分类上的误差,采用的是softmax层输出目标的 似然值,即目标的置信度,对于分类的目标损失函数其中i为训 练时为了回归计算及划分样本对异物目标的方框标记anchor box的索引值,pi是anchori预测 为异物目标的概率,取值分为异物目标时取值为1,黑色背景时取值为0。Nreg是标准化参 数,取值为256。分类误差Lcls是目标与非目标的的对数损失函数,其式为 也就是与ground-truth相对应的真实的属于异物目标的对数损失。因此总的误差函 数包括定位误差函数和分类误差函数,在本实施例的说明中误差函数与损失函数是一样的, 这样得到了总的损失函数如下所示。
对于本发明的目的来说,定位误差相比分类误差来说更加重要,是下一步聚类分析的关 键。因此本实施例中的target标注后的百分数置信度权当参考,在本发明中不做他用。如图3 和图5所示。
步骤4.2.4:预训练模型faster_rcnn_resnet101_coco不变,对最后的卷积层等进行调整训 练,利用Softmax Loss(探测分类概率)和Smooth L1Loss(探测边框回归)对分类概率和边框回 归(Bounding box regression)联合训练。至此,在总的损失低于1以下以及总的迭代步数达到 后训练完毕,得到一个稳定的网络模型。
步骤5:将训练好的基于Faster R-CNN深度神经网络的异物位置预测标记模型用另外的 未参与训练的大输液药液序列图像测试集进行测试,其中的测试集和训练集与验证集组成的 训练数据集为同批次的样本,由于总的数据满足随机分布,因此随机选取时,训练数据集中 的训练集与验证集以及测试集都可以认为其数据的分布满足一致性。最后测试结果中会以 bounding box的形式框出所有的疑似目标。如图3和图5所示。
步骤5.1:对经过基于Faster R-CNN深度神经网络的异物位置预测标记模型检测之后的所 有疑似目标的bounding box,获取bounding box其框中心的位置坐标,得到位置坐标点。对 于一幅图像中的检测出的多个疑似目标的bounding box,则会取得各个疑似bounding box的 中心位置坐标,得到所有疑似目标的中心位置坐标点。
对取得的疑似目标,需要获得其坐标信息,这里采用以图像的左上角为坐标原点,水平 向右为x轴坐标,竖直向下为y轴坐标。计算以最终测试结果的bounding box中心为准。
其中,(X,Y)是所需要的中心点坐标,
由于bounding box是顺时针绘制的,依据的坐标顺序依次为
(xmin,ymin)→(xmin,ymax)→(xmax,ymax)→(xmax,ymin)→(xmin,ymin)
因此xmin,xmax,ymin,ymax依次为检测到目标时的bounding box矩形框4个角点的坐标, 获取依据是最终模型测试集上的bounding box的4个角点坐标。由训练得到的bounding box 回归模型给出。基于Faster R-CNN深度神经网络的异物位置预测标记模型训练完成后,在检 测到目标时,会对目标框出,此时直接依据网络给出的框的角点坐标进行取值计算得到需要 的框的中心位置坐标。
im_width,im_height分别为图像的宽和高,本实施例中分别为820与540。如果使用了归 一化,此时的xmin,xmax,ymin,ymax只是相对量,因此需要各自乘上相应的宽和高。否则, 在未使用归一化的情况下,xmin,xmax,ymin,ymax是坐标的绝对值,无需调整。
至此,基于Faster R-CNN深度神经网络的异物位置预测标记模型标记检测就完成了,需 要说明的是在后续的聚类分析的计算中数值计算依据的是建立的坐标系,无量纲单位。
步骤6:根据获得的疑似异物目标位置坐标,通过层次聚类算法获得大致同一大输液药液 序列图像中其疑似目标个数。值得注意的是这里所说的个数不是所有帧图像的疑似目标个数 而是各个疑似目标总共的个数,简单来说就是各序列图像中的同一目标认定为1个疑似目标, 即这里得到的是序列目标的个数。
步骤6.1:输入获得的同一大输液药液序列图像中的所有疑似目标的坐标点数据,这里采 用的层次聚类是自底向上的凝聚策略的方式,因此初始时,各个坐标点都为一个簇。如图4(a) 和图6(a)中的横坐标所示,其横坐标下的每一个object都是一个单独的坐标点,初始时都各 自为一个簇。以图像的左上角为坐标原点,水平向右为x轴坐标,竖直向下为y轴坐标,图 4(a)中从图3中获得的最终的测试bounding box的中心各点坐标如下:
object11(504.14714872837,358.333328962326)、
object21(500.281756520271,342.496746182441)、
object31(495.223599076271,334.564992785453)、
object41(490.719253420829,328.485830426216)、
object51(486.332307457923,315.410689115524)、
object61(483.341205716133,303.024210333824)、
object71(479.837592244148,292.784346342086)、
object81(477.377379536628,280.425998568534);对于图4(a)本实施例中初始时层次聚类有8 个簇。
同样的,对于从图5中的测试bounding box的中心各点坐标为:
object11(499.090921878814,188.687320947647)、
object21(493.147672414779,186.577245891094)、
object22(209.47616264224,245.609394013881)、
object31(487.082893252372,198.908009827136)、
object32(209.743055105209,246.993767917156)、
object41(483.799954056739,216.686903536319)、
object51(476.944290995597,228.732800781726)、
object52(209.981483519077,247.280606031417)、
object71(465.857180356979,253.186081945896);对于图6(a)本实施例中初始时层次聚类有9 个簇。
步骤6.2:对于聚类的簇距离度量函数d采用的是ward linkage。对于wardlinkage在这里 的具体计算,依据ward method要求每次合并后ESS(error sum of squares)的增量最小,计算时, 将当前的所有簇两两组合都计算一遍ESS(error sum of squares)增量,将值最小的两组进行合 并为同属一个簇的坐标点,然重复迭代直到只有一个簇。由于层次聚类在这里是为了 k-means++聚类算法提供其需要的聚类簇数k值,因此合并至只有一个簇是为了从其结果上可 以更加直观的得到k的值。其中是坐标点,其 数量为n。在这里其实际为二维坐标。在本实施例中,简要说明如下,如图4(a)所示,首先依 据ESS增量最小原则合并object31与object41为同一簇,同样的,在下一次的迭代运算中, 合并object61和object71,接下来,依次合并object21与已经为同一簇的object31、object41, 合并object81与object61、object71,合并object51与object21、object31、object41,合并object11 与object51、object21、object31、object41,合并最后的两个簇object81、object61、object71 与object11、object51、object21、object31、object41,这样就得到了唯一的一个簇。
对于图6(a),同样的先合并object32与object52,之后依次合并object22与object32、object52, 合并object11与object21,合并object41与object51,合并object31与object11、object21,合 并object71与object41、object51,合并object71、object41、object51与object31、object11、 object21,最后合并object71、object41、object51、object31、object11、object21与object22、 object32、object52,至此只剩下了唯一的一个包含所有坐标数据点的簇了。
步骤6.3:当只有一个簇时,聚类完成,得到自底向上逐渐凝聚的树形结构图。否则回到 步骤6.2继续运算。最终得到的聚类图像如图4(a)与图6(a)所示,其中横坐标是需要分析的坐 标点,纵坐标是聚类簇距离(欧式距离-沃德方差最小化)。在本实施例中,依据聚类簇间距离 小于等于100的原则划分下一步k-means++的k值,即k-means++的聚类簇数。以聚类簇间距 离等于100临界值划分。
如图2所示,为本发明中使用的基于FasterR-CNN深度神经网络与聚类算法的结构示意 图,其中,相乘数为卷积核大小;conv:卷积层;conv之后的数为每一个卷积的个数;Pool: 池化层;带箭头的实折线是自身映射;带箭头的虚折线是为了同型矩阵运算进行调整的映射; RPN:区域提取网络(Region Proposal Network);ROI:Region of Interest;avg pool:平均池化 层;softmax:分类器函数,计算类别的概率输出置信度;bboxregressor:bounding box回归 微调;conv1、conv2_x、conv3_x、conv4_x、conv5_x是各自的building block(由少数的卷积 层组成,具体如图2中所示)组成的卷积层。由于直接使用的已有的Faster-RCNN深度神经网 络,conv1、conv2_x、conv3_x、conv4_x作为图像特征的提取层,提取的feature map作为 RPN和ROIPooling的共享特征,对于ROIPooling的另一个输入就是RPN层的输出,即提取 的感兴趣区域。输出固定大小的矩形框进入conv5_x,得到候选框在特征图上的位置。最后 由ROI的特征进行分类和以bounding box框出目标。得到图3、图5所示结果。
至此,数据分析的第一步层次聚类便已完成,此时得到的层次聚类树形结构图最终收束 为一个簇是坐标点聚类簇数从多到一的一个完整过程,对于疑似异物目标坐标点而言并非最 终的聚类完成结果,在得到的层次聚类从多到一的大致聚类过程结果的同时,依据设定的簇 间距离进行最终的分类划分。坐标系的横坐标是需要分析的疑似异物目标坐标点,纵坐标是 聚类簇距离。为了第二步k-means++聚类的k值获取,在得到如图4(a)与图6(a)所示的逐渐 凝聚的树形结构图的同时,依据聚类簇间距离≤100的原则得到所获bounding box中心坐标的 最终k-means++聚类簇数k值,如图4(a)所示,所有的坐标点的都在聚类簇间距离100之下, 即聚类簇间距离为100时相当于平行于横轴的纵轴取值为100时未与划分簇的竖线相交,因 此可以得到将所有的坐标点归为同一簇是合适的,此时取k=1,如图4(a)中的虚横线所示; 在图6(a)中,当聚类簇间距离等于100,即聚类簇间距离为100时相当于平行于横轴的纵轴 取值为100时与划分簇的竖线相交2次,可以得到坐标点明显的分为2类,所以这里的k取 值为2,如图6(a)中的虚横线所示。总的来说就是聚类中的第一步层次聚类是为了得到大致的 分类及依据设定的簇间距离取得分类数k值的最优值,在得到k值后,进行k-means++聚类 完成后续分析。
步骤7:由疑似异物目标数目得到需要聚类的簇数后,即由步骤6中得到了k值后,采用 K-means++聚类算法得到同一疑似异物目标的运动轨迹。需要说明的是得到图3和图6的 bounding box中心点的坐标以及聚类簇数k值后,在k-means++中坐标系的建立是以左下角为 坐标原点,以水平向右为x轴正方向,竖直向上为y轴正方向。需要说明的是这里的K-means++ 聚类其实是由坐标点的重新聚类,前述步骤6是为了得到k-means++聚类的k值,因此总的 来说两次聚类,第一次是为了得到第二次的k值以及互相佐证聚类的结果是否相似以此来增 强聚类结果的可信度。这样,两次聚类实则分先后分开执行。
步骤7.1:输入获得的同一序列图像中的所有疑似异物目标的坐标点及最终的聚类簇数k 值。对于图3,获得的坐标点如下:
object11(504.14714872837,358.333328962326)、
object21(500.281756520271,342.496746182441)、
object31(495.223599076271,334.564992785453)、
object41(490.719253420829,328.485830426216)、
object51(486.332307457923,315.410689115524)、
object61(483.341205716133,303.024210333824)、
object71(479.837592244148,292.784346342086)、
object81(477.377379536628,280.425998568534);由步骤6得到k=1;
而对于图5,获得的坐标点如下:
object11(499.090921878814,188.687320947647)、
object21(493.147672414779,186.577245891094)、
object22(209.47616264224,245.609394013881)、
object31(487.082893252372,198.908009827136)、
object32(209.743055105209,246.993767917156)、
object41(483.799954056739,216.686903536319)、
object51(476.944290995597,228.732800781726)、
object52(209.981483519077,247.280606031417)、
object71(465.857180356979,253.186081945896);由步骤6得到k=2;
步骤7.2:从输入的坐标点中随机选择1个坐标点作为初始均值向量,即聚类中心μ1;在 本实施例的说明中均值向量与聚类中心的意义等同,不加区分。对于图3获得的坐标点,由 于k=1,待任意选取1个聚类中心后,直接进入步骤7.7。现以本实施例进行具体说明:
对于图3获得的坐标点,k=1,如以object51(486.332307457923,315.410689115524)为选取 的初始聚类中心μ3_1。
对于图5获得的坐标点,k=2,如初始聚类中心选取为
object41(483.799954056739,216.686903536319)即此时的μ5_1;
步骤7.3:首先计算出每个坐标点与当前已有聚类中心μ1的最短距离,即与最近的的一个 聚类中心的距离,用D(c)表示;
对于图3获得的坐标点,由于k=1,此步骤跳过;
对于图5获得的坐标点,k=2,μ5_1=object41(483.799954056739,216.686903536319)时, 在步骤7.3中的每个坐标点的D(c)计算如下表1。
步骤7.4:然后计算每个坐标点被选为下一个聚类中心的概率其中c为疑 似异物目标坐标点,C为坐标点的集合,D(c)2为D(c)的平方。
对于图3获得的坐标点,由于k=1时聚类中心已不用再选取,故此步骤跳过;
对于图5获得的坐标点,k=2,μ5_1=object41(483.799954056739,216.686903536319)时, 计算结果如下表1。
表1:图5坐标点K-means++聚类计算参数
坐标点 | object11 | object21 | object22 | object31 | object32 | object41 | object51 | object52 | object71 |
D(c) | 31.90282624 | 31.52731073 | 275.844255 | 18.07945661 | 275.7275646 | 0 | 13.86014994 | 275.5222848 | 40.67103579 |
D(c)<sup>2</sup> | 1017.790322 | 993.971322 | 76090.05299 | 326.8667513 | 76025.68989 | 0 | 192.1037565 | 75912.52944 | 1654.133153 |
P(c) | 0.004383001 | 0.004280427 | 0.327673334 | 0.001407615 | 0.327396161 | 0 | 0.000827273 | 0.326908849 | 0.00712334 |
Sum | 0.004383001 | 0.008663427 | 0.336336761 | 0.337744377 | 0.665140538 | 0.665140538 | 0.665967811 | 0.99287666 | 1 |
其中的P(x)就是每个样本被选为下一个聚类中心的概率。最后一行的Sum是概率P(x)的累加 和,用于轮盘法选择出第二个聚类中心。
步骤7.5:之后按照轮盘法选择出下一个聚类中心,轮盘法的主要步骤如下:
步骤7.5.1:对于得到的每个坐标点被选为下一个聚类中心的概率,按计算的顺序逐项计 算按顺序的概率累加和,将各个数据点划入到各自的对应区间。
步骤7.5.2:随机产生一个0~1之间的随机数,判断其属于的对应区间,那么该区间对应 的数据点就是被选择出来的下一个聚类中心了。
对于图3获得的坐标点,由于k=1时聚类中心已不用再选取,故此步骤跳过;
对于图5获得的坐标点,由步骤7.5.1得到:
object11的区间为[0,0.004383001);
object21的区间为[0.004383001,0.008663427);
object22的区间为[0.008663427,0.336336761);
object31的区间为[0.336336761,0.337744377);
object32的区间为[0.337744377,0.665140538);
object41的区间为[0.665140538,0.665140538);
object51的区间为[0.665140538,0.665967811);
object52的区间为[0.665967811,0.99287666);
object71的区间为[0.99287666,1),
按步骤7.5.2,随机产生的0~1之间的随机数,依据概率,object22做为第二个聚类中心 是可能性最大的。实际程序选择时是随机的。在这里,本实施例以object22做为第二个聚类 中心进行说明。
采用轮盘法可以有效避免算法停滞或者进入局部最优解。
步骤7.6:重复步骤7.3~7.5直到选择出k个聚类中心的均值向量{μ1,μ2,…,μk};
至此,对于图3所获得的bounding box坐标点,其K=1,
μ3_1=object51(486.332307457923,315.410689115524);
对于图5所获得的bounding box坐标点,因为k=2,选择了
μ5_1=object41(483.799954056739,216.686903536319)和
μ5_2=object22(209.47616264224,245.609394013881)作为2个聚类中心的均值向量。
步骤7.7:计算所有坐标点与得到的k个均值向量的距离,这里直接采用的计算欧式距离, 即使最小,其中是簇Cw的均值向量。以此来确定 待分类样本坐标点所属簇。将坐标点划分入距离最小的聚类中心所对应得簇中。
对于图3所获得的bounding box坐标点,其K=1,这样需要计算的就只是新的均值向量, 即聚类中心。
对于图5所获得的bounding box坐标点,其K=2,由前述步骤得到了聚类中心μ5_1和μ5_2。计 算所有坐标点分别与μ5_1和μ5_2的欧式距离。如下表2,表3所示。
表2各坐标点与μ5_1,object41的欧式距离
坐标点 | object11 | object21 | object22 | object31 | object32 | object41 | object51 | object52 | object71 |
D(c) | 31.90282624 | 31.52731073 | 275.844255 | 18.07945661 | 275.7275646 | 0 | 13.86014994 | 275.5222848 | 40.67103579 |
表3各坐标点与μ5_2,object22的欧式距离
坐标点 | object11 | object21 | object22 | object31 | object32 | object41 | object51 | object52 | object71 |
D(c) | 295.155605 | 289.7487187 | 0 | 281.5075775 | 1.409866196 | 275.844255 | 268.0000356 | 1.745937798 | 256.4929481 |
在本实施例中,可以明显的得到:
以μ5_1,object41为聚类中心时,object11、object21、object31、object51、object71 可以划分为一簇,其中object51距离聚类中心μ5_1最近,大小为13.86014994,object71距 离最远,大小为40.67103579,范围较大;
以μ5_2,object22为聚类中心时,object32、object52归为一簇,并且这两个坐标点与聚类 中心的距离都极为接近,数值大小都低于4且范围较小。
步骤7.8:对于初次划分的k个簇,计算各个簇的新的均值向量,例如对于Cw簇新的均值 向量运用新的均值向量重复计算步骤7.7,当迭代次数达到1000或聚类中 心的位置不再变化时结束迭代。
对于图3所获得的bounding box坐标点,k=1,最终计算的结果如图4(b)所示,其中的小 矩形框便是新的聚类中心μ′3_1(489.6575303,319.4407678)。
表4图4(b)簇1的坐标点与μ′3_1(489.6575303,319.4407678)的欧式距离
坐标点 | object11 | object21 | object31 | object41 | object51 | object61 | object71 | object81 |
D(c) | 41.50397995 | 25.38606546 | 16.11593315 | 9.107162736 | 5.224810209 | 17.58975034 | 28.40767486 | 40.90176433 |
而图5中所得到的bounding box坐标点,k=2,最终计算的结果如图6(b)所示,其中的小 矩形框便是新的聚类中心μ′5_1(484.3204855,212.1297272);μ′5_2(209.7335671,246.6279227)。
表5图6(b)簇1的坐标点与μ′5_1(484.3204855,212.1297272)的欧式距离
坐标点 | object11 | object21 | object31 | object41 | object51 | object71 |
D(c) | 27.70761989 | 27.03421032 | 13.5072094 | 4.586808209 | 18.16783694 | 45.01686245 |
表6图6(b)簇2的坐标点与μ′5_2(209.7335671,246.6279227)的欧式距离
坐标点 | object22 | object32 | object52 |
D(c) | 1.050551113 | 0.365968276 | 0.69818203 |
步骤7.9:得到划分结果,坐标点的k个簇,聚类完成。
如图4(b)所示得到k=1的一个簇;如图6(b)所示得到k=2的两个簇。
至此,聚类完成。得到如图4(b)与图6(b)所示的k-means++聚类结果图。
步骤8:从得到的大输液药液序列图像中疑似目标的运动轨迹上区分出异物目标和噪声, 依据噪声与异物目标的轨迹差别,噪声的位置坐标轨迹大多集中于一个小区域,位置坐标变 化不大,一般每一个噪声聚类簇中各点与最终的所有噪声点的中心点距离(欧式距离)数值小 于4(数值计算依据的是建立的坐标系,无量纲单位),而异物目标的位置坐标轨迹遵循一定的 规律,由于重力原因大多自顶向下运动且运动范围较大,一般每一个异物目标聚类簇中的点 与最终的所有异物目标点的中心点距离(欧式距离)数值不低于(大于等于)4(数值计算依据的 是建立的坐标系,无量纲单位)。以此来得到最终的准确异物目标检测结果。
由于异物与噪声的运动轨迹不同,因此可以通过聚类获得的轨迹来判断该目标是异物还 是噪声。在本实施例中,图4(b)对应的图3中检测结果准确无误,因此不需要区分噪声,但 是可以发现的是异物目标的运动轨迹区域较大,可以从其与聚类中心的距离上明显得到,在 表4中,其距离从5.224810209到41.50397995;
而图6(b)对应的图4中,存在误检,依据步骤8的从轨迹加以区分的做法,在本实施例 中,对于以μ′5_1(484.3204855,212.1297272)为聚类中心的簇1,其目标的运动范围较大,从表5 可以得到目标与聚类中心的距离从4.586808209(>4)到45.01686245,与图4(b)得到的分析 结果类似。因此可以判定是准确的异物目标;而对于以μ′5_2(209.7335671,246.6279227)为聚类 中心的簇2,其目标的运动范围较小,从表6可以得到目标与聚类中心的距离从0.365968276 到1.050551113(<4),依据判别依据,可以认定簇2为噪声点,可以排除。
从最后的聚类结果图上可以容易的排除一些噪声的影响,得到更精确的结果,并且对于 漏检的帧图像,由于利用了多帧图像的检测结果做聚类分析,从最后的结果来看,也起到了 一定程度的减少漏检对最终结果的影响。如图4(b)与图6(b)所示。其中实线椭圆为需要排除 的误检目标,虚线椭圆是目标异物,其中的小矩形框是聚类中心点。
至此,检测完成。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照 上述实施例对本发明进行了详尽的说明,所属领域的普通技术人员应当理解,上述实施例仅 仅是对本发明的示意性实现方式的解释,实施例中的细节并不构成对本发明范围的限制,在 不背离本发明的精神和范围的情况下,任何基于本发明技术方案的等效变换、简单替换等显 而易见的改变,均落在本发明保护范围之内。
Claims (7)
1.一种联合深度神经网络与聚类算法的大输液药液异物目标检测方法,其特征在于,包括以下步骤:
步骤1:采集大输液医药药液生产线上的大输液药液历史序列图像;
步骤2:对采集到的大输液药液历史序列图像进行格式转换后,并进行中央感兴趣区域的提取;
步骤3:将大输液药液历史序列图像的中央感兴趣区域中包含的异物目标进行最小外接矩形的方框标记,并记录每个异物目标的方框标记ground-truth box、角点坐标、所属图像名称、大小、通道数、图像格式与存储路径到标注XML文件中,将所有的标注XML文件先后利用xml_to_csv.py与generate_tfrecord.py脚本进行转换,最后依据约9比1的比例构建训练集和验证集的TFRecord文件;
步骤4:利用训练集与验证集的TFRecord文件输入FasterR-CNN深度神经网络模型进行训练,获得基于FasterR-CNN深度神经网络的异物位置预测标记模型,训练时,配置文件的分类数设置为1,迭代批处理数据数目batch_size置为1,总的迭代次数num_steps设置为20000;
步骤5:按照步骤2对实时采集的大输液医药药液生产线上的大输液药液序列图像进行处理,之后作为测试集直接输入步骤4所述的基于FasterR-CNN深度神经网络的异物位置预测标记模型,获得所有疑似异物目标的位置坐标点;
步骤6:通过层次聚类算法对步骤5获得的所有疑似异物目标位置坐标点进行聚类,获得同一大输液药液序列图像中其疑似异物目标个数;
步骤7:将疑似异物目标个数作为需要聚类的异物目标簇数,采用K-means++聚类算法对疑似目标位置坐标点进行聚类,得到同一疑似异物目标的运动轨迹;
步骤8:依据噪声与异物目标的运动轨迹差别,从得到的序列图像中疑似目标的运动轨迹上区分出异物目标和噪声;
其中,异物目标位置坐标点与所属簇的中心点距离不低于4,噪声位置坐标点与所属簇的中心点距离小于4。
2.根据权利要求1所述的方法,其特征在于,所述基于FasterR-CNN深度神经网络的异物位置预测标记模型是先采用coco数据集上预训练的faster_rcnn_resnet101_coco预训练模型载入FasterR-CNN深度神经网络模型,接着将大输液药液历史序列图像构建的TFRecord文件输入所述FasterR-CNN深度神经网络模型进行训练,获得基于FasterR-CNN深度神经网络的异物位置预测标记模型。
3.根据权利要求2所述的方法,其特征在于,利用训练集与验证集的TFRecord文件输入FasterR-CNN深度神经网络模型进行训练时,划分正负样本区分白色成像异物目标与黑色背景时采用的IoU设置为0.7,损失函数如下:
其中,i为训练时为了回归计算及划分样本对异物目标的方框标记anchor box的索引值,pi是第i个anchor box中的目标预测为异物目标的概率,取值在白色成像异物目标的正样本时取值为1,黑色背景的负样本时取值为0;Ncls是标准化参数,取值为256;Lcls是分类误差函数,是采用白色成像异物目标与黑色背景非目标的对数损失函数;
ti是训练时第i个anchor box与对应预测框的偏移量构成的向量(tx、ty、tw、th),是训练时第i个anchor box与ground-truth box的偏移量构成的向量Nreg是标准化参数,取值为2400,λ是平衡参数,λ=10;Lreg为回归损失函数。
4.根据权利要求1所述的方法,其特征在于,所述通过层次聚类算法对步骤5获得的所有疑似异物目标位置坐标,进行聚类的具体步骤如下:
步骤6.1:输入获得的同一序列图像中的所有疑似异物目标的坐标点数据,每个坐标点作为一个初始簇;
步骤6.2:将当前的所有簇两两组合,计算ESS增量,将ESS增量值最小的两组簇进行合并为同一个簇,重复迭代直到只有一个簇,其中,聚类的簇距离度量函数d采用wardlinkage;
其中,xj是第j个疑似异物目标坐标点,j∈{1,2,…,n},n为疑似异物目标的数量;
步骤6.3:当只有一个簇时,聚类完成,得到自底向上逐渐凝聚的树形结构图,否则回到步骤6.2继续运算;在得到自底向上逐渐凝聚的树形结构图后,以聚类簇间距离作为划分簇数的依据,划分得到疑似异物目标的聚类簇数,基于树形结构图的分类结果得到下一步k-means++的k值,即k-means++的聚类簇数;
其中,聚类簇间距离是指依据沃德方差最小化得到的欧式距离,聚类簇间距离划分簇取值为100。
5.根据权利要求4所述的方法,其特征在于,所述采用K-means++聚类算法对疑似异物目标位置进行聚类,得到同一疑似异物目标的运动轨迹的具体过程如下:
步骤7.1:输入获得的同一序列图像中的所有疑似异物目标位置坐标点数据及步骤6得到的聚类簇数k值;
步骤7.2:从所有输入的疑似异物目标坐标点中随机选择1个坐标数据作为初始均值向量,即聚类中心μ1;
步骤7.3:计算出每个疑似异物目标坐标点与当前已有聚类中心μ1的最短距离,即与最近的一个聚类中心的距离D(x);
步骤7.4:计算每个疑似异物目标坐标点被选为下一个聚类中心的概率其中c为疑似异物目标坐标点,C为坐标点的集合,D(c)2为D(c)的平方;
步骤7.5:按照轮盘法选择出下一个聚类中心;
步骤7.6:重复步骤7.3~7.5直到选择出k个聚类中心的均值向量{μ1,μ2,…,μk};
步骤7.7:计算所有疑似异物目标坐标点与得到的k个均值向量的距离E,将坐标点划入与均值向量之间距离最小的聚类中心所对应的簇中;
其中,μw是簇Cw的均值向量,
步骤7.8:重新计算各个簇的均值向量,运用新的均值向量重复步骤7.7,当迭代次数达到1000或聚类中心的位置不再变化时结束迭代,完成坐标点的k个簇聚类。
6.根据权利要求1所述的方法,其特征在于,对大输液药液序列图像进行格式转换后,并进行中央感兴趣区域的提取的过程如下:
步骤2.1:通过python中的字符串的拼接,将CCD相机获得的大输液药液序列图像BMP位图格式的图像为JPG格式;
步骤2.2:采用双线性插值将JPG格式的大输液药液图像的分辨率压缩成1000*750的分辨率;
步骤2.3:将经过压缩后的大输液药液图像进行resize操作,图像宽度裁剪范围为40至860的区域,高裁剪为160至700的区域。
由于大输液药液异物目标主要集中于图像的中央区域,最终减少了部分光斑的影响。
7.根据权利要求1所述的方法,其特征在于,计算疑似异物目标的boundingbox的中心位置坐标(X,Y)如下:
其中,(left,right,top,bottom)是得到的基于FasterR-CNN深度神经网络的异物位置预测标记模型最终偏移修正了的预测框的角点坐标的x轴的最小、最大值,y轴的最小、最大值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019102177757 | 2019-03-21 | ||
CN201910217775 | 2019-03-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110321891A true CN110321891A (zh) | 2019-10-11 |
Family
ID=68118839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910431767.2A Pending CN110321891A (zh) | 2019-03-21 | 2019-05-23 | 一种联合深度神经网络与聚类算法的大输液药液异物目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321891A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111126501A (zh) * | 2019-12-26 | 2020-05-08 | 厦门市美亚柏科信息股份有限公司 | 一种图像识别方法、终端设备及存储介质 |
CN111265317A (zh) * | 2020-02-10 | 2020-06-12 | 上海牙典医疗器械有限公司 | 一种牙齿正畸过程预测方法 |
CN111709948A (zh) * | 2020-08-19 | 2020-09-25 | 深兰人工智能芯片研究院(江苏)有限公司 | 容器瑕疵检测方法和装置 |
CN111882579A (zh) * | 2020-07-03 | 2020-11-03 | 湖南爱米家智能科技有限公司 | 基于深度学习和目标跟踪的大输液异物检测方法、系统、介质及设备 |
CN111950466A (zh) * | 2020-08-13 | 2020-11-17 | 北京福通互联科技集团有限公司 | 基于轨迹级联算法的瓶装白酒检测方法和检测装置 |
CN112257586A (zh) * | 2020-10-22 | 2021-01-22 | 江苏禹空间科技有限公司 | 目标检测中的真值框选择方法、装置、存储介质及设备 |
CN112685504A (zh) * | 2021-01-06 | 2021-04-20 | 广东工业大学 | 一种面向生产过程的分布式迁移图学习方法 |
CN112819796A (zh) * | 2021-02-05 | 2021-05-18 | 杭州天宸建筑科技有限公司 | 烟丝异物识别方法及设备 |
CN112990367A (zh) * | 2021-04-25 | 2021-06-18 | 杭州晟视科技有限公司 | 一种图像处理方法、装置、设备以及存储介质 |
CN113052184A (zh) * | 2021-03-12 | 2021-06-29 | 电子科技大学 | 一种基于两阶段局部特征对齐的目标检测方法 |
CN113822322A (zh) * | 2021-07-15 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 图像处理模型训练方法及文本处理模型训练方法 |
CN115082476A (zh) * | 2022-08-23 | 2022-09-20 | 山东鲁西药业有限公司 | 用于医用药剂中可见异物的视觉检测方法 |
CN116883410A (zh) * | 2023-09-08 | 2023-10-13 | 四川爱麓智能科技有限公司 | 一种磨斑自动化检测与评价的方法、系统以及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180060684A1 (en) * | 2016-08-31 | 2018-03-01 | Beijing University Of Posts And Telecommunications | Progressive vehicle searching method and device |
CN109064461A (zh) * | 2018-08-06 | 2018-12-21 | 长沙理工大学 | 一种基于深度学习网络的钢轨表面缺陷检测方法 |
-
2019
- 2019-05-23 CN CN201910431767.2A patent/CN110321891A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180060684A1 (en) * | 2016-08-31 | 2018-03-01 | Beijing University Of Posts And Telecommunications | Progressive vehicle searching method and device |
CN109064461A (zh) * | 2018-08-06 | 2018-12-21 | 长沙理工大学 | 一种基于深度学习网络的钢轨表面缺陷检测方法 |
Non-Patent Citations (1)
Title |
---|
MIAO ZHAO等: "Joint Deep Learning and Clustering Algorithm for Liquid Particle Detection of Pharmaceutical Injection", 《2018 EIGHTH INTERNATIONAL CONFERENCE ON IMAGE PROCESSING THEORY, TOOLS AND APPLICATIONS (IPTA)》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111126501A (zh) * | 2019-12-26 | 2020-05-08 | 厦门市美亚柏科信息股份有限公司 | 一种图像识别方法、终端设备及存储介质 |
CN111126501B (zh) * | 2019-12-26 | 2022-09-16 | 厦门市美亚柏科信息股份有限公司 | 一种图像识别方法、终端设备及存储介质 |
CN111265317A (zh) * | 2020-02-10 | 2020-06-12 | 上海牙典医疗器械有限公司 | 一种牙齿正畸过程预测方法 |
CN111882579A (zh) * | 2020-07-03 | 2020-11-03 | 湖南爱米家智能科技有限公司 | 基于深度学习和目标跟踪的大输液异物检测方法、系统、介质及设备 |
CN111950466A (zh) * | 2020-08-13 | 2020-11-17 | 北京福通互联科技集团有限公司 | 基于轨迹级联算法的瓶装白酒检测方法和检测装置 |
CN111709948A (zh) * | 2020-08-19 | 2020-09-25 | 深兰人工智能芯片研究院(江苏)有限公司 | 容器瑕疵检测方法和装置 |
CN112257586A (zh) * | 2020-10-22 | 2021-01-22 | 江苏禹空间科技有限公司 | 目标检测中的真值框选择方法、装置、存储介质及设备 |
CN112257586B (zh) * | 2020-10-22 | 2024-01-23 | 无锡禹空间智能科技有限公司 | 目标检测中的真值框选择方法、装置、存储介质及设备 |
CN112685504A (zh) * | 2021-01-06 | 2021-04-20 | 广东工业大学 | 一种面向生产过程的分布式迁移图学习方法 |
CN112819796A (zh) * | 2021-02-05 | 2021-05-18 | 杭州天宸建筑科技有限公司 | 烟丝异物识别方法及设备 |
CN113052184B (zh) * | 2021-03-12 | 2022-11-18 | 电子科技大学 | 一种基于两阶段局部特征对齐的目标检测方法 |
CN113052184A (zh) * | 2021-03-12 | 2021-06-29 | 电子科技大学 | 一种基于两阶段局部特征对齐的目标检测方法 |
CN112990367A (zh) * | 2021-04-25 | 2021-06-18 | 杭州晟视科技有限公司 | 一种图像处理方法、装置、设备以及存储介质 |
CN113822322A (zh) * | 2021-07-15 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 图像处理模型训练方法及文本处理模型训练方法 |
CN115082476B (zh) * | 2022-08-23 | 2022-11-08 | 山东鲁西药业有限公司 | 用于医用药剂中可见异物的视觉检测方法 |
CN115082476A (zh) * | 2022-08-23 | 2022-09-20 | 山东鲁西药业有限公司 | 用于医用药剂中可见异物的视觉检测方法 |
CN116883410A (zh) * | 2023-09-08 | 2023-10-13 | 四川爱麓智能科技有限公司 | 一种磨斑自动化检测与评价的方法、系统以及设备 |
CN116883410B (zh) * | 2023-09-08 | 2023-11-17 | 四川爱麓智能科技有限公司 | 一种磨斑自动化检测与评价的方法、系统以及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321891A (zh) | 一种联合深度神经网络与聚类算法的大输液药液异物目标检测方法 | |
CN110378909B (zh) | 基于Faster R-CNN的面向激光点云的单木分割方法 | |
Wang et al. | Autonomous garbage detection for intelligent urban management | |
CN110263705A (zh) | 面向遥感技术领域两期高分辨率遥感影像变化检测方法 | |
CN101713776B (zh) | 一种基于神经网络的尿液中有形成分识别分类方法 | |
CN109166094A (zh) | 一种基于深度学习的绝缘子故障定位识别方法 | |
CN109522966A (zh) | 一种基于密集连接卷积神经网络的目标检测方法 | |
CN108830188A (zh) | 基于深度学习的车辆检测方法 | |
CN109740676A (zh) | 基于相似目标的物体检测迁移方法 | |
CN101667245B (zh) | 基于支持向量新颖检测分类器级联的人脸检测方法 | |
CN109785337A (zh) | 一种基于实例分割算法的栏内哺乳动物清点方法 | |
CN108334847A (zh) | 一种真实场景下的基于深度学习的人脸识别方法 | |
CN112819830A (zh) | 基于深度学习与机载激光点云的单株树冠分割方法 | |
CN110414380A (zh) | 一种基于目标检测的学生行为检测方法 | |
CN109086679A (zh) | 一种毫米波雷达安检仪异物检测方法 | |
CN113435282B (zh) | 基于深度学习的无人机影像麦穗识别方法 | |
CN106407958A (zh) | 基于双层级联的面部特征检测方法 | |
CN107729363A (zh) | 基于GoogLeNet网络模型鸟类种群识别分析方法 | |
CN115409069A (zh) | 村镇建筑的识别方法、分类方法、装置、电子设备和介质 | |
CN112668375B (zh) | 景区内游客分布分析系统及方法 | |
CN109902714A (zh) | 一种基于多图正则化深度哈希的多模态医学图像检索方法 | |
CN113032613B (zh) | 一种基于交互注意力卷积神经网络的三维模型检索方法 | |
Chen et al. | Agricultural remote sensing image cultivated land extraction technology based on deep learning | |
CN109635726A (zh) | 一种基于对称式深度网络结合多尺度池化的滑坡识别方法 | |
CN107730553A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191011 |
|
WD01 | Invention patent application deemed withdrawn after publication |