掌桥专利:专业的专利平台
掌桥专利
首页

二维码状态识别方法及装置

文献发布时间:2023-06-19 11:29:13


二维码状态识别方法及装置

技术领域

本公开的实施例涉及终端技术领域,尤其涉及一种二维码状态识别方法及装置。

背景技术

随着二维码的发展和物联网设备的普及,二维码在物联网设备中的应用日益增多。通过在设备上附上二维码,用户可以通过终端设备扫描二维码识别其中存储的信息,进行相应的操作。

在实际中,例如共享自行车上,车身上嵌入的二维码可能会因为自然磨损或人为破坏等原因,导致二维码不可用。此时需要对二维码进行回收和更新,以便能正常提供服务。目前用户通过终端设备扫描二维码时,得到的结果通常是识别到二维码或识别不到二维码两种状态。无法根据扫描结果判断出二维码的实际状态,进而做出合适的处理。

发明内容

本公开的实施例提供一种二维码状态识别方法及装置,用以解决目前无法根据扫码结果确定二维码的实际状态的问题。

第一方面,本公开的实施例提供一种二维码状态识别方法,包括:

获取扫码图像;

根据所述扫码图像获取第一识别结果,所述第一识别结果为所述扫码图像中包括二维码,或者,所述扫码图像中不包括二维码;

在所述第一识别结果为所述扫码图像中包括二维码时,根据所述扫码图像获取第二识别结果,所述第二识别结果为所述扫码图像中的二维码为正常状态,或者,所述二维码为非正常状态。

在一种可能的实施方式中,根据所述扫码图像获取第一识别结果,包括:

根据第一模型对所述扫码图像进行处理,得到所述第一识别结果;

其中,所述第一模型是通过多组第一样本训练得到的,每组第一样本中包括一张第一样本扫码图像和所述第一样本扫码图像的第一样本识别结果,所述第一样本识别结果为所述第一样本扫码图像中包括样本二维码,或者,所述第一样本扫码图像中不包括样本二维码。

在一种可能的实施方式中,根据所述扫码图像获取第二识别结果,包括:

根据第二模型对所述扫码图像进行处理,得到所述第二识别结果;

其中,所述第二模型是通过多组第二样本训练得到的,每组第二样本中包括一张第二样本扫码图像和所述第二样本扫码图像的第二样本识别结果,所述第二样本扫码图像中包括样本二维码,所述第二样本识别结果为所述样本二维码为正常状态,或者,所述样本二维码为非正常状态。

在一种可能的实施方式中,所述方法还包括:

根据所述第二识别结果,对所述二维码进行处理。

在一种可能的实施方式中,根据所述第二识别结果,对所述二维码进行处理,包括:

在所述第二识别结果为所述二维码为正常状态时,根据所述扫码图像获取所述二维码对应的数据信息;

在所述第二识别结果为所述二维码为非正常状态时,向服务器发送所述扫码图像以指示所述服务器回收所述二维码。

在一种可能的实施方式中,在所述第二识别结果为所述二维码为非正常状态时,所述方法还包括:

向服务器发送位置信息。

在一种可能的实施方式中,在所述第一识别结果为所述扫码图像中不包括二维码时,所述方法还包括:

显示提示信息,所述提示信息用于提示将扫码引导框对准二维码;

重新获取所述扫码引导框中的扫码图像。

第二方面,本公开的实施例提供一种二维码状态识别装置,包括:

获取模块,用于获取扫码图像;

第一识别模块,用于根据所述扫码图像获取第一识别结果,所述第一识别结果为所述扫码图像中包括二维码,或者,所述扫码图像中不包括二维码;

第二识别模块,用于在所述第一识别结果为所述扫码图像中包括二维码时,根据所述扫码图像获取第二识别结果,所述第二识别结果为所述扫码图像中的二维码为正常状态,或者,所述二维码为非正常状态。

在一种可能的实施方式中,所述第一识别模块具体用于:

根据第一模型对所述扫码图像进行处理,得到所述第一识别结果;

其中,所述第一模型是通过多组第一样本训练得到的,每组第一样本中包括一张第一样本扫码图像和所述第一样本扫码图像的第一样本识别结果,所述第一样本识别结果为所述第一样本扫码图像中包括样本二维码,或者,所述第一样本扫码图像中不包括样本二维码。

