一种扫描二维码的方法、装置、电子设备及存储介质与流程

文档序号:28491512发布日期:2022-01-15 02:48阅读:126来源:国知局
一种扫描二维码的方法、装置、电子设备及存储介质与流程

1.本发明涉及终端技术领域,具体而言,涉及一种扫描二维码的方法、装置、电子设备及存储介质。


背景技术:

2.随着移动科技通信技术的发展,智能手机已得到广泛的普及。日常生活中经常有需要扫描二维码的时候,比如微信/支付宝扫码支付、扫码骑共享单车、微信加好友、扫描健康宝等等。通常情况下,扫描不同二维码时需要先打开相应的应用,这对用户来讲非常麻烦。这种麻烦是分两个层面的:第一,用户需要去思考应该用哪个软件来扫描该二维码,这属于认知负担;第二,用户需要通过一系列的点击操作来打开二维码扫码页面,这降低了交互效率。


技术实现要素:

3.为解决现有方案交互效率低的技术问题,本发明实施例提供一种扫描二维码的方法、装置、电子设备及存储介质。
4.本发明实施例提供的一种扫描二维码的方法,包括以下步骤:获取目标用户操作目标终端时的传感器数据;在所述传感器数据满足预设条件的情况下,调用所述目标终端的摄像装置扫描目标二维码,获取相应的目标二维码图片;确定与所述目标二维码图片对应的应用,并跳转至所述应用。
5.可选地,该方法还包括:判断所述传感器数据是否具有多个尖峰;若所述传感器数据具有多个尖峰,所述传感器数据满足预设条件。
6.可选的,获取目标用户操作目标终端时的传感器数据包括:获取用户操作终端时通过传感器所采集到的传感器数据,所述传感器包括陀螺仪传感器和/或线性加速度传感器。
7.可选的,判断所述传感器数据是否具有多个尖峰包括:构建能够判断数据是否具有尖峰的分类模型;将所述传感器数据输入至所述分类模型,根据所述分类模型的输出结果判断所述传感器数据是否具有多个尖峰。
8.可选的,构建能够判断数据是否具有尖峰的分类模型包括:获取根据正例数据和负例数据对预设模型进行训练所得到的分类模型参数;根据所述分类模型参数构建能够判断数据是否具有尖峰的分类模型。
9.其中,所述正例数据为从包含多个尖峰的碰撞振动数据中所截取出具有尖峰的数据,且与声音数据中的尖峰具有相匹配的尖峰位置,所述正例数据的标签为正标签;所述碰撞振动数据为在第一取样用户敲击第一取样终端的情况下,所述第一取样终端的传感器所采集到的数据;所述声音数据为在采集所述碰撞振动数据时所述第一取样终端的拾音装置所采集到的数据;所述负例数据为从非碰撞振动数据中所截取出的部分数据,且所述负例数据的标签为负标签;所述非碰撞振动数据为在第二取样用户不敲击第二取样终端的情况
下,所述第二取样终端的传感器所采集到的数据。
10.可选地,正例数据具有一个尖峰;或者,所述正例数据具有多个尖峰,所述正例数据中相邻尖峰之间的时间间隔小于第一预设阈值。将所述传感器数据输入至所述分类模型,根据所述分类模型的输出结果判断所述传感器数据是否具有多个尖峰,包括:将所述传感器数据分为多个与所述正例数据具有相同时长的传感器子数据,并将所述传感器子数据输入至所述分类模型,确定所述传感器子数据的分类结果;在所述正例数据具有一个尖峰,存在多个有效传感器子数据,且相邻的所述有效传感器子数据之间的时间间隔小于第二预设阈值的情况下,确定所述传感器数据具有多个尖峰;在所述正例数据具有多个尖峰,且存在有效传感器子数据的情况下,确定所述传感器数据具有多个尖峰;其中,所述有效传感器子数据指的是分类结果为所述正标签的传感器子数据。
11.可选地,确定与所述目标二维码图片对应的应用,包括:在对所述目标二维码图片进行解析处理后,确定包含文本信息的解析结果;确定与所述文本信息对应的应用,并将与所述文本信息对应的应用作为与所述目标二维码图片对应的应用。
12.可选地,确定与所述文本信息对应的应用包括:确定所述文本信息中的文本规则,所述文本规则包括关键字和/或文本格式;根据预设的文本规则和应用之间的映射关系确定与所述文本信息的文本规则相对应的应用。
13.可选地,所述确定与所述目标二维码图片对应的应用包括:构建二维码图片到应用的第一识别模型;将所述目标二维码图片输入至所述第一识别模型,根据所述第一识别模型的输出结果确定所述目标二维码图片对应的应用。
14.可选地,构建二维码图片到应用的第一识别模型包括:获取根据有效二维码图片对预设模型进行训练所得到的识别模型参数;所述有效二维码图片包括从采集的样本二维码图片中剪裁出的二维码及所述二维码周围预设宽度的图片,所述有效二维码图片的标签为所述样本二维码图片对应的应用;根据所述识别模型参数构建图片到应用的第一识别模型。
15.可选地,在根据所述第一识别模型的输出结果不能确定所述目标二维码图片对应的应用的情况下,还包括:获取将所述目标二维码图片作为新的样本二维码图片进行训练所得到的更新后的识别模型参数;所述新的样本二维码图片的标签为在扫描所述目标二维码图片之后最先前台运行的所述目标终端的应用;根据所述更新后的识别模型参数重新构建图片到应用的所述第一识别模型。
16.可选地,根据所述第一识别模型的输出结果确定所述目标二维码图片对应的应用包括:在根据所述第一识别模型的输出结果不能确定所述目标二维码图片对应的应用的情况下,将所述目标二维码图片发送至云端服务器,指示所述云端服务器基于第二识别模型识别所述目标二维码图片;所述第二识别模型是与所述第一识别模型不同的识别模型;获取所述云端服务器反馈的识别结果,根据所述云端服务器反馈的识别结果确定所述目标二维码图片对应的应用。
17.本发明实施例提供的一种扫描二维码的装置,包括:获取模块、处理模块及识别模块。
18.获取模块用于获取目标用户操作目标终端时的传感器数据。
19.处理模块用于在所述传感器数据满足预设条件的情况下,调用所述目标终端的摄
像装置扫描目标二维码,获取相应的目标二维码图片。
20.识别模块用于确定与所述目标二维码图片对应的应用,并跳转至所述应用。
21.一种电子设备,包括:总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现如上所述的扫描二维码的方法中的步骤。
22.一种计算机可读存储介质,包括:可读存储介质上存储的计算机程序;所述计算机程序被处理器执行时实现如上所述的扫描二维码的方法中的步骤。
23.本发明实施例提供的一种扫描二维码的方法、装置、电子设备及存储介质,只需要目标用户基于有效操作来改变目标终端的传感器数据,在传感器数据存在多个尖峰时即可快速调用摄像装置扫描目标二维码,从而可以直接实现快速扫码功能,进而跳转至应用界面。本发明实施例不需要用户选择打开哪个应用,可以降低用户的认知负担;且仅需要用户执行一次操作,也可以提高操作效率。并且,只有在采集到多个尖峰时才可能进行扫码,可以避免因误操作导致一个尖峰的情况,从而能够降低误触发的概率。
附图说明
24.为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
25.图1a示出了本发明实施例所提供的一种扫描二维码的方法的流程图;
26.图1b示出了本发明实施例所提供的另一种扫描二维码的方法的流程图;
27.图2示出了本发明实施例所提供的扫描二维码的方法中,构建并使用分类模型的具体方法的流程图;
28.图3示出了本发明实施例所提供的扫描二维码的方法中,确定与所述目标二维码图片对应的应用的具体方法的流程图;
29.图4示出了本发明实施例所提供的扫描二维码的方法中,构建二维码图片到应用的第一识别模型的具体方法的流程图;
30.图5示出了本发明实施例所提供的扫描二维码的方法中,在根据所述第一识别模型的输出结果不能确定所述目标二维码图片对应的应用的情况下,更新第一识别模型的具体方法的流程图;
31.图6示出了本发明实施例所提供的扫描二维码的方法中,一个实施例的具体方法的流程图;
32.图7示出了本发明实施例所提供的一种扫描二维码的装置的结构示意图;
33.图8示出了本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
34.下面结合本发明实施例中的附图对本发明实施例进行描述。
35.本发明实施例提供了一种扫描二维码的方法,该方法通过在获取的传感器数据具有多个尖峰时便可以进入扫码状态,实现扫描二维码的功能,进而直接显示与该二维码相对应应用的目标界面,使用户无需自己判断需要打开哪个应用来扫描二维码,也不需要先打开与该二维码相对应的应用,之后再操作进入到扫码界面,简化了扫描二维码的操作过
程。
36.参见图1a所示,本发明实施例中扫描二维码的方法流程包括如下步骤101、103和104。
37.步骤101:获取目标用户操作目标终端时的传感器数据。
38.其中,目标用户为需要扫描二维码的用户;目标终端为目标用户使用的终端,比如手机、平板电脑等。
39.该传感器数据为目标终端的传感器所采集的数据。可选地,该目标终端可以设有陀螺仪传感器和线性加速度传感器,该传感器数据包括:目标用户操作目标终端时,陀螺仪传感器和线性加速度传感器采集到的数据;该传感器数据具体可以包含角速度数据、加速度数据、方位角数据中的一种或多种。可选地,该传感器数据也可以是特定时长的数据,如时长为100ms、200ms等。陀螺仪传感器和线性加速度传感器可以同步表示目标终端的运动状态,当目标用户操作目标终端时,陀螺仪传感器和线性加速度传感器所采集的数据会同步变化,例如目标用户敲击目标终端时,二者采集的数据都会出现明显的尖峰,方便后续识别传感器数据中的特征。并且,传感器种类并不是越多越好,采用过多的传感器会增加处理负担,降低处理效率。经试验,本发明实施例选用陀螺仪传感器和线性加速度传感器即可比较准确地捕捉到识别时所需的特征,例如捕捉到尖峰。
40.步骤103:在所述传感器数据满足预设条件的情况下,调用所述目标终端的摄像装置扫描目标二维码,获取相应的目标二维码图片。
41.其中,所述预设条件是用户执行有效操作时所采集的传感器数据可以满足的条件;该有效操作可以是抬起终端,或者,也可以是敲击或拍打终端。若该有效操作是抬起终端,该预设条件可以是传感器数据在预设加速度阈值范围内以及在预设机械角度阈值范围内。若该有效操作是敲击或拍打终端,该预设条件可以是传感器数据具有多个尖峰;可选地,参见图1b在上述步骤101之后,该方法还包括以下步骤102。
42.步骤102:判断所述传感器数据是否具有多个尖峰。
43.本发明实施例中,尖峰指的是传感器数据快速增加、然后快速降低,或者传感器数据快速降低、然后快速增加;其中,若传感器数据增加或降低时的变化程度(如变化率等)超过一定阈值,则为快速增加或快速降低,否则可以不认为是“快速”。
44.若所述传感器数据具有多个尖峰,则所述传感器数据满足预设条件,即可以执行上述步骤103。
45.可选地,可以根据传感器数据是否存在较大的变化(即变化程度超过阈值)直接判断该传感器数据是否具有多个尖峰。
46.或者,由于直接判断传感器数据是否具有尖峰容易存在误判的情况,例如跑步时可能引起传感器数据出现尖峰等,为了提高判断的准确率,可以构建能够判断数据是否具有尖峰的分类模型,将传感器数据输入至分类模型,根据分类模型的输出结果判断传感器数据是否具有多个尖峰。
47.本发明实施例中,目标用户操作目标终端时,传感器可以采集到相应的传感器数据。一般情况下,目标用户正常操作目标终端时,传感器数据不会存在尖峰;本发明实施例中,目标用户需要执行能够引起传感器数据快速变化的有效操作,才可以使得采集到的传感器数据具有尖峰。例如,该有效操作可以是敲击或拍打目标终端,具体可以是敲击目标终
端的操作面板(如触摸屏)、边侧、背面等,本实施例对敲击的位置不做限定。并且,目标用户多次(如两次、三次等)敲击目标终端,即可使得传感器数据出现多个尖峰。
48.若传感器数据具有多个尖峰,可以认为目标用户对目标终端执行了有效操作,即可以认为目标用户需要调用目标终端的摄像装置启动扫码功能,进而,可以调用目标终端的摄像装置扫描目标二维码,从而获取相应的目标二维码图片。
49.其中,摄像装置可以是手机摄像头、平板电脑摄像头、外置摄像器等。目标二维码为需要被扫描的二维码,例如在需要扫码支付时由商家提供的二维码等。目标二维码图片为目标终端扫描该目标二维码时所采集到的图片,该目标二维码图片包含目标二维码。
50.步骤104:确定与所述目标二维码图片对应的应用,并跳转至所述应用。
51.本发明实施例中,在获取到目标二维码图片之后,即可由目标终端或其他设备对该目标二维码图片进行解析处理,进而可以确定与该目标二维码图片对应的应用,并跳转至该应用,目标用户可以方便地使用该应用提供的功能。其中,可以直接跳转至该应用中与目标二维码相对应的目标界面,也可以跳转至该应用的扫码界面,之后由该应用再次执行扫码操作来跳转到与目标二维码相对应的目标界面;本发明实施例对跳转至应用的具体实现方式不做限定。
52.本发明实施例提供的一种扫描二维码的方法,只需要目标用户基于有效操作来改变目标终端的传感器数据,在传感器数据存在多个尖峰时即可快速调用摄像装置扫描目标二维码,从而可以直接实现快速扫码功能,进而跳转至应用界面。该方法不需要用户选择打开哪个应用,可以降低用户的认知负担;且仅需要用户执行一次操作,也可以提高操作效率。并且,只有在采集到多个尖峰时才可能进行扫码,可以避免因误操作导致一个尖峰的情况,从而能够降低误触发的概率。
53.可选地,参见图2所示,上述步骤“构建能够判断数据是否具有尖峰的分类模型”可以包括以下的步骤1021-1022。
54.步骤1021:获取根据正例数据和负例数据对预设模型进行训练所得到的分类模型参数。
55.其中,所述正例数据为从包含多个尖峰的碰撞振动数据中所截取出具有尖峰的数据,且与声音数据中的尖峰具有相匹配的尖峰位置,所述正例数据的标签为正标签;所述碰撞振动数据为在第一取样用户敲击第一取样终端的情况下,所述第一取样终端的传感器所采集到的数据;所述声音数据为在采集所述碰撞振动数据时所述第一取样终端的拾音装置所采集到的数据;所述负例数据为从非碰撞振动数据中所截取出的部分数据,且所述负例数据的标签为负标签;所述非碰撞振动数据为在第二取样用户不敲击第二取样终端的情况下,所述第二取样终端的传感器所采集到的数据。
56.本发明实施例中,可以先由取样终端采集正例数据和负例数据,之后再由目标终端、云端服务器或取样终端等基于该正例数据和负例数据对预设模型进行训练。即,该分类模型参数可以是由目标终端执行训练所得到的,也可以是由其他设备(比如下述的云端服务器或取样终端等)执行训练所得到的,本实施例对此不做限定。其中,该预设模型为可以用于分类的模型,其可以是简单的神经网络,或者lstm(long short-term memory,长短期记忆网络)等。
57.例如,基于第一取样终端(比如测试用的手机)中的陀螺仪传感器和线性加速度传
1025。
66.步骤1023:将传感器数据分为多个与正例数据具有相同时长的传感器子数据,并将传感器子数据输入至分类模型,确定传感器子数据的分类结果。
67.本发明实施例中,传感器数据可以是目标终端持续一段时间采集到的数据,该传感器数据可以分为多段数据,即传感器子数据;并且,传感器子数据的时长与正例数据的时长相同,以方便分类模型识别该传感器子数据。例如,传感器数据的时长为1s,正例数据的时长为100ms,此时可以将传感器数据分为10个100ms的数据,该数据为传感器子数据。之后将每个传感器子数据输入至分类模型,基于分类模型的输出结果即可确定每个传感器子数据的分类结果,即可以确定每个传感器子数据中是否具有尖峰。相应地,若正例数据具有两个尖峰,且正例数据的时长为600ms,则传感器子数据的时长也为600ms。
68.步骤1024:在正例数据具有一个尖峰,存在多个有效传感器子数据,且相邻的有效传感器子数据之间的时间间隔小于第二预设阈值的情况下,确定传感器数据具有多个尖峰;其中,有效传感器子数据指的是分类结果为正标签的传感器子数据。
69.在正例数据具有一个尖峰的情况下,基于分类模型可以判断传感器子数据是否具有一个尖峰;若某个传感器子数据的分类结果为正标签,即该传感器子数据具有一个尖峰,本实施例可以将该传感器子数据作为有效传感器子数据。并且,若传感器数据中包含多个有效传感器子数据,且相邻的有效传感器子数据之间的时间间隔小于第二预设阈值,说明目标终端在较小的时间间隔内采集到了多个尖峰,即目标用户可能连续多次敲击了目标终端,此时可以表示目标用户需要扫描二维码,即此时可以认为传感器数据具有多个尖峰,进而调用所述目标终端的摄像装置扫描目标二维码。其中,该第二预设阈值与上述的第一预设阈值可以相同,也可以不同,本实施例对此不做限定。
70.步骤1025:在正例数据具有多个尖峰,且存在有效传感器子数据的情况下,确定传感器数据具有多个尖峰。
71.在正例数据具有多个尖峰的情况下,基于分类模型可以直接判断传感器子数据是否具有多个尖峰。若某个传感器子数据的分类结果为正标签,即该传感器子数据具有多个尖峰,此时即可认为传感器数据具有多个尖峰,进而直接调用所述目标终端的摄像装置扫描目标二维码。其中,若传感器子数据具有多个尖峰,也可以将该传感器子数据作为有效传感器子数据。经验证,无论正例数据具有一个尖峰还是多个尖峰,均可以比较准确地识别传感器数据是否具有多个尖峰。
72.可选地,参见图3所示,本发明实施例中,上述步骤104“确定与所述目标二维码图片对应的应用”包括以下步骤1041-1042。
73.步骤1041:在对目标二维码图片进行解析处理后,确定包含文本信息的解析结果。
74.通过开源代码识别目标二维码图片,将目标二维码图片中所包含的目标二维码解析成文本信息,得到目标二维码对应的文本信息,该文本信息包括非乱码和乱码两种情况。其中,非乱码的文本信息一般包含关键字,或者为特殊格式的文本;而乱码的文本信息是无规律的字符串,仅仅基于该字符串不能提取出有用的信息。
75.步骤1042:确定与所述文本信息对应的应用,并将与所述文本信息对应的应用作为与所述目标二维码图片对应的应用。
76.其中,“确定与所述文本信息对应的应用”包括以下的步骤a1-a2。
77.步骤a1:通过正则表达式解析文本信息,得到该文本信息的文本规则,该文本规则包括关键字和/或文本格式。
78.步骤a2:根据预设的文本规则和应用之间的映射关系确定与所述文本信息的文本规则相对应的应用。
79.本发明实施例中,非乱码的文本信息中包含相应的文本规则,本实施例预先找到文本规则和应用之间的映射关系,进而可以基于该映射关系识别应用。例如,某支付宝收付款码解析后的文本信息为:https://qr.alipay.com/fkx14722xxxxxxxx,其中包含关键字alipay,该关键字对应的应用为支付宝,即可以建立关键字alipay与支付宝之间的映射关系;某辆滴滴自行车的二维码解析后的文本信息为:https://dc.tt/htw?id=18cexxxxxxxx,其包含关键字dc.tt,该关键字对应的应用为滴滴自行车,即可以建立关键字dc.tt与滴滴自行车之间的映射关系;电影取票码解析出的文本信息为电影票的序列号和验证码:270857|554900,属于有一定规律的文本格式,该文本格式对应的应用为取票应用,即可以建立文本格式[0-9]{6}|[0-9]{6}与取票应用之间的映射关系。可选地,可以将文本规则和应用之间的映射关系存入数据库。
[0080]
当文本信息可以解析出文本规则时,说明该文本信息是非乱码的,此时可以采用调取包含文本规则和应用之间的映射关系的数据库的方法识别应用,识别过程更加简单快捷。
[0081]
可选地,参见图4所示,上述步骤104“确定与所述目标二维码图片对应的应用”包括以下步骤1043-1044。
[0082]
步骤1043:构建二维码图片到应用的第一识别模型。
[0083]
本发明实施例中,该第一识别模型是二维码图片到应用的模型,即将二维码图片输入到该第一识别模型后,该第一识别模型的输出结果为该二维码图片对应的应用。例如,可以根据样本二维码图片和样本二维码图片对应的应用,训练预设模型,从而得到第一识别模型。该预设模型为可以用于识别的模型,其可以采用cnn(convolutional neural network,卷积神经网络)等。
[0084]
可选地,上述步骤1043“构建二维码图片到应用的第一识别模型”可以包括以下步骤b1-b2。
[0085]
步骤b1:获取根据有效二维码图片对预设模型进行训练所得到的识别模型参数;所述有效二维码图片包括从采集的样本二维码图片中剪裁出的二维码及所述二维码周围预设宽度的图片,所述有效二维码图片的标签为所述样本二维码图片对应的应用。
[0086]
步骤b2:根据所述识别模型参数构建图片到应用的第一识别模型。
[0087]
本发明实施例中,该识别模型参数可以是由取样终端执行训练所得到的,也可以是由其他设备(比如云端服务器或目标终端等)执行训练所得到的,本实施例对此不做限定。该有效二维码图片包括二维码和二维码四周预设宽度的图像。其中,该宽度可以是2mm、3mm等。例如,有效二维码图片可以是以样本二维码图片中的二维码的四个角为基准,裁剪出略大于且包含该二维码的部分图片,并矫正图片透视畸变,得到方正的图片,该图片即可作为有效二维码图片。其中,二维码四周多剪裁出的部分数据可以是颜色、图案等,比如支付宝付款码四周的颜色是蓝色,滴滴自行车二维码四周的颜色是绿色等。利用有效二维码图片中二维码四周多剪裁出的部分作为辅助数据,可以提高第一识别模型识别应用的准确
率。
[0088]
步骤1044:将所述目标二维码图片输入至所述第一识别模型,根据所述第一识别模型的输出结果确定所述目标二维码图片对应的应用。
[0089]
当目标用户需要扫描二维码时,目标终端可以将采集到的目标二维码图片输入至第一识别模型,进而确定目标二维码图片对应的应用。本发明实施例提供了一种扫描二维码的方法,利用有效二维码图片中二维码四周多剪裁出的部分作为辅助数据,可以提高识别的准确率。
[0090]
其中,在获取相应的目标二维码图片,可以直接基于第一识别模型进行识别,即执行上述步骤1043-1044。或者,先执行步骤1041-1042,在不能确定与文本信息对应的应用的情况下,再执行上述步骤1043-1044;即,若文本信息为乱码,此时不能确定与所述文本信息对应的应用,基于上述步骤a1-a2不能确定与文本信息对应的应用,此时再基于第一识别模型进行识别。
[0091]
优选地,参见图5所示,在根据所述第一识别模型的输出结果不能确定所述目标二维码图片对应的应用的情况下,该方法还包括以下步骤1045-1046。
[0092]
步骤1045:获取将所述目标二维码图片作为新的样本二维码图片进行训练所得到的更新后的识别模型参数;所述新的样本二维码图片的标签为在扫描所述目标二维码图片之后最先前台运行的所述目标终端的应用。
[0093]
当第一识别模型的输出结果不能确定目标二维码图片对应的应用时,此时可以基于该目标二维码图片重新训练第一识别模型。具体地,该目标二维码图片作为样本;并且,目标用户扫描二维码失败后,目标用户一般会自行选择打开应用并进行扫描,故此时可以认为目标终端最先于前台运行的应用是该目标二维码图片对应的应用,即最先于前台运行的应用可以作为目标二维码图片的标签,进而重新训练第一识别模型,得到更新后的第一识别模型参数。其中,需要在获得目标用户授权的情况下才可以得知用户最先打开的应用,若目标用户未授权,则需要采用人工标注等其他方式确定该目标二维码图片的标签。
[0094]
步骤1046:根据所述更新后的识别模型参数重新构建图片到应用的所述第一识别模型。
[0095]
本发明实施例提供了一种扫描二维码的方法,当目标用户扫码失败无法查找与目标二维码对应的应用时,可以采集用户上传的目标二维码图片,整理成更丰富的数据集重新训练该模型,加强了数据集的多样性,使第一识别模型达到更优效果。
[0096]
可选地,上述步骤1044“根据所述第一识别模型的输出结果确定所述目标二维码图片对应的应用”包括步骤c1-c2。
[0097]
步骤c1:在根据所述第一识别模型的输出结果不能确定所述目标二维码图片对应的应用的情况下,将所述目标二维码图片发送至云端服务器,指示所述云端服务器基于第二识别模型识别所述目标二维码图片;所述第二识别模型是与所述第一识别模型不同的识别模型。
[0098]
步骤c2:获取所述云端服务器反馈的识别结果,根据所述云端服务器反馈的识别结果确定所述目标二维码图片对应的应用。
[0099]
本发明实施例中,目标终端处设有能够识别应用的第一识别模型,并且,云端服务器处还设有能够识别应用的第二识别模型,且第二识别模型是与第一识别模型不同。一般
情况下,第一识别模型是小型的模型,其处理速度快,但能够识别出的应用具有一定的局限性;而第二识别模型是大型的模型,其能够识别出更多的应用。若目标终端的第一识别模型不能识别目标二维码对应的应用,则继续由云端服务器的第二识别模型识别该目标二维码图片。若第二识别模型能够识别该目标二维码图片,则可以将识别出的应用作为识别结果发送至目标终端,使得目标终端可以确定与该目标二维码图片对应的应用,进而打开该应用。本发明实施例通过设置两个识别模型,可以减少目标终端的处理负担,在目标终端不能识别时也可由云端服务器进行识别,从而可以保证识别效果。
[0100]
下面通过一个实施例详细介绍该扫描二维码的方法流程。参见图6所示,该方法包括以下步骤201-216。
[0101]
步骤201:预先建立分类模型、第一识别模型,并建立文本规则和应用之间的映射关系。
[0102]
其中,可以基于采集到的正例数据和负例数据训练得到该分类模型,具体可参见上述的步骤1021-1022。建立第一识别别模型的过程具体可参见上述步骤1043的相关内容。建立映射关系的过程可参见上述相关内容,此处不做赘述。
[0103]
步骤202:目标用户在需要扫描目标二维码时,连续敲击两次目标终端。
[0104]
本实施例中,以敲击两次作为有效操作,即目标用户敲击两次目标终端时,即可唤醒扫码功能。
[0105]
步骤203:目标终端的传感器采集此时的传感器数据。
[0106]
步骤204:将传感器数据分为多个与正例数据具有相同时长的传感器子数据,并将传感器子数据输入至分类模型,确定传感器子数据的分类结果。
[0107]
本发明实施例中,以正例数据包含两个尖峰为例。
[0108]
步骤205:若存在分类结果为正标签的传感器子数据,确定传感器数据具有多个尖峰。
[0109]
步骤206:调用所述目标终端的摄像装置扫描目标二维码,获取相应的目标二维码图片。
[0110]
步骤207:在对目标二维码图片进行解析处理后,确定包含文本信息的解析结果。
[0111]
步骤208:判断该文本信息是否为乱码,若不是乱码,则继续步骤209,否则继续步骤210。
[0112]
本发明实施例中,若文本信息不是乱码,即文本信息为非乱码,说明文本信息中包含文本规则,此时可以直接基于预设的映射关系确定相应的应用。若文本信息是乱码,则不能直接确定与文本信息对应的应用,此时需要基于第一识别模型进行识别。
[0113]
步骤209:根据预设的文本规则和应用之间的映射关系确定与所述文本信息的文本规则相对应的应用,之后继续步骤216。
[0114]
步骤210:将所述目标二维码图片输入至所述第一识别模型,对目标二维码图片进行识别处理。
[0115]
步骤211:判断第一识别模型是否能识别目标二维码图片,若能识别,则继续步骤212,否则继续步骤213。
[0116]
步骤212:根据所述第一识别模型的输出结果确定所述目标二维码图片对应的应用,之后继续步骤216。
[0117]
步骤213:目标终端将目标二维码图片发送到云端服务器。
[0118]
本发明实施例中,若第一识别模型不能识别目标二维码图片,还可以将该目标二维码图片作为新的样本二维码图片再次训练第一识别模型,以更新该第一识别模型。
[0119]
步骤214:云端服务器基于第二识别模型识别所述目标二维码图片,并将识别结果反馈至目标终端。
[0120]
步骤215:目标终端根据所述云端服务器反馈的识别结果确定所述目标二维码图片对应的应用,之后继续步骤216。
[0121]
步骤216:跳转至与所述目标二维码图片对应的应用。
[0122]
上文详细描述了本发明实施例提供的扫描二维码的方法,该方法也可以通过相应的装置实现,下面详细描述本发明实施例提供的扫描二维码的装置。
[0123]
本发明实施例提供了一种扫描二维码的装置,参见图7所示,该装置包括:获取模块71、处理模块72及识别模块73。
[0124]
获取模块71用于获取目标用户操作目标终端时的传感器数据。
[0125]
处理模块72用于在所述传感器数据满足预设条件的情况下,调用所述目标终端的摄像装置扫描目标二维码,获取相应的目标二维码图片。
[0126]
识别模块73用于确定与所述目标二维码图片对应的应用,并跳转至所述应用。
[0127]
可选地,该装置还包括判断模块;该判断模块用于判断所述传感器数据是否具有多个尖峰;若所述传感器数据具有多个尖峰,所述处理模块72确定传感器数据满足预设条件。
[0128]
可选地,获取目标用户操作目标终端时的传感器数据的获取模块71用于:获取用户操作终端时通过传感器所采集到的传感器数据,所述传感器包括陀螺仪传感器和/或线性加速度传感器。
[0129]
可选地,判断所述传感器数据是否具有多个尖峰的判断模块包括:第一构建单元和判断单元。
[0130]
第一构建单元用于构建能够判断数据是否具有尖峰的分类模型。
[0131]
判断单元用于将所述传感器数据输入至所述分类模型,根据所述分类模型的输出结果判断所述传感器数据是否具有多个尖峰。
[0132]
可选地,第一构建单元用于:获取根据正例数据和负例数据对预设模型进行训练所得到的分类模型参数;根据所述分类模型参数构建能够判断数据是否具有尖峰的分类模型。
[0133]
其中,所述正例数据为从包含多个尖峰的碰撞振动数据中所截取出具有尖峰的数据,且与声音数据中的尖峰具有相匹配的尖峰位置,所述正例数据的标签为正标签;所述碰撞振动数据为在第一取样用户敲击第一取样终端的情况下,所述第一取样终端的传感器所采集到的数据;所述声音数据为在采集所述碰撞振动数据时所述第一取样终端的拾音装置所采集到的数据;所述负例数据为从非碰撞振动数据中所截取出的部分数据,且所述负例数据的标签为负标签;所述非碰撞振动数据为在第二取样用户不敲击第二取样终端的情况下,所述第二取样终端的传感器所采集到的数据。
[0134]
可选地,正例数据具有一个尖峰;或者,所述正例数据具有多个尖峰,所述正例数据中相邻尖峰之间的时间间隔小于第一预设阈值。
[0135]
所述判断单元用于:将所述传感器数据分为多个与所述正例数据具有相同时长的传感器子数据,并将所述传感器子数据输入至所述分类模型,确定所述传感器子数据的分类结果。在所述正例数据具有一个尖峰,存在多个有效传感器子数据,且相邻的所述有效传感器子数据之间的时间间隔小于第二预设阈值的情况下,确定所述传感器数据具有多个尖峰;在所述正例数据具有多个尖峰,且存在有效传感器子数据的情况下,确定所述传感器数据具有多个尖峰;其中,所述有效传感器子数据指的是分类结果为所述正标签的传感器子数据。
[0136]
可选地,用于确定与所述目标二维码图片对应的应用的识别模块73,包括:解析单元及映射单元。
[0137]
解析单元用于在对所述目标二维码图片进行解析处理后,确定包含文本信息的解析结果。
[0138]
映射单元用于确定与所述文本信息对应的应用,并将与所述文本信息对应的应用作为与所述目标二维码图片对应的应用。
[0139]
可选地,用于确定与所述文本信息对应的应用的映射单元用于:确定所述文本信息中的文本规则,所述文本规则包括关键字和/或文本格式;根据预设的文本规则和应用之间的映射关系确定与所述文本信息的文本规则相对应的应用。
[0140]
可选地,确定与所述目标二维码图片对应的应用的识别模块73包括:第二构建单元及识别单元。
[0141]
第二构建单元用于构建二维码图片到应用的第一识别模型。
[0142]
识别单元用于将所述目标二维码图片输入至所述第一识别模型,根据所述第一识别模型的输出结果确定所述目标二维码图片对应的应用。
[0143]
可选地,第二构建单元用于:获取根据有效二维码图片对预设模型进行训练所得到的识别模型参数;所述有效二维码图片包括从采集的样本二维码图片中剪裁出的二维码及所述二维码周围预设宽度的图片,所述有效二维码图片的标签为所述样本二维码图片对应的应用;根据所述识别模型参数构建图片到应用的第一识别模型。
[0144]
可选地,在根据所述第一识别模型的输出结果不能确定所述目标二维码图片对应的应用的情况下,所述识别模块73用于:获取将所述目标二维码图片作为新的样本二维码图片进行训练所得到的更新后的识别模型参数;所述新的样本二维码图片的标签为在扫描所述目标二维码图片之后最先前台运行的所述目标终端的应用;根据所述更新后的识别模型参数重新构建图片到应用的所述第一识别模型。
[0145]
可选地,用于根据所述第一识别模型的输出结果确定所述目标二维码图片对应的应用的识别模块73用于:在根据所述第一识别模型的输出结果不能确定所述目标二维码图片对应的应用的情况下,将所述目标二维码图片发送至云端服务器,指示所述云端服务器基于第二识别模型识别所述目标二维码图片;所述第二识别模型是与所述第一识别模型不同的识别模型;获取所述云端服务器反馈的识别结果,根据所述云端服务器反馈的识别结果确定所述目标二维码图片对应的应用。
[0146]
本发明实施例提供了一种扫描二维码的装置,该装置只需要目标用户基于有效操作来改变目标终端的传感器数据,在传感器数据存在多个尖峰时即可快速调用摄像装置扫描目标二维码,从而可以直接实现快速扫码功能,进而跳转至应用界面。该装置不需要用户
选择打开哪个应用,可以降低用户的认知负担;且仅需要用户执行一次操作,也可以提高操作效率。并且,只有在采集到多个尖峰时才可能进行扫码,可以避免因误操作导致一个尖峰的情况,从而能够降低误触发的概率。
[0147]
此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述扫描二维码的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0148]
具体的,参见图8所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
[0149]
在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述扫描二维码的方法实施例的各个过程。
[0150]
收发器1130,用于在处理器1120的控制下接收和发送数据。
[0151]
本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
[0152]
总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、外围总线、加速图形端口(accelerate graphical port,agp)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(industry standard architecture,isa)总线、微通道体系结构(micro channel architecture,mca)总线、扩展isa(enhanced isa,eisa)总线、视频电子标准协会(video electronics standards association,vesa)、外围部件互连(peripheral component interconnect,pci)总线。
[0153]
处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(central processing unit,cpu)、网络处理器(network processor,np)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)、复杂可编程逻辑器件(complex programmable logic device,cpld)、可编程逻辑阵列(programmable logic array,pla)、微控制单元(microcontroller unit,mcu)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
[0154]
处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(random access memory,ram)、闪存(flash memory)、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成
上述方法的步骤。
[0155]
总线1110还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
[0156]
收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机系统的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
[0157]
应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、互联网(internet)、公共交换电话网(pstn)、普通老式电话业务网(pots)、蜂窝电话网、无线网络、无线保真(wi-fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(gsm)系统、码分多址(cdma)系统、全球微波互联接入(wimax)系统、通用分组无线业务(gprs)系统、宽带码分多址(wcdma)系统、长期演进(lte)系统、lte频分双工(fdd)系统、lte时分双工(tdd)系统、先进长期演进(lte-a)系统、通用移动通信(umts)系统、增强移动宽带(enhance mobile broadband,embb)系统、海量机器类通信(massive machine type of communication,mmtc)系统、超可靠低时延通信(ultra reliable low latency communications,urllc)系统等。
[0158]
应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存(flash memory)。
[0159]
易失性存储器包括:随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如:静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
[0160]
在本发明实施例中,存储器1150存储了操作系统1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
[0161]
具体而言,操作系统1151包含各种系统程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(media player)、浏览器(browser),用于实现各种应用业务。实现本发明实施
例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机系统可执行指令。
[0162]
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述扫描二维码的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0163]
计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
[0164]
在本技术所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
[0165]
所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
[0166]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0167]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
[0168]
本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。
[0169]
应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组
合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
[0170]
也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
[0171]
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
[0172]
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1