本发明属于图像处理,具体来说,涉及一种基于人工智能的生物样本采集有效性检验方法。
背景技术:
1、核酸检测领域通常包含采集端和检测端。在采集端是以人工采集为主。为了节约人力资源,采用无人值守的自动化核酸采集亭方式是目前该领域的相关厂家研究的一个方向。
2、无人化的自动采集亭目前实现的方式大多数是采用机器人使用机械臂夹具夹取拭子伸入受检人员口腔进行咽部拭子的采集。这种方式有三个较为明显的缺点:1,机械臂对受检人员产生了不小的心理压力;2,在机械臂行程中,受检人员躲避和移位都会造成采集失败,造成采集时间长,采集效率低;3,机械臂使用成本和维护成本均较高,不利于布点和维护。
3、现有技术中得缺陷在于,缺乏一种识别机械臂进行咽部拭子的采集中采集部位与拭子头是否有效接触并完成检验的方法。
技术实现思路
1、针对现有技术缺乏一种识别机械臂进行咽部拭子的采集中采集部位与拭子头是否有效接触并完成检验的问题,本发明提供了一种基于人工智能的生物样本采集有效性检验方法。
2、为实现上述技术目的,本发明采用的技术方案如下:
3、一种基于人工智能的生物样本采集有效性检验方法,包括步骤:
4、s1、通过高清视频摄像头采集用户的口腔图像和咽拭子采集过程图像;
5、s2、对图像进行预处理,得到视频帧;
6、s3、通过采集部位指示算法计算咽部采集区域多边形顶点坐标;
7、s4、通过拭子头识别算法接收输入的视频帧,输出咽拭子头在视频帧的多边形顶点坐标信息,识别咽拭子头部位;
8、s5、通过拭子头与检测部位接触检测算法结合原始图像进行综合评估接触程度和接触部位,并给出相应评分;
9、s6、通过动作完成评估算法对视频流的多个连续视频帧进行检测判定。在视频流记录的采集动作达到算法指定条件时,给出采集动作完成的二分类结果判定。
10、进一步地,采集部位指示算法为unet图像分割算法,unet图像分割算法的unet网络结构函数定义包括步骤:
11、s301、定义conv2d二维图卷积函数,计算公式为:
12、
13、其中:
14、×符号为互相关(cross-correlation)运算符,这里使用矩阵卷积运算来实现;
15、n是一次计算输入的图像帧数,即batch-size值;
16、cin是输入图像的通道数,cout是输出图像的通道数,对于原始rgb图像来说,包含3个通道,则c=3,对于中间层的特征图来说则为特征图的实际通道数;
17、input表示输入图四维张量,张量形状为(图像素宽度,图像素高度,图像通道数,batch-size值)四元组。
18、output表示输出图四维张量,张量形状为(图像素宽度,图像素高度,图像通道数,batch-size值)四元组。
19、padding函数表示将输入的四维图张量尺寸扩充p个像素值。
20、weight表示卷积核权重参数四维张量,张量形状为(卷积核宽度,卷积核高度,输出的图像通道数,batch-size值)四元组。规定conv2d运算固定采用3*3卷积核,步长s固定为1。
21、bias表示本次conv2d计算的偏置权重张量,形状与weight一致。
22、conv2d的输入输出图像尺寸参考下面公式计算:
23、
24、其中:
25、win是输入图像尺寸;
26、wout是输出图像尺寸;
27、ks是卷积核大小;
28、p和s与conv2d操作定义一致;
29、在conv2d操作的定义中,我们取p=1,s=1,ks=3,因此,conv2d操作的输出图像尺寸与输入相同:
30、
31、s302、定义分类函数,除了固定采用1*1卷积核,其他与conv2d完全一致,记为class2d;
32、s303、定义maxpool函数:
33、
34、其中,max操作是指定2*2核按步长2进行取元素最大值计算,可以得到输入输出图像尺寸关系:
35、wout=win/2
36、hout=hin/2
37、s304、定义relu函数作为conv2d函数的激活函数:
38、output(n,k,w,h)=relu(input(n,k,w,h))=max(0,input(n,k,w,h))
39、s305、定义upsampled上采样函数:
40、
41、其中weight上采样权重张量。
42、s306、定义channelcat特征图堆叠函数:
43、
44、其中。cout=cin1+cin2,+操作符将两个输入尺寸相同的特征图通道进行简单堆叠。
45、s307、定义特征图残差网络动作判定函数resnet:
46、首先定义某一层1的残差网络特征提取函数:
47、outputl+1=inputl+f(inputl+weightl)
48、其中input和output是输入和输出张量,尺寸由(n,c,w,h)确定。
49、f计算包含对张量每个元素的算数归一化,conv2d计算,relu计算的一个单次顺序计算组合。
50、继续定义从1层开始的任意层l的残差网络特征提取函数:
51、
52、s308、定义全链接层fc和softmax层函数fc_softmax,
53、softmax函数为:
54、
55、fc_sofimax函数为:
56、outputo=fc_softmax(inputi)=softmax(weighti,o×inputi+baisi,o)
57、其中weight是线性权重矩阵,bias是偏置矩阵。
58、经过全连接层后,将尺寸为(n,c,w,h)的张量进行一维化拉伸,得到(n,c*w*h)的多批次一维张量,然后经过权重矩阵和偏置矩阵计算,将得到最后的符合采集动作完成标准和不符合采集动作完成标准的判定概率值。
59、进一步地,在unet图像分割算法的基础上,构建采集部位指示算法步骤包括:
60、s3001、通过视频采集设备输入1920*1080尺寸的yuv视频帧input001;
61、s3002、进行图像预处理,将input001转化颜色通道为bgr通道,
62、将图像进行中央截取,获得512*512*3的张量输入数据output002,其中前两个512表示图像宽高,第三个参数3表示蓝、绿、红三个颜色分量通道。
63、s3003、设置输入视频帧inputn=relu(outputn-1)或者inputn=outputn-1,并进行conv2d、maxpool、upsampled和channelcat运算,直到获取张量输出数据output036采集部位指示区域的64通道特征图;
64、s3004、重复步骤s3003,得到拭子头识别区域的64通道特征图,记为input′036;
65、s3005、设置input037=relu(output036),并进行conv2d运算
66、output037(n=8,cout=2,w=512,h=512)=class2 d(input037,n=8,cin=64,cout=2,w=512,h=512,p=1)
67、通过上面步骤,可分别得到采集部位指示区域和拭子头识别区域的像素点二分类信息,一个分类是背景像素点,一个分类是采集部位或者拭子头像素点。
68、在模型运行之初这个二分类是随机初始化的,通过下面训练步骤,可逐步提升二分类信息的准确性。
69、进一步地,通过训练的损失函数对步骤s3005中像素点二分类信息进行交叉熵求值并进行反向梯度计算;定义训练的损失函数采用交叉熵函数,公式为:
70、
71、将output037二分类计算结果与输入视频标注的二分类目标结果进行交叉熵求值并进行反向梯度计算。更新conv2d、class2d、upsampled等函数中的weight和bias值,使得h(p,q)趋于最小即可得到采集部位指示和拭子头识别算法模型。将采集部位指示和拭子头识别算法指示的采集部位和拭子头像素分别用不同的颜色混合原有像素值,即可在视频帧中标注出采集部位和拭子头,指引受检人员进行采集操作。
72、进一步地,继续在[s036]的结果基础上构建接触检测算法。
73、s5001、设置input038=relu(output036),设置input’038=relu(output’036)并进行channelcat运算
74、
75、s5002、设置input039=output038,并进行conv2d运算
76、output039(n=8,cout=64,w=512,h=512)
77、=conv2d(input039,n=8,cin=128,cout
78、=64,w=512,h=512,p=1)
79、s5003、设置input040=relu(output039),并进行conv2d运算
80、output040(n=8,cout=64,w=512,h=512)=conv2d(input040,n=8,cin=64,cout=64,w=512,h=512,p=1)
81、s5004、设置input041=relu(output040),并进行网络深度为8的resnet8运算
82、ontput041(n=8,cout=64,w=512,h=512)=resnet8(input041,n=8,cin=64,w=512,h=512,p=1)
83、s5005、设置input042=output041,并进行fc_softmax的特征概率结果判别,判别结果为“接触”和“不接触”二分类结果:
84、output042(n=8,o=2)=fc_softmax(input042(n=8,i=64))
85、s5006、通过步骤s5001-s5005得到当前视频帧中,咽拭子和咽部采集部位的接触概率指标,取值范围在(0-1)之间。
86、讲一步地,在接触检测算法提供接触概率值后,最后定义动作完成评估算法来实现对采样动作是否完成的最终判定:
87、定义判定函数:
88、
89、定义打分函数:
90、
91、其中fps是当前视频流帧率,cp是置信概率,累加2秒内视频帧的判定值j后,得到当前采集动作完成分数。可设置分数门限范围(0,fps*2-1)中的一个值来作为动作完成门限,当score大于等于这个门限即可视为采集完成。
92、本发明相比现有技术,具有如下有益效果:
93、本发明所提供算法模块,可用于无人值守自助式核酸采样亭,与单目高清摄像头配合,即可实现对受检人员的自助采样过程进行动作完成判别。与机械臂式的核酸采集方案相比,对受检人员的心理压力最小,一次性采集成功率和采集效率也更高,建设成本也更低。
94、本发明将四个算法模块(采集部位指示算法、拭子头识别算法、接触检测算法、动作完成评估算法)整合在一个视频处理流程中,一套流程即可完成核酸采集过程对算法模型提出的三个任务,即采集部位指示、咽拭子头识别和指示、动作完成检测和评估。
95、通过模型中的隐层共享和结果利用,最大可能节约了算法模块所需要的计算平台资源。使得本算法模块的推理过程可在inteli312100f等低端cpu上运行,由于对gpu无特殊要求,大大节约了算法部署成本,也具备在android等移动低功耗平台上运行的能力。
96、与普通unet模型相比,通过在conv2d计算中引入特殊尺寸的卷积核和padding,步长参数,使得conv2d计算不更改输入特征图尺寸,不但减少了运算量,也使得模型的通用性更强。不仅适合核酸检测场景,也适用于其它自助样本获取场景。