在一种可能的实施方式中,所述第二识别模块具体用于:

根据第二模型对所述扫码图像进行处理,得到所述第二识别结果;

其中,所述第二模型是通过多组第二样本训练得到的,每组第二样本中包括一张第二样本扫码图像和所述第二样本扫码图像的第二样本识别结果,所述第二样本扫码图像中包括样本二维码,所述第二样本识别结果为所述样本二维码为正常状态,或者,所述样本二维码为非正常状态。

在一种可能的实施方式中,还包括处理模块,所述处理模块用于:

根据所述第二识别结果,对所述二维码进行处理。

在一种可能的实施方式中,所述处理模块具体用于:

在所述第二识别结果为所述二维码为正常状态时,根据所述扫码图像获取所述二维码对应的数据信息;

在所述第二识别结果为所述二维码为非正常状态时,向服务器发送所述扫码图像以指示所述服务器回收所述二维码。

在一种可能的实施方式中,在所述第二识别结果为所述二维码为非正常状态时,所述处理模块还用于:

向服务器发送位置信息。

在一种可能的实施方式中,在所述第一识别结果为所述扫码图像中不包括二维码时,所述获取模块还用于:

显示提示信息,所述提示信息用于提示将扫码引导框对准二维码;

重新获取所述扫码引导框中的扫码图像。

第三方面,本公开的实施例提供一种二维码状态识别设备,包括:存储器和处理器;

所述存储器用于存储程序指令;

所述处理器用于调用所述存储器中的程序指令执行如第一方面任一项所述的方法。

第四方面,本公开的实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序;所述计算机程序被执行时,实现如第一方面任一项所述的方法。

第五方面,本公开的实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面中任一项所述的方法。

本公开的实施例提供的二维码状态识别方法及装置,首先获取扫码图像,然后根据扫码图像获取第一识别结果,第一识别结果为扫码图像中包括二维码或者不包括二维码,通过第一识别结果进行了扫码图像中是否存在二维码的判定。然后,在第一识别结果为扫码图像中包括二维码时,根据扫码图像获取第二识别结果,第二识别结果为扫码图像中的二维码为正常状态或者非正常状态。本公开的实施例的方案,在第一识别结果为扫码图像中存在二维码时,就排除了后续由于扫码图像中不存在二维码导致识别失败的问题,因此在后续获取到第二识别结果后,根据第二识别结果对应的二维码的状态,就能够对二维码进行相应的处理。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本公开的实施例提供的一种二维码的结构信息示意图;

图2为本公开的实施例提供的一种应用场景示意图;

图3为本公开的实施例提供的二维码状态识别方法的流程示意图;

图4为本公开的实施例提供的二维码状态识别的流程示意图;

图5为本公开的实施例提供的扫码示意图;

图6为本公开的实施例提供的显示提示信息示意图;

图7为本公开的实施例提供的二维码扫码结果示意图;

图8为本公开的实施例提供的二维码处理示意图;

图9为本公开的实施例提供的一种二维码状态识别装置的结构示意图;

图10为本公开的实施例提供的二维码状态识别设备的硬件结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

首先对本公开的涉及的概念进行解释。

二维码:用特定的几何图形按一定规律在平面分布的黑白相间的图形。

图1为本公开的实施例提供的一种二维码的结构信息示意图,如图1所示,该二维码的结构信息中主要包括功能图形和编码区格式。其中,功能图形主要包括位置探测图形、位置探测图形分隔符、定位图形和校正图形,编码区格式主要包括格式信息、版本信息、数据和纠错码字。

其中,位置探测图形由三个黑白相间的正方形嵌套组成,分别位于二维码左上角、右上角、左下角,用于确定二维码的大小和位置;定位图形由两条黑白相间的直线组成,便于确定二维码的角度,纠正扭曲;校正图形由三个黑白相间的小正方形嵌套组成,便于确定二维码的中心,纠正扭曲;格式信息用于记录使用的掩码和纠错等级;版本信息用于记录二维码的具体的版本;数据和纠错码字包括数据码和纠错码,其中数据码用于存储二维码要存放的数据信息,纠错码用于在当二维码的数据出现允许范围内的错误时,也可以进行正确扫码。

