一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、设备及计算机存储介质与流程

2022-06-30 01:43:06 来源:中国专利 TAG:


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.处理器执行计算机程序指令时实现如第一方面的数据处理方法,或者实现如第二方面的数据处理方法。
26.第六方面,本技术实施例提供了一种计算机存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面的数据处理方法,或者实现如第二方面的数据处理方法。
27.第七方面,本技术实施例提供了一种计算机程序产品,其特征在于,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行如第一方面的数据处理方法,或者实现如第二方面的数据处理方法。
28.本技术实施例提供的应用于电子设备的数据处理方法,在运行预设应用程序的情况下,接收在预设应用程序中的第一输入,第一输入用于请求进行二维码识别;响应于第一输入,采集目标数据,将目标数据发送至服务器;接收服务器发送的目标脚本,并运行目标脚本以进行二维码识别。其中,目标脚本为服务器根据电子设备的设备型号以及预设对应关系确定得到,电子设备的设备型号为服务器使用预先训练好的分类模型对目标数据进行分类得到,预设对应关系包括电子设备的设备型号与目标脚本之间的对应关系。本技术实施例中,电子设备可以从服务器获取与设备型号对应的目标脚本,基于目标脚本的运行自动进行二维码识别,极大简化电子设备在运行预设应用程序时,二维码识别所需操作,有效提升用户使用体验。
附图说明
29.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
30.图1是可实现本技术实施例提供的数据处理方法的框架结构示意图;
31.图2是本技术实施例提供的应用于电子设备的数据处理方法的流程示意图;
32.图3是本技术实施例提供的应用于服务器的数据处理方法的流程示意图;
33.图4是一个具体应用例中,电子设备为实现二维码的识别,与服务器的数据交互过程的示意图;
34.图5是本技术实施例提供的应用于电子设备的数据处理装置的结构示意图;
35.图6是本技术实施例提供的应用于服务器的数据处理装置的结构示意图;
36.图7是本技术实施例提供的终端设备的结构示意图。
具体实施方式
37.下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
38.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
39.为了解决现有技术问题,本技术实施例提供了一种数据处理方法、装置、设备及计算机存储介质。以下首先针对可以应用本技术实施例提供的数据处理方法的框架进行举例说明。
40.如图1所示,该框架中可以包括服务器20与电子设备10,其中,电子设备10可以是例如移动终端、个人电脑或者可穿戴设备等等,此处不做具体限定。
41.电子设备10可以具有通信模组和摄像模组,其中,通信模组可以是5g、4g或者wifi等类型的通信模组,可以用于实现电子设备10与服务器20之间的通信即可。而摄像模组则可以具有拍摄功能,比如,电子设备10可以使用摄像模组对二维码进行拍摄,便于后续对二维码进行进一步的识别。
42.电子设备10与服务器20之间可以通信。举例来说,电子设备10可以将自身的软硬件数据发送至服务器20。或者,电子设备10可以将拍摄的二维码视频或者照片发送至服务器20。或者电子设备10可以将采集的用户操作相关的数据发送至服务器20,例如,用户在电子设备10上操作应用程序时所使用的手势或者输入轨迹等等。
43.服务器20可以接收电子设备10发送的数据,并针对这些数据进行处理。举例来说,服务器20可以根据电子设备10发送的软硬件数据或者用户操作相关的数据,识别电子设备10的型号。或者,电子设备10可以接收电子设备10发送的带有二维码的视频或者图片,并对二维码进行识别。或者,服务器20可以向电子设备10发送脚本文件,例如javascript脚本(以下简称js脚本)等。
44.下面首先对本技术实施例所提供的数据处理方法进行介绍。
45.图2示出了本技术一个实施例提供的数据处理方法的流程示意图。该数据处理方法可以应用在电子设备,如图2所示,方法包括:
46.步骤201,在运行预设应用程序的情况下,接收在预设应用程序中的第一输入,第一输入用于请求进行二维码识别;
47.步骤202,响应于第一输入,采集目标数据,将目标数据发送至服务器;
48.步骤203,接收服务器发送的目标脚本,目标脚本为服务器根据电子设备的设备型号以及预设对应关系确定得到,电子设备的设备型号为服务器使用预先训练好的分类模型对目标数据进行分类得到,预设对应关系包括电子设备的设备型号与目标脚本之间的对应关系;
49.步骤204,运行目标脚本以进行二维码识别。
50.如上文所示的,电子设备可以是移动终端、个人电脑或者可穿戴设备等等,此处不做具体限定。
51.在步骤201中,电子设备在运行预设应用程序的情况下,可以接受在预设应用程序中的第一输入。
52.举例来说,预设应用程序可以是系统浏览器,比如基于超文本5(hypertext markup language 5,html5)技术的系统浏览器等。或者,预设应用程序可以是一些混合型应用程序,比如,通过使用html5和javascript构建而成web应用程序等。
53.结合一些应用场景,用户在使用系统浏览器的过程中,可能需要使用到二维码识别功能。此时,用户可以对系统浏览器的页面中的相关控件进行点击输入。
54.在上述应用场景中,系统浏览器可以是上述的预设应用程序,用户对控件的点击输入可以对应为上述的第一输入。当然,容易理解的是,在其他的应用场景中,第一输入也可以是例如双击、滑动输入或者预设手势输入等等,此处不做一一举例说明。
55.第一输入可以用于请求进行二维码识别,比如,电子设备在接收到第一输入的情况下,可以进一步执行与二维码识别相关的步骤。下文将对这些步骤进行详细说明。
56.步骤202中,电子设备可以响应于第一输入,可以采集目标数据,并将采集到的目标数据发送至服务器。
57.目标数据可以是用于确定电子设备的设备型号的相关数据,电子设备将目标数据发送至服务器,可以使得服务器能够根据这些目标数据来确定电子设备的设备型号。
58.举例来说,目标数据可以是电子设备的软件数据,例如电子设备的操作系统的类型、浏览器的版本信息。
59.再例如,目标数据可以是电子设备的硬件数据,比如,指示电子设备是否具有图形处理器(graphics processing unit,gpu)的信息,或者gpu的具体型号等。或者,硬件数据还可以是屏幕的分辨率等。
60.又例如,目标数据还可以是用户操作数据。比如,在使用返回功能,或者进入后台应用程序界面时,用户在电子设备上的输入方式。或者,用户操作数据还可以包括用户在切换前摄像头与后摄像头时,在电子设备上的输入方式等。
61.容易理解的是,不同设备型号的电子设备中,软件数据、硬件数据或者用户操作数据通常会存在差异,在将这些类型的数据作为目标数据的情况下,服务器可以根据目标数据来确定电子设备的设备类型。
62.结合一些举例,服务器中可以具有训练好的分类模型,该分类模型可以是基于训练样本训练得到的,训练样本可以包括样本数据及标注结果,样本数据与目标数据的数据组成可以是相同或相似的,标注结果可以是设备类型。如此,经过训练的分类模型,可以对目标数据进行分类,得到电子设备的设备类型。
63.至于服务器所使用的分类模型的具体类型,可以是基于梯度下降树(gradient boosting decision tree,gbdt)的分类模型,或者其他基于提升算法(boosting)的分类模型。当然,在实际应用中,服务器所使用的分类模型,还可以是例如随机森林或者支持向量机等类型的分类模型。
64.服务器在基于目标数据与训练好的分类模型确定电子设备的设备类型的情况下,还可以进一步根据预设对应关系,确定与电子设备的设备类型对应的目标脚本。
65.其中,上述的预设对应关系可以是设备型号与脚本之间的对应关系,其中包括的电子设备的设备类型与目标脚本的对应关系。
66.在一些示例中,预设对应关系可以通过表格或者其他形式预先存储在服务器中。
67.步骤203中,电子设备可以接收服务器发送的目标脚本,至于服务器根据目标数据确定目标脚本的方式,在上文中进行了举例说明,此处不再赘述。
68.结合预设应用程序为系统浏览器的应用场景,目标脚本可以为可由系统浏览器开启的脚本。与此同时,目标脚本可以是与电子设备的设备型号对应的脚本,如此,可以保证电子设备在运行系统浏览器时,可以正常开启目标脚本。
69.步骤204中,电子设备可以运行目标脚本以进行二维码识别。
70.结合上文中预设应用程序为系统浏览器的举例,目标脚本可以由预设应用程序开启并运行。
71.本实施例中,目标脚本可以是与二维码识别相关的脚本。当电子设备运行目标脚本时,可以执行与二维码识别相关的操作。比如,电子设备可以自动开启摄像头,并将摄像头拍摄的视频或图像发送至服务器进行识别等。
72.也就是说,电子设备在获取到与其设备类型对应的目标脚本的情况下,可以通过运行脚本自动执行二维码识别相关的操作,无需用户手动开启相机类应用程序进行拍摄,也无需用户手动将拍摄的照片上传至服务器,简化用户的操作。
73.本技术实施例提供的应用于电子设备的数据处理方法,在运行预设应用程序的情况下,接收在预设应用程序中的第一输入,第一输入用于请求进行二维码识别;响应于第一输入,采集目标数据,将目标数据发送至服务器;接收服务器发送的目标脚本,并运行目标脚本以进行二维码识别。其中,目标脚本为服务器根据电子设备的设备型号以及预设对应关系确定得到,电子设备的设备型号为服务器使用预先训练好的分类模型对目标数据进行分类得到,预设对应关系包括电子设备的设备型号与目标脚本之间的对应关系。本技术实施例中,电子设备可以从服务器获取与设备型号对应的目标脚本,基于目标脚本的运行自动进行二维码识别,极大简化电子设备在运行预设应用程序时,二维码识别所需操作,有效提升用户使用体验。
74.在一个实施方式中,在接收服务器发送的目标脚本之后,电子设备可以存储目标脚本,并在再次接收到第一输入的情况下,读取并运行目标脚本。
75.以预设应用程序为浏览器为例,在接收到目标脚本后,浏览器可以对目标脚本进行存储。当用户再次具有在浏览器页面中进行二维码识别的需要时,浏览器可以直接读取并运行目标脚本,而无需再向服务器发送目标数据,也无需等待接收服务器发送的目标脚本,提高二维码的识别效率。
76.容易理解的是,用户再次具有在浏览器页面中进行二维码识别的需要,可以具体
表现为电子设备再次接收到上述的第一输入。
77.在实际应用中,第一输入所针对的浏览器页面或者页面控件可能存在不同,相应地,第一输入的输入方式也可以存在差异,因此,此处的第一输入可以泛指用于请求进行二维码识别的输入,而对输入的具体方式并不做具体限定。
78.可选地,目标脚本用于控制电子设备执行以下步骤:
79.开启电子设备的摄像头,采集视频流;
80.将视频流发送至服务器,视频流用于服务器识别二维码并生成二维码识别结果;
81.在接收到服务器发送的二维码识别结果的情况下,关闭摄像头。
82.以预设应用程序为浏览器为例,浏览器可以调用目标脚本并运行。
83.一般来说,浏览器可以存在应用程序接口(application programming interface,api)。其中,这些api中可以包括有对摄像头进行可编程访问的api,比如,在基于html5技术的浏览器中,可以包括媒体捕捉接口,媒体捕捉接口可以用于对电子设备的摄像头进行控制,比如开启摄像头或者关闭摄像头等。
84.相应地,通过运行目标脚本,浏览器可以控制开启摄像头以采集视频流。
85.结合一些应用场景,在开始摄像头的情况下,电子设备可以显示有拍摄预览界面,根据拍摄预设界面,用户可以将摄像头对准待识别的二维码,此时,摄像头采集的视频流的视频帧中可以包括二维码。
86.服务器在接收到包括二维码的视频帧的情况下,可以对二维码进行识别,并将二维码识别结果发送至电子设备。
87.至于服务器识别二维码的具体过程,可以通过现有技术手段来实现,此处不做详细说明。
88.基于目标脚本的运行,电子设备在接收到二维码识别结果的情况下,可以关闭摄像头,结束二维码识别相关的流程。
89.至于电子设备接收到二维码识别结果后的操作,可以是打开二维码对应的链接页面或者开启电子设备中相关的应用程序等等,此处不做具体限定。
90.本实施例中,通过目标脚本的运行,可以使得电子设备能够向服务器发送视频流,便于服务器中视频流中获取比较清晰的二维码视频帧进行识别,提高二维码识别的准确性与可靠性;避免因拍摄质量差导致用户反复上传二维码照片的情况,进而有助于简化用户操作,提升用户体验。
91.可选地,在预设应用程序为浏览器的情况下,将视频流发送至服务器,包括:
92.通过媒体捕捉接口获取摄像头采集的视频流,并为视频流关联预设标签;
93.通过画布(canvas)功能捕获预设标签关联的视频流,并将视频流转换为多张照片;
94.将多张照片定时发送至服务器;
95.其中,浏览器包括媒体捕捉接口与canvas功能。
96.结合一个具体应用例,上述的浏览器可以是基于html5技术的浏览器。
97.电子设备可以通过html5的媒体捕捉接口对摄像头进行可编程访问,然后通过getusermedia api获得摄像头捕捉到的视频流,同时给视频流添加html5的标签。然后,利用html5的canvas功能,对标签内容进行实时捕获。利用todataurl将之前得到的canvas数
据转换成base64位编码的png格式的图像,存储在imgdata变量中,从而获取照片流。最后利用setinterval将照片流定时地上传给服务器,以便服务器对照片流里所包含的二维码进行解析。
98.上述的html5的标签可以对应于预设标签,给视频流添加html5的标签的过程,对应了为视频流关联预设标签的过程。
99.而照片流则可以对应了多个照片,将照片流定时地上传给服务器的过程,对应了将多张照片定时发送至服务器的过程。
100.本实施例通过灵活使用浏览器中的api与各项功能,可以使得电子设备能够定时向服务器发送多张照片,有助于提高服务器对二维码的识别率。
101.可选地,步骤202,采集目标数据,将目标数据发送至服务器之前,方法还包括:
102.接收服务器发送的特征向量格式,特征向量格式包括多个目标特征指标,多个目标特征指标中包括与软硬件数据相关的特征指标以及与用户操作数据相关的特征指标;
103.相应地,步骤202,采集目标数据,将目标数据发送至服务器,包括:
104.采集与多个目标特征指标对应的目标数据,目标数据包括软硬件数据与用户操作数据;
105.基于特征向量格式,将目标数据处理成特征向量;
106.将特征向量发送至服务器。
107.本实施例中,服务器与电子设备之间可以约定目标数据的内容与格式,具体来说,服务器可以向电子设备发送特征向量格式,该特征向量格式可以包括多个目标特征指标。
108.结合一些举例,多个目标特征指标中可以包括电子设备的gpu型号、操作系统类型、用户切换前后摄像头所需操作次数以及用户在预设应用程序中的点击频次等。
109.容易理解的是,gpu型号与操作系统类型,可以是与软硬件数据相关的特征指标,而用户切换前后摄像头所需操作次数以及用户在预设应用程序中的点击频次,可以是与用户操作数据相关的特征指标。
110.实际应用中,特征向量格式中目标特征指标的数量和组成可以根据需要进行设置,此处不做一一举例。
111.电子设备在接收到特征向量格式的情况下,可以根据其中的多个目标特征指标进行数据的采集,得到与多个目标特征指标对应的目标数据。该对应关系可以具体体现为目标数据包括针对各个目标特征指标所采集到的数据。
112.如上文所示的,特征向量格式还可以约定目标数据的格式,相应地,电子设备可以基于特征向量格式,将目标数据处理成特征向量,且电子设备可以将该特征向量发送至服务器。
113.上文实施例中提到,服务器可以通过预先训练的分类模型对目标数据进行分类,得到电子设备的设备类型。一般来说,对于基于训练得到的分类模型,其输入数据通常具有预设的格式要求,该格式要求可以对应于上述的特征向量格式。
114.在本实施例中,服务器从电子设备处接收到的目标数据,可以具体为基于特征向量格式处理得到的特征向量,该特征向量可以是与分类模型的输入数据的格式要求是相匹配的。因此,服务器可以将接收到的特征向量直接输入到分类模型中,分类得到电子设备的设备类型,节省了对目标数据进行预处理的步骤,进而可以提高服务器确定电子设备的设
备类型的效率。
115.在实际应用中,电子设备在采集目标数据时,一些目标特征指标对应的数据可能缺失,比如,电子设备无gpu时,gpu型号这一目标特征指标对应的数据会缺失。因此,与多个目标特征指标对应的目标数据中,可以并不强制要求目标数据中包括每一个目标特征指标对应的数据。
116.如图3所示,本技术实施例还提供了一种数据处理方法,应用于服务器,该方法包括:
117.步骤301,接收电子设备发送的目标数据;
118.步骤302,使用预先训练好的分类模型对目标数据进行分类,得到电子设备的设备型号;
119.步骤303,根据电子设备的设备型号以及预设对应关系确定目标脚本,预设对应关系包括电子设备的设备型号与目标脚本之间的对应关系;
120.步骤304,将目标脚本发送至电子设备,目标脚本用于电子设备在运行目标脚本的情况下进行二维码识别。
121.本技术实施例提供的应用于服务器的数据处理方法,接收电子设备发送的目标数据;使用预先训练好的分类模型对目标数据进行分类,得到电子设备的设备型号;根据电子设备的设备型号以及预设对应关系确定目标脚本,将目标脚本发送至电子设备,目标脚本用于电子设备在运行目标脚本的情况下进行二维码识别。本技术实施例中,服务器可以根据对目标数据的分类结构,确定与电子设备的设备型号对应的目标脚本,将目标脚本发送至电子设备,以使得电子设备基于目标脚本的运行能够自动进行二维码识别,进而有助于节省二维码识别所需操作,提升用户使用体验。
122.可选地,将目标脚本发送至电子设备之后,方法还包括:
123.接收电子设备发送的视频流,视频流为电子设备在运行目标脚本的情况下采集得到;
124.基于视频流进行二维码识别,得到二维码识别结果;
125.将二维码识别结果发送至电子设备。
126.电子设备可以基于目标脚本的运行,采集视频流并发送至服务器。本实施例中,服务器可以接收电子设备发送的视频流,基于视频流进行二维码识别,得到二维码识别结果,并将二维码识别结果发送至电子设备。
127.结合一些具体应用例,目标脚本可以是与浏览器相关的脚本。电子设备可以具体是通过浏览器来运行目标脚本,相应地,浏览器可以应用相关的api与功能(例如上文实施例中提到的媒体捕捉接口与canvas功能),将视频流转换成多张照片,并定时发送至服务器。相应地,服务器接收的视频流,可以是多张照片的形式。
128.在一些实施方式中,服务器在对二维码进行识别之前,可以对接收到的各张照片进行预处理。
129.摄像头输出的数据格式很多,黑白摄像头直接输出灰度图,而彩色摄像头可以输出yuv422,yuv410,rgb565,rgb888等格式的彩色图。而二维码识别只需要单通道的灰度图,因此服务器可以对这些彩色图(对应于电子设备发送至服务器的多张照片)进行转换。
130.以rgb888格式的彩色图转换为灰度图的过程为例,转换公式可以如下:
131.gray=0.2989r 0.5870g 0.1140b
132.其中,gray为灰度图中任一像素的灰度值,r、g、b分别为rgb888格式的彩色图中该像素的红色通道值、绿色通道值、蓝色通道值。
133.实际应用中,服务器还可以通过增加照片的灰度图中两个灰度值间的动态范围,将灰度图的对比度进行增强从而加大照片各个部分之间的反差。同时,可以利用分段线性变换来更加突出二维码部分的灰度区间,从而使二维码识别更加准确且快速。
134.在一些实施方式中,服务器可以使用zbar算法对包括二维码的照片进行识别,获取二维码所包含的信息。
135.具体而言,zbar算法可以通过对照片进行路径为z字型的逐行扫描,分析边缘梯度,获得明暗宽度流。通过zbar_decode_width()函数对明暗宽度流进行处理,得到符合二维码特征的横向线段结构变量。
136.运用同样的方法对照片进行路径为n字型的逐列扫描,获得明暗高度流,从而得到纵向线段结构变量。
137.最后对照片进行码字读取,先识别二维码的功能区再对数据区进行解析,加上reed-solomon纠错算法,从而获取二维码所包含的信息(对应于上述的二维码识别结果)。
138.可选地,预先训练好的分类模型包括gbdt模块与逻辑回归(logistic regression,lr)模块;
139.gbdt模块的输入端用于接收目标数据,gbdt模块的输出端连接lr模块的输入端,lr模块的输出端用于输出设备型号。
140.本实施例中,服务器中的分类模型包括gbdt模块与lr模块。
141.gbdt是一种迭代的决策树算法,属于集成学习boosting家族的成员,具有分类准确率高且泛化能力好等优点,是一种常用的非线性模型。它基于集成学习中的boosting思想,每次迭代都在减少残差的梯度方向新建立一颗决策树,迭代多少次就会生成多少颗决策树。因此,gbdt模块可以发现多种具有区分性的特征以及特征组合,很大程度地节省了特征工程的时间与人工成本。
142.gbdt模块可以针对目标数据进行分类,得到分类结果,该分类结果可以表征电子设备的设备类型属于各种预设设备类型的概率。在一些应用场景中,一些电子设备的软硬件配置可能比较相近,相应地,gbdt模块输出的分类结果中,可能出现电子设备的设备类型属于预设设备类型a的概率和属于预设设备类型b的概率比较相近的现象。
143.本实施例中,将gbdt模块的输出端连接lr模块的输入端,使得lr模块能够在gbdt模块输出的分类结果的基础上,进行更为精确的分类,进而有助于得到更为准确地确定电子设备的设备类型。
144.可选地,使用预先训练好的分类模型对目标数据进行分类,得到电子设备的设备型号之前,方法还包括:
145.获取原始数据集,原始数据集中的每一原始数据对应有多个初始特征指标,每一原始数据均包括样本设备的软硬件数据与用户操作数据,多个初始特征指标中包括与软硬件数据相关的特征指标,以及与用户操作数据相关的特征指标;
146.基于原始数据集,对多个初始特征指标进行相关性分析,得到多个目标特征指标,多个初始特征指标包括多个目标特征指标,且多个目标特征指标之间的相关性满足预设条
件;
147.基于每一原始数据中与多个目标特征指标相关的数据,以及样本设备的设备型号,分别建立训练样本,得到训练样本集;
148.使用训练样本集对预先建立的分类模型进行训练,得到训练好的分类模型。
149.本实施例可以认为是服务器对上述的分类模型进行训练的过程。
150.原始数据集中可以包括多个原始数据,各个原始数据可以包括多个维度的数据,每一个维度可以对应于一个上述的初始特征指标。
151.为实现使得原始数据中尽可能地包括对电子设备的设备类型的准确分类带来积极作用的数据,各个原始数据可以包括样本设备的软硬件数据与用户操作数据,相应地,多个初始特征指标中包括与软硬件数据相关的特征指标,以及与用户操作数据相关的特征指标。
152.结合一些应用场景,上述的分类模型理论上可以对多个初始特征指标的数据进行分类,得到电子设备的设备类型。
153.然而,不同初始特征指标的数据之间可能存在较强的相关性,比如,一个初始特征指标的数据的增大,必然导致另一个初始特征指标的数据成比例增大或者减小,则说明这两个初始特征指标之间具有较强的相关性。此时,这两个初始特征指标的数据可能存在较大的冗余性,使用其中的一个初始特征指标的数据,或者同时使用这两个初始特征指标的数据,对于分类模型的分类结果影响并不大。但同时使用这两个初始特征指标的数据则明显会导致电子设备与服务器的数据处理量增大。
154.因此,基于以上考虑,本实施例中,服务器可以基于原始数据集,对多个初始特征指标进行相关性分析,得到多个目标特征指标。
155.在一些举例中,多个目标特征指标可以是多个初始特征指标中的全部或者部分初始特征指标。
156.多个目标特征指标之间的相关性满足预设条件。比如,该预设条件可以是两个目标特征指标之间的相关性在预设阈值范围内。相应地,多个目标特征指标之间的相关性满足预设条件,可以是多个目标特征指标中任两个目标特征指标之间的相关性在预设阈值范围内。
157.一般来说,上述预设条件的限制,可以使得任两个目标特征指标之间的相关性较低。
158.本实施例可以基于每一原始数据中与多个目标特征指标相关的数据,以及样本设备的设备型号,分别建立训练样本,得到训练样本集。
159.容易理解的是,各个原始数据均可以来源于对应的样本设备。在制作训练样本集的过程中,各个样本设备的设备型号可以是已知的。
160.通常来说,每个训练样本包括样本数据及其对应的数据标签,其中,样本数据可以是原始数据中与多个目标特征指标相关的数据,而数据标签则可以是提供原始数据的样本设备的设备型号。
161.如此,使用训练样本集对预先建立的分类模型进行训练,得到的训练好的分类模型,可以根据包括有多个目标特征指标相关的数据的目标数据,分类得到电子设备的设备型号。
162.本实施例在准备对分类模型的训练样本集时,可以通过对原始数据的初始特征指标之间的相关性进行分析,得到多个目标特征指标,使用原始数据中与多个目标特征指标相关的数据来建立训练样本,可以减少数据冗余量,降低分类模型在训练和应用中的数据输入流,节省服务器的计算资源消耗。
163.结合一个具体应用例,电子设备通过多渠道提取用户操作数据,例如:用户屏幕点击使用习惯、软件使用频率等类型的数据。用户操作数据与电子设备的软硬件数据可以具体包括多个初始特征指标相关的数据。理论上说,通过多个初始特征指标相关的数据来训练分类模型,可以使得分类模型能够预测电子设备的设备型号。
164.而本应用例中,服务器可以通过统计手段对原始数据集进行汇总衍生,形成分类模型输入实际所需的信息表。该信息表中包括目标特征指标及相关的数据。
165.比如,在一个示例中,服务器可以采用pearson系数计算初始特征指标之间的相关性,提取重要特征指标(对应于目标特征指标),降低数据冗余度。
166.该示例中,任两个初始特征指标之间的相关性,可以是两者之间的线性相关性,取值区间为[-1,1],其中1表示完全正相关,0表示完全没有线性关系,-1表示完全负相关,即一个初始特征指标相关的数据上升的同时,另一个初始特征指标相关的数据在下降。相关系数越接近于0,相关性越弱。相关性计算公式可以如下:
[0167][0168]
式中,r为相关性,x为任一个原始数据中一个初始特征指标相关的数据,为原始数据集中一个初始特征指标相关的数据的均值,y为任一个原始数据中另一个初始特征指标相关的数据,为原始数据集中另一个初始特征指标相关的数据的均值。
[0169]
在一个示例中,上述的预设条件可以是两个目标特征指标之间的相关性r在预设阈值范围[-0.5,0.5]之内。当然,实际应用中,该预设阈值范围可以根据实际需要进行设置,此处可不做具体限定。
[0170]
在一个实施方式中,使用训练样本集对预先建立的分类模型进行训练之前,可以设置损失函数和迭代次数。训练样本集中各个训练样本的数据标签,可以包括各个设备型号对应的子标签,该子标签可以取值为0或1,0代表样本数据不属于该子标签对应的设备型号,1代表样本数据属于该子标签对应的设备型号。
[0171]
在一个示例中,分类模型的损失函数可以是如下的指数损失函数:
[0172][0173]
其中,l(y,f(x))为损失函数的损失值,n为训练样本集中训练样本的数量,y表示数据标签,yi表示第i种设备型号对应的子标签的值,x表示样本数据,xi表示第i种设备型号对应的样本数据,f(xi)为分类模型针对xi预测得到为第i种设备型号的概率。
[0174]
当然,实际应用中,损失函数的具体形式,可以根据需要进行设定,本实施例对分类模型的损失函数可以不做具体限定。
[0175]
可选地,基于原始数据集,对多个初始特征指标进行相关性分析,得到多个目标特
征指标之后,方法还包括:
[0176]
根据多个目标特征指标生成特征向量格式;
[0177]
将特征向量格式发送至电子设备。
[0178]
在分类模型得到充分训练的情况下,训练完成的分类模型的输入数据的格式通常是固定的。比如输入数据需要包括多个目标特征指标相关的数据。
[0179]
本实施例中,服务器可以根据多个目标特征指标生成特征向量格式,并将特征向量格式发送至电子设备。后续电子设备可以根据特征向量格式采用与多个目标特征指标相关的数据,并按照特征向量格式将这些数据发送至服务器,如此,可以节省服务器对来源于电子设备的数据进行预处理的过程,提高服务器对电子设备的设备型号的确定效率。
[0180]
如图4所示,图4为一个具体应用例中,电子设备为实现二维码的识别,与服务器的数据交互过程的示意图。
[0181]
基于图4可见,电子设备可以采集设备信息,比如软硬件数据和用户操作数据等,对设备信息整理得到特征向量,并将特征向量发送至服务器。
[0182]
服务器基于后台大数据对电子设备进行适配,具体来说,服务器可以基于大数据来制作训练样本,训练分类模型,训练完成的分类模型可以根据电子设备发送的特征向量来确定电子设备的设备型号,并从预设的js代码库中选取与该电子设备的设备型号对应的js代码(对应于目标脚本),将js代码封装后发送至电子设备。
[0183]
电子设备中基于html5技术的浏览器可以接收并运行js代码,在运行过程中,浏览器可以通过api接口申请电子设备的相关权限,打开摄像头,获取视频流,并通过canvas功能将视频流处理成照片发送至服务器。
[0184]
服务器可以对照片进行灰度处理等形式的预处理,使用zbar算法对照片中的二维码进行识别,并将识别的二维码信息发送至电子设备。电子设备在接收到二维码信息的情况下,停止摄像头的拍摄过程。
[0185]
基于以上应用例可见,本技术实施例能够利用大数据建模和适配算法,实现服务器自择动态脚本适配电子设备,大大提升html5调用原生设备摄像相关功能的兼容性。html5实现的扫码能力,对电子设备软硬件依赖程度低,极大的减少对手机性能的要求,同时为低端设备提供了html5浏览器扫码能力。整个扫码流程中,用户操作简单,服务器对二维码的识别率较高,可以极大提升用户体验和满意度。
[0186]
如图5所示,本技术实施例还提供了一种数据处理装置500,应用于电子设备,数据处理装置500包括:
[0187]
第一接收模块501,用于在运行预设应用程序的情况下,接收在预设应用程序中的第一输入,第一输入用于请求进行二维码识别;
[0188]
采集发送模块502,用于响应于第一输入,采集目标数据,将目标数据发送至服务器;
[0189]
第二接收模块503,用于接收服务器发送的目标脚本,目标脚本为服务器根据电子设备的设备型号以及预设对应关系确定得到,电子设备的设备型号为服务器使用预先训练好的分类模型对目标数据进行分类得到,预设对应关系包括电子设备的设备型号与目标脚本之间的对应关系;
[0190]
运行识别模块504,用于运行目标脚本以进行二维码识别。
[0191]
可选地,运行识别模块504,包括:
[0192]
第一采集单元,用于开启电子设备的摄像头,采集视频流;
[0193]
第一发送单元,用于将视频流发送至服务器,视频流用于服务器识别二维码并生成二维码识别结果;
[0194]
关闭单元,用于在接收到服务器发送的二维码识别结果的情况下,关闭摄像头。
[0195]
可选地,采集发送模块502,包括:
[0196]
获取单元,用于在预设应用程序为浏览器的情况下,通过媒体捕捉接口获取摄像头采集的视频流,并为视频流关联预设标签;
[0197]
转换单元,用于通过画布canvas功能捕获预设标签关联的视频流,并将视频流转换为多张照片;
[0198]
第二发送单元,用于将多张照片定时发送至服务器;
[0199]
其中,浏览器包括媒体捕捉接口与canvas功能。
[0200]
可选地,数据处理装置500还可以包括:
[0201]
第四接收模块,用于在采集目标数据,将目标数据发送至服务器之前,接收服务器发送的特征向量格式,特征向量格式包括多个目标特征指标,多个目标特征指标中包括与软硬件数据相关的特征指标以及与用户操作数据相关的特征指标;
[0202]
相应地,采集发送模块502,包括:
[0203]
第二采集单元,用于采集与多个目标特征指标对应的目标数据,目标数据包括软硬件数据与用户操作数据;
[0204]
处理单元,用于基于特征向量格式,将目标数据处理成特征向量;
[0205]
第三发送单元,用于将特征向量发送至服务器。
[0206]
需要说明的是,该数据处理装置500是与上述应用于电子设备的数据处理方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
[0207]
如图6所示,本技术实施例还提供了一种数据处理装置600,应用于服务器,数据处理装置600包括:
[0208]
第三接收模块601,用于接收电子设备发送的目标数据;
[0209]
分类模块602,用于使用预先训练好的分类模型对目标数据进行分类,得到电子设备的设备型号;
[0210]
确定模块603,用于根据电子设备的设备型号以及预设对应关系确定目标脚本,预设对应关系包括电子设备的设备型号与目标脚本之间的对应关系;
[0211]
第一发送模块604,用于将目标脚本发送至电子设备,目标脚本用于电子设备在运行目标脚本的情况下进行二维码识别。
[0212]
可选地,数据处理装置600还可以包括:
[0213]
第五接收模块,用于接收电子设备发送的视频流,视频流为电子设备在运行目标脚本的情况下采集得到;
[0214]
识别模块,用于基于视频流进行二维码识别,得到二维码识别结果;
[0215]
第二发送模块,用于将二维码识别结果发送至电子设备。
[0216]
可选地,数据处理装置600还可以包括:
[0217]
获取模块,用于获取原始数据集,原始数据集中的每一原始数据对应有多个初始特征指标,每一原始数据均包括样本设备的软硬件数据与用户操作数据,多个初始特征指标中包括与软硬件数据相关的特征指标,以及与用户操作数据相关的特征指标;
[0218]
分析模块,用于基于原始数据集,对多个初始特征指标进行相关性分析,得到多个目标特征指标,多个初始特征指标包括多个目标特征指标,且多个目标特征指标之间的相关性满足预设条件;
[0219]
建立模块,用于基于每一原始数据中与多个目标特征指标相关的数据,以及样本设备的设备型号,分别建立训练样本,得到训练样本集;
[0220]
训练模块,用于使用训练样本集对预先建立的分类模型进行训练,得到训练好的分类模型。
[0221]
可选地,数据处理装置600还可以包括:
[0222]
生成模块,用于根据多个目标特征指标生成特征向量格式;
[0223]
第三发送模块,用于将特征向量格式发送至电子设备。
[0224]
可选地,预先训练好的分类模型包括梯度下降树gbdt模块与逻辑回归lr模块;
[0225]
gbdt模块的输入端用于接收目标数据,gbdt模块的输出端连接lr模块的输入端,lr模块的输出端用于输出设备型号。
[0226]
需要说明的是,该数据处理装置600是与上述应用于服务器的数据处理方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
[0227]
图7示出了本技术实施例提供的终端设备的硬件结构示意图。
[0228]
终端设备可以包括处理器701以及存储有计算机程序指令的存储器702。
[0229]
具体地,上述处理器701可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
[0230]
存储器702可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器702可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器702可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器702可在综合网关容灾设备的内部或外部。在特定实施例中,存储器702是非易失性固态存储器。
[0231]
在特定实施例中,存储器702可包括只读存储器(rom),随机存取存储器(ram),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
[0232]
处理器701通过读取并执行存储器702中存储的计算机程序指令,以实现上述实施例中的任意一种数据处理方法。
[0233]
在一个示例中,终端设备还可包括通信接口703和总线710。其中,如图7所示,处理器701、存储器702、通信接口703通过总线710连接并完成相互间的通信。
[0234]
通信接口703,主要用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。
[0235]
总线710包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线710可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
[0236]
另外,结合上述实施例中的数据处理方法,本技术实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据处理方法。
[0237]
需要明确的是,本技术并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本技术的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本技术的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0238]
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本技术的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0239]
还需要说明的是,本技术中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本技术不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0240]
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
[0241]
以上,仅为本技术的具体实施方式,所属领域的技术人员可以清楚地了解到,为了
描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献