1.本发明属于图像检测技术领域,具体涉及基于图像识别的抗原检测结果认证的方法。
背景技术:2.新型冠状病毒是一种可引起人肺炎/肺部感染的新的冠状病毒,是传染性极高的急性呼吸道传染疾病,2020年2月11日,世界卫生组织(wto)将新型冠状病毒感染的肺炎命名为“covid-19”。截止目前,全球新冠确诊人数已经超过5亿,已经严重威胁到社会以及人们的健康安全。
3.新型冠状病毒的检测方法主要包括核酸检测、抗体检测、抗原检测,其中抗原检测较为便利,应用也十分广泛。现有抗原检测上传数据都是人为选择阴性、阳性或失效,不够方便也不能确定照片与所勾选的结果是否匹配,尤其是对于一些老人,可能因为操作等原因,所得出的结果可能不准确。此外,避免可能出现有的人因为抗原检测是阳性而因为所谓的麻烦,忽略抗疫的严重性,从而不上传抗原检测结果的可能性。
4.最重要的是,目前的新冠产生各种变体,传播能力极强,因此当疫情产生时,一座城市会有千万的人上传抗原检测照片,如果采用全部上传照片再识别抗原的的方式势必会给造成服务器巨大压力,随时可能导致系统崩溃。
技术实现要素:5.本发明的目的在于提供一种基于图像识别的抗原检测结果认证方法,使易于判断的抗原检测结果在手机端完成,实现高效、准确的抗原检测结果认证。
6.本发明提供的基于图像识别的抗原检测结果认证方法,具体流程见图1所示;具体步骤为:s1、采集用户抗原检测之前试剂盒照片,包括:s1-1、由用户手机下载抗原自测app;s1-2、在手机端通过app拍摄抗原试剂盒的照片、二维码以及试剂条照片,一并发送到检验层;s1-3、二维码照片完整性和抗原试剂盒照片判断;检验层采用边缘检测方法(canny算法),判断二维码照片是否完整并且试剂条是否空白;如果二维码照片不完整,则返回s1-2,如果二维码照片完整但是试剂条不是空白,则向终端返回失败信息;如果二维码照片完整且试剂条是空白,则进行下一步;s1-4、将二维码信息由检验层发送到认证层,认证层从二维码数据库调取信息进行认证,判断二维码是否属实、并且是否使用过,如果认证不通过,则向终端层返回失败信息,若通过,进行s2;s2、采集用户抗原检测之后的试剂盒照片,包括:s2-1、将用户手机拍摄的抗原试剂盒照片、二维码以及试剂条照片,一并发送到检
验层;s2-2、检验层采用边缘检测方法,判断二维码照片是否完整、试剂条是否有效;如果二维码照片不完整,则返回s1-2,如果二维码照片完整但是试剂条无效,则向终端返回试剂无效信息,并提醒用户重新做抗原检测,返回s1;如果二维码照片完整且试剂条有效,则进入s3;s3、判断试剂条信息,自动上传抗原检测结果,包括:s3-1、检测两次拍摄的试剂盒的二维码信息,判断是否一致;若不一致或者未上传第二次抗原检测照片,进行s3-3;若一致,则进入s3-2;s3-2、判断试剂条信息;若在c处为一条杠,上传阴性结果,若在c处和t处都有一条杠,上传阳性结果,并把被检测人员信息上传至待复核数据库;后续重点关注被检测人员的健康问题,若试剂条检验结果为非上述两种,则判断为模糊,进入s3-3;s3-3、将此抗原检测的试剂条信息上传至服务器,在服务器端使用ai的方法进行识别,判断若为阴性,上传阴性结果;若为阳性,上传阳性结果,并把被检测人员信息上传至待复核数据库;后续重点关注被检测人员的健康问题,若非上述两种结果,判定此次抗原检测无效,进入s3-4;s3-4、将被检测人员信息上传至待观察数据库,并提醒用户端重新进行抗原检测,若12小时后,被检测人员尚未进行新的抗原检测信息上传,则将被检测人员信息上传至待复核数据库,重点关注被检测人员健康问题。
7.其中:所述检验层代表的是app将canny算法部署在用户的手机上,然后调用用户手机的算力来处理二维码和试剂条图片的环节;所述认证层代表的是将识别出的试剂盒二维码编码送到后台服务器的数据中心来认证该编码是否存在或是否被使用的环节;所述服务器为存放在疾控中心的管理计算资源的计算机。本服务器的主要作用是管理由试剂盒编码信息、用户的个人信息以及对应抗原检测结果的信息构成的数据库;所述待观察数据库,用来存放抗原检测结果模糊难以做出判断,需要重新进行抗原检测的用户信息;所述待复核数据中心,用来存放抗原检测结果为阳性,需要防疫人员上门进行核酸检测的用户信息。
8.进一步地,步骤s1-2中,通过手机端app拍摄的照片时,只允许app获取手机相机权限,禁止获取存储权限,以防止采用相册导入。
9.进一步地,步骤s1-3中,二维码照片完整性判断和抗原试剂条照片判断包括:使用边缘算法进行识别分类。通过定位图片中的二维码位置,再根据二维码呈正方形的特点来对图片进行旋转和透视等处理。随后对处理后的图片进行切割,并将其中试剂条的部分进行抽离。接着对所有得到的试剂条通过边缘检测算法(canny算法)来鉴定试剂条上信息判断。
10.本发明采用智能识别试剂盒照片,能够简化抗原信息数据上传的便利性,并且增加自动识别抗原结果的功能。本发明方法在手机端就可以进行抗原结果的识别,如果无法在边缘端判断,再将抗原结果照片上传至服务器,进行更深层次的判断,这可以大大降低服
务器压力,实现低功耗。此外,本发明增加了防瞒报功能,以防被检测人员在发现阳性后蓄意隐瞒不上传照片情况,进一步提升抗疫防控能力。
附图说明
11.图1是本发明基于图像识别的抗原检测结果认证的方法流程示框图。
12.图2是数据信息检验认证流程示意图。
13.图3是图像识别边缘检测算法具体流程图。
具体实施方式
14.本发明提供的基于图像识别进行抗原检测结果认证的方法,包括采用本地检验认证和云检验认证两部分。在该模式下,采用手机与图像边缘检测相结合的方法,具体地,首先是在本地对用户手机拍摄的照片进行提取,通过app来调用手机本地的算力来检验和认证信息。当信息存在模糊或缺失时,将拍摄信息上传至后台服务器,检验层对图像进行处理和提取所需信息,然后上传至数据中心进行认证,认证通过后将结果返回至手机终端,形成信息闭环。
15.具体方法包括:由手机端app的向业务运营系统发起调用本地相机采集试剂盒照片的请求,用户用手机拍摄抗原自测试剂盒的照片,手机将拍摄的试剂盒照片在app中进行检测和识别,首先检测图片中的试剂条是否为空白,若试剂条检测为空白,则说明第一次检测通过,若试剂条检测为非空白,则第一次检测失败,需要重新拍照上传。试剂条检测通过后,需要解读图片中二维码对应的试剂盒编号进行上传,将识别到的二维码上传至后台服务器进行认证比对,若服务器比对后认定该二维码编码有效且并未被使用过,则表明认证通过。
16.在检测层调用canny算法对图片进行边缘检测,将收到的图片进行旋转和透视处理,然后将图片中的二维码和试剂条部分进行切割剥离。通过识别二维码来获取抗原试剂盒编码并将得到的二维码编码发送至服务器进行认证。认证层在收到二维码编码后,通过检索数据库来判断该二维码编码是否为生产的试剂盒上的二维码或是否已经被使用过,若该二维码是试剂盒二维码且并未被使用过,则认证该二维码有效,否则认证失败。试剂条部分由canny边缘检测算法来识别该试剂条是否为空白,若试剂条空白,说明该试剂盒并未被使用,则检测通过。二维码的认证和试剂条的检测均通过则进入下一环节。
17.上一环节通过后,用户便需要上传抗原检测后的结果,用户需要再次拍摄抗原试剂盒照片进行上传,手机识别出图片中的二维码编码后与第一次识别的二维码进行比较,若两次二维码识别不一致,则说明二维码无效,即上传结果失败,需要重新上传。若两次二维码一致,则说明二维码有效。然后app通过调用手机算力来运行canny算法,对图片中的试剂条进行识别,若检测为一条杠,则返回“阴性”结果,若检测为两条杠,则返回“阳性”结果。若检测中出现图片模糊或杠的位置不准确时,则将图片信息上传至后台服务器,通过ai算法对图片进行加工处理,然后将更准确的结果发送回手机。本环节需要进行第二次的检测和认证,首先在手机上录入采样时间和采样地点信息,然后上传抗原自测盒使用后的照片。与第一次过程类似,首先调用相机拍摄抗原自测试剂盒照片,然后将照片发送到检验层。仍然是分离出二维码和试剂条部分,本次二维码认证并不需要上传至数据中心,只需要确认
该二维码与第一次认证中的二维码是否一致。若认证两次二维码一致,则认证通过,否则认证失败。试剂条部分在canny边缘检测后判断检测结果为一条杠还是两条杠,若结果为一条杠,则返回结果为“阴性”,若结果为两条杠,则返回结果为“阳性”。若canny算法检测到图片模糊,不能判断,则将图片信息上传至服务器进行ai处理,对检测结果做进一步判断。服务器处理后将得到的再结果发送回用户手机。
18.在上述边缘检验阶段中,将上传图片进行参数提取并使用canny算法来进行处理。canny边缘检测算子是一个多级边缘检测算法,其边缘检测目的是在保留原有图像属性的情况下,显著减少图像的数据规模。canny边缘检测算法可以分为以下五个步骤。
19.(1)应用高斯滤波来平滑图像,其主要目的是降噪。高斯滤波能使图像变得平滑,同时也有可能增大了边缘的宽度。高斯函数是一个类似于正态分布的中间大两边小的函数。对于一个位置(m,n)的像素点,其灰度值(只考虑二值图)为f(m,n)。那么经过高斯滤波后的灰度值将变为:,式中σ表示高斯函数的标准差。
20.(2)找寻图像中的强度梯度。在图像中,用梯度来表示灰度值的变化程度和方向。它可以通过点乘一个sobel或其它算子得到不同方向的梯度值。综合梯度通过以下公式计算梯度值和梯度方向:式中g
x
,gy分别代表横向梯度和纵向梯度。
21.(3)应用非最大抑制技术来消除边误检。其目的是将模糊的边界变得清晰。就是保留了每个像素点上梯度强度的最大值,而删掉其他的值。
22.(4)应用双阈值的方法来决定可能的边界。一般的边缘检测算法用一个阈值来滤除噪声或颜色变化引起的小的梯度值,而保留大的梯度值。canny算法应用双阈值,即一个高阈值和一个低阈值来区分边缘像素。如果边缘像素点梯度值大于高阈值,则被认为是强边缘点。如果边缘梯度值小于高阈值,大于低阈值,则标记为弱边缘点。小于低阈值的点则被抑制掉。
23.(5)利用滞后技术来跟踪边界。强边缘点可以认为是真的边缘。弱边缘点则可能是真的边缘,也可能是噪声或颜色变化引起的。为得到精确的结果,后者引起的弱边缘点应该去掉。通常认为真实边缘引起的弱边缘点和强边缘点是连通的,而又噪声引起的弱边缘点则不会。所谓的滞后边界跟踪算法检查一个弱边缘点的8连通领域像素,只要有强边缘点存在,那么这个弱边缘点被认为是真是边缘保留下来。
24.在本检测方案中,canny算法流程如图3所示。首先,将输入的抗原检测试纸图片(img)转为灰度图(img_gray)。在img_gray中,根据二维码框来提取包含二维码所在区域
(img_sub)。然后对img_sub进行二值化处理,利用canny算法提取二维码所在的矩形边缘,并用四条直线进行拟合。利用拟合的直线求出四条直线的交点,即二维码正方形框的四个顶点:(x0,y0),(x1,y1),(x2,y2),(x3,y3),作为源矩阵ms,并计算出目标矩阵md,根据ms与md,计算变换矩阵m。根据矩阵m,对img_gray进行旋转变化,同时根据m计算获取二维码宽度和高度(w,h),根据抗原试剂盒原封装尺寸,计算试纸矩形框所在位置(x4,y4),(x5,y5),(x6,y6),(x7,y7),然后提取该子图img_test。
25.得到图片中检测的目标区域后,利用canny提取img_test边缘信息,利用直线拟合,并获取直线数目n,并计算横向直线位置与试纸高度的比值a。若识别直线数目n的值小于零,则说明该试剂盒检测无效。若直线数目n的值大于零,则比较所有直线的a值与a1(阴性位置)和a2(阳性位置)的大小。若直线数目n大于2,且存在a约等于a2,则表明该抗原检测结果为阳性;若直线数目n小于2,不存在a等于a2且存在a等于a1,则表明抗原检测结果为阴性,否则表明该抗原检测结果无效。
26.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。