图1示例的二维码的结构仅仅是一种举例,其中二维码的各个部分具备不同的功能。通过这些结构的设置,使得扫码时能够正确扫描二维码,获取二维码存储的信息。

ImageNet:图像识别领域权威数据集,针对不同图像识别细分任务,提供图像分类等不同版本和数据量的子数据集。

SOTA:state-of-the-art,不特指某个具体的模型,而是指在任务中,目前最好或最先进的模型。

图2为本公开的实施例提供的一种应用场景示意图,如图2所示,包括共享单车21和终端设备23,终端设备23为用户24持有。

终端设备23例如是智能手机、便携式电脑、平板电脑、掌上电脑、可穿戴设备、虚拟现实设备、增强现实设备等或其任何组合,在此不做限定。其中,图2以终端设备23为智能手机为例示出。

共享单车21例如是共享电单车、共享三轮车、共享电动助力车、共享摩托车以及共享四轮乘用车等,在此不做限定。其中,图2以共享单车21为共享自行车为例示出。其中,共享单车21上设置有车锁25,车锁25用于锁定或解锁共享单车21。车锁25可以是机械锁或电子锁。共享单车21和车锁25可以是彼此机械连接的部件。例如,共享单车21和车锁25可以是相互独立的部件,并且车锁25可以安装在共享单车21上。可选的,共享单车21和车锁25可以集成为一整体。

终端设备23具备扫码功能,可以扫描物联网设备上的二维码,从而识别二维码中存储的信息,进行相应的操作。

在共享单车21的后方,设置有二维码22,扫描二维码22能够获取共享单车21的相关信息。例如,共享单车21上设置有车锁25,通过扫描二维码22,能够将车锁25解锁,从而使用共享单车21骑行。

当用户24想要使用共享单车21时,可以持终端设备23扫描二维码22

需要说明的是,本公开的实施例中,共享单车21仅仅是物联网设备的一种举例,对二维码的使用场景并不构成具体的限定。

当用户24使用终端设备23扫描二维码22时,通常会有两种扫描结果,一种是识别到二维码,一种是未识别到二维码。当识别到二维码后,就可以顺利的识别二维码中存储的信息,进行后续的操作。当未识别到二维码时,一种可能是终端设备23的扫描框未对准二维码22,另一种可能是二维码22出现了损坏导致无法正确被识别。

如果未识别到二维码是由于终端设备23的扫描框未对准二维码22导致的,则可以提示用户重新扫描即可,但如果是二维码22出现了损坏,则需要另行对二维码22进行处理,否则会间接导致共享单车21不可用。

由于目前的方案中,终端设备23扫描二维码22时,只会得到识别到二维码或未识别到二维码两种结果中的一种,在未识别到二维码时,并不能判断具体导致不能识别到二维码的原因,因此也就不能根据未识别到二维码的具体原因进行相应的处理。

基于上述问题,本公开的实施例提供一种二维码状态识别方案。下面将结合附图对本公开的实施例的方案进行介绍。

图3为本公开的实施例提供的二维码状态识别方法的流程示意图,如图3所示,该方法可以包括:

S31,获取扫码图像。

本公开的实施例中的执行主体可以为用户持有的终端设备。用户打开终端设备的扫码界面时,会出现扫码引导框。终端设备可以获取扫码引导框中的扫码图像。

S32,根据所述扫码图像获取第一识别结果,所述第一识别结果为所述扫码图像中包括二维码,或者,所述扫码图像中不包括二维码。

由于用户持终端设备进行扫码时,可能对准了二维码,也可能没有对准二维码,因此首先根据扫码图像获取第一识别结果,判断扫码图像中是否包括二维码。如果扫码图像中不包括二维码,表明用户没有将终端设备的扫码引导框对准二维码,从而也就无法进行二维码的后续识别。

S33,在所述第一识别结果为所述扫码图像中包括二维码时,根据所述扫码图像获取第二识别结果,所述第二识别结果为所述扫码图像中的二维码为正常状态,或者,所述二维码为非正常状态。

当第一识别结果为扫码图像中包括二维码时,就排除了终端设备的扫码引导框未对准二维码的情况。此时,可以根据扫码图像获取第二识别结果,判断扫码图像中的二维码的状态。

二维码的状态为正常状态或非正常状态,其中,正常状态为二维码处于可识别的状态,而非正常状态表示二维码处于不可识别的状态,其中,导致二维码不可识别的原因可能是二维码出现磨损、被遮挡、被涂改等等。

当二维码为正常状态时,可以正常进行后续的扫码获取二维码的存储信息的流程。当二维码为非正常状态时,就可以针对性的进行处理,例如对该二维码进行回收,重新更新一个正常状态的二维码。

本公开的实施例提供的二维码状态识别方法,首先获取扫码图像,然后根据扫码图像获取第一识别结果,第一识别结果为扫码图像中包括二维码或者不包括二维码,通过第一识别结果进行了扫码图像中是否存在二维码的判定。然后,在第一识别结果为扫码图像中包括二维码时,根据扫码图像获取第二识别结果,第二识别结果为扫码图像中的二维码为正常状态或者非正常状态。本公开的实施例的方案,在第一识别结果为扫码图像中存在二维码时,就排除了后续由于扫码图像中不存在二维码导致识别失败的问题,因此在后续获取到第二识别结果后,根据第二识别结果对应的二维码的状态,就能够对二维码进行相应的处理。

下面结合附图对本公开的实施例的方案进行详细介绍。

图4为本公开的实施例提供的二维码状态识别的流程示意图,如图4所示,包括:

S41,获取扫码界面的引导框中的扫码图像。

图5为本公开的实施例提供的扫码示意图,如图5所示,终端设备50可以用于扫描二维码。用户打开终端设备50的扫码界面后,会出现扫码引导框51,通过扫码引导框51的扫描,可以获取对应的扫码图像。例如在图5中,分别进行两次扫码,分别得到扫码图像52和扫码图像53。

S42,判断扫码图像中是否包括二维码,若是,则执行S44,若否,则执行S43。

在获取扫码图像后,根据扫码图像获取第一识别结果,确定扫码图像中是否包括二维码。

可选的,可以根据第一模型对扫码图像进行处理,得到第一识别结果,其中,第一模型为一个分类模型,用于判断扫码图像中是否包含二维码。

在使用第一模型之前,需要先进行第一模型的训练,第一模型是通过多组第一样本训练得到的,每组第一样本中包括一张第一样本扫码图像和第一样本扫码图像的第一样本识别结果,第一样本识别结果为第一样本扫码图像中包括样本二维码,或者,第一样本扫码图像中不包括样本二维码。

在进行第一模型的构造时,可选的,可以使用SOTA移动端分类模型构建二分类器,基于基于ImageNet等权威数据集上的预训练模型进行迁移训练,从而确保第一模型分类的准确率下限。

在模型选型时,由于移动端设备算力分化很大,即高低端移动设备算力差异通常会超过一个数量级。为了确保用户比例最大的低端移动设备能够流畅运行二维码扫码模块,备用模型可以用Imagenet-1k数据集上的移动端模型(包括但不限于Mobilenet(v1/v2)、Shufflenet(v1/v2)、IGCV(1/2/3)、Seesawnet(share/shuffle)及其不同大小的子版本模型等),这类移动端高效能模型相比普通图像分类模型能够在保持模型准确率的前提下,大幅度地降低模型体积(模型参数量大小决定)和模型运算耗时(模型结构和底层优化水平决定)。

在获取第一样本时,可以利用业务侧用户通过终端设备扫码得到的图像作为第一样本扫码图像,然后人工对第一样本扫码图像进行标注,将第一样本扫码图像分为两类,一类为包含样本二维码的图像,一类为不包含样本二维码的图像。两类图像的比例可以参考真实业务场景中的比例进行划分,从而进一步确保第一模型训练完成后在真实业务场景下的鲁棒性。

在对第一样本扫码图像进行标注和分类时,可以采用开源二维码解析方案(如zxing/zbar等),对采样的第一样本扫码图像进行二维码解析,解析成功的图像即确认包含二维码且二维码未被涂改。利用二维码解析方案结果,自动将解析成功的数据原图保存并作为第一模型的正样本(图像中包含二维码),然后人工从解析失败的样本中回收负样本(图像中不包含二维码)。这样就完成了第一模型中的第一样本的标记工作。

在第一模型训练时,首先,进行模型的初始化。例如,可以基于Imagenet-1k上的预训练模型,将备用模型最后一层输出通道数改为2(代表包含二维码/不包含二维码)。利用常见的模型初始化方法(例如Xavier Initialization、Kaiming Initialization等)对最后一层进行初始化;模型其余层利用预训练模型中的参数进行初始化。

完成初始化后,可以将获取的第一样本随机划分为训练集、验证集和测试集(可无),三个子数据集的比例包括但不限于(4:1:1)。其中训练集用于第一模型训练,验证集用于在训练过程中验证第一模型准确率,测试集(如有)用于评估第一模型真实上线后的准确率。

最后,进行第一模型的训练。利用深度神经网络常用训练模型,这些参数通常包括学习速率计划(learning rate schedule)、批处理大小(mini-batch size)等等。通过观察训练过程中第一模型在验证集和测试集上的表现(包括但不限于准确率),确定最优模型作为训练结果输出。

在第一模型训练完成后,第一模型就具备识别图像中是否包含二维码的功能。此时,将扫码图像输入至第一模型,就可以得到对应的第一识别结果,第一识别结果为扫码图像中包含二维码,或者不包含二维码。例如在图5的示例中,将扫码图像52输入至第一模型中,得到的第一识别结果即为扫码图像52中不包含二维码,将扫码图像53输入至第一模型中,得到的第一识别结果即为扫码图像53中包含二维码。

S43,显示提示信息,提示用户将引导框对准二维码,并执行S41。

当确定扫码图像中不包括二维码时,表示用户未将引导框对准二维码,此时可以在终端设备上显示提示信息,提示用户将引导框对准二维码。

图6为本公开的实施例提供的显示提示信息示意图,如图6所示,在界面61上,用户操作终端设备扫描后,终端设备确定扫码图像中不包括二维码,此时界面61上显示提示信息“请将引导框对准二维码”。

根据该提示信息,用户能够获知扫码图像中不包括二维码,此时用户操作终端设备移动位置,将扫码引导框对准二维码,如图6中的界面62示意。然后终端设备重新获取扫码引导框中的扫码图像,然后重新进行后续的流程。

S44,判断扫码图像中的二维码的状态是否为正常状态,若是,则执行S45,若否,则执行S46。

当确定扫码图像中包括二维码时,对扫描图像进行识别,得到对应的第二识别结果,确定二维码的状态。

可选的,可以根据第二模型对扫码图像进行处理,得到第二识别结果,其中,第二模型为一个分类模型,用于判断扫码图像中的二维码的状态。

在使用第二模型之前,需要先进行第二模型的训练,第二模型是通过多组第二样本训练得到的,每组第二样本中包括一张第二样本扫码图像和第二样本扫码图像的第二样本识别结果,第二样本扫码图像中包括样本二维码,第二样本识别结果为样本二维码为正常状态,或者,样本二维码为非正常状态。

在进行第二模型的构造时,可选的,可以使用SOTA移动端分类模型构建二分类器,基于基于ImageNet等权威数据集上的预训练模型进行迁移训练,从而确保第二模型分类的准确率下限。

在模型选型时,类似的,由于移动端设备算力分化很大,为了确保用户比例最大的低端移动设备能够流畅运行二维码扫码模块,备用模型可以用Imagenet-1k数据集上的移动端模型(包括但不限于Mobilenet(v1/v2)、Shufflenet(v1/v2)、IGCV(1/2/3)、Seesawnet(share/shuffle)及其不同大小的子版本模型等),从而在保持模型准确率的前提下,大幅度地降低模型体积和模型运算耗时。

在获取第二样本时,可以通过在训练第一模型时,确认的包含二维码的第一样本扫码图像作为作为第二样本扫码图像,然后人工对第二样本扫码图像进行标注,将第二样本扫码图像分为两类,一类为样本二维码为正常状态的图像,一类为样本二维码为非正常状态的图像。此处,非正常状态指的是样本二维码自然磨损、被损坏、被涂改等状态。两类图像的比例可以参考真实业务场景中的比例进行划分,从而进一步确保第二模型训练完成后在真实业务场景下的鲁棒性。

在对第二样本扫码图像进行标注和分类时,可以采用开源二维码解析方案(如zxing/zbar等),对采样的第二样本扫码图像进行二维码解析,解析成功的图像即确认包含二维码且二维码未被涂改。利用二维码解析方案结果,自动将解析成功的数据原图保存并作为第二模型的正样本(图像中的二维码为正常状态),然后人工从解析失败的样本中回收负样本(图像中的二维码为非正常状态)。这样就完成了第二模型中的第二样本的标记工作。

在第二模型训练时,首先,进行模型的初始化。例如,可以基于Imagenet-1k上的预训练模型,将备用模型最后一层输出通道数改为2(代表包含二维码/不包含二维码)。利用常见的模型初始化方法(例如Xavier Initialization、Kaiming Initialization等)对最后一层进行初始化;模型其余层利用预训练模型中的参数进行初始化。

完成初始化后,可以将获取的第二样本随机划分为训练集、验证集和测试集(可无),三个子数据集的比例包括但不限于(4:1:1)。其中训练集用于第二模型训练,验证集用于在训练过程中验证第二模型准确率,测试集(如有)用于评估第二模型真实上线后的准确率。

最后,进行第二模型的训练。利用深度神经网络常用训练模型,这些参数通常包括学习速率计划(learning rate schedule)、批处理大小(mini-batch size)等等。通过观察训练过程中第二模型在验证集和测试集上的表现(包括但不限于准确率),确定最优模型作为训练结果输出。

在第二模型训练完成后,第二模型就具备识别图像中包含的二维码的状态的功能。此时将包含二维码的扫码图像输入至第二模型,就可以得到对应的第二识别结果,第二识别结果为扫码图像中的二维码为正常状态,或者为非正常状态。

S45,识别二维码中的数据信息。

在第二识别结果为二维码为正常状态时,可以根据扫码图像获取二维码对应的数据信息。

图7为本公开的实施例提供的二维码扫码结果示意图,如图7所示,在界面71上,通过扫码引导框获取对应的扫码图像72,其中扫码图像72中的二维码为正常状态。则对扫码图像72中的二维码进行识别后,可以得到界面73。

在界面73上,显示了二维码对应的数据信息。例如以共享单车为例,通过二维码能够获取共享单车的基本信息,包括车号和计费方式,同时还可以进行共享单车的解锁。在界面72上,可以点击确认解锁按钮,进行共享单车的解锁。

S46,向服务器发送扫码图像以指示服务器回收二维码。

在第二识别结果为二维码为非正常状态时,表示该二维码可能被涂改、损坏或者自然磨损而处于不可用的状态,此时需要回收该二维码。

可选的,在回收该二维码之后,还可以重新为物联网设备设置一个新的二维码,从而使得用户能够继续通过终端设备扫描新的二维码,继续使用物联网设备。具体的,终端设备可以向服务器发送自身的位置信息,从而服务器可以根据该位置信息大致确定物联网设备所在的位置,并通知运维人员根据该位置信息更新物联网设备上的二维码。

图8为本公开的实施例提供的二维码处理示意图,如图8所示,在共享单车81上有二维码82,通过扫描二维码82,能够获取共享单车81的相关信息。

用户83手持终端设备84,打开终端设备84的扫码引导框,进行扫描。在确定扫码图像中包括二维码82后,得到二维码82的状态为非正常状态,此时,终端设备84会向服务器85发送扫码图像和位置信息,该位置信息为终端设备84的位置信息。

服务器85在获取扫码图像和终端设备84的位置信息后,会根据扫码图像对二维码82进行回收处理。同时,服务器85还会向终端设备86发送终端设备84的位置信息。

终端设备86的持有者为运维人员87,当终端设备86接收到终端设备84的位置信息后,运维人员87能够根据终端设备84的位置信息,前往共享单车81所在的位置,更新二维码82,即在共享单车81上重新附上一个新的二维码,从而保证共享单车81的可用状态。

本公开的实施例提供的二维码状态识别方法,首先获取扫码图像,然后根据扫码图像获取第一识别结果,第一识别结果为扫码图像中包括二维码或者不包括二维码,通过第一识别结果进行了扫码图像中是否存在二维码的判定。然后,在第一识别结果为扫码图像中包括二维码时,根据扫码图像获取第二识别结果,第二识别结果为扫码图像中的二维码为正常状态或者非正常状态。本公开的实施例的方案,在第一识别结果为扫码图像中存在二维码时,就排除了后续由于扫码图像中不存在二维码导致识别失败的问题,因此在后续获取到第二识别结果后,根据第二识别结果对应的二维码的状态,就能够对二维码进行相应的处理。针对二维码被涂改或损毁等情况,可以上报服务器,从而通知运维人员进行处理更新,保证二维码的及时更新,从而保证正常的服务。

图9为本公开的实施例提供的一种二维码状态识别装置的结构示意图,如图9所示,包括:

获取模块91,用于获取扫码图像;

第一识别模块92,用于根据所述扫码图像获取第一识别结果,所述第一识别结果为所述扫码图像中包括二维码,或者,所述扫码图像中不包括二维码;

第二识别模块93,用于在所述第一识别结果为所述扫码图像中包括二维码时,根据所述扫码图像获取第二识别结果,所述第二识别结果为所述扫码图像中的二维码为正常状态,或者,所述二维码为非正常状态。

在一种可能的实施方式中,所述第一识别模块92具体用于:

根据第一模型对所述扫码图像进行处理,得到所述第一识别结果;

其中,所述第一模型是通过多组第一样本训练得到的,每组第一样本中包括一张第一样本扫码图像和所述第一样本扫码图像的第一样本识别结果,所述第一样本识别结果为所述第一样本扫码图像中包括样本二维码,或者,所述第一样本扫码图像中不包括样本二维码。

在一种可能的实施方式中,所述第二识别模块93具体用于:

根据第二模型对所述扫码图像进行处理,得到所述第二识别结果;

其中,所述第二模型是通过多组第二样本训练得到的,每组第二样本中包括一张第二样本扫码图像和所述第二样本扫码图像的第二样本识别结果,所述第二样本扫码图像中包括样本二维码,所述第二样本识别结果为所述样本二维码为正常状态,或者,所述样本二维码为非正常状态。

在一种可能的实施方式中,还包括处理模块,所述处理模块用于:

根据所述第二识别结果,对所述二维码进行处理。

在一种可能的实施方式中,所述处理模块具体用于:

在所述第二识别结果为所述二维码为正常状态时,根据所述扫码图像获取所述二维码对应的数据信息;

在所述第二识别结果为所述二维码为非正常状态时,向服务器发送所述扫码图像以指示所述服务器回收所述二维码。

在一种可能的实施方式中,在所述第二识别结果为所述二维码为非正常状态时,所述处理模块还用于:

向服务器发送位置信息。

在一种可能的实施方式中,在所述第一识别结果为所述扫码图像中不包括二维码时,所述获取91模块还用于:

显示提示信息,所述提示信息用于提示将扫码引导框对准二维码;

重新获取所述扫码引导框中的扫码图像。

本公开的实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图10为本公开的实施例提供的二维码状态识别设备的硬件结构示意图,如图10所示,该二维码状态识别设备包括:至少一个处理器101和存储器102。其中,处理器101和存储器102通过总线103连接。

可选地,该模型确定还包括通信部件。例如,通信部件可以包括接收器和/或发送器。

在具体实现过程中,至少一个处理器101执行所述存储器102存储的计算机执行指令,使得至少一个处理器81执行如上的二维码状态识别方法。

处理器101的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

在上述图10所示的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本公开的附图中的总线并不限定仅有一根总线或一种类型的总线。

本公开的还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的二维码状态识别方法。

上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。

一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。

所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开的各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开的各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开的实施例旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

相关技术
  • 二维码状态识别方法及装置
  • 二维码生成方法及装置、二维码识别方法及装置
技术分类

06120112